Anotaciones de diversos temas relacionados con código abierto, metodologías de desarrollo y programación con Ruby on Rails
jueves, agosto 17, 2006
Reunión Mensual de la Comunidad .NET
No se vale decir que no sabían. Ya están avisados.
Finito.
Nuevo CTP: ADO.NET vNext
- Administración de Estado
- Resolución de Identidad (¿cómo diferencias a un objeto de otro dentro de una BD?)
- Seguimiento de cambios
- Manejo de entidades definidas en tablas separadas.
- Mapeo de tablas con jerarquías, tablas con clases y tablas por tipos (¿acaso no es lo mismo?)
- Mapeos condicionales
- y más...
En el blog del equipo de ADO.NET se encuentran ya varios posts al respecto de esta entrega.
Finito.
CONSOL 2006
También se cuenta con varios invitados internacionales que se han encargado de impartir ponencias y participar en talleres así como de las conferencias magistrales a la par de varias participaciones de conocidos personajes locales.
Solamente del día de hoy salen un buen número de temas que se han de estar publicando en los posts siguientes. No se desconecten.
Finito.
viernes, agosto 11, 2006
Nueva Herramienta: Sandcastle
Para más información, visiten el blog de Sandcastle
Finito.
Hands On Labs para Web Service Software Factory
Es una práctica obligada para cualquier persona interesada en el tema de software factories.
En el mismo post, Don hace una observación acerca de las relaciones de herencia en las clases parciales, una nueva característica de C# que nos permite definir una misma clase en más de un archivo de código fuente cuyo uso más notorio ha sido en los formularios en los que tenemos en dos archivos distintos la misma definición del formulario: en uno la parte que crea Visual Studio y en otro la que nosotros vamos completando con el código de los eventos y definiciones locales. Para más referencia pueden consultar los siguientes artículos:
- Visual C# Developer Center: Partial Types
- Create Elegant Code with Anonymous Methods , Iterators and Partial Classes
- Tipos parciales en C#
Finito.
jueves, agosto 10, 2006
Todo cambia... ¿para bien?
La semana pasada tuvo lugar el evento Lang.NET Symposium 2006. Un foro auspiciado por Microsoft para conocer acerca de diseño de lenguajes, implementación de compiladores y construcción de herramientas enfocadas a la plataforma de código administrado (léase .NET).
Obviamente hubo participación de gente de Microsoft: Anders Hejlsberg, Paul Vick y Mike Barnett entre otros. Obviamente estuvo Miguel de Icaza y curiosamente los tres personajes más influyentes en la integración de .NET y Ruby: Wilco Bauwer, John Lam y John Gough.
De esta mezcolanza de filosofías, implementaciones y lenguajes, John Lam fue entrevistado por Sam Ramji quién participa en el Laboratorio de Open Source que incluso tiene su portal propio: Port 25. Ahí encontrarán la serie de entrevistas que hicieron a John Lam y John Gough. Interesante lugar éste de Portal 25. Incluso tiene una sección de podcasts y se ve que la comunidad está creciendo rapidamente.
En lo particular me da gusto ver esta apertura por parte Microsoft si bien seguramente tiene un trasfondo más comercial que colaborativo, este enfoque es mucho mejor y más pasable que aquellos infames documentos Halloween.
Finito.
domingo, agosto 06, 2006
Más acerca de las iluminaciones...
De inicio encontramos el blog de Wesner Moise, que trabajaba en el equipo de desarrollo de Excel y ahora dedica su tiempo a su start-up en Inteligencia Artificial. En este post Wesner transcribe una charla con Miguel en relación al tema e introduce el comentario acerca de los lectores de blogs. Por otra parte encontramos a Joe Beda, actual empleado de Google y ex-empleado de Microsoft donde trabajaba directamente en el equipo de Avalon. De su post, dos frases me impactan de sobremanera (otra vez traducción libre asistida por WordLingo):
- Un ciclo de entrega de más de cinco años no puede verse más que como la señal de que algo está horriblemente mal.
- Cuando estaba en [el equipo de] Avalon hablábamos acerca de construir el API por los siguientes 10 años.
¿Por qué mi insistencia acerca de ser más críticos con la oferta de Microsoft? La primera vez que escribí sobre esto fue en Febrero de 2005, tienen la liga para una lectura más detallada pero incluyo lo que creó que es el punto más importante:
Estamos a meses de que se libere una nueva versión del .NET Framework, hasta donde he visto, vienen algunos cambios radicales. Lo importante es que seamos capaces de tener una actitud crítica y objetiva acerca de esta nueva oferta de herramientas de trabajo. ¿Realmente nos hace más productivos? ¿La manera como nos guían nos lleva a mejores resultados? ¿Ganan ellos y ganamos nosotros? ¿o se trata de otra relación histórica del ganador y el perdedor?
Si bien suena muy agresivo, no debemos de bajar el nivel de cuestionamiento. A la fecha ya se han detallado más las nuevas API's y hasta donde conozco las otras (Windows Communication Foundation/Indigo y Windows Workflow Foundation) me parece que han hecho un esfuerzo real, valioso, productivo para incluir lo que realmente se está necesitando en el ámbito de interoperabilidad y colaboración. Sin embargo en lo relacionado a presentación, WPF/Avalon no es lo que necesitamos.
¿Qué necesitamos entonces? Herramientas que nos hagan más productivos y que estén al alcance de la mayoría de los desarrolladores, económicamente y conceptualmente. No más gurús y sabihondos de "manual" o privilegiados comerciales. No más sesiones específicas de capacitación. No más .....
Hace varios años aparecía en DDJ un anunció de un producto "X" que decía más o menos lo siguiente:
Me pagan por desarrollar aplicaciones, ahora con [Producto X] gano el doble.
El fondo del anuncio era que el Producto X conseguía duplicar la productividad del desarrollador, de ahí el aumento en su ingreso. Me gusta mi trabajo y de igual manera busco como aumentar mis ingresos o el tiempo que paso con mi familia o alguno de mis intereses. ¿WPF/Avalon conseguirá aumentar mi productividad?
Finito.
jueves, agosto 03, 2006
Acerca de iluminaciones...
Acabo de tener una realización hoy.
Avalon de Microsoft es el J2EE de GUI APIs.
Es la manera de Dios de castigarnos por substituir los diez mandamientos por el capricho del patrón del diseño.
Tendremos que esperar un par de los años por herramientas “Rails”. Los programadores mientras tanto pagarán sus pecados.
Avalon marca el final del sueño americano.
Si bien WPF no es mi interés ni mi fuerte, hace un par de semanas leí el libro Professional WinFX Beta y desde antes, al revisar los primeras entregas de Avalon siempre pensé que no parece ni remotamente sencillo. ¿Dónde quedó el clásico Hola Mundo? Esa introducción sobre simplificada a un lenguaje de programación.
Miguel hace una equivalencia directa con J2EE, la especificación "empresarial" de tecnologías Java. J2EE es una bestia inmensa que puso fuera del alcance de la gente la programación Java. Solo unos cuantos iniciados y gurús fueron capaces de entender los intrincados hilos, tejes y manejes de toda la parafernalia de acrónimos que se crearon con J2EE. Tal es el tamaño de la bestia que la comunidad Open Source se embarcó en una guerra no declarada para crear herramientas que cumplieran con el principio KISS y devolvieran el control a los buenos desarrolladores.
¿Pasará lo mismo con las nuevas API's de Microsoft? ¿Será el llamado a la comunidad de desarrolladores para concientizarnos y ser críticos de las nuevas ofertas de Microsoft? No podemos ser simples consumidores. Debemos esforzarnos en reconocer lo bueno de ésta oferta, por que sí lo hay, pero también ser críticos y levantar la mano donde realmente no estén facilitándonos la vida.
En la comunidad Open Source nacen pocas, pero significativas innovaciones. Sin embargo la tecnología se refina de una manera inimaginable gracias a la participación de varios individuos de todas latitudes. Mientras más se comparte, mejores resultados se obtienen.
Finito.
lunes, julio 31, 2006
Descarga gratuitamente MSDN Library Mayo 2006
Esta es la versión que se puede instalar directamente en la PC y consultar cuando lo desees, entre los detalles más novedosos se incluyen lo siguiente:
- Visual Studio 2005 Team Foundation Server
- SQL Server 2005
- Microsoft Knowledge Base
- Internet Information Server SDK
- Internet Security and Acceleration SDK
- ... y más!
Siempre es bueno tener a la mano la Library instalada, especialmente cuando no tienes acceso a internet o éste es limitado.
Finito.
domingo, julio 30, 2006
Liberada la Web Service Software Factory
A diferencia de las anteriores entregas, Smart Client y Mobile Client, esta fábrica esta circunscrita precisamente a Web Services, un elemento más familiar que permite desplazar el foco de atención al funcionamiento mismo de la fábrica.
Indudablemente este concepto de producción masiva automatizada requiere de más estudio para conseguir aprovechar los beneficios que pregona y sobre todo de conseguir la personalización para cada usuario y/o proyecto en el que se utilice, así que he de dedicar algunas horas a conocer más y probar profundamente esta entrega.
Finito.
sábado, julio 29, 2006
Reunión Mensual de la Comunidad .NET en el DF
Sin embargo lo mejor estaba por venir. En la agenda publicada figuraba el nombre de Raúl Guerrero que inmediatamente me sonó familiar debido a las participaciones en los podcasts de Carlos Madrigal. Me entró la inquietud de conocer a la persona detrás de los comentarios así que al final de la reunión me acerque y me presenté directamente con Raúl. Grande fue su sorpresa y alegría al enterarse de que soy podescucha de Carlos y de él mismo. Y comentamos varias cosas hasta que tuve que despedirme. También para mí fue muy grato conocerlo y ver que si importa la retroalimentación de parte de los lectores y podescuchas de esos esfuerzos.
Hace un momento, leyendo los mensajes del día de la lista de Mono Hispano visité una de las ligas en la firma de los mensajes y grande fue mi sorpresa al encontrar que Iver también es podescucha de Pozo Técnico y SuperNeurona.
De aquí la reflexión de lo importante que son estos esfuerzos de compartir conocimiento y experiencias en tu idioma y además de una manera tan amena. Reciban desde aquí un caluroso abrazo y felicitación.
Finito.
lunes, julio 17, 2006
Laboratorios Prácticos
Es similar a lo que se usan en los cursos de certificación pero con esteroides.
En particular este conjunto de laboratios se enfocan al CAB, que es uno de los Application Blocks más esotéricos que han liberado (a mi gusto). Te presenta varios temas, desde los WorkItems pasando por la distribución ClickOnce hasta extender el mismo CAB.
A lo largo de los laboratorios es notable el uso de la técnica IoC/DI tan famosa ultimamente. En el caso de .NET la mayor parte se hace decorando mediante atributos los objetos que participan en la DI. En el fondo... muy en el fondo se encuentra ObjectBuilder, el componente que se encarga de hacer posible la DI y que también se usa en la Enterprise Library.
Notas acerca de PartnerApi
Hace algunos posts publiqué que estaba construyendo un API para encapsular las llamadas a las funciones del API de AppExchange. He tenido algunos lentos pero seguros progresos y ya conseguí devolver una lista de objetos encapsulando la llamada al método query() de AppExchange. Ahora estoy planeando los siguientes métodos para completar el conjunto de operaciones ABC (Alta, Baja, Cambios) en PartnerApi.
Estas son las firmas de los métodos que se van a implementar:
- Insert(sObject) => (1)
- Insert(IList sObjects) => (m)
- Update(sObject) => (1) update by Id
- Update(IList sObjects) => (m) update by Id
- Delete(sObject) => (1) delete by Id
- Delete(criteria) => (0..m) delete by condition
- Delete(IList sObjects) => (m) delete by Id
La idea es tener siempre una versión que afecta un solo objeto (1) y la versión que afecta varios objetos (m). En las operaciones de Update y Delete es obvio que se puede establecer una relación directa con el objeto que se va afectar mediante el uso de Id. En el caso de la operación Delete se añade el caso adicional donde especificamos la condición que debe cumplirse para eliminar el objeto de la BD de AppExchange.
También falta por construir un método de conversión de un PartnerApi.sObject a un AppExchange.sObject. Es decir, se consulta a AppExchange y nos devuelve una colección de sObjects en su formato nativo. En PartnerApi se expone una clase que encapsula de una manera más natural los atributos de la clase y ahora se requiere un método que la regrese a su formato original, algo así como AppExchange.sObject => PartnerApi.sObject => AppExchange.sObject en donde cada => se debe entender como conversión.
Finito.
viernes, julio 14, 2006
¡Microsoft Virtual PC ahora es gratis!
En una máquina virtual tu puedes hacer y deshacer pagando una pequeña penalidad de desempeño. La instalación no te la quitas de encima y si estás instalando alguna versión de Windows, todas las actualizaciones a la fecha. Pero al final tienes un ambiente para ejecutar todos las liberaciones Betas sin preocupaciones ni conflictos.
La principal oferta en este aspecto la venía haciendo VMWare, que ofrece toda una línea de productos orientada a la virtualización de equipos soportando una variedad de sistemas operativos (Windows, Linux, Solaris, Vista). Y hace medio año aproximadamente, lanzaron un producto, VM Player para simplemente ejecutar máquinas virtuales creadas con cualquiera de sus productos. En el ambiente Open Source también se ha apostado de alguna manera por este concepto y ofrecen (Fedora/RH en particular) un kernel llamado Xen que muchos critican por que no una virtualización total.
A todo esto, Microsoft tambien le entró a la onda de la virtualización adquiriendo una compañia, raro ¿no?, que se estaba abriendo paso y con los fondos virtualmente ilimitados de Redmond terminó convirtiendos en Virtual PC junto con su hermano mayor Virtual Server. El éxito del producto fue moderado aunque puedes ver a la maoyría de los expositores Microsoft hacer uso de este producto en sus demostraciones y exposiciones.
Realmente es genial poder encender una máquina de pruebas juguetear (thinker around) en nuevas herramientas y sistemas operativos sin tener que darle en la torre a tu equipo de todos los días. Adios a los temores de las BSOD, a los reformateos y conflictos en las instalaciones.
En lo particular he disfrutado más de VMWare. Se me hace más maduro, eficiente y portable. También he probado VPC y ahora con la característica de gratis va a inundar el mercado. VPC es lento, no es tan portable (cuando me refiero a portable se trata de lo siguiente. Crea una máquina virtual en la oficina, aprovechando la banda ancha descarga y aplica todos las actualizaciones. Copia esa VM a tu disco duro externo, llegas a casa, arrancas tu VPC y ¡nada! no funciona, cosa que no sucede con las VM de VMWare) pero es gratis. ja.
¿Quién podrá explicar como es que con la piratería, las demandas y las multas de la UE, Microsoft se da el lujo de tomar este tipo de decisiones?
Finito.
miércoles, julio 12, 2006
López vs. López
Desde el inicio del programa se tocaron las notas del día relativas al inconcluso proceso electoral. Una nota muy personal, con nombre y cara fue la relacionada con el supuesto embarazo de urnas electorales en Salamanca, Guanajuato. El presidente de la casilla, estudiante de ingeniería y maestro de secundaria, rechazó categoricamente que el hecho tuviera el sentido que le ha querido dar el equipo de López Obrador. La representante de la Coalición por el Bien de Todos resumió en una frase su posición: "Si hubiera estado mal no hubiera firmado". Más adelante AMLO declara que si fue posible comprar votos, seguramente fue posible comprar representantes.
Ya en el enfrentamiento, López vs. López, López Doriga "El Teacher" lanzó el primer jab con una sección de la visita de AMLO al estudio en el cual declaró categoricamente que sería respetuoso del resultado de la elección. Del dicho al hecho, hay una respuesta digna de los mejores púgiles: "Voy a respetar la democracia y el 2 de julio no hubo democracia". Palabras más, palabras menos. Señala una vez más que fue una elección de estado, que si bien hubo una extensa participación ciudadana, también se aplicaron los métodos de la vieja escuela para revertir los resultados de la elección que declarar convencido haber ganado. "Gané y es mi palabra".
"El Teacher" siguió aplicando ataques a las zonas sensibles sin conseguir mucho éxito. AMLO dió muestra de la experiencia y tozudez propia de su estirpe. Una de las partes que más dió emoción al encuentro, fue la sútil descalificación, impropia de AMLO, de López Doriga. "Tu opinión es muy respetada pero no la comparto". En otras palabras: nada de lo que digas importa, sé que vas a tirarme a matar y no me voy a dejar.
El segundo revolcón lo consiguió AMLO al replicar sobre el asunto de la casilla de Salamanca. "Cualquiera que ha sido funcionario de casilla..." fue el inicio de la réplica de López Obrador. López Doriga solo pudo esquivar saltando al tema de la impugnación en el cual por más que "El Teacher" se lanzó a matar, AMLO se aperró, perdón, aferró a que no pretende invalidar la elección. No soy abogado y este es una de los momentos que quisiera serlo.
El cierre fue una pregunta directa: "¿respetará López Obrador el veredicto del TRIFE cuando ya anteriormente se comprometió a acatar el resultado del IFE y no lo hizo?". Dice que sí. Yo no le creo.
Finito.
jueves, julio 06, 2006
La victoria de la derecha
Se terminó finalmente el conteo de las actas en los Distritos Electorales y resulta que el candidato de derecha, Felipe Calderón consigue llevarse por un mínimo margen la mayoría quedando en segundo lugar el candidato de la izquierda Andrés Manuel López Obrador.
Este conteo, al contrario de lo que la mayoría cree, es el proceso formal y previsto para determinar el número de votos otorgados a cada candidato. No es el resultado de atender ninguna petición, ningún reclamo. El siguiente paso es entregar los resultados obtenidos al Tribunal Electoral para que sea éste órgano el encargado de otorgar la constancia de mayoría al candidato ganador.
Es ilusorio pensar que al ir corroborando las cuentas no se fue haciendo la suma de los votos. Tal es que tenemos al resultado previo, no oficial, que nos señala lo que ya conocíamos pero que la oposición se ha pertrechado en desconocer. La victoria de la derecha. Sin embargo en un afán incongruente con lo manifestado anteriormente, la izquierda pretende impugnar el resultado del conteo. Están en su derecho aunque definitivamente lo están haciendo con el mínimo de responsabilidad.
AMLO ya ha convocado a un mitín el próximo sábado ¿para qué? Es imposible descifrar el motivo de fondo. Lo único que consigue es agitar el polarizado entorno existente y confundir al mal informado (al fin y al cabo, mayormente hijos de López Obrador) pueblo mexicano. Le encantan los escenarios al Sr. López Obrador, mejor debiera ser conductor o actor.
Esperemos a ver cuales son en detalle las denuncias que van a realizar. Seguramente proporcionarán un gran tramo de tela donde cortar.
Finito.
miércoles, julio 05, 2006
¡Ya'stuvo! ¡Ya'stuvo!
Ya cree mi primer Team Project con la plantilla MSF Agile y me creó el bonche de WorkItems... solo falta que recuerde que sigue... a revisar los apuntes del Workshop que tomamos a principio de año con el buen Beto Borbolla.
Después de esto, me tomé un momento de relax viendo los anuncios de Apple. Si bien toda la vida (laboral) he usado PC con algún SO de Microsoft, también he visto como han ido desfilando las diferentes variedades de equipos de Apple, algo que siempre han tenido en común ha sido el magnífico diseño. Los únicos que se han esforzado para aplicar algo de diseño ha sido Sony con su línea Vaio. De ahi en fuera pura consumer design.
En otros temas, sigue el conteo en los Distritos Electorales. En este recuento sigue llevando la delantera el candidote AMLO. Sin embargo la fuente que consulto bien claro agrega la siguiente leyenda:
¿Esperan acaso un milagro? ¿o están planeando alguna táctica descontadora? En lo particular no me agrada en lo más mínimo ver que AMLO llega a la presidencia. Ahora todas las víctimas del sistema van a reclamar lo que les corresponde por su condición ¿? No sabía que tener la desgracia de carecer de recursos te hace dueño de los beneficios que creamos una mediana parte de la sociedad. Deja me declaro en bancarrota y me convierto en un desprotegido hijo de López Obrador.
Finito.
Puras fallas
Sigo con el ejercicio de instalar VSTS no sin algunos desaciertos. Hoy impetuosamente me decidí a terminar la instalación y agarré mi disquito y me senté. Embriagado de contento inicié el clásico next, next, next para encontrar con el primer error: SQL Server no tenía activado el acceso a conexiones TCP/IP ¿¿¿??? ¿qué pex?
En el mismo impetuosismo, instalé originalmente una versión de evaluación de SQL Server 2005, así que asumo que por su naturaleza no debieras usarlo como se debe usar y pues viene con esa característica desactivada. No problema. Vas al SQL Server Configuration Manager y le aplicas el cambio.
Agarras el mouse y empiezas de nuevo: next, next, next... ¿y qué crees? ¡nnnoo! pus si... Otro error :-( Ahora resulta que el collation no era el correcto. Bien dicen RTFM pero no, ahí vas con el "next, next, next". Pues resulta que debes tomar en cuenta lo siguiente para seleccionar el correcto collation (son puros "no's"):
- No soporta Accent Insensitive
- No soporta Binary ni Binary2
- No soporta Case Sensitive
Bueno, entonces ¿qué si soporta? Case Insensitive + Accent Sensitive y por si las moscas, púchale los check boxes pa'que soporte Hiragana/Katakana.
Pero lo tenía incorrecto, ¿cómo lo configuro al correcto? No pus ya te fregaste.... Bueno al menos es solo una prueba, pa'eso son, pa'regarla. Desinstalo SQL Server y ahora hago lo que debí haber hecho desde el principio.... Instalo el SQL Server 2005 con su licencia. Next, next, next...
Ahora otra vez con el VSTS... next, next, next.... ¡Oh! ¡no problema! Todo va excelente hasta que llegas a una ventana del wizard que dice: Service Logon Account ¡Chale! Pus le pongo la toda-poderosa-cuenta.... ¡Pelas! Nanay, no puedes usar la cuenta con que estás instalando.... Otra vez al pinky manual... ¡orales! Necesitas al menos otras dos cuentas de dominio TFSSERVICE y TFSREPORTS y si quieres verte chido, también TFSPROXY.....
Pus orale... a solicitarlas y a sentarme a tomar el fresquito del aire acondicionado.....
Finito.
[OFF-TOPIC]
Lo cuatitos de iBATIS liberaron hoy la siguiente versión en Beta de la versión .NET que entre otras cosas incluye el soporte a la versión 2.0 del framework ¡orales!
domingo, julio 02, 2006
A la cama sin un ganador
A muchos les podrá parecer un esfuerzo por maquillar las cifras. Pudiera imponerse un resultado mediante maquiavélicas maniobras. Un escenario más para confirmar lo que a gritos ha venido anunciando la oposición: una elección de estado.
Ésta es mi segunda elección presidencial en la que participo como votante. Y he de reconocer muchos cambios, desde mi confirmación derechista y conservadora, muy distante de la izquierda radical que en mi temprana juventud manifesté. Pero el cambio que más me sorprende es la incertidumbre, la real indefinición que flota en el ambiente.
En este momento estoy escuchando al candidato de la izquierda, AMLO, que anuncia que aunque ha manifestado que respetará la decisión de las instituciones, se declara ganador debido a la información que posee. Ofrece convocar a un acuerdo nacional que involucre a todos los individuos y organizaciones. Una invitación franca según su dicho.
Sin embargo, el IFE tendrá que emitir el resultado final. Y a eso tendremos que atenernos todos los mexicanos (y mexicanas, claro).
Para mí no me queda clara la real tendencia de esta elección como dije anteriormente. Sin embargo, me parece saludable y se me antoja que le da un alto grado de confiabilidad al proceso de elección en si mismo.
Ahora estoy escuchando al candidato de la derecha, Felipe Calderon, que en su declaración anuncia el mismo sonsonente que su principal contrincante: somos ganadores. La supuesta ventaja son los resultados arrojados por diferentes encuestas de salida levantadas por empresas contratadas ex-profeso. Defiende sus resultados, remarca su victoria. Comparte sus felicitaciones a los gobernadores electos de su partido. Hace un breve esobozo del camino a seguir su gobierno.
Finalmente escuche el comentario del líder del PRI el cual pide que se respeten los tiempos definidos por el IFE. Ya sabe que se le avecina una tormenta. La caída total del partido. Ojala que recuperen lo bueno de lo perdido.
Esto sigue sin cerrarse.
Finito.