Christopher Lee

Christopher-Lee

Nos ha vuelto a dejar un grande, y desde éste humilde blog yo quería hacerle un pequeño homenaje. Desde siempre me ha gustado la figura del vampiro, de Drácula y puede que él tuviera mucha culpa con sus magnificas actuaciones. No lo sé. He disfrutado de sus películas y seguiré haciéndolo porque nos deja un gran legado. No sólo fue un magnifico Drácula, Sherlock Holmes, Saruman, Conde Dooku… fue una gran persona. Tan grande que aunque prácticamente fue un villano en todas sus actuaciones, dejo una huella tan grande que no lo vamos a olvidar.

Leyendo…

Fin de semana pasado. Sabado. Me levanto temprano. Hace mucho calor y decido ir a la Feria del Libro del parque del retiro en Madrid. Hay mucha gente…

feria00

Llego temprano y soy de los primeros en la cola. Hay que esperar. El Sol pega muy fuerte y me quemo. Pero merece la pena… Ahí está él firmando libros…

feria01

Andrzej Sapkowski. Le digo “buenos días”, me devuelve el saludo. Le digo “Gracias” y el asiente con la cabeza. No hablamos mucho más, yo no se polaco pero es un placer el conocerle. Se le ve muy afable.

Mundialmente famoso por ser el autor de la saga de Geralt de Rivia (el brujo). Entre otros…

brujo

 

Libros de literatura fantástica que especialmente recomiendo. No he leido todos, pero tengo la intención y aparte conozco muy bien la historia de Geralt.

Aprovecho y me compro el último que ha escrito, la precuela de la saga del brujo: “Estación de Tormentas“, el cual pienso disfrutar éste verano.

Estacion de tormentas portada

Y ya feliz abandono la feria, contento de ver a tanta gente a la que le apasiona la lectura…

feria02

El lobo llega a Ubuntu…

lobo1

Bueno no tanto, pero casi.

Ya comenté éste lunes pasado el nombre de la próxima versión de Ubuntu 15.10, que hace referencia al hombre lobo, aunque el nombre no fue lo único interesante y me deje algunas cosas en el tintero acerca de otros datos que Mark Shuttleworth comento en la Ubuntu Submit.

El objetivo principal que perseguirá Ubuntu 15.10 es la convergencia, de manera que el usuario no note ninguna diferencia al trabajar con el ordenador, la tablet o el smartphone.

De hecho Mark anuncio un nuevo teléfono con Ubuntu que veremos próximamente y al que por primera vez le podremos conectar un teclado para que funcione como un ordenador y aunque no podrá realizar las tareas más pesadas de un equipo de sobremesa si que permitirá realizar las tareas más comunes.

Tambien Mark comento que “Nosotros (el escritorio de Linux) siempre estaba cinco, diez años de retraso. Siempre copiando al otro tipo. Aquí, por primera vez tenemos ésta visión, al mismo tiempo”, Ello estaba refiriendose precisamente a la convergencia y a la posibilidad de que Microsoft “hubiera copiado la idea” aunque no quería pensar esto pues definitivamente no lleva a nada.

Mas información | El Confidencial

Ubuntu 15.10 será “Wily Werewolf”

hombrelobo

Se acaba de revelar el nombre para la próxima versión de Ubuntu cuyo nombre será Wily Werewolf (Hombre lobo astuto).

El anuncio ha sido en el Ubuntu Online Summit y ésta mañana Mark ya había anunciado que habría sorpresa en su blog:

lobo

 

Editar multiples lineas simultaneamente con Sublime Text

El siguiente tip es un tip muy simple (pero puede que no conocido por tod@s) y tambien de poco uso para un escritor ocasional, pero si que puede venir p.ej muy bien a un programador o cuando se quiere escribir un bloque de sentencias SQL.

Lo primero que tenemos que hacer es seleccionar todas las lineas, Para ello vamos a la opción de menu: Selection > Select all

sublime01

 

Ahora volvemos al menu y seleccionamos la opción: Selection > Split into lines

con éso ya aparece un cursor multiple simultaneo en todas las lineas y ya podremos borrar o añadir caracteres sobre todas las lineas a la vez:

sublime02

Cuando estemos contentos con el resultado ya podremos volver al modo de edición normal de una linea: Selection > Single Selection.

Ubuntu 15.04 Vivid Vervet Final, ya disponible

ubuntu

Tal y como comentaba hace pocos días por mi perfil de Google+, no me he olvidado de Ubuntu 15.04. Cuya versión final se encuentra disponible para descarga desde este jueves pasado.

algunas novedades:

– Gnome 3.14 (GTK 3.14)
– Plasma 5 (en Kubuntu)
– El reemplazo de Upstart por Systemd en el arranque
– Unity 7.3
– Kernel Linux 3.19.3
– Firefox 36
– LibreOffice 4.4
– Ubuntu make como reemplazo a Ubuntu Developer Tools Center
– Soporte para paquetes ‘Snappy

Aparte Canonical está muy contenta porque ya son más de 25 millones los usuarios de Ubuntu

vivid

Si tenemos Ubuntu 14.10 y queremos actualizar a Ubuntu 15.04 mediante la consola, podemos ejecutar:

sudo apt-get update
sudo apt-get dist-upgrade
sudo update-manager -d

o seguir las instrucciones oficiales.

Si quieres ver como se instala paso a paso Ubuntu, mira el siguiente enlace

Más documentación (En ingles):

Ubuntu 15.04 Released, This Is What’s New
11 Things To Do After Installing Ubuntu 15.04
Ubuntu 15.04 available for download
Ubuntu mate 15.04 released
Ubuntu vivid flavors ready for download

Más documentación (En español):

Llego Ubuntu 15.04 vivid vervet
Ubuntu mantendra Snappy y apt durante un tiempo
Despues de instalar Ubuntu vivid vervet

 

FELICIDADES UBUNTERS!!!! (ya falta menos para Ubuntu 15.10 ¿ Wolf ? )

Implementando un Sistema de templates con Bash y Sqlite

sqlite001

Puede que en algún proyecto tengamos que utilizar algún fichero de plantilla (que en definitiva no dejan de ser ficheros de texto plano con variables) donde tengamos que sustituir las variables del fichero de la plantilla por los valores recuperados desde algún origen de datos.
P.ej

imaginad que tenemos una plantilla “consultaLibros.xml” de la forma:


<?xml version="1.0">
<CONSULTA>
<TITULO> ${TITULO} </TITULO>
<AUTOR> ${AUTOR} </AUTOR>
</CONSULTA>

Y por otro lado tenemos un origen de datos tal que los valores de las variables a sustituir son p.ej:


TITULO="El amor en los tiempos del colera"
AUTOR="Gabriel garcia Marquez"

De manera que a la hora de reemplazar las variables en la plantilla queremos obtener un fichero de la forma:


<?xml version='1.0'>
<CONSULTA>
<TITULO> El amor en los tiempos del colera </TITULO>
<AUTOR> Gabriel garcia Marquez </AUTOR>
</CONSULTA>

Nota: Esto es un “simple” ejemplo en tu caso tendrás que extrapolarlo a tu caso particular. Pero la base es la misma, tener ficheros de plantilla con un determinado formato y quiero sustituir sus valores por las variables que corresponda en cada caso.

Para implementar este sistema de plantillas vamos a utilizar como base de datos sqlite y como sistema de generación para las plantillas, un script en bash.

SQLITE es una base de datos que guarda toda la información en un único fichero. No es un sistema ideal para manejar millones de registros, pero si que nos puede servir perfectamente para este proyecto de plantillas o como base de datos de configuración.

Para instalar sqlite3, en un sistema basado en debian, prueba con:

$ sudo apt-get install sqlite3

Después ya podriamos empezar a utilizarla desde la shell.

Usar sqlite desde linea de comandos de la shell es muy sencillo. En este enlace puedes encontrar un breve tutorial. Y en este otro enlace una chuleta de uso.

P.ej podemos crear una base de datos residente en un fichero llamado “test.db” si invocamos al interprete de sqlite3 con:

$ sqlite3 test.db

Ahora ya podriamos meter las sentencias DDL de creacion de nuestras tablas. P.ej yo voy a crear una tabla PARAMETROS con 3 campos: ID, NAME, VALUE y otra tabla TEMPLATES con campos NAME, VALUE.

CREATE TABLE PARAMETROS (ID text, NAME text, VALUE text);

CREATE TABLE TEMPLATES (NAME text, VALUE text);

Y con eso ya tendria las tablas creadas.

Ahora ya incluso podria empezar a añadir datos en ellas:

INSERT INTO PARAMETROS VALUES ('100','TITULO','el amor en los tiempos del colera');

INSERT INTO PARAMETROS VALUES ('100','AUTOR','Gabriel Garcia Marquez');

INSERT INTO PARAMETROS VALUES ('200','TITULO','el pendulo de Foucault');

INSERT INTO PARAMETROS VALUES ('200','AUTOR','Umberto eco');

Y realizar consultas sobre las tablas:

SELECT * FROM PARAMETROS;

sqlite02

Si no te sientes comodo usando la shell puedes incluso utilizar un cliente grafico para trabajar con las bases de datos creadas con sqlite como puede ser SQLite data browser (instalable desde el software center).

sqlite03

sqlite4

sqlite05

Una vez que queramos terminar la sesión con sqlite ejecutamos:

.quit

Y observamos que se habra creado un archivo “test.db” que contiene nuestras tablas y datos.

Cada vez que queramos volver a trabajar desde consola con ese archivo, ya sea para hacer selects, o nuevos inserts. Ejecutaremos: sqlite3 test.db o el nombre que le
hubieramos dado al archivo o base de datos.

Bien, procedamos tambien a crear datos para nuestra template de la forma:

sqlite3 test.db

insert into TEMPLATES VALUES ("ConsultaLibro","
${TITULO}
${AUTOR}
");

t1

Perfecto.

Tenemos nuestra base de datos creada con 2 tablas.

– una de las tablas llamada PARAMETROS nos proporcionara los parametros que queremos usar según una clave id. P.ej dame los parametros con id=100 o dame los parametros con id=200

– otra de las tablas llamada TEMPLATES nos proporciona la template o templates que queremos recuperar, para luego pasar los parametros que queramos reemplazar y obtener ya la template parseada con las variables ya sustituidas.

Para recuperar estos valores de variables y templates, y realizar las funciones del preprocesado vamos a utilizar un script de bash. Luego podriamos montar una libreria en bash u organizar el codigo como queramos.

Implementemos la primera funcion para recuperar los parametros, podria ser algo como:

#!/bin/bash
DB_SQLITE="test.db"
function recuperar_parametros()
{
id="$1"
LIST=`sqlite3 "$DB_SQLITE" "SELECT * FROM parametros WHERE id='$id';"`
for ROW in $LIST; do
#echo $ROW | awk -F"|" '{print $2}'
name=`echo $ROW | awk '{split($0,a,"|"); print a[2]}'`
value=`echo $ROW | awk '{split($0,a,"|"); print a[3]}'`
echo "$name -> $value"
eval "export $name=\"$value\""
done
}

esta función hace una select a la tabla parametros por el valor del id que le pasamos como parametro y luego recorre la lista de valores recuperados para extraer el nombre y el valor del parametro. Despues ya hace un export de esa variable.

La otra función para recuperar el template queda como:

function recuperar_template()
{
name="$1"
sqlite3 "$DB_SQLITE" "SELECT value FROM templates WHERE name='${name}';"
}

Y el código para recuperar los parametros, recuperar el template y sustituir los parametros en el template seria:

IFS=$'\n'
echo "-- Parametros --"
recuperar_parametros "100"
TEMPLATE=`recuperar_template "ConsultaLibro"`
eval "echo -e \"$TEMPLATE\"" > .xml
echo "-- Template --"
cat .xml

Todo junto:

t2

Que si lo ejecutamos:

c1

si en vez de recuperar para la plantillas los parametros de id=100 quisieramos los de id=200 todo el codigo seria igual pero cambiando la linea de recuperación de parametros, por la siguiente:

recuperar_parametros "200"

c2

Y con todo ésto ya hemos visto como crear una base de datos Sqlite, como acceder al contenido de sus tablas desde Bash e implementado un sistema sencillo de creación de plantillas.

Referencia | Usar ficheros de plantillas con Bash



The next version of Ubuntu is coming soon


¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map
julio 2015
L M X J V S D
« jun    
 12345
6789101112
13141516171819
20212223242526
2728293031  

Blog Stats

  • 28,032,755 hits

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 1.077 seguidores