Cómo añadir SyntaxHighlighter a Blogger


¿Queréis añadir código a vuestras entradas de Blogger? Bien, vamos a explicar qué debemos hacer para que este quede resaltado con SyntaxHighlighter.

Lo primero vamos a nuestro panel de control de nuestro blog y nos vamos a "Plantilla -> Editar HTML".
Ahora pulsamos "CTRL + F" (para buscar) y ponemos </html> .Justo antes pegamos el siguiente código:

Arduino DFU Tutorial (Device Firmware Update)


La comunicacion de los Arduino UNO y el Arduino MEGA 2560 utiliza un chip AVR con un firmware que establece la comunicación del host por USB Serial interface y el MCU (chip principal) TTL serial port. Tanto el Arduino UNO R1 como el R2 utilizan el Atmega8u2, y el R3 utiliza el Atmega16u2.
Estos chip pueden ser reprogramados mediante DFU, lo que nos permite convertir el arduino en cualquier tipo de dispositivo USB (teclado, ratón, joystick, MIDI, etc.).
Vamos a instalar las librerias necesarias en Ubuntu (o derivados, como Debian, Elementrary OS...).
sudo apt-get install build-essential libusb-1.0-0-dev automake autoconf
Nos descargamos la última versión desde aquí (click).
tar xzf ~/Downloads/dfu-programmer-0.6.2.tar.gz cd dfu-programmer-0.6.2
#Configure 
./bootstrap.sh 
./configure 
make 
# INSTALL 
sudo make install
Ahora conectamos nuestro arduino al USB y conectamos estos dos pines durante unos segundos y los desconectamos. Escribimos en una terminal:
lsusb
Y nos debe de aparecer en uno de los buses como "Atmel Corp". Bien, ya tenemos el arduino en DFU. Ahora nos descargamos el firmware correspondiente desde aquí (click).
Si tenéis un Arduino UNO R3 (como es mi caso) os tenéis que descargar este (click).
Para descargároslo copiáis el link haciendo click derecho sobre "Raw" y "Copiar dirección de enlace." ahora en una terminal escribís:
wget (y la dirección web que tenéis en el portapapeles)
Ahora escribimos esta secuencia para subir el firmware:
sudo dfu-programmer atmega16u2 erase sudo dfu-programmer atmega16u2 flash Arduino-usbserial-atmega16u2-Uno-Rev3.hex sudo dfu-programmer atmega16u2 reset
Desconectamos el arduino del USB,lo volvemos a instalar y listo!
Ya sabemos como cambiar el firmware, en este caso hemos actualziado la versión. Es importante que tengáis el archivo que os habéis descargado porque es el original de arduino y lo necesitaréis para cargar los sketchs, ya que los otros firmwares no lo permiten.
Nota: si tenéis otro modelo de chip tenéis que cambiar el "atmega16u2" por el que tengáis vosotros.
Happy hacking. Twitter: @Pirobtumen

Ubuntu: Alternar entre GDM, LIGHTDM, MDM o KDM

lightdm / gdm

La pantalla de inicio de sesión de ubuntu es por defecto LightDM. Si tenemos instalado otro gestor de ventanas como gnome y queremos cambiarlo lo único que necesitamos hacer es ejecutar este comando:
sudo dpkg-reconfigure gdm 

Introucimos nuestra contraseña en el prompt y se nos abrirá el gestor. Bien ahora con las flechas seleccionamos el que queramos, pulsamos "enter" y ¡Listo!
  • Nota: si no tenemos instalado gdm, sustituiremos en el comando "gdm" por el gestro que tengamos. Ejemplo:
sudo dpkg-reconfigure lightdm


Twitter: @Pirobtumen

Project Euler


Project Euler es una interesante página web donde se planean diferentes retos matemáticos que, más allá de requerir conocimientos de matemáticas, necesita de conocimiento informático para poder conseguir resolver los problemas.

Es bastante interesante ya que algunos no son nada fáciles, y si realmente os gusta y tenéis un rato libre os animo a ver cuantos problemas sois capaces de resolver.


Twitter: @Pirobtumen

Never Wet, recubrimiento superhidrofóbico

A todos nos gustría que cuando se nos explotase un bolígrafo, estemos comiendo, cocinando.. o cualquier otra situación en la cual nuestra ropa quedase expuesta a mancharse no lo hiciese.

Nada más lejos de la realidad tenemos a "Never Wet", un recubirmiento superhidrofóbico que se adapta a cualquier objeto y que impedirá que este se moje o manche. Atentos:



Visto en Xataka
Twitter: @Pirobtumen

Whatsapp deja de ser gratuito


Sí, como ya se comentaba por la web esta aplicación gratuita hasta ahora pasa a ser de pago para todas aquella personas a las que llegada la fecha en la que, para cada uno, caduca. Esta vez me ha tocado a mí: ya no es como antes que salía una alerta y cuando este llegaba a su fin simplemente se renovaba el servicio, no, ahora hay que pagar ¡0.89€! al año.
Realmente no es casi nada y después de todos estos años los desarrolladores nos han estado ofreciendo un servicio totalmente gratuito y sin publicidad, por lo que tampoco podemos quejarnos ya que pagar esa insignificante cantidad será una ayuda para estos.

De toddas formas tenemos otras alternativas como puede ser Google Talk, Line, etc. pero para mí la que más me gusta es Line, el único incoveniente es que aún la mayor parte de los contactos disponen del servicio de whatsapp pero cuando se les acabe, ¿pagarán?
Por tanto, ¿merece la pena realmente pagar ahora para que luego no se use?
En mi opinión poner de pago la aplicación va a causar que miles de usuarios dejen de usarla, algo que supondrá un duro golpe que favorecerá a sus competidores.
De todas formas el servicio o aplicación más útil para cada usuario es aquél que usen la mayor parte de sus contactos.

Atención: se rumorea en internet que a los pocos días de haber caducado Whatsapp, parece que se vuelve a reactivar sola la cuenta por otro período de tiempo según han afirmado otros usuarios (noticia).

Por ahora lo mejor es esperar a ver que sucede. Yo ahora mismo no tengo whatsapp, si me lo renuevan gratuitamente avisaré.

Twitter: @Pirobtumen

Primeros pasos Arduino (Parte 2)

En el post anpost anteriorterior comentaba cómo configurar el arduino en ubuntu y probar el primer programa. Bien, ahora vamos a entender el código que usamos.

En Arduino un programa, por simple que sea, debe de estar formado por dos funciones principales:

setup(){...}
loop(){..}

  • Setup: se ejecutará cuando el arduino se inicie o se resetee.
  • Loop: es el bucle principal del arduino.
Por tanto para definir variables y funciones lo haremos antes de la funcion setup().
Pasemos a analizar el código para aprender la sintaxis:
/* Esto es un comentario
que pueede ocupar
varias líneas */
// Comentario de línea

int led = 13; //Declaramos la variable led como "integer" y le asociamos el pin 13

//Cada vez que se resetee
void setup() {
//Inicializamos el pin (13) led como salida
pinMode(led, OUTPUT);
}

// Bucle principal
void loop() {
digitalWrite(led, HIGH); // Establece el pin led al voltaje "high" 5V
delay(1000); // Espera 100ms (1s)
digitalWrite(led, LOW); // Apaga el pin led
delay(1000); // Espera 100ms (1s)
}


  • Comentarios multilínea con: /* */
  • Comentarios de una línea con //
  • pinMode(numeroPin, Valor): establece el pin numeroPin (que es un número) como "OUTPUT" (salida) o "INPUT" (entrada).
  • digitalWrite(numeroPin, Valor):cambia el voltage de los pines correspondientes a las salidas digitales a "HIGH" (alto) o "LOW" (bajo).
  • delay(x): espera x milisegundos.
Es importante saber que tanto los pines analógicos (0-5) como los digitales (0-13) pueden actuar tanto como entrada como salida.

Poco a poco iremos aprendiendo a hacer cositas cada vez un poco más complejas.
Esta entrada finaliza los primeros pasos con arduino ya que en este punto conocemos lo básico sobre arduino para hacerlo funcionar.
En siguientes entradas iré explicando nuevas funciones.


Twitter: @Pirobtumen