En corto No. 5 – Add-ons de Firefox

Como un usuario de la versión beta de Firefox, hoy me encontré con la sorpresa de que la versión 57 de Firefox eliminará el soporte para add-ons o complementos que estén marcados como Legacy y soportará únicamente add-ons basados en WebExtensions. Esto suena bien pero un desagradable efecto secundario es que el add-on NoScript ha dejado de funcionar :O . Me siento vulnerable sin este add-on básico para cualquiera que use Firefox 😛 . Sólo queda esperar que el autor de NoScript trabaje en una versión compatible con WebExtensions para cuando la versión oficial de Firefox 57 sea lanzada. De momento, esta reseña expresa perfectamente lo que siento.

Advertisements

Compilar megatools en Debian 8.9

megatools es un paquete de herramientas para interactuar desde la línea de comandos con la página de descargas mega.nz. megatools está incluido en el repositorio de paquetes para Debian Stretch pero no está disponible para Debian Jessie por lo que si, como yo, sigues usando la versión 8.9 de Debian, tienes que compilarlo manualmente. Por suerte es un paquete fácil de compilar y sólo tiene unas cuantas dependencias que se pueden instalar desde el gestor de paquetes (la mayoría ya deberían estar instaladas si has seguido posts anteriores en el blog 😀 ):

  • libglib2.0-dev

  • libssl-dev

  • libcurl4-openssl-dev

  • libgirepository1.0-dev

También necesitamos el código de megatools que se puede descargar desde la página oficial o desde su repositorio de github. En este caso estoy compilando la versión de github, si bajas la versión de la página oficial puedes omitir ejecutar autoconf.sh en el primer paso y ejecutar directamente configure.sh:

monstruosoft@monstruosoft-PC:~/megatools-master$ ./autogen.sh 
monstruosoft@monstruosoft-PC:~/megatools-master$ ./configure --disable-docs --prefix=/home/monstruosoft/libs/
...
Configured features:

  docs build: no
  warnings: no

Run make now.

NOTE: On FreeBSD, you need to use GNU make (gmake)
monstruosoft@monstruosoft-PC:~/megatools-master$ make
monstruosoft@monstruosoft-PC:~/megatools-master$ make install

¡Eso es todo!. Ahora podemos usar las herramientas para verificar y descargar todos esos links de mega 😀 .

En corto No.4 – Tips de CMake

CMake incluye opciones predefinidas para habilitar/deshabilitar la información de depuración, de forma que no tienes que escribir estas reglas manualmente. Simplemente tienes que pasar al comando cmake la opción -DCMAKE_BUILD_TYPE con el valor de tu elección. Los posibles valores son Release, Debug, RelWithDebInfo, MinSizeRel. Por ejemplo:

monstruosoft@monstruosoft-PC:~$ cmake .. -DCMAKE_BUILD_TYPE=Debug

 

En corto No. 3 – Tips de NetBeans

Hay varias opciones si quieres agregar un identificador de versión automáticamente a tus programas de NetBeans pero la más sencilla de implementar es abrir el archivo build.xml en el directorio base de tu proyecto y editarlo de la siguiente siguiente manera:

...
  <tstamp>
    <format property="NOW" pattern="yyyy-MM-dd HH:mm:ss z" />
  </tstamp>
  <manifest file="manifest.mf">
    <attribute name="Implementation-Version" value="${NOW}"/>
  </manifest>

</project>

Esto pondrá un valor con la fecha de compilación en el archivo manifest.mf usado para crear el .jar de tu aplicación. Dentro de tu código puedes obtener ese valor con la siguiente instrucción:

String version = MiClase.class.getPackage().getImplementationVersion();
Fuentes:
http://www.javaxt.com/Tutorials/Netbeans/How_to_Add_Version_Information_to_a_Jar_File_with_Netbeans
https://stackoverflow.com/questions/5204297/put-version-to-my-java-application-netbeans

Usar los métodos del paquete java.util.logging puede ser útil para imprimir información de depuración que no quieres imprimir en la versión final de tu aplicación (definitivamente es una mejor opción que usar System.out.println()). Al igual que con el número de versión, hay varias formas de configurar el nivel de información de depuración que quieres imprimir pero una de las más sencillas es copiar el archivo de ejemplo logging.properties de ruta-de-instalación-del-JDK/jre/lib/logging.properties al directorio de tu proyecto y modificarlo para definir el nivel de información a imprimir por el logger que uses en tu código:

...
# Limit the message that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
...
# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
# OFF - Deshabilita todos los mensajes
# ALL - Imprime todos los mensajes
# Nombre de nivel - limita los mensajes a ese nivel y superiores
nombre.logger = OFF

Una vez creado/modificado este archivo, sólo tienes que pasarlo como argumento al iniciar tu aplicación:

monstruosoft@monstruosoft-PC:~/ java -Djava.util.logging.config.file=ruta-del-archivo-logging.properties MiClase
Fuente:
https://stackoverflow.com/questions/6307648/change-global-setting-for-logger-instances/6307666#6307666

Control remoto de decodificador Master

Hace tiempo compré un decodificador de TV digital Master, funciona bien pero el control remoto parece estar hecho con el diseño y los materiales más baratos por lo que ya está fallando y si llega a fallar por completo me quedaría con un decodificador inutilizable, por lo que decidí respaldar la configuración del control remoto usando el Raspberry y el paquete lirc.

Read More

Compartir Wi-Fi con el Raspberry Pi

Compartir la conexión a internet Wi-Fi de nuestra PC con el Raspberry Pi es sencillo si has seguido este blog ya que básicamente requiere los mismos pasos que en el post sobre compartir Wi-Fi con un contenedor LXC. Aquí repetiré los pasos para el Raspberry usando la conexión DHCP que ya hemos preparado en el post anterior.

Read More