Masoca's tools

Así llamabamos a los juegos y aplicaciones que instalabamos hace 15 años con una pila de 20 discos de 3 1/2. Eran epocas gloriosas. Para hacer funcionar un juego (backup o con los discos originales) teniamos que trastear el autoexec.bat para cargar unas cosas sí y otras no. Todo esto para liberar las 640 K de memoria base y el juego arrancara.

Aplicaciones como el ‘a.exe’ que le autocompletaban directorios cuando cambiabas usandolo en lugar del ‘cd’, comprimiendo y descomprimiendo con el pkunzip, arj,  formateando los discos con el 2MF para lograr que los discos de 1,4 se conviertieran en 2MB, … Habia que complicarse para lograr pequeños hacks que ibamos necesitando para el dia a dia.

Ahora la administracion de los PCs se ha vuelto mucho más intuitiva, con el boton derecho del raton tienes acceso a todas las opciones que te brinda el sistema operativo, en Internet tienes informacion de cómo mejorar tu sistema operativo hasta hacerlo tan rapido como si tuviera la version anterior del mismo 😉  Sin embargo en cuestiones de administracion uno se vuelve muy perezoso. Puedo aguantar meses y meses pulsando una tecla al arranque para que no me analice mi C: porque tarda la vida, el escritorio se me va llenando de iconos, tengo el mismo wallpaper desde hace más de 2 años,…

Sin embargo en cuestion de programación aun tengo esa costumbre de intentar saber bien que hace exactamente el código que escribo. Desde hace más de 5 años programo en C++ con Visual Studio 6. Me manejo con mucha soltura con MFC, que es una pesadilla para los programadores de Visual Basic pero para los que sabemos que habria que hacer para programar lo mismo con el API de Win32 es una maravilla. Pero el tiempo avanza…

Llegan nuevas tecnologias y APIs de programacion: Windows Presentation Fundation, Windows Communication Fundation, las clases ya trabajadas que se usan en .NET,.. Todo un mundo de tecnologias ya hechas que, aunque quiera resistirme (que no es el caso), noto que necesito aprender y adaptarme. Donde trabajo tenemos mucho, mucho codigo en proyectos como he comentado (C++ con MFC). Hemos decidido dar el gran paso, pero darlo como Dios manda. Cuando empezamos no sabiamos de .NET, de patrones Modelo-Vista-Controlador (MVC) y practicamente nada de Unit Testing. ¿Que hacer para arreglarlo? Hacerlo todo a la vez mientra migramos a Visual Studio 2008.

En este blog voy a intentar ir publicando las cosas que vamos descubriendo que espero que le sirva a otros programadores, tan “masocas” como yo que prefieren seguir usando C++ con toda la parafernalia de nuevas tecnologias que nos llegan.

Empezamos el viaje…

Windows CardSpace, breve descripción y comentarios

Como se habrá visto en mi anterior post de programación, estoy haciendo el curso de desarrollador 5 estrellas de microsoft (www.dce2005.com). El primer curso de la cuarta estrella trata de Windows CardSpace. Esto es una idea de Microsoft para intentar reducir el problema de phising (peticion de password al usuario creando una web haciendose pasar por la original).

El uso de password lo sustituye por tarjetas de identificacion que se almacenan en el ordenador del usuario. Estas tarjetas no contienen informacion del usuario sino que se usan para pedir esa informacion de modo cifrado a una tercera entidad llamada proveedor de identidad (identity provider). Esta entidad le devuelve el grupo de informacion en un token al usuario que a la vez lo envia a la web para identificarse. El token esta formado por una serie de claims que cada uno es un dato, puede ser usuario, dirección, … De estos datos la web coge los que necesita para identificar al usuario.

De aqui surgen varios inconvenientes.

Primero que la informacion se almacena en el ordenador del usuario y necesita exportarlo por ejemplo a un USB e instalarlo en el ordenador que vaya a usarlas, por ejemplo un Cybercafe. Microsoft entiende que esto es un problema e informa que en la proxima version se podrá usar directamente del USB sin instalarla. Esto sí es una buena idea ya que igual que tus llaves de casa puedes llevar encima tus tarjetas de identidad para usar en distintas webs.
Segundo que tampoco eliminan el problema del phising al completo, ya que una persona maliciosa podria crear una web falsa que solicitara el token del usuario. Es el usuario es que debe distinguir la web original de la copia y no aceptar a entregarle la informacion si no es de su confianza. Si el usuario es un poco avispado puede darse cuenta que si ya ha entrado en esa web anteriormente no deberia pedirle el sistema confirmacion para entregar la informacion ya que se hace de forma automatica. Microsoft informa que para evitar esto se esta estudiando el certificar las imagenes de la web (logos) para que el usuario confirme que realmente son de la web que espera. Aqui mi pregunta es: ¿por que no se hace eso directamente con el sistema de password actual?

Me parece que es un buen intento pero no soluciona nada y complica demasiado el sistema de autentificación sobre todo para el desarrollador de la web. Para el usuario se le presenta un sistema muy intuitivo y bonito con tarjetas e imagenes pero aun tiene un par de flecos por mejorar.

Espero vuestros comentarios y correcciones.

Enlaces:

White paper de Microsoft. http://msdn2.microsoft.com/en-us/library/aa480189.aspx
Un pdf de cómo implementarlo (hands on labs) http://www-sor.inria.fr/~galland/papers/HOL07techdays.pdf

Al fin la quinta estrella de desarrollador .NET

Hola.

Existe un curso de programacion online hecho por Microsoft en el que van enseñando las tecnologias .NET de más interes: ASP .NET, Windows Presentation Fundation, Windows Communication Fundation, etc… Es totalmente gratuito y segun vas aprobando examenes te van concediendo estrellas hasta llegar a un total de cinco. Hace unos pocos dias por fin han puesto el contenido para llegar a la quinta estrella y además si haces despues otros cursos te asignan el titulo de Desarrollador Gold o Platinum. Yo por el momento estoy estudiando el primer curso de la cuarta estrella (CardSpace). Se lo recomiendo a todo aquel que quiera estar a la ultima en desarrollo para Windows. El link es www.dce2005.com Date prisa que si sacas la 5ª estrella antes de fin de febrero te envian un diploma a tu casa.

Mi opinión sobre las psicoimágenes

En todo el tiempo que estuve como colaborador en Nostromus la Nave del Misterio pude investigar por mi cuenta y llegar a mis propias conclusiones. Le dediqué todo el tiempo que creí necesario para ello.

El tener una cámara de video enfocando la pantalla del ordenador crea una serie de imágenes aleatorias ya que cada pequeño detalle es repetido y aumentado, como cuando se produce acople con un microfono justo al lado de un altavoz. Cuando se graban estas secuencias de imágenes se generan 25 imágenes por segundo (o 30 en regiones con NTSC) y si se graba por ejemplo 30 segundos se genera 750 imágenes.

Revisando imagen a imagen cada una de las 750 imagenes en sólo 30 segundos de grabación las posibilidades de que una agrupacion aleatoria de formas se transforme en algo reconocible es muy alta.

Ahora con los portatiles y las camaras digitales es posible probar a capturarlas sin los equipos que se usaban. En el tiempo de mi participación en Nostromus hice un software que usaba la camara digital y un portatil e hice innumerables pruebas. Los escasos resultados que recogí estan en este blog. Si estas interesado en probar por tí mismo puedes descargar una versión de prueba aquí

Tambien hay que tener en cuenta un proceso mental denominado paraedolia. Este proceso es la capacidad de encontrar formas conocidas en agrupaciones aletorias. Por ejemplo encontrar formas en las nubes. Con las caras esto es más acusado ya que desde pequeño lo primero que aprendemos a reconocer son las caras de nuestros padres. Este reflejo ha sido creado tras muchos años de evolucion y permitia a los recien nacidos de hace miles de años caer bien a sus padres y tener más probabilidades de sobrevivir.

Las psicoimagenes no son más que eso, imágenes aleatorias que se reconocen como objetos o personas por nosotros mismos. He visto vídeos de psicoimagenes con caras de niños en movimiento y otras cosas que sorprenden mucho pero todos los investigadores medio serios del tema lo máximo que han conseguido tras mucho tiempo son formas medianamente reconocibles como las que aparecen y apareceran en este blog. De todos modos si alguien quiere demostrar lo contrario éste es su sitio.

Un saludo a todos

Primer post en el blog (para que luego digan de anglicismos)

Hola a todos.

Aqui intento estrenarme en la creación de un blog. Es lo que se lleva ahora y no he querido desaprobechar la oportunidad de ver a dónde puede llevar todo esto.

Las primeras categorías que he creado son sobre los temas que más conozco. Llevo más de 5 años desarrollando aplicaciones para una empresa de referencia en sotware para cadenas de televisión y en todo este tiempo algo se ha aprendido.

Espero sugerencias de temas e intentaré que esto sea un poco de todos.

Un saludo a la gente del “Interné”.