Should I Use Rails in 2018

tl;dr Yes. Ruby on Rails has been a production-ready framework since its maturation phase in 2008. When Rails became deployable without an operations team. We gained dangerous ground in the community. The best parts of Rails (MVC, convention, flexibility, active community, and extendibility) are as relevant today as then....

Engineering Guidelines for Teams

After observing millions of dollars wasted and made, companies close, and lives disrupted I have adopted these lessons. Your business is not immune to the problems of modern knowledge work. It does not matter if you are a division of a public company or a startup. These lessons are...

Curb Your Refactor

Refactoring is a necessity in software development. As engineers, our first attempt at writing new feature code is most likely filled with rats. Then we refactor the code to make it maintainable, readable, faster, and less prone to bugs. These refactoring rules for the three phases of development can...

Ruby Tips #365 – WOW! A Year of Ruby Tips

Today marks the end of a 365 day journey of writing one Ruby programming tip everyday. It has been a long journey to consider new and interesting content in the realm of a Ruby and Rails programmer. I have learned so much and I am very happy to share...

Ruby Tips #364 – Cool Console Counter

This tip comes by way of: @starvo. By using a counter in your ruby console script you can gain insight into long running actions for your application. @photos = Photo.all count = @photos.count @photos.each_with_index do |photo, idx| # ... do a bunch of processing puts "#{(100.0 * idx /...

Ruby Tips #363 – Eql? versus == with Numerics

These two operator in Ruby look similar but can have different results when comparing Numeric operators. 1.0 == 1 #=> true 1.eql? 1 #=> false As stated in the docs only override the ‘==’ if needed. 🙂

Ruby Tips #362 – Super and Parentheses

Most the time in Ruby parentheses are optional for parameters in method calls. Here is one case where you can expect the unexpected. class Course def track puts 'masters' end end class Elective < Course def track(type) super puts type end end Elective.new.track('art') #=> ArgumentError: wrong number of arguments...

Ruby Tips #361 – Access Heroku psql without Gems

One of the things making your Heroku hosted database, certainly from a remote box, or a console difficult is the need to get an application running with the Heroku gems. This means also means your system admin team needs to be concerned with Gems too. Here are the steps...

Ruby Tips #360 – Bang Bang Boolean

Ruby provides syntax for a !! boolean. In this example let’s extend this to a class default for our Yummy class. class Yummy def initialize @dinner_defined = false end def some_fudz !!@dinner_defined end end y = Yummy.new puts y.some_fudz #=> false