Ephes Blog

Miscellaneous things. Mostly Weeknotes and links I stumbled upon.

Date -

Weeknotes 2025-07-28 - Sentinel Values, IndieWeb Updates, and New Hardware

Are you fine (fucked up, insecure, needy, and emotional)? --amy tech (bones)

Building a Better Blogging Habit

I've been thinking about blogging more regularly, even if it's just quick "Today I Learned" posts whenever I discover a new approach to something. In our latest podcast episode, we discussed sentinel values in Python, and my Auto sentinel approach didn't go over well. We even received an email from a listener suggesting improvements, which got me thinking—this deserves a blog post. The takeaway? Avoid sentinel values unless you can't use None because it already has special meaning (like representing null in a database). I also wrote about handling editable installs with uv, since running uv pip install -e ../some-dependency followed by uv run pytest can cause issues when uv run internally calls uv sync. While I don't have a perfect solution yet, my current workaround might help others facing the same problem.

IndieWeb Integration and Community

This blog now supports webmentions thanks to the latest django-indieweb release. While implementing this feature, I also added proper microformat annotations, "continue reading" links, a profile photo, and a now page. Speaking of IndieWeb, I attended a local Homebrew Website Club meeting, which was fantastic. I discovered that my Bridgy connection between this blog and Mastodon was already functioning.

New Hardware and Language Switching Adventures

Concerned about Claude Code potentially becoming unavailable or prohibitively expensive, I decided to invest in hardware for running models locally. While open-weight models aren't quite at the level of commercial offerings yet, they're rapidly improving. I'm excited to start testing on my new 128GB M4 Mac Studio (the M3 Ultra looked tempting, but I couldn't justify the price). This might inspire me to update my awesome-devenv repository and share my software setup and new Mac configuration process. I'm considering Ansible for automation, though I'm not sure the effort is worthwhile for something I do so infrequently.

I also picked up a new keyboard that was only available in US layout, and now I'm battling decades of muscle memory just to type properly. Here's an amusing side effect: after switching to the US keyboard layout and setting English as the primary language on my Mac Studio, Siri on my Apple Watch suddenly forgot how to understand German. This definitely shouldn't happen—maybe it's Siri's way of protesting the change!

Articles

Software

Videos


Weeknotes 2025-07-21

I guess you've heard some bad jokes about Fibonacci sequences?
Well, this one is as bad as the last two you heard put together.
--Kit Yates

Still got a ton of work ahead of me, and it probably won't let up until the holidays. I did manage to update the django-cast documentation a bit though. It's not as detailed as I'd like, but at least the structure is better now. Over the weekend I played around with VibeTunnel and Wispr Flow, which were really interesting. It still feels weird dictating to my phone or laptop, but I probably just need more practice to get used to it. We also recorded a new podcast episode about data science that should be out soon.

Articles

Software

Videos


Weeknotes 2025-07-14

I don’t use em dashes because I’m an AI. I use em dashes because I’m pretentious --Jason Lefkowitz

This has been a hectic summer, and there's not much I can do about it. I pushed out a new release of django-cast that fixes gallery navigation issues with duplicate images and speeds up tox execution, along with several other development infrastructure improvements. After spending over two months with Claude Code, I figured it was worth exploring some alternatives. Since I'd already tried codex and found it didn't quite measure up to Claude Code, I gave gemini-cli a shot. It's marginally better than codex, but still not in the same league. It'll probably be a while before the competition catches up.

Since I often run Claude Code in yolo --dangerously-skip-permissions mode, I've been thinking about how to manage the multiple instances I typically have running concurrently. I ended up writing a short blog post about the quirks of juggling them all.

I may have also inadvertently agreed to write a blog post about running Django in an Electron shell. This could make for a good holiday project, I suppose.

Articles

Software


Weeknotes 2025-07-07

May you find someone who loves you with the same enthusiasm that mainstream tech publications have for the press releases about the latest AI model --Tom

Work's been keeping me busy, but I did manage to get the new podcast episode out – this one's about data class builders. Meanwhile, I've been doing some serious housekeeping on django-cast:

  • Switched over to a proper src layout
  • Now using the uv build backend
  • Ditched black, isort, and flake8 in favor of ruff

Articles

Software

Video