Dave Thomas is celebrated in the Ruby community for having written the “Pickaxe”: The first english language book on Ruby and widely used as the beginners guide and reference to Ruby. Now, he brings us *Programming Elixir: Functional > Fun > Cuncurrent > Pragmatic > Fun*.
Benchmarks are always to be taken with a grain of salt: They think that they are measuring can be very far from the performance you are likely to see in production. Their usefulness is in informing our decisions about technology choices. I have been getting interested lately in Elixir and the Phoenix Framework and the results of this benchmark confirm my anecdotal experience: Phoenix, out of the gate, blows Rails out of the water. Very interesting considering that the code you write in Phoenix applications is very pleasant, like Rails. Developer happiness, right?
This short post by Chris Doyle captures very succinctly what professionalism is: Autonomy, responsability and humilty. It resonated with me. As I mentioned before, excellence and professionalism in Software Engineering don’t require a medieval craftsmanship metaphor.
I have been doing a lot of research lately on API authentication and came across this article. It’s a bit rambling at times, but it’s filled with good information of what issues can arise with API authentication and was food for a lot of thought and further research.
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.
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.
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.
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.
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.
I have been using
rvmto 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 that
rvmitself 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.