Luego de mes y medio con Windows 7

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.

Lo tenia delante pero no sabia decir porque no me gustaba: Java

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.

A proposito del SPAM, la PUCP dice……

No se si algo habra tenido que ver mi post de ayer a proposito del SPAM pedofilo recibido en los buzones de correo de la PUCP, probablemente mas haya tenido que ver el contundente email mandado por Diego a la oficina de soporte informatico de nuestra universidad, el caso es que hoy hemos recibido un email enviado por la Direccion de Informatica (Dirinfo) en los siguientes terminos:

Dado que últimamente se están presentando casos de mal uso del correo electrónico, recordamos a la comunidad de usuarios de este servicio que:

1.- Los servicios informáticos son parte de los servicios académicos ofrecidos por la Universidad, según el Reglamento aplicable a los alumnos ordinarios de la PUCP (cap. I, art. 2°, sec. k). Por ello, su uso se encuentra normado y son aplicables todos los artículos, en especial los relativos a:

  • Utilización de instalaciones y servicios de la Universidad (cap. II, art. 3º, sec. b)
  • Conductas que contravengan los principios de la Universidad (cap. II, art. 3º, sec. e)
  • Perjuicio a la infraestructura de la Universidad (cap. II, art. 4º, sec. d)
  • Conductas que afecten la imagen de la Universidad (cap. II, art. 4º, sec. g)
  • Conductas que vulneren o pudieren vulnerar los derechos de los demás miembros de la comunidad (cap. II, art. 4º, sec. h).
  • Actos que afecten la privacidad y honorabilidad de los miembros (cap. II, art. 4º, sec. i)

2.- Independientemente del contenido, el envío de un mensaje que no haya sido expresamente solicitado es restringido y el remitente (responsable de los mensajes enviados desde su dirección electrónica) deberá asumir los reclamos que pudieran ser presentados por quienes recibieron el mensaje no solicitado.

3.- Las listas de interés de la Universidad son de uso estrictamente académico, cualquier otra utilización será responsabilidad del titular de la comunicación enviada.

4.- Las comunicaciones electrónicas en el país se encuentran reguladas a través de la Ley N° 28493, que regula el uso del correo comercial no solicitado (SPAM).

Atentamente

Dirección de Informática

Señal de que ya se han dado cuenta de que “algo” ha pasado, pero de acciones de investigacion…. nada de momento.