Grid Computing for a better future

Everyone should donate some processing power

In this post, it’s not my intention to talk about the technology behind the grid computing as there are already a high number of sources where you can raise some awareness on this topic.

My main goal is instead to raise some awareness and promote the projects, relying on grid computing, with the aim to improve the human life such as discovering treatments for diseases such as HIV, Ebola, Cancer and so on so forth.

Just to give a minimum of context, it is enough the following minimalistic definition of Grid computing taken from wikipedia

Grids are composed of many computers acting together to perform large tasks.

In other terms, when there is a very complex computational problem to resolve, putting together hundred thousand of PC working together is in most cases the only feasible way to go.

The examples of uses cases requiring high computational power range from art, cryptographic, finance, games, maths, molecular science and so on.

For this reason, it was born the need to create a platform for the distributed computing to be used by the demanding projects.

One of the platform for the distributed computing that is becoming more and more popular is the one developed by the Berkeley University known as BOINC






Today there are a number of research projects that leverage BOINC and distributed computing to beat the cancer and many other global issues.

The key message is that all those projects need our support and we should all contribute as it is for a good cause.

All you have to do is to download a piece of software and let it run. It will receive some work and it will do it when your PC, laptop, phone is idle (not using any resource) and eventually it will return the results to the researchers who will analyse them.

I think that it makes no sense to write here any tutorial on how to proceed as the below links contain enough information on what to do but should you encounter any problem or have question on this topic, I’ll be delight to help you as this is my active contribution to this cause.

My Contributions

I write here the actions that I took to contribute to this cause. You can do the same or adapt to your possibilities.

 Download the BOINC software

The first step is to download the software from BOINC

I installed it on

  • my Android phone
  • laptop
  • deskptop
  • dedicated VM running on my VMWARE ESXi host(24×7)

Although you can configure the program to run when your device is not doing anything else, you need to be aware that there will be a slight higher power consumption as an intensive CPU work is not for free. This is all about donations.

In my case, the power consumption of a VM running 24×7 (limited CPU) is only few Watts


Join a Project

You can either join single projects or decide to use an Account Manager like BAM (as I did) where you manage centrally the projects that you wish to contribute to.

At current time, I’ve joined

My contributions are visible here

Spread the word

I wrote this article 🙂


Enterprise Architecture frameworks comparison

Before talking about Enterprise Architecture (EA) frameworks comparison, it is important having clearly in mind what EA itself is all about:

From Wikipedia

Enterprise architecture (EA) is “a well-defined practice for conducting enterprise analysis, design, planning, and implementation, using a holistic approach at all times, for the successful development and execution of strategy. Enterprise architecture applies architecture principles and practices to guide organizations through the business, information, process, and technology changes necessary to execute their strategies. These practices utilize the various aspects of an enterprise to identify, motivate, and achieve these changes

Large organizations embracing  EA practice should consider it as their own business with continuos development, resources and budget allocated for it.

Since a number of frameworks (claiming to provide guidelines on how to develop EA) have been created, I was curious  to analyze the differences between them. During my research, I came across the following comparison made by Pragmaticea

The comparison, carried on by Pragmaticea, analyzes four frameworks (MAGENTA, TOGAF, Zachman, PEAF) and for obvious reasons the best one results to be PEAF sponsored by Pragmaticea 🙂

I personally don’t agree with that analysis but what I’ve found very unfair is to place TOGAF as the least one.

I don’t want to be a TOGAF advocate but the following statement in their report, is quite arguable:

From comparison made by Pragmaticea

TOGAF is mostly concerned with IT rather than the entire organization

Answering to this point, I would refer to the Business Architecture (B) domain as defined in TOGAF


As far as I am concerned, according to TOGAF, the Business Architecture is all about business:

As a matter of facts the Business Architecture:

  • It focus on business capability.
  • It is owned by business people and not by IT people.
  • It is not concerned on IT execution.

After said that, it is true that TOGAF addresses as well the IT execution concerns but it is made from the phase E going forward and this function is usually owned by PMO (Project Management Office).

Moreover I’ve found this statement deceptive because we are all in the space of setting up a EA framework and the scope of EA (regardless of the framework adopted) is all about designing how the IT system should operate in order to align it to the business concerns.

From this perspective, I would say that TOGAF addresses fully this concern.

AWS Route53 Ip updater utility program

I started exploring AWS (amazon web services) back in 2007 and since then I’ve been keeping an eye at their services and offers as I suppose they play an important role in the cloud space.

This post is related to the AWS Route53 service that allow to leverage the distributed amazon DNS.
As an aws route53 user and owner of a domain, it is possible to easily associate domain names with public IP and, as usual, you get charged on usage basis.

It is possible to use aws route53 service to either point hostnames to EC2 components like instances and ELB (Elastic Load Balancer) or to external machines.

Since I have been using AWS Route53 to point my domain to a machine with dynamic IP, I was forced to login into the AWS console to update the configuration every time a new IP was assigned to my machine.

I was looking around for a utility like noip where you install a program that detect your public IP and update your AWS Route53 record.

Surprisingly I could not find anything that suits to my needs so I decided to write my own solution leveraging the AWS Route53 API.

I’ve implemented this small utility using Java and the source code along with the binaries are available to everyone for download on GitHub

Additional use case:

Another interesting use case of my utility is when you run one or more aws EC2 instance and you would like to point some hostnames to those instances.

One possible way to do so would be to reserve one or more aws elastic IP and then configure Route53 pointing your hostname to the reserved public IP.

Unfortunately, only the first elastic IP is for free as aws will charge for the additional ones.

Installing this utility program on your was EC2 instance will make the trick as the public IP associated to the was EC2 instance will be automatically registered on was route53 without the need to reserve a Elastic IP (and get charged) associated to the instance.

Of course this approach is only feasible for EC2 instance where you have full control and not for such services such as the load balancer.


Scrum Master Certified

During my career, I had several times the opportunity to work in a team following the Agile approach.

After the working experience, I decided to attend as well a formal training to close any gap that I might had.

After having completed the two days course and got certified, I can definitely affirm that it was a great experience.

What I really enjoyed of the two days course was definitely the way how it was organized. It was not a traditional course where you are presented a number of slides with the teacher talking over.

The two days course was like running a project!


All participants, like stakeholders, were asked which topics they liked to be covered in the course.

Like stakeholders in a large organization with different concerns, we were not all interested in the same topics in the same way.

All feedback collected from us represented the backlog that our teacher had to work out in the allowed time frame. The first exercise was to cluster (many requests were similar each other) all the requests in order to identify the different topics to address.

After having identified the topics to address there was a voting in order to identify their priority.

Surprisingly  some topics did not receive any vote and, for this reason, they were directly dropped. Why you should invest time in something that only the minority is interested in?

In the real life, probably you want to consider not only the number of stakeholders but as well as their influence in the organization leveraging the so called Stakeholder matrix (Interest – Influence).

Effort estimation was performed on the backlog items and subsequent monitoring and adjustment in order to ensure covering the topic that matters in the two days course.

Of course there were many more interesting exercises that I won’t list here.



My Websphere Portal Development certification

At the time when I was working for IBM (2007 – 2010), Websphere Portal was one of the main technology that I enjoyed learning from both developer and infrastructure engineer point of view.

In fact, I learned how to develop on Websphere Portal using portlet technology along with their tooling such as Websphere Portlet Factory and how to design and perform complex deployment ( e.g. LDAP, cluster, integration with Lotus Sametime and so on)

At that time, I had also a chance to complete the working experience with an official IBM certification