Amigo Secreto en TUXPAN 2008

Una de las actividades típicas que se hacen cuando nos acercamos las Fiestas de Navidad en las empresas es el famoso Amigo Secreto. En TUXPAN esta costumbre de a poco ha ido cambiando y tenemos una celebración bastante particular.  En vez de hacernos regalos entre nosotros que no tiene mucho sentido, juntamos ese dinero para ayudar a una institución de beneficencia.

¿Entonces qué queda del Amigo Secreto?  También se hace un sorteo, pero en vez de regalar un objeto a la persona de quien uno es Amigo Secreto, se le dedican unos versos que se tienen que leer en público con la idea de que los compañeros adivinen quién es el Amigo, y los mejores versos sacan premio.

Esto que puede parecer fome, es todo lo contrario, ya que no tiene que ser algo necesariamente serio, y hay todo tipo de estilos, desde los más poéticos hasta los cercanos a la paya.  Incluso este año algunos incursionaron con cuentos.

Espero que los otros tuxpanes me envíen sus versos.  Por ahora publico los que me dedicaron y los que dediqué.

Parto con los versos que me dedicó mi Amigo Secreto : Juan Quiroga (Juanillo)

Unos versos hay que improvisar
para el amigo secreto poder agasajarPuede ser difícil unas rimas inventar
tengamos cuidado con las palabras o palabrotas a usar

Franco es el nombre de quien voy a saludar
francamente es un honor estos versos declamar

Franco por su facha de francés se ha de llamar
francamente no lo creo, otra cosa hay que pensar

Franco por sincero, es otra posibilidad
francamente no lo sé, a su mujer hay que preguntar

Franco en la tele fue un comentarista superstar
francamente no lo sé, por qué dejó el canal

Franco en los diarios su opinión ha de dar
francamente El Mercurio, no sé si es el mejor lugar

Franco en revistas, “around the world” sin parar
francamente no sé hasta donde va a llegar

Franco en los medios, es figura sin rival
mientras el Jota no decida hacer competencia total

Y estos son los que dediqué a mi amiga secreta Paulina Eltit

Como otros afortunados
la he visto crecer en TUXPAN
la vi casarse, ser madre
y superarse como profesional

Muchas veces me ha ayudado
llegando a fin de mes a recordar
que de tanto viajar y viajar
los viáticos también hay que cobrar

Con eso creo que ya adivinarán
además con los temblores no pude pensar
No importa, asi con atención escucharán
estos versos que le quiero dedicar

Casi siempre es calladita
y nunca la veo con prisa
pero donde sea que la encuentre
siempre saluda con una sonrisa

Y aún sin prisa llega de las primeras a almorzar
salvo hoy que tuvo que esperar
Justo quedó a mi lado
y fue ahí cuando me puse a pensar…

… pensar que tenemos un conocido en común
que es medio nazi, conservador y a veces cabrón
Siendo ella de tan buen corazón
Es raro que también conozca a ese w*ón

Tuxpanes, anímense a enviarme sus colaboraciones!!

Estos son los versos de Marcos Quezada para Francisco “Coca”.

A mi amigo secreto lo conocí de mucho antes
Siempre pulcro y elegante
Parecía hasta distante
Con el tiempo me di cuenta que era entero ‘e flaite

Trató de hacerla piola con el anillo de compromiso
Menos mal que no supo la novia
o termina directo en el piso!!

De todo le dijeron los machos Tuxpanes:
“No lo hagas, detente, pide boleta, pide un vale!!”
Pero mi amigo sigue firme
Con que no termine en tribunales!!…

Un dato bien curioso quiero agregar a estas notas
Sobre todas las cosas de mina
que se han encontrado en su auto rojo:
Lentes, Coles, Poleras, Anteojos
Cuando supo la Novia lo miró con los medios ojos!!

Pero sácame de una última duda querido amigo Coca
Después de tantos viajes, vueltas y carretes choros
¿Por qué lo último que se encontró
Fueron las Zapatillas Verdes del Claudio Romo?

Bookmark and Share
December 20, 2008 • Tags: , • Posted in: Posts • 2 Comments

Songbird Equalizer / Ecualizador para Songbird

One of the missing features of the great Songbird media player is its lack of an equalizer.  I made a basic patch to include an static equalizer, and please don’t expect too much because this is just a one hour hack with no real knowledge of gstreamer and glib.  To integrate a user interface to this equalizer is a bigger step, but at least you can improve SongBird’s sound right now if you are brave enough to build SondBird for yourself.

Una de las características que se extraña del grandioso Songbird es que no tiene ecualizador.  Hice un parche basico para incluir un ecualizador estático, y por favor no esperen mucho porque este es un hack que hice después de almuerzo como en una hora, y no tengo un conocimiento real de gstreamer ni glib.  Integrar este parche con una interfaz de usuario que lo permita modificar en tiempo real es un paso mucho más grande y complejo, pero al menos se puede mejorar el sonido de SongBird ahora mismo si eres lo suficientemente valiente como para compilar Songbird por ti mismo.

Patch in Bugzilla : http://bugzilla.songbirdnest.com/show_bug.cgi?id=4855

Bookmark and Share
December 16, 2008 • Tags: , , , • Posted in: Posts • 10 Comments

Software Libre en Chile : no basta con una ley

Seguramente en estos días veremos muchos comentarios acerca de las indicaciones aprobadas en el Senado para que a la hora de las compras públicas, el Estado considere alternativas de software libre o de código abierto.  Indicaciones que fueron criticadas por un comunicado de la ACTI.

Una de las defensas de estas indicaciones es el ahorro de licencias de software en el Estado. Si evaluamos el costo de las licencias de software propietario respecto a la disponibilidad de software de código abierto, al menos en números se ve un significativo ahorro.  Pero el asunto no es tan simple, es una visión demasiado superficial de costos.

Las licencias de software son sólo una parte del costo, considerando que no existe una solución de código abierto que provea idéntica funcionalidad que una de código propietario y viceversa, no es llegar y reemplazar una solución por otra.  No estoy hablando de que una solución sea mejor que otra, simplemente son diferentes, con sus propias ventajas y desventajas hacia ambos lados.  Comparar el costo en licencias de software tendría sentido si las soluciones fueran directamente intercambiables, pero no lo son.

Por otra parte, creo que la replica de ACTI fue desproporcionada respecto al ámbito de las indicaciones.  ACTI dice que se dañaría a la Industria local de software ya existente, ya que muchas empresas nacionales, pequeñas, medianas y grandes, licencian comercialmente sus programas computacionales y soluciones”.  Confieso que puedo estar equivocado, y es probable que ACTI conozca mucho mejor la realidad de la industria local de software, pero sinceramente no puedo pensar en ninguna empresa local que licencie comercialmente software incluido en la adquisición de equipos. Desde un punto de vista muy personal, no me parece que ACTI defiende a la industria nacional, sino que pareciera defender a una empresa norteamericana muy grande, cuyo ingreso principal es en base a licencias de software, si si.. Microsoft.

Luego dice “Este tipo de medidas no ayudan a incentivar la creación de nuevas empresas de software comercial en Chile”.  En este punto yo creo que confunde software libre con software gratis, si fuera mal pensado diría que quizás esa es la confusión que quiere transmitir.  Perfectamente una empresa puede basar su negocio en software de código abierto, ya sea como una solución completa o como parte de ella, lo mismo que hoy en día hace RedHat, Novell, Oracle, IBM, Nokia y que en Chile no hemos sido capaces de imitar.  Es por eso que aun no podemos romper la dependencia tecnológica.

Esto de hacer leyes para incentivar el uso del software libre nunca me ha parecido bien, tampoco encuentro bueno que se gaste tanta plata en licencias, pero para que eso cambie no basta con una ley, necesitamos un ecosistema : empresas que puedan dar el servicio de soporte, desarrollo e investigación sobre plataformas libres.  Mientras eso no exista, sólo nos quedaremos en los buenos deseos.

¿Cómo aprovechar el software libre entonces?  Va mucho más allá de las licencias.  Cuando surgen estos temas siempre aparecen las campañas del terror que dicen que la adopción de software libre acabará con la industria del software local, cuando es al revés.  La adopción de software libre da oportunidades para que más empresas compitan en igualdad de condiciones.   El desarrollo de software no se verá afectado, sólamente se cambiará la forma en que se gastan los recursos.  Por ejemplo, en vez de gastar los recursos en distintas soluciones, incompatibles entre si, que nos dejan con ruedas cuadradas, rectangulares y triangulares, se deberían adoptar plataformas de software base estándares que permitan construir soluciones complejas que agreguen valor.

Proyectos financiados por el Estado podrían desarrollarse como software libre, en pro del bien común.  Un sencillo ejemplo, en vez de que cada colegio adquiera sus propios sistemas de gestión, lo que hace que cada uno tenga soluciones diferentes, todas con sus propias ventajas y desventajas, por qué no financiar un proyecto para tener un sistema unificado y libre.  De esta forma cualquier empresa local podría posteriormente participar en su mantención, desarrollar extensiones, incluso los mismos alumnos o profesores podrían aportar mejoras desde el punto de vista del usuario.  ¿Qué se genera? En forma directa obviamente genera una mejora en la gestión de los colegios, con una plataforma estándar estabilizable y mejorable en el largo plazo. En forma indirecta genera nuevos negocios para empresas de desarrollo de software, posibilidad de participación de los alumnos (aprender a trabajar, gana su propio dinero, etc), ahorros por el no desarrollo de múltiples soluciones para un mismo problema, etc.

Quiero terminar mencionando un punto que no está relacionado con la polémica actual, pero es algo que seguramente ACTI nunca declarará.  El software libre ha permitido que la industria de desarrollo de software pueda reducir sus costos en la integración de tecnología.  Hoy podemos desarrollar soluciones de alta complejidad, gracias a que los componentes esenciales están disponibles como software libre.  Si no fuera por esto, estaríamos bastante atrasados respecto al tipo de problemas que hoy podemos resolver, aún estaríamos en el arado y no conoceríamos el tractor.

Bookmark and Share
November 24, 2008 • Tags: , , , • Posted in: Posts • 41 Comments

Banda Ancha Móvil de Movistar en Linux (Ubuntu 8.10 Intrepid Ibex)

Configurar el modem de banda ancha móvil de Movistar en Linux resultó bastante fácil con la última versión de Ubuntu (Modem Huawei E220).  Fue todo perfecto e indoloro, salvo por la configuración de DNS que reporta Movistar, ya que entrega un par de servidores que no me responden.  Los cambié por otros que usaba antes y listo!.

No es necesario explicar mucho.  A continuación las imágenes del proceso.

Al insertar el modem lo autodetecta

Al insertar el modem lo autodetecta

Se inicia el asistente de configuración

Se inicia el asistente de configuración

Selección del proveedor de la red

Selección del proveedor de la red

Resumen final

Resumen final

Reporte de nueva configuración creada

Reporte de nueva configuración creada

Sistema avisando que estamos conectados a la red

Sistema avisando que estamos conectados a la red

Estado de la conexión (esos DNS no me funcionan)

Estado de la conexión (esos DNS no me funcionan)

Para cambiar los servidores de DNS por unos que si respondieran, edité directamente /etc/resolv.conf

fcatrin@shaman:~$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 194.179.1.100
nameserver 194.179.1.101

Y listo, conectado completamente!

fcatrin@shaman:~$ ping -n www.google.com
PING www.l.google.com (66.102.9.147) 56(84) bytes of data.
64 bytes from 66.102.9.147: icmp_seq=1 ttl=241 time=660 ms
64 bytes from 66.102.9.147: icmp_seq=2 ttl=241 time=627 ms
64 bytes from 66.102.9.147: icmp_seq=3 ttl=239 time=633 ms
64 bytes from 66.102.9.147: icmp_seq=4 ttl=239 time=609 ms
64 bytes from 66.102.9.147: icmp_seq=5 ttl=241 time=595 ms
64 bytes from 66.102.9.147: icmp_seq=6 ttl=241 time=625 ms
^C
--- www.l.google.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5013ms
rtt min/avg/max/mdev = 595.072/625.102/660.685/20.403 ms

Bookmark and Share
November 18, 2008 • Tags: , , , • Posted in: Posts • 51 Comments

Academy Conference 2008

El viernes se realizó la Academy Conference 2008 en DuocUC.  Estuve participando en dos frentes : Un debate sobre Linux vs Windows respecto a Seguridad y en la tarde con una charla a los alumnos de Enseñanza Media.  Lo que ocurrió es bastante interesante. Aquí vamos!!

El Debate y los fundamentalistas

El debate de Linux vs Windows fue muy distinto a lo que yo esperaba.  Tenía como referencia esa ocasión en que se armó una acalorada discusión con Enzo Fedrizzi de Microsoft en el programa UCVTV.CL, y esta vez llevaba mis boleadoras en caso de que el debate se pusiera complicado.

Representando a Microsoft se encontraba Pablo Rojo, especialista en temas de Seguridad y representando a Linux estaba yo.  Hicimos las presentaciones de rigor y comenzaron las preguntas del público.  Partieron directamente atacando a Microsoft, pero (segun yo), con poco fundamento.  Fue tanto así que tratando de mantener la objetividad tuve que corregir varias veces a los que hacían preguntas, porque en algunas partes estaban derechamente perdidos (LD style!).

Después me reclamaron que estaba defendiendo a Microsoft, fue en ese momento en que tuve que hacer uso de mis boleadoras pero contra los fundamentalistas, y les dije derechamente lo que pensaba, que esta bien que a uno le guste Linux, pero tampoco hay que idealizar y varios defectos que se encuentran en el software propietario, también los van a encontrar en el software libre, y que muchos problemas en instalaciones de Windows también se debe a malas prácticas de sus usuarios.

Los pingüinos

En la tarde fue todo muy diferente.  La idea era hacer una charla a los alumnos de enseñanza media, mi temor era que no conocieran mucho de Linux, y me costó bastante diseñar una presentación que pudieran entender y disfrutar los que conocían de Linux y los que no, además quería darle un enfoque motivacional.

Tratando de atacar todos los defectos que encuentro en los jóvenes de hoy (tema para otro post), y considerando que casi todos tenían cerca de 17 años igual que Linux, hice un viaje en el tiempo desde la actualidad hacia atrás, para que vieran que muchas cosas que ellos toman como parte normal de la vida, hasta hace poco no existían o eran inalcanzables (celular, internet, mp3, wikipedia, etc).

Hice un viaje desde el 2008 hasta el año 1983 cuando aparece el IBM PC.   Justo el mismo año Richard Stallman inicia el proyecto GNU y comencé el viaje de vuelta pero enfocado exclusivamente en Linux.  Además de mostrar como iba creciendo Linux a medida que ellos también crecían, puse algunas citas de aciertos y errores en las predicciones de la época y otras de nuestro gran amigo Steve Ballmer.

Mi idea era mostrarles que todas las cosas grandes que ellos hoy conocen, fueron en algún momento pequeños proyectos y jovenes como ellos, pese a todo, los sacaron adelante. Pueden ver la presentación final aqui.

En el final, no recuerdo exactamente lo que dije, pero si recuerdo que tuve un momento de gran inspiración y hablé desde el corazón.  Al terminar, hubo un silencio de un par de segundos y luego un gran aplauso, uno de los más grandes que he recibido.  Para mi fue muy importante, porque me hizo sentir que el mensaje les había llegado y sobre todo, que quienes lo recibieron fueron los jóvenes de la misma generación que tantas veces he criticado.

Es una de las charlas que jamás olvidaré.

En pleno debate con Pablo Rojo

En pleno debate con Pablo Rojo

Bookmark and Share
November 17, 2008 • Tags: , , , , • Posted in: Posts • 7 Comments

Instalar el driver para NVIDIA en Ubuntu 8.10 con una sola mano

Desde hace unos 10 minutos ya estoy con Ubuntu 8.10. Una de las cosas que me llamó la atención fue una advertencia de que tenía una tarjeta de video no soportada en forma oficial (NVIDIA GeGorce 4 MX 4000). En las versiones anteriores de la distribución se incluia el último driver que soportaba estas tarjetas (96.43) pero 8.10 incluye cambios en xorg-x11 incompatibles con este driver.

Una rapida búqueda en google me indicó que habia una versión de este driver que aun no se declaraba oficial pero que se podía utilizar. Por ejemplo encontré esta guía, pero la vi algo complicada sin embargo se entiende la idea.

Confiando en que Ubuntu es para seres humanos y ya que tenía una mano ocupada con un vaso como para escribir comandos, hice la instalación en 3 sencillos pasos y un mouse en la mano desocupada:

Paso 1 : Habilitar repositorio de actualizaciones no publicadas.

Actualización: Este paso ya no es necesario porque ahora el driver se encuentra en intrepid-updates

Sistema -> Administración -> Origenes del Software -> Actualizaciones -> Actualizaciones aun no publicadas (intrepid-proposed)

Cerrar, esperar un par de segundos y aparecerá el icono de notificacion avisando que hay updates. Instalarlos.

Paso 1 : Activar repositorio intrepid-proposed

Paso 1 : Activar repositorio intrepid-proposed

Paso 2 : Habilitar driver de Nvidia
Sistema -> Administración -> Controladores de Hardware

Presionar el botón Habilitar. El sistema descargará e instalará el driver.

Paso 2 : Habilitar controlador de NVIDIA

Paso 2 : Habilitar controlador de NVIDIA

Paso 3 : Reiniciar el sistema.
Y eso es todo. Una vez reiniciado el sistema avisará que estan usando el driver de nvidia y se pueden activar los efectos de escritorio (Sistema -> Preferencias -> Apariencia -> Normal).

Paso 3 : Reiniciar y disfrutar el driver acelerado

Paso 3 : Reiniciar y disfrutar el driver acelerado

Bookmark and Share
November 8, 2008 • Tags: , , , , • Posted in: Posts • 51 Comments

Véngan esos 5… segundos para iniciar Linux!!

Hace unos días, un par de kernel hackers de Intel mostraron una prueba viviente de que es posible hacer que Linux se inicie en sólo 5 segundos. Y no hay trucos: En 5 segundos el sistema está listo para ser usado, eso quiere decir que el disco y cpu ya no se encuentran en uso y el escritorio está listo para comenzar a operar (Ver para creer). Bueno, también mostraron el ejemplo con un disco SSD para presentar el mejor caso, pero con un disco normal esto se puede obtener en 10 segundos.

En donde se agradecen estos logros? En equipos de escritorio que se apagan cuando no se usan, en dispositivos portátiles, en celulares, en laptops cuando suspend/hibernate no son una opción, etc.

He visto mucha confusión tanto en medios donde pulula gente informada como LWN, como en otros para todo tipo de público como FW. Espero que este artículo ayude a entender mejor de qué se trata este logro.

Estado actual

En un sistema Linux actual, el tiempo transcurrido desde que se inicia la carga hasta que aparece la ventana de login puede ser de unos 35 segundos a lo menos. Después de iniciar el escritorio pueden pasar unos 15 segundos adicionales (GNOME/KDE). Se pueden hacer cambios a la configuración original para mejorar el tiempo de inicio, pero tiene sus límites, es lo que publiqué en un artículo anterior. Aquí da casi lo mismo la distribución, ya que al modificar el inicio del sistema estamos tomando las mismas decisiones por las que pasa un desarrollador de una distribución, eliminando las diferencias entre una y otra, la única diferencia es que en algunas tendremos que hacer mas cambios que en otras.

En el caso de Windows, hay optimizaciones respecto a la carga de bibliotecas dinámicas y se reordena la ubicación física de los archivos entre otras cosas. Pero lo mas importante es que se permite que el usuario interactúe con el sistema aunque éste aún no se encuentre listo, atacando el problema desde el punto de vista de las percepciones. Esto se nota cuando ya se muestra el escritorio y el sistema es inusable porque el foco se pierde a cada rato y no se puede escribir, o el menú de inicio desaparece cada vez que quieres hacer click sobre él, o aparecen las ventanas de splash de cuanta basura haya instalada. Ya sabes, si crees que tu Windows se inicia rápido, el engaño ha sido exitoso.

En el caso de OSX, si se puede decir que es un sistema que inicia rápido de verdad. Cuando ves el escritorio ya está listo para ser usado. En este caso las optimizaciones aplicadas son muy astutas, y algunas de ellas han sido usadas en Linux también. Los interesados, revisen este artículo

Pero si mi CPU es de chorrocientos mil gigahertz asi que no importa

Una de las grandes falacias de la computación y de la cual todos los vendedores abusan es creer que una CPU rápida asegura que todo funcione más rápido. La realidad es que un computador es un sistema que funcionará tán lento como el más lento de sus componentes. En otras palabras, no siempre es más rapido ir en avión de una ciudad a otra, ya que se debe considerar la latencia, que es el tiempo en donde uno está esperando que algo suceda.

Lo mismo pasa en el sistema de inicio, hay tiempos en donde se está esperando que algo suceda y la CPU se encuentra totalmente inutilizada, algunos ejemplos:

Focalizando el esfuerzo

En este experimento se plantearon un par de ideas que ayudaron a orientar los esfuerzos.

Ya ya ya ya.. pero ¿cuales fueron los cambios entonces?

Ok, aqui vamos. Los nominados son:

Y para el resto del mundo, cuando?

El resto del mundo podrá ver estas mejoras en las siguientes versiones de la distribución. En Ubuntu se espera al menos para la versión de abril del próximo año (9.04 Jaunty Jackalope).

Se espera además que con el apoyo del resto de los proyectos involucrados, se logren mejoras que no se pudieron aplicar en este momento. Al menos en la misma conferencia así lo dijeron personajes de la talla de Keith Packard (X.org/Intel).

Bookmark and Share
October 5, 2008 • Tags: , , • Posted in: Posts • 12 Comments

Cómo mejorar el tiempo de inicio de Ubuntu Linux (8.04)

Actualización: Se han hecho cambios al kernel para mejorar agresivamente el tiempo de inicio. En el caso extremo que incluye usar un disco de estado sólido como el del Asus EEE, se logra iniciar el sistema en sólo 5 segundos

Como les había contado, en mi laptop logré reducir el tiempo de booteo de 51 segundos a 25 segundos!. Solamente me enfoqué en reducir el tiempo en donde el sistema se inicia hasta antes de lanzar el entorno gráfico, así que todavía queda por mejorar en esa parte.

Antes de que sigan leyendo tengo que advertir que es probable que no puedan aplicar lo mismo que yo porque hay cosas que dependen de la configuración de cada uno, y también advertir que si no saben lo que están haciendo, es mejor no meter las manos a menos que sepan como arreglarlo.

Para explicar el método voy a usar mi caso particular, ustedes deben seguir la misma metodología pero en su configuración.

Bootchart

El primer paso es instalar la herramienta bootchart. Esta herramienta permite generar un gráfico que describe todo el proceso de inicio del sistema, mostrando el uso de recursos (CPU, I/O) e indicando cada proceso que se ejecuta. Es vital para medir los cambios y ver si la cosa va mejorando o empeorando. Además sirve para visualizar cuellos de botella.

Se instala via apt-get:

sudo apt-get install bootchart

Una vez instalado ya pueden generar su primer gráfico de referencia. Solo basta reiniciar el sistema ya que bootchart se activará por omisión. Para desactivarlo se puede pasar el parámetro bootchart=disable en las opciones de inicio del kernel.

Una vez iniciado el sistema, pueden encontrar el gráfico resultante en /var/log/bootchart

Aqui pueden ver mi primer bootchart que usaré de base para explicar el método.

Análisis del bootchart

Al mirar el gráfico generado por bootchart detecté lo siguiente:

Desactivar servicios no utilizados

Esta es la parte más obvia de la optimización: desactivar todos los servicios que no estemos usando. Hay varias formas de hacerlo, recomiendo primero ir a Sistema -> Administración -> Servicio y desactivar todo que evidentemente no debe iniciarse en forma automática. En mi caso postgresql y mysql.

Hay muchos servicios que no aparecen con este editor. Hay varias herramientas para modificarlos y visualizarlos. Lo más simple es ver el contenido del directorio /etc/rc2.d:
ls /etc/rc2.d
K08vmware S16ssh S20apmd S20winbind S89cron
... etc

Todo lo que empieza con “S” son servicios que se van a iniciar al entrar a runlevel 2 (modo normal de ubuntu).

Una forma rápida de ver qué hace cada servicio es mirar su script en /etc/init.d. Por ejemplo para ver S16ssh:
fcatrin@desktop:~$ grep Desc /etc/init.d/ssh
# Short-Description: OpenBSD Secure Shell server

Para activar o desactivar se pueden usar herramientas como sysv-rc-conf o update-rc.d

Desactivar servicios de sistema

Antes de que el ubuntu entre en runlevel 2 tiene que levantar servicios que operan a nivel de sistema, son de base. Algunos de ellos si bien son útiles para muchos, puede ser que para tí no lo sean. Estos servicios se ejecutan en el runlevel “S” y se pueden ver en el directorio /etc/rcS.d. Por ejemplo:

fcatrin@desktop:~$ ls -1 /etc/rcS.d
README
S01mountkernfs.sh
S01readahead
S02hostname.sh
S06keyboard-setup
S07linux-restricted-modules-common
S08hwclockfirst.sh
...

Al igual que en rc2.d, estos archivos son enlaces simbólicos a scripts de servicios que estan en /etc/init.d

fcatrin@desktop:~$ grep Desc /etc/init.d/mountkernfs.sh
# Short-Description: Mount kernel virtual file systems.
# Description: Mount initial set of virtual filesystems the kernel

Al mirar esa lista, se puede deducir que cuando el sistema parte hace lo siguiente:

Este sistema modular facilita desactivar servicios a nivel de sistema sin tener que hacer algo distinto a desactivar un servicio normal. Es algo que echaba de menos en OTRAS distribuciones que tienen todo esto en un solo gran script.

En mi caso deactivé los siguientes servicios de sistema:

Hay otros más, se debe ver caso a caso

Configurar la revisión de los sistemas de archivo

Una de las tareas que más tiempo consume es revisar la consistencia de los sistemas de archivo (fsck). En mi caso lo que hice fue desactivar la revisión de mis sistemas de archivo de windows porque casi nunca los ocupo (en mi laptop), y desactivar la revisión de mi sistema raiz ya que es reiserfs y se autocorrige (hasta ahora). Con eso ahorré unos 5 segundos o más.

El archivo /etc/fstab contiene todos los sistemas de archivo que se montarán automáticamente al iniciar el sistema, y al final de cada linea indica si se va ejecutar fsck para revisar la consistencia.

Entonces originalmente era algo similar a esto:

/dev/sda1 / reiserfs defaults 0 1
/dev/sda4 /media/sda4 vfat defaults,utf8,umask=007,gid=46 0 1

Y lo dejé como:

/dev/sda1 / reiserfs defaults 0 0

Con eso eliminé el montaje y revisión de la partición de windows y al cambiar el 1 por el 0 al final de la primera linea desactivé la ejecución de fsck.

Ojo, en esta parte debes estar seguro de lo que estas haciendo

Readahead : pre-lectura de archivos

Finalmente lo que hice fue mejorar la pre-lectura de archivos. De qué se trata? Cuando el sistema parte, se dedica a leer de una pasada todos los archivos que en algún momento posterior va a tener que leer, eso hace que todos queden en caché y así reduce cualquier latencia posterior que se agudiza con la latencia de esperar a leer un archivo de disco.

En el directorio /etc/readahead hay dos archivos de texto que contienen una lista de archivos a preleer: boot que se pre-lee al iniciar el sistema y desktop que se pre-lee al iniciar el entorno gráfico.

Estas listas vienen de fabrica y es muy probable que al modificar los servicios queden en estas listas muchos archivos que ya no se necesitan volver a leer, entonces hay que regenerar las listas. Para regenerar la lista se debe reiniciar el sistema y agregar el parámetro profile a la linea de inicio del kernel. Grub permite modificar las opciones de inicio presionando la tecla “e” para editar, y una vez hecho los cambios se inicia con la tecla “b”. Estos cambios no se guardan en disco.

La linea de inicio del kernel debería quedar similar a ésta, agregando el parámetro profile:

kernel /vmlinuz-2.6.24-19-generic root=/dev/sda1 ro quiet splash profile

El sistema se demorará en partir porque estará generando estas listas. Esto sólo sucedera cuando usemos la opción “profile”.

Estas listas también se pueden revisar para ver si hay archivos que segun nosotros, no se deberían estar leyendo (así encontré apparmor).

Cuando apliqué esto, mi lista de readahead bajó de 777 archivo a 526.

Ordenar la lista de readahead

Las listas generadas con la opción profile estarán en el orden en que se leyeron los archivos. Esta lista se puede hacer más eficiente ordenándola por la ubicación de los archivos en el disco, de tal forma que los archivos se lean en forma secuencial físicamente.

Una forma rápida de ordenarla es con los siguientes comandos:

cat /etc/readahead/boot | xargs stat -c %i.%n | sort -n | cut -d"." -f2- > boot.sorted
sudo cp boot.sorted /etc/readahead/boot

Lo que hace el comando es obtener el numero de inode de cada archivo y usarlo como criterio para ordenar. Luego genera la nueva lista en base a esa lista ordenada.

Otras mejoras

Otra posibles mejoras que aun no he aplicado son :

Al menos con los cambios aplicados hasta el momento mi bootchart final quedó en sólo 25 segundos.

Bookmark and Share
July 22, 2008 • Tags: , , • Posted in: Posts • 40 Comments

Mejoras en el tiempo de boot de Ubuntu Linux (8.04)

Una de las cosas que hace tiempo quería hacer en mi laptop era mejorar el tiempo de booteo, sólo me faltaba actualizar a Hardy (8.04).

Bueno, no voy a escribir mucho, solo dejo un par de imágenes para mostrar cómo me fue:

BootChart Original (50s)
BootChart Actual (25s)

Y aun queda espacio para mejora!

Bookmark and Share
July 20, 2008 • Tags: , , • Posted in: Posts • 6 Comments

Atari music – Draconus

JCI me entusiasmó para publicar un “raw mix” de mi transcripción de la música de Draconus, un juego de Atari. No es una versión definitiva ni mucho menos terminada, pero aplicaremos release early, release often, aunque dudo que pueda cumplir con el often.


Draconus (mp3)

PD1: El sonido lead sucks
PD2: Saqué todos los lead en guitarra, pero el solo final no lo puedo tocar a esa velocidad, al menos no decentemente.
PD3: Made with : ProTools + Xpand!
PD4: JCI ya hizo una versión completa, solo final includo. Ingenioso y quedó bastante bien en mi opinión.

Bookmark and Share
May 21, 2008 • Tags: , , , • Posted in: Posts • 13 Comments