jueves, 20 de octubre de 2016

Añadir un path de librerías dinámicas a la variable de entorno en TinyCore Linux

El añadido de librerías dinámicas (.so) al library path de Linux (LD_LIBRARY_PATH), debería ser automático con la instalación de cada paquete .tcl, pero tuve un caso particular de un programa que fallaba por referencias no resueltas.

Una solución, programable desde bootsync.sh (en TinyCore Linux), es leer las librerías desde el path que no está encontrando y agregarlas a la variable del sistema LD_LIBRARY_PATH:

# bootsync.sh
if [ "$LD_LIBRARY_PATH" == "" ]
then
export path_sep=""
fi

if [ "$LD_LIBRARY_PATH" != "" ]
then
export path_sep=":"
fi

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH$path_sep/usr/local/lib
echo LD_LIBRARY_PATH
echo $LD_LIBRARY_PATH

martes, 18 de octubre de 2016

Swing vs SWT respecto a la libertad del software

Fui advertido, en el sitio https://gna.org/, de las contraindicaciones a la libertad de software de las aplicaciones que dependieran de Swing, por medio de un mensaje dispuesto en los formularios de alta de nuevos proyectos.


Lo investigué.


Si bien no hay conflicto con crear software libre que depende en otro no libre (http://stackoverflow.com/questions/3111455/releasing-code-containing-java-swing-what-license), la respuesta no me satisfacía. Yo quería que fuera libre íntegramente, incluidas las dependencias. GNU había acusado a Java de ser una trampa a la libertad, sin embargo, esta acusación fue retirada (no sin dejar una advertencia de peligro latente) tras aparecer varias implementaciones libres de la plataforma: https://www.gnu.org/philosophy/java-trap.html.


La historia reconstruida por mí: Sun Microsystems no había liberado el código de Swing desde el principio, GNU trabajó (probablemente ambos en conjunto) para en el proyecto CLASSPATH (http://www.gnu.org/software/classpath/) para tener una implementación libre de las clases Java core (incluido Swing), luego el proyecto GCJ (GNU Compiler for Java, https://gcc.gnu.org/java/) absorbió al proyecto CLASSPATH, pero si bien el compilador evolucionó muy rápido, el mantenimiento de la librería Java es muy bajo comparado al del proyecto OpenJDK (http://openjdk.java.net/).


SWT, el framework de GUI de aplicaciones de escritorio, históricamente no atravesó tantos vaivenes y fue libre desde siempre (https://www.eclipse.org/swt/).

sábado, 30 de julio de 2016

Android Dev Stack Platforms (ionic, spring, android sdk)

Este gráfico muestra opciones de configuración de plataformas de desarrollo Android.

El elemento en el gráfico denominado por [“”] significa que bajo él iría un diagrama idéntico al "Android SDK" que está del otro lado. 

Una opción más sería desarrollar directamente sobre Android Studio o Android SDK.