Big Data

Story Horse?

I was talking with some friends in IT and found that most did not know what “SNA” means, but at the same time I have seen several articles about “Big Data” is the future. “Big Data” is a hot topic but, in many ways, we are still trying to define what the phrase “Big Data” means. Would be “Big Data” and related the future? (this is a topic for a new post.) I’ll just give a brief explanation of this new world.
Would be just another Buzzword?

Ok SNA means “Social network analysis”

A Brief Introduction

Social network analysis: A methodological introduction

Big Data

What it is and why it matters

To complete the alphabet soup we will see two more acronyms. “NoSQL” and “HADOOP”

Martinfowler NoSQL


Facebook claims to have over 30 petabytes information. If you were to store all of this data on 1TB hard disks and stack them on top of one another, you would have a tower twice as high as the Empire State building in New York. The height of this tower illustrates that processing and analyzing such data need to take place in a distributed process on multiple machines rather than on a single system. However, this kind of processing has always been very complex, and much time is spent solving recurring problems, like processing in parallel, distributing data to the compute nodes, and, in particular, handling errors during processing. To free developers from these repetitive tasks, Google introduced the “MapReduce” framework.

An example of MapReduce

Google developed an abstraction layer that splits the data flow into two main phases: the map phase and the reduce phase. In a style similar to functional programming, computations can take place in parallel on multiple computers in the map phase. The same thing also applies to the reduce phase, so that MapReduce applications can be massively parallelized on a computer cluster.
The popularity of MapReduce become wich Apache Hadoop open source implementation. Hadoop can be installed on standard hardware and possesses excellent scaling characteristics, which means you can run it on a cluster and then extend the cluster dynamically by purchasing more computers.
Apache Hadoop Project is an open source implementation of Google’s distributed filesystem (Google File System, GFS) and the MapReduce Framework. One of the most important supporters promoting this project over the years is Yahoo. Today, many other well-known enterprises, such as Facebook and IBM, as well as an active community, contribute to development.

The hadoop has one Ecosystem (but again this is a topic for a new post.)

More alphabet soup;
HDFS, Hive, Hbase, Cassandra, Pig, ZooKeeper, Phoenix, Oozie, Presto and more … a world without end!

The era of Polyglot Persistence has begun
(again this is a topic for a new post.)

Models and Methods in Social Network Analysis – John Scott;
Social Network Analysis: Methods and Applications – Stanley Wasserman;
Social Network Analysis (Quantitative Applications in the Social Sciences) – David Knoke


Caramel Macchiato

Story Horse?

Today’s post is a tribute to coffee that I like to have!

Everyone says that ‘A programmer is a machine that turns coffee into source code.’


As a good developer, I’ve always been addicted to coffee.
Coffee is just one of those things that runs in my blood.

In one of my first days in Dublin I had the fortunate opportunity to experience the “Butlers”.
I went for a coffee and ended up experiencing “Caramel Macchiatos”.
I have had a deep love for Caramel Macchiatos ever since.
I still remember the first sip I ever took of a caramel macchiato.

Coffee just isn’t a caffeine addiction for me. It’s a lifeline.

The Story


Caramel Macchiato Recipe


2 tablespoons vanilla syrup (recipe follows)
1/2 cup fresh espresso
1 cup milk, steamed and frothy with foam
3 – 4 tablespoons caramel sauce (I used the same jarred caramel sauce that is sold as an ice cream topping)

For the Vanilla syrup:
2 cups water
1 1/2 cups granulated sugar
1 teaspoon vanilla extract

1. To make the vanilla syrup, combine sugar and water in a sauce pan. Bring to boil over high heat and boil for 5 minutes. Let cool and add vanilla extract. Stir well and keep in a sealed container, refrigerated.

2. To make coffee, either use an espresso machine to make coffee and steam milk, or heat milk until hot, but not boiling on stove-top and transfer to a blender. Blend until frothy. For espresso, if you don’t have a machine, just make double strength coffee.

3. Add vanilla syrup, espresso or strong coffee and hot milk to mug. Add caramel sauce and serve.

How to Make a Caramel Macchiato

Did you know
Macchiato is an Italian word meaning “marked.” So a latte macchiato is steamed milk marked with a little espresso, while a caffè macchiato is espresso marked with a little milk.


Suggestions of places in Dublin

Butlers –
The Bagel Bar –


HTML5 Single Page Business Card

Story Horse?

Some time ago I saw this and decided to do my version.
A page “Business Card” using HTML5 and CSS3

<!DOCTYPE html>
<html lang="en">

	<meta name="author" content="Igor Souza">
	<style type="text/css" media="screen">
		body {
			text-align: center;
			display: block;
			font-family: Sans-Serif;
		.bcard {
			border: solid 1px rgba(255, 255, 255, 0.6);
			background: rgba(255, 255, 255, 0.5);
			margin-top: -110px;
			position: absolute;
			display: inline-block;
			width: 400px;
			height: 220px;
			top: 50%;
			margin-left: -200px;
			-webkit-box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.4);
			box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.4);
		h1, h2 {
			float: left;
			width: 90%;
			text-align: left;
			margin: 15px 5% 0 5%;
			font-size: 24px;
			font-weight: 400;
			text-shadow: 1px 1px 1px #FFFFFF;
		h2 {
			font-size: 14px;
			margin-top: 3px;
			color: #666;
		.border-top {
			border-top:solid 5px;
		.red {
		.white {
		.green {
		p {
			text-align: left;
			margin: 60px 5% 0 5%;
			float: left;
			font-weight: 100;
			color: #444;
			font-size: 13px;
			text-shadow: 1px 1px 1px #FFFFFF;
		.mail {
			text-shadow: 1px 1px 1px #FFFFFF;
		footer a {
			bottom: 0;
			margin: 3px 3% 0 0;
			float: right;
			text-align: right;
			display: block;
			font-size: 10px;

	<div class="bcard">
			<h1>Igor F. Aragao de Souza</h1>
				Java Web Developer
			(+353) 087 216 1413
		<p class="mail">
			<a href=""></a>
			<a href="" target="blank">google +</a>
			<a href="" target="blank">twitter</a>
			<a href="" target="blank">facebook</a>

Business Card Page

New Year’s resolution Hackathon

What’s the story, lads?

Today happened the GDG Dublin – New Year’s resolution Hackathon at Google.
If you don’t know what GDG is, please check here: GDG

GDG Dublin

This event consisted in kicking off 2014 with an event to motivate developers to take up a new skill and it was based on four topics:

– Get started with Dart

– Convert my Web Site to use AngularJS

– Deploy an app on Google Cloud Platafor

– Publish an Android App on Google Play

I chose AngularJS and created a basic app “Hello World”.

Follow the code:

It is a simple example to show how to get the return from rest in the javascript.

This event made me think about my resolutions for this year.
I intend to improve my knowlodge of C and learn Python.
And what about you? What are yours resolutions for this year?

What are the trends for this year? Would be…
Java death;
Proliferation of API Javascript;
SNA and BIG Data;

GDG Dublin

GDG Dublin

HTML5 the future – KineticJS

Story Horse?

Finally my first technical post.

The HTML5 gains strength and tends to become a standard language for Web rendering and also for rendering mobile. This trend today implemented by various Web / Mobile market frameworks.
HTML5 & CSS3 Support

HTML5 API’s You Didn’t Know Existed

One of them is the KineticJS.

I’ve been working with him something about six months.

KineticJS is an HTML5 Canvas JavaScript framework that enables high performance animations, transitions, node nesting, layering, filtering, caching, event handling for desktop and mobile applications, and much more

In order to understand what KineticJS is, you must be familiar with JavaScript development and should know the basics of HTML5 Canvas programming. KineticJS is a JavaScript library that helps us simplify the development of interactive HTML5 applications.

A simple example to show html code as an image inside a canvas

var content = ""</pre>
<div style="background-color: red;">Igor Souza test
<span style="color: white; text-shadow: 0 0 5px blue; 
font-size: 50px; font-family: times,sans-serif;">IGFASOUZA</span>
	<li>Item 1</li>
	<li>Item 2</li>
	<li>Item 3</li>
	<li>Item 4</li>

window.onload = function(){
var stage = new Kinetic.Stage({
container: 'container',
width: 1000,
height: 650
var layer = new Kinetic.Layer();
var html = new Kinetic.HTML({
html : content,
callback : function() {layer.draw();},
draggable : true,
x : 30,
y : 30

A nice example that I found on the internet. The snake game .

One of the major challenges in Canvas is the question of performance.
Make a canvas with one layer and ten different objects and make a canvas with ten layer with one object in each is totally different.
Somehow, you have to try different approaches and see which one impacts less.

Follows three ideas to evaluate and improve the performance of your canvas.
HTML5 Canvas KineticJS Animation Stress Test

HTML5 Canvas KineticJS Drag and Drop Stress Test with 10,000 Shapes

HTML5 Canvas Shape Caching with KineticJS


Only makes mistakes who tries something

Hey, you!
To celebrate the End of the year or Beginning of the year … hehehe!!!
Nothing better than a motivational post!

“Connections are what moves our lives”

Every time that i fall into my comfort zone, is the time that i need to leave. It’s means that i can do much more.

There is “no linear path to success.” Life is like a gam of Pac-Man. You start with a tangible goal and reach for it while avoiding the obstacles and “ghosts” (people who don’t believe in you) that come your way. The connections you make are what get you from one point to another.

Once you define your goals, there’s a little rule, a little secret. Whether it rains or whether he sun comes out, whether you are in a good mood, or in a bad mood, whether you have luck on your side, or bad luck, but every single day, take another step toward your goal.

Every single day do something that will get you closer to your goal.