Cortar cadenas UTF-8 en PHP

Cuando trabajamos con cadenas en UTF-8 (si queréis más información sobre juegos de caracteres os recomiendo esta entrada: Entender los juegos de caracteres y “collation” I y II que escribí hace tiempo) no podemos usar la función típica para hacer subcadenas de PHP: substr, ya que en el caso de que el corte caiga justo en un carácter no ASCII, habrá un problema en la representación y aparecerá un carácter extraño.

El origen de este problema es que se trata de un juego de caracteres en el que cada carácter no tiene por qué tener un sólo byte de tamaño, si no que puede llegar a ocupar 4 bytes como máximo, es decir, también puede ocupar 2 o 3 bytes. read more

Leer más » 2 Comentarios

Hacer backup y restaurar copia de seguridad con MySQL

Siempre que manejamos una base de datos, uno de los detalles más a tener en cuenta es la recuperación de la información en caso de fallo del sistema o de ataque de un tercero. MySQL es la elegida por muchos proyectos y desarrollos libres, por lo que a través de esta entrada vamos a explicar cómo proceder a realizar una copia de seguridad, para su posterior restauración. read more

Leer más » 17 Comentarios

Leer códigos QR en Ubuntu

Sí anteayer os contaba cómo Crear códigos QR en Ubuntu, hoy vamos a ver cómo podemos leerlos.

La tarea es sumamente sencilla, y usaremos el código de ejemplo de libdecodeqr. Así instalamos estos códigos abriendo un terminal y:

ahornero@6581-D:~$ sudo apt-get install libdecodeqr-examples

Para ejecutarlo os propongo el siguiente ejemplo, me voy a crear un código QR, como os proponía en la entrada anterior y luego vamos a leerlo (la siguiente imagen también podéis descargarla, es la que he generado en las siguientes líneas): read more

Leer más » 3 Comentarios

Diferencias

Los pasatiempos no son lo mismo para alguien con conocimientos sobre operaciones con imágenes que para el resto de los mortales…


diferencias
Leer más » 5 Comentarios

El podcast de Linux Hispano – Especial número 50

¡Hola a todos!

Acaba de lanzarse el quincuagésimo número de El podcast de Linux Hispano, un podcast sobre Linux y Software Libre.

Este mes cumplimos 50 ediciones de El podcast de Linux Hispano y lo queremos celebrar con un gran episodio. En este número participamos todos los integrantes del equipo de Linux Hispano: Carazo (alias kirov), Alberto (alias ahornero), Dani (alias danigm) y un servidor. Debatiremos sobre tres tópicos clásicos donde nos mojaremos dando opiniones, quizás para algunos, inesperadas. Personalmente, sólo me queda agradeceros vuestra fidelidad y que sigáis escuchándonos, que es lo más importante y por lo que seguimos en pie. read more

Leer más » 8 Comentarios

Crear códigos QR en Ubuntu

Un código QR (acrónimo de Quick Response), también conocido como código de barras bidimensional (two-dimensional barcode), es una imagen que almacena información texto. Normalmente este texto es una URL que nos lleva a la instalación de un programa, y su uso está muy difundido en móviles. Usando un terminal Android o Blackberry podemos fotografiarlo y automáticamente dirigirnos al enlace que nos proporciona.

Si bien, su uso no está supeditado al de instalar aplicaciones o contener una URL, lo único que almacena un código QR es una cadena de texto, así que os podréis imaginar que las opciones son muchas. read more

Leer más » 6 Comentarios

Lo mejor de mi RSS del 21 al 27 de marzo

Leer más » 1 Comentario

Arduino, el documental

No es la primera vez que en Linux Hispano hablamos de Arduino. Como ya es viernes por la tarde, nada mejor que dejaros un documental sobre la plataforma de hardware libre por excelencia que he conocido gracias a la lista de distribución del Aula de Software Libre de la Universidad de Córdoba.

Os dejo el enlace al documental y la información referente al mismo:

Arduino, the documentary [2010] Hardware libre

  • Título original: Arduino, the documentary
  • Dirección: Rodrigo Calvo, Raúl Alaejos
  • País: España
  • Año: 2010
  • Página Oficial del documental: http://arduinothedocumentary.org/
  • Sobre Arduino: Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas, diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos.Las placas pueden ser hechas a mano o compradas montadas de fábrica; el software puede ser descargado de forma gratuita. Los ficheros de diseño de referencia (CAD) están disponibles bajo una licencia abierta, así pues eres libre de adaptarlos a tus necesidades.
  • Página oficial del proyecto Arduino: http://www.arduino.cc/es/
  • read more

    Leer más » 1 Comentario

    Resetear contraseña en MySQL

    Probablemente no sea el único que alguna vez ha perdido la contraseña de usuario root en MySQL. Si tenemos acceso a la máquina donde está ejecutando el servicio, no hay problema, no hace falta llevar a cabo acciones radicales como reinstalar el sistema, sólo hay que seguir los siguientes pasos:

  • Detener el demonio de MySQL:
    $ service mysqld stop ó $ /etc/init.d/mysql stop
  • Arrancamos el demonio, pidiendo con el parámetro “–skip-grant-tables” que no se carguen las tablas con los permisos:
    $ mysqld_safe –skip-grant-tables
  • El demonio acabará de arrancar. Nuestra labor ahora es conectarnos como administradores al mismo, sin necesidad de indicar contraseña:
    $ mysql –user=root
  • Ya estamos en el intérprete de MySQL. Accedemos a la base de datos de configuraciones de MySQL:
    > USE mysql;
  • Y actualizamos oportunamente la tabla de los usuarios:
    > UPDATE USER SET password=PASSWORD(‘nuevo-password’);
  • Refrescamos los privilegios:
    > FLUSH  PRIVILEGES;
  • Salimos del cliente:
    > exit;
  • Reiniciamos el servicio y ya podremos acceder normalmente a nuestro sistema con la nueva contraseña.
    $ service mysqld restart ó $ /etc/init.d/mysql restart
  • read more

    Leer más » 4 Comentarios

    Comprobar la versión de Xorg

    Como muchos sabréis he tenido ciertos problemas con la tarjeta gráfica de mi portátil, una Intel GMA500 (Instalar EMGD en UbuntuInstalar Intel GMA 500 en Linux), y haciendo una actualización del sistema me he dado cuenta de que no conocía que versión de Xorg tenía instalada.

    Para comprobarlo, os presento dos vías:

    ahornero@Eee:~$ X -version
    X.Org X Server 1.9.0
    Release Date: 2010-08-20
    X Protocol Version 11, Revision 0
    Build Operating System: Linux 2.6.24-28-server i686 Ubuntu
    Current Operating System: Linux 6581-D 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:40:58 UTC 2011 i686
    Kernel command line: BOOT_IMAGE=/boot/vmlinuz-2.6.35-28-generic root=UUID=4f379039-81cf-43d8-b263-93dccf92d633 ro quiet splash
    Build Date: 09 January 2011 12:14:58PM
    xorg-server 2:1.9.0-0ubuntu7.3 (For technical support please see http://www.ubuntu.com/support)
    Current version of pixman: 0.18.4
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version. read more

    Leer más » 8 Comentarios