Explore Ruby and other programming languages and paradigms to level up your coding.
Open-ended challenges designed to test your problem-solving skills. These start easy, but get hard. Watch out!
Open-ended challenges designed to test your problem-solving skills. These start easy, but get hard. Watch out!
Write a program that reads a file containing a Sudoku grid and validates it.
Write a program that accepts two poker hands and returns the winner.
Write a program that can solve any Sudoku puzzle.
Write a program to find the largest possible square of letters such that every row forms a word (reading left to right) and every column forms a word (reading top to bottom).
Build. Measure. Learn.
Build. Measure. Learn.
Regular expressions (or regex) are a powerful way to search for text that matches a given pattern. At their best they are simple, elegant, and incredibly useful. This series of exercises will help you learn regex beyond the basics and build more sophisticated regular expressions to match complex and subtle patterns.
Regular expressions (or regex) are a powerful way to search for text that matches a given pattern. At their best they are simple, elegant, and incredibly useful. This series of exercises will help you learn regex beyond the basics and build more sophisticated regular expressions to match complex and subtle patterns.
Use character classes to make more-general regular expressions.
Anchor your regular expression to the beginning of a line, the end of a line, or to a single word.
Use everything you've learned so far to take your regular expressions to the next level.
On this week's video, Chris is joined by Derek to discuss web security. Tune in to learn about the available resources and tools, and some specific issues to watch out for in Rails apps.
In this episode of the Weekly Iteration, Chris is joined by Matthew Mongeau, aka [Goose][], to discuss regular expressions. Learn how to work with them, where they fit, and perhaps more importantly where they don't.
On this weeks episode Chris and Goose present an introduction to writing a programming language. From lexing to parsing find out more by watching this week's episode.
Chris and Ben discuss the magic of speaking, from lightning talks all the way to conferences. Tune in to learn the specific tips and approach that will help you land a spot and deliver a great talk.
Derek gives Chris a rundown on a11y, aka web accessibility. Tune in to the learn why accessibility matters for all apps, how to approach it, and what tools are available to help on the journey.
Elm is a new language for building browser based applications that brings together the purity of Haskell and the pragmatism of JavaScript in hopes of getting the best of both worlds. Tune in as Chris and Joël dive into Elm to see what it's all...
We've avoided it for a hundred episodes now, but the time has finally come to talk about that other text editor. Join Chris and Harry as they dive into the wild world of Emacs and see what things look like on the other side of the aisle.
SSH is a foundational topic for anyone working on the web, and at a minimum it's important to understand how SSH is used for authentication with Git and similar tools. In this episode we'll cover these basics as well as some of the more...
REST is the core architectural pattern we use to build our Rails applications, but it's not always clear what exactly is and isn't REST. Tune in as Matt Sumner joins Chris to discuss exactly what REST is, and how best to embrace it in your Rails...
Computer science can seem scary, but with the right mental framework it's actually quite approachable. Follow along with Harry Schwartz, thoughtbot developer in Boston, as he walks you through his favorite parts of computer science and why it even...
Join Tute Costa and Chris Toomey to learn about contributing to open source projects. Let's dispel some of the myths, learn how to be a better contributor, and start giving back to the projects we use every day.
In this video we'll show you the range and power of type systems of various languages, and explain why you might be interested in checking out a more strongly typed language.
Meetups are a great way to involve yourself in your local programming communities, as well as find other people with similar interests. Join Melissa Xie and Gabe Berke-Williams to learn how to organize and run your own meetups.
Retrospectives are a core part of our process for keeping projects running smoothly, encouraging open communication, and hitting our goals. In this video, Joe Ferris, thoughtbot CTO, leads Chris and Ian through a typical retro while describing the...
Often when talking about optimizing data SQL in web applications we focus on the application layer concerns like n+1 queries and the like, but occasionally we'll need to dive down into the database layer itself to optimize our queries. In this...
Blocks are a core concept in Ruby, and while they make frequent appearances in Ruby code, developers may not be aware of exactly how they work or all the things they can do. In this video, Boston Development Director Josh Clayton walks through...
What is a line editor, and how can you use it in your workflow? In this Weekly Iteration, George Brocklehurst and Chris Toomey explore Readline, the most common line editor. Learn how to use it in the shell, your REPLs, and even in your GUI.
Elixir & Phoenix, so hot right now! On this week’s episode we’ll take a look at some of the great features of both Elixir and Phoenix through the lens of Bamboo, a library for sending emails in Phoenix apps, recently released by thoughtbot...
Our languages give us great tools in the form of primitives: things like integers, strings, and arrays. However, over-relying on these leads to problems. This practice even has it's own fancy code smell name: Primitive Obsession. In this video,...
Elixir shines when it comes to concurrency. On this episode, German and Stephanie look at the foundations of concurrency in Elixir as they build an abstraction to handle asynchronous tasks.