subscribe to updates via Atom or RSS

Inside Blog

April 06, 2026

Book Review: Klara and the Sun

I recently read Klara and the Sun, my third Ishiguro novel. Halfway through, my impatience got the better of me; I was ready to label this the worst Ishiguro novel I've ever read. But I eventually came around. While Klara lacks the nostalgic charm of Remains of the Day or the punch-in-the-gut reveal of Never Let Me Go, it nevertheless feels like an important statement about technology, science, faith, and technocracy.

If a book about an artificially intelligent android sounds tiresome when AI hype is slowly crushing all hope for humanity, fear not: this book is even better if you replace "Android Friend"/"AF" with "dog".

March 11, 2026

Revive Single-Key Keyboard Brightness Shortcuts on macOS

Do you use a Macbook or an Apple Keyboard with backlighting? Was your keyboard made after 2016?

Take a look at your keyboard. What the hell are the magnifying glass and microphone keys?

I miss my old dedicated keyboard brightness keys. Here's how to bring 'em back.

February 24, 2026

Ban Large Language Models

Not another AI blog post! Unfortunately, I've seen a lot of (sometimes grudging) AI acceptance from holdouts in the tech space lately. You can only fight back against top-down directives and endless UI 'suggestions' for so long. I gave LLMs a serious shake earlier this year, so I wanted to add a slightly different take to the conversation.

January 12, 2026

Book Review: The Neverending Story

Occasionally I revisit fantasy novels that I read, or that I wish I'd read, in my childhood: A Wrinkle in Time, A Wizard of Earthsea, The Dragonriders of Pern, The Phantom Tollbooth. Already this year, A Wrinkle in Time both impressed and disappointed me: it was somehow simultaneously both much weirder and much more simplistic than I had hoped.

Michael Ende's The Neverending Story is far from simplistic. For one, the book has twice the plot you remember from the movie, because the movie stops just before the halfway point of the book. Bastian gets the book, reads the book, and gets sucked into the book to save Fantastica. The movie somehow manages to both be a terrible adaptation of the entire book and a fantastic adaptation of the first half of the book. Pretty clever, honestly, because the second half of the book is far more serious, far less fun for children, but also far more interesting for adults. Let's dig in.

November 21, 2025

Improve macOS Finder SMB Share Performance

I've been using a Raspberry Pi 5 as a home server for years now. Simultaneously, I've been using Apple's Macbook Pro series as personal and work laptops for essentially my entire life. Normally, this grants me access to a proper Unix command line, no AI garbage or ads in most system menus, and the best ratio of energy usage to computing power in the home computer industry. But ever since I started building my collection of home media -- music, movies, and TV shows -- I have discovered that Finder is horribly, terribly, no-good at browsing samba (SMB) shares. Performance is incredibly inconsistent and laggy. Just browsing between a few folders can take tens of seconds.

The workaround I explain in this post can help improve Finder's performance when browsing SMB shares.

October 22, 2025

Book Review: The Diamond Age

The Diamond Age: Or, a The Young Lady's Illustrated Primer has gotten a lot of attention lately in the tech community. That's largely a result of one very important object: the Primer itself, which is basically an interactive Hitchhiker's Guide to the Galaxy-esque ereader, but with physical, turn-able pages that rewrite themselves. The Primer was specifically designed to teach a young woman leadership skills and a hacker ethos, but it also includes the ability to monitor and teach the reader basically anything it deems necessary for survival, including how to kill someone with a screwdriver.

So the Primer is basically a personal tutor for every single professional and personal domain. You can see why AI-everything techies love the idea. What if every child got a personal tutor that could pay attention to them at all times, never get distracted, never sleep, never take time off, with deep knowledge about every subject area a child could ever hope to study?

Of course, those AI enthusiasts have missed perhaps the most important takeaway from the entire book.

September 04, 2025

Book Review: Cryptonomicon

I first read Cryptonomicon back in college. The book impressed me by introducing me to all kinds of weird ideas, from Linux nerdery, to the first seeds of cryptocurrency, to the optimal way to enjoy Captain Crunch, to the general gist of World War II cryptography.

Revisiting Cryptonomicon in 2025 wasn't quite as fun. All of the tech startup bits left me with a bad taste in my mouth: I think a lot of it is supposed to be satire, but the humor falls flat the same way that the TV show Silicon Valley falls flat these days. When tech companies are actively destroying so much of our world, it's hard to appreciate the satire.

It was still fun to see how Neal Stephenson intertwines historical WW2 fiction with 'modern day' (well, 2001) technology. But overall Cryptonomicon dragged a lot more than other recent Stephenson books, and I think it's mostly because the book simply hasn't aged that well.

August 06, 2025

Book Review: Anathem

"Our opponent is an alien starship packed with atomic bombs," I said. "We have a protractor."

"Okay, Iโ€™ll go home and see if I can scrounge up a ruler and a piece of string."

"Thatโ€™d be great."

I first read Anathem back in high school. I liked it a lot, but found it a challenging read.

Revisiting Anathem this year, I liked it even more. It only took a day and a few dozen pages to wrap my head around the invented words using context clues, linguistic inference, and foggy memories of my first read over a decade ago. I couldn't quite remember where the plot went, but I was able to summon a couple of basic plot points from my memory banks. Turns out, that made the first half of the book even more suspenseful!

Still interested? Read on for a detailed explanation of what I liked and disliked! I'll try to keep the bulshytt to a minimum.

July 13, 2025

Book Review: The Moon is a Harsh Mistress

I recently re-read one of my favorite classic sci-fi tales, Robert Heinlein's The Moon is a Harsh Mistress. While TMiaHM remains my favorite Heinlein novel, some cracks started to show on this re-read: notably, characters (especially non-male characters) and character development. Modern science fiction has really surpassed the classics in this regard. But Heinlein's worldbuilding and storytelling remain a masterclass.

Warning: spoilers below!

May 29, 2025

The macOS Quarantine Bit Error Message is Bad

Whenever you download a file in macOS, your computer automatically sets a special bit called the quarantine bit. Apple has a complicated system that makes this precaution invisible for popular apps, involving developer certs, code signing, a system called GateKeeper that evaluates trustworthiness, and surely plenty of 30% mafia-style protection fees. For many users, this system acts as an extra sanity check before running a potentially malicious application or script. For those of us who dare to occasionally peek over the garden wall, the quarantine bit (sometimes) presents an annoyance.

If you've ever been annoyed by the quarantine bit, read on to learn how I deal with it on my Macs.

May 25, 2025

Post-Social Social Media

There's been a lot of talk lately about Meta's antitrust trial. But one discussion subject subject in particular has been stuck in my brain for weeks now, ever since early May. Specifically, Mark claims that the average person:

has three people that they would consider friends, and the average person has demand for meaningfully more. I think it's, like, 15.

Sure. It's not exactly news that Americans are lonelier than ever. But Mark genuinely believes that AI friends can replace real friends. I'm not here to wax philosophically about whether or not AI can replace human contact. But this whole conversation does have me thinking about the ever-changing value of social media.

I've often seen social media compared to cigarettes. The comparison is easy; they're both impossibly addictive; people zombified by their phones are almost as annoying as people smoking a cig; both have deleterious health effects; a lot of people think that children shouldn't have access to either; and both are a problem only because of clever marketing schemes.

I've been playing around with Mastodon lately, and I used Facebook, Instagram, Tumblr, and Twitter in their glory days last decade. Inspired by the usability of and lack of user-hostile dark patterns in Mastodon, I recently scrolled my partner's Instagram and Facebook feeds to see just how much things have changed since I left pre-2020. And that got me thinking: is social media in general the problem? Or is it just the twisted, manipulative, deeply psychologically problematic state of Big Social Media, or as I think of it... post-social social media?

To explain my thoughts, let's take a little walk through the history of tobacco.

May 11, 2025

The Crossland CC1 Review

I've been using a Crossland CC1 just about daily as my home espresso machine since 2020. The CC1 is my first "real" machine, having begun my home espresso journey with my Delonghi EC155 back in 2013 (and having begun my espresso journey in general when I got a job at Chrissy Beanz in Sackets Harbor back in 2012).

Overall, I highly recommend the CC1. It is a well-priced, well-featured, reliable, thoughtfully designed espresso machine that, perhaps most importantly, pulls a damn fine shot of espresso and froths a damn fine pitcher of milk.

The CC1 does have some downsides. This post explores those downsides in detail. But my overall assessment remains: if you have the means, I highly recommend it.

March 18, 2025

Install the Pebble App Persistently on iOS

This guide explains how to permanently install the Pebble app on a new iPhone, assuming you already downloaded the Pebble app from your Apple ID/Account at some point in the past.

I've had this written up in a text file on my laptop for a few years now. Given the announcement of new Pebbles today, I figured I'd share this, in case anyone else was inspired to use their Pebble again but got stuck on the Pebble app installation on iOS. Hopefully Eric & co will have Cobble up and running soon, providing an easier way to use old and new Pebbles on iOS. But for now, this works on my 13 Mini and served me well for a couple of years on my old 2016 SE.

January 22, 2025

Book Review: The Power Broker

The Power Broker is probably one of the largest books I have ever read. I suspect it's one of the largest books anyone has read, since it likely stretches the physical bounds of 'pages attachable to a book spine'. Spread across 1156 pages, the 700,000 tiny tiny words of The Power Broker measure up to:

  • 200% the length of the entire The Lord of the Rings series
  • a similar length to all six Dune books (including Frank's son's not-very-canon trilogy)
  • 2/3 the length of the entire The Expanse series
  • a little less than half the length of the 5 published A Song of Ice and Fire books

All in one nonfiction book. All about one person. Reality is dense!

January 09, 2025

The Day Google Killed the Pixel 4a

In 2025, Google killed the Pixel 4a.

November 14, 2024

Not a Bicyclist's Guide to Bicycles

All bicyclists ride bikes. But not all bike riders are bicyclists. I'm a bicycle enthusiast: someone who spends enough time riding and repairing bikes to know a thing or two about them. But I'm not a bicyclist, because I don't race my bike, or care about power meters or pacing or compete in events.

I wrote this article to help non-bicyclists better understand bikes: which to buy, what features truly matter to the average rider, and what features only exist for the benefit of Olympians.

If you race bikes, you can safely ignore all of this advice. I'm speaking to people who just want to get around on their bikes, not people who want to min/max stats. Think of what I'm describing as the "Honda Civic of bikes". If you know what drafting is and you want to do it, ignore me.

January 26, 2024

Some Thoughts on Malazan Book of the Fallen

I just finished a very, very, very long read of Steven Erikson's Malazan Book of the Fallen series. This is the second-longest series I have every read, second only to The Wheel of Time. But Malazan stands out as perhapas the most unusual, most unique, and most impactful series I have ever read. It has been a long time since a piece of writing made me think this much. Allow me to explain...

November 20, 2023

Book Review: The Lost Cause

I recently finished reading The Lost Cause, by Cory Doctorow, which asks (and answers) the question: Do some people seriously want to watch the world burn?. Here are my thoughts on the book.

Warning: This post contains (minor) spoilers!

March 24, 2023

Give the Gift of Reading

This season, give the gift of reading.

March 22, 2023

Review: Babel, or the Necessity of Violence: an Arcane History of Oxford Translator's Revolution

I recently finished reading Babel, or the Necessity of Violence: an Arcane History of Oxford Translator's Revolution, by RF Kuang. Here are my thoughts on the book.

Warning: This post contains spoilers!

March 08, 2023

Review: Sony Xperia XZ1 Compact

I recently switched to a "new" smartphone. This post explains why and how.

February 03, 2023

Review: Onyx Boox Nova 3

Technology alone is not enough โ€” itโ€™s technology married with liberal arts, married with the humanities, that yields us the results that make our heart sing.

When I was young, I read books.

When I was slightly less young, I read books off of a Kindle Touch.

I replaced my Kindle with an Android e-ink tablet. This article explains why.

November 10, 2022

Disable the Firefox Tab Manager

Did you recently update to Firefox (or Librewolf) 106?

Do you use Tree Style Tabs, and hide the normal tab bar?

Did you notice an inverted caret (ห‡) that restored the height pixels of the hidden tab bar? (alt text for this caret labels it "list all tabs")

Did it annoy you that you can't remove that button, even in the "customize toolbar" view?

October 21, 2022

Optimizing a Jekyll Blog Containing Lots of Images

This website features blog posts with many images -- often more than 20 per post!

Meg and I take a lot of these pictures on bike trips. Frequently with a fancy mirrorless Sony camera. They can be pretty large. But they're also frequently very pretty. Neither of us wants to shrink the images into oblivion.

I used to host those chonky images directly in my Jekyll blog, via the _images subfolder.

Eventually my site's GitHub repo ballooned to over a gigabyte in size. I know you shouldn't host blobs in source control, but... GitHub doesn't seem to care if your repo is a little big. And it's the cheapest blob storage out there, at a grand total of $0 for a half decade of usage.

But all good things must come to an end, and I started to get worried about the long-term scalability of my blog. Deployments for GitHub pages, which I use to host my site, crept above 10 minutes.

Even worse, I knew my pages weren't respectful of user data connections. Opening one of my blog posts with 20+ images in it resulted in a 200MB download. That's $2 on my Google Fi metered data plan! For one page!

So I decided to solve the problem. I attacked it from multiple angles:

  • I moved images out of my Jekyll GitHub Pages blog, and purged the blob files from the repo's history.
  • I created a new repo, images, with one purpose: hosting blob files.
  • I set up a GitHub Action that automatically generates thumbnails of all image files uploaded to the image repo.
  • I overhauled my blog site to download only those thumbnails on page load.
  • So users can still view images in full resolution, I set up the thumbnails to directly link to GitHub's raw user content API... to show the full image.

If you:

  • would like to set up thumbnails for your own GitHub Pages-hosted Jekyll blog
  • are just morbidly curious about the kinds of Rube Goldberg machines I assemble when I should be Halloween party planning

read on.

September 13, 2022

You Don't Have to be a Developer

I originally wrote this post a short time into my first tech writing job on MongoDB's Server Docs team. I never ended up sharing it because, for a while, I wasn't sure if I would end up staying in the docs world or switching back into software development.

Less than a month ago, I got a new job running documentation at Gradle. My experience as a Developer Educator for MongoDB Realm Docs convinced me that documentation can scratch all of my developer itches -- building automation, infrastructure, and writing tutorials and code snippets.

I've added some thoughts at the end of the post and tightened up some language. But this post largely reflects my thoughts on working as a documentarian very early in my transition from software development. If you're currently pursuing a computer science degree, or attending a coding boot camp, or working as a developer, and it's not completely satisfying... maybe this will help.

September 12, 2022

Natopia

Over the past few years, I've slowly tried to reduce my dependence on big tech. I know this is popular in some circles right now, and I've made all the standard moves:

  • remove myself from Facebook and Instagram
  • migrate my personal email from Gmail to Protonmail (update: now trialing Purelymail)
  • reduce subscriptions to music and video streaming services across the board
  • start a blog where I can shamelessly rant and rave about cool things I've done

But why did I do this? Not (just) because I love to chase the latest technocrat trends. Honestly it's mostly because I hate feeling dirty when I use these services:

  • When I used Spotify, I was constantly frustrated by regressions and podcasts shoved in my face (despite the fact that I cannot stand Spotify's approach to podcasts, where they buy up exclusive distribution rights to a family of podcasts and turn them into... Spodcasts, which aren't really podcasts because they aren't distributed the way all other podcasts circulate: RSS). And their offline playback support is laughable.

  • Google services constantly misbehave when you use Firefox or Librewolf, my browsers of choice.

  • Newsletters constantly send spam mail, and are often much harder to fully unsubscribe from than an RSS feed.

  • iOS still doesn't support ad blocking anywhere near the level of uBlock Origin, or allow me to use real add-ons in a browser... prompting me to find alternative methods to block ads on my phone.

And every tech company I've ever bought any product from seems to abuse dark patterns to manipulate users out the wazoo. All in the name of getting you to buy one more thing, or look at one more not-really-notification. Weak.

This post talks about how I freed myself from a myriad of big tech services, all with the support of a small investment in hardware, electricity, and personal time. I call my open source confederation of services Natopia, because, well, narcissism.

NOTE: Literally all of this is a work in progress. Open source projects continually develop. Standards change. This all works right now, but there are many pieces I'd like to improve. Expect updates to this page over time.

September 11, 2022

IDID-3210

Recently I made the mistake of attempting to log in to my Spectrum account. As a conscious human being with not-so-fond memories of Time Warner Cable, I'm aware that using Spectrum for internet is a fool's errand. But I have no choice in the small New England town that I now live in. Thanks, FCC.

January 28, 2022

Make a Bootable USB in macOS

This post explains how to make a bootable USB drive for installing Linux, macOS, Windows, or... whatever else you want. From macOS. Using the command line, mostly. And unlike every other article on the internet that explains this concept on the internet, it's not blogspam, it's not filled with ads, and it's not written in broken English or with so much fluff you give up halfway through.

December 11, 2020

The Hitchhiker's Guide to Kotlin

Lately I've been doing a lot of work in a relatively new programming language: Kotlin. From my experience, I've concluded that Kotlin is pretty rad. If you've considered learning Kotlin, or just using it in a personal project, this post might help you with your decision. Below, I hope I'll (attempt) to tell you a little bit about my experience with Kotlin, and describe what I liked about Kotlin and what I didn't like.

November 30, 2020

Site Redesign!

When I originally created this site, I had no clue what I was doing. Some friends told me I should think about creating a personal website, and I thought it would be fun to write a few blog posts. So I threw together a few basic styles with GitHub's static site generator, broke Jekyll a few times, and eventually figured out how to get things working!

March 14, 2018

Five Months with the 15-inch 2017 MacBook Pro

I have now spent about five months with a work-supplied Macbook Pro 2017, complete with discrete GPU and the infamous TouchBar.

So far, my experience has been... well, I'll get to that eventually.

January 24, 2018

Peter Kovak's Flash Boys: Not So Fast

Last week, I read Michael Lewis' Flash Boys. I was unimpressed. I had quite a few complaints, all of which you can read about in my post from last week. If you're looking for a summary, however, it boils down to this: Flash Boys was bad enough that I decided to read a book that is literally just a rebuttal to Flash Boys from the perspective of a former high frequency trader -- one of the many that Michael Lewis didn't bother to interview for his book.

January 18, 2018

Michael Lewis' Flash Boys

Just last week, I finished reading Flash Boys, written by Michael Lewis. This book can be summarized pretty easily by a single statement: "High Frequency Trading".

January 03, 2018

Looking Forward to 2018

It is now 2018, and I've been thinking about what I intend to accomplish this year. I've never been one to embrace New Years resolutions or anything like that, but I do appreciate the value of outlining some goals for the year, however inconsequential.

December 18, 2017

Reflecting on Six Months at Bloomberg

I'm an adult now -- at least, that's what they tell me. I've been working as a ssoftware developer here at Bloomberg for almost 6 months now - I started June 19th, so it's actually 5 months 29 days today. Since it's the end of the day and programmers start counting at zero, let's just call it 6 months and be done with it.

February 25, 2017

Why "Lambda Latitudinarians?"

Since I created this site, I've received many questions about the name. As a result, I've created this blog post to try to address the issue. In short, the name of this site stems from Alonzo Church's Lambda Calculus. Lambda Calculus was a highly influential mode of computation invented in the 1930s that eventually influenced a great deal of programming. This is most obvious in the form of the Lisp family of languages, where lambda functions have been present from day one, and where the very structure of code is based off of lambda calculus. However, the Lambda Calculus has now managed to seep into other programming styles-- most famously, C++ and Java have variants of lambda functions.