programming

There are 27 posts with this tag.

Maintaining a Twenty Year Blog

This past April Roborooter turned 21 years old. (First Post!) I started it as a fork of a friends blog and it was a place for my group of friends to post updates. Everyone eventually got their own blogs (or stopped blogging) and it was mine. The name "roborooter" comes from a joke I made with my godfather. It was 2001 and domains were too expensive for my teenage self, but he thought I should have one so he bought it. He wanted to see what I cou…

Wasm is the new CGI

I read a wonderful twitter thead about CGI and the birth of the web and this triggered a thought I've been kicking around.

Wasm is the new CGI

And to be clear I don't mean the Common Gateway Interface as a protocol. I mean what CGI and the cgi-bin application model brought to the web. They allowed people to easily write code that makes websites interactive. This shifted the web from an archive of documents to a vast network of applications. It …

Node SerialPort v10 has been released 🎉

(Cross posted from our Open Collective Page.)

This past year has brought a lot of really good change to Node Serialport. First and foremost we have a new maintainer who personally lead our c++ codebase to the modern area by implementing N-API support.

Please welcome Gareth Hancock to the team 👏

Now for the changes! (Jump into the upgrade guide if you just want to get started!)

N-API Support

The number one support issue we have has to do with ins…

Build Jeeps Not Ferraris

This video dates back to around 2010 from an unknown source but remains my favorite. I give a version of this talk at every company I join. It's nothing new, but if you haven't heard it you need to hear it.

Mean time to recovery is better than mean time between failures for most types of failures. This talk has some service oriented architecture to improve your failure domains thrown in for good measure.

Also my car is a 2008 Honda Civic and it i…

Inside Out Async

I nerdsniped myself and made a handy async utility that turns Promises and AsyncGenerators inside out. This is very handy for testing and useful if you're done non trivial transformations of events into async generator or promised based apis. I call it Inside Out Async.

My development journey was posted in realtime and preserved below.

Lessons Learned Testing Serverless Libraries with Architect

I'm building a library to be used on Amazon Lambda and the hardest part of testing a library designed to run in a serverless environment is having a local environment. A lot projects have these issues, and there are many ways to solve them. Some run local services via docker and k8 with a lot of overhead, others spin up test server environments in the cloud which take a very long time, and yet others choose simulators. I chose the Architect Sandb…

Livestream: WebAssembly GraphQL Client

I met Connor Hicks through work. We both work on webassembly powered projects in our day job and he builds a really cool platform called Suborbital. Which you can think of as a lambda for webassembly modules. Actually I like to compare it to architect. It's a framework that tells you how to build your project, split up the code into functions (or runnables as suborbital calls them), and then tell you how to connect those functions together to b…

Livestream: Gregor on Github Actions for building SerialPort

My friend with Gregor Martynus asked on twitter if anyone needed help with github actions. "There are no unworthy ideas" he said. So I raised my hand. I need help with SerialPort.

Gregor asks if anyone needs help with github actions on twitter

I've been wanting to ship all SerialPort c++ bindings inside the @serialport/bindings npm package for a long while but getting it to work across several different CIs was near impossible. With github actions I've got every machine type available and coordinating them w…

Testing Architect with Jest

I'm building a small project with architect a lightweight framework to manage AWS Lambda, DynamoDB and few other services to make serveless web apps.

I wanted to make integration tests with DynamoDB for my project. Fortunately architect provides a sandbox library @architect/sandbox which runs a dynalite DynamoDB server under the hood. It's all in memory, cheap to start and stop and does most things DynamoDB does. It's perfect for this. However it…

Async Rust and Node SerialPort

This year I took some time around the holidays to do some learning. Like last year I dove into rust but I didn't go into it cold this time. I was gifted a "live book" called Rust In Motion which has audio, slides and text all mixed together. It was fun and covered the basics in a very approachable way. So I had that base which I had been building up over a few weeks, and my SerialPort co-maintainer Nick Hehr sent me a text about NAPI.rs. I don't …

Learning Rust

For the second year in a row, for my birthday, I took some time off work to learn some new things. This year it was Rust. (Last year it was the DHT Kademlia) I enjoyed spending two days with Rust. I didn't get very far (about 80% of "the book") but I did get far enough to learn a number of things and come up with a short list for further research. I'm looking forward to getting back to it.

I kept most of my notes on twitter/mastodon;

Serial Mice Protocols

I remembered there was such a thing as a serial mouse and I wondered how they worked. A bit of googling found me this link (which as of this posting has an SSL error). I'm going to reproduce it below but I wanted to write some notes about it first.

  • The Microsoft Serial Mouse was the most popular mouse as of 1997, supported by and probably copied by all.
  • The "resolution" was around 400-1000 CPI (counts per inch) compared to a gaming mouse today o…

Serialport Spring Update

Serialport turns 9 this year. Back when it started NodeJS was a different environment than it is now. JavaScript was a different programming language than it is today. Since then I've pushed some major changes over the years to keep us modern. I made the (then) painful decision to drop old versions of node even though some devices would never see the updates to newer runtimes. Sticking to supporting only the LTS (Long Term Support) versions of No…

Roborooter.com © 2024
Powered by ⚡️ and 🤖.