Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Bootstrapping mechanical correctness
There was a recent announcement from Anthropic about using a team of agents to formalize Fermat's Last Theorem, and the generated artifact is over ten million lines of Lean code.
-
Our Great Mutator
We argue that the sum total of everything LLMs do is a form of mutation or fuzzing, and that exactly one hard benchmark will suffice: number of tokens expended to converge to the mathematically correct output.
-
Conflating ego with intelligence
Humans have divisive tendencies, whether it's one human against another, one tribe against another, one race against another, one religion against another, or one country against another.
-
The miserable misfit
Starting from early childhood, I've constantly been made to feel inadequate.
-
The Trump supporter
I arrived in London fifteen years ago from a very poor farming village in Eritrea on a refugee status.
-
Fallacious vocabulary around merit
People who have good outcomes in life have a tendency to explain their choices in language around personal merit.
-
AI and the war-time economy
There are innumerable reasons to hate AI, starting with its environmental impact: the AI boom has been estimated to consume as much power as New York City, and as much water as the global consumption of bottled water in 2025.
-
My 2025 in LLVM: samesign, HashRecognize, and VPlan
As the year draws to a close, it helps to look back and reflect on some key changes in LLVM.
-
The Vectorization-Planner (VPlan) in LLVM
In a follow-up to the introductory article on auto-vectorization, we discuss how the loop vectorizer works internally.
-
The capitalist wet dream
Capitalism works by getting a small number of skilled humans to produce something or offer some service that can then be marketed and sold to a vast consumer class.
-
A tour of the LLVM backend
Any modern compiler has three main components: a front-end that parses the source language, and translates it to a middle-end intermediate representation, a middle-end that operates on this IR, performing target-independent optimizations with a bit of tar…
-
An introduction to auto-vectorization with LLVM
Most modern general purpose CPUs have a vector processing unit (VPU).
-
Aging
I'm eighty today, but the sequence of events I'm going to narrate took place when I was in my early twenties.
-
Bhutan
I woke up feeling like I had a brand new body and mind.
-
Banter
My heart started racing the moment I saw her.
-
The Insomniac
I couldn't sleep that night.
-
Ra: Egyptian ink on parchment
A picture of artwork.
-
What machines can and can't do
We investigate the limitations of statistical methods, a subclass of which is called "machine learning", taking the opportunity to touch on several aspects of the industry, including the future of employment, various industry practices, and privacy.
-
An opinionated history of programming languages
We illustrate how different programming languages influnced each other, and include a quick FAQ write up.
-
2043
"I'm sorry, but we have to let you go", she says.
-
Predicativity in Rocq
Today, we write a quick specialized note on what impredicativity exactly means, for those reasonably familiar with the Rocq syntax.
-
Equality in Mechanized Mathematics
Here, we talk about equalities, and provide illustrative examples in vanilla Rocq, SProp, and HoTT.
-
An inquiry into the Foundations of Mathematics
Starting from the question of what consequence Gödel's incompleteness theorem has on the foundations of mathematics, we argue for new foundations, and build some intuition for these new foundations in Coq.
-
ZFC and propositional logic
Using a mélange of mathematical syntaxes, we mechanize some exercises from Tao's excellent book Overture Let us informally define sets and set membership $\in$.
-
Lean versus Rocq: The cultural chasm
Both Lean and Rocq are proof assistants based on pCIC.
-
Incrementally updating the Dominator
An input program function is represented using a Control Flow Graph (CFG).
-
Detecting loops
Detecting loops in a directed graph can be tricky, depending on how you define your loop.
-
Inside a register allocator
We are going to be discussing LLVM's Fast Register Allocator: you might like to open RegAllocFast.cpp and refer to it as we go through the article.
-
An ABI-mismatch bug
Our custom max function returns the maximum of two positive integers, and returns the negative integer, given a positive and negative integer.