RSSAmplifier

Blog

Roborooter.com

Hand crafted bits since Y2K

roborooter.comRSS feed ↗762 posts

Latest posts

Francis's Avatars

My various avatars and profile pics over the years. ## The original (2001) ## Vectorized (2010) ## Commissioned (2015) ## Pixel Drawn (2018) ## Smiling Pho...

About Francis Gulotta

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...

Making Some Shelves

A build log about a smaller project that took my mind off of everything.

Releasing on GitHub Actions

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: Learning Together

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...

Distant Horizons - Francesco Gulotta

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...

Flashing the Sonoff S31 with ESPHome

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 ...

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 updat...

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 cle...

How to Stop Using Passwords

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,...

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 maint...

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, bu...

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 ...

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 envir...

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...

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 he...

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 ...

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...

A Product Team Righting Themselves

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...

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 ...

How To Make Your Website Truly Serverless

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...

How To Stay Technical While In Management

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 ...

The Button Toy Project

I decided to build a toy for my son. Buttons lights, the works. I’m far from done.

The Serial Mouse Project

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...

😃 Vats

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...

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 ...

Linux Laptops

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 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...

Kademlia: A study

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...

8 Bit Firmata

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...

MANIAC

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...

Why are you hosting your own Redis?

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...

Async Generators

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...

We live in Memory

(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...

Voting Machines

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...

Font Face

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...

First Commit in NodeJS Core!

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 ...

Parting with Bocoup: the Best Place to Shape the Future

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...

Sparkfun + Bocoup

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 ...

Node Serialport v2.1.0

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...

React Redux Robots a Nodebots Adventure with Missile Launchers

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...

Modules, Packages and candy, oh my!

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,...

The Internet I Wish We Had: Making Toast

"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...

The Internet I Wish We Had: Texting

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...

Ducktyping. Quack.

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...

Arranging Complex Factories (for fun and profit)

`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...

Noob to Wizard: The Journey

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...

The Winnower API

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...

Teaching with Girl Develop It

\ 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...

Cleaning up your views with Simple Delegators

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 ...