New
The latest blog posts to take off on Hacker News. 6,949 posts.
Curl and http/2 on Mac
$ curl ‐‐http2 https://daniel.haxx.se/ curl: (1) Unsupported protocol curl on mac curl has been shipped by default on Mac OS X since many years - I actually couldn't even manage to figure out exactly how many. It is built and bundled with the operating system by Apple itself and on Apple's own terms and even ……
Debugging using system calls in Mac OS X
Today I want to talk about an issue I was having with UDP sockets in Go, and how I learned more about my program by making use of two tools that ship with Mac OS X called dtruss, and DTrace.
FreeBSD Q2 2016 Status Report
This quarter brings several exciting improvements over previous models. We have enhancements from different teams, new features like robust mutexes and support for full disk encryption with GELI. You'll find expanded graphics support, both at the chipset and window manager levels, and ongoing development in many…
64-bit ARM desktop hardware?
Soon there will be four years since I started working on AArch64 architecture. Lot of software things changed during that time. Lot in a hardware too. But machines availability still sucks badly. In 2012 all we had was software model. It was slow, terribly slow. Common joke was AArch64 developers …
Const and Optimization in C
Today there was a question on /r/C_Programming about the effect of C’s const on optimization. Variations of this question have been asked many times over the past two decades. Personally, I blame naming of const .
Rust Performance: A story featuring perf and flamegraph on Linux
ramblings by Adam Perry
HTTPS' massive speed advantage
I tweeted this the other day, and the internet was not pleased: > HTTPS is slow. No - wait - is it HTTP that's slow?! https://t.co/T49GG7oCaK pic.twitter.com/cfnYOpXMWc [https://t.co/cfnYOpXMWc] — Troy Hunt (@troyhunt) July 8, 2016 [https://twitter.com/troyhunt/status/751317949349130240] In fact, a
Git for Windows accidentally creates NTFS alternate data streams
As part of the small minority of devs at my company who primarily run Windows, I’m accustomed to working around occasional Unix-specific behaviors in our build and deployment systems. Cygwin makes most stuff just work, I can fix simple incompatibilities myself, and as a last resort I can always boot into OSX for a…
Memory management in C programs (2014)
One large difference between C and most other programming languages is that in C, you have to handle memory yourself rather than having a garbage collector do it for you. Ensuring that memory is allocated at the correct moment is not very difficult (and something that needs to be done manually in pretty much every…
Jepsen: MongoDB
Previously in Jepsen , we discussed Redis . In this post, we’ll see MongoDB drop a phenomenal amount of data. See also: followup analyses of 2.6.7 and 3.4.0-rc3 .
Zeroing Memory is Hard: VC++ 2015 arrays
Quick, what’s the difference between these two C/C++ definitions of initialized local variables? char buffer[32] = { 0 };char buffer[32] = {}; One difference is that the first is legal in C a…
Lepton image compression: saving 22% losslessly from images at 15MB/s
Dash knows your context, your team, and your work, so your team can stay organized, easily find and share knowledge, and keep projects secure, all from one place.
Jepsen: VoltDB 6.3
In the last Jepsen post, we found that RethinkDB could lose data when a network partition occurred during cluster reconfiguration. In this analysis, we’ll show that although VoltDB 6.3 claims strict serializability, internal optimizations and bugs lead to stale reads, dirty reads, and even lost updates; fixes are now…
Shipping Rust code in Firefox
TL;DR: Starting with Firefox 48, Mozilla is shipping its first production Rust code, with more to come! Mozilla ❤ Rust It's hard to believe it's been almost seven years since ...
Why we use the Linux kernel's TCP stack
A recent blog post posed the question Why do we use the Linux kernel's TCP stack?. It triggered a very interesting discussion on Hacker News.
Realtime Data Processing at Facebook
Recently there has been a lot of development in realtime data processing systems, including Twitter's Storm and Heron, Google's Millwheel, a...
Pocket Watch: Verifying Exabytes of Data
Dash knows your context, your team, and your work, so your team can stay organized, easily find and share knowledge, and keep projects secure, all from one place.
Xplain – Explaining X11 for the rest of us
The goal of Explanations is to try to allow people to play with fun parts of computers. Graphics, compression, audio. The tagline is my biggest inspiration: "Play, don't show", riffing off the typical "Show, don't tell" rule of writers and authors everywhere. Why bother giving a diagram when I give you an inspector…