From dc86dc18889e9998e9eb4b9d3d87dd316b0c31f8 Mon Sep 17 00:00:00 2001 From: David Eisinger Date: Wed, 19 Nov 2025 14:48:00 -0500 Subject: [PATCH] add alt-text --- .../elsewhere/gifts-for-your-nerd/index.md | 18 +++++++------- .../index.md | 2 +- .../level-up-your-shell-game/index.md | 2 +- .../index.md | 6 ++--- .../index.md | 2 +- .../simple-app-stats-with-statboard/index.md | 2 +- .../simple-secure-file-transmission/index.md | 4 ++-- .../index.md | 4 ++-- .../index.md | 2 +- .../viget-devs-storm-chicago/index.md | 2 +- .../index.md | 4 ++-- .../dispatch-10-december-2023/index.md | 4 ++-- .../journal/dispatch-11-january-2024/index.md | 8 +++---- .../dispatch-12-february-2024/index.md | 12 +++++----- .../journal/dispatch-13-march-2024/index.md | 8 +++---- .../journal/dispatch-14-april-2024/index.md | 8 +++---- content/journal/dispatch-15-may-2024/index.md | 8 +++---- .../journal/dispatch-16-june-2024/index.md | 8 +++---- .../journal/dispatch-17-july-2024/index.md | 8 +++---- .../journal/dispatch-18-august-2024/index.md | 16 ++++++------- .../dispatch-19-september-2024/index.md | 12 +++++----- .../journal/dispatch-2-april-2023/index.md | 4 ++-- .../journal/dispatch-20-october-2024/index.md | 8 +++---- .../dispatch-21-november-2024/index.md | 8 +++---- .../dispatch-22-december-2024/index.md | 12 +++++----- .../journal/dispatch-23-january-2025/index.md | 12 +++++----- .../dispatch-24-february-2025/index.md | 4 ++-- .../journal/dispatch-25-march-2025/index.md | 12 +++++----- .../journal/dispatch-26-april-2025/index.md | 4 ++-- content/journal/dispatch-27-may-2025/index.md | 10 ++++---- .../journal/dispatch-28-june-2025/index.md | 4 ++-- .../journal/dispatch-29-july-2025/index.md | 24 +++++++++---------- content/journal/dispatch-3-may-2023/index.md | 8 +++---- .../journal/dispatch-30-august-2025/index.md | 8 +++---- .../dispatch-31-september-2025/index.md | 12 +++++----- .../journal/dispatch-32-october-2025/index.md | 24 +++++++++---------- .../dispatch-33-november-2025/index.md | 6 ++--- content/journal/dispatch-4-june-2023/index.md | 8 +++---- content/journal/dispatch-5-july-2023/index.md | 8 +++---- .../journal/dispatch-6-august-2023/index.md | 4 ++-- .../dispatch-7-september-2023/index.md | 12 +++++----- .../journal/dispatch-8-october-2023/index.md | 12 +++++----- .../journal/dispatch-9-november-2023/index.md | 6 ++--- .../index.md | 2 +- content/notes/golang/index.md | 2 +- content/notes/good-tests/index.md | 2 +- content/notes/how-to-spend-time/index.md | 2 +- .../notes/weekly-monthly-playbooks/index.md | 8 +++---- 48 files changed, 183 insertions(+), 183 deletions(-) diff --git a/content/elsewhere/gifts-for-your-nerd/index.md b/content/elsewhere/gifts-for-your-nerd/index.md index a7c74dc..4115319 100644 --- a/content/elsewhere/gifts-for-your-nerd/index.md +++ b/content/elsewhere/gifts-for-your-nerd/index.md @@ -9,7 +9,7 @@ Shopping for a nerd this holiday season? A difficult proposition, to be sure. We are, after all, complicated creatures. Fortunately, Viget Extend is here to help. Here are some gifts your nerd is sure to love. -{{}} [**Lacie iamaKey Flash Drive**](https://www.amazon.com/LaCie-iamaKey-Flash-Drive-130870/dp/B001V7XPSA) **($30)** +{{}}A silver metal key with a rectangular bow and round hole sits upright against a white backdrop.{{}} [**Lacie iamaKey Flash Drive**](https://www.amazon.com/LaCie-iamaKey-Flash-Drive-130870/dp/B001V7XPSA) **($30)** If your nerd goes to tech conferences with any regularity, your residence is already littered with these things. USB flash drives are a @@ -17,7 +17,7 @@ dime a dozen, but this one's different: stylish and rugged, and since it's designed to be carried on a keychain, it'll always around when your nerd needs it. -{{}} [**AeroPress**](https://www.amazon.com/AeroPress-Coffee-and-Espresso-Maker/dp/B000GXZ2GS) **($25)** +{{}}Hand pressing an Aeropress over a clear mug as the coffee brews.{{}} [**AeroPress**](https://www.amazon.com/AeroPress-Coffee-and-Espresso-Maker/dp/B000GXZ2GS) **($25)** A simple device that makes a cup of espresso better than machines costing twenty times as much. Buy this one for your nerd and wake up to @@ -26,24 +26,24 @@ gift that keeps on giving. If espresso gives your nerd the jitters, you can't go wrong with a [french press](https://www.amazon.com/Bodum-Chambord-4-Cup-Coffee-Press/dp/B00012D0R2/). -{{}} [**SimpleBits Charge Tee**](http://shop.simplebits.com/product/charge-tee-tri-blend) **($22)** +{{}}Cozy heather tee showing a bold battery icon with a lightning bolt, perfect for keeping your charge on display.{{}} [**SimpleBits Charge Tee**](http://shop.simplebits.com/product/charge-tee-tri-blend) **($22)** Simple, vaguely Mac-ish graphic printed on an American Apparel Tri-Blend tee, no lie the greatest and best t-shirt ever created. -{{}} [**Hard Graft iPhone Case**](http://shop.hardgraft.com/product/base-phone-case) **($60)** +{{}}Vario customs leather roll atop an aged brick, lit like a moody product still-life.{{}} [**Hard Graft iPhone Case**](http://shop.hardgraft.com/product/base-phone-case) **($60)** Your nerd probably already has a case for her iPhone, but it's made of rubber or plastic. Class it up with this handmade leather-and-wool case. Doubles as a slim wallet if your nerd is of the minimalist mindset, and here's a hint: we all are. -{{}} [**Ignore Everybody**](https://www.amazon.com/Ignore-Everybody-Other-Keys-Creativity/dp/159184259X) **by Hugh MacLeod ($16)** +{{}}Hand holding a cartoon card that reads “Ignore Everybody and 39 Other Keys to Creativity,” evoking a rebellious creative manifesto.{{}} [**Ignore Everybody**](https://www.amazon.com/Ignore-Everybody-Other-Keys-Creativity/dp/159184259X) **by Hugh MacLeod ($16)** Give your nerd the motivation to finish that web application he's been talking about for the last two years so you can retire. -{{}} [**Moleskine Notebook**](https://www.amazon.com/Moleskine-Squared-Notebook-Cover-Pocket/dp/8883707125) **($10)** +{{}}A well-loved black Moleskine notebook resting on a wooden table, elastic strap tucked neatly around its cover.{{}} [**Moleskine Notebook**](https://www.amazon.com/Moleskine-Squared-Notebook-Cover-Pocket/dp/8883707125) **($10)** What nerd doesn't love a new notebook? Just make sure it's graph paper; unlined paper was not created for mathematical formulae and drawings of @@ -52,18 +52,18 @@ Notes](http://fieldnotesbrand.com). As for pens, I highly, *highly* recommend the [Uni-ball Signo](http://www.jetpens.com/product_info.php/cPath/239_90/products_id/466). -{{}} [**Canon PowerShot S90**](https://www.amazon.com/dp/B002LITT42/) **($400)** +{{}}Canon point-and-shoot camera with pop-up flash ready for action.{{}} [**Canon PowerShot S90**](https://www.amazon.com/dp/B002LITT42/) **($400)** Packs the low-light photographic abilities of your nerd's DSLR into a compact form factor that fits in his shirt pocket, right next to his slide rule. -{{}} [**Newegg Gift Card**](https://secure.newegg.com/GiftCertificate/GiftCardStep1.aspx) +{{}}Stylized Newegg gift card design featuring layered egg shapes with orange swooshes.{{}} [**Newegg Gift Card**](https://secure.newegg.com/GiftCertificate/GiftCardStep1.aspx) If all else fails, a gift card from [Newegg](http://newegg.com) shows you know your nerd a little better than the usual from Amazon. -{{}} [**Moto Guzzi V7 Classic**](http://www.autoblog.com/2009/09/30/review-moto-guzzi-v7-classic-is-an-italian-beauty-you-can-live/) **($8500)** +{{}}Chrome-framed Moto Guzzi gleams against a hazy mountain sunset.{{}} [**Moto Guzzi V7 Classic**](http://www.autoblog.com/2009/09/30/review-moto-guzzi-v7-classic-is-an-italian-beauty-you-can-live/) **($8500)** Actually, this one's probably just me. diff --git a/content/elsewhere/html-sanitization-in-rails-that-actually-works/index.md b/content/elsewhere/html-sanitization-in-rails-that-actually-works/index.md index de973b1..8f8e494 100644 --- a/content/elsewhere/html-sanitization-in-rails-that-actually-works/index.md +++ b/content/elsewhere/html-sanitization-in-rails-that-actually-works/index.md @@ -40,7 +40,7 @@ page, not to mention what a `
` can do. Self-closing tags are okay. With these requirements in mind, we subclassed HTML::WhiteListSanitizer and fixed it up. Introducing, then: -{{}} +{{}}Jason Statham stands in a sharp suit, glaring intently under the midday sun.{{}} [**HTML::StathamSanitizer**](https://gist.github.com/241114). User-generated markup, you're on notice: this sanitizer will take its diff --git a/content/elsewhere/level-up-your-shell-game/index.md b/content/elsewhere/level-up-your-shell-game/index.md index fa074e6..377745d 100644 --- a/content/elsewhere/level-up-your-shell-game/index.md +++ b/content/elsewhere/level-up-your-shell-game/index.md @@ -31,7 +31,7 @@ favorites: - [Invoking Remote Commands with SSH](#invoking-remote-commands-with-ssh) -Ready to get your {{}} on? Good. Let's go. +Ready to get your {{}}Grinning caricature with messy hair, glasses, and a scruffy beard.{{}} on? Good. Let's go. ## Keyboard Shortcuts diff --git a/content/elsewhere/making-an-email-powered-e-paper-picture-frame/index.md b/content/elsewhere/making-an-email-powered-e-paper-picture-frame/index.md index c1aef46..f918aa9 100644 --- a/content/elsewhere/making-an-email-powered-e-paper-picture-frame/index.md +++ b/content/elsewhere/making-an-email-powered-e-paper-picture-frame/index.md @@ -15,7 +15,7 @@ something similar. -{{}} +{{}}A wood-and-glass stand displays a grayscale portrait, sitting beside amber glasses and books on a tidy desk.{{}} In short, it's a Raspberry Pi Zero connected to a roughly 5-by-7-inch e-paper screen, running some software I wrote in Go and living inside a @@ -53,7 +53,7 @@ extracts the attachments from the email, crops them a couple of ways (one for display on a webpage, the other for display on the screen), and uploads the results into an S3 bucket. -{{}} +{{}}A web dashboard shows a green banner announcing “Photo image_50434049.JPG displayed!” above a grid of blurred photo thumbnails, each with a blue “Display” button beneath it in a browser window titled “192.168.4.61”.{{}} ## The Software @@ -149,7 +149,7 @@ And that should be it. The photo gallery should be accessible at a local IP and the photo should update hourly (though not ON the hour as that's not how `cron.hourly` works for some reason). -{{}} +{{}}Wooden DIY stand cradling a small circuit board with a ribbon cable looped through.{{}} ## Building the Frame diff --git a/content/elsewhere/on-confidence-and-real-time-strategy-games/index.md b/content/elsewhere/on-confidence-and-real-time-strategy-games/index.md index f2e9352..eb21b52 100644 --- a/content/elsewhere/on-confidence-and-real-time-strategy-games/index.md +++ b/content/elsewhere/on-confidence-and-real-time-strategy-games/index.md @@ -10,7 +10,7 @@ developer. But before I do that, I want to talk about *[Z](https://en.wikipedia.org/wiki/Z_(video_game))*, a real-time strategy game from the mid-'90s. -{{}} +{{}}Battle-hardened robot cowboy Cmdr. Zod sprays bullets amid explosions on the cover of “Z” by The Bitmap Brothers.{{}} In other popular RTSes of the time, like *Warcraft* and *Command and Conquer*, you collected `/(gold|Tiberium|Vespene gas)/` and used it to diff --git a/content/elsewhere/simple-app-stats-with-statboard/index.md b/content/elsewhere/simple-app-stats-with-statboard/index.md index 95fb628..db3f941 100644 --- a/content/elsewhere/simple-app-stats-with-statboard/index.md +++ b/content/elsewhere/simple-app-stats-with-statboard/index.md @@ -16,7 +16,7 @@ Engine](http://edgeapi.rubyonrails.org/classes/Rails/Engine.html) to display some basic stats. Announcing, then, [StatBoard](https://github.com/vigetlabs/stat_board): -{{}} +{{}}Minimalist “StatBoard” dashboard in a browser, showing overall, monthly, and weekly counts for offices, players, users, games, and matches.{{}} Installation is a cinch: add the gem to your Gemfile, mount the app in `routes.rb`, and set the models to query (full instructions available on diff --git a/content/elsewhere/simple-secure-file-transmission/index.md b/content/elsewhere/simple-secure-file-transmission/index.md index 25ac137..f1747e7 100644 --- a/content/elsewhere/simple-secure-file-transmission/index.md +++ b/content/elsewhere/simple-secure-file-transmission/index.md @@ -54,7 +54,7 @@ From here, I'd move the encrypted file to my Dropbox public folder and send Chris the generated link, as well as the output of `encrypt.sh`, over IM: -{{}} +{{}}Instant message thread where David Eisinger shares a Dropbox link and an OpenSSL command, and Chris Jones replies “got it” one minute later in the muted IM client window.{{}} Once he acknowledges that he's received the file, I immediately delete it. @@ -65,7 +65,7 @@ Now I need to send Chris the password. Here's what I **don't** do: send it to him over the same channel that I used to send the file itself. Instead, I pull out my phone and send it to him as a text message: -{{}} +{{}}Text exchange showing one friend confidently promising, “I can get you a toe by 3 o’clock this afternoon,” and the other dryly replying, “With nail polish?”{{}} Now Chris has the file, instructions to decrypt it, and the passphrase, so he's good to go. An attacker, meanwhile, would need access to both diff --git a/content/elsewhere/stackstash-taking-bookish-musings-to-the-next-level/index.md b/content/elsewhere/stackstash-taking-bookish-musings-to-the-next-level/index.md index 5c4fecf..554fa1c 100644 --- a/content/elsewhere/stackstash-taking-bookish-musings-to-the-next-level/index.md +++ b/content/elsewhere/stackstash-taking-bookish-musings-to-the-next-level/index.md @@ -29,7 +29,7 @@ information. It's easy to look at a book and see all of the people who have mentioned it (and how they felt about it) or look at a person and see all of the books they've mentioned (and how they felt about them). -{{}} +{{}}StackStash mobile screens showcase browsing features: a curated “next great read” feed, searchable library, detailed book spotlight, and Viget staff recommendations.{{}} ## Behind the Scenes @@ -69,7 +69,7 @@ chance to try some new things:  - [Docker](https://www.docker.com/) for local development and deployment -{{}} +{{}}Browser talks to a Caddy-powered Remix app inside Docker, which hits a Laravel service to reach the DB plus external APIs (Slack, OpenAI, OpenLibrary).{{}} ## What We Learned diff --git a/content/elsewhere/using-microcosm-presenters-to-manage-complex-features/index.md b/content/elsewhere/using-microcosm-presenters-to-manage-complex-features/index.md index 87ecfa1..c0a74e1 100644 --- a/content/elsewhere/using-microcosm-presenters-to-manage-complex-features/index.md +++ b/content/elsewhere/using-microcosm-presenters-to-manage-complex-features/index.md @@ -32,7 +32,7 @@ potentially malicious. The logic is roughly defined as follows: Here's a flowchart that might make things clearer (did for me, in any event): -{{}} +{{}}Hand-drawn state diagram showing a workflow progressing from “Start” through states like “Changed,” a “modified?” decision node, and either “Validated” or “Modified,” with arrows labeled “apply,” “revert,” “update,” and “preview” looping back to an “Unfocused” end state.{{}} This feature is too complex to handle with React component state, but too localized to store in application state (the main Microcosm diff --git a/content/elsewhere/viget-devs-storm-chicago/index.md b/content/elsewhere/viget-devs-storm-chicago/index.md index 671d6e7..df679e3 100644 --- a/content/elsewhere/viget-devs-storm-chicago/index.md +++ b/content/elsewhere/viget-devs-storm-chicago/index.md @@ -5,7 +5,7 @@ draft: false canonical_url: https://www.viget.com/articles/viget-devs-storm-chicago/ --- -{{}} +{{}}Chicago Theatre’s neon marquee glowing over State Street at night.{{}} This past weekend, Ben and I traveled to Chicago to speak at [Windy City Rails](http://windycityrails.org/). It was a great conference; diff --git a/content/elsewhere/whats-in-a-word-building-a-verbose-party-game/index.md b/content/elsewhere/whats-in-a-word-building-a-verbose-party-game/index.md index 4bd05bf..e6b2a9a 100644 --- a/content/elsewhere/whats-in-a-word-building-a-verbose-party-game/index.md +++ b/content/elsewhere/whats-in-a-word-building-a-verbose-party-game/index.md @@ -32,7 +32,7 @@ It's easier to play than explain, so mosey on over to to know more about how each of us fared going heads down on one project for 48 hours (and counting), read on. -{{}} +{{}}Three iPhones show different moments of the colorful word-game “verbose,” from starting a game to guessing and celebrating with playful pastel panels.{{}} ## [**Haley**](https://www.viget.com/about/team/hjohnson/) **\| Pointless Role: Design \| Day Job: PM** @@ -141,7 +141,7 @@ automatically sets up HTTPS and proxies traffic to our Remix app: Our overall architecture (running with `docker compose`) looks like this: -{{}} +{{}}Flowchart showing a Caddy frontend feeding into Remix, which in turn drives a Rails backend that splits into Postgres and Redis services.{{}} ------------------------------------------------------------------------ diff --git a/content/journal/dispatch-10-december-2023/index.md b/content/journal/dispatch-10-december-2023/index.md index 431408d..f3255f7 100644 --- a/content/journal/dispatch-10-december-2023/index.md +++ b/content/journal/dispatch-10-december-2023/index.md @@ -29,8 +29,8 @@ We spent the week of Thanksgiving with my sister near Albany, New York. Tough dr -{{}} -{{}} +{{}}Tiny explorer discovering the first snowfall, arms wide open to catch the magic.{{}} +{{}}Three bundled-up kiddos in matching polar bear jammies ride the train, grinning and wide-eyed for adventure.{{}} In what's now I guess an annual tradition, I ran a 10K the morning of Thanksgiving, this time the [Troy Turkey Trot][2]. I felt great, and I'm happy with my time ([results][3], [certificate][4]). Claire joked that after you run a marathon, a half-marathon becomes your favorite race distance. That's how I feel about 10Ks -- it's like the first half of a half-marathon, before it really starts to suck. diff --git a/content/journal/dispatch-11-january-2024/index.md b/content/journal/dispatch-11-january-2024/index.md index f63e830..3b8186a 100644 --- a/content/journal/dispatch-11-january-2024/index.md +++ b/content/journal/dispatch-11-january-2024/index.md @@ -46,8 +46,8 @@ That's a wrap on 2023. Our little Nevie turned two in December. It's hard to ima -{{}} -{{}} +{{}}Little birthday star gears up for cake with a huge bite of anticipation.{{}} +{{}}Little conductor, big adventure: riding the crimson dining car with a bright red toy in hand.{{}} We're on a bit of a purge, trying to free up some space in the house. It's an overwhelming project (how did we acquire so much stuff?) but we're taking it one step at a time. I've been building new shelves and put up [guitar hangers][3] to clear up some floor space. I've taken inspiration from [this post about office organization][4] and [this one about maintaining a list of where to find things][5]. @@ -55,8 +55,8 @@ We're on a bit of a purge, trying to free up some space in the house. It's an ov [4]: https://www.chrbutler.com/organization-office [5]: https://analogoffice.net/2023/05/31/the-lifechanging-magic.html -{{}} -{{}} +{{}}Neatly labeled storage bins sit on fresh wooden shelves in a basement utility space, ready for more organization.{{}} +{{}}- Two well-loved guitars hang on a homemade wall rack, showcasing their vintage vibe amid the bare workshop framing.{{}} Music-wise, I received an [Arturia KeyStep 37][6] as a Christmas gift from my in-laws. This thing is super nice; I'm already having a blast using it to play my existing gear, and I'm hoping it'll play a big role as I shift to a more computer-based workflow. Here's a new track called "Orographic": diff --git a/content/journal/dispatch-12-february-2024/index.md b/content/journal/dispatch-12-february-2024/index.md index 27621bb..6b0ec6c 100644 --- a/content/journal/dispatch-12-february-2024/index.md +++ b/content/journal/dispatch-12-february-2024/index.md @@ -81,8 +81,8 @@ We spent MLK weekend with my folks in the Shenandoah Valley, and visited [Luray -{{}} -{{}} +{{}}Cozy campfire smiles: bundled up in a bright blanket as mother and child enjoy a wintery evening in the woods.{{}} +{{}}Bundled up in teal and blush, this little snow explorer grins at winter’s wonderland.{{}} I signed up for the [Wrightsville Beach Valentine Run][2] 10K in early February, which has added a little bit of focus to my running without the commitment of half-marathon training and gives us a good excuse to spend a weekend with Claire's sister in Wilmington. Might try to keep that going, finding organized 10Ks in places we want to visit. @@ -90,10 +90,10 @@ I signed up for the [Wrightsville Beach Valentine Run][2] 10K in early February, I stumbled on [this article][3] ([via][4]) about an iOS feature that periodically updates your lock screen to a random photo of a selected person. It is ... delightful. -{{}} -{{}} -{{}} -{{}} +{{}}Calm little trendsetter in a blue romper and bow, giving that curious side-eye before nap time.{{}} +{{}}Baby’s whole face says “I regret nothing” as the entire yogurt brick goes straight to the mouth.{{}} +{{}}Saturday morning mischief: wide-eyed baby covered head to toe in chocolate, proudly perched in a high chair at 8:07 a.m.{{}} +{{}}Little foodie-in-training: orange beret, green turtleneck, carrot doll, and serious chef vibes on a January morning.{{}} [3]: https://www.theatlantic.com/technology/archive/2024/01/iphone-grief-dynamic-wallpaper/677034/ [4]: https://sixcolors.com/link/2024/01/grief-and-a-photo-shuffle/ diff --git a/content/journal/dispatch-13-march-2024/index.md b/content/journal/dispatch-13-march-2024/index.md index 2a69553..25a83c5 100644 --- a/content/journal/dispatch-13-march-2024/index.md +++ b/content/journal/dispatch-13-march-2024/index.md @@ -87,10 +87,10 @@ Highlights this month: a weekend in Wilmington, a successful 10K, and a solo dad -{{}} -{{}} -{{}} -{{}} +{{}}Runner #534 strides past the parking lot, focused on the finish line during a road race.{{}} +{{}}Bubble crown on a giggly bath-time monarch.{{}} +{{}}Little beach explorer with curls kneeling in the sand, studying every grain.{{}} +{{}}Little rider proudly pauses under the pavilion, ready to take on the next lap on their bright green balance bike.{{}} Here's a new track called "Arcus" -- smash play and read on. diff --git a/content/journal/dispatch-14-april-2024/index.md b/content/journal/dispatch-14-april-2024/index.md index e5eedf4..1df28fd 100644 --- a/content/journal/dispatch-14-april-2024/index.md +++ b/content/journal/dispatch-14-april-2024/index.md @@ -51,8 +51,8 @@ Busy March! My whole family came into town for a long weekend, then we headed do -{{}} -{{}} +{{}}Dad reads a bedtime story while both kids cuddle close and help turn the pages.{{}} +{{}}Father and toddler laughing together on the pier as the sun sets behind them.{{}} We had such a good time at the race [last month][1] that we all decided to sign up for the [Steve Haydu St. Patrick's Lo Tide Run][2]. I didn't do quite as well ([results][3], [certificate][4]) but I had a great time and I got to catch the last mile or so of the 5K with Claire and Nev (my tiny runner). @@ -69,8 +69,8 @@ I picked up a [Roland SP-404][5] sampler -- this thing's super neat. It gives me I added some shelves to my existing workbench to hold all my music gear. Feeling good about this setup assuming I don't buy anything else (😬). -{{}} -{{}} +{{}}A cozy basement workbench doubles as a synth playground, with keyboards and controllers neatly lined up under soft task lighting.{{}} +{{}}Cozy basement maker space with a wood workbench, tools and a hanging bike, ready for a DIY session.{{}} I read a bunch of great books this month. The standout was certainly [_Sea of Tranquility_][6] by Emily St. John Mandel (read [_The Glass Hotel_][7] first). I also enjoyed [_Tress of the Emerald Sea_][8] -- classic Sanderson shit. diff --git a/content/journal/dispatch-15-may-2024/index.md b/content/journal/dispatch-15-may-2024/index.md index 6257c41..0f276a2 100644 --- a/content/journal/dispatch-15-may-2024/index.md +++ b/content/journal/dispatch-15-may-2024/index.md @@ -48,11 +48,11 @@ Big news, friends: we're expecting a second kid in June. To celebrate, Claire an -{{}} -{{}} +{{}}Sunlit boardwalk ride between dunes and sea, smiling rider taking in the view.{{}} +{{}}Relaxing seaside lunch with a frosty beer under sunlit Sagres umbrellas.{{}} -{{}} -{{}} +{{}}Sunlit stroll through Lisbon: mom-to-be cradles her belly on a steep cobblestone street above the river.{{}} +{{}}Red-clad Benfica fans create a roaring wall of color as players battle under the bright lights at Estádio da Luz.{{}} While we were over there, I was pretty diligent about using [Shazam][4] whenever a song caught my ear and saving everything into Apple Notes. When I got back, I compiled all the tracks into a playlist[^1] that's been on repeat ever since. It's a pretty neat way to create a memento that's unique to me and that doesn't cost anything or take up any space, and is something I'll plan to repeat on future trips. diff --git a/content/journal/dispatch-16-june-2024/index.md b/content/journal/dispatch-16-june-2024/index.md index 9823893..d3a3878 100644 --- a/content/journal/dispatch-16-june-2024/index.md +++ b/content/journal/dispatch-16-june-2024/index.md @@ -19,11 +19,11 @@ TOMORROW IS THE DAY we welcome baby brother to the world, and I wanted to get th -{{}} -{{}} +{{}}Family fun run selfie with peace signs up top and stroller snacks up front.{{}} +{{}}Early morning runners fill a tree-lined city street during a busy race.{{}} -{{}} -{{}} +{{}}Three giggly toddlers relax in a red Radio Flyer wagon, sharing a beach ball and a bag of grapes at a sunny park gathering.{{}} +{{}}Dad guides an orange kayak while a child lounges up front, gliding along a tree-lined lake shoreline.{{}} We had a great month with Nev. Highlights included a trip to the lake, the [Running of the Bulls 8K][1], and the [Beaver Queen Pagent][2]. I want to say it was our best month so far, though that might just be preemptive nostalgia, since this is the last month she gets 100% of our attention. But she's just such a fun little person. I couldn't been more proud of her. diff --git a/content/journal/dispatch-17-july-2024/index.md b/content/journal/dispatch-17-july-2024/index.md index ed17d1c..2ae91bf 100644 --- a/content/journal/dispatch-17-july-2024/index.md +++ b/content/journal/dispatch-17-july-2024/index.md @@ -59,11 +59,11 @@ We welcomed baby **Nico** on June 12. He and mama are both healthy and well. Nev -{{}} -{{}} +{{}}Tiny bundle, big curious eyes.{{}} +{{}}Meeting little sibling day: a sleepy newborn cradled in Mom’s arms as big sister nuzzles close, already smitten.{{}} -{{}} -{{}} +{{}}Three beaming parents each cuddle toddlers and babies, capturing a joyful family playdate in the bright, colorful room.{{}} +{{}}Dad sinks into the couch with a newborn asleep on one arm and a curly‑haired toddler sucking their thumb on the other, peaceful trio sharing a quiet afternoon.{{}} I took a few weeks off after the birth, but I'm back to work now (mixed feelings on that -- could have taken a longer break). We've been able to do a bit of traveling -- quick trip up to Richmond to see my family, long weekend at Lake Norman with Claire's. diff --git a/content/journal/dispatch-18-august-2024/index.md b/content/journal/dispatch-18-august-2024/index.md index 2278768..d38705b 100644 --- a/content/journal/dispatch-18-august-2024/index.md +++ b/content/journal/dispatch-18-august-2024/index.md @@ -47,25 +47,25 @@ Our boy's two months old today! Look at this little dude. -{{}} -{{}} +{{}}Bath time giggles from the happiest little face.{{}} +{{}}Smiling baby Dominic stretches out beside a sign proudly sharing he’s two months old.{{}} We did a newborn photo shoot with [G. Lin Photography][1], though no one told Nevie she wasn't the star. -{{}} -{{}} +{{}}Snuggled together on the nursery floor, mom, dad, and big sister shower the newborn with cozy kisses and cuddles.{{}} +{{}}Smiling parents in their sunny backyard admire their curly-haired daughter while Mom cradles the sleeping newborn.{{}} [1]: https://www.glinphotography.com/ We took the kids to a few Bulls games. Snacks consumed: many. Baseball consumed: very little. -{{}} -{{}} +{{}}Family of four all smiles at the ballpark, soaking in a summer evening under the lights.{{}} +{{}}Giggles and curls at the ballpark, cheering for the home team in bright pink.{{}} I finished Nev's art table as well as a few other small projects. I doubt I'll ever be a great (or even good) woodworker, but I derive considerable satisfaction from building simple pieces and quickly modifying things around the house. -{{}} -{{}} +{{}}DIY workshop vibes: a freshly built wooden rack stands proud beside bikes and benches, waiting for its first project.{{}} +{{}}Pink three-tier craft cart overflowing with kids’ art supplies squeezed between a kitchen counter and patio door.{{}} I signed up for [Bull City Race Fest][2] half-marathon for what'll be the third year in a row. It is so hot out right now that afternoon long runs aren't really tenable, but night runs work well with my screwed up sleep schedule (though that's how I [turned my ankle something fierce][3] last year). Knowing I need to be able to run 13 miles in a few short months is doing wonders for my discipline. diff --git a/content/journal/dispatch-19-september-2024/index.md b/content/journal/dispatch-19-september-2024/index.md index bd21a72..6bd5a1d 100644 --- a/content/journal/dispatch-19-september-2024/index.md +++ b/content/journal/dispatch-19-september-2024/index.md @@ -32,18 +32,18 @@ Highlights this month were our annual trips to Rehoboth Beach and Beaufort. Ther -{{}} -{{}} +{{}}Smiling beach day: mom relaxing under a blue umbrella while cradling her sleepy baby.{{}} +{{}}Three little buddies in matching pinks giggling on a sunny stroller ride.{{}} -{{}} -{{}} +{{}}Two excited little captains-in-training taking turns at the helm of a docked boat.{{}} +{{}}Tiny nap coach keeping dad company on the couch.{{}} Half-marathon training is going well. The timing of the Rehoboth trip couldn't have been better, hitting at 4 weeks into my 12 week training program. I love running up there -- the weather's better, the terrain's flatter, and the gravel trail at Cape Henlopen is just perfection. Felt like I could run forever. We got Nev's art table set up in the living room. It's been a delight to see her take to it, defaulting to creative pursuits during downtime. I added some [LED lighting][1] and [coat hooks][2]. That's the nice thing about making your own stuff: the freedom to modify and adapt. -{{}} -{{}} +{{}}Toddler quietly painting at a wooden activity station stacked with tidy bins and colorful toys.{{}} +{{}}Sunlit kid’s art station with a tiny sink, cubbies of supplies, and a little stool ready for the next craft.{{}} [1]: https://www.amazon.com/dp/B08R66Z71S [2]: https://www.amazon.com/dp/B09M3Q6QHN diff --git a/content/journal/dispatch-2-april-2023/index.md b/content/journal/dispatch-2-april-2023/index.md index 18cbb4b..e2b3e2c 100644 --- a/content/journal/dispatch-2-april-2023/index.md +++ b/content/journal/dispatch-2-april-2023/index.md @@ -31,8 +31,8 @@ In April, I'm finishing training for (and then running) the [Tar Heel 10 Miler][ I didn't make much progress on the closet project this month (took some measurements and had some discussions with Claire), but I did manage to build this "learning tower" for Nev and started acquainting myself with Affinity Designer. -{{}} -{{}} +{{}}Little chef-in-training stands proudly on a wooden helper tower, making snack time at the kitchen counter a hands-on adventure.{{}} +{{}}Bright yellow rocket streaks skyward, leaving a soft teal burst of exhaust.{{}} ### This Month diff --git a/content/journal/dispatch-20-october-2024/index.md b/content/journal/dispatch-20-october-2024/index.md index 5d12873..a304c4e 100644 --- a/content/journal/dispatch-20-october-2024/index.md +++ b/content/journal/dispatch-20-october-2024/index.md @@ -60,8 +60,8 @@ What will the next six-year cycle bring? Hopefully more of the same. Life is gra To celebrate, we headed to Pigeon Forge, Tennessee, which was a **scene**. Nevie loved Dollywood and visiting with her grandparents, and we enjoyed some time at Great Smoky Mountains National Park. -{{}} -{{}} +{{}}Little lion tamer shows off her rainbow roar.{{}} +{{}}Family selfie on a wooded trail, big smiles from every generation enjoying the sunshine.{{}} Nico started daycare last week, which is bittersweet; it's been wonderful having him around all day. But we love our daycare and it's fun to have him and Nev in the same place. @@ -69,8 +69,8 @@ Just a few more weeks until my half-marathon. I'm feeling relatively good, hitti Finished a couple small house projects: a hanging system for Nev's art table and some storage for our reusable grocery bags. -{{}} -{{}} +{{}}Kids’ craft corner with drying paintings clipped to a wooden art station, surrounded by bins of supplies and bags.{{}} +{{}}Wood-slat hooks corral a rainbow of reusable tote bags near the entryway.{{}} One of my favorite things about running is this: it doesn't matter what else happens throughout the day -- if I run, it was a good day. I feel the same way about these little home improvement efforts: any day I use my tools, skills, and agency to improve our living space is a good day. diff --git a/content/journal/dispatch-21-november-2024/index.md b/content/journal/dispatch-21-november-2024/index.md index 0019fc3..a69cfa5 100644 --- a/content/journal/dispatch-21-november-2024/index.md +++ b/content/journal/dispatch-21-november-2024/index.md @@ -67,15 +67,15 @@ It feels kind of dumb putting this post together in light of these major events, We went down to Wilmington to meet our new nephew/cousin. It was bonkers to see Nico alongside a fresh newborn. LOOK HOW BIG MY BOY IS. LOOK AT MY LARGE SON. -{{}} -{{}} +{{}}Two tiny buddies chilling on the couch—one snoozing in stripes, the other wide-eyed and ready for adventure.{{}} +{{}}Curious big sibling marvels at the tiny newborn snoozing beside them on the couch.{{}} I ran the [Bull City Race Fest][1] half-marathon for the third year in a row, hitting a personal best time of 8:50/mile ([result][2], [certificate][3]). Claire and Nev met me at around mile seven with a bottle of Gatorade that got me through the hilly final stretch. We spent a weekend camping ("camping" -- the cabins were, uh, quite plush) at [Fairy Stone State Park][4] with a big group of friends. Highlights included taking Nev out on a paddleboard, trick-or-treating between the cabins, and cooking a bunch of food for folks. Hope to be back in 2025. -{{}} -{{}} +{{}}Dad and kid in avocado-print pajamas laughing together on a porch while strumming a guitar.{{}} +{{}}Dad cuddles his smiling baby in the autumn sunshine, coffee in hand and pure joy on both faces.{{}} [1]: https://capstoneraces.com/bull-city-race-fest/ [2]: /journal/dispatch-21-november-2024/bcrf-2024-result.pdf diff --git a/content/journal/dispatch-22-december-2024/index.md b/content/journal/dispatch-22-december-2024/index.md index 11cfdc4..37f9116 100644 --- a/content/journal/dispatch-22-december-2024/index.md +++ b/content/journal/dispatch-22-december-2024/index.md @@ -83,11 +83,11 @@ We ventured to upstate New York to spend Thanksgiving with my sister and her fam [4]: https://troyturkeytrot.com/ -{{}} -{{}} +{{}}Grandma and mom share a cozy couch storytime, kids snuggled in blankets and pajamas, all smiles.{{}} +{{}}Two bundled‑up cousins sample fresh snow from their mittens on a frosty deck morning.{{}} -{{}} -{{}} +{{}}Mom and little chef chop potatoes side-by-side on a cozy kitchen afternoon.{{}} +{{}}Big cousin giggles as her baby cousin reaches up to grab her hand on the play mat.{{}} I loved this quote from Freddie DeBoer about [what he's thankful for][5]: @@ -99,8 +99,8 @@ I've outgrown the [music setup][6] I built a few months ago, and ordered a three [6]: /journal/dispatch-14-april-2024/ -{{}} -{{}} +{{}}Stack of synths and drum machines at the ready in a DIY studio corner.{{}} +{{}}Little DJ in pink pajamas happily jams on glowing synths with giant headphones.{{}} This has been a ton of fun -- I can play chords on the Prophet with my left hand, melodies on the Bass Station with my right, drums + sequencing with the Circuit, and then the SP-404 at the end for effects. Next up: build a simple workstation, add a mixer and MIDI interface to drive more instruments. diff --git a/content/journal/dispatch-23-january-2025/index.md b/content/journal/dispatch-23-january-2025/index.md index cc14abc..fff231c 100644 --- a/content/journal/dispatch-23-january-2025/index.md +++ b/content/journal/dispatch-23-january-2025/index.md @@ -57,18 +57,18 @@ We spent Christmas in Greensboro with Claire's family (and a bunch of dogs). Nev [1]: https://loogguitars.com/products/loog-mini-acoustic-pink?variant=41406434803774 -{{}} -{{}} +{{}}Blonde toddler strums a tiny pink guitar in a cozy living room while an adult watches in the background.{{}} +{{}}Baby chef-in-training giggles while waving a plush taco that says “Taco ’bout yummy!”{{}} Then we were off to Mexico to celebrate our FIVE YEAR anniversary and the new year (after a tense wait to see if Nico's passport would arrive in time). We spent the better part of the week at [Sensira Resort][2]. It was grand. [2]: https://sensiraresorts.com/ -{{}} -{{}} +{{}}Mom cuddles on a beach cabana with her giggling kiddos, watermelon-colored drink and all.{{}} +{{}}Toddler stares straight ahead with wide eyes, proudly covered in chocolate while smearing food across the high chair tray.{{}} -{{}} -{{}} +{{}}Mom whispers a secret to her face-painted unicorn child wrapped in a towel.{{}} +{{}}Little girl welcoming 2025 from a sunny beach, framed by giant numbers in the sand.{{}} Random small stuff: diff --git a/content/journal/dispatch-24-february-2025/index.md b/content/journal/dispatch-24-february-2025/index.md index 1b55898..14f8a1b 100644 --- a/content/journal/dispatch-24-february-2025/index.md +++ b/content/journal/dispatch-24-february-2025/index.md @@ -73,8 +73,8 @@ We actually got some snow here in Durham, which is not something that happens ev -{{}} -{{}} +{{}}A bundled-up family grins in the winter sun, each parent balancing a sleepy toddler against a sparkling, snow-dusted backdrop.{{}} +{{}}Pink-wheeled sidekick, boxy chariot, endless giggles.{{}} My hi-fi audio setup is complete, for now and hopefully forever. The speakers I originally ordered were way too big, so I replaced them with a pair of [Polk ES15s][2]. I built speaker stands out of plywood and some [hairpin table legs][3], and got everything wired up. It sounds great! diff --git a/content/journal/dispatch-25-march-2025/index.md b/content/journal/dispatch-25-march-2025/index.md index edeac84..77f0c41 100644 --- a/content/journal/dispatch-25-march-2025/index.md +++ b/content/journal/dispatch-25-march-2025/index.md @@ -63,18 +63,18 @@ My family popped down for an unplanned visit, just in time for another big snow -{{}} -{{}} +{{}}Two bundled-up kids stick their tongues out to taste snowflakes while riding in a wagon with their baby sibling peeking from the back.{{}} +{{}}Two wide-eyed little snack critics share a picnic blanket adorned with pink hibiscus, each mid-bite and equally bewildered by the mystery crumbs.{{}} -{{}} -{{}} +{{}}Grandparents relaxing on the couch with a curious baby and a patient dog, sharing toys and smiles in a cozy living room.{{}} +{{}}Dad in a snowy yard grinning at his bundled-up, giggling child.{{}} After publishing last month's dispatch, I exported the first two years of posts as a PDF and used [Lulu][1] to turn it into a physical book. Here's the result: [1]: https://www.lulu.com/ -{{}} -{{}} +{{}}Lavender planner marked “March 2023 – February 2025” with “D. Eisinger” on the spine lying on a cutting mat, shot with shallow depth of field in a workshop.{{}} +{{}}Open travel journal on a cutting mat showing an Italy trip write‑up with photo grid on the left page and typed reflections on the right.{{}} I'm pretty chuffed about this (though I wish I'd heeded their warnings about the margins). And it was cheap! Like fifteen bucks! I went ahead and ordered two, and gave one to my sister. This was a cool project and definitely worth a standalone blog post. diff --git a/content/journal/dispatch-26-april-2025/index.md b/content/journal/dispatch-26-april-2025/index.md index 780ff11..bb7d8a3 100644 --- a/content/journal/dispatch-26-april-2025/index.md +++ b/content/journal/dispatch-26-april-2025/index.md @@ -49,8 +49,8 @@ Nico received a major software upgrade this month. One day he could barely roll -{{}} -{{}} +{{}}“Rainbow noodle salon day: baby edition.”{{}} +{{}}Little kid proudly surveys their new wooden loft bed from the top bunk in a cozy, toy-filled bedroom.{{}} Annual trip to Vegas was a blast -- watched games at Venetian and Paris, real international stuff. Let's see if my Duke boys can bring one home this weekend. Looking good so far! diff --git a/content/journal/dispatch-27-may-2025/index.md b/content/journal/dispatch-27-may-2025/index.md index 19d5ae7..c17186a 100644 --- a/content/journal/dispatch-27-may-2025/index.md +++ b/content/journal/dispatch-27-may-2025/index.md @@ -51,8 +51,8 @@ Pollen season is over. Bamboo killing season is here. Lots to cover this month. Nico is on the go, crawling, pulling up, spreading cheer wherever he goes. We got him out on the bike, into the foam pit at our local trampoline park, and to his first baseball game at the old Bulls stadium. -{{}} -{{}} +{{}}Smiling little passenger enjoying a sunny ride in the stroller.{{}} +{{}}Two little buddies in matching bench seats—one all smiles, the other flashing an adorably mischievous side-eye.{{}} We took the family to Busch Gardens in Williamsburg, VA to meet Jon and Blitz from Dino Ranch. I went there a lot as a kid but haven't been in a good 30 years, so everything's about a third smaller than I remembered. A bunch of the drive followed the [Virginia Capital Trail][2], something I'd like to bike someday. On the way out, Claire noticed a large nail sticking out of our tire, so we had to cruise home at 50 MPH on the little spare. @@ -73,9 +73,9 @@ Nev and I have been enjoying ChatGPT's new image features. We generated a whole [10]: https://craftcloud3d.com/ [11]: https://us.elegoo.com/collections/lcd-printers/products/elegoo-mars-4-ultra-msla-resin-3d-printer-with-9k-mono-lcd -{{}} -{{}} -{{}} +{{}}Little explorer beams with joy while riding her friendly triceratops through a sunny, cloud-dotted landscape.{{}} +{{}}Little Nev beams with delight while riding her friendly triceratops buddy Tango like it’s a prehistoric pony.{{}} +{{}}A cheerful kid with curly hair rides atop a playful, horned dinosaur-shaped toy, both sculpted in smooth, faceted grey.{{}} I finally signed up for [Melodics][12] to get better at finger drumming. I can plug my [sampler][13] into my iPad and use it to play increasingly complex beats. It gets pretty challenging but it's been a great way to learn traditional drum stuff (kick + snare + hat patterns) as well as bass lines and sample flips. diff --git a/content/journal/dispatch-28-june-2025/index.md b/content/journal/dispatch-28-june-2025/index.md index 3a001c7..61ee51d 100644 --- a/content/journal/dispatch-28-june-2025/index.md +++ b/content/journal/dispatch-28-june-2025/index.md @@ -43,8 +43,8 @@ Bamboo killing season is over, now we're onto goddamn cockroach season. I've liv -{{}} -{{}} +{{}}Little captain laughing with her inflatable shark while cruising across the lake.{{}} +{{}}Mom and baby beam with matching grins while cruising on a sunny lake.{{}} Here's some new music: diff --git a/content/journal/dispatch-29-july-2025/index.md b/content/journal/dispatch-29-july-2025/index.md index 570ac49..f5d264a 100644 --- a/content/journal/dispatch-29-july-2025/index.md +++ b/content/journal/dispatch-29-july-2025/index.md @@ -35,13 +35,13 @@ Big month: birthdays, travel, lots of music. My boy turned one -- time friggin' -{{}} -{{}} +{{}}Baby’s first birthday cake smash, with crumbs everywhere and the biggest grin.{{}} +{{}}Happy picnic smiles: a mom, dad, and two young siblings cuddle together on a park bench under the trees.{{}} We spent a week at [Holden Beach][1] with Claire's family. Great to see everyone, and great to take a proper vacation. Both kids are changing so quickly (Nico starting to walk, Nev taking an interest in swimming and playing piano) and it was nice to take a break from work and spend bunch of dedicated time with them. -{{}} -{{}} +{{}}Little ballerina twirls through the beach breeze, shell in hand and sunlit curls shining.{{}} +{{}}Two grinning babies share a porch swing moment, one perched on a parent’s lap while the other stands nearby gripping the armrest.{{}} [Poolsuite FM][2] was the soundtrack to the week, and it inspired me to make a house track one evening. Musically, I spend a lot of time trying to make music that _doesn't_ sound so electronic, so it was nice to sort of lean into it; my little travel music setup is pretty well suited for it. Check it out: @@ -52,18 +52,18 @@ We spent a week at [Holden Beach][1] with Claire's family. Great to see everyone We then traveled up to Richmond to meet up with my family to celebrate my dad's 70th. Nice to get all the cousins together, if only for an afternoon. The [Richmond Children’s Museum][3] is great. -{{}} -{{}} +{{}}Two little friends grin in a stroller, proudly showing off their matching stuffed unicorns.{{}} +{{}}Two tiny watermelon fans share a giggly snack while mom looks on with a proud smile.{{}} -{{}} -{{}} +{{}}Grandma shares a cheerful table moment with two grandkids—one laughing in her arms, the other fully focused on a giant lemonade.{{}} +{{}}Grandpa’s big-laugh bench: four wiggly grandkids, two stuffed bunnies, and one baby mid-squeal under a wall of diner plaques.{{}} [3]: https://www.childrensmuseumofrichmond.org/ I took the kids to [Angel Island][4] one evening, where I was able to reproduce this Eisinger family classic: -{{}} -{{}} +{{}}Baby in a green onesie gleefully pops up amid a sea of brightly colored plastic balls in a play pit.{{}} +{{}}Small kid looks worried while swimming through an ocean of green ball-pit spheres.{{}} (That's Nico on the left, and a young me on the right.) @@ -74,8 +74,8 @@ Finally, my buddy Ken and I met up at the Eastern Shore in Virginia (at the same [5]: /journal/dispatch-7-september-2023/ [6]: https://turo.com/ -{{}} -{{}} +{{}}Army-green Jeep Wrangler parked curbside in a suburb, with a red Cybertruck-style pickup in the driveway behind it.{{}} +{{}}Two friends in a cozy home studio grin at the camera, one pointing playfully as synthesizers and a laptop sit behind them.{{}} Here's a track we made, called "Heat Lightning": diff --git a/content/journal/dispatch-3-may-2023/index.md b/content/journal/dispatch-3-may-2023/index.md index 09f77af..1ca50b9 100644 --- a/content/journal/dispatch-3-may-2023/index.md +++ b/content/journal/dispatch-3-may-2023/index.md @@ -27,10 +27,10 @@ Another month in the books. Man, year's flying by. We filled it up though: went -{{}} -{{}} -{{}} -{{}} +{{}}Kayaking down a sunlit river, paddles slicing through ripples beneath a clear blue sky.{{}} +{{}}Makeshift lemonade stand takes shape in a cluttered garage workshop.{{}} +{{}}Light spills into a closet corner where a wooden three-drawer dresser sits beneath hanging clothes, topped by an overflowing white laundry basket.{{}} +{{}}Jury-rigged closet shelf with raw lumber and metal braces perched above a row of neatly hung shirts.{{}} I ordered Claire an [e-bike][1] thinking it might arrive before her birthday mid-May, but it showed up just a few days later. It's been a blast taking Nevie to the museum and around town. We also ran the Tar Heel 10 Miler last weekend. Super fun, and I did better than I expected to based on my training ([result][2], [certificate][3]) -- there's something about an organized race that just gives that extra push I guess. diff --git a/content/journal/dispatch-30-august-2025/index.md b/content/journal/dispatch-30-august-2025/index.md index fd38694..c73812f 100644 --- a/content/journal/dispatch-30-august-2025/index.md +++ b/content/journal/dispatch-30-august-2025/index.md @@ -45,11 +45,11 @@ Nice to have a quieter month. We went down to Lake Norman for the Fourth, but ot -{{}} -{{}} +{{}}Big sister smiles while sharing a popsicle with her baby brother in matching life jackets on a boat.{{}} +{{}}Teen wakeboarding across a calm lake with pine trees and a towering power line framing the shoreline.{{}} -{{}} -{{}} +{{}}Dad beams with one child snuggled tight on his shoulder and the other curiously taking in the park around them.{{}} +{{}}Mom and daughter pose with the Durham Bulls mascot, thumbs up for a fun night at the ballpark.{{}} Down at the lake, I started writing some music to capture the weekend as a sort of sonic journal. I finished it up at home in Ableton and called it "Lake Affect" (thanks ChatGPT for the title + cover art): diff --git a/content/journal/dispatch-31-september-2025/index.md b/content/journal/dispatch-31-september-2025/index.md index fda13a2..03356c3 100644 --- a/content/journal/dispatch-31-september-2025/index.md +++ b/content/journal/dispatch-31-september-2025/index.md @@ -45,18 +45,18 @@ Big month! Nico took his first steps. Nev's onto a new school (well same school, We spent a week with my family up in Rehoboth Beach, Delaware. The highlight was Nev running wild with a whoopie cushion, blasting strangers with fake farts and running away cackling "MY TOOTS ARE THE BEST." -{{}} -{{}} +{{}}Stormy skies, salty smiles, and a family beach day that refuses to slow down.{{}} +{{}}Two moms and their giggly kids share a playful stretch on a sunny playground afternoon.{{}} -{{}} -{{}} +{{}}Big grins on the porch steps as three generations crowd together for a sunny family snapshot.{{}} +{{}}Mom and kids share a sunny park jam session, all smiles on a picnic blanket while a tambourine keeps the beat.{{}} Next we spent Labor Day weekend up in Brooklyn for a high school buddy's wedding. He owns and runs a music venue called [Silo][1] where they held the event. Super fun, but I'd say "I don't live like that anymore" if I ever actually lived like that. [1]: https://www.silobrooklyn.com/ -{{}} -{{}} +{{}}Sunny rooftop smiles with Manhattan skyline stretching behind us.{{}} +{{}}Neon wigs, matching shades, and contagious laughter—brunch just got a lot brighter.{{}} Finally, I just got back from a bachelor weekend on [Lake Gaston][2]. Now I'm just looking forward to ten days of treating my body with respect. diff --git a/content/journal/dispatch-32-october-2025/index.md b/content/journal/dispatch-32-october-2025/index.md index 2d8bf45..52d10f9 100644 --- a/content/journal/dispatch-32-october-2025/index.md +++ b/content/journal/dispatch-32-october-2025/index.md @@ -53,14 +53,14 @@ The big highlight of September was a five-day trip to Copenhagen. We loved it: t And then just so many nice public parks and cafes. And feeding pigeons, randomly -- that ended up being a major pastime. Highly recommended for anyone but especially if you like urban biking and/or you have young kids you want to see the world. I feel just so incredibly fortunate to be able do things like this. -{{}} -{{}} +{{}}Family selfie in sunny Nyhavn, kids hamming it up as the colorful Copenhagen harbor buzzes behind them.{{}} +{{}}Little sister in a cargo bike offers a snack to her baby brother as they share the ride by the waterfront.{{}} -{{}} -{{}} +{{}}Sunny playroom swing duet: two kids soaring side by side, sharing a laugh and a high-five mid-air.{{}} +{{}}Little girl squealing with joy while clutching her pink winged balloon under glowing string lights.{{}} -{{}} -{{}} +{{}}Little builder proud of her colorful duo of LEGO friends towering above the play table.{{}} +{{}}Dad and toddler share a sunny laugh on a city boat ride, life jacket and soda in hand.{{}} ### 3D Monk @@ -74,10 +74,10 @@ For my second attempt, I took a more hands-on approach: I had it define the rele [7]: /journal/dispatch-13-march-2024/#this-month [8]: https://chatgpt.com/features/codex -{{}} -{{}} -{{}} -{{}} +{{}}Colorful tangram rocket poised for liftoff.{{}} +{{}}Geometric golem standing proud in a patchwork of vibrant faceted prisms.{{}} +{{}}Color-block origami mushroom standing proud on a white canvas.{{}} +{{}}A rainbow stack of skewed blocks twisting into a surreal, sculptural figure.{{}} This was a super cool experience. There was stuff I could do (reasoning about three-dimensional shapes) that the LLM couldn't, and stuff it could do in seconds that would have taken me hours and hours. [Here's the source code][9] if you want to play with it, and [here are some (full-color) examples][10]. @@ -96,8 +96,8 @@ With Nev at the new school and the weather cooling off, we've started taking the Nev's on her first soccer team, the Hamsters. Results are mixed so far, but she had a great game her last time out and scored her first goal. -{{}} -{{}} +{{}}Tiny striker sprints across the field, muddy shirt and pink socks flying, celebrating a goal like a World Cup champion.{{}} +{{}}Little striker showing off her bright pink socks and a big grin before kickoff.{{}} A few miscellaneous recommendations: diff --git a/content/journal/dispatch-33-november-2025/index.md b/content/journal/dispatch-33-november-2025/index.md index 4108102..1db8d0d 100644 --- a/content/journal/dispatch-33-november-2025/index.md +++ b/content/journal/dispatch-33-november-2025/index.md @@ -61,7 +61,7 @@ I'm running my electric piano through it (as well as my Prophet synth for the ou I was putting together a team presentation about [ChatGPT Codex][2] and decided to see if I could build a simple web bookmarking API in under an hour. With that done, I asked it to take a stab at a web UI, and was frankly blown away by the result. I continued iterating on it for about a week, and I've now deployed it to the same server running this site and have been using it as my bookmark manager for the better part of a month. [You can view my public links here][3]. Here's what it looks like when you're logged in: -{{}} +{{}}Lightweight bookmarking app “Marky” open in a browser: add-bookmark form on the left, and a list of saved links on the right, including “Software is supply-constrained,” “If you don’t tinker, you don’t have taste,” and “AI’s Dial-Up Era.”{{}} It's not _perfect_ -- it trips on websites with really restrictive anti-crawler measures, and some of Vue.js-based dynamic behavior is a little janky. I also can't really comment on the code quality as I've barely looked at it. That said, it is exactly what I want in a bookmark manager, with features like plaintext archiving, full-text search, and referrer tracking. It's exciting to imagine a future where, if you have the right skills, the bar for creating software is much lower and all kinds of new stuff comes to life. @@ -92,8 +92,8 @@ We did a weekend at [Fairy Stone State Park][10] with a bunch of Durham friends. [10]: https://www.dcr.virginia.gov/state-parks/fairy-stone -{{}} -{{}} +{{}}Big sister leads the bounce-house adventure while little brother follows, both laughing in their cozy fall jackets.{{}} +{{}}Tiny adventurer pauses for a giggle, shoes in hand, before diving back into the backyard bounce house under bright autumn trees.{{}} I went to Nashville for a team offsite last week. Highlights included [Third Man Records][11], Jack White's record shop/recording studio (I picked up a [live recording][12] from one of my favorite bands) and this [ridiculously good cover band][13]. diff --git a/content/journal/dispatch-4-june-2023/index.md b/content/journal/dispatch-4-june-2023/index.md index 8eee4b1..039ddca 100644 --- a/content/journal/dispatch-4-june-2023/index.md +++ b/content/journal/dispatch-4-june-2023/index.md @@ -30,10 +30,10 @@ We spent Memorial Day weekend at Lake Norman, but it was like 55° and rainy the We finished off the closet project -- building the second unit was a lot quicker than the first, since I really just had to scale up the existing plans. Then it was a matter of adding the connecting rod and shelf. I think it turned out great, though I'd like to improve at building drawers. Here are some before and after shots (courtesy of Claire): -{{}} -{{}} -{{}} -{{}} +{{}}Closet full of colorful clothes on wooden hangers above a stack of mesh drawers stuffed with folded laundry.{{}} +{{}}A cozy closet nook crammed with sweaters and laundry baskets, waiting for a tidy-up.{{}} +{{}}A narrow closet with a homemade wooden dresser, a row of coordinated clothes, and stacks of books perched on the shelf up top.{{}} +{{}}Cozy closet corner with neatly hung clothes, wooden drawers, and a laundry basket waiting on top.{{}} Other life updates: we had a big work retreat at the beginning of the month at the [Tides Inn][1], which was incredible. I celebrated 15 years (15!) with the company, and received a [scooter][2] as a gift. This thing is rad -- I've been really happy with the e-bike, but it's nice to have a smaller option for quick trips to the office or corner store. diff --git a/content/journal/dispatch-5-july-2023/index.md b/content/journal/dispatch-5-july-2023/index.md index 3c92b85..c1299bb 100644 --- a/content/journal/dispatch-5-july-2023/index.md +++ b/content/journal/dispatch-5-july-2023/index.md @@ -37,10 +37,10 @@ June was dominated by work and travel. Weekdays were filled up with a client pro -{{}} -{{}} -{{}} -{{}} +{{}}Little runner Mae beams with pride as she dashes down the track, race bib 1490 fluttering in the summer sun.{{}} +{{}}Feet up in the canoe, drifting down a quiet green river while a friend paddles ahead under a wide straw hat.{{}} +{{}}Young riders cruise through a sunny downtown, a girl with shorts leading while a toddler enjoys the ride behind her and another cyclist follows close behind.{{}} +{{}}Little golfer in a blue dress squats on the ship’s mini golf course, ready to tap the yellow ball while the family looks on.{{}} It was a busy month, sometimes overly so, but having so many unique experiences had this odd effect of slowing and expanding time, which is the opposite of how things tend to go as you get older ([good short piece along the same lines][2]). Most everything else fell by the wayside, but that's OK -- these were all awesome experiences, and I'm excited for a (relatively) quiet July. diff --git a/content/journal/dispatch-6-august-2023/index.md b/content/journal/dispatch-6-august-2023/index.md index f8e6a2b..27eb55c 100644 --- a/content/journal/dispatch-6-august-2023/index.md +++ b/content/journal/dispatch-6-august-2023/index.md @@ -27,8 +27,8 @@ Nice to have a quieter month, though we still managed to spend a weekend at Lake -{{}} -{{}} +{{}}Tiny camper snoozing in a bug net hammock after a day on the trail.{{}} +{{}}Smiling grandparents squeeze their giggling toddler in a sunny, wooded driveway.{{}} Tech-wise, I switched from Vim to [Helix][2], which I've detailed [over here][3]. I was also able to work through a whole bunch of the [Go track on Exercism][4] -- it's a good way to get a handle on the basics of a language, but doesn't cover using third-party packages, organizing large codebases, etc. To get that kind of experience, I'm going to try my hand at an app for fantasy sports drafts -- take a set of player projections and a scoring formula, and output a UI I can use during a live online draft. I've been doing this with spreadsheets for years, and it's pretty cumbersome. I'm going to use TOML for configuration, SQLite for data persistence, and [Bubble Tea][5] for the UI itself. We'll see how it goes! diff --git a/content/journal/dispatch-7-september-2023/index.md b/content/journal/dispatch-7-september-2023/index.md index 9088250..6539795 100644 --- a/content/journal/dispatch-7-september-2023/index.md +++ b/content/journal/dispatch-7-september-2023/index.md @@ -39,16 +39,16 @@ We were down at Lake Norman for the long weekend, and as I was pulling up the ka -{{}} -{{}} +{{}}Sunset smiles and canned Coronas at a breezy beach bar.{{}} +{{}}Paddleboard victory pose beneath a bright blue sky on calm lake waters.{{}} The following weekend, we headed up to Rehoboth Beach in Delaware to spend the week with my family. It's different than the North Carolina beaches we're used to as there's a lot to do around the town (boardwalk, parks & playgrounds, [indoor amusement park][1]). We brought our bikes and took a ride on the [Gordons Pond Trail][2], which was rad. [1]: https://funlandrehoboth.com/ [2]: https://delawaregreenways.org/trail/gordons-pond-trail/ -{{}} -{{}} +{{}}Mother and toddler holding hands while watching gentle waves roll onto a quiet beach.{{}} +{{}}Sunlit bike trail ride as a family glides through the pines.{{}} We also recorded this little jam featuring my 3.5-year-old niece on the melodica: @@ -76,8 +76,8 @@ We got hit with a [nasty storm][9] in the middle of August. It was wild -- hot, I did a couple projects in Go this month: -{{}} -{{}} +{{}}Fantasy football command-line dashboard showing Christian McCaffrey topping the RB rankings with 272.8 points in a terminal-style leaderboard.{{}} +{{}}A barebones browser form showing upload fields for “Team Export” and “Project Export,” a checkbox to include PTO in utilization, and a submit button.{{}} The first, the fantasy draft TUI app [I mentioned last month][10], came together well and quickly. It was straightforward to set up TOML for configuration, SQLite for data persistence, and [Bubble Tea][11] for the UI. Bubble Tea's super cool -- you pull in your widgets (two in my case, for a table view and a search box), and you can respond to keypresses or let the widgets handle them. As a result, my UI has Vim keybindings without me doing anything, which was super handy during the draft. diff --git a/content/journal/dispatch-8-october-2023/index.md b/content/journal/dispatch-8-october-2023/index.md index b88a5ce..ceebff8 100644 --- a/content/journal/dispatch-8-october-2023/index.md +++ b/content/journal/dispatch-8-october-2023/index.md @@ -38,13 +38,13 @@ It wasn't all perfectly smooth -- Nev had a tough time with jet lag, and driving [3]: https://www.infoelba.com/discovering-elba/communes-towns/rio-marina/cavo/ [4]: https://ilpomodorino.it/ -{{}} -{{}} -{{}} +{{}}Shared laughter between a mom and her giggly toddler on a sunlit, rocky beach.{{}} +{{}}Paper-boat captain enjoying a seaside snack with a toy lighthouse standing watch.{{}} +{{}}Summer bench buddies, quietly conquering their gelato.{{}} -{{}} -{{}} -{{}} +{{}}Golden-hour beach bar hang: dad in shades and toddler share snacks while sunset paints the sea.{{}} +{{}}Sunlit smiles in a Siena piazza.{{}} +{{}}Toddler grinning atop a carousel horse, soaking in the sunshine and excitement of a plaza ride.{{}} I downloaded the [Airalo][5] app before I left, which offers cheap international data plans using e-SIM cards. The app works great, no complaints there, but mixed feelings about having a working phone while on vacation -- it was cool to be able to send photos + make video calls, but my company's going through some tough times and I couldn't pull myself away from Slack and email. diff --git a/content/journal/dispatch-9-november-2023/index.md b/content/journal/dispatch-9-november-2023/index.md index 1d0cd5b..7161de3 100644 --- a/content/journal/dispatch-9-november-2023/index.md +++ b/content/journal/dispatch-9-november-2023/index.md @@ -40,14 +40,14 @@ It was nice to have a quieter month after so much travel this summer. We got a f -{{}} -{{}} +{{}}Little girl races from the slide, bunny in hand, while Dad stoops with a proud smile at the playground.{{}} +{{}}Little pumpkin on the porch, proudly showing off her matching blanket and gourd buddy.{{}} ## Tech At my job, I did a cool project working with data from a [Freematics][5] car telematics device. I built a data exploration API using [Gin][6] and learned [`jq`][7] to truncate enormous JSON objects[^1]. I also got to, just like, drive my car around to test things out. -{{}} +{{}}Dark terminal scoreboard showing Nikola Jokić highlighted atop a fantasy hoops leaderboard with 3,062.5 points, ahead of Embiid, Antetokounmpo, and the rest of the NBA elite.{{}} I also made some updates to my [`golong`][8] tool to prep for a fantasy NBA draft. Now it can munge multiple CSVs of data and supports multiple position eligibility[^2] and average stat projections[^3]. It worked great, and my team's looking solid so far. I'll open source it one of these days. diff --git a/content/journal/encrypt-and-dither-photos-in-hugo/index.md b/content/journal/encrypt-and-dither-photos-in-hugo/index.md index 37f89a1..8bc4d72 100644 --- a/content/journal/encrypt-and-dither-photos-in-hugo/index.md +++ b/content/journal/encrypt-and-dither-photos-in-hugo/index.md @@ -53,7 +53,7 @@ I needed to find some way to scale the images to the appropriate size and _then_ Here's a picture of me, before and after dithering: {{}} -{{}} +{{}}Runner No. 534 pushes through the final stretch, focused and strong as he nears the finish line in an overcast parking lot race.{{}} Read on for more details, and if you want to follow along, you'll need to have Ruby installed (I recommend [asdf][10] if you're on a Unix-y OS) as well as ImageMagick and OpenSSL. diff --git a/content/notes/golang/index.md b/content/notes/golang/index.md index 21dac7e..749a5fb 100644 --- a/content/notes/golang/index.md +++ b/content/notes/golang/index.md @@ -69,7 +69,7 @@ I find [Go][1] really compelling, even though it's not super applicable to my jo * Note-taking / journaling app * [StevieBlocks][10] -{{}} +{{}}Handwritten notes outlining a Go project plan: build a web service that accepts POST JSON, validates it against a schema, replies with errors if invalid or 200 if valid, and then stores the data in SQLite.{{}} [10]: https://gist.github.com/dce/f975cb21b50a2cf998bf7230cbf89d85 diff --git a/content/notes/good-tests/index.md b/content/notes/good-tests/index.md index 3cc71a2..4829731 100644 --- a/content/notes/good-tests/index.md +++ b/content/notes/good-tests/index.md @@ -75,4 +75,4 @@ _(Notes for a [Viget article][1])_ [6]: https://json-schema.org/ [7]: https://github.com/NoRedInk/rspec-retry -{{}} +{{}}Handwritten notes titled “Good Tests”: diagrams of app layers (UI, request/response, business logic, entities, datastore) and bullet points urging isolation-friendly architecture, tests that cover one layer or a full stack, prioritize business logic coverage, test APIs plus UI, aim for 100% coverage, avoid mocks unless necessary (for third-party APIs use stubs), and test at the outermost layer you are building.{{}} diff --git a/content/notes/how-to-spend-time/index.md b/content/notes/how-to-spend-time/index.md index 4a0f346..5d788a9 100644 --- a/content/notes/how-to-spend-time/index.md +++ b/content/notes/how-to-spend-time/index.md @@ -49,7 +49,7 @@ Broadly, three categories of productive activities: [5]: https://bookshop.org/p/books/building-a-second-brain-a-proven-method-to-organize-your-digital-life-and-unlock-your-creative-potential-tiago-forte/18265370 [6]: second_brain_48.pdf -{{}} +{{}}Yellow-highlighted graph where time invested in ‘Improve yourself’ curves skyward, ‘Improve the world’ climbs steadily, and ‘Chores’ stays flat.{{}} _(This would imply that "improving yourself" is the most valuable use of time, but I actually think it's something like the opposite.)_ diff --git a/content/notes/weekly-monthly-playbooks/index.md b/content/notes/weekly-monthly-playbooks/index.md index da95ab0..fa0795f 100644 --- a/content/notes/weekly-monthly-playbooks/index.md +++ b/content/notes/weekly-monthly-playbooks/index.md @@ -21,12 +21,12 @@ references: file: www-annahavron-com-8hj07z.txt --- -{{}} +{{}}Handwritten “Monthly Review Playbook” page dated 5/24 lists choosing a project or skill (with reminders that it’s failing and needs a plan), figuring out a process that sticks, reviewing outstanding tasks and projects, referencing Second Brain 215, and writing a dispatch.{{}} _Building a Second Brain_ (p. 215) ## Notebook Templates -{{}} -{{}} -{{}} +{{}}Minimalist bullet-journal spread dated “5/31 Wed – June 2023,” divided into columns for TODOs, Adventures, Projects, Skills, and Notable Events, waiting to be filled.{{}} +{{}}Minimal monthly planner page with dotted grid, slim handwritten weekday column, and spiral binding along the edge.{{}} +{{}}Minimalist dot-grid monthly calendar spread in a bullet journal, waiting for plans to be penciled in.{{}}