Francis's Avatars
My various avatars and profile pics over the years. ## The original (2001) ## Vectorized (2010) ## Commissioned (2015) ## Pixel Drawn (2018) ## Smiling Pho...
Hand crafted bits since Y2K
My various avatars and profile pics over the years. ## The original (2001) ## Vectorized (2010) ## Commissioned (2015) ## Pixel Drawn (2018) ## Smiling Pho...
Hi, I'm Francis! I spend my days building engineering teams and my nights hacking on software or electronics projects. This is my blog. You can dig back to 200...
A build log about a smaller project that took my mind off of everything.
I wanted to make a "CLI Tool" for orchestrating a "Website" deployment to a web host and I wanted to build and use this CLI tool in GitHub actions. GitHub has a...
TIL is a weekly learning event that I like to run with my teams. Every friday for 30-45 minutes we share 5 minute presentations on something we learned that wee...
To celebrate my grandfather Francesco Gulotta's birthday, I am sharing a translation of his autobiography. It's a incredible story of his escape from fascism in...
A friend of mine turned me on to Home Assistant which is a wonderful open source home automation platform. It's privacy forward (a hard requirement for me) and ...
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 updat...
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 cle...
I've been softly recommending people start using `1Password` for the past 5-10 years. I'm no longer going to be soft about it, you have to stop using passwords,...
(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 maint...
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, bu...
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 ...
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 envir...
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...
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 he...
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 ...
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...
My Product Manager Skylar asked me today to recap how our product team righted themselves after a year of hardship and they’ve been so good for so long I had fo...
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 ...
As of today you can read this website without a web server by visiting dat://roborooter.com. If that link doesn't work for you, you'll need a DAT capable browse...
I wrote this for a 5 minute lightening talk at a local tech leadership meetup. I code. At my previous jobs I coded 30-50% of my time. I would take non mission ...
I decided to build a toy for my son. Buttons lights, the works. I’m far from done.
I spent a few weeks making an old Serial Mouse work and documenting the Serial Mouse Protocols. I was posting a log as I worked. You can find my reference imple...
Love and pain and war, all things I missed. Since the vats became standard in all low income housing I haven’t needed any of them. We’re all fed, we’re all heal...
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 ...
I asked people on the internet for help choosing a linux laptop. People had opinions. The laptops people suggested; * The Purism librem-13 * System76 Gala...
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...
This week I'm at the Recurse Center as part of the "Mini 2 Batch". I'll be spending my time researching and implementing the Kademlia Distributed Hash Table. DH...
The Firmata protocol is used for a variety of uses, from home automation to robots. Any time a computer needs to control a low-power device you might find it be...
There's so much about this tv show that I enjoyed. The 1980s futurism, the fact they didn't force a love interest, how every device talks or has music, even the...
Someone asked me on a mailing list if I worry about reaching my team's limit in our ability to manage Redis. I wrote a bit about why I think our architecture he...
I started `streaming-iterables` a few months ago to learn how to use `async-generators` and it was hard. The concepts all sound very simi...
(This is part of a talk I gave at ManhattanJS of the same name which you can find at github.) Oh happy day! I'm getting read! My day had come! So many times th...
God help me if any of these have a serialport. **Update**: They do have serialports! I noticed this document about the "findings from the Defcon 25 Voting Mac...
I got a new work laptop so it was time to bikeshed about my setup. I've switched to zsh (oh-my-zsh), iTerm2 (I finally get why you all like it!) and my colors a...
I've got a few commits around Node.js's related projects. One or two on npm, countless on node-serialport, a few on node-pre-gyp, many others. It's been a nice ...
Last year Bocoup offered me my dream job. I was trepidatious at first, my company had just gone under, I felt disconnceted from my personal life and I wasn't ab...
I wrote a little blog post over at the Sparkfun Blog about how our work on the Johnny-Five inventors kit was guided by our love of the NodeBots community. I'm ...
A few weeks ago I started maintaining node serialport after a long hiatus. We hadn't had a release in about a year and we had some outstanding bugs that I wante...
I made a little presentation, a hack, a spike into the world of the unknown. I wanted to see if I could power a johnny-five robot with redux a powerful state ma...
Tonight I gave a talk at QueensJS. It was my first time speaking there and it completes my trifecta of "borojs" speaking events. (I've now spoken at BrooklynJS,...
"Why is the light in the refrigerator purple? It looks like I'm making a breakfast for zombies!" I grab the makings for a mushroom cheddar omelet. We're runnin...
I hung up my phone and started typing. "Jason just called me, ideas for dinner before the movie?" and sent it to Sara. My phone know's a lot about Sara and wher...
I was working on one of our projects when I happened to run across some code that set off my rubber ducky detector. It's a page that displays the days productio...
`FactoryGirl` the oddly named testing tool for database models is something we use a lot at Wizard Development. If you're unfamiliar with how it works, I strong...
It's been around six months since I quit my job as a PSI Analyst. For those of you unfamiliar with the terminology, it's pretty much a glorified title for an Ex...
We recently added an API to The Winnower to support our new Wordpress Plugin. It was a great experience in both product and software design. Wordpress support i...
\ Recently, I've had the opportunity to teach the Intro to HTML and CSS course with Girl Develop It, a non profit organization that welcomes all, but focuses on...
While working on my pet project for matching tennis partners I decided to make a match history page. It displays a player's recent matches and some information ...