Archive

Every single post on the site. Subscribe via Atom or JSON feed, or via email.

  • 2020

    • Dec

    • Nov

      • 30

      • 28

        • Mr. Penumbra’s 24-Hour Bookstore — LIBRARY

          Robin Sloan’s debut novel was just astonishing.

        • 11:46 — NOTES

          Robin Sloan has a great and glorious talent, and it is this: to take things we have learned to treat as mundane, and infuse them with enough mystery-or-magic-or-both that we feel the wonder of them again. It is genuinely marvelous.

        • 11:01 — NOTES

          A friendly notice, prompted by a conversation with a friend: you are not only welcome but encouraged to borrow from the design and content of this site — which are licensed under MIT and CC-BY 4.0 respectively. All you have to do is give credit and get your own font licenses!

      • 26

        • 15:58 — NOTES

          Playing around with Dendron a bit as an interesting note-taking tool. Not my thing, but it strikes me that the hierarchical” approach it takes could actually work very well with a traditional Luhmann-style Zettelkasten.

        • 10:59 — NOTES

          Sooooo much to learn about Logic Pro and the new virtual instruments I got via early-Black-Friday-sale… but I’m having a ridiculous amount of fun with it. (Good samples make a huge difference!)

      • 25

        • 10:09 — NOTES

          Just set up scheduled builds for this site using Netlify and GitHub Actions (following this handy guide) so that I can schedule drafts for the future and have them go live automatically.1 It’s pretty astounding how great these kinds of free tools are at this point.


          1. I know, this comes for free with WordPress, Ghost, etc. I like my static site generator, though: no server to manage is a big win. ↩︎

      • 24

        • 20:09 — NOTES

          I need to figure out how where to rehost my newsletter content. There was a lot of good stuff in there, even if it had the same challenge of any regularly-published content and thus a mix of stuff that is just fine as well.

        • 17:14 — NOTES

          I’ve just added an Updated’ section to my home page. Hopefully it’s a nice little signal that this site is a living space where I make changes from fixing typos and grammar to (potentially) outright changing my mind about something!

      • 15

        • 19:55 — NOTES

          Per the Geekbench scores, the new MacBook Air is about 65% faster in single-core and 75% faster in multi-core operations than my maxed-out 27″ iMac from early 2016. 🤯 Absolutely bonkers.

        • 19:43 — NOTES

          When I’m really worn out, I reread fiction I love. So yes, I did just reread Leviathan Wakes for the fifth or sixth time. #2020, people.

      • 13

        • 12:29 — NOTES

          The iPhone 12 Mini is slightly larger than the old 5/5S/SE line, but in the hand it feels the same. It’s wonderful.

      • 08

        • 15:56 — NOTES

          A thing I would love: Logic Pro X on the iPad and a rich instrument sample library ecosystem to go with it. I love working on my big iMac, but I’d also love to be able to work in Logic and with great sounds on my iPad.

      • 07

        • 16:56 — NOTES

          A thing I’m extremely committed to: any orchestral sample libraries I buy must absolutely pay royalties to the musicians they recorded the samples with.

      • 03

        • 20:54 — NOTES

          Consider this your friendly semi-regular reminder from me that a really tightly-edited podcast is an enormous amount of work. A ~30-minute Winning Slowly episode normally takes a solid 3 – 4 hours of production” work!

        • 08:13 — NOTES

          I do believe my weekend adventures in Prolog slightly broke me. I keep trying to end statements in JavaScript this morning with periods instead of semicolons. 😂

    • Oct

      • 31

      • 27

        • 22:13 — NOTES

          Did my civic duty and voted this evening. One takeaway: there is an enormous gap in information about local politics. (Good luck finding out anything about a county judge’s record without just reading the court records yourself.) The internet effectively killed the previous version of local newspapers, and their replacement has yet to appear.

        • 16:22 — NOTES

          Today I set up my camera as a camera for using the just-released software support for it. Two observations:

          1. It works really well!
          2. I had no idea just how wide the lenses on the built-in webcams are until I set this up a foot away from me with a 35mm lens. 😅
      • 26

      • 25

        • 21:30 — NOTES

          Just finished reading Zeynep Tüfeçki’s utterly masterful Twitter and Tear Gas. The book is astonishing. It gave me better frames for thinking about a great many things I’ve been thinking about for a long time now, and it is a masterful work of academic scholarship presented in a way that just about anyone could read.

        • 15:07 — NOTES

          I’d love to see Apple put its money where its mouth is on privacy and human rights: iOS 15 should make it straightforward (even if not the default) to install apps from outside the App Store. Repressive regimes would hate it.

        • 10:03 — NOTES

          Learned how to use the INDEX and MATCH functions in spreadsheets this morning. I’m always amazed at how powerful spreadsheets are — and all with relatively simple tools.

      • 24

        • Writing Robust TypeScript Libraries — JOURNAL

          A subtler art than it might at first appear, if you intend to support JS or even loose mode TS.

        • 10:33 — NOTES

          I continue to hold out hope that Apple will ship a 14″ laptop redesign akin to the 16″ they released last year — perhaps with the ARM transition. I love my 13″… but it’s just a hint too small.

      • 22

      • 21

      • 13

        • Data Constructors, Part 2: Better TypeScript  — JOURNAL

          A deep dive on more idiomatic TypeScript implementations of ML-style data constructors.

        • 20:15 — NOTES

          The iPhone 12: in which Apple finally returns to the best form factor the phone ever had. (And the Mini is closest to its best incarnation: the original SE.)

      • 12

        • 19:58 — NOTES

          After spending a year in aperture priority, I finally graduated this evening to manual mode with automatic ISO. It’s lovely. (And the Sony α7R IV, which I first tried out via rental exactly a year ago, is still just the best.)

      • 11

        • 17:30 — NOTES

          What I actually want for my website: an opinionated(-but-matches-my-opinions, of course) site generator written in Rust which acts like a static site generator but has a tiny server with a tiny CMS and uses Glimmer for its templating engine.

        • God teaches us — LIBRARY
      • 06

    • Sep

    • Aug

      • 30

      • 29

        • Can You Recommend a Book on This? — JOURNAL

          Probably not, unfortunately. Maybe I can write something up, though?

        • 12:50 — NOTES

          On the defense (mounted too often) of someone’s ill behavior online that I know this person in real life and he’s not like this”: the internet is part of real life and what you do online is inescapably a part of your character.

      • 28

      • 22

      • 21

        • 16:35 — NOTES

          We really, really need server-side template languages to catch up to, you know, 2014, where components are a thing and you can do this:

          <Quote @src={{this.book}} @loc='p. 123'>
          Look ma! Content *within* a *component*!
          </Quote>
          

          Nunjucks/Jinja macros are the closest I’ve seen and… they’re not even close in terms of expressivity. This is why people build things with React/Vue/Ember/etc. just for server-side stuff: because the DX is miles ahead.

        • 09:20 — NOTES

          I’m ridiculously excited to sit down and listen to the whole of Christopher Tin’s newly-released To Shiver the Sky — an album I backed on Kickstarter back in early 2018. Worth the wait? YES.

      • 19

        • 21:06 — NOTES

          Almost fifteen years since the first time I encountered an RSS feed (and therewith XML), I actually spent the time tonight to learn what <![CDATA[...]]> is.

          Related: I believe I have (finally!) finished fixing my Atom feed output all the way. 😅

        • 09:42 — NOTES

          I can’t really listen to podcasts or watch talks and work at the same time. I also can’t watch talks and walk or run at the same time. What I can do is listen to talks and walk or run at the same time. But there are a lot of great talks I want to learn from!

          Solution: youtube-dl plus Overcast Premium’s file uploads feature. Boom.

      • 17

      • 16

      • 15

      • 13

        • Polemic is Hard — LIBRARY

          One can only take so much bludgeoning-of-bad-ideas before growing weary of a book.

        • 13:54 — NOTES

          I just tried to switch to Slack and ask a colleague a question, and I could not for the life of me figure out why it wasn’t working: everything else I hit was.

          …then I remembered that I blocked Slack for the next hour and a half so I’d stay focused. 😂

        • theological self-criticism — LIBRARY
      • 08

      • 06

        • 08:13 — NOTES

          GitHub desperately needs better tools for conversations on issues, pull requests, etc. The new Discussions are a good start — but not enough. Give us threading, for goodness’ sake!

      • 04

        • 21:46 — NOTES

          Started reading Mary Midgley’s Evolution as a Religion for the September episodes of Winning Slowly. This is going to be quite the ride.

          (Let’s just say that her grasp on the problems of evolution-as-religion is better than her grasp on the nature of religion itself.)

      • 03

      • 02

      • 01

        • 13:57 — NOTES

          I find it incredibly annoying that Kobo audiobooks (unlike Audible?!) do not allow you to load the books you’ve purchased onto an MP3 player. WHYYYYYY?

    • Jul

      • 31

      • 30

        • 06:40 — NOTES

          Reda Lemeden, from whom I got the idea of This Week I Learned in the first place, on his own experience of the same challenges:

          But I remain convinced this is a habit I’d like to keep — if anything, it helps me rebuild confidence in my ability to follow through commitments of this kind.

          I had to make different choices by circumstance, but intellectual work as a kind of discipline is something I cannot affirm more heartily.

      • 28

        • 18:40 — NOTES

          Got our daughters iPods Nano — pre-touch screen! — and it’s delightful to watch them learn how to use this old” technology.

      • 25

        • 14:21 — NOTES

          For the technically minded among you: I just made some small tweaks to the site’s design… and you should note that you can always see what I’m up to and why by just reading the Git history.

        • Please Reply! — JOURNAL

          My Atom and JSON feeds gained a new feature.”

      • 24

      • 20

      • 18

        • 07:12 — NOTES

          As I’ve been working working to build this site into something flexible and robust enough to handle all the kinds of things I want to do with it, I keep coming back to wanting to be able to define custom content types, and to easily compose them together. Markdown is great as a text authoring format, but it’s not rich enough for many things we do.

        • Good Theologians — LIBRARY
      • 17

        • 06:40 — NOTES

          If your love” for God or his church church leads you to scorn the ordinary Christians you know… you actually love something else. Idolatry comes in many guises.

      • 16

        • 12:30 — NOTES

          A thing about Apple Music that I absolutely hate: when you click Play on a recommended album or playlist, it changes the other recommendations. What if I wanted to try more than one of these?

      • 15

        • Presence — JOURNAL

          A few notes on God-with-us in his Word and at his Table.

      • 01

    • Jun

      • 28

        • 15:59 — NOTES

          In semi-related news: my fingers are remembering how to play somewhat more complex things on the piano again, and it’s been really, really good for my soul.

        • 15:53 — NOTES

          Just published the last issue of my newsletter. It’s been a great run, but time to focus on other things — not least so I can actually finish some of those other things!

      • 27

        • 18:25 — NOTES

          This year’s updates to SwiftUI have me actually a little happy I didn’t make more progress on rewrite over the last year. The story is much, much more complete and robust. Hopefully I can use it to build that much more quickly this year.

      • 21

        • Sourdough — LIBRARY

          Easily the most delightful book I’ve read in years.

      • 19

        • 17:00 — NOTES

          I was hoping for a pleasant afternoon implementing a markdown-it plugin for line blocks” to support poetry. It was… not a pleasant afternoon.

          markdown-it is fast, but between its API design (:shudder:) and its mostly-missing docs (:sigh:) it’s terrible to work with. I quit.

        • 13:00 — NOTES

          Honestly, seriously wrestling with the fact that I’ve made a little progress on the rewrite web app this year and no progress on the iOS app this year. How the heck am I ever going to finish this thing at this rate?

      • 15

        • 15:08 — NOTES

          On the American political parties today:

          When someone walks up to me and asks, So who do you serve, Moloch or Mammon?” my answer is and must be — very simply — “Neither.”

      • 14

        • 17:50 — NOTES

          Making good diagrams that work well across screen sizes and in both light and dark mode takes a really astounding amount of work. (The essay for which I discovered this only manages the light/dark mode part of that and it was still kind of ridiculous!)

      • 07

        • 21:03 — NOTES

          Back at my week-level bullet journaling. It’s always helpful (even when I don’t get through everything on my list); I just need to make it stick!

        • Building the Slow Way — JOURNAL

          Or, part of why rewrite is taking a while: I’m in this for the long haul.

    • May

      • 31

      • 30

      • 28

      • 25

      • 24

        • Composing a Fanfare for Crew Dragon: Day 6  — JOURNAL

          A surprising amount of progress over the weekend — the muscles are coming back!

        • This Week I Learned #5 — JOURNAL
        • 11:46 — NOTES

          It astounds me that there is no text editor on iOS which gets everything right (like syntax highlighting) for writing about programming, and in fact none which do everything right on modern iOS, including keyboard and now pointer support, Files support, and syntax highlighting.

      • 17

      • 16

        • 09:00 — NOTES

          Status: I’m back to desperately wanting my own site engine. 11ty is incredibly flexible, and that’s great… but it gets slow very quickly if you’re generating large amounts of output. I will not shave this yak. I will not shave this yak. I will not…

      • 15

      • 13

        • 20:27 — NOTES

          Next thing I’m thinking about with rewrite (while trying not to over-think): design systems! I want to build this in a scalable, maintainable way.

        • mut (and set) and auto-tracking in Ember Octane  — JOURNAL

          Understanding a surprising behavior — and fixing a refactoring hazard.

        • 08:11 — NOTES

          Last night I threw away almost all the build config I’d been blinded by this spring while working on rewrite: webpack config, TypeScript integration, you name it. What I have left: a simple bunch of npm scripts that I can run in parallel in different terminal sessions:

          {
            "scripts": {
              "clean": "rm -rf dist/*",
              "build:static": "cp static/* dist",
              "build:css": "sass --load-path=./node_modules src/style.scss dist/style.css",
              "watch:css": "sass --watch --load-path=./node_modules src/style.scss dist/style.css",
              "build:elm": "elm make src/Main.elm --output dist/app.js",
              "watch:elm": "watchexec -w src 'elm make src/Main.elm --output dist/app.js'"
            }
          }
          

          It’s not fancy, but it gets the job done just fine for the things I’m actually working on — rather than things I’ll need eventually — and that’s exacty the right balance at this point.

      • 12

        • 10:15 — NOTES

          TypeScript: it’s regularly absurd or weird, and I am frustrated regularly by so many things about the type system… but nearly all of them come down in practice to this works this way because JavaScript and JavaScript developers.”

      • 10

        • 20:31 — NOTES

          A thing that has gotten way better since the last time I was messing with MIDI stuff: almost all hardware supports USB out now, instead of needing insane MIDI-to-USB adapters.

      • 09

        • 10:37 — NOTES

          Having used the iPad Magic Keyboard for a couple weeks now, and having typed on the one on the 16″ at a store a few months ago, I’m officially ready for this to be an external keyboard for my desktop Macs, too. It feels really good.

      • 08

      • 07

      • 06

      • 05

        • Composing a Fanfare for Crew Dragon: Day 2  — JOURNAL

          I wrote some good harmonic lines! I started learning a new notation software program!

        • 08:10 — NOTES

          A pain point for would-be readers with the way I’ve designed this site: there’s no easy way for people to subscribe to just one specific topic at present. I can generate per-topic feeds… but I’m already seeing painfully-rapid growth in build times.

      • 04

      • 03

      • 02

    • Apr

      • 29

        • The Infra Engineer’s Blind Spot — JOURNAL

          Why I ended up down a rabbit hole instead of shipping.

        • 06:34 — NOTES

          New approach to goals: write a little every morning, work on rewrite a couple evenings a week. Trying to make massive amounts of progress is hard right now for a variety of reasons, but if I can make a little progress every week I’ll get somewhere.

      • 28

        • 21:07 — NOTES

          Apologies to folks who just got a bunch of posts in their feeds again. I finally figured out how to get Eleventy to treat my post dates correctly.

        • 20:45 — NOTES

          Weird but true: I really, really love writing docs. It’s always one of the most satisfying parts of any project for me.

      • 26

        • 09:00 — NOTES

          Between my new This Week I Learned entries, an interest in having all my notes in one place, and a desire to actually use my notes system more effectively I’m trying something new with my reading: notable things I read (and my comments on them) will now live in Bear instead of Pinboard. I expect this will help a lot with active review of my reading notes. (I may go ahead and do something I’ve thought about for a while and pull all of my Pinboard notes over to Bear, too!)

      • 25

        • 16:07 — NOTES

          I just updated the first entry in my This Week I Learned” series because I realized I’d left off a couple items I meant to include — the first items I bracketed for inclusion, in fact! What can I say? It was a long week. 😅

      • 24

      • 09

      • 08

      • 05

    • Mar

      • 30

        • 21:26 — NOTES

          Almost nothing makes me as irritable as tendentious or hagiographical histories. Don’t glamorize or villainize the people of the past: tell the truth.

      • 29

      • 28

      • 25

        • 21:12 — NOTES

          Trying out cursor support on iPad OS 13.4 for the first time this evening, as well as having remapped Caps Lock to Ctrl (as it should be), and… the experience is simultaneously incredibly delightful and really, really weird. Weird in a good way, but weird.

      • 22

      • 21

        • The Lost World — LIBRARY

          Not quite as spectacular as the first entry… but still a lot of fun.

        • 17:21 — NOTES

          Perhaps the single most-broken thing in iOS’ Files app: the fact that you cannot specify a default app to open a file in. An arbitrary app wins. It’s infuriating.

      • 15

        • Jurassic Park — LIBRARY

          A book that knows it is both a sci-fi thriller and sociotechnological commentary.

      • 08

        • 19:42 — NOTES

          Status: working on figuring out how to wire up Elm and Rust-via-WebAssembly using webpack. I’ve spent the last four years in Ember and before that I was wiring up Gulp. So this is new. 😅

        • 16:13 — NOTES

          Quick Git tip: if you’ve manually edited your Git configuration file and removed a given remote, you may find yourself in a spot where you now have a bunch of branches associated with that remote… which you cannot delete. The only way (I could find) out of this problem was to re-add the remote, and then run git remote rm <the name of the remote>. That deleted the remote and all the references to its branches

        • 10:34 — NOTES

          Wanted: something like The Archive, but for iOS. Bear is beautiful and I love it, but I want my notes on disk because then I can do anything with them from anywhere — not just what one app can come up from. (And yes, a document object model like people dreamt of in the 90s would also solve this well, but for today I’ll take what I can get.)

          And yes, this is what I’m working on with rewrite.

      • 05

        • 20:46 — NOTES

          I’m not quite sure how this had never occurred to me before the last week or so, but I ordered some refills for my current favorite gel pen and it only at that point occurred to me that I could put those refills in a different pen case. 😂 At some point I’ll have to try that.

        • 14:35 — NOTES

          One of the critical things Jira gets wrong — besides just generally having pretty bad information architecture — is that it treats issues as a tree instead of a graph. But that’s often not how projects and tasks actually relate to each other!

      • 03

      • 01

        • God’s self-commitment to creatures — LIBRARY
        • 18:09 — NOTES

          After digging in further: Zig is not doing quite what Rust is. It is an updated C, which eliminates some of the worst foot-guns, but fundamentally does not try to eliminate memory-unsafety… which profoundly disappoints me, even if I still wish Zig success.

        • 14:33 — NOTES

          Zig is the first language that I’ve seen which seems interested in seriously playing in the same space as Rust.

          And it does it in a substantially different way, which I like! It feels (reading docs) kind of like a doing the kinds of things Rust does but with C instead of C++ as its direct competitor.”

    • Feb

      • 29

        • 16:41 — NOTES

          I really, really wish GitHub had a slightly lower entry point for Teams/Organizations. I’d like to do everything for rewrite in a single organization on GitHub, rather than all under … but $25/month is frankly kind of steep for one developer. I’d be happy paying $10/month for just organization management, with the jump to $25 for supporting multiple developers. As is, though… GitLab looks appealing, whatever its other weaknesses.

        • 15:38 — NOTES

          This feels good. Substantial increase of January’s time and mileage… despite the fact that this ended up being something like the 4th snowiest February on record along the Colorado Front Range! I spent a loooooot of time running in the snow this month.

          image of February Strava stats, much higher than January's
        • 11:30 — NOTES

          A quick sketch of an idea which I hope to test out by the end of the day: the best way to handle responsive” routing in an Elm app — for a master-detail view where the master view isn’t visible when at a detail route on screens below a sufficient size — is to just use a port and send a message on screen size change.

      • 28

        • 20:03 — NOTES

          Parenting is without a doubt both the most rewarding and the most tiring thing I do, full stop, bar none. My daughters are amazing, and also they are full-fledged humans with all their own wants and needs… but still very little practice as yet at being humans.

      • 23

        • 17:25 — NOTES

          I’ve spent a good chunk of this afternoon working through and tweaking and fixing some things about this website, and as much as I like 11ty, at this point I would love to be doing this work in Elm instead. A tool like elm-pages seems very appealing.

          As for why: I just spend a lot of time sad about JS sorry bro that’s undefined stuff and templates being totally type-unaware. Even something like Gatsby + TS would probably be better here, but Elm’s rigor and top-to-bottom integration of types and rendered HTML and CSS would be a huge win for the way I build websites.

      • 20

        • 08:15 — NOTES

          I just got curious so I looked up: Winning Slowly has published 120 episodes in the last 6 years! Sloooow but steady (as is only right 😂). Averages out to ~20/year, which is surprisingly high given the last couple years, but we were churning them out fast those first couple seasons.

      • 19

        • 20:21 — NOTES

          This is, perhaps, a little odd, but: one of the little things I’m most excited about with Winning Slowly right now is that — at long last, and years overdue — we’re actually doing something with Patreon. We’ve had it, and had minor benefits for it for a long time. Now we’re taking it seriously: keeping it up to date, publishing extra materials there, etc. Crazy talk, I know!

      • 18

        • 13:20 — NOTES

          One thing that makes me eager to upgrade to the next-gen iPad when it comes out (…and I’m actually seriously contemplating the 12.9″ this time around) is how fabulous it is to be able to do the entire workflow for things like cameras on it with just normal cables.

          It is already my default device for photo editing (Lightroom on iPad is 💯) and I think it’s going to be my default for podcast editing after having done Winning Slowly 8.03 in Ferrite. (To anyone interested in podcasting, I’d absolutely recommend Ferrite over anything else out there at this point. The experience of editing a podcast with that app and an Apple Pencil is just phenomenal.)

      • 15

      • 13

      • 09

      • 02

    • Jan

  • 2019