Bash vs C/C++

Ayer me quedé atascadísimo en un p*** if. Luego enteré que para Bash True = 0 y para C/C++ True = 1. Estaba pasando un script de un lenguaje a otro y para esta mierdecilla tardé 2 cafés (sí, yo mido el tiempo en cafés).

#include <iostream>
#include <stdlib.h>

int main() {
    if ( system ("grep -q relatime /etc/fstab") ) {
        std::cout << "   relatime ?: Esta";
    }
    else {
        std::cout << "   relatime ?: No esta\n"; 
    }
    return 0;
}

Para mí que eso lo deberían de poner en la página man de system.

Madrid: Makespace

Recientemente había cambiado mi residencia temporalmente de Sevilla a Madrid. Eso ha hecho posible que visite varios un Hackerspace (el otro no lo encontré). Makespace s encuentre en la calle Pedro Unanúe número 16, a unos 10 minutos de Atocha.

Fui un sábado por la tarde (tirando a noche) y aunque aquello estuviera vacío y fuera de “horas de visita”, Enrique (el único que se encontraba por allí) me enseñó un poco aquello. Me ha comentado que Makespace solo lleva algo mas de año y medio y que ya tiene unos 60 miembros. Me ha enseñado las instalaciones, un paraíso de impresoras 3D, máquinas CNC y un laboratorio de electrónica. Imaginaros entrar y no querer salir. Sigue leyendo

Arreglar Shellshock en Fedora 20

shellshockHola gente. Hace tiempo que no escribo, últimamente estoy bastante liado. Quería compartir el arreglo al fallo de vulnerabilidad de Bash conocido como Shellshock.

¿Cómo saber si lo tienes? Así de fácil:

VAR='() { echo "Funcion"; }; echo "Eres Vulnerable a Shellshock"'\
 bash -c /bin/true

Por lo visto existen dos vulnerabilidades. La original (CVE-2014-6271) y tras el parcheo “incompleto” de bash apareció una segunda vulnerabilidad (CVE-2014-7169).

Y aunque el equipo de Fedora ha creado ya una actualización donde se corrigen las dos vulnerabilidades, dicha actualización todavía no ha llegado a los repositorios (al menos los estables) de Fedora 20.

¿Cómo actualizar?

sudo yum -y install koji
koji download-build --arch=$(uname -m) bash-4.2.48-2.fc20
sudo yum localinstall bash*.rpm

Listo.

Mejorando Xfce

He tenido algunos problemas con KDE y el último de ellos me ha hecho abandonarlo, por muy bonito que me pareciera. Así que he vuelto a Xfce, que es uno de los pocos entornos de escritorio que siempre me han convencido. Y cómo no, la instalación por defecto da asco, al menos en Fedora

¿Qué hacer?

  • Quitar el panel número 2.
  • Ocultar automáticamente el panel 1.
  • Cambiar el theme a algo más agradable.
  • Mostrar el fondo del texto de los iconos transparente.
  • Mostrar el contenido de la carpeta personal en el escritorio.
  • Whisker Menu.

Sigue leyendo

Raspberry Pi Burn-apocalypsis, 49 días después

Han pasado 49 días desde que se me quemó mi Raspberry Pi principal. Hoy lo he conectado tras haberlo dejado estar, como recomendaban en el foro para que se arregle el fusible. Por desgracia no funciona.

Le he metido una SD sin overclocking. Se enciende el Led de corriente PWR, pero ya esta. No se calientan ni F3, ni RG2, ni D17, creo que se han arraglado por arte de… ciencia. El problema es que, no lo quise pensar por aquel entonces porque era lo peor que podía pasar, puede haberse quemado el micro. Mientras más tiempo pasaba, más pensaba en esta posibilidad.

“Nunca nunca nunca conectar corriente a través de los pines de P1 sin un fusible de por medio.”

Curiosamente no he usado el Pin 1 (P1-1) para dar corriente, sólo el Pin de la muerte (P1-2). Había entendido que el Pin 2 (P1-2) sí que pasa por el polifusible F3, estaba equivocado. Sigue leyendo

¿Actualizar Linux Mint 15 a 17? No problem

Esto es algo que escribí para fat_man, un usuario del foro de Desde Linux. Luego de escribirlo ví cuan largo era y decidí publicarlo también en el blog.

Empezando

Entiendo por qué la gente recomienda reinstalación por encima del upgrade, se ahorran complicaciones con futuros problemas (sí, me refiero a problemas con los problemas), pero no es la única solución. Uno puede actualizar el sistema sin necesidad de reinstalar.

El gran problema de actualizar es que a la larga no se incorporan cambios de archivos de configuración que hayan hecho el equipo de linux mint o ubuntu, o la distro que sea, puesto que que esto es aplicable a todas las distros.

No significa que las cosas dejen de funcionar, como a veces parece que la gente sugiere. Sigue leyendo

rpi-info

Raspberry Pi SN: 0000000012345678
CPU at 700 MHz and Temperature 46.5 C

He cambiado un poco el script que mostraba la velocidad y temperatura del procesador del Raspberry Pi. Ahora muestra también el número de serie.

Si lo añadimos a /usr/local/bin, estará en el PATH:

#! /bin/bash

freq=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq)
freq=`expr $freq / 1000`
temp=$(cat /sys/class/thermal/thermal_zone0/temp)
temp=`expr $temp / 100`
serial=$(cat /proc/cpuinfo | grep Serial)

echo "Raspberry Pi SN: ${serial:9}"
echo "CPU at $freq MHz and Temperature ${temp:0:2}.${temp:2:1} C"

No os olvidéis de hacerlo ejecutable.

Raspberry Pi, Burn Baby Burn

¡Joder! He quemado mi Raspberry Pi. Estaba intentando enecender la placa con una bateria de Li-ion de Samsung de 3.7 V y 800 mA, aunque lo medí con el voltímetro e indicaba 4.15 V.

La cosa es que conecte mal (al revés) los cables, por despiste. Inmediatamente olí a algo quemado y lo desconecte. Y me he pasado como 4 horas buscando y leyendo por Internet.

En ciertos lares llaman al GPIO Pin 2 o P1-2 el Pin de la muerte.

Para que conste como referencia, la manera correcta de proveer corriente al Raspberry mediante GPIO es conectar:

  • +5V a al pin P1-2 o P1-4.
  • Tierra al pin P1-6.

Como no usé el pin P1-1, que provee corriente de 3.3 V, no creo que haya quemado el SoC, o eso espero (la gris alternativa).

Ahora, al conectar el cable de corriente pasan varias cosas: Sigue leyendo

Mas sobre Raspberry Pi

El otro día hablé del porqué las placas Raspberry Pi apestan. Hoy, con la noticia de que Eric Anholt, el principal desarrollador del driver open source de Intel, Mesa, deja Intel para irse a trabajar a Broadcom, ha aparecido cierto revuelo en los foros de phoronix a cerca del Raspberry Pi. Lo interesante de todo eso es que Blackiwid, el cúlprito de la discusión, ha expresado mas o menos lo que yo decía, o por lo menos en la misma dirección.

Por citar algunas de las cosas que dice:

” Lo odio porque el RPi es un hardware muy lento y minimalista, está ya cerca de tener 2 años de antigüedad (la versión 2), tenía un procesador muy lento incluso comparado con otros socks arm que estaban en el mercad por aquel tiempo. [...] ¿quién compraría un hardware así de malo ahora o dentro de 1 o 2 años?”

Eso digo yo, si por lo menos trajera wifi integrada en vez de tanto puerto LCD y cámara, ese puerto PAL, etc. Sigue leyendo

Problemas con Adaptador Wifi ZyDAS

Estoy trasteando con PirateBox, pero he tenido problemas con el wifi. Despues de la instalación, no lanzaba una wlan.

Probé con dos adaptadores wifi diferentes, tanto con como sin Hub USB:

  • Edup EP-N8508 (Realtek 802.11n WLAN Adapter)
  • ZyDAS USB2.0 WLAN (Atheros)

Resulta que el servicio piratebox fallaba en iniciar:

$ systemctl status pirate box
...
Dec 31 17:00:18 alarmpi piratebox_alt[113]: failed setting up Interface
Dec 31 17:00:18 alarmpi systemd[1]: Failed to start PirateBox Service

Según me sugirieron en el foro oficial, podía ser que el driver no estuviera instalado, al fin y al cabo es una imagen minimalista (Archlinux). Sigue leyendo