add alt-text
This commit is contained in:
@@ -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
|
sure. We are, after all, complicated creatures. Fortunately, Viget
|
||||||
Extend is here to help. Here are some gifts your nerd is sure to love.
|
Extend is here to help. Here are some gifts your nerd is sure to love.
|
||||||
|
|
||||||
{{<dither dce_iamakey.jpg "" "inline" />}} [**Lacie iamaKey Flash Drive**](https://www.amazon.com/LaCie-iamaKey-Flash-Drive-130870/dp/B001V7XPSA) **($30)**
|
{{<dither dce_iamakey.jpg "" "inline">}}A silver metal key with a rectangular bow and round hole sits upright against a white backdrop.{{</dither>}} [**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
|
If your nerd goes to tech conferences with any regularity, your
|
||||||
residence is already littered with these things. USB flash drives are a
|
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
|
it's designed to be carried on a keychain, it'll always around when your
|
||||||
nerd needs it.
|
nerd needs it.
|
||||||
|
|
||||||
{{<dither dce_aeropress.jpg "" "inline" />}} [**AeroPress**](https://www.amazon.com/AeroPress-Coffee-and-Espresso-Maker/dp/B000GXZ2GS) **($25)**
|
{{<dither dce_aeropress.jpg "" "inline">}}Hand pressing an Aeropress over a clear mug as the coffee brews.{{</dither>}} [**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
|
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
|
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
|
can't go wrong with a [french
|
||||||
press](https://www.amazon.com/Bodum-Chambord-4-Cup-Coffee-Press/dp/B00012D0R2/).
|
press](https://www.amazon.com/Bodum-Chambord-4-Cup-Coffee-Press/dp/B00012D0R2/).
|
||||||
|
|
||||||
{{<dither dce_charge_tee.jpg "" "inline" />}} [**SimpleBits Charge Tee**](http://shop.simplebits.com/product/charge-tee-tri-blend) **($22)**
|
{{<dither dce_charge_tee.jpg "" "inline">}}Cozy heather tee showing a bold battery icon with a lightning bolt, perfect for keeping your charge on display.{{</dither>}} [**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
|
Simple, vaguely Mac-ish graphic printed on an American Apparel Tri-Blend
|
||||||
tee, no lie the greatest and best t-shirt ever created.
|
tee, no lie the greatest and best t-shirt ever created.
|
||||||
|
|
||||||
{{<dither dce_hard_graft.jpg "" "inline" />}} [**Hard Graft iPhone Case**](http://shop.hardgraft.com/product/base-phone-case) **($60)**
|
{{<dither dce_hard_graft.jpg "" "inline">}}Vario customs leather roll atop an aged brick, lit like a moody product still-life.{{</dither>}} [**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
|
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.
|
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
|
Doubles as a slim wallet if your nerd is of the minimalist mindset, and
|
||||||
here's a hint: we all are.
|
here's a hint: we all are.
|
||||||
|
|
||||||
{{<dither dce_ignore.jpg "" "inline" />}} [**Ignore Everybody**](https://www.amazon.com/Ignore-Everybody-Other-Keys-Creativity/dp/159184259X) **by Hugh MacLeod ($16)**
|
{{<dither dce_ignore.jpg "" "inline">}}Hand holding a cartoon card that reads “Ignore Everybody and 39 Other Keys to Creativity,” evoking a rebellious creative manifesto.{{</dither>}} [**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
|
Give your nerd the motivation to finish that web application he's been
|
||||||
talking about for the last two years so you can retire.
|
talking about for the last two years so you can retire.
|
||||||
|
|
||||||
{{<dither dce_moleskine.jpg "" "inline" />}} [**Moleskine Notebook**](https://www.amazon.com/Moleskine-Squared-Notebook-Cover-Pocket/dp/8883707125) **($10)**
|
{{<dither dce_moleskine.jpg "" "inline">}}A well-loved black Moleskine notebook resting on a wooden table, elastic strap tucked neatly around its cover.{{</dither>}} [**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;
|
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
|
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
|
recommend the [Uni-ball
|
||||||
Signo](http://www.jetpens.com/product_info.php/cPath/239_90/products_id/466).
|
Signo](http://www.jetpens.com/product_info.php/cPath/239_90/products_id/466).
|
||||||
|
|
||||||
{{<dither dce_canon.jpg "" "inline" />}} [**Canon PowerShot S90**](https://www.amazon.com/dp/B002LITT42/) **($400)**
|
{{<dither dce_canon.jpg "" "inline">}}Canon point-and-shoot camera with pop-up flash ready for action.{{</dither>}} [**Canon PowerShot S90**](https://www.amazon.com/dp/B002LITT42/) **($400)**
|
||||||
|
|
||||||
Packs the low-light photographic abilities of your nerd's DSLR into a
|
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
|
compact form factor that fits in his shirt pocket, right next to his
|
||||||
slide rule.
|
slide rule.
|
||||||
|
|
||||||
{{<dither dce_newegg.png "" "inline" />}} [**Newegg Gift Card**](https://secure.newegg.com/GiftCertificate/GiftCardStep1.aspx)
|
{{<dither dce_newegg.png "" "inline">}}Stylized Newegg gift card design featuring layered egg shapes with orange swooshes.{{</dither>}} [**Newegg Gift Card**](https://secure.newegg.com/GiftCertificate/GiftCardStep1.aspx)
|
||||||
|
|
||||||
If all else fails, a gift card from [Newegg](http://newegg.com) shows
|
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.
|
you know your nerd a little better than the usual from Amazon.
|
||||||
|
|
||||||
{{<dither dce_moto_guzzi.jpg "" "inline" />}} [**Moto Guzzi V7 Classic**](http://www.autoblog.com/2009/09/30/review-moto-guzzi-v7-classic-is-an-italian-beauty-you-can-live/) **($8500)**
|
{{<dither dce_moto_guzzi.jpg "" "inline">}}Chrome-framed Moto Guzzi gleams against a hazy mountain sunset.{{</dither>}} [**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.
|
Actually, this one's probably just me.
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ page, not to mention what a `<div>` can do. Self-closing tags are okay.
|
|||||||
With these requirements in mind, we subclassed HTML::WhiteListSanitizer
|
With these requirements in mind, we subclassed HTML::WhiteListSanitizer
|
||||||
and fixed it up. Introducing, then:
|
and fixed it up. Introducing, then:
|
||||||
|
|
||||||
{{<dither jason_statham.jpg "" "inline" />}}
|
{{<dither jason_statham.jpg "" "inline">}}Jason Statham stands in a sharp suit, glaring intently under the midday sun.{{</dither>}}
|
||||||
|
|
||||||
[**HTML::StathamSanitizer**](https://gist.github.com/241114).
|
[**HTML::StathamSanitizer**](https://gist.github.com/241114).
|
||||||
User-generated markup, you're on notice: this sanitizer will take its
|
User-generated markup, you're on notice: this sanitizer will take its
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ favorites:
|
|||||||
- [Invoking Remote Commands with
|
- [Invoking Remote Commands with
|
||||||
SSH](#invoking-remote-commands-with-ssh)
|
SSH](#invoking-remote-commands-with-ssh)
|
||||||
|
|
||||||
Ready to get your {{<dither neckbeard.png "" "inline" />}} on? Good. Let's go.
|
Ready to get your {{<dither neckbeard.png "" "inline">}}Grinning caricature with messy hair, glasses, and a scruffy beard.{{</dither>}} on? Good. Let's go.
|
||||||
|
|
||||||
## Keyboard Shortcuts
|
## Keyboard Shortcuts
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ something similar.
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_0120.jpeg />}}
|
{{<dither IMG_0120.jpeg>}}A wood-and-glass stand displays a grayscale portrait, sitting beside amber glasses and books on a tidy desk.{{</dither>}}
|
||||||
|
|
||||||
In short, it's a Raspberry Pi Zero connected to a roughly 5-by-7-inch
|
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
|
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
|
(one for display on a webpage, the other for display on the screen), and
|
||||||
uploads the results into an S3 bucket.
|
uploads the results into an S3 bucket.
|
||||||
|
|
||||||
{{<dither Screen_Shot_2021-05-09_at_1_26_39_PM.png />}}
|
{{<dither Screen_Shot_2021-05-09_at_1_26_39_PM.png>}}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”.{{</dither>}}
|
||||||
|
|
||||||
## The Software
|
## 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
|
IP and the photo should update hourly (though not ON the hour as that's
|
||||||
not how `cron.hourly` works for some reason).
|
not how `cron.hourly` works for some reason).
|
||||||
|
|
||||||
{{<dither IMG_0122.jpeg />}}
|
{{<dither IMG_0122.jpeg>}}Wooden DIY stand cradling a small circuit board with a ribbon cable looped through.{{</dither>}}
|
||||||
|
|
||||||
## Building the Frame
|
## Building the Frame
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
*[Z](https://en.wikipedia.org/wiki/Z_(video_game))*, a real-time
|
||||||
strategy game from the mid-'90s.
|
strategy game from the mid-'90s.
|
||||||
|
|
||||||
{{<dither 256px-Z_The_Bitmap_Brothers.PNG "" "inline" />}}
|
{{<dither 256px-Z_The_Bitmap_Brothers.PNG "" "inline">}}Battle-hardened robot cowboy Cmdr. Zod sprays bullets amid explosions on the cover of “Z” by The Bitmap Brothers.{{</dither>}}
|
||||||
|
|
||||||
In other popular RTSes of the time, like *Warcraft* and *Command and
|
In other popular RTSes of the time, like *Warcraft* and *Command and
|
||||||
Conquer*, you collected `/(gold|Tiberium|Vespene gas)/` and used it to
|
Conquer*, you collected `/(gold|Tiberium|Vespene gas)/` and used it to
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ Engine](http://edgeapi.rubyonrails.org/classes/Rails/Engine.html) to
|
|||||||
display some basic stats. Announcing, then,
|
display some basic stats. Announcing, then,
|
||||||
[StatBoard](https://github.com/vigetlabs/stat_board):
|
[StatBoard](https://github.com/vigetlabs/stat_board):
|
||||||
|
|
||||||
{{<dither screenshot.png />}}
|
{{<dither screenshot.png>}}Minimalist “StatBoard” dashboard in a browser, showing overall, monthly, and weekly counts for offices, players, users, games, and matches.{{</dither>}}
|
||||||
|
|
||||||
Installation is a cinch: add the gem to your Gemfile, mount the app in
|
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
|
`routes.rb`, and set the models to query (full instructions available on
|
||||||
|
|||||||
@@ -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`,
|
send Chris the generated link, as well as the output of `encrypt.sh`,
|
||||||
over IM:
|
over IM:
|
||||||
|
|
||||||
{{<dither lSEsz5z.jpg "" "inline" />}}
|
{{<dither lSEsz5z.jpg "" "inline">}}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.{{</dither>}}
|
||||||
|
|
||||||
Once he acknowledges that he's received the file, I immediately delete
|
Once he acknowledges that he's received the file, I immediately delete
|
||||||
it.
|
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.
|
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:
|
Instead, I pull out my phone and send it to him as a text message:
|
||||||
|
|
||||||
{{<dither pQHZlkO.jpg "" "inline" />}}
|
{{<dither pQHZlkO.jpg "" "inline">}}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?”{{</dither>}}
|
||||||
|
|
||||||
Now Chris has the file, instructions to decrypt it, and the passphrase,
|
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
|
so he's good to go. An attacker, meanwhile, would need access to both
|
||||||
|
|||||||
@@ -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
|
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).
|
see all of the books they've mentioned (and how they felt about them).
|
||||||
|
|
||||||
{{<dither Group-9_2024-04-08-184917_kfjg.png "800x" />}}
|
{{<dither Group-9_2024-04-08-184917_kfjg.png "800x">}}StackStash mobile screens showcase browsing features: a curated “next great read” feed, searchable library, detailed book spotlight, and Viget staff recommendations.{{</dither>}}
|
||||||
|
|
||||||
## Behind the Scenes
|
## Behind the Scenes
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ chance to try some new things:
|
|||||||
- [Docker](https://www.docker.com/) for local development and
|
- [Docker](https://www.docker.com/) for local development and
|
||||||
deployment
|
deployment
|
||||||
|
|
||||||
{{<dither CleanShot-2024-04-08-at-14.01.35.png "800x" />}}
|
{{<dither CleanShot-2024-04-08-at-14.01.35.png "800x">}}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).{{</dither>}}
|
||||||
|
|
||||||
## What We Learned
|
## What We Learned
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
Here's a flowchart that might make things clearer (did for me, in any
|
||||||
event):
|
event):
|
||||||
|
|
||||||
{{<dither URfAcl9.png />}}
|
{{<dither URfAcl9.png>}}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.{{</dither>}}
|
||||||
|
|
||||||
This feature is too complex to handle with React component state, but
|
This feature is too complex to handle with React component state, but
|
||||||
too localized to store in application state (the main Microcosm
|
too localized to store in application state (the main Microcosm
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ draft: false
|
|||||||
canonical_url: https://www.viget.com/articles/viget-devs-storm-chicago/
|
canonical_url: https://www.viget.com/articles/viget-devs-storm-chicago/
|
||||||
---
|
---
|
||||||
|
|
||||||
{{<dither 53100874_f605bd5f42_m.jpg "" "inline" />}}
|
{{<dither 53100874_f605bd5f42_m.jpg "" "inline">}}Chicago Theatre’s neon marquee glowing over State Street at night.{{</dither>}}
|
||||||
|
|
||||||
This past weekend, Ben and I traveled to Chicago to speak at [Windy
|
This past weekend, Ben and I traveled to Chicago to speak at [Windy
|
||||||
City Rails](http://windycityrails.org/). It was a great conference;
|
City Rails](http://windycityrails.org/). It was a great conference;
|
||||||
|
|||||||
@@ -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
|
to know more about how each of us fared going heads down on one project
|
||||||
for 48 hours (and counting), read on.
|
for 48 hours (and counting), read on.
|
||||||
|
|
||||||
{{<dither 662shots_so-1.png />}}
|
{{<dither 662shots_so-1.png>}}Three iPhones show different moments of the colorful word-game “verbose,” from starting a game to guessing and celebrating with playful pastel panels.{{</dither>}}
|
||||||
|
|
||||||
## [**Haley**](https://www.viget.com/about/team/hjohnson/) **\| Pointless Role: Design \| Day Job: PM**
|
## [**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
|
Our overall architecture (running with `docker compose`) looks like
|
||||||
this:
|
this:
|
||||||
|
|
||||||
{{<dither verbose-arch.png />}}
|
{{<dither verbose-arch.png>}}Flowchart showing a Caddy frontend feeding into Remix, which in turn drives a Rails backend that splits into Postgres and Redis services.{{</dither>}}
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -29,8 +29,8 @@ We spent the week of Thanksgiving with my sister near Albany, New York. Tough dr
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_9217.jpg "782x" />}}
|
{{<dither IMG_9217.jpg "782x">}}Tiny explorer discovering the first snowfall, arms wide open to catch the magic.{{</dither>}}
|
||||||
{{<dither IMG_5088.jpg "782x" />}}
|
{{<dither IMG_5088.jpg "782x">}}Three bundled-up kiddos in matching polar bear jammies ride the train, grinning and wide-eyed for adventure.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ That's a wrap on 2023. Our little Nevie turned two in December. It's hard to ima
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_5187.jpeg "782x600" />}}
|
{{<dither IMG_5187.jpeg "782x600">}}Little birthday star gears up for cake with a huge bite of anticipation.{{</dither>}}
|
||||||
{{<dither IMG_5278.jpeg "782x600" />}}
|
{{<dither IMG_5278.jpeg "782x600">}}Little conductor, big adventure: riding the crimson dining car with a bright red toy in hand.{{</dither>}}
|
||||||
|
|
||||||
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].
|
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
|
[4]: https://www.chrbutler.com/organization-office
|
||||||
[5]: https://analogoffice.net/2023/05/31/the-lifechanging-magic.html
|
[5]: https://analogoffice.net/2023/05/31/the-lifechanging-magic.html
|
||||||
|
|
||||||
{{<dither IMG_5344.jpeg "782x600" />}}
|
{{<dither IMG_5344.jpeg "782x600">}}Neatly labeled storage bins sit on fresh wooden shelves in a basement utility space, ready for more organization.{{</dither>}}
|
||||||
{{<dither IMG_5346.jpeg "782x600" />}}
|
{{<dither IMG_5346.jpeg "782x600">}}- Two well-loved guitars hang on a homemade wall rack, showcasing their vintage vibe amid the bare workshop framing.{{</dither>}}
|
||||||
|
|
||||||
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":
|
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":
|
||||||
|
|
||||||
|
|||||||
@@ -81,8 +81,8 @@ We spent MLK weekend with my folks in the Shenandoah Valley, and visited [Luray
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_2374.jpeg "782x1200" />}}
|
{{<dither IMG_2374.jpeg "782x1200">}}Cozy campfire smiles: bundled up in a bright blanket as mother and child enjoy a wintery evening in the woods.{{</dither>}}
|
||||||
{{<dither IMG_9637.jpeg "782x1200" />}}
|
{{<dither IMG_9637.jpeg "782x1200">}}Bundled up in teal and blush, this little snow explorer grins at winter’s wonderland.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
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.
|
||||||
|
|
||||||
{{<dither IMG_5439.PNG "374x850" />}}
|
{{<dither IMG_5439.PNG "374x850">}}Calm little trendsetter in a blue romper and bow, giving that curious side-eye before nap time.{{</dither>}}
|
||||||
{{<dither IMG_5431.PNG "374x850" />}}
|
{{<dither IMG_5431.PNG "374x850">}}Baby’s whole face says “I regret nothing” as the entire yogurt brick goes straight to the mouth.{{</dither>}}
|
||||||
{{<dither IMG_5398.PNG "374x850" />}}
|
{{<dither IMG_5398.PNG "374x850">}}Saturday morning mischief: wide-eyed baby covered head to toe in chocolate, proudly perched in a high chair at 8:07 a.m.{{</dither>}}
|
||||||
{{<dither IMG_5348.PNG "374x850" />}}
|
{{<dither IMG_5348.PNG "374x850">}}Little foodie-in-training: orange beret, green turtleneck, carrot doll, and serious chef vibes on a January morning.{{</dither>}}
|
||||||
|
|
||||||
[3]: https://www.theatlantic.com/technology/archive/2024/01/iphone-grief-dynamic-wallpaper/677034/
|
[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/
|
[4]: https://sixcolors.com/link/2024/01/grief-and-a-photo-shuffle/
|
||||||
|
|||||||
@@ -87,10 +87,10 @@ Highlights this month: a weekend in Wilmington, a successful 10K, and a solo dad
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither race_121539.jpg "374x480" />}}
|
{{<dither race_121539.jpg "374x480">}}Runner #534 strides past the parking lot, focused on the finish line during a road race.{{</dither>}}
|
||||||
{{<dither IMG_5536.jpeg "374x480" />}}
|
{{<dither IMG_5536.jpeg "374x480">}}Bubble crown on a giggly bath-time monarch.{{</dither>}}
|
||||||
{{<dither IMG_5547.jpeg "374x480" />}}
|
{{<dither IMG_5547.jpeg "374x480">}}Little beach explorer with curls kneeling in the sand, studying every grain.{{</dither>}}
|
||||||
{{<dither IMG_5576.jpeg "374x480" />}}
|
{{<dither IMG_5576.jpeg "374x480">}}Little rider proudly pauses under the pavilion, ready to take on the next lap on their bright green balance bike.{{</dither>}}
|
||||||
|
|
||||||
Here's a new track called "Arcus" -- smash play and read on.
|
Here's a new track called "Arcus" -- smash play and read on.
|
||||||
|
|
||||||
|
|||||||
@@ -51,8 +51,8 @@ Busy March! My whole family came into town for a long weekend, then we headed do
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither C800D921-B641-41B3-88F2-992A9121F331.jpeg "782x580" />}}
|
{{<dither C800D921-B641-41B3-88F2-992A9121F331.jpeg "782x580">}}Dad reads a bedtime story while both kids cuddle close and help turn the pages.{{</dither>}}
|
||||||
{{<dither IMG_0194.jpeg "782x580" />}}
|
{{<dither IMG_0194.jpeg "782x580">}}Father and toddler laughing together on the pier as the sun sets behind them.{{</dither>}}
|
||||||
|
|
||||||
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).
|
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 (😬).
|
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 (😬).
|
||||||
|
|
||||||
{{<dither IMG_5742.jpeg "782x580" />}}
|
{{<dither IMG_5742.jpeg "782x580">}}A cozy basement workbench doubles as a synth playground, with keyboards and controllers neatly lined up under soft task lighting.{{</dither>}}
|
||||||
{{<dither IMG_5741.jpeg "782x580" />}}
|
{{<dither IMG_5741.jpeg "782x580">}}Cozy basement maker space with a wood workbench, tools and a hanging bike, ready for a DIY session.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -48,11 +48,11 @@ Big news, friends: we're expecting a second kid in June. To celebrate, Claire an
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_0733.jpeg "782x782" />}}
|
{{<dither IMG_0733.jpeg "782x782">}}Sunlit boardwalk ride between dunes and sea, smiling rider taking in the view.{{</dither>}}
|
||||||
{{<dither IMG_0725.jpeg "782x782" />}}
|
{{<dither IMG_0725.jpeg "782x782">}}Relaxing seaside lunch with a frosty beer under sunlit Sagres umbrellas.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_5805.jpeg "782x782" />}}
|
{{<dither IMG_5805.jpeg "782x782">}}Sunlit stroll through Lisbon: mom-to-be cradles her belly on a steep cobblestone street above the river.{{</dither>}}
|
||||||
{{<dither IMG_5797.jpeg "782x782" />}}
|
{{<dither IMG_5797.jpeg "782x782">}}Red-clad Benfica fans create a roaring wall of color as players battle under the bright lights at Estádio da Luz.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,11 @@ TOMORROW IS THE DAY we welcome baby brother to the world, and I wanted to get th
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_0804.jpeg "782x782" />}}
|
{{<dither IMG_0804.jpeg "782x782">}}Family fun run selfie with peace signs up top and stroller snacks up front.{{</dither>}}
|
||||||
{{<dither IMG_5088.jpeg "782x782" />}}
|
{{<dither IMG_5088.jpeg "782x782">}}Early morning runners fill a tree-lined city street during a busy race.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_1161.jpeg "782x782" />}}
|
{{<dither IMG_1161.jpeg "782x782">}}Three giggly toddlers relax in a red Radio Flyer wagon, sharing a beach ball and a bag of grapes at a sunny park gathering.{{</dither>}}
|
||||||
{{<dither IMG_1109.jpeg "782x782" />}}
|
{{<dither IMG_1109.jpeg "782x782">}}Dad guides an orange kayak while a child lounges up front, gliding along a tree-lined lake shoreline.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -59,11 +59,11 @@ We welcomed baby **Nico** on June 12. He and mama are both healthy and well. Nev
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_1753.jpeg "782x782" />}}
|
{{<dither IMG_1753.jpeg "782x782">}}Tiny bundle, big curious eyes.{{</dither>}}
|
||||||
{{<dither IMG_6069.jpeg "782x782" />}}
|
{{<dither IMG_6069.jpeg "782x782">}}Meeting little sibling day: a sleepy newborn cradled in Mom’s arms as big sister nuzzles close, already smitten.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_6261.jpeg "782x782" />}}
|
{{<dither IMG_6261.jpeg "782x782">}}Three beaming parents each cuddle toddlers and babies, capturing a joyful family playdate in the bright, colorful room.{{</dither>}}
|
||||||
{{<dither IMG_2016.jpeg "782x782" />}}
|
{{<dither IMG_2016.jpeg "782x782">}}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.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -47,25 +47,25 @@ Our boy's two months old today! Look at this little dude.
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_2821.jpeg "782x600" />}}
|
{{<dither IMG_2821.jpeg "782x600">}}Bath time giggles from the happiest little face.{{</dither>}}
|
||||||
{{<dither IMG_2965.jpeg "782x600" />}}
|
{{<dither IMG_2965.jpeg "782x600">}}Smiling baby Dominic stretches out beside a sign proudly sharing he’s two months old.{{</dither>}}
|
||||||
|
|
||||||
We did a newborn photo shoot with [G. Lin Photography][1], though no one told Nevie she wasn't the star.
|
We did a newborn photo shoot with [G. Lin Photography][1], though no one told Nevie she wasn't the star.
|
||||||
|
|
||||||
{{<dither BabyNico-48.jpg "782x600" />}}
|
{{<dither BabyNico-48.jpg "782x600">}}Snuggled together on the nursery floor, mom, dad, and big sister shower the newborn with cozy kisses and cuddles.{{</dither>}}
|
||||||
{{<dither BabyNico-118.jpg "782x600" />}}
|
{{<dither BabyNico-118.jpg "782x600">}}Smiling parents in their sunny backyard admire their curly-haired daughter while Mom cradles the sleeping newborn.{{</dither>}}
|
||||||
|
|
||||||
[1]: https://www.glinphotography.com/
|
[1]: https://www.glinphotography.com/
|
||||||
|
|
||||||
We took the kids to a few Bulls games. Snacks consumed: many. Baseball consumed: very little.
|
We took the kids to a few Bulls games. Snacks consumed: many. Baseball consumed: very little.
|
||||||
|
|
||||||
{{<dither IMG_3323.jpeg "782x600" />}}
|
{{<dither IMG_3323.jpeg "782x600">}}Family of four all smiles at the ballpark, soaking in a summer evening under the lights.{{</dither>}}
|
||||||
{{<dither IMG_6441.jpeg "782x600" />}}
|
{{<dither IMG_6441.jpeg "782x600">}}Giggles and curls at the ballpark, cheering for the home team in bright pink.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
{{<dither IMG_6464.jpeg "782x600" />}}
|
{{<dither IMG_6464.jpeg "782x600">}}DIY workshop vibes: a freshly built wooden rack stands proud beside bikes and benches, waiting for its first project.{{</dither>}}
|
||||||
{{<dither IMG_6463.jpeg "782x600" />}}
|
{{<dither IMG_6463.jpeg "782x600">}}Pink three-tier craft cart overflowing with kids’ art supplies squeezed between a kitchen counter and patio door.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -32,18 +32,18 @@ Highlights this month were our annual trips to Rehoboth Beach and Beaufort. Ther
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_6588.jpeg "782x600" />}}
|
{{<dither IMG_6588.jpeg "782x600">}}Smiling beach day: mom relaxing under a blue umbrella while cradling her sleepy baby.{{</dither>}}
|
||||||
{{<dither IMG_6709.jpeg "782x600" />}}
|
{{<dither IMG_6709.jpeg "782x600">}}Three little buddies in matching pinks giggling on a sunny stroller ride.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_6790.jpeg "782x600" />}}
|
{{<dither IMG_6790.jpeg "782x600">}}Two excited little captains-in-training taking turns at the helm of a docked boat.{{</dither>}}
|
||||||
{{<dither IMG_3614.jpeg "782x600" />}}
|
{{<dither IMG_3614.jpeg "782x600">}}Tiny nap coach keeping dad company on the couch.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
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.
|
||||||
|
|
||||||
{{<dither IMG_6732.jpeg "782x900" />}}
|
{{<dither IMG_6732.jpeg "782x900">}}Toddler quietly painting at a wooden activity station stacked with tidy bins and colorful toys.{{</dither>}}
|
||||||
{{<dither IMG_6818.jpeg "782x900" />}}
|
{{<dither IMG_6818.jpeg "782x900">}}Sunlit kid’s art station with a tiny sink, cubbies of supplies, and a little stool ready for the next craft.{{</dither>}}
|
||||||
|
|
||||||
[1]: https://www.amazon.com/dp/B08R66Z71S
|
[1]: https://www.amazon.com/dp/B08R66Z71S
|
||||||
[2]: https://www.amazon.com/dp/B09M3Q6QHN
|
[2]: https://www.amazon.com/dp/B09M3Q6QHN
|
||||||
|
|||||||
@@ -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.
|
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.
|
||||||
|
|
||||||
{{<dither tower.jpg "782x1200" />}}
|
{{<dither tower.jpg "782x1200">}}Little chef-in-training stands proudly on a wooden helper tower, making snack time at the kitchen counter a hands-on adventure.{{</dither>}}
|
||||||
{{<dither rocket.png "782x1200" />}}
|
{{<dither rocket.png "782x1200">}}Bright yellow rocket streaks skyward, leaving a soft teal burst of exhaust.{{</dither>}}
|
||||||
|
|
||||||
|
|
||||||
### This Month
|
### This Month
|
||||||
|
|||||||
@@ -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.
|
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.
|
||||||
|
|
||||||
{{<dither IMG_3999.jpeg "782x600" />}}
|
{{<dither IMG_3999.jpeg "782x600">}}Little lion tamer shows off her rainbow roar.{{</dither>}}
|
||||||
{{<dither IMG_4010.jpeg "782x600" />}}
|
{{<dither IMG_4010.jpeg "782x600">}}Family selfie on a wooded trail, big smiles from every generation enjoying the sunshine.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
Finished a couple small house projects: a hanging system for Nev's art table and some storage for our reusable grocery bags.
|
||||||
|
|
||||||
{{<dither IMG_6914.jpeg "782x600" />}}
|
{{<dither IMG_6914.jpeg "782x600">}}Kids’ craft corner with drying paintings clipped to a wooden art station, surrounded by bins of supplies and bags.{{</dither>}}
|
||||||
{{<dither IMG_6919.jpeg "782x600" />}}
|
{{<dither IMG_6919.jpeg "782x600">}}Wood-slat hooks corral a rainbow of reusable tote bags near the entryway.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
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.
|
||||||
|
|
||||||
{{<dither IMG_6921.jpeg "782x600" />}}
|
{{<dither IMG_6921.jpeg "782x600">}}Two tiny buddies chilling on the couch—one snoozing in stripes, the other wide-eyed and ready for adventure.{{</dither>}}
|
||||||
{{<dither IMG_6927.jpeg "782x600" />}}
|
{{<dither IMG_6927.jpeg "782x600">}}Curious big sibling marvels at the tiny newborn snoozing beside them on the couch.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
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.
|
||||||
|
|
||||||
{{<dither IMG_4575.jpeg "782x600" />}}
|
{{<dither IMG_4575.jpeg "782x600">}}Dad and kid in avocado-print pajamas laughing together on a porch while strumming a guitar.{{</dither>}}
|
||||||
{{<dither IMG_4765.jpeg "782x600" />}}
|
{{<dither IMG_4765.jpeg "782x600">}}Dad cuddles his smiling baby in the autumn sunshine, coffee in hand and pure joy on both faces.{{</dither>}}
|
||||||
|
|
||||||
[1]: https://capstoneraces.com/bull-city-race-fest/
|
[1]: https://capstoneraces.com/bull-city-race-fest/
|
||||||
[2]: /journal/dispatch-21-november-2024/bcrf-2024-result.pdf
|
[2]: /journal/dispatch-21-november-2024/bcrf-2024-result.pdf
|
||||||
|
|||||||
@@ -83,11 +83,11 @@ We ventured to upstate New York to spend Thanksgiving with my sister and her fam
|
|||||||
|
|
||||||
[4]: https://troyturkeytrot.com/
|
[4]: https://troyturkeytrot.com/
|
||||||
|
|
||||||
{{<dither IMG_7133.jpeg "782x600" />}}
|
{{<dither IMG_7133.jpeg "782x600">}}Grandma and mom share a cozy couch storytime, kids snuggled in blankets and pajamas, all smiles.{{</dither>}}
|
||||||
{{<dither IMG_5239.jpeg "782x600" />}}
|
{{<dither IMG_5239.jpeg "782x600">}}Two bundled‑up cousins sample fresh snow from their mittens on a frosty deck morning.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_5158.jpeg "782x600" />}}
|
{{<dither IMG_5158.jpeg "782x600">}}Mom and little chef chop potatoes side-by-side on a cozy kitchen afternoon.{{</dither>}}
|
||||||
{{<dither IMG_5234.jpeg "782x600" />}}
|
{{<dither IMG_5234.jpeg "782x600">}}Big cousin giggles as her baby cousin reaches up to grab her hand on the play mat.{{</dither>}}
|
||||||
|
|
||||||
I loved this quote from Freddie DeBoer about [what he's thankful for][5]:
|
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/
|
[6]: /journal/dispatch-14-april-2024/
|
||||||
|
|
||||||
{{<dither IMG_7078.jpeg "782x600" />}}
|
{{<dither IMG_7078.jpeg "782x600">}}Stack of synths and drum machines at the ready in a DIY studio corner.{{</dither>}}
|
||||||
{{<dither IMG_7126.jpeg "782x600" />}}
|
{{<dither IMG_7126.jpeg "782x600">}}Little DJ in pink pajamas happily jams on glowing synths with giant headphones.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
[1]: https://loogguitars.com/products/loog-mini-acoustic-pink?variant=41406434803774
|
||||||
|
|
||||||
{{<dither IMG_5853.jpeg "782x600" />}}
|
{{<dither IMG_5853.jpeg "782x600">}}Blonde toddler strums a tiny pink guitar in a cozy living room while an adult watches in the background.{{</dither>}}
|
||||||
{{<dither IMG_5866.jpeg "782x600" />}}
|
{{<dither IMG_5866.jpeg "782x600">}}Baby chef-in-training giggles while waving a plush taco that says “Taco ’bout yummy!”{{</dither>}}
|
||||||
|
|
||||||
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.
|
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/
|
[2]: https://sensiraresorts.com/
|
||||||
|
|
||||||
{{<dither IMG_7370.jpeg "782x600" />}}
|
{{<dither IMG_7370.jpeg "782x600">}}Mom cuddles on a beach cabana with her giggling kiddos, watermelon-colored drink and all.{{</dither>}}
|
||||||
{{<dither IMG_5966.jpeg "782x600" />}}
|
{{<dither IMG_5966.jpeg "782x600">}}Toddler stares straight ahead with wide eyes, proudly covered in chocolate while smearing food across the high chair tray.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_7392.jpeg "782x600" />}}
|
{{<dither IMG_7392.jpeg "782x600">}}Mom whispers a secret to her face-painted unicorn child wrapped in a towel.{{</dither>}}
|
||||||
{{<dither IMG_7415.jpeg "782x600" />}}
|
{{<dither IMG_7415.jpeg "782x600">}}Little girl welcoming 2025 from a sunny beach, framed by giant numbers in the sand.{{</dither>}}
|
||||||
|
|
||||||
Random small stuff:
|
Random small stuff:
|
||||||
|
|
||||||
|
|||||||
@@ -73,8 +73,8 @@ We actually got some snow here in Durham, which is not something that happens ev
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_6219.jpeg "782x782" />}}
|
{{<dither IMG_6219.jpeg "782x782">}}A bundled-up family grins in the winter sun, each parent balancing a sleepy toddler against a sparkling, snow-dusted backdrop.{{</dither>}}
|
||||||
{{<dither IMG_7509.jpeg "782x782" />}}
|
{{<dither IMG_7509.jpeg "782x782">}}Pink-wheeled sidekick, boxy chariot, endless giggles.{{</dither>}}
|
||||||
|
|
||||||
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!
|
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!
|
||||||
|
|
||||||
|
|||||||
@@ -63,18 +63,18 @@ My family popped down for an unplanned visit, just in time for another big snow
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_6713.jpeg "782x600" />}}
|
{{<dither IMG_6713.jpeg "782x600">}}Two bundled-up kids stick their tongues out to taste snowflakes while riding in a wagon with their baby sibling peeking from the back.{{</dither>}}
|
||||||
{{<dither IMG_7653.jpeg "782x600" />}}
|
{{<dither IMG_7653.jpeg "782x600">}}Two wide-eyed little snack critics share a picnic blanket adorned with pink hibiscus, each mid-bite and equally bewildered by the mystery crumbs.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_7681.jpeg "782x600" />}}
|
{{<dither IMG_7681.jpeg "782x600">}}Grandparents relaxing on the couch with a curious baby and a patient dog, sharing toys and smiles in a cozy living room.{{</dither>}}
|
||||||
{{<dither IMG_4794.jpeg "782x600" />}}
|
{{<dither IMG_4794.jpeg "782x600">}}Dad in a snowy yard grinning at his bundled-up, giggling child.{{</dither>}}
|
||||||
|
|
||||||
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:
|
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/
|
[1]: https://www.lulu.com/
|
||||||
|
|
||||||
{{<dither IMG_7709.jpeg "782x600" />}}
|
{{<dither IMG_7709.jpeg "782x600">}}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.{{</dither>}}
|
||||||
{{<dither IMG_7710.jpeg "782x600" />}}
|
{{<dither IMG_7710.jpeg "782x600">}}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.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -49,8 +49,8 @@ Nico received a major software upgrade this month. One day he could barely roll
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_6952.jpeg "782x600" />}}
|
{{<dither IMG_6952.jpeg "782x600">}}“Rainbow noodle salon day: baby edition.”{{</dither>}}
|
||||||
{{<dither IMG_7708.jpeg "782x600" />}}
|
{{<dither IMG_7708.jpeg "782x600">}}Little kid proudly surveys their new wooden loft bed from the top bunk in a cozy, toy-filled bedroom.{{</dither>}}
|
||||||
|
|
||||||
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!
|
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!
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
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.
|
||||||
|
|
||||||
{{<dither IMG_7866.jpeg "782x600" />}}
|
{{<dither IMG_7866.jpeg "782x600">}}Smiling little passenger enjoying a sunny ride in the stroller.{{</dither>}}
|
||||||
{{<dither IMG_7861.jpeg "782x600" />}}
|
{{<dither IMG_7861.jpeg "782x600">}}Two little buddies in matching bench seats—one all smiles, the other flashing an adorably mischievous side-eye.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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/
|
[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
|
[11]: https://us.elegoo.com/collections/lcd-printers/products/elegoo-mars-4-ultra-msla-resin-3d-printer-with-9k-mono-lcd
|
||||||
|
|
||||||
{{<dither 2D0D1562-DBBD-485B-8999-D7ECB0A8FE9D.png "510x510" />}}
|
{{<dither 2D0D1562-DBBD-485B-8999-D7ECB0A8FE9D.png "510x510">}}Little explorer beams with joy while riding her friendly triceratops through a sunny, cloud-dotted landscape.{{</dither>}}
|
||||||
{{<dither nev-riding-tango-concept.png "510x510" />}}
|
{{<dither nev-riding-tango-concept.png "510x510">}}Little Nev beams with delight while riding her friendly triceratops buddy Tango like it’s a prehistoric pony.{{</dither>}}
|
||||||
{{<dither nev-riding-tango-model.png "510x510" />}}
|
{{<dither nev-riding-tango-model.png "510x510">}}A cheerful kid with curly hair rides atop a playful, horned dinosaur-shaped toy, both sculpted in smooth, faceted grey.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ Bamboo killing season is over, now we're onto goddamn cockroach season. I've liv
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_8286.jpeg "782x600" />}}
|
{{<dither IMG_8286.jpeg "782x600">}}Little captain laughing with her inflatable shark while cruising across the lake.{{</dither>}}
|
||||||
{{<dither IMG_8290.jpeg "782x600" />}}
|
{{<dither IMG_8290.jpeg "782x600">}}Mom and baby beam with matching grins while cruising on a sunny lake.{{</dither>}}
|
||||||
|
|
||||||
Here's some new music:
|
Here's some new music:
|
||||||
|
|
||||||
|
|||||||
@@ -35,13 +35,13 @@ Big month: birthdays, travel, lots of music. My boy turned one -- time friggin'
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_4835.jpeg "782x600" />}}
|
{{<dither IMG_4835.jpeg "782x600">}}Baby’s first birthday cake smash, with crumbs everywhere and the biggest grin.{{</dither>}}
|
||||||
{{<dither IMG_8449.jpeg "782x600" />}}
|
{{<dither IMG_8449.jpeg "782x600">}}Happy picnic smiles: a mom, dad, and two young siblings cuddle together on a park bench under the trees.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
{{<dither IMG_8614.jpeg "782x600" />}}
|
{{<dither IMG_8614.jpeg "782x600">}}Little ballerina twirls through the beach breeze, shell in hand and sunlit curls shining.{{</dither>}}
|
||||||
{{<dither IMG_8299.jpeg "782x600" />}}
|
{{<dither IMG_8299.jpeg "782x600">}}Two grinning babies share a porch swing moment, one perched on a parent’s lap while the other stands nearby gripping the armrest.{{</dither>}}
|
||||||
|
|
||||||
[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:
|
[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.
|
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.
|
||||||
|
|
||||||
{{<dither IMG_8348.jpeg "782x600" />}}
|
{{<dither IMG_8348.jpeg "782x600">}}Two little friends grin in a stroller, proudly showing off their matching stuffed unicorns.{{</dither>}}
|
||||||
{{<dither IMG_8357.jpeg "782x600" />}}
|
{{<dither IMG_8357.jpeg "782x600">}}Two tiny watermelon fans share a giggly snack while mom looks on with a proud smile.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_8353.jpeg "782x600" />}}
|
{{<dither IMG_8353.jpeg "782x600">}}Grandma shares a cheerful table moment with two grandkids—one laughing in her arms, the other fully focused on a giant lemonade.{{</dither>}}
|
||||||
{{<dither IMG_8374.jpeg "782x600" />}}
|
{{<dither IMG_8374.jpeg "782x600">}}Grandpa’s big-laugh bench: four wiggly grandkids, two stuffed bunnies, and one baby mid-squeal under a wall of diner plaques.{{</dither>}}
|
||||||
|
|
||||||
[3]: https://www.childrensmuseumofrichmond.org/
|
[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:
|
I took the kids to [Angel Island][4] one evening, where I was able to reproduce this Eisinger family classic:
|
||||||
|
|
||||||
{{<dither IMG_8406.jpeg "782x600" />}}
|
{{<dither IMG_8406.jpeg "782x600">}}Baby in a green onesie gleefully pops up amid a sea of brightly colored plastic balls in a play pit.{{</dither>}}
|
||||||
{{<dither 3701250281_957a9c189d_o.jpg "782x600" />}}
|
{{<dither 3701250281_957a9c189d_o.jpg "782x600">}}Small kid looks worried while swimming through an ocean of green ball-pit spheres.{{</dither>}}
|
||||||
|
|
||||||
(That's Nico on the left, and a young me on the right.)
|
(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/
|
[5]: /journal/dispatch-7-september-2023/
|
||||||
[6]: https://turo.com/
|
[6]: https://turo.com/
|
||||||
|
|
||||||
{{<dither jeep_wrangler.jpg "782x600" />}}
|
{{<dither jeep_wrangler.jpg "782x600">}}Army-green Jeep Wrangler parked curbside in a suburb, with a red Cybertruck-style pickup in the driveway behind it.{{</dither>}}
|
||||||
{{<dither IMG_8448.jpeg "782x600" />}}
|
{{<dither IMG_8448.jpeg "782x600">}}Two friends in a cozy home studio grin at the camera, one pointing playfully as synthesizers and a laptop sit behind them.{{</dither>}}
|
||||||
|
|
||||||
Here's a track we made, called "Heat Lightning":
|
Here's a track we made, called "Heat Lightning":
|
||||||
|
|
||||||
|
|||||||
@@ -27,10 +27,10 @@ Another month in the books. Man, year's flying by. We filled it up though: went
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_3656.jpeg "374x600" />}}
|
{{<dither IMG_3656.jpeg "374x600">}}Kayaking down a sunlit river, paddles slicing through ripples beneath a clear blue sky.{{</dither>}}
|
||||||
{{<dither IMG_3763.jpeg "374x600" />}}
|
{{<dither IMG_3763.jpeg "374x600">}}Makeshift lemonade stand takes shape in a cluttered garage workshop.{{</dither>}}
|
||||||
{{<dither IMG_3816.jpeg "374x600" />}}
|
{{<dither IMG_3816.jpeg "374x600">}}Light spills into a closet corner where a wooden three-drawer dresser sits beneath hanging clothes, topped by an overflowing white laundry basket.{{</dither>}}
|
||||||
{{<dither IMG_3815.jpeg "374x600" />}}
|
{{<dither IMG_3815.jpeg "374x600">}}Jury-rigged closet shelf with raw lumber and metal braces perched above a row of neatly hung shirts.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -45,11 +45,11 @@ Nice to have a quieter month. We went down to Lake Norman for the Fourth, but ot
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_9212.jpeg "782x600" />}}
|
{{<dither IMG_9212.jpeg "782x600">}}Big sister smiles while sharing a popsicle with her baby brother in matching life jackets on a boat.{{</dither>}}
|
||||||
{{<dither IMG_9284.jpeg "782x600" />}}
|
{{<dither IMG_9284.jpeg "782x600">}}Teen wakeboarding across a calm lake with pine trees and a towering power line framing the shoreline.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_8544.jpeg "782x600" />}}
|
{{<dither IMG_8544.jpeg "782x600">}}Dad beams with one child snuggled tight on his shoulder and the other curiously taking in the park around them.{{</dither>}}
|
||||||
{{<dither IMG_9585.jpeg "782x600" />}}
|
{{<dither IMG_9585.jpeg "782x600">}}Mom and daughter pose with the Durham Bulls mascot, thumbs up for a fun night at the ballpark.{{</dither>}}
|
||||||
|
|
||||||
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):
|
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):
|
||||||
|
|
||||||
|
|||||||
@@ -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."
|
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."
|
||||||
|
|
||||||
{{<dither IMG_8791.jpeg "782x600" />}}
|
{{<dither IMG_8791.jpeg "782x600">}}Stormy skies, salty smiles, and a family beach day that refuses to slow down.{{</dither>}}
|
||||||
{{<dither IMG_8805.jpeg "782x600" />}}
|
{{<dither IMG_8805.jpeg "782x600">}}Two moms and their giggly kids share a playful stretch on a sunny playground afternoon.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_1119.jpeg "782x600" />}}
|
{{<dither IMG_1119.jpeg "782x600">}}Big grins on the porch steps as three generations crowd together for a sunny family snapshot.{{</dither>}}
|
||||||
{{<dither IMG_9988.jpeg "782x600" />}}
|
{{<dither IMG_9988.jpeg "782x600">}}Mom and kids share a sunny park jam session, all smiles on a picnic blanket while a tambourine keeps the beat.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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/
|
[1]: https://www.silobrooklyn.com/
|
||||||
|
|
||||||
{{<dither IMG_0104.jpeg "782x600" />}}
|
{{<dither IMG_0104.jpeg "782x600">}}Sunny rooftop smiles with Manhattan skyline stretching behind us.{{</dither>}}
|
||||||
{{<dither IMG_8842.jpeg "782x600" />}}
|
{{<dither IMG_8842.jpeg "782x600">}}Neon wigs, matching shades, and contagious laughter—brunch just got a lot brighter.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
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.
|
||||||
|
|
||||||
{{<dither IMG_0612.jpeg "782x600" />}}
|
{{<dither IMG_0612.jpeg "782x600">}}Family selfie in sunny Nyhavn, kids hamming it up as the colorful Copenhagen harbor buzzes behind them.{{</dither>}}
|
||||||
{{<dither IMG_0625.jpeg "782x600" />}}
|
{{<dither IMG_0625.jpeg "782x600">}}Little sister in a cargo bike offers a snack to her baby brother as they share the ride by the waterfront.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_8964.jpeg "782x600" />}}
|
{{<dither IMG_8964.jpeg "782x600">}}Sunny playroom swing duet: two kids soaring side by side, sharing a laugh and a high-five mid-air.{{</dither>}}
|
||||||
{{<dither IMG_0770.jpeg "782x600" />}}
|
{{<dither IMG_0770.jpeg "782x600">}}Little girl squealing with joy while clutching her pink winged balloon under glowing string lights.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_9044.jpeg "782x600" />}}
|
{{<dither IMG_9044.jpeg "782x600">}}Little builder proud of her colorful duo of LEGO friends towering above the play table.{{</dither>}}
|
||||||
{{<dither IMG_0968.jpeg "782x600" />}}
|
{{<dither IMG_0968.jpeg "782x600">}}Dad and toddler share a sunny laugh on a city boat ride, life jacket and soda in hand.{{</dither>}}
|
||||||
|
|
||||||
### 3D Monk
|
### 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
|
[7]: /journal/dispatch-13-march-2024/#this-month
|
||||||
[8]: https://chatgpt.com/features/codex
|
[8]: https://chatgpt.com/features/codex
|
||||||
|
|
||||||
{{<dither monk4.png "374x374" />}}
|
{{<dither monk4.png "374x374">}}Colorful tangram rocket poised for liftoff.{{</dither>}}
|
||||||
{{<dither monk1.png "374x374" />}}
|
{{<dither monk1.png "374x374">}}Geometric golem standing proud in a patchwork of vibrant faceted prisms.{{</dither>}}
|
||||||
{{<dither monk2.png "374x374" />}}
|
{{<dither monk2.png "374x374">}}Color-block origami mushroom standing proud on a white canvas.{{</dither>}}
|
||||||
{{<dither monk5.png "374x374" />}}
|
{{<dither monk5.png "374x374">}}A rainbow stack of skewed blocks twisting into a surreal, sculptural figure.{{</dither>}}
|
||||||
|
|
||||||
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].
|
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.
|
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.
|
||||||
|
|
||||||
{{<dither nev-goal.jpeg "782x600" />}}
|
{{<dither nev-goal.jpeg "782x600">}}Tiny striker sprints across the field, muddy shirt and pink socks flying, celebrating a goal like a World Cup champion.{{</dither>}}
|
||||||
{{<dither IMG_8863.jpeg "782x600" />}}
|
{{<dither IMG_8863.jpeg "782x600">}}Little striker showing off her bright pink socks and a big grin before kickoff.{{</dither>}}
|
||||||
|
|
||||||
A few miscellaneous recommendations:
|
A few miscellaneous recommendations:
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
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:
|
||||||
|
|
||||||
{{<dither marky-screenshot.png "1600x1300" />}}
|
{{<dither marky-screenshot.png "1600x1300">}}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.”{{</dither>}}
|
||||||
|
|
||||||
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.
|
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
|
[10]: https://www.dcr.virginia.gov/state-parks/fairy-stone
|
||||||
|
|
||||||
{{<dither IMG_1292.jpeg "782x600" />}}
|
{{<dither IMG_1292.jpeg "782x600">}}Big sister leads the bounce-house adventure while little brother follows, both laughing in their cozy fall jackets.{{</dither>}}
|
||||||
{{<dither IMG_5488.jpeg "782x600" />}}
|
{{<dither IMG_5488.jpeg "782x600">}}Tiny adventurer pauses for a giggle, shoes in hand, before diving back into the backyard bounce house under bright autumn trees.{{</dither>}}
|
||||||
|
|
||||||
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].
|
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].
|
||||||
|
|
||||||
|
|||||||
@@ -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):
|
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):
|
||||||
|
|
||||||
|
|
||||||
{{<dither IMG_6173.jpg "374x" />}}
|
{{<dither IMG_6173.jpg "374x">}}Closet full of colorful clothes on wooden hangers above a stack of mesh drawers stuffed with folded laundry.{{</dither>}}
|
||||||
{{<dither IMG_6174.jpg "374x" />}}
|
{{<dither IMG_6174.jpg "374x">}}A cozy closet nook crammed with sweaters and laundry baskets, waiting for a tidy-up.{{</dither>}}
|
||||||
{{<dither IMG_6593.jpg "374x" />}}
|
{{<dither IMG_6593.jpg "374x">}}A narrow closet with a homemade wooden dresser, a row of coordinated clothes, and stacks of books perched on the shelf up top.{{</dither>}}
|
||||||
{{<dither IMG_6594.jpg "374x" />}}
|
{{<dither IMG_6594.jpg "374x">}}Cozy closet corner with neatly hung clothes, wooden drawers, and a laundry basket waiting on top.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -37,10 +37,10 @@ June was dominated by work and travel. Weekdays were filled up with a client pro
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_4041.jpeg "374x300" />}}
|
{{<dither IMG_4041.jpeg "374x300">}}Little runner Mae beams with pride as she dashes down the track, race bib 1490 fluttering in the summer sun.{{</dither>}}
|
||||||
{{<dither 11B423F8-5D03-4155-B548-185E04A04595_1_105_c.jpeg "374x300" />}}
|
{{<dither 11B423F8-5D03-4155-B548-185E04A04595_1_105_c.jpeg "374x300">}}Feet up in the canoe, drifting down a quiet green river while a friend paddles ahead under a wide straw hat.{{</dither>}}
|
||||||
{{<dither IMG_9457.jpeg "374x300" />}}
|
{{<dither IMG_9457.jpeg "374x300">}}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.{{</dither>}}
|
||||||
{{<dither C65C4973-3266-4155-9786-F7B379BD8DD9_1_105_c.jpeg "374x300" />}}
|
{{<dither C65C4973-3266-4155-9786-F7B379BD8DD9_1_105_c.jpeg "374x300">}}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.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ Nice to have a quieter month, though we still managed to spend a weekend at Lake
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither 05569D5B-AEFA-44E8-B907-40B6DA48E303_1_105_c.jpeg "782x782" />}}
|
{{<dither 05569D5B-AEFA-44E8-B907-40B6DA48E303_1_105_c.jpeg "782x782">}}Tiny camper snoozing in a bug net hammock after a day on the trail.{{</dither>}}
|
||||||
{{<dither DBCE9DD4-30D1-4A90-BC3F-E1C6062AF430_1_105_c.jpeg "782x782" />}}
|
{{<dither DBCE9DD4-30D1-4A90-BC3F-E1C6062AF430_1_105_c.jpeg "782x782">}}Smiling grandparents squeeze their giggling toddler in a sunny, wooded driveway.{{</dither>}}
|
||||||
|
|
||||||
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!
|
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!
|
||||||
|
|
||||||
|
|||||||
@@ -39,16 +39,16 @@ We were down at Lake Norman for the long weekend, and as I was pulling up the ka
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither IMG_4446.jpeg "782x400" />}}
|
{{<dither IMG_4446.jpeg "782x400">}}Sunset smiles and canned Coronas at a breezy beach bar.{{</dither>}}
|
||||||
{{<dither IMG_1602.jpeg "782x400" />}}
|
{{<dither IMG_1602.jpeg "782x400">}}Paddleboard victory pose beneath a bright blue sky on calm lake waters.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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/
|
[1]: https://funlandrehoboth.com/
|
||||||
[2]: https://delawaregreenways.org/trail/gordons-pond-trail/
|
[2]: https://delawaregreenways.org/trail/gordons-pond-trail/
|
||||||
|
|
||||||
{{<dither IMG_4514.jpeg "782x600" />}}
|
{{<dither IMG_4514.jpeg "782x600">}}Mother and toddler holding hands while watching gentle waves roll onto a quiet beach.{{</dither>}}
|
||||||
{{<dither IMG_4575.jpeg "782x600" />}}
|
{{<dither IMG_4575.jpeg "782x600">}}Sunlit bike trail ride as a family glides through the pines.{{</dither>}}
|
||||||
|
|
||||||
We also recorded this little jam featuring my 3.5-year-old niece on the melodica:
|
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:
|
I did a couple projects in Go this month:
|
||||||
|
|
||||||
{{<dither golong.png "782x" />}}
|
{{<dither golong.png "782x">}}Fantasy football command-line dashboard showing Christian McCaffrey topping the RB rankings with 272.8 points in a terminal-style leaderboard.{{</dither>}}
|
||||||
{{<dither forecast.png "782x" />}}
|
{{<dither forecast.png "782x">}}A barebones browser form showing upload fields for “Team Export” and “Project Export,” a checkbox to include PTO in utilization, and a submit button.{{</dither>}}
|
||||||
|
|
||||||
The first, the fantasy draft <abbr title="text-based user interface">TUI</abbr> 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.
|
The first, the fantasy draft <abbr title="text-based user interface">TUI</abbr> 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.
|
||||||
|
|
||||||
|
|||||||
@@ -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/
|
[3]: https://www.infoelba.com/discovering-elba/communes-towns/rio-marina/cavo/
|
||||||
[4]: https://ilpomodorino.it/
|
[4]: https://ilpomodorino.it/
|
||||||
|
|
||||||
{{<dither IMG_4710.jpeg "510x" />}}
|
{{<dither IMG_4710.jpeg "510x">}}Shared laughter between a mom and her giggly toddler on a sunlit, rocky beach.{{</dither>}}
|
||||||
{{<dither IMG_4771.jpeg "510x" />}}
|
{{<dither IMG_4771.jpeg "510x">}}Paper-boat captain enjoying a seaside snack with a toy lighthouse standing watch.{{</dither>}}
|
||||||
{{<dither IMG_4781.jpeg "510x" />}}
|
{{<dither IMG_4781.jpeg "510x">}}Summer bench buddies, quietly conquering their gelato.{{</dither>}}
|
||||||
|
|
||||||
{{<dither IMG_4809.jpeg "510x" />}}
|
{{<dither IMG_4809.jpeg "510x">}}Golden-hour beach bar hang: dad in shades and toddler share snacks while sunset paints the sea.{{</dither>}}
|
||||||
{{<dither IMG_4842.jpeg "510x" />}}
|
{{<dither IMG_4842.jpeg "510x">}}Sunlit smiles in a Siena piazza.{{</dither>}}
|
||||||
{{<dither IMG_4886.jpeg "510x" />}}
|
{{<dither IMG_4886.jpeg "510x">}}Toddler grinning atop a carousel horse, soaking in the sunshine and excitement of a plaza ride.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -40,14 +40,14 @@ It was nice to have a quieter month after so much travel this summer. We got a f
|
|||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
{{<dither ECE91676-CF38-4F4D-9F8F-B6C87048AB16_1_105_c.jpeg "782x" />}}
|
{{<dither ECE91676-CF38-4F4D-9F8F-B6C87048AB16_1_105_c.jpeg "782x">}}Little girl races from the slide, bunny in hand, while Dad stoops with a proud smile at the playground.{{</dither>}}
|
||||||
{{<dither 59EA3598-4D50-4783-8EBF-CA35996F19E9_1_105_c.jpeg "782x" />}}
|
{{<dither 59EA3598-4D50-4783-8EBF-CA35996F19E9_1_105_c.jpeg "782x">}}Little pumpkin on the porch, proudly showing off her matching blanket and gourd buddy.{{</dither>}}
|
||||||
|
|
||||||
## Tech
|
## 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.
|
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.
|
||||||
|
|
||||||
{{<dither golong.png "1600x900" />}}
|
{{<dither golong.png "1600x900">}}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.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
Here's a picture of me, before and after dithering:
|
||||||
|
|
||||||
{{<thumbnail race_121539.jpg "782x900" />}}
|
{{<thumbnail race_121539.jpg "782x900" />}}
|
||||||
{{<dither race_121539.jpg "782x900" />}}
|
{{<dither race_121539.jpg "782x900">}}Runner No. 534 pushes through the final stretch, focused and strong as he nears the finish line in an overcast parking lot race.{{</dither>}}
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ I find [Go][1] really compelling, even though it's not super applicable to my jo
|
|||||||
* Note-taking / journaling app
|
* Note-taking / journaling app
|
||||||
* [StevieBlocks][10]
|
* [StevieBlocks][10]
|
||||||
|
|
||||||
{{<dither project1.png "374x" />}}
|
{{<dither project1.png "374x">}}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.{{</dither>}}
|
||||||
|
|
||||||
[10]: https://gist.github.com/dce/f975cb21b50a2cf998bf7230cbf89d85
|
[10]: https://gist.github.com/dce/f975cb21b50a2cf998bf7230cbf89d85
|
||||||
|
|
||||||
|
|||||||
@@ -75,4 +75,4 @@ _(Notes for a [Viget article][1])_
|
|||||||
[6]: https://json-schema.org/
|
[6]: https://json-schema.org/
|
||||||
[7]: https://github.com/NoRedInk/rspec-retry
|
[7]: https://github.com/NoRedInk/rspec-retry
|
||||||
|
|
||||||
{{<dither notes.png "374x" />}}
|
{{<dither notes.png "374x">}}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.{{</dither>}}
|
||||||
|
|||||||
@@ -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
|
[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
|
[6]: second_brain_48.pdf
|
||||||
|
|
||||||
{{<dither graph1.png "500x" />}}
|
{{<dither graph1.png "500x">}}Yellow-highlighted graph where time invested in ‘Improve yourself’ curves skyward, ‘Improve the world’ climbs steadily, and ‘Chores’ stays flat.{{</dither>}}
|
||||||
|
|
||||||
_(This would imply that "improving yourself" is the most valuable use of time, but I actually think it's something like the opposite.)_
|
_(This would imply that "improving yourself" is the most valuable use of time, but I actually think it's something like the opposite.)_
|
||||||
|
|
||||||
|
|||||||
@@ -21,12 +21,12 @@ references:
|
|||||||
file: www-annahavron-com-8hj07z.txt
|
file: www-annahavron-com-8hj07z.txt
|
||||||
---
|
---
|
||||||
|
|
||||||
{{<dither notes.png "782x" />}}
|
{{<dither notes.png "782x">}}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.{{</dither>}}
|
||||||
|
|
||||||
_Building a Second Brain_ (p. 215)
|
_Building a Second Brain_ (p. 215)
|
||||||
|
|
||||||
## Notebook Templates
|
## Notebook Templates
|
||||||
|
|
||||||
{{<dither template_1.png "534x763" />}}
|
{{<dither template_1.png "534x763">}}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.{{</dither>}}
|
||||||
{{<dither template_2.png "534x763" />}}
|
{{<dither template_2.png "534x763">}}Minimal monthly planner page with dotted grid, slim handwritten weekday column, and spiral binding along the edge.{{</dither>}}
|
||||||
{{<dither template_3.png "534x763" />}}
|
{{<dither template_3.png "534x763">}}Minimalist dot-grid monthly calendar spread in a bullet journal, waiting for plans to be penciled in.{{</dither>}}
|
||||||
|
|||||||
Reference in New Issue
Block a user