The Little Redis Book
Karl Seguin's Blog - A mix of coding and creative writing
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 2,232 posts.
Karl Seguin's Blog - A mix of coding and creative writing
Programming language performance is something that nearly everyone cares about at some point, whether they realise it or not. If you’re a programmer, you sometimes have to make your programs run fast; if you’re a user, you might be frustrated at a program that runs slowly, without knowing that it’s caused by a poor…
Writing a book is a time consuming process, and if you’re going to dedicate a year, or more, of your life to it, it makes sense to pick the best tool for the job. If you’re technically inclined – and if you use Emacs – then the choice is obvious.
Last time we formulated the problem of isosurface extraction and discussed some general approaches at a high level. Today, we’re going to get very specific and look at meshing in particular.…
For a real-life implementation, see how Racket's math/number-theory does it here .
How to turn 256 bits of entropy into a beautiful, avatar-friendly circular SVG: the Hashvatar.
Since its release in December 2005, git has taken over the software industry. In combination with GitHub it is now a powerful tool to publish and share code: From big teams ( linux kernel , id Software , Epic Unreal ) to single individual ( Prince of Persia , Another world , Rick Dangerous ), many have adopted it as…
A blog about life between two parens.
What’s wrong with Git? A conceptual design analysis De Rossi & Jackson Onward! 2013 We finished up last week talking about the how to find good concepts / abstractions in a software desig…
If you’re a regular reader, you might have noticed that I’ve been on a quest for the perfect backup program , and ended up writing my own encryption layer over bup.
OK OK, I couldn't resist that title but it probably goes a bit far. Let me try for a little more nuance:
Cause a series of sequential operations to appear instantaneous or simultaneous.
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…
What if PostgreSQL didn’t need VACUUM at all? This seems hard to imagine. After all, PostgreSQL uses multi-version concurrency control (MVC...
Hit the play button above and it will play music; specifically, music composed with (or at least, compatible with) a program released in 1994 called FastTracker 2; this is a Javascript homage I wrote in a fit of nostalgia. The source code is on GitHub if you'd like to check it out.
The FILTER clause extends aggregate functions (SUM, AVG, COUNT, etc.) with an additional WHERE clause. Databases not supporting FILTER can use CASE within the aggregate function instead.
You love rebasing, right? Rewriting history might be appealing, but there are good reasons not to.
For some inane reason, Github classifies me as a "major open source maintainer", which means I get a free copilot subscription.1 I've been using it for a...
Are you the owner of this domain? Visit Porkbun to start building your website. We may already have a design waiting for you.
I was enjoying some pizza the other day with some buddies that know a bit about my research and understand where I am coming from with regards to my own computing aesthetics. They understand that I have always pushed for the smallest code that I can get, and to simplify
Implementing a programming language is an experience no programmer should go without; the process fosters a deep understanding of computation, and it's fun!
"Malleability" of Bitcoin transactions has recently become a major issue. This article looks at how transactions are modified, at the byte...
The web site has since been through various iterations and changes, therefore I include some screenshots below for posterity (because my design is much more beautiful than what is now online ;-).
When I first saw React.js , I had a quick glance and thought that it was cool, they finally figured out how to do a Cocoa-like MVC UI framew...
Your code might be perfect and never fail, but unfortunately the outside world is less reliable. Sometimes, other people's programs crash or freeze. Networks go down; printers catch on fire . Your code needs to be prepared for this: every time you read from the network, attempt to acquire an inter-process lock, or…
Memory management is the heart of operating systems; it is crucial for both programming and system administration. In the next few posts I'll cover memory with an eye towards practical aspects, but wi
This month’s PGSQL Phriday #015 topic is about UUIDs, hosted by Lætitia Avrot. Lætitia has called for a debate. No, no, no. I say let’s have an all-out war. A benchmark war. I have deci…
Unexpected performance deviations depending on how you spell zero.