New
The latest blog posts to take off on Hacker News. 21,827 posts.
Things I learned writing my first technical book
A hundred things I learned writing my first technical book “Data-Oriented Programming”
Ruby 3.1
We are pleased to announce the release of Ruby 3.1.0. Ruby 3.1 keeps compatibility with Ruby 3.0 and also adds many features.
Trade-Offs in Automatic Differentiation: TensorFlow, PyTorch, Jax, and Julia
To understand the differences between automatic differentiation libraries, let’s talk about the engineering trade-offs that were made. I would personally say that none of these libraries are “better” than another, they simply all make engineering trade-offs based on the domains and use cases they were aiming to…
Introduction to the Sam Text Editor
Programmers are passionate about their tools, and if there is one tool they are especially passionate about, it is their text editor. An editor war has…
Running IntelliJ Idea with JDK 17 for Better Render Performance with Metal
Running IntelliJ IDEA with JDK 17 for Better Render Performance with Metal, by Mustafa Akın.
Street Fighter II, Spin when you can't
This article is part of a series about Street Fighter II and the CPS-1. It is recommended to read the previous entries before reading this one.
Best practices for writing code comments
While there are many resources to help programmers write better code—such as books and static analyzers—there are few for writing better comments. While it's easy to measure the quantity of comments in a program, it's hard to measure the quality, and the two are not necessarily correlated. A bad comment is worse than…
Advent of Code Surveys: Results
Results dashboard with the yearly (unofficial) Advent of Code participant survey
State of Valhalla
This is the first of three documents describing the current State of Valhalla. The second is The Language Model ; the third is The JVM Model .
On ELF, Part 2 (2018)
Kestrel : A completely open computer design.
Lua: Good, Bad, and Ugly Parts (2012)
I have been programming in Lua for about 9 months and it seemed like a good time to pause and reflect on my experience with it. I have used various languages over the years -- Perl ( soaplite.com and other projects, including my current consulting work), C ( a DHCP /DNS server for Arduino and a ping-pong juggling…
Best practices can slow your application down
In order to get the most performant site possible when building the codebase for our public Stack Overflow site, we didn’t always follow best practices.
Street Fighter II paper trails – allocating sprite space by hand
The late 90s saw the emergence of Capcom in the world of arcades. The Osaka based company seemed to produce one hit after another with Ghouls'n Ghosts in 1988, Final Fight in 1989 and Street Fighter II in 1991 among a myriad of other excellent games.
Three Minor Features in Go 1.18
Okay, but apart from generics and fuzzing, what has Go 1.18 ever done for us?
Generics facilitators in Go
Go 1.18 is going to be released with generics support . Adding generics to Go was a multi-year effort and was a difficult one. Go type system is not a traditional type system and it was not possible just to bring an existing generics implementation from other language and be done. The current proposal was accepted…
Parser Combinators in Haskell
In this article, we will show you how to implement simple parser combinators from scratch and how to use the Megaparsec library to implement a parser for S-expressions.
DNA seen through the eyes of a coder
Updates: 12th of September 2021: I’m writing a book on DNA! If you want to become a beta reader, or have suggestions, I’d love to hear from you! 8th of January 2021: This article has been revised and updated, scientifically and in terms of dead links. Revision made by Tomás Simões (@putadagravidade /…
Ordering movie credits with graph theory
How Graphs & Games Untangled "The Golden Hairball": A technical deep dive from the end credits experts at Endcrawl.
RCE in Visual Studio Code's Remote WSL for Fun and Negative Profit
The Visual Studio Code server in Windows Subsystem for Linux uses a local WebSocket WebSocket connection to communicate with the Remote WSL extension. JavaScript in websites can connect to this server and execute arbitrary commands on the target system. Assigned CVE-2021-43907 and zero bounty. I paid 5 USD for the EC2…
Zig 0.9.0
Zig is a general-purpose programming language and toolchain for maintaining robust , optimal , and reusable software.
The QOI File Format Specification
Last month I announced a toy project called QOI — the Quite OK Image Format . It losslessly compresses RGB and RGBA images to a similar size of PNG, while offering a 20x-50x speedup in compression and 3x-4x speedup in decompression.
Local man switches to Arch, tells no one
Yesterday, at approximately 5:05pm, a Seattle area man installed Arch Linux on his home computer and has yet to tell anyone.
Annotated explanation of David Beazley's dataklasses
David Beazley on Twitter :
Fixing memory leaks in popular Python libraries
I was recently able to make a minimal example that reproduced a Celery memory leak. The memory leak would happen on the main Celery worker process that’s forked to make child processes, which makes the leak especially bad. Issue #4843 has been around for 3+ years and has 140+ comments, so this one has been causing a…
Writing embedded firmware using Rust
AnyLeaf Articles: Writing embedded firmware using Rust
Unix Shell Programming: The Next 50 Years
This week’s paper won the distinguished presentation award at HotOS 2021, and discusses the potential for future innovation in the tool that many use every day - the shell! A previous submission of this paper on Hacker News elicited a number of strong reactions. One reaction was the assertion that there are in fact…