Hacker Papers
- 01
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
- 02
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
- 03
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++
- 04
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
- 05
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
- 06
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
- 07
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
- 08
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
- 09
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++
- 10
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
- 11
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)
- 12
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?
- 13
A Study of MAC Address Randomization in Mobile Devices and When it Fails
Hacker News threads
- Mar 2017A Study of MAC Address Randomization in Mobile Devices and When It Fails
- Sep 2017A Study of MAC Address Randomization in Mobile Devices and When It Fails
- Mar 2017A Study of MAC Address Randomization in Mobile Devices and When It Fails
- Aug 2017Does disabling Wi-Fi prevent my Android phone from sending Wi-Fi frames? [pdf]
- Sep 2017Apple switches from Bing to Google for Siri web search on iOS and Mac Spotlight
- Oct 2017Transport for London plans to collect data from passengers' mobiles
- Dec 2017Apple is sharing your facial wireframe with apps
- Feb 2018Stop replacing London’s phone boxes with corporate surveillance
- Nov 2018Researchers “see” through walls using ambient Wi-Fi signals and a smartphone
- Jan 2019Count the people around you by monitoring wifi signals
- 14
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)
- 15
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
- 16
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
- 17
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
- 18
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
- 19
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
- 20
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
- 21
Don't Unroll Adjoint: Differentiating SSA-Form Programs
Hacker News threads
- Feb 2019Differentiating SSA-Form Programs in Julia (2018) [pdf]
- Oct 2018Don't Unroll Adjoint: Differentiating SSA-Form Programs
- Oct 2018Don't Unroll Adjoint: Differentiating SSA-Form Programs
- Apr 2019Embracing Swift for Deep Learning
- Jul 2019A Differentiable Programming System to Bridge ML and Scientific Computing
- Feb 2020Demystifying Differentiable Programming (2018)
- Oct 2020The Accelerating Adoption of Julia
- Jul 2021Useful algorithms that are not optimized by Jax, PyTorch, or TensorFlow
- Dec 2021Trade-Offs in Automatic Differentiation: TensorFlow, PyTorch, Jax, and Julia
- 22
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
- 23
Bandwidth-Efficient Transaction Relay for Bitcoin
Hacker News threads
- May 2019Bandwidth-Efficient Transaction Relay
- Jun 2019Bitcoin climbs to $10k
- Dec 2019Erlay: A performance improvement to the Bitcoin network
- Mar 2020Erlay: Bandwidth-efficient Bitcoin transaction relay protocol
- Aug 2020Network Coding in P2P Networks
- Dec 2020Using Bloom filters to efficiently synchronise hash graphs
- Aug 2024A Technical Look at BitMessage: Learning From a Dead Project
- 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
Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges
Hacker News threads
- May 2022Flash Boys 2: Frontrunning, transaction reordering, consensus instability (2019)
- Aug 2020Flash Boys 2.0
- Sep 2020Frontrunning, Tx Reordering and Consensus Instability in Decentralized Exchanges
- Apr 2019Trading bots are running wild on cryptocurrency exchanges
- Nov 2019Hard Problems in Cryptocurrency: Five Years Later
- Jan 2021Attacking the DeFi ecosystem with flash loans for fun and profit (2020)
- Feb 2021Flash Loans Are Providing Instant Cash to Crypto Speculators
- Feb 2021Gridcoin: An open-source cryptocurrency that rewards volunteer computing
- Sep 2022Flashbots
Data from the Hacker News archive (ODC-By), arXiv and OpenAlex. Not affiliated with Hacker News or Y Combinator.
























