Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,544 posts.
The Learning Loop and LLMs
How continuous learning shapes effective software development with LLMs
Validating UTF-8 strings using as little as 0.7 cycles per byte
Most strings found on the Internet are encoded using a particular unicode format called UTF-8. However, not all strings of bytes are valid UTF-8. The rules as to what constitute a valid UTF-8 string are somewhat arcane. Yet it seems important to quickly validate these strings before you consume them. In a previous…
LiveCode is a modern day HyperCard (2019)
AndreGarzia.com website
The underwhelming impact of software engineering research
This article was prompted by responses to a tweet I wrote in response to an analysis of the research area of papers submitted to the 2022 ICSE conference, the flagship conference for software engineering research. These led me to reflect on software engineering research in general. I’m sorry to say that I think that…
Game Programming Patterns: Double Buffer (2014)
Cause a series of sequential operations to appear instantaneous or simultaneous.
Emotions: A Code Book
What I write about my own personal journey is intended as just that—my personal journey.
Java Reflection, 1000x Faster
A few weeks ago I got to make some of my code 1000 times faster, without changing the underlying complexity! As the title implies, this involved making Java reflection calls faster.
Sort branches by last commit date
I have too many git branches and like many people I developed a convoluted script to show me the most recent ones. I ran this command many times a day for years:
Why I Love Haskell: An Example
In this post I'm going to talk about a small Haskell implementation I wrote which would have been much more difficult to write in other lang...
Python as a declarative programming language (2017)
If you look at the programming languages benchmarks game, Python is one of the slowest commonly used programming languages out there . Typical programs written in pure Python average around 40 times slower than the equivalent program written in C or C++.
Compiling a Mac OS 8 Application on MacOS Sierra
A light hearted look back at my time programming in the 1990s as I try to get an old Minesweeper implementation of mine from 1999, written in C++ using PowerPlant for Mac OS 8, compiling in Xcode 8 and running on macOS Sierra.
De-anonymizing programmers from executable binaries
When coding style survives compilation: de-anonymizing programmers from executable binaries Caliskan et al., NDSS’18 As a programmer you have a unique style, and stylometry techniques can be used t…
The Elements of Git
This is not a tutorial. If you're looking for a quick, easy, "how to use git" kind of post, look elsewhere.The goal of this post is to give you just enough understanding of the git internals that you can build up a correct intuition of what various git commands actually do under the hood.
Hash tables
In this post you will learn what hash tables are, why you would use them, and how they are used to implement dictionaries in the most popular Python interpreter—CPython.
Hacking around with the ScotRail audio announcements
Scottish train operator ScotRail released a two-hour long MP3 file containing all of the components of its automated station announcements. Messing around with them is proving to be a huge …
The Go 1.1 scheduler
One of the big features for Go 1.1 is the new scheduler, contributed by Dmitry Vyukov. The new scheduler has given a dramatic increase in performance for parallel Go programs and with nothing better to do, I figured I'd write something about it.
Needy Programs
We used to use software; now software started to use us