pbzip2, un bzip2 más rápido

pbzip2, de parallel bzip2, permite aprovechar toda la potencia de los procesadores con más de un núcleo a la hora de comprimir o descomprimir, cosa que bzip2 no hace. Instalación En Ubuntu se encuentra disponible en los repositorios: $ sudo aptitude install pbzip2 Su uso es idéntico al de bzip2, por lo que podemos añadir un alias a ~/.bash_aliases: alias bzip2=pbzip2 Referencias » Speed Up Compression via Parallel BZIP2 (PBZIP2)

June 13, 2012 · 1 min · 70 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

webmin, configurando nuestro servidor a través del navegador

Webmin es una interfaz web para la administración de un servidor, compatible con cualquier navegador moderno, mediante la que podemos configurar cuentas de usuario, Apache, DNS, intercambio de ficheros, etc. Es una alternativa a la configuración manual de ficheros. Instalación Instalamos las dependencias: $ sudo aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions Descargamos el paquete para Ubuntu y lo instalamos: $ wget http://downloads.sourceforge.net/webadmin/webmin_1.580_all.deb $ md5sum webmin_1.580_all.deb 093c720a988125a536fa9fda16080fe6 $ sudo dpkg -i webmin_1.580_all.deb Para usar Webmin, accedemos al servidor en el puerto 10000. El usuario y la contraseña son los mismos que utilizamos para iniciar sesión en el servidor. ...

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

CVE 2012-2122, saltándose la autenticación para acceder a MySQL y MariaDB

Un fallo descubierto en MariaDB, y que también afecta a MySQL, permite saltarse la autenticación para acceder a la base de datos utilizando cualquier usuario válido, incluido el root, sin importar la contraseña. Cada vez que un usuario se conecta se genera un token SHA aleatorio y se compara con el valor esperado, pero bajo ciertas condiciones el resultado de esta comparación se considera válido aunque realmente no lo sea. Dado que el protocolo utiliza cadenas aleatorias, hay una probabilidad de 1/256 de que esto ocurra. ...

June 12, 2012 · 2 min · 255 palabras · Nacho Cano

CDE, creando aplicaciones portables en GNU/Linux

CDE es un programa desarrollado por Philip Guo que permite crear versiones portables de aplicaciones GNU/Linux, automatizando el proceso de empaquetado de código, datos y dependencias requeridos para ejecutarlas en otros equipos, sin que su uso requiera instalación ni configuración. Instalación Si queremos instalar la última versión en desarrollo: $ git clone git://github.com/pgbovine/CDE.git $ cd CDE $ make Una vez que termine de compilar, tendremos el programa ejecutable, cde. Creando aplicaciones portables Si queremos crear un versión portable, sólo tenemos que llamar al ejecutable que hemos creado pasándole como parámetro el nombre del programa. Por ejemplo, para crear una versión portable de gimp: ...

June 11, 2012 · 1 min · 166 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

Cambiar el firmware del router Comtrend AR-5381u por uno libre

Si tenemos un router Comtrend AR-5381u, uno de los que entrega Jazztel, podemos actualizar el firmware que trae por uno libre no oficial. ¿Por qué actualizar el firmware? Porque nos permite configurar completamente el router, sin restricciones. En particular, podremos cambiar el usuario de acceso al router o deshabilitar TS-069 (administración remota por parte de Jazztel y que es imposible deshabilitar con el firmware oficial) si queremos. Instalación Lo primero es escoger uno de los firmware disponibles. En mi caso, he probado el firmware 657003-457(AR-5382u-A731-406CTL-C01_R07).bin. Se puede descargar desde bandaancha.eu. ...

June 4, 2012 · 4 min · 743 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