Google Startup Launchpad! @ Barcelona

Hi again!

It was a great pleasure to be part of the first Google Startup Launchpad here in Barcelona with the VillageApp team and the help of Incubio

Here you can see the the video with a very little of what happened this week:


It was a very exhausting week, not just for the intensity, but for the quantity and quality of advices from a very talented people. We got tech, marketing, UX, design mentors and a few BA came too. Everything just in a week.

My advise: If you can go, don’t doubt a second. It will be hard, it will be intense, you will provably realize that you have to change a lot of things, but you will save 6 months of your startup life.

Think about it… ;D

Stay in cloud!


Systems Architecture for non-technicals

Hi everyone again,

It has been a lot of time since my last post. I’m working hard at @Incubio and a few months ago I wrote a post for the official blog talking about systems architecture. In this post I explain the base of architecture for non technical people.
I hope this could be useful for those who have to take decisions and need to understand the big picture.

A good architecture is one that has scalability

If you’re a entrepreneur, or you would like to be, I recommend to read the Incubio Blog, ideas, tips and the experience of people who is already trying new business.

Stay in cloud!


Architecture and Scalability

Hi everyone!

First of all, happy new year! One of my intentions of this year is to write more often in my blog, we’ll see next year.

Today I will talk about Architecture and Scalability of systems. This post is just to show my last presentation at Incubio about this interesting topic. At this presentation I’ve developed a slides to teach all the startups (engineers and CEOs) about how important is to think in the scalability from the very beginning of the project. Why? Because, the most of the startups just have 1 shoot, and once they made this shoot and they are successful, they need to grow, and their infrastructure too. Taking care of small details in the early stages could save lot of money in next stages.


If you have any comments, please feel free to ask! I have a part of the speech recorded, I’ve got some technical problems and I just have the first 20 minutes, I hope I will repeat this speech and get fully recorded, if you want it, ask for it and I will try to upload to youtube.
Stay cloud!



Hi everyone!

A lot of time since the last post, I'm really sorry but I've been in a lot of changes in my work life! My time at ADmira was finished, and now I'm in my new job as Project Manager at Incubio

At this moment I'm the project manager of one of the projects of the incubator, Groupiest. Well, and not only the project manager, I'm now testing their new features, publishing content directly to my blog! Really great! I hope this tool will help me to keep my blog more update.

Check this video to know how Groupiest works! 


Where the cloud make sense @aws

Hi again!

Today I want to talk about the cloud and when cloud make sense. Today no just words, let’s see with a real case.

As you provably know, the cloud really exists. There are companies like Amazon AWS, Rackspace and others who offer their service of hardware renting for your personal use. What’s the difference between this cloud companies and your normal hosting company who can rent their servers? At the first time you can think that there is no difference. When you take a look more closely, you start seeing some differences, some details and added services that a normal company doesn’t offer. Enough important to take the decision to move to the cloud and not to a conventional hosting service.

The most important differences between each are the following: Data migration, data replication, fault tolerance infrastructure, fast recovery services and other value added services that hosting companies doesn’t offer like CDN, distributed file systems, etc.

As you can see there are a lot of services that a small/normal hosting company couldn’t offer. For this reason cloud services are a really good option to deploy your infrastructure.

Let’s see the real case where the cloud make really sense. In this graphic you can see an abrupt increase of demand. This case is a real case of a production platform.

Captura de pantalla 2013-03-14 a las 14.47.31


In a normal histogram the line rarely grow over 15. What happens if you receive this sudden increase of demand? In a normal infrastructure you provably offer a bad service or directly not offering to your clients. In a cloud infrastructure you just deploy more instances and make this work done it.

This case is based on a encoding video queue. Unexpectedly you can receive an big amount of demand, in a normal infrastructure, you can’t do anything. In a cloud infrastructure, you can try to deploy a new instance and balance demand over the new instance. This is really interesting when you could have unexpected spikes of demand and you want to increase your power service just for a few moments. The best of all is that this increase of power could just be less than 1$, depending on your instance types and the time you’ll need to get the demand out.

What’s important to know about the cloud and this example? The cloud it is just interesting when your infrastructure could scale. And this is something that people doesn’t tell, or doesn’t understand very well. If my new instance could take a piece of the demand my graph is showing me it is because my software architecture has been developed to support this new instance.

In conclusion, cloud it’s great, in my opinion really great, but, and that’s very important, your architecture has to be prepared for new instances and you’ll have to manage your demand to get this new instance work. Once you’re sure your architecture can deal with this inconvenience, you’re prepared to the cloud!


Amazon Elastic Transcoder

Hi cloud lovers,

A few weeks ago Amazon Web Services announce Amazon Elastic Transcoder, and it is the first time I’m not happy with a new service of Amazon AWS. I suppose it’s caused because I’ve been working with my own solution of video encoding and it has lots of options than Amazon doesn’t offer me, and make me completely inviable trying to use their solution.

This opinion doesn’t mean than your company/project could take benefit of this simple encoder. If it fits your needs, provably it’s the best option, but, I’m sure, there are other companies with much more experience and options in the market.

In average we suppose a video size 100MB and 1 minute long for HD video.

If we compare prices: 0,49$ encoding minute ( 100MB = minute => 10.000MB / 100MB = 100 minutes => 49$ / 100 = 0,49$ minute )
AWS 0.30$ Minute for HD 0,08$ encoding minute ( 40$ for 1000 minutes / 2 for HD videos = 0,08$ minute ) 99$ fixed pricing

Amazon offers a great price and a very easy integration. If you just want an easy solution of video transcoding, AWS could be you option. Otherwise, if you need more tweaking, like strange video formats or more options that AWS doesn’t offer you, there are a lots of other options with great prices too that will fit you needs.

In my opinion, AWS is quite simple, and I’m completely sure that the future will upgrade this transcoder. For AWS the elastic transcoder is not their big service, it’s just another service to complement their cloud, and it has been focused too much in the mobile market and not in the rest of options. Provably this is the market with most potential users in the cloud at this days.

Time will answer all of this questions, until them, stay cloud!

MongoDB Courses

Hi everyone!

It has been a long time ago since the last post. I’ve been working an a very interesting course MongoDB for DBA. I will recommend this very interesting and useful course to anyone who wants to understand NoSQL databases, there is a lot of theory in the course, and at the same time it’s very practical, with exercises and a very interesting final exam!

Take a look, and if you have time to involved it, it’s a very good option to improve your knowledge!

And the best of all, it’s free ;D

And once you finished, they send you a certificate, here is mine ;) Click

MongoDB $regex not working

This will be a quick tip of Mongodb:

I usually try my regular expressions in a Regular Expression “helper” I use gskinner and it’s really nice. My problem appears when here it perfectly works, and not in Mongodb shell.

My regexp:


This regular expression match with any word that starts with a decimal [0-9]

What was my mongodb query?

db.zips.find({ "city" : { $regex : "\d\w*" } })

Where was my mistake?


I thought that the regexp has to be inside “” and it has to be between / /

The solution

 db.zips.find({ "city" : { $regex : /\d\w*/ } }) 

It works perfectly!

This happened to me later in Nginx, I think mongodb and nginx use Perl PCRE.

Useful links

MongoDB $regex doc: $regex
Regular Expression Cheat Sheet
Regular Expression helper: gskinner

Working with local Git and remote

Hi everyone!

Today I will talk about Git. As I suppose you know very well, or at least, you know a little bid of what is it. Git is a code version control software. There are others like SVN, Mercurial… but today I will talk about working with Git locally and deploy your source changes into remote machines. If you need more information about Git, check wikipedia, always useful ;). Link

First of all you have to have Git installed, this guide is quite simple and help you to install GIT in any OS.

Once we have git, we can initialize our first repo.

git init
git add *
git commit -m "First commit with all my initial source"

Here we have the first step, and this could be enough if you’re not going to deploy your code outside your box.

For example, if you have your webserver and you want to deploy your local changes in the source, you may have to do something like this. Other reason could be to have a external backup. If your source is replicated in other box, the possibilities of loosing all your work decreases, everything fails, sooner than you think ;)

Remote repos

In this example I will deploy my changes to my Amazon AWS EC2 machine.

I connect throw SSH to the machine and type this commands:

mkdir -p /var/git/example
cd /var/git/example
git init --bare

Now what we have to do is add a remote repository to our local repo.

We go to your local repo directory and type:

git remote add aws
git push -u aws master

At this point, we have replicated our repo in the cloud ;D easy, isn’t it?

Now what we want to do is to deploy our repo into the working directory, for example the Apache2 directory. In our remote machine, we go to the working directory and type the following:

cd /var/www/workingDirectory
git clone /var/git/example .

At this time we create a copy of the repo, with master branch prepared to serve your pages!

Now any changes you push to AWS you’ll have to enter in your working directory and pull changes. Easy!

cd /var/www/workingDirectory
git pull origin master

First post of GIT, more tricks soon!

Stay in the cloud!

NI NI NI, ni estudian ni trabajan ni se hacen la cama

Hola de nuevo,

Hoy me gustaría hablar de la crisis de valores que acecha nuestra sociedad,especialmente a la sociedad más joven.

Hace no demasiados años, ahora pronto hará 3, que abandoné el silbato como árbitro de baloncesto. Fueron más de 7 años, temporada tras temporada arbitrando encuentros entre equipos de diferentes categorías y edades. Fue una etapa que recuerdo con mucho cariño, no por los bonitos momentos, que los hubo aunque escasos, sino por todo aquello que me enseñó.

El arbitraje me proporcionó las herramientas para tomar decisiones, correctas o no, con la mayor rapidez posible y atenderme a sus consecuencias. Me ayudó a venderme a mi mismo y mis decisiones, no es facil pitar una falta en ataque a 15 segundos del final, pero si la ves tú instinto no te detiene. Pero de lo que me siento más orgulloso es de lo valores que aprendí, seguramente no todos los proporcionó el arbitraje, pero ayudaron a que afloraran y se reforzaran. Supongo que como árbitro eres a la vez juez a la vez profesor, debes enseñar lo que se debe y lo que no se debe hacer en una pista, y nunca nunca tolerar ningún tipo de falta de respeto o violencia.

En este artículo quería dar mi visión personal de los valores de la gente joven. Como parte de este grupo, observo a diario una enorme falta de valores y sobre todo de disciplina. No puedo decir que yo sea la persona más recta y disciplinada, sin duda he sido educado por los mismos profesores y planes de estudio y la vagancia era una de las asignaturas. Pero al menos, creo tener una visión crítica del momento en el que vivimos y cada día intento exigirme un poquito más a mi mismo.

¿Qué es un valor? Y para la gente joven ¿Qué significa tener valores? Qué valores puede tener una persona que no se interesa por nada, simplemente por salir de fiesta, jugar y dejar que todo se arregle !¿solo?! La cultura de los ni-ni’s, me gustaría extender el término a ni-ni-ni, ni estudian – ni trabajan – ni se hacen  la cama. (Y soy la persona menos indicada para decir esto, pero lo tomo a modo de ejemplo).

¿Qué es lo que motiva a esta grupo a ser así? Personalmente no podría estarme en casa sin hacer nada, siempre tengo proyectos que hacer, demasiados quizás… Qué valores tienen estas personas, ¿valores del esfuerzo? ¿Quién ha inculcado estos valores negativos? ¿Son los padres los que lo permiten? o ¿Es la escuela que no tiene herramientas para luchar contra esta ola de apatía?

¿Qué podemos hacer para que los niños, jovenes y adultos se sientan motivados en su día a día? Un niño debe ir a la escuela, y debería ir contento y “cantando” de alegría. ¿Qué podemos hacer entre todos para mejorar? Inculcar el esfuerzo, promover nuevas maneras de entender la realidad y sobre todo, fijarnos un objetivo y hacer todo en cuanto se puede para conseguirlo.

Para terminar, debemos disfrutar del camino, cada momento tiene sus cosas buenas y malas, de todo se puede aprender, que sea este post el inicio del cambio que nuestra sociedad necesita. No quiero ser un “mesías”, simplemente creo necesario recordar lo obvio, para que no se nos olvide, cosa que creo que es lo que ha estado pasado en los últimos tiempos.

Firmado, Capitán obvio :)