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
    S

    Sam Saffron

    samsaffron.com · Personal blog · on HN since 2009

    Sam Saffron, a co-founder of Discourse and former Stack Overflow developer, writes about Ruby and .NET performance, memory, and Rails internals.

    Visit blogRSSHN submissions
    Systems & PerformanceProgrammingWeb Development
    What HN says

    Commenters call his write-ups great and call his Ruby 2.1 garbage collection article a must-read; his Stack Overflow .NET GC post is cited for scaling GC languages.

    Stats for nerds
    51HN people shared it
    49linked in comments
    3.1Kstory points
    Apr 2019last shared
    2011people per year2019

    Top posts on HN

    1. 1
      Stop Paying Your jQuery Tax
      3 people · 357 points · first shared 2012 · 84 comments on HN
    2. 2
      We need a clearer framework for AI-assisted contributions to open source
      2 people · 312 points · first shared 2025 · 154 comments on HN
    3. 3
      Managing database schema changes without downtime
      1 person · 267 points · first shared 2018 · 51 comments on HN
    4. 4
      Why upgrading your Linux Kernel will make your customers much happier
      1 person · 260 points · first shared 2012 · 55 comments on HN
    5. 5
      WebSockets: caution required
      4 people · 229 points · first shared 2015 · 110 comments on HN
    6. 6
      Tests that sometimes fail
      1 person · 217 points · first shared 2019 · 127 comments on HN
    7. 7
      Testing 3 million hyperlinks, lessons learned
      1 person · 206 points · first shared 2012 · 55 comments on HN
    8. 8
      Ruby 2.1 Garbage Collection: ready for production
      3 people · 204 points · first shared 2014 · 38 comments on HN
    9. 9
      Speeding up Rails 4.2
      2 people · 197 points · first shared 2014 · 16 comments on HN
    10. 10
      On Stack Overflow's recent battles with the .NET Garbage Collector
      4 people · 183 points · first shared 2011 · 72 comments on HN

    What HN people wrote when they linked it

    • ksecApr 2019

      1. I don't quite understand why people love Rust. I have nothing against it but I just don't quite get why the love. I viewed it as Modern C++ with Memory Management done right from Engineering perspective and elegant syntax with package management done right from the beginning. And may be just my circle or reading list, many Rubyist jumped to Rust, and more often after trying a few times and clicked, they felt in love with it.

      2. Ruby = Rails. ~8.5% of Ruby Developers and there are 8.2% of Rails Developers.

      3. Ruby / Rails are for many years split in love and dreaded languages and framework. ~50% on both side. I don't see any other languages and framework has similar pattern.

      4. There are more Django / Laravel developers than Ruby Rails.

      5. ~60% of Developers are on Windows. That was obvious right? And yet Ruby / Rails Community has ignore the Windows as a development platform for years. [1] My guess it is the lack of resources.

      6. Speaking of Resources, Ruby is the top programming language that is surviving without a Major Cooperation ( Facebook, Amazon, Microsoft, Google, Apple ) backing.

      7. Ruby 's Median salary, comparatively speaking is trending on the higher side. And also one of the highest with respective of lower years of experience. That is both good and bad. Developers get higher salary, but less company are willing to choose it for cost reason.

      8. Am I correct to assume those Salaries exclude any Stock grant? Which is common in US?

      9. Visual Studio Code…

    • tripzilchMar 2012

      Try http://m.twitter.com , it's the dressed-down mobile version of Twitter.

      It doesn't have all the features, but easily makes up for that by the fact that you can actually click around as much as you like without your browser getting all slumpy from loading huge pages or doing javascript.

      You'd expect caching to help, but there's a lot of truth in the jQuery tax article[1]: even if you got the code cached, executing it all takes a significant amount of time, and the sluggishness is made worse by the fact that during this time your CPU is busy, unlike with data transfers which at most cost some memory.

      I don't use the m.twitter.com site all the time, but I switch often enough whenever I get too annoyed by default Twitter's slowness.

      The only real downside (for me) is that you can't click through to a full resolution version of a profile picture. Otherwise all the basic features are in there.

      [1] http://samsaffron.com/archive/2012/02/17/stop-paying-your-jquery-tax

    • psycOct 2016

      Any GC that walks the graph, and isn't mostly concurrent. You will know when the graph becomes complex enough, because thereafter the GC will not let you ignore it. In my experience, as few as several hundred thousand objects can become a problem. Imagine trying to write a responsive 3D modeling app with vertices, edges, and faces all bidirectionally pointing to each other. You the programmer would think very carefully before fully traversing such a data structure (much of the point of having thorough internal references is avoiding doing much traversal!), and yet the runtime helpfully does it for you, automatically, and there's nothing you can do to stop it.

      https://samsaffron.com/archive/2011/10/28/in-managed-code-we-trust-our-recent-battles-with-the-net-garbage-collector

      http://stackoverflow.com/a/14277068

    • lucisferreOct 2011

      This solution seems extreme, given the GC is just a reality of working with managed languages which is most of the web these days (.NET, Java, Ruby, etc.). Many, many heavy traffic websites solve these problems without resorting to language magic tricks. Usually with effective use of caching, or separating out the heavily accessed data in a way that is is optimized for those read operations.

      This is the second StackExchange article where it feels like square peg, round hole. The first was [their ORM] (http://samsaffron.com/archive/2011/03/30/How+I+learned+to+stop+worrying+and+write+my+own+ORM) which isn't really an ORM at all (perhaps micro ORM is fair) in the traditional sense.

    • Shog9Nov 2015

      Quality means many things... When it comes to the experience of the people using the site, performance - how long it takes the requested page to display - is critical; the vast majority of Stack Overflow's page requests are someone requesting a page that they urgently need to read.

      That doesn't preclude other aspects of quality of course. But it does influence how they're approached. A heavily abstracted system that hurts performance is unacceptable, but there are other ways to achieve the same ends.

      You might find this article interesting... http://samsaffron.com/archive/2011/03/30/How+I+learned+to+stop+worrying+and+write+my+own+ORM

    • singularApr 2011

      The ORM is definitely very read-focused, which is probably not that surprising given that it's used for web, and given the motivations for creating it, discussed at the blog post mentioned by @gokhan [1].

      It would be nice to have some lightweight stuff for updating/inserting too, though I guess doing it in such a way that you don't need to write lots of boilerplate kinda requires SQL generation, which dapper is avoiding on purpose.

      [1]: http://samsaffron.com/archive/2011/03/30/How+I+learned+to+stop+worrying+and+write+my+own+ORM

    Related

    Discourse Blogblog.discourse.org65 people

    The Universal Rules of Civilized Discourse

    Discourse Blog
    Company · last shared 2026
    Coding Horrorblog.codinghorror.com2.1k people

    Farewell Stack Exchange

    Coding Horror
    Personal · last shared 2026
    Chad Fowlerchadfowler.com46 people

    Your Most Important Skill: Empathy

    Chad Fowler
    Personal · last shared 2022
    AkitaOnRailsakitaonrails.com53 people

    Rails has won: The Elephant in the Room

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

    A half-hour to learn Rust

    fasterthanli.me
    Personal · last shared 2026
    The Morning Paperblog.acolyer.org606 people

    Local-first software: you own your data, in spite of the cloud

    The Morning Paper
    Personal · last shared 2026
    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026
    Sam Rubyintertwingly.net64 people

    Sam Ruby, Brendan Eich, and Jeremy Ashkenas on CoffeeScript and "JS-next"

    Sam Ruby
    Personal · last shared 2026