: 🎸 Jason Isbell and the 400 Unit at Liberty Hall We had a rare outing tonight to see Jason Isbell and the 400 Unit play at Liberty Hall. You are …
: 🌪️ Tornado Watch tonight We have been under a Tornado Watch since I left work today until about 11 PM tonight. My youngest …
: 🎙️ Randy Travis and Ethical AI Eleven years ago, country music legend Randy Travis lost his voice to a stroke despite keeping 100% …
: 🎸 On Pearl Jam's Dark Matter interviews My favorite band, Pearl Jam, recently released a new album called Dark Matter, which has led to a …
: 🚜 De-googling update 📉 After my 🔥 Drop Google Chrome and try out Vivaldi for a week, I dare youarticle, I have heard from a …
: 😬 This week was a grind This week, and especially today, has felt like a grind. Code ebbs and flows better and worse. Some …
: 📅 Office Hours on May 3rd 📅 I’m hosting Office Hours this Friday, May 3rd, 2024, from 2:00 PM to 4:30 PM Central Time …
: 🎒 Everyone struggles with Django's static files Josh Thomas did a great job documenting and walking us through how he prefers to set up static files …
: 💸 Alphabet has never been more profitable This Hacker News comment is quite the deep cut about Google’s recent layoff/firing of the …
: 💚 DjangoCon US Talks I'd Like to See 2024 Edition Continuing in my tradition of 2023, 2022, 2018, 2017, and 2016 “DjangoCon US Talks I’d …
: 🔥 Drop Google Chrome and try out Vivaldi for a week, I dare you Last year, I switched to the Vivaldi web browser because I read a few peer reviews that pointed out …
: 🖱️ On Trackballs. I need one. 🪤 At night, when I’m couch computing after everyone goes to bed, I use one of these XL …
: 🖖 On Open Sourcing DOS 4 My first PC as a kid ran MS-DOS 4, so seeing today’s news on Open Sourcing DOS 4 takes me …
: 📅 Office Hours on April 26th Please note: I moved the time up 30 minutes. 📅 I’m hosting Office Hours this Friday, April …
: 🐳 GitHub Actions Cleaning up old Docker container images If you use GitHub Actions to build and deploy Docker container images, you quickly learn that …
: 📰 Quick Django News #228/#229 update tonight Quick update tonight since I’m tired, but I had to re-do/re-send Django News #228 because our …
: 🎮 TIL Nintendo Switch Game KVM The Nintendo Switch is very popular in my household. My six-year-old is at the right age to play a …
: 📺 Glass - I watched Unbreakable when it came out in the movie theater back in 2000. It’s one …
: 📺 Split - I noticed that Glass just came out on Netflix, which led to my discovery that Split was …
: ❤️ Untitled Friday post Hug your loved ones. Everyone should take time and appreciate where we are and those around us on …
: 🤖 Super Bot Fight 🥊 In March, I wrote about my robots.txt research and how I started proactively and defensively …
: 🚀 Starship is the shell prompt you have been looking for 🐚 I spent a lot of time in my shell (terminal, iTerm, bash, whatever you prefer), and by and large, my …
: 🧰 Rustywind and pre-commit take the edge off of Tailwind CSS Last year, I wrote this TIL: Creating a Rustywind pre-commit hook, which illustrates how to use the …
: 📓 Weeknotes for Week 15: April 8 to April 14 Family The mowing season has officially kicked off. I mowed our yard for the first time this year on …
: 🧱 Dear Tech Companies: Two-year-old edition Dear Tech Companies, There is never a good time to interrupt a two-year-old to ask her for a one to …
: 🙋 How often do you use Django's startproject and startapp? I saw this Mastodon post last week and thought it worth sharing. Weekend #django question/poll How …
: 📅 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 …