Roy Osherove canta Every Build You Break

Noviembre 16, 2007 :: Posted by - Emilio Torrens :: Category - ,

Aquí tenéis el temazo que se marcó Roy Osherove al finalizar la sesión Agile Development with Team System en el TechEd 2007.

TechEd 2007- Se acabo :(

Noviembre 09, 2007 :: Posted by - Emilio Torrens :: Category -

Se acabo, hoy ha sido el ultimo día …

He estado en una charla de hacia donde va el software tomando como referencia hacia donde va el hardware, una de programación asíncrona en ASP.NET y una sobre Reflection.

Estoy en el Aeropuerto esperando mi avión a casa y me da bastante pereza escribir sobre las charlas así que el fin de semana o el lunes ya pondré algo.

Sobre el TechEd, para mi, un 11 sobre 10 en todo, un 11 en organización, un 11 en sesiones, un 11 los speakers, un 11 la gente … todo, lastima que ya haya terminado.

El año que viene mas …

TechEd 2007- Cuarto Día

Noviembre 08, 2007 :: Posted by - Emilio Torrens :: Category -

Otro día en Barcelona, hoy me he levantado bastante mal y con mucho dolor de cabeza … quizás de tanto intentar retener información :)

Al final solo he ido a dos sesiones estaba bastante mal esta noche así que me he levantado tarde y a las 3 me he ido al hotel a dormir.

Las sesiones han sido estas:

WEB310 The Next Release of ASP.NET – Significant Features Available Soon… (really soon)  
Matt Gibbs
The next release for ASP.NET will be available much sooner than you may think. Walk through the most compelling features that this release will offer, including powerful controls that deliver better user experiences, a new design pattern that provides developers with more choice, and features that make working with data effortless. This is a significant release that will empower Web developers to deliver real-world applications in record time.  
Thu Nov 8 10:45 – 12:00 Auditorium , Fri Nov 9 09:00 – 10:15 Room 116

Pues no se, esperaba mas de ASP.NET 3.0, además no se entregara a final de mes con el resto de novedades.

Hemos visto algunos controles de ASP para SilverLight y poco mas, luego se ha centrado la charla en tres cosas:

1-Astoria, la verdad es que es bastante "potente" creas una capa de servicios web de acceso a datos para todas las tablas de la DB en 1 minuto, después puedes buscar, listar, filtrar etc …

2-Dinamic Data, creas todos los formularios para manejar los datos de tus tablas, via LINQ, en 1 minuto también, además puedes customizar como se mostrara cada formulario, cada campo, añadir validadores etc etc …

3-MVC (Model View Controler) estaba fatal y no he hecho mucho caso, cuando reciba el DVD de las sesiones escribiré un Post sobre el tema.

INF308 Top 10 Mistakes Developers Make – Tales of an Over-Worked IT Pro  
David Aiken
All code checked in to source control. All use cases complete. All scenarios covered. All deployment and operational goals met. All pigs fueled and ready for take-off.

Ever thought “It worked on my machineâ€, had an application crash when more than one user was online or had to roll back an update because your service sucked up all the bandwidth? Once your software is “completeâ€, it still needs to be deployed and operated, a set of requirements often overlooked. If you’ve ever had a problem with a “finished†piece of software, whether it be installation, configuration, performance, security or you just want to know how to reduce the risk (and cost) of shipping software then this session is for you. During this session, you’ll see what the top IT Pro challenges are, and how you – the developer – can avoid the mistakes that cause them.  

Thu Nov 8 13:30 – 14:45 Auditorium

Son los errores que cometemos desde siempre, así que si todavía los cometemos …

Los errores mas comunes según MS:

Work On Mi PC, dar por supuesta la configuración de seguridad del entorno de produccion, XCopy en vez de crear un instalador, Dependencias (SQL, MSQUE …), Upgrade = Reinstall, no entregamos herramientas de administración, no damos informacion suficiente en los errores, no hacer test de multiusuario ….

Mañana mas …

TechEd 2007- Tercer Día

Noviembre 07, 2007 :: Posted by - Emilio Torrens :: Category -

El tercer día ya en Barcelona, ha sido un día bastante cargado y he podido aclarar varios conceptos que no tenia yo muy claros, además tengo nuevas ideas que pueden ser aplicadas inmediatamente en el departamento, así que día redondo

Me he chupado 5 sesiones, de las cuales 3 me han parecido geniales, son estas:

TLA329 Writing Maintainable and Robust Applications with Microsoft Visual Studio 2008 Team Edition for Software Developers  
Marc Popkin-Paine , Conor Morrison
As software projects evolve, it becomes critical that the code that we develop is robust and maintainable enough to survive the inevitable change that comes with building and deploying. In this session, we discuss some of the code analysis and unit testing features in Visual Studio Team Developer and see how we can use them to understand and improve the maintainability of a software project during development.  
Wed Nov 7 10:45 – 12:00 Room 115

En esta sesión hemos "explorado" el VSTS 2008 for Software Developers, en el departamento venimos usando el 2005 pero siempre hemos pensado que no le estamos sacando el "jugo" que deberíamos, así que me metí en la charla a ver que tal.

La charla ha estado enfocada a como nos ayudara a entregar al cliente un software con menos bugs, mejor rendimiento y que sea mas fácil de mantener, para eso disponemos de 5 herramientas:

1-Code Analisis, esta ya la conocemos (FXCop) asi que no hay mucho que contar, quizás destacar que lleva 200 nuevos checkins.

2-Code Metrics, esta es buena, son unos indicadores por los que tendremos referencias de la complejidad del código que estamos escribiendo y gracias a esos indicadores podremos obtener el "Manteinance Index" que nos indica como de fácil (o difícil) será hacer el mantenimiento de nuestra aplicación.

Los indicadores son, relación entre clases, nivel de herencia, líneas de código y cyclomatic complexity (o como de comlicado es el código), con una formula usando estos indicadores obtendremos el "Maintenance Index".

3-Profiling, nueva version de la herramienta, mucho mas intuitiva, con nuevo reporting.

4-Unit Testing, posibilidad de hacer testing de dll de terceros de las que no dispongamos del codigo, data connection string (csv, xml o db) en el que podemos configurar los valores de los test y hacer test de multiples escenarios, podemos combinar los Test con los Profiles, ademas incluye una herramienta de Code Coverage que te dira que lineas de codigo ejecuta el test y cuales no.

WEB314 Server Communication with Microsoft Silverlight and ASP.NET AJAX  
Fritz Onion
The release of Microsoft Silverlight brings opens a lot of doors for Web developers for building rich internet applications, including sophisticated vector graphics rendering, streaming video support, and seamless browser integration. In order to make these flashy applications actually useful, however, developers need infrastructure for communicating with the server efficiently. For the 1.0 release of Microsoft Silverlight, that infrastructure is the Web service support provided by ASP.NET AJAX with its automatic generation of client-side JavaScript proxies. This session will go into depth on how to best leverage ASP.NET AJAX Web Services from Microsoft Silverlight, covering the details of JavaScript Object Notation (JSON) serialization, asynchronous callbacks, and the JavaScript integration in Microsoft Silverlight. We will also look at the upcoming 1.1 release of Microsoft Silverlight and its native support for Web service proxies using either JSON or XML serialization with SOAP in its client-side CLR implementation.  
Wed Nov 7 13:30 – 14:45 Auditorium

La charla ha estado el 75% del tiempo con 1.0 y el 25% con 1.1, que era lo que interesaba, pero bueno, aun asi he comprendido algunos conceptos del 1.0 que, por no usarlo, no tenia claros.

Como claves, para crear un web site AJAX/SilverLight el truco es crearlo con la plantilla AJAX Enabled y luego hacerlo SilverLight a mano, el porque es que al crear el sitio AJAX Enabled el Manegador de servicios web que lleva por defecto el ASP.NET es substituido por otro que es capaz de serializar en JavaScript (puedes verlo en el archivo Web.config seccion de manejadores).

Otra clave es que los servicios web que queramos consumir desde JavaScript deben estar marcados con [ScriptService].

Que podemos usar la clase JavascriptSerializer para serializar y desserializar en JASON.

Que podemos usar metodos de la Pagina Web asincronamente como si fuera un servicio web declarandolos staticos, marcandolos con [WebMethod] y usando el atributo EnablePageMethods en el ScripManager (accederiamos desde el JavaScript con PageMethos.Metodo() )

TLA305 Continuous Integration With and Without Team System  
Roy Osherove
In this session we’ll dive into a world where the system is built and run on a daily basis, and even on an hourly basis. We’ll discuss Tools and Libraries that help you get there with Visual Studio 2003, 2005, 2008 and Team System. Even with Visual Studio Express – it’s all possible, and easier than you think. Among the tools discussed are MSBuild, CruiseControl, Nant, FinalBuilder and more!  
Wed Nov 7 15:45 – 17:00 Room 117

Una charla muy buena en la que hemos hablado de metologias (XP, MS Agile, SCRUM) y luego nos hemos centrado en los Builds Automaticos, hemos visto algunas herramientas de terceros, que bueno, estan bien, pero si usas VSTS …, al final hemos llegado al VSTS y hemos visto como configurar "Team Builds" de manera que el TFS haga los Builds, ejecute los Test, como configurarlo, como ver los reports, configurarlo para hacer Build en cada checking y conseguir asi la integracion continua, integrar herramientas de terceros en el TFS …

En realidad es bastante sencillo, explorar la opcion Team  Build del VSTS.

Mañana mas …

TechEd 2007- Segundo día

Noviembre 06, 2007 :: Posted by - Emilio Torrens :: Category -

Segundo día en Barcelona, ha sido un día intenso, mucha información en poco tiempo, SQLCLR, SilverLight, LINQ, C# 3.0, pero bueno para eso hemos venido.

Por cierto, a final de este mes estara disponible para subscriptores MSDN VS2008 con su framework 3.5 …

De todas las charlas a las que he asistido hoy, me quedo con 3, aquí dejo mis impresiones.

DAT309 Best Practices for Optimizing SQLCLR in SQL Server 2005 and Beyond  
Bob Beauchemin
SQLCLR allows you to write non-procedural functions that will run faster than the equivalent functionality in T-SQL. But it’s not a good idea just to replace all T-SQL code with SQLCLR code. This session discusses when to use SQLCLR code and how to organize the code that you do write for best performance. This session will cover:

  • Why use data access in SQLCLR?
  • Optimizing SQLCLR code for performance
  • When and when not to use SQLCLR for structures and aggregates
  • Why write web service client code in SQLCLR?
  •   

Tue Nov 6 10:45 – 12:00 Room 111

Asistí a esta charla porque en el trabajo hemos estado migrando a SQL 2005, escribriendo algunos procedimientos en .NET un poco a ciegas y quería combrobar si vamos bien.

La charla se puede resumir en "dónde y cuando T-SQL o dónde y cuando SQCLR", en realidad en casi todos los escenarios el performance del SQLCLR es mejor, en el ónico que el rendimiento era mejor en T-SQL era haciendo un SELECT simple.

Hemos comentado que "problemas" puedes encontrar en SQLCLR, como conversión de tipos .NET a SQL, asignación de permisos (por ejemplo que el usuario que ejecute el procedimiento SQLCLR debe tener permisos en todas las tablas implicadas cuando en T-SQL solo sobre el procedimiento) y algunos detalles más, la verdad que para mi nada lo suficiente importante que me frene a seguir migrando procedimientos y funciones de T-SQL a SLQCLR.

Algunas notas, para Table Valued Functions y User Defined Functions nos ha recomendado usar siempre SQLCLR, para el resto el que nos de más facilidades, yo creo que siempre será más facil con SQLCLR pero bueno eso es cada uno…

Por cierto, se puede debugear el SQLCLR desde el VS asociando el proceso sqlserver.exe igual que el ASP.NET, yo no lo sabía ….

WEB302 Building Great Web Experiences with Silverlight 1.1  
Jesse Liberty
Silverlight is Microsoft’s new cross-platform, cross-browser plug-in for building Rich Internet Applications (RIAs) and offering immersive media experiences in the browser. Version 1.1 features the same XAML drawing engine and rich media and streaming support as 1.0, and it extends the Silverlight programming model to support .NET in the browser, complete with generics, isolated storage, networking, threading, and other features of the .NET Framework. This session builds on what you learned in BUILDING GREAT WEB EXPERIENCES WITH SILVERLIGHT 1.0 to provide a complete and comprehensive overview of the Silverlight platform.  

Tue Nov 6 13:30 – 14:45 Auditorium

Muy buena la charla, se ha tradado el SilverLight desde el punto de vista del programador, osea nada de diseño.

Nos ha contado como escribir codigo manejado para que sea ejecutado en el cliente, de como suplir algunas carencias de la versión 1.1 (por ejemplo usar un storyboard para hacerte un timer), de cómo acceder a los objetos de la página html que aloja el silverlight (System.Windows.Browser) desde el código manejado e incluso de como ejecutar código SilverLight desde controles html (GetElementById().AttachEvent)

Mucha tela, en cuanto lo comente con Jordi y hagamos algunas pruebas creo que postearemos mucho sobre el tema.

TLA312 Microsoft Visual C# Under the Covers: An In-Depth Look at C# 3.0  
Luke Hoban
This session provides an in-depth walkthrough of the new language features in Visual C# 3.0. Understand how features like extension methods, lambda expressions, type inference, anonymous types, and query expressions extend the C# language and enable Language Integrated Query (LINQ) on .NET. It is suggested that you attend the session "The .NET Language Integrated Query Framework Overview" before attending this session. (C)  
Tue Nov 6 15:15 – 16:30 Auditorium

Una visual de C# 3.0 incluido LINQ, la verdad es que ha sido una retaila de novedades que nos trae la nueva version del lenguaje, supongo que todos las hemos visto, por nombrar algunas sencillas, los inicializadores de objetos, de Listas y de Diccionarios, es una cosa que yo venia echando mucho de menos o la autoimplementación de propiedades que nos ahorrara algunas líneas de código ..

También hemos comentado cosas més complejas como las expresiones lamba, el var, extensión de métodos y tambien como el compilador trata este código.

Buenos pues mañana más…

TechEd 2007- Primer dia

Noviembre 05, 2007 :: Posted by - Emilio Torrens :: Category -

  El plan era llegar a BCN a las 11.00, sobre las 12.00 en el Hotel, ducha y sobre las 13.00 a cojer sitio para el keynote de las 14.00, pero entre retrasos de Avion, esperar un Taxi en el Aereopuerto, atascos y cola para hacer checkin en el Hotel, cuando he llegado, eran las 14.10, asi que me he registrado y me he ido al Diagonal Mar para comer algo y esperar a las sesiones de la tarde.

Primera sesion:

DES201 Together Developer and Designer  
Dick Lantim , Aude Mousset
New technologies, new workflow. This session will show you how developers and designers can now work together to build great new applications based on WPF and Silverlight. After a short introduction to XAML, you will see how Expression Design, Expression Blend, Expression Media Encoder and Visual Studio work together.  
Mon Nov 5 16:00 – 17:15 Room 115

Hace poco hemos incorporado una diseñadora en el equipo de desarrollo y hemos empezado el primer proyecto SilverLight, asi que me interesaba ver esa integracion entre desarrollo y diseño, la charla la daban un desarrollador y una diseñadora Franceses.

Las claves han sido, Expresion Design para diseñar, VS 2008 para programar y Expresion Blend para integrar el diseño con la programacion, el "truco" esta en conseguir que ya desde el Design el diseñador piense en objetos y nos deje una estructura clara al programador y al integrador (esa es la figura nueva que se encargara de integrar las cosas en el Blend)

Hemos visto varios escenarios, el mas "cool" es el que comento anteriormante y el mas rapido es hacer relook de la aplicacion en el blend despues de que hagamos los formularios en VS, aunque eso no es aplicable a SilverLight si lo es a WPF.

La charla estaba mas orientada a WPF que a SilverLight que era lo que me interesaba, aun asi me he apuntado varios trucos para comentar con la diseñadora, asi que cuando probemos cosas ya iremos poniendo post al respecto.

Descanso, cigarro, cafe y la segunda sesion:

SBP203 Introductory Walkthrough of Windows Communication Foundation (WCF) using Visual Studio 2008  

Steve Maine
This session will provide an introduction to developing web services with Windows Communication Foundation (WCF) and Visual Studio 2008. Come see how the new WCF tooling in Visual Studio 2008 makes it easier than ever to build secure, reliable, WCF services. Whether you’re a WCF expert or just starting out, this code-heavy session will help you be a more productive WCF service developer.  

Mon Nov 5 17:45 – 19:00 Room 115

Pasando algunos servicios asmx a WCF en VS2005 me habia encontrado con algunos problemas, ademas que me parecia bastante engorroso de configurar y probar, asi que entre en esta charla para ver que novedades trae VS2008 al respecto.

En cuanto a lo que es WCF ningun cambio espectacular, asi que no comentare nada de eso, pero VS2008 trae algunas herramientas para WCF que si que me han gustado y que nos simplificaran la vida.

La primera el WCF-Test Client, podemos probar los servicios sin necesidad de hacer un cliente, la herramienta de Test arranca, aloja los servicios que tengas en el proyecto y tienes un formulario de prueba donde puedes poner los parametros y recibir la respuesta, ojo, tanto parametros simples como complejos, si el parametro es una clase con varios campos puedes poner el valor de cada campo en el Tester.

En la parte cliente, el Add Service Reference tiene un apartado de propiedades avanzadas donde puedes "customizar" como te creara las clases proxys del servicio, por ejemplo puedes indicarle si las quieres publicas o privadas, si quieres que te cree los metodos asincronos o no, si quieres que te las cree a la antigua usanza (asmx) o WCF, si quieres usar ArrayList o Generics y algunas cosas mas, ademas cuando cambia el app.config en el servicio (en cuanto a endpoints y cosas que tengan que ver con sl servicio) y actualizas la referencia del cliente, te actualiza el app.config del cliente.

La herramienta de configuracion del app.config del servicio a mi me ha parecido la misma que en VS2005, un poco liosa.

Bueno, mañana mas …

TechEd Developers 2007

Octubre 08, 2007 :: Posted by - Emilio Torrens :: Category -

08Queda menos de un mes para el TechEd de Barcelona, que empieza el día 5 del mes que viene y dura toda la semana

Se espera la asistencia de mas de 4000 Personas, aun quedan plazas, aunque ya han pasado todos los bonos de promoción, si quieres ir ves poniéndote las pilas ya que el tema Hoteles también empieza a estar mal, o por lo menos carísimo …

Las sesiones se agrupan en:

  • Arquitectura
  • BI
  • Desarrollo de Base de Datos
  • Diseño
  • Infraestructura para Desarrolladores
  • Mobile
  • Office System
  • Seguridad
  • SOA y Procesos de Negocio
  • Herramientas y Lenguajes
  • Desarrollo Web
  • Windows y Frameworks

Puedes usar el Session Search para buscar sesiones de tu interés

El evento tiene lugar en el CCIB (Centro de Convenciones Internacional de Barcelona), puedes ver los hoteles cercanos en esta web y la información sobre transportes públicos en Barcelona aquí