Hacker Papers
- 01
Java Generics are Turing Complete
Hacker News threads
- May 2016Java Generics Are Turing Complete
- Dec 2017Java generics are turing complete
- Feb 2018Java Generic Are Turing Complete
- Nov 2016The Unsound Playground: Java and Scala's Type Systems are Unsound
- Oct 2017Classification of the principal programming paradigms
- Apr 2019How Many Type Parameters Can a Java Method Have?
- Jun 2019Google/Oracle’s $9B Copyright Case Could Be Headed for the Supreme Court
- Jan 2021A Proposal for Adding Generics to Go
- Sep 2021LLVM 13's new pass manager improves Rust's compile times by up to 20%
- Oct 2022From zero to 10M lines of Kotlin
- Sep 2023When Zig Outshines Rust – Memory Efficient Enum Arrays
- 02
On the Impossibility of Supersized Machines
Hacker News threads
- Nov 2021On the Impossibility of Supersized Machines (2017)
- Jun 2024The Impossibility of Supersized Machines (2017)
- Apr 2017On the Impossibility of Supersized Machines
- Apr 2017The Myth of a Superhuman AI
- Nov 2017The impossibility of intelligence explosion
- Nov 2018Can we rule out near-term AGI? [video]
- Aug 2021The Myth of a Superhuman AI
- Nov 2021An argument for the impossibility of machine intelligence [pdf]
- Nov 2022Planes are still decades away from displacing most bird jobs
- Jan 2023How Organisms Come to Know the World: Fundamental Limits on AGI
- Jul 2025A non-anthropomorphized view of LLMs
- 03
Keeping CALM: When Distributed Consistency is Easy
Hacker News threads
- Sep 2024Keeping CALM: When distributed consistency is easy (2019)
- Jan 2019Keeping CALM: When Distributed Consistency Is Easy
- Jan 2019Keeping CALM: When Distributed Consistency Is Easy [pdf]
- May 2019ACIDRain: Concurrency-Related Attacks on Database-Backed Web Applications (2017) [pdf]
- Feb 2021Consensus Is Harder Than It Looks (2020)
- Apr 2023Transactions Aren't Everything
- Nov 2023Wrangling Monotonic Systems in TLA+
- Jan 2024RavenDB 6.0.2 (A Jepsen Report)
- Sep 2024Notes on Distributed Systems for Young Bloods
- Oct 2024An illustrated proof of the CAP theorem (2018)
- Sep 2025Strong Eventual Consistency – The Big Idea Behind CRDTs
- 04
Modular implicits
Hacker News threads
- Dec 2015Modular implicits for ad-hoc polymorphism in OCaml
- Mar 2016An OCaml manifesto – Problems and what's needed for widespread adoption
- Apr 2016OCaml 4.03.0 released (including flambda)
- Apr 2016OCaml 4.03.0 released (including flambda)
- Jun 2018Gluon – A static, type-inferred and embeddable language written in Rust
- Sep 2019A look back on OCaml since 2011
- Aug 2021Functional Programming in OCaml
- Dec 2021One Reason Typeclasses Are Useful
- Aug 2025OCaml as my primary language
- 05
Array Layouts for Comparison-Based Searching
Hacker News threads
- May 2017Array Layouts for Comparison-Based Searching
- Oct 2015Array Layouts for Comparison-Based Searching (Khuong and Morin, 2015)
- Oct 2015Array Layouts for Comparison-Based Searching
- Oct 2015Assist threads
- Oct 2015Memory Is Holding Up the Moore's Law Progression of Processing Power (2014)
- Jun 2017SIMD / GPU Friendly Branchless Binary Search
- May 2020Lomuto's Comeback
- Jul 2020Binary Search: A new implementation that is up to 25% faster
- Feb 2022Static B-Trees: A data structure for faster binary search
- Nov 2024Fastest Branchless Binary Search
- Jul 2026Static search trees: 40x faster than binary search (2024)
- 06
Route Planning in Transportation Networks
Hacker News threads
- Oct 2024Route Planning in Transportation Networks (2015)
- Apr 2016Route Planning in Transportation Networks
- Apr 2015On Dijkstra's Algorithm
- Oct 2016Show HN: Dijkstra’s algorithm in the web browser with OpenStreetMap
- Feb 2017JPS+: Over 100x Faster than A* (2015) [video]
- Mar 2018B-Heap vs. Binary Heap (2010)
- Oct 2019New pathfinding algorithm
- Jan 2024A* tricks for videogame path finding
- Jan 2024A* tricks for videogame path finding
- Mar 2024Hexagons and Hilbert curves – The headaches of distributed spatial indices
- 07
Engineering Record And Replay For Deployability: Extended Technical Report
Hacker News threads
- Jun 2020Engineering Record and Replay(rr) for Deployability Extended Technical Report
- May 2017Engineering Record and Replay for Deployability: Extended Technical Report
- Nov 2018rr: lightweight recording and deterministic debugging
- Nov 2018rr: lightweight recording and deterministic debugging
- Nov 2018rr: lightweight recording and deterministic debugging
- Nov 2019Debuggers Suck
- Jun 2022What rr does
- Jul 2024rr – record and replay debugger for C/C++
- Jul 2024rr – record and replay debugger for C/C++
- Mar 2025Show HN: CodeTracer – A time-traveling debugger implemented in Nim and Rust
- 08
Spectre is here to stay: An analysis of side-channels and speculative execution
Hacker News threads
- Feb 2019Spectre is here to stay: An analysis of side-channels and speculative execution
- Feb 2019Google Says Spectre and Meltdown Are Too Difficult to Fix
- Mar 2019Firefox 66.0 Aims to Reduce Online Annoyances
- Apr 2019Lisp Operating System (2015)
- Sep 2019OpenBSD was right to disable hyperthreading [video]
- Dec 2019C Is Not a Low-level Language (2018)
- Mar 2021Post-Spectre Web Development, Editor's Draft, 2021-03-10
- Mar 2021Linus Torvalds on where Rust will fit into Linux
- Aug 2023Sandy Bridge: Setting Intel’s Modern Foundation
- 09
Software Engineering at Google
Hacker News threads
- Jan 2019Software Engineering at Google (2017)
- Feb 2017Software Engineering at Google
- May 2021Software Engineering at Google [pdf]
- Feb 2017How terrible code gets written by sane people
- Apr 2017Ask HN: What Is the Google 'Software Engineer, Machine Learning' Interview Like?
- Feb 2018Advantages of monolithic version control
- Mar 2019List of dead Google products, services, and devices
- Sep 2019How to do a code review
- Mar 2020Software Engineering at Google
- Oct 2020Ask HN: How is architecture practiced at FAANG companies?
- Jul 2022Google Launches Carbon, an Experimental Replacement for C++
- 10
The Renewed Case for the Reduced Instruction Set Computer: Avoiding ISA Bloat with Macro-Op Fusion for RISC-V
Hacker News threads
- Sep 2016Avoiding ISA Bloat with Macro-Op Fusion for RISC-V
- Jul 2016Show HN: Accelerating SHA256 by 100x in Golang on ARM
- Dec 2016Ask HN: What's the value proposition of RISC-V?
- Sep 2017BOOM v2: an open-source out-of-order RISC-V core
- Dec 2017Power9 to the People
- Dec 2017Boom v2: Open-source out-of-order RISC-V core [video]
- Mar 2022RISC-V is succeeding
- May 2022India reveals RISC-V CPU roadmap, expects product by 2023
- Jan 2025XiangShan – Open-source high performance RISC-V processor
- 11
On the Impact of Programming Languages on Code Quality
Hacker News threads
- Jun 2019On the Impact of Programming Languages on Code Quality
- Jan 2019On the Impact of Programming Languages on Code Quality
- Mar 2021On the Impact of Programming Languages on Code Quality
- Apr 2019Correctness – A paradigm for sustainable software development
- Jun 2019Storm 2.0
- Jan 2021 Haskell is our first choice for building production software systems
- May 2021Functional Programming in Go with Generics
- Jun 2021Immutability Changes Everything (2016)
- May 2022Why We Switched from Python to Go (2021)
- May 2023Proposal to reduce loop variable scoping in Go
- Dec 2025The programmers who live in Flatland
- 12
Virtual Machine Warmup Blows Hot and Cold
Hacker News threads
- Feb 2016Virtual Machine Warmup Blows Hot and Cold
- Feb 2016Akka, Haskell, Erlang, Go and .NET Core compared on 1M threads
- Mar 2016CS143: Compilers (2011)
- Oct 2016How to speed up the Rust compiler
- Dec 2016Nectar: A Native JavaScript Compiler Inspired by Crystal Lang and Nim Lang
- Oct 2021Jitterdämmerung (2015, Updated 2021)
- Aug 2022Big changes ahead for Deno
- Nov 2022More evidence for problems in VM warmup
- Sep 2023ClickHouse Keeper: A ZooKeeper alternative written in C++
- 13
Counting Immutable Beans: Reference Counting Optimized for Purely Functional Programming
Hacker News threads
- Aug 2019Counting Immutable Beans: Reference Counting for Purely Functional Programming
- Dec 2020A Review of the Lean Theorem Prover
- Feb 2021A simple ray tracer in Lean 4
- Jul 2022Reference count, don't garbage collect
- Sep 2022Ask HN: Is Clojure Dead?
- Jun 2023Microsoft Research: Fully In-Place Functional Programming [pdf]
- Oct 2023Lean4 helped Terence Tao discover a small bug in his recent paper
- Nov 2023HN thread 38359488
- Feb 2025Neut Programming Language
- 14
Why Johnny Still, Still Can't Encrypt: Evaluating the Usability of a Modern PGP Client
Hacker News threads
- Nov 2015Why Johnny Still Can't Encrypt: Evaluating the Usability of a Modern PGP Client
- Nov 2015Why Johnny Still Can't Encrypt: Evaluating the Usability of a Modern PGP Client
- Nov 2015Evaluating the Usability of a Modern PGP Client [pdf]
- May 2017NSA secretly conducted illegal searches on Americans for years
- Nov 2018Ask HN: Older textbooks/papers you consider classics still worth studying today?
- Jan 2020Doug Tygar, author of Why Johnny Can't Encrypt, has died
- Nov 2021My WhatsApp Security code changed, with no login or logout
- Dec 2021Fiatjaf/nostr – a censorship-resistant alternative to Twitter
- Mar 2024Messaging Layer Security (MLS)
- Apr 2024Why can't my mom email me?
- 15
A Critique of the CAP Theorem
Hacker News threads
- Sep 2015A Critique of the CAP Theorem
- Jun 2017A Critique of the CAP Theorem
- Sep 2015Call Me Maybe: Percona XtraDB Cluster
- Oct 2015The CAP FAQ
- Jun 2017The Limits of the CAP Theorem
- Sep 2021Why is IRC distributed across multiple servers?
- Jan 2024CAP twelve years later: How the "rules" have changed (2012)
- Oct 2024An illustrated proof of the CAP theorem (2018)
- Sep 2026Distributed Systems Classics (2017)
- 16
Parsing Gigabytes of JSON per Second
Hacker News threads
- Oct 2021Parsing gigabytes of JSON per second
- Sep 2024Parsing Gigabytes of JSON per Second
- May 2020Parsing Gigabytes of JSON per Second [pdf]
- Mar 2019An Intel Programmer Jumps over Wall: First Impressions of ARM SIMD Programming
- Jul 2019How fast can a BufferedReader read lines in Java?
- Oct 2021Word-Aligned Bloom Filters
- Mar 20241BRC merykitty's magic SWAR: 8 lines of code explained in 3k words
- Aug 2025Condor's Cuzco RISC-V Core at Hot Chips 2025
- Sep 2026Bitap: My favorite string matching algorithm
- 17
Faster Population Counts Using AVX2 Instructions
Hacker News threads
- Nov 2016Faster Population Counts Using AVX2 Instructions
- Jul 2021Faster Population Counts Using AVX2 Instructions [pdf]
- Dec 2016Don’t assume that safety comes for free: a Swift case study
- May 2018Low Level Bit Hacks You Absolutely Must Know
- Jun 2019Abusing the CPU's Adder Circuits
- Sep 2019Popcount CPU instruction
- Jun 2021The NSA Instruction (2019)
- Sep 2022Intel Hyperscan is a high-performance multiple regex matching library
- 18
Don't Skype & Type! Acoustic Eavesdropping in Voice-Over-IP
Hacker News threads
- Oct 2016Don’t Skype and Type [a Password,] Acoustic Eavesdropping in VOIP
- Oct 2016Don’t Skype and Type—Acoustic Eavesdropping in Voice-Over-IP [pdf]
- Oct 2016Don't Skype and Type Acoustic Eavesdropping in Voice-Over-IP
- Sep 2018How Discord Handles Two and Half Million Concurrent Voice Users Using WebRTC
- Aug 2019Key Negotiation of Bluetooth Attack
- Apr 2020When in doubt: hang up, look up, and call back
- Aug 2022Tempest LCD: Playing songs from your LCD monitor with a radio
- Dec 2023Scary AI recognizes passwords by the sound of your typing
- 19
AsicBoost - A Speedup for Bitcoin Mining
Hacker News threads
- 20
A partisan districting protocol with provably nonpartisan outcomes
Hacker News threads
- Nov 2017A partisan districting protocol with provably nonpartisan outcomes
- Jan 2021Auto-Redistrict – automatically creates electoral districts
- Nov 2022Towns are testing new ballot counting machines that use open source software
- Jun 2023Math Has Changed the Shape of Gerrymandering
- Feb 2024A Partisan Solution to Partisan Gerrymandering: The Define–Combine Procedure
- Jun 2026Show HN: Gerrymandle - Daily puzzle game where you redraw electoral districts
- 21
An Empirical Analysis of Traceability in the Monero Blockchain
Hacker News threads
- Mar 2018An Empirical Analysis of Traceability in the Monero Blockchain
- Mar 2018Ask HN: Who is hiring? (March 2018)
- Sep 2018How Dirty Money Disappears into the Black Hole of Cryptocurrency
- Jan 2019Grin – A private and lightweight mimblewimble blockchain
- Jul 2020Live BTC transactions in Twitter hack
- Oct 2020Coinbase Card
- Dec 2020Zcash Open Major Grants
- Oct 2022Chainalysis CTO said blockchain is easier to trace than paper money
- 22
Souper: A Synthesizing Superoptimizer
Hacker News threads
- Nov 2017Souper: A Synthesizing Superoptimizer
- Nov 2017Souper: A Synthesizing Superoptimizer
- Dec 2017Formal Verification: The Gap Between Perfect Code and Reality
- Feb 2019Syntax-Guided Synthesis
- Jan 2021Software Verification and Analysis Using Z3
- Feb 2021A Superoptimizer for LLVM IR
- Feb 2021A Superoptimizer for LLVM IR
- Jan 2025Tilde, My LLVM Alternative
- Jul 2025FFmpeg devs boast of another 100x leap thanks to handwritten assembly code
- 23
Real Differences between OT and CRDT for Co-Editors
Hacker News threads
- Oct 2018Real Differences Between OT and CRDT for Co-Editors
- Oct 2018Real differences between ot and crdt for co-editors
- Oct 2018Lessons learned from creating a real-time collaborative rich-text editor
- May 2019Open source collaborative text editors
- Jul 2021Faster CRDTs: An Adventure in Optimization
- Sep 2021The web is swallowing the desktop whole (2017)
- Jun 2023The Art of the Fugue: Minimizing Interleaving in Collaborative Text Editing
- Jul 2023The Art of the Fugue: Minimizing Interleaving in Collaborative Text Editing
- 24
DolphinAtack: Inaudible Voice Commands
Hacker News threads
- Sep 2017DolphinAtack: Inaudible Voice Commands
- Sep 2017DolphinAttack: Inaudible Voice Commands
- Sep 2017South Park Season Premier Sets Off Everyone's Amazon Echo
- Sep 2017South Park Season Premier Sets Off Everyone's Amazon Echo
- May 2018Alexa and Siri Can Hear Hidden Commands
- Jan 2019Designing an audio adblocker
- Mar 2019Hard disks can be turned into listening devices
- Feb 2020SurfingAttack: attack on voice assistants using ultrasonic guided wave
- Feb 2020Activate this ‘bracelet of silence,’ and Alexa can’t eavesdrop
- 25
Fast Random Integer Generation in an Interval
Hacker News threads
- May 2018Fast Random Integer Generation in an Interval
- Mar 2019Fast Random Integer Generation in an Interval
- Sep 2019Algorithm No One Knows About (2016)
- Aug 2020Julia 1.5 Highlights
- Oct 2020Dissecting Lemire's nearly divisionless random number generator
- Oct 2020Dissecting Lemire's nearly divisionless random number generator
- Aug 2021A fast alternative to the modulo reduction (2016)
- Mar 2022It is high time we let go of the Mersenne Twister (2019)
Data from the Hacker News archive (ODC-By), arXiv and OpenAlex. Not affiliated with Hacker News or Y Combinator.
























