New
The latest blog posts to take off on Hacker News. 1,517 posts.
Zig, parser combinators, and why they're awesome
In this article we will be exploring what parser combinators are, what runtime parser generation is - why they're useful, and then walking through a Zig implementation of them.
The tree-based approach to organizing documentation sucks
Read candid takes on engineering culture: 10x myths, agile failure modes, and full-stack fantasies that quietly damage software teams at scale.
Fuzzing Java in OSS-Fuzz
Posted by Jonathan Metzman, Google Open Source Security Team OSS-Fuzz , Google’s open source fuzzing service, now supports fuzzing applicat...
Guide: Full Wayland Setup for Linux
This article is a guide for achieving a full-as-possible Wayland setup on Arch Linux. If you follow the entire guide, by the end you will have:
I don't want to learn your query language (2018)
This is a bit of a rant but I really don't like software that invents its own query language. There's a trillion different ORMs out there. Another trillion databases with their own query language. Another trillion SaaS products where the only way to query is to learn some random query DSL they made up.
Why asynchronous Rust doesn't work
This is old! When I wrote it, I was a very different person.As it turns out, growing up a bit made me care a lot less about the nuances of Rust programming.
Building Webhooks into Your Application: Guidelines and Best Practices (2020)
Learn how to build a webhook, send it from your app, manage authentication, handle security, and provide a smooth developer experience to your customers.
The technical interview practice gap
Access to technical interview practice matters more than raw technical ability, and without it, we won't fix representation in tech.
Write libraries instead of services, where possible
For any developer with limited resources, this means a library (where viable) can provide the same functionality to the user, at a lower cost to the developer than a service.
Debian Running on Rust Coreutils
tldr: Rust/coreutils is good enough to boot a Debian with GNOME, install the top 1000 packages, build Firefox and the Linux Kernel.
Half of curl’s vulnerabilities are C mistakes
I spent a lot of time and effort digging up the numbers and facts for this post! Lots of people keep referring to the awesome summary put together by a friendly pseudonymous "Tim" which says that "53 out of 95" (55.7%) security flaws in curl could've been prevented if curl had been written in Rust. … Continue reading…
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.
What science can tell us about C and C++'s security
There are not a lot of very strong empirical results in the field of programming languages . This is probably because there’s a huge amount of variables to control for, and most of the subjects available to researchers are CS undergraduates. However, I have recently found a result replicated across numerous codebases…
An Introduction to ASCII Ray Marching
An introduction to raymarching in C++ with diffuse Phong shading and ASCII-terminal output.
Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun
I’ve spent the last year building keyboards , which has included writing firmware for a variety custom circuit boards.
Citus 10 brings columnar compression to Postgres
Deep dive into Citus columnar storage for Postgres. Includes a quickstart, as well as performance measurements for data loading, compression ratios, and query response times. Also covers how columnar relates to Citus, integration with Postgres range partitioning, limitations, & ways to get started.
Cleaning Up Your Postgres Database
Actionable steps on how to improve your Postgres database performance.
Modern Text Features in R
ragg has taken a major leap forward in text-rendering capabilities with the latest releases of systemfonts, textshaping, and ragg itself. This post will go into detail with what is now possible and how it compares to the build in devices.
Bring Your Own Client
Just a little note about the main problem I'm pondering these days...
How does your programming language handle “minus zero” (-0.0)?
The ubiquitous IEEE floating-point standard defines two numbers to represent zero, the positive and the negative zeros. You also have the positive and negative infinity. If you compute the inverse of the positive zero, you get the positive infinity. If you compute the inverse of the negative zero, you get the negative…
Multimodal Neurons in Artificial Neural Networks
We’ve discovered neurons in CLIP that respond to the same concept whether presented literally, symbolically, or conceptually. This may explain CLIP’s accuracy in classifying surprising visual renditions of concepts, and is also an important step toward understanding the associations and biases that CLIP and similar…
HTTPWTF
HTTP is fundamental to modern development, from frontend to backend to mobile. But like any widespread mature standard, it's got some funky skeletons in the...
Don’t blindly prefer emplace_back to push_back
In one of my recent training courses, a student informed me that both clang-tidy and PVS-Studio were complaining about some code of the form
Flutter 2
Today, we’re announcing Flutter 2 : a major upgrade to Flutter that enables developers to create beautiful, fast, and portable apps for any platform. With Flutter 2, you can use the same codebase to ship native apps to five operating systems: iOS, Android, Windows, macOS, and Linux; as well as web experiences…