Archive for the ‘General’ Category

Amazing description of a full stack web developer

Sunday, June 23rd, 2013

when did “web designer” become “front end developer”?

It never did.
“Web Designer” was a loaded term which doesn’t accurately describe the modern division of work for today’s sites and web applications. The closest thing we would call someone today who still would fit what we imagined “web designers” to do would be a “full stack developer”.
Back in the day of what I call “brochure” sites (static content, basically putting your company’s brochure online), you basically had one guy make your little site. It was easy, very little design or focus on experience, and people simply wanted to know/imagine they had some degree of an “online presence”.
Today, that task is divided up into specialized individuals. For those whom are not actually managing the product, you’ll have UX and/or UI designers handling the design side, engineers or backend developers handling the server side, and front end developers handling resources that touch the browser. You’ll also likely have DevOps handling automation and deployment, as well as QA.
The role of the front end developer is specific, and it needs to be specific because the job is far more involved than it was back when we were just making brochure sites. You have a multitude of browsers to worry about (IE8, IE9, IE10, Firefox, Chrome, Safari), a multitude of devices to worry about (mobile, tablet, desktop), and with fun paradigms like client-side templating, you actually have a lot of logic moving to the client-side and the server becomes merely an API to your data.
Having a dedicated designer is great – these people focus on the trends of design, usability and ensure everything meets the branding requirements. This was previously a function your “web designer” would serve, but there’s simply an upper limit to the number of things you can give your attention to. As the general population has moved to the web, the expectation for a good user experience on your site has dramatically increased, so having dedicated designers for this task proved imperative.
On the other side, the server side landscape changed quite a bit. We initially started off with a lot of Perl to do server side tasks (anyone remember cgi-bin?), but that was shitty as hell. Then came the web-specific languages of PHP and ASP. Crappy, what I would call a mess of global function “languages” which seemed to encourage a lack of separation between your view and logic. Then the explosion of languages came about, as Ruby, Python, Java and even ASP.Net came along with their web focused solutions. You now have more newcomers like Go appearing and making quite the impression. Equally, an explosion of databases came about, an no longer were we only looking into MySQL or MSSQL, but PostgreSQL, Redis, Cassandra, MongoDB and so on, each quite different from the rest. The job of server side had to be specialized to keep up with all the action.
And of course we get to the front end. Responsive design opened up a whole new world, saving us from a native mobile client hell. Caching and performance became huge factors, and such things as dynamic asset loading were alien and weird to someone on the server side used to simply calling everything you needed up front. Client side templating and AJAX meant we didn’t need to make a full round trip to the server just to show you a tiny bit of updated information, we could issue a tiny request and get a tiny response back in a fraction of the time, reducing bandwidth costs and improving the overall responsiveness of the site. We moved away from graceful degradation to feature enhancement. We introduced @font-face, became concerned with typography and vertical rhythm. We introduced SVG’s and inline-data into our CSS. We started splitting up our Javascript into modules using the AMD or Common patterns, and moved away from ugly onclick handlers to proper event handlers. In some cases we switched entirely from server side routing to client side routing, making our entire sites single page applications – and making those sites an order of magnitude faster. We dropped browser detection and switched to feature detection. We became concerned with our markup and adopted HTML5′s semantic tags rather than XHTML’s div-only world. We started storing state in local storage. Steve Saunders made us paranoid about caching.
And deployment changed as well. No longer were you just pushing code changes up via FTP upon save in Dreamweaver, you now had Git repos (and prior to that, SVN, and to that CVS) with real multiple environments. No longer were you just dealing with Apache, but nginx now with reverse-proxies for passing non-static asset requests through to their interpreters. Node.js hit the scene and introduced the option of evented servers. We stopped deploying to a single dedicated machine, but to the cloud. We had to start managing load balancing, VPS’s, and all manner of security concerns. We started using virtual machines to ensure your development environment was the same as the deployment environment. Then we started using Puppet and Chef to manage all those server and VM’s software configurations. Then we started using Vagrant to manage virtual machine configuration and deployment.
We started using Jenkins for continuous deployment. Capistrano to facilitate deployment. We implemented unit tests and integration tests, and test driven development. We introduced the agile method with scrums, stories, points, sprints and backlogs.
“Web designer” never became “front end developer”. The role was politely split up, divided, and handed out to specialists. It was just too much for any one individual.


Tuesday, May 17th, 2011

1.- OBJETIVO DE #NOLESVOTES. Las personas que apoyamos a la iniciativa #nolesvotes desde sus inicios, a la vista de la catarata de tergiversaciones vertidas por políticos y medios de comunicación, queremos recordar y subrayar que la iniciativa en ningún modo promueve la abstención, y que surgió para hacer una llamada al ejercicio del voto responsable el próximo 22-M. La iniciativa pide específicamente que no se vote a los partidos que responden a intereses distintos a los de la ciudadanía: PP, PSOE y CiU, pero recomienda que en su lugar se examinen otras opciones. La iniciativa no pide el voto para ninguna opción concreta: el voto es responsabilidad de cada ciudadano.

2.- HAZ DE TU PÁGINA UN CARTEL ELECTORAL. Las calles están llenas de carteles electorales, pero muchas personas no se ven representadas en ellos: la intermediación hizo que la política sea cada vez más lejana al ciudadano. Para subsanar tal déficit democrático, proponemos que todo ciudadano que así lo desee pueda convertir su blog, su web, su muro o su twitter en un “cartel electoral” del movimiento. Si quieres respaldar esta iniciativa, convierte tu sitio en Internet en un cartel electoral antes de las 24 horas del próximo día 20 de mayo, con el logotipo de #nolesvotes o de las plataformas con las que simpatices, y el texto “ni PP, ni PSOE, ni CiU”.

3.- COLABORACIÓN DISTRIBUIDA. Te invitamos a copiar este texto y construir páginas de enlaces que referencien todos los sitios que dan apoyo a la iniciativa. De igual modo, invitamos a los demás colectivos que comparten nuestra propuesta a que lleven a cabo acciones similares. La fuerza de la red reside en la distribución y colaboración entre sus nodos.

4.- TÚ ERES EL ALTAVOZ. Tan importante es la red como la calle: no te limites a actuar en internet. Levántate y explícaselo a todos tus conocidos, especialmente a aquellos más vulnerables a la propaganda en los medios de comunicación masivos.

5.- ACCIÓN. No te quedes en casa el domingo 22. Sal a la calle y ejerce tu derecho al voto. No votes a quienes, actuando abiertamente en contra de la voluntad e intereses de los ciudadanos, han convertido la democracia en una burla de sí misma. Por la participación democrática activa: ni PP, ni PSOE, ni CiU.


Fire effect with CSS3

Saturday, March 26th, 2011

This effect has been created with some Javascript for setting different CSS3 text-shadow’s in a div. You can check the iframe’s code to see how it’s done. Basically, the Javascript function creates 3 text-shadows (white, yellow and red) with coprime “cycle durations” so the effect looks more random even though it’s totally deterministic.

Each shadow moves in the Y axis with a linear function and in the X axis with a cosine function. Pretty simple, but effective.

<script type="text/javascript">
var step = 0;
function nextShadow(){
	shadow1 = Math.cos(step/3)*2+"px -"+(step%5)+"px "+(step%5)+"px white";
	shadow2 = Math.cos(step/3)*5+"px -"+(step%17)+"px "+(step%17)+"px red";
	shadow3 = Math.cos(step/3)*5+"px -"+(step%31)+"px "+(step%31)+"px yellow";
	$('#onfire').css("text-shadow", shadow1+", "+shadow2+", "+shadow3);
   setInterval(nextShadow, 10);

Update: I’ve added some randomisation to the algorithm, as well as an individual animation to each of the letters (which, as a drawback, makes the effect run less smooth). I’ve also added a fourth shadow in dark yellow. You can freely use the code by keeping the mention to this site and my name on it.

IPv4 addresses’ exhaustion

Saturday, January 15th, 2011

Ya queda poco. En 26 días no habrá más IPs que comprar. Aunque haya bastantes planes para que IPv4 siga funcionando un tiempo:

  • Crear un Mercado de IPs
  • Liberación de grandes bloques de IPs asignadas a entidades que no las usan

Pero a medio plazo, IPv6 estará con nosotros para quedarse, hasta que cada célula de nuestro cuerpo tenga una IP asignada :)

Regalo de Google de fin de año

Friday, December 31st, 2010

No hay nada como que Google ponga un Doodle de fin de año que enlaza a una búsqueda en Google (nochevieja) en la que tu página sale la cuarta (

Publicidad de Chrome alucinante

Friday, June 18th, 2010

Me encanta

Eleccionescuantoantes y el fraude

Thursday, May 27th, 2010

La COPE ha organizado eleccionescuantoantes. Me parece tan vomitivo que un medio de comunicación se posicione así políticamente (aunque no me sorprende, la verdad), que la forma que mejor conozco para invalidar “éticamente” su propuesta es con un programa en Python:

El Telediario y el estilo de comunicación

Wednesday, May 26th, 2010

El estilo de comunicación de los medios tradicionales está anclado en el pasado, en un mundo en el que la gente no estaba acostumbrada a recibir constántemente información. Es lento, pausado, repetitivo, y aburrido.

Cuando veo el telediario de TVE en directo, vale, pues es “la tele” y no tienes la opción  de pausar e ir adelante, o atrás. Pero hoy, que por temas de horario he comido tarde y lo he visto en TVE a la carta, es entonces cuando me he dado cuenta de que hablan despacio, con metáforas lentas. Como si estuviese pensado para personas de más de 50 años. Lo cierto es que la gran mayoría de televidentes pertenecen a esa franja de edad, pero para los jóvenes, aquellos que leemos más de 300 noticias al día, es caduco y sinsentido.

Se describe como “Con un estilo directo, claro, objetivo e imparcial, Telediario 1 analiza los hechos que se han producido durante la mañana.“. Pues bien, en mi opinión no es directo.

Para mí, no es que sobre con el Telediario en 4′ (que no es más que la introducción del Telediario), sino que en los 60 minutos que dura el Telediario, soy capaz de consumir 10 veces más información que la que dan. Y valoro mi tiempo.

Ah, y después de ver este post sobre una intervención de Daniel Cohn-Bendit añado: y además, me gusta profundizar en la información que me interesa. Y como me ha encantado, lo pongo:

Voto por el cambio, a quien sea, pero por el cambio.

Ortografía futbolera

Sunday, May 9th, 2010

Leo en este comentario:

soi sevillista enferrimo, de los que tienen el peinado como gorosito y lleban palillo asta durmiendo asin que mas sevillista que yo inposible, y reconozco que en los momentos inportantes somos lo que somo, un equipo que a comido 4 años jamon y que aora toca altramuces y chope como en nuestros 99 años restantes, con suerte ganaremo otra liga de 2b y arreglado, y esto de deci que le ibamo a dar la liga al madri nos a perjudicado, pero que nos cremos? nos creiamos con poder para decidir si le quitabamos la liga al barca? señores que semos el sevilla, tengamo 2 dedo de frentes..

o_O Vaya, es que ni a drede.

Hugo Weaving como icono generacional

Tuesday, May 4th, 2010

Alguien nacido en los 90: cuando ve a Hugo Weaving en Matrix dice “leches, si es Elrond”
Alguien nacido en los 80: cuando ve a Hugo Weaving en ESDLA dice “coño, el malo de Matrix”
Alguien nacido en los 70: cuando ve a Hugo Weaving en ESDLA o en Matrix dice “¡anda, el mariquita de Priscilla reina del desierto!”