New
The latest blog posts to take off on Hacker News. 4,416 posts.
Guide to Python Debugging
<p> Even if you write clear and readable code, even if you cover your code with tests, even if you are very experienced developer, weird bugs will inevitab...
Overview of Python dependency management tools
I briefly describe each tool (pip, venv, pip-tools, pyenv, conda, pipenv, poetry and Docker), why it’s created and the problems it’s tackling. You can find a table summarizing all the information and the usual setups people use.
Measuring keyboard-to-photon latency with a light sensor
For a long time when I’ve wanted to test the latency of computers and UIs I’ve used the Is It Snappy app with my iPhone’s high speed camera to count frames between when I press a key and when the screen changes. However the problem with that is it takes a while to find the exact frames you want, which is annoying when…
A simple way to get more value from metrics
We spent one day 1 building a system that immediately found a mid 7 figure optimization (which ended up shipping). In the first year, we shipped mid 8 figures per year worth of cost savings as a result. The key feature this system introduces is the ability to query metrics data across all hosts and all services and…
Apple Mail randomly becomes the frontmost application in macOS
Since macOS 10.12 there’s a bug in Apple Mail that causes it to randomly become the frontmost application. If you are in full screen mode — like when you are giving a talk or watching a movie — it opens itself up in split view mode where it takes up half the screen while your other main window is being resized. I saw…
Introduction to Apache Airflow
Airflow is a platform to programmatically author, schedule, and monitor workflows. In this blog we will underestand the basics of airflow
Hypermodern Python
A guide to modern Python tooling with a focus on simplicity and minimalism.
How a lazy bitch like me learned to be productive
Before, I was a train wreck that ate too many cinnamon rolls and watched Netflix while laying in sweats on the couch. Today, I ran 3 miles, did 40 minutes of yoga, meditated, ate steel cut oats with berries for breakfast, then turned on my favorite business podcast while I showered, all before work.
ZSH Aliases
In ZSH you can increase your productivity with aliases. This post explains 5 types of aliases that you should know. Boost your shell productivity now and make ZSH your own
Mocking time and testing event loops in Go
Initially I wanted to write articles on those two topics separately (mocking time and testing event loops), but during the process I realized that the things I want to talk about are too interrelated: when I need to mock time, it's usually to test some event loop with it, and when I test event loops, typically mocked…
W64devkit: A Portable C and C++ Development Kit for Windows
As a computer engineer, my job is to use computers to solve important problems. Ideally my solutions will be efficient, and typically that means making the best use of the resources at hand. Quite often these resources are machines running Windows and, despite my misgivings about the platform, there is much to be…
My 2020 desk setup
I generally enjoy reading the uses this blog, and recently people have been talking about desk setups in my bubble (and on my Twitch stream), so I figured I’d write a post about my current setup!
Programming Inside a Container
I have a small collection of servers, laptops and desktops. My servers were purchased and configured at different times. By design, they have different hardware and software configurations. I have processors from AMD, Intel, Ampere and Rockchip. I have a wide range of Linux distributions, both old and new. I also…
Using SQL to find my best photo of a pelican according to Apple Photos
According to the Apple Photos internal SQLite database, this is the most aesthetically pleasing photograph I have ever taken of a pelican: Here’s the SQL query that found me my …
Siri, What Time Is It in London?
Every other service that tries to answer “What time is it in London?” gets it right. Only Siri gets it wrong.
Python Generated Sequence Diagrams
Understanding a system or software architecture simply, truly, absolutely, undoubtedly requires an occasional sequence diagram. I left ...
Using `make` and `git diff` for a simple and powerful test harness
People regularly go for complex test harnesses; and when you’re in an ecosystem, they can be a good fit. But outside ecosystems, it’s actually quite easy to produce a fairly good test harness.
Simple Personal Finance Tracking with GnuCash
*Please see the associated Hacker News comments for some interesting discussion related to this article.*
It’s Time to Get Back to RSS
A lot of people who were on the internet in the early 2000’s remember something called RSS. It stands for Really Simple Syndication, and it allowed conten
Fragile narrow laggy asynchronous mismatched pipes kill productivity
Something I’ve been thinking about recently is how when I’ve worked on any kind of distributed system, including systems as simple as a web app with frontend and backend code, probably upwards of 80% of my time is spent on things I wouldn’t need to do if it weren’t distributed. I came up with the following description…
Serve Videos Instead of GIFs
The Graphics Interchange Format ( GIF ) is over 30 years old but is a pervasive part of internet culture. We use GIFs to serve short, silent, and looping videos, which frequently become memes . Entire services exist to create and share them, and many smartphone keyboards have built-in GIF support.
In Praise of AutoHotKey
People think it’s weird that I do all my development on a Windows machine. It’s definitely a second-class citizen experience in the wider development world, and Windows has a lot of really frustrating issues, but it’s still my favorite operating system. This is for exactly one reason: AutoHotKey. AHK is an engine for…
My blog is now generated by Google Docs
Welcome to my new blog! This is going to be a bit of an experiment for me. I have wanted to set up a blog for quite some time now but I never wanted to host my blog on some other website like medium (call it a vanity thing but I like seeing my name in that URL). I also didn’t really want to set up something like…
Prettifying Org Mode with CSS
Org Mode HTML output can look like this webpage, but as its [[http://bettermotherfuckingwebsite.co...