Too Many Moves
Oh god, I just did the math and I’ve done at least 14 major infrastructure overhauls or moves in my career:
- Rackspace single server
- Rackspace fleet
- Rackspace region swap
- Ruby 1.8 => 2 fleet upgrade
- Rackspace to Digital Ocean
- Digital Ocean Ubuntu upgrade across fleet
- Postgres failover setup
- Postgres major version upgrade (9=>15 IIRC)
- Rails 2.3 => 7
- Heroku to Digital Ocean
- Heroku to Render
- Nightmare AWS beanstalk hellscape (literally inaccessible! Couldn’t SSH in for the life of me) to Render + Crunchy Bridge
- Hetzner to Heroku
- Heroku to FlightControl
I think I need to go lie down now
The truly astounding part of WWDC is that they made my nostalgic for iOS 7.0’s readability.
What are we doing here, y’all? This isn’t even 101-level design; I saw better stuff on boingboing & Envato’s design roundup listicles in 2010

Figured out a neat way to quickly scaffold minimal test classes (great for concern testing):
require "test_helper"
class MyConcernTest < ActiveSupport::TestCase
TestClass = Data.define(:user, :other_property) do
include MyConcern
end
# ...
end
Friendship with Scrivener over
So I just had a ✨BAD TIME✨ with Scrivener, so I’m back to square 0. The editor is buggy and has some real jank, but I was willing to work around that until I was working on an image-heavy travel log (~3K words), and it hosed the exports in like…4 different ways:
- External links were stripped out until I checked a box
- Images with the same filename were silently overwritten
- Sometimes the export would pick a totally incorrect image
- The formatting for figure captioning was inconsistent
Not to mention that I was never a huge fan of its exporting toolkit. So, 2 after wasting 2 hours, I’m moving on.
I think I’m trying to get back to basics and avoid cramming everything into a single app, or always needing a network connection. A thought I had this morning was remembering that the filesystem is just another database.
This, of course, presupposes a few things:
- Accepting that iPad & iOS don’t have good filesystem management
- Because of the limitations of mobile devices, you still want to be “at the press” to publish anything of value
- If you’re on the go, you’re mainly just trying to hammer out an idea while waiting in line or on the kids/pets/etc
Chewing on it more, this is the line of thinking I’m going to try out:
We have forgotten The Filesystem
Because we’ve neglected the filesystem for so long, we’ve forgotten how useful it is for organization. Plus, it has so many things backed in (quick previews, tagging, cross-references via symlinks, naming conventions). Scrivener’s sidebar is essentially a version of a filesystem, but proved to be too buggy
You need distinct tools for each phase of the writing process
These are all actually distinct tasks with different needs:
- Collecting info: needs to not interrupt your current context/browsing
- Drafting: You need to be able to dump words/images into a drafts folder, to pick up the pieces later
- Editing: Wrangling all the disparate thoughts into something cohesive, which is where text editors/word processors come into play
- Typesetting & publishing: Putting something “to press” is hard work that requires a computer of some sort (whether desktop or web)
As long as I have editors that get words into the appropriate places in a filesystem, drafting is workable.
Editing is about cleaning up those artifacts.
Typesetting is a bit trickier, the only universal format I see is HTML (However you get there, whether it’s original text in Markdown, or a Word doc exported as a scrubbed HTML).
You know you’re a programmer when you try out Obsidian
I’ve resisted it for years because TBH I didn’t want yet another tool to tinker with or subscription, but Obsidian looks like It’s the only tool that checks (most) of the boxes:
- Since it’s Local First and relies on the filesystem, I get the benefits of the foundations of proper OSes
- It lets me drop stuff whenever for drafting, then clean it up later
- I can use whatever I want for the editing phase; such as iA Writer
- Since it’s Markdown, I can export to HTML for the final typesetting. And if I truly wanted to punish myself, I could write a plugin to streamline the exporting process to keep things in Obsidian
- For complex open-source collaboration like the (eventual) Practical Framework docs, I can use a git repo. This would have never been possible with Scrivener.
I did finally bite the bullet for Obsidian Sync, primarily to make it easier for the iOS/iPad apps to act as a draft pad.
Zotero for collecting info
Previously, I’ve been using a Notion DB to dump interesting links into, but it’s suffered the same fate as every other Notion DB.
I wanted to find a focused, cross-platform tool for collecting research info (which was one of the core appeals of Scrivener for me). Zotero is promising, being built specifically for academic research (so it has a level of rigor + organizational structure that I would have had to build out myself), and also supports common citation formats (something I want to get better at doing!)
Will report back!
I’ll report back, this is all very new (less than 24 hours), but I feel like the foundations are solid.
Also: don’t recommend any plugins to me! 😝 The last thing I need is to endlessly tinker; the most important thing is to write
Lookit this cute lil fella! qwerasd205.github.io/Annotatio…
I think that’s what I’m gonna use as the monospace font in Practical Computer’s design system
I picked a hell of a time to start my once a decade reread of Jurassic Park. Which, unsurprisingly, was the first “adult” book I read & checked out from my local library at like 10-11 years old
I know that the economy is actively in freefall right now, but I am glad that after 4-6 months of chewing on the problem; I’ve written an 8.2K word guide on overhauling the view layer for a Rails app. It should go live by the end of the week, still getting reviews on the first draft.


I’ve figured out the atomic core of my next music project; which will be a full LP. I’m still hammering out the details, but I’m excited for its potential.
I just glanced at someone’s screen to see what I think was a Canva doc open, with “GROWTH TARGETS” in Office 98 Word Art.
This feels on par with the infamous “BUSINESS” whiteboard scrawl
Later this week I’m going to recap this talk in a blog post to cement it in my mind, but it’s extremely good and you should go watch it youtu.be/vLzYhaMtp…
1 month of Musora
After a long stint with Melodics, researching alternatives, and trying out Yousician, I ultimately settled on Musora; which is a vastly different service! It’s not a gamified app, but instead an immense library of learning resources.
The main reasons it won out for me are:
Teaching a man to fish
The emphasis on learning methodology; notably unlocking the skills for improv, reading theory, and mechanical skills.
Musora not being app-based a-la Rock Band (which I love and was a foundational part of my musical journey) forces you to actually learn the pieces and skills to work outside the app. It’s a subtle but importance difference!
If you’re playing a game, you’re learning the skills to complete levels (songs/lessons, in this case). But if it’s a traditional class structure with assignments done “at home”, you’re learning the skills to perform, read music, improv. And you’re building the systems for how you develop those skills.
In essence, along with the nuts & bolts, Musora subtly makes you decide how you want to approach music. How much time & effort you devote to it; what your goals are; where you’re going to focus.
The breadth of material!
There’s quite literally years of solid, valuable material to learn from. The price/value proposition is ridiculous. And not just songs or the guided course, small mini-lessons about techniques, physiology to improve posture and avoid pain, style lessons for different levels of experience.
Their songs approach works better than covers
Musora takes a great approach for building out a song library: they embed YouTube videos with backing-tracks alongside digital sheet music, with custom playback & practice controls.
This means that rather than the sheer scaling problems Melodics, Yousician, etc. face of filling out their libraries; Musora has less work and cost by transcribing their music and relying on the real tracks. It makes practice much more dynamic and fun; and again, you’re learning the skills to read sheet music & practice through it for contemporary music!
Control is such an uneven game, but I love it. The random spawns, checkpointing, and overall progression system are a mess, making it sections randomly infuriating; but then you get a random superpower and it all becomes worth it
Turned this on mainly to have background noise that wasn’t football so Kira wouldn’t get riled up by the dogs next door, but turns out it’s just a great documentary youtu.be/yjpYzFtxf…
Y’all, I can’t believe this is finally happening.
Little CRM’s initial alpha is finally live!
Little CRM’s early alpha is almost ready! The plan!:
- Get this alpha ready to ship
- Write a blog post explaining what’s in the early alpha currently, and how it works
That way folks can see what the ethos is, and talk about signing up! So far the reaction has been excitement
The form for adding someone important to your account is coming along! I've been trying hard to add realistic, fun placeholder values. Hopefully it'll guide to less transactional convos. I want people to actually think about the people most important to their endeavors, and view them as people first & foremost, not a resource to extract
Look at this astounding header illustration that Wren made!! I’m floored, it’s perfect
One of the thing I’ve prioritized with Practical Computer is making sure things look great. It’s important, because we have these displays that can truly show off beautiful work. That polish & care pushes you to make better stuff.
That’s why I work with Wren, who consistently knocks it out of the park! Truly some of the best investments my business has made.

More proof of CableReady’s resilience
Mrujs and CableReady are so great together. After using Turbo 7 on both serious and hobby projects since it was released, I’m more and more finding out that it creates a lot more problems than it solves for me. Especially frames, which encourages bad controllers (imo), but drive too.
I haven’t used streams much, but from what I can gather I can recreate the features I want more elegantly with CableReady. I haven’t tried Turbo 8, but I don’t see the point as long as this combo exists. Mrujs has all I want, and the CableCar 🚡 integration is chef’s kiss.”
I saw this and dropped my networking stack guide, obviously.
It’s funny, I’d researched if CableReady and mrujs would make a good stack for my project, and I’d just started when your post happened to came along the same day, as if by divine providence. I took the fact that someone who, unlike me, seems to know what the hell he’s doing chose the same stack as a sign that I was on the right track. I’ve read your post twice since then, thanks so much for writing it! ❤️