Writing parsers like it is 2017
Writing parsers like it is 2017 Chifflier & Couprie, SPW’17 With thanks to Glyn Normington for pointing this paper out to me. Earlier this year we looked at ‘System programming in R…
The latest blog posts to take off on Hacker News. 1,420 posts.
Writing parsers like it is 2017 Chifflier & Couprie, SPW’17 With thanks to Glyn Normington for pointing this paper out to me. Earlier this year we looked at ‘System programming in R…
The reaction to the new table partitioning feature in PostgreSQL 10 has been overwhelmingly positive, but a number of people have already as...
.NET Core 2.0 is available today as a final release. You can start developing with it at the command line, in your favorite text editor, in Visual Studio 2017 15.3, Visual Studio Code or Visual Studio for Mac. It is ready for production workloads, on your own hardware or your favorite cloud, like Microsoft Azure. […]
We ran into a big blocker when designing SpriteBox Coding, a learn-to-code game for kids ages 5+. For some kids, code was simply…
Hello everyone The Python community has been discussing removing the Global Interpreter Lock for a long time. There have been various atte...
Continued from part 1. Once I was about a thousand words into describing background for GEMM, it became pretty clear that it made more sense to group the numerical math papers into one post, so her…
Deliver modern applications with NGINX. Explore high-performance load balancing, API gateways, and web server solutions trusted by top global enterprises.
A compiler is just a program that translates other programs. Traditional compilers translate source code into executable machine code that your computer understands. (Some compilers translate source code into another programming language. These compilers are called source-to-source translators or transpilers.) LLVM is…
After a minute Patrick came back with a small dusty cardboard box. Dave and I stared as Patrick opened it and pulled out a network switch, the old kind from the days when they were made with metal cases. He plugged in the power supply and carefully straightened out a CAT -5 cable to hook the switch up to our network…
This started out on Twitter and I expected having to write up maybe 50 or so, but then it made the rounds. I don’t think I have 1200+ papers that I’d recommend reading, and even if I di…
This is an experience report about a gotcha in Go that catches every Go programmer at least once. The following program is extracted from a larger version that caused my co-workers to lose several hours today.
font-size is the worst. It’s a CSS property probably everyone who writes CSS has used at some point. It’s pretty ubiquitous. And it’s super …
Can you see the resemblance?
We have been experimenting with a couple of approaches to bring Mono to the web using WebAssembly - a technology that can efficiently and safely execute code in web browsers without being limited to Javascript. Running code written in C or C++ inside the browser has been a big motivator, but most major programming…
How we implemented consistent, distributed, incremental backup in CockroachDB.
Some say sharding is the best way to scale a database. Sharding enables you to linearly scale cpu, memory, and disk by separating your database into smaller parts. Yet, sharding is controversial. This post explores the principles of sharding relational databases for B2B, B2C, and B2B2C applications.
What is WebAssembly, and what does it mean for the web?
I recently had a problem where part of the solution was to do a series of pointer accesses that would walk around a chunk of memory in pseudo-random order. Sattolo's algorithm provides a solution to this because it produces a permutation of a list with exactly one cycle, which guarantees that we will reach every…
Written pieces, talks, and other bits by Zach Holman.
We are archiving Atom and all projects under the Atom organization for an official sunset on December 15, 2022.
Stripe.net is a popular open-source library for .NET that many users rely on today. Today, we’re adding it to our collection of official client libraries.
How was Wolfenstein 3D made and what were the secrets of its speed? How did id Software manage to turn a machine designed to display static images for word processing and spreadsheet applications into the best gaming platform in the world, capable of running games at seventy frames per seconds? If you have ever asked…
Shing Lyu's blog
In the previous post we looked at how to emulate a CHIP-8 CPU with Common Lisp. But a CPU alone isn't much fun to play, so in this post we'll add a screen to the emulator with Qt .