Ultimo Technight del 2006 y se viene la temporada 2007..

El pasado Miercoles 20 de Diciembre se realizó aquí en Raona el último Technight del año 2006, y a continuación las respectivas fotos (click para ampliar):

El evento habia empezado. Se empezaron a poner papitas, palitos y algun desubicado ya le entró a una cerveza..


Matias Iacono estaba hablando de SQLServer CE


La sala del Technight, vista desde afuera


Ahora sí.. una mezcla de Quilmes, Budweisser, Brahma.. 7up y Pepsi para los no alcoholicos. También hubo una Schneider (puaj) culpa del fanático de la misma, Martin Melchior. Algún despistado, se la tomó.


Al igual que en el último Technight «hosteado» en Microsoft, aparece aquí una foto de ex compañeros de Harriague tomando unas cervezas en este caso reincide Andrés Reynoso (Lucas Ontivero a la izq y yo a la derecha). Pablo Abian tambien estuvo, pero no aguantó 2 charlas en un mismo día (los que lo conocen saben que se duerme en las mismas).



Que se viene para la temporada 2007? por ahora se sabe que Bruno Capuano mostrará en Enero robotitos manejados con tecnología Microsoft (MS Robotics). Apenas tenga el link para poder registrarse, edito este post y lo agrego.

EDITADO: Aquí está el link
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032323225&Culture=es-AR


 Cross-posted desde http://www.carloszanini.com.ar

Technights de Microsoft de Diciembre en Córdoba, Argentina

Porqué especifico que es en Córdoba, Argentina? Porque los posts de mi blog también salen publicados en la comunidad de Geeks.ms

En el siguiente email que me imagino que cualquier desarrollador involucrado en tecnologías Microsoft ha recibido, figura uno de los 2 technights de Diciembre pero con la dirección equivocada (click para ampliar):



La dirección correcta es la siguiente (es en Raona):

Avellaneda 240 B° Alberdi Norte
X5000KFB Córdoba, Argentina
Telf. +54 351 4262147
        +54 351 5688957
        +54 11 52748319

Los oradores son Damian Galletini y Ramón Bosch. El tema del evento «Diseño y Desarrollo de Experiencias de Usuario para Windows Vista con WPF» parece muy interesante 😉 y el link para registrarse es el siguiente:
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032318786&Culture=es-AR

El otro Technight es el 20 de Diciembre y el tema según tengo entendido es SQL Server CE. Cuando tenga mas datos los publicaré.

Respetando la tradición de los Technights, al final habrá cerveza y papitas, palitos.. ese tipo de cosas. Intentaré que haya Fernet (branca, obvio) pero no se.. veremos…

Cross-posted desde http://www.carloszanini.com.ar

Nuevas certificaciones de Microsoft para el 2007

Se esperan para principios de 2007 los siguientes exámenes:



Habrá un exámen para Windows Vista y será el 70-620 (MCTS: Windows Vista: Configuration) y dos certificaciones Microsoft Certified IT Professional (MCITP):
MCITP: Consumer Support Technician y
MCITP: Enterprise Support Technician



Habrá tres certificaciones MCTS para Desarrolladores y otras 3 para IT Professionals.
Desarrollo
MCTS: Office SharePoint Services (MOSS): Application Development (70-542)
MCTS: Windows SharePoint Services: Application Development (70-541)
MCTS: Office 2007 Client: Application Development (70-543)


IT Professionals
MCTS: Office SharePoint Server 2007, Configuration (70-630)
MCTS: Windows SharePoint Services 3.0, Configuration (70-631)
MCTS: Deploying a Business Desktop with the BDD (70-624)




Para MCTS, un exámen
MCTS: Exchange Server 2007, Configuration (70-236)

Para MCITP, dos exámenes
MCITP: Enterprise Messaging Administrator (70-237 y 70-238)

Para más información, subscribirse a MCP Flash Newsletter

Cross-posted desde http://www.carloszanini.com.ar

Por un Viewstate mas seguro..

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJOTU4MjMyMzI1DxYCHgRob2xhBQVtdW5kb2Rk0TeQYE/t2A4VPFBDnmXKxAU3Ndo=" />

A primera vista, el valor del Viewstate parece encriptado. Sin embargo está muy lejos de estarlo, sólo está codificado en Base64.
Con el siguiente código:

byte[] bytes = Convert.FromBase64String("/wEPDwUJOTU4MjMyMzI1DxYCHgRob2xhBQVtdW5kb2Rk0TeQYE/t2A4VPFBDnmXKxAU3Ndo=");
string decoded = System.Text.Encoding.ASCII.GetString(bytes);
Response.Write(decoded);

Se obtiene el siguiente resultado:

?xxxx 958232325xxxxxholaxxxmundodd?7?`O??xxx

No todo es totalmente entendible, pero si en vez de "hola" o "mundo" teníamos el número de tarjeta de un cliente.. se leería fácilmente.
Para securizar el Viewstate podemos utilizar un hash code y asegurarnos que nadie nos descifre (con el ejemplo de arriba) nuestro viewstate y nos lo modifique en nuestra página (utilizando tantas herramientas existentes como add-ins de IE (ej: iedevtoolbar), FF, etc). Para esto tenemos que habilitar el atributo EnableViewStateMAC en @Page o en <pages> dentro del Web.Config

Ej: <%@ Page EnableViewStateMac="true" %>

No voy a entrar en detalles de cómo ASP.NET se encarga de asegurarse que el Viewstate no fue modificado por nadie, simplemente decir que así sucede. Y si alguien lo hubiera modificado, ASP.NET no continúa con el Postback de la página sino que devuelve un error como:

The state information is invalid for this page and might be corrupted

Bien. Ahora estamos totalmente seguros? No todavía. Nuestro Viewstate esta hasheado, pero aún podría ser leído. Lo siguiente es habilitar la Encripción (de nuevo, a nivel de página o de sitio web)

<%@ Page ViewStateEncryptionMode="Always|Never|Auto" %>

Tres valores posibles para la propiedad, los cuales son:
Always: siempre encripta
Never: nunca encripta
Auto: es algo así como un "on demand" ya que si una página requiere que el Viewstate se encripte deberemos llamar a Page.RegisterRequiresViewStateEncryption(). Si nadie lo llama, la encriptación no procede ya que significa que no fue necesaria.

Cuando se produce el hashing o el encriptado, ASP.NET utiliza la información de clave y algoritmo de encriptación especificado en <machineKey> del Web.Config al que tendremos que agregarlo nosotros o del Machine.Config donde ya viene configurado por defecto. Para más información del <machineKey> y su configuración entrar aquí.

A tener en cuenta, la encripción tiene un pequeño impacto en la performance ya que ASP.NET se encarga de encriptar y desencriptar el Viewstate.

Espero que haya quedado claro y sepamos que a veces agregarle seguridad a nuestras aplicaciones web es cosa de segundos.

Cross-posted desde http://www.carloszanini.com.ar

Mis ultimas semanas

Han pasado varias cosas, a comentar.

Raona Argentina tiene nueva casa.(click para ampliar)

Entre mudanza y detalles a terminar nos fué impartido un curso de Sharepoint 2007 de la mano de Oriol Quinquillà (un Raonencs de Barcelona).

Previo a todo esto, aprobé el Exam 70-547 PRO: Designing and Developing Web-Based Applications by Using the Microsoft .NET Framework, logrando así la certificación:
MCPD: Web Developer

Salio la version 1.0 (beta) de ASP.NET AJAX !!

Hace poco leí en el blog de Scott Guthrie que ASP.NET AJAX iba a pasar por Beta, RC y RTM. Hoy salió la version 1.0 BETA, y se puede descargar de aquí.
También, hay controles que en esta release quedaron fuera del «Core» como el UpdateProgress, pero que se pueden agregar bajando ASP.NET AJAX CTP Beta que viene a ser algo así como un add-on de ASP.NET AJAX. Dicen que en la próxima release UpdateProgress será parte del Core.

Si alguien venía trabajando con la versión anterior (CTP de Julio) han hecho una Guia de Migración donde se explica como modificar el Web.Config, los cambios en el ScriptManager/Proxy, UpdatePanel y otros controles donde algunos han cambiado de nombre, otros de propiedades, etc.
Para conocer los cambios con mucho detalle tambien han hecho un whitepaper documentando los cambios de ATLAS July CTP a ASP.NET AJAX 1.0 beta.

También se actualizó el AJAX Control Toolkit para que funcione con ASP.NET AJAX 1.0 beta, incluyendo 3 nuevos controles:
DropDown
MutuallyExclusiveCheckbox
ValidatorCallout


Aprovecho este post para saludar a la comunidad de Geeks.ms, a la cual he sido invitado y mis posts saldrán tanto en http://www.carloszanini.com.ar como en http://geeks.ms/blogs/carloszanini (cross-posting 🙂 )
Geeks.ms es una comunidad que he visto crecer muy rápidamente estos ultimos meses y es promovida por MVPs, MCTs y personas influyentes de la comunidad sobre tecnología Microsoft.

Saludos desde Córdoba, Argentina.


Cross-posted desde http://www.carloszanini.com.ar