Ephes Blog

Miscellaneous things. Not sure what to put here, yet.

Date -

Weeknotes 2023-12-25

, Jochen
why concern yourself with "developer experience" when you ought to be concerned with "the human experience"? what is autocompletion in the face of the exquisite, spectral agony of realizing you’re falling out of love? what is a “build time” under the glare of impending, relentless mortality?
one day, you will die, and your legacy will be washed away when someone forgets to renew the DNS. --stillness.digital

Short work week, Christmas is culminating. The new image gallery component for django-cast is working now and it's properly integrated via django-vite and even has a unit test. I also added a layout parameter to the gallery block to be able to choose different layouts for a gallery. But the first use case for this parameter will be an "htmx" layout to experiment with just replicating the gallery functionality using only htmx. I already have an idea on how to implement this and it will probably be ready by next week

Articles

Software

Videos

Podcasts

Out of Context Images


Weeknotes 2023-12-18

, Jochen
The amateur believes he must first overcome his fear; then he can do his work. The professional knows that fear can never be overcome. He knows there is no such thing as a fearless warrior or a dread-free artist. —Steven Pressfield

Wrapping things up at work for the holiday season. Recorded and produced a podcast episode about PyTest, my favorite testing framework for Python, which was a lot of fun 🎙️.

Then I went a little deeper down this web component rabbit hole. I built a component from scratch for the image gallery stuff on this site. At first I put the Javascript for the component in the head of the html, because why not, but then I couldn't see the html in the custom element that was rendered on the server. After finding out that this was because the Javascript was executed before the content of my custom element was added to the DOM, I used a MutationObserver to detect when the html of my element was added to the DOM and then added the event listeners etc.. A little later I found out that this was complete overkill and I just need to move the Javascript for the component a little further down in the html to fix this. It's a little embarrassing to share my stupid mistakes here, but maybe this will be helpful for someone else googling for it (or asking a LLM - we still have to come up with a proper verb here, right?).

Next week I try to maybe have some tests for my component and a way to integrate Javascript and Django with maybe django-vite? We'll see 😁.

Articles

Software

Mastodon / Twitter

Podcasts


Weeknotes 2023-12-11

, Jochen
god: i have made a Single page webapp
angels: you fucked up a perfectly good website is what you did. look at it. it’s got dependency injections.
--Eric Meyer

Normal "omg there's only so much time left in the year and we're all sick" work week. Speaking of sick: Last week I caught the latest COVID variant, but what a letdown! It seems like COVID's lost its edge, turning into a mundane, almost commercialized version of its former fearsome self. It's like everyone's getting it these days – hardly the exclusive experience it used to be!

The sync renditions command for django-cast is done -> new release. Upgrading my projects to Django 5.0 and Wagtail 5.2.2 went smoothly. And there's a new version of ktpncook that fixes some minor issues. Nice progress, but my current mood is more like:

pick your battles

Articles

Videos

Weeknotes

Software

Podcasts


Weeknotes 2023-12-04

, Jochen
It’s really a shame how Cyber Monday has become so commercialized. --Max Leibman

Christmas season is heating up. Work went well, no issues there. For open source, I assumed I'd just add a little management command to django-cast to help me regenerate renditions when I change something about image sizes or formats. But this turned out to be much harder than I expected. I wasn't able to test my management command, because I kept running into strange race conditions / data persistence issues with image.get_renditions. Maybe it's because of the multi-threaded implementation in Wagtail, or a combination of multi-threading and the non-threadsafe nature of sqlite that I use for testing, but it didn't work and I couldn't figure out why. So I put all the rendition logic in another module to be able to test it without using the database. But it's still not in a releasable state - maybe next week 😅.

Mastodon / Twitter

Videos

Software

Podcasts

Out of Context Images