05 noviembre 2009 ~ 2 Comments

Virtual Wifi en Windows 7 dormido, pero hay Software para utilizarlo

Connectify Alguna vez se me ocurrió  si era posible convertir un dispositivo con capacidades Wifi (Laptop o pc con tarjeta inalámbrica) en un punto de acceso como lo es el que usamos para conectarnos a internet. Luego de perder la cabeza buscando software que realmente permitiera esta funcionalidad llegue a la conclusión que esto si es posible pero no por lo menos en ambiente Windows.

Verdaderamente me extrañaba por que si piensas en un punto de acceso no es más que un hardware que emite y recibe la señal y software para el envió de paquetes. No hay ni siquiera enrutamiento o NAT pues de eso se encargaría el proveedor de servicios.

Esta funcionalidad de convertir el pc en un router era una de las novedades mas interesantes que esperábamos en Windows 7. Pues con esto si teníamos un pc con Wifi podríamos compartirle internet a todo los dispositivos que quisiéramos en casa (Personalmente quería usarlo con mi Nintendo DS). Sin embargo en la versión final de Windows 7 esta  funcionalidad quedo suspendida y no se dio a conocer.

Afortunadamente sobre la base de esta funcionalidad nativa en Windows 7 se ha desarrollado una aplicación que nos permitirá aprovecharla. Connectify nos permite hacer funcionar nuestra computadora como un punto de acceso. Basta con colocar el nombre de nuestra red (SSID) una contraseña y el recurso que queremos compartir. La seguridad para esta red es por defecto WP2 y no puede ser deshabilitado para evitar los problemas de seguridad. Eso evita que el usuario deliberadamente deje a merced su sistema.

Esta aplicación aun esta en etapa de pruebas, pero esperamos que siga explotando estas funcionalidades, que supongo serán expuestas cuando tengamos el SP1 de Windows 7.

Sitio oficial: Connectify

04 noviembre 2009 ~ 0 Comments

La presentación sobre Win 7

03 noviembre 2009 ~ 6 Comments

Colossus.Net y Academy Alliance en la Universidad Tecnológica de Pereira

El Martes pasado (3 de Noviembre) tuvimos la oportunidad de presentar el AA de nuestra universidad. Junto con esta presentación tuve el honor de mostrar la versión final de Windows 7 a la comunidad académica y hacer un par de demostraciones. Pero todo por el principio …

¿Que es un Academy Alliance?

Los Academy Alliance son convenios entre Microsoft y las instituciones educativas que le permiten a los estudiantes adquirir licencias de diferentes productos para un uso académico. Estos convenios incluyen un pago por parte de la institución, pero este es casi simbólico pues no representa un porcentaje real sobre el material que están adquiriendo los beneficiados.

En el caso de la Universidad Tecnológica de Pereira el costo del convenio fue de alrededor de $2’000.000 pero si tenemos en cuenta que incluye licencias para que los estudiantes usen Windows 7 que pude alcanzar un costo por licencia de $400.000 y se benefician más de 500 estudiantes el valor es simbólico.

¿Que es Colossus.Net?

Colossus.Net es la célula académica de Microsoft en la universidad, este grupo fue el principal encargado de gestionar los debidos permisos y contactos para realizar esta actividad.

¿Y entonces en que consistió el evento?

La iniciativa del AA nació desde el interior de la célula, hace ya tiempo (mas de un año y medio) Jairo Contreras el fundador de la célula en la universidad había manifestado sobre su interés en ese convenio. El fue el encargado de hacer el acercamiento con los directores de programa y el señor decano de la facultad.

[...]

26 octubre 2009 ~ 4 Comments

Comparativa entre las 6 versiones de Windows 7

Con todo el revuelo que causo la semana pasada el lanzamiento de Windows 7, nos hemos visto un poco confundidos con las verdaderas diferencias que existen entre las diferentes versiones. Y digo diferentes por que siguiendo con la estrategia originada en vista Microsoft ha identificado 6 principales mercados objetivos a los cuales dirigir versiones para sus productos.

Las mas simples, Starter y Home Basic, es bastante claro que son muy limitadas, al punto que me pareció ofensivo que solo permitieran (en la starter) la ejecución de un solo programa a la vez. Y más aun cuando decían que estas versiones estaban orientadas a los mercados en crecimiento (países subdesarrollados). Al final dejaron esta locura pero a medias… pues solo permiten la ejecución de tres aplicaciones. Me gustaría ver a los de Redmond trabajando en una computadora que solo pueda abrir tres aplicaciones al tiempo. Pero eso es otra discusión por el momento les cuento que en Daily Tech lograron una excelente tabla comparativa entre las diferentes versiones. La dejo para que se empapen sobre el asunto de las diferencias entre versiones.

Daily Tech: Windows 7 Editions Compared, With Table of Features

Tabla comparativa W7

Tabla comparativa W7

25 octubre 2009 ~ 18 Comments

Probando Google Wave

Ayer despues de muchos días en busqueda incesante a traves de blogs y “pedir” la invitación en varias ocaciones a traves del portal de Google Wave he recibido mi invitación.
Ver el correo con asunto : “Your invitation to preview Google Wave” me recordo el momento cuando hace ya algunos años recibi la invitación para ser Beta Tester de Gmail, alla en los tiempos que tener un correo de 1Gb de espacio para almacenamiento era algo realmente loco (Hotmail daba 2 Mb en ese entonces y el unico que ofrecia tal cifra era XaxaMail).

Cuando entre por fin a wave me encontre con una experiencia totalmente distinta, era como estar ante tu correo, el mensajero y el buscador. Todo en ventanas drag and drop que hasta permitian ser minimizadas.

Por lo pronto estoy probando que tanto se puede hacer, un link excelente para darse una idea de lo que es Wave, mientras yo logro darle una definición es :Google Wave, todo lo que debes saber

No es más por ahora, si quieren una invitación a Wave con gusto les comparto, solo deje un comment y a la vuelta de correo podran subirse a la nueva Ola!

Mientras tanto Kawabonga!

11 octubre 2009 ~ 1 Comment

Photoshop on-line

No es precisamente Photoshop para que lo usemos on-line pero tiene muchas de las características interesantes que tiene el PS. Además de que puede sacarnos un apuro cuando estamos en una computadora que no lo tenga, también por los asuntos de licencias, tiempo de instalación y demás.

El programa del que hablo es Splashup, un completo editor de imágenes en línea, basado en flash (:s no me imagino el lio que se hicieron programando tremenda aplicación), en el cual podemos aplicar incluso efectos, usar filtros, pinceles y trabajo con capas.

Splashup no tiene nada que envidiarle a Photoshop
Splashup no tiene nada que envidiarle a Photoshop

Sitio oficial de Splashup: Splashup

10 octubre 2009 ~ 0 Comments

Si estás empezando en la programación

Tú puedes pensar que los grandes programadores pueden escribir miles de palabras en un segundo, tienen un cerebro súper desarrollado y tienen adaptado un vinculo que les permite conectarse directamente a una computadora. Especialmente con lo del vínculo. En mi experiencia los mejores programadores son los que más se divierten haciéndolo, son los cuales con los que disfrutas hablando, son los que no se enojan contigo cuando encuentras un error en sus programas y quienes en algunas ocasiones aceptan que tu solución es mejor que la que ellos inventaron.

A mi me gusta mucho más trabajar con alguien así que con alguien que escribe miles de líneas de código en un minuto pero se reúsa a hablar conmigo, si yo le sugiero que alguna de esas líneas está equivocada.

Los grandes programadores se preocupan en encontrar si lo que están haciendo es el camino correcto. Si ellos trabajan para un cliente, ellos aseguran en dar al cliente lo que el cliente quiere. Ellos no sumen que conocen el mejor camino para hacerlo y que es el único, ellos se aseguran que lo que producen está probado y viene con documentación que sirva de ayuda. Ellos trabajan en equipo, hacen café cuando es su turno y hacen lo necesario para asegurarse que los proyectos lleguen a un final feliz. Po su puesto, ellos también pueden llenar tu oficina con pelotas de playa, pegar tu teclado a la mesa con pegante instantáneo, o cubrir tu silla con papel de aluminio ,pero todo lo hacen con espíritu amigable.

Grandes científicos como Isaac Newton y Benjamin Franklin desarrollaron experimentos para descubrir con funciona el mundo, entonces personas como Thomas Edisson vinieron y experimentaron de nuevo con la ciencia y la ingeniería haciendo cosas que todo el mundo quería. Tú vas a entrar a un experimento similar aprendiendo acerca de la programación. Jugando con los distintos lenguajes y escribiendo pequeñas líneas de código, investigaras como funciona una computadora y cómo inventar programas los juegos o programas que todos quieren

No sientas miedo de experimentar y probar cosas tu mismo.

Recuerda que los grandes científicos no siempre encontraban de forma fácil entender que estaba sucediendo con sus experimentos, y esto es igualmente verdad en la programación. Algunas de las cosas que tú haces cuando escribes programas puede que no tengan mucho sentido al principio, por lo tanto debes prepararte para trabajar y entender que está sucediendo adentro del programa

09 octubre 2009 ~ 1 Comment

Membership API en ASP.NET – Creando el almacenamiento de datos

Cuando se usa  membership API, es necesario establecer el almacenamiento de datos que va a ser usado en conjunto con el proveedor de membrecía. Cuando se usa SQL Server (2005 – 2008) Express Edition en conjunción con ASP.NET, el proveedor esta en capacidad de crear el almacenamiento de forma automática para nosotros. Sin embargo cuando si estamos usando una versión distinta habrá que crear las tablas y métodos de forma manual. (o bajando los scripts :p)

Lo que vamos a hacer a continuación es agregar la base de datos que necesitamos para hacer uso de la API.

1. Debemos ubicar dos scripts que vienen incluidos desde el framework de .net desde la versión 2.0. Estos son Installcommon.sql y Installmembership.sql estos nos servirán para generar la base de datos. En mi caso se encuentran en el directorio:

C:\Windows\Microsoft.NET\Framework\v2.0.50727

2. Luego abrimos el Management Studio de SQL y arrastramos el script desde la carpeta hasta el entorno. Primero el Installcommon, cuando ya veamos el script podemos darle Execute. Luego de unos minutos y termine la ejecución, hacemos lo mismo con Installmembership. Listo eso es todo lo necesario para tener la base de datos necesaria para trabajar con la API.

SQL Server Management Studio 2008, corriendo el script

Basta con arrastrar el script hasta el SQL

Ahora bien, hay otros scripts que pueden sernos útiles dentro de esta carpeta para aplicaciones futuras. Lo que si no debemos olvidar es que todos necesitan primero de instalar –Common-

Script Descripción
InstallCommon.sql Instala algunas tablas comunes y procedimientos necesarios tanto para la API de Membership y Roles
InstallMembership.sql Instala las tablas de las bases de datos, procedimientos de almacenamiento y disparados de la API. Incluye las tablas de usuario, adicionalmente propiedades de usuarios y procedimientos para acceder a la información
InstallRoles.sql Instala todas las tablas de las bases de datos y procedimientos requeridos para asociar a los usuarios con las aplicaciones de roles. Estos roles pueden ser usados para autorización
InstallPersonalization.sql Contiene DDL’s para crear cualquier tabla y procedimiento necesario para hacer crear aplicaciones personalizadas a partir de “web parts”
InstallProfile.sql Crea las tablas necesarias para soportar el uso de ASP.NET perfiles
InstallSqlState.sql Instala las tablas para la persistencia de sesión en el temporal del servidor SQL. Cada vez que el servicio de SQL es apagado, el estado de sesión se pierde
InstallPersistSqlState.sql Instala tablas para persistencia de sesión en tablas separadas. Eso quiere decir que el estado permanece vivo incluso cuando el servicio SQL es reiniciado

Eso es por ahora, en el siguiente post veremos como hacer uso de este repositorio de datos

06 octubre 2009 ~ 2 Comments

Membership API en ASP.NET

Cuando trabajamos en un sitio web muy posiblemente lleguemos al punto de que se necesite distinguir a los usuarios. Es decir algunos usuarios debo poder reconocerlos para ofrecerles un contenido o acceso especial. Mientras que otros simplemente acceden a las primeras paginas de nuestro sitio.

Esta distinción de usuario se hace comúnmente por medio de formularios de acceso o –login- . Pero si estamos empezando o simplemente no queremos complicarnos en el diseño pensar en la base de datos, su conexión y la serie de formularios para autenticar, crear nuevos usuarios, restablecer las contraseñas de los existentes y demás tareas de la administración de usuarios puede ser un tanto molesto.

ASP.NET desde su versión 2.0 posee una API para el manejo de membresias (Membership API). Esta API es un “framework” basado en la autenticación por medio de formularios. Cuando usamos esta no tenemos que preocuparnos por implementar paginas de –login- o el almacenamiento de las credenciales.

Ventajas de Membership API

  • La habilidad de crear y borrar usuarios mediante programación o por medio de la utilidad de configuración web de ASP.NET
  • Restablecimiento de claves con la posibilidad del reenvió automático de la nueva clave al correo al usuario si este lo almaceno al momento de la creación de la cuenta
  • Un set de controles pre construidos para paginas de login, creación de usuarios, estado del usuario y diferentes vistas para usuarios autenticados y anónimos
  • Un componente de abstracción entre el repositorio de datos y la aplicación.

Ahora vamos a usarla!

Antes de poder adentrarnos en el uso de la API hay una serie de pasos importantes a seguir:

  1. Configurar el web.config para permitir el acceso a los usuarios registrados y negarlo a los anonimos
  2. Establecer el repositorio de datos. Por ejemplo si estamos utilizando MySQL tendremos que hacer una serie de tablas y procedimientos para el funcionamiento
  3. Configurar la conexion con el repositorio en el archivo web.config
  4. Crear los usuarios por medio de la utilidad de configuración web de ASP o directamente en la base de datos (no lo recomiendo)
  5. Finalmente crear la pagina de login que use los controles pre construidos para que valide la entrada y el almacenamiento de las credenciales en el usuario

Este es el esquema que seguiremos en los siguientes post hasta que al final tengamos una pagina de login basada en la API construida.

1. Configurando la autenticación por formularios

La API de membrecía esta basada en la parte superior de la autenticación por formularios y proporciona una mirada –out of the box- para el manejo y la autenticación de usuarios. Por lo tanto como primer paso debemos configurar la aplicación para que utilice el método de autenticación por formularios como método usual. Por lo tanto, debemos estructurar nuestra aplicación de un modo diferente. La pagina principal debe poder ser exequible tanto a usuarios anónimos como a los identificados, pero los diferentes directorios serán restringidos en función de los permisos que otorguemos a los registrados. Estos subdirectorios tiene su propio web.config que rechaza el acceso a los usuarios inválidos, tan pronto un usuario no valido intenta ingresar el –runtime- de ASP lo redirige a la pagina de inicio de sesión.

Entonces en la raiz de la aplicación, sobre el web.config se establece que el metodo de autenticación seran los form:

<system.web>
<authentication mode=”Forms” />
</system.web>

Como se puede ver , esta configuración especifica permite a los usuarios anónimos acceder a las paginas. Por lo tanto a los subdirectorios se les puede incluir en sus web.config:

<configuration>
<system.web>
<authorization>
<deny users=”?” />
</authorization>
</system.web>
</configuration>

Esta configuración no le permite a los usuarios anónimos entrar a los directorios protegidos. Si alguien no autenticado intenta acceder a los recursos de este directorio el –runtime- de ASP inmediatamente lo redirige a la pagina de login. Po supuesto hay que crear la pagina de login pero la API como se vera en los siguiente post nos hará todo mucho más fácil.

02 octubre 2009 ~ 2 Comments

Utilizando WordPress con Windows Live Writter

En ocasiones puede volverse más interesante si se escribe en cualquier momento que tienes tiempo, sin embargo hay ocasiones en las que no se tiene acceso a internet. Para solucionar esto existen los programas como Windows Live Writter que te permiten escribir en tu computadora para luego sincronizar la información con nuestro blog cuando ya tengas acceso a la red.

Para este ejemplo utilizaremos Windows Live Writter, que es sencillo de adquirir y ahora más cuando te viene casi “agregado” con la instalación del msn messenger. Aunque sinceramente no entiendo por que cuando se instala el messenger viene con un excesivo peso (112 mb) que tanto hará por detrás el mensajerito :s

Partiendo de que ya tenemos nuestro WLW instalado vamos a configurarlo para usar nuestro blog.

Agregando un blog

Imagen 1. Agregando un nuevo blog

Buscamos la pestaña Blog, y click sobre agregar cuenta de blog…

Que servicio de blog usasImagen 2. ¿Qué servicio de blog usas?

En nuestro caso diremos que hacemos uso de otro servicio de blog, este servicio puede ser el de Blogger, WordPress, etc.. Le damos siguiente

Agregar una cuenta de blog

Imagen 3. Dame toda tu información!

En esta  pantalla colocamos toda nuestra información de la cuenta. Siguiente…

XML-RPC Services are disabled on this blog. An admin user can enable them Imagen 4. El peor error que puedes encontrar

En el caso que estemos usando una instalación sobre nuestro propio servidor, es posible toparse con este error, sin embargo la solución es muy sencilla. Lo único que esta sucediendo es que tu Blog no esta permitiendo la edición desde un programa externo a él por cuestiones de seguridad.

Para solucionar esto vamos a la administración de WordPress, buscamos Settings, Writing, y validamos [] Enable the WordPress, Movable Type, MetaWeblog and Blogger XML-RPC publishing protocols.

image Imagen 5. En WordPress

Y listo! si se obtuvo el error anterior basta con repetir los pasos anteriores al problema … siguiente y listo, puedes usar WLW con el blog que prefieras.