Archivo de la categoria ‘general’

Existe vida después de Crystal Reports…

Domingo, Junio 29th, 2008

Ya alguna vez Emilio mi ex jefe y master de programación me comentó que usar Crystal Reports era como meterte al castillo de Vlad el Empalador sin previo permiso defendiendo a los Sajones.

Estos últimos días tuve la “suerte” de tomar un proyecto en la oficina que había que entregar pronto. Uno de los requerimientos del proyecto era imprimir una factura la cual se diseña con un reporte. La “tecnología” de reportes utilizada es la que viene por default con Visual Studio 2005: Crystal Reports.

La sensación de desolación que me dejó utilizar crystal reports es incomparable con cualquier otro tipo de dolor. De entrada quise utilizar dos DataTable’s que tenía definidos en un DataSet, de ahí, uno de estos datatables contenía la información general de la factura y por otra parte el otro datatable contenía los detalles o conceptos de la factura, o sea los datos que se “repiten” en la factura. Después de intentar me dí por vencido hasta que Alfredo, compañero de trabajo y mi jefe anterior de proyecto me dijo que lo mejor para mi tranquilidad mental era meter como parámetros los datos generales y solamente meter un datatable para los detalles. Sí, de algún modo crystal reports no soportó manejar dos tablas para generar el reporte, solamente una, algún error de autentificación me marcó que ya no recuerdo.

Ayer pasé la tarde y la noche diseñando la factura y fué una experiencia terrible, las herramientas de diseño que tiene crystal reports son bastante inestables y de hecho muy, pero muy limitadas. Después de pasar preciadas 6 a 8 horas de mi sabado de descanso en esta tarea (y arreglando algunos otros bugs) me quedé a ver TV un rato y me fuí a dormir ya que Yari se había ido a Rosarito con sus amigos y todos los demás conocidos que viven aquí se habían ido a San Luis.

Hoy recordé que tenía un pendiente con el proyecto y mañana debo ir a instalarlo con el cliente así que decidí solucionarlo hoy domingo. Sorpresa que, al abrir Visual Studio e intentar cerrar las pestañas de los archivos aspx que habían quedado abiertas al abrir la solución, este se colgaba.

No me había pasado esto de hecho hasta que comencé a utilizar Crystal Reports, la solución fue cerrar unicamente la pestaña del reporte y acto seguido cerrar visual studio, posteriormente lo volví a abrir y el problema desapareció. Parece ser que el problema es que crystal reports carga algún control ActiveX no soportado por Windows Vista lo cual crea incompatibilidad e inestabilidad.

Uno de los bugs que me causó mas problemas fue que, al agregar un objeto tipo “CrystalReportSource” a la página aspx y dirijirme a seleccionar el reporte este se negaba a mostrarme la vista previa y por lo tanto el reporte no se visualizaba. Resulta que al seleccionar el archivo de reporte me aparecía la siguiente ventana:

 

Después de varios intentos y de estar seguro que el reporte que estaba seleccionando era el correcto decidí eliminarlo y crear uno nuevo. Después, también gracias a la ayuda de Alfredo, pude solucionarlo, me dijo con una tranquilidad de monje tibetano: “No, así no va a funcionar, quitale el path y deja solamente el nombre del archivo” y es que sucede que, crystal (o visual studio) tiene un bug que hace que no tome el path correctamente del archivo, es decir, el archivo aspx que contiene el código que utilizará este reporte estaba mas o menos así:

/Invoice/getInvoice.aspx

Y el reporte:

/Invoice/Invoice.rpt

Por lo cual dí por hecho que lo que me estaba mostrando el combobox era correcto, para solucionar el problema debía eliminar la carpeta “/Invoice” de la ruta del repore aun sabiendo que efectivamente ahí estaba el reporte:

Sé, y entiendo perfectamente que todos los desarrolladores de software nos equivocamos, nadie es perfecto, pero, por Dios, ¿Cómo algo tan importante paso las pruebas de calidad? Supongo que nadie en el grupo de desarrollo de Visual Studio utiliza Crystal Reports, de hecho, hablando con varios compañeros de la oficina me dí cuenta que efectivamente ahí nadie utilizaba crystal reports, preferian hacerlo “a mano” generando páginas con código html.

¿Alguién tiene alguna buena historia con este producto? Por que creo que de lo contrario de hoy en adelante trataré de mantenerme al margen del mismo ya que la primera impresión fué mala y en esto como en las relaciones amorosas, eso es lo mas importante.

It’s my birthday, bitches

Jueves, Junio 19th, 2008

Así es, hoy cumpli 23 añotes, ¿Qué se siente? Bueno, nada en particular, solo estoy agradecido de estar donde estoy actualmente.

La actividad del día no fué muy activa, valgame la rebusnancia, mañanitas por la mañana de Yari y varias llamadas al celular que por cierto apagué en el día por que pues, estaba en el trabajo. A todos los que me felicitaron o me dieron un regalo, pues muchas gracias.

Recibí lo de siempre: abrazos, felicitaciones, ropa y si, como cada cumpleaños Yari me regaló un CD, bueno esta vez es un combo, un CD y un DVD de música y comfort para volar (el unplugged de Soda), excelente!!

Mañana hay peda en el “pockets”, nunca he ido, solo se que es un billar de aquí de Tijuana y es que varios compañeros de trabajo se graduan de la escuela y otros cumplen años (incluyendome) asi que mañana quizá haya mas actividad social. Por el momento solamente hubo una cena “de pareja” con Yari, comida Italiana :)

Como “plus” hoy se lanzó la versión final de OpenSuSE 11, ya tenía instalada la versión 11 en RC1 (Release Candidate) así que supongo que el fin de semana podré actualizar. Estos días he andado con mucha chamba en la oficina así que lo de las actualizaciones linuxeras tendrá que esperar.

Salu2.

¿Cuál es tu conocimiento de lenguajes de programación?

Miércoles, Junio 18th, 2008

Al parecer el mio no es tan malo después de todo:

Name That Code
Created by OnePlusYou

¿Cuánto cuesta mi correo electrónico?

Jueves, Junio 5th, 2008

Estaba revisando mi google reader y viendo el feed de Coding Horror encontré un artículo bastante interesante acerca de la mala práctica de algunos sitios de Internet de pedir la información de la cuenta de correo de los usuarios para poder encontrar “amigos”… aquellos que usan MySpace, Hi5, o alguna otra red social se habrán dado cuenta que al darse de dalta en dicho servicio normalmente nos presentan una pantalla como la siguiente:

 

Joel critica fuertemente este acto, y es que, tiene razón. En algunos de los servicios que he tenido la oportunidad  de darme de alta como Hi5 me aparecen este tipo de “helpers” para que pueda agregar a mis amigos.

La idea en principio puede parecer una buena intención por parte del sitio pero a final de cuentas no deja de ser un hoyo de seguridad, uno que estamos permitiendole a un tercero el cual no tenemos plena seguridad que vaya a mentener nuestros datos a salvo, ¿Por qué? Bueno por que a pesar de que la mayoría de los sitios de este tipo tienen “políticas de privacidad” quienes se roban la información no las tienen, ej: MySpace, mucha gente perdió sus cuentas hace algún tiempo después de que debido a problemas de seguridad alguien se infiltró en el sitio y se robó la información de los usuarios. Supuestamente ninguno de estos servicios guarda estos datos pero, bueno, no tenemos certeza de ello ya que no podemos ver el código de la aplicación.

Para los que estan leyendo esto y aún no saben de que hablo les explico: estos sitios piden nuestro nombre de usuario y contraseña de nuestro servicio de correo por ejemplo hotmail, yahoo, gmail, etc. Una vez que ellos tienen nuestro nombre de usuario y contraseña es posible que puedan ingresar a los servidores de correo por medio de las API’s de estos servicios y “halen” las direcciones de nuestros contactos y de ese modo compararlos contra su base de datos para ver si alguno de estos contactos cuenta con el servicio al que nos acabamos de registrar.

Aparte de que esto representa una mala práctica para nosotros los usuarios a veces es molesto que estos servicios toman las direcciones de correo de nuestros contactos y envían una “solicitud” de amigo que, irónicamente, no solicitamos. Tengo ese tipo de correos de bebo, ringo, y no se que mas servicios en mi bandeja siempre, ¿Razón? Bueno, seguramente uno de mis contactos hizo exactamente lo que no debería haber hecho: proprocionar su nombre de usuario y contraseña.

Aunado a esto, muchas veces estas direcciones terminan siendo vendidas a empresas de publicidad que nos colmaran la paciencia con el correo no deseado. Yo por ejemplo solía tener una cuenta en un servicio de correo web que únicamente utilizaba para darme de alta en foros y cosas por el estilo donde se requería “login”. Hoy revisando mi twitter me encontré un post de “Anfetamínico” donde mencionó una de las ideas mas simples e innovadoras que he encontrado en la web 2.0 últimamente: 10 Minute mail

¿Qué es 10 minute mail? Bueno es un servicio que nos permite dar de alta una cuenta de correo “temporal” para poder darnos de alta en algun sitio que requiera el famoso “correo de confirmación”, ¿Para qué? Pues para evitar dar nuestra dirección real y sobre todo para poder tener la bandeja de correo de nuestra cuenta principal limpia.

Así que, en resumen, cuiden los datos de su cuenta de correo por que, como Joel menciona en su artículo, es muy común que nuestro correo sea el lugar donde guardamos la información de inicio de sesión de la mayoría de los lugares que visitamos en Internet, incluso hasta del banco, sea bancanet, hsbc, santander, etc. Cuando olvidamos la clave el primer lugar donde nos envían los datos de vuelta es a nuestro correo, siendo así, ¿Quién querría dar los datos de inicio de sesión de su correo a un tercero?

Tom y su myspace

Jueves, Mayo 29th, 2008