: 📅 Office Hours for November and December 2024 This Friday, I am hosting office hours, and here is our schedule to finish out 2024. Please note …

: 🔥 The best "Animated This is Fine ZOOM Background" using UV and YT-DLP We could all use an “Animated This is Fine ZOOM Background” video in times like these. …

: 📅 Office Hours this Friday and probably next Friday, but lets just take it one day at a time I wasn’t planning on hosting office hours this week, but given the events of the week, it …

: 🤷 UV does everything or enough that I'm not sure what else it needs to do UV feels like one of those old infomercials where it solves everything, which is where we have …

: Please publish and share more Friends, I encourage you to publish more, indirectly meaning you should write more and then share …

: 📝 Even "bad" code is admirable Some of my favorite projects are what we would consider really “bad” code, but their …

: TIL Justfiles can also be Just Scripts Please note: passing an argument like --justfile It only works on MacOS and on Linux. TIL that …

: 📓 My notes on publishing a Python package with UV and building a custom GitHub Action for files-to-claude-xml My new Python application files-to-claude-xml is now on PyPI, which means they are packaged and pip …

: 🎮 The Legend of Zelda: Echoes of Wisdom review 👍 My oldest kiddo and I finished The Legend of Zelda: Echoes of Wisdom tonight. The 2D Zelda games are …

: 🤖 I released files-to-claude-xml and new development workflows After months of using and sharing this tool via a private gist, I finally carved out some time to …

: 📺 Bad Monkey I went in with zero expectations and enjoyed Bad Monkey. The show was fun in one of …

: 📅 Office Hours for October This Friday, I am hosting office hours, and here is our schedule for October. Friday, October 11th, …

: ⚙️ UV with GitHub Actions to run an RSS to README project For my personal GitHub profile, I list my activities, affiliations, and the latest updates from some …

: 🎉 Announcing DjangoTV Friends, I’m launching a half-finished website idea that I have been playing around with for a …

: 🧳 DjangoCon US, Black Python Devs Leadership Summit, and Django Girls Durham I’m heading to Durham, NC, for seven days of DjangoCon US this Friday. This is my 10th year …

: 🤠 UV Roundup: Five good articles and a pre-commit tip I have written quite a bit about UV on my micro blog, and I am happy to see more and more people …

: 📅 Office Hours Fall Update This Friday, I am hosting Office Hours before I travel to DjangoCon US (organizer) and the Black …

: 🛌 On travel tips BYOP aka bring your own pillow 🎒 While some of my friends and colleagues can pack everything they need in a small backpack for a …

: 🚜 On Evolving Django's `auth.User` model I need to re-read/re-listen to Carlton’s Evolving Django’s auth.User Stack Report …

: 🚫 Stop scheduling security updates and deprecating major features over holidays I know people outside the US 🙄 at this, but please stop releasing major security updates and …

: 🌡️ How a $20 Camera Outsmarted My Fancy Thermometer My ThermoWorks Signals thermometer’s battery was dead, so I connected it to my Anker 737 Power …

: 🚜 Using Claude 3.5 Sonnet to refactor one of Brian Okken's Python projects Brian Okken posted and published his Top pytest Plugins script and then a follow-up post, Finding …

: 📓 UV Run Django Notes I wanted to know how hard it would be to turn one of my django-startproject projects into a uv run …

: 🐍 Python UV run with shebangs This UV shebang trick that Simon Willison linked up is a nice pattern, and I plan to rebuild some of …

: 🐍 UV Updates and PEP 723: Simplifying Python Packaging and Scripting The uv: Unified Python packaging update brings fresh air to the Python community, with several …

: 🔥 Breaking Up Google Here are my thoughts on John Gruber’s recent article and notes on the Google Monopoly. I …

: 🎻 Tiny Desk Concert Wednesday with Sierra Ferrell 🎻 Happy Tiny Desk Concert Wednesday, everyone! If you are new to Sierra Ferrell, you are in a treat. …

: 💼 Office Hours this Friday, August 9th I am hosting Office Hours this Friday, August 9th, 2024, from 2:30 pm to 4:30 pm Central Time. 💼 I …

: ⬆️ Which Django and Python versions should I be using today? Django 5.1 was released, and I was reminded of the article I wrote earlier this year about Choosing …

: 🔍 Google Search speculation 🔥 Eric Holscher posted this post today, and I wanted to share my speculation. Calling it now: Google …

: 🧐 Of course, Google is a monopoly “After having carefully considered and weighed the witness testimony and evidence, the court reaches …

: 📺 Kingdom of the Planet of the Apes - It’s a good night to just veg out. …

: 📌 Pinboard... what a waste Earlier this year, I wrote about why I dumped Pinboard after a decade of usage. Why I gave up on …

: 🦙 Ollama Tool Calling Loose Notes I spent a few hours this week working with the Ollama project and trying to get tool calling to work …

: 📅 Office Hours this Friday, July 26th I am hosting Office Hours this Friday, July 26th, 2024, from 2:30 pm to 4:30 pm Central Time. …

: 🦙 Ollama Llama 3.1 Red Pajama For a few weeks, I told friends I was excited to see if the new Llama 3.1 release was as good as it …

: 🔄 What to do when your iPad won't turn off or is frozen As a parent, the few times an iPad freezes are rare but always seem to happen at the worst possible …

: 📓 Weeknotes for Week 28: July 8 to 14 I’m running a week behind on this. This week was our first week back home without traveling in …

: 📅 I am hosting Office Hours this Friday, July 19th I am hosting Office Hours this Friday, July 19th, 2024, from 2:00 pm to 4:15 pm Central Time. ➡️ I …

: 🗳️ My thoughts on the PSF Election results A few weeks ago, I wrote about this year’s PSF Election, three proposed bylaws changes, and …

: 🐘 Django Migration Operations aka how to rename Models Renaming a table in Django seems more complex than it is. Last week, a client asked me how much pain …

: 🔥 Why I deleted Firefox from my machines this weekend I no longer trust or believe in Mozilla, so I deleted Firefox from my machines this weekend. ➜ brew …

: 🦆 DuckDB may be the tool you didn't know you were missing 🤔 I haven’t fully figured out DuckDB yet, but it’s worth trying out if you are a Python …

: 🚜 macOS Bartender app to Ice app I upgraded my Macs to macOS Sonoma a few weeks ago. While everything has been uneventful, the …

: 🎮 8BitDo Golden/Silver Limited Edition controllers My favorite third-party video game hardware company, 8BitDo, announced its 11th-anniversary limited …

: 📅 Office Hours for July 12th Office Hours returns this Friday, July 12th, 2024, from 2:30 pm to 4:30 pm Central Time. ℹ️ Anyone …

: 🔓 Sharing is Caring: How a Simple Sudo Question Led to Better Solutions One of the fun discoveries of blogging is finding your article in search results while trying to …

: 📓 Weeknotes for Week 27: July 1 to 7 The last week was a blur between the holiday, travel, and cramming a lot of work. My notes this week …

: 🧰 More fun with Django Extensions using `shell_plus` and `graph_models` Yesterday, I wrote about Django Extensions show_urls management command because it’s useful. I …

: Django Extensions is useful even if you only use show_urls Yes, Django Extensions package is worth installing, especially for its show_urls command, which can …

: 📅 No Office Hours on July 5th, but... No Office Hours this week (July 5th), but we will return next Friday, July 12th, 2024, 2:30 pm to …

: 🎆 🤖 Happy AIndependence Day To everyone in the United States, Happy Independence Day and Happy AIndependence Day to everyone …

: 🗳️ PSF Elections how I am voting This was written while driving to Chicago (technically from the passenger seat). Still, a few people …

: 💬 On the PSF Bylaw changes The Python Software Foundation has three bylaw changes up for a vote in this year’s election. …

: 📓 Weeknotes for Week 26: June 24 to 30 Family I took two days off for a funeral and some other family stuff. I saw cousins and other …

: 🐳 Using Just and Compose for interactive Django and Python debugging sessions When I wrote REST APIs, I spent weeks and months writing tests and debugging without looking at the …

: 🐘 Docker Postgres Autoupgrades Upgrading Postgres in Docker environments can be daunting, but keeping your database up-to-date is …

: 🐘 A Just recipe to backup and restore a Postgres database I have used this casey/just recipe to help backup and restore my Postgres databases from my Docker …

: 📅 Office Hours for June 28th It’s been a week, but I’m hosting Office Hours this Friday at 2:30 pm. I was on the …

: 🐳 Managing Docker Compose Profiles with Just: Switching Between Default and Celery Configurations For a recent client project, we wanted to toggle between various Docker Compose profiles to run the …

: 🚜 Mastodon Bookmark exporter to Markdown/Frontmatter I wrote a Mastodon Bookmark exporter tool over the weekend and decided to polish it up and release …

: Weeknotes for Week 25: June 17 to 23 Last week, my side of the family drove out to Colorado Springs, Colorado, and we rented a house for …

: 💜 Follow Black Python Devs on Juneteenth If you haven’t heard about Black Python Devs, Juneteenth is an excellent day to learn about …

: Djangonaut Space has begun This is my first time helping out with Djangonaut Space as a Navigator for the Django Packages …

: 🤖 AI companies are becoming bad neighbors This week, we learned that Perplexity AI Is Lying about Their User Agent. I have long suspected that …

: 🏔️ Colorado Springs This morning, we woke up and drove to Colorado Springs to meet with some of my …

: 🤖 More Blocking Bots with Django ❌ Tonight, I ran across Robb Knight’s Blocking Bots with Nginx, which fits well with two pieces …

: 🍩 Office Hours Update As promised, I will be hosting Office Hours this week. I didn’t know until today that …

: 📦 Amazon delivery: A true story Amazon: Buy now and have it by 4 am, or pay $1.99 for garage delivery, which you don’t have, …

: 📅 Office Hours Summer Schedule We have a few family trips scheduled over the next month, so I am posting my summer office hours …

: 🦙 Exploring Ollama: An Open-Source LLM (my notes) I have meant to do a proper write-up on the Ollama project for a while. Instead of putting it off …

: 🏗️ Slash pages and recent website changes As part of my recent Echofeed discovery, I updated my now page to list the most recent video games …

: ✨ Enhancing My Digital Workflow with Echofeed I dove into Echofeed this weekend, and I set up three new Echos that consume RSS feeds of various …

: 🧱 Django ModelForm Template starting point Recently, I have been doing a lot of Django formwork. I start with a basic template like form.as_div …

: 🎮 Planet of Lana My son and I started playing Planet of Lana, a sci-fi adventure/platform/puzzle game about a young …

: 🧊 Bartender Update I wrote a Bartender Mac App PSA a day before Ben Surtees, the original developer of Bartender wrote …

: 2024-06-05 📅 Office Hours 📅 Office Hours returns this Friday, June 7th, 2024, from 2:30 PM to 4:30 PM Central Time (US and …

: 👤 Bartender Mac App PSA Update: Ben Surtees, the original developer of Bartender wrote the sale and state of the app: A New …

: 🍿 On the Google leak Last week, Google leaked 2,500 pages of internal documentation by accidentally pushing these docs to …

: 📓 Weeknotes for Week 22: May 27 to June 2 It’s been a while since I posted weeknotes. So, I will include some previous entries and merge …

: 🎨 Slash Pages I have had this Slash Pages link up on several devices for the last week. Slash pages are common …

: 📺 Godzilla Minus One - Outside of seeing clips of re-runs on cable, I am not sure if I have ever sat …

: 📝 On EchoFeed EchoFeed is a cheap ($20 to $25 a year) and simple service that takes an RSS, Atom, or JSON feed and …

: Thirty-four to zero I’m shocked. I’m not shocked that he is guilty. I’m shocked …

: 🙅 No Office Hours this week No Office Hours this week. While I avoided ConFlu at PyCon US, I returned to a sick household and …

: Allergies or whatever my family had while I was at PyCon US finally knocked me over. COVID-free but …

: 🏡 This old house, Monday edition 🏡 Today, in this old house… I swapped out a first-gen Wyze Floodlight with the latest …

: 🔋 My django-startproject project updates This morning, I updated my django-startproject to keep up with the latest Django, Docker Compose, …

: 📚 Universal Principles of Typography book review Based on a few recommendations, I recently picked up the Universal Principles of Typography book. …

: ⌨️ My writing workflow or what works for me Reading about other people’s writing process is fascinating and entertaining. There are no …

: 🎮 RetroArch on iPhone and iPad My favorite emulator, RetroArch, is now available on iOS, so I can play my favorite retro console …

: 🎮 Dave the Diver: Godzilla is out! 🦖 www.backloggd.com/games/dav…

: ✨ What's new in Django 5.1 With today’s Django 5.1 alpha 1 release, picking just one favorite feature is hard. Django 5.1 …

: 📆 Office Hours Returns 📅 Office Hours returns this Friday, May 24th, 2024, from 2 PM to 4 PM Central Time (US and Canada). …

: 💼 Packing and unpacking I’m exhausted after an excellent PyCon US, but I had packing and unpacking on my mind. I …

: 👋 Let's meet at #PyConUS Good morning, #PyConUS friends. I leave early Monday morning, and if you are attending this year and …

: 📱 Waking up to a blank iPhone 14 screen I am in Pittsburgh for PyCon US, and three of my last four mornings have begun with a blank iPhone …

: 🥟 PierogiCon was a success.

: Two Django developers, the Flask lead maintainer, and the Pydantic author walk into a bar… #PyConUS

: 🍔 PyCon US, have it your way (you rule!) Here is my PyCon US advice based on Trey Hunner’s Mastodon post: What are some of your …

: PyCon US Bound 🏡 LFK 🚗 MCI 🛫 MDW 🛬 PIT 🏨 Two years in a row, in 2022 and 2023, I had to cancel my plans to attend …

: 📝 On Hashtag Accessibility I’m calling myself out for this because until about a month ago, I used hashtags all wrong on …

: ✨ How to rearrange #Vivaldi extensions in the the extension panel. ✨ One #Vivaldi gripe is that I can never remember how to rearrange the icons in my extension panel. …

: 💡 TIL that Vivaldi supported Philips Hue lights while I was adding a new profile. Hue lamp will …

: 📓 Weeknotes for Week 19: May 6 to May 12 What a week. Family My youngest was home most of the week with a virus, which changed everything …

: 📭 On vacation autoresponders and deleting email I’ve activated my email vacation autoresponder ahead of PyCon US next week to inform anyone who …

: 🐍 TIL build-and-inspect-python-package GitHub Action workflow plus some bonus Nox + Tox TIL: via @joshthomas via @treyhunner via @hynek about the hynek/build-and-inspect-python-package …

: 📚 African tech book drive at PyCon US My friend Abigail, is organizing a tech book drive for developers in Africa and is collecting them …

: 👥 Office Hours on May 10th 📅 I’m hosting Office Hours this Friday, May 10th, 2024, from 2 PM to 4 PM Central Time (US and …

: 🎸 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 …