New
The latest blog posts to take off on Hacker News. 2,307 posts.
Why I switched from Vim to Emacs
EDIT: As pointed out on reddit (both in r/emacs and r/vim), many of my criticisms of Vim are unfair. Everything I posted about was based purely on my personal experience with the two, but much of m…
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.
Wizards and warriors, part one
A common problem I see in object-oriented design is: A wizard is a kind of player. A warrior is a kind of player. A staff is a kind of weapon. A sword is a kind of weapon. A player has a weapon. Bu…
Say No to Paxos Overhead: Replacing Consensus with Network Ordering
Just say NO to Paxos overhead: replacing consensus with network ordering Li et al., OSDI 2016 Everyone knows that consensus systems such as Paxos, Viewstamped Replication, and Raft impose high over…
Talks that changed the way I think about programming
The best teacher I had in graduate school spent the whole semester destroying any beliefs we had about computing. He was a real iconoclast. He happened to be a genius, so we took it. At the end of the course, we were free because we didn't believe in anything. We had to learn everything, but then he destroyed it. He…
Intel x86 documentation has more pages than the 6502 has transistors
Microprocessors have become immensely more complex thanks to Moore's Law, but one thing that has been lost is the ability to fully understan...
An Algebra of Graphs
Graph theory is my favourite topic in mathematics and computing science and in this blog post I’ll introduce an algebra of graphs that I’ve been working on for a while. The algebra has become my go-to tool for manipulating graphs and I hope you will find it useful too.
Tracking Down a Python Memory Leak
In this post, you will discover how I used various tools to track down a memory leak in my Python application under Windows!
It Takes 6 Days to Change 1 Line of Code (2015)
(A true story.) Philip (President): Our factory is underutilized by 10%. Either we start building more of our backlog or we lay people off. I'd rather keep everyone busy, build inventory, and get...
The Orphaned Internet – Taking Over 120K Domains via a DNS Vulnerability
A Hacker's Blog of Unintended Use and Insomnia.
Milking the iPhone
It feels like cracks are forming at Apple's edges. The company is straining to push out hardware updates. Supply issues are getting worse. Apple is reportedly moving away from selling beloved products like stand-alone displays and wireless routers. Meanwhile, Microsoft, Amazon, and
Anil Dash Is the New CEO of Fog Creek Software
For the first time since Fog Creek Software was founded more than sixteen years ago, we have a new CEO, Anil Dash.
I'm giving up on PGP
After years of wrestling GnuPG with varying levels of enthusiasm, I came to the conclusion that it’s just not worth it, and I’m giving up. At least on the concept of long term PGP keys.
Actually using ed (2012)
The classic ed editor is a really good example of a sparse, minimal, standard Unix tool that does one thing, and does it well. Because there are so many good screen-oriented editors for Unix, there’s seldom very much call for using ed , unless you’re working on very old or very limited hardware that won’t run anything…
A Simple Explanation: VLC.js
The previous entry got the attention it needed, and the maintainers of the VLC project connected with both Emularity developers and Emscripten developers and the process has begun. The best example…
Architecture astronauts take over
It was seven years ago today when everybody was getting excited about Microsoft’s bombastic announcement of Hailstorm, promising that “Hailstorm makes the technology in your life work t…
An Ode to Linux Desktop Users Everywhere
Here’s to the crazy ones, the misfits, the rebels. The package makers, the man page writers. The rounded windows in Qt mixed with the less rounded windows of GTK. The ones who literally see things differently because of missing proprietary fonts. They’re not fond of rules, installation wizards, …
Camels and Rubber Duckies
You’ve just released your latest photo-organizing software. Through some mechanism which will be left as an exercise to the reader, you’ve managed to actually let people know about it. …
Write a Shell in C (2015)
A tutorial on how to write a Unix shell in C.
Analysis of longevity of code across many popular projects
As a project evolves, does the new code just add on top of the old code? Or does it replace the old code slowly over time? In order to understand this, I built a little thing to analyze Git projects, with help from the formidable GitPython project.
1.4B records from “Have I been pwned” for analysis
I get a lot of requests from people for data from Have I been pwned [https://haveibeenpwned.com/] (HIBP) that they can analyse. Now obviously, there are a bunch of people up to no good requesting the data but equally, there are many others who just want to run statistics.
Why does calloc exist?
[Edit: Welcome Hacker News readers! Before we dive into the neat memory management esoterica, I want to briefly note that as engineers we have an ethical obligation in our work to consider the "safety, health, and welfare of the public" , because if we don't, terrible things happen . This is a challenging…