New
The latest blog posts to take off on Hacker News. 6,950 posts.
Beautiful Native Libraries
A guide on writing beautiful native libraries in C or C++ that compile to native code.
Rewriting a large production system in Go
My team at Google is wrapping up an effort to rewrite a large production system (almost) entirely in Go . I say "almost" because one compon...
Update on STM
Hi all, A quick update on Software Transactional Memory. We are working on two fronts. On the one hand, the integration of the "c4" C l...
Starbucks Does Not Use Two-Phase Commit (2004)
People often criticize asynchronous messaging solutions as too complicated and cumbersome
Samsung's exFAT Linux driver officially released as GPL
Conservancy's GPL Compliance Project for Linux Developers is pleased to announce its role in assisting Samsung in a recent public compliance issue. The compliance issue was brought to Conservancy's attention when source code of an exFAT filesystem driver for Linux was unintentionally released via GitHub, and…
Hacking the OS X Kernel for Fun and Profiles
My last post described how user-level CPU profilers work, and specifically how Google’s pprof profiler gathers its CPU profiles with the help of the operating system. The specific feature needed from the operating system is the profiling timer provided by setitimer (2) and the SIGPROF signals that it delivers.
PingFS
shysecurity blog
Unusual speed boost: size matters
One of my concerns last year was that while WebKit was getting faster on common benchmarks, some operations were getting slower as a byproduct of new features and optimizations.
Queueing in the Linux Network Stack
Things that interest me
Staring at the Sun: Dalvik vs. Asm.js vs. Native
As many of you are probably already aware, Mozilla has recently gotten into the mobile OS space with Firefox OS. Firefox OS is built using ...
A Unix Utility You Should Know About: Netcat (2009)
This is the second post in the article series about Unix utilities that you should know about. In this post I will introduce you to the netcat tool or simply nc. Netcat is often referred to as a Swiss Army knife utility, and for a good reason. Just like the multi-function usefulness of the venerable Swiss Army…
Reversing Bits in C
The Corner is Square's technical blog covering software engineering, APIs, data, open source and more.
Jepsen: On the perils of network partitions
This article is part of Jepsen , a series on network partitions. We’re going to learn about distributed consensus, discuss the CAP theorem’s implications, and demonstrate how different databases behave under partition.
ZeroMQ instead of HTTP, for internal services
A post by August Lilleaas, published July 22, 2013.
Each socket should have two file descriptors
What if, instead of running a process-data program on this machine, we want to run it on another machine? No problem. We make a TCP connection to a process-data server on the remote machine. On the local machine, we have generate-data writing to the TCP connection, and consume-data reading from the TCP connection…
The Raspberry Pi’s Hardware Random Number Generator
Hey! This is a bit old! Things may have changed and I haven’t necessarily fixed them. Most computers can’t create true random numbers. They use a formula which makes a very long stream …
Systemd is not portable and what this means for our ports
This blog post is the third of a series of posts dealing with the results of the Debian systemd survey . I intend to give a presentation at DebConf 2013, too, so you could either read my posts, or watch the talk, or both :-).
Communicating Sequential Processes
With the arrival of core.async , ClojureScript provides a powerful advantage over other popular compile to JavaScript languages like CoffeeScript , Dart , and TypeScript . These languages fail to address the single largest source of incidental complexity for any sizeable client side application - concurrency. In my…
Windows Timer Resolution: Megawatts Wasted
The default timer resolution on Windows is 15.6 ms – a timer interrupt 64 times a second. When programs increase the timer frequency they increase power consumption and harm battery life. They also…
The Go 1.1 scheduler
One of the big features for Go 1.1 is the new scheduler, contributed by Dmitry Vyukov. The new scheduler has given a dramatic increase in performance for parallel Go programs and with nothing better to do, I figured I'd write something about it.
A Memory Comparison of Light Linux Desktops
In my previous article I’ve tried to investigate the RAM memory requirements for running some of the most common light window managers and desktop environments available in the Linux world. P…