Ultimamente se me ha venido a la mente observando el comportamiento de varias personas, la mentalidad normal es conseguir un trabajo y dedicarse a él para sobrevivir, es muy poco aquel que busca un sueño, un objetivo o una meta; ¿de verdad no tenemos la seguridad suficiente como para invertir un poco de nuestro tiempo en empezar algo? todos tenemos sueños que realizar, como informáticos talves el desarrollar un software innovador, o crear una empresa solvente; todo es posible pero hay que dar el primero paso, aún siendo cuidadosos, asegurando un trabajo que pague nuestros impuestos, pero nunca, nunca hemos de abandonar un objetivo superior, trabajar en ello aun sea unos minutos al día, pero vamos a ello, la satisfacción seguramente es más grande al final.
Julio 12, 2009
Julio 11, 2009
Gwibber 2.0 upcoming
I have been working maintaining the Gwibber package on Gentoo for a while as a proxy, piteously, it could not get the main tree over the 0.7 version, but it is actively maintained on my personal repository at Gitorious. But what is Gwibber? for all the people who don’t know what is it, this is the definition given in it’s main page at Launchpad:
Gwibber is an open source microblogging client for GNOME developed with Python and GTK. It supports Twitter, Jaiku, Identi.ca, Facebook, Flickr, Digg, and RSS.
What is microblogging? you are invited to check Wikipedia (click here) for a better definition. Twitter, Identi.ca, etc., are networks where you can post tiny commentaries (less than 240 characters) but it’s completely adictive (it keeps me away from posting to my blog :/ ), you can follow any number of persons just adding them to your account, and, if your commentaries are interesting, other people will add you to their accounts. Actually Gwibber supports more networks than that definition says.
Last days two good things happened, the first was the dev (neurogeek) which does the commits for me went back from his vacations so newer versions of Gwibber will be available on the tree, the second is the upcoming of the 2.0 version with a new UI (commented by @BUGabundo), right now Gwibber looks like this:
Forget the missing icons I was hacking it a bit and lost them
Any time soon Gwibber 2.0 will arribe with new UI, new functionalities and of course new networks to join, here you have a picture of what it is gonna be:
As you can see, a lot of UI improvementes were done, a side bar with all the network streams, new icons and … many more.
If you want to follow the development and the releases here are a few links you can visit:
Gwibber’s wishlist:
https://bugs.launchpad.net/gwibber/+bug/325046
Montly Snapshot I make of Gwibber and it’s dependencies:
http://dev.gentooexperimental.org/~zerox/
Gwibber’s open bug at Gentoo’s Bugzilla:
http://bugs.gentoo.org/show_bug.cgi?id=261160
My overlay on Gitorious:
http://gitorious.org/gentoo-ebuilds-maintenance/
Segphault’s screenshots:
http://www.scrnshots.com/users/segphault/screenshots/171554
Junio 27, 2009
Microblogging
He aquí un pequeñísimo update a mi tan olvidado blog, ya que no puedo actualizarlo formalmente (y vaya que tengo una cola larga de posts comenzandos y sin concluir) cualquiera que por curiosidad quisiera enterarse qué hago, puede seguirme agregandome como @walsen en twitter o como @zerox por identi.ca
Abril 15, 2009
Metodologías Ágiles (parte 1)
Mucha gente tiene la duda de qué es “Agile”, de principio es confuso porque no se parece a lo que nos enseñan en las universidades, no tiene pasos específicos, tampoco cronográmas ni procesos a la vista como los tienen las metodologías tradicionales p.e. la Cascada o el Proceso Unificado.


¿Cuál es el problema de éstos modelos?
En los modelos lineales es necesario tener los requerimientos bien especificados desde el comiendo, el análisis, diseño deben estar completos en las primeras fases y no hay manera de pasar a la implementación ántes de éstos; el testeo se hace al final (gran error) lo cuál trae problemas de integración, males que podrían ser evitados desde el principio se encuentran (a veces no) faltando poco antes del lanzamiento del producto, en éste punto la adaptabilidad del producto a cambios y nuevos requerimientos es practicamente nula, lo unico que puede hacer el desarrollador es asegurar su trabajo mediante la firma de un papel sellando los requerimientos, al final sólo asegura el pago por el trabajo, no asegura la satifacción del cliente y la calidad del producto.
En un modelo del tipo RUP, iterativo – incremental y demás, las fases siguen estando bien definidas, en cada fase se realiza un poco del trabajo, análisis, diseño, implementación, prueba y despliegue, dandole más énfasis a cada parte o conjunto de partes a medida que transcurre el ciclo; todo ésto está muy bien pero lamentablemente la metodología se vuelve un monstruo porque exige demasiada carga en la documentación, todo el detalle exigido es una perdida de tiempo, se produce monton de material muchas veces inservible gastando tiempo y recursos valiosos (diagramas hasta para ir al baño), otro punto es la especialización de los profesionales, para cada fase un determinado tipo de profesional dando puntos cruciales de la información a algunos y con el riesgo de pararse el proyecto si ellos se ausentan por algún motivo; la separación de ramas y jerarquía entre el equipo (enorme equipo) hace que muchas veces exístan diferencias e imposiciones de ideas.
Agile
Agile no son pasos, gráficas elaboradas, o un plan maestro; Agile son consejos, buenas prácticas que muchos entendidos en software han puesto a nuestra disposición para usarlas, en otras palabras comparten su experiencia en una manera ordenada y sencilla de aplicar.
Éstos conceptos se pueden ver en el Agile Manifiesto que resume éste pensamiento:
Individuos e interacciones sobre procesos y herramientas
Software que funciona sobre documentación exhaustiva
Colaboración con el cliente sobre negociación de contratos
Responder ante el cambio sobre seguimiento de un plan
La gente nos importa, las personas son el recurso más valioso que se tiene, ellos son los que desarrollan el software no las herramientas ni los procesos, un programador feliz rinde mejor que uno con estrés, un cliente contento es mejor que uno disconforme.
No nos interesa crear 100.000 diagramas en herramientas super cargadas si sólo queremos tener una idea clara, nos basta un lápiz, una hoja de papel, o una pizarra y una camara fotográfica o celular para preservarla. Además ¡queremos Software ya! necesitamos que el cliente esté seguro que lo que pide es lo que necesita, para ello un demo rápido del producto nos da un feedback excelente; un demo cada cierto tiempo corto permite muchas cosas:
- Adaptabilidad a los cambios de requerimientos. Los diagramas de Gantt y Pert son OBSOLETOS, si alguien realiza un modelo predictivo por pasos NO ES AGILE, dar muerte a MS Project. No se puede predecir cómo serán los cambios de requerimientos en medio del proyecto, menos al final.
- Predictibilidad a corto plazo, el cliente nos guiará, el mercado nos guiará y en un plazo cercano, dias, las funcionalidades tomarán forma.
- Calidad, el testeo debe ir a la par del desarrollo, los bugs se encontrarán, reparán y documentarán a medida que el software tome forma, exísten muchas técnicas ágiles para ello, una es TDD (Test Driven Development).
- Compartición y reutilización de código. Nuestra filosofía siempre ha de ser COMPARTIR, preservar conocimiento y reutilizarlo, ahorrar tiempo y esfuerzo, evitar trabajo excesivo y distribuir la carga mental entre todo el equipo y más (todos los participantes informáticos o no).
Metodologías Ágiles
Hay varias implementaciones de metodologías ágiles:
- eXtreme Programming. (XP)
- Scrum.
- Evolutionary Project Management (Evo)
- Desarrollo rápido de aplicaciones (RAD)
- Open Unified Process (OpenUP)
Cada cuál sigue sus propias tendencias pero siempre respetando los principios descritos anteriormente; algunas son muy simples, otras refuerzan documentación y procesos pero la mayoría puede adaptarse al ritmo del proyecto que se vaya a ejecutar.


Abril 14, 2009
Agile Software Buildings
I’ve posted a little paper about the Agile Architect and the Software Buildings development, is an essay which gives an idea about real development and the rol of the people on the process, please read it and post your comments.
http://docs.google.com/Doc?docid=df728hnw_57zggk4hcf&hl=en
Contributions are always welcome
Abril 1, 2009
De vuelta… otra vez…
Sí he conseguido hacerme de internet por segunda vez en el año ya que es mi segunda mudanza, sólo que esta vez vivo bastante lejos y tenía poco tiempo para ir a contratar al ISP y demás; como sea acá de nuevo aunque con muy poco tiempo para escribir.
Una cosa que DEBO hacer es pedir disculpas a muchas personas a las que les comprometí mi tiempo y alguna tarea, lo siento muchísimo debí ausentarme por muchas razones: salud, trabajo, cambio de domicilio, falta de tiempo y más; espero que no se molesten mucho conmigo, sigo tratando de estabilizarme y ordenar mis ocupaciones para hacer tanto mi trabajo y mis tareas como voluntario del Software Libre (que es lo que me gusta más
)
Bueno, espero poder seguir escribiendo seguido y comunicarme con todos, por lo menos de vez en cuando.
Febrero 14, 2009
porque…
Hay algo que no termino de entender, estoy seguro que cada uno tiene su manera de hacer las cosas pero… ¿porque nos cuesta tanto integrarnos al mundo? porqué tenemos que copiar todo, y sin ningún aporte… ¿porqué no podemos interactuar con personas que están más allá de nuestras fronteras y competir de igual a igual? ¿será miedo al rechazo y posterior frustración? ¿será inseguridad a no encajar con otros que pensamos son muy superiores? ¿por qué no lanzarnos y hacerlo por nuestra propia voluntad? ¿Por qué cada propuesta nueva es un rotundo NO ya que NO va a funcionar? … talves funcione para alguien más… ¿acaso nuestra cultura está tan ensimismada que es un sacrilegio romper sus costumbres, y más sacrilegio aún dejar a otro de los nuestros que lo intente y lo aconseje?
Frustrante…
Febrero 8, 2009
Cómo sacar ISOS de CD/DVD mediante consola
Ésto es sencillisimo, con una línea de comando tenemos una imágen de nuestro CD/DVD y podemos usarla como copia de seguridad o para montarla usando máquinas virtuales o a un directorio del sistema. El código es:
dd if=/dev/cdrom of=/ruta/destino/archivo.iso
if=Input File (Archivo de entrada)
of=Output File (Archivo de salida)
Nota: /dev/cdrom podría ser /dev/cdrom1 o /dev/cdrom2 o /dev/hdc dependiendo cómo está configurada su unidad en el fichero /etc/fstab.
Cómo… Montar una imágen ISO en Linux
Son unos cuánto pasos:
1. Crear un directorio por donde se va a acceder a los archivos de la imágen:
# mkdir /mnt/iso
2.a. Montar la imágen ISO en el directorio creado, en modo de sólo lectura:
# mount imagen.iso /mnt/iso/ -t iso9660 -o ro,loop=/dev/loop0
2.b. Montar la imágen ISO en el directorio creado, en modo de escritura:
# mount imagen.iso /mnt/iso/ -t iso9660 -o loop=/dev/loop0
—
* imagen.iso es el archivo de imágen que se quiere montar.
* -t iso9660 es el parámetro que le indica que el archivo tiene formáto de imágen ISO.
* -o Opciones que se aplicarán.
* ro le dice que debe montar la imágen en modo de sólo lectura.
* -o loop=/dev/loop0 es el dispositivo virtual que manejará la imágen.
Si loop0 está ocupado seguir secuencialmente loop1, loop2…, etc.
Éste truco es interesante porque podemos modificar archivos dentro del ISO sin tener que desempaquetar y reempaquetar y personalizamos lo que deseemos ahí dentro
Enero 26, 2009
De vuelta a la red
Hola, para aquel visitante casual que se le ocurra leerme, he estado completamente alejado de mi pequeño blog, no por mi gusto sino porque cambié repentinamente de residencia y de actividad; ahora vivo en Cochabamba y estoy en capacitación para entrar a una empresa de desarrollo software. No es algo que vaya con mis ideales pero bueno hay que sobrevivir, además que es un punto importante para explorar el mundo desde otra perspectiva.
Respecto a mis proyectos y a todo el software que dejé botado ahí poco puedo hacer ahora, no tengo mi “dev box” acá aún, hasta que logre traerla intentaré actualizar lo que ésta portátil me permita, lo demás tendrá que esperar.
Enero 17, 2009
Muerte por sonido
Si, mi laptop muere cuando reproduce audio consecutivamente durante mas de 1 hora, el problema? los drivers para linux talves, o el firmware del BIOS; como mi linda laptop es del milenio pasado espero encontrar una solucion factible, odio no poder escuchar musica o el sonido de los videos

