New
The latest blog posts to take off on Hacker News. 21,834 posts.
Qt Creator 4.7.0 released
Explore the Qt Blog for the latest insights on e.g. Qt Creator, your go-to source for cross-platform development tips and updates.
Qt for Python available at PyPi
Explore the Qt Blog for the latest insights on e.g. Qt Creator, your go-to source for cross-platform development tips and updates.
Getting to Go: Garbage collection and runtime issues
A technical talk about the structure and details of the new, low-latency Go garbage collector.
Designing a Good DSL
A look at common mistakes in DSL designs and how to fix them
My adventures getting Disney’s Moana island scene to render well with Pbrt
Adventures in rendering the Moana island scene with pbrt, collected together for your convenience.
Almost booting an iOS kernel in QEMU
I tried to boot an iOS 12 kernelcache in QEMU: I managed to get as far as IOKit startup before receiving a kernel panic. I learned a lot about how iOS boots up with this project.
Supercharging the Git Commit Graph IV: Bloom Filters
We've been discussing the commit-graph feature in Git 2.18 and how we can use generation numbers to accelerate commit walks. One area where we can get
A Parable by Dijkstra (1973)
(Recently I found the following text in manuscript among old papers of mine. It must have been written in the middle of 1973, but I don't think that in the intervening three years it has lost anything of its significance. Hence I now incorporate it in the EWD-series.)
Serverless QBasic
My first exposure to programming was on an HP-85 . This must have been around 1992 or 1993; the machine was then already largely obsolete, having been first produced in 1980.
Async and Await in Rust: a full proposal
I’m really excited to announce the culmination of much of our work over the last four months: a pair of RFCs for supporting async & await notation in Rust. This will be very impactful for Rust in the network services space. The change is proposed as two RFCs: RFC #2394: which adds async & await notation to the…
How to take 7 years to ship a beta
Update (February, 2020): I finally shipped v1.0! Since this post I refactored the engine to support lower-end hardware, finished the macOS…
Differential Synchronization (2009)
Keeping two or more copies of the same document synchronized with each other in real-time is a complex challenge. This paper describes the differential synchronization algorithm. Differential synchronization offers scalability, fault-tolerance, and responsive collaborative editing across an unreliable network.
Taking Go modules for a spin
Update: Since this post was written, Go 1.11beta2 has been released. I’ve updated the setup section to reflect this. Russ Cox kindly wrote to me to explain the reasoning behind storing the Go module cache in $GOPATH . I’ve included his response inline.
Lisp and Haskell (2017)
How I finally decided what is better (for me), Lisp or Haskell?
Basics of Futexes
The futex (short for "Fast userspace mutex") mechanism was proposed by Linux contributors from IBM in 2002 [1] ; it was integrated into the kernel in late 2003. The main idea is to enable a more efficient way for userspace code to synchronize multiple threads, with minimal kernel involvement.
How to build an NPM worm
npm is a registry and package manager for JavaScript that ships as part of Node.js . It's used by tens of millions of people to install hundreds of thousands of packages billions of times every week.
Postmortem for Malicious Packages Published on July 12th, 2018
A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.
Why Kubernetes Is the New Application Server
Kubernetes and related technologies, such as Red Hat OpenShift and Istio, provide the non-functional requirements that used to be part of an application server and the additional capabilities
Show HN: Solving Rush Hour, the 6x6 Sliding Block Puzzle
Rush Hour is a 6x6 sliding block puzzle invented by Nob Yoshigahara in the 1970s. It was first sold in the United States in 1996.
Why Isn't Debugging Treated as a First-Class Activity?
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
Goodbye Microservices: From 100s of problem children to 1 superstar
Discover Twilio’s shift to a single powerful service! Learn cloud communication trends, customer success stories, and how to build scalable apps. Join now!
Building a Program Synthesizer
Build a program synthesis tool, to generate programs from specifications, in 20 lines of code using Rosette.
Introducing Jib — Build Java Docker images better
By Appu Goundan and Qingyang Chen Containers are bringing Java developers closer than ever to a "write once, run anywhere" workflow, but c...
Writing a Game Boy emulator
I've always wanted to write an emulator from scratch, but I've held off for a long time because it's probably the most advanced programming project I've ever wanted to do.