Office Hours

Shows

Weeknotes

Django

Python

Gaming

Movies

Links

: 📅 Office Hours on April 19th 📅 Next week, I’m hosting Office Hours on Friday, April 19th, 2024, from 2 PM to 4:30 PM …

: 📺 Fallout - Everybody Else Is Doing It, So Why Can’t We? ☢️ trakt.tv/shows/fal…

: 📌 On leaving Pinboard, aka Raindrop, is better 🤷 A friend asked me which bookmarking service I switched to after I moved on from the Pinboard …

: 📺 X-Men ‘97 - Watching the first episode to wind down. trakt.tv/shows/x-m…

: 🐛 Production bugs happen to everyone I have noticed a GitHub bug for a few weeks, but I kept forgetting to ask publicly about it. Today, …

: 📋 Copy All Urls browser extension If you are like me and have a habit of opening links in new tabs for days, weeks, and sometimes …

: 🐳 Docker and OrbStack disk cleanup notes Docker is one of my daily drivers, and here are my notes for reclaiming disk space and a bonus tip …

: 📖 Weeknotes for Week 14: April 1 to April 7 Family I skipped last week’s update because we spent Easter weekend with my family and ~6 …

: 🚜 Refactoring and fiddling with Django migrations for pending pull requests 🐘 One of Django’s most powerful features is the ORM, which includes a robust migration …

: ⛳ Syncing Django Waffle feature flags The django-waffle feature flag library is helpful for projects where we want to release and test new …

: ⬆️ The Upgrade Django project Upgrade Django is a REVSYS project we created six years ago and launched three years ago. The goal …

: 🚀 Mise is really fast A month or two ago, I stumbled on justpath, which is worth installing to help clean up any PATH …

: TIL: Brandolini’s law 💬 The amount of energy needed to refute bullshit is an order of …

: 🔥 An update on OpenSSF's XZ fumble OpenSSF’s Scorecards is Going Just Great 🔥 While I’m happy that OpenSSF updated their …

: 6️⃣0️⃣ Sixty days of blogging ✍️ Sixty days ago, I started blogging daily with my Wiggle Work friends. Our goal was to blog every day …

: xz update: Don't do this Don’t do this. Compromised packages because of burned-out maintainers aren’t a time to …

: ⬆️ Update and upgrade Homebrew and `xz` versions After I left work today, I noticed a flood of messages about a vulnerability in the xz package that …

: 🚨 No office hours this week due to the holiday 🚨 👋 Hi friends, 🚨 Sorry to cancel this late, but no office hours this week. 🚨 Something had to give …

: On backups and building a portable backup drive solution According to ChatGPT, the 3-2-1 backup rule is a simple yet effective strategy for ensuring data …

: On Syncthing and multiple devices When my son started kindergarten last year, I started experiencing a bit of “carrying things …

: Django Chat recording today I was on the Django Chat podcast today, but since the episode will not come out for a few more …

: Things I can never remember how to do: Django Signals edition I am several weeks into working on a project with my colleague, Lacey Henschel. Today, while …

: 2024-W12 - Weeknotes for Week 12: March 18 to March 24 Family Spring Break is over for my kids, and they both returned to school. Both kids seemed healthy …

: On scratching itches with Python Python is such a fantastic glue language. Last night, while watching March Madness basketball games, …

: Automated Python and Django upgrades Recently, I have been maintaining forks for several projects that are no longer maintained. Usually, …

: Fixing a CSS layout issue 2024-03 Fixing a CSS layout issue I noticed a layout issue for one of my website projects while …

: 🤖 On Robots.txt I have spent a lot of mental energy thinking about how to be more defensive with the robots.txt …

: Justfile Alfred Plugin A few years back, I had a productivity conversation with Jay Miller about Alfred plugins, which led …

: 📺 The Gentlemen - I just started episode five, and it has no business being this good. …

: Weeknotes for Week 11: March 11 to March 17 Family This week was Spring Break for both of my kids. My son had all week off, while my daughter …

: 🍕 On tortilla pizza The algorithm kept telling me to make tortilla pizza, so today, over lunch, I caved and made two …

: 🏡 On Gardening It’s springtime in the Midwest, and I took my car to get it washed earlier today. I had my …

: Five for Friyay It’s been too long since I posted my five favorite links of the week. Continuing that theme …

: Python's UV tool is even better Last month, I wrote Python’s UV tool is actually pretty good about Astral’s new Python …

: On environment variables and dotenv files Brett Cannon recently vented some frustrations about .env files. I still hate .env files and their …

: Completed, finished, or done Completed means to have all the necessary parts or elements and lack nothing. Finished means …

: My Python Roots Last week, during office hours, I shared the two libraries that were my gateways to learning Python. …

: Weeknotes 2024 W10 We were reminded that Winter is still here this week, starting with warmer weather and ending with …

: Bootstrap to Tailwind CSS I spent a few hours tonight weighing my options to port a few websites from Bootstrap to Tailwind …

: 🎮 Dave the Diver Dave the Diver is a fun game for such a random, quirky, and so many game-styles / mini-games all …

: How to test with Django, parametrize, and lazy fixtures This article is a follow-up to my post on How to test with Django and pytest fixtures. Here are some …

: Importing data with Django Ninja's ModelSchema I have recently been playing with Django Ninja for small APIs and for leveraging Schema. …

: Upgrading Python from 3.11 to 3.12 notes Recently, I have been slowly moving several of my side projects and client projects from various …

: On pip isolation I saw this post by Trey Hunner about pip isolation, and I wanted to share a third method. …

: The Weekend Woodworker 🪚 It’s that time of year when I dust off my copy of “Equip Your Woodworking Shop For …

: New `django-startproject` update I updated my django-startproject project today to support the latest versions of Django, Python, …

: 📺 Spaceman - I am walking into this with ZERO expectations, and yet my gut is telling me that even …

: We did it, and what's next My February goal was to publish an article every day for the entire month, and I’m happy to …

: Python's UV tool is actually pretty good I carved out some time recently to start playing with the new Python package installer and resolver, …

: The definition of digital chaos A few months ago, PayPal reached out to me via my backup email address to let me know that my …

: Using Django Q2 I’m long overdue to write about how Django Q2 has become part of my development toolkit. As …

: Things I do every time I start a Django project In the spirit of Brenton Cleeland’s Six things I do every time I start a Django project, my …

: Weeknotes 2024 W08 It warmed up this week, and we started our mornings out in the 30s and ended them in the 60s and …

: Fetch the contents of a URL with Django service For the last few months, I have been using the cooked.wiki recipe-saving website, which initially …

: Three years later, email is less of a pain Disclaimer: Forward Email did not pay me to write this. I wrote about my side projects and how email …

: Scratching Itches with Python and ChatGPT A few times a week over the last several months, I have paired with ChatGPT to work on Python …

: Using Chamber with Django and managing environment variables One of my favorite hosting setups is getting a cheap slice from Digital Ocean or your favorite …

: Transferred - django-rq-email-backend found a new home A decade ago, I created django-rq-email-backend for a few projects to queue emails to send without …

: 🥷 Django Ninja I have heard good things about Django Ninja, and I was looking for an excuse to try it out. One pain …

: My 2024 Development Setup I have wanted to document my development setup for a while to revisit it from time to time to see …

: Office Hours Please note: Just so you know, Grammarly told me my writing is fine. So please blame Grammarly and …

: More funding and less shaming Note: I deleted >1000 words and decided to post a summary instead. Jacob Kaplan Moss slacked me …

: The DACO Stack For the last few months, I have used the Django + Adam Johnson + Carlton Gibson + Oliver Andrich …

: Unrestricted Content warning: Kansas City mass shooting. Today, I worked on a post to keep up my February streak …

: Over lunch I caught up on a few videos over lunch while working on a few drafts for the week and wanted to …

: Year in review 2023 I write one of these posts every year, and I manage never to publish them. Since I’m trying to …

: Let's Talk About Paying for Open Source Disclosure: I wrote this quickly, proofed it via Grammarly, applied a few suggestions from ChatGPT, …

: Python Development on macOS Notes: pyenv and pyenv-virtualenvwrapper Here are my notes for using pyenv and pyenv-virtualenvwrapper on macOS. I use pyenv to install and …

: Emphasis mine. I had no free time, and it was another situation where most members were so …

: 📺 Fargo Season 5 - I just started the new season this week, and it’s already one of my …

: My Daily Routine 2024 It’s been a while since I wrote about my daily (previously morning) routine, which is fun to …

: Semi-Automate Copy-to-Clipboard Case Study A “copy-to-clipboard” automation is a web page with many formatted text and links that …

: Semi-Automate Copy-to-Clipboard Case Study A “copy-to-clipboard” automation is a web page with many formatted text and links that …

: The Power of Semi-Automation: Why Less Can Be More According to the ninety-ninety rule, the final 10 percent of code needed to automate a task …

: Django Queryset to Markdown Table Today, I asked on Mastodon if anyone knew of a good solution for generating a Markdown table from a …

: How to test with Django and pytest fixtures Here are some notes on how I like to write tests for a Django app that tests a model down to a view. …

: The Django apps I actually use (rough cut) This is an updated version of my response to the Top 5 3rd party packages from the Django Forum. I …

: What’s Your Go-to Comfort Media? [rough cut] Everyone has unique ways of unwinding and finding comfort after a long day. My comfort media spans a …

: My First Mac I saw Jon Gruber’s 40th Anniversary of the Macintosh topic list last week, and I decided to …

: Choosing the Right Python and Django Versions for Your Projects When deciding when to adopt a new major or minor Python or Django version, I prefer to wait until …

: 📫 For my email sanity, I just ran “label:inbox before:2024/01/01” and archived …

: For anyone who is not prepared for our upcoming USB-C standardization, I had to pick up one of these …

: 📺 Barbie - I had no idea what this movie was about and yet it’s been a total surprise at every …

: ✏️ This morning, I updated my Rustywind pre-commit hook to use the latest tag. 🙏 Thank you to …

: 📺 Rebel Moon - Part One: A Child of Fire - Ya, this is pretty bad, but not 23% Tomatometer bad, but …

: 📺 The Last of Us - I finished Season 1 tonight, and I was expecting that. I will admit to being a …

: Testing out my new micro-blog: webology.micro.blog, which I’m planning on using to cross-post …

: Commander Mark taught me how to draw with perspective to create 3d drawings as a kid. I used to …

: 🤔 I’m unsure if or how long I will keep this up in 2024, but I thought I’d end my …