Anotaciones de diversos temas relacionados con código abierto, metodologías de desarrollo y programación con Ruby on Rails
lunes, febrero 19, 2007
CONSOL 2007: Principio
De inicio, tuve que llegar a la oficina debido a un reunión que se agendó antes del medio día. Malo, malo, malo. Todavía venía con la presión de probar por enésima vez los demos que iba a presentar. Como sea y como fuera, la reunión se fue como agua y tuve alrededor de una hora para repasar y probar la presentación y los demos y hasta para avanzar algo con la presentación del viernes que iba a presentar Gustavo.
Al llegar mi hora límite, agarré todos mis tiliches y me fui. Tomé el metrobus en Insurgentes y me fui menseando por todo el recorrido hasta llegar a la terminal. Me saltaron los ojitos cuando ví un Starbucks cerquititita de la estación pero recorde mi intención de no tomar café para no ponerme más nervioso. Sin embargo, la panza reclamó lo suyo y pasé al Burguer King que está a lado. Sin prisa pero rápido (no puedo evitarlo) comí mi hamburguesa y salí para recorrer el tramo desde la terminal del metrobus hasta la Facultad de Ingeniería.
El recorrer los extensos jardínes y ver la multitud de chavos y chavas me impuso bastante y a la vez me invadió una vaga melancolía, un sentimiento extraño de "no pertenencia" que me caló muy hondo. Con las manos húmedas y completamente desorientado seguí caminando hacia donde según mi memoria se encontraba la sede, claro, sin preguntar para no notar mi "no pertenencia".
Mi desasosiego se perdió al doblar la esquina y ver de reojo el gran anuncio verde del CONSOL, sin más, me dirigí con la inquietud de encontrar el registro y fanfarrosamente anunciarme como ponente. Fue fácil, estaba a la izquierda de la entrada principal y lo dificil fue conseguir un pedazo de voz para presentarme. En la impetuosidad de mis nervios llegué una hora antes de lo planeado, así que me puse a mensear un rato y a debrayar que hubiera sido de mi vida si la soberbia y ego no se hubieran impuesto. La espera fue larga, más larga que la hora que marcó el reloj, viendo a grupos de alumnos, amigos, amigas, bromear y saludarse efusivamente por la celebración del día.
El reloj marcó la hora pertinente y me acerqué de nuevo al registro para que me ubicaran en el espacio de la ponencia. No lo hubiera hecho. Cuando me llevaron al auditorio me temblaban las piernas y volví a sentir húmedas mis manos.
Era inmenso. Y practicamente vacío.
Faltaban más o menos 10 minutos para empezar y fui acomodando y conectando mi equipo, arrancando las aplicaciones para perder el menos tiempo posible esperando y el voluntario me preguntó si ya iniciaba. Al mal paso darle prisa. Con una breve introducción me aventaron al ruedo y cuando quede de frente a los espectadores prácticamente se me fue el alma.
En fin, ya estaba ahí. Con una voz vacilante, trémula por momentos (que bueno que no grabé nada) fui avanzando lámina por lámina, exponiendo el tema con algunos titubeos (todavía se me agolpan las ideas) y fui viendo como por partes de fue llenando el auditorio, bueno un poco más o menos que la mitad. Cuando llegó la parte de las demostraciones tomé asiento y definitivamente ahí me desconecté del escenario, simplemente era yo platicando lo que iba a demostrar y me fui explicando todo.
Algunas preguntas cayeron, las respondí lo mejor que pude. Seguí con la segunda parte de la demostración, corriendo los ejemplos en Linux (ahora si funcionaron) y cerré solicitando a la audiencia que me acribillara con preguntas. Afortunadamente no me fui en blanco y encontré a más de dos asistentes que me cuestionaron con varios puntos.
Di las gracias, me entregaron mis obsequios y me salí.
Me alcanzaron algunas personas y estuvimos comentando sobre el tema y cosas relacionadas. Y aún me di tiempo para asistir a dos conferencias más, platicar con algunos de los asistentes e intercambiar pato-aventuras con varios de ellos.
Finito.
miércoles, febrero 07, 2007
Pendejez a la mexicana
Checando los blogs de la comunidad del Software Libre, me encontré un post en el blog de Xiam que me dejó con los ojos cuadrados.
Resulta que diputados.gob.mx fue objeto de un Google Hack. Aparte de lo malo que es esto, resulta que se encontraron varios archivos piratas, videos pornos y demás menudencias.
Siendo actualmente también un empleado de gobierno, no me sorprende. :O. Pero tampoco es para tomarlo con ligereza. Existen incontables legiones de huevonazos, de jefe pa'rriba, que militan en los diferentes apéndices del Estado que conocemos como Secretarías. Y sí, como dicen, generalmente tienen esas particulares costumbres.
Hay que ser cerdos pero no tan hocicones.
Si la voy a tirar, la pongo en una bolsa o en una caja o agarró a un buen lamebotas para que se deshaga de mis detritus. Hasta para eso son idiotitas. En este caso agarraron a un (obviamente) inútil admin que tal pareciera que su empeño fue demostrar que los sistemas operativos libres son inseguros.
No puedo decir más. Me duele la panza de risa y coraje. Pa'más referencias:
- http://g30rg3x.com/2007/02/01/diputadosgobmx-%C2%BFhackeados-por-google/
- http://leo.utskot.org/2007/02/02/mexicos-house-of-representative-website-used-to-distrubute-hard-core-porn-media-files-and-etc/
- http://alt1040.com/archivo/2007/02/02/pirateria-y-pornografia-en-el-sitio-de-los-diputados-de-mexico/
Finito.
martes, febrero 06, 2007
Pater
Asistieron todos sus hermanos, mis primos y familia de parte de mi mamá. Y como acostumbra cuando es anfitrión estuvo re-te movido. La diferencia con años anteriores es que lo ví a gusto, féliz, animado.
Mi hermano le tomo una foto donde lo veo enorme, fuerte, sólido.
A los 9 0 10 años lo molestaba diciéndole que ya estaba viejo; el niño re-te inquieto, más o menos de la misma edad ya me lo ha echado en cara. Durante mi adolescencia muchas veces tuve que escuchar sus regaños, gritos y sermones. Hace poco el mayor de mis hijos me reclamó que no hago más que regañarlo, gritarle y sermonearlo.
Ahora soy padre. Si bien no tuve consciencia cuando nació mi primer hijo, después me cayó el veinte, y además de sentir la resposabilidad y entender el orígen de este cariño paterno-filial reencontré en mi el cariño por mi padre.
Siendo un hombre de pocas palabras, a veces tosco y mal humorado, mucho tiempo me quejé de no sentir cariño o aprecio de su parte.
Realmente, no importa. Quise, quiero y querré a mi padre, al igual que él a mí y yo a mis hijos.
Por toda la vida.
Finito.
Ponencia en CONSOL 2007
Pues bien, lo he hecho. Con la onda de evangelización sobre Mono, me animé a hacer una propuesta de ponencia y pues resulta que ahí está... en el calendario del CONSOL 2007.
Miércoles 14 de febrero, 15:30 horas
Auditorio 1 - Salón de Exámenes de Grado
Fac. de Ingeniería, Ciudad Universitaria.
Tema: Introducción al Proyecto Mono.
Algo que me ha limitado de andar invitando a diestra y siniestra, es que es un evento con regi$tro :(. Recientemente alguien me preguntó que si era software libre ¿por qué se cobraba al evento? Pues, para gastos de la organización, traer ponentes, papelería (posters, reconocimientos, gafetes, etc), sin embargo no descarto un escenario ideal donde no se cobrara un centavo.
A los que ya estén inscritos, los espero entonces; a los que no, los invito a inscribirse, no tanto por mí sino por todo el concepto de Software Libre.
Finito.
viernes, febrero 02, 2007
miércoles, enero 31, 2007
Un buen comienzo
Como todo un desarrollador, Raúl estuvo demostrando XAML e iba aplicando los cambios que nos iba explicando a manita. Real Man. Hasta la fecha ha sido la mejor demo de WPF que he visto, alcance a entender varios conceptos y la analogía que hizo sobre CSS ayudo bastante para aligerar el concepto.
Después, Octavio Télis en su acostumbrada exposición de temas avanzados (entry level diría él), continuo con el tema de delegados, eventos, métodos anónimos y su mezcla con tipos genéricos.
Y finalmente, un nuevo miembro en el equipo de expositores, Juan José Karam, se aventó una práctica introducción al manejo de versiones de código con VSTS.
Al lo largo de las exposiciones fueron llegando más personas a la reunión, al grado que tuvimos que salir a pedir sillas adicionales para acomodarlos. Raúl tomo algunas fotos de los expositores y la concurrencia, así que pronto nos verán en línea. Se repartieron varios souvenirs y al final hubo la esperada rifa de dos libros de Microsoft Press.
También tuve el gusto de encontrarme con Alfonso Lara, un excelente desarrollador y amigo y platicar un rato junto con los demás expositores en "after-hours". Espero que para la próxima reunión nos puedan asignar un aula más grande. Seguramente se va a necesitar con tanta demanda.
Finito.
viernes, enero 26, 2007
Pluralizando
Así, tenemos que al usar el generador de modelos, le pasamos un parámetro que es el nombre y genera una clase, un conjunto de pruebas y la correspondiente migración para crear la tabla en la base de datos.
Para generar todos estos archivos, se usan plantillas y además algunas funciones del framework para nombrar clases y archivos. Recordemos que Rails tiene un principio
Convention over Configuration
Esto significa que se prefiere usar estándares para los nombres de clases, tablas, objetos, referencias y demás items en lugar de estar generando mega-archivos de configuración (web.config o web.xml por ejemplo). Por ejemplo, al usar
./script/generate model accountse crea un modelo Account que se compone de los siguientes archivos y directorios:
Modelo: app/models/account.rb
class Account <>
Prueba: test/unit/account_test.rb
require File.dirname(__FILE__) + '/../test_helper'
class AccountTest <>
Fixture: test/fixture/accounts.yml
Migración: db/migrate/XXX_add_accounts.rb
class CreateAccounts <>
Si observamos un poco el código generado se verá que a partir del nombre del modelo "account" se han derivado varias etiquetas para cada uno de los items:
Mi modelo account
Nombre de clase Account
Clase de prueba AccountTest
Tabla en la BD accounts
Se puede ver que el nombre de modelo se le aplica el estilo Pascal (CamelCase) para obtener el nombre de la clase y que se hace en plural para el nombre de la tabla en la base de datos. Y esto aplica incluso en sustantivos irregulares, por ejemplo:
Mi modelo person
Nombre de clase Person
Clase de prueba PersonTest
Tabla en la BD people
"Person" => singular, "People" => plural. Brillante ¿no?
Pero..... todo se maneja en inglés :( Yo no spiko spaniol.
Como siempre el gran dios google tiene varias respuestas. La primera la encontré en HackerDude que nos habla de algo llamado "Inflector" (¿alguien cursó latín o alemán?) y encontré todavía más detalle en BlogOnRails. De inicio es algo harto sencillo: expresiones regulares. Se tienen que agregar o sustituir varias expresiones regulares para que Rails sepa como hacer plurales o singulares, algo como esto:
Inflector.inflections do |inflect|
inflect.plural /$/, ‘es’
inflect.plural /s$/, ’s’
inflect.plural /z$/i, ‘ces’
inflect.plural /([aeiou])$/i, ‘\1s’
inflect.plural /_(.*)$/, ’s_\1′
inflect.singular /s$/i, ‘’
inflect.singular /ces$/i, ‘z’
inflect.singular /(.*)s_(.*)/i, ‘\1_\2′
inflect.irregular ‘user’, ‘users’
inflect.irregular ‘estado_civil’, ‘estados_civiles’
inflect.uncountable %w( pantalones )
end
Y ¡listo!. A probar con:
Mi modelo organizador
Nombre de clase Organizador
Clase de prueba OrganizadorTest
Tabla en la BD organizadores
Este esquema no es perfecto, pero es pragmático ;)
En otro orden de ideas, ya está agendada la siguiente reunión de la Comunidad .NET de la Cd. de México, la orden del día es la siguiente:
Utilizando Delegados (Segunda Parte) - Octavio Telis
Estilos y Control Templates en WPF - Raúl Guerrero
Source Control en Team Foundation Server - Juan Karam
Por Confirmar Tema - Héctor Obregón
El lugar y la hora:
Fecha: Martes 30 de Enero
Horario: 7:00 a 9:50 p.m.
Lugar: Intersoftware Training
World Trade Center - Piso 35
Mexico D.F.
Y todavía pa'que se animen, habrá rifa de libros entre los asistentes. ¡Qué esperan! Nos vemos el próximo martes.
Finito.
martes, enero 09, 2007
Yo quiero uno asi
Como es común, el anunció se hizo durante el CES de este año. El CES es el evento que aprovechan la mayoría de los fabricantes de productos electrónicos para anunciar las novedades que estarán comercializando a partir de este año y las maravillas que ya están probando para seguir extrayendo dinero de los pobres consumidores.
He aquí que Steve Jobs aprovechó el espacio para anunciar el iPhone.
Recuerdo que alguna vez se hizo una encuesta/discusión acerca de que item te sería más útil se te quedarás en un país extranjero sin maletas, ni nada a cuestas. Las opciones eran:
- Tu PDA
- Tu laptop
- Tu teléfono celular
Y además, creo que bien usado (y equipado) en el perfecto companion de casi cualquier persona. La industria de los teléfonos celulares ha venido haciendo ofertas cada vez más interesantes pero definitivamente nada como lo que se presenta con el iPhone.
Es que eso de mezclar comunicación, entretenimiento, movilidad, integración, facilidad de uso y además ser internet-enabled no es nada fácil. Y una vez más Apple da el primer golpe: el que pega primero, pega dos veces (iPod (!) vs. Zune (?)).
Inmediatamente se me vino a la memoria el monito (Allard?) que dirige la nueva serie de productos de consumo en Microsoft, el papá conceptual de Zune que usa como motivación el video ese de Steve Jobs donde más o menos dice algo así:
El problema con Microsoft es que simplemente no tienen buen gusto. Simplemente no lo tienen.
Y vaya que si tiene razón.
Finito.
jueves, enero 04, 2007
And the winner is...
We are glad to announce that Ruby has become "Programming Language of the Year 2006". Ruby has the highest popularity increase in a year of all programming languages (+2.15%). Runner up this year is JavaScript with +1.31%. Both languages are boosted by their corresponding frameworks, Ruby On Rails and Ajax.Voy terminando de leer Ruby on Rails: Up and Running y si bien el libro puede mejorar significativamente, lo que me sorprende completamente es Rails. Rails es un marco de desarrollo basado en Ruby, se conoce por casi increible capacidad de generar una aplicación "completa" en minutos. En lo particular me parece una perfecta implementación de una fábrica de software. Tendré que preparar un post más completo para sustentar el último dicho.
Todavía falta que lo vea en un sistema en producción, no conozco ninguno todavía y también explorar Rails al grado de ver que más puede generar aparte de aplicaciones web (¿servicios web? ¿integración?) y también, seguramente debe existir algo similar implementado con .NET o Mono (¿Monorail?).
Ruby es un lenguaje interesante. Todavía no lo entiendo del todo, como que no aplica el clásico ejemplo del "Hello World!" sin embargo tiene una simplicidad aparente que con Rails raya en lo ridículo. Pa'muestra un botón:
class Photo < ActiveRecord::Base
has_many :slides
end
class Slide < ActiveRecord::Base
belongs_to :photo
end
Con este par de declaraciones se ha realizado una relación uno-a-muchos. Así nomás. Y funciona ¡eh!. Tienes una consola que carga tu modelo de dominio, o sea tus clases, y puedes ir probando al vuelo tus objetos.
Hasta miedo tengo de voltear a .NET y Mono. Ahora los veo de manera distinta.
Finito.
martes, enero 02, 2007
Numeralia
Los tres links más visitados:
- http://chilli-coder.blogspot.com/2006/07/fbricas-de-software-la-otra-visin.html
- http://chilli-coder.blogspot.com/2006/05/da-vergenza.html
- http://chilli-coder.blogspot.com/2006_09_01_archive.html

Visitantes a la fecha: 2,421 desde el 1 de agosto de 2005.
Visitantes por venir: 1'000,000,000 :D
Finito.
domingo, diciembre 31, 2006
Cinco minutos antes de la cuenta atrás
¿Cuál es este resumen de este año? Me cuesta trabajo decirlo ahorita mismo. Generalmente no pongo mucha atención a lo que ya se hizo. Vivo constantemente pensando en las cosas que quiero hacer. Por eso me es útil esto del blog. Puedo volver unos meses atrás y verme desde fuera.
En las cosas que quiero hacer el próximo año, solamente tengo grandes esbozos. No soy del tipo de Mitch Deny que hace una planeación muy precisa, pero interesante de sus planes del siguiente año.
Lo que quiero hacer el año que viene es lo siguiente:
- Evangelizar sobre Mono a quien quiera y a quien se deje :D.
- Aportar algo al proyecto Mono, sobre todo en la parte de colas de mensajes y la implementación de Olive.
- Ganar experiencia con Ruby
- Sacar adelante y promocionar el concepto de SOA a la Mexicana
- Producir un podcast.
- Crear un grupo de usuarios de Mono.
Solo me resta agradecer a aquellos que se han tomado el tiempo de leer mis oblicuos pensamientos y doblemente agradecer sus comentarios. Les deseo un año 2007 con mucho trabajo, con retos, algunos fracasos y muchos triunfos y que al final se sientan satisfechos con lo que consiguieron.
¡Féliz Año 2007!
Finito.
miércoles, diciembre 20, 2006
Fin de Temporada
Vi varias caras nuevas, espero que les interese participar en las siguientes reuniones y que se sumen a este espacio de colaboración. Lo importante es que la comunidad crezca y se vaya alimentando con otros puntos de vista, otras necesidades y nuevas ideas que compartir.
Raúl anda clavadísimo en el tema de Serialización y ayer dió una excelente presentación del tema. Yo anduve medio oyendo ya que me preguntó que si podía aventarme la presentación de Mono que compartí la vez anterior en petit comite. Con todo gusto le dije que sí y me pasé repasando la presentación durante su exposición.
A continuación estuvo Octavio Télis platicándonos acerca de los delegados. Algo que me llama la atención de Octavio es su casi enciclopédico conocimiento de .NET.
Finalmente, fue mi oportunidad de pararme al frente y hablar de Mono. Me fuí más o menos rápido ya que los conceptos son idénticos a pesar que los conocemos con distintos nombres (CLI vs. CLR, MSIL vs. CIL, etc) y la presentación simultánea de ejemplos .NET y Mono creo que siempre es de interés para la audiencia (hasta la fecha no se han quejado). A los lectores del post anterior no les caera de extraño cuando mencione que pasó al hacer el cambio a Ubuntu para hacer las demos sobre Linux. Simplemente no funcionaron :@ Resulta que no instalé todos los paquetes necesarios y puras fallas. Simplemente no arrancaron.
Raúl, como el tipazo que es siempre, me dijo que no me estresara, que es normal que pase en medio de cualquier presentación. Alguien que también me brindo su apoyo fue Akin0, que llegó casi desde el inicio de la reunión. Con el gusto de dar a conocer Mono y estas muestras de solidaridad ¿qué más puedo pedir? :D
Un punto interesante fue la pregunta de uno de los asistentes de primera vez (creo que de ¿tacsa? o algo así...) fue de como hacer que dos aplicaciones se comunicaran entre sí. Esto fue como una chispa que se anidó en mi cabeza y en algún momento de la madrugada y después de la charla que nos reventamos de regreso a casa Akin0 y yo dió como resultado la idea de SOA a la Mexicana.
Si, si, si. Ya se que no van a faltar las incontables comparaciones con el famosísimo podcast de Carlos Madrigal Proyectos a la Mexicana, pero buscaremos que tenga su propio sabor. El punto es dar a conocer como hemos ido entendiendo los conceptos de integración, SOA, ESB y demás con las experiencias en el trabajo durante los últimos dos años. Hablo en plural (hemos) por que para realizar esta idea voy a tener la ayuda de dos excelentes amigos y compañeros de trabajo: Gustavo de la Cruz Tovar y Javier "El Tuzo" Cortes López.
Ya vendrán más detalles de SOA a la Mexicana. No se desconecten.
Finito.
lunes, diciembre 18, 2006
Mudanzas y encuentros
Por enésima vez cambié la distro que tenía instalada en mi laptop. Ahora fue de Ubuntu a Fedora. ¿La razón? Tener acceso más fácil a las últimas versiones de Mono. Sin embargo después de unos meses de trabajar con Ubuntu el cambio no fue tan fácil como pensé de inicio.
Ya tenía a la mano el DVD para instalar Fedora en su versión 5, sin embargo, por ganas de desperdiciar ancho de banda descargué la imagen para FC6 solo para ver en la página de descargas de Mono que solamente soportan hasta la versión 5. Pus bueno, agarré mi DVD y ¡órales! a instalar. La siguiente actividad fue la consabida actualización de los paquetes instalados, cosa que en mi caso significaban cerca de 600 MB de descarga.... ¡qué onda w!
Pus aún y así colgué mi noble yegua a la pichurrienta red de la ofi para ver con asombrosa impaciencia el goteo de bits de la red. Y pasó un día, dos, tres, cuatro y me cargó la tiznada. Mi transparente paciencia se pegó un tiro y al querer buscar el modo de acelerar descargas, me encontré un plugin para yum que segúnesto es para seleccionar los mirrors más rápidos. Si pero no. Como fuí descargando por grupos ya que me fue imposible dejarla más de 4-6 hrs conectada, iba seleccionando que si por letra, por tamaño, por paquete, por hora, por lo que fuera tratando de desmenuzar el mazacote de descargas que tenía en las manos.
Entre todo ese malabar de paquetes, sitios, versiones y conexiones se batieron los datos de los repositorios. Varios curiosos mensajes aparecieron al momento de hacer el famosísimo "yum update" para que al final resultara que ningún mirror podía validarse contra las firmas que tenía registradas. Aplique la mentada formula de "yum clean all; yum makecache" y conseguí hacerlo funcionar un par de veces más pero fue todo. De ahí se me ocurrió quitar el maravilloso-plugin-acelera-mirrors y mejoro un tantito la cosa pero con un par de descargas llegó al mismo final.
'Tons que agarró y que instalo de nuevo FC5 (que ganas de perder el tiempo ¿no?) y ahora no me hice del maravillosos-plugin-acelera-mirrors para las actualizaciones. Y pasaron uno, dos, tres, cuatro días y yo sin terminar. Siempre los mismos mirrors, siempre la misma lentitud, siempre un buen de tiempo perdido. 'uta madre. :@
Y además, no me encontraba del todo cómodo. FF 1.5, Evolution 2.6, usuario root para instalar (aprendí a configurar sudo pero por ahí algo me late que también influyo en la revoltura de repositorios). No, no, no.
De vuelta a Ubuntu. Lo primero que noté (bueno, ya lo había notado antes pero no le di importancia) es el hecho de que existe un repositorio Ubuntu para México (http.//mx.archive.ubuntu.com) que si bien no sé si se encuentra físicamente aquí en México, al menos atiende las peticiones de volada. Y además como Ubuntu viene con las versiones más recientes de sw, me siento más a gusto. Y menos tiempo perdido. La única desventaja es la lentitud respecto a las actualizaciones de Mono ¿qué tan difícil es hacer paquetes para Ubuntu? :S
La otra cosa interesante de la semana pasada son libros. Un bonche de libros. Gustavo decidió que era tiempo de comprar libros y pus le encargue mi lista (que no son muchos) y ya llegaron.
En mi breve selección se encuentran Software Factories por Greenfield et alias, Microsoft Windows Comunication Foundation: Hands on! por McMurty et alias, Practical Software Factories with .NET por Lenz y Enterprise Integration with Ruby por Schmidt, éstos último en versión electrónica, amén de otro bonche de libros que encargó Gus.
Entre los otros libros, encontré Ruby on Rails: Up and running por Tate, el cual de una manera sencilla te va introduciendo al mentadísimo mundo de Rails: metaprogramming, scaffolding, ActiveRecord, etc. Mucho de lo que he visto de inicio me hace un deja vù con las software factories. No tengo muy definida la idea, voy a tener que amarrar más conceptos.
En la parte de Ruby, me encontré con algundos feeds y lo más sorprendente con un incipiente grupo de usuarios Ruby en la Cd. de México. El breve perfil del organizador lo presenta como un ingeniero de soporte Rational de IBM ¿? El grupo lo viene anunciando en dos lugares Google Groups y Yahoo! Groups así que si les interesa apúntense.
Por último, mañana se realiza la última reunión de la Comunidad .NET de la Cd. de México en el lugar acostumbrado (WTC, piso 35, Intersoftware).
Finito.
martes, diciembre 12, 2006
Más voces sobre Open Source y .NET
Entre los que han comentado se encuentran Ayende (NHibernate), David Hayden (MVP C#), Jeremy D. Miller (Agile advocate) y como abogado del diablo Frans Boume (MVP ASP.NET).
El punto es la siempre infaltable comparación con la comunidad Java que ha producido hartos proyectos OS, ya sea bajo la tutela de IBM, Sun, Red Hat o whoever. Se comenta la actitud que ha la fecha ha tenido Microsoft (ni te veo ni te oigo) respecto a los pocos proyectos que existen en .NET y como al final lo único que han demostrado es que le gustan las ideas, pero no compartir.
- NDoc -> Sandcastle
- Spring.NET -> ObjectBuilder (bueno, más o menos)
- NUnit -> MS Test
- Log4net -> Logging Application Blog
Una vez más regresamos a la gente, a la confianza, al compromiso, a los intereses comunes. Más que una empresa, estos valores e ideales deben ser el motor de cualquier comunidad. Incluso esta potencial comunidad tecnológica.
Finito.
lunes, diciembre 04, 2006
Una API para comunicar a todos
En el proyecto Mono existe el subproyecto Olive cuyo objetivo es conseguir una implementación de las API's de WinFX/.NET3 entre las que se incluyen WCF. Sin embargo considerando la no dependencia de plataforma inherente a Mono, se ha dejado fuera el soporte a MSMQ. La razón es obvia: no existe fuera de Windows.
Sin embargo, el soporte de colas (queueing) es uno de los factores que consiguen soportar grandes volumenes de transacciones en ambientes empresariales. En lo particular creo que MSMQ ha sido desgraciadamente desaprovechado y prácticamente ignorado por varios arquitectos. Con WCF, se presenta de nuevo como una herramienta más a nuestro alcance y creo que también debe formar parte de Olive pero ¿cómo resolver la ausencia de MSMQ en otras plataformas?
De inicio pienso en ActiveMQ. Un proyecto Apache que también ha sido utilizado en algunos proyectos ESB Open Source. Una ventaja que recientemente ví es que funciona (al menos en la doc) en Windows y en Unixes. Igual y se puede pensar en IBM WSMQ que tiene el mismo soporte multiplataforma. La idea es entonces, construir una implementación abstracta de queueing para WCF y construir implementaciones especificas para diferentes productos. Y después integrar esto en Mono de manera que se complete el alcance de Olive.
Existe un pequeño inconveniente. Estoy en el proceso de aprender WCF :D. Esto implica que paso mucho tiempo en Windows para estar consultando la documentación en línea. Si bien también está disponible en MSDN, estoy limitado por la disponibilidad de una conexión a internet. El punto final es que voy a trabajar más tiempo en Windows y de ahí se deriva otro pequeño reto, la facilidad de compilar Mono en Windows.
La documentación que existe hace referencia a cygwin como "plataforma" para construir Mono en Windows. En el sitio de Paul Johnson existe una detallada guía para preparar el ambiente ya que requiere una combinación muy específica de versiones de las herramientas de construcción que realmente no he conseguido armar.
Pero bueno, los puntos a conseguir son los siguientes:
- Aprender WCF, particularmente los puntos de soporte a queueing.
- Aprender ActiveMQ y su binding con .NET
- Descubrir o crear el API para una integración genérica de WCF con productos de queueing.
- Llevar este código a Mono.
- Aprender a configurar un ambiente para compilar Mono en Windows.
Voy a abrir otro backpackit para darle seguimiento a este asunto.
Finito.
miércoles, noviembre 29, 2006
No soy el único
No importa todo el festival que preparen, no importa lo bonito del empaque, no importa que lo acompañen de Office 2007 (este si mejoró bastante). Es un fiasco y lo van a maquillar con grandes anuncios de ventas (como si fueran a recibir discos de oro y de platino) y reportajes en todos los medios de lo mucho que ha mejorado el mundo con Vista.
Pero no es ni será cierto. Es más, hay gente del medio que no tiene urgencia de cambiar a Vista.
La única manera en que Microsoft lograría innovar en realidad sería desarrollar un totalmente nuevo sistema operativo. Sin mantener compatibilidad, sin reutilizar código, sin prometer las perlas de la virgen, sin pretender ser itasca.
Ya anteriormente hablé de como el desarrollo de Vista ha caído víctima del corporativismo. Y pa'muestra aquí hay otro botón.
Finito.
Jarro Negro en InnovaTec
Lo que es ser joven.... :D
Finito.
Y nos dieron las 9, las 10 y las 11
Iver fue quién proporcionó la mayor parte de la audiencia acompañándose de Luis Enrique Olascoaga y Erick Sánchez además de la curiosamente agradable visita de Akin0. Digo curiosa ya que lo conocí hace algún tiempo y me dejó una impresión tan buena que incluso hice un post acerca de su él y su trabajo. La parte agradable fue volverlo a encontrar y descubrir más puntos en común: el interés por Mono y por formar comunidades.
Para efecto de tener un espacio para platicar, nos adentramos en conocida cadena de cafeterías donde nos acomodamos como pudimos (el lugar estaba retacado) e inicié con lo traía preparado para la exposición de introducción al proyecto Mono. Una novedad que incluí en este demo fue el Mono Migration Analyzer o MoMA pa'los cuates.
MoMA es un programa que examina una lista de ensamblados (assemblies) y busca llamadas a métodos de la BCL que no se encuentren implementadas, estén marcadas con el atributo [MonoTodo] o que no tengan una implementación completa además de reportar las llamadas P/Invoke. Todo esto lo consigue haciendo uso de Cecil y al final se puede enviar el resultado a la gente del proyecto Mono, de hecho Miguel de Icaza se vé bastante animado con los informes que han llegado y ha publicado varios posts para dar a conocer los resultados acumulados.
En lo particular me parece una herramienta super importante ya que nos permite dos cosas:
- Identificar los puntos específicos a modificar en nuestras aplicaciones para conseguir una distribución multiplataforma y
- Identificar que métodos de la BCL se están usando y crear la implementación, es decir, desaparecer los [MonoTodo] y las excepciones NotImplementedException.
Raúl nos hizo el demo y ¡voilà! funciona! pero no lo dejo allí. Mostró una alternativa en la que el objeto que se va a compartir lo serializa y lo inyecta en el ViewState ¡cool!. Akin0 hizo la observación que al ir aumentando la complejidad de la clase proporcionalmente iba a crecer el tamaño de la serialización y por ende el ViewState. Como comentaron él y Raúl, y yo también creo, habrá que revisar cada escenario.
Cuando se acercaron a nosotros para avisarnos que ya estaban por cerrar el estacionamiento nos dimos cuenta que era hora de partir.
Por mi parte me quedó una satisfacción enorme de encontrarme con todos y de ver el nivel de conocimientos y habilidades que no se están quedando en una persona, por que el fondo de estas reuniones es compartir y ayer se repartió a manos llenas.
Finito.
jueves, noviembre 23, 2006
Saliendo al quite
Aunque había estado participando, realmente no tengo todo el material (ni el expertise) para impartir el taller pero como los muchachos ya estaban aqui no se podía dejar que fuera en balde la visita. Así que a sugerencia de mi jefe, les platiqué de Mono :D
Retomé la presentación que impartí en CITEKNA.06 y partí de ahí. Realmente fue rápido, uno de los chavos tenía conocimientos de .NET y Mono. Ejecutamos algunos ejemplos del SDK de .NET con Mono, ejecutamos los ejemplos del SDK en Linux con Mono (1.2 y 1.1.17) y el cierre fue ejecutar Mono en Solaris :O
Hasta ayer solo era una idea vaga lo de ejecutar Mono sobre SPARC y fue más simple de lo que esperaba. Si bien no hice (ni se ha hecho) una prueba exhaustiva, es un buen inicio para tratar de incorporar Mono y por ende .NET en el ambiente "empresarial".
Hoy la lista de Mono Hispano preguntaba alguien como argumentar a detractores de Mono. Creo que no hay una forma contundente. .NET no se ha integrado como una plataforma "empresarial" (a comparación de J2EE), mucho menos Mono. ¿Está listo para este tipos de retos? Desgraciadamente tampoco lo puedo afirmar. Lo que sí se puede decir es que no es cosa de tecnología. Somos nosotros.
Nos gusta presumir Mono por aquí y por allá, pero no hemos conseguido espacios para foguearlo y ver realmente hasta donde llega. Es un lindo juguete pero para muchos es solo eso.
En el sitio de Mono, existe una sección con proyectos reales. Pero nada se compara con la experiencia propia. Asi que: propongamos. Veamos que retos existen y hagamos el compromiso con Mono para usarlo.
Como cierre, el próximo martes 28 de noviembre se realizará la reunión Mensual de la Comunidad .NET de la Cd. de México. La reunión anterior pedí la oportunidad de exponer acerca de Mono y hasta la fecha si bien no me han confirmado tampoco me han dado una negativa así que estamos listos para hacer la presentación.
Entonces, los espero en el WTC, piso 35 en las oficinas de Intersoftware a partir de las 19.00. La idea es que asista toda la gente interesada en Mono para empezar a formar una comunidad y empujar el proyecto.
Los espero.
Finito.
viernes, noviembre 17, 2006
Ahora si.... ya se los cargó el payaso,....
Estoy que me lleva la ()/&%&#&/W"!!!!
Acabo de hacer la migración a Blogger Beta y me encuentro con varios... varios... decenas de comentarios que nunca había visto antes...... en serio.... Otra más y me cambio de blog engine.
Finito.
martes, noviembre 14, 2006
¿Terminaré algún día?
Pues bien, mi cerebro si lo recordó y heme aquí actualizando código de nuevo.
Más bien surgió de que instalé .NET 3.0/WinFx y pues me salió la duda: ¿cómo accederé el API de salesforce.com? No lo intenté (todavía) pero lo bueno es que retomé PartnerApi.
De hecho, se me ocurre intentar de nuevo la migración a Mono :P
Pa'más referencia y un meme, visiten mi BackPackIt
Finito.
jueves, noviembre 09, 2006
Es oficial: Mono 1.2
Esto ya se había anunciado desde el Mono Meeting, sin embargo me da una impresión de acelere/rush.
Desde la mañana se había anunciado la liberación, incluso en la lista de correos se vió con sorpresa la nota.
Bueno, es oficial. Mono 1.2
Finito.
martes, noviembre 07, 2006
Más noticias del acuerdo y un detalle curioso
Habrá preguntas que nos hemos hecho, habrá otras que no. Creo que vale la pena visitarlo y si es necesario plantear nuevas dudas.
En otro orden de ideas, ya descargué e instale Mono 1.2 RC para Windows. Un detalle que me pareció curioso y práctico a la vez es que agregaron una opción a los menús contextuales para arrancar XSP/XSP2 en un directorio en particular. Una imagen dice más que mil palabras.

Y ya nomás pa'terminar, en Port 25 hay una entrevista harto interesante sobre la representación gráfica de actividad mediatica colectiva :S (mi libre traducción). Pa'que de'veras vean de que se trata, visiten este post en Port 25.
Finito.
.NET 3.0 liberado
Entonces, ahora ya estamos en posibilidad de descargarlo e instalarlos para probar esta entrega. Lo que de inicio es deconcertante (para los que no veníamos siguiendo al detalle estas entregas) es que no existe la habitual combinación redistrubtable/SDK. Recordemos que .NET Fx 3.0 únicamente agrega API's a .NET Fx 2.0, realmente al fondo (muy en el fondo) seguiremos usando la versión 2.0.
Entonces, para más referencia, detalles y links para descargar, aqui están:
- Microsoft .NET Framework 3.0 Redistributable Package
- Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF), November 2006 CTP
- Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation)
Y de paso chequen la nueva aparienca del home de Visual Studio 2005.
¡Ah! Y para aquellos morts que no escuchan el Podcast de Pozo Técnico, ahi les va Atlas
Finito.
lunes, noviembre 06, 2006
Liberan instaladores para Mono 1.2 RC
Han anunciado la liberación de varios instaladores de la versión 1.2 RC de Mono entre los que se encuentran disponibles
- Windows
- Mac OSx
- Linux genérico
- Fedora
- Suse
- Red Hat
- Novell Linux Desktop
Me parece que la idea es tener el máximo de retroalimentación en vista al probable anuncio de la versión final durante el Tech Ed que se estará realizando en Barcelona en esta semana. Sin embargo, se me hace muy apurado el tiempo, a menos que únicamente se anuncie la fecha de liberación definitiva.
De cualquier manera, hay que probar esta entrega, reportar los errores y lo más importante: corregirlos.
Finito.
Y tú ¿quién eres?
En estos tiempos de internet, e-commerce, e-gov, e-celebrities y demás, la identificación (¿quién soy?/¿quién eres?) se vuelve cada vez más indispensable. Antes teníamos la seguridad que un simple usuario y contraseña era todo lo necesario para hacernos reconocer. Sin embargo, hay quienes se han encargado de echar a perder esa simplicidad. Ahora se buscan nuevos mecanismos para establecer nuevas relaciones de confianza entre los usuarios y los proveedores de servicios.
Pero, ¿acaso no suena todo esto a gran censo para el Gran Hermano? El hecho de que se me asigne una etiqueta para identiricarme, poder comprar en línea, leer mi correo, revisar mis cuentas bancarias, visitar mis sitios favoritos ¿no es invadir mi privacidad?. Resulta entonces que hay alguien que puede ver los sitios que visito, las cosas que compro, las cosas que leo y las que escribo. Estoy de acuerdo en mantener mi seguridad pero también demando mantener mi privacidad.
Entre tanto, la seguridad se lleva la delantera.
En su programa semanal Scott Hanselman hace una entrega bastante interesante acerca de la Identidad tratando especificamente el tema de InfoCard. En un post anterior, también hace referencia al tema e incluye varios de los links que menciona en su podcast.
Si bien, todavía nadie me asegura mi privacidad, el menos se ve que la seguridad va en buen camino.
Finito.
viernes, noviembre 03, 2006
Habilitando peticiones remotas para el servidor X
Generalmente lo que haces es permitir peticiones mediante xhost de manera que simplemente llegan y las atiendes. Pero en Ubuntu no fue así de fácil.
Empecé con el procedimiento común: xhost, me conecto al servidor vía telnet, exporto la variable DISPLAY y.... nada... no gráficos, no ventana solo mensajes de error.
¿Qué pasó? Lo primero que me recomendaron es que viera si estaba activo el puerto tcp 6000. Y pus no estaba. ¿Entonces?. Encontré un xserverrc que traía un parámetro -nolisten tcp y resulta que cancelaba el tráfico en el protocolo especificado. Pero tampoco fue la solución.
Recurrí al todo poderoso Google, pero no conseguí formular una pregunta sensata y no encontré respuesta. Y como era urgente (¡para hoy! ¡para hoy!) simplemente me conecté vía XDCMP y a disfrutar el "adorable" entorno gráfico de Solaris. Waaa!
Hoy me he levantado y al darme la vuelta me he ido rodando (algo de sobrepeso). Y encontré una nueva manera de formular mi pregunta. Y el todo poderoso Google me dió respuesta:
Ubuntu Enabling remote X windows
En resumen de lo que se trata es de reactivar las conexiones TCP mediante lo siguiente:
- Ir al menú Sistema, Administración, Ventana de Entrada
- En la pestaña Seguridad, desactivar el check box con el titulo Denegar las conexiones TCP al servidor XServer.
- Reiniciar tu equipo
- Presto!
Finito.
jueves, noviembre 02, 2006
Acuerdo de entre Novell y Microsoft sobre patentes
La verdad es que ni idea tengo del alcance real de este acuerdo, de inicio se dice que el acuerdo una vigencia de al menos cinco años y se mencionan específicamente varios productos Open Source que promociona Novell, entre ellos:
- OpenOffice
- Samba
- SUSE Linux Enterprise
- y obviamente.... Mono
- El anuncio de prensa en Novell y Microsoft
- FAQ
- Transcripción del evento.
- Webcast con el CEO de Novell
- Carta Abierta a la comunidad Open Source
- Compromisos con la comunidad
- La demanda de consumidores de integrar software libre y propietario (privativo en otros españoles)
- Previsión por parte de Microsoft en relación a un escenario donde no le sea posible seguir inundando el mercado de SO.
- Replantamiento de la estrategia de Microsoft en relación a la construcción y liberación de nuevas versiones de sus SO's (Recuérdenme: En cinco o diez años se recordara Vista como el mayor fiasco de Microsoft).
- Influenciar (al final: controlar) el mercado mediante estándares y pseudo-estándares: Open XML, máquinas virtuales, ambientes de desarrollo.
Ya se verá.
Finito.
Actualización a Ubuntu 6.10 Edgy Eft
En la PC de escritorio, fue donde realmente fueron los intentos iniciales de actualización y como tal, es un verdadero desmadre. Arranca con una pantalla splash bien cucha, tengo que regresarme a una versión anterior del kernel, sigue sin funcionar ACPI, pero fuera de eso funciona exactamente igual que antes.
No me gustó el proceso, creo que pudo ser más limpio.
En cambio, en la laptop, fue borrón y cuenta nueva. Respaldo mis archivos y ¡órales! a formatear e instalar todo. Rápido y fácil.
Algo que encontré, y que si bien existía desde la versión anterior, es la opción Añadir y Quitar del menú Aplicaciones. Es un símil del instalador que se encuentra en el Panel de Control de Windows, la diferencia es que nos despliega un de aplicaciones disponibles para instalarse y se puede especificar desde cuál repositorio se obtiene la lista de programas.
La selección de repositorio es importante ya que están clasificados por el tipo de licencia que manejan y el tipo de mantenimiento o soporte que reciben. Esto es, hay repositorios que únicamente alojan software libre y otros que alojan software bajo copyright. Existen repositorios con paquetes que reciben mantenimiento directamente del equipo de Ubuntu o Canonical y otros donde la comunidad Open Source se encarga de su mantenimiento.
En estas diferencias es donde hay que fijarse para conseguir los paquetes que se requieren. Por ejemplo, para reproducir archivos .mp3, los paquetes los consigues en el repositorio que maneja copyright y que es mantenido por la comunidad.
En fin, la actualización, puede ser buena. La reinstalación definitivamente es buena. La opción de Añadir y Quitar es excelente.
Finito.
Pensamientos sueltos acerca de Windows Vista
- Tal vez Windows Vista no sea el mejor OS del mundo, pero estos K's saben como encajartelo. Chequen el packaging
- En la pasada reunión de la Comunidad .NET, Héctor Obregón hizo algunas demos de Vista. Entre las que me parecieron interesantes estuvo lo de User Access Control o lo que es lo mismo "Te voy a estar molestando para que estés seguro".
- Una de las cosas que hay que reconocerles a estos K's (aparte del merchandising) es que son fieles a su API original. Dibujar íconos en botones o nuevos controles es simplemente un mensaje más en las tradicionales llamadas a SendMessage. Si hoy en día compiláramos un programa de Windows 1.0/2.0/3.0, funcionaría exactamente igual.
jueves, octubre 26, 2006
Escuchen: el Mono está hablando
MonoCast es un proyecto de reciente creación que publica podcasts especialmente orientados a Mono. En estos días, también incluyen video de algunas sesiones del Mono Meeting.
Entonces, ¡escuchen!
Finito.
Getting Real: Libro en línea
Hace algunos meses decidieron compartir sus experiencias y publicaron un libro titulado "Getting Real: A smarter, faster, better way to build software". Ahora lo comparten gratuitamente en línea.
Entre los sitios que ha publicado se encuentran:
En lo particular, soy usuario de Backpack como repositorio de ideas, notas y pendientes y la experiencia de usuario me ha dejado satisfecho. Los Basecamp y Campfire están más orientados a empresas y el resto fueron como que sus pinininos.
De alguna manera han condensando parte de sus experiencias al construir estos sitios y si después de usarlos no te interesa ver detrás de las cortinas, vuélvelo a pensar por que te puedes perder de algo.
Finito.
Ubuntu Edgy 6.10 liberado
A diferencia de Drapper 6.06, Edgy no será distribuido en CD, pero como todos ya estamos embarcados, ni modo, a descargar ISO's o en el mejor de los casos por BitTorrent.
Finito.
miércoles, octubre 25, 2006
Finaliza Mono Meeting
La que me pareció más interesante (al menos fue la primera que vi) fue la presentación inicial en la que se hace un resumen y se plasma el futuro inmediato del Proyecto Mono.
La historia es conocida. Vivimos actualmente con esos frutos. Pero el futuro todavía está por venir.
Me parece importante el anuncio acerca de la implementación de las API's de WinFX/.NET 3.0 que se estarán concluyendo para el Q3 de 2007 en base a un proyecto que en este mismo evento se anunció: Olive.
Si bien, ya se había iniciado la transición a .NET 2.0, misma que culminará en el próximo, proximisisisisimo noviembre y con esfuerzos de empezar con la implementación de Windows Workflow Foundation, no se había concretado la posición en relación a todo el nuevo (por fechas, no por novedad ni por innovación) concepto de WinFX/.NET 3.0.
Pues bien, ya tenemos nuevo mapa. Sigamosle.
Finito.
martes, octubre 10, 2006
Comandos más usados
martin@interoper99:~$ history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c|sort -rn|head -10
57 ls
16 exit
15 clear
14 cd
12 wget
11 telnet
11 make
10 tail
10 cat
9 sudo
Finito.
lunes, octubre 09, 2006
Reseña de citekna.06
Pues bien, no hay plazo que no se cumpla y finalmente llegó el jueves. Por el horario llegué fácilmente al Poli y como ya conozco más o menos la disposición de los edificios me fácil encontrar el espacio dedicado a citekna.06. Lo primero que vi fueron los stands de los diferentes expositores, particulares, escuelas y alumnos del Poli y empresas.
Más adelante encontré el stand de registro y a la organizadores, Verónica Tromavala, que me recibió y me dijo tenía programada una pequeña entrevista y que todo estaba listo para la presentación. Así que me acompoñaron al área de entrevistas y fue breve pero muy chistoso. Fui el primer entrevistado del día así que la chavita que estaba encargada de eso estaba bastante nerviosita. :D
Erán como las 10.15 y mi exposición empezaba hasta las 11.00, así que me invitaron a la conferencia magistral que trató sobre centrales hidroeléctricas. Interesante tema, interesante cifras $$$$$.
Estuve escuchando hasta que estuvo a punto de ser las 11.00. Llegué el auditorio y me encuentro que me tocó un "host" muy nerviosito y medio impetuoso. ja. Los primeros problemas fueron con la conexión electrica del proyector, que estuvo muy rústica y no permitía que se conectaran más aparatos en el mismo espacio. Terminaron quitando la extensión y acomodando la mesa para acercar el cable del proyector a la conexión eléctrica y fue cuando ya saqué mi laptop, la arranqué, arranqué mi presentación, monodevelop y el "guorchoc" (Workshop).
Yo iba bien emocionado con mi equipo con Ubuntu para hacer la presentación. Y fue cuando sucedió el gran problema: no conseguí hacer que el proyector tomara la señal de mi laptop :S.
Originalmente hice la presentación con powerpoint y como la traía en usb, tomé la laptop de mi anfitrión y ¡órale! a empezar por que cuando me despegué de mi lap me di cuenta que ya había entre 40 y 60 chavitos y chavitas esperando que empezara. :o
Me entró algo de pánico escénico y en lo que me presentaron, respiré profundo y empecé. Me fui algo rápido por que ya se habían perdido alrededor de 5 minutos y solo tenía 30 para exponer :S. Y fui, lámina tras lámina, viendo algunas caras de what? algunas caras interesadas, algunos tomando fotos o video con su cel. Cuando llegó la lámina del demo, con la cola entre las patas les expliqué las broncas que tuve y ofrecí a cualquier interesado hacer la presentación "in situ".
Desde mi punto de vista, la hora de la verda' son las preguntas. Me ha tocado que las presentaciones son tan banales que no vale la pena preguntar o que son taaaan elevadas que ni siquiera consigo formular una pregunta coherente. Para mi fortuna, hubo algunas preguntas que contesté de la manera más precisa posible.
Con eso di por terminada la presentación y mi impetuoso anfitrión se alegró ya que me comí como 5 u 8 minutos del siguiente expositor. ja.
La mejor parte fue cuando se acercaron 4 o 6 chavos y me pidieron que les hiciera el demo. Empecé leve, pero me invitaron a salirme ya que el expositor estaba a punto de iniciar. En un stand vació, nos acomodamos y les expliqué todo el demo, platicamos un poco de la tecnología y se despidieron.
Terminé con un recorrido con más calma de los stands. Encontré uno que me interesó bastante y se trataba de un sistema de fuzzy logic para el modelado de sistemas. cool!.
En fin, tengo como tarea encontrar que carajos falló y espero que a los muchachos se les haya alborotado la hormona por Mono.
Aquí encontrarán la presentación en formatos PowerPoint (916 Kb) y OpenOffice (506 Kb).
Finito.
martes, octubre 03, 2006
Conferencia sobre MonoDevelop
Finito
jueves, septiembre 28, 2006
Realmente ágil...

En el post que comenté anteriormente donde se menciona la política laboral y organizacional de Google, señala bien clarito lo importante que es para ellos entregar novedades lo más rápido e improbablemente posible. Para muestra basta un botón.
Hace unos cinco minutos entré a Google Reader y resulta que los muchachitos de Google cambiaron completamente el look & feel y la funcionalidad de este servicio. Si bien el cambio visual es impactante, la funcionalidad es de terror.
Hay una barra de navegación a la izquierda que presenta los tags con los que se clasificaron los feeds y además un indicador visual de cuantos posts hay sin leer. Cuando tienes un bonche (20+) de feeds que te revientas en la mañana o tarde junto con un café y una galleta, buscas ser un poquito selectivo, estuve pensando como organizar mis feeds y se me ocurrian categorías, sin embargo me quede corto de vista ya que ¡enfrente de mi estaban los tags!.
En fin, esta muy chido.
Finito.
citekna.06
La exposición se va a realizar en la sala Jaime Sabines del Centro Cultural Jaime Torres Bodet, de las 11.00 a las 11.30 (creo que es reducido el tiempo).
De igual manera les contaré como es que me fue en esta presentación.
Finito.
Tableros de Control
Eric Lee también forma parte del equipo de VSTS y tuvo la ocurrencia de construir un tablero de control para los datos que se generan en Team Foundation Server. Cool!
No soy manager, pero esos indicadores visuales me parecen harto prácticos. Es como el motto "Red, Green, Refactor" del unit testing. Cuando ves el cambio de rojo a verde, sabes que vas en buen camino. En el tablero de control es similar. Puedes ver como va cambiando cada uno de los indicadores de desempeño y actuar en consecuencia.
Desde el punto de vista de negocio es perfectamente normal, la novedad es la integración con VSTS.
Finito.
miércoles, septiembre 27, 2006
Ser o no ser.... ágil
¿Cuanta gente trabaja hoy en día con una metodología ágil? Que levanten la mano.
Hace tres o cuatro años trabajaba de manera ágil. A la hora de la salida, invariablemente el director llamaba a una reunión donde se exponía un problema que sin dudarlo era resuelto con una mini-aplicación cuya primera revisión era a las 9.00 del día siguiente, sin importar la hora a la que terminara la reunión en curso. Creo que el intervalo más pequeño fueron 6 horas.
No es que fueras a desarrollar ERP's o nóminas o algún tablero de control (bueno, este último sí), generalmente fueron aplicaciones muy específicas de usar y tirar. Pero, después de la primera revisión, seguían varias hasta que terminaba el ciclo de vida de la aplicación, días o semanas y seguíamos con una nueva.
Eso es ágil. O al menos así lo veo ahora :D
Hoy encontré a Steve Yegge y un post harto, harto, harto interesante al respecto de las metodologías ágiles. Les pega y les pega duro sacando a colación la cultura organizacional y laboral de Google. Si bien él tiene la oportunidad de trabajar en una organización dedicada al desarrollo de software, no a todos nos ha llegado esa oportunidad.
Léanlo, coméntenlo, compártanlo.
Finito.
viernes, septiembre 22, 2006
100
Es increíble lo rápido que se pasa el tiempo y el gusto que le he agarrado a esto del blogging.
Quisiera agradecer a todos los lectores, regulares y de una sola vez por permitirme taladrar sus ojos y mente con mis palabras, ideas y demás telarañas que aparecen en este blog.
Invito a todos a participar con sus comentarios, sugerencias y críticas para este espacio.
Finito.
Flash! Flash! Flash Informativo!
Windows XP al alza, Mac a la baja
Al menos en cuanto a proporción en el mercado de sistemas operativos pero ¿incluirán las instalaciones de Windows XP sobre las nuevas MacPro?
Microsoft vs. Unión Europea: Golpes bajos, arreglos bajo el agua, competencia desleal y más en el capítulo de esta semana.
William Henry Gates III a los 50 años, 53 billones de dólares ¿pa´qué jugamos al "melate"?
Finito.
Conferencia y Expo SG'06
De inicio, Ana Dueñas de Financiera Independencia nos presentó el trabajo que realizó en desarrollo de dispositivos móviles para agilizar los procesos de verificación de los datos de los solicitantes de micro-créditos y cobranza a clientes morosos. En lo particular me interesó bastante esta exposición ya que a finales del año pasado y a principios de este me involucré en el desarrollo de un sistema similar para un start-up del mismo giro.
Después, Iván Salazar, Gerente de desarrollo de esmas.com, presentó sus experiencias adquiridas en el desarrollo del portal de música en línea Tarabú. Algo que aprendí de esta plática fue de la existencia de los proveedores de cacheo. Esto salió a colación debido a la pregunta acerca de como se preparaban para enfrentar picos en las visitas al sitio debido a lanzamientos o por temporadas. También presentó la más reciente versión de su Smart Client (extrañamente parecido a iTunes :P ) que incluye el acceso al servicio de ventas de películas y video que próximamente se va liberar.
Casi al termino de las presentaciones, llegó alguien del staff del evento y nos invitó a la Noche de Casino que se iba a llevar a cabo, así que... pus fuimos :D
Estuvo mmmuuuuyyy bien. Mucha diversión, mucho ambiente. 2/3 drinks para desestressarse y conocer gente. Saludos a Abraham Luna y Edmundo de Vision Consulting y a Gustavo May que vino desde Mérida, Yucatán ¡Bomba!
¡Ah! Por cierto, se confirmó que el próximo martes 26 de septiembre se llevará a cabo la ya acostumbrada Reunión Mensual de la Comunidad .NET en las oficinas de Intersoftware (WTC, piso 35) ¡No falten y ojalá que la gente que estuvo en SG'06 nos acompañen!
Finito.
jueves, septiembre 21, 2006
Software Factories desde itasca
Estoy hablando de las fábricas de software. En particular de la propuesta de Jack Greenfield y Mauro Regio que han venido desarrollando y pronto se integrará por completo en las herramientas de desarrollo de Microsoft.
De hecho, ayer por la mañana tuve la oportunidad de platicar directamente con Mauro Regio acerca del tema y me despejó muchas telarañas que traía en la cabeza al respecto. Definitivamente hay más por descubrir del tema. Afortunadamente tuve la ocurrencia de grabar la charla en mi teléfono celular así que voy a escucharla de nuevo para paladear y degustar a mis anchas.
De esta charla vendrán posts más detallados. No se desconecten.
Finito.
lunes, septiembre 18, 2006
Como niño con juguete nuevo
- Ubuntu para x86
- Ubuntu para x64
- KUbuntu para x86
- KUbuntu para x64
- Edubuntu
- Ubuntu para Mac
Por ahí recordé haber leído que primero probaramos con una versión LiveCD para comprobar que todo el HW es soportado. Asi que, Bambi es un venado y arranqué mi laptop para hacer la verificación.
:(
Una vez más. No sonido. Muda. Una laptop sin audio, no es laptop. Y me dije a mi mismo: "Mi mismo, prueba el KUbuntu". Y va de nuez. CD. Prender y apagar. Esperar. Comprobar. Y nada.... (sonido de grillo)
Por fin se me ocurrió abrir el control del volumen o más bien el front end del ALSAmixer y empecé a juguetear. Un par de ¡ah!'s y de ¡oh!'s y un ¡que wey! y finalmente conseguí tener audio. :D
Entonces sip, así si baila mi laptop con el siñor. Arranqué el Ubuntu (que trae por defecto GNOME) y ¡orales! a matar el FC4 que traía. No todo fue miel sobre hojuelas. Batallé algo con las particiones pero finalmente root mata anarquía y quedó.
De ahí empecé a conectarle mi disco duro externo, mis usb-flash y mi cámara digital. Lo único que no funcionó fue la cámara pero creo que es más bien por que no está soportada en el software de imágenes. Algo se me ha de ocurrir.
Ahorita se está descargando la versión Xubuntu, que trae Xfce como administrador de ventanas, nomás por curioso. :D
Tengo pendiente lo siguiente:
- Actualizar la distro
- Instalar el stack de Mono
- Poner un player chido (¿Banshee?)
- Configurar un podcatcher
- Instalar VMPlayer y hacer una imagen de Windows
- Y lo que se me ocurra esta semana...
En la ofi, se me ocurre instalarlo en mi HP xw4300 Workstation, pero ¿qué creen? ¡No funciona el teclado! Me encontré este post en los foros de soporte de Ubuntu, pero lo probaré mañana.
Finito.
miércoles, septiembre 13, 2006
CONSOL 2006: Frentes Políticos del Software Libre
Beatriz es una activista del Software Libre, es miembro de la Fundación Vía Libre en su natal Argentina y también de la Fundación del Software Libre de América Latina.
La conferencia que impartió Bea, me hizo reflexionar acerca de lo importante que es la participación de todos los sectores, aún los tradicionalmente más alejados de la política, en estos temas de legislaciones y cabildeo. A partir de ese día, se ha inflamado de nuevo mi convicción y fe en el software libre y me gustaría ver más avances aquí en México al respecto.
La idea de publicar el audio de la conferencia es compartir este discurso motivador para replantearnos de nuevo nuestra postura ante las acciones que desarrollan las grandes corporaciones (no solo Microsoft) en lo relacionado con la propiedad intelectual de la ciencia y tecnología, cuestiones en las que los países en vías de desarrollo debemos estar muy atentos.
Finito.
lunes, septiembre 11, 2006
Letargo forzado y una vez más: Windows Vista
Hoy por fin pude darme tiempo de leer todos los blogs, feeds y mail lists que tenía pendientes y me ha llevado alrededor de 4 horas e infinidad de temas que se han escurrido de las manos.
Una referencia a una nota que me ha motivado dejar este forzado letargo me llegó desde bink.nu. A resumidas cuentas cuestiona si el desarrollo de Windows Vista ha dejado ver que el modelo de Microsoft para construir software ha llegado a un límite que lo pone en riesgo en contra de sus competidores (léase especificamente Linux).
Obviamente, es de pensarse. Desde el anuncio de la existencia de Longhorn y su variadas características que dejarían atrás a cualquier sistema operativo, se han venido haciendo discretos anuncios en los que se van removiendo varias de esas mejoras que se prometieron. El retraso en presentar versiones accesibles al público y las demandas de mejoras de hardware también han ido restando emoción a esta nueva entrega.
Aún y así, la demanda de las versiones Beta y RC han sobrepasado las estimaciones originales que se hicieron y tal parece que a la fecha no existe más números de serie para realizar instalaciones de las versiones de prueba.
Pero, ¿realmente vale la pena actualizarse a Windows Vista?. El primer obstáculo es el precio. Anteriormente ya comenté lo desorbitante (desde mi particular perspectiva) que me parecen los importes anunciados. Basta pensar que el costo de la versión Ultimate es casi equivalente a casi siete barriles de petróleo. Y falta agregar las compras adicionales para conseguir un equipo que consiga hacer funcionar las nuevas características si no es que se requiere considerar la compra un equipo completamente nuevo.
En casa, la PC con Windows la usamos para:
- Navegar en internet
- Preparar tareas escolares
- Extraer imágenes de la cámara digital y organizarlas
- Escuchar música y...
- Jugar :D
en este caso particular ¿cuál es la ganancia? Con alguna distro más o menos moderna puedo resolver 4 de los 5 requerimientos que tengo que cumplir. El 5° requerimiento no me parece más que una maldición heredada de las reglas de la oferta y la demanda y aún así, he encontrado un mecanismo para conseguir hacer funcionar mis juegos bajo un ambiente no-Windows.
En la oficina el escenario es diferente. Tenemos acceso a equipamiento más reciente y las últimas versiones de los productos, al menos en el nivel central. ¿Qué va a suceder en el interior de la República donde terminan los equipos con un cierto nivel de obsolescencia? ¿Que va a pasar con los equipos Pentium con 64 MB de RAM y un disco duro de 6 GB?.
El contrincante más mentado es Linux, pero, a mi gusto, tampoco es la solución al menos desde la perspectiva del escritorio. Tal vez en un ambiente de infraestructura (servidores de correo, autenticación, resolución de nombres, etc) sea una opción muy viable, no sin algunos retos mayores (migrar un mailbox Exchange de 7 Gb) pero seguramente alcanzable.
Ahora, ¿por qué pagar tanto por un sistema operativo que no cumplió con las expectativas que creó? Debieran tomar en cuenta eso a la hora de hacer el pricing.
Desde el punto de vista del modelo, también se presentan algunas dudas ¿cómo es posible que Microsoft no consiga cumplir todas las expectativas aún y cuando se nos presente como una empresa con recursos casi ilimitados? ¿cómo es que el modelo Open Source sigue desarrollando una competencia directa? no solo en sistemas operativos sino en otros varios rubros.
No tengo la respuesta, pero la muestra de que el modelo va a cambiar son las recientes iniciativas de Microsoft en otros campos que inicialmente poco tienen que ver con el software. Los esfuerzos que han venido haciendo en un reproductor portátil multimedia (vs iPod), teléfonos celulares, consolas de juegos y algunos dispositivos personales de acceso a internet me hacen pensar que están buscando afianzar el negocio en otras ramas ya que alcanzaron el límite en lo que a desarrollo de software se refiere.
Seguramente de las ganancias inconmesurables van a financiar estas iniciativas. En lo personal me molesta pensar que de la inmoral explotación del mercado sigan obteniendo ganancias.
Finito.


