Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,544 posts.
A tale of 132 e's
A few weeks ago my most popular repository on GitHub was crowbar , a Rust crate that I’m particularly proud of. It wasn’t necessarily good , but it did something interesting. It has 168 stars.
Deconstruction of Pinkie Pie's 64-bit Chrome exploit
Back in November 2012, a Chrome Releases blog post mysteriously stated: "Congratulations to Pinkie Pie for completing challenge: 64-bit exp...
Storing Data in Control Flow
A decision that arises over and over when designing concurrent programs is whether to represent program state in control flow or as data. This post is about what that decision means and how to approach it. Done well, taking program state stored in data and storing it instead in control flow can make programs much…
Building a Lisp from scratch with Swift
This article describes how you can build a simple LISP, based on the 1978 article <i>'A Micro Manual For LISP - Not The Whole Truth'</i> with Swift, taking advantage where possible of the features the language offers.
Beautiful Native Libraries
A guide on writing beautiful native libraries in C or C++ that compile to native code.
Hilary Mason: How to Replace Yourself with a Very Small Shell Script
สล็อตเว็บตรง แตกง่าย ด้วยการเล่นผ่านโทรศัพท์มือถือสามารถเล่นได้ทุกที่ทุกเวลาตลอด 24 ชั่วโมง ทำให้ได้รับความนิยมอย่างแพร่หลายเหตุปัจจุบัน
Exploring the design space of binary search trees
Open-source research project that explores the design space of binary search trees to implement persistent and concurrent linear list data structures.
Hunting Performance in Python Code: Measuring Memory Consumption
In this post I will talk about some tools that can help us solve a painful problem in Python, especially when using PyPy: memory consumption. Why are we concerned with this in the first place? Why …
What if we could see all concurrency bugs in the debugger?
A paper on debugging non-deterministic concurrency issues interactively.
How many engineers does it take to make subscripting work?
The select part is actually fine. But for updates, especially for complex updates, it could be pretty verbose and far from being ergonomic. What would you say to this syntax instead?
The Shape of Inequalities
…symmetry isn’t just a preference for “pretty” shapes. Contents Introduction The HM-GM-AM-QM Inequality The two circles The Semicircle The Container The 3D container The Sum of Squares Inequality Nesbitt’s Inequality Conclusion Introduction While I was randomly browsing the web, I came across this nice picture: Roland…
Emscripten (LLVM-to-JavaScript compiler) 1.0
It's been almost a year since I started Emscripten (which, if you haven't heard of it, is a tool to compile LLVM to JavaScript), during whic...
Writing a simple SQL interpreter in Julia
<!DOCTYPE html>
Architectures that will inspire your programming
This is the Big 4. The architectures, that may help your work. They may influence the way you think about programming. 1. The Hexagonal Ar...
Compiler Performance and LLVM
I have always wanted the Cone compiler to be fast. Faster build times make it easier and more pleasant for the programmer to iterate and experiment quickly. Compilers built for speed, such as Turbo Pascal, D and Go, win praise and loyalty. Languages that struggle more with this, like C++ or Rust, get regular…
(1) Keep it simple, (2) make it something you'd actually use, (3) iterate.
It's not about technology for its own sake. It's about being able to implement your ideas.
Fast Tensors in Clojure – A Sneak Peek
There's a lot going on behind the scenes, since I am not only writing the books; at the same time I have to create the software to write about. For example, ...
Leeks and Leaks
On the completely impossible situation of blocking the Tor .onion TLD to avoid leaks, but at the same time not block it to make users able to do what they want. dot-onion leaks The onion TLD is a Tor specific domain that does not mean much to the world outside of Tor. If you try … Continue reading Leeks and leaks →
Everything you never wanted to know about file locking
1. Nobody really knows how to do it 2. If you think you have a reliable system for doing it, you're probably doing the computer's job -- "...
Let’s Build a Web Server, Part 3
“We learn most when we have to invent” —Piaget In Part 2 you created a minimalistic WSGI server that could handle basic HTTP GET requests. And I asked you a question, “How can you make your server handle more than one request at a time?” In this article you will …
Visualizing Diffs: The Myers difference algorithm (2020)
In 1986, Eugene Myers published An O(ND) Difference Algorithm and Its Variations , which unified the problems of finding the longest common subsequence of two sequences (the LCS of "driftwood" and "artwork" is "two") and finding the shortest edit script for transforming one sequence into another. Myers showed that…
Hacking with PDF (2022)
Inspiration of how we can use PDF as an attack vector and perform multiple attacks with huge subsequences to the victim.
A day in the life of a professional software engineer
Just a normal day reversing linked lists on the whiteboard.