Comparing Node.js Frameworks: Express, hapi, LoopBack, Sailsjs and Meteor

LoopBack parece el framework definitivo para construir APIs. Tienen una fuerte propuesta en el área de arquitectura con microservicios, estoy seguro que estaremos escuchando mucho acerca de él en los días por venir.

Estuve buscando en el mundo de Node.js un framework para hacer mis pininos en esta plataforma y de entrada me había ido por Sails.js, sin embargo (como verán en el video) creo que LoopBack es una propuesta más sólida.

Ubuntu en una MacBook Pro

Si instalaste Ubuntu en una MacBook Pro, seguramente hay ciertos detalles que necesitas revisar justo después de la instalación:

Wireless

Si no funciona la red inalámbrica. Conecta a un cable de red e instala los siguientes paquetes:

sudo apt-get install firmware-b43-installer b43-fwcutter

Reinicia Ubuntu para conectarte inalámbricamente.

Teclado

Para corregir el esquema del teclado:

Desde la configuración de las Preferencias escoger sólo Español (sin ninguna variante).

Y en el archivo:

sudo nano /etc/default/keyboard

Escribir o actualizar las siguientes variables:

XKBMODEL="macintosh"
XKBLAYOUT="es"
XKBVARIANT="mx"
XKBOPTIONS=""

Esto lo pondrá como Español de México, si lo quieres cómo Español de España, deja vacía la variable XKBVARIANT.

Cerrar tu sesión y volver a iniciarla para ver los cambios.

Cmd vs Ctrl

Si ya te acostumbraste a usar Cmd, seguro se te hará raro ahora usar Ctrl. Si deseas que esto funcione como en Mac, puedes intercambiarlas. Para intercambiar la tecla Cmd con Ctrl abre el archivo:

nano ~/.Xmodmap

Y pega lo siguiente:

clear control
clear mod4
 
keycode 105 =
keycode 206 =
 
keycode 133 = Control_L NoSymbol Control_L
keycode 134 = Control_R NoSymbol Control_R
keycode 37 = Super_L NoSymbol Super_L
 
add control = Control_L
add control = Control_R
add mod4 = Super_L

Puedes probar este cambio ejecutando el siguiente comando:

xmodmap ~/.Xmodmap

Para que se ejecute cada que reinicies, agrega el mismo comando a las Aplicaciones de Inicio.

Touchpad

Para hacer más similar el touchpad. Esto debido a la forma de lanzar el click Derecho en Ubuntu es con dos dedos sobre el TrackPad, puede ser confuso al principio. Además, el driver que trae por defecto, no ignora la Palma ni el Pulgar, y la gran mayoría de las personas de repente recargamos una o otra lo que ocasionará que el cursor brinque sin querer. Queda mucho mejor con otro driver especializado en estos problemas. Para instalarlo:

Agregar el repositorio:

sudo add-apt-repository ppa:mactel-support && sudo apt-get update

Instalar el paquete:

sudo apt-get install xserver-xorg-input-mtrack

Crear el archivo:

sudo nano /etc/X11/xorg.conf

Con el siguiente contenido:

Section "InputClass"
    MatchIsTouchpad "on"
    Identifier      "Touchpads"
    Driver          "mtrack"
    Option          "Sensitivity" "0.85"
    Option          "FingerHigh" "12"
    Option          "FingerLow" "1"
    Option          "IgnoreThumb" "true"
    Option          "IgnorePalm" "true"
    Option          "TapButton1" "0"
    Option          "TapButton2" "0"
    Option          "TapButton3" "0"
    Option          "TapButton4" "0"
    Option          "ClickFinger1" "1"
    Option          "ClickFinger2" "3"
    Option          "ClickFinger3" "3"
    Option          "ButtonMoveEmulate" "false"
    Option          "ButtonIntegrated" "true"
    Option          "ClickTime" "25"
    Option          "TapButton2" "0"
    Option          "TapButton3" "0"
    Option          "TapButton4" "0"
    Option          "ClickFinger1" "1"
    Option          "ClickFinger2" "3"
    Option          "ClickFinger3" "3"
    Option          "ButtonMoveEmulate" "false"
    Option          "ButtonIntegrated" "true"
    Option          "ClickTime" "25"
    Option          "BottomEdge" "25"
    Option          "SwipeLeftButton" "8"
    Option          "SwipeRightButton" "9"
    Option          "SwipeUpButton" "0"
    Option          "SwipeDownButton" "0"
    Option          "ScrollDistance" "75"
    Option          "VertScrollDelta"          "-111"
    Option          "HorizScrollDelta"         "-111"
EndSection

Esto pondrá el click derecho como normalmente es en Mac (dejando dos dedos encima del Touchpad y haciendo tap con otro) además de poner el scroll natural (invertido) como si lo hicieras desde un dispositivo touch.

Si no quieres el scroll natural, elimina las variables “VertScrollDelta” y “HorizScrollDelta”.

Si sientes el desplazamiento muy rápido o lento, cambia el valor de la variable “Sensitivity” (0.55 por ejemplo lo hará más lento).

Reinicia Ubuntu.

Leer particion de MacOS en Ubuntu

Si tienes una partición, e intentas abrirla, te saldra un error. Esto es porque para leer particiones de Mac OS se necesita un paquete extra, instalalo:

sudo apt-get install hfsprogs

Si te salen errores de que la unidad está dañada, puedes repararla con el siguiente comando (reemplazas “sda2” con el número que te salga en el cuadro de diálogo):

sudo fsck.hfsplus -f /dev/sda2

xTerm

Ciertas aplicaciones como xTerm no usan el Portapapeles normal (Ctrl+c Ctrl+v) sino algo que le llaman Primario.

En dichas aplicaciones se copia al Primario con Ctrl+Insert y se pega con Shift+Insert, debido a que Ctrl+c normalmente esta reservado para terminar.

Debido a que en la Laptop no tenemos la techa de Insert, vamos a tener que mapear a otras combinaciones.

Copiar

Para XTerm en particular, puedes hacer que al seleccionar un texto, lo copie tanto al Primario como al Clipboard.

Intenta abrir una terminal con el siguiente comando:

xterm -ls -xrm 'XTerm*selectToClipboard: true'&

Si seleccionas un texto y después te vas a Chrome e intentas pegarlo ya funcionará.

Para guardar esa configuración, edita el archivo ~/.Xdefaults con lo siguiente:

XTerm*selectToClipboard: true

Pegar

En Ubuntu existe un mapeo para pegar del Primario, que es con el Middle Click del Mouse, esto es darle click a la ruedita del Scroll. Como tampoco tenemos rueda de Scroll, aprovecharemos para usar una tecla que casi no se use.

Primero instala el siguiente programa:

sudo apt-get install xkbset

Ahora ejecuta o siguiente en una terminal:

xmodmap -e "keycode 134 = Pointer_Button2"; xkbset m

Esto mapeará la Tecla Comando de la derecha a Middle Click. Entonces si quieres pegar algo del Primario, solo presiona Comando derecha.