The Expanding Dark Forest and Generative AI(opens in new tab)
An exploration of the problems and possible futures of flooding the web with generative AI content
Latest posts from blogs I follow
An exploration of the problems and possible futures of flooding the web with generative AI content
Sometimes you have a test order issue CI that you want to debug locally, and to do that you need to only run the tests that knapsack runs in the relevant shard, in the right order. Here’s how to do ...
Not only is tmux my favorite way of managing my workspace, but I can honestly say it's the one piece of software that has had the biggest impact on the way I write code
Mastodon won't be the next Twitter, and it's not because of Bluesky. The ideals and execution won't scale.
Ever seen a code base where understanding a simple method meant jumping through tangled class hierarchies? We all have! And while “Favor composition over inheritance!” is almost as old as object-oriented programming, strictly avoiding all types of subclassing leads to ...
Shareable, browser-based documents that can compile and run code
When it comes to synthetic testing, engineers often rely on 3rd party platforms such as Datadog or New Relic that provide this type of monitoring. If you're running your applications and services on Kubernetes though, you can spin up synthetic ...
Classifiers are one bit of Python project metadata that predates PyPI. Classifiers are weird. They were around in setuptools days, and are still here with pyproject.toml. What are they? Why do we need them? Do we need them?Which classifiers should ...
Running live demos can be stressful. You know what you want to say and show. You prepare the CLI commands you want to run to best showcase what you've built, but then you waste time typing long commands; you make ...
Should we think of open source components the same way we think of physical parts for manufactured goods? There are problems with supply chain analogy when applied to software. Thomas Depierre discusses some of those issues in this episode. Links:I ...
I’ve had an idea for a bit and wanted to try it out. There’s no reason why it wouldn’t work but I can certainly think of a few reasons why would woudn’t want to do this. Bad Reasons Active Directory ...
Throughout my years as a sysadmin, I have needed to synchronize user information and HR data. In a previous job at a university, I developed a script to synchronize Oracle user information with AD data. I have written this script ...
While Python is not a pure functional programming language, you still can do a lot of functional programming in it. In fact, just one function - `reduce` - can do most of it and in this article I will show ...
How to make it easier to launch command line utilities and GUI applications installed with flatpak
Judging a book by its cover is a great idea. Until content makes a comeback.
Refactoring with effortless consistency.
Anthony Sottile and Brian discuss changes that would be cool for pytest, even unrealistic changes. These are changes we'd make to pytest if we didn't ahve to care about backwards compatibilty.Anthony's list:The import systemMulti-process support out of the boxAsync supportChanges ...
Github Project Code
Nowadays, Alpine Linux is one of the most popular options for container base images. Many people (maybe including you) use it for anything and everything. Some people use it because of its small size, some because of habit and some, ...
“How do we improve JavaScript usage, teach progressive enhancement and reconcile the community?”
This post is satire. It may also not make too much sense. Today I’ve seen this picture on my LinkedIn wall: And it triggered me badly. There are people in my network who are highly sensitive to the divine nature ...
TL;DR One of my most-frequently searched dev tasks over the course of my career thus far has been the “how do I find what process is on a port” to “how do I kill a given process” wombo-combo — there’s ...
John and Nick are back to discuss switching to a new plugin manager for Neovim.
John Christopher and I sit down and do a code review together.
Decoding EC2 instance type names to understand which is best for you. With free infographic.
There's a lot of "magic" that happens behind the scenes to make whole Kubernetes work. One of those is resource management and resource allocation done by Linux cgroups. In this article we will take a deep dive into what cgroups ...
Before I even get into the impetus for this blog post, if you came from a search engine and you just want the code, here’s a demo. Pleasure doing business with you. Introduction In a client’s project recently, I found ...
Do you ever feel like you’re at the mercy of your home appliances, instead of the other way around? I certainly did when the central AC compressor in our rented house decided to call it quits. Replacing it would have ...
This Is That Dreaded Blog Post That Was Foretold Every blog poster fears that one day this post will be upon them — that painfully self-important and -unaware “Why I’m Leaving ${city}” post. I’m gonna try to do this right; ...
I recently saw an online acquaintance of mine share a Controversial Opinion™ that I found challenging: If you do not have formal training in design you are not a designer. Right off the bat — L take, and I’m trying ...
“There have been a number of criticisms levied at the React project over the years, some of them handled and some of them still wavering in the wind.”
Have you ever written a long chain of if/else statements or a huge match/case block, with all statements just matching against a list of values, and wondered how could you make it more concise and readable? If so, then _dictionary ...
Contents Introduction Number systems A certain symmetry and patterns Numbers and Data Types in C Transforming numbers from decimal to other number systems (binary, hexadecimal, etc.) Bitwise operations Bitwise AND Bitwise OR Bitwise XOR Bitwise NOT Left Shift Right Shift ...
An archive of my high school desktop designs, circa 2009
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 ...
Continuous profiling is a great tool for optimizing the performance of applications. It allows us to continuously monitor and analyze application's resource usage, identify bottlenecks, and use resources more efficiently. In this article, we will take a look at how ...
I got an email recently from a kind online friend who said they thought my work was swell, and that they’d like to ask about my process or what makes a good website. Aside from that being a really nice ...
We’re often told not to use document.write(), but… why?!
Why does DYLD_LIBRARY_PATH keep disappearing!?
Using language models to generate reverse outlines of writing drafts
We all are familiar with Python's generators and all their benefits. But, what if I told you that we can make them even better by combining them with recursion? So, let's see how we can use them to implement _"lazy ...