Some stuff about Web and .NET development
RSS icon Email icon Home icon
  • Techdays 2010 - Day 2 (1 april) : my notes

    Posted on April 22nd, 2010 Thibaut No comments

    And here’s the second and last part of my notes taken at Techdays 2010.

    Session 1 - Unkeynote
    By Scott Hanselman

    • A quick recap of ASP.NET 4.0 new features, such as :
      • Clean HTML : specify client IDs (better for JS and CSS)
      • ViewState improvements (enable it just for some controls, …)
      • Charts
      • Cache extensibility : HDD based caching
      • Customized Web.Config (staging, prod, …)
      • Clean URLs for WebForms (REST)
      • Client-side binding in JS
    • MEF : Managed Extensibility Framework (design applications as components able to interact with others)
    • Parallel Computing : “threading for the masses”, so developers can focus on the business and not on concurrency problems

    Session 2 - Introducing MVVM
    By Laurent Bugnion

    • MVVM stands for “Model - View - ViewModel”
    • Advantages :
      • More testable
      • More maintainable
      • Blendability (ability to be edited in Microsoft Blend)
    • A lot of code examples
    • Laurent Bugnion has created the MVVM Light Toolkit, intended to accelerate the creation and development of MVVM applications in WPF, Silverlight and in the Windows Phone 7.

    Session 3 - Visual Studio Tips
    By Sara Ford

    • Sara is author of a book about Visual Studio Tips, such as shortcuts, productivity enhancement tips, … And the session was a sample from this book
    • You can find the tips she’s given on her dedicated blog entry

    Session 4 - What’s new in ASP.NET 4.0
    By Fritz Onion

    • Javascript intellisense + snippets
    • Routing (ASP.NET MVC URLs style)
    • ViewState improvements (ability to enable/disable it for a particular control, disable it application wide, …)
    • Ability to specify a ClientID (which is better for Javascript and CSS, no more need to use “ends-with” selectors
    • SessionState : store the session of the user in DB
    • Meta tags : ability to specify them code behind
    • Charts : a large collection of charts (including some based on Dudas charts)
    • QueryExtender : create filters for data that is retrieved from a data source, without using an explicit Where clause in the data source

    Session 5 - Software testing with Visual Studio 2010
    By Brian Keller

    • Software bugs cost billions of $ each year in the U.S
    • Today, still too much manual testing (about 70%)
    • Introducing Testing Center : interface to configure test plan :
      • Type of logs to produce
      • OS or browsers to test with
    • Test recording : user is performing actions being recorded and can be replayed later => about 20x faster than manual testing
    • If a test case fails : video to show what happened
    • Intellitrace : listing all the events and processes done by the app. Very useful to find quickly what went wrong (instead of placing breakpoints, doing some guess work, re-running the app, …)

    Session 6 - ASP.NET AJAX 4.0 : what’s new
    By Fritz Onion

    • Fritz started by announcing that Microsoft decided to make jQuery the primary way to develop AJAX apps using Microsoft technologies (officially announced by ScottGu at MIX in March)
    • As a consequence, no more effort will be put by Microsoft in the MS AJAX library
    • No notes to list here as the session was obsolete following that announcement


  • Techdays 2010 - Day 1 (31 March) : my notes

    Posted on April 19th, 2010 Thibaut No comments

    I finally take the time to blog my notes about the 2010 edition of the Techdays, after some pretty busy weeks of work dealing with deadlines.

    Session 1 - Developer keynote
    By Anders Hejlsberg, Hans Verbeeck, …

    • Evolution of computer languages (from Turbo Pascal to now) and evolution of hardware (HDD capacity : 100 000 x, RAM : 10 000 x, CPU : 1 000 x)
    • Evolution of tools : debugger, profiler, huge frameworks, …
    • 3 major trends today
      • Dynamic
      • Concurrent
      • Declarative (more on WHAT instead of HOW)
    • Multi-core CPUs : need to develop accordingly (Parallel Linq, Task Parallel Library, …)

    Session 2 - Silverlight 4 & WPF 4
    By Gill Cleeren and Katrien De Graeve

    • Silverlight 4
      • Printing : visual tree to select what to print
      • Drag & drop : even from an external app (eg : drag an image from the explorer to Silverlight). Also works on Mac
      • Right-click support
      • Webcam & microphone support enabling powerful applications : scan barcodes with the webcam, …
      • RichTextBox : rich formatting (fonts, colors, images, …) into a TextBox
      • Out of browser enhancements : notification windows with custom look, complete control over the window (change the size, no borders, …)
      • Trusted out of browser apps : go beyond the sandbox
    • WPF 4
      • Visual Studio 2010 : built onto WPF
      • Better tooling : similar to WebForms design
      • Support for Win7 : multi-touch, ribbon, taskbar manipulation, …
    • When to use Silverlight or WPF ?
      • Tip of Gill Cleeren : “make Silverlight the default choice for business apps unless you require specific WPF features”

    Session 3 - C# 4.0 and beyond
    By Anders Hejlsberg

    • Dynamic keyword : be static as much as you can (compilation checks, performance, refactoring, error checking, …). dynamic should be use to simplify the syntax (replacing invoke, binding flags, etc)
    • Optional & named parameters : avoid multiple overloads, supply default values. Better experience with interop : no more 15 “missing” parameters
    • Co & contra variance : to simplify, developers can now work easier with collection types, and have less problems with linq queries
    • Compiler as a service : API of the compiler (meta programming, language objet model, …). Introduction of the new CSharpEvaluator class

    Session 4 - ORM with entity framework in .NET 4.0
    By Kurt Claeys and Hans Verbeeck

    • ORM : working with relational tables like objects in memory
    • Why use it ?
      • Productivity
      • DB independance
      • Hides complexity, uniform way of working
    • Entity framework is a Microsoft strategic technology (they use it in Reporting Services), which is a sign that they bet a lot on it
    • 2 ways of working
      • Model first : DB doesn’t exist yet, design classes and generate SQL code from it
      • DB first : DB already exists, generate classes from it

    Session 5 - ASP.NET MVC 2 : ninja black belt tips
    By Scott Hanselman

    • First, Scott gives us a tip to avoid repeating the same code : use T4 (text templating) to automate it (related article)
    • Hybrid apps : you don’t have to choose between ASP.NET Webforms & MVC. Ex : codeplex is written with both, some parts being exclusively WebForms or MVC
    • Then, a lot of demos…

    Session 6 - Building Windows Phone apps with Silverlight
    By Giorgio Sardo

    • A lot of demos in this session about what can be done with the phone (layout rotation, custom styling, …)
    • To summarize, a citation from the speaker : if you’re a Silverlight developer, you’re a Windows Phone developer

    And that’s it for the first day ! See you in a next post for my notes about day #2 ;)


  • Surface at the Techdays

    Posted on March 23rd, 2009 Thibaut 1 comment

    I had the chance to test Microsoft Surface at the latest Techdays edition. I’m particularly interested in this new device which, according to me, is the future of the lounge table and will surely also find its way in restaurants and other public places. Often thought as a gadget at first sight (me included), this experiment really allowed me to realize that it’s far more than that. I’ll explain in a future post why I think this table has a great potential (I’ve created a section specially dedicated to Surface), but in the meantime, you can watch the videos I’ve taken to make your own opinion.


  • Books from the Techdays

    Posted on March 18th, 2009 Thibaut No comments
    Books from Techdays I’ve bought 3 books from the Techdays as discounts up to 30% were applicable. These books are Code Complete, .NET Architecting - Applications for the Enterprise and Visual Studio Tips. So expect to find reviews of these ones in the Books section later on ;)


  • Back from the Techdays

    Posted on March 16th, 2009 Thibaut No comments

    Here is a summary of the sessions I assisted at the Techdays on Wednesday 11th.

    Techdays 09


    • Evolution of software : SOA trend and cloud computing advent
    • Demo of Blend : the graphist and the developer work at the same time on the same project, the graphist makes some modifications and the developer gets the result when launching the app the next time (and vice-versa)
    • Demo of Surface : very impressive, visit the official website to watch the videos. Easy to make apps for surface as that’s WPF with just one lil’ layer onto it
    • Video of Microsoft’s future vision for apps in 2019

    .NET continuum: ASP.NET, AJAX, Silverlight and WPF (by Laurent Bugnion)

    • From the less powerful to the most : ASP.NET, AJAX, Silverlight then WPF
    • Shows how to interact with a WCF service with ASP.NET MVC (postback), ASP.NET AJAX (asynchronous, better UI reaction), Silverlight (only asynchronously, subset of .NET power) and WPF (asynchronous or synchronous, full .NET power)
    • Description of the Model/View pattern
    • Introduction of Dr WPF, a blogger very active in the WPF world

    Silverlight CoreCLR: Bringing the power of .NET to the net (by Andrew Pardoe)

    • Demonstration of the performance of Silverlight, compared to a Javascript application. Chess game, averaging 420,000 nodes per second in Silverlight vs. Javascript at 23,000 nodes per second in the search tree. Complete source code is available for the doubtful guys
    • Anything that can host ActiveX can host CoreCLR
    • Sandboxed execution : one execution domain per Silverlight app. Security increased
    • Same application model between browser and desktop : very easy to port a desktop-WPF app to a browser-Silverlight one
    • Dynamic Language Runtime (DLR) : language interoperability. App written in Python or Ruby can interact with the CoreCLR. Ex : IronPython or IronRuby

    WPF performance & best practices (by Dirk Primbs)

    • First advice about performance : focus on scenario and customer expectations. Do not try all the new visual effects on the same page or it obviously risks to slow down your app
    • The visual tree (containing all the controls and parts of them) can become too large. Use Snoop, a very powerful tool, that enables you to visualize that tree
    • Use optimized controls. For example, the VirtualizingStackPanel instead of the StackPanel, will render its content only when visible (suppose you have a lot of elements, and only a portion of them are visible through scrolling, rendering all of them in your page load isn’t a good solution)
    • Picture processing : try to avoid using large pictures and use caching options such as BitmapCacheOption
    • WPF Performance Suite : great tool for measuring performance of WPF apps
    • Hardware acceleration : 3 tiers (tier 0 : old pc, < DX7, tier 1 : between DX 7 and 9, tier 2 : DX >= 9). App can be set to run at a determined tier to simulate behaviour of less powerful machines and thus tune the perfs of your apps

    Under the hood in Silverlight’s controls skinning framework (by Gill Cleeren)

    • Speaker showed how to create a skin for a button (a purple ellispe with gradient brush)
    • Styling vs. skinning : styling is limited, skinning is completely new look, visual tree and properties
    • Parts & states model : separate logic from visual, contract between coder and designer, supported by Blend. Enables you to add new properties to existing ones on a control
    • Part : the working thing. Eg : a button has no part since the button is itself the part, but in a slider, the part is the little thumb that can be dragged
    • States : the different states of a control, such as mouseover, pressed, etc

    Windows 7 for developers (by Katrien De Graeve)

    • New features for consumers but also for developers
    • Showed the new features for the consumer (the docking features, etc, many articles available on the web about that)
    • Developer point of view : multi monitor support, even when remoting. Problem step recorder : screenshots of every steps of a bug reproduction are taken and then submitted to the developer
    • Compatibility : what works on Vista will work on Win 7 almost for sure

    And that’s all about this very interesting day. See you next year ;)


  • Microsoft Techdays 2009

    Posted on March 3rd, 2009 Thibaut No comments

    Techdays 2009 The annual meeting for Microsoft developers, alias Techdays, will be held this month in Antwerpen. And I will be there ! So if you ever cross the area on March 11th, just tell me !