Roam
roam.be
Roam
@roam.be
(Software) Problem solver. Notes on dev, Python, Django and the Web.

➡️ roam.be / kwetzels.bsky.social
I reckon I’m not the only one that often forgets about its existence, so here’s a reminder: django.contrib.humanize exists!

roam.be/notes/2025/d...
Django spotlight: humanize template filters
I frequently consult the docs of Django's set of default template tags and filters, but I often forget about django.contrib.humanize. A reminder!
roam.be
December 8, 2025 at 3:16 PM
A quick tip on how to change the HTML name of the control of a #django form field.

type=“text”
name=“ThisNameRightHere”>
⬆️

An exotic use case for sure.

Tl;dr: use a custom BoundField class.

roam.be/notes/2025/c...
Customizing the HTML name of a Django form field
Django uses the name of the form field as the name attribute of the corresponding form element in HTML. If you ever need to change it, here's how (Django 5.2+)
roam.be
December 2, 2025 at 3:42 PM
Reposted by Roam
📚🧵 It’s Cyber Monday, the last day my books on Git, GitHub and Django will be 50% discounted. Here’s a quick thread to give you a taste of what’s inside each of them.

#Git #GitHub #Django
December 1, 2025 at 11:18 AM
🎶 Holidays are coming, holidays…🎶

Sorry. Got a bit distracted. But Django 6.0 is coming soon. Time to take a look at the new built-in tasks framework!

roam.be/notes/2025/a...
A first look at Django's new background tasks
Django 6.0 introduces a built-in background tasks framework in `django.tasks`. But don't expect to phase out Celery, Huey or other preferred solutions just yet.
roam.be
November 28, 2025 at 9:43 PM
Loving Maple Mono as a programming font. It’s based on JetBrains Mono.

font.subf.dev/en/
November 26, 2025 at 8:13 PM
Often overlooked and sometimes undocumented, but quite valuable: SimpleLazyObject and its #Django companions allow you to defer expensive operations until you need their results.

roam.be/notes/2025/d...
Django spotlight: SimpleLazyObject & Co.
Turning the spotlight to Django's lesser known useful tidbits: SimpleLazyObject, lazy and examples showing you how to defer work.
roam.be
November 24, 2025 at 2:16 PM
Reposted by Roam
Introducing rootcause: finally get some actual use out of your IntegrityErrors in #django

roam.be/notes/2025/i...
Introducing rootcause
Read 'Introducing rootcause' at Roam*notes.
roam.be
November 3, 2025 at 12:48 PM
Compiling? Running tests? Letting Codex or Claude Code run wild on your codebase?

Add ntfy.sh to your tool belt to receive a notification on your phone (or browser) when it’s done.

Details:
roam.be/notes/2025/p...
Ping me: using ntfy to stay updated
Trigger notifications on your phone using curl and ntfy.sh.
roam.be
November 5, 2025 at 7:59 PM
Introducing rootcause: finally get some actual use out of your IntegrityErrors in #django

roam.be/notes/2025/i...
Introducing rootcause
Read 'Introducing rootcause' at Roam*notes.
roam.be
November 3, 2025 at 12:48 PM
Nu de nieuwe website gelanceerd is kan ik eindelijk wat achtergrond geven bij Favemail, een browserextensie die me duidelijk maakt welke Gmail-account schuilgaat achter een tab.

roam.be/blog/2025/on...
Een onderscheid in meerdere Gmail tabs
Browserextensies zijn onderbelicht als een krachtige manier om websites en apps beter af te stemmen op jouw noden. Zoals Gmail.
roam.be
September 9, 2025 at 10:12 AM
Eindelijk live met de nieuwe website!

(Iets met “de kinderen van de schoenmaker…”)

roam.be
Roam
Roam helpt je aanpakken wat digitaal al te lang blijft liggen, van website en organisatie tot software. Praktisch, strategisch en vooral: met resultaat.
roam.be
September 5, 2025 at 10:24 AM
Oh, die kleine visuele details zijn altijd zo leuk.

Enkel de technische prutswerkjes blijven over. (En het bijschaven nadien, maar 🤫)
September 1, 2025 at 6:59 PM
📈 The only way is up!

(Sorry voor de oorwurm.)
(Sorry als je net door die sorry die oorwurm te pakken hebt.)
July 17, 2025 at 8:06 AM
Aan een site kan je blijven prullen om te optimaliseren. Laten we het hier voorlopig maar op houden. 🚦
March 5, 2025 at 4:47 PM
This is after:

1. Trying Mail once again (still sucks with multiple accounts)
2. Paid options (yeah, still sour over Airmail)
3. Checking the 2025 GUI options for Python with a proper webview component
4. Reading way too much about the intricacies of PyObjC
...
roam.be Roam @roam.be · Jan 26
So... I vastly prefer the Gmail web UI over any native app, but I never know which tab/account to select.

TL;DR: I created an extension to change the Gmail favicon based on the account and unread messages.
January 26, 2025 at 5:04 PM
So... I vastly prefer the Gmail web UI over any native app, but I never know which tab/account to select.

TL;DR: I created an extension to change the Gmail favicon based on the account and unread messages.
January 26, 2025 at 5:01 PM