Actualización de seguridad Bash “Shellshock”

Leyendo por Internet y gracias a un correo que he recibido me ha llegado una notificación diciendo que se ha detectado una vulnerabilidad donde el atacante puede saltarse las restricciones del entorno y ejecutar comandos de shell desde bash de forma indiscriminada. A esto se le llama [mark]Shellshock[/mark].

El problema de esto es que hay servicios y aplicaciones que proporcionan acceso a estas variables de entorno por lo que permiten explotar dicha vulnerabilidad desde estas aplicaciones y servicios. Resumiendo, que no necesitan acceso directo directo a la línea de comandos, terminal o SSH para aprovecharse de este fallo de seguridad.

Por este motivo y al disponer de un VPS he tenido que actualizar de forma inmediata la versión de bash para solucionar lo antes posible este bug. Por eso si tu también dispones de un servidor con Linux, te recomiendo que lo actualices, si es que no lo has hecho ya.

¿Cómo se si mi servidor es vulnerable a este fallo de seguridad?

Para saber si tu servidor tiene una versión de bash afectada por esta vulnerabilidad, tan solo, tienes que acceder a él mediante SSH y ejecutar el siguiente código en a línea de comandos:

Si es vulnerable la salida estándar de este comando te devolverá la palabra [mark]Vulnerable[/mark]. Si no es vulnerable no te devolverá nada.

¿Cómo solucionar este fallo de seguridad si me servidor está afectado?

Tienes que acceder a tu servidor por SSH con usuario [mark color=yellow]root[/mark] y ejecutar los siguientes comandos dependiendo de tu distribución de Linux.

Para saber tu versión de Debian ejecuta:

Solucionar “Shellshock” en Debian 7 y Ubuntu

Solucionar “Shellshock” en Debian 6

Para actualizar bash en Debian 6, primero tenemos que agregar un repositorio. Para ello tenemos que editar el siguiente archivo:

Y agregar la siguiente línea al final del mismo:

Una vez agregado el repositorio seguir los pasos que hemos realizado para solucionar el problema en Debian 7.

Para terminar, tendremos que borrar la línea que hemos agregado en el fichero [mark]sources.list[/mark]

Si en esta versión de Debian aparece un error como este: [quote]W: GPG error: http://ftp.us.debian.org squeeze-lts Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY XXXXXXXXXXXX[/quote] tendremos que ejecutar los comandos:

Poniendo el mismo [mark color=yellow]id[/mark] en las XXXX que aparece en el error.

Soluciona “Shellshock” en CentOS, RHEL, Fedora, Scientific Linux

Una vez hecho esto ya habremos solucionado el fallo de seguridad de nuestros servidores Linux. Para estar seguro de ello podremos ejecutar la línea del principio y ver si devuelve la palabra [mark]Vulnerable[/mark], o si todo es correcto, no devolver nada.

Probando una pantalla LCD con Arduino

Después de una cuentas semanas trasteando con mi Arduino Uno Rev. 3, aquí os traigo otra entrada en el blog para explicaros el funcionamiento de una pantalla LCD de 16×2 (16 caracteres y 2 columnas), la cual me venía cuando compré el Arduino.

Lo bueno de este LCD es que viene con un módulo soldado para la comunican en serie por I2C, así de esta forma nos ahorramos una buena cantidad considerable de pines.

Este display LCD está basado en el controlador HD44780 donde son necesarios 8 pines del Arduino para conectarlo y hacerlo funcionar, pero como ya he comentado, en este caso trae un módulo soldado para hacer la conexión por I2C, así de esta forma tan solo necesitaremos 2 pines más la alimentación a 5v.

[box]

I²C es un bus de comunicaciones en serie. Su nombre viene de Inter-Integrated Circuit (Inter-Circuitos Integrados). La versión 1.0 data del año 1992 y la versión 2.1 del año 2000, su diseñador es Philips. La velocidad es de 100 kbit/s en el modo estándar, aunque también permite velocidades de 3.4 Mbit/s. Es un bus muy usado en la industria, principalmente para comunicar microcontroladores y sus periféricos en sistemas integrados (Embedded Systems) y generalizando más para comunicar circuitos integrados entre si que normalmente residen en un mismo circuito impreso.

La principal característica de I²C es que utiliza dos líneas para transmitir la información: una para los datos y por otra la señal de reloj. También es necesaria una tercera línea, pero esta sólo es la referencia (masa). Como suelen comunicarse circuitos en una misma placa que comparten una misma masa esta tercera línea no suele ser necesaria.

Las líneas se llaman:

SDA: datos
SCL: reloj
GND: tierra

[/box]

Módulo I2C

Módulo I2C

Para hacer la conexión con el módulo I2C, la librería que viene por defecto en el IDE de Arduino no funciona por lo que necesitamos otra llamada LiquidCrystal_I2C, la cual la podemos descargar desde aquí abajo. Esta librería reemplaza la que ya viene con el IDE y según su creador dice que es mucho más rápida que la ofrecida por el IDE.

[button type=”big” icon=”upcoming-work” url=”https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/LiquidCrystal_V1.2.1.zip” data-target=”blank”]Descargar librería (550KB)[/button]

[box color=”green” icon=”sign-in”]Una vez descargada la librería tendremos que copiarla y pegarla en la carpeta libraries, que se encuentra donde tengamos instalado el software de Arduino.[/box]

Conexionado de hardware

La conexión del LCD se queda de la sigueinte forma:

  • El pin GND del display al pin GND del Arduino.
  • El pin VCC del display al pin 5V del Arduino.
  • El pin SDA del display al pin analógico 4 del Arduino.
  • El pin SDL del display al pin analógico 5 del Arduino.

La dirección del displays es 0×27. Esta dirección se configura usando los pines 1, 2 y 3 del controlador I2C PCF8574.

Tabla de direcciones I2C para el controlador PCF8574.

Tabla de direcciones I2C para el controlador PCF8574.

El código

Y aquí esta el resultado:

LCD Arduino

LCD Arduino

Código para saber la dirección I2C

Como siempre pongo el código del sketch usado en mi cuenta de Github para que lo podáis descargar de forma fácil. Además se hacen sugerencias y modificaciones del código.

[button type=”big” icon=”upcoming-work” url=”https://github.com/dorcu/LCD-para-Arduino” data-target=”blank”]Descargar código desde GitHub[/button]

Fuentes: [icon name=”bookmark”] Wire [icon name=”bookmark”] I2C Scanner

Medidor de distancia con Arduino y sensor HC-SR04 (II)

Aprovechando la entrada anterior donde explicaba el funcionamiento de un sensor HC-SR04 he decidido modificar un poco el código para agregar unos les de color verde y rojo. Así cuando tengamos un objeto cerca se encenderá el rojo y cuando lo alejemos se encenderá el verde.

En este caso necesitaremos un Arduino Uno Rev 3, un led de color verde, un led de color rojo, dos resistencias de 220 ohmios. Para el que no lo sepa los colores de esta resistencia son rojo, rojo, marrón.

Como ya comenté en el post, como hacer un medidor de distancias con Arduino y un sensor HC-SR04, hace falta que nos bajemos la librería llamada Ultrasonic, descomprimirla y subirla a la carpeta [mark]libreries[/mark], que se encuentra donde hayamos instalado el Sketch de Arduino.

[button] Descargar librería Ultrasonic [/button]

El sensor

Como ya sabemos, el sensor dispone de 4 patillas que las conectaremos de la siguiente forma: VCC a 5V, GND a GND, TRING y ECHO. Como vamos a usar el código del post anterior usaremos los mismos pines de Arduino que son  el TRING a la 7 y el ECHO a la 8.

El esquema

Una vez más os dejo el esquema realizado con el programa Fritzing, el cual es bastante visual y creo que de esta forma se entiende mucho más el como conectar los cables y demás componentes electrónicos.

Medidor de distancias con HR-SR04

El código

Como podéis ver el código es muy parecido al anterior, tan solo tenemos que usar dos pines más para los leds y crear un simple [mark color=”yellow”]if[/mark] para decir que si la distancia es menos a 10cm se encienda el led rojo y apague el verde y si es mayor que 10cm que haga lo contrario.

 [button] Descargar código desde Github [/button]

Ya sabéis que si tenéis alguna duda o queréis comentar lo que queráis respecto al código o al esquema lo podéis hacer mediante los comentarios de abajo.

Medidor de distancia con Arduino y sensor HC-SR04

Hoy voy a traer otro tutorial para Arduino, el cual también es muy sencillo de usar, donde haremos un medidor de distancias con el sensor de ultrasonidos HC-SR04. Así de esta forma podremos medir la distancia de un objeto.

La idea es enviar una señal sonora casi inaudible, para algunos es totalmente inaudible, que rebote en el objeto y al regresar de nuevo al sensor medir cuanto ha tardado en hacer el trayecto, así de esta forma sabremos la distancia.

La velocidad del sonido en el aire (a una temperatura de 20 °C) es de 343 m/s, por lo que el eco tiene que ir y volver, si sabemos que el eco ha tardado [mark color=”yellow”]t[/mark] segundos, entonces tenemos que la distancia en metros [mark color=”yellow”]d[/mark] es igual:

[mark]2d = 343 * t[/mark] de donde obtenemos [mark]d = (343 * t) / 2[/mark]

Esto es la teoría, la cual no nos va hacer falta para realizar este ejercicio ya que para ello existe la librería Ultrasonic, que tendremos que bajar desde el enlace de abajo, descomprimirla y subirla a nuestra carpeta [mark]libreries[/mark] del compilador IDE.

[button] Descargar librería Ultrasonic [/button]

El sensor

Este sensor modelo HC-SR04 dispone de cuatro patillas que son entrada VCC a 5V, GND a GND, TRING y ECHO estas dos van a entradas digitales de nuestra elección. Para el ejemplo que pongo he conectado el TRING a la 7 y el ECHO a la 8.

HC-SR04

El esquema

Aquí os dejo el esquema realizado con el programa Fritzing, así de esta forma no tendréis dificultades a la hora de realizarlo vosotros.

Medidor Distancias con Arduino

El código

Esta librería tal cual viene con un timeout o tiempo de espera de 3ms por lo que la distancia máxima que medirá será de 51cm. La ventaja de tener un timeout tan bajo es que se pueden hacer muchas mediciones en poco tiempo. Si os parece poco podéis cambiarlo en el fichero: [mark color=”yellow”]Ultrasonic.cpp[/mark]

Buscamos [mark]Time_out=[/mark] que estará a 3000 y ponemos por ejemplo 30000 para 5 metros y grabamos.

[button] Descargar código desde Github [/button]

Con este mismo código pero modificado pretendo en entradas futuras agregar algunas modificaciones como agregarle una pantalla LCD o algunos leds. Así que si os ha gustado o queréis dejar algún comentario con alguna sugerencia. ¡Adelante!

Enviar un tweet con PHP usando la API 1.1 de Twitter

En esta entrada del blog pretendo explicar como enviar por ejemplo un tweet con PHP usando la API 1.1 de Twitter, además decir que es una continuación del post anterior donde explico como crear nuestra aplicación en Twitter Developers.

Por este motivo si te interesa saber como usar la API versión 1.1 de Twitter, te recomiendo que antes leas el otro post para crear la app en Twitter.

El código

Como se puede comprobar necesitaremos modificar el código con nuestros datos de Twttier. Necesitaremos modificar: [mark]$consumerKey[/mark] [mark]$consumerSecret[/mark] [mark]$oAuthToken[/mark] [mark]$oAuthSecret[/mark]. Estos datos tendremos que sacarlos de nuestra app de Twitter.

Este código es realmente simple pero explica el funcionamiento básico de la API de Twitter. Además podremos hacer mas cosas como comprobar quien te ha dejado de seguir, seguir a usuarios, dejar de seguir, crear listas, etc. Para más información tendremos que revisar la documentación de Twitter.

Como ya he comentado este código es muy simple, pero que a partir de aquí ya podremos jugar con él para adaptarlo a nuestras necesidades, así que espero que os guste y ya sabéis que me podéis dejar sugerencias y demás dudas.

Fuente: [icon name=”bookmark”] REST API v1.1 Resources

Hola mundo con Arduino

[box]Este será mi primer código para ejemplo por lo que será lo más simple posible.[/box]

Por fin después de un tiempo esperando, me ha llegado mi Arduino Uno Rev 3 con algunos que otros componentes electrónicos como leds, resistencias, botones, cables, una pantalla LCD y un sensor de ultrasonidos modelo HC-SR04. Por lo que sin perder más tiempo me puse hacer una pequeña prueba para verificar el funcionamiento del Arduino.

Por este motivo decidí hacer un simple código para apagar y encender un led conectado directamente a nuestra placa Arduino Uno. Por lo que necesitaremos:

1. Placa Arduino Uno Rev 3.

2. Un led del color que queramos.

Esquema

Para hacer este montaje vamos a usar la salida digital número 13 de nuestro Arduino, que es la única que lleva una resistencia por lo que podremos conectar directamente el led sin miedo a quemarlo.

Hola_Mundo-Arduino

Conectado el led de la siguiente forma, positivo (patilla larga) a la salida número 13 y negativo (patilla corta) a masa pasamos a abrir el sketch para escribir nuestro código.

Código

El código como ya he comentado arriba es de lo más simple, pero que nos va a venir realmente bien para empezarnos a familiarizarnos con el mundo de Arduino.

Ahora tan solo tendremos que verificar nuestro código y cargarlo en nuestro Arduino usando el sketch.

[box]Actualización: Si queréis podéis copiar el código de arriba, pero también lo dejo en mi cuenta de Github para que lo podáis descargar.[/box]

[button] Descargar código desde Github [/button]

Cómo instalar Raspbian en Raspberry Pi

El motivo de esta entrada es debido a que este viernes recibí una Raspberry Pi por lo que desde el primer momento me puse hacer pruebas con ella y como es lógico lo primero que tenemos que hacer es instalar el sistema operativo.

instalarraspbian1

Introducción

[box] ¿Que es una Raspberry Pi?

Es un mini ordenador de bajo costo construido en una placa del tamaño de una tarjeta de crédito, desarrollada en Reino Unido por la Fundación Raspberry Pi, con el objetivo de estimular la enseñanza de ciencias de la computación en las escuelas. [/box]

Este mini ordenador dispone de un chip Broadcom BCM2835, el cual tiene un procesador ARM1176JZF-S que corre a 700 MHz, aunque el firmware trae unos modos para hacer overclock hasta 1000 MHz sin miedo a perder la garantía de fabrica. Además dispone de un procesador gráfico VideoCore IV y 512 MB de RAM. Los primeros modelos salieron con 256 MB de RAM.

¿Por qué Raspbian?

En mi casi decidí seleccionar Raspbian como sistema operativo de mi Raspberry Pi por la facilidad de manejo además por el simple hecho de que quería instalar un módulo para domótica que explicaré más adelante y solo es compatible con esta distribución. En cambio, si quieres algo simple y sin añadidos te recomiendo instalar ArchLinux.

¿Qué necesitamos?

  • Una Raspberry Pi, en mi caso es una modelo B de 512 MB de RAM, aunque también vale la modelo A de 256 MB.
  • Una tarjeta SD, MicroSD o un Pendrive, eso si tiene que ser de 4Gb. Yo en mi caso seleccione una MicroSD con un adaptador a SD. Pincha aquí para ver el adaptador.
  • Otro ordenador con internet para bajar la imagen de Raspbian para ARM y grabarla en la MicroSD.

Grabar la imagen de Raspbian en la MicroSD

Antes de nada tendremos que bajar la imagen para grabarla en nuestra tarjeta de memoria. Esto lo puedes hacer desde la página oficial de Raspbian o simplemente pinchando en el botón de abajo. En el momento que estoy escribiendo esto la última versión es la del 7 de Enero de 2014.

[button] Descargar Raspbian (780 MB) [/button]

Una vez descargado tendremos que descomprimir el .zip y dentro encontraremos el archivo con extensión .img, que es lo que tendremos que copiar  a nuestra tarjeta SD de la siguiente manera:

[tab label=”Mac OS X” first=”yes”][box color=”red”]Este proceso no ha sido realizado por mi ya que no dispongo de un Mac, por este motivo he sacado la información del blog de Josema.[/box]

Lo primero que tenemos que hacer es ver donde está montada la tarjeta SD, por lo que abrimos una terminal y escribimos [mark]diskutil list[/mark].

[box] [icon name=”comment”] En el ejemplo vemos que en la línea 10 se encuentra nuestra SD de 4GB que está en [mark color=”yellow”]/dev/disk1[/mark].[/box]

Ahora tendremos que desmontar la SD con el comando [mark]diskutil unmountDisk /dev/disk1[/mark].

Y grabamos la imagen con formato .img con el comando [mark]sudo dd if=2014-01-07-wheezy-raspbian.img of=/dev/disk1[/mark] Esto tarda unos minutos en completarse y durante este proceso no saldrá nada en pantalla. Al usar el comando [mark]sudo[/mark] nos pedirá la contraseña de administrador.

[box] [icon name=”comment”] Efecticamente como podemos comprobar pone [mark]rdisk1[/mark]. Según el blog de Josema al poner [mark]rdisk1[/mark] junto con el argumento [mark]bs=1m[/mark] tarda mucho menos en completarse.[/box]Ya por último tendremos que hacer otro [mark]diskutil unmountDisk /dev/disk1[/mark] antes de desconectar la SD del Mac.[/tab][tab label=”Linux”]Lo primero es averiguar donde está montada la tarjeta, para ello usamos el comando [mark]sudo fdisk -l[/mark].

En esta ocasión, como se puede ver en la línea 15, se ha usado una memoria de 16GB, el cual está en [mark color=”yellow”]/dev/sda[/mark]. Por lo que grabaremos la imagen con:

[/tab][tab label=”Windows” last=”yes”]Para poder grabar la imagen en nuestra SD usando Windows, tendremos que usar el programa W32 Disk Imager, la cual es muy sencilla de usar.

Lo primero que tendremos que hacer es bajar la última versión del software. Para ello puedes usar el botón de abajo.

[button] Descargar W32 Disk Imager [/button]

Ahora una vez descargado lo podremos ejecutar sin necesidad de instalar. Así que nada más descargarlo lo ejecutaremos:

W32_Disk_Imager

Ahora tan solo tendremos que hacer unos simples pasos para poder grabar la imagen de Raspbian en nuestra SD:

  1. Seleccionamos la imagen de Raspbian que hemos descargado más arriba.
  2. Seleccionamos la unidad donde queremos grabar la imagen.
  3. Pulsamos el botón [mark]Write[/mark] y esperamos a que se complete el proceso.

[/tab]Ahora tan solo tendremos que conectar la SD a nuestra Raspberry Pi, conectar un teclado USB, conectar un monitor a la salida HDMI y eso sí, conectar la toma de corriente por el MicroUSB.

Cómo instalar Raspbian en Raspberry Pi

Una vez encendida la Raspberry Pi veremos una pantalla como la siguiente con 9 menús donde podremos realizar toda la configuración previa.

instalarraspbian5

Entre todas las configuraciones encontraremos las siquientes:

1. Expand Filesystem: Expande el tamaño de la partición de almacenamiento del sistema hasta el tamaño total de la tarjeta de SD.

2. Change User Password: Esta opción nos permite cambiar la contraseña del usuario por defecto de Raspbian. El cual el usuario es [mark color=”yellow”]pi[/mark] y la contraseña [mark color=”yellow”]raspbian[/mark].

3. Enable Boot to Desktop: Nos permite seleccionar como queremos iniciar nuestra Raspberry Pi, tal como modo gráfico o modo comandos.

4. Internationalisation Options: Esta opción nos permite cambiar el idioma de nuestra Raspberry Pi, el idioma de nuestro teclado y otras opciones regionales.

5. Enable Camera: Si disponemos de la camara para nuestra Raspberry Pi, con esta opción la podremos activar.

6. Add to Rastrack: Permite añadir nuestra Raspberry Pi al registro de Raspberrys de nuestra comunidad.

7. Overclock: Con esta opción podremos mejorar el rendimiento de nuestra Raspberry Pi, subiendo los MHz de nuestro procesador sin riesgo a quemar el dispositivo.

8. Advanced Options: Con esta opción se podrás configurar algunas cosas extra. Lo explico más detalladamente abajo.

9. About raspi-config: Muestra la información del asistente que estamos usando para la instalación de Raspbian.

Overclock

El apartado de Overclock trae varios perfiles ya configurados con los que podemos subir la frecuencia del procesador, la frecuencia de las memorias y el overvolt.

Desde la fundación de Raspberry Pi nos aseguran que podemos hacer overclock de forma segura, pero que tenemos que tener en cuenta que iremos acortando la vida de nuestro dispositivo.

Advanced Options

Como comentaba más arriba en este menú tendremos acceso a otras configuraciones de nuestro sistema operativo Raspbian. Todos ellos vienen configurados por defecto, pero que nosotros podremos cambiar.

A1 Oversacan: Permite configurar las bandas superior e inferior de nuestro monitor para colocar y calibrar la posición de la imagen.

A2 Hostname: Nos permite cambiar el nombre a nuestro dispositivo en la red.

A3 Memory Split: Las Raspberry Pi según sea el modelo A o B, traen 256 o 512 MB de RAM respecticamente. Estos MB son compartidos con la memoria de vídeo, por lo que podremos jugar con ella en caso de que solo vayamos a trabajar en modo comandos, así podremos usar el mínimo para la memoria de vídeo.

A4 SSH: Nos permite activar el acceso mediante SSH a nuestra Raspberry Pi, así podremos usarla sin la necesidad de tener un teclado y un monitor conectada a ella.

A5 Update: Nos permite actualizar el asistente de instalación a la versión más reciente.

Finalizado el proceso de configuración de nuestro sistema operativo tendremos que dar sobre el botón [mark color=”yellow”]Finish[/mark]. De esta forma nuestra Raspberry Pi se reiniciara y empezará a funcionar.

En caso de que se quede en modo comandos tendremos que usar el comando [mark]startx[/mark] para que se inicie el modo gráfico.

Una vez finalizado todo este proceso podremos usar nuestra Raspberry Pi mediante teclado y monitor o como en mi caso usando una conexión SSH:

Si la conexión la realizamos desde Windows podremos usar el softwate Putty que nos permite realizar conexiones por SSH. Pincha aquí para descargar.

Con este manual pretendo ayudar a todos y todas aquellos que quieren instalar Raspbian en su Raspberry Pi y no saben muy como hacerlo. Además desde que aquí os invito a que dejéis sugerencias por si falta algo o preguntéis si tenéis alguna duda.

Fuentes: [icon name=”bookmark”] Josemaatm.com [icon name=”bookmark”] OpenWebCMS [icon name=”bookmark”] Raspberry Pi

Usando la API de Twitter en nuestro proyecto

Ya sabemos que hoy en días las redes sociales están muy presentes en nuestras vidas, tanto, que a veces las usamos sin darnos cuenta. Por este motivo, crear una aplicación en Twitter se podría decir que es primordial para nuestro nuevo proyecto en Internet o cualquier otro que ya tengamos en desarrollo.

Dicho esto, voy a explicar como usar la API de Twitter y no morir en el intento. Tendremos que hacer varios pasos y puede que el post se extienda un poco por lo que lo dividiré en dos. Para empezar, configuraremos la parte de Twitter:

  1. Para realizar nuestras pruebas necesitaremos un servidor en local. Por ejemplo XAMPP.
  2. Una cuenta de Twitter activa.
  3. Trabajaremos en PHP por lo que nos bajaremos la librería de Twitter: https://github.com/abraham/twitteroauth
  4. Crearemos un nuevo proyecto llamado twitter en XAMPP/htdocs/twitter
  5. En el archivo descargado anteriormente hay una carpeta llamada twitteroauth, la cual la colocaremos dentro de /twitter
  6. Por último entraremos en https://apps.twitter.com/

Dentro de Twitter Apps daremos a Create New App y nos pedirán una serie de datos. Es muy importante que en Callback URL coloquemos la URL:

Esto como es lógico solo en pruebas locales.

Creando APP en Twitter

Una vez hecho esto tendremos que ir a la pestaña API Keys y pulsar sobre el botón Create my access token:

Create access Token

Acto seguido nos vamos a la pestaña Permissions, seleccionamos la opción de Read, Write and Access direct messages y guardamos la configuración.

Así de esta forma tendremos permisos de lectura y escritura en nuestra aplicación de Twitter.

En el siguiente post explicaré sobre como conectarnos a nuestra App usando esta misma API de Twitter.

Creando el botón de invitar a mis amigos de Facebook

Pues sí, hacía tiempo que no publicaba en el blog y bueno hoy lo voy hacer. Hoy os voy a explicar como hacer un botón para invitar a tus amigos de Facebook a una determinada página web.

Y bueno escribo esto debido a que lo necesitaba implementar en un proyecto que tengo entre manos, así que nada más que contar vamos al lío.

Lo primero que tendremos que hacer es crear una aplicación en Facebook Developers y rellenar los datos como en la captura de pantalla que adjunto a continuación. Por supuesto, tendréis que cambiar los datos por vuestro correo y demás datos de vuestra web.

Lo siguiente que tendremos que pegar el siguiente código en nuestra web donde queramos que salga el enlace para invitar a nuestros amigos de Facebook:

Si vemos el código tendremos que cambiar appId por la ID de nuestro app de Facebook, además también tendremos que cambiar message por nuestro mensaje de invitación. Además podremos agregar más funciones que las podemos leer en la guía de desarrolladores de Facebook.

Decir que la invitación se abre en una ventana iframe dentro de Facebook por lo que si queremos eliminar esto y cargue nuestra web a pantalla completa podemos usar este código pegándolo en nuestra web:

¡Espero que os haya gustado y sobre todo que os haya servido!

Redimensionar el disco duro en Virtualbox en Ubuntu

VirtualBox

Esta semana he tenido la necesita de redimensionar el disco duro de Virtual Box donde tengo instalado una máquina virtual con Windows XP. En un principio cree un disco duro de 10 Gb y la verdad es que es demasiado escaso ya que solo me quedaban unos 200 Mb libres.

Una de las soluciones que tenemos disponibles es eliminar por completo nuestra máquina virtual y volverla a crear asignando una capacidad mayor al disco duro. Pero claro esta opción nos llevaría mucho más trabajo.

Por lo que he optado por la segunda acción, la cual con unos simples y cortos pasos podremos redimensionar nuestro disco duro de Virtual Box en Ubuntu.

Lo primero que haremos es hacer una copia de seguridad de nuestra máquina virtual para prevenir problemas. Por lo que tendremos que ir a la carpeta donde tenemos nuestro archivo .vdi, que representa el disco de duro nuestra máquina virtual, y haremos una copia de seguridad.

En mi caso el archivo .vdi lo tengo en:

y el nombre del archivo es:

Por lo que para hacer la copia de seguridad tan solo tendremos que ejecutar el siguiente comando:

Este paso está claro que también se puede hacer a través del gestor de ventanas de Linux, además decir que la máquina virtual tendrá que estar apagada.

Sobre la ruta /home/dorcu/Virtual_Box/Windows_XP/Windows_XP.vdi se debe variar en función de la ubicación y el nombre del archivo de vuestro disco duro virtual.

Ahora ya de forma segura podremos redimensionar nuestro disco duro. Como dije anteriormente mi disco duro tiene una capacidad total de 10 Gb por lo que lo voy a subir a 20Gb.

Para realizar esta acción tendremos que abrir una terminal en nuestro ubuntu y escribir el siguiente comando:

Como he dicho antes la ruta del archivo .vdi se debe variar en función de la ubicación y el nombre del archivo de vuestro disco duro virtual.

Además deberéis cambiar el 20000 por la cantidad es espacio que queráis agregar al disco duro.