Crea aplicaciones mutiplataforma para Firefox de forma sencilla

Firefox permite crear aplicaciones que después se pueden instalar en cualquier dispositivo que admita instalar Firefox. Estas aplicaciones aparecen con su propio icono al igual que el resto de las aplicaciones que tengas instaladas en tu equipo. Puesto que Firefox se puede instalar en Windows, Linux, MacOS, Android,… el área que abarcan estas aplicaciones es muy amplio.

Un ejemplo de estas aplicaciones lo puede encontrar aquí:

https://marketplace.firefox.com/app/aircombat?src=all-popular

Las aplicaciones para Firefox son realmente páginas web escritas en HTML5 a las que se les añaden los iconos y unos archivos con la descripción antes de empaquetarlas.

He creado una herramienta que permite empaquetar estas aplicaciones de forma sencilla. Sólo hay que meter la pagina web en una carpeta, rellenar un formulario y subir el archivo empaquetado a un servidor para su descargar por parte de los usuarios.

La aplicación se puede descargar desde el siguiente enlace.

¿Cómo funciona?

Sencillo:

  1. Lo primero es crear una carpeta y dentro de ésta meter las páginas web que vayas a empaquetar.
  2. Después hay que asegurarse que exista un archivo index.html en la raíz de esa carpeta
  3. Se crea otra carpeta, es importante que esté vacía, donde se va a obtener el instalador.
  4. Se arranca la herramienta escribiendo en un terminal:
    python3 firefox-webapp-version.py
    Donde versión es el número de versión de la herramienta que te hayas descargado.
  5. Después de haber rellenado todos los campos se pulsa en “Save”.
  6. Finalmente se sube el instalador, con todos los archivos que se hayan generado en la carpeta de salida, a tu servidor web preferido.

Si no tienes servidor web, Google Drive o Dropbox permiten compartir carpetas de forma que los puedes usar para estas tareas.

Que lo disfrutéis.

Vim: El editor fantástico

Antes de comenzar me gustaría mostraros el siguiente vídeo:

Impresionante, ¿verdad?

Como ya sabréis vim es un editor de texto. Si editáis pocos archivos de texto, no os recomiendo su uso. Vim tiene muchos comandos que se olvidan con facilidad. Para una edición simple con Gedit os puede valer. Pero si editas muchos archivos al día, Vim puede ser muy útil.

Vim posee división de vista (editar el mismo archivo desde diferentes posiciones), snipplets (plantillas como las que se muestran en el vídeo), autocompletado de texto, ayudas al desarrolllo web, a la programación, scripts, corregir la ortografía, permite alterar la interfaz y crear tus propios menús,…

Vim tiene dos modos de funcionamiento, uno gráfico y el otro en modo texto. Me voy a centrar en el modo gráfico.

Instalación

Para instalar Vim en modo gráfico desde Ubuntu se teclea en el terminal:

sudo apt-get install vim-gtk

Para ejecutarlo lo podemos buscar en los menús o ejecutar en un terminal:

gvim

Una vez instalado, tiene el siguiente aspecto:

gvim

El aspecto de cualquier editor de texto.

El modo de insercción

Vim tiene un comportamiento extraño para los tiempos actuales. Si intentas escribir algo en él, verás que no te lo permite :( . Vim se basa en comandos. Al principio su funcionamiento es complejo, pero rápidamente uno se acostumbra.

Para escribir deberemos pulsar la tecla i (modo inserción). En la parte inferior nos indicará que estamos en modo inserción:

insertar

Ya podemos escribir normalmente. :)

Autocompletar: Si estamos en modo inserción, empezamos a escribir una palabra y antes de acabar de escribirla pulsamos Ctrl N se mostrarán las opciones para autocompletar la palabra que estamos escribiendo. Por ejemplo, en el siguiente texto se ha escrito mundo y mundos. si escribimos mu y pulsamos Ctrl N:

autocompletar

La lista de palabras se toma de las palabras que hayamos escrito en el documento que estamos editando. Esta características es extremadamente útil y uno la hecha en falta cuando no la tiene.

A estas alturas el lector ya habrá comprobado que las combinaciones de teclas Ctrl C ó Ctrl V no funcionan como en el resto de editores. Muchas de estas combinaciones de teclas fueron impuestas por los primeros Windows, vi es anterior a todo eso por lo que mantiene sus propias combinaciones de teclas.

Si estamos usando el modo gráfico de Vim, podremos usar los menús y la barra de herramientas para las tareas más comunes como seleccionar, copiar o pegar.

El modo comando: copiar y pegar

En cualquier momento si pulsamos la tecla Escape (ESc en la mayoría de los teclados), pasamos al modo comando. Cada combinación de teclas que pulsamos hará una acción. Si usamos Vim en modo gráfico, todas estas acciones las podremos hacer usando los menús o la barra de herramientas. Las teclas asociadas a los comandos nos darán velocidad. Entre las más usadas están:

Teclas Acción
dd Borra una línea
x Borra un carácter
u Deshacer
Ctrl R Rehacer
p Pegar
v Modo visual. Se usa para seleccionar
y Copiar (se copia algo seleccionado desde el modo visual)

Es decir, para pegar no funciona Ctrl V, hay que ir a modo comando y pulsar p (Esc p).

Para copiar, se pueden usar el menú y el ratón, pero para hacerlo por teclado, se pulsará v (desde el modo comando) y se usarán las flechas del ratón para seleccionar. Después se usará ‘y’ para copiar.

División de vista

Si estamos usando el modo gráfico de Vim, en el menú Ventana tendremos dos opciones interesantes, “Dividir ventana” y “Dividir verticalmente”. Si las usamos podremos ver y editar varias partes a la vez del mismo archivo:

dividir-vista

En este caso se ha dividido el texto en tres vistas. Con el ratón podemos seleccionar cada vista y redimensionarlas.

Esto es útil cuando estamos programando y queremos ver la declaración de una función mientras escribimos código en otra.

En el caso de querer cerrar una vista, hay que ir al menú “Archivo” y seleccionar “Cerrar”.

Autocompletado en programación

Ya se ha visto que con Ctrl n se puede auto completar texto usando las palabras que se encuentran en el documento. Vim también puede completar funciones de los lenguajes de programación.

Vim es un gran editor, pero uno de sus grandes fallos es que muchas de las opciones que lo hacen ser útil, no están activadas.

Para activarlas tenemos que abrir un terminal y editar el archivo ~/.vimrc:

gvim ~/.vimrc

Este archivo guarda la configuración de Vim. Se ejecuta cada vez que abrimos Vim, por lo que para que un cambio sea visible por Vim, tenemos que hacer el cambio, cerrar Vim y volverlo a abrir.

El archivo que yo tengo en ~/.vimrc es:

autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete
set nu
set ai
set cindent
filetype plugin on

Activa algunas de las opciones más útiles.

Una vez introducida la configuración anterior en ~/.vimrc, sólo hay que pulsar Ctrl x Ctrl o para autocompletar código y ver las diferentes opciones. Por ejemplo, si estamos editando CSS y escribimos “font-” y pulsamos Ctrl x Ctrl o, veremos un desplegable con las opciones disponibles para el estilo “font”:

font

Plantillas

Una opción interesante de Vim es que se pueden ampliar sus capacidades mediente plugins. Para instalar un plugin sólo hay que descargarlo y descomprimirlo en la carpeta ~/.vim

La carpeta ~/.vim puede no estar creada, por ello en un terminal deberemos escribir:

mkdir ~/.vim

Un plugin muy interesante es SnipMate. Es una colección de pequeñas plantillas, que se activan según el lenguaje de programación, que podemos aplicar escribiendo el nombre de la plantilla y la tecla tabulador. Además podemos crear nuestras propias plantillas.

Para instalar SnipMate, sólo hay que descargarlo y descomprimir en ~/.vim:

unzip snipMate.zip -d ~/.vim

También hay que añadir la línea siguiente a ~/.vimrc:

filetype plugin on

Una vez activado en la carpeta ~/.vim/snipples/ tenemos las plantillas disponibles según el lenguaje de programación. Allí podemos cambiar las plantillas disponibles o añadir plantillas nuevas.

En el siguiente vídeo podemos ver cómo se usan las plantillas:

Yo me he creado dentro de las plantillas de html la siguiente:
snippet xid
<${1:p} id="${2}">${3}</$1>

El nombre de la plantilla es xid. Por lo que se dispara cuando se escribe xid y se pulsa tabulador. Esta plantilla escribe de forma automática:

   <p id=""></p>

Según vamos escribiendo y pulsando tabulador va rellenando las posiciones de los “$” que indica la plantilla. Los ${1}, ${2}, ${3},… es la posición del cursor cada vez que pulsamos tabulador. El $1 significa que lo que se escriba en ${1} se copiará en esa posición. El ${1:p} significa el texto por defecto, una p.

Selección en bloque

Supongamos que se tiene una tabla de números como la siguiente:

numeros-1

Ahora se desea eliminar la columna del centro. Para ello podemos usar las selección en bloque. La selección en bloque permite seleccionar una columna en lugar de una línea de texto.

Para entrar en el modo de selección en bloque, se pulsa Escape (modo comando) y después se pulsa Ctrl v Después usaremos las flechas para seleccionar la zona que deseemos. En nuestro caso la columna central:
numeros-2
Finalmente usaremos la tecla x (recordemos que servía para suprimir) para eliminar la columna. Por lo que quedará:
numeros-3
También podemos escribir en bloque. Si desde el modo comando pulsamos Ctrl v y después pulsamos I, podremos escribir el mismo texto en varias líneas a la vez. Para finalizar pulsaremos la tecla Escape. Es decir, si queremos escribir el texto “Datos” al comienzo de cada línea del ejemplo anterior, pulsamos Ctrl v, marcamos la primera columna de las tres primeras líneas:

numeros-4

Pulsamos I, escribimos “Datos”, pulsamos Escape y el resultado será:
numeros-5

Creando nuestros propios menús

Supongamos que hay un comando que usamos algunas veces pero es muy útil. Lo más seguro es que se nos olvide. Podemos editar el archivo ~/.vimrc y añadir una entrada en el menú.

Por ejemplo, para crear una entrada en el menú herramientas que se llame Autocompletar y ejecute Ctrl x Ctrl o desde el modo de inserción, habría que escribir en al archivo  ~/.vimrc:

amenu Tools.Autocompletar i<C-x><C-o>

Tools es el menú herramientas. Con un punto se separa el nombre del menú. Después viene el comando. En nuestro caso el comando es i, la i es porque se supone que todos los comandos se ejecutan desde el modo comando y este comando se debe ejecutar desde el modo de inserción.

Reiniciamos Vim y ya está.

Dentro de la carpeta /usr/share/vim hay una carpeta llamada vim73 (o vim74, vim75 según la versión de vim que esté usando) y allí se encuentra el archivo “menu.vim”. En este archivo se encuentran los menús por defecto y se pueden sacar ideas para crear otros menús.

Más información sobre los menús se puede encontrar en el manual del vim.

Emmabuntüs 3: La película

Emmabuntüs es una distribución de Linux especialmente dedicada a los ordenadores obsoletos. La idea es darles una segunda vida y así reducir la contaminación.

Han hecho un vídeo de promoción, en tono de humor, que no tiene desperdicio. Que lo disfrutéis:

Enlace al vídeo

Moonlight

He recibido el siguiente mensaje que paso a reproducir:


Hola, el proyecto Moonlight esta enfrascado en la construcción de un escritorio ligero y modular para sistemas GNU/Linux, principalmente para sistemas que se ejecuten en dispositivos de bajas prestaciones.

Como somos un proyecto nuevo estamos buscando colaboradores. Podría ayudarnos publicando un anuncio en su sitio?
Puede encontrar más información en estos vínculos:

https://github.com/moonlight-desktop/moonlight-desktop/wiki/Portada
http://humanos.uci.cu/2014/01/moonlight-el-nuevo-entorno-de-escritorio-ligero-para-nova-2015/

Por lo poco que he leído la idea principal es integrar todas las herramientas típicas de un entorno de escritorio en una sola aplicación. La idea es gastar así menos recursos, ya que las herramientas compartirán los iconos cargados en RAM, el mismo proceso de ejecución,… Otra ventaja que le veo es que algunas acciones se ejecutarán más rápido por tenerlas precargadas en memoria.

Entre las dificultades que se encontrarán los desarrolladores de Moonlight están la tareas en paralelo. Seguramente tendrán que ejecutar varias tareas a la vez. Si haces una sola aplicación, que va a tener que hacer varias tareas a la vez, va a ser muy fácil que un fallo en una tarea, provoque el fallo en el resto.

Les deseo suerte a los desarrolladores de Moonlight, ya que, tarde o temprano tu superordenador será viejo y necesitará de proyectos como este.

Agenda 2014

En Google, en Yahoo u otros lugares es posible encontrar agendas en las que apuntar nuestros eventos, citas,…

Usando LibreOffice es posible hacer agendas tan sugerentes como esta que he preparado para el año 2014: Agenda2014

Esta agenda luce así:

agenda-libreoffice

La ventana de LibreOffice, en la esquina inferior derecha, tiene un par de herramientas que permiten cambiar el zoom y la forma en la que se muestran las páginas:

zoom-libreoffice

Con estas dos herramientas se podrán ordenar la páginas por semanas, o ampliar un día para ver los eventos.

Otra forma de hacer más atractiva nuestra agenda es usando iconos que podemos copiar y pegar:

3paginas

Estos los he obtenido de Openclipart y los podéis descargar desde: iconos

También se puede cambiar la imagende fondo, el tipo de letra,…

Un punto importante de tener una agenda es usarla. En mi caso he hecho que la agenda se muestre cada vez que se arranque la sesión del usuario.

Espero que os sea útil. Feliz año 2014.

En LXDE-Qt andan buscando artistas

LXDE-Qt es el proyecto que fusiona LXDE y Razor-qt. Son dos escritorios ligeros que si tenéis una máquina antigua, os pueden ayudar mucho.

Resulta que andan a la caza de artistas para crear iconos. En el último mensaje de la lista he visto que han propuesto como logotipo:

ckaqrj9k7uaxqptqy

Respecto al nombre del proyecto, todavía lo andan debatiendo, por ahora el más aceptado es LXQT, pero han llegado a proponer:

LQDE (Lightweight Qt Desktop Environment)
LDQT
LDE-Qt
LDE
LXDE

LXDE-Qt el escritorio

Hace poco que comenzó la unión entre Lxde y Razor-qt. He compilado Lxde-qt, que es así como se llama la criatura, para ver los avances:

lxde-qt

Ahora mismo es una misturanza entre elementos de Lxde y Razor-qt. La dependencia de GTK2 no ha sido totalmente eliminada. Esto se nota a la hora de compilar la aplicación.

Todavía no se nota integración entre los temas GTK y Qt, pero todo se andará. Al arrancar aplicaciones GTK2, GTK3 y Qt juntas, se nota la faltan de integración entre los temas:

gtkvsqt

La compilación es bastante compleja, por lo que nadie se lleve un desengaño si no es capaz de realizarla.

Lo he notado bastante estable. Las aplicaciones que he podido compilar no han dado ningún problema.

Respecto al rendimiento, todavía no he notado diferencias. Pero claro, lo estoy ejecutando en un ordenador de última generación en el que GNOME3 va fluido. ¿Será lo mismo cuando lo ejecute en mi viejo portátil de hace 10 años?…

Listado de Blogs sobre Linux y software libre

Os presento una colección de enlaces a blogs cuya temática versa sobre software libre y Linux. Espero que os guste:

http://garabatoslinux.net

http://www.tubuntux.com

http://yoyo308.com/

http://www.muylinux.com

http://novedadeslinux.wordpress.com

http://hatteras.wordpress.com

http://jhosman.com

http://www.atareao.es

http://www.comoinstalarlinux.com/

http://blog.desdelinux.net

http://lamiradadelreplicante.com

http://www.elblogderigo.info

http://portallinux.es

http://ospherica.es

http://emslinux.com

http://www.genbeta.com

http://www.nosolounix.com

http://www.nosolounix.com/

http://www.itimetux.com

http://www.freetux.com.ar

http://ociolinux.blogspot.com.es

http://ubunlog.com

http://libuntu.wordpress.com

http://mundogeek.net

http://programasubuntu.com

http://kuboosoft.blogspot.com.es

http://ubunlatex.blogspot.com.es

http://tuxapuntes.com

http://encodingthecode.wordpress.com

http://www.lasombradelhelicoptero.com

http://aleqwerty.wordpress.com

http://www.comoinstalarlinux.com

http://portallinux.es

http://encodingthecode.wordpress.com

CPU benchmark

A veces, mis conocidos, me preguntan ¿qué te parece tal o cual ordenador? Normalmente es para realizar una compra. Lo mejor es ir a páginas de comparativas y ver las características de los dispositivos.

Un sitio interesante es: http://www.cpubenchmark.net/

Puedes buscar tu procesador y ver la puntuación que le asigna. Por ejemplo, a día de hoy, esta página considera que el Intel Xeon E5-2687W con una puntuación de 14.609 puntos es el mejor. Eso sí, sólo cuesta 1.430 euros la unidad. Para hacerse una idea un Intel Core 2 Duo P7550 tiene una puntuación de 1.434 puntos.

En esta página también aparecen comparativas de tarjetas de vídeo, dispositivos android,…