Stripping Down Ubuntu 20.04 LTS

I’ve been using Ubuntu pretty happily for private server use cases for a while. I recently updated my home network’s DNS forwarder. I use nextdns.io with unbound to provide DNS-over-TLS for machines on my network as well as Pi-Hole like adblocking. While a server install of Ubuntu LTS is relatively stripped down, it still has a couple of things I don’t really care for: Snap (snap) - a universal package frameworkPackageKit (packagekit) - part of the lower level automation around package managementupdate-manager-core

Mezcal

It’ll cure what ails ya.

Honing Your Interests

I’ve always had an affinity for novel things: ideas, books, gadgets, etc. I chase interests hard. I’d buy things which would lose their novelty after a few months. I expertly crafted rationalizations for how I would make use of the new hobby or gadget to improve my life. This craving for new experiences exposed me to many ideas and perspectives. It opened up new ways of thinking about problems I already thought a lot about. For example, I am fasinated with programming languages and

Build Small Things

I recently re-read Paul Graham’s essay entitled “Do Things That Don’t Scale”. In it, he explains that early on in the development of a company or product, you should do things that won’t scale because they’ll be what get you to the point that you actually will have to scale. If you don’t do the simpler, sometimes manual work upfront, you may not capture the market before a competitor does because you spent too much time building the “scalable solution.” I’

Home Networking and Circular Dependencies

Perfect StormRecently, our area was struck with thunderstorms. These are rare for us, and I always enjoy them. However, it's been a few years since I've lived in an area where we this is commonplace, so the power flickering out was a surprise. Unfortunately, the flicker was just long enough to completely shut off our home networking equipment as well as the lights. I went to assess the damage, and I found a perfect storm. Circular dependenciesThe first significant problem is a circular dependency I didn't

Using Opusmodus with QuickLisp

In my scant free time, I have begun playing with Common Lisp again. It’s been 10-15 years since I last spent any time with it. I recently discovered a program called Opusmodus that uses Common Lisp at its core. It provides a music composition interface using Common Lisp to enable composers to programmatically score their compositions. Opusmodus wasn’t explicitly designed for programmers though there are a number of programmers that use it from what I can tell. If you have written any Common Lisp

Book Notes: Deep Work by Cal Newport

Note: These notes are lightly organized and reflect my own takeaways from this book. They’re captured here for my own purposes. If you should find them useful, great! Rule #1 - Work DeeplyDepth Philosophy - styles of achieving depthMonastic - isolationist, doesn’t work well for the vast majority of folks and not likely to work for meBimodal - a few days on, a few days off – utilized by Carl Jung and Adam Grant– periods of intense deep work followed by periods of shallower work–

Things I Learned About Rust

Rust has been a daily part of my life for about 8 months now. I've had the distinct and somewhat surprising pleasure of getting to work with it professionally for Red Canary. It's been a whole lot of fun. Every so often, I learn something new about writing Rust. Most recently, that was over-use of match statements. In particular, my code base has a number of cases where I'm dealing with the Result<V, E> type. I need to decompose the Result<V,

Adventures with Plex

For a long time, I've wanted to digitize my collection of DVDs and Blu-Rays. At least in my home, our Apple TV 4K has become the "single pane of glass" for viewing media. We have an XBox One for watching the Blu-Rays but we don't have a surround sound system so this isn't much benefit. Additionally, being able to sync our library of DVDs and Blu-Rays to iOS devices in the same you can with iTunes, Amazon Prime, or Netflix content would be handy. I finally

Programming Language Hot Takes

Python - BEHOLD, THE UNDERSCORES OF MY PEOPLERuby - BEHOLD, THE INVERTED IF STATEMENTS OF MY PEOPLEGo - BEHOLD, THE COPY/PASTE OF MY PEOPLEJava - BEHOLD, THE BOILERPLATE WORKFLOWS OF MY PEOPLEC - BEHOLD, SEGMENTATION FAULT CORE DUMPEDC++ - BEHOLD, THE TEMPLATE EXPANSION OF MY PEOPLEC# - BEHOLD, THE SYNTACTIC SUGAR OF MY PEOPLERust - BEHOLD, THE UNWRAP OF MY PEOPLEJavaScript - BEHOLD, THE CALLBACK OF this.PEOPLE.then(getMyTribalGroupOfTheMonth())Haskell - BEHOLD, THE unsafeDo (IO x) => x OF MY PEOPLELisp - BEHOLD, (THE