So You Want To Web A Twisted
As a rehearsal for our upcoming tutorial at PyCon, Creating And Consuming Modern Web Services with Twisted, Moshe Zadka, we are doing a LIVE STREAM WEBINAR. You know, like the kids do, with the video...
View ArticleThe Sororicide Antipattern
“Composition is better than inheritance.”. This is a true statement. “Inheritance is bad.” Also true. I’m a well-known compositional extremist. There’s a great talk you can watch if I haven’t talked...
View ArticleBeyond ThunderDock
This weekend I found myself pleased to receive a Kensington SD5000T Thunderbolt 3 Docking Station. Some of its functionality was a bit of a weird surprise. The Setup Due to my ... accretive history...
View ArticlePhoto Flow
Hello, the Internet. If you don’t mind, I’d like to ask you a question about photographs. My spouse and I both take pictures. We both anticipate taking more pictures in the near future. No reason, just...
View ArticleCareful With That PyPI
Too Many Secrets A wise man once said, “you shouldn’t use ENV variables for secret data”. In large part, he was right, for all the reasons he gives (and you should read them). Filesystem locations are...
View ArticleTips And Tricks for Shipping a PyGame App on the Mac
I’ve written and spoken at some length about shipping software in the abstract. Sometimes I’ve even had the occasional concrete tidbit, but that advice wasn’t really complete. In honor of Eevee’s...
View ArticleToward a “Kernel Python”
Prompted by Amber Brown’s presentation at the Python Language Summit last month, Christian Heimes has followed up on his own earlier work on slimming down the Python standard library, and created a...
View ArticleA Few Bad Apples
I’m a little annoyed at my Apple devices right now. Time to complain. “Trust us!” says Apple. “We’re not like the big, bad Google! We don’t just want to advertise to you all the time! We’re not like...
View ArticleThe Numbers, They Lie
It’s October, and we’re all getting ready for Halloween, so allow me to me tell you a horror story, in Python: 1 2>>> 0.1 + 0.2 - 0.3 5.551115123125783e-17 Some of you might already be...
View ArticleMac Python Distribution Post Updated for Catalina and Notarization
I previously wrote a post about shipping a PyGame app to users on macOS. It’s now substantially updated for the new Notarization requirements in Catalina. I hope it’s useful to somebody!
View ArticleModularity for Maintenance
Never send a human to do a machine’s job.One of the best things about maintaining open source in the modern era is that there are so many wonderful, free tools to let machines take care of the...
View ArticleZen Guardian
There should be one — and preferably only one — obvious way to do it.Tim Peters, “The Zen of Python”Moshe wrote a blog post a couple of days ago which neatly constructs a wonderful little coding...
View ArticleI Want A New Duck
Get it? Quack quack quack quack Quack quack quack quack Weird Al Yancovic,“I Want A New Duck”Mypy makes most things betterMypy is a static type checker for Python. If you’re not already familiar, you...
View ArticleLenses
I suffer from ADHD.Photo by Taylor Young on UnsplashI want to be clear: when I say I suffer from this disorder, I am making a self-diagnosis. I’ve obliquely referred to suffering from ADHD in previous...
View ArticleNever Run ‘python’ In Your Downloads Folder
One of the wonderful things about Python is the ease with which you can start writing a script - just drop some code into a .py file, and run python my_file.py. Similarly it’s easy to get started with...
View ArticleNice Animations with Twisted and PyGame
One of my favorite features within Twisted — but also one of the least known — is LoopingCall.withCount, which can be used in applications where you have some real-time thing happening, which needs to...
View ArticleFaster
I’ve often heard Henry Ford quoted as saying:“If I had asked people what they wanted, they would have said faster horses.”Despite the fact that he probably didn’t actually say that, it does neatly...
View ArticleInterfaces and Protocols
Some of you read my previous post on typing.Protocols and probably wondered: “what about zope.interface?” I’ve advocated strongly for it in the past— but now that we have Mypy and Protocols, is it...
View ArticleDetweeting
Twitter is horrible. Everyone already knows this. 123But, Twitter can also be good, sometimes, after a fashion.Throughout the pandemic, I have personally found Twitter to be a helpful tool for...
View ArticleA Tired Raccoon’s Containerization Manifesto
Some of you out there are still stuck on old deployment workflows that drop software directly onto shared hosts. Maybe it’s a personal thing that you just don’t have the energy to maintain particularly...
View Article