Make columns same height on Bootstrap 3.x, even for Safari and iOS

When you work in the frontend side it’s rather easy to get things done with Bootstrap in a good and nice way, however sometimes things get more complex.

Today I faced one of those issues. On one of my projects I needed to display custom categories saved in the database by the customers and those categories could have images or icons to be displayed nicely.

Categories with good ratio images


Continue reading “Make columns same height on Bootstrap 3.x, even for Safari and iOS”

The Zen of Python

In my opinion this must be the Zen of any programming language and of every developer.

The Zen of Python

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!


Cambios importantes a partir de Chrome 80 en la gestión de Cookies. Seguridad y Privacidad.

Acabo de leer un artículo muy interesante que recomiendo encarecidamente a cualquier desarrollador de apps. Especialmente aplicaciones web.

Las cookies forman parte de los sitios web y de las aplicaciones web. Históricamente se diseñaron como un mecanismo simple de comunicación entre el servidor y el cliente, pero en la actualidad este mecanismo ha sido explotado y utilizado fundamentalmente para publicidad.

A partir de la version 80 de Chrome, por defecto, este navegador solo permitirá cookies del sitio que se visita, conocidas como “first party cookies”. Esto implica, que por defecto, todas las cookies que no provengan del sitio que se visita, “third party cookies”, serán bloqueadas.

Nuestra seguridad se verá incrementada porque será más difícil explotar ataques CSRF, pero al mismo tiempo la privacidad, al no utilizar cookies de terceros será imposible registrar los sitios web que vamos visitando.

En este artículo (en inglés) podréis leer perfectamente bien explicado todo el cambio e incluso encontrar herramientas para preparar nuestros sitios web y aplicaciones antes de Chrome 80.

BitBucket Pipeline configuration for PHP, MongoDB and Symfony

Recently I’ve been playing around with BitBucket and their Pipelines. Just to let you know BitBucket Pipelines is an integrated CI/CD service built into Bitbucket. It basically means that on every commit you make your tests will be ran and your code will be deployed.

They say in their official website that it has a really basic and simple configuration and as far as I could experiment, it really is.

Continue reading “BitBucket Pipeline configuration for PHP, MongoDB and Symfony”

Does Switching Jobs Make You a Worse Programmer?

Today I was doing some personal research for my new role in my company team and while I was looking for some topic about productivity and team management I found quite interesting this comment from

I decided to quote it directly to not cause confusion so you can directly read it as it is and get your own conclusion.

For me, it’s clear, it doesn’t make you a worse programmer, you just simply need some time to perfectly fit in the new team, you’ll learn new tools, concepts, languages and you’ll adapt to the way of working, after that your experience will help to improve those aspects. However take in consideration the big amount of time and energy you’ll need to keep up in the new team, in the new company. Because looking for a new job / starting in a new job, is a job itself.

Slashdot reader theodp shares some thoughts from Virginia-based cloud architect Forrest Brazeal, who believes that switching jobs or teams makes you — at least temporarily — a worse programmer:“When you do take a new job,” Brazeal writes, “everybody else will know things you don’t know. You’ll expend an enormous amount of time and mental energy just trying to keep up. This is usually called ‘the learning curve’. The unstated assumption is that you must add new knowledge on top of the existing base of knowledge you brought from your previous job in order to succeed in the new environment.

“But that’s not really what’s happening. After all, some of your new coworkers have never worked at any other company. You have way more experience than they do. Why are they more effective than you right now? Because, for the moment, your old experience doesn’t matter. You don’t just need to add knowledge; you need to replace a wide body of experiences that became irrelevant when you turned in your notice at the old job. To put it another way: if you visualize your entire career arc as one giant learning curve, the places where you change jobs are marked by switchbacks.”

He concludes, “I’m not saying you shouldn’t switch jobs. Just remember that you can’t expect to be the same person in the new cubicle. Your value is only partly based on your own knowledge and ingenuity. It’s also wrapped up in the connections you’ve made inside your team: your ability to help others, their shared understanding of your strengths and weaknesses, and who knows what else. You will have to figure out new paths of communication in the new organization, build new backlogs of code references pertaining to your new projects, and find new mentors who can help you continue to grow. You will have to become a different programmer.

“There is no guarantee you will be a better one.”
This seems counter-intuitive to me — but what do Slashdot’s readers think? Does switching jobs make you a worse programmer?

GitHub + Microsoft

Confirmado, Microsoft adquirió GitHub, y lo hizo por 7.500 millones de dólares, una de las operaciones económicas más costosas de su historia.

Según ha puntualizado Microsfot: “GitHub mantendrá su marca y operará de forma independiente.”

La operación es la tercera adquisición más importante en cuanto al montante económica de la misma. Microsoft pagó 26.200 millones de dólares por LinkedIn en diciembre de 2016 y 8.500 millones de dólares por SKype en mayo de 2011.

Al igual que hizo con LlinkedIn, Microsoft no influirá en la forma de operar de GitHub, por lo que inicialmente el servicio seguirá funcionando igual y GitHub seguirá operando de forma independiente “proporcionando una plataforma abierta para todo tipo de desarrolladores e industrias”.

Donde parece que habrá cambios es en la parte directiva de GitHub.

Dentro de un tiempo veremos como nos afecta esto al resto de desarrolladores que utilizamos GitHub.


How to create, publish and use private NPM packages

After a long time working with different package systems I decided to migrate all my packages and dependencies to NPM. And the result couldn’t have been better.

When NPM reached the 5.x version they included a lot of things that improved the performance, speed and security of the packages.

There’re two commands that I specially like a lot.

npm outdated
npm audit

Continue reading “How to create, publish and use private NPM packages”

Exploring ES6 – From jQuery to ES6 #1

Recently I started to migrate all my code from ES5+jQuery to ES6 for different projects. I discovered a lot of cool things. Of course, I also faced some issues and I thought would be great to share all the stuff I’m learning and fixing with the rest of the people planning to migrate to ES6 as well.

I’m gonna write a serie of small articles covering all the new ES6 features and how to migrate your code from previous ECMAScript versions or from jQuery code.

Continue reading “Exploring ES6 – From jQuery to ES6 #1”

Cancelando cuentas en Twitter y Facebook

Recientemente leí un artículo sobre un fallo grave de seguridad que afectaba a Github y Twitter. Aquí puedes leer el anuncio sobre este, en mi opinión, gravísimo fallo de segurdad.

Plaintext passwords in internal logs at Twitter and Github

  • Github notified a small subset of users that their passwords were visible in internal logs: link
  • Twitter asks for a password reset after discovering a similar issue: link

Continue reading “Cancelando cuentas en Twitter y Facebook”

Vagrant Ignoring ffi-1.9.14 because its extensions are not built. Try: gem pristine ffi –version 1.9.14

If you’re like me and don’t want to see errors or warnings every time you work with some tool in your system I  have something for you.

Have you ever seen these kind of warnings when working with Vagrant ?

Ignoring ffi-1.9.14 because its extensions are not built.  Try: gem pristine ffi --version 1.9.14
Ignoring ffi-1.9.10 because its extensions are not built.  Try: gem pristine ffi --version 1.9.10
Ignoring nokogiri- because its extensions are not built.  Try: gem pristine nokogiri --version
Ignoring nokogiri- because its extensions are not built.  Try: gem pristine nokogiri --version
Ignoring unf_ext- because its extensions are not built.  Try: gem pristine unf_ext --version
Ignoring unf_ext- because its extensions are not built.  Try: gem pristine unf_ext --version

Continue reading “Vagrant Ignoring ffi-1.9.14 because its extensions are not built. Try: gem pristine ffi –version 1.9.14”

Nueva Pre-Release 1.8.6 del SDK de Google App Engine


Google App Engine 1.8.6 SDK Pre-release ya disponible !!

Ya tenemos aquí un nuevo anuncio de la nueva pre-release del SDK de Google App Engine. Durante los últimos meses esstamos viendo cambios más continuados que están aportando más estabilidad al sistema.

En esta ocasion se han corregido varios errores relaciones tanto con el Datastore como con dev_appserver.

Continue reading “Nueva Pre-Release 1.8.6 del SDK de Google App Engine”

Todo protegido con Google Cloud Storage

La seguridad en Internet es algo suficientemente importante como para tomarlo muy en serio. Con más motivo ahora que se popularizan los servicios en la nube que nos permite disfrutar de nuestra música, emails, documentos, notas, amigos, contactos, agenda, en Internet, siempre accesible y desde cualquier dispositivo.

Google Cloud Storage es un servicio cloud computing que permite almacenar cualquier cosa que necesites. Recientemente han anunciado que de manera gratuita y automática todo el contenido se encripta antes de almacenarse en su plataforma.

Continue reading “Todo protegido con Google Cloud Storage”

Nueva Pre-release 1.7.7 del SDK de Google App Engine disponible

Desde que se anunciase, hace a penas 15 días, la última release de Google App Engine, se han sucedido una serie de problemas directamente relacionados con el nuevo dev_appserver2.

Acaban de anunciar una nueva Pre-release, Google App Engine SDK 1.7.7, centrada especialmente en las correcciones de todos estos problemas de dev_appserver.

Continue reading “Nueva Pre-release 1.7.7 del SDK de Google App Engine disponible”

Create a website or blog at

Up ↑