New
The latest blog posts to take off on Hacker News. 2,330 posts.
Getting any Facebook user's friend list and partial payment card details
I enjoy breaking websites.
How to dismantle a compiler bomb
You have heard of “zip bombs” (a tiny ZIP file that decompresses to multiple gigabytes) and “XML bombs” (small XML file abusing the entities to consume lots of memory), and …
Anna: A Fast, Scalable, Flexibly Consistent Key-Value Store
There’s fast and there’s fast. This post is about Anna*, a key/value database design from our team at Berkeley that’s got phenomenal speed and buttery smooth scaling, with an unpr…
A Career Cold Start Algorithm
Starting a new job can be stressful so I've developed an algorithm that has helped me get up to speed quickly.
Prove you are not an evil corporate person
Google Is Quietly Providing AI Technology for Drone Strike Targeting Project Google Is Helping the Pentagon Build AI for Drones
Using Prettier to format your JavaScript code
Prettier is an opinionated code formatter which makes the life of developers easier by automatically formatting your javascript files for you. This post should help you understand everything you need to know about using prettier in a project.
Nixie-clock using neon lamps as logic (2017)
The above shows my home-built digital clock. It uses Nixie-tubes for readout. In contrast to most other nixie-clocks being built these days, my clock does not use any transistor or IC for driving the tubes. Instead, the driving logic is built from neon lamps , together with resistors, capacitors and silicon diodes.
Symbolic Execution: Intuition and Implementation
In this article I give a brief tour of a program analysis technique called symbolic execution. As the title indicates, I aim to explain both the intuition behind the technique, and also the details of a simple implementation. My intended audience is professional programmers who have no background in program analysis.
3D Lightning (2013)
Reddit is a great website, where the ability to share and discuss things on the web gives some great little discoveries. Things that would ...
Scrcpy – An app to display and control Android devices
I developed an application to display and control Android devices connected on USB. It does not require any root access. It works on GNU/Linux, Windows and Mac OS.
Building bots to mend badges, or how to get your GitHub account suspended
TL;DR: Many badges were broken since they were using the shuttered pypip.in site. I wrote a bot that could fix these and automatically submit pull requests with the changes. And then I had my GitHub account suspended. Do not make automatic unsolicited pull requests. Disclaimer This post discusses the design...
Writing a Microservice in Rust
Musings on navigating the tech bubble with philosophy and self-improvement.
Some terrible personal news
Cindy Cutts, my wife and best friend, passed away earlier this week. While I was traveling for work recently, Cindy went to visit her family in Omaha, Nebraska. On Sunday, while enjoying time with …
Java call stack – from HTTP upto JDBC as a picture (2006)
Created this by pasting together a few screenshots from a NetBeans profiler session – of a Spring + Hibernate web-app running within JBoss. Quite interesting to see how the business logic is …
From idea to revenue in 5 working days, thanks to HN
I needed to ship something. I was stuck in the midst of several larger projects, both for clients and myself, with no end in sight, and to keep going I needed the confidence boost that only shipping code can provide. So I spent part of my weekend, shifted some priorities around, and got to work on Kismet .
Make your own build system
On this page I present a robust, custom build system for a software project written in C, in less than 500 lines of Python code. I think it is about as minimal as a practical dependency-tracking build system can get. Although it adds to the code that must be maintained as part of the project, I think that having a…
Lessons from Spotify
Spotify has a marginal cost problem, but while the cause is unique to Spotify, the challenges are more applicable than it seems.
Granular Audio Synthesis
If you want to make a sound shorter, you can play it faster. Doing this also makes it higher pitch unfortunately. If you want to make a sound longer, you can play it more slowly. This also makes it…
Notes on Analytics and Tracking in Onavo Protect for iOS
Recent media coverage of Onavo Protect encouraged me to investigate the code for the iOS version of their app. I wanted to determine what…
Progressive Locks: fast, upgradable read/write locks
Context A few years after I created the Elastic Binary Trees (ebtree) , I started to get some feedback from users who needed to use the...
A new storage engine for PostgreSQL to provide better control over bloat
In the past few years, PostgreSQL has advanced a lot in terms of features, performance, and scalability for many-core systems. However, o...
Get specific (2008)
Derek Sivers official site. Thoughts on philosophy, culture, self-improvement. Author of Useful Not True, How to Live, Hell Yeah or No, Anything You Want.
How generics were added to .NET
Before we dive into the technical details, let’s start with a quick history lesson, courtesy of Don Syme who worked on adding generics to .NET and then went on to design and implement F#, which is a pretty impressive set of achievements!!
A Year Away from Mac OS
This is the fifth post in my series on finding an alternative to Mac OS X. A bit over a year ago I wrote about my search for an alternative to Mac OS and switch to Linux. In this post I reflect on how that year went and detail some further adventures into Mac OS alternatives.