Strong arrows: a new approach to gradual typing
An introduction to strong arrows and how it leverages the Erlang VM to provide sound gradual typing.
The latest blog posts to take off on Hacker News. 21,821 posts.
An introduction to strong arrows and how it leverages the Erlang VM to provide sound gradual typing.
We make micrograd fly with a little compiler magic. In this post, we’ll write a ML compiler from scratch.
Open sourcing our learnings around Windows APIs, COM, C++ and their delightful integration into Swift - while building Arc.
Rethinking ‘rethinking reactivity’
Using GZIP compression and the k-Nearest Neighbors algorithm, we explore an innovative approach to classifying the MNIST dataset with about 78% accuracy
Xe Iaso's personal website.
This week we (me & Anton Kovsharov) published Paperproof, a Gentzen-tree-like proof interface for Lean 4. In this post I'll review proof visualisations from o...
PostgreSQL 16 was released last week. This is the story of a feature.
Ruby 3.2 YJIT has optimized the production workloads of Shopify and other companies. We encourage you to enable YJIT in production. Once Ruby 3.3 is released, it should make your application even faster.
Software is weird. In its basic form, software is this very abstract thing with seemingly little connection to the real world. Yet graphical applications running on a hardware device like a modern phone feel very real, even to people who have no appreciation of what happens within this “black box”. Some pieces of…
Go 1.21 shipped a preview of a change in Go 1.22 to make for loops less error-prone.
“640K ought to be enough for anybody.” - Supposedly Bill Gates, circa 1981.
There’s a certain community in tech that’s very vocal about their preference toward native apps. I share that sentiment, yet sometimes people take this …
It is no secret that I am not a fan of logs; I’ve baited (rapala in work lingo. Rapala is a Finnish brand of fishing lure, and used to mean baiting in this context) discussion in our work chat with things like: If you’re writing log statements, you’re doing it wrong. This is a pretty incendiary statement, and while…
UPDATE: This article has started an ongoing conversation with the Godot devs. They care about the issues raised, and would like to improve things. Significant improvements will almost certainly be made, although it’s still early days and it’s unclear what will change and by how much. I am encouraged by the response. I…
iOS 17 makes iPhone even more personal and intuitive with StandBy, easier sharing with AirDrop, and more, and is available as a free software update.
In the old days when I started programming, green programmers trying to build their skills and get experience started out doing maintenance programming. Only the old hands got to write new code. The newbies cut their teeth debugging and fixing musty old code that still worked for the business. I’ve done my share of…
A guide to adding Rust to a Java codebase with JNI and the rust-maven-plugin.
If you're considering building a homemade billing system for your SaaS company, there are a few things you should be aware of. In this article, Qonto's first billing engineer shares four lessons he learned while working on this project.
Proper support for sum types or tagged unions have become table stakes for systems programming languages. However, they can incur a lot of memory fragmentation that's not trivial to avoid without good support for metaprogramming. This post goes into Zig's powerful comptime feature, and how it allows some radical…
Suppose the OpenDocument file format, and specifically the "ODP" OpenDocument Presentation format, were built around SQLite. Benefits would include:
In Rust, there are certain API decisions about what is and isn’t sound that impact all Rust code. That is, a decision was made to allow or not allow types which have certain safety requirements, and now all users are committed to that decision. They can’t just use a different API with different rules: all APIs must…
Algebraic data types in Java.
It is now ??????????.??? ( ????-??-??T??:??:??.???Z ) in Unix time , according to your local system clock.
Instagram's guiding principles and tech stack explained simply
by Thomas SIMON