Instalar módulos de Node.js en servidores offline

Tras haber dormido pocas horas, nada más despertarme he pensado ¿por qué estoy de tan mal humor? Entonces he recordado lo que tuve que hacer ayer por la noche para instalar por npm el módulo forever en un servidor web sin acceso a los repositorios y me acordé. Y como buscando por los issuesStackOverflowses del planeta parece ser que no soy el único que se ha encontrado este problema, dejo aquí escrita esta handy-dandy-guide dirigida a todos los que la presente vieren y entendieren.

npm

Partimos de la base de que parece un poco tonto querer usar node.js en un servidor que no tiene acceso a prácticamente nada. En realidad no, el servidor es una máquina virtual que nos ha proporcionado la Escuela para la realización de la práctica y el único acceso al exterior que tiene es a un mirror de la propia Escuela de los repositorios oficiales de Ubuntu. Por lo demás, el cortafuegos tras el que está  no le deja ni resolver la IP de google.es. ¿Puertos disponibles? El 22 y el 80 (que son redirigidos a otros del servidor de acceso, pero eso ya nos es indiferente). ¿La tarea? Instalar el módulo de node.js forever. Sigue leyendo

Tres funciones de pertenencia (la fea, la guapa y la estúpida)

Hace unas semanas tuve por Internet (ay) una discusión con un programador experto (ay ay) sobre la mejor función de pertenencia jamás escrita. Bueno, en realidad el tema principal de la discusión no era ese, pero una tercera persona dio a escoger al experto entre dos funciones de pertenencia cuál creía él que era la mejor, supongo que para demostrar que era un troll de alto nivel. Resultó que a dicho programador le daba un miedo atroz romper la ejecución de un bucle sencillo mediante un return, y que las banderas eran siempre la mejor solución al tipo de problema planteado.

Se quedó con el siguiente código como «el mejor, el más correcto», aunque lo mejoró añadiendo un int longitud = lista.length que no reproduzco aquí ya simplemente por no manchar más el código.

Sigue leyendo

Desbloqueo de SIM y No Lock Home en KitKat

Dejo esto como un apunte rápido de un fallo con un módulo del Xposed Framework que me ha dejado un poco «antontado» por ser la primera vez que me topo con algo así. Parece ser que si tienes un teléfono de boot perezoso (por decirlo amablemente, en otras palabras, que arranca más lento que el caballo del malo), si tienes instalada como mínimo la versión 0.6.4b de No Lock Home vas a tener problemas.

Imagen de andro4all

Imagen de andro4all

El módulo No Lock Home emula en Android 4.4.x una feature de Lollipop llamada Trusted Locations. Bajo la premisa de que un punto de acceso WiFi con un SSID y MAC concretos sólo puede estar en un único sitio (tu casa, tu oficina…) puedes decidir una política de seguridad distinta según donde te encuentres. En resumen, escoger que el teléfono no te pida ser desbloqueado si te encuentras en un sitio donde la seguridad de acceso sea más una molestia que una ventaja. Una localización en la que confíes que no van a husmear en tu dispositivo.

El problema es que parece ser que No Lock Home es un poco bruto y se lleva por delante cualquier pantalla del sistema que pida un código. Así que si enciendes el teléfono con el WiFi activado y este se enlaza al AP de confianza antes de que salte la pantalla de desbloqueo de la tarjeta SIM, No Lock Home evitará que ésta aparezca, no dejándote así conectar a tu red de telefonía.

¿Solución? Desenlazarte de aquellas redes WiFi y/o dispositivos bluetooth de confianza y activar y desactivar el modo avión para que se reintente el desbloqueo de SIM.