New
The latest blog posts to take off on Hacker News. 4,390 posts.
Virtual Machines in Your Browser
Updated March 13, 2012 at 10:43PM: I have a list of limitations and known bugs toward the end. Updated March 14, 2012 at 9:30PM: I’ll be on the VMware Community Roundtable podcast at 12:00PM …
Array
There, that's known as a teaser. You see it in television all the time. "Find out which common household plant devours pets at night... but first ." And then you have to sit through and watch the stuff about Brad and Angelina shacking up / Shaq driving his new Hummer / Hummer's new fragrance before they get to the…
How FriendFeed uses MySQL to store schema-less data
We use MySQL for storing all of the data in FriendFeed . Our database has grown a lot as our user base has grown. We now store over 250 million entries and a bunch of other data, from comments and "likes" to friend lists.
Back on Linux (after one year of Apple and OS X)
About a month ago I moved to Stockholm, Sweden and started working at Spotify . A month before starting I was asked about my preferred setup for working. Having used OS X for year as the primary operating system at work the choice was clear, I wanted to go back to Linux, in this case to Debian to be exact.
High performance libraries in Java
There is an increasing number of libraries which are described as high performance and have benchmarks to back that claim up. Here is a sele...
Fast enough VMs in fast enough time
Updated (February 07 2013): If you enjoy this article, you may also find the more academically-inclined article The Impact of Meta-Tracing on VM Design and Implementation interesting.
The cause for all your Mac OS X mouse annoyances
By that I mean a delay between receiving movement data from the mouse device and rendering the on-screen cursor. The lag of a Mac OS X cursor is at least twice bigger than Windows’ cursor and yes, a human eye can surely notice that.
Let's Build an MP3 Decoder
Even though MP3 is probably the single most well known file format and codec on Earth, it’s not very well understood by most programmers – for many encoders/decoders is in the class of software “other people” write, like standard libraries or operating system kernels. This article will attempt to demystify the…
Plan 9: The way the future was
We know what Unix's future used to look like. It was designed by the research group at Bell Labs that built Unix and called ‘Plan 9 from Bell Labs’. [ 154 ] Plan 9 was an attempt to do Unix over again, better.
Fast Lossless Color Image Compression
In the research field of compression, the usual goal is to achieve the best possible compression rate. The best known algorithms, however, are very slow, and sometimes impractical for real-world ap…
Scaling GitHub
Written pieces, talks, and other bits by Zach Holman.
The Moore's Law free lunch is over. Now welcome to the hardware jungle.
Or, A Heterogeneous Supercomputer in Every Pocket In the twilight of Moore’s Law, the transitions to multicore processors, GPU computing, and HaaS cloud computing are not separate trends, bu…
Linux Local Privilege Escalation via SUID /proc/pid/mem Write
Introducing Mempodipper , an exploit for CVE-2012-0056. /proc/ pid /mem is an interface for reading and writing, directly, process memory by seeking around with the same addresses as the process's virtual memory space. In 2.6.39, the protections against unauthorized access to /proc/ pid /mem were deemed sufficient…
FreeBSD now available on all EC2 instance types
I tried building FreeBSD AMIs for the 32-bit EC2 instance types the same way as I did the 64-bit instances — by defenestrating Windows AMIs — but there was a catch: They wouldn't boot. In fact, when I tried this six months ago, they not only didn't boot, but they didn't even produce any console output to help me…
Many Core processors: Everything You Know (about Parallel Programming) Is Wrong
David Ungar is "an out-of-the-box thinker who enjoys the challenge of building computer software systems that work like magic and fit a user...
Practical Garbage Collection - Part 1: Introduction
Introduction This is the first part of a series of blog posts I intend to write, whose aim will be to explain how garbage collection works in the real world (in particular, with the JVM). I will co…