news
Programming Leftovers
-
Rlang ☛ Repost: R 4.5.0 and Bioconductor 3.21
-
Evan Hahn ☛ UI tip: maybe don't round percentages to 0% or 100%
Rounding to 0% is bad because the user may think there’s been no progress. Even the smallest nonzero ratio, like 0.00001%, should render as 1%.
-
Elliot C Smith ☛ Dinner Party Software
This exchange is open to manipulation however when the social expectations are ill-defined. If you show up to the dinner party of a relative stranger you can bring any wine you want, especially when you don’t care about a repeat invitation.
This isn’t a post about dinner parties though, its about software. In particular open source software.
Open source software is the dinner party in this analogy. Somebody, or a group of somebodies, has put time and effort into developing some software. They’ve chosen to open source the software, adding anyone who is happy with the supplied license to the invite list.
-
[Old] Stefano Marinelli ☛ The abundance of hardware resources: a curse for software optimization?
Even if there are tens of gigabytes of useless logs. Even if there are tens of gigabytes of useless stuff, left on the server just due to inertia.
Recent innovations in the field of hardware resources have generated devices with increasingly high performance, higher memory capacity, and reduced energy consumption. This trend has enabled the development of applications and services that were unthinkable until recently. However, a dark side of this progress concerns the decline of software optimization.
-
Perl / Raku
-
Python
-
Trail of Bits ☛ Sneak peek: A new ASN.1 API for Python
If you’ve ever worked with cryptography, PKI schemes, or low-level networking in Python, you’ve likely encountered ASN.1. ASN.1 undergirds every TLS handshake (via X.509 path validation), provides the serialization layer for core internet protocols like LDAP, SNMP, and 3GPP, and generally operates as the lingua franca of cryptographic primitive and protocol representation.
-
Sara Jakša ☛ Regex is Magic (Talk from the PyCon Austria 2025)
Regex or regular expressions are the fuzzy way of matching text. Instead of using the exact string matching, it matches the patterns of the text. This allows for the more powerful string matching.
-
Glyph ☛ Stop Writing `__init__` Methods
Before dataclasses, it was always a bit weird that such a basic feature of the Python language — giving data to a data structure to make it valid — required overriding a method with 4 underscores in its name. __init__ stuck out like a sore thumb. Other such methods like __add__ or even __repr__ were inherently customizing esoteric attributes of classes.
For many years now, that historical language wart has been resolved. @dataclass, @classmethod, and NewType give you everything you need to build classes which are convenient, idiomatic, flexible, testable, and robust.
-
Education
-
Glyph ☛ How To PyCon
These tips are not the “right” way to do PyCon, but they are suggestions based on how I try to do PyCon. Consider them reminders to myself, an experienced long-time attendee, which you are welcome to overhear.
-
-
-
Shell/Bash/Zsh/Ksh
-
Cory Dransfeldt ☛ A site setup script
I wrote a setup script for this site[1]. All of the secrets necessary to run it are in a 1Password entry and this script leverages their CLI in order to populate the configs necessary to run this site locally when it's been freshly cloned.
-
Pádraig Brady ☛ Common shell script mistakes
I think some of the reason shell scripts tend to have lots of issues is that commonly one doesn't learn shell scripting like "traditional" programming languages. Instead scripts tend to evolve from existing interactive command line use, or are based on existing scripts which themselves have propagated the limitations of ancient shell script interpreters.
It's definitely worth spending the relatively small amount of time required to learn the shell script language correctly, if one uses linux/BSD/Mac OS X desktops or servers, where it is commonly used.
-