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

    Richard Schneeman

    schneems.com · Personal blog · on HN since 2011

    Richard Schneeman, a Ruby and Rails engineer formerly at Heroku, writes about Puma, Rails internals, performance and developer life.

    Visit blogRSSHN submissions
    ProgrammingWeb DevelopmentCareer & Work
    What HN says

    Commenters cite his posts on Rails, tutorials and an online master's program, though one says his recent headlines have become clickbaity.

    Stats for nerds
    80HN people shared it
    124linked in comments
    915story points
    Dec 2024last shared
    2012people per year2024

    Top posts on HN

    1. 1
      How I Reduced My DB Server Load by 80%
      4 people · 209 points · first shared 2017 · 110 comments on HN
    2. 2
      What is a Source Map
      1 person · 139 points · first shared 2017 · 96 comments on HN
    3. 3
      Open Source in your Inbox: Code Triage
      1 person · 74 points · first shared 2013 · 19 comments on HN
    4. 4
      Lies, Damned Lies, and Averages: Perc50, Perc95 Explained for Programmers
      2 people · 71 points · first shared 2020 · 30 comments on HN
    5. 5
      RubyConf 2024: Cloud Native Buildpack Hackday (and other Ruby deploy tools, too)
      1 person · 71 points · first shared 2024 · 8 comments on HN
    6. 6
      NoSQL with Postgres - Using Hstore in Rails
      1 person · 40 points · first shared 2012 · 12 comments on HN
    7. 7
      The room where it happens: How Rails gets made
      5 people · 28 points · first shared 2021 · 1 comments on HN
    8. 8
      Rubyist makes some Python code 5x Faster
      3 people · 25 points · first shared 2017 · 10 comments on HN
    9. 9
      My Red Hot ADHD Programming 'Affliction'
      4 people · 21 points · first shared 2024 · 2 comments on HN
    10. 10
      I know how to code, I can code in anything
      4 people · 17 points · first shared 2017 · 1 comments on HN

    What HN people wrote when they linked it

    • thinkbohemianNov 2014

      > 2.0.0 means no memory errors

      2.1 has a totally new GC setup (generational GC). It is guaranteed to use more memory (expect 3~5%), but be MUCH MUCH MUCH faster. Typically you can trade off running one less Puma worker to decrease memory usage, and the increase in speed may make up for it. Alternatively you can bump up to 2x dynos, and cut the number of dynos you have in half. If you haven't tried 2.1.3 or above do yourself a favor and revisit. The 2.1.3 patch means memory grows much more slowly.

      Also if you didn't see my post on memory profiling: http://www.schneems.com/2014/11/07/i-ram-what-i-ram.html (It got over 40 upvotes on reddit, and like 3 on HN, again...HN what is going on? I've had much less substantial posts make it front page). That post shows you how to remove ~30% starting RAM (by bumping mail version to 2.6.3+) and shows you can profile and remove libraries that are using a ton of memory in your app.

      You can also use something like puma_worker_killer (or unicorn_worker_killer) to tame your memory growth if it only balloons over 512mb after a while, but ultimately those two solutions are bandaids.

      Ruby 2.0 isn't going to be supported forever and the generational GC is definitely here to stay. Maybe try the 2.2.0 preview (it's on Heroku), it has 3 generations (total) which means much less retained memory and you still get speed performance improvements.

      I see most of the bigger production apps using 2.1+ fwiw.

    • schneemsDec 2024

      Thanks for the fast reply! For some background:

      Rundoc is a tool for writing tutorials such that the author is guaranteed the outcome is valid (if a command fails, the tutorial fails) and for helping users see the exact output they would expect (instead of a static output). The tool has website integration that allows you to take screenshots and navigate a webpage.

      Recently I wrote this tutorial https://schneems.com/2023/06/14/its-dangerous-to-go-alone-pub-mod-use-thisrs/ which makes heavy use of vscode extension shortcuts and hover over tips. I would love to be able to keep that tutorial up to date by scripting the tooltips to make sure the options don’t change and the suggested commands like CMD+. Continue to work.

    • alipitchApr 2022

      Slightly off-topic digression:

      Would WAS compilation help solve the ruby / rails timeout problem?

      https://devcenter.heroku.com/articles/h12-request-timeout-in-ruby-mri
      > H12 - Request Timeout in Ruby (MRI)
      > Rack-timeout limitations
      > Due to the design of the Ruby programming language’s Thread#raise API, which timing out code depends on, there is a known bug with rack-timeout that can put your app into a bad state if rack-timeout fires too frequently.

      (Other related URLs)
      https://github.com/ankane/the-ultimate-guide-to-ruby-timeouts
      https://headius.blogspot.com/2008/02/rubys-threadraise-threadkill-timeoutrb.html
      https://www.schneems.com/2017/02/21/the-oldest-bug-in-ruby-why-racktimeout-might-hose-your-server/

    • mijoharasJun 2024

      The other answer is correct I believe, but I think the most common recommendation I've seen for rails boils down to "Use Timeout, and then kill and restart the process" (ref: [0], [1]), which obviously doesn't feel great for performance when a timeout in one thread can cause all other threads to need to be killed.

      [0] https://www.schneems.com/2017/02/21/the-oldest-bug-in-ruby-why-racktimeout-might-hose-your-server/

      [1] https://github.com/zombocom/rack-timeout (c.f. term_on_timeout)

    • fokinseanAug 2017

      I've been entertaining the idea of going through this course as well. I graduated 2 years ago, BS in CS, and part of me misses being in school. Plus my employer has a decent tuition reimbursement program.

      Would anyone who works full time and gone through this program care to share their thoughts?

      Edit: Just found this great article from another comment

      https://schneems.com/2017/07/26/omscs-omg-is-an-online-masters-right-for-you/

    • thibaut_barrereNov 2017

      (note: I use both Elixir & Ruby, for different reasons)

      You can most of the time rely on object.method(:blank?).source_location to quickly determine where a specific method is defined.

      More useful debugging tips can be found here:

      https://www.schneems.com/2016/01/25/ruby-debugging-magic-cheat-sheet.html

    Related

    Heroku Blogblog.heroku.com326 people

    Matz (creator of Ruby) joins Heroku

    Heroku Blog
    Company · last shared 2025
    RubyGems Blogblog.rubygems.org48 people

    Making popular Ruby packages more secure

    RubyGems Blog
    Company · last shared 2026
    Heroku Engineering Blogengineering.heroku.com22 people

    Stuff Goes Bad: Erlang in Anger

    Heroku Engineering Blog
    Company · last shared 2017
    Ruby Insiderubyinside.com147 people

    Sinatra 1.0 Released: Major Milestone for Ruby’s Best Webapp DSL

    Ruby Inside
    Publication · last shared 2021
    Mike Perhammikeperham.com94 people

    Kill Your Dependencies

    Mike Perham
    Personal · last shared 2026
    Brandurbrandur.org187 people

    Learning from Terminals to Design the Future of User Interfaces

    Brandur
    Personal · last shared 2026
    Craig Kerstienscraigkerstiens.com101 people

    Give Me Back My Monolith

    Craig Kerstiens
    Personal · last shared 2025
    David Lattimoredavidlattimore.github.io18 people

    Wild performance tricks

    David Lattimore
    Personal · last shared 2026