2015 Cutting the Cord
In January 2015 I decided to stop paying Comcast for cable TV that’s full of commercials. I know there are tons of articles and reviews on how to cut the cord, but I keep getting asked how I did it. Here it is (all prices…
Ruby Blocks, Procs, & lambdas
Blocks are very handy and syntactically simple, however we may want to have many different blocks at our disposal and use them multiple times. As such, passing the same block again and again would require us to repeat ourself. However, as Ruby is fully object-oriented,…
Moneyball for Tech Talent
There’s rich teams, then there’s poor teams, then there’s 50 feet of crap, and then there’s us. If you play like the Yankees in here we’ll lose to the Yankees out there. This is my favorite line in Moneyball. It’s when Billy Beane (played by…
Open/Closed (OCP)–SOLID Design Principle
Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification. By open for extension, this principle means the ability for an entity to be adapted to meet the changing needs of an application. By closed for modification, this principle means that the…
Learnings Express.js & Node.js
If you want to learn Node.js then you’re probably wondering where to start. I highly recommend using the framework Express.js if you’re familiar with the Ruby framework Sinatra. Express.js has a guide through, but I don’t like writing or implementing code I don’t understand. If…
Ruby Forwardable Module
In my web development journey I recently stumbled upon the Forwardable module. I’ve been making a concerted effort to learn and follow the object oriented design principles. In this case favor composition over inheritance. In other words instead of inheriting and exposing all of the…
Single Responsibility
Previously I blogged about the 5 SOLID Design Princinples. Now I will break them down independently starting with Single Responsibility. Most of the information and examples in this post are from Chapter 2 of Practical Objected Oriented Design in Ruby (aka POODR) by Sandi Metz. I…
5 SOLID Design Principles
In my journey to become a better developer I’m currently concentrating my efforts on design patterns and principles. I came across this video by Sandi Metz on how the 5 SOLID design principles apply to Ruby. SOLID is about managing the dependencies in your application. …
Rails Active Record Associations
Associations between database tables is incredibly important. I’ve been working on a volunteer tracking app for nonprofits that has several tables and many associations. I found out the hard way why you should always choose the has_many through association instead of the has_and_belongs_to_many_association (habtm). I…
Functional Concepts of JavaScript
I have a phone interview with Deloitte Digital tomorrow morning. The position is for an associate front end engineer. They have designers on staff so a front end engineer is basically a JavaScript person. I’ve started to wonder if I like JavaScript more than I…