Comparing Kanban apps with GitHub integration

I'm working on this for a client: Comparing Kanban project management apps that have very good GitHub integration. So far I've looked at Huboard, Waffle, Zenhub, and Blossom. Blossom.io is the strongest for our needs due to the detailed cycle time reporting, showing where cards are spending their time. It also has some very useful project … Continue reading Comparing Kanban apps with GitHub integration

Goodbye “X for Y”: the cryptic Ruby error is becoming friendlier

Anyone who's used Ruby has seen this message: r.rb:1:in `name': wrong number of arguments (3 for 2) (ArgumentError) This particular error has been driving me nuts for years. It's just so unnecessarily difficult to interpret — especially if Ruby's not the only language you use. I never remember which number is which. Compare to Python: TypeError: … Continue reading Goodbye “X for Y”: the cryptic Ruby error is becoming friendlier

Infographic: OS X El Capitan License in Plain English

Shortly after I posted OS X El Capitan License in Plain English, I received an email from Bogdan Rauta, a Romanian infographic designer. He volunteered to create an infographic as part of a new project, Infographic Monster News. His idea is to report current news stories in the form of infographics. I'd say he's off to a … Continue reading Infographic: OS X El Capitan License in Plain English

OS X El Capitan License: in Plain English

I decided to upgrade my Mac to El Capitan, but my computer said, on one condition: I must "carefully" read and agree with something. It even provided a tiny cozy display window for viewing it: And so I did what anyone else would: I cleared my afternoon schedule and got right down to business; reading, carefully, the entire document. It … Continue reading OS X El Capitan License: in Plain English

Self-validating Ruby objects with ActiveModel Validations

I'm importing lots of CSV restaurant inspection data with Ruby, and I need to make sure the cleaned up data matches the spec. For example, a violation must have a business_id and date. It can optionally have a code and description. My goal was to be able to write a class like this: ...and it would … Continue reading Self-validating Ruby objects with ActiveModel Validations