Coursera Rails Module 2 Notes
Intro to Ruby
This module goes through a general introduction to Ruby. One thing that I find interesting is how optimistic Ruby is, in the sense that everything except forfalse and nil is true. This is especially interesting from the perspective of comparing true and false in sqlite where sqlite stores 0 as false and 1 as true. I have not had to deal with this yet, but it is nice to keep in mind going forward. Another nice thing that I have not used that much is irb this is basically a Ruby repl that allows you to quickly test out concepts in your shell. I also love (since I work at a CI company) that the very first lesson about ruby talks about rspec and even has us use it go grade our assignments. It is never too early to start thinking about tests.Tour of Ruby Data Types
The next module took a nice tour of Ruby data types. I learned some pretty neat things.- Strings in Ruby super expressive, string interpolation is pretty amazing and very clean. Destructive Methods Have
!, I like this convention, you see it a lot in Clojure. - %w can make multiple strings into an array (like using .split() in JS)
- You can get a random element from an array with
.sample, pretty neat - Hash Order is maintained, this is really powerful
Object Oriented Ruby
- All methods public by default
- Clean class creation with useful helper methods for getter/setter
- Talked about how most of the functionality in Collections comes from using the Enumerator mix-in, gave an example of how to use it, super powerful!
Unit Testing
Again, I love that this course started right off the bat talking about unit testing. A+ to the course creators for covering this topic. The instructor did a good job talking about the differences between Test::Unit, MiniTest, and RSpec with great examples of how to use all of them.Assignment
The final assignment for this module was to write a program that reads a file and calculates word frequency. Overall it was pretty simple, I think the material did a good job preparing us for the task, and caused us to use a lot of the different tools that we learned about Ruby.Parting Thoughts
I have often heard that Ruby was designed for developer happiness. I really love the clean syntax, well documented API, and elegance. The next module will be a deep dive into Rails, looking forward to using more of the stuff that I have learned in this Ruby crash course.Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- SQLite DB Migrations with PRAGMA user_version
- Lev Lazinskiy
- Edge Detection with Inkscape
- Org Mode To Google Docs and Beyond
- Spring Security, Webjars, and MIME type error
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Deeper dive: Were Touch Bar’s problems software rather than hardware? from Unsung
- Joining Cursor from Fatih Arslan
- Pluralistic: Digital sewer socialism (08 Aug 2026) from Pluralistic: Daily links from Cory Doctorow
- Pluralistic: Enshittification and Reverse Centaurs go global (29 Jul 2026) from Pluralistic: Daily links from Cory Doctorow
- AI Mania Is Eviscerating Global Decision-Making from Ludicity
- The default person from https://popagandhi.com/
- No-One Escapes the Permanent Underclass from Fernando Borretti
- Is it ethical to use AI? from charity.wtf
Articles from blogs I follow around the net
So Long Relayd, and Thanks for All the Fish
So Long Relayd, and Thanks for All the Fish 2026-08-17 Running relayd alongside httpd on your OpenBSD web servers is no longer necessary for injecting HTTP security headers. Thanks to the incredible work by rsadowski@ we now have the ability to set our sec...
via btxx.org RSS Feed August 23, 2026YouTube’s right click relay
An interesting mechanism in YouTube I just learned of. If you right click once, you get their context menu: If you right click again, you get the native browser menu: This is clunky and not discoverable, but I can see YouTube team’s bind here. As far as I...
via Unsung August 22, 2026Generated by openring