Wednesday, September 28, 2016

Better than I thought?

I often listen to coding podcasts and watch coding videos on YouTube. One of the YouTube channels I watch a lot is called FunFunFunction. He has done a few pair programming videos.

One of his more recent videos is Cellular Automata - Pair Programming. This is an hour-and-a-half, almost unedited video of the host, MPJ, pair programming with another person. It was so interesting to watch what it is actually like to program with no editing. There was a lot of looking things up on Google, making small mistakes, and forgetting how to do simple things. MPJ is a developer at Spotify and has a very popular YouTube channel about programming. It was very encouraging to see him struggle to write a program.

Maybe I'm not as bad at programming as I thought.

Sunday, September 25, 2016

Using templates: Is web design a solved problem?

I purchased my first domain name back in the year 2000 while I was a senior in high school (November 27th, 2000 to be exact. Thanks whois.net!). But I think I made my first website on geocities when I was in middle school. The most exciting content was the "joke of the week" that got updated at least every two months. I'm not sure templates even existed back then. Since I started out with no templates, it took me a while to realize how great they are.

My life goals have changed a few times over the years. I wasn't always planning on making a career of web design and software development but I have been making websites for people periodically since my first site in middle school.

Thanks to the Wayback Machine, we can see one of my first websites created in 2001! Yes, that is my face on a cow's body in the corner. The first time I was paid to develop a website for a business was in 2006 and they haven't done any major update since! See it here.

It wasn't until about a year ago that I realized how great website templates are. Everything I created before that was from scratch. I have found that starting with a template makes things easier, makes everything look better, and allows me to focus on the actual content of the website. Also, most templates nowadays are mobile responsive designs so a template helps guarantee your site will look good on all devices. It is still important to have an understanding about what makes up the template. An understanding of HTML, CSS, and JavaScript allows me to make customizations so the site can be directly tailored to the needs of the client. Thanks to templates, my more recent sites look so much better than my earlier sites. Here is one I created for an organization called P.A.C.T.

All this makes me think about a quote from the most recent episode of the Shoptalk Show, a podcast I listen to about web development. The host was quoting an (unnamed) friend that said "maybe web design is a solved problem." The most important thing to most users is ease-of-use. Using common design patterns makes websites easier to use and therefore makes the website more effective. Trying to reinvent the wheel every time only hurts the overall project and wastes time.

Compare the first website I created for the Houghton-Jones Neighborhood Association to the current website I created for them. The first was before I used templates, the second was after. I am never going back.

Saturday, September 17, 2016

Learning Ruby on Rails: Pragmatic Studio vs. The Ruby on Rails Tutorial


I first started learning Ruby on Rails back in January based on the suggestion of a friend. We decided to complete the Pragmatic Studio Rails course together. I have now successfully finished both the Pragmatic Studio Ruby on Rails: Level 1 course and Michael Hartl's Ruby on Rails Tutorial. I am going to do a brief review of the pros and cons of each course. I found both the courses to be very well-done and professional and both would be good for a beginner learning Ruby on Rails However, that does not mean I would recommend people do both courses. At the end I will offer a suggestion for people trying to decide the best route to take to learn Ruby on Rails.

Pragmatic Studio Ruby on Rails: Level 1
This course costs $149. After some discounts I paid $126.75. Before completing this course, I also went through their Ruby course to learn the fundamentals of Ruby. The course is broken up into 26 different sections and each section has a video and exercises. Text within the exercises section goes over pretty much everything covered in the videos so it is easy to find specific information.

The videos are professional quality and they all feature a husband/wife team. The interaction between the two hosts make the videos more interesting. They break everything down so it is very easy to follow. In the exercise section that goes along with each video, they guide you through creating a project that is similar, yet still different, to the project that they create in the videos. Since the exercise project is different than the one they create in the videos, it forces you to think through things a little more instead of just copying and pasting. This helped me learn the material better.

The project for this course was to make a move review site. Check out the  website I made with this course.

Michael Hartl's Ruby on Rails Tutorial
I completed this course many months later, partly to get a refresher on Ruby on Rails. One of the best parts about this course is that it is free. This course is basically an online textbook and tutorial. The free version does not contain any videos. This course covered a lot of the same concepts as the Ruby on Rails course. However,  compared to the Pragmatic Studio course, it seemed a little more advanced and I got the feeling that the work-flow was more aligned with what it would be like in an actual job environment. I did not complete the Pragmatic Studio Level 2 course but this tutorial covered many topics from the Level 2 course such as users, authentication, and admin privileges.

As far as I can tell, the Ruby on Rails Tutorial is the most popular way to learn Ruby on Rails. Also, Micheal Hartl is constantly updating it. I e-mailed him about a very minor error and he fixed it within a day. While I did not run into any major errors in the Pragmatic Studio course, I feel more confident about the accuracy in Hartl's course just because of it's popularity combined with very quick updates to any mistakes that are found.

One thing that could be a pro or con is that the current version of the Ruby on Rails tutorial focuses on creating a project through Cloud 9, a cloud-based IDE, while Pragmatic Studio suggests to use a local installation. So Pragmatic Studio gives a little more detail on how to install everything locally.

Both courses give instruction on using git, Heroku, and Amazon AWS.

The project for this course was to create a site similar to Twitter. Check out the site I made with this course.

What I would do differently if I had to do it again
Though they are both great courses, if I had to do everything again I would not do the Pragmatic Studio Course. In addition to going through Micheal Hartl's free course, I would join his Learn Enough society for $29.00 /month that includes videos to go along with the Ruby on Rails Tutorial. This subscription also includes other material as well. I did not do this so I cannot speak to how these videos compare to the Pragmatic Studio course but based on how well done the free tutorial is, I would assume they would be very good videos.

One last thing to consider is that the Pragmatic Studio course may be a little easier for people with little programming experience. While both courses give detailed step-by-step instructions, the Pragmatic Studio course breaks down some concepts a little better.