Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    R

    Russell Cohen

    rcoh.me · Personal blog · on HN since 2013

    Russell Cohen, a backend infrastructure engineer, writes about Rust, algorithms, data structures, and concurrency in Go and Java.

    Visit blogHN submissions
    ProgrammingLanguages & CompilersSystems & Performance
    What HN says

    HN links his posts on linked lists in safe Rust and linear-time median finding; one commenter calls the median post a deep rabbit hole.

    Stats for nerds
    25HN people shared it
    41linked in comments
    1.6Kstory points
    Jul 2026last shared
    2013people per year2026

    Top posts on HN

    1. 1
      My Favorite Algorithm: Linear Time Median Finding (2018)
      5 people · 379 points · first shared 2018 · 181 comments on HN
    2. 2
      Why you can have millions of goroutines but only thousands of Java threads
      5 people · 291 points · first shared 2018 · 151 comments on HN
    3. 3
      Thoughts on Rust, a few thousand lines in
      2 people · 233 points · first shared 2018 · 174 comments on HN
    4. 4
      An Introduction to Cache-Oblivious Data Structures
      6 people · 226 points · first shared 2018 · 31 comments on HN
    5. 5
      Why writing a linked list in safe Rust is so damned hard
      7 people · 224 points · first shared 2018 · 191 comments on HN
    6. 6
      Postgres indexes under the hood
      1 person · 162 points · first shared 2018 · 23 comments on HN
    7. 7
      Verifiable Voting: A Primer
      2 people · 74 points · first shared 2019 · 65 comments on HN
    8. 8
      Thoughts on Rust, a few thousand lines in
      2 people · 22 points · first shared 2018 · 2 comments on HN
    9. 9
      Sudo Science
      2 people · 4 points · first shared 2018 · Discussion on HN
    10. 10
      Reflections on two years of freelancing
      1 person · 4 points · first shared 2018 · Discussion on HN

    What HN people wrote when they linked it

    • lumostOct 2020

      First off, thank you for all of the work you've put into Rust! I think the challenge that you face is that if the problem is CS101 courses, then Rust will always be unfamiliar to the majority of practicing professionals.

      Cyclic/recursive datastructures are common in web services, where one needs to model bidirectional relationships ( just think of friends on a social graph ). As well as several primitive datastructures such as the O(1) LRU cache.

      Checking the Rust docs out, a dev who encounters this problem for the first time will eventually need

      - "Reference Cycles Can Leak Memory" https://doc.rust-lang.org/book/ch15-06-reference-cycles.html
      -- caveat: what if ownership is truly bidirectional?

      - "unsafe" https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html

      - 5 different primitive lists which don't tell you how to make a friends graph: https://rust-unofficial.github.io/too-many-lists/infinity-double-single.html

      - Someone elses attempt: https://rcoh.me/posts/rust-linked-list-basically-impossible/

      - Careful reading of the LinkedList implementation to see that unsafe is probably the best approach: https://doc.rust-lang.org/beta/src/alloc/collections/linked_list.rs.html#38-43

      I'm a little biased on this front, when I first picked up Rust I chose to tackle an O(1) LRU cache as a quick learning exercise. I ended up beating my head against a wall for 20 hours. However on my current project I'm analyzing the wikipedia dataset ( another bidirectional structure…

    • gavinrayDec 2023

      What?

      I mean, there are specific sizes that will fit in the L-(N) cache.

      And consequently, sizes that don't suffer from the false-sharing problem in concurrent scenarios due to this.

      https://en.cppreference.com/w/cpp/thread/hardware_destructive_interference_size

      There's an entire field of study devoted to cache-friendly/cache-oblivious data structures:

      - https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/ccds.pdf

      - https://rcoh.me/posts/cache-oblivious-datastructures/

    • fortran77Nov 2022

      I think the Rust people are de-emphasizing the importance of linked lists due to the glaring hole in the Rust language that makes it difficult to implement linked lists, and horribly awkward to do doubly-linked lists in safe Rust

      (See https://rcoh.me/posts/rust-linked-list-basically-impossible/ )

      To save face, the Rust astroturfers are now skipping around saying "Linked lists aren't important"

    • rusbusMar 2020

      SEEKING WORK | Remote or Boston | https://rcoh.me | rcoh@rcoh.me
      I do everything, but specialize in backend infrastructure.
      - Rust, Python, Go, Scala, Java, Python, C/C++

      I also do devopsy things (Ansible, Terraform, etc.)

      I have a lot of experience running Kubernetes clusters and porting infrastructure to k8s.

    • geophileMar 2019

      GC is only part of the issue. Value types allow much finer control over locality, something completely lacking in Java now. And without that, you give up a lot of performance.

      For example: https://rcoh.me/posts/cache-oblivious-datastructures/

    • raddanJul 2026

      The rabbit hole goes deep fast with this one!

      https://rcoh.me/posts/linear-time-median-finding/

      I vaguely recall learning a randomized (approximate) streaming median algorithm in grad school, but the details have left my brain…

    Related

    matkladmatklad.github.io237 people

    Architecture.md

    matklad
    Personal · last shared 2026
    fasterthanli.mefasterthanli.me236 people

    A half-hour to learn Rust

    fasterthanli.me
    Personal · last shared 2026
    AdaCore Blogblog.adacore.com106 people

    Nvidia Security Team: “What if we just stopped using C?” (2022)

    AdaCore Blog
    Company · last shared 2025
    Rusty Russellrusty.ozlabs.org24 people

    If you didn’t run code written by assholes, your machine wouldn’t boot

    Rusty Russell
    Personal · last shared 2026
    Frank McSherryfrankmcsherry.org56 people

    Scalability, but at what cost? (2015)

    Frank McSherry
    Personal · last shared 2026
    Russ Coxresearch.swtch.com554 people

    Timeline of the xz open source attack

    Russ Cox
    Personal · last shared 2026
    Probably Danceprobablydance.com74 people

    Fibonacci Hashing: The Optimization That the World Forgot

    Probably Dance
    Personal · last shared 2026
    Encore Blogencore.dev47 people

    Go Modules Cheat Sheet

    Encore Blog
    Company · last shared 2026