Journal
Short-to-medium length entries — relatively off the cuff. Subscribe via Atom or JSON feed (what’s a feed?).
-
2023
-
May
-
27
-
23
-
Competencies
An observation on the dynamics of (sufficiently) large organizations.
-
-
-
Mar
-
18
-
❡ Length: An Observation
Blog posts, like essays (published online or in magazines) tend (I think!) to differ from books in just how long they let their paragraphs run.
-
-
-
Feb
-
25
-
Fork Software More
Not everything needs to be centralized and standardized.
-
-
-
Jan
-
16
-
Feature Idea: Week-Level Smart Training Plans
Training (at my level, anyway) is less about individual day-to-day work and more about what I do each week. The tools should support that!
-
-
13
-
10
-
Initial Notes on Elicit
Playing around a bit with the ML-powered research tool from the folks at Ought.org.
-
-
08
-
Special Null Syntax vs. Types and Functions
Why does
Maybe.map
feel better than??
and friends to me? A sketch. -
Product Idea: Meal Tracking for Athletes
All of the existing tools need broader design vocabularies.
-
-
07
-
An Orchestra in My Pocket
Well, in my bag anyway. Close enough. And astonishing.
-
-
04
-
Generative Work and Productive Puttering
They sometimes feel similar, but they aren’t the same. (And both can be good!)
-
-
02
-
Goal-Setting
On setting goals I might not meet — and adjusting them proactively throughout the year.
-
-
01
-
2022 in Review: The Rest of life
Less than I wanted of music, running, etc.; but some good things on the financial and spiritual fronts.
-
2022 in Review: Professional
My fourth year at LinkedIn: odd, and challenging — with some failures! — but not bad.
-
-
-
-
2022
-
Dec
-
30
-
2022 in Review: Public Speaking
One conference talk, a couple podcasts, and — unexpectedly — a bit of YouTube-ing.
-
-
29
-
2022 in Review: Writing
Getting published in print, and a year to at least match last year for my normal blogging and open source work!
-
2022 in Review: Reading
I read a lot less than I wanted, but I still made my goal of 22 books in the year. I’ll take it!
-
-
24
-
OPML Files as… Annotated Bibliographies?
What if feed readers let you you make these old XML files into blog rolls, too?
-
-
21
-
Patterns for “Smart” Components in Ember
…which generalize to other frameworks pretty well, too.
-
-
12
-
Supernote, Dropbox, and Transmit
A handy little flow for getting documents onto and off of the SuperNote via Dropbox… without having Dropbox installed locally.
-
-
09
-
A UML Comeback?
Because the tools are positioned for sketching, now?
-
Reasoning About Reference Cycles
Rust’s lifetime types are challenging, but they bring a capability I miss all the time in other languages.
-
-
06
-
Journaling, One Day Along
A progress report: It had the desired effect. I like it!
-
-
05
-
Journaling
But in a very specific way.
-
John Cook and Brief Notes
-
-
-
Nov
-
26
-
A Note on Life Stages
A few reflections on parenting, hobbies, and time.
-
-
13
-
08
-
Writing Down What I Do — In Obsidian
An update on my years-long habit, with a new tool.
-
-
06
-
Dorico Tip: Solo Parts in String Sections
This was a bit subtle, so I'm writing it down for myself in the future (and maybe others, too!).
-
-
04
-
Organizing Many Software Projects
How I lay out my file system and how I tweak Git for working on literally dozens of different repositories.
-
-
-
Oct
-
15
-
06
-
Trade-offs
They are real; but too often offered as an excuse to avoid thinking rather than a reason to think harder.
-
-
-
Sep
-
25
-
Marco’s Rule of Software Stacks (Expanded)
On being the biggest user of a given technology.
-
-
24
-
Long and Short
The value of different kinds of writing.
-
-
01
-
Open Source
Notes on the sheer scale of recently-completed open source efforts of mine.
-
-
-
Aug
-
28
-
Flow State
Maybe it’s less important than we like to think?
-
-
27
-
What Can I Do With 10 Minutes?
What can I do when I do not have long stretches of time to give deep attention to a task?
-
-
20
-
Turning on Some Apple Accessiblity Preferences
Because it makes for a better UI experience!
-
-
-
Jul
-
21
-
Some Thoughts on Zig
A positive framing (of one part at least!) from someone who is distinctly not here for what the language is selling.
-
-
08
-
A Pleasing Symmetry in Rust
Appreciating how Rust
enum
variants are mirrors of its kinds ofstruct
s.
-
-
-
Jun
-
19
-
The Tamron 35-150mm 𝑓/
2 – 2.8 Di III VXDNotes from a week at Disney World with this remarkable (mammoth!) lens.
-
The Sony Sonnar T* FE 55mm 𝑓/1.8 ZA
Notes from a week at Disney World with Sony’s workhorse of a lens.
-
The Sony α7 IV
Notes from a week at Disney World with Sony’s latest full-frame camera body.
-
-
-
May
-
18
-
Conditional Modifiers and Helpers in Ember
A handy feature you can use in recent versions of Ember.
-
-
-
Apr
-
28
-
Misusing TypeScript Assertion Functions for Fun and Profit
A horrible (but very useful) hack I came up with yesterday for adding types to some old code.
-
-
22
-
SemVer for TS in Practice
Showing how the recommendations from www.semver-ts.org can actually work in the real world.
-
-
01
-
On Stationery
…and unreasonable joys in small, real goods.
-
-
-
Mar
-
27
-
20
-
Don’t Universalize from Your Own Experiences
Snappy writing, careers in software development (and other fields), advice-giving, and over-generalizing.
-
-
02
-
Volume
On my need to write, and writing here less lately. (Or: writing something because I needed to gain a sense of momentum about my writing goals, and writing about writing comes easily, which is why bloggers resort to it when they’re tired.)
-
-
-
Jan
-
23
-
Notes on Exposure Notifications
Literally just notes, from an essay I never managed to write.
-
-
22
-
Eternals
Not a good movie, exactly, but an interesting one.
-
-
12
-
Don’t Sprint the First Mile of a Half Marathon
On establishing a sustainable pace at the start of a new year.
-
-
01
-
Buy Me a Book
Moving from Patreon to BuyMeACoffee for folks to support my writing if so inclined.
-
-
-
-
2021
-
Dec
-
31
-
Reading Settings!
A few notes on pairing
prefers-color-scheme
and user configurability, as well as adding a little reading mode switch.
-
-
24
-
2021 End-of-Year Thoughts
Another year behind, another reflection on what happened (and what didn’t!) in this latest circuit of the sun.
-
-
12
-
Small, Non-Trivial Projects for Learning
For learning effectively, nothing is better than a real project which gives you a place to experiment and play.
-
-
04
-
2022 Colfax Half Marathon Plan
Plotting my recovery from COVID-19 and my path to maybe, just maybe, managing another PR in May.
-
-
03
-
Request for Comments: First-Class Component Templates ↩︎—❈
Given all the analysis from this series, a concrete proposal to move this forward!
-
-
-
Nov
-
15
-
Ember.js Template Imports: Part 6
Given the tradeoffs in the space, what is the best set of compromises we can make?
-
Ember.js Template Imports: Part 5
What about styles? (A bonus post!)
-
-
11
-
Ember.js Template Imports: Part 4
Keeping, and improving on, one of Ember’s fundamental commitments — and biggest strengths: its integrated testing.
-
-
09
-
Ember.js Template Imports: Part 3
Evaluating the tradeoffs of template language designs for tooling.
-
-
-
Oct
-
31
-
Anki and Spaced Repetition
Notes on working with a new system, 5½ months along.
-
-
29
-
Ember.js Template Imports: Part 2
Which template imports design has the biggest set of wins for teaching and understanding components?
-
-
12
-
Ember.js Template Imports: Part 1
Introducing the series and walking through the formats.
-
-
-
Sep
-
25
-
The Sony α7C
A mini-review after renting the camera and using it for almost a week back in July.
-
-
12
-
Cameras and Attention (Redux)
A mild “yes/and” on a theme often highlighted by contemporary tech critical commentary.
-
-
04
-
-
Aug
-
28
-
Theological Anthropology Comes First
You don’t get a healthy politics if you answer the question “What is a human?” incorrectly.
-
-
27
-
What if PageRank Was a Mistake?
A provocation on our algorithmic present and a curational (curative?) alt-history.
-
-
07
-
MusicXML and Percussion Notation
Digging into How Dorico and StaffPad represent percussion differently.
-
-
-
Jul
-
31
-
StaffPad to Dorico via MusicXML? Alas, no.
A tale of woe! …but with some tips for less woeful tales to sooth the bitter pill this is.
-
-
28
-
StaffPad Versions
Making it easy to keep track of your composing history in StaffPad.
-
-
10
-
My Current Photography Setup
Could also be filed under “from my sent messages.”
-
-
07
-
Revealed and Stated Preferences
On Ben Thompson’s weekly article on Instagram, Facebook, algorithmic feeds in general — and how economic analysis of behavior ranges from insufficient to awful.
-
-
-
Jun
-
01
-
Miscellaneous Updates
Or: it has been months since I wrote anything, so I’m scratching that itch.
-
-
-
Mar
-
21
-
Progressive Disclosure of Complexity and Typed FP Languages
Or, one part of why to some extent Elm, and to a significant degree PureScript Halogen, can be quite difficult for users to get their heads around at first.
-
-
13
-
Introducing “Heuristics for Good Software Design”
A series of posts in which I explain how I think about effective software design.
-
-
08
-
Naming and Framing
Or, why did Accelerate matter for DevOps?
-
-
-
Feb
-
28
-
A Gap in (My Knowledge of) the Developer Productivity Literature
Where is the equivalent of Accelerate for anything outside of DevOps?
-
-
13
-
A Useful Approach to Problem-Solving
(It’s useful to me, at least.)
-
-
07
-
Scarcities
In which what was supposed to be a quick, Robin Sloan- and Craig Mod-inspired, note on attention and cryptothings… somehow morphed into the dream of a research program for something much, much different.
-
-
01
-
I Am Not An Original Thinker
And it turns out that’s actually totally fine.
-
-
-
Jan
-
22
-
Using Classes for Functional Programming
We tend to think classes are inherently for object-oriented programming, but they are much more flexible than that in JavaScript and TypeScript (and other languages too).
-
-
04
-
Just Write
Even if you only have five minutes: write anyway.
-
-
-
-
2020
-
Dec
-
31
-
Wrapping Up 2020 and Starting 2021
Goodbye, good riddance, won’t look back fondly on this one.
-
-
22
-
Understanding
args
in Glimmer ComponentsClearing up a common confusion with a worked example.
-
-
07
-
Ember Octane is a New Mental Model
…not a 1:1 translation from Ember Classic — but that’s often a big win!
-
-
05
-
Reluctantly Returning to Social Media
I have to be on social media professionally… but I don't have to live there.
-
-
-
Oct
-
31
-
Notes on Thoughtbot’s “Stop Using 'any'”
A couple tweaks and improvements to a good post!
-
-
24
-
Writing Robust TypeScript Libraries
A subtler art than it might at first appear, if you intend to support JS or even loose mode TS.
-
-
13
-
Data Constructors, Part 2: Better TypeScript
A deep dive on more idiomatic TypeScript implementations of ML-style data constructors.
-
-
06
-
Initializing Class Fields in Ember Octane
One of the many small-but-lovely benefits of getting to use native classes in Ember Octane.
-
-
-
Sep
-
26
-
Things I Was Wrong About: Types
Because it would do us all good to be a little more honest about where we’ve changed our minds or simply been mistaken.
-
-
22
-
Autotracking: Elegant DX Via Cutting-Edge CS
A modern JavaScript reactivity system powered by Lamport clocks and incremental computation and depth-first searches: oh my!
-
-
05
-
Data Constructors, Part 1: Understanding by Implementing
Understanding an idea from Standard ML-like languages by implementing it in (boring) TypeScript.
-
-
-
Aug
-
29
-
Can You Recommend a Book on This?
Probably not, unfortunately. Maybe I can write something up, though?
-
-
28
-
Async Data and Autotracking in Ember Octane
Digging into the
load
helper andAsyncData
type I introduced in an earlier post.
-
-
17
-
Migrating Off of
PromiseProxyMixin
in Ember OctaneAn important refactor for getting rid of mixins and proxies.
-
-
16
-
Twitter and Me, Redux
A 2020 update on my take on that particular social medium.
-
-
-
Jul
-
25
-
Please Reply!
My Atom and JSON feeds gained a new “feature.”
-
-
24
-
On Ending “This Week I Learned”
At least for now, I don’t have time for this particular bit of blogging. And that’s okay.
-
-
15
-
Presence
A few notes on God-with-us in his Word and at his Table.
-
-
01
-
A Git Workflow for Managing Long-Running Upgrades
Using some lessons learned in the trenches of large upgrades.
-
-
-
Jun
-
07
-
Building the Slow Way
Or, part of why rewrite is taking a while: I’m in this for the long haul.
-
-
-
May
-
31
-
Reading Habits
How exactly do I go about reading, and what do I read these days?
-
-
30
-
Composing a Fanfare for Crew Dragon: Day 8
SpaceX launched today, and I am launching the rough draft of “Fanfare for a New Era of American Spaceflight” to honor it!
-
-
28
-
Composing a Fanfare for Crew Dragon: Day 7
Memorial Day and Thursday night progress…
-
-
25
-
Making Illegal States Unrepresentable — In TypeScript
Showing how Scott Wlaschin’s approach in F♯ translates to a language with a very different type system.
-
-
24
-
Composing a Fanfare for Crew Dragon: Day 6
A surprising amount of progress over the weekend — the muscles are coming back!
-
This Week I Learned #5
-
-
17
-
15
-
Designing an Atomic CSS System
Making my CSS scalable from the outset.
-
-
13
-
mut
(andset
) and autotracking in Ember OctaneUnderstanding a surprising behavior — and fixing a refactoring hazard.
-
-
08
-
Composing a Fanfare for Crew Dragon: Day 5
Fighting a horrible mood by making progress anyway. Not much. But enough.
-
This Week I Learned #3
Less reading this week… because more composing.
-
-
07
-
Composing a Fanfare for Crew Dragon: Day 4 (Part 2)
Reworking rhythms to make the next section of this piece connect more clearly to the first.
-
Composing a Fanfare for Crew Dragon: Day 4 (Part 1)
I have a version of this piece I could publish! Now to get the rest of it done…
-
-
06
-
Composing a Fanfare for Crew Dragon: Day 3
The first draft of the first section is complete!
-
-
05
-
Composing a Fanfare for Crew Dragon: Day 2
I wrote some good harmonic lines! I started learning a new notation software program!
-
-
04
-
Composing a Fanfare for Crew Dragon: Day 1
Sharing my work as it happens for this composition.
-
Follow-Up on Command-Line Finding and Filtering
A simpler solution that doesn’t require
tr
… if you have GNU utils or other alternatives.
-
-
03
-
find, grep, xargs, and newlines and null
Turns out
tr
is your friend for this kind of thing.
-
-
02
-
-
Apr
-
29
-
The Infra Engineer’s Blind Spot
Why I ended up down a rabbit hole instead of shipping.
-
-
24
-
09
-
JavaScript Functional Immutable Update Performance
What are the performance implications of “immutable functional updates”?
-
-
08
-
Superscript and Subscript Line Heights
A tip for better typography.
-
-
05
-
On “Saints”
Should we prepend the term to “Paul” or “Augustine”?
-
-
-
Mar
-
22
-
Waiting for Communion
A coronavirus reminder of our place in the time between the times.
-
-
-
Feb
-
15
-
Scripting Affiliate Links in Alfred
Perhaps weirdly, I haven’t done much of this before!
-
-
09
-
How I Publish This Site
Explaining how I run this site — everything.
-
-
02
-
Ulysses Publishing With WordPress on Linux
A tech tip for other folks using WordPress on custom Linux setups.
-
-
-
Jan
-
18
-
Please Don’t Just Screenshot Books!
A PSA to writers-on-the-web about how we share text.
-
-
11
-
An Atom Feed Apology
Doubly embarrassing for having now messed up both of my feeds.
-
-
10
-
Epistemic Status
Making explicit just how confident I am (or am not).
-
-
01
-
A Decadal Kind of Change
Rethinking this site — and my own vocations — as the 2010s give way to the 2020s.
-
-
-
-
2019
-
Dec
-
31
-
Adieu to 2019
A year of rest and recovery, for which I’m profoundly grateful.
-
-
19
-
Writing Implements
Sheer delight — by way of writing in a Pano Totebook with a Uniball Signo RT1 0.38mm.
-
-
13
-
Endings and Edges
Reflections prompted by Michael Sacasas’ wrapping up a decade of blogging.
-
-
08
-
Decaffeinating
How and why I switched to mostly decaf coffee.
-
-
04
-
On Remembering Scripture
Time to stop leaning so hard on search.
-
-
01
-
Some Thoughts on micro.blog
I like the service. But I’m not using it.
-
-
-
Nov
-
30
-
25,462 Words
Reflections on a month of writing.
-
-
28
-
A JSON Feed Apology and Explanation
All my best efforts and this is still where we end up!
-
-
27
-
…but Running is Sunlight
(Why yes, that is a riff on Superman.)
-
-
26
-
Travel is my Kryptonite
It ruins all my normal habits and rhythms and tanks my productivity.
-
-
21
-
Twitter Bots and “Decline”
Picking up a dropped thread from Winning Slowly 7.13
-
-
18
-
Writing Requires Reading
…as my November-writing adventures make clear!
-
-
17
-
Relaunch!
A new website design and implementation for 2020 and beyond — with a new title to boot!
-
-
-