lunes, febrero 28, 2005

Taller de Introducción a C#; El artículo UML y Mentores.NET

El pasado 26 de Febrero se llevo a cabo el Taller de Introducción a C#, como parte de los eventos que organiza la comunidad TjNet, y del cual tuve la oportunidad de impartir.

Para este taller la Universidad Iberoamericana, tuvo la gentileza de prestarnos un laboratorio con equipo de cómputo, e instalar el software requerido en cada pc, para que pudiesemos trabajar sin ningun contratiempo.

La verdad que la pase muy bien, y espero que haya sido de igual forma para los asistentes, además de mi deseo de que se llevaran algún beneficio de los temas que ahí vimos. Para ser sinceros la cantidad de gente que acudio (35), superó mi expectativa, la cual era de no más de 20.

Con eventos como éste, el curso de ASP.NET y el DevDays, se demuestra la convocatoria que tiene la comunidad, ojalá que también se pudiese demostrar con un poco de más actividad en los foros.

Con respecto al artículo de UML y POO, recibí un comentario de Mentores.NET, específicamente de Anthony Alvarado donde me explica el motivo de porque el artículo fué rechazado; ya lo ajuste a los requerimientos y finalmente fue publicado aquí.

Por otro lado en la escuela, salí bien librado del primer embate de exámenes, especialmente de las materiaa relacionadas con la carrrera - Ing. en Sistemas -, Que extraña coincidencia? ;)

domingo, febrero 20, 2005

Artículo UML

Artículo UML
Comente en mi post anterior acerca de un articulo sobre Programación orientada a objetos y UML, el cual envié a Mentores.NET, pues al parecer, algo del artículo no les gustó - no se que en el email solo decia que habia sido rechazado -; así que aquí esta el artículo completo, espero que a alguien le sea útil.

Decisiones Inteligentes
Este fin de semana le dí una arreglada a mi sitio, aún no esta funcional, pero espero en los siguientes dias configurar el Community Starter Kit para terminar la parte funcional del mismo, y después poder enfocarme al contenido.

Desarrollador 5 estrellas
Al día siguiente de mi comentario del programa desarrollador 5 estrellas recibi el correo indicandome que por fin se inicia el curso este 21 de Febrero para la 3er estrella. Ahora mi pregunta es: Concidencia o casualidad? ;)

Instalación de MSDE
El día de hoy me pasó algo curioso; recientemente compré una nootebook, a la cual le instalé el SP2, el día de hoy quise instalar el MSDE en esa máquina, pero se quedaba conlgado el instalador; revise los logs de instalación y me dí cuenta que no respondia al llegar al punto de instalar el sqlredis.exe, el cual instala los componentes del MDAC. Busqué en varios lugares en Internet por una solución pero nada, habia más personas con el mismo problema; supuse que el problema podria venir de algún conflicto con el XP SP2, así que lo desinstalé, pero el instalador seguia "colgandose" en el mismo punto, después de un rato sin saber que hacer, me decidí a bajar el MDAC más reciente del sitio de Microsoft, e instalarlo manualmente, pensé que si el instalador del MSDE encontraba una versión más reciente no iba a intentar instalarlo, pero nada, seguia "colgandose" en el mismo paso, así que reemplaze el archivo sqlredis.exe con uno que no hacia nada, y la instalación finalizó correctamente. Ya funciona el MSDE en mi máquina!
Si alguen sabe de alguna solución menos radical, le agraderé que le me la haga saber.

Por cierto no se si ya se dieron cuenta o no, pero algunos archivos de descarga desde el sitio de Microsoft, ya piden que se realize una verficación para saber si el Windows de la pc es genuino o no. La forma como funciona es que se instala un programa en la pc, la cual genera un número - no se en base a que - y despues ese numero se tiene que teclear en la página para que se autorize la descarga. Este sistema aún esta en prueba y parece que por ahí de Septiembre se hará oficial.

Mono
La semana pasada Miguel de Icaza y su pandilla, liberó otra versión más de Mono, lo interesante es que la versión en desarrollo (1.1.4), incluye soporte para System.Windows.Forms y ASP.NET 2.0, además de incluir mejoras en el performance y en el consumo de memoria; como dato curioso se invita a los usuarios a dejar la versión estable (1.0.6), por la de desarrollo, dada la cantidad de mejoras que esta incluye.

martes, febrero 15, 2005

Desarrollador 5 estrellas y otras cosas

Ya ha pasado mas de mes y medio desde que presente la primera y segunda estrella del programa desarrollador 5 estrellas, y aun el curso de la tercera no esta disponible, bueno seguire esperando...

Curso: Introducción a C#
Fecha De Registro:
Thursday, December 30, 2004
Curso Asignado el dia:
Examen habilitado:
No Disponible

Por otro lado en la escuela nos encargaron un trabajo que explique que es UML y como se usa para modelar programas orientados a objetos. Envie el trabajo a Mentores.NET, si aceptan publicarlo, les pongo la liga, si no, lo publicare aqui en varias partes.

Por cierto hay un CD que hizo disponible Microsoft, acerca de ASP.NET 2.0 y Visual C# 2005, el disco mide 289MB y esta aqui.

Y en otro orden de ideas, desde hace tiempo he tenido la necesidad de utilizar algunos programas open source para distintas necesidades, aunque todos estos programas se originaron en Linux - a excepcion de firefox -, ahora estan disponibles en Windows, y definitivamente representan una buena alternativa contra programas que pueden ser costosos, y que se originaron en windows o mac. Asi que a continuacion les paso una lista de esos programas, espero que alguno sea util para ustedes.
- Navegador: Firefox
- Editor de images: Gimp
- Editor HTML: Nvu
- Editor de dibujos vectoriales: Inkscape
- Programa de oficina: Openoffice, y aqui esta version 2 en beta, pero que se ve muy bien

martes, febrero 08, 2005

Generador de passwords

Hace unos dias pense en escribir un pequeño programa que me permitiera generar passwords seguros de forma aleatoria, pero me decidi a buscar primero en el google para ver si habia algo disponible en algun lenguaje, para despues yo portarlo a C#, y me encontre con esta liga.
El codigo aqui esta con algunas modificaciones que sugieren en los comentarios:

public static string CreateRandomPassword(int PasswordLength)
{
string _allowedChars = "abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789!@$?";
Byte[] randomBytes = new Byte[PasswordLength];
char[] chars = new char[PasswordLength];
int allowedCharCount = _allowedChars.Length;

for(int i = 0;i<PasswordLength;i++)
{
Random randomObj = new Random();
randomObj.NextBytes(randomBytes);
chars[i] = _allowedChars[(int)randomBytes[i] % allowedCharCount];
}

return new string(chars);
}

Basicamente el codigo entra en un ciclo determinado por la longitud que deseemos que el password tenga, tomando un digito aleatorio de la cadena definida como _allowedChars.
Asi que si pasamos como parametro un valor de 10, otendremos algo similar a: EMPyhDHA7f.

Creo que es importante el que nos procupemos por tener passwords seguros, de esa forma nos hace menos vulnerables a ataques de diccionario y/o furza bruta, ya que desafortunadamente la mayoria de nosotros elegimos como passwords nombres de personas que conocemos (padres, hermanos, novias, hijos, etc), fecha de algun aniversario importante, nombre de mascotas, grupos de musica, canciones, etc.; situacion que pone en grave peligro nuestra informacion.

Por medio de esta simple rutina, es posible generar passwords de la longitud deseada, asegurandonos de que sea algo sin sentido, dificil de violar. Se que algunos diran, pero, me es mas dificil recordar una cadena sin sentido que algo que tenga significado para mi; tienen razon, pero si se trata de proteger informacion confidencial, creo que vale la pena esforzarse un poco.

Es posts posteriores voy a comentar como guardar los passwords de forma segura en una base de datos, guardando unicamente el hash del password, con lo cual nos haceguramos de que se vuelve indesifrable.

Por cierto en la escuela hay una clase llamada fundamentos de programacion, la cual realmente es programacion orientada a objetos, en la cual se usa el lenguaje C# como oficial para la clase.