Skip to main content
thoughtbot thoughtbot
  • Live on Twitch!

    thoughtbot is livestreaming

    Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

  • Case Studies
  • Blog
  • Let’s Talk
Live on Twitch!

thoughtbot is livestreaming

Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

Let’s get started!
View all Services
Development
  • Ruby on Rails
  • Hotwire
  • AI and Machine Learning
  • Maintenance
  • Mobile
Design
  • Discovery Sprints
  • UX, UI, and Product Design
  • Design Systems
Product
  • MVP
  • Product Management
  • Accessibility
Team and Processes
  • Team Augmentation
  • Fractional Leadership
View all Services
View all Resources
Development
  • Tech Leadership Resources
  • Open Source
  • Books
  • The Bike Shed Podcast
  • Live Streaming on YouTube
  • Conference Talks
The business of great software
  • Playbook
  • Purpose Built
  • Giant Robots Smashing Into Other Giant Robots Podcast
  • Design Sprint Guide
  • Live Streaming on LinkedIn
View all Resources

Web Articles

Written by thoughtbot, your expert partner for design and development.

    • All Topics
    • Design
    • Development
    • Product
    • More topics
  1. A Case Study in Multiple Time Zones

    Handle multiple user-defined time zones in Rails with scheduled background workers.

    Elle Meredith
    July 23, 2015
    • Web
    • Rails
    • Ruby
  2. Destructuring Parameters in Ember.Helpers

    Clean up your Ember.Helpers with destructuring.

    Sean Doyle
    July 20, 2015
    • Web
    • Ember
    • JavaScript
  3. Interface With Your Database in Go Tests

    Go’s interface provides a way to abstract away things like your database for testing.

    Caleb Hearth
    July 10, 2015
    • Web
    • Go
    • Testing
  4. Rails Test Types and the Testing Pyramid

    Combine multiple test types for an optimal suite.

    Joël Quenneville
    July 8, 2015
    • Web
    • Testing
    • Rails
  5. Faking APIs in Development and Staging

    Use fake API servers everywhere, not just in tests.

    Joël Quenneville
    July 6, 2015
    • Web
    • Testing
    • Rails
    • Ruby
  6. Easy Haskell Development Setup with Docker

    Using Docker with Haskell removes the mess of setting up your environment and allows you to focus on the fun of programming in Haskell.

    Tony DiPasquale
    July 2, 2015
    • Web
    • Haskell
    • Docker
  7. Configure Travis CI for Go

    The defaults are useful, but sometimes you need a bit more.

    Bernerd Schaefer
    June 30, 2015
    • Web
    • Go
    • Travis CI
    • CI
  8. Optimizing Full Text Search with Postgres tsvector Columns and Triggers

    Improve the speed of Postgres full-text search by introducing a tsvector column to cache lexemes and using a trigger to keep the lexemes up-to-date.

    Dan Croak
    June 25, 2015
    • Web
    • Rails
    • PostgreSQL
  9. Setting Up Webpack for React and Hot Module Replacement

    Set up Webpack for React and hot module replacement.

    Blake Williams
    June 19, 2015
    • Web
    • JavaScript
    • ES6
    • React
  10. Migrating FormKeep to ember-cli-rails

    Follow our step-by-step guide.

    Sean Doyle
    June 18, 2015
    • Web
    • Ember
    • Rails
    • JavaScript
    • Ruby
    • Formkeep
  11. Sign up to receive a weekly recap from thoughtbot

    Looking for even more ways to stay connected?
    RSS feed icon Check out our feeds
« First ‹ Prev … 21 22 23 24 25 26 27 28 29 … Next › Last »

Footer

thoughtbot
  • Services
  • Case Studies
  • Resources
  • Let's Talk
  • Our Company
  • Careers
  • Purpose
  • Blog
  • Sponsor
  • Mastodon
  • Bluesky
  • GitHub
  • YouTube
  • Twitch
  • Feeds
© 2025 thoughtbot, inc.

The design of a robot and thoughtbot are registered trademarks of thoughtbot, inc.

  • US: +1 (877) 9-ROBOTS
  • UK: +44 (0)20 3807 0560
  • Beware of fraudulent thoughtbot job listings Learn more
  • Code of Conduct
  • Accessibility Statement
  • Privacy Policy