Get a TypeError when using a datetime when you wanted a date.
Updated guidance for getting out of an email overwhelm trap, with practical, concrete, free examples.
write Python that’s faster than C by optimizing your code, adding standard type annotations, and using Mypyc.
Why is advertising blockchain something we should try to stop, rather than ignore?
Fix your mainloop for smoother gameplay that takes less battery power.
Journalists need to stop writing “stories” and start monitoring empirical consensus.
I wrote my own pomodoro timer which is also a meditation on mortality.
I got diagnosed for ADHD, and you won’t believe what happened next. At least, I didn’t.
The solution to bad questions is to ask better questions, not to ask no questions.
Flicker-free, time-accurate animation and movement using LoopingCall.
Python can execute code. Make sure it executes only the code you want it to.
Notarize your Python apps for macOS Catalina.
The life changing magic of a minimal standard library.
A quick and dirty guide to getting that little PyGame hack you did up and running on someone else’s Mac.
PyPI credentials are important. Here are some tips for securing them a little better.
How do you edit and share photos when more than one person is involved?
I Plugged Some Stuff Into A Thunderbolt Dock. You Won’t Believe what Happens Next
Don’t murder your parents or your siblings to get their attributes.
I’m live-streaming a webinar on Twisted service architecture.
Authenticate downloaded binaries from sourceforge a little more.
Context is everything; while some ideas can be whispered, others deserve a shout.
Pre-chewing thoughts into a hundred bite-sized morsels for someone is just about as appetizing as doing the same thing with food.
As some of you may have guessed from the unintentional recent flurry of activity on my Twitter account, twitter feed, the service I used to use to post blog links automatically, is getting end-of-lifed. I've switched to dlvr.it for the time being, unless they send another unsolicited tweetstorm out …
There’s something missing from the Docker ecosystem: a type-checker.
setup.py is your friend. It’s real sorry about what happened last time.
A rose by any other name would require a schema migration.
attrs. Use it. Use it for everything.
Remember that thing I said in my pycon talk about native packaging being the main thing to worry about, and single-file binaries being at best a stepping stone to that and at worst a bit of a red herring? You don’t have to take it from me. From the …
I want to run some “legacy” software (Trac, specifically) on a Swarm cluster. The files that it needs to store are mostly effectively write-once (it’s the attachments database) but may need to be deleted (spammers and purveyors of malware occasionally try to upload things for spamming or …
I like keeping a comprehensive an accurate addressbook that includes all past email addresses for my contacts, including those which are no longer valid. I do this because I want to be able to see conversations stretching back over the years as originating from that person.
Unfortunately this causes problems …
Authenticate downloaded binaries from sourceforge. A little.
Seriously, do the Inbox Zero thing. You’ll feel better.
You and me, we’re bad at a lot of things. But email isn’t one of those things, no matter how much it seems like it.
Local mutable filesystem usage is a scalability problem.
I think I’m using GitHub wrong.
I use a hodgepodge of
: (i.e. “ssh”) URL schemes for my local
clones; sometimes I have a remote called “github” and sometimes I have one
called “origin”. Sometimes I clone from a fork I made and sometimes I clone
Monads are simple to understand.
You can just think of them like a fleet of mysterious inverted pyramids ominously hovering over a landscape dotted with the tombs of ancient and terrible gods. Tombs from which they may awake at any moment if they are “evaluated”.
The IO loop is then …
This is an experiment with a subtly different format.
Right now when I want to say something quickly, I pop open the Twitter app and just type it. But I realized that the only reason I'm doing this rather than publishing on my own site is a UI affordance: Twitter …
In response to a thoughtful reply from John Carmack, I share some thoughts on why we all need to stop working so damn hard.
Income inequality is a complex issue that “essays” are not well-positioned to address.
Emacs wants you to install unauthenticated code off of a wiki; I can help.
How do networks even?
The Python community needs a tool for distributing software to end users.
GUIs, in Python, on the Mac, made easy for back-end developers.
A template for deploying Python applications into Docker containers.
If you’re writing a “secure” email program, it needs to be a good email program.
Get your app into production right now.
To make data public or not to make data public, that is the question.
Don’t use the word “engineering” to refer to the process of creating software.
I need to see all the way to the end of time to make progress today.
It's all very wibbly wobbly and versiony wersiony.
Why exactly is it that Oculus Rift fans hate Facebook so much?
Be as the reed, not the oak tree. Green threads are just threads.
I’ve switched to a new publishing platform. You no longer need to inform state security of your interest in this content.