Programando con Node-Webkit. 3: cliente-servidor

nodewebkitHace unos días hablaba de montar una aplicación cliente-servidor rápidamente usando ssh para ejecutar comandos remotos.

Bueno, funcionar funciona, pero tiene algunos inconvenientes como por ejemplo depender de usuarios de sistema con los que hacer login. Disponiendo de tiempo y ganas sería mejor desarrollar nuestro propia app de servidor con nuestro propio sistema de autenticación, y mejor aun si además con ello conseguimos que nuestra aplicación sea totalmente portable.

Puede haber mil formas de hacerlo, pero ya que estamos metidos con node-webkit le daremos una vuelta a una de sus alternativas en la vertiente de server: express.js.

Sigue leyendo

Error con ssh2 en Node-Webkit

nodewebkitPongamos que quieres desarrollar rápidamente una aplicación cliente-servidor en node-webkit, y que precisamente por la parte de “rápidamente” quieres centrarte en el cliente sin liarte con la comunicación con el servidor.

Una opción sencilla es usar ssh, ejecutando de forma remota en el servidor lo que necesitemos y capturando y parseando las respuestas.

Además querremos que nuestro cliente sea multiplataforma, así que buscando librerías de ssh en javascript encontraremos el módulo ssh2 de npm. Todo perfecto, estás a cinco minutos de tecleo de tener tu aplicación funcionando…

…Y entonces resulta que la conexión falla 4 de cada 5 veces sin tener ni idea de por qué.

Sigue leyendo

Programando con Node-Webkit. 2: build

nodewebkitEn el artículo anterior sobre node-webkit nos habíamos quedado con una aplicación de prueba sin más contenido que una cadena de texto, pero que ya podíamos ejecutar a través de nw y ver que efectivamente la cosa funcionaba.

Bien, pongamos que ya le hemos echado unas horas a nuestro programa y queremos distribuirlo a más gente… lo de decirles que se descarguen el node-webkit y usen “nw ./” desde la carpeta no es muy atractivo, mucho mejor si les damos un ejecutable sobre el que sólo necesitan hacer click para arrancarlo, verdad?

Para ayudarnos con esto está Grunt.

Sigue leyendo

Programando con Node-Webkit. 1: empezando

nodewebkitPodría inventarme excusas más técnicas sobre por qué me ha dado por probar a desarrollar con node-webkit, pero la realidad se reduce a “porque puedo”.

Por eso, y porque siempre me ha picado la curiosidad de diseñar interfaces de escritorio con CSS, y aunque node-webkit no es la única opción para ello (ni seguramente la mejor) sí tiene un cierto interés particular por lo rebuscada que es.

A fin de cuentas programar una aplicación de escritorio con funciones asíncronas es un poco como partir el filete con el tenedor y comerlo con el cuchillo: un desafío absurdo de consecuencias potencialmente interesantes.

Sigue leyendo

Haciendo Gimp visualmente más parecido a Photoshop

Gimp 2.8Suelo ser de la opinión de que cuando dos cosas son diferentes, el tratar de asemejarlas superficialmente a lo único que lleva es a la confusión.

Por mucho que modifiquemos el interfaz, Gimp sigue siendo Gimp y Photoshop sigue siendo Photoshop, aunque sí es cierto que para los que estén habituados a trabajar con el programa de Adobe les resultará mucho más intuitivo trastear con GIMP si las herramientas, los paneles y los atajos de teclado son iguales (o al menos muy parecidos).

Sea como sea, porque conozcas bastante el Photoshop o simplemente porque te apetezca probar, he aquí como darle un lavado de cara al GIMP.

Sigue leyendo

Gigantismo en Gnome-Shell

GnomeDespués de la última actualización de Gnome-Shell 3.10 me quedé un poco así como con la boca abierta cuando vi que la siguiente vez que arranqué el ordenador todo el interfaz era… gigante.

El caso es que al final tiene su explicación y puede que hasta no sea realmente culpa de la gente de Gnome: está previsto que para Gnome-Shell 3.12 se soporten las pantallas HIDPI, para las cuales al tener mayor número de píxeles por pulgada se puede duplicar el tamaño del interfaz manteniendo el mismo aspecto.

Ahora bien, ¿qué pasa si los valores EDID de tu monitor hacen pensar a Gnome que puedas tener una pantalla HIDPI sin tenerla en realidad?

Sigue leyendo

Usando un chroot para arreglar un sistema que no arranca

recoveryMe acaba de pasar que haciendo un dist-upgrade en el portátil de repente se ha quedado la pantalla en negro, y por alguna razón ni siquiera me dejaba hacer login desde una consola (tty1).

Encima conectando por ssh cualquier cosa que hiciese me daba una violación de segmento, y ya en el intento a la desesperada de reiniciar ni siquiera llegaba a arrancar.

En este momento lo primero que se te pasa por la cabeza es “ME CAGO EN LA P***!!!!!” y ya te ves haciendo backup desde un LiveCD y reinstalando todo.

Pero espera! Aun queda una última esperanza: chroot.

Sigue leyendo

Explicación interactiva de comandos de shell

shebangAsí como por casualidad me he topado con una web bastante curiosa que al introducir cualquier línea de shell te la desglosa explicando qué hace cada parte, y además puedes hacer click en los comandos que la componen para ver la lista de opciones que permite el mismo (extraído de su página man).

La web es explainshell.com, y además de ser curiosa en si misma tiene el extra de que puedes descargar su código fuente de GitHub y usarla localmente.

Mis felicitaciones al chef.

RTL8821AE 802.11ac funcionando en Ubuntu 14.04

wifi-ubuntu¡Bienvenidos al maravilloso mundo del hardware medianamente soportado en Linux!

Resulta que hace poco me hice con un Asus VC60, muy chulo y pequeñito él, y tras el formateo de rigor para eliminar Windows8 y reemplazarlo por Ubuntu me encontré con todo funcionando perfectamente sin tener que tocar nada… excepto el wifi.

No ha sido mucho problema porque de todas formas tenía intención de conectarlo al router por cable, pero oye ya que trae wifi debería funcionar, no? Pues al lío.

Sigue leyendo

Encendiendo el PC desde Android

wol-wakeonlanHace tiempo solía dejar el PC encendido las 24 horas del día, no sólo por que pudiese en algún momento estar descargando alguna cosa si no por la comodidad de no tener que encenderlo cuando quisiese usarlo, y por saber que podría acceder en cualquier momento a mi librería Plex.

Últimamente en cambio entre que la luz es cada vez más cara y que el PC ha dejado de ser silencioso (todos los días me digo que tendría que abrirlo y limpiarlo pero al final nunca lo hago) sólo lo enciendo cuando realmente lo necesito.

El problema es que ya no tengo disponible la librería Plex cuando estoy fuera, y dado que estoy fuera tampoco puedo encender el ordenador… a no ser que exista alguna forma de encenderlo remotamente.

Y existe (desde hace cantidad de años). Se llama Wake On LAN.

Sigue leyendo