Aprendiendo a programar desde 0

Desde un buen tiempo a la fecha en el mundo de los video tutoriales en español está de moda el famoso "aprende …. desde cero" dónde puedes poner cualquier cosa en lugar de los puntos suspensivos, HTML5, CSS3, PHP, node.js, Angular, etc. Supongo que esta frase deriva del famoso estribillo nortemaricano "from zero to hero", que también se usa para marquetear cursos en línea. ¿Pero realmente es posible aprender cursos en línea sin saber nada previamente? Este post tratará de responder dicha pregunta.

Seguir leyendo

Unboxing y revisión del WeMos D1

El WeMos D1 es una tarjeta de prototipo que es del tamaño de un Arduino UNO, pero en lugar de usar un Atmel ATmega 328P, utiliza un ESP8266-12 como microcontrolador y puente WiFi a la misma vez. Todo por un costo menor a $7 (incluyendo envio en AliExpress). Esto vuelve a esta tarjeta ideal para aplicaciones de IoT (Internet de las cosas), algunas restricciones a tener en mente son estas:

  • Las entradas y salidas operan a 3.3V (a diferencia del Arduino UNO que operan a 5V).
  • Posee sólo una entrada analógica (sólo soporta entradas de 3.3V).
  • La velocidad del CPU es 80 MHz mucho mayor que la del Arduino UNO (16 MHz).
  • Necesita que se configuren los drivers del chip Serie/USB CH340G.

Aquí el video del unboxing y una revisión del mismo que incluye configuración además de un simple driving test subiendo un sketch de ejemplo (blinking):

Microsoft y el Open Source

Microsoft desde sus inicios siempre ha aplicado la conocida estrategia de "embrace and extend" o abrazar y extender en español; que consiste en adoptar el estándar (o la tecnología más popular) y añadirle extras que lo hacen incompatible pero que están alli para facilitar el trabajo del desarrollador o el usuario. Con el tiempo la extensión gana valor en base a que más personas la usan y eso termina dandole a Microsoft la fuerza necesaria para adquirir control sobre la dirección de la tecnología. Microsoft ha aplicado esa estrategia para superar a rivales durante su historia como compañía, pero ahora luego de haber perdido la supremacía en el mercado de los navegadores de Internet (browser), de nunca haber sido relevante en el mercado de dispositivos móviles y de jamas haber podido posicionarse como una compañía de la era Internet a pesar de los miles de millones gastados, ahora enfrenta la irrelevancia tecnológica a manos del rival más inesperado el Open Source y es por ellos que ahora está planeando aplicar su conocida estrategia de embrace and extend al Open Source, ¿podrá recuperar Microsoft el terreno perdido?

Seguir leyendo

Optimizando Raspberry Pi 2

Luego de haber instalado Raspbian usando NOOBS 1.3.12, debemos optimizar nuestro Raspberry Pi 2 si deseamos obtener un buen rendimiento y sobre todo si deseamos que nuestra tarjeta de memoria SD no muera rápidamente. Es un hecho comprobado que una tarjeta SD/microSD tiene un número de limitado de ciclos de escritura. Es posible leer todo lo que deseemos la tarjeta, sin embargo sólo podemos escribir en ella un número limitado de veces. Una cosa es usarla para grabar videos o fotos en un sistema de archivos como FAT32, para lo que se diseño y otra muy diferente usarla como un sistema de archivos con journaling como lo es ext4.

Seguir leyendo

El bashocalipsis ha llegado

Para aquellos que no se han enterado, desde ayer todos los sysadmin del mundo estamos tratando de parchar todos los servers bajo nuestra supervisión debido a una vulnerabilidad muy grave de bash reportada por Stéphane Chazelas que afecta a todo sistema Unix/Linux, podría permitir en teoría a cualquier atacante remoto ejecutar programas en el shell desde scripts CGI y usando vulnerabilidades locales escalar privilegios hasta root, con lo cual el servidor queda expuesto por completo a los hackers. Arstechnica reportó hace pocos minutos que ya existe un gusano que está explotando esta vulnerabilidad.

Por favor todos a parchar los servidores, especialmente si usan control panel como CPanel, Plesk o ISPConfig, ya que todos estos paneles de control ofrecen acceso a CGI.

Cómo se si mi sistema es vulnerable, pues básicamente si ejecutas este comando en el shell:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

Y obtienes esta respuesta:

vulnerable
this is a test

Si tu sistema no es vulnerable obtendras esta respuesta:

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test

El parche para los sistemas con RedHat/Centos es básicamente hacer un "yum upgrade bash". Para Ubuntu todo se resuelve con un "sudo apt-get update && sudo apt-get upgrade". Lamentablemente para Debian, sólo existe un parche para Wheezy (Debian 7.0), si aún usas Squeeze (Debian 6.0) la única manera de parcharlo es agregando el repositorio squeeze-lts (aún experimental), pero la única alternativa por el momento.

Si tu sistema usa Debian 6.0 (Squeeze), aquí está lo que debes de tipear para parcharlo:

apt-get install debian-keyring debian-archive-keyring

echo "deb http://http.debian.net/debian/ squeeze-lts main contrib non-free" >> /etc/apt/sources.list.d/security.sources.list

echo "deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free" >> /etc/apt/sources.list.d/security.sources.list

apt-get update

apt-get upgrade

Espero que esta información les sea de utilidad.

UPDATE: Si quieren comprobar si el servidor web donde hostean su web es vulnerable a un ataque de este tipo purden usar esta herramienta:

http://shellshock.brandonpotter.com/