Mostrando entradas con la etiqueta Microsoft. Mostrar todas las entradas
Mostrando entradas con la etiqueta Microsoft. Mostrar todas las entradas
jueves, 25 de noviembre de 2010 by Ernesto
Primero el Disclaimer: La herramienta a la que le tengo mas cariño y con la que he sido mas productivo es Borland Delphi (ahora Embarcadero, pero la que yo conocí era de Borland), dicho esto pasemos al grano.

El titulo del post proviene a razón de la ultima sesión de Mad.Nug en la que Jorge Serrano compartió su experiencia sobre las posibles acciones a tomar cuando se tienen aplicaciones en Visual Basic 6 y existe la necesidad/presion/requerimiento de migrarlas a .Net, la sesion fue muy explicativa, recordandonos cuales son los puntos donde hay mas incompatibilidades y las posibles opciones:

- Herramienta de migración automática
- Entorno mixto (Microsoft Interop Forms Toolkit 2.1 y wrappers)
- Empezar todo desde cero.

De acuerdo a su experiencia (corrígeme si te estoy referenciando mal, Jorge) debería procurarse por la ultima opción (en ese sentido Jorge facilito un buen enfoque para acometer esos proyectos), y estar alertas ante el riesgo de que una solución puntual como un entorno mixto crezca y pierdas el control.

Si bien comparto la idea de que hay casos en que no queda otra que proceder de esa manera, creo que esa decisión tiene que ser sopesada teniendo en cuenta criterios como: cantidad de lineas de código existente, dependencia de terceros, disponibilidad de conocimiento funcional, etc... en ese sentido se sintió la falta de cubrir posibles estrategias de cuando se ha decidido ir por el camino de la migración (que igual se hace para algunas aplicaciones, dejando el resto a un rehacer desde cero).

Bueno, a lo que iba, como parte del camino de un rehacer desde 0, Jorge planteo que había que procurar migrar hacia C# en lugar de hacia VB.Net, ¿por qué? es lo que nunca me queda claro, salvo por un hecho (mencionado en la reunión) que es la mayor disponibilidad de recursos en Internet para C# que para VB.Net, pero fuera de ello el acceso hacia el Framework de .Net es básicamente el mismo (salvo excepción que contare luego), por lo que también en la conversación con los asistentes se dejo caer que con C# se es mas ordenado y se encamina hacia las buenas practicas, por lo que ya entramos a un tema de preferencias y es a donde quería llegar.

Admitamoslo, por sus propias características en Visual Basic 6 era muy muy fácil desarrollar con malas practicas y que el código spaghetti generado sea muy difícil de mantener, pero si una cosa tiene Visual Basic .Net es que significo una ruptura sin pasos intermedios con respecto a VB6 a fin de volverlo OOP y compatible con el nuevo Framework (*), y por lo tanto mucha de la laxitud inherente al viejo VB6 ya no existe, es un buen lenguaje OOP y muy valido para aprovechar los conocimientos de sintaxis propios de Basic: Dim, as, Next, End..., el problema gordo es la herencia de mala imagen que lastra el lenguaje, asi que explicar a un manager que seria menos traumatico continuar con VB.Net en vez de C#.... complicado, triste realidad.

Siendo así creo que solo hay dos razones no personales para optar por desarrollar un proyecto en C#:
- Es muy critico contar con todos los recursos de documentación disponibles para un tema en concreto, que lamentablemente en su mayoría están en C# (p.ej. hay casi tres veces mas info para Generics en C# que para Visual Basic).
- Te ha tocado acceder a una parte del Framework que expone justamente un tipo de datos existente en C# pero no en Visual Basic.Net, eso me paso con la versión 1.1, no se si lo habrán solucionado, pero ... queda como alerta.

En contraparte tengo algunas razones de productividad para seguir usando VB.Net siempre que puedo:
- Detección automática de algunos errores y de su corrección, esa potencia de mostrarte un subrayado en algunos errores de sintaxis es de veras de agradecerse, y lo mismo con el hecho de que si compilas y saltan errores no tienes que recompilar para ver si has corregido bien o no, conforme vas corrigiendo tu pila de errores se reduce.
- No sensible a las mayúsculas/minúsculas, esta característica va de la mano con lo anterior, si defines bien una variable (usando Camel y Pascal case adecuadamente) y luego la invocas, el hecho de que se te auto corrijan las mayúsculas y minúsculas es una señal inmediata de que no te has equivocado al invocar el nombre de dicha variable.
- Las instrucciones (begin..end..next..) son mas claras que las llaves ({}) para poder hacerse una idea del ámbito de un bloque de código.

Dicho esto, como desarrollador he venido a conocer ambos lenguajes, pero lo fundamental es el Framework, siendo que el saber C# me ha facilitado acceder a ciertos recursos no existentes para VB.Net, pero que luego a la hora de implementar no he vacilado en aplicarlos sobre proyectos en VB.Net, así que es bueno saber ambos, pero uno no debería de inhibirse y proponer el uso de VB.Net en los proyectos.

Pero algo se me quedo dando vueltas ya desde la sesión a propósito de eso de que C# te ayuda a ser mas ordenado (o algo así), y a esto se sumo el comentario de uno de los asistentes comento que ellos tenían una aplicación grande en VB6, basada en COM+/MTS, hecha según las recomendaciones que daba Microsoft por entonces para el desarrollo en COM, lo cual me hizo retroceder a la época en que este diagrama salia en toda presentación de arquitectura y diseño de aplicaciones alla por el final de los 90s:


Pongámonos en contexto, para el lanzamiento de Visual Basic 6, ya había un gran parque de aplicaciones en VB4 y VB5, pero la fama del "DLL Hell" ya era muy fuerte, así que Microsoft emprendió una campaña muy intensiva para explicar el concepto de desarrollo de aplicaciones distribuidas, las ventajas del multicapas en la mantenibilidad de las aplicaciones, etc etc... conceptos que ahora son el pan de cada día en los objetivos de los diversos proyectos actuales, fueron recien conocidos para muchos gracias a Microsoft, y la verdad es que en ese entonces Microsoft se preocupo mucho en hacer pedagogía de las buenas practicas, tan así que en los cursos de certificación se hacia énfasis en lo que hay detras de la instanciación de objetos en COM para de esa manera impulsar formas mas ordenadas de programar, y lo bueno de todo es que esa pedagogía era de manera no agresiva, planteándola como una evolución de las aplicaciones que habia en desarrollo entonces, a fin de que los programadores mejoraran sus practicas frente a la fama de caos, o sea se pugnaba (por entonces) un cambio evolutivo en las formas de hacer las cosas apoyándose en lo que los desarrolladores ya conocían, lo cual condujo a que los partners serios si que hicieran aplicaciones buenas y solidas usando VB6.

Para bien o para mal todo cambia con la introducción de .Net, que como ya hemos indicado en este y otros posts vino a ser un ruptura muy fuerte, en la que sobrevivía el que tenia mejor las bases de OOP y/o Windows DNA. Claro, ya lo peor paso (salvo las app VB6 que se resisten a morir) y la cosa esta mas o menos estabilizada, salvo por la nueva tendencia del famoso patron SOLID, sobre el cual ya comente que tenia mis dudas sobre si facilitaban la mantenibilidad de las aplicaciones, pero que en todo caso hay que entenderlas y saber como y cuando aplicarlas, siempre sin dogmatismos.

Y es justamente que ahora los dogmatismos se hacen presentes, pues en lugar de introducirnos progresivamente a las nuevas "buenas practicas" se nos pide que ya no usemos ni Windows Forms (aunque si, podríamos pasar a WPF) ni Windows Forms, diciendonos que "no es testeable" "no permite xxx principio" de buenas a primeras sin mostrar evolutivamente como mejorar el código que estamos desarrollando, de ahi a lo que dije en un twitt reciente: Si nos explicasen las pruebas unitarias con ejemplos basados en multicontroles, eventos y mantenimientos, igual las adoptariamos #digonomas (o este otro), digo eso porque la mayoría de las aplicaciones corporativas de uso interno (no portales de contenido) terminan siendo eso y no los clásicos ejemplos de calculadoras o números perfectos, así que seria bueno que los planteamientos de difusión sobre TDD o SOLID partan de un enfoque evolutivo y no rupturista (dando cobertura tanto a VB.Net como C#) a fin de lograr una mejor adopción.

A ver si no llega alguien por aquí diciendo que he "perdido el punto"... xD

(*) Y si, sigo creyendo que muchos traumas se hubieran evitado si al hacer .Net (y C#) se hubiera mirado lo que tenia VB6 a fin de hacer la ruptura menos dolorosa.
sábado, 30 de octubre de 2010 by Ernesto
Casi a hilo de lo que comentaba en el anterior post, hace poco Jorge Serrano publico Cada vez que migras una línea de código de VB6 a .NET se muere un gatito en el mundo, interesantisimo post que vale la pena leer pues resume muy bien los dilemas, actitudes,creencias erróneas y decisiones que se acometen cuando se tienen aplicaciones en Visual Basic 6 y se piensa el migrar a .Net como una opción a considerar.

Me detendré poco en el tema de la discusión de si migrar si o migrar no, pero en mi modesta opinión creo que los criterios de discusión deberían girar alrededor de (entre otras) estas preguntas:
- ¿Qué tan diferente son los procesos de negocio de la organización de como eran cuando la aplicación fue construida?
- ¿Son los algoritmos técnicos de las aplicaciones aun validos para los procesos de datos?
- ¿El esfuerzo de "entender" la aplicación actual y documentar la especificación de la nueva es mayor que el de la "simple" migración? (Cuando no queda nadie del equipo original)

Llegados a nuestro escenario "pues si, necesitamos migrar esa aplicación pues ya cada vez es mas difícil mantenerla y vamos a migrar de plataforma..... " hay que plantearse las cosas de como acometerla, no tanto desde el punto de vista técnico, que para eso hay suficiente información en Internet, sino mas bien de cuales serian los pasos razonables para lograr el objetivo de una migración exitosa.

Con esas miras puestas, la experiencia que he tenido recientemente me llevan a plantear dos pequeñas metas antes de la migración en si:
- Reducir todo lo que se pueda la cantidad de lineas a migrar.
- Reducir y aislar los comportamientos críticos no migrables.

Cuando hablo de reducir la cantidad de lineas a migrar, parto del hecho de que es mas que probable que la aplicación a migrar hay sufrido modificaciones durante su tiempo de vida, lo cual haya ocasionado que métodos o clases que antes eran invocados se hayan convertido en código muerto, y reducir ese código muerto antes de la migración deberá ser uno de los principales objetivos que debamos de plantearnos, puesto que es preferible saber de antemano que código ya no es invocado (y eliminarlo/comentarlo) que matarnos en hacer que funcione para luego saber que ... sorpresa.. sorpresa... era código muerto.

El tema de los comportamientos de lenguaje no migrables ("As any", redimensionamiento de arrays ...) es complicado, por lo que creo que es conveniente, en la medida de lo posible tomar las acciones para reducirlos antes de la migración y si eso no es posible marcar dicho código como problemático.

Ahora bien, estos son objetivos loables, pero lamentablemente difíciles de conseguir con las herramientas de Microsoft "out of the box", que si que el Code Analysis de VS .Net nos facilitara el encontrar las referencias "muertas", pero lamentablemente el tener una información completa de este tipo solo sera posible cuando el código migrado compile sin errores, pero claro... volvemos a lo mismo podemos pasarnoslas divertidos corrigiendo código para luego descubrir que ese código no era invocado en ningún lugar.

Entonces queda claro que el análisis de dependencias es critico, y lamentablemente no queda sino recurrir a herramientas de terceros, concretamente he estado probando Project Analyzer con resultados muy interesantes pues ademas de encontrarme con la opción de encontrar todo el código muerto, me detecto todos las porciones de código que requerían migración manual.

Así pues, creo que el contar con una herramienta de ese estilo (he mencionado Project Analyzer, pero igual podría ser alguna otra) cobra un importancia muy especial en esta clase de proyectos, ya que permite cubrir los dos primeros objetivos señalados y llevando de rebote una ventaja adicional: darnos cuenta, mediante el análisis de dependencias de que porciones de código no compatible como llamadas a la API de Windows, podrían ser reemplazadas por código .Net.

Ese análisis e identificación de codigo critico seria un primer paso, de ahí vendrían los siguientes:
- Refactorización, si, se puede, y nos ayudara a tener nuestro código heredado mas legible.
- Preconversión de código no migrable a código migrable, donde sea posible y se sepa que se seguirá usando luego de la migración.
- Migración en si, ya sea usando Visual Studio o una herramienta de terceros, y de ahí las sucesivas iteraciones para estabilizar el producto hasta el nivel deseado (reemplazo de ADO por ADO.Net, eliminación de los Interop....)

Es obvio que este proceso iterativo por lo que no conviene dar un paso nuevo hasta que no se sepa que la nueva versión sigue haciendo lo que hacia antes, de ahí la importancia de tratar de acometer la mayoría de los cambios posibles antes de la migración en si.
lunes, 18 de octubre de 2010 by Ernesto
Pues si, ya han pasado poco mas de 10 años en que .NET fue anunciado (recordemos que antes era llamado NGWS), por lo que ya tendría poco sentido hablar de su predecesor, pero la experiencia de volver a tener que lidiar con VB6 me ha hecho volver a reflexionar algunas cosas...

Primero situémonos en el contexto, VB6 fue lanzado durante 1998 he incluía mejoras como: ADO 2.0 (un enésimo santo grial en la unificación de los modelos de acceso a datos), WebClasses, mejoras en el soporte a COM e integración con MTS; con todo no fue un modelo rupturista y las empresas entusiastamente dieron el salto desde VB5 (versión que por primera vez libero a VB del p-code permitiendo compilar en modo nativo).

Todo bien excepto algunos detalles.... como la herencia, lo cual le hacia ser denostado como un lenguaje no totalmente orientado a objetos, palideciendo en ese sentido ante sus rivales: Delphi y Java. Admitamoslo, durante buen tiempo los fans de VB actuaron con la política de la zorra y las uvas, diciendo que la herencia no era totalmente necesaria, y pregonando la potencia de las interfaces para lograr el polimorfismo. Aun así Microsoft decidio explorar por el lado de una OOP sin las complicaciones del C++, y el resultado fue Visual J++ 6.0 el cual tuvo problemas con Sun, por lo que el producto no tuvo tanto éxito, aunque si que me he topado con un cliente en el cual había herencia de su uso.

Visto ese escenario, para principios del 2000 se rumoreaba sobre lo que seria el inminente ASP+ y el NGWS (Next Generation Windows Services), pero Microsoft sorprendió al mundo cuando en Julio anuncio a .NET, C# y el hecho de como el nuevo VB.Net seria un lenguaje totalmente orientado a objetos, luego vendrian las primeras versiones beta de Visual Studio .Net, sobre cuyo primer contacto ya me he explayado.

Como ya he comentado mi adaptación como desarrollador al nuevo entorno fue fácil, gracias a la base OOP proveída por Delphi, así como a las buenas practicas de los cursos de certificación, pero eso no impedia que mantuviera un ojo en los problemas que se iban a presentar en la transición de VB6 a VB.NET....

Estos cambios venian dados por dos lados: cambios en el lenguaje y cambios en el Framework (de COM a .NET) y ambos eran muy agresivos, tan asi que dos respetados gurues de la época dieron su explicación (muy acalorada por cierto) de porque VB.Net era un nuevo lenguaje (para ellos peor) y no una evolución de VB6:

Karl E. Peterson: VB Fred, A Marketeer's Worst Nightmare
Bruce McKinney: The End of Hardcore Visual Basic

Sugiero dar un vistazo a esos artículos y a los enlaces ahí contenido para entender la magnitud de los cambios, y si bien luego las cosas no fueron tal como se pintaban en la beta, los cambios si que son muy rupturistas e intentar asumir una migración es algo de veras intimidante.

He realizado migraciones de aplicaciones .NET de la version 1.0 a 1.1 y de la 1.1 a la 2.0 y se puede decir que el camino es mas o menos controlado, pues el lenguaje siempre es compatible hacia atrás, y si bien el Framework evoluciona, dejando algunas tecnologías obsoletas (como Remoting) siempre se puede recompilar en una versión superior, siendo que los potenciales problemas están por el lado de:

- Dependencia de una librería de terceros, cayendo en esta categoría el Enterprise Library, el cual si que tuvo cambios que obligaban a modificar el codigo, problema no presentado en una libreria comercial como Dundas.
- Necesidad de apuntar a una plataforma especifica (como x64 o Itanium), lo cual sumado a lo anterior da para pruebas y comprobación de entornos.
- Alguna cosa que compile, pero que en ejecución falle, son pocas pero las hay, aunque siempre se pueden controlar añadiendo un mayor control de excepciones.
- Cambio de estructura de proyectos, como en el caso de los Servicios Windows, pero se soluciona creando el proyecto desde cero e inyectando progresivamente las clases y métodos necesarios.

En resumidas cuentas, un camino que puede ser mas o menos pesado dependiendo de cuan complejo sea el proyecto, pero en el cual siempre hay vías de hacer que la migración funcione.

Planteemoslo de otra manera, ¿para 2002 habían en producción aplicaciones en VB5 o VB4? Lo dudo sinceramente, el punto de quiebre fue VB5 y como comentaba la migración de VB5 a VB6 era totalmente transparente, salvo (como de costumbre) en la dependencia de algún control de terceros.

Osea, que para migrar dentro de versiones de VB.NET o de Visual Basic "clasico" los caminos han estado mas o menos marcados y eran controlables, pero... para migrar de VB6 a VB.Net... ahi es otra cosa.

Como mencionaba lineas arriba los cambios vinieron por dos frentes: cambios traumaticos en el lenguaje y reemplazo del framework basado en COM por uno basado en .NET. (los dos primeros capitulos de este libro pueden dar una vision de los cambios), si le sumas esto al hecho de que cuando Anders Hejlsberg acometio el desarrollo de .Net, decidió crear un nuevo lenguaje C#, e hizo muchos de los diseños del CLR y el CLI sin tomar en cuenta las particularidades (ya muy usadas por los desarrolladores) de VB, esta claro que lidiar con los cambios seria una tarea harto compleja, cito el libro arriba mencionado:

The Decision to Break Compatibility

When did Microsoft decide to break compatibility with Visual Basic 6? It was actually in early December 1999, during the development of Visual Basic .NET. Until that time, Visual Basic .NET was being developed to support the notion of “Visual Basic 6 sourced” projects that allowed you to edit and compile Visual Basic 6 projects in Visual Basic .NET. These projects would have a compatibility switch turned on, meaning that the language would be backward compatible with Visual Basic 6 and would even have access to the old Visual Basic 6 forms package.
By the end of 1999, it was obvious that this strategy wasn’t working.
Little differences were slipping through: The old forms package could not be fully integrated into .NET, and the Visual Basic 6 sourced projects could not use some of the new features of the .NET platform. At that point Microsoft made the decision to break compatibility and instead concentrate on ensuring that people could upgrade their projects from Visual Basic 6 to Visual Basic .NET.


En fin, es cierto que muchos cambios (de lenguaje) eran inevitables y demandados por la comunidad de desarrolladores: soporte de herencia, excepciones y threading, pero esta claro que Microsoft pudo haberlo hecho mejor en algunos aspectos (de hecho, parte de las criticas de los gurus arriba citados van por el lado de que algunos cambios no eran necesarios para hacer a VB un lenguaje OOP) como la gestión de los arrays, no forzando a tener que hacerlos basados-en-zero y si por el contrario permitir que su gestión de limites sea equivalente a la de VB6.

Entonces esa es la situación a la que llegamos cuando sale al mercado Visual Studio .Net 1.0, el gap del Framework y el lenguaje es tan grande que solo proyectos triviales son susceptibles de ser migrados a .NET, para lo demás muchas veces es mejor hacer el proyecto desde 0, o sino... seguir manteniendo y parchando el código en VB6 hasta que se decida tomar la decisión de migrar (pues ya se sabe lo que dicen las gerencias "Si funciona ¿para que tocarlo?", claro, es así como el COBOL no muere). La dura realidad es esa, que las organizaciones se han quedado con un parque de aplicaciones para un lenguaje/plataforma que ya no evoluciona y si bien ahora se cuenta con una buena herramienta como el Artinsoft Visual Basic Upgrade Companion, la verdad es que en todo proyecto complejo nos toparemos con situaciones como estas:

- Las inevitables llamadas a la API de Win32, ya no funcionan, y no hay forma directa de hacer un cambio que permitan la recompilacion.
- A revisar todos tus arrays para estar seguro de su comportamiento.
- Replantearte como gestiona el ciclo de vida de tus objetos.
- Los controles y clases tienen otras propiedades, no hay equivalente directo en .NET para algunas clases de terceros y la importación (wrapping) no siempre es segura.

Previo al lanzamiento de VS.Net, algunos articulistas pedían que saliera una ultima versión de VB basada en COM que facilitara la transición y/o introdujera algunas mejoras a VB6, la verdad es que mire de lejos esas peticiones, claro... estaba entusiasmado por el giro a OOP que no mire la complejidad que estoy narrando, pero ahora luego de estos 10 años de .Net (contando desde su primer anuncio y Beta) creo que si que Microsoft debió intentarlo y proveer esa herramienta a fines del 2000 o principios del 2001 a fin de que hubiera un punto intermedio en el camino desde VB6 hacia .Net, lo cual me lleva a la pregunta planteada como titulo de este post....

Personalmente yo hubiera excluido la herencia como caracteristica de un VB 6.5, implementarlo es complejo y el problema radica en como gestionar caracteristicas usadas en las aplicaciones hechas en VB 6 para que funcionen luego en .NET, siendo asi, VB 6.5 debería haber tenido (como anticipo al cambio en .Net):

- Soporte dual para arrays con limites libres y basados-en-zero. Si MS seguia terco en lo de no permitir los limites libres, la compilación debería permitirlo pero indicar que esa característica estaba "deprecada" y no soportada en futuras versiones.
- Fin de las propiedades por defecto de los objetos.
- Eliminación del tipo Variant.
- Cambio en el ámbito de la visibilidad de las variables.
- Uso obligado de paréntesis en las subrutinas.
- Ofrecer un mecanismo de llamadas a la API Win32 cercano al uso que luego tendria DLLImport, pero respetando (temporalmente) la mayoría de los hacks que se tuvieron que hacer para trabajar con dicha API.
- Opcional: soporte para try..catch..finally
- Únicos cambios en el IDE: Encontrar todas las referencias, herramienta imprescindible ahora para una adecuada inspección del código, y un compilador que devuelva una lista de errores y no uno por uno.

La idea de esto seria que los desarrolladores acometieran ciertos cambios sin retorno, sin todavía decirle adiós a COM, para de esta manera tener hechos los deberes en el grueso del lenguaje, quedando (en teoría) cambios menores en el lenguaje y "solo" adaptarse al .Net Framework.

Si Microsoft hubiera hecho esto, a estas altura no habria esas aplicaciones en VB6 que se resisten a morir, haciendo a VB6 el nuevo COBOL, pues eso es lo que esta pasando... un nicho de aplicaciones que persisten mas alla de su ciclo de vida.

Y tu ¿que característica le hubieras puesto a un VB 6.5 todavía basado en COM?.
miércoles, 16 de diciembre de 2009 by Ernesto
Bueno, ya tocaba luego de estar en la fiesta de El Bruno compartir mis experiencias con Windows 7 Ultimate x64.

Antes que nada debo de comentar de que hubo dos razones por las que opte por la version de 64 bits: estar cansado de tener 1 GB de memoria totalmente muerto de risa debido a las limitaciones de direccionamiento de memoria de los sistemas operativos de 64 bits, ademas con que contaba con usar el "Windows XP mode" por lo que un poco mas de memoria seria de mucha ayuda.

Ya he contado lo que tuve que hacer cuando cambie de placa (no de procesador, ojo) y reinstale Windows, por lo que solo debo indicar que a estas alturas habia reemplazado un disco de 320GB (!con dos particiones!) por uno de 1.5 TB en una unica particion, el cual destinaria fundamentalmente para datos y archivos grandes.

La instalacion fue sencilla, no tuvo ningun problema en trabajar con soporte AHCI y copiar los archivos del nuevo Windows.

El unico problema fueron los drivers, en cuanto a video ATI habia sacado drivers compatibles con Windows 7 para mi Radeon, con la advertencia de que por limitacion de hardware no usaban toda la potencia de la ultima version de DirectX. Pero el principal inconveniente fue de que Asus no ha sacado soporte Windows 7 para la P5E WS Professional, por lo que he debido de usar las versiones Vista 64 para la tarjeta integrada de red, asi como para audio (aunque en esto me detendre luego).

En contrapartida debo decir que no hubo necesidad de instalar nada para que reconozca ni mi Scanjet 3570c HP (comprado el 2003) ni mi antena Bluetooth.

Todo operativo y funcionando, a excepcion del sonido al cual tuve que dar muchas vueltas hasta que decidi usar los drivers Windows 7 proveidos por Realtek y no por Asus, aun asi tuve que hacer varios intentos para que me funcionaran los parlantes Creative 5.1, pero una vez logrado esto no he vuelto a tener problemas.

La verdad es que estaba algo asustado, pues igual no alcanzaba un buen rendimiento con un chip Core2Duo de 2.1 Ghz del 2006, con memoria de 833, hardware que al dia de hoy dista mucho de lo ofrecido en el mercado. Al final resulto que el comportamiento es mucho muy bueno, aun aplicaciones complejas corren sin problemas y teniendo mas de una abiertas.

Ya que hablamos de aplicaciones, toca hablar de MP3Gain, la unica de las aplicaciones que uso habitualmente que no corrio en 7, ¿la razon? En Windows 7 no se ha introducido soporte para COM, lo cual descarta tambien a aplicaciones como el controvertido Visual Basic 6.

Este "problema" con MP3Gain me obligo a adelantar un paso que ya habia considerado desde el principio: el uso de Windows XP Mode, la razon original para ello era para solventar la razon por la que no migre a Vista: la potencia de la version 9 del Windows Media Player, biografias, reviews e identificador de canciones.

Para instalar Windows XP Mode solo toco bajarse el componente respectivo de la web de Microsoft, instalarlo y lanzarlo desde el boton de inicio, asi es, sin necesidad de instalar el sistema operativo dentro de una maquina virtual nueva, total sencillez y transparencia.

El resto fue sencillo, instalar el MP3Gain dentro del XP Mode, verificar que le faltan algunos Common Controls, descargarlos y listo... . Y claro que el Windows Media Player 9 corre bien dentro de la maquina virtual.

Asi pues, luego de reconfigurar mis aplicaciones he visto que la performance es muy buena, y me he vuelto adicto a la nueva barra de trabajo con sus miniaturas de las aplicaciones corriendo, nunca habia sido tan facil cambiar entre aplicaciones.

No todo es color de rosa, asi que toca comentar lo que me ha costado un poco mas adaptarme:

- Un Media Player menos potente que el 9, pero eso ya lo sabia de antemano y como ven lo he podido arreglar con el uso del XP Mode. Ojala algun dia Microsoft reincorpore en el WMP las cosas buenas que tuvo dicha version.
- Un buscador de archivos mas dificil de usar, en teoria ahora se incorpora una indexacion de archivos mas poderosa que la de versiones anteriores, el problema es que ahora pasar parametros de busqueda es muy complicado, de momento no he podido acotar la busqueda a un rango de fechas, solo decirle si fue creado/modificado antes o despues de una unica fecha dada, y si queremos a eso añadir una restriccion de tamaño, mas dificil aun, siendo que esta caja de dialogo te daba toda la potencia necesaria en tus busquedas:
Seguro que hay alguna forma de hacer lo que busco, pero es curioso que siendo este nuevo SO efectivamente mas sencillo de usar, haya por ahi "algo" en el que se da un paso atras.

Ahora solo resta esperar que vayan saliendo mas y mas versiones de nuestras aplicaciones en version 64bits, para asi hacer aun mas optima la gestion de memoria. Pero nuevamente, estoy muy satisfecho con el hecho de que no he tenido que actualizar nada de mi equipo de 3 años para que Windows 7 trabaje razonablemente rapido y sobre todo muy pero muy estable.
lunes, 14 de diciembre de 2009 by Ernesto
Cuando uno llega a una situacion u opinion es porque ha recorrido un camino previo, nadie te ha teletransportado ahi, solo que a veces nos olvidamos de dicho camino.

Concretamente debo referirme a la predileccion como desarrollador que tengo para con la plataforma .Net, el porque termine ahi y lo prefiero frente a Java ... tiene su historia.

Luego del paso obligatorio por Pascal, C/C++, COBOL tocaba enfrentarse a las herramientas de desarrollo "real", con la que se hacian las cosas en las empresas, y sobre todo, las que permitian desarrollar para Windows. Tuve ocasion de hacer un curso de Gupta SQL Windows, el cual me dejo un mal sabor de boca.

Es por esa epoca que tambien me expongo ante Visual Basic 4/3, se comenta algo sobre Java, pero aun no recuerdo el como y porque (creo que lo que lei por ahi) termino en mi casa haciendo experimentos con Borland Delphi 1 y fue quedar seducido por la propuesta hecha: un poderoso lenguaje Orientado a Objetos, con una interfaz que cogia lo mejor de los conceptos drag and drop popularizados por Visual Basic.

Pero claro, lamentablemente en Peru Delphi era un lenguaje casi de "culto", por lo que urgia revisar las cosas que iban apareciendo en el mercado y una de esas cosas fue algo que me comentaron a poco de terminar mi primera Feria del Hogar: un lenguaje llamado Java el cual prometia traer la interaccion a la web mediante los llamados "applets", propuesta interesante la verdad, el caso es que no me pude poner a probar Java sino hasta el 97 en que pude instalar Windows 95, esto debido a que no habia opciones para correr Java en W3.11 como no sea mediante el proyecto ADK que no se en que habra terminado.

Intente darle su espacio a Java, pero entonces me topaba con unos problemas que para entonces eran criticos:
- Ausencia de un IDE lo suficientemente rapido, aun el Borland JBuilder era muy lento, siendo que aun VB (5 para entonces) era mucho mas rapido y ni que hablar de Delphi (3 y 4).
- No continuidad en el modelo de presentacion grafica, de un momento a otro se decidio que las AWT debian dar paso al modelo Swing.

El lenguaje en si no daba muchos problemas (regresaremos a esto), pues ya contaba con la base de saber C/C++, pero lamentablemente costaba mucho ser productivo, siendo que con Delphi implementar algo era relativamente simple (pero no tan innecesariamente simple como con VB). Tambien es conviente notar que como el enfoque era hacia dar "dinamismo" a la web, surgieron herramientas que proponian alejarte del codigo para generar applets (semi prefabricados) de manera mas agil, hablo de Kinetix y Jamba. Y claro, por otro lado teniamos a Kawa, que fundamentalmente era un gestor de proyectos que tras bastidores llamaba por linea de comandos al JDK.

Es asi que me volvi en uno de los pocos defensores de Delphi en Lima de esa epoca, hice experimentos con las opciones de desarrollar paginas con ISAPI, controles ActiveX incrustados, desarrollo en 3 capas mediante Midas, y claro un buen rato metido en el newsgroup non-technical de Borland asi como en ClubDelphi, circunstancias que me llevaron a conocer a Claudio Briceño (responsable comercial de Borland para Latinomaerica) quien me vino a visitar a mi trabajo de entonces, lo cual luego conduciria (gracias a la posterior coordinacion de un comunidad de Linux en el Peru) a la posterior presentacion de John Kaster en el Hotel Los Delfines para presentar los avances que hacia Borland en desarrollar Kylix un entorno Delphi para Linux, y si, ahi estoy yo... :



Luego me tocaria cenar tanto con Claudio y John a la espera de posteriores acciones que permitieran potenciar la presencia de Delphi en el mercado peruano, lo cual no logro a materializarse.

En esas circunstancias, veo que las cosas cambian, nadie habla de applets, todo se orienta hacia los servlets, y a los EJB, les doy una revision... nuevamente, cuesta hacer algo simple de manera rapida, se nos habla de que ya saldran los JSP..... Lo interesante es que a pesar de esas limitaciones Java estaba cogiendo un mayor arrastre, el cambio de lo "visual" hacia los modelos de componentes orientados a servidor habian probado ser buenos para la estrategia de Sun, ya que habia una demanda en el mercado por una solucion no atada a Microsoft, mas orientada a objetos y que fuera robusta, en ese sentido los Application Server lanzados por diversos fabricantes permitieron consolidar su posicion en el mundo corporativo.

Es en esas circunstancias que (me)ocurrieron varios eventos de manera casi consecutiva, Microsoft anuncia .NET prometiendo una plataforma totalmente Orientada a Objetos(*), soy admitido en una beca de Microsoft para estudiar VS 6 y ceso en mi trabajo de entonces.

Estudiar lo que ofrecia VS (VB + Interdev fundamentalmente) me hace ver ciertos detalles que no eran tan claros para mi, era perfectamente viable construir aplicaciones robustas con esas herramientas, pero que muchas veces la simplicidad te conducia a errores de diseño que penalizaban la performance y la mantenibilidad, siendo necesario un conocimiento serio de la arquitectura detras (algo en lo que los cursos de Certificacion enfatizaban bastante).

A pesar de haber "cambiado" de herramienta por razones de mercado, sabia que esto era algo transitorio, pues veia la fuerza que iba a arrastrar el lanzamiento de .NET, producto al que recibia con expectativas positivas debido a que el cerebro detras de esto era nada menos que Anders Hejlsberg quien habia sido arquitecto de Delphi en sus dos primeras versiones, del cual solo podria esperar que introdujera en la nueva plataforma la evolucion de las innovaciones que habian sido introducidas originalmente en Delphi.

(Para ese entonces Borland libera Kylix, el cual debo decir que nunca use)


Obviamente que apenas pude me consegui una de las primeras Beta de Visual Studio .NET, aparatoso como buena beta, ya dejaba ver que habia asumido totalmente el modelo de objetos, y por todas partes se notan los guiños a Delphi, especialmente en C# en el tema de la gestion de eventos, comprendi entonces que me encontraba ante una herramienta potente y sobre todo que introducia la programacion RAD y orientada a eventos al desarrollo Web, algo tan simple y a la vez potente era algo por lo que los desarrolladores habiamos estado esperando buen tiempo. Pero lo mas importante era que todo lo aprendido sobre OOP en Delphi se aplicaba directamente en la nueva plataforma, y a estas alturas creo que mi transicion fue mucho mas simple que si hubiera venido solo procedente de VB6, lenguaje que con todo lo flexible que era, te enmascaraba muchos detalles los cuales no te permitian una total potencia en el desarrollo.

Para cuando llegue a España ya habia experimentado con la Beta 2 (y una pre-Beta2 no lanzada masivamente pero que me fue facilitada en Microsoft Peru), por lo que seria cuestion de tiempo que me terminara involucrando en proyectos de .NET como ha sido hasta la fecha, incluyendo examenes de certificacion en el interin.

Han pasado los años y es gracias a CampusMVP que me entero de unos articulos de Ian Marteens(al cual ya habia leido por 1999) en los que se hacen interesantes comparativas entre Java y C#, enterandome de que la implementacion de los Generics en C# es mejor que en Java, pero confirmando algo que ya habia intuido en mis primeras peleas con Java: su implementacion de eventos es penosa, ya que como el mismo Marteens dice "Los diseñadores de Java eran personajes que odiaban los punteros, y nunca hubiesen aceptado implementar los eventos al estilo Delphi. De hecho, ni siquiera tuvieron en cuenta el soporte para eventos cuando crearon Java". No vieran el alivio que tuve al leer esto, durante mucho tiempo creia que era yo quien podria estar haciendo algo mal cuando trate de implementar cosas en Java, pero como se puede ver en esta serie de articulos, hay errores (llamalos caracteristicas si quieres) en la implementacion del lenguaje, y era algo que alguien que provenia del entorno Delphi podia intuir, pero es bueno saber que hay bases formales para entender las ventajas de un lenguaje (lenguaje, no plataforma, esa es otra guerra) sobre otro.

Como digo, es un camino el que me ha traido hasta aqui y ese camino empezo con la experimentacion de Delphi, herramienta que a pesar de no trabajar con ella en años, no puedo sino recordar con cariño y agradecimiento por las bases que me dejo.

(*)Recordemos los fuertes ataques que recibia VB por no incluir algo tan simple como la herencia.
viernes, 2 de octubre de 2009 by Ernesto

Sin duda Steve Ballmer ha hecho sus meritos para llamar la atención desde que asumió mayores responsabilidades en la dirección de Microsoft como lo evidencian estos conocidos videos


 

Y este un poco menos conocido:

Así que seguramente los admiradores de Steve estarán contentos de saber que existe Windows 7 Steve Ballmer Edition, como se puede ver en la foto.


 

Al parecer esta especial versión de Windows 7 (ya hubo una de Vista, pero fue una Bill Gates Edition) está siendo distribuida a quienes (como El Bruno) salieron elegidos para organizar una Fiesta de Lanzamiento de Windows 7, asi que de ser así ya les estaré contando mas detalles, y con suerte alguna foto del nuevo souvenir de El Bruno.

martes, 25 de agosto de 2009 by Ernesto
La razon de la pregunta es que hoy al revisar Slashdot, me entero de como Microsoft Polonia altero via Photoshop una publicidad standard de la empresa para de esta manera colocar la cabeza de una persona blanca ahi donde el original usaba una persona negra.



Para quien no lo sepa, periodicamente Microsoft actualiza su catalogo de fotografias y cliparts para publicidad e imagen corporativa, distribuyendolo a sus filiales y resellers bajo unas condiciones que incluyen: No alterar el contenido original, No usarlo junto con publicidad para otras empresas.

En ese sentido es muy raro que la sede polaca haya decidido hacer dicha alteracion, ¿razones de mercado?, en todo caso han actuado en contra de las propias reglas internas de Microsoft y la jugada les salio mal, probablemente pensaban que de esa manera estarian mas cerca a la demografia de su pais, pero si ese era el caso ¿Por que no elegir otra fotografia del amplio catalogo de Microsoft?.

Actualizacion Al escribir el post original me olvide indicar que en ese momento el site polaco ya mostraba la imagen original y no la retocada, siendo que ahora Microsoft ya se ha disculpado por lo ocurrido.
jueves, 16 de julio de 2009 by Ernesto

Al parecer la decisión de Microsoft de no incluir a Internet Explorer en la distribución de Windows 7 para la Unión Europea, traerá unas consecuencias indeseadas como el hecho de que las nuevas PCs que vengan con Windows Vista no podrán ser actualizadas al nuevo sistema operativo, debiendo hacerse en consecuencia una instalación limpia, con los consiguientes inconvenientes que eso puede ocasionar al usuario inexperto (perder su configuración, tener que instalar todo de nuevo, perder sus datos por si se le ocurre borrar todo por error).

La razón para esta situación es que como Internet Explorer está profundamente integrado con Vista no es posible realizar una actualización que a la vez elimine a Internet Explorer.



Lo curioso del caso es que había estado viendo en la página de Dell, planes que ofrecían el upgrade futuro a Windows 7 si uno compraba ahora un equipo con Windows Vista (y mas extrañamente aun, se ofrece previo pago la opción de hacer el downgrade a XP), como comentaba el articulo los OEMs están planeando soluciones que pasan por entregar brochures para hacer el upgrade, pero personalmente todo esto lo veo como una contradicción a algo que analizaba en Febrero a propósito de una recomendación de Microsoft de hacer ya el upgrade de XP a Vista puesto que eso facilitaría la adopción de Windows 7, con esto un administrador de sistemas en Europa la tendrá complicado, pues hacer un upgrade de XP a Vista, para luego hacer una instalación limpia (desde 0) de Windows 7, como que no tiene mucho sentido.

Esto de la integración del browser con el sistema operativo si que trae cola, por lo que no puedo sino coincidir con lo que dice Daniel Rodríguez Herrera en esta nota: "Al margen de las consecuencias económicas que pueda tener este movimiento (el anuncio del Google Chrome OS) para Microsoft, a corto plazo sí debería servirle de argumento frente a las autoridades antimonopolio, por más que éstas no atiendan a razones sino a conveniencias de los competidores de la empresa fundada por Bill Gates. Si Google anuncia un nuevo sistema operativo que consiste en poco más que en un navegador, ¿cómo es que Bruselas obliga a Microsoft a no atar Windows con Internet Explorer? ¿Tiene acaso bula Google, que va a tener el navegador tan integrado con el sistema operativo que incluso se llamarán igual?". Efectivamente Microsoft tendría toda la razón para pedir que a Google se le mida con el mismo baremo que se le ha medido en los últimos años, invocar que Google no está ofreciendo libertad al usuario de su sistema operativo para que elija su browser, etc etc…

Al final creo que lo que falta es nuevamente un debate técnico sobre lo que debe corresponder a la arquitectura de un sistema operativo, y que es lo que debería ser periférico, y por mucho que se hayan agregado librerías comunes en versiones pasadas de Windows, o que ahora Google quiera que el browser sea una capa mas por encima del kernel (¡de Linux!!), conceptualmente no tendría que ser así, ahora que comercialmente.. el papel aguanta todo. Pero aun así no me imagino que los futuros estudiantes de los cursos de teoría de Sistemas Operativos, tengan que (en adición a procesos de memoria y gestión de archivos) estudiar la arquitectura de un browser, ni a Tanenbaum actualizando sus libros para incluir a los browsers.

miércoles, 15 de julio de 2009 by Ernesto

Ha pasado aproximadamente un año desde que Bill Gates dejara su rol a tiempo completo en Microsoft, y por lo visto ha estado bastante ocupado en la filantropía y proyectos como el del sistema diseñado (pero no testeado) para frenar huracanes, pero la coyuntura es justo la adecuada para que en CNET le hagan una interesante entrevista, donde habla acerca de:

Su pasión por poner disponible al público las Conferencias de Física de Richard Feynman, lo explica así: "Yo estaba en una etapa (hace 20 años) donde para aprender nueva ciencia pensé que sería divertido ver que películas habían, fuimos a los catálogos de algunas universidades, incluyendo la de California (Caltech) , había películas de salud, biología, física ..… muchos interesantes pero esas conferencias que Feynman dio en Cornell… esas eran solo increíblemente buenas….. Siempre tuve en mente que era una especie de crimen que no hubiera una amplia disponibilidad de ese material, especialmente para la juventud que piensa acerca de la ciencia…. Hice ciertos avances quien tenía los derechos, y eventualmente firme acuerdos por los derechos, luego hice que esas cosas fueran escaneadas y que luego Microsoft Research accediera a alojar el material y crear software innovador alrededor de ficho material.

Espero que alguien que enseña ciencia se inspire en lo que Feynman logro hacer interesante sin sacrificar la profundidad de cómo funciona.

Desde quinto año hasta la graduación, la mayoría de estudiantes no están motivados en aprender mucho en general, y particularmente acerca de ciencia y matemáticas. El gran impacto lo dan las cosas que puedan ayudar a los profesores a hacer un mejor trabajo, donde los profesores puedan ver lo que otros profesores están haciendo súper bien, o que ellos puedan incorporar algún material online dentro de la experiencia de clase ….. Ahí es donde Feynman con su claridad y simplicidad de explicación, el amor a los temas, y humor alrededor de él es ejemplar."

Chrome OS (lo cual era inevitable): "Existen muchas muchas formas de Linux disponibles, empaquetadas de distinta manera y que arranca de diferente forma. Así que yo no sé nada en particular acerca de lo que Google esta haciendo. Pero en cierta forma estoy sorprendido en como la gente está actuando como si hubiera algo nuevo. Me explico, tienes a Android corriendo en Netbooks; tiene un browser dentro. En cualquier caso tu deberías hacer que ellos sean más concretos acerca de lo que están haciendo. Es típico, cuando Google está haciendo algo es así: mientras mas vagos (imprecisos) son es más interesante. …… (Pregunta: Creo que hay la idea, y se de que Microsoft Research ha estado observándola también, de que ya que el browser se ha vuelto muy central a mucho de nuestro trabajo, necesita tomar mas de las características de un sistema operativo) Parece que la palabra browser se ha vuelto realmente en una palabra sin significado, ¿Qué es un browser? ¿Qué no es un browser? Si estás viendo un video ¿es o no un browser? Si estas tomando apuntes ¿es un browser o no es un browser? ¿Si estas editando texto es un browser o no? En buena parte es más un abuso de la terminología que un cambio real."

Natal y como Microsoft sigue innovando: "La parte de Microsoft que yo sigo más frecuentemente es tal vez el grupo de investigación. Yo estuve en los laboratorios de Cambridge unas semanas atrás, en el laboratorio de la India como parte de un viaje que hice este mes, y esa es realmente la joya de la corona en términos de alimentar con cosas nuevas a Microsoft, comentare un emocionante ejemplo de eso, veras lo rompedor que es, en menos de un año esto… los sensores de profundidad de las cámaras…. No solo para juegos, sino para consumo de medios como un todo.. si se conecta una PC para interactuar en términos de reuniones, colaboración y comunicación, pones la cámara y ahora es una cosa excitante, es solo un ejemplo donde Microsoft Research hizo el trabajo original para mostrar que con información de profundidad algo grande podía hacerse. Entonces los chicos de Xbox y los chicos de Windows lo metieron en sus productos y ahora desde que hicieron eso la idea de cómo puede ser usado en la oficina esta volviéndose más y mas concreta y es muy excitante. Así que Microsoft es una compañía innovadora, pero obviamente en un entorno hipercompetitivo, que es lo que hace genial este mundo.

(Pregunta: Creo que no entendí su última afirmación, está hablando acerca de cámaras, ¿está hablando acerca de las cámaras con sensores de profundidad que hay en Natal) Si, exactamente, Natal. Las librerías de software y aplicaciones que estamos desarrollando alrededor de Natal."

Definitivamente, Bill Gates no ha perdido de vista la evolución de la tecnología y seguiremos oyendo hablar de él, para pena de muchos.

domingo, 14 de junio de 2009 by Ernesto

Bueno, al menos en Europa, todo como consecuencia del marcaje al que viene siendo sometido Microsoft en la Union Europea, en donde todavía hay procesos pendientes.

Pero claro la Comisión Europea no esta conforme, indicando que el usuario todavía tendría que instalarse un browser, planteando de que deberían ofrecer varias opciones junto con el sistema operativo.

Personalmente, creo que partiendo de una premisa razonable (el tener un browser pre cargado limita la competencia) se esta pidiendo algo absurdo. Tratemos de hacer memoria (juro de que no recurri a la Wikipedia para esto):

EL año 1995 sale a la venta Windows 95, una de las cosas que MS había estado hablando desde sus versiones preliminares era el lanzamiento de Microsoft Network, una red privada que supongo pretendía competir con Compuserve o AOL, lo curioso es que ese lanzamiento pilla a Microsoft en un entorno en el que el boom de Internet había empezado (inolvidable el Trumpet, el Gopher y el Mosaic sobre Windows 3.11 en los laboratorios de Fisica), asi que a pesar del éxito de ventas que tiene dicho Sistema Operativo, Microsoft de una manera de veras rápida realiza un giro interno y decide apostar por Internet (quedan descartados proyectos como un editor de contenidos para MSN), consecuencias de dicha operación de manera inmediata:

  • Lanzamiento (de muy bajo perfil) de Internet Explorer 1, no recuerdo si fue incluido como parte del paquete Plus! Pero fue por esa época.
  • Compra de una empresa llamada Veermer para hacerse con un producto llamado FrontPage.
  • Lanzamiento de Internet Information Server 1 sobre Windows NT 3.x
  • Lanzamiento de un add-in para Microsoft Office 95, de tal manera que sea posible cierta creación de contenidos Web.

Ya que hablamos de Microsoft Office, toca decir que cuando se lanza Windows 95, Microsoft había logrado en 2 años hacerse con el dominio de mercado de las aplicaciones de oficina, si bien anteriormente a Office 4.2 las aplicaciones se peleaban dentro de cada categoría (procesadores de texto, hojas de cálculo… ) la integración que ofrece esta suite va a provocar que los usuarios quieran todo el paquete completo, en vez de buscar por posibles campeones dentro de cada categoría. Así que cuando toca renovar el Sistema Operativo, Microsoft viene con el paso siguiente, una nueva versión destinada solo a Windows 95, como recordaremos fue un éxito pero también debemos recordar que Microsoft no tuvo necesidad de instalarlo por defecto dentro de Windows, aunque sí que tuvo alguna pelea con IBM cuando este intento vender sus PCs (si, en esa época IBM aun vendia PCs) con su suite ofimática por defecto (en la que había sustituido el ágil Ami Pro por un más pesado WordPro).

1996 fue de veras un año en que las cosas se sucedieron rápidamente que no podría atinar con el orden : IE 2 (la PCWorld lo distribuyo en un diskette!!), Netscape Gold/Atlas 2.x 3.x, Windows NT 4, Windows 95 Service Pack 1 (también en un diskette), pero ya hay algunas cosas que empiezan a definir la situación de Internet por parte de Microsoft:

  • Lanzamiento de Internet Explorer 3, esta vez si que se le dio cobertura en los medios, incluía una interfaz grafica de veras atractiva y lo más importante, empezaba la costumbre de incluir mejoras "no standard" en el HTML como el infame document.all, lo cual nos va a causar serios problemas a los desarrolladores Web en los próximos años.
  • La distribución sin mucho escándalo, de PCs OEM en las que la versión de Windows 95 era la OSR2, este version tenía como características el hecho de que no podía descargarse por Internet y que venía de serie con Internet Explorer 3. En esa época el querer tener un Windows más estable, nos hacia buscar la manera de conseguir esa versión de Windows.

1997 fue un año también divertido, pues si antes habían ocurrido escaramuzas ahora ya nos encontrábamos de pleno en la "guerra de los browsers" con el lanzamiento de Netscape Communicator 4 e Internet Explorer 4 (además del lanzamiento de Office 97 que tiene como novedad al controvertido Outlook), era un buen tiempo se hablaba de las tecnologías push y pull (de las cuales nadie se acordó luego), de creación de contenidos dinámicos (Coldfusion, Intrabuilder….) , en todo caso la maquinaria mediática de Microsoft fue más eficiente además de que a pesar de su rápido crecimiento Netscape no era gratuito todavía y no tenia presencia en todos los países como para gestionar una aparición en medios de manera efectiva.

1998 es cuando el liderazgo de Microsoft se hace incuestionable en la guerra de los browsers, a lo que se suma el lanzamiento de Windows 98, el cual viene a incluir de serie (y de manera oficial) a Internet Explorer 4, a partir de ahí si IE no era el líder con esto ya su liderazgo se hace indudable, pero a la vez controvertido pues cada vez son más las voces que demandan por el uso monopolístico que hace Microsoft de su Sistema Operativo al incluir "su" browser, lo cual evita que el usuario final se plantee elegir o buscar algún otro, lo cual se evidencia en el hecho de que actualmente muchas maquinas con XP sigan con el Explorer 6 que vino en la instalación original.

Ya los siguientes años la cosa es más o menos conocida, dramática pérdida de cuota de Netscape, venta a AOL, IE 5, Windows 2000, Milenium, XP, IE 6, Firefox…. Y los procesos judiciales contra Microsoft prosiguen.

En este punto toca detenerse con respecto a los argumentos planteados por Microsoft, usualmente se han centrado en la importancia que tiene el browser como herramienta para el usuario, pero la mas de las veces como que es parte importante del Sistema Operativo, diciendo (en algunas ocasiones) que ha sido asi desde Windows 95, lo cual es obviamente una confusión ya que si bien en la actualidad elementos (DLLs) que forman parte del nucleo de IE son utilizados por otros modulos de Windows, eso no fue siempre asi, sino que ha sido parte de un proceso gradual que empezó en Windows 95 OSR2, y que termino de estabilizarse en Windows 2000, no antes.

En todo caso lo que ha ocurrido es que un programa extra, no propio del kernel como podría ser el Paint, el Solitario o la Calculadora, ha crecido de una manera en la que deliberadamente ha sido atado al Windows, notese que cuando instalamos una nueva versión de IE el programa de instalación no habla de esta instalación como si se tratara de un programa autónomo, sino como la actualización del Windows, ojo a ello.

En ese sentido considerando todos los errores cometidos, creo que Microsoft ha dado un paso en la dirección correcta, la funcionalidad del browser no vendrá de serie (aunque seguramente las DLLs sigan ahí mezcladas) permitiendo que el usuario se plantee elegir y no que elijan por el, lo que no es correcto es que se exija que además deba venir con los programas de la competencia listos para instalar, Office no se hizo con el mercado viniendo junto con las instalaciones de Windows (simplemente era mejor o mas balanceado la mayor parte del tiempo), y Netscape tampoco gozo de esa ventaja en su momento.

jueves, 26 de febrero de 2009 by Ernesto

A estas alturas hay suficiente entusiasmo alrededor de la Beta de Windows 7, que aun blogs criticos con Microsoft y fans de Apple y Google como ALT1040 estan hablando positivamente de dicha version, la cual tiene sus inconvenientes como el excesivo numero de versiones, pero nada…. es definitivamente refrescante el ver cuan bien va quedando el nuevo producto el cual entre otras cosas introduce el modelo “cinta” a aplicaciones como Wordpad y Paint, asi como 3 nuevos juegos.

El caso es que al final las personas y sobre todo las empresas estan decidiendo resistir y aguantar con su Windows XP, no instalar Windows Vista y esperar al lanzamiento de Windows 7, que con todo lo que tiene promete al menos dos cosas fundamentales: una mejor experiencia de usuario y un mejor rendimiento que Windows Vista.

En ese contexto es algo sorprendente lo que dice Gavriella Schuster Senior Director de Microsoft en The Windows Blog, en concreto recomienda que las empresas deben iniciar o continuar con sus planes de despliegue de Windows Vista, pues dicha accion facilitara la llegada de Windows 7.

Si, definitivamente soprendente, pues al margen del costo de las licencias, el esfuerzo tecnico de hacer dos despliegues uno tras otro seria excesivo de gestionar, en ese sentido dicho consejo no es precisamente valido.

Se menciona como factor para proceder de esa manera, la verificacion de compatibilidad de aplicaciones, y si, es cierto que las empresas deben de ser conscientes de los cambios que Vista introdujo (y que seran mantenidos en Windows 7) como la problematica virtualizacion que tantos dolores de cabeza puede dar al instalar un programa,  pero claro… el ser consciente de esa realidad y de los ajustes que hay que tener para desarrollar aplicaciones compatibles con Vista y 7, no implica tener que hacer dos despliegues consecutivos, antes bien “solo” implica tener maquinas (reales o virtuales) donde ir testando los desarrollos que se vayan haciendo.

En todo caso creo que las empresas seran lo suficientemente prudentes (mas en un entorno de crisis) y no haran caso de esta recomendacion.

Y yo.. de momento dudo si instalar Windows Server 2008 o la Beta de Windows 7.

martes, 30 de diciembre de 2008 by Ernesto
Hace unos meses decidi hacer un experimento en casa, se trataba de combinar (y asi practicar) el uso de SQL Server 2008, Windows Presentation Foundation y... LINQ to SQL. El proyecto consistia en meter en una Base de Datos el grueso de mi coleccion de MP3, sus posiciones relativas al Ranking de Doble9, y mediante LINQ (en vez de T-SQL) efectuar las respectivas consultas.

Pues si, el experimento ha funcionado bien a efectos de las consultas, no tanto a nivel de WPF, pues.... como buen ingeniero a veces fallamos en la parte de la estetica y la funcionalidad, pero el caso es que mejor hubiera sido al reves (al menos ya lo tengo todo en SQL Server) pues hoy gracias a Directions on Microsoft me vengo a enterar que Microsoft ha decidido reemplazar LINQ to SQL por el ADO.NET Entity Framework, que si.. que seguira funcionando pero no se beneficiara de las innovaciones que vaya desarrollando Microsoft.

En parte tiene sentido el movimiento, cuando empece con mis primeras pruebas una de las primeras cosas que intente fue ver si era capaz de conectarse a Oracle, lo cual... no era posible, y por ahi salian las recomendaciones de que eso debia de hacerse mediante el Entity Framework, y claro.. entre trabajar un API que solo te permite conectarte a una BD (por mas de que sea la mejor) y otra mas abierta... las cosas caen por su peso.

LINQ to SQL debuted with LINQ in the .NET Framework 3.5 in 2007. LINQ is a set of APIs and programming language features that enable data access queries to be written in programming languages such as C# and Visual Basic, rather than treated as text data. LINQ simplifies data access code and enables the developer to use the Visual Studio tools, such as the compiler and IntelliSense command completion, to help write queries. At its launch, LINQ supported a variety of data sources, including in-memory data objects and XML documents, and the Microsoft C# team had built a stopgap LINQ connector to SQL Server—LINQ to SQL.

However, when LINQ to SQL shipped, the Microsoft data access team had already begun work on the ADO.NET Entity Framework, a more general data access technology that provides LINQ connectivity to SQL Server and other database management systems, including Oracle and IBM DB2. When the Entity Framework was introduced with the .NET Framework 3.5 SP1 in July 2008, LINQ to SQL became largely redundant.
.......
Microsoft has begun publishing documentation for migrating applications from LINQ to SQL over to the Entity Framework. Migration is manual, and both application-side LINQ code and data access code might have to change. Furthermore, the Entity Framework itself is due for major changes, some designed to simplify migration from LINQ to SQL and address requests from LINQ to SQL developers. Consequently, developers who have existing LINQ to SQL applications might want to wait for the next version of the Entity Framework, due in late 2009 with the .NET Framework 4, before attempting a migration.


Creo que sera buena idea estar pendiente de las betas para saber como va evolucionando el Entity Framework, asi que ... mi experimento sigue sin terminar ;)
jueves, 6 de noviembre de 2008 by Ernesto
Hoy dia leyendo el blog de Morena me entero de una curiosa convocatoria que cito literalmente:
...se busca gente que guste de escribir o bloguear y quiera ganar una platita extra en sus ratos libres desde casa, la universidad, la oficina, etc.....La primera red peruana de blogs, es decir Blogs.com.pe está buscando personas (en especial mujeres) para ampliar y fortalecer el equipo.

Como queda claro desde su pagina principal su intencion es hacer blogs comerciales, ayudando a empresas e instituciones en el diseño e implementacion de estrategias exitosas en internet, hasta ahi todo claro, lo siguiente es ver la forma en que se logra dicho objetivo, y por lo que se ve es mediante la creacion de contenidos sindicados de carater tematico, los cuales o bien tienen publicidad de sus clientes o son creados ad-hoc para un cliente concreto.

Lo que no veo (igual me equivoco) es si se ha dado el caso de promocion de desarrollo interno de blogs (o comunidades) dentro de una empresa, como parte de un mecanismo de mejora de comunicacion con los usuarios de los productos y servicios, lo cual va mas alla de la simple publicidad sino en el sentido de crear lazos y lealtades con la marca a la vez que se acerca a su publico final.

Ya comente algo de ello en: Acerca de blogs bloggers y bloggers , y lo sigo suscribiendo, un buen ejemplo de gestion de blogs corporativos es el que hace Microsoft, lo cual converse con Enrique Dans en su dia y que a pesar de sus reservas con la marca lo veia como positivo(*), a diferencia de la actitud "distante" de por ejemplo Apple, si pues... ese feedback que dan los usuarios en los diversos estadios del ciclo de vida de un producto.... ayuda a la empresa y genera lealtades, pues el usuario (en este caso el desarrollador) se siente mas "cerca" de la empresa, a diferencia de lo que puede significar un bonito banner o un muy elaborado folleto.

Pero uno podria creer que cosas como estas estan restringidas a empresas de tecnologias, pues no y General Motors es un buen ejemplo de eso, como se puede ver la empresa lo usa para contar como ven la evolucion de sus modelos, su tecnologia, y claro algo de relaciones publicas, pero el caso es que ... funciona!! los fieles de la marca dejan sus comentarios y no se cortan en pedir mas informacion y fotos. Es mas GM dio un paso muy inteligente al hacer uso de su blog para establecer de manera clara y sin filtros su discrepancia a algo publicado por el NY Times, como dice Luis Rull en dicho articulo: Alguien en GM cree en los blogs. Y alguien del departamento de Comunicación habrá dicho: ¡esto va vía blog, así y así! Alguien hace muy bien su trabajo.

Cuanto tardaran las empresas en dar los pasos dados por Microsoft o General Motors? por lo que veo la cosa tiene para largo y de momento pareciera que todo se reduce a utilizar a los blogs y contenido sindicados como un mecanismo adicional de publicidad o en todo caso recurrir a que se les haga un parablog a medida para algo concreto, pero el salto al uso de los blogs y comunidades como mecanismo de acercamiento y generacion de lealtades .... aun esta verde, pues en tanto no se asuma que es algo que debe provenir de dentro y no tercerizar (lo cual no implica el no asesorarse) todo resultado sera artificial, como puede llegar a serlo (a veces no) un "blog" sujeto a reglas de contenido y periodicidad minima, pues para eso es de pago, de ahi que me quedo con el termino de parablog.

(*)Enrique ya habia comentado sobre ello y es muy instructivo asi que lo cito a continuacion: Uno de los temas que más me ha gustado es lo que comentó sobre la política de blogging en Microsoft: la política es que no hay política. No hay supervisión, ni editing, ni baby-sitting, ni ná de ná, y es precisamente algo que parece estar en la base del éxito del sistema. Que no se podrá hacer, posiblemente, en cualquier compañía en función de su clima laborar, conflictividad, etc., pero que a ellos les va decididamente muy bien. La única frontera es el sentido común: si escribes lo que no debes, o dices barbaridades, obviamente tendrás problemas (como debe ser, añadiría yo). Quitando esa precaución natural que debería estar metida en el ADN de cualquier trabajador de una compañía, el resto es “ancha es Castilla”. Me parece sin duda la mejor de las políticas. Algo a considerar por toda empresa que piense en un verdadero proceso de acercamiento a sus usuarios.
domingo, 7 de septiembre de 2008 by Ernesto
Es interesante como se reacciona diferente dependiendo no del hecho, sino de quien lo hace, es lo que he visto a proposito del reciente "affair de la licencia" de Chrome del que comentaba en un post anterior.

Por que afirmo esto? simple, las implicaciones de que Google pudiera hacerse con los derechos sobre cualquier contenido visto o enviado mediante Chrome, son de veras graves, sin pensarlo le hubieramos dado titularidad a algo privado que subieramos a una intranet corporativa, osea potencialmente a secretos industriales de las empresas, asi que en ese sentido quienes reaccionaron a tiempo no fuimos los bloggers sino los departamentos legales de las empresas medianamente grandes.

Pero claro una vez sabido el pastel, la blogosfera ha permanecido silente al respecto, blogs como Enrique Dans, ALT1040 (que consulto frecuentemente) que han dedicado varios articulos relacionados al lanzamiento de Chrome, que si es lo mejor, que si es el fin de la era de los Sistemas Operativos, etc etc.... han callado completamente respecto a ese detalle, lo mismo he podido ver en Pyxel y Dixel, asi como en Microsiervos y el blog de Robert Scoble.

Por el lado de la blogosfera peruana casi lo mismo, Alex Celi, Arturo Goga, Ocram, Tecnologia Diaria que a pesar de haber dedicado articulos al lanzamiento de Chrome, y algunos tips muy interesantes... han pasado del tema, solo en Jomra he podido encontrar una cobertura interesante al asunto, pero por el resto... silencio, y lo mismo por parte de los medios de comunicacion que no dejaron de celebrar el comic de lanzamiento de Chrome.

A estas alturas hay mucho convencimiento del mantra de Google "Don't be Evil", y por lo mismo mucho convencimiento de que Microsoft es el enemigo a combatir de alguna forma, tambien claro de que todo lo proveniente por el Open Source, Apple, o Google es cool, entonces ....obviamente que queda mal apuntar cuando ellos cometen un "error" (y no, no creo que haya sido un error) y mas si lo corrigieron, no? Mejor perdonarlos y dejarlo pasar.

Pero pensemos, como hubieran reaccionado en la Web si una clausula de ese estilo se hubiera incluido en la licencia de Internet Explorer 8?

Actualizacion Ojo a esto, parece ser que encima no estan haciendo una implementacion tan limpia de las reglas del Software Libre.....

Don't be evil?
sábado, 30 de agosto de 2008 by Ernesto
Tenia pensado comentar con respecto a la reciente salida de la Beta 2 de Internet Explorer, pero la realidad es mas rapida que uno asi que tratemos de encadenar los hechos.

Una de las novedades de IE 8, es el supuesto "InPrivate Browsing" en el cual se supone que habria una experiencia de navegacion anonima, enviando la menor cantidad de datos posibles. Claro, el "pago" por eso seria que no se te proveeria de una experiencia personalizada, pero... es que esa es la idea precisamente, de ahi mi interes en que Cuil o algun otro tuviera exito como alternativa a Google, pues el hecho de que te pongas a buscar en Google con la sesion abierta de Gmail, no es precisamente lo mejor que puedas hacer para salvaguardar tu privacidad.

En ese sentido si la opcion ofrecida por Microsoft tenia aceptacion por los usuarios, podria significar que toda la informacion procesada y acumulada por Google, ya no seria tan completa lo que podria afectar su negocio de publicidad.

Ahi estaba la cosa, pero la respuesta ha sido mas fuerte como ya sabran ahora que todos estan hablando de Chrome el browser a ser lanzado por Google, el cual ha sido publicitado en formato comic de una manera bastante simpatica para enterarnos de las caracteristicas que lo hace "diferente" al resto.

El punto de partida es que se habla de dicho browser como desarrollado a la manera de un Sistema Operativo: hilos, multiprocesos, aplicaciones, punteros, fragmentacion de memoria.... y claro presumiendo de los recursos con que cuenta Google para poder hacer pruebas intensivas de las capacidades de su browser.

Como dice Juan de Periodistas 21:Su estrategia (de Google) desde hace tiempo es expandir internet y las cosas que se pueden hacer en la Red.
Es ahí donde da la gran batalla con Microsoft y Chrome puede ser un arma definitiva a pesar de la nueva estrategia de la compañía de Bill Gates.
Chrome es el navegador que puede reunir el resto de aplicaciones ya desarrolladas por Google, desde su Desktop (escritorio), hasta los mapas pasando por Earth, el álbum de fotos Picasa, Blogger, etc. Una herramienta para todas tus tareas, abierta, accesible desde cualquier sitio y gratuita.


Enrique Dans tambien lo ve de esa manera: si lo ves como el lanzamiento de un navegador, te has equivocado de deporte.... no es un navegador ni pretende competir en ese terreno. El movimiento de Google, en realidad, es un auténtico sistema operativo: no compite con Firefox (al que, por cierto, garantizó mantener el apoyo financiero durante los próximos tres años) ni con MSIE, sino que lo hace directamente con Windows. Chrome representa el verdadero paso al webcentrismo, al “me trae sin cuidado lo que corra debajo de mi navegador”, paso previo a optar por sistemas operativos sólidos y minimalistas del estilo de los basados en Linux que podemos ver corriendo en algunas versiones de netbooks...... esta jugada no es una batalla más en esa “guerra de los navegadores”, sino el inicio de la “guerra de los navegadores como sistema operativo”.

Personalmente creo que debemos distinguir el impacto de este lanzamiento en varios frentes:
- Propuestas innovadoras en cuanto a la forma en que se programan los browsers (lo de los threads y V8 me llaman mucho la atencion como desarrollador), no se Firefox, pero no descartaria que el lanzamiento de IE 8 tarde un poco mas de cara a verse efectivamente mas agil que su version anterior.

- La politica de aseguramiento de fidelidad de Google, son conscientes de que como lider tambien estan sujetos a perder su base, por lo que no quieren que alguien les haga lo que Microsoft le hizo a IBM en su momento, entonces anticipan las fuerzas por donde podrian perder fidelidad de usuario, asi que el ir por el lado del browser tenia que llegar en algun momento, con lo cual se puede evitar los riesgos del Inprivate Browsing, o de algun buscador competitivo que se haga digamos con el 20% del mercado, se puede vivir con ello si se sabe que de alguna forma el usuario pasara por alguno de sus productos, al margen del sistema operativo!!
- El traslado de la experiencia de usuario del desktop hacia el browser (como comentan Juan y Dans), o mejor dicho del disco duro local hacia la red, eso en una forma basada en Java (cuando los applets eran lo mejor para la web, recuerdan?) ya nos lo intento vender Sun hace 11 o 12 años sin mucho exito, mas aun AOL intento colocar en España equipos que basicamente solo eran un browser (ni siquiera dejaban grabar archivos) fracasando rotundamente, pero claro el reto de querer estar por encima del sistema operativo ha estado ahi (aunque no lo dejo de ver como una especie de retorno a la epoca de los terminales accediendo a mainframes), a ver si esta implementacion cumple ese santo grial de quienes han inententado reducir el predominio de Microsoft. Un IDE de programacion basado en un browser? lo dudo bastante por ahora.

En todo caso es divertido ver que se vuelve al dinamismo que veiamos entre 1995 y 1998 en la antigua guerra de los browsers, claro si lo comparamos lo poco innovadoras que fueron las versiones 5.x y 6.x de Internet Explorer, todo esto no deja de ser positivo para el usuario, aun cuando un nuevo "Gran Hermano" va tomando forma. Habra que descargarlo ya que ha sido liberado mientras escribia este articulo.

El Bruno: Internet Explorer 8 Beta 2 Released!!
Juan Varela: Microsoft vuelve a la guerra de los navegadores
Utero de Marita: Scott McCloud presenta Google Chrome
jueves, 7 de agosto de 2008 by Ernesto
Para variar gracias a El Bruno me entero que al fin esta disponible la version oficial de SQL Server 2008, concretamente la edicion RTM (Ready To Manufacture) ya se puede descargar desde las cuentas de Technet y MSDN Subscriptions, que es lo que he hecho esta mañana. Me imagino que la version "en cajita" todavia debera esperar unas semanas.

Ahora toca desinstalar la version beta que tenia y seguir trabajando con mi gestor personalizado de MP3, ya veremos que tal se comporta recuperando el respectivo backup.

Gracias a un correo de las Communities de Avanade que recibi esta mañana tengo las nuevas caracteristicas para desarrolladores que incluye esta version:

- Mejoras en SQL Management Studio incluyendo IntelliSense.
- Nuevos Tipos de Datos para solo fechas o solo horas (se acabo el almacenar la hora cuando solo necesitabas la fecha)
- Nuevo soporte a datos jerarquicos.
- Nuevas funciones de Agrupamiento.
- Nueva funcion Merge que permite una semantica de insert/update para mantener multiples fuentes de datos en sincronia
- Nuevo atributo FileStream attribute que permite incluir archivos que son almacenados en el sistema de archivos, pero que pueden ser manejados por SQL Server
- Nuevos tipos de datos y soporte para Geodata y geometria
- Nuevo soporte para optimizar las columnas o filas "vacias" mediante la palabra reservada "sparse"

Pues nada.. a actualizar se ha dicho!!
miércoles, 6 de agosto de 2008 by Ernesto
MUG: Microsoft Users Group o MSDN Users Group, siglas de significado claro, y es el usado por varias comunidades de usuarios de los productos Microsoft en varias partes del mundo.

En un momento dado Microsoft trato de potenciar las comunidades dentro de las universidades, con resultados dispares, luego el medio de comunicacion resultaron siendo los lanzamientos de productos y por supuesto los esperados Developer Days, en ese interin se tuvo una lista de interes llamada MUG que corria en los servidores de Unired, para luego pasarnos a la lista MSDN esta vez en los servidores de la RCP, de toda esa etapa recuerdo la presencia activa de representantes de Microsoft como Eduardo Saldarriaga, Jorge Oblitas, Fernando Covecino y Sergio Vitorio, asi como que siempre habia MCTs respondiendo las dudas que podiamos tener.

Casi coincidiendo con mi tiempo final en Peru, se decide potenciar nuevamente las comunidades, y ya estando en España me entero de su inicio de actividades, destacando especialmente su involucracion en la recordada campaña de Desarrollador 5 Estrellas, ahi es cuando me entero que unos amigos mios habian decidido involucrarse activamente en la organizacion de la Comunidad, y asi se sucedieron muchas cosas interesantes, el paso de http://groups.msn.com/MugPeru a www.mugperu.com, los cursos virtuales para lograr las estrellas avanzadas, la afiliacion a INETA, expositores internacionales, seminarios ... talleres.

Luego, las cosas se enfriaron un poco en tanto a los lazos con Microsoft, pero las actividades seguian, incluyendo no solo temas de desarrollo sino ya de metodologias de gestion de proyectos (aunque claro, se les fue la mano cuando anunciaron que dictarian Cobit), pero ya no se estaba tan con lo ultimo: en pleno 2007 se seguian dictando temas como SQL Server 2000 (aduciendo que aun se usa, pero claro.. tambien se sigue usando COBOL), MOSS brillaba por su ausencia, los acercamientos al .NET Framework 3.0/3.5 fueron mas bien timidos, y claro un topico tan importante como Team Foundation Server (que MS y sus partners han impulsado activamente desde el 2005) ha sido ignorado a pesar de la utilidad que trae a los ciclos de desarrollo de software.

Todo esto me iba enterando mediante los avisos que periodicamente recibia por email, pero lo que ya fue de veras sorprendente fue que este lunes recibi un mail anunciando un Taller Presencial de "Construcción de Aplicaciones con Java", revisando un poco la web veo que se han creado esta semana sendos foros dedicados a Java y PHP.

No tengo nada en contra de dichas tecnologias, pero dentro de la poca informacion con la que cuento me parece poco coherente que esta comunidad de usuarios que nacio para apoyar en la difusion del conocimiento de tecnologias de desarrollo Microsoft, opte por una poco saludable diversificacion, en lugar de apostar por las nuevas cosas que van saliendo: WCF, WPF, Silverlight, Performance Point, TFS 2008, hay mucho tema nuevo en el cual dar apoyo a los desarrolladores Microsoft como para ir perdiendo el rumbo.
jueves, 31 de julio de 2008 by Ernesto
Si, esta semana ha habido cierto revuelo mediatico a proposito del lanzamiento de Cuil, un buscador hecho por antiguos ingenieros de Google, como se comenta la expectativa viene dada porque a estas alturas ya hay interes de que surja un "Google killer" debido al temor de lo poderosa que esta llegando a ser esta compañia pese a su famosa (supuesta) politica "Don't be evil". Argumentos de todo tipo han surgido... que no es posible competir contra Google, que es el afan desesperado de los medios de tumbarse al grande, que no es tan mejor buscador como se propugna, que se pierde tiempo en dandole ese espacio en los medios.

El caso es que el mercado necesita una alternativa a Google (que no es lo mismo que desparezca), aun recuerdo los tiempos gloriosos de 1995 cuando el boton de busqueda de Netscape te llevaba a las paginas de Infoseek, pero claro si querias algunas alternativas siempre estaba WebCrawler o Lycos, las cosas cambiaron cuando Digital entro con fuerza en 1996 con su servicio Altavista, durante un tiempo fue mi unico referente, aunque claro... de tanto en tanto usaba los metabuscadores, para pasarme finalmente a Hotbot durante 1998, el cual fue mi buscador de referencia (debido a que mostraba resultado mas relevantes y sin el ruido que llego a generar Altavista) hasta que a fines del 99 o principios del 2000 una referencia en el news de Borland me llevo a probar a a Google, meses despues dicho buscador fue recomendado por Mauricio Sugarret en una conferencia del MSDN, a partir de ahi la historia es conocida.

Pero como digo, siempre me ha gustado tener alternativas, lamentablemente estos años de reinado de Google no hemos tenido ninguna importante, la inercia pesa demasiado, pero aun asi le doy una oportunidad a Live siempre que puedo, y en ciertos caso a Quintura.

Aunque hay otra razon adicional para necesitar tener otro buscador a la mano, y es la tendencia a la publicidad personalizada vs tu privacidad, me explico: como muchos tengo una cuenta de Gmail, la cual es muy potente, permite enviar archivos grandes, etc etc... (aunque sigue queriendo venderte una comida llamada "Spam" cuando vas a la carpeta homonima) pero, que por si no lo han notado, mantiene permanentemente informacion de tu sesion no solo durante la gestion del correo, sino durante tus busquedas, y claro.... eso conduce a la elaboracion progresiva de un perfil tuyo y orientar la publicidad contextual a algo mas especifico a lo que consideran tus "necesidades y preferencias".

Asi que si en base a mis antiguas busquedas sobre actualidad politica, letras de canciones y alguna trivialidad pueden inferir que me puede gustar cierto perfume o modelo de silla, pues.. no gracias, asi que mejor ponerles las cosas complicadas, por lo que mi politica es tratar de dispersar mis busquedas sobre todo si estoy logueado a gmail, de tal manera que me he visto usando a Live frecuentemente (sin ninguna sesion MSN), y ahora probar Cuil (el cual debe refinarse un poco).

Por esto... la presencia de competencia en el mercado de browsers es positiva, al menos para mi, ya que me permite evitar que una unica compañia tenga un perfil completo de mis habitos (lo cual ya es complicado siendo que mis dos blogs se alojan en blogger), y a lo sumo... solo una fraccion no correlacionada de mis preferencias.

Ahora, toca verificar que tan bien lo esta haciendo, asi que probe buscando mi propio nombre en tanto en Cuil, como en Live y Google, curiosamente el mejor resultado fue obtenido por Live, ya que este blog aparecia en segunda posicion, seguido por Google end donde mi Linkedin aparecia en 10ma posicion (al menos en la primera pagina), y peor Cuil que no me supo encontrar en ninguno de los resultados..... tienen que mejorar muchachos!!!

Categories

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.