14 Mar 2023 · jonbaer · Jon Baer
“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
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.
9 Jan 2023 · hynek · Hynek Schlawack
Why does DYLD_LIBRARY_PATH keep disappearing!?
6 Jan 2023 · jonbaer · Jon Baer
19 Sep 2022 · hynek · Hynek Schlawack
A love letter to tools that changed everything for me.
29 Jul 2022 · hynek · Hynek Schlawack
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.
21 Jun 2022 · hynek · Hynek Schlawack
A common issue when writing tests for real-world software is how to deal with third-party dependencies. Let’s examine an old, but counter-intuitive principle.
6 Feb 2022 · agnishom · blank
what makes an appropriate rating system and how to rate
28 Dec 2021 · hynek · Hynek Schlawack
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
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 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 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
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.
4 Jul 2021 · agnishom · blank
an example of a blog post with diagrams
22 Jun 2021 · hynek · Hynek Schlawack
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?
22 May 2021 · agnishom · blank
an example of a distill-style blog post and main elements
28 Apr 2021 · hynek · Hynek Schlawack
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.
16 Mar 2021 · jonbaer · Jon Baer
2 Mar 2021 · hynek · Hynek Schlawack
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 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
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 …
16 Dec 2020 · jonbaer · Jon Baer
24 Nov 2020 · jonbaer · Jon Baer
28 Sep 2020 · agnishom · blank
a quick run down on accessing github metadata.
28 Sep 2020 · agnishom · blank
an example of a blog post with twitter
11 Aug 2020 · jonbaer · Jon Baer
‘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…
11 Aug 2020 · jonbaer · Jon Baer
5 Jul 2020 · jonbaer · Jon Baer
7 Jun 2020 · jonbaer · Jon Baer
21 May 2020 · hynek · Hynek Schlawack
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?
18 May 2020 · hynek · Hynek Schlawack
Let’s talk about abstractions and Pythonic code.
4 May 2020 · hynek · Hynek Schlawack
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.
12 Apr 2020 · jonbaer · Jon Baer
John Horton Conway (26 December 1937 – 11 April 2020)
9 Mar 2020 · hynek · Hynek Schlawack
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
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
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.
27 Dec 2019 · jonbaer · Jon Baer
9 Dec 2019 · jonbaer · Jon Baer
23 Sep 2019 · hynek · Hynek Schlawack
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? : 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 : 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
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
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
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
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
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
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
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
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
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.