Releases for XFCE
So it’s not that I’ve been quiet and lazy – I was actually busy preparing some releases and hacking on stuff. So here’s an update on what’s been going on and what’s to come.
Topics /
The most popular blog posts about software engineering on Hacker News. 14,544 posts.
So it’s not that I’ve been quiet and lazy – I was actually busy preparing some releases and hacking on stuff. So here’s an update on what’s been going on and what’s to come.
Mapping strings to things makes sense. You take a meaningful string and you assign it a value. As with most things we do in programming there are many pitfalls to approaching a problem. So, lets explore some of them!
Computers often need random numbers. Most times, random numbers are not actually random... in the sense that they are the output of a mathematical function that is purely deterministic. And it is not even entirely clear what "really random" would mean. It is not clear that we live in a randomized universe... it seems…
Some best practices I've picked up after working on Django products over the past 18 months
prompt engineering is nothing but an attempt to reverse-engineer a non-deterministic black box for which any of the parameters below are unknown: - training set - weights - constraints on the model - layers between you and the model that transform both your input and the model's output that can change at any time …
Do you remember how we first met, back in 2012? I thought your functional approach was fresh, and different. For a while I believed we were made for each other. A first project was a success; on my own I was comfortable with the good parts of you. But as soon as I started working in teams writing Scala, your immense…
Before we get into this kind of stream-of-consciousness outline, I'd like to note that very topically to this, over at the Spritely Institute (where I'm CTO, did I mention on here yet that I'm the CTO of a nonprofit to improve networked communication on the internet on this blog? because I don't think I did) we…
Update: This post received quite a lot of healthy discussion on Hacker News. You can follow that conversation here: https://news.ycombinator.com/item?id=18119570
You visit a seemingly simple website with little or no interactivity, yet somehow it sends you 2 MB of JavaScript to digest. You're half way down the article that you're reading and suddenly: client-side rendering kicks in, resets everything. You try to find your way back but the page is now janking around. Your…
Results dashboard with the yearly (unofficial) Advent of Code participant survey
I've noticed more than once that some programmers are confused about the direction in which the stack grows on x86, and what "top of the stack" and "bottom of the stack" mean. It appears that this confusion is caused by a basic mismatch in the way people are used to thinking about stacks, and in the way the stack on…
4NF presented in a straightforward way, with some investigation of history of teaching 4NF.
One of Common Lisp’s more advanced features is its condition handling system, which is a powerful generalisation of other languages’ exception handling systems. I first became aware of condition handling from Peter Seibel’s Practical Common Lisp , chapter 19 . But if I’m honest I’ve only very recently understood what…
A deep dive into how I automated my now page on my personal website by creating a Go script and making use of GitHub Actions.
Using graph theory and Ryanair route data to find cheap multi-city flight loops through Europe.
There is a pattern I’ve learned while using Zig which I’ve never seen used in any other language. It’s an extremely simple trick which - when applied to a data structure - reduces memory usage, reduces memory allocations, speeds up accesses, makes freeing instantaneous, and generally makes everything much, much…
The current structure definition of the ion system heap involves a zero sized array:
How to ship your apps on Debian and derivatives.
A common situation in asyncio Python programs is asynchronous initialization. Some resource must be initialized exactly once before it can be used, but the initialization itself is asynchronous — such as an asyncpg database. Let’s talk about a couple of solutions.
If you like this blog, you should follow it via RSS and read older posts . Here are the recent posts:
This week I finished shutting down my app-detection service, iHasApp . I disabled the signup forms, grandfathered the current users on their plans, sent out emails, and updated the landing page with a message to any new visitors. After all of this, I thought it might be interesting to chronicle what it was, how it…
I want to take a moment to elaborate on what makes a well formed commit message. I think the best practices for commit message formatting is one of the little details that makes Git great. Understandably, some of the first commits to rails.git have messages of the really-long-line variety, and I want to expand on why…
The backstory behind Elder.js and the thinking behind the 5 biggest design decisions.
PowerPC Macs were produced in huge numbers, and a lot of this hardware is still viable for use today, with professional software such as Photoshop CS2 and Propellerheads Reason. They're still good workstations, with lots of productivity software, and no always-online tracking or distractions. Originally, I got mine…