Hacker News with Generative AI: Computer Science

John Carmack talk at Upper Bound 2025 – slides and notes (twitter.com)
Something went wrong, but don’t fret — let’s give it another shot.
CRDTs #2: Turtles All the Way Down (jhellerstein.github.io)
Modern distributed systems often seem to rest on an stack of turtles. For every guarantee we make, we seem to rely on a lower-layer assumption. Eventually we're left wondering: what is at the bottom?
New method for creating large 3D models of urban areas is faster and cheaper (techxplore.com)
A research team led by Waterloo Engineering has developed a faster, cheaper way to create large-scale, three-dimensional (3D) computer models of urban areas, technology that could impact fields including urban planning, architectural design and filmmaking.
The Next Abstraction (substack.com)
Study shows vision-language models can't handle queries with negation words (news.mit.edu)
Words like “no” and “not” can cause this popular class of AI models to fail unexpectedly in high-stakes settings, such as medical diagnosis.
Ask HN: Places in the UK / Europe Related to computers (ycombinator.com)
I’m interested in visiting some historic or special places related to this field as a way of rejuvenating my passion in the field again.
Dijkstra on Ada (wordpress.com)
Dijkstra was one of the reviewers of the fours language proposals which eventually lead to the language Ada: red, green, blue, and yellow (the winning proposal was green). Here are some quotes from each of the reviews:
CRDTs: Pros and Cons (Lattices and Lettuces?) (jhellerstein.github.io)
Over the next few days, I'm going to post a number of observations about CRDTs: Convergent Replicated Data Types. These are data structures that aspire to help us with coordination-free distributed programming, a topic that interests me a lot. How can developers (or languages/compilers) deliver distributed programs that are safe or correct in important ways, without employing expensive mechanisms for coordination that make the global cloud run as slowly as a sequential computer?
For algorithms, a little memory outweighs a lot of time (quantamagazine.org)
One computer scientist’s “stunning” proof is the first progress in 50 years on one of the most famous questions in computer science.
Everyone gets bidirectional BFS wrong (2024) (zdimension.fr)
People really need to stop blindly copying code from the Internet.
Alan Turing papers saved from shredder could fetch £150k (theguardian.com)
Widely considered the father of theoretical computer science, Alan Turing’s influence on modern life continues to be felt in the age of artificial intelligence. But despite this legacy, a cache of his most important papers was nearly shredded – only to be saved at the last minute when their significance was recognised at a family event.
Memory Consistency Models: A Tutorial (jamesbornholt.com)
There are, of course, only two hard things in computer science: cache invalidation, naming things, and off-by-one errors. But there is another hard problem lurking amongst the tall weeds of computer science: seeing things in order. Whether it be sorting, un-sorting, or tweeting, seeing things in order is a challenge for the ages.
Definitive solution to the hardest problem in computing: P = NP? (researchgate.net)
Why Concatenative Programming Matters (2012) (blogspot.com)
Concatenative programming is so called because it uses function composition instead of function application—a non-concatenative language is thus called applicative.
What makes a good engineer also makes a good engineering organization (2024) (moxie.org)
The people who create software generally refer to themselves as software engineers, and yet if they graduate from university, it is typically with a degree in computer science. That has always felt a little strange to me, because science and engineering are two pretty different disciplines – yet we for the most part seem to take such an obvious contradiction for granted.
A Retrospective on Region-Based Memory Management (2004) [pdf] (elsman.com)
Optimal bounds for open addressed hash tables without reordering (arxiv.org)
In this paper, we revisit one of the simplest problems in data structures: the task of inserting elements into an open-addressed hash table so that elements can later be retrieved with as few probes as possible.
A disk is a bunch of bits (2023) (cyberdemon.org)
Have you ever heard someone say that a disk or memory is a “bunch of bits”?
CHERIoT: The Last Ten Years (cheriot.org)
This week, we received an IEEE Security and Privacy Test of Time Award for the 2015 paper CHERI: A Hybrid Capability-System Architecture for Scalable Software Compartmentalization.
Open Problems in Computational geometry (openproblem.net)
This project originally aimed to record important open problems of interest to researchers in computational geometry and related fields.
Programming in Martin-Lof's Type Theory: An Introduction (1990) (chalmers.se)
This book was published by Oxford University Press in 1990. It is now out of print.
Core War (wikipedia.org)
Core War is a programming game introduced in 1984 by D. G. Jones and A. K. Dewdney.
Why Computing Belongs Within the Social Sciences (2020) (cacm.acm.org)
Fully appreciating the overarching scope of CS requires weaving more than ethics into the reigning curricula.
Wavelet Trees: An Introduction (2011) (alexbowe.com)
Today I will talk about an elegant way of answering rank queries on sequences over larger alphabets – a structure called the Wavelet Tree.
DeepSeek-V3: Achieving Efficient LLM Scaling with 2,048 GPUs (arxiv.org)
The rapid scaling of large language models (LLMs) has unveiled critical limitations in current hardware architectures, including constraints in memory capacity, computational efficiency, and interconnection bandwidth.
Chapter 2: Serializability Theory (1987 Concurrency Control Book) (blogspot.com)
Chapter 2 of Concurrency Control and Recovery in Database Systems (1987) by Bernstein, Hadzilacos, and Goodman is a foundational treatment of serializability theory.
Moving Forth: a series on writing Forth kernels (bradrodriguez.com)
A selection of papers I have published, seminars I have presented, and computer programs I have written, that are available on this site. Please note that many of the papers include illustrations -- your browser should support GIF files. Detailed drawings are sometimes offered as PDF (Adobe Acrobat) files.
O(n) vs. O(n^2) Startups (rohan.ga)
I recently saw a tweet[1] about how people should go about starting startups/businesses, and it caused me to formalize my intuitions around two distinct types of tech businesses I am familiar with. I’ll call them $O(n)$ startups and $O(n^{2})$ startups.
Using obscure graph theory to solve programming languages problems (reasonablypolymorphic.com)
Usually I write about solutions to problems I’ve worked out, but I’ve found myself increasingly becoming interesting in where solutions come from. Maybe it’s because I’ve been reading Boorstin’s excellent The Discoverers, which I’d strongly recommend.
Comparing floating-point numbers (2012) (wordpress.com)
This post is a more carefully thought out and peer reviewed version of a floating-point comparison article I wrote many years ago. This one gives solid advice and some surprising observations about the tricky subject of comparing floating-point numbers. A compilable source file with license is available.