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

    thoughtbot Blog

    robots.thoughtbot.com · Company blog · on HN since 2007

    thoughtbot's engineering blog covers Ruby, Rails, Elm, Phoenix, vim, git and other practical tips from its consultants.

    Visit blogHN submissions
    ProgrammingWeb Development
    What HN says

    Commenters praise it as a really good blog with small, practical tips and link its posts on commit messages, Elm and taking a codecation.

    Stats for nerds
    441HN people shared it
    660linked in comments
    6.7Kstory points
    Dec 2024last shared
    2009people per year2024

    Top posts on HN

    1. 1
      Neat
      1 person · 375 points · first shared 2012 · 36 comments on HN
    2. 2
      Replace CoffeeScript with ES6
      4 people · 355 points · first shared 2015 · 168 comments on HN
    3. 3
      Shutting down a product? Open source it.
      2 people · 257 points · first shared 2012 · 46 comments on HN
    4. 4
      Tell, don't ask
      1 person · 216 points · first shared 2012 · 86 comments on HN
    5. 5
      Vim, you complete me
      1 person · 193 points · first shared 2012 · 114 comments on HN
    6. 6
      How grep got its name
      1 person · 186 points · first shared 2010 · 50 comments on HN
    7. 7
      This is CoffeeScript
      1 person · 184 points · first shared 2011 · 89 comments on HN
    8. 8
      A Tmux Crash Course (2011)
      3 people · 183 points · first shared 2011 · 84 comments on HN
    9. 9
      Is Your Site Leaking Password Reset Links?
      1 person · 174 points · first shared 2016 · 89 comments on HN
    10. 10
      Thinking in Types
      2 people · 170 points · first shared 2014 · 118 comments on HN

    What HN people wrote when they linked it

    • hackercomplexFeb 2016

      I have a theory about this stuff. Some programmers who need to "blow off" a day here or there spend it by lounging around on the sofa playing video games. I don't mean to rag on gamers because I'm one myself, but the point is I'm fascinated by the fact that many video games are also "mental challenges" that are similar in several ways to computer programming and use similar parts of the brain. What factor(s) then make the game-play enjoyable while the heavy-lifting dev-work feels sometimes more tedious ? Maybe there is a way to adjust our methodology to feel more game-like, relaxing, and fun.

      I think I've actually stumbled upon a way to do this, allow me to explain: If you start to read about the statistics around social dynamics in MMORPG games then certain things fall out of the data, and game makers have picked up on these ideas and used them to make their games more fun and addictive, and I think these same insights can be applied to organize software development.

      Lets start with World of Warcarft. The statistics prove that World of Warcraft is a highly addictive game for many diverse people, but almost everyone agrees that if you were to join an empty server you would find that it's not an addictive game in one player mode. If you take this a bit further and say.. "ok, now you're on a server with other people, but you're not allowed to join a group, but you are allowed to conference with several players, exchange weapons and loot, and message individual…

    • kadenshepApr 2018

      To anyone reading, bitkeeper does nothing special in this regard. Enforce commit message standards, plenty of platforms and systems built around git (and literally every other SCM) have support for this.

      Here's what he's taking about: http://www.bitkeeper.org/man/citool.html and http://www.bitkeeper.org/man/templates.html

      Here is git's analogous feature: https://robots.thoughtbot.com/better-commit-messages-with-a-gitmessage-template

      It's possibly the least interesting and least unique selling point an SCM can have. It's really funny that you keep bringing up this example around the thread.

      EDIT: To respond to the above edit:

      Again, he's Proving The Point. Commits should be atomic. If you have to individually comment on file changes then the correct thing to do would be to put those in their own commit, no? I'm not really sure what's being described is necessarily a cool feature, but rather a way to avoid making sure your changes are truly related. I honestly don't see the point. This seems like a feature that was written because of the decisions that were made into how BitKeeper works internally, not because it's a fantastic idea. You can get the same thing with atomic commits in git. You comment per file, because BK tracks changes per file. Git does not do this. You should be making your commits atomic because git is tracking the actual content. Atomic commits will accurately describe what's being changed, and then of course those all get lumped together in a…

    • awbOct 2021

      > I don't follow this at all.

      I didn't either.

      This same user states multiple times that "Everyone knows what a protected class means" and to use "common sense". After being pressed to define it then suggests: "The dictionaries should have a more understandable definition." but then offers no link to "The dictionaries".

      This user has 4 followers on GitHub, but is lecturing the Ruby community on "obvious" things that unfortunately aren't that obvious.

      I'm all for a robust discussion to make the community a better place, but assuming everyone has your world-view and a common understanding of words that you yourself struggle to define is a quick way to alienate folks who are seriously trying to understand the arguments but need more information.

      Other people chime in to recommend that people "educate themselves", and links to an article (https://thoughtbot.com/blog/beyond-best-intentions) which suggests protected classes are: "Black, Indigenous, and People of Color, queer folks, and disabled people" because they "are disproportionately likely to experience bias and discrimination at work and in social circles."

      Another user suggests the California definition which is much broader (https://www.senate.ca.gov/content/protected-classes) and includes classes like "marital status" and "genetic characteristics".

      It's just better to be clear about what exactly is meant by these terms if possible.

    • pritambarhateJun 2020

      >> I am building an application that has 2 million rows of data.

      It will also be helpful to know what kind of hardware you are using for the database. How much RAM the machine has? Does the whole dataset fit in the RAM? If not, at least indexes should fit in the RAM.

      Disk type: HDD/SSD?

      Are you using indexes?

      Did you check "explain analyze"[1] to check your query plans to ensure that the indexes are being used or not?

      There are many things that affect database performance.

      >> I want to build something that involves billions of rows of data. I want to know how to speed it up.

      The key to this is "Shared nothing architecture" along with a Sharded Database. I have tried to explain this architecture here [2]. To understand Database sharding, I would recommend this Digital Ocean Article [3].

      To learn more about highly scalable architectures I would suggest reading the real world architectures section [4] of the High Scalability Blog.

      [1] https://thoughtbot.com/blog/reading-an-explain-analyze-query-plan

      [2] https://mobisoftinfotech.com/resources/mguide/shared-nothing-architecture-the-key-to-scale-your-app-to-millions-of-users/

      [3] https://www.digitalocean.com/community/tutorials/understanding-database-sharding

      [4] http://highscalability.com/blog/category/example

    • MakerSamFeb 2022

      I agree that Rails has a kind of a steep learning curve. Also agree that I didn't find the Rails Casts helpful - I found them out of date, so I didn't spend any time watching them.

      For me, learning how to learn a new thing at times seems like the hardest part for me. For Rails, the best I've found is the Michael Hartl tutorial [1]. He walks you through setting up a blog with Rails - first the quick way and then the hard way, so you walk away with a nice understanding. He keeps the tutorial up to date and he's been available for questions when I've emailed him. It costs a few bucks ($39) but well worth it IMHO. I spent a few weeks going through that book, did a few apps on my own, and then was able to create new apps fairly quickly.

      The official Rails Guides are a great resource too and kept up to date too [2].

      Configuring your local rails development environment is pretty easy with the thoughtbot laptop script [3], otherwise it can be kind of a pain to do it from scratch.

      [1] https://www.learnenough.com/ruby-on-rails-6th-edition-tutorial
      [2] https://guides.rubyonrails.org/
      [3] https://thoughtbot.com/blog/laptop-setup-for-an-awesome-development-environment

    • CroakyMar 2017

      thoughtbot | Web Developer | Austin, Boston, New York City, Raleigh, San Francisco | https://thoughtbot.com/jobs

      thoughtbot | Designer | Boston, New York City, Raleigh | https://thoughtbot.com/jobs

      thoughtbot | Design Director | London | https://thoughtbot.com/jobs

      thoughtbot designers and developers rapidly build high-quality web applications. Well-qualified designers and developers have excellent knowledge of HTML, CSS, JavaScript. Designers should also be able to create great visual designs and run usability tests and product design sprints.

      Developers should have excellent knowledge of Ruby on Rails, , SQL, Unix, and Test-Driven Development. We also have active projects in Go, Elixir Phoenix, React, and React Native. Experience or interest in these technologies is a plus.

      Very well-qualified candidates will also have experience with consulting. We work a sustainable pace of 40 hours/week, consulting for clients four days/week. On Fridays, we have investment time when we learn new tools and techniques, work on open source, write blog posts, and make ourselves, each other, and the community better.

      https://robots.thoughtbot.com/investment-time

    Related

    Carbon Five Blogblog.carbonfive.com74 people

    Vim Text Objects : The Definitive Guide

    Carbon Five Blog
    Company · last shared 2024
    Engine Yard Blogengineyard.com204 people

    The Number One Trait of a Great Developer

    Engine Yard Blog
    Company · last shared 2025
    Tim Popetbaggery.com51 people

    A Note About Git Commit Messages

    Tim Pope
    Personal · last shared 2026
    Heroku Engineering Blogengineering.heroku.com22 people

    Stuff Goes Bad: Erlang in Anger

    Heroku Engineering Blog
    Company · last shared 2017
    Stack Overflow Blogstackoverflow.blog1.1k people

    How Dwarf Fortress is built

    Stack Overflow Blog
    Company · last shared 2026
    Slack Engineeringslack.engineering281 people

    Taking PHP Seriously

    Slack Engineering
    Company · last shared 2026
    Atlassian Blogblogs.atlassian.com154 people

    Git? tig

    Atlassian Blog
    Company · last shared 2023
    Sourcegraph Blogabout.sourcegraph.com156 people

    An ex-Googler’s guide to dev tools

    Sourcegraph Blog
    Company · last shared 2024