LambdaDays 2017 – more than one month later…

I know, I should have written this article a while ago but I couldn’t find the time…sorry 😞

Anyway…one month…how time flies!

Last February, thanks to 😘 Mikamai, I had the immense pleasure to attend to an astonishing conf.

For the ones who don’t know, LambdaDays is an international 2 days conference that has been held in Krakow for four years now.

Its main focus is the “umbrella topic” of “Functional Programming”.

Continue reading “LambdaDays 2017 – more than one month later…”

asdf the “easy to write and hard to read” version manager

As a Rubyist one of the first thing you end up doing is to manage many different Ruby versions on the same machine. As a matter of fact, one of the first steps in setting up a new workstation is to install some kind of version manager like RVM or rbenv.

Unfortunately it doesn’t end up simply like this…

Continue reading “asdf the “easy to write and hard to read” version manager”

Wrap and iterate with the power of yield

Iterating over a collection isn’t rocket science. Obviously if you need to iterate over a really big collection you may need to adjust your strategy but it is something that in the vast majority of programming languages you get quite for free.

In Ruby for example you can just send the each message to your collection together with a block of code. The block will be executed for each element of the collection itself.

But what if you need “something more” from the objects you’re iterating on? If, for example, each element of your initial collection is an array and you want to abstract away how you access each of its elements? What options do you have?

Continue reading “Wrap and iterate with the power of yield”

Elastic IP Address (EIP) and ECS (EC2 Container Service) cluster, a naive solution

Recently I had the opportunity to set up another ECS cluster for a Ruby on Rails application that exposes a few API endpoints and a backend to manage some contents, i.e. images, videos and so on.

Considering our previous experience we decided to automate the provisioning of the infrastructure by using Ansible and after a bit we ended up with a few playbooks that allowed us to bring up everything we needed, from the DB to the instances, ELB, task definitions and services.

Everything was working quite well until we were asked to provide a static IP that could be used to access the aforementioned API endpoints.

Continue reading “Elastic IP Address (EIP) and ECS (EC2 Container Service) cluster, a naive solution”

Euruko 2016 – Ruby is dead, long live Ruby!

It has almost been three weeks since we (me and two colleagues) came back from a wonderful trip to Sofia. Thanks to Mikamai (and I will never stop to be thankful for this! 🤗) we had the opportunity to attend the 2016 Euruko conference.

Euruko2016

Considering the list of speakers, all well known for their accomplishments in and out the Ruby community, I was overexcited by the time we had the confirmation of our trip.
Personally I was particularly thrilled to listen to the two keynotes. It doesn’t happen everyday to listen to Matz and José live! 😉
Anyway, enough fangirling!

Continue reading “Euruko 2016 – Ruby is dead, long live Ruby!”

A front-end tale: Google Places Library, jQuery promises and Coffeescript

When it comes to define my working position I often need to state (and clarify) the differences between design, frontend and backend development.
Given my academic background and my interests I can easily be considered more a backend developer than a frontend. I do not have a great “esthetic sense” and despite my knowledge of HTML5 and CSS (with all its SCSS, SASS, LESS and so on) I do not have the expertise of a “real frontend developer”.
Don’t get me wrong, I studied Javascript basics and I like to keep myself updated with its community news but still, it is not (at least for now ;P) my area of expertise.

image

Nevertheless I like to solve problems independently on their nature and so if there is a “frontend problem” to tackle I’m always ready to dive in.

This is exactly what happened last week.

Continue reading “A front-end tale: Google Places Library, jQuery promises and Coffeescript”

A little story about brew, Firefox 47, Selenium and Capybara

I am quite a big fan of brew and brew cask. I switched from Linux to OSX less than a year ago and both of them gave me immediately the feel of being at home with a “standardized” way to handle the installation of applications on my system.

Yes, I know there are different conflicting opinions regarding how brew works under the hood like where it puts the installed applications, how it symlinks them and how it handles different app versions. Sincerely I never paid much attention to these discussions (my bad). For me it works quite well as it gives me the feel to have an organized and clean system.

Personally I also like to have my system steadily up-to-date and to achieve this goal I constantly use a brew update everything command that I built (or found?…sorry, I don’t remember XD) which automatically updates all the applications, “CLI and GUI based”, I’ve installed:

brew update && brew upgrade && brew cask list | xargs brew cask install --force && brew cleanup --force && brew cask cleanup --force

What it does is to update both brew and brew cask repositories, upgrade the installed applications (again, “CLI and GUI based”) and then do a cleanup by removing the old version of the applications.

Launching this command is quite disruptive considering that it forces the removal of the old version of the apps. So I do not feel like recommend it unless you’re able to handle some occasional problems.

A few days ago I ran indeed in one of these problems.

Continue reading “A little story about brew, Firefox 47, Selenium and Capybara”

AWS Summit Milan Keynote recap

Last 14th of April I had the opportunity to attend the AWS Summit here in Milan.

The agenda was really dense and rich of interesting contents. Moreover, thanks to some Amazon partners, many hands-on labs were organized during the day. They were focused on letting the attendants get in touch with many of the Amazon Web Services by granting them the possibility to interact with valid and prepared experts.
As for the presentation sessions they were divided into three parallel “channels” focused respectively on live demos, enterprise & security and big data & analytics.

Continue reading “AWS Summit Milan Keynote recap”