Lewis Cawthorne

Misc Reading

02 Jun 2017

I’m still going back to finish my Agile Web Development with Rails 5.1 series. I finished reading the main project in the book a while back now. I just haven’t made time with the computer to create the demo project, and I want to have it in a repo to upload and talk about the code a little. I didn’t read the reference chapters, since they were still incomplete. I think I’ll read Agile Web Development with Rails 5 on Safari Books in its entirety, and that will give me a good perspective to see what changes with the project in the Rails 5.1 version of the book. The only thing that I noticed so far that was 5.1 specific is the ActionCable Websocket stuff they throw in, so that if a price changes on the backend it pushes the update to customers. Pretty neat to see Websockets used for something so small, instead of big examples of chat servers and what not like you commonly see.

I’ve read several things since finishing Agile Web Development with Rails 5.1. One I might dedicate multiple blogposts to: “Practical Object-Oriented Design in Ruby”. It was really good, and I highlighted large sections of the book that are worth talking about. Some of the stuff I had seen before in places like “Clean Code” and in my Software Engineering class, but it had a lot of good direct advice on designing things properly from an object-oriented perspective. The examples were in Ruby, but it didn’t linger much on language specifics.

Speaking of Ruby, I’ve been refreshing my Ruby skills after spending time with the Agile Web Development in Rails 5.1 book and before delving into some other Rails books (primarily Hartl’s “Ruby on Rails Tutorial: Learn Web Development with Rails” which I read in an old version and the new rough cut of “The Rails 5 Way” ). I re-read the 10th anniversary edition of the Pickaxe , since I had a hardcopy of it on the shelf. That link takes you to the fourth edition, rather than the 10th anniversary edition. It was focused on Ruby 1.9. Then I re-read Why’s (Poignant) Guide to Ruby. It’s a little dated, but still relevant. And finally for something a little more up to date, I started reading the latest edition of “The Ruby Way”.

I like the Pickaxe best for a fast moving introduction to the language that is worth a couple of reads, paired with detailed chapters on various topics relating to Ruby in its setting. Why’s guide is classic, and gets into some neat metaprogramming topics, although it has a lot of charmingly weird stuff in it and not so much code. “The Ruby Way” is starting to feel like a bit of a slog to make it through reading from cover to cover. It feels like it would be a handy desk reference, but from a reader’s perspective, do I really want to read how to build a GUI using five different libraries back-to-back. It was good for establishing a comparison of several different ways to do GUI stuff at least. I think I’ll try out Shoes. Anyway, so now I feel like I know Ruby again, and I’ve been using it for Code Wars to get lots of practice with toy problems.

Oh, I’ve also signed up for a MOOC that teaches Software Engineering concepts with Rails. Agile Development Using Ruby on Rails - Basics. I signed up for the matching advanced course too. So, if you want more Rails material, I have some coming up to write about at least. I’ll write my opinion of the MOOC after I get a chance to watch through the videos and try the exercises. Between the MOOC and the other Rails books I have on my reading list, I should get a couple of nice blogposts that have some code blocks in them. Now that I have syntax highlighting working, might as well use it. There’s also an Infinite Skills video that I have access to through Safari Books Online that I wouldn’t mind trying out. Hands-on with React and Ruby on Rails. I don’t have much React experience past doing the Tic-Tac Toe tutorial, but I can probably manage it as the video doesn’t claim you need React experience. Anyway, I’ll get back to reading and watching and coding stuff now, and come back with some blogposts that include code soon.