MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

Diseñando webs compatibles y estandares
Una de las cosas más dificiles a las que se enfrenta un diseñador de páginas web es a la maquetación inicial de su sitio. Esta fase serán los cimientos de una web que sea fácil o dificil de modificacar o actualizar, además debe cumplir ciertas normas:
  • Ser accessible por todos los navegadores.
  • Verse de la misma forma en todos.
  • Cumplir ciertas normas de XHTML y CSS y no diseñar sólo «IE compatible».
  • Separar el diseño del código.
  • Tener una imagen parecida a la empresa física.
  • Ser sencilla.
Llevaba un tiempo dándole vueltas a unos cuantos proyectos pendientes y uno es una agencia de viajes. Necesitaba una web para colgar ofertas, con interfaz de administración para no tener que depender de una persona que las cuelgue. De momento me he puesto con la plantilla del sitio pero con las ideas claras que debia respetar lo más posible para que validara. El resultado es este:

http://www.estilorural.com/agencia/index2.asp

Uno de los problemas a los que me enfrento es a programar en Visual Basic Script (aka ASP) (el server de hosting es un windows), cosa que no tengo del todo olvidada ya que hace unos años hice la parte de turismo rural para esta misma empresa:

http://www.estilorural.com/es/

Ahora que uno ha ido descubriendo nuevas tecnologías a ha programado un poco, sabe de la necesidad de usar clases, plantillas y muchos includes para que la cosa no se complique y no se duplique ni código ni trabajo.






Novedades para xfce (preview 4.3-svn)
Los chicos de xfce se estan poniendo las pilas en el nuevo xfce 4.4. Uno de mis últimos ataques de versionitis ha sido compilar el xfce 4.3 (versión de desarrollo) con los diff del anterior xfce (4.2.2).

El aspecto visual se ha suavizado aún más, y los temas de borde de ventana son bastante chulos.

Como se puede ver a la derecha ya hay iconos en el escritorio. El funcionamiento es bastante simple ya que lee el directorio ~/Desktop y muestra los iconos de archivos o directorios encontrados.

El nuevo xffm 4.3 imita en aspecto a nautilus en modo espacial, aunque se puede poner del modo anterior en vista de árbol. Aquí se ven las dos formas.



El panel de control no ha cambiado mucho pero ha añadido nuevbas funcionalidades, como los atajos de teclado. La configuración el panel también tiene grandes cambios permitiendo partir el panel en configuraciones de doble monitor (xinerama) ( a ver si gnome se fija en esto ).


Hay muchas más novedades en el wiki de desarrollos de xfce.

De momento los paquetes EXPERIMENTALES se pueden descargar poniendo esto en el sources.list:

deb http://soleup.eup.uva.es/xfce4.3-svn/ ./


repito son EXPERIMENTALES (no usar en entornos de trabajo) y no funcionan muchos plugins....

Cuando consiga entrar al SVN que debe estar caido actualizaré los paquetes.







Openoffice2 se acabaron las betas
Esta noche ha entrado por fin la versión 2 de OpenOffice.org en debian unstable, por lo que voy a dejar de empaquetar versiones como lo estaba haciendo hasta ahora, ya que en debian lo compilan sobre gcj-4.0 y así no depende de la máquina virtual java de sun.

Gracias a todos los que habeis probado los paquetes y los que me habeis mandado correos dándome las gracias.

Lo acabo de instalar y me parece que no toma del todo bien el tema gtk de gnome, al menos me parece tan feo como las versiones 1.1.x, las betas eran más elegantes...

Para usuarios de debina testing y debian sarge pueden seguir usando la versión final empaquetada en idefix ya que irá para largo la entrada en testing (en sarge no creo que entre)





Navegar de forma segura (Para usuarios WINDOWS) y seguridad de servidores.
Ayer VMware, empresa de gran prestigio en el mundo de la emulación, ha lanzado VMware Player, herramienta gratuita (no libre) que sirve para cargar máquinas virtuales ya hechas. En la sección de descargas hay máquinas virtuales de ejemplo de oracle, mysql, red hat.... pero hay una que me ha llamado la atención. La descripción habla de navega seguramente y protege tu equipo de malware y software espía. No sabiendo muy bien a qué se refiere con esa frase lo he probado y tengo que decir que es una idea genial

Primero descargamos el player. Hay versiones de windows, Linux. Recomiendo el tar.gz de Linux (si usas Linux). Después vamos a la página de máquinas virtuales de ejemplo, y descargamos la máquina Browser Appliance. Después de bajar los más de 200 megas de zip y descomprimirlo obtenemos un directorio con dos archivos dentro, uno es el archivo de configuración de la máquina, el otro es el «disco duro virtual», es decir una imagen RAW de un disco duro el cual tiene instalado una UBUNTU, ¡ leches ! una ubuntu, eso si que es navegar de forma más segura... El disco duro virtual puede crecer hasta 10 Gb pero recién descomprimido sólo ocupa un poco más de 800 megas. El software instalado en ubuntu está relaccionado con internet (firefox, gaim y gnome-bittorrent). Se pueden instalar más cosas gracias a synaptic. Pero para lo que es navegación y descarga de archivos basta.

Creo que es una buena iniciativa para probar un linux sin estropear nada y más ahora cuando cualquiera de los dos paquetes a descargar es gratuito (supongo que la máquina virtual de ubuntu será libre o al menos el contenido). Si configuramos vmplayer para que haga un puente de red entre nuestra interfaz primaria y la máquina virtual tendremos la máquina virtual disponible como una máquina más en nuestra red doméstica.



Hablando de seguridad, estoy haciendo otro análisis forense del equipo de la asociación/delegación de alumnos de la Escuela Universitaria Politécnica, que desde Mayo hasta Agosto ha sufrido todo tipo de ataques, incluso ha sido servidor de varios Phising de sitios como paypal, hotmail, terra...

Todavía no se como se hizo con el control de la máquina y dudo que consiga descubrirlo pero se hizo fuerte y creo una serie de usuarios que según usaba los iba borrando. La cosa se le debió ir de las manos cuando troyanizo varios binarios (grep, rgrep, ps, ls, cp, rm) y cuando en la delegación cambiaron de sitio el servidor ya no arrancó más dando un error referido a grep.

El hacker borró todos los log que pudo/supo (auth.log, daemon.log) pero se olvidó de los log de ftp (wu-ftp) y desde esos logs he ido rastreando sus pasos hasta encontrar la web falsa de paypal. Los historiales de bash todavía contienen los últimos comandos ejecutados, incluso llego a compilar php ya que el servidor (debian potato actualizado a woody) no tenía la versión compatible con lo que el quería. He encontrado instalado también la pasarela psi (jabber) e incluso he estado leyendo logs de conversaciones suyas en chat XXX.

Me falta por mirar la tabla del crontab tanto de usuarios como de sistema, y quizás algun directorio oculto. De momento monto el disco como sólo lectura y me estoy ayudando de ls -latr (este ls es de una elive, no el ls del sistema afectado)

Por todo lo que he descubierto hasta ahora la mayoría de las conexiones se hacen desde Brasil, pero hay alguna desde Israel o Bélgica. Supongo que denunciar a alguien no español complica el asunto. Solución: formatear y olvidarse.





Nuevo proyecto: YAMI
Hace tiempo venía dándole vueltas a un instalador para SOLEUPIX, ya que el actual es el que usa knoppix y aparte de feo (qt) las letras nos se veían demasiado bien.

Me puse a enredar y hacer pruebas con ruby y Gtk2 basándome en el asistente xnetcardconfig (www.os-works.com), la gente que empaqueta xfce4.

Después de algunas pruebas y leer manuales sobre gtk desde ruby he creado toda la estructura en el svn para el nuevo proyecto que he bautizado YAMI (Yet Another Metadistro Instaler) o en castellano «Sí, otro instalador de metadistros». El nombre me pareció gracioso, y depués de una visita por google no hay proyectos (al menos que yo vea) que se llamen igual.

El fin del instalador es que sea lo más sencillo y windosero que se pueda, es decir, siguiente, siguiente...

La parte de pedir datos y formatear particiones y demás ya está terminada (más o menos), aunque no ha sido muy complicado ya que usa gparted para el redimensionado...

Aquí va un avance:

1.- Pantalla de bienvenida que aconseja sobre el tamaño de particiones.



2.- Esta pantalla lanza la aplicación gparted



3.- Aquí vemos gparted



3-b.- Una vez cerramos gparted se relee la tabla de particiones y se muestran las candidatas (ext3) junto con su tamaño.



4.- Pedimos los datos, el botón de siguiente no se activa hasta que todo es correcto (gracias Jorge)



4-b.- Ya está activo el botón de siguiente.



Cosas por hacer o TODO:
* Faltan los pasos de configurar red (DHCP o IP fija) y lo que es la instalación que usaré el script install.sh de metadistros.
* Intentar hacer una versión en modo experto para seleccionar el particionado para /home o /var en distintas particiones (ahora se instala todo en el mismo sitio)

Las fuentes así como el paquete deb pueden obtenerse del svn de soleupix.





Tener un escritorio ordenado
He descubierto una aplicación que facilita a la gente como yo, que abre muchas aplicaciones, a tener cada cosa en su sitio.

La aplicación en cuestión se llama devilspie y es un añadido al gestor de ventanas metacity que usa gnome.

Este programa se lanza en modo demonio al inicio de la sesión y permite (con un archivo de configuración xml) ubicar cada aplicación o ventana en un escritorio predeterminado. Por ejemplo, yo me suelo abrir evolution, firefox, beep-media-player, una o varias gnome-terminal y gaim. He configurado devilspie para que las ventanas de evolution residan siempre en el escritorio 4, firefox en el 3, gaim en el 2 y el resto en el 1.

De esta forma si alguien me abre una conversación en gaim se que se abrirá en el espacio 2 y no tendré un montón de ventanas solapadas. Devilspie permite además ajustar el tamaño u ocultar la aplicación para que no salga en la barra de tareas.

Forma de instalarlo:

# apt-get install devilspie

Copiamos el ejemplo de configuración:

$ cp /usr/share/doc/devilspie/examples/sample-config.xml ~/.devilspie.xml

Y lo editamos:

$ gedit ~/.devilspie.xml

Veremos alguna aplicación de ejemplo, básicamente añadiremos un bloque como este por cada aplicación a controlar:

  <!--
This will put all Gaim on the 2 workspace.
Note that the workspace number is a 1-based index, not a
0-based index.
-->
<flurb>
<matchers>
<matcher name="DevilsPieMatcherWindowName">
<property name="application_name" value="gaim"/>
</matcher>
</matchers>
<actions>
<action name="DevilsPieActionSetWorkspace">
<property name="workspace_index" value="2"/>
</action>
<action name="DevilsPieActionHide">
<property name="skip_tasklist" value="FALSE"/>
</action>
</actions>
</flurb>
Duplicaremos este bloque tantas veces como necesitemos cambiando si procede los cambos que puse en negrita, es decir, el nombre de la aplicación el número de espacio de trabajo (por defecto desde 1 hasta 4) y si no queremos (o si) que aparezca en la lista de aplicaciones.

Para firefox el application_name es firefox-bin, para evolution es evolution-2.2, etc... Si añades un bloque y no funciona correctamente lanza devilspie -a y mira el log que sale por consola para saber el nombre de la aplicación.

Una vez que lo tengamos todo a nuestro gusto y hayamos probado que funciona lo añadimos al gestor de inicio de sessiones: Escritorio --> Preferencias --> Sessiones, pestaña (solapa) de Programas al Inicio, y picamos en Añadir. Como nombre de ejecutable ponemos devilspie -a y como órden por ejemplo 90.

Si no queremos reiniciar la sesión para probar que funciona podemos lanzar con Aplicaciones --> Ejecutar aplicación el comando devilspie -a. La próxima vez que entremos en gnome no hará falta.

Para terminar me gustaría añadir que estoy probando beagle y a pesar de «rascar» mucho el disco duro, es una aplicación maravillosa. La nueva versión 0.1.1 incorpora un plugin para firefox y soporte para aplicaciones no gnome (como kmail o kopete). Indexa en tiempo real las páginas que visitamos y si algún día nos da por buscar algo que vimos podemos usar best para encontrar la url o un mini servidor web ASP.NET lanzado en el puerto 8888 de localhost: http://localhost:8888/beagle/search.aspx

Sigue soportando (las versiones anteriores lo hacían) indexar los correos de evolution y las conversaciones de gaim además de todos los directorios o archivos locales de nuestro directorio de usuario o los directorios que le digamos. El paquete nuevo aún no está en los repositorios de debian, lo he empaquetado y está en http://idefix.eup.uva.es/paquetes requiere la última versión de libgmime2.1 (debian unstable hoy) y librerías de mono gráficas (gtk2-sharp, libgnome-cil, etc...) Si usas unstable no hay problema, si usas testing deberás mezclar repositorios y configurar el apt-pining





Soleupix vuelve a salir de viaje
Soleupix está haciendo las maletas de nuevo. Esta vez no viajo con ella, ya se sabe defender.

Los próximos días 13 y 14 de octubre se van a celebrar en Lanzarote las I Jornadas de Software Libre.

Han debido gustar las de Fuerteventura para repetir un evento como unas jornadas tan pronto.

Las ponencias muy variadas, desde empresas, pasando por profesores, criptografía, patentes de software, VoIP, y un Taller de Ruby (RubyOnRails). La verdad que lo del taller me quedo con unas ganas enormes de ir, espero que alguien me mande documentación y ejercicios del taller.

La primera charla (ya se está convirtiendo en un habitual) será de la mano de Luís Méndez Alejo, ¿suena el nombre?, pues si el organizador de las pasadas Jornadas de Software libre en Fuerteventura. En su charla dará una introducción al Software Libre y regalará unos «Soleupix» y documentación.

Bueno pues lo dicho, suerte con las charlas, y que tengan tanto público o más que lo que tuvimos nosotros.

La web donde se puede consultar ponencias, horarios y demás es: http://www.lanzaos.com/

Aprovecho para anunciar que he pedido unos cuantos (425) UBUNTU BREEZY, que será liberado posiblemente el 13 de octubre. Una vez que lleguen (mes y medio más o menos) dejaremos alguno en conserjería y en el aula magna para que podais disfrutarlos.