Weeknotes 2022-01-31
,Worked on using the new deployment context feature of fastdeploy to automate deploying cast_hosting instances for my podcast hosting SaaS. It finally worked and the hardest part of this was getting the traefik config right. If users can choose domain names by themselves, you have to use wildcard certificates. This means that you have to use an API key for your DNS provider allowing traefik to manipulate DNS records for the dnsChallenge, which is the only one supporting wildcard DNS. But then you still have to get both this part and your httpChallenge based certificates to work well together. Ok, here's the static config part that made traefik work for me.
Additionally, I did two programming streams last week, which is an improvement. And then there was an interesting discussion on the PyDDF telegram channel about automatic speech recognition. I haven't looked at this topic since mid-2019 and wow, a lot is going on there. Maybe it's even possible to train an asr model for german just by using existing labeled training data like the Mozilla common voice dataset plus lots of unlabeled audio data (podcasts maybe?).
Articles
- Building a production database in ten years or less (background story of EdgeDB)
- Introducing the Python Launcher for Unix
Useful Websites
YouTube
- Not sure if this is a controversial opinion or not: unit tests should make up a minority segment of your overall automated test suite (Twitter Thread by Simon Willison) | I heard someone calling the type of tests Simon describing here as perimeter tests - and a few years ago, I would have completely agreed. Now I'm not so sure anymore. If the core of your application is doing crud stuff and mostly reading and writing from a database, then well: yes (probably most web applications today fall in this category). But if you have complex business logic and the crud/database part is not that important, then unit tests are maybe the way to go. Lately I also discovered the joys of mocking out your database with an in memory repository and have my test suite run in under 1s, that's just fun to work with. While even having to wait for a few minutes inevitably slows you down.
- What's a product or brand you recommend so regularly that you really should be getting a kickback? - Thread..
- The render_crispy_form() function from django-crispy-forms is very useful when working w/ #htmx | maybe I have to do a blogpost about htmx and crispy forms..
- When people, including bioscientists, say that "sex is a social construct," we don't mean it's a random thing totally unrelated to anything else that we can just change willy-nilly. That "blank slate" position is a strawman. We mean something way cooler and more legitimate. 1/ | Thread..
Papers
- wav2vec: Unsupervised Pre-training for Speech Recognition | Maybe we don't need that much labeled data? The progress in speech recognition in the last few years looks very impressive...
Software
- The Python Launcher for Unix
- zoxide is a smarter cd command, inspired by z and autojump
- DjHTML A pure-Python Django/Jinja template indenter without dependencies
- MVP CSS - A minimalist stylesheet for HTML elements
Podcasts
- Episode #267: Python on the beach (Python Bytes)
- SaaS Side Projects (Test & Code in Python)
- Mike Fisher of Etsy talks AI and E-commerce (The Robot Brains Podcast)
- Episode 93: Launching Python, Virtual Environments, and Locking Dependencies With Brett Cannon (The Real Python Podcast)
- Der Web Almanac ist sowas von 2021 (Wo wir sind ist vorne)
- Improve Your Productivity By Investing In Developer Experience Design For Your Projects - Episode 349 (Podcast.__init__)
- Episode 100 - Daniel Terhorst-North - SOLID vs. CUPID (Software Architektur im Stream)
- Episode 496: Bruce Momjian on Multi-Version Concurrency Control in Postgres (MVCC) (Software Engineering Radio)
- UKW090 Corona Weekly: Mit dem Angriff von Omikron wird das alles in Ordnung kommen (Unsere kleine Welt)
- David Heinemeier Hansson on Rails 7.0, Hotwire, and the future of Rails (Remote Ruby) | Always nice to hear that the RoR community is doing well and also moving in the "render html on the server"-direction
- What matters in tech according to Benedict Evans (The Robot Brains Podcast)
- Einzigartig? - unsere Individualität (Das philosophische Radio)