Code vs. power consumption

I’ve been wondering for some time whether the power consumption of an ATmega varies depending on the code it is running. Obviously, sleep modes and clock rate changes have a major impact – but how about plain loops? » jeelabs.org

June 16, 2012 · 1 min · 40 palabras · Nacho Cano

Linux: The 0.01 Release

”This is a free minix-like kernel for i386(+) based AT-machines,” began the Linux version 0.01 release notes in September of 1991 for the first release of the Linux kernel. ”As the version number (0.01) suggests this is not a mature product. Currently only a subset of AT-hardware is supported (hard-disk, screen, keyboard and serial lines), and some of the system calls are not yet fully implemented (notably mount/umount aren’t even implemented).” Booting the original 0.01 Linux kernel required bootstrapping it with minix, and the keyboard driver was written in assembly and hard-wired for a Finnish keyboard. The listed features were mostly presented as a comparison to minix and included, efficiently using the 386 chip rather than the older 8088, use of system calls rather than message passing, a fully multithreaded FS, minimal task switching, and visible interrupts. Linus Torvalds noted, ”the guiding line when implementing linux was: get it working fast. I wanted the kernel simple, yet powerful enough to run most unix software.” ...

June 16, 2012 · 1 min · 166 palabras · Nacho Cano

El Top 7 de dilemas que enfrentan los desarrolladores de hoy

Tu jefe lo quiere para ayer, pero más vale que cumpla con los standards de mañana. Los clientes quieren todas las características que se puedan imaginar, pero no te atrevas a confundirlos dándoles todos los botones que desee. Tus compañeros programadores quieren que documentes tu código, pero ellos simplemente responden ”tl;dr” (Too Long; didn’t read) a cualquier cosa que escribes. Así como la tecnología evoluciona, también lo hacen los dilemas que enfrentan los desarrolladores. Cada elección, desde la plataforma hasta el almacenamiento de datos, incluyendo a cuánto control darle a los usuarios, está cargada de preguntas. Y gracias a la nube, el crecimiento de la tecnología móvil y la acelerada vanguardia, pareciera como si el mundo de la programación enfrentara una nueva elección – y dilema – a un ritmo creciente. ...

June 16, 2012 · 1 min · 133 palabras · Nacho Cano

Sócrates y el efecto Dunning-Kruger

El efecto Dunning-Kruger se puede expresar de la siguiente manera: los peores trabajadores/estudiantes/participantes son los que menos conscientes son de su propia incompetencia. Toma su nombre de un estudio de 2003 que realizaron Dunning, Kruger y otros con estudiantes universitarios con respecto a los resultados de sus exámenes. Después los resultados han sido reproducidos en varias ocasiones, por ejemplo con estudiantes de medicina a la hora de evaluar su capacidad para realizar entrevistas de diagnóstico, con administrativos evaluando su rendimiento o con técnicos de laboratorios médicos calibrando su nivel de dominio del trabajo. ...

June 14, 2012 · 1 min · 95 palabras · Nacho Cano

La falacia del Programador Perdido

La semana pasada desayuné con un polémico artículo de Enrique Dans titulado ”El Programador Perdido”, en el que lamentaba la falta de buenos programadores en España. Programadores con cabeza y riñones suficientes para sacar adelante un proyecto ganador en una industria global y competitiva como Internet. Si quieres encontrar un buen programador, básicamente sólo tienes que hacer una cosa: pagarlo. Pero esa presunción –como las comparaciones con la supuesta calificación y estatus de los programadores extranjeros- es errónea y estereotipada. Después de más de 10 años trabajando en la industria del software, tanto en España como en eso que llaman Silicon Valley, yo conozco otra verdad. Una verdad incómoda. ...

June 12, 2012 · 1 min · 111 palabras · Nacho Cano

Client-Side vs. Server-Side Rendering

Yesterday Twitter announced that it was moving away from client-side rendering back to server-side rendering in order to improve page load time. Today I found myself having to defend my position that server-side rendering will almost always be faster. I figured I’d blog about it. I want to point out a couple things. First, I’m talking specifically about render performance and page speed. There might be other compelling advantages to thick-clients; I’m talking about performance. Secondly, I’m going to get on a high horse here and say that it worries me that developers think client-side rendering is faster. This is basic and fundamental knowledge about how the web and browsers work. Maybe I’ll be proven wrong. If I am, I’ll admit it. It’ll be embarrassing because it means that I don’t know the fundamentals. But I’ll be glad to have learned (which is why I blog). ...

June 4, 2012 · 1 min · 148 palabras · Nacho Cano

OAuth - Open Authorization Protocol

Cuando en 2006 los ingenieros de twitter estaban tratando de implementar OpenID para permitir a los desarrolladores de aplicaciones acceder a su API sin que los usuarios tuvieran que introducir sus credenciales en la propia aplicación, se dieron cuenta, por un lado, de que OpenID no era la solución que necesitaban y, más importante aún, de que no existía ningún estándar que permitiera hacer algo parecido. Comenzaron entonces a trabajar en la implementación de OAuth, que pronto fue apoyada por otras empresas como Google. Hasta que por fin, en octubre de 2007, se publicó OAuth 1.0. Aunque no fue hasta agosto de 2010 que no se aprobó como estándar RFC 5849. ...

June 4, 2012 · 1 min · 142 palabras · Nacho Cano

Deuda técnica

¿Qué desarrollador de software nunca ha estado una semana programando a toda velocidad, casi sin saber que hace, ya que la fecha de entrega está cerca y todo tiene que estar terminado ”para ayer”? ¿Quién no se ha encontrado en la situación de saber que está programando una chapuza, pensando que otro día lo mejorará, y ese día nunca llega? ¿Quién alguna vez, al ver una porción de código fuente no ha exclamado indignado: ¡qué narices hace este código! o ¡quién leches lo ha programado!? ...

June 4, 2012 · 1 min · 147 palabras · Nacho Cano

Porque robar a los pequeños es más fácil

Porque, en el mejor de los casos, seguimos pensando que ver la ”s” de https:// y un candado cerrado en nuestro navegador web nos asegura que la página que visitamos es legítima. Porque pensamos que si tecleamos el nombre del dominio en la barra de direcciones no es posible que estemos visitando una página fraudulenta. Porque nos conocemos al dedillo la aplicación de banca electrónica de nuestra entidad financiera. Porque si esta página nos solicita más caracteres de lo habitual a la hora de introducir la contraseña no sospechamos. Porque si tras autenticarnos en la misma nos solicita todas las posiciones de la tarjeta de coordenadas, en muchos casos las seguimos introduciendo. ...

June 4, 2012 · 1 min · 117 palabras · Nacho Cano

How to Have Fun Programming

I may not be a great programmer, but I have a ton of fun programming. As a self-taught hacker, I’ve always enjoyed programming to a great extent–but everyone has their ups and downs. These are simply my reflections about what makes me happy while programming, and serves as reminder to myself why I should keep pushing onwards! » rdegges.com

June 3, 2012 · 1 min · 59 palabras · Nacho Cano