New
The latest blog posts to take off on Hacker News. 1,508 posts.
Compiling a Lisp: Reader
Adding a reader to our Lisp compiler
How expensive is integer-overflow trapping in C++?
Integers in programming languages have a valid range but arithmetic operations can result in values that exceed such ranges. For example, adding two large integers can result in an integer that cannot be represented in the integer type. We often refer to such error conditions as overflows. In a programming languages…
Enforcing Modularity in Rails Apps with Packwerk
Packwerk is an open source static analysis tool used to enforce boundaries between groups of Ruby files we call packages.
How the CPython compiler works
In the first post of the series we've looked at the CPython VM. We've learned that it works by executing a series of instructions called bytecode....
Time spent programming is often time well spent
I concur so strongly not only because he writes about RSS, which I'm on record as supporting and using. I enjoy rolling my own simple software in almost any domain. Simple has a lot of advantages. Under my control has a lot of advantages. But the biggest advantage echoes what Dr. Drang says: Programming is often more…
The Era of Visual Studio Code
Roben Kleene’s blog
.NET 5.0 – New APIs
Get started with the new exciting APIs introduced with .NET 5.0. Understand the intention of engineers that added them.
No script is too simple
I write very short scripts, sometimes for single-line commands. Here's why you should do it too.
New JSX Transform
This blog site has been archived. Go to react.dev/blog to see the recent posts. Although React 17 doesn’t contain new features, it will provide support for a new version of the JSX transform. In this post, we will describe what it is and how to try it. What’s a JSX Transform? Browsers don’t understand JSX out of the…
A Picture of Java in 2020
This year Java hit an incredible milestone and reached the grand old age of 25 years. We celebrated its jubilee by running a special online Java day event, where lots of expert speakers shared their e
My least favorite Rust type
Idx is typically an integral type, but you can make a Range of anything, which will become important later. Here’s a range of Unit:
Things we learned running Postgres 13
Learn about smaller indexes with B-Tree Deduplication, Extended Statistics Improvements, Parallel VACUUM, improved WAL Usage Stats in Postgres 13, and more.
The future of .NET Standard
Since .NET 5 was announced, many of you have asked what this means for .NET Standard and whether it will still be relevant. In this post, I'm going to explain how .NET 5 improves code sharing and replaces .NET Standard. I'll also cover the cases where you still need .NET Standard.
The Little Things: Speeding up C++ compilation
This post is based on an internal training I prepared for my employer, Locksley, and showcases some source-level techniques for improving C++ compilation times.
Why Not Rust?
I've recently read an article criticizing Rust, and, while it made a bunch of good points, I didn't enjoy it --- it was an easy to argue with piece. In general, I feel that I can't recommend an article criticizing Rust. This is a shame --- confronting drawbacks is important, and debunking low effort/miss informed…
Revisiting Apple Notes (6): The Protobuf
TL;DR : This post explains portions of two protobufs used by Apple, one for the Note format itself and another for embedded objects. More importantly, it explains how you can figure out the structure of protobufs.
Bevy 0.2
A month after the initial Bevy release, and thanks to 87 contributors, 174 pull requests, and our generous sponsors, I'm happy to announce the Bevy 0.…
A New Back End for Cranelift: Instruction Selection
This post is the first in a three-part series about my recent work on Cranelift as part of my day job at Mozilla. In this first post, I will set some context and describe the instruction selection problem. In particular, I'll talk about a revamp to the instruction selector and backend framework in general that we've…
Visualize Data Structures in VSCode
VSCode Debug Visualizer is a VSCode extension that allows you to visualize data structures in your editor
Under Deconstruction: The State of Shopify’s Monolith
It’s been 18 months since we talked about our Rails modular monolith. We lay out the current state of the work, and things we’d do differently if we started again.