Ephes Blog

Miscellaneous things. Mostly Weeknotes and links I stumbled upon.


Weeknotes 2023-02-13

, Jochen
The logic of the world is prior to all truth and falsehood. —Ludwig Wittgenstein

Been sick for the umpteenth time this winter. Tried to do some chores on django-cast to pass the time:

  • The test coverage is now at 100% (failed to configure codecov.io to report the right number..)
  • Nearly complete type annotations, which created a bug in production (failing isinstance call which got necessary to make mypy pass)
  • Wagtail 4.2 compatibility, which led to this bug report
  • Fixed the pagination feature

Updated my self-hosted mastodon instance to 4.1, which was just a redeploy - smooth.

Articles

Software

  • Mypy 1.0 Released | And it's faster 🥳
  • SiYuan | An obsidian alternative
  • slippers - Build reusable components in Django without writing a single line of Python

Mastodon

Video

Podcasts


Weeknotes 2023-02-06

, Jochen
I am wondering what should be the color of this bikeshed? --@kushal

The usual work and usual chores. Nothing interesting here.

Finally tried out Obsidian - wow, this is a deep rabbit hole. Syncing also works with iCloud folders between iOS and macOS. It's not great but sufficient for my needs (sharing links with the daily note).

Split the blog and podcast model and released a new django-cast version.

Articles

Weeknotes

Software

Mastodon / Twitter

Podcasts


Weeknotes 2023-01-30

, Jochen
Your honor my client is no longer in their villain era --@ItsMattsLaw

At work, I had to find out that Python enums are slow when used as keys in a dict. I would never have guessed that some_enum.__hash__() is the main occupation of the software I wrote. Unfortunately, I won't attend PyConDE this year because I forgot I already bought tickets for btconf which happens on the same date 😭. And I am still not sure whether I should attend DjangoConEU 2023 or EuroPython 2023 - maybe someone is interested in trying to convince me? Also recorded a new podcast episode about PyPy which was a lot of fun. No issues with django-cast this time, all went well. Didn't even have to touch the Django admin. Closed all the issues I opened up last time.

There were also some improvements to django-cast:

Articles

Software

Events

Videos

Podcasts


TIL: Editable Package Installation

, Jochen

Usually, I use pip -e ../package-directory to install an editable version of a package I use in a different project. Usually I use this method to track a bug or develop a new feature. Some time ago I switched to using flit to build my packages because it supports putting all the configuration in pyproject.toml and is not poetry. Today I had to learn that for a django-packages built with flit but then installed with pip -e the Django template lookup is broken. Using flit install -s works fine though.


Caching Audio File Sizes

, Jochen

The feed generation of Python Podcast was kind of slow. Looking deeper into this using sentry, I found out that for each item in the feed, the size of the audio file has to be fetched via HTTP from S3. Ok, this might explain it 😅.

Here's a complete stream of me fixing the issue by caching the audio file sizes in a JSONField including the deployment to python-podcast.de. The stream is in german.

A few hours later I checked the slow HTTP-operations graph from sentry. Caching seems to work:

Effekt des file size cachings