SmarterEveryDay Deep Dives on Disc Golf Physics

What a great video. Destin is always captivating, and I enjoyed the crossover into one of my favorite sports.

My only comment is near the end, where he takes issue with the terms “overstable” and “understable” to describe different disc flights. While it’s the opposite of what one might consider as stability for aerodynamics, it makes perfect sense in the context of the sport: an “overstable” disc is extremely stable in different wind conditions and forgiving of angles.

Claude Built Me a Markdown Reader

Core to my effort to improve this blog and my writing more generally is a better revision process. I now use tools to catch mechanical errors or to point out when I’ve slipped into passive voice accidentally, but that doesn’t address the flow of prose, the feel of the words washing over the reader. Reading out loud is a superb way to improve, but I’m not always in a position to do that.

So, last year, I built an Apple Shortcut that takes a Markdown file and converts it to an MP3 read by a premium Apple text-to-speech voice. This was fine, but clunky. I couldn’t easily adjust the reading speed, and finding the start of some paragraph to revisit meant scrubbing through an audio file. In short, I rarely used it.

After determining no simple app exists that had my basic criteria—Markdown editing and preview, ability to use built-in voice models, variable reading speed, and the ability to select a paragraph to read—I blindly threw the problem at Claude.

It did a fine job on the first try, generating an HTML file with an embedded script that, in total, was only around 15 kB. The only issue was that it couldn’t find the premium “Zoe” voice I knew was available when I opened the file in Safari—Claude’s recommendation. When I instead opened the file in Firefox, my browser of choice, everything clicked.

Then, we had ten minutes of quick iteration. I requested:

  • A way to start progress at a (somewhat) arbitrary point in the text file. Its solution was to allow each paragraph to be clicked, and the voice would begin reading that selected paragraph.
  • Simple menus to select the typeface and font size for the editor and preview windows.
  • A dark/light theme toggle.
  • A setting to adjust the paragraph highlight color in the preview window. It had defaulted to a rather aggressive yellow.

Here’s the final result.

A screenshot of a web application. The left panel is a Markdown editor; the right panel is a preview window. The text describes what this application does: You can insert Markdown in the left, and start a text-to-speech model reading the text. You can select a specific paragraph from the preview window to begin reading from that point. There are options for typeface, font size, highlight color, and dark or light theme.

Claude capably handled everything, and given my lack of large-scale programming knowledge, I was shocked it managed to build this using only the chat interface. I began this project assuming it would be my first opportunity to use Claude Code. I guess I’ll need to imagine something more ambitious.

You can access the Markdown Reader HTML file here, and follow instructions for getting the Zoe premium voice on macOS here.

Promising Forever

While navigating the house of technology you build for yourself, please hold onto banisters and sturdy bits of furniture because the rug may be pulled out from beneath you at any time.

Software companies have a silly habit of doing one or both of the following:

  1. Taking a one-time payment to access their premium version forever.
  2. Giving away a free version of their product forever.

The former exists to both gather capital (I presume) and ensnare people who are anti-subscription and have an outdated or incorrect understanding of software. The latter is solely designed to convert free users to paying customers.

Here’s the thing: these same companies have another silly habit where they conveniently forget their marketing promise and request more money, or hoover some up with advertisements. They’re making a bet that enough users will convert to a subscription (or swallow the ads) compared to the number they alienate by this move, that they come out ahead. When it’s a service with few alternatives and all with similar business models, it’s difficult to hold any of them accountable.

Not every company that has made these promises has proceeded to pull out the proverbial rug. There are at least a couple in each category that have remained steadfast, and those are just as intriguing to consider. Here’s a survey of the software and services I’ve used that have explicitly offered me forever at the cost of free or some fee, and where they are now.

Continue reading “Promising Forever”

Local LLM Thesaurus

It’s always more fun to work on something other than what I should explicitly be doing in the moment, so ideas and small projects naturally arise from procrastination. I was having trouble returning to my NaNoWriMo work after my sisters visited last weekend, and I took fifteen minutes to learn how to locally run an LLM.

My ninety percent use-case for LLMs is word refinement. While writing I will get a word stuck in my head, the wrong word for the exact feeling I’d like to describe. So, I tell some LLM (often Claude) to provide several more synonyms with varying connotations. This doesn’t rely on having up-to-date knowledge or internet access, so a nimble, offline, and local LLM would fit the task perfectly.

Somewhat ironically, I used an LLM to help me sort out what to do. It turns out this is a well-trod path. Here were my steps on my MacBook Air.

  1. Use Homebrew to install Ollama.
  2. Install my chosen model. I opted for mistral, so in a new window, I run ollama run mistral. Once it installs the first time, you can exit the instance.
  3. Run the Ollama server using ollama serve in my terminal. I leave this running.
  4. Install the app Enchanted from the Mac App Store. It’s a free project designed to provide a modern front-end to your local LLM instance. This just worked for me without any setup. It automatically detected my local Ollama instance.
  5. I used Enchanted to create a “Completion” in their app, allowing me to create a shortcut to run with a few key strokes. I select a word, and my completion appends that word to the query: “Give me some synonyms for this word with varrying connotations: text inserted here“.

That’s all it took. I had a local model running in fewer than fifteen minutes. I don’t need to pay for anything, and it perfectly fits what I need most of the time.

My Favorite Tech Media

I have a work trip to San Diego and all my other blog post ideas need more time, so here’s a quick list of my favorite tech media. I stick with these outlets for their staunch commitment to quality and independence; they’re all owned and run by excellent people with that ineffable and intangible quality of taste.

These lists aren’t in any particular order.

Websites

Podcasts

Tapestry

Tapestry by Iconfactory has significantly improved my internet experience. Similar in some ways to feeeed, which I wrote about last fall, Tapestry combines my social media accounts and RSS feeds into a single timeline. While feeeed separates itself by a larger number of built-in source connections and its “magazine” approach of curating recent items, Tapestry is focused on a linear display that holds place. You don’t scroll back to find older items you may have missed; instead, your position is held, and you scroll forward in time to see what has happened since you last opened the app. It’s the only sensible way to interact with news and media, and matches what I and many others love about the Mastodon client Ivory.

Tapestry has been a mainstay on my home screen since it launched in February 2025. I know it hasn’t landed for everyone, particularly those who actively participate in social media, but I’ve found it to be an excellent companion app in my journey to effectively use my phone uninhibited and undistracted by algorithms designed to capture my attention. I choose the sources I want and stop reading when those sources run dry. It is thoughtfully designed with customizable pops of color and the option to group feeds into categories, and they recently added post interaction for several social media sources for when I want to like a post.

I backed this project on Kickstarter on a whim, and Iconfactory delivered.