You have to make a choice. Choose...wisely.

Get occasional notifications about things like product discounts, blog posts, and new or updated tutorials. Unsubscribe at any time.

Gift Delivery Options
Quick Checkout
or Pay by Credit Card
Error processing your payment
  • You didn't choose whether or not to be added to the mailing list

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


Your Cart is Empty

Give the gift of

Learning to Code!

Give the gift of learning to code! You can now give the gift of a Learn Enough All Access subscription to recipients of your choice. Just click “Add to Cart” below and enter the recipient’s details.

The recipient gets the subscription but not the invoices or price, and either you or the recipient can pause or cancel at any time. Recipients can also resubscribe later without losing any course progress.

See Learn Enough Gifting for more information.

The All Access Subscription

Play Intro Video

$ 49

Monthly Cost

Our Individual Tutorials
  • Command Line
    The command line is a powerful and flexible text-based interface for interacting with computers. Read full post
  • Text Editor
    Master the basics of this essential tool for editing plain text—the ubiquitous data format used for computer code and the World Wide Web. Read full post
  • Git
    Learn how to use the Git version control system to track changes in projects and collaborate with millions of developers. Read full post
  • HTML
    Build and deploy a real website with HyperText Markup Language, the language of the World Wide Web. Read full post
  • CSS & Layout
    Design a professional site using Cascading Style Sheets, the design language of the Web, and then build & deploy it with a proper static site generator. Read full post
  • Python
    Use the powerful and popular Python programming language to write programs for the command line, then create and deploy a live interactive web application and learn important Python tools for data science. Read full post
  • JavaScript
    Add interactivity to your websites with JavaScript, the only language that can be executed inside web browsers, and then deploy the results to the live Web. Read full post
  • Ruby
    Use the friendly and elegant Ruby programming language to write programs for the command line, then create and deploy a live interactive web application. Read full post
  • Ruby on Rails (Rails 6)
    In this bestselling tutorial, you’ll learn how to develop and deploy real, industrial-strength, web applications with Ruby on Rails. (Covers Rails 6.) Read full post
  • Ruby on Rails (Rails 7)
    In this bestselling tutorial, you’ll learn how to develop and deploy real, industrial-strength, web applications with Ruby on Rails. (Covers Rails 7.) Read full post
  • Action Cable
    Learn to create ultra-responsive real-time applications with the power and convenience of Rails. Read full post
Money-Back Guarantee

All Learn Enough tutorials come with a 60-day 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.

3200 pages
66 hours
79 chapters
686 videos
945 exercises

It’s an Amazing Series of Tutorials

Some more nice things people have said...

Jimmy Wales Founder, Wikipedia

Q: What is Jimmy Wales' favorite book?

A: It changes often. At the moment, it’s Ruby on Rails Tutorial by Michael Hartl. :)

Quora link
About the Git Tutorial

Going through Git is wonderful. I am actually learning… I’ve done three other Git tutorials and still felt so lost. Doing it all now makes so much sense. It’s like a light bulb.

— Janelle S.

Michael does a great job of structuring this tutorial and thrusts the users quick into the world of Git with real examples and a hands-on approach. Just one of a series of great books. Highly recommended.

— Satisfied Reader

Thanks to the Git skills I started building with your tutorial, I now run Git workshops to teach other students this great tech.

— Eric Z.

I stumbled upon your website by luck a couple weeks back and since then I have gone through the Developer Fundamentals series, which I have to say exceeded my expectations and filled in many gaps in my knowledge which multiple other online tutorials failed to do.

— Tayyab I.
<blockquote class="twitter-tweet" data-cards="hidden" data-lang="en"><p lang="en" dir="ltr">I&#39;ve done a lot of programming tutorials and I just want to commend <a href="">@LearnEnough</a>&#39;s intro tutorial (text editor, git, terminal, HTML) for showing how to make a website and publish it to the world. None of the other tutorials have made it &quot;click&quot; like this one. Thanks guys. <a href=""></a></p>&mdash; Calvin Fung (@theCalvinEffect) <a href="">January 14, 2019</a></blockquote>
David Heinemeier Hansson Creator, Ruby On Rails
About the Ruby on Rails Tutorial
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">The Ruby on Rails Tutorial by Michael Hartl <a href="">@mhartl</a> <a href=""></a></p>&mdash; David Casarez (@DavidCasarez17) <a href="">April 9, 2020</a></blockquote>
<blockquote class="twitter-tweet" data-conversation="none" data-lang="en"><p lang="en" dir="ltr">lol<br><br>btw your Rails tutorial changed my life. The first of many attempts to learn to program that actually stuck.</p>&mdash; Jonathan Libov (@libovness) <a href="">May 7, 2019</a></blockquote>

Just completed the whole tutorial, and I feel I’ve developed a new super power. Amazing book, it explains the concepts clearly and illustrates them with powerful examples, I have taken rails tutorials before, but this book gave me the basis to fully understand and be able to code in rails effortlessly.

— Mauricio Guzmán


Well, just wanted to say thank you. Best tutorial as far as I know on RoR. See you on twitter.

— Robert Hopman


<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Just finished the outstanding <a href="">@railstutorial</a>. Probably the best sw tutorial I&#39;ve experienced since K&amp;R. Can&#39;t wait for the dead tree version</p>&mdash; Mike Long (@meekrosoft) <a href="">November 9, 2010</a></blockquote>
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Spent the last 3 days nonstop doing start-to-finish. Awesome book, <a href="">@railstutorial</a> - Thanks!</p>&mdash; Derek Sivers (@sivers) <a href="">June 2, 2010</a></blockquote>

My former company (CD Baby) was one of the first to loudly switch to Ruby on Rails, and then even more loudly switch back to PHP… This book by Michael Hartl came so highly recommended that I had to try it, and the Ruby on Rails Tutorial is what I used to switch back to Rails again… Though I’ve worked my way through many Rails books, this is the one that finally made me “get” it.

— Derek Sivers
– Founder, CD Baby
<blockquote class="twitter-tweet" data-conversation="none" data-lang="en"><p lang="en" dir="ltr">Hey Michael! This is a great chance to tell you that going through the <a href="">@RailsTutorial</a> videos years ago was one of the best decisions I ever made. Thank you! 🙏🙏🙏</p>&mdash; Udi Wertheimer (@udiWertheimer) <a href="">March 15, 2018</a></blockquote>

Just completed the whole tutorial, and I feel I’ve developed a new super power.

— Damian H.

I’ve just completed all 14 chapters of the Ruby on Rails Tutorial, and I’m very, very satisfied with the results. I’ve been a very active software engineer since the late 70’s, always staying up with current technologies, and having a ball along the way. The way I like to do tutorials is to type in every line of code myself, read the material at least twice, and do all exercises. Your tutorial has been more than worth that effort!

I’ve taken many ‘tutorials’ in the last 40 or so years, and I have come to expect that the tutorial writer ‘burns out’ somewhere around the middle of the tutorial, and it gets worse as the pages wear on. It is quite clear to me that you applied all your tools that you’ve used in preparing your physics class materials, and brought them with you to this work of yours. I am grateful for your effort, your attention to detail is simply amazingly consistent from start to finish. This tutorial has greatly aided in my transitioning from desktop / cpp to distributed apps / ruby.

Thanks to you, I feel that I have been very effectively jump-started into my role as principal engineer of my tiny new company, and hopefully will have a ball with this technology for at least another decade.

With great thanks,

— Tony Turner
Principal Engineer / Founder, White Rose Technologies, LLC
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Then <a href="">@RailsTutorial</a> changed my life and career at 21. Mad props and gratitude to <a href="">@mhartl</a> for his contribution to the community and personally, my life 🙏🏽</p>&mdash; Bryan Mason (@BryanAKA) <a href="">August 14, 2019</a></blockquote>
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I learned rails through your tutorial. I now make a living working for myself with apps all built with Rails. Your tutorial literally changed my life. Thank you!</p>&mdash; Dan Doughty (@dbdoughty_) <a href="">October 4, 2019</a></blockquote>
About the Learn Enough Courses

I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!

— Michael K.

I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!

— Michael K.
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">I have nothing but fantastic things to say about <a href="">@LearnEnough</a> courses. I am just about finished with the <a href=";ref_src=twsrc%5Etfw">#javascript</a> course. I must say, the videos are mandatory because <a href="">@mhartl</a> will play the novice, and share in the joy of having something you wrote actually work! 🤓</p>&mdash; claudia marie (@StarvingHearts) <a href="">May 30, 2019</a></blockquote>

I want to thank you for the amazing job you have done with the tutorials. They are likely the best tutorials I have ever read.

— Pedro I.

I have been trying to learn web development and programming on and off for the past 3 years and your website is the first one that I feel does the job right.

— Janelle S.

Just bought the new ebook and want to say keep up the great work!! The Learn Enough to Be Dangerous series re-ignited my desire to code after 10+ years of “meh”.

— Diane Y.

The Learn Enough Society and the courses are incredible. It’s the best value in the market of online courses in my opinion. Like you say, it’s learning to tech, which is very useful in our world.

— Sébastien D.

I just meant to tell you: your tutorial books from the Learn Enough series are awesome! The books are well-written, clear, concise, super-useful, and even fun to read. Thank you so, so much for this! I have bought the first three and will buy whatever you publish next. Keep up doing this very good work and thanks again.

— Pierre W.

Have been following the whole “Learn Enough to Be Dangerous” series and am VERY impressed with it. I am a project manager who works with software developers daily. These sessions have provided me with a huge amount very useful information, to the extent that I now not only understand what the dev guys are talking about, but am starting to use the tools (command line, Git, etc.) that they use.

— Brian

Michael Hartl is one of the best educators around when it comes to web development. I have been following him for a long time, and everything he produces is top quality. If you are looking for a quick way to become a thorough and productive professional web developer, Hartl’s books are a great place to start.

— Abram Bailey
<blockquote class="twitter-tweet" data-conversation="none" data-lang="en"><p lang="en" dir="ltr">Also - if you are working through <a href="">@RailsTutorial</a> you will probably check out <a href="">@LearnEnough</a> quite soon, which is an incredible resource for people starting out. Same high quality as the rails tutorial, while still digestible for people starting out.</p>&mdash; Michael Wallbaum (@mwallba) <a href="">April 24, 2018</a></blockquote>

Hi, my name is Philip, and I’m a beginning learner of web development. I’ve dabbled in small ways in Ruby/Rails for about a year and a half. Occasionally, I write ruby scripts to solve problems at my job. I also dabble in learning: JavaScript, Ember, more Ruby/Rails, brief intro readings into Scala.

I’ve tried Codeschool, Codecademy, and I’ll stop there, so you don’t spend the next 3 hours reading all the different learning resources I’ve tried.

Ruby on Rails Tutorial (Rails 5) is undoubtedly, the most effective and educational resource I’ve ever come across when it comes to learning anything about web development or writing any code on any level.

Here’s what you seem to understand that everyone else just gets wrong: There’s a big spectrum between the very beginner basics: declaring variables, to voodoo, magical, incantational trickery of witchcraft, like building your own web server.

Almost all tutorials make this mistake. The first couple “lessons” are good for people who don’t even have a clue what computer programming is and then suddenly, there’s a big jump to what seem to be concepts that only seasoned developers have mastered.

Thanks for such a great, educational guide in Ruby on Rails.

— Philip

Join the Mailing List

Get occasional notifications about things like product discounts, blog posts, and new or updated tutorials. Unsubscribe at any time.