Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 14,535 posts.
A friendly tour of process memory on Linux
A deep dive into how Linux manages process memory, page tables, and virtual address spaces
Fast Way to Load Data into PostgreSQL Using Python
From two minutes to less than half a second!
Should managers still code?
Ah, the eternal question, straight from the mailbag.
A look at Crystal, a programming language for humans
I recently implemented a Brainfuck interpreter in the Crystal programming language and I’d like to share my honest opinion about working in the language.
I’m joining the Go team at Google
I am honored to share that I have joined Google as a member of the Go team and will be primarily based in NYC.
An incoherent Rust
Coherence and the orphan rules are a frequent source of complaints about Rust, and a common topic of language proposals. This post covers most of the existing proposals around coherence and my vision for how we should solve coherence once and for all.
Zig's (.{}){} Syntax
A look at some unfriendly Zig syntax
Porting 4.5K lines of C to Go
Porting Yoga (Facebook's CSS flexbox implementation) from C to Go.
I am a terrible programmer
I recently got this from the co-founder of Artsicle, a startup I interned for over the summer after my freshman year: From: Scott Carleton Subject: just re
Don Libes' Expect: A Surprisingly Underappreciated Unix Automation Tool
In this article, I will attempt to convince you that Expect is an extremely underappreciated tool for automating terminal applications in Unix.
Text Processing in the Shell
A quick overview of the most common text processing terminal tools and why they should be part of your day-to-day toolbox.
How to stop Linux threads cleanly
Stopping a Linux thread is a surprisingly annoying affair. In this post I present common pitfalls and some solutions -- although no truly satisfactory method exists.
It's 2012, HTML5 is awesome, and I'm surfing a PDF
Designer, researcher, strategist.
My Startup School Europe talk: The Technology
Note: This is the talk I gave at Startup School Europe, which was held last Saturday in London. You've heard a lot of great startup advi...
Building video chat into my personal website using WebRTC, WebSockets, and Go
Recently I've become more and more interested in how WebRTC works, so a few weeks ago I decided to add a page to my website where I could set up peer-to-peer video chats. There are plenty of libraries and services out there to make this extremely easy, but knowing that WebRTC is now well supported natively across…
When Parallel: Pull, Don't Push
I’ve noticed a small pattern across a few of my projects where I had vectorized and parallelized some code. The original algorithm had a “push” approach, the optimized version instead took a “pull” approach. In this article I’ll describe what I mean, though it’s mostly just so I can show off some pretty videos…
A Virtual Machine
Magicians protect their secrets not because the secrets are large and important, but because they are so small and trivial. The wonderful effects created on stage are often the result of a secret so absurd that the magician would be embarrassed to admit that that was how it was done.
Avast Antivirus Remote Stack Buffer Overflow with Magic Numbers
Blog about anti-virus software vulnerabilities.
Demangling C++ Symbols in Rust
I wrote a Rust crate to demangle C++ symbols: cpp_demangle. Find iton crates.io and github.
Mistakes we made adopting event sourcing and how we recovered
Good judgement is the result of experience ... Experience is the result of bad judgement. — Fred Brooks
Navier-Stokes fluid simulation explained with Godot game engine
When I first stumbled upon fluid simulations in game dev I was amazed on how good the effect could be. I really wan...