Did some cleanup after switching to the new wagtail-based django-cast for my homepage and python-podcast.de. Had to rename the users, backup, and remove the old services. Made sure the new backup is working. Then I deployed a self-hosted Mastodon instance and migrated my user there, which worked out well.
Went to the trivago Tech Get Together event to meet with friends and former co-workers. Had a lot of fun and heard about openpodcast.de - an open platform for podcast analytics, which is an interesting and promising project.
- Stable Diffusion and AI generated art is absolutely wild in every way | Some solid fun with stable diffusion
- Verifying your GitHub profile on Mastodon
- Fedi.Tips - An Unofficial Guide to Mastodon & the Fediverse
- The case for dynamic, functional programming
- Massively increase your productivity on personal projects with comprehensive documentation and automated tests | Writeup of Simon Willisons DjangoCon US 2022 talk
- Lazy loading images in HTML | Hmm, now I have to find out a way to determine the size of images on my website.. I usually use just 100vw, does this work?
- Science and Technology links (November 26 2022) | "Molière’s famous play, Tartuffe, the main characters is outwardly pious but fundamentally deceitful. Are people who insist on broadcasting their high virtue better people, who are they more like Tartuffe. Dong et al. (2022) conclude that people who say that they have good values are not necessarily better people in practice, but they are more likely to be hypocrites according. That is, Tartuffe is a realistic character. It is worth pointing out that Molière’s play was censored by the king." Hehe, we just talked about this in the last podcast episode, right?
- Mastodon on your own domain without hosting a server
TIL this week
- I'm convinced that one of the biggest architectural mistakes of the past decade was going full microservice On a spectrum of monolith to microservices, I suggest the following: Monolith > apps > services > microservices So, some thoughts
- Save Your Threads | High-fidelity capture of Twitter threads as sealed PDFs
- Comfort noise for different use cases
- Twitter Archive Parser | Written in Python
- Pleroma | ActivityPub implementation written in Elixir
- GoToSocial | ActivityPub implementation written in Go
- Mastodon website bookmarklets
- Bits und so #818 (GTO) (Bits und so)
- Folge 1: Einführung – Die Moderne verstehen (Andreas Reckwitz im Gespräch: Die Gesellschaft der Singularitäten)
- #13: Open Source Business Models (TOPP: The Open Podcast Podcast)
- Open Web mit Matthias Pfefferle (Wo wir sind ist vorne) | little bit slow, but lots of interesting resources
- Trööt statt Tweet - mit Leah Oswald (She Likes Tech)
Out of Context Images
This was easier than expected. For the most part, I followed the official "Installing from source" documentation. But there were some differences, too. Therefore writing this up might be useful for someone with a similar setup.
The Stack I Used
"Better to sink in boundless deeps, than float on vulgar shoals; and give me, ye gods, an utter wreck, if wreck I do." —Mardi
Lots of stuff happened last week besides work. After we finally found time to meet for some podcasting the week before last week, I finished producing our podcast episode about Python 3.11 😎.
Last week I wondered how long it will take to migrate the content after being able to deploy my new wagtail-based django-cast version. Turns out it didn't take that long, because now both this website and python-podcast.de are running the latest Python/Django/Wagtail combination. Ok, I have to admit it was a lot of work, and I broke some stuff, but now it's done. Finally 🍾! I started this project around 2019, so long ago that I don't even remember exactly when!
- Digital detritus | This is a great idea. I kind of do this with video and pictures, too. But I struggle badly with email and I already have a hoard or two on some external hard drives *sigh*.
- After Twitter | Ok, maybe I give mastodon a try, besides looking very yakish
- Databases on un-RAID-ed storage?
- The Sky Is Falling | Hmm ok, how can I short this?
- Twitter, ActivityPub and The Future | ActivityPub might be good enough and Andrew Godwin is writing a Mastodon-compatible server based on Django. Ok, where do I have to sign?
- Takahē: A New ActivityPub Server | Django, async, and now even htmx! Need to look at the source, soon...
- Mastodon release v4.0.0
- Yamanote | Bookmark pages to SQLite, an interesting approach
- Takahē is a new ActivityPub server, designed for efficient use on small- to medium-size installations, and which allows you to host multiple domains on the same infrastructure | Super interesting, by Andrew Godwin
- #333 – Andrej Karpathy: Tesla AI, Self-Driving, Optimus, Aliens, and AGI (Lex Fridman Podcast)
- Revision 545: The State of CSS (Teil 1) (Working Draft)
- Mastodon for Python Devs (Talk Python To Me) | Ok this has pushed me over the edge, now I have to try it 😱
Out of Context Images
No images this week, I was busy sitting inside staring at computer screens.
TLDR: Copy&paste saved me a few minutes in the short run, but did cost me a few hours of debugging a year later.
Lots of stuff to do. Some of the projects I worked on last week:
But now I need to convert all my template-based content to StreamField. Which seemed difficult at first, but then my lack of HTML knowledge saved the day: just throwing my old HTML content into a RichTextBlock living in a StreamField worked surprisingly well (see this: from legacy to wagtail conversion notebook). Seems like I can get away with just converting my custom template tags for images, galleries, videos and audio into proper StreamField blocks and keeping the rest of the html basically as it was. Sweet.
Added a DELETE_WAGTAIL_IMAGES setting to be able to deactivate wagtail delete images physically to be able to test migrations.
This only works if cast happens to be placed behind wagtail in INSTALLED_APPS since Django has no way to call a function after all apps were installed. Video posters do now work with wagtail videos. The gallery modal now also works on the blog list page and not only on the post detail page.
- Substitute | webcomic
- A Python 3.11 “gotcha”
- The internet is already over
- Curiosity as tourism
- An interactive guide to color & contrast
- Mastodon is just blogs | Ok, I'll probably give mastodon a try, having to host it by myself probably, since masto.host is temporarily unavailable atm
- Inside the mind of a frontend developer: Hero section
- Weeklog for Week 44: October 31 to November 06 | Johannes
- Week in Review 2022-11-07 | Luis
- Designing a write API for Datasette | Simon Willison
- In defense of linked lists
- minestrone | nicer wrapper around
microblog.pub - A self-hosted, single-user, ActivityPub powered microblog
django-unfold - Unfold is a new theme for Django Admin incorporating some most common practises for building full-fledged admin areas
- Episode 131: Exploring the New Features of Python 3.11 (The Real Python Podcast)
- Python Perf: Specializing, Adaptive Interpreter (Talk Python To Me)
- Python 3.11 is here and it's fast (Talk Python To Me)
- DjangoCon US 2022 Recap (Django Chat)
- #307: Your Python just got faster (3.11 is out!) (Python Bytes)
- Episode 129: Using an Ellipsis in Python & Goals for CPython 3.12 (The Real Python Podcast)
- Higher level Python asyncio with AnyIO (Talk Python To Me)