Feed

All posts

162 recent entries. Last built 8 Jun 2026, 20:36 UTC. RSS

14 Mar 2023 · jonbaer · Jon Baer

"Geo-economics by contrast is a game that is played by countries that have already ruled out any..."

“Geo-economics by contrast is a game that is played by countries that have already ruled out any warfare at all among themselves. Supercomputers kept out by import barriers cannot be forcibly delivered by airborne assault to the banks or universities that might buy them, nor can competition in the world automobile market be pursued by sinking the car ferries of competitors on the high seas. Armed force has thus entirely lost the dominant role it once had in the age of mercantilism — as an ad…

18 Jan 2023 · hynek · Hynek Schlawack

Why I Like Nox

Ever since I got involved with open-source Python projects, tox has been vital for testing packages across Python versions (and other factors). However, lately, I’ve been increasingly using Nox for my projects instead. Since I’ve been asked why repeatedly, I’ll sum up my thoughts.

29 Jul 2022 · hynek · Hynek Schlawack

Recursive Optional Dependencies in Python

One of my (slowly evaporating) reasons why I like putting packaging metadata into an executable setup.py is the ability to have optional dependencies that are combinations of others. As of pip 21.2, this is possible without running code.

28 Dec 2021 · hynek · Hynek Schlawack

import attrs

An attempt at catharsis. This is a deeply personal blog post about the most influential project I’ve ever created: attrs , the progenitor of modern Python class utilities. I’m retelling its history from my perspective, how it begot dataclasses , and how I’m leading it into the future.

18 Nov 2021 · hynek · Hynek Schlawack

How to Ditch Codecov for Python Projects

Codecov’s unreliability breaking CI on my open source projects has been a constant source of frustration for me for years. I have found a way to enforce coverage over a whole GitHub Actions build matrix that doesn’t rely on third-party services.

8 Nov 2021 · jonbaer · Jon Baer

"While they wrestle with the immediate danger posed by hackers today, US government officials are..."

“While they wrestle with the immediate danger posed by hackers today, US government officials are preparing for another, longer-term threat: attackers who are collecting sensitive, encrypted data now in the hope that they’ll be able to unlock it at some point in the future.” - Hackers are stealing data today so quantum computers can crack it in a decade | MIT Technology Review

8 Nov 2021 · jonbaer · Jon Baer

Two of World’s Biggest Quantum Computers Made in China

Two of World’s Biggest Quantum Computers Made in China : Two of the most powerful quantum computers in the world to date now both come from China, and new experiments with them re-ignite the controversy over what kinds of problems might be quantum computationally solvable that couldn’t begin to be solved by a conventional supercomputer.

25 Aug 2021 · hynek · Hynek Schlawack

Announcing a New Section: TIL

Trying out something new: today I’m launching my own Today I Learned section. In this essay I will sum up what my plans and hopes are.

22 Jun 2021 · hynek · Hynek Schlawack

Subclassing in Python Redux

The conflict between subclassing and composition is as old as object-oriented programming. The latest crop of languages like Go or Rust prove that you don’t need subclassing to successfully write code. But what’s a pragmatic approach to subclassing in Python, specifically?

28 Apr 2021 · hynek · Hynek Schlawack

Canonical SEO Failure

This post is less about teaching and more about schadenfreude amusement for you, and catharsis for me. It’s the story of how one unfortunate HTML tag kicked me off almost all search engines and my months-long way back. And why it didn’t matter in the end.

2 Mar 2021 · hynek · Hynek Schlawack

Semantic Versioning Will Not Save You

The widely used Python package cryptography changed their build system to use Rust for low-level code, which caused an emotional GitHub thread. Enthusiasts of 32-bit hardware from the 1990s aside, a vocal faction stipulated adherence to Semantic Versioning from the maintainers, claiming it would’ve prevented all grief. I will show you not only why this is wrong but also how relying on Semantic Versioning hurts you – the user.

3 Feb 2021 · hynek · Hynek Schlawack

Lie vs Lay

Lie and lay are infamously confusing to non-native speakers. It’s so bad that it sparked a cottage industry of click-baity articles full of sketchy ads. Since English is my third language, I stumbled a lot myself until I wrote this cheatsheet.

27 Jan 2021 · jcs · joshua stein

OpenBSD on the Lenovo ThinkPad X1 Nano (1st Gen)

Lenovo has finally made a smaller version of its X1 Carbon , something I've been looking forward to for years. Table of Contents Top Hardware Firmware Current OpenBSD Support Summary Updates Hardware The X1 Nano is basically a 13" version of the 14" X1 Carbon, reducing its footprint, thickness, and weight. Availability in the US has been fairly limited (and expensive) at the moment, offering no WWAN or any customizable options, and Core i7 models are not shipping out for months. I purchased the …

11 Aug 2020 · jonbaer · Jon Baer

‘Quantum secret sharing’ scheme allows 10 parties to communicate securely – Physics World

‘Quantum secret sharing’ scheme allows 10 parties to communicate securely – Physics World : A “quantum secret sharing” scheme that allows 10 parties share information securely – the highest number so far – has been developed and demonstrated by researchers in South Africa. The protocol involves each party performing quantum operations on the photon without measuring its state and the team says it could help increase both the rate at which data is shared on secure quantum networks a…

21 May 2020 · hynek · Hynek Schlawack

Waiting in asyncio

One of the main appeals of using Python’s asyncio is being able to fire off many coroutines and run them concurrently. How many ways do you know for waiting for their results?

4 May 2020 · hynek · Hynek Schlawack

Why You Should Document Your Tests

Some projects have the policy that all tests must have an explanatory comment – including all of mine. At first, I found that baffling. If that’s you right now, this article is for you.

9 Mar 2020 · hynek · Hynek Schlawack

Python in GitHub Actions

GitHub’s own CI called GitHub Actions has been out of closed beta for a while and offers generous free quotas and a seamless integration with the rest of the site. Let’s have a look at how to use it for an open source Python package.

23 Feb 2020 · hynek · Hynek Schlawack

Python in Production

I’m missing a key part from the public Python discourse and I would like to help to change that.

14 Feb 2020 · hynek · Hynek Schlawack

Python Packaging Metadata

Since this topic keeps coming up, I’d like to briefly share my thoughts on Python package metadata because it’s – as always – more complex than it seems.

23 Sep 2019 · hynek · Hynek Schlawack

Books That Changed My Life

People always ask for book recommendations, so here’s my list of books that changed my life in one way or another. None of them is related to tech or programming, but all affect how I think and work.

1 Aug 2019 · jonbaer · Jon Baer

Every transistor has a unique quantum fingerprint—but can it be used as a form of ID?

Every transistor has a unique quantum fingerprint—but can it be used as a form of ID? : As trap sites are basically tiny defects that are randomly distributed in an uncontrollable way during fabrication, the number, location, and energy levels of trap sites differ for every transistor. As a result, single-electron effects lead to a unique modification in the current-voltage characteristics, effectively giving each transistor a unique “fingerprint.”

1 Aug 2019 · jonbaer · Jon Baer

Illinois Physics Researchers Awarded DoE Grants to Advance Quantum Information Science

Illinois Physics Researchers Awarded DoE Grants to Advance Quantum Information Science : Physics Professors Bryan Clark and Taylor Hughes of the University of Illinois at Urbana-Champaign have been awarded US Department of Energy (DOE) grants to develop new quantum computing capabilities. The awards are part of a $37-million DOE initiative supporting research that will lay the groundwork for the development of new quantum information systems and that will use current quantum information capabili…

3 Jun 2019 · hynek · Hynek Schlawack

Python in Azure Pipelines, Step by Step

Since the acquisition of Travis CI , the future of their free offering is unclear. Azure Pipelines has a generous free tier, but the examples I found are discouragingly complex and take advantage of features like templating that most projects don’t need. To close that gap, this article shows you how to move a Python project with simple CI needs from Travis CI to Azure Pipelines.

15 May 2019 · hynek · Hynek Schlawack

The Price of the Hallway Track

There are many good reasons not to go to every talk possible when attending conferences. However, increasingly, it became hip to boast about avoiding going to talks – encouraging others to follow suit. That rubs me the wrong way as a speaker, and I’ll try to explain why.

3 May 2019 · hynek · Hynek Schlawack

Maintaining a Python Project When It’s Not Your Job

PyPI is a gold mine of great packages but those packages have to be written first. More often than not, projects that millions of people depend on are written and maintained by only one person. If you’re unlucky, that person is you! This talk tries to lighten the burden by giving you useful tools and approaches.

29 Nov 2018 · hynek · Hynek Schlawack

Python Application Dependency Management

We have more ways to manage dependencies in Python applications than ever. But how do they fare in production? Unfortunately this topic turned out to be quite polarizing and was at the center of a lot of heated debates. This is my attempt at an opinionated review through a DevOps lens.

12 May 2018 · hynek · Hynek Schlawack

How to Write Deployment-friendly Applications

The DevOps movement gave us many ways to put Python applications into production. But how can you practically structure and configure your applications to make them indifferent to the environment they run in? How do secrets fit into the picture? And where do you put that log file?

20 Nov 2017 · hynek · Hynek Schlawack

Python Hashes and Equality

Most Python programmers don’t spend a lot of time thinking about how equality and hashing works. It usually just works. However there’s quite a bit of gotchas and edge cases that can lead to subtle and frustrating bugs once one starts to customize their behavior – especially if the rules on how they interact aren’t understood.

19 Jun 2017 · hynek · Hynek Schlawack

Why Your Dockerized Application Isn’t Receiving Signals

Proper cleanup when terminating your application isn’t less important when it’s running inside of a Docker container. Although it only comes down to making sure signals reach your application and handling them, there’s a bunch of things that can go wrong.

30 May 2017 · hynek · Hynek Schlawack

On Conference Speaking

I’ve seen quite a bit of the world thanks to being invited to speak at conferences. Since some people are under the impression that serial conference speakers possess some special talents, I’d like to demystify my process by walking you through my latest talk from start to finish.

19 May 2017 · hynek · Hynek Schlawack

Solid Snakes or: How to Take 5 Weeks of Vacation

No matter whether you run a web app, search for gravitational waves, or maintain a backup script: reliability of your systems make the difference between sweet dreams and production nightmares at 4am.