Check out my Woodworking Advent Calendar!
Posted Thu, Nov 2, 2023
How I set up automatic updates on laptops.
Posted Thu, Mar 9, 2023
How to easily serve static files in a Go app.
Posted Tue, Mar 7, 2023
Write a love letter by being a full stack engineer.
Posted Tue, Feb 21, 2023
Screen scrape more effectively with Chrome and Puppeteer.
Posted Mon, Feb 20, 2023
Early review of my goals and the system to think through how well it’s working.
Posted Sat, Jan 28, 2023
Goals for the new year.
Posted Mon, Jan 2, 2023
This post is about ethics.
Posted Fri, Dec 23, 2022
As time goes by I have less and less patience for ecosystems that demand my time. Typically this is in the form of breaking changes in either a language or the modules that language uses. This morning I ported a relatively simple tool from Perl to Go to escape this kind of tax.
Posted Sat, Nov 19, 2022
I needed a tool to manage a relational database, so I built one.
Posted Mon, Jun 20, 2022
Posted Thu, Jun 9, 2022
I write Scala a bunch these days at work. The language (or maybe the Spark culture) really wants you to use an IDE. As much as I tried to use IntelliJ I just can’t bring myself to make such a big switch. If you are interested in language servers (which typically provide autocomplete,) Vim, or specifically setting that up for Scala, read on.
Posted Tue, May 31, 2022
Go 1.18 just came out, so I’m looking over the new features.
Posted Tue, Mar 15, 2022
Do you ever need a C library to cross compile in Go? I got something to work this week that makes me feel better about my cross-compilation setup.
Posted Sun, Mar 13, 2022
Posted Sun, Jan 9, 2022
I spent some of my time off for the holidays learning Rust.
Posted Tue, Dec 28, 2021
I’m building new habits to meet new goals.
Posted Mon, Dec 20, 2021
I wrote a weird little tool to draw stuff with code. It was fun!
Posted Thu, Feb 25, 2021
Here’s a major update of my original gumbo recipe.
Posted Sat, Feb 20, 2021
I made my stateless, Raspberry Pi hosted notes service have an in-memory SQLite for more features and better performance.
Posted Sat, Jan 30, 2021
Today I completed my long-standing project to merge all of my open source Go repositories into a single repo.
Posted Sat, Jan 23, 2021
After Saturday’s work I got my steambox starting even faster.
Posted Mon, Jan 18, 2021
I made my steambox start up faster and fixed a race condition with Perl.
Posted Sat, Jan 16, 2021
I fixed a subtle bug in my dropbox client’s longpoll implementation.
Posted Sat, Jan 9, 2021
I embedded lua in my leatherman so that I could add even weirder features without too much effort. It was awesome.
Posted Thu, Jan 7, 2021
Some friends and I collaborated on this post about some interesting features in vim.
Posted Mon, Oct 26, 2020
I was part of a convergence of changes that ended up causing us to lose 30% of important logs. The full investigation involved application, log pipeline, and Kubernetes integration. Read how it happened.
Posted Mon, Sep 21, 2020
For about 13 minutes on Cinco de Mayo the Mixer had a near total outage. The root cause was a panic due to an out of range access of a slice.
Posted Wed, May 13, 2020
I made diffs of some structured data more useful.
Posted Fri, May 8, 2020
I recently learned more detail about subtests in Go.
Posted Tue, May 5, 2020
About a week ago I added automatic reload to my little web server.
Posted Mon, Apr 27, 2020
I recently learned more about contexts in Go.
Posted Tue, Apr 7, 2020
I recently, finally decided to (almost) never use named pipes anymore.
Posted Tue, Mar 24, 2020
I recently completed a major new iteration of my custom notes management software.
Posted Thu, Feb 27, 2020
At work I recently built what would normally be forced to be an integration test in a unit test. It’s awesome.
Posted Fri, Feb 14, 2020
I wanted to add a calculator to my leatherman but I never ever want to write a parser. The following is what ensued.
Posted Mon, Feb 10, 2020
I recently considered that my day-to-day editing cycle might be of some interest, so here it is.
Posted Mon, Feb 3, 2020
I have discovered a silly new hobby: creating git repos of the data in certain websites.
Posted Tue, Jan 28, 2020
This is my five hundredth post on this blog!
Posted Mon, Jan 6, 2020
It’s already a few days into 2020 so I’m gonna keep this brief: Goals for 2020!
Posted Sat, Jan 4, 2020
I wrote a little linter for Go. Here’s why and how.
Posted Mon, Dec 30, 2019
I recently simplified the system I use for RSS.
Posted Sat, Dec 14, 2019
Last week was the ZipRecruiter holiday party. As usual they had a photobooth (two in fact!) Catherine and I took three sets of pictures but I didn’t get an email for one of the three. Read on to find out how I got them.
Posted Mon, Nov 25, 2019
I’m attempting to migrate some code that uses
reflect to instead use
go/types and I have some thoughts.
Posted Tue, Oct 22, 2019
Today, after playing with the
package I discovered that you can’t use it as
a construction kit.
Posted Thu, Oct 17, 2019
Today I investigated a hunch using some nice tooling built into the Go compiler.
Posted Thu, Oct 10, 2019
I recently made a change that made some code non-trivially faster. Also I think most of the performance related advice out there is bad.
Posted Fri, Sep 13, 2019
Go 1.13 is out and the Gophercon 2019 videos have been released; I have thoughts on both.
Posted Mon, Sep 9, 2019
Posted Wed, Sep 4, 2019
I have gotten to the point where I can almost use Slack with zero distractions…
Posted Mon, Aug 19, 2019