32-bit x86 Position Independent Code – It's That Bad
Let's start by looking at a simple C function to be compiled as position-independent code (i.e. -fPIC , for use in a shared library):
Topics /
The most popular blog posts about software engineering on Hacker News. 21,842 posts.
Let's start by looking at a simple C function to be compiled as position-independent code (i.e. -fPIC , for use in a shared library):
Implementing a programming language is an experience no programmer should go without; the process fosters a deep understanding of computation, and it's fun!
An exploration of how Extism makes it easy to use WebAssembly
A few years ago, on a whim, I wrote YAIOUOM. YAOIOUM was a static analyzer for Rust that checked that the code was using units of measures correctly, e.g. a distance in meters is not a distance in centimeters, dividing meters by seconds gave you a value in m / s (aka m * s^-1). YAIOUOM was an example of a refinement…
This blog post is adapted from a lightning talk I gave at the Boston Golang meetup in December of 2015. For a while, it seemed like everyone was crazy for microservices. You couldn’t open up your favorite news aggregator of choice without some company you had never heard of touting how the move t
This release will be the Reference Implementation of version 28 of the Java SE Platform, as specified by JSR 403 in the Java Community Process.
A discussion of how Sorbet's type syntax came to be, the problems it solves, and how it could improve.
The Pragmatic Programmer advocates you should know your editor inside and out. So why don't you know your version control system just as well? Discover git add "patch mode" and learn how to make more concisely crafted commits leading to a cleaner git history and more friends.
Recently, while working on an optimized Quicksort implementation, I came across a rather interesting quirk. Modern compilers (especially Clang) optimize loops using fast, branch-free instructions - provided you use the right programming style.
AI reviewing AI-generated code - genius or pointless? Deep analysis of AI code review paradox + real data on why it actually works better than humans.
Last week at Vimeo we had a challenge. Build a better query string parameter sorter for a Varnish plugin. The gauntlet was thrown down at 5pm on a Friday and by 2am Friday night we had our first contender. I arrived home to see the code and decided to throw my hat into the ring. I had made some attempts at c plugins…
Code review on GitHub has evolved a lot since we introduced the ability to comment on an individual commit in 2008. Users today can propose a change using a pull…
Let’s try a new format – “shorts”; small blog posts where I elaborate on ideas that I’d discuss at my twitter, but they either come back over and over, or the short form doesn’t convey all th…
I’ve been participating regularly in Advent of Code for the past couple of years. It’s one of the highlights of my holiday season. The puzzles are fun, the stories are appropriately ridiculous, and it’s a neat way for me to keep the cobwebs brushed off some of the things I learned years ago that I don’t regularly use…
JSON is a fantastic format, anywhere people in your organization want to reach for XML, it’s always a good thing to ask the question “Why not JSON?”. The question I’d like you to ask the next time you’re reaching for your JSON hammer, is “Why not MessagePack?”.
Most WebAssembly tutorials and examples you will find online focus on using it inside the browser in order to accelerate various functionality of a website or web app. However, there is an area where WebAssembly is really powerful but not talked too much about: outside the browser usage scenarios. That is what we’ll…
"Malleability" of Bitcoin transactions has recently become a major issue. This article looks at how transactions are modified, at the byte...
What is it about voxels that makes people go crazy? Throughout the past decade, there have been SO many developers obsessed with shrinking them down to have as many as possible ( 1 , 2 , 3 , 4 , 5 ), admittedly including myself. It’s exciting both as a developer and to the gaming community to see amazing algorithms…
I went on a little low-level Nix adventure yesterday and early this morning because of this excellent blog post. In it, Farid builds up the simplest possible Nix derivation—making a file that has the contents “hello world”. Here’s what I like about it: