Ephes Blog

Miscellaneous things. Mostly Weeknotes and links I stumbled upon.


Weeknotes 2025-03-17

, Jochen
This Is Just To Say

I have shaved
the yak
that was in
the icebox

and which
you were probably
planning
to shave yourself

Forgive me
it was so tempting
so rough
and so hairy
--Rob Ricci


I didn't get much done on my open source projects last week. I'm considering reusing the Auphonic transcript editor for the transcript detail page. I've been thinking about how to handle transcripts with speaker annotations, but that's going to take at least another week of work. I spent a lot of time outdoors though, so I don't regret it.

Articles

Tools

Out of Context Images


Weeknotes 2025-03-10

, Jochen
On behalf of the United Kingdom, I would like to welcome the United States of America into the select club of countries that have voted to impose economic sanctions on themselves. --David Chisnall

Carnival is finally over and the weather's improving! I just released an update to django-cast where transcript models for the feed are now retrieved through a repository, and the feed is primarily generated from cacheable data. This turned out to be more challenging than I expected.

There are still four queries I haven't been able to eliminate yet: one because caching the site object is difficult, two because podcasts have additional fields compared to blogs that prevent me from using the cached blog object, and one query that fetches a post model for reasons I can't figure out. For now, I'm satisfied with the progress - eliminating those remaining queries isn't worth the effort at this point. I might work on transcript detail pages next week.

Articles

Tools

Videos

Out of Context Images


Weeknotes 2025-03-03

, Jochen
just putting this out there but: the technology has emerged. it is no longer "emerging technology." the technology is now a seeping ooze --allison

I managed to avoid going overboard with carnival festivities. Finally published the podcast episode about Auphonic that had been sitting in the queue for over two months. I'm hoping to prevent such long delays going forward. I had planned to release a new django-cast update with properly cacheable transcript data, but it turned out to be more challenging than anticipated - hopefully I can get to it next week.

Articles

Fediverse

Software

Hardware

  • framework | Nice, but maybe I'm waiting a bit for the new mac studios?

Videos


Weeknotes 2025-02-24

, Jochen
One of the advantages of the downfall of the United States will be eradicating the mm/dd/yyyy date format --Myles Eftos

Spring is finally in the air! 🌼 With the warmer weather rolling in, I found myself inspired to set up a Bedrock Minecraft server and wrote a quick blog post about the process – mostly so I wouldn't forget how to do it again later.

The nice weather also made me feel a bit guilty about my neglected kptncook project, so I pushed out a new release with some bug fixes. While I was in a productive mood, I updated django-cast too. The new version now includes transcript URLs in your podcast feed. I tested it with Castro, and it works great – there's now a neat "Transcript" button at the top of each episode that displays the transcript when tapped. I also created a new HTML view for the transcripts, though I haven't linked to it anywhere yet since it's still pretty bare-bones and needs some proper styling and layout work.

Articles

Software

Fediverse

Videos


Weeknotes 2025-02-17

, Jochen
Pessimist: The glass is half full. Optometrist: That's the letter H --Tess

Managed to accomplish quite a bit outside of my regular work this week.

PySAML2 Updates

A while back, I wrote a tutorial on setting up Django with SSO login using PySAML2's test IdP. Recently, a reader pointed out that the tutorial stopped working with Python 3.13. I filed a bug report with PySAML2 about this issue, and last week I created a pull request to make the test IdP server compatible with Python 3.13.

The main challenges were:

  1. The old cgi module from the standard library was used, but it's been removed in 3.13
  2. The test server uses shelve.open to store data on disk, which now has complications:
    • The dbm module (used by shelve) has switched its default backend from berkeleydb to sqlite in Python 3.13+
    • Cheroot (the HTTP server powering CherryPy) uses threads for concurrency but tries to access the same shelve database from all threads
    • This causes sqlite to complain about reading from a database created in a different thread

My solution is to use dbm.dumb as the backend for Python 3.13+, since performance isn't critical for a test server.

django-cast Progress

I released a new version with support for Wagtail 6.4. I'm happy to report that test coverage is back to 100%! Also made some minor fixes related to uv and tox.

django-resume Improvements

Released a new version with several improvements:

Articles

Fediverse

Software

Videos