Monday, December 24, 2007

Te Deseo una Feliz Navidad

De verdad, que la pases bonito en compañia de tus seres queridos, de tu familia y de tus hijos.

A veces esto no siempre es posible. Pero date un minuto de tu tiempo para reflexionar y guardar los rencores. Recuerda que equivocarse es de humanos.

Feliz Navidad!

Kaspersky Antivirus 7

Una de los mejores antivirus es el Kaspersky 7.

Kaspersky es un software de origen ruso. Fue catalogado como el mejor antivirus sobre las faz de la tierra, por diferentes revistas tecnologicas.

Sin embargo, debes tener en cuenta, que cada vez que instales software cuyo origen sea confiable, pues desactivar el antivirus previamente es requerido.

Por ejemplo si vas a instalar los drivers de audio para tu placa INTEL, pues el antivirus va a seguir realizando validaciones constantes sobre los nuevos archivos que se estan escribiendo en tu PC, lo que trae como consecuencia que la instalación demore, mas de lo debido.

Y muchas veces se quede estancado en una tarea que no continua en progreso.

Es necesario poner en pausa el antivirus. Para que el proceso de instalacion sea continuo en el tiempo sin que se muestren tantas alertas preguntandole al usuario sobre que acción realizar sobre tal o cual archivo que intenta escribir sobre el RegEdit u otra espacio del disco.

Del mismo modo, si instalas el Visual Studio 2008 sobre tu PC. Y tienes el antivirus activado, pues el proceso de instalacion podria tomarte horas. Ademas tu presencia al frente de la PC tendria que ser estrictamente necesaria.

Pablo Castro ADO.NET Entity Framework

La Beta 2 de este producto llamado ADO.NET Entity Framework, permite darnos la idea de las bondades de esta herramienta y a la vez provoca algunas dudas sobre sus limitaciones.

Pablo Castro es uno de los integrantes del equipo que construyo este Add-On.

La version actual que ha sido liberada solo tiene la capacidad de generar el modelo de clases de un producto de software en función del modelo entidad relacion de la base de datos.

En esta version de prueba, no es posible construir manualmente, una a una las clases asociadas a las tablas que uno crea conveniente. Naturalmente en la version final esto sera permitido y otras caracteristicas mas seran liberadas.

El ADO.NET Entity Framework no vendra incluido en la version oficial del Visual Studio 2008, a mediados del proximo año, podra ser descargada para ser usada como un Add-On.

Mientras tanto nos queda la posibilidad de seguir usando el Linq To Sql para facilitar la construccion de clases orientadas a la estructura de una base de datos.

Visual Studio 2008 fue liberado

Así es, la ultima version del Visual Studio 2008 fue liberada.

Toda la people esperaba que esto sucediese en enero del proximo año, pero desde el 19 de noviembre del 2007 Microsoft sació nuestra angustia entregandonos el RTM (Release To Manufacture)

Puedes descargar los Trial Editions desde Visual Studio 2008 Trial Downloads que durará 90 dias.

Tiempo suficiente para disfrutar de este nuevo juguete.

Wednesday, December 19, 2007

Tiempo de respuesta en OLEDB y ODBC

Hace muchos años atras la people programaba aplicaciones con acceso a base de datos utilizando proveedores genericos como OLEDB y ODBC.

Estos proveedores de acceso a datos por su naturaleza, la de ser genericos, traia como consecuencia un bajo rendimientos en las operaciones. En terminos sencillos, lo generico es lento en contraparte de lo especializado.

Los proveedores como OLEDB y ODBC tienen que enfrentarse a diferentes base de datos como SQL Server, ORACLE, DB2, MS Access, etc. para obtener resultados y realizar operaciones de escritura.

El que mucho abarca poco aprieta, reza un viejo refran.

Felizmente, cada motor de base de datos liberó, posteriormente, sus propios interpretes para facilitar la vida de los developers y mejorar el performance del producto de software que accede a dicho motor de base de datos.

Estos nuevos interpretes estan totalmente especializados para realizar operaciones sobre aquellos motores para los cuales fueron liberados.

Por sentido comun, si estas especializado en algo, eres más rapido y eficiente en realizar operaciones en aquello que sabes hacer.

No arrastremos prejuicios acercar del performance de una aplicación en funcion al tiempo de respuesta de la operacion contra base de datos, cuando se utilizaban proveedores como OLEDB y ODBC.

Decir aquello: "... no hagas SELECT * FROM table, por que es muy lento, usa Stored Procedures...". Ya no tiene asidero, a estas alturas del partido.

Sin embargo en las operaciones de escritura, aun deberia usarse los omnipresentes Stored Procedures, pero como consecuencia de otros argumentos.

Sunday, December 16, 2007

OnInit ViewState Page

Cuando estas construyendo estructuras complejas sobre el formulario de tu aplicacion ASP.NET tendras algunas dificultades que superar.

Los formularios de facturación u otros relativamente similares traen consigo ciertos retos tecnicos. Pues sobre este convergen una serie de lookups, que han sido ingresados a traves de otros modulos de la aplicacion, para que estos sean seleccionados por el usuario dentro del formulario de la factura.

Muchas veces el formulario muestra controles cuyos elementos estan en función de algunas lookups cuyo numero de items depende del cliente seleccionado u otra variable.

En terminos sencillos no esta determinado en tiempo de diseño la estructura final del formulario.

En ese sentido, se tiene la necesidad de crear elementos en tiempo de ejecución sobre el formulario web, cuya informacion es obtenidad de la base de datos.

Por definicion la construcción de elementos debe estar implementada sobre el OnInit de la pagina. Pero sucede un pequeño detalle, el ViewState se encuentra vacio en ese estado del ciclo de la pagina web. ¿Que hacer?

El ViewState se llena despues del OnInit y antes OnLoad de cada pagina ASPx dentro del mundo ASP.NET.

Cuando te encuentras programando dentro del OnLoad todos y cada uno de los controles que este definidos allí, se encuentran ya con el valor que hayan tenido previamente, de forma automatica. Es la naturaleza de ASP.NET.

Un solucion inmediata, para superar la dificultad del ViewState en el OnInit, pasa por recordar la forma tradicional de como obtener informacion del post de la pagina.

String something = this.Request.Form( "_something" );

Vale recalcar que _something es un elemento dentro del formulario de mi pagina.

De esta manera podras recuperar el valor de algun control, que dentro de la implementacion que estes realizando, te implique algun grado de sensibilidad con respecto a los demas elementos dentro del formulario.

Friday, December 14, 2007

Mauricio Hidalgo y los poemas

Hace unas semanas Mauricio Hidalgo ha colocado en su display name del MSN, algo así traducido al español: Si no puedes ser un poeta, ser el poema.

Muy bonita frase cliche, para arengar a los muchachos que por algunas circunstancias al hacer el mayor de sus esfuerzos al frente de la PC, no logran estar a la altura de un Chris Anderson.

Muchos de ellos, se cobijan en el resultado del equipo, perjudicandolo. Para algunos como Frank Alexander Van Ede, el equipo es lo más importante, independientemente del resultado, por más desalentador que este fuese, y a costa del producto de software.

Se argumenta que lo bueno es que, los integrantes de este alicaido equipo, estan allí y estaran allí para resolver las carencias del software. A pesar que aquello se pronlongue, se prolongue y no hayan indicios de que algun día termine.

La ultima vez que me dieron a entender que lo que habia construido era un arte. Volvio a satisfacer mi ego, que curioso. Es cierto, fue lo más cercano a un poeta que me he sentido, como lo da ha entender Mauricio Hidalgo.

El arte fluye en las venas de quienes construyen cosas que es apreciable por el ser humano comun y silvestre. Y que las construyen de forma simple y con entrega por aquellos que les fascina lo que hacen.

El arte al plasmarse y ser tangencial es mas precioso y araña lo real. Ser un poema es algo menos dificil.

Wednesday, November 28, 2007

Threads en WinForm con Invoke

Cuando trabajas con Windows Forms todo es maravilloso. Pues la misma tecnologia esta orientada hacia una mayor interactividad con el usuario y el producto de software.

Asunto que en el desarrollo de aplicaciones web y ASP.NET se viene superando gracias al aporte de AJAX.

Sin embargo, dentro del mundo de Windows Forms tenemos ciertos retos, así le gusta calificar las dificultades a Frank Alexander Van Ede.

Uno de estos retos sucita cuando te encuentras con ciertas operaciones, tras el click del usuario, que han de tomar un tiempo prolongado y que ha la vez van pintando informacion en el front-end. Hablamos de varios segundos e inclusive algunos minutos.

Ante esta situacion, si se sigue realizando la programación de forma tradicional, pues te percataras que tu aplicativo empieza a tener un LAG, todo empieza a pintarse de blanco y el software ya no responde a las acciones del usuario. ¿Que hacer?

La solucion inmediata pasar por utilizar los Threads.

Sin embargo al usar los Threads, el mayor reto esta enviar los resultados parciales que va obteniendo esta supuesta operacion lenta y parsimoniosa hacia el front-end teniendo como destino muy probablemente un DataGrid u otro control, cuales quiera que sea. Ese es el meollo del asunto.

Recordemos que nuestro aplicativo WinForm se ejecuta en un espacio de memoria. Y un Thread se ejecuta en un espacio de memoria distinto, a pesar que este haya sido inicializado desde el WinForm. Cada Thread crea su propio espacio de memoria y se ejecuta en este.

Entonces el gran reto es, enviar resultados parciales de una operacion que se encuentra en su propio espacio de memoria distinto, hacia un control de usuario que se haya dentro de otro espacio de memoria, el del aplicativo.

Los Delegates son la solucion para este reto. Una especie de Broker que debe implementarse con la intención de ser el nexo entre ambos espacios de memoria.

El Thread notificará a traves de un Delegate una acción con ciertos datos y del lado del espacio de memoria del aplicativo nos suscribiremos al Delegate de dicho Thread con la intención de coger los datos que nos envien.

Al momento de asignar estos resultados parciales al control de usuario que hayamos decidido utilizar para mostrar los datos, debemos procurar llamar al metodo Invoke.

Blogueando y Posteando en mi blog

Hace mucho que no escribo en este blog. Y me causa algo de pena, pues este es mi primer blog. La primera vez que postee, fué aquí. Y tu sabes que la primera vez nunca se olvida ¿verdad?

En fin, me da curiosidad por entender que sucede. ¿A que se debe que posteo más seguido en mi blog (perú) Javier Luna blog sobre derecho y asuntos legales, que en este blog?

Mi blog (beta) Javier Luna blog sobre asuntos sociales, futbol, musica, u otros de mi interes y afines, es donde posteo más seguido, que en mi primer blog. No puede ser.

Lo más curioso de todo es que este blog, esta asociado a mi profesión. En teoría, deberia ser el lugar donde realize mayores aportes. Y al saber que no es así, me lastima.

Debo hacer un mea culpa y procurar postear en este, mi primer blog, con algo más de frecuencia o por lo menos no dejarlo en abandono. Hagamos eso.

Wednesday, September 19, 2007

VB.NET versus C#

Coger un proyecto en VB.NET es fustrante. Las limitaciones que tiene este lenguaje en comparación al C# son notorias y se traducen en una baja producción. Lo que al final trae como consecuencia más horas en el desarrollo.

Se extraña lo breve del codigo en C#. Lo estricto para el manejo de las variables y la firma de los metodos. Así como el soporte que brinda para los Iterators, usando yield return.

Cuando tienes un proyecto web en VB.NET es lamentable ver errores de sintaxis que arrojan el .NET Framework cuando testeas el producto.

En consecuencia, dificilmente tenga un futuro alentador VB.NET como lenguaje de programación.

C# forever and ever!

Thursday, August 30, 2007

Free Download Manager

Cada vez que tengas que descargas archivos relativamente superiores a 600MB. Es ideal que utilizes un gestor de desacargas para garantizar que el archivo no baje dañado, por cuestiones propias de la red.

Free Download Manager 2.5
http://files.freedownloadmanager.org/fdminst.exe

Thursday, July 26, 2007

Visual Studio 2008 - Beta 2

Microsoft liberó la beta 2 del Visual Studio 2008, hace solo tres días.

Descarga los valiosisimos 4GB de este programita y hazle doble click al Setup.exe, en el acto.

http://www.microsoft.com/downloads/details.aspx?FamilyId=428C076F-E3EF-4290-9FF4-F6FD8F180B7D&displaylang=en

Osito han pasado cuatro años ya y aun sigues programando con el Visual Studio 2003. No seas abuso. Y peor aun, tienes el descaro de hablarnos del LinQ a pesar que sigues usando tus dataset tipeados. No seas pendex! :)

En fin, no tienes perdon de Dios. ¿Jificitu?

Tuesday, July 17, 2007

Visual Studio 2005 SP1

Luego de que instales el Visual Studio 2005 Service Pack 1 en tu PC, puede que cuando intentes debuggear tus proyectos web basados en File System, recibas el clasico mensaje de error: "Unable to connect to Visual Studio's Localhost Web Server".

Puede que te fustres si no actuas con calma.

Lo que sucede es que por algun motivo el ejecutable WebDev.WebServer ubicado en la carpeta C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 se daña y deja de funcionar de manera correcta, luego de haberse instalado el Service Pack 1 del Visual Studio.

En consecuencia, bastara con reemplazar ese archivo con alguno similar ubicado en otra PC que tenga instalado el Visual Studio 2005.

Sunday, July 08, 2007

Virtual Server y la tarjeta de red

Cuando trabajas con Virtual Server 2005 R2 para levantar las diferentes maquinas virtuales que tienes en tu PC, debes tener en mente un conjunto de requerimientos fisicos, de hardware, para mantener la estabilidad de tus maquinas.

Por ejemplo, el uso de memoria es un punto critico, pues cada maquina separa fisicamente el espacio configurado en ella. En consecuencia la PC anfitriona pierde dicho espacio de memoria.

Obviamente el espacio en disco tambien es usado. Sin embargo ten en cuenta los "Saved States", que implican un espacio adicional al que ya ocupan los enormes archivos VHD. Que no son otras que los el discos virtuales de tu maquina.

Pero un punto interesante, es si en la PC anfitriona realizas un cambio de tarjeta de red. Lo que sucede inmediatamente es que tus maquinas virtuales no podran acceder a la red, a pesar que esten levantadas.

¿Que sucedio? Pues, cada maquina esta configurada para una Virtual Network y cada una de estas redes virtual esta asociada a un adaptador de red. Por lo tanto, debes agregar, a traves del panel de administracion del Virtual Server, una nueva Virtual Network, la cual usara la nueva tarjeta de red que cambiaste.

Finalmente, debes configurar en cada maquina virtual en el adaptador de red con el cual va a trabajar.

Saturday, June 30, 2007

Disco Duro no detectado

Algunas veces te has de tocar con este problema cuando un disco no puede ser detectado por la BIOS de tu PC.

En general, las placas salen al mercado brindando el soporte sobre los discos duros que se encuentran ya fabricados a la fecha.

En consecuencia, lo que debes hacer es actualizar la BIOS de tu placa, para habilitarle el soporte a discos mas grandes de los que, esta, ya soporta.

Sunday, June 10, 2007

Google Developer Day

El 31 de mayo en diferentes paises del mundo se llevo a cabo en forma simultanea el primer evento de Google orientado a los developers: Google Developer Day 2007.

Alguno de nosotros siguimos las incidencias a traves del internet.

Este es el blog mas visto, sin duda:

Mountain View, US
http://googledeveloperday2007-us.blogspot.com/

Wednesday, May 30, 2007

Authorize.net forever

Authorize.net es una gateway para realizar cargas de tarjeta de credito que requiere de un pago a traves de un sitio web de venta en linea.

No es el unico, claro esta. Encuentras eProcessingNetwork y otros más.

Pero el más confiable por un conjunto de caracteristicas es Authorize.net

Monday, April 23, 2007

Yes, I'm contributor in ASP.NET Forums

Asi es, hace unos dias atras supere la valla para ser considerado usuario de nivel Contributor en el conocido sitio ASP.NET.

Estoy muy contento por esta consideracion.

Monday, March 12, 2007

I will be contributor in ASP.NET Forums

Hoy estuve revisando el Hall of Fame del conocido sitio ASP.NET. Y me di con la sorpresa de que estoy a solo 64 puntos de lograr superar la valla par ser considerado usuario de nivel Contributor.

Me alegra estar colaborando con la comunidad y poder serle util compartiendo muchas de las cosas que he aprendido en todo este tiempo.

Friday, March 02, 2007

Orcas March CTP is Live

Y hasta que Microsoft se digno en no hacernos esperar más de lo debido para disfrutar del Visual Studio Orcas (pre-release).

http://www.microsoft.com/downloads/details.aspx?FamilyId=CF76FCBA-07AF-47AC-8822-4AD346210670&displaylang=en

Este nuevo entorno de desarrollo, integra todos los ultimos bits a la fecha: LINQ, AJAX, Vista SDK, etc.

La version final esta planificado para finales de este año. Este pre-release aun no es siquiera una version BETA. Pero como nos pican los dedos por usarlo. O no?

Friday, February 23, 2007

Playing around Visual Studio 2005

El paso de tres años de experiencia desarrollando software sobre el Visual Studio 2003 procovo la necesidad de buscar formas que permitan implementar codigo, en busqueda de obtener un modelo de objetos, orientado a la realidad de negocio que se requiere en determinado momento.

La primera version del C# y la herramienta misma nos limitaban en seguir innovando tras la busqueda de nuestro objetivo.

Hoy el Visual Studio 2005 nos brinda mayor estabilidad como herramienta de desarrollo de software. Y la evolucion del C# en su segunda version nos brinda la posibilidad de seguir abreviando codigo, que permita su facil lectura y seguimiento.

Si aun no has convencido a tu cliente de renovar su herramienta para la construccion de sus productos de software, pues debes apurarte por el bien de ambos pensando en el futuro proximo.

Fucking COM+ !!!

Thursday, February 15, 2007

New Look and Feel

Desde hace un tiempo atras pretendia cambiar el estilo grafico de mi blog. Hoy me di un tiempito para esto. Y creo que ha quedado chevere!

Si no te gusta pues ni modo!

Wednesday, January 24, 2007

Microsoft SQL Server Management Studio Express

Cuando instalas tu SQL Server Express Edition en tu PC. Necesitas administrar el servidor de base de datos instalado allí.

Para ello debes instalar un componente adicional para la version Express Edition de tu SQL Server.

Dicho componente se llama SQL Server Management Studio Express, el cual puedes descargar desde:

Microsoft SQL Server Management Studio Express
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796

Wednesday, January 17, 2007

Microsoft SQL Native Client cannot be found

Cuando estas instalando SQL Server 2005 Express Edition, puede que recibas el siguiente mensaje de error:

An installation package for the product Microsoft SQL Native Client cannot be found. Try the installation again using a valid copy of the installation package 'Sqlncli.msi'.

Lo que sucede es que una instalación existente del SQL Native Client produce una falla en la instalacion del SQL Server 2005 Express Edition.

La solución es desintalar el actual SQL Native Client en tu PC usando Add and Remove Programs y volver a ejecutar el SQL Server 2005 Express Edition.

Saturday, January 13, 2007

Installing SQL Server 2005 Express Edition

Puedes descargar la version express del SQL Server 2005 desde el sitio web oficial de Microsoft.

Microsoft SQL Server 2005 Express Edition
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=220549B5-0B07-4448-8848-DCC397514B41

Pero previamente debes installar estos dos requisitos, para instalarlo sobre tu Windows XP + SP2.

Primero, necesitas instalar el Microsoft Windows Installer 3.1 (v2), el cual puedes descargar desde http://download.microsoft.com/download/1/4/7/147ded26-931c-4daf-9095-ec7baf996f46/WindowsInstaller-KB893803-v2-x86.exe

Y luego debes instalar el Microsoft .NET Framework 2.0, el cual puedes decargar desde http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en.

Ahora estas listo para ejecutar el instalador de tu SQL Server 2005 Express Edition.

Thursday, January 11, 2007

Remote Desktop Connection

Habilitar la opcion de Escritorio Remoto en el Windows XP Pro + SP2 es muy facil.

Solo debes hacer Click Derecho en My PC -> Properties -> Remote Tab

Verás la zona Remote Desktop en la ventana y un checkbox que dice:

[ ] Allow users to connect remotely to this computer

Cada vez que ingreses a usando All Programs -> Accesories -> Comunications -> Remote Desktop Connection, usarás siempre la sesion que este disponible en la PC remota, si te logeas como el usuario de dicha sesion, claro. Salvo que desees ingresar con otra cuenta, pero de esta manera se perdera la informacion de la sesion actual en la PC remota.

No te preocupes, el Remote Desktop Connection te advierte de esto cada vez.

Installing MSDE 2000

Cuando tratas de instalar el Microsoft SQL Server Desktop Engine, no solo basta hacerle click al setup.exe

Es necesario que ejecutes el Command Prompt. Cambiar al directorio de instalación de tu MSDE. Y tipear setup SAPWD=yourpassword.

Es decir, debes proveer el password para el usuario SA de tu futuro MSDE.