Day 35

networks

Progress progress progress. I’m moving along. I watched the last ActiveRecord video then finished up the Rack section. Learning the lowest level of how Rails runs a web server. There is a granular procedure that’s happening and it was explained. First, we learn basic Rack, then Sinatra abstracts a little bit more, then Rails abstracts even more. So when things do break, because they will, there is an understanding of what’s actually going on to fix it. This is the exact thing that I hear a lot of people complain about. They buy courses on Udemy or wherever and at the end of the course they have a working app that they can show off, BUT, they can’t explain why or how it works. I’ve fallen into that category in the past. It makes a lot of sense too. If you want to market something you have your students make fast progress and put the impetuous on them to do deeper learning. Like, do people really want to know how rack works? No. They just want it to work and use Rails because that’s easier. I guess that’s what separates those who end up being successful and those who fall to the side self-teaching.

I started this post before finishing my learning for the day. I think this sums it up well:

WHY SINATRA BEFORE RAILS

We’ve all heard of “Ruby on Rails” and how powerful it is. You can build impressive web applications in mere hours! How amazing. Most people, when they learn Rails for the first time, literally say “It’s like magic!”. But we’re developers, and we know that magic isn’t real and that other smart developers just built an impressive framework.

That means it’s important to understand the basic concepts of Rails before diving into Rails itself. Enter Sinatra.

Sinatra is considered a light weight framework where the responsibility of app structure and communication falls solely on the developer. Sinatra doesn’t give you a lot to get started with. There is no way to auto-generate files and directories, no way for the app to make assumptions about routes, or “Sinatra magic”.

Because of this, working with Sinatra allows you to dive in deep with the major concepts of MVC, a system for building web applications that govern 90% of the worlds’ apps. You are required to manually set up routes and connect them to other pieces of your application. Without this manual setup, your application does not automatically know how to communicate with your database or what HTML files to load in the browser. And even more importantly, without a manual setup, you lose connection to the major components of a web application, and in particular, all the moving pieces of MVC.

So introduce yourself to Sinatra. Get to know it, and know it well. The better your foundation, the more you’ll be able to know (and like) Rails.

A few other things that I picked up today. First, is that there are a bunch of other lorem ipsum word blocks out there and they’re typically pretty funny. There are some good ones in this SitePoint article. The one that Avi used is called Hipster Ipsum and made the people watching the lecture at the time ask about it.

Avi went on a tangent about how he thinks about how his life actually impacts others. How the web is this amazing thing that connects people and not just computers. How the time we’re in right now is crazy exciting because we are now as humans more connected and thus are able to do greater things as a species. I honestly don’t remember word for word but that’s the gist of it. A quote that stuck out to me:

The Web does not connect machines, it connects people.
- Tim Berners-Lee

It’s so true when we think about the impact that web apps have on real people. While my code might ultimately be interpreted by machines we don’t build things for machines to use. We are building things to connect and solve real problems for people. When I built the Meetup CLI Gem that has the potential to solve someone’s problem and connect them to other people at a meetup group. It may seem like technology on the surface but in the end, it’s all about people.

Even doing minimal work today (time wise) due to a much-needed haircut and the wedding shower I went to with my wife at Arrington Vineyards, I’m right on track with my pace and have finished 48 lessons/labs since last week. 🙂

Time spent today: 3:33
Time spent total: 148:36
Lessons completed today: 16
Lessons completed total: 355