-
Book Review: Building Microservices
There is a lot of buzz around microservices and service-oriented architecture, at least in the corner of the internet that I frequent. Heavyweights in the Ruby community, like Heroku think microservices matter. It seems that enough people are adopting microservices head-first that some influential people in the community have started warning that it might not be for everyone. Martin Fowler thinks there is a microservices permium to pay and that you probably want to start with a monolith. Avdi Grim is of the opinion that people are adopting microservices for the wrong reasons. And David Heinemeier Hansson, devoted a portion of his RailsConf 2015 keynote to denouncing the practice.
-
The REPL: Issue 10 - May 2015
Lessons Learned In Software Development
Henrik Warne compiles a list of rules-of-thumb he has learned throughout his career. Great nuggets of information. If you find some of these obvious, it’s probably because you have already internalized them.
Do Not Disclose Your Salary To Recruiters
Salary negotiations are something that many software engineers (and people in general) don’t give much thought about. However, it’s effect on your career is huge. Learning to negotiate and dealing with recruiters are useful skills to have.
Why Learning Rails Is Hard
Brook Riggio presents a great mind-map of the skills he considers a Rails developer needs to be competent in. As he mentions, if anything, after reading it I was ready to add many items to the list. Web systems can get complicated in a really quickly.
Using a Ruby Class To Write Functional Code
With a clear style and building sequentially, Pat Shaughnessy explains how to leverage some functional programming concepts in an object-oriented language. I’ve had a lot of success implementing code in this manner. Makes it easy to read, easy to change.
-
Experiment: Use rbnev instead of rvm
I have been using
rvm
to manage my rubies for almost 5 years, mostly without problems. Throughout the years though, the number of features added keeps going in an attempt to do more for the user. Two weeks ago I was dealing with a cryptic stack trace related to X509 certificates when doing some cryptographic operations in JRuby 1.7.19. I wasn’t really sure what the culprit was, but the rvm documentation suggest thatrvm
itself can fix the issue. That seemed weird to me and also, it didn’t work. I was stuck with a JRuby installation that could not read the certificate from https://www.google.com. -
Book Review: Architecting The Cloud
Architecting The Cloud. Design decisions for cloud computing service models, by Michael J. Kavis describes cloud computing in general and the different service models that are prevalent today in particular. It explores the differences and trade-offs between Software as a service (SaaS), Platform as a service (PaaS) and Infrastructure as a service (IaaS). I consider the book a good introduction to considerations for cloud computing for those that are used to more traditional data-center deployments.
-
The REPL: Issue 9 - April 2015
Does Organization Matter?
Uncle Bob makes a useful analogy about code organization and physical organization of say, your desk or a library. Organization matter. Sometimes, all we need is a small amount of organization, sometimes we need the Dewy Decimal System
Why (and How) I Wrote My Academic Book in Plain Text
Most developers appreciate the benefits of plain text files since they play so well with other tools, like source control, grep, find, etc. W. Caleb McDaniel makes a great case for using plain text other than for programing code. In his case, he composes his academic writing in plain text and uses open source tools at the end to convert them to industry-standard proprietary formats. Awesome.
The Quality Wheel
A big part of effective communication is sharing the same terminology. It helps with context and allows us to be more specific. Jessitron proposes expanding our vocabulary around what “Quality Software” means. Instead of saying a piece of code is “good” or “clean”, how about it’s “configurable” and “readable”.