Saturday, March 24, 2018

The Road to Ruby on Rails

Learning Ruby on Rails

Wow, Ruby and Ruby on Rails is a different animal. What I like about it is that it's monolithic and self-contained and what I don't like about it is that it's monolithic and self-contained. What I mean by this is that Ruby and Ruby on Rails is so different and in its own world, it practically forces you to specialize in it. Specialization is very dangerous thing for software developers because software technologies are constantly and rapidly changing and therefore skills in high demand today could, and most likely, as all things, dry up tomorrow. When you are forced to look to another skill, it's always the "years of experience" over "acquired skills" that count. What hiring managers always fail to understand is that software engineering is software engineering, no matter the programming language, framework or methodology. Blah.

I few Ruby/Rails ways of doing things

-Ruby likes to call what are well-known as an object's "properties" object "attributes."
-Rails has a million short-cuts to do the same thing that really only saves a few characters of typing.
-Ruby and Node.js have many similarities so you have to wonder which came first. I'm guessing Ruby. After that, one has to wonder which came first Ruby or Python. IDC.
-Static class methods are defined/named with the prefix of "self."
-The Ruby gem that is a test suite product to test Ruby code, called RSpec, likes to refer to a "test case" or single "test" as an "example". This test suite gem likes to refer to "assertions" as "expectations." So far, I really like the RSpec gem except for its own terminology for what is well-known, industry-wide, nomenclature.

RSpec is like nothing you've seen before

RSpec is a test framework for testing Ruby programming language and Ruby on Rails applications. It seems to bend over backward trying to couch test implementation as if expressing paragraphs of English sentences. Unfortunately it uses a terminology that is not common to the software development industry - past or present (and I know a little about the past). It's a bit rough to wrap your brain around but I can see that you can get away with using a small subset of the specification to do a decent job at testing your ruby code.

Monday, March 12, 2018

The Spouse is Mightier than the Sword

I have good friend who is a fellow developer, and a great one I should say, that developed a tool he uses in the course of his business as a freelance developer. From the first time he showed me the product, I told him what I thought. That is, I thought the product was too complicated for its rather simple purpose, that he used terminology that no normal user of his product would understand and that had features where the complexity of the feature outweighed the utility and usefulness of the feature. He'd laugh off my feedback.

So way down the road, close to when his tool is nearly completed (in his eyes), he has his wife give him feedback on the product. AND GUESS WHAT! She mostly had the same feedback as me!

So I had a good laugh at the fact that he took his wife's feedback over me and implemented the required radical changes! So now, when I want to change his mind about something, I'll go through his wife.

A powerful lesson for those mere mortals, like myself, when there is a need to influence a brilliant person.