Cambio de dominio

Hola a todos:

Os habréis dado cuenta que hemos redirigido el gran blog http://speakingin.net que comenzamos ya hace 4 años en el 2007.

A partir de ahora este será nuestro nuevo sitio en el que seguiremos haciendo las traducciones de Scott Guthrie y buscaremos más contenidos interesantes para la comunidad Hispano hablante que tanto cariño y aprecio nos tiene.

Espero que esta nueva etapa que comienza sea aún más emocionante para todos nosotros.

Espero que os gusten los nuevos contenidos que tenemos preparados.

Speakingin.net Team.

ShareBill, la e-Servilleta

¿Estáis cansados de salir con “amigos” y a la hora de pagar nunca salen las cuentas? Ya tienes una solución mucho más cómoda, manejable y con menos errores que la calculadora de tu Smartphone.

Imagen digital de una servilleta de bar

Ha llegado Sharebill, la e-Servilleta(para los de la LOGSE servilleta electrónica) y totalmente gratuita desde el Marketplace de Microsoft.

Imagen de la interfaz de usuario de la aplicación Sharebill

Espero que os sirva.

Juanma

Documentación del formato XNB

Me voy a atrever con mi primer post sobre XNA, y es que he encontrado una documentación muy interesante sobre el formato XNB en el App HUB: http://create.msdn.com/en-US/sample/xnb_format

El documento cuenta en 22 páginas el formato de compilación de los .xnb generados por el proceso de compilación del pipeline de XNA Game Studio 4.0. Una lectura muy interesante si queremos enterarnos de las entrañas de ese proceso … sip, uno se vuelve loco de vez en cuando y le da por buscar cosas … y luego encuentra esto.

Y para más inri (¿es con o sin hache?) incluye un ejemplo en C++ nativo de un parser xnb en el que vemos cómo parsear un archivo compilado mostrando el contenido en la pantalla.

Espero que os guste tanto como a mi. 🙂

Juan María Laó Ramos.

 

First Lego Leage en Sevilla

La First Lego Leage llega a Sevilla. El día 6 de Marzo en la Escuela Técnica Superior de Ingeniería Informática estaremos viendo los robots que niños de hasta 16 años han hecho para pasar las pruebas de la competición de este año.

Este año las pruebas están orientadas a realizar una serie de asistencias médicas: desde tratar un hueso roto hasta realizar una operación cerebral a vida o muerte.

Estáis todos invitados.

JuanMa

¿Puedo ayudarte a dejar de fumar?

Pues si me dejas intentarlo os ofrezco esta sencilla herramienta para Windows Mobile 6.1/6.5 que he realizado para controlar el número de cigarros que fumas.

Es de uso sencillo e intuitivo y si tenéis alguna pregunta sobre su uso me tenéis disponible para lo que queráis:

La tenéis disponible para descarga en el MarketPlace aquí.

Espero sinceramente que os sirva como a mi.

Juan María.

Autenticación en WCF

Gracias a una duda en la lista de correo del Club .Net de Sevilla vamos a ver cómo funciona esto de la autenticación en WCF.

Os recomiendo que os leáis un poco la documentación que hay en MSDN sobre WCF, y que os descarguéis los ejemplos que están disponibles aquí. Son muy pero que muy completos, y muestran casi cada característica de WCF.

Lo que vamos a ver es sobre cómo poder autenticar a un usuario con un login y password. El ejemplo que trata este caso en concreto lo tenéis aquí. En el ejemplo, se usa un binding wsHttpBinding, está muy bien, todo perfecto. Pero lo que no queda claro es que la credenciales del login y password viajan cifradas por la red. Todo para evitar sniffers, ataques man-in-the-middle, etc…

El pero es que necesitamos un certificado que permita esa seguridad, que como se dice en el ejemplo, al definir la autenticación por Username a nivel de mensaje:

Con esta configuración, lo que no queda claro, es que las credenciales y todo el tráfico va cifrado a nivel de transporte. Pero para eso nos hace falta un certificado que el servicio usará para: 

  1. Autenticarse a los clientes.
  2. Cifrar las comunicaciones a nivel de transporte.

En los ejemplos nos indican cómo generar un certificado para pruebas. Esto lo tenemos en los archivos Setup.bat y clean.bat junto a los archivos de solución de VS. Esos archivos usan unas herramientas disponibles para XP, Vista, Server 2003 y 2008, etc. Para XP podéis descargarlo aquí.

Este certificado no es confiable, ya que está firmado por nosotros mimos como entidad certificadora. Esto tiene sus ventajas e inconvenientes. Ventajas de cara a la seguridad (siempre incómoda pero necesaria, que luego pasa lo que pasa) y los inconvenientes es que no es barato. Pero bueno, lo importante es que necesitamos un certificado x509 (de esos).

Lo importante que no se dice en la documentación pero que si se ve en el código de los ejemplos, es que tenemos que indicar cuál es el certificado que nuestro servicio WCF va a usar. Una vez ejecutado el setup.bat y si vemos la palabra succeedd podemos continuar:

¿Por donde iba?.. Ah si. Tenemos que indicar el certificado que va a usar el servicio. Esto se hace en la sección de ServiceCredentials:

Ya tenemos un servicio que usa un certificado para autenticarse y cifrarse, muy bien. Pero quién se va a fiar de un certificado que no está firmado por Verisign? ¿Yo? No debería, ya que entonces la seguridad que le estamos metiendo es “pa na”. Quiero decir, que a la hora de hacer esto y poner un sistema en producción debemos contar con un certificado bueno, de pata negra. Aquí estamos viendo sólo cómo se hace para un entorno de desarrollo.

La falla de seguridad está en que podemos decirle a la aplicación cliente que no se fíe de este tipo de certificados. Por defecto, cuando agregamos una referencia a un servicio wcf con certificados con Visual Studio, la configuración que nos planta es que no va a aceptar certificados que no estén firmados por autoridades de confianza (como Verisign).

Esto es lo que me estaba fallando y lo que originó la serie de preguntas y respuestas en la lista de correo del Club .Net de Sevilla. Si nos vamos al App.Config de la aplicación cliente podemos cambiar ese comportamiento, y decirle a la aplicación cliente que confíe en estos certificados, esto lo hacemos de la siguiente forma:

Si nos vamos al App.Config del cliente que viene en el ejemplo, lo vemos. Además tenemos que decirle al endpoint del cliente que use este behavior:

Y ya está. A runear.

Espero que seáis más listos que un servidor (que no tiene certificación alguna) y no necesitéis esto.

Espero que sirva.

Juan María.

Nuevo cambio en MSDN

El Jueves leí en el blog de Somasegar el anuncio de otro cambio en MSDN. En concreto del look & feel. Soy programador y bueno, como a muchos programadores (cada vez menos), el tema del diseño es algo que nos cuesta más trabajo. Crear interfaces y experiencias  de usuario amigables no es algo fácil, pero tampoco imposible.

En realidad envidio a las personas que tienen esa capacidad de crear de la nada algo bonito y usable para una gran mayoría. Pero en definitiva es algo en lo que, yo por lo menos, tengo que mejorar. Para gustos los colores y nunca mejor dicho.

La cosa es que estaba yo tan tranquilo con mis cosas y fuí a hacer una consulta a MSDN, mientras escribía la dirección en la barra de direcciones me acordé del post de Somasegar y pensé: Uy, a ver que han puesto nuevo…

Y toma, la primera en la frente: En la sección Sus recursos que está en el centro de la página aparecen tres enlaces a recursos impresionantes, como los blogs de los Davises (Carmona, Salgado, Cervigón), el de Héctor Montenegro, Jose Murillo, Cesar de la Torre y un largo etcétera. Cada uno con sus cosas buenas y cosas no tan buenas (por ser políticamente correcto, 😉 ). Gente de las que he aprendido un montón y sigo aprendiendo.

A lo que iba, la cosa es que este humilde blog aparece entre tan “privilegiada” compañía:

Captura MSDN

 Se que suena ya un poco de autobombo pero es algo que me llena de orgullo y satisfacción. Ya comenté que no esperaba esta acogida cuando empecé con este blog.

Sólo puedo dar las gracias a toda la gente que he conocido y de las que tanto estoy aprendiendo.

Ya por último me gustaría tener un poco de feedback y saber vuestras opiniones, halagos, insultos, cambios y cosas que creeríais que podría cambiar, mejorar, eliminar, añadir …

Y sobre todo, muchas gracias por pasar por aquí.

Casi un año

Hace ya casi un año que comencé con la aventura de este blog. Una idea que se coció en el Club .NET de la Universidad de Sevilla, entre amigos. Unos cuantos locos por la tecnología que se reúnen para hablar de ella. No sólo sobre tecnologías de Microsoft, ahí están las experiencias con Mono, uno de nuestros compañeros está implementando la parte de WCF, otro como parte de la comunidad de desarrolladores de OpenLayers,  … y una lista enorme de gente que si me pongo a enumerar … dejo a WordPress sin espacio en disco.

He conocido y sigo conociendo a un montón de gente tan apasionada en este tiempo que me llego a sentir incluso un poco acongojado de ver cómo se mueve este mundo. Y es que aunque siempre he sabido que el mundo de la informática se mueve deprisa, nunca lo había experimentado hasta que “engañé” a gente para que me dejara entrar en este mundo.

Hoy hemos alcanzado en este humilde blog las cien mil visitas. No se si será mucho para un año de vida de un blog técnico. Realmente no me importa, ya que las visitas que más me impresionaron fueron las treinta y tres primeras visitas en el mes de Marzo de 2007.

Sólo puedo daros las gracias a todos los que me visitáis y linkais. Sólo espero que este pasatiempo de traducción ayude a otros a resolver problemas. 

Muchas gracias.

 Juan María Laó Ramos.

Problemas con el servidor web de VS

Llevaba un tiempo teniendo varios problemas con la ejecución de una aplicación web en el servidor web que trae Visual Studio, llamado Cassini.

El principal problema es que los incidentes que sufría ocurrían de vez en cuando, es decir, no conseguía reproducir exactamente el error. Y lo peor de todo es que no sabía cuales eran las condiciones que hacían aparecer ese error. En el IIS funcionaba perfectamente, pero en mi máquina de desarrollo, de vez en cuando y sin saber porqué fallaba. 

Después de estar un tiempo ejecutando paso a paso la aplicación resulta que la cache de un postback a otro se vacía. Sigo investigando y doy con este link: http://www.johnsadventures.com/archives/2006/02/why_does_my_aspnet_cache_keep_clearing_i.html

Parece ser que cuando la máquina se va quedando sin memoria, pues la cache de dicho servidor web para las aplicaciones web que esté ejecutando se libera.

Sólo con configurar el web config de la aplicación va perfecto, un poco lento cuando estoy haciendo varias cosas a la vez, pero ya no padezo de dicho error. Lo conseguimos configurando la cache en la sección System.Web del Web.config de nuestra aplicación de la siguiente manera:

<caching>
  <cache disableMemoryCollection = “true
    disableExpiration = “false
    privateBytesLimit = “0
    percentagePhysicalMemoryUsedLimit = “90
    privateBytesPollTime = “00:02:00/>
</caching>

Espero que sirva.

Juan María Laó Ramos

Firefox, Visual Studio 2005 y Windows Vista

Llevo tiempo peleándome con el pequeño servidor que trae VS 2005 para hacer pruebas con páginas ASP.NET en local. El problema que tenemos los desarrolladore web es el de siempre, que si no se ve bien en Firefox e IE, etc, etc. Típica discusión cuando no se hacen las cosas bien con los estilos CSS. Afortunadamente estoy aprendiendo un poco y le voy cogiendo el truco. Continúa leyendo Firefox, Visual Studio 2005 y Windows Vista