Faster Integer Parsing
Back with a post after 6 years of silence. If you had to parse a microsecond-resolution epoch timestamp as quickly as possible, how would you do it? We’ll take a look at using compiler intrinsics to do it in log(n) time.
Topics /
The most popular blog posts about software engineering on Hacker News. 994 posts.
Back with a post after 6 years of silence. If you had to parse a microsecond-resolution epoch timestamp as quickly as possible, how would you do it? We’ll take a look at using compiler intrinsics to do it in log(n) time.
Colin Macleod Dundee Barnet Greece Tcl C++ Bloomberg Alcatel Intrasoft Autism
A graphics study of Doom Eternal
I’ve been a software developer at EBANX since 2016. There we have a mechanism called Release Candidate. Every time we deploy something new to our monolith PHP system we end up deploying it first to the release candidate server. Then we elect a few random requests and proxy it from our live normal servers to the…
Software engineer specializing in query engines and distributed systems
A friend once said to me: You know, to some people, C is just a bunch of macros that expand to assembly . It’s been years ago (smartasses: it was also before llvm , ok?), but the sentence stuck with me. Do Kernighan and Ritchie really look at a C program and see assembly code? Does Tim Berners-Lee surf the Web any…
This weeks hottest new JS runtime.
TLA+ is a formal specification language that you can use to verify programs. It’s different from other formal verification systems in that it’s very pragmatic. Instead of writing proofs…
Aquiles Carattino helps technical founders and scientists transition from academia to entrepreneurship. Actionable advice on deep tech strategy, product management, and commercializing science.
INTRO A few years ago, I got the opportunity to architect and code the fire propagation system in Far Cry 2. At that time, it was a gigantic task and it scared the hell out of me. Luckily, it turned out well enough. With the upcoming Far Cry 3, several people recently asked me how
In part 2, we completed the user facing part of the compiler with semantic analysis. Now we're free to focus on the backend, generating LLVM. To do so, we'll use the llvm-hs-pure library, which embeds LLVM into a Haskell ADT, allowing us to manipulate it without having to set up any FFI.|A blog about various…
Design principles for writing software meant to survive decades of changing requirements and technology.
Cache rules everything around me. `pyc` files can contain secrets and should not be checked in to source control. Use the standard Python [.gitignore](https://github.com/github/gitignore/blob/master/Python.gitignore).
I've come across people who do not think that CSS is related to internationalisation at all, but if you think about it, internationalisation is more than…
In this multi-part series of articles I'll try and capture everything I think someone who wants to learn and work with Kubernetes should know about. If you h...
Saagar Jha's website.
This is an interactive tutorial series about Conflict-Free Replicated Data Types, or CRDTs for short. Their purpose is to allow seamless replication of data on different nodes in a distributed system. Merging is by construction always possible, without any conflicts. This series assumes no knowledge about CRDTs, but…
I’ve noticed changes in how I prefer to develop software since I’ve been focusing my career on Elixir. It allows me to think bigger thoughts and to develop with lower friction and less fear. I don’t want to go back.
In this post I’ll be walking through a simple hack I added to my shell that I think makes me more productive (if nothing else it makes me happy).
If you are living under a rock, quarantined against COVID-19, here’s quite a long, and somewhat technical, post for your consumption. This post will talk about how C and assembly dance together–the tango? waltz? who knows?
Five years ago, I wrote a post about the things I hated most about my then (and still) favorite scripting language: Ruby.
From a confusing page of old C code to APL/J praise.
A one-pass compiler emits assembly (or binary code) right during parsing, without creating an intermediate representation, such as an AST. This is a rare technique that was used back in the days when computer memory was scarce. This limited both the language features that were possible and the quality of the produced…
Typometer is a tool to measure and analyze visual latency of text / code editors.
Homepage of Michel Weststrate