[Revisión Libro] Learning Web Design, 4th Edition, O’Reilly

Datos:

  • Paginas: 624
  • Editorial: O’Reilly Media
  • Edición: Cuarta Edición (August 21, 2012)
  • Idioma: Ingles
  • ISBN-10: 1449319270
  • ISBN-13: 978-1449319274

Objetivo:
Recibí este libro como parte del programa de User Groups de O’Reilly y a pesar de que existen muchos otros libros que me parecen interesantes de revisar, en estos momentos tenia especial interés en buscar un libro que pueda ayudar a eliminar la cultura de interfaces gráficas feas que he notado en desarrollos propios y de extraños, sobre todo al utilizar Java.

En mi etapa de picar código (me encanta picar código) pude notar que el desarrollador promedio queda maravillado con el framework Java del momento desde la Universidad y salta a la cancha con un conocimiento pobre respecto de HTML, hojas de estilo CSS y Javascript limitandose a repetir la frase «eso es para los diseñadores y los que abandonaron la universidad, para mi solo el trabajo pesado por favor». Sin embargo tarde o temprano se necesita hacer la unión de ambos roles o más comúnmente converger hacia ambos roles lo cual aumenta el nivel de exigencia respecto al diseño de frontends y que sin embargo se va sorteando con arrastar componentes JSF desde la paleta de su IDE favorito. En el fondo funciona, solo que es feo.

Sobre el libro:
Como muchos desarrolladores web ya saben, el problema de aprender HTML no es encontrar material. El verdadero problema radica en que material conviene leer sin quedarse dando círculos y aprender de una forma adecuada la «magia» detrás de la creación de una pagina web. W3Schools es un buen inicio y punto de referencia, sin embargo he visto tantos cursos que se autoproclaman lo mejor de lo mejor que simplemente nunca me llamaron la atención.

En este libro encuentro mucho de lo que estaba buscando y Jennifer Niedrst presenta un libro para nada pretencioso que explora desde 0 el mundo de HTML, CSS y Javascript desde una visión generalista sin descuidar detalles, pero tampoco entrando al uso de jQuery, blueprints, o cualquier otra herramienta que sin el conocimiento previo solo genera más problemas que soluciones.

El libro se divide en cinco grandes partes:

  • Conceptos básicos
  • HTML
  • CSS
  • Javascript
  • Formatos de archivo recomendados para web

Impresión personal del libro:
Desde mi punto de vista el libro da una visión general actualizada incluyendo elementos de HTML 4 y HTML 5 de una manera lógica y ordenada, remarcando lo que hasta el momento es o no es compatible con los navegadores web existentes (recordemos que HTML 5 es un trabajo en proceso) y explicando como se esta dando la transición hacia HTML 5, ademas de explicar de forma fácil muchos tags nuevos de carácter semántico que no conocía, se siente bien actualizarse :D.

Las partes que podría calificar aburridas del libro fueron la primera mitad de conceptos básicos (porque son cosas que ya conocía, tan simples como que es un navegador web o un servidor FTP) así como los formatos de archivo (de nuevo, ya conocía la mayoría). Dejando eso a un lado, el libro me pareció muy bien escrito y encontré la mejor definición de DOM que he visto en mi vida (simple y al grano), ademas de ejercicios que pueden ser útiles para que la gente entienda de una buena vez como se estructura una pagina web para que sea semanticamente correcta, pueda ser bien indexada y bien renderizada. También me gusto el hecho de que aunque se menciona Internet Explorer 8 de manera negativa, la autora lo hace de una forma muy profesional sin vanagloriar otros navegadores.

Cosas resaltables:

  • Es un libro perfecto para introducción a HTML/CSS/JS.
  • De igual forma es bueno como libro de referencia ya que esta bien estructurado y es rápido usarlo a manera de diccionario.
  • Los ejercicios son fáciles y solo se necesita de un buen editor de texto.
  • El libro tiene muchas advertencias de que cosas son nuevas y que navegadores ya lo soportan y que va a suceder con los navegadores que no soportan componentes nuevos.

Cosas que pueden disgustar:

  • Para quien busca mejorar sus habilidades en HTML o actualizarse, la primera impresión puede ser mala, sin embargo mientras el libro avanza se pone interesante.
  • El libro esta diseñado para leerse en pantalla, papel o tablet. Las gráficas no se ven muy bien en un e-reader (yo lo probe en un nook touch) y además hace muchas referencias a porciones de código por medio de los colores . . . pero el lector es B/N.
  • Tiene muchos consejos que pueden derivar en una buena experiencia de usuario, PERO como tal no es un buen libro para aprender como crear experiencia de usuario.

 

[QuickTip] Añadiendo una instancia de Bugzilla3 a un VirtualDomain existente en Ubuntu

Dependiendo de la version de Ubuntu (y Debian probablemente) si se ha utilizado el procedimiento estándar para instalar bugzilla3 desde los repositorios, el archivo de configuración se encuentra en:

/etc/apache2/conf.d/bugzilla3.conf

El contenido de este archivo sera el siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#<VirtualHost *:80>
    Alias /bugzilla3 /usr/share/bugzilla3/web
 
    <Directory "/usr/share/bugzilla3/web">
        AddHandler cgi-script cgi
        DirectoryIndex index.cgi
        Options +Indexes +ExecCGI -MultiViews +SymLinksIfOwnerMatch +FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
 
    <Directory "/usr/share/bugzilla3/web/data">
        Options +FollowSymLinks -Indexes
        AllowOverride None
        Order allow,deny
        Allow from all
 
    <Directory "/usr/share/bugzilla3/web/js">
        Options +FollowSymLinks -Indexes
        AllowOverride None
        Order allow,deny
        Allow from all
 
    <Directory "/usr/share/bugzilla3/web/skins">
        Options +FollowSymLinks -Indexes
        AllowOverride None
        Order allow,deny
        Allow from all
 
#</VirtualHost>

Como ya habrán notado  los tags de <VirtualHost> están comentados y en una configuración básica basta con  borrar los simbolos # para obtener midominio.com/bugzilla3. PERO si ya tenemos un VirtualHost activo basta con copiar solo el contenido dentro de los tags <VirtualHost> hacia nuestro archivo de configuracion de VirtualHost ya existente (regularmente se encuentra en /etc/apache2/sites-available/).
Como una recomendación adicional si se desea cambiar la ruta desde /bugzilla3 hacia /bugs,/bzilla,/cucarachas,etc. Debemos realizar dos pasos

1. Cambiar la linea Alias /bugzilla3 /usr/share/bugzilla3/web por la cadena que nosotros queramos (por ejemplo Alias /bzilla /usr/share/bugzilla3/web)

2. Entrar a la configuración de Bugzilla y editar el parámetro urlbase dentro de Administration->Required Settings.

 

java.io.EOFException y el JavaKeyStore para applets

Una de las características por la cual me encanta Gentoo es por su excelente soporte a Java y sin titubear puedo decir que es uno de los sistemas operativos más flexibles para desarrollo en Java pudiendo elegir los compiladores y maquinas virtuales que deseo utilizar con un par de comandos.

A decisión personal utilizo OpenJDK como mi maquina virtual de cabecera y OracleJDK solo para mi navegador web (por algunos certificados que OpenJDK no tiene). En medio cambios abruptos y mal planificados de maquinas virtuales  obtuve como resultado una corrupción en el almacén de certificados confiables sin siquiera percatarme.

Luego, al intentar acceder a el portal en linea de mi banco, recibía el siguiente error:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
java.io.EOFException
    at java.io.DataInputStream.readInt(DataInputStream.java:392)
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:645)
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
    at java.security.KeyStore.load(KeyStore.java:1214)
    at com.sun.deploy.security.DeploySigningCertStore$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.security.DeploySigningCertStore.loadCertStore(Unknown Source)
    at com.sun.deploy.security.DeploySigningCertStore.load(Unknown Source)
    at com.sun.deploy.security.DeploySigningCertStore.load(Unknown Source)
    at com.sun.deploy.panel.CertificatesInfo.reset(Unknown Source)
    at com.sun.deploy.panel.CertificatesInfo.(Unknown Source)
    at com.sun.deploy.panel.CertificatesDialog.(Unknown Source)
    at com.sun.deploy.panel.SecurityPanel.certsBtnActionPerformed(Unknown Source)
    at com.sun.deploy.panel.SecurityPanel.access$000(Unknown Source)
    at com.sun.deploy.panel.SecurityPanel$1.actionPerformed(Unknown Source)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
    at java.awt.Component.processMouseEvent(Component.java:6505)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6270)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4861)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:682)
    at java.awt.EventQueue$3.run(EventQueue.java:680)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:696)
    at java.awt.EventQueue$4.run(EventQueue.java:694)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

El error en si no es muy descriptivo y me genero un dolor de cabeza horrible. Luego de leer un poco en los foros de Oracle, el verdadero problema es que el archivo de certificados para el usuario en ejecución estaba dañado y por ser un archivo de configuración a nivel de usuario este no es eliminado con cada reinstalación/desinstalación de Java (esto tambien ocurre en Windows).

¿Solución?

La solución más factible al dañar este archivo es eliminarlo, es casi imposible editarlo a mano porque su contenido es binario, vale la pena resaltar que si el archivo esta vació recibirán el mismo error antes mencionado. Asi que procedemos a borrarlo:

1
rm $HOME/.java/deployment/security/trusted.certs

Como consecuencia de este paso, en el primer intento de ejecución de un applet tendremos que confirmar nuevamente si confiamos en el y esto sucederá con todos los applets previamente confirmados. Engorroso pero nuevamente puedo entrar a ver mi estado de cuenta :D.

Creando tu propio Gentoo Overlay en GitHub

Aunque actualmente Gentoo disponibiliza overlays en Git para sus usuarios, nunca esta de más entender la estructura básica de un overlay y configurarla por nosotros mismos, por ejemplo en GitHub.

¿Que es un overlay?
Un overlay es un origen extra de ebuilds que no son parte del arbol de portage principal . Generalmente se utilizan para disponibilizar paquetes de Software para Gentoo con fines diversos, incluyendo experimentación, paquetes bleeding edge, separación de proyectos, pruebas de paquetes. Todo esto aprovechando las ventajas de portage y aprovechar paquetes ya existentes como dependencias.

¿Existen otras alternativas?
Una alternativa muy común es el uso de overlays locales, sin embargo son innumerables las ventajas que provee un administrador de versiones y si se tiene más de un equipo con Gentoo los ebuilds del overlay se pueden distribuir de una manera más fácil utlizando layman.

Creando la estructura de nuestro overlay
Para fines prácticos el overlay se llamara tuxtor y estará ubicado en un folder denominado tuxtor.

Como primer paso debemos crear la estructura del overlay para luego enviar los archivos a nuestro repositorio. Por definición los overlays conservan la misma estructura del arbol de portage donde se tienen como directorios de primer nivel las categorías de los paquetes y dentro de cada categoría un folder que corresponde a un paquete, uno o mas ebuilds que corresponden a distintas versiones del paquete y el archivo Manifest para la ejecución de verificaciones con checksum md5.

Por ejemplo para mi versión de mendeleydesktop 1.6, la estructura seria completa seria

tuxtor
--sci-misc
----mendeleydesktop
------mendeleydesktop-1.6.ebuild
------Manifest

Luego de tener listos nuestros ebuilds necesitamos añadir un directorio denominado profiles que en el arbol principal portage se utiliza para almacenar un set de configuraciones que dependerán del perfil de sistema operativo con el cual se haya instalado Gentoo. Aunque se pueden agregar varias configuraciones dentro del folder profiles, el requisito mínimo es crear el directorio con un archivo de texto simple denominado repo_name el cual debe contener el nombre que deseamos para nuestro overlay:

tuxtor
--profiles
----repo_name

Integración con Layman

También necesitamos preparar nuestro overlay de tal forma de que layman pueda saber de su existencia y le haga el amor, para esto necesitamos crear un archivo .xml con la estructura descrita en la documentación de layman. Aunque este archivo puede estar en cualquier otra parte y describir no solo uno sino varios repositorios con varios orígenes (ssh,git,svn,mercurial,http,https), GitHub ofrece acceso plano via http al archivo y este puede ser aprovechado.

Por ejemplo mi XML tiene la siguiente estructura:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE repositories SYSTEM "/dtd/repositories.dtd">
<repositories xmlns="" version="1.0">
  <repo quality="experimental" status="unofficial">
    <name>tuxtor</name>
    <description>Tuxtor Personal Overlay</description>
    <homepage>https://github.com/tuxtor/tuxtor-gentoo-overlay</homepage>
    <owner>
      <email>tuxtor@shekalug.org</email>
      <name>Víctor Orozco</name>
    </owner>
    <source type="git">git://github.com/tuxtor/tuxtor-gentoo-overlay.git</source>
    <feed></feed>
  </repo>
</repositories>

La parte mas importante del archivo es el tag source type, en el caso de git, este debe apuntar a la URL read only del respositorio git. Convenientemente lo ubico dentro del folder tuxtor

tuxtor
--overlay.xml

Una vez hecho esto procedemos a hacer push de los archivos que estan dentro del folder tuxtor y nuestro overlay pasa a su nueva morada en GitHub.

Para integrarlo a layman en nuestro sistema Gentoo solo necesitamos obtener la URL de acceso plano al archivo overlay.xml y editar la variable overlays en el archivo /etc/layman/layman.cfg y agregar la URL antes obtenida. Por ejemplo mi archivo contiene la siguiente estructura:

overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml
https://raw.github.com/tuxtor/tuxtor-gentoo-overlay/master/overlay.xml

Por ultimo basta con hacer un layman -L para actualizar el listado de overlays disponibles y agregar el overlay con un layman -a <repo_name> donde repo_name corresponde al nombre que definimos en el archivo XML. Este nombre no tiene que ser necesariamente el definido en el archivo repo_name dentro de profiles, pero es más consistente con otras herramientas como eix y te evita dolores de cabeza.

Y listos, a emerger!

Oracle y los errores en criticos en Java

Recientemente la maquina virtual de Java y más específicamente el plugin de Java para exploradores web ha sido duramente criticado por errores graves de seguridad, donde en algunas plataformas se resolvía con actualizar la versión de Java y en otras dependia de la implementación propia y cerrada

A decir verdad los errores de Software que pueden derivar en una falla de seguridad grave le ocurren a la mayoría de los productos, idealmente mientras menos ocurran es mejor, pero están presentes en Linux, Windows, Mac por dar algunos ejemplos o plataformas superseguras como OpenBSD con backdoors del FBI incluidos.

¿Entonces porque decimos que un Software es más seguro que otro o porque decimos que una plataforma de desarrollo es más segura que otra?. Ademas de la frecuencia de aparición de errores que desde mi punto de vista es la métrica más visible, otro factor bastante importante es como estos errores son abordados y es un problema del que Oracle esta aun aprendiendo a reaccionar porque a diferencia de sus bases de datos que comúnmente están aisladas tras varios firewall, acceder y explotar una vulnerabilidad en el plugin de la maquina virtual de Java es más simple respecto al numero de puntos de control que deben ser burlados.

Hace tres dias Ars Technica (en ingles) publico un reportaje respecto a una vulnerabilidad critica en Java que preocupo a varios lideres de la comunidad Java a nivel mundial (y a su servidor por andar de metido en conversaciones de grandes) sobre todo porque ya han sido dos golpes grandes en menos de 6 meses. A mi parecer el tono noticia es un poco amarillista, pero cuando la seguridad esta en juego el amarillo realmente es un buen color para decir que algo esta pasando y eso no justifica la pobre administración que Oracle realiza (o realizaba?) respecto a los zero day bugs.

Una de las cosas que me gusta del Software Libre es la transparencia de errores críticos en casos tan notables como Debian o Gentoo, donde los errores son revelados lo más antes posible y a su vez los parches son liberados en un tiempo corto. Sin embargo en el reportaje de Ars Technica a pesar de sus reiterados intentos por obtener una respuesta por parte de Oracle, la única información clara y oficial era que a pesar de la gravedad del bug el plan de actualización seguirá como si nada hubiera pasado escondiendo todo bajo la alfombra. Si, yo también vi eso como un error garrafal.

Pero no todo ha sido malo para Java desde el cambio de dueño y Oracle esta reaccionando más rápido de lo que esperaríamos invirtiendo en esta área fundamental a petición de la comunidad (aunque usted no lo crea). Luego de una breve discusión acerca de la inminente necesidad de un jalón de orejas por el impacto que pueden tener estos errores en productos más nuevos como JavaFX, fue presentado a la comunidad Milton Smith como la nueva persona a cargo de la seguridad de Java SE y literalmente lo tiraron a los leones para que hubiera comunicación de ideas con la gente que usa Java en la calle.

Luego de una breve discusión del reportaje de Ars Technica la respuesta del mismo Milton fue que un nuevo lanzamiento de Java estaba listo para instalar, ademas de que se habia elevado la alerta de seguridad y esto traería una pequeña modificación en la numeración de versiones de Java. Para los que están acostumbrados a desarrollar Software saben que este tipo de cosas no son como encender la tele y ver el programa de Chabelo, la respuesta fue muy rápida hablando en tiempos de desarrollo.

El FUD ya esta hecho y con la popularidad de Java en juego veremos si es suficiente la buena voluntad y lanzamientos más frecuentes, por mi parte me encanta el valor agregado que genera escuchar a la comunidad :D.

Streaming gratuito de LinuxCon/OpenCloud 2012

¿Eres un amante del Open Source pero tu salario no te permite ni comprar un McFlurry?, ¿Quisieras saber que pasa en uno de los mayores eventos relacionados a Linux en el mundo pero vives en tangamandapio?, ¿La migra no te deja entrar a otros paises porque tienes cara de traficante? este post puede ser para ti.

Del 29 al 31 de agosto como muchos de los Linux followers ya saben se llevara a cabo la Linux Conference paralelo a la OpenCloud en San Diego, CA, USA, y este año nuevamente tenemos a nuestra disposición streaming gratuito del evento.

Basta con inscribirse en esta pagina, y no esta de más revisar el horario para ver cuales presentaciones califican como imperdibles.

TuxOnIce con particiones LVM encriptadas con cryptoLuks en Funtoo

Una de mis motivaciones para utilizar TuxOnIce es la posibilidad de hibernar hacia un archivo común a diferencia de swusp (la hibernación de serie en el kernel Linux), pero con mi reciente migración hacia LVM+cryptoLuks ninguna de las configuración que realizaba funcionaban. Aunque con algunas desventajas de rendimiento, el uso de sistemas de archivos encriptados es casi obligatorio en equipos moviles y en Funtoo la tarea es practicamente automatica con una guía detallada en la Funtoo wiki con ayuda de better-initramfs que es compatible de serie con TuxOnIce.

Sin entrar en detalles el procedimiento basico de hibernación es generar una imagen de lo que se encuentra actualmente en la memoria RAM y dependiendo de la configuración de TuxOnIce esta es almacenada en una partición swap/un swapfile/un archivo común y esta imagen es restaurada al iniciar el sistema nuevamente. Sin embargo luego de comprobar que podía arrancar desde rootfs encriptado recordé que en el orden normal de arranque la restauración de la imagen hibernada tiene prioridad incluso sobre initramfs y  me encontré frente al dilema: ¿Y ahora como le digo al Grub que busque la imagen de TuxOnIce si rootfs esta encriptada, swap también y se desencriptan con un prompt de initramfs?

Luego de un par de horas de frustración minutos me encontré con la solución, los propios parches de TuxOnIce toman en cuenta este problema y habilitando la opción CONFIG_TOI_IGNORE_LATE_INITCALL el kernel es configurado para  esperar por la ejecucion de initramfs antes de intentar restaurar una imagen de TuxOnIce. Esta opción se encuentra en:

Power management and ACPI options                                                                                                                                                                                                                                │  
  │       -> Enhanced Hibernation (TuxOnIce)
  │             -> Wait for initrd/ramfs to run, by default

La documentación de la opción de compilación también indica que este parametro puede ser sobreescrito directamente en el Grub utlizando la opción:

toi_initramfs_resume_only=1

Luego solo queda recompilar el kernel o agregar la opción toi_initramfs_resume_only y preparar el Grub con la opción tuxonice y el valor resume= en los parametros de arranque del grub como indica el manual de better-initramfs lo cual es bastante sencillo utilizando boot-update. Despues de 7 hibernaciones exitosas puedo decir que funciona muy bien.

 

[Quick-Tip] LaTeX Error: File `titlesec.sty’ not found en Gentoo

Luego de una actualización de rutina (emerge world+emerge depclean) mi editor favorito Tex me presentaba el error «! LaTeX Error: File `titlesec.sty'» al compilar algunos articulos. Luego de revisar dependencias note que TeXstudio solo depende del paquete virtual virtual/latex-base para marcar la dependencia de LaTeX.

La mayoria de usuarios en Gentoo utiliza texlive como su distribución Tex y habiendo migrado entre varios editores supongo que mi sistema quedo con un paquete huérfano que incluía titlesec.sty y que fue eliminado con emerge depclean solo quedándome con texlive-core y mucha frustración por no poder compilar mis archivos Tex.

¿Solucion?

La mayoria de blogs recomienda instalar texlive completo sin embargo en Gentoo basta con texlive-latexextra y con un

emerge texlive-latexextra

El problema esta resuelto. ¿Porque no instalar todo texlive?, Pues basicamente porque la combinación texlive-extras+texlive-core es más pequeña y el control atómico de paquetes y dependencias en Gentoo es maravilloso.

Nace la Red Internacional de Software Libre

Esta es una copia textual del texto disponible en: Software Libre Argentina. Lo publico para ayudar a su difusión entre las comunidades de Software Libre de América Latina, tuve la oportunidad de verlo en el FISL13, esperen el sitio pronto en risol.org 😀
———–
En el marco del Foro Internacional de Software Libre en su 13a edición en Porto Alegre, Brasil, participantes y representantes de comunidades y grupos de diversos países acuerdan la construcción de una Red Internacional de Software Libre. Entre los antecedentes del presente acuerdo se encuentran convenios previos tales como los firmados en FISL 2004, CONSEGI 2008 y Acuerdo Atlántico (FISL 2011).

Entendiendo que la defensa del Software Libre debe ser a nivel internacional y que el avance de políticas en su favor puede ser amenazado por distintos escenarios -como se evidencia por ejemplo en el caso paraguayo- la Red se propone los siguientes objetivos:

1) Afianzar las relaciones entre sus miembros para fortalecer la defensa de las iniciativas de Software Libre en sus países y regiones, a través de acciones globales coordinadas para apoyar las locales.

2) Difundir y defender al Software Libre como componente medular de la Soberanía Tecnológica.

3) Compartir experiencias, prácticas y documentación en el ámbito del Software y Conocimiento Libres, fortaleciendo y fomentando el trabajo local de sus miembros en cada uno de sus ámbitos de acción.

4) Generar y mantener una agenda estratégica de trabajo de La Red con el fin de expresar a través de diferentes voces, los objetivos consensuados.

Para ello se propone, al corto plazo, desarrollar un plan de acción conjunto para el cumplimiento de los objetivos compartidos y establecer los mecanismos y espacios más adecuados para el trabajo concreto y localizado.

Convocamos a todos los actores comprometidos con el Software Libre a integrarse a esta Red y trabajar en sus objetivos fundacionales definiendo las acciones futuras

Firmantes:

ASL (Asociação Software Livre Brasil)

SoLAr (Software Libre Argentina)

Asociación Formación, Cultura y Solidaridad, – Iniciativa Focus, España

CISOL (Congreso Internacional de Software Libre), Zacatecas, México

CESoL (Centro de estudios de Software Libre), Uruguay

CTL (Centro de tecnologías libres), Chile

SLE (Software Livre Educacional), Brasil

CADESOL (Cámara de Empresas de Software Libre), Argentina

COSIT AC, México

COSOLIG (Comunidad de Software Libre Garcilasina) Univeridad Inca Garcilaso de la Vega, Perú.

COS (Centro Open Source), Perú

SLGT – (Software Libre Guatemala)

MISOL (Misiones Software Libre), Argentina

Cinco años (+/- 3 meses) del Abismo de Tux

Eran otros tiempos en el 2007, estaba en mi tercer año de universidad, usar twitter era realmente hipster , solo los gringos usaban Facebook y en Guatemala lo que estaba de moda era espiar a tu amor imposible en hi5 y nacieron blogs hasta para que el perro de la vecina informara al mundo el color de los calzones del día (recuerdan las reuniones en Pizza Hut?).

De manera muy personal y sin datos en mano puedo conjeturar que muchos notaron la debacle de la civilización blog a partir del 2009 y análogamente a lo sucedido con los tripulantes del arca en Rage, muchos de nosotros logramos saltar a la nueva era blog, cambiamos nuestras «editoriales» a  temas nuestros intereses donde los burdos intentos de crear el Gizmodo chapín fueron muriendo (si, yo también lo hice), aceptamos que tumblr desbancara a wordpress con los aficionados a post cortos, fotoblogs y copiar contenido.

Ya que no tengo una motivación en particular para justificar esta reflexión en el 5to. aniversario y no en el 6to. o 4to., solo diré que el 5 me parece un número bonito y que según el teorema de Abel-Ruffini la ecuación de quinto grado es la de menor grado que no tiene fórmula para su resolución (bravo por ellas!)

¿Posts más visitados en estos 5 años?

Aunque perdí casi año y medio de estadísticas en mi afán de no depender de servicios de terceros U_U los lugares más visitados al día de hoy son:

1- El abismo de tux: Me asusta que aun hay gente que entre directamente a la pagina principal, pero eso dicen las estadísticas :O.

2 – Java+Puerto serial y paralelo (parte 1): Irónicamente la parte 2 es la más fácil, pero supongo que ha sido un buen punto de entrada … o al menos eso espero.

3 –Ingenieria en Sistemas en la USAC (parte 1 – como funciona todo): Post sarcástico de tres partes con mis vivencias en la Universidad de San Carlos, uno de mis favoritos de todos los tiempos si me lo preguntan, dicen que hasta doña Delia lo leyó y se cago de la risa.

4 – DOSbox y Prehistorik 2 (más vueltas al pasado): Fans de prehistorik 2 que viejos estamos, ¿alguno de ustedes consiguió el 100% en todos los niveles?

5 – Java+Puerto paralelo(parte 2): Como supuse muchos entran por la parte 1 y terminan en la 2 porque la solución es más trivial.

5 – Manual de instalación Gentoo Facil: Un manual que fue popular en la universidad porque en los cursos de sistemas operativos una de las tareas más tradicionales es explorar la construcción de un sistema GNU/Linux utilizando Gentoo, un día de estos revisare si todos los pasos son validos aun.

7 – Mientras más conocemos el mundo, más complicado es: Este si no lo entiendo, fue una simple anécdota de un día que tuve que visitar un café Internet y me fui a mi casa con la paranoia de que la computadora tenia un keylogger y que habían cambiado mi blog por fotos de chinitas en pelota, tal vez llegan a través de Google images buscando imágenes del mundo o algo así.

8 – PostgreSQL vrs. Oracle: Cuando hice este post me documente con fuentes de terceros, ahora ya trabaje más a fondo con ambos RDBMS en instalaciones con millones de transacciones al día, me sigue gustando más PostgreSQL (aclaro, Oracle no es malo).

9 – La facultad de ingenieria USAC es presa del software propietario: Una reflexión que dio de que hablar respecto al burdo examen de «computación» que se realizaba (se realiza aun?) en la admisión a la USAC, aunque mi critica va enfocada a la evaluación exclusiva de Software propietario en los comentarios se evidenciaron muchas de las motivaciones a solo evaluar ofimática que sigo sosteniendo que no es computación, yo seguro lo pierdo porque llevo varios años usando OpenOffice/LibreOffice.

10 – Cyanogenmod 7 y Google Apps para paises con market restringido: El más nuevo de todos, básicamente explico como usar Market Enabler para saltarse la discriminación racial por ip que Google tiene en el Android Market para instalar las Google Apps.

¿Post favoritos?

No recuerdo todos mis posts así que no puedo tener favoritos, ¿alguno de los que aun comenta en el blog tiene alguno en especial?.

¿Otros datos?

El ranking más creíble que se utilizaba en su momento era el de blogalaxia, alguna vez llegue al top 10 de Guatemala y aunque nunca competí por el primer lugar (porque nunca fue ese mi objetivo) es un buen lugar para un blog que habla de disparates, ingeniería en sistemas de la San Carlos, tecnologías libres, tips en Linux, si se dan cuenta todos son públicos objetivo reducidos. También acabo de notar que los que están al tope de la lista tienen posts en el 2012 (estan vivoooos!) y el que más bloguea es Luis Figueroa de Carpe Diem con temática libertaria, me pregunto si entre los primeros 100 habrá alguna contraparte marxista o si ellos se quedaron eternamente enamorados de «bloguear» en las paredes -coches-.

¿Algunas anécdotas?

  • Me entrevistaron en la radio por mi critica a la iniciativa de ley del cibercrimen, todo inicio como un post cómico y motivo la socialización de la iniciativa de ley hasta en la universidad.
  • Salí en la prensa con una critica a las religiones, algunos puntos son validos aun y en otros mi opinión cambio un poco, sin embargo nunca me volví ateo.
  • Recibí amenazas un par de veces por lo que publicaba, no se alarmen era gente que perdió cuando fui instructor auxiliar.
  • De los correos que recibo regularmente la mayoría son con preguntas de Gentoo y la carrera de sistemas en la USAC, no me molesta contestar ambos porque ayudo a Gentoo y a los pobre chavitos que cierta secretaria recibe con mirada inquisidora.
  • Comparto el hosting con la comunidad shekalug.
  • En mis anteriores trabajos presente mi blog como prueba que se administrar Linux, siempre funciono.
  • Todos mis post tienen errores de redacción, lo se.

¿Planes para el futuro?

¿Aun siguen ahí?, pues seguir pagando el hosting (se aceptan donaciones) y seguir publicando cuando encuentro algo interesante, el blog se ha vuelto más técnico y el lado personal lo mantengo ahora en mi blog en ingles, aun no uso servicios de terceros para mis imágenes y sigo manteniendo mi log de imagenes aleatorias, he pensado en bloguear en portugués pero ya tengo suficiente trabajo. Cuando llegue a viejo si no me mata antes una enfermedad, un marero o más recientemente un vendedor de droga de una favela, mi versión de memorias de vida sera este blog, ha sido divertido.