Importar un volcado de datos en MySQL

Para realizar un volcado de datos, podemos ejecutar: $ mysqldump -uuser -p --all-databases --host localhost > mysql.sql Fuente: luauf.com Para importar este volcado, existe la herramienta mysqlimport: $ mysqlimport -uuser -hhost -p --local dbname mysql.sql Sin embargo, no me acaba de ir bien, ya que me devuelve este error: mysqlimport: Error: 1146, Table 'dbname.mysql' doesn't exist, when using table: mysql Una forma de conseguir restaurar el volcado de datos es desde el cliente de mysql: ...

March 27, 2011 · 1 min · 94 palabras · Nacho Cano

Creando y leyendo códigos QR desde Python

Un código QR (Quick Response Barcode) permite almacenar información en un código de barras de dos dimensiones. Hay bastantes servicios en la web que nos permiten crear nuestros propios códigos, por ejemplo el de Google, que podemos emplear desde la línea de comandos: $ curl http://chart.apis.google.com/chart?chs=150x150&cht=qr&chld=H|0&chl=texto -o qr.png Un pequeño alias para tenerlo siempre a mano: $ alias qrurl='qrurl() { curl http://chart.apis.google.com/chart?chs=150x150&cht=qr&chld=H|0&chl=${@// /%20} -o qr.$(date +%Y%m%d%H%M%S).png; }; qrurl' $ qrurl una ranita iba caminando Esto creará un fichero con un nombre parecido a qr.20110325161706.png. ...

March 27, 2011 · 4 min · 755 palabras · Nacho Cano

Solucionado el error "E: Problem with MergeList" al actualizar Debian

Tras realizar una actualización rutinaria, aptitude update, me encuentro con el siguiente error: E: Encountered a section with no Package: header E: Problem with MergeList /var/lib/apt/lists/ftp.caliu.cat_debian_dists_testing_main_binary-i386_Packages E: No se pudieron analizar o abrir las listas de paquetes o el archivo de estado. E: No se pudo reconstruir el almacén de paquetes La solución para resolver el conflicto, que parece ser debido a una corrupción en las listas, pasa por borrarlas, y ya podremos actualizar normalmente: ...

March 17, 2011 · 1 min · 80 palabras · Nacho Cano

inception

Inception en C: $ git clone https://github.com/karthick18/inception.git

March 14, 2011 · 1 min · 7 palabras · Nacho Cano

Ocultando cabeceras

Tras instalar Apache, tanto en las cabeceras de la página: $ curl -I localhost HTTP/1.1 200 OK Date: Sat, 12 Mar 2011 11:55:12 GMT Server: Apache/2.2.16 (Ubuntu) Last-Modified: Sat, 02 Jan 2010 00:00:23 GMT ETag: "aa34-b1-47c232cbc0633" Accept-Ranges: bytes Content-Length: 177 Vary: Accept-Encoding Content-Type: text/html como en las páginas de error: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 404 Not Found Not Found The requested URL /terminus was not found on this server. Apache/2.2.16 (Ubuntu) Server at localhost Port 80 se muestra la versión de Apache, y de PHP si también lo hemos instalado. Ocultar este tipo de información se conoce como seguridad por oscuridad, por lo que no es realmente seguridad, pero puede ayudar a evitar ataques automatizados. ...

March 12, 2011 · 2 min · 341 palabras · Nacho Cano

ls sin ls

En bash: $ for i in *; do echo $i; done Fuente: nfosolutions.com En C: /* * * Esempio che scansiona una cartella stampando a video i file in essa * contenuti. */ #include #include #include #include int main(int argc, char *argv[]) { DIR *dir; struct dirent *drent; if(argc < 2) { fprintf(stderr, "%s \n", argv[0]); return EXIT_FAILURE; } if((dir = opendir(argv[1])) == NULL) { fprintf(stderr, "Errore opendir()\n"); return EXIT_FAILURE; } while((drent = readdir(dir)) != NULL) { fprintf(stdout, "--> %s\n", drent->d_name); } if(closedir(dir) < 0) { fprintf(stderr, "Errore closedir()\n"); return EXIT_FAILURE; } } En Python: ...

March 12, 2011 · 2 min · 347 palabras · Nacho Cano

With great power comes great responsibility

Cuando ejecutamos sudo por primera vez nos dice: We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. Trust… my ass: Fuente: xkcd.com Fuente: leprosys.info Fuente: leprosys.info Fuente: genbeta.com

March 7, 2011 · 1 min · 58 palabras · Nacho Cano

Detectando intrusos en Ubuntu Maverick Meerkat

Un artículo para tener en cuenta algunas de las acciones que podemos llevar a cabo para securizar Ubuntu Maverick Meerkat. Algunos programas para facilitar la tarea de controlar los intentos de acceso al sistema: ufw ufw es una forma sencilla de manejar un cortafuegos. Nada más instalarlo, lo habilitamos: $ sudo ufw enable Damos de alta los servicios^1^ que queremos que estén disponibles: $ sudo ufw allow http $ sudo ufw allow https $ sudo ufw allow 1234 Si queremos deshacer alguna de estas acciones, por ejemplo, eliminar la regla para el puerto 1234: ...

March 7, 2011 · 5 min · 861 palabras · Nacho Cano

Imágenes embebidas en el código HTML, CSS o JSON

Mediante esquema data:URI se pueden incluir imágenes codificadas en base64 en el CSS de una página o en el src de una etiqueta img como si fueran fuentes externas. También se pueden introducir otro tipo de datos, como por ejemplo, código HTML. <img src="data:image/png;base64,iVBORw0KGgo[...]QmCC" title="image" alt="image" /> También se puede utilizar en un JSON: { "image":{ "data_uri":"data:image/png;base64,iVBORw0KGgo[...]QmCC" } } Las ventajas de utilizar este método son que no se necesitan abrir conexiones adicionales para decargar los datos, ya que toda la información está incluida en el propio archivo, con lo que dejan recursos disponibles, algo que puede ser especialmente útil en redes inalámbricas muy saturadas o lentas, como algunas redes de telefonía móvil, y se crean menos entradas en la caché del navegador. Además, al estar incluidos en el código se pueden cachear. ...

March 6, 2011 · 2 min · 343 palabras · Nacho Cano

urlencode y urldecode

Los siguientes caracteres son los únicos que se pueden utilizar en una URL: [a-zA-Z0-9-._~] El resto, se deben codificar usando el prefijo % seguido del valor ASCII hexadecimal del carácter. Por ejemplo: ( = %28 ) = %29 / = %2F + = %2B ... Para codificar la URL podemos utilizar la función uri_escape del módulo URI de Perl. alias urlenc='furlenc() { perl -MURI::Escape -e "print uri_escape(\"$1\").\"\n\";"; }; furlenc' $ urlenc http://www.google.com http%3A%2F%2Fwww.google.com Para la decodificación de la URL, podemos hacer uso de sed: ...

March 6, 2011 · 1 min · 102 palabras · Nacho Cano