Migrating Day One Journal Entries to Obsidian

I recently moved away from Day One and am now using Obsidian to keep my daily journal. To make that possible, I needed to migrate over a decade’s worth of journal entries into an Obsidian-friendly format.

When I first started using Day One, I wrote about it on this blog and said one of the requirements needed to be

…and stores my data in an open format that I’m confident is future proof and exportable to another system if the need ever arises.

I’m happy to say that worked out well. I don’t know what I’d do if my 20,000+ entries were locked-up in a proprietary format.

This Swift script takes Day One’s JSON export file (and media attachments) and converts each entry into a YAML + Markdown file that is friendly to Markdown editors like Obsidian.

Entries are sorted into folders based on their date with support for multiple entries per day. Media attachments are saved alongside the Markdown files as inline attachments.

Running the script

d1obsidian <path-to-export.json> <some-output-folder>

will create a directory structure like this:

/export-folder/
  /2023/
  /2024/
  /2025/
    /2024-01 - January/
    /2024-02 - Februrary/
      /2024-02-01/
        2024-02-01 - 001.md
        2024-02-01 - 002.md
        some-image.jpeg
        another-image.jpeg

Based on the availabe metadata, each entry’s Markdown file will look similar to:

---
uuid: AA7A6A77946547449ED0BBC99349537C
creationDate: 2013-02-13T20:38:54Z
timeZone: America/Chicago
location:
  latitude: 37.546
  longitude: -77.439
  localityName: Richmond
  administrativeArea: Virginia
  country: United States
weather:
  conditionsDescription: Cloudy
  weatherCode: cloudy
  temperatureCelsius: 3.5
---
Today I went for a run and ate a sandwhich.

![](991F17490A0F4A919116C5AB428E6F1E.jpeg)

It’s worth noting that this script does not exhaustively migrate all fields that Day One supports — mostly because I couldn’t find a complete listing of all the available fields. It also strips out dayone-moment:/workout and dayone-moment:/location in-line references from your entires.

And in keeping with open source tradition, there are plenty of other export scripts floating around GitHub and the Obsidian forums, but it was easier to hack this together quickly than try and modify someone else’s to match the output I wanted.

DayOne-Obsidian-Exporter on GitHub

All Your Brand Are Belong To Us

The last iOS redesign, iOS 7 in 2013, laid the foundation for a neutral, nearly agnostic visual language that third-party developers and companies could build their own brand and corporate design on top of. It was such a clean slate that, twelve years later, most major apps look similar — if not identical — between their iOS and Android counterparts. Ignoring platform exclusives, most apps eschew Apple and Android’s branding in favor of their own.

Liquid Glass, in Apple’s 2026 operating systems, feels like an attempt to reassert control over third-party app branding — forcing others to become a subset of the larger iOS brand and look and feel.

It also strikes me as a defense against the continued growth of cross-platform frameworks by furthering the distance between what’s a “real” iOS app versus a cross-platform app — or even against apps that try to meet in the middle of both platforms design-wise. It will be more challenging to build an app that feels at home on iOS with limited development and design budgets.

Put another way: three days after the WWDC keynote, Liquid Glass feels just as much a strategic business move as it does a design solution in search of a problem. (I’m striking out that last phrase from my original post. It was unintentionally more harsh than I meant it to be.)

(For my younger readers.)

minifeed

I recently discovered minifeed, and it has quickly become one of my favorite things on the internet.

Minifeed is a curated blog reader and search engine. We collect humans-written blogs to make them discoverable and searchable.

Once, maybe twice a day, I load the homepage and browse through the latest posts from real blogs written by real humans. I almost always find something surprising, delightful, weird, or just plain fun to read. Even better, I come away with a new blogger to follow.

From the minifeed About page, there is a self-imposed deadline to decide if the service is worth maintaining:

I have been building and using Minifeed since December 2023 (see changelog). I will launch it publicly by the end of 2024, allow paid subscriptions, and keep actively working on it for 1 year (until end of 2025). In December 2025 I will make a public announcement choosing between one of 3 options:

  1. Given enough interest and support from users, continue to develop and maintain Minifeed for the long term.
  2. Given little, but not enough interest, run it for as long as the money lasts.
  3. Given no interest, shut it down and allow users to download all their data in a simple, usable format.

I sure hope they start charging soon. I’d love to see the service last.

Advice

My son turned eleven last month. He reads all the time (fantasy books are his favorite) and has started planning and building his own worlds to write stories about.

He made a to-do list in his writing notebook, and I asked him if I could share it here. It’s good advice.

  • Finish planning
  • Start writing
  • Don’t give up
  • Take occasional breaks
  • Finish

Re: Music Year-End Lists

What should have been an email is now this blog post answering Nick Heer:

I am sure there are terrific records that do not appear on any of these lists, just as I am sure there are album rankings you reference instead. If there is one you think I would like, please let me know.

These are my top albums from 2024.

How do I define “top albums from 2024”? Easy.

  • “Album” means a new release from an artist in the classic full-length record sense. No greatest-hits compilations, half-assed singles, or three-track EPs. (Live albums are A-OK.)
  • “2024” means it was released in the 2024 calendar year.
  • “Top” means most times played according to Plex and Roon running on the Mac mini in my office closet. Why? Because Spotify and YouTube are for discovering and browsing. Plex and Roon are for listening to music that has graduated to “stuff I care about”. Put another way, music I bought with real money. (Also, my streaming music stats are all shot-to-hell because of my day job.)

With that out of the way, here’s my top 10, in no-particular order.

I’m not sure what to make of that list other than to notice it’s a much louder collection of artists than in past years. Why louder? Well, <gestures wildly at the world>


(A benefit of living in Nashville is an endless supply of live music. From the list above, I saw Joey Valence & Brae, IDLES, Oliver Wood, The Sleeveens, and Yard Act. Each one, a fantastic show. Highly recommended if they tour near you.)

Steve

A quote I often find myself thinking about is

The opposite of play is not work — the opposite of play is depression.
Brian Sutton-Smith

An eighteen hour family road trip the week before Thanksgiving certainly gives your mind time to wander and the opportunity to play.

So, let’s play.

Steve is a new, casual, puzzle game for your iPhone, iPad, Mac, and Vision Pro.

The goal is simple. Fill the grid using the correct number of blocks. As my family and friends and (so far) five-hundred strangers will tell you, it’s easy to learn. But annoyingly difficult to master.

Here’s a short video of my son explaining how to play Steve.

And here’s a screen recording of a simple puzzle.

My wife loves puzzle games. I wanted to build something that would appeal to her but also be approachable enough for my kids to play. The four of us debated and play-tested the game mechanics throughout the road trip. My wife chose the name “Steve”.

I also wanted Steve to be an app you’d feel comfortable handing to your kids to play. No scummy ads. No subscriptions. No predatory in-app purchases. Just a single, one-time $2.99 unlock for unlimited puzzles.

If you don’t want to pay, that’s fine, too. The best part of Steve is The Daily Steve — a free, daily puzzle that all players worldwide compete to solve the fastest. (Or, at your own pace — you don’t have to look at the leaderboard if you don’t want to.)

Steve was a fun distraction to build, and the first game I’ve made since I was a teenager. I hope you enjoy playing it. As always, feedback is very much welcome.

You can download Steve on the App Store.

Here

Yesterday, we entered a new timeline. I don’t know if it’s a better one or a much worse one.

But it’s something new.

This evening, we arrived home from touring a new city — checking out neighborhoods and schools — and found the unspeakable had marched on our hometown. Filth and venom, spewing.

The kids watched a movie, and I went for a run alone in the dark. To think.

It was a half mile down the river from the spot where their grandparents took them fishing yesterday – not far (in space or time) from where the mother drowned her two-year-old in the lake. I don’t believe it was out of evil. It was because here, there is no avenue for help — only hate.

My son came into our room at bedtime to say goodnight. He gave me a big hug — even longer than usual. I told him I missed him while we were away and was glad to be home. He hugged me tighter and said, “You’re the best dad.”

And just like that, it was decided. They can’t grow up here. We have to leave.

Light Switch in a Dark Room

Prompted by this post from Mario Guzman, I was finally about to put into words what bothers me about Siri – and what I hope Apple’s upcoming A.I.-focused WWDC will improve.


We’re over a decade into the industry’s voice assistant experiment, and given the same input, the output doesn’t feel reliably deterministic. Voice is an interface that is not stable or discoverable.

Every morning, I say, “Hey, Siri. Turn on the office lights.”

This morning, Siri responded, “Sure. What would you like them set to?”

Did I misspeak? Did background noise throw off the voice recognition? Did a random number generator deep inside the HomePod choose the wrong code path? Was my Hue bridge momentarily offline, so Siri fell back to controlling my thermostat?

I don’t know. And there’s no way to find out.

Everything about Siri (and competing assistants) is unknowable.

And even though the lights will turn on nine out of ten times, or even ninety-nine out of one hundred times, I still feel a little tension in my voice each time. My requests feel more like guesses than instructions.

Every interaction feels like finding a light switch in a dark room.

Inner Workings

Ok, on a scale from 1 to Tyler-you’re-an-idiot, how dumb is this idea…

TextBuddy 2.0 is gaining new features that apply per-editor window, and I need a place to stash those settings. It’s more than can fit into the narrow width of a side panel, and I’m not a fan of giant iWork-style modal sheets.

These new fiddly settings are like the “inner workings” of the TextBuddy document you’re editing, which gave me the idea of having those settings “inside” the window itself.

If I complain that modern software is too generic and boring, I should take my own advice and try something fun and borderline silly.


And while I’m thinking of it, if you’ve never used TextBuddy or my other app Fastmarks, here are two screen recordings showing their About windows. (About windows are magical places that, in the best cases, tell you something about the people who built an app rather than just the company name and version number.)