Welcome to the Learnetto Blog

Get new high quality lessons every week

Topics include Ruby, Rails, React.js, Redux and more

How to do Simple Form Validation in #Reactjs

25 Nov 2020

BLACK FRIDAY SALE: Huge Full-Stack Javascript Bundle of courses featuring Dave Ceddia, Swizec Teller, Ahmad Awais & more. Save $923.

This is a step-by-step tutorial that will show you how to do basic form validation in React.

You can see the full code on Github and see the app running on Heroku.
We’ll use create-react-app to get up and running quickly with a simple React app.
Install the package from npm and create a new app:

$ npm install -g create-react-app
$ create-react-app react-form-validation-demo
Now let’s run the app:

$ cd react-form-validation-demo/
$ npm start
That opens http://localhost:3000/ where our new app is running.

Continue reading . . .

His first job was writing code for a nuclear power plant. Now @Swizec teaches #D3js and #Reactjs

29 Aug 2020

Please subscribe to the Learnetto Podcast in iTunes and rate us to help us reach more people.
Swizec Teller is our guest on the newest episode of the Learnetto podcast.

Swizec is a talented and accomplished software engineer, originally from Slovenia, now based in San Francisco.

Now he helps startups, having previously collaborated with MasterCard, Google, and Mashable, among others. A self-proclaimed writing addict, Swizec has published several books including
Data Visualization with d3.js and Why programmers work at night, with tips on work-life balance, productivity, and programming flow.

His latest book is called
React+D3.js in which he teaches how to use React.js with D3.js for building modern interactive data visualizations.

In this interview, we discussed his beginnings as a tech whizzkid, writing about code, coding live, supporting indie tech writers, and using videos as the next hot thing in teaching programming. There was also an unexpected guest on the show!


Hrishi Mittal (HM): Hi Swizec, how are you doing?

Swizec Teller (ST): Hey, thanks for having me! I’m great, how about you?

Continue reading . . .

The Learnetto Podcast Episode 001 - The Ultimate HTML Developer with Kalob Taulien

29 Aug 2020

Please subscribe to the Learnetto Podcast in iTunes and rate us to help us reach more people.

For this very first episode of the Learnetto podcast, I interviewed Kalob Taulien, CTO of Xcellerator Tools and web development teacher.

Hrishi Mittal (HM): Welcome to the first episode of the Learnetto podcast. I am Hrishi Mittal, your host and the founder of Learnetto, an awesome new place for learning tech skills online. You can check us out at learnetto.com. So today, I am speaking to Kalob Taulien, the CTO of Xcellerator Tools and author of the complete web developer course and Ultimate HTML Developer course. Kalob is a very experienced software developer and teacher. He has taught web development to thousands of students through his online courses. Let’s listen to Kalob’s story. 

Hi Kalob, how’s it going?

Continue reading . . .

Job - Web development content production assistant

02 Mar 2020

This job opportunity has now closed. We are no longer accepting applications.

To be the first to find out about future job opportunities at Learnetto,
sign up to our newsletter.

At Learnetto, we pride ourselves on producing the highest quality educational tutorials and courses for software developers.

We have big plans for launching some great new courses and tutorials in 2020. And are looking for a Web development content production assistant to help speed up the process of creating new content, especially videos.

This role is suitable for a junior developer, since you'll need basic understanding of the content you're helping with but will work in collaboration with a senior developer.


Your responsibilities will include:

  • Testing course project code to make sure there are no errors or bugs.
  • Recording screencasts based on instructions in pre-written lessons.
  • Editing and publishing videos.
  • Proofreading and formatting text lessons.
You will work on producing videos for courses and tutorials on topics, including React, Angular, Vue.js, GraphQL, Node.js, Rails, SQL and more.

Please note that the main responsibility in this job is not to write code but to help in the production of educational content for developers. You will  need some knowledge of web development but this is not primarily a developer role as such.

If you have the right skills and are interested in teaching, this role could expand into an instructor position, in which you would create new tutorials and courses for Learnetto.

Location - Fully Remote

We're based in London but this is a fully remote position. You can work from anywhere but you will work closely with the founder and other experts from Learnetto.

You will be provided with full guidance and all the tools needed for the job.

Time commitment

We're looking for a commitment of 20 hours per week initially. If you do well in the job, there is scope for more work up to 40 hours per week.


Basic knowledge of web development - HTML, CSS, JavaScript, Ruby on Rails (or another framework)

Your own computer - preferably a Mac, but a PC running Linux or Windows might work. You will need this to record screencasts. We will provide the recording software.

A good internet connection to upload and download videos (which are large files).

Bonus - experience in making and publishing videos
Bonus - experience in teaching through written tutorials or videos

Why you should work for Learnetto

Education is fundamentally changing and we are thrilled to be playing a part in designing this new world of learning.

This job will teach you practical skills for producing high quality technical content in a fast moving startup environment.

If you're at the start of your software development career, this is a good role to expose yourself to lots of different technologies. If you do well in this job, you will have the option of taking up a full-time position as a developer or instructor with us in the future.

Most jobs require you to learn on the job, but this is a rare one where learning is part of the job spec!

You will get free lifetime access to all premium tutorials and courses on Learnetto, so you can continue your education even if you choose to move on to another job later on.

How to Apply

Apply to this job by sending an email to [email protected] with your CV and answers to the following questions:

Continue reading . . .

How to include Rails Associated Model Data in React components

04 Oct 2019


UPDATEA new version of the Complete React on Rails Course is open for pre-orders. Get $10 Off Today.

When you start using React with Rails, one of the frustrating problems you quickly run into is trying to access associated model data from your React component.

Let's say we are building a chat app with Rails and React. We have three models, Chatroom, Message and User, which have the following relationships between them:

class Chatroom < ApplicationRecord
  has_many :messages, dependent: :destroy

class Message < ApplicationRecord
  belongs_to :chatroom
  belongs_to :user

class User < ApplicationRecord
  has_many :messages, dependent: :destroy

And we have a Message component for rendering individual messages:

Continue reading . . .

How to get your Rails data into your React component with webpacker

04 Oct 2019

UPDATEA new version of the Complete React on Rails Course is open for pre-orders. Get $10 Off Today.

The webpacker gem has given us an easy way to use JavaScript libraries, including React, inside Rails while using native JS tools like yarn and Webpack.

If you’re using Rails 5.1 or higher, you can directly create a new app with React support out of the box simply by running:

$ rails new myapp --webpack=react
If you’re using an older version of Rails (4.2+), you can install the webpacker gem and then run

Continue reading . . .

Tutorial: How to host your websites for free using Github Pages

30 Aug 2019

Samir Talwar

This is a guest post by 
Samir Talwar, a software developer based in London. Samir cares deeply about software quality and craftsmanship. You can read more of his writing on his excellent blog and follow him on Twitter.

I run a few websites. The one that gets the most traffic right now is communitycodeofconduct.com, which is used by a number of software communities as a place to start thinking about how their community behaves to each other.

I host that site at zero charge.

GitHub Pages, and the decline of the server

I’m sure you know of GitHub already. It’s where people host their source code, both for their open-source projects and for private stuff. You may also have realised that many open-source software teams host their website on GitHub too. For example, the website of my favourite command-line tool, jq, is hosted on GitHub Pages, among many others.

Continue reading . . .

How to make AJAX calls in Rails 5.1 with or without jQuery

30 Aug 2019

Rails shipped without jQuery as a dependency for the first time with version 5.1. Rails used to rely on jQuery for Unobtrusive JavaScript features but now ships with its own library rails-ujs with the same features.

One of the most common use cases for jQuery in Rails was making AJAX calls through forms and links. If you’re using Rails 5.1 for the first time, you might get confused about how to make AJAX calls, especially things like data formats and including CSRF tokens.

So this little tutorial walks you through a few ways you can do so.

If you're using a standard Rails form or link for AJAX calls, Rails still offers some great in-built methods. However, when you're not using those methods, for example when you're building a React UI for a Rails app, then you will find this tutorial helpful.

Continue reading . . .

Tutorial: How to use Amazon S3 and CloudFront CDN to serve images fast and cheap

30 Aug 2019

This is a guest post by Samir Talwar, a software developer based in London. Samir cares deeply about software quality and craftsmanship. You can read more of his writing on his excellent blog and follow him on Twitter.

In my last tutorial, we figured out how to host static web pages for free on GitHub pages. However, if you tried to host images or other large assets in the same fashion, you may have noticed that it's pretty slow. GitHub Pages was never designed to handle large files. In this article, we'll explore a much faster, yet extremely cost-effective solution for dealing with non-text data.

My blog, monospacedmonologues.com, is pretty text-heavy, but gets a sprinkling of pictures once in a while. The blog itself is really just a Tumblr blog, and so I don't host it anywhere I can store files. But that doesn't matter, because the images can be hosted anywhere.

Continue reading . . .

The Learnetto Podcast Episode 004 - How to learn new skills as a software developer with Cindy Potvin

28 Aug 2019

Please subscribe to the Learnetto Podcast in iTunes and rate us to help us reach more people.
Our guest on the fourth episode of the Learnetto podcast is Cindy Potvin, a Montreal-based software developer. Cindy started blogging about her experience of Android and web application development in October 2013 at blog.cindypotvin.com. Since then, her blog grew to include series "Learning as a Software Developer" and "Play and Learn as a Software Developer." Titles of the series summarise Cindy's goals well - she wants readers of her blog to enjoy their learning journey to becoming better developers. 

Cindy Potvin's avatar on her blog and twitter

Hrishi Mittal (HM): Hi Cindy, how are you doing?

Continue reading . . .

The Learnetto Podcast Episode 002 - How to use Quora and Slideshare to grow your audience with Imran Esmail

28 Aug 2019

Please subscribe to the Learnetto Podcast in iTunes and rate us to help us reach more people.

In the second episode of the Learnetto podcast, I interviewed Imran Esmail of Escape Your Desk Job. Imran is an expert marketer who teaches people how to use social platforms like Quora and Slideshare as a way to grow your audience. He is the co-author of the Domination Series books Quora Domination and Slideshare Domination.

Let's hear Imran's story.

Imran Esmail (IE): How are you doing, Hrishi?

Continue reading . . .

How Codescrum runs and scales Rails apps In Docker With Docker Compose

28 Aug 2019

This is a guest post by Juan Pablo Amaya, a product developer at CodeScrum. Codescrum is a software development company led by Jairo Diaz and focuses on creating user centric digital services and products for clients. This post originally appeared on the CodeScrum blog.

In a past post we shared a Rails starter template (rails-template) with a minimal base for building common rails applications. Now we want to show how to run the rails-template inside a Docker local machine and be able to do simple scale and load balancing.

The diagram below shows the architecture of the example. Basically we run one container for the Mongo database, one for the redis store and multiple containers for the Rails application and the Workers (Sidekiq). On top of that is the Nginx load balancer container that acts as a reverse proxy for the rails containers.

Continue reading . . .

The Learnetto Podcast Episode 006 - How to be a data-driven UX designer with Matt Isherwood

28 Aug 2019

Please subscribe to the Learnetto Podcast in iTunes and rate us to help us reach more people.
On today's episode, Hrishi is speaking with Matt Isherwood, a user experience designer and instructor based in London. Matt is a UX design consultant specialising in e-commerce, marketplace websites, and mobile apps.  He has years of experience in the luxury sector and working on UX strategy with startups. Matt writes a very popular and educational blog on his site, Mattish.com, where he teaches people about optimising user experience through data-driven design.

Hrishi Mittal (HM): Hi, Matt. How are you doing?

Continue reading . . .

The Learnetto Podcast Episode 005 - How to learn to design apps with Marko Vuletič

28 Aug 2019

Please subscribe to the Learnetto Podcast in iTunes and rate us to help us reach more people.
Marko Vuletič is a Slovenian web & mobile UI/UX design professional. His work is centred around creating apps and websites which are visually pleasing, but, most importantly, functional and user-friendly. An app he redesigned, Moments, has been featured by the US App Store as the best new app. Marko also writes a popular blog and newsletter about designing apps in Sketch, called Sketch Tricks. He agreed to speak to Learnetto about it, as well as about what it means to be a UI/UX designer and how to learn design.   

Marko Vuletič

Hrishi Mittal (HM): Hi Marko, how are you doing?

Marko Vuletič (MV): I’m great, thank you for having me. How are you?

HM: Yeah, I’m very well, thank you! It’s nice to have you. Thanks for taking the time to speak to me today. Would you like to introduce yourself for the audience?

MV: Sure. So I’m Marko, I’m coming from Slovenia and I’m a UI/UX designer. I’m currently working on a personal project that’s called Sketch Tricks. It’s mainly a blog that I write about different workflows, about Sketch 2 and stuff like that. The other thing that I am doing is teaching people UI and UX fundamentals and stuff like that on my personal site which is markovuletic.com.  

HM: Ok, great. That sounds great. And, yeah, that’s actually how I came across you, your site Sketch Tricks, which we’ll come to in a minute. Before we do that, I just wanted you to tell me a bit more about your background. How did you become a designer? How long have you been a designer?

Continue reading . . .

11 great quotes from The Tao of Programming

11 Sep 2017

The Tao of Programming by Geoffrey James is a strange and funny book. It's one of my all-time favourites. 

These are some of my favourite quotes from the book:

"After three days without programming, life becomes meaningless."

"I don't know whether I am Turing dreaming that I am a machine, or a machine dreaming that I am Turing!"

"When a program is being tested, it is too late to make design changes."

"A well-written program is its own Heaven; a poorly-written program is its own Hell."

"But how will I know when I have received Enlightenment?" asked the novice.
"Your program will run correctly," replied the Master.

"Though a program be but three lines long, someday it will have to be maintained."

"Let the programmers be many and the managers few -- then all will be productive."

"You can demonstrate a program for a corporate executive, but you can't make him computer literate."

The Master Programmer moves from program to program without fear. No change in management can harm him. He will not be fired, even if the project is cancelled. Why is this? He is filled with Tao.

"Without the wind, the grass does not move. Without software hardware is useless."

You can get a copy on Amazon or read it online here

Continue reading . . .

Medium - Why Rails developers should learn React

23 Jan 2017

Rails developers should learn React because there's growing market demand for developers who know both. Learning to use React will make you more money and a better developer.

In many ways, React is to the modern frontend, what Rails is to the backend - there are many alternatives, but React has the best combination of simplicity, power and community momentum to make it a great choice.

Web UIs have matured a lot over the last decade. We're doing more complex things to build better user experiences on the web. jQuery has served well but even a medium-sized project can now quickly turn into the Flying Spaghetti Monster. React offers a simple yet powerful alternative to spaghetti code.

Continue reading . . .

The Learnetto Podcast Episode 007 - How to become an entrepreneur in the age of "The End of Jobs" with Taylor Pearson

21 Jul 2016

Please subscribe to the Learnetto Podcast in iTunes and rate us to help us reach more people.
Our latest guest on the Learnetto Podcast is Taylor Pearson, entrepreneur, marketing coach, and author of the bestselling book The End of Jobs, about a new landscape of the job market. We invited Taylor to talk about his background and the interesting thesis of his book - that in today's world it’s safer to start your own business than to work for someone else. Taylor and Hrishi also touched on community building, philosophy of economics, and history.

You can follow Taylor on Twitter and his Facebook group.

Hrishi Mittal (HM): Hi Taylor, how are you doing?

Continue reading . . .

Tutorial: How to add Disqus comments to a Rails blog

20 Jul 2016

Disqus is the most popular, reliable and straightforward way of adding comments to your site without having to code it up from scratch yourself. It automatically handles user authentication, threaded comments, voting and spam control.

In this short tutorial, you'll learn how to add a commenting system to your Rails blog (or site) using Disqus.

Continue reading . . .

Tutorial: 4 steps to getting started with LaTeX (and liking it)

29 Apr 2016

LaTeX is a system for preparing professional documents. It was created by an American computer scientist Leslie Lamport. 

Leslie Lamport, creator of LaTeX. Image under GFDL.

The aim of this tutorial is to offer a simple introduction to LaTeX. It includes information on how to get the LaTeX system, what hacks to use, and how to get to like LaTeX. 

I am a self-taught LaTeX user so I know from experience what initial issues beginners might have. I also believe that learning LaTeX offers you insights into writing, typography, and coding. Throughout this tutorial, I call them "general lessons." You can apply them to different aspects of your work and code, not only to writing in LaTeX. 

What is LaTeX (and how to pronounce it)?

Continue reading . . .

How I'm Learning to Market my startup from Justin Jackson's book

10 Apr 2016

I've been reading Justin Jackson's new book Marketing for Developers and finding it extremely useful to plan the marketing for Learnetto, a marketplace for courses on learning how to build and sell products online.

These are my notes:

First things first - I'm not reading this book cover to cover. I'm using it as a hands-on how to guide to do specific things. I've read lots of books and blog posts in the past but never really used the lessons. So this time, I'm focusing on doing stuff rather than just reading.

Things I've learned and implemented so far:

  1. I put up a landing page with a Mailchimp mailing list signup form. 
  2. One thing I'm working on next is offering a free course as an incentive for signing up.
  3. I've been promoting the landing page on Twitter (using both my personal and business accounts).
  4. I made a Twitter card. FINALLY. After trying and failing 10 times, I did it. Twitter makes it unnecessarily hard to do this. So I had just given up on it. But Justin lays out the process for doing this clearly in his book. Most important thing to remember: you need to add a credit card to your account to use this feature, but you won't be charged unless you run an ad campaign.
  5. I've started sharing my process - in this very note you're reading now!
  6. I've added analytics tracking using Segment. Again, Justin describes how to do this in his book very clearly. With Segment set up, I was able to start sending my analytics data to Mixpanel and Intercom.
Some more things which I have learnt from the book and want to do over the next few days and weeks (leading up to a launch) are as follows:

Continue reading . . .

How Codevolve is lowering the barrier for learning programming: Learnetto Interviews CEO Saul Costa

24 Mar 2016

Saul Costa 

Super excited to publish this interview! I recently spoke to Saul Costa, co-founder and CEO of Codevolve, an exciting new company which makes an amazing product for interactively learning computer programming. Go check it out.

You can also follow 
Saul on Twitter.

Here's the interview:

Hrishi Mittal (HM): Hi Saul, how’s it going?
Saul Costa (SC): It’s going great, how about you?

Continue reading . . .

The Learnetto Podcast Episode 003 - How to learn to code with Laurence Bradford

18 Mar 2016

Please subscribe to the Learnetto Podcast in iTunes and rate us to help us reach more people.

In episode 3 of the Learnetto Podcast, I spoke to Laurence Bradford, a self-taught developer, who has been teaching herself how to code for 3 years. Having experienced the difficulties of the learning process first-hand, Laurence understands the most effective ways to obtain tech skills. Her website Learn to Code With Me, now receiving 50,000 unique visitors a month, aims to help those in the same position she was a little while ago. She also runs a popular Facebook group, offers career advice and has written a book

Continue reading . . .

Publish a Website in a day using HTML and Ruby

17 Feb 2016

This is a guest blog post by Rosario Rascuna, a freelance web developer and Clojure consultant in London. Rosario has worked with several startups in Brighton and London, he's the developer of the London Startup Map - Roundabout.io . You can follow him on Twitter @_sarhus.

Here's a quick and easy HTML and Ruby tutorial. You'll create a website using Sinatra, and it will be hosted on Heroku. Even if you are a complete beginner, it should take less than a day!

You won't understand everything we'll do in this tutorial, but the idea is to introduce you to some of the things that go into coding a simple website and putting it online.

Before getting started there are few things you need to install on your laptop:

Continue reading . . .

Get new free lessons in your inbox


Learnetto Full-Stack JavaScript courses Black Friday Sale

Featured Courses

Upcoming Courses

Latest blog posts

See all blog posts