Quick Checkout
or Pay by Credit Card

Payments and credit card details are securely managed and protected by Learn Enough's payment processor, Stripe. More information on their site:

Cart empty

Your Cart is Empty


the All Access bundle

The Learn Enough All Access Bundle includes the entire Learn Enough introductory sequence and the full Ruby on Rails Tutorial. That’s over 2500 pages of book content and 53 hours of video that teaches you enough Command Line, Text Editor, Git, HTML, CSS & Layout, JavaScript, and Ruby to be dangerous, along with a comprehensive introduction to building profession-grade web applications with Ruby on Rails.

- or -
Icon outline book
2620 pages
Icon outline screencasts
55 ¾ hours
Icon outline course
67 chapters
579 videos
833 exercises

An intro to our

Learning Materials

The Learn Enough tutorials are available as books, downloadable videos, and online courses. The All Access Bundle includes 2620 pages of book content and 55 ¾ hours of video.

Courses (by Monthly Subscription)

Full online version of the book content, embedded streaming videos for all sections, exercises with editable answers, progress tracking, and membership in the Learn Enough Society (community exercise answers, private chat group). Pause your subscription at any time!

ebooks (Online and Offline)

Online HTML version accessible from any web browser, downloadable ebooks in all common formats (EPUB, MOBI/Kindle, PDF). Files are yours to keep forever!

Offline Screencasts

Downloadable versions of all screencast videos. Note: Does not include ebooks, so the video/ebook bundle is strongly recommended. Files are yours to keep forever!

We offer bundled

Courses & Downloads

Bundled Courses (Monthly Subscription)
$ 49 /mo
9 online courses
Bundled Downloads (One-Time Purchases)
$ 156
9 bundled ebooks (2620 pages)
$ 329
55 ¾ hours of bundled video
Save $44.0 over
buying separately!
$ 441
9 ebooks and 55 ¾ hours of video
Need a little help?

Learn Enough offers a generous scholarship program to help out in case cost is a factor. We’ve already awarded over 1000 Learn Enough Scholarships to a wide variety of recipients, including students, people between jobs, and residents of countries with unfavorable exchange rates. Applications are quick, easy, and 100% confidential. Learn More

Money-Back Guarantee

All our tutorials come with a 100% money-back guarantee. If for any reason you aren’t satisfied with any tutorial purchase, just let us know and we’ll refund your payment.

All titles are included in

The Learn Enough All Access


Command Line

Suppose you wanted to go search through a large amount of text and count the number of lines matching a particular word or phrase. Say, the number of times the word “rose” appears in the famous Sonnets by William Shakespeare. What might be the easiest way to do this? The answer is to use the command line.

Understanding the basics of the command line is absolutely essential to becoming a skilled software developer. It’s also useful for anyone who needs to work with developers, such as product managers, project managers, and designers. Making this critical component of modern computing accessible to as broad an audience as possible is the goal of Learn Enough Command Line to Be Dangerous.

To be productive with the command line, you don’t have to know everything about it—you just have to learn enough to be dangerous.

Text Editor

Plain text is one of the most important kinds of computer data. It makes up World Wide Web pages, computer source code, system configuration files, and more. The tool used to edit plain text files is called, appropriately enough, a text editor.

Unlike other text editor tutorials, which are typically tied to a specific editor, this tutorial is designed to introduce the entire category of application—a category many people don’t even know exists. Moreover, editor-specific tutorials tend to be aimed at professional developers, and generally assume years of experience, but Learn Enough Text Editor to Be Dangerous doesn’t even assume you know what a “text editor” is.

To be productive with text editors, you don’t have to know everything about them—you just have to learn enough to be dangerous.


Version control solves a problem that might look familiar if you’ve ever seen Word documents or Excel spreadsheets with names like Report_2014_1.doc, Report_2014_2.doc, Report_2014_3.doc, or budget-v7.xls. These cumbersome names indicate how annoying it can be to track different versions of documents. Learn Enough Git to Be Dangerous teaches you how to use Git, the most popular and powerful version control system.

A version control system provides an automatic way to track changes in software projects, giving creators the power to view previous versions of files and directories, develop speculative features without disrupting the main development, securely back up the project and its history, and collaborate easily and conveniently with others. In addition, using version control also makes deploying production websites and web applications much easier. As a result, fluency in at least one version control system is an incredibly valuable skill for developer, designer, and manager alike.

To be productive with Git, you don’t have to know everything about it—you just have to learn enough to be dangerous.


HyperText Markup Language, or HTML for short, is the universal language of the World Wide Web. Every time you visit a website, the site’s web server sends HTML to your browser, which then renders it as the web page you see on your screen.

Because this process is universal, anyone who works with web technologies—which these days means virtually all developers, designers, and even many managers—can benefit from knowing the basics of what HTML is and how it works. Learn Enough HTML to Be Dangerous is designed to give you this foundation in basic HTML.

CSS & Layout

CSS—short for Cascading Style Sheets—is the styling language of the World Wide Web. CSS lets developers and designers define what a web page looks like and how it behaves. Pretty much every website that you visit uses CSS to make the user experience and interface look inviting, which means that learning the basics of CSS is an essential part of becoming a web developer or designer.

Most CSS tutorials teach the subject in isolation, showing you how to make individual changes to things like text color or font size, without showing you how to put everything together as an integrated whole. In contrast, Learn Enough CSS & Layout to Be Dangerous is specifically designed to show you how CSS works in the context of a real website. In particular, you’ll learn not only CSS but also a static site builder. This is a powerful but oddly neglected tool that lets you control your site layout in ways that are difficult or impossible otherise.


As the only language that can be executed inside web browsers, JavaScript is an essential part of every programmer’s toolkit. Learn Enough JavaScript to Be Dangerous is designed to get you started writing practical and modern JavaScript programs as fast as possible, using the latest JavaScript technologies (including Node.js and ES6), with a focus on the real tools used every day by software developers.

Unlike most JavaScript tutorials, Learn Enough JavaScript to Be Dangerous treats JavaScript as a general-purpose programming language right from the start, so the examples won’t be confined to the browser. The result is a unusually broad and solid foundation not only for web development, but for computer programming generally.

To be productive with JavaScript, you don’t have to know everything about it—you just have to learn enough to be dangerous.


Ruby is an elegant object-oriented programming language with applications ranging from shell scripting and package management to full-stack web application development. Learn Enough Ruby to Be Dangerous is designed to get you started writing practical and modern Ruby programs as fast as possible, with a focus on the real tools used every day by software developers.

Learn Enough Ruby to Be Dangerous broadly follows the structure of Learn Enough JavaScript to Be Dangerous, which can be studied either before or after this tutorial. Because many of the examples are the same, the tutorials reinforce each other nicely—there are few things more instructive in computer programming than seeing the same basic problems solved in two different languages.

To be productive with Ruby, you don’t have to know everything about it—you just have to learn enough to be dangerous.

Ruby on Rails (Rails 6)

The Ruby on Rails Tutorial teaches you how to develop custom web applications with the popular Ruby on Rails web framework. Since its launch in 2010, the Ruby on Rails Tutorial has been the leading introduction to web development with Rails.

The Ruby on Rails Tutorial is designed to give you a thorough introduction to web application development, including a basic grounding in Ruby, Rails, HTML & CSS, databases, version control, testing, and deployment—sufficient to launch you on a career as a web developer or technology entrepreneur. If you already know web development, this book will quickly teach you the essentials of the Rails framework, including MVC and REST, generators, migrations, routing, and embedded Ruby.

Action Cable

Learn Enough Action Cable to Be Dangerous teaches you how to use the WebSocket Protocol, a complement to the standard HyperText Transfer Protocol (HTTP) that creates a persistent connection between servers and clients, allowing two-way communication between them. The result is that WebSockets allow developers to create real-time applications such as chat apps and game servers that are far more interactive than ordinary web pages.

When using WebSockets, it’s nice to be able to have users log in, store their attributes in a database, render templates back to the browser, etc. In other words, it’s nice to have the power of a full-strength web framework like Ruby on Rails behind us. This is where Action Cable comes in. Action Cable gives us the best of both worlds: real-time communications with WebSockets combined with all the convenience and flexibility of Rails.

To be productive with Action Cable, you don’t have to know everything about it—you just have to learn enough to be dangerous.

About the Authors

Michael Hartl

Michael Hartl is the creator of the Ruby on Rails Tutorial, one of the leading introductions to web development, and is cofounder and principal author at Learn Enough. Previously, he was a physics instructor at the California Institute of Technology (Caltech), where he received a Lifetime Achievement Award for Excellence in Teaching. He is a graduate of Harvard College, has a Ph.D. in Physics from Caltech, and is an alumnus of the Y Combinator entrepreneur program.


Lee Donahoe

Learn Enough cofounder Lee Donahoe is an entrepreneur, designer, and front-end developer. In addition to doing the design for Learn Enough, Softcover, and the Ruby on Rails Tutorial, he is also a cofounder and front-end developer for Coveralls.io, a leading test coverage analysis service, and is tech cofounder of Buck Mason, a men’s clothing company once featured on ABC’s Shark Tank. Lee is a graduate of the University of Southern California, where he majored in Economics and studied Interactive Multimedia & Technologies.

Join the Mailing List

Sign up for the Learn Enough mailing list to get notified when new tutorials are released, when new video guides are posted, and to receive special offers and discounts. We won't ever share your email with anyone.