Dear visitor, thanks for stopping by! If you want, you can follow all updates on Snowball.be via RSS. You can also follow me on Twitter or Facebook. More interesting posts from other Microsoft Regional Directors can be found at The Region.
Gill Cleeren     TechDays | telerik     April 1, 2011    

At TechDays Sweden, I was able to give away a Telerik license during my talk. The lucky winner gets a full Telerik Ultimate license, worth $1.995! All thanks to the people at Telerik.

And the winner is… Peter Forss! Congratulations!!

  Posted on: Friday, April 01, 2011 11:53:13 PM (Romance Daylight Time, UTC+02:00)   |   Comments [0]
         
Gill Cleeren     Events | TechDays | Windows Phone 7     March 29, 2011    
  Posted on: Tuesday, March 29, 2011 11:42:31 PM (Romance Daylight Time, UTC+02:00)   |   Comments [0]
         
Gill Cleeren     ASP.net | ASP.net AJAX | Events | Speaking | TechDays | jQuery     March 29, 2011    

I just finished my first talk at TechDays Sweden 2011 on jQuery. As promised, you can find the slides and demos here.

I hope you enjoyed the session (sadly not everyone could get in the room) although it was extremely hot in the room. If you have any comments/questions, please send them to me.

Slides: http://cid-bd64f22e01fad982.office.live.com/view.aspx/Public/jQuery.pptx
Demos: http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/jQueryDemos.zip 

Enjoy!

  Posted on: Tuesday, March 29, 2011 4:49:22 PM (Romance Daylight Time, UTC+02:00)   |   Comments [1]
         
Gill Cleeren     Efficiency | Silverlight | TechDays     March 21, 2009    

Last week, Microsoft organized the Belgian edition of the Techdays, for the first time in Antwerp. After reading (Twitter, blogs…) and hearing quite a lot of feedback, the event was a success.

For me personally, it was also an exciting week: for the first time in my career, I was doing a keynote. I presented the Silverlight part of this talk, together with 2 other Regional Directors from Belgium: Peter Himschoot took the WPF part and Grégory Renard handled the Surface. Also, Katrien De Graeve (Microsoft) showed Windows 7 and Azure, while Hans Verbeeck (also Microsoft) glued all bits and pieces into a nice session.

In this article, you’ll get an overview of the demo we created for the keynote, called “Silverlight on the bike”.

silverlightonthebike1

The scenario

Hans, when not behind his laptop, loves to ride his bike. While on his bike, he wears a small device from Garmin that monitors his heart rate and also retrieves the entire route that he followed via GPS. When combining these 2 bits of information, you can see where the heartbeat went higher (because of a slope for example).

Garmin must like developers, because they expose this data as XML. Pure clean XML that any developer can read out. This data was the start for our scenario: plot out the route that Hans did on his bike on a map, show the heartbeat on a graph, throw in some pictures he took along the road and expose all this in a familiar looking interface in the browser.

The demo also needed to run as a standalone application as well as on the surface. Because of the portability of the code between Silverlight and WPF (Surface applications are WPF as well), a large amount of code could simply be copied from one platform to another.

And here’s how we created it…

While the demo contains too much code to explain here, I’ll go over some of the most interesting parts that really make Silverlight shine.

Step 1: Design is everything (sort of…)

The first thing we did was going to a designer and explain him the needs of our application. A request from our side was of course that he needed to create the interface in Blend. So he came up with a design, completely in XAML, as shown below.

silverlightonthebike2

A cool thing when working with Silverlight is a nice workflow between designers working in Blend and developers working in Visual Studio. Since designers work with the same files as developers, there’s no need to cut and paste the work that the designer did: he can make changes while developers are creating their code and these changes will be incorporated without any hassle.

Step 2: Get me that data

Design is one thing, coding is another. Our application is built around data (remember the XML file from the Garmin device), so the first problem that needs solving is getting that data into the application. Silverlight 2 supports several ways to connect with data: WCF, webservices, reading remote files… For the sake of simplicity, we are going to use the latter: we’ll drop the XML file in the web application. Silverlight now needs to connect with the file using the WebClient, a class that’s also available in the full version of the .NET framework.

Whenever Silverlight needs to go out fetching data, it will do so asynchronously. If it would perform this action synchronously, the browser would hang while data flows from server to client or vice-versa.

Codesnippet 1 shows the code needed for the data access and the result is shown.

   1: WebClient client = new WebClient();
   2:             Uri address = new Uri("http://localhost:" + HtmlPage.Document.DocumentUri.Port + "/" + fileName, UriKind.Absolute);
   3:             client.OpenReadCompleted += client_OpenReadCompleted;
   4:             client.OpenReadAsync(address);

CodeSnippet 1

silverlightonthebike3

Step 3: Let’s parse XML (still yuck?)

Now that we are able to connect with the data, we need to do something with it, we only have it in a string at this point. We need to parse the XML and create objects that represent the data in memory. Parsing XML using the “traditional” way, using XmlDocument classes and the like, is not my favorite part of my development life. This API is quite difficult and often requires XPath knowledge to access the correct data.

Since .NET 3.5 (in fact also in 3.0 as beta), LINQ and LINQ to XML were introduced and the great thing is that these are also included in Silverlight. Using the LINQ to XML API, we can very easily parse the XML and create objects representing the data. Codesnippet 2 shows the XML, codesnippet 3 shows the type that we’ll be creating. In Codesnippet 4, the code to parse the XML and to create a generic list of TrackPoint instances is shown.

   1: <Trackpoint>
   2:             <Time>2009-02-14T14:13:10Z</Time>
   3:             <Position>
   4:               <LatitudeDegrees>51.3509752</LatitudeDegrees>
   5:               <LongitudeDegrees>4.6816549</LongitudeDegrees>
   6:             </Position>
   7:             <AltitudeMeters>20.3249512</AltitudeMeters>
   8:             <DistanceMeters>0.0343911</DistanceMeters>
   9:             <HeartRateBpm >
  10:               <Value>111</Value>
  11:             </HeartRateBpm>
  12:             <SensorState>Absent</SensorState>
  13:           </Trackpoint>
  14:           <Trackpoint>
  15:             <Time>2009-02-14T14:13:11Z</Time>
  16:             <Position>
  17:               <LatitudeDegrees>51.3509765</LatitudeDegrees>
  18:               <LongitudeDegrees>4.6816523</LongitudeDegrees>
  19:             </Position>
  20:             <AltitudeMeters>20.3249512</AltitudeMeters>
  21:             <DistanceMeters>0.0000000</DistanceMeters>
  22:             <HeartRateBpm >
  23:               <Value>110</Value>
  24:             </HeartRateBpm>
  25:             <SensorState>Absent</SensorState>
  26:           </Trackpoint>
  27:           <Trackpoint>

Codesnippet 2

   1: public class TrackPoint
   2:     {
   3:  
   4:         private DateTime _time;
   5:  
   6:         public DateTime Time
   7:         {
   8:             get { return _time; }
   9:             set { _time = value; }
  10:         }
  11:  
  12:         private Point _position;
  13:  
  14:         public Point Position
  15:         {
  16:             get { return _position; }
  17:             set { _position = value; }
  18:         }
  19:  
  20:  
  21:         public double X
  22:         {
  23:             get { return _position.X; }
  24:             set { _position.X = value; }
  25:         }
  26:  
  27:         public double Y
  28:         {
  29:             get { return _position.Y; }
  30:             set { _position.Y = value; }
  31:         }
  32:  
  33:         private int _cadence;
  34:  
  35:         public int Cadence
  36:         {
  37:             get { return _cadence; }
  38:             set { _cadence = value; }
  39:         }
  40:  
  41:         private double _distance;
  42:  
  43:         public double Distance
  44:         {
  45:             get { return _distance; }
  46:             set { _distance = value; }
  47:         }
  48:     } 

Codesnippet 3

   1: public List<TrackPoint> Load(Stream filename)
   2:         {
   3:             XElement doc = XElement.Load(filename);
   4:             List<XElement> tps = doc.Descendants("Trackpoint").ToList<XElement>();
   5:  
   6:             TrackPoint tp = null;
   7:  
   8:             foreach (XElement point in tps)
   9:             {
  10:                 try
  11:                 {
  12:                     tp = new TrackPoint();
  13:                     tp.Position = new Point(double.Parse(point.Descendants("LatitudeDegrees").First().Value) / 10000000,
  14:                                                          double.Parse(point.Descendants("LongitudeDegrees").First().Value) / 10000000);
  15:                     tp.Distance = double.Parse(point.Descendants("DistanceMeters").First().Value) / 10000000;
  16:  
  17:                     if (tp.Distance > _totalDistance)
  18:                         _totalDistance = tp.Distance;
  19:  
  20:                     tp.Cadence = int.Parse(point.Descendants("HeartRateBpm").First().Value);
  21:  
  22:                     _trackPoints.Add(tp);
  23:                 }
  24:                 catch (Exception)
  25:                 {
  26:                         
  27:                    
  28:                 }
  29:             }
  30:             return _trackPoints;
  31:         }

Codesnippet 4

Step 4: Design: OK! Data: OK! UI: To Do!

Now we have the data from the device ready on the client-side within our Silverlight application as a generic list. We can now go ahead and add the UI elements to the interface.

Up first is a ribbon. We want to create a user interface that feels familiar to a user of the application. A great way to achieve this, is using a ribbon known from Office 2007. Currently, Silverlight does not contain a ribbon out-of-the-box yet, but there are some custom-built ones available. For the sake of simplicity, I created a usercontrol containing the ribbon instantiation. This keeps my Page.xaml code cleaner. Codesnippet 5 contains the code for the ribbon and codesnippet 6 contains the usercontrol that we’ll put on the page.

   1: <rbn:Ribbon.QuickLaunchButtons>
   2:                 <rbn:RibbonButton SmallImageSource="Images/Save.png" />
   3:                 <rbn:RibbonButton SmallImageSource="Images/Undo.png"  />
   4:                 <rbn:RibbonButton SmallImageSource="Images/Repeat.png" />
   5:             </rbn:Ribbon.QuickLaunchButtons>
   6:  
   7:             <!-- Tabs -->
   8:  
   9:             <!-- Home -->
  10:             <rbn:RibbonTab Title="Home">
  11:                 <rbn:RibbonTabGroup Title="Actions">
  12:                     <rbn:RibbonButton Text="New data" LargeImageSource="Images/addxml.png" />
  13:                     <rbn:RibbonButton Text="Change data" LargeImageSource="Images/addxml.png" ButtonClick="RibbonButton_ButtonClick" />
  14:                     <rbn:RibbonButton Text="Images" LargeImageSource="Images/addimages.png" />
  15:                 </rbn:RibbonTabGroup>
  16:                 
  17:                 <rbn:RibbonTabGroup Title="Reporting">
  18:                     <rbn:RibbonButton Text="New report" LargeImageSource="Images/addreport.png" />
  19:                     <rbn:RibbonButton Text="View reports" LargeImageSource="Images/addreport.png" />
  20:                 </rbn:RibbonTabGroup>
  21:             </rbn:RibbonTab>
  22:  
  23:             <!-- Help -->
  24:             <rbn:RibbonTab Title="Help">
  25:                 <rbn:RibbonTabGroup Title="Help">
  26:                     <rbn:RibbonButton Text="About" LargeImageSource="Images/about.png" />
  27:                     <rbn:RibbonButton Text="Help" LargeImageSource="Images/help2.png" />
  28:                 </rbn:RibbonTabGroup>
  29:  
  30:             </rbn:RibbonTab>
  31:  
  32:         </rbn:Ribbon>

Codesnippet 5

   1: <!-- Ribbon -->
   2:             <usercontrols:RibbonControl Grid.Row="0" Grid.Column="0" 
   3:                           x:Name="mainRibbon" VerticalAlignment="Top"></usercontrols:RibbonControl>

Codesnippet 6

silverlightonthebike4

Next, we’ll add a Telerik Coverflow control that will enable us to flip through the images. Telerik as well as Infragistics (and many other vendors) have been busy creating controls suites, giving you many more controls to work with. Codesnippet 7 shows the code for this control.

   1: <telerikNavigation:RadCoverFlow x:Name="coverFlow" CameraY="-80" ItemMaxHeight="100" 
   2:                                             SelectedIndex="5"  VerticalAlignment="Top" CenterOffsetY="15">
   3:                                     <Image Source="Pictures/1.jpg" />
   4:                                     <Image Source="Pictures/2.jpg" />
   5:                                     <Image Source="Pictures/3.jpg" />
   6:                                     <Image Source="Pictures/4.jpg" />
   7:                                     <Image Source="Pictures/5.jpg" />
   8:                                 </telerikNavigation:RadCoverFlow>

silverlightonthebike5

One of the main goals of the application is of course the display of the map that will also display the route that Hans did on his bike. A perfect candidate for this is Virtual Earth. On Codeplex, a project called DeepEarth, allows us to display Virtual Earth maps inside a Silverlight application. It also includes all the necessary stuff to show paths, icons etc and allows for easy zooming and panning. We’ll use this control to display the route.

Of course, we need to convert our data for the map to use. This is very simple code shown in codesnippet 8. What we’re doing here is simply converting our generic list of Trackpoints to a list of points the DeepEarth control can work with. Codesnippet 9 shows the code for displaying the map.

   1: private void AddPolygon()
   2:         {
   3:             ConfigShapeLayer();
   4:             var points = new List<Point> { new Point(0, 0), new Point(20, 0), new Point(20, 20), new Point(0, 20) };
   5:             var polygon = new DeepEarth.Geometry.Polygon { Points = points };
   6:             shapeLayer.Add(polygon);
   7:         }

Codesnippet 8

   1: <DeepEarth:Map x:Name="map" >
   2:                                     <DeepControls:NavControl>
   3:                                         <DeepControls:MapSourceControl SelectedSource="Hybrid">
   4:                                             <DeepVE:TileLayer MapMode="Aerial" />
   5:                                             <DeepVE:TileLayer MapMode="Hybrid"/>
   6:                                             <DeepVE:TileLayer MapMode="Road" />
   7:                                         </DeepControls:MapSourceControl>
   8:                                     </DeepControls:NavControl>
   9:                                     <DeepControls:CoordControl/>
  10:                                 </DeepEarth:Map>
Codesnippet 9

Finally, we need to display the heartbeat, also based on the data in the generic list. We can do this in several ways (for example using the controls from the Silverlight toolkit), but here, I choose to use a listbox. Displaying a heartbeat in a listbox might not sound that normal, as we are used to having the listbox show a list of text items. However, using Silverlight, we can completely restyle the listbox using the data template (Codesnippet 10). The data template allows for complete restyling of the items as well as the listbox’ display area. The item is replaced with an ellipse, absolutely positioned from the top and the display area is replaced with a drawing canvas. (To see the entire code, download the sample). The result is shown below.

silverlightonthebike6

   1: <DataTemplate>
   2:                                         <Canvas Canvas.Left="10" Canvas.Top="10">
   3:                                             <Ellipse Fill="Blue"
   4:                                          Tag="{Binding}"
   5:                                          Width="10"
   6:                                          Height="10"
   7:                                          Stroke="Black"
   8:                                          StrokeThickness=".5"
   9:                                          MouseLeftButtonDown="Ellipse_MouseLeftButtonDown"
  10:                                          MouseEnter="Ellipse_MouseEnter"
  11:                                          MouseLeave="Ellipse_MouseLeave"
  12:                                          >
  13:                                             </Ellipse>
  14:                                         </Canvas>
  15:                                     </DataTemplate>

Codesnippet 10

The final application

The following image shows the complete application running in the browser. You can download the entire source package by clicking here (Note that I left in all the source code for the other projects like DeepEarth. This way it’s easier for you to experiment with the demo).

silverlightonthebike7

(Due to the Virtual Earth webservice being down, the map is not displaying, as can be seen on the screenshot)

Download the code here.

  Posted on: Saturday, March 21, 2009 1:07:06 AM (Romance Standard Time, UTC+01:00)   |   Comments [0]
         
Gill Cleeren     Efficiency | Programming tools | TechDays     March 12, 2009    

While doing my sessions @Techdays Belgium, I used for the first time a little application called Snippet Manager to drag code snippets into my code. It's not something I created myself, it's created by Karen Corby (Microsoft).

You can download it here.

  Posted on: Thursday, March 12, 2009 3:43:26 PM (Romance Standard Time, UTC+01:00)   |   Comments [4]
         
Gill Cleeren     .net | Efficiency | Slide decks | TechDays     March 12, 2009    

From March 10 - 12, TechDays 2009 Belgium took place, for the first time in Metropolis Antwerp.

I've delivered quite some sessions, including part of the keynote. A lot of people asked me to share the slides as well as the demos, so here are all the items you need to complete your knowledge on both databinding in WPF as well as skinning controls in Silverlight.

WPF Databinding Deep Dive
Databinding always sounds a bit intimidating. It’s the concept of attaching objects to a user interface and letting the technology take care of what to display where. WPF has a lot of capabilities in store to make databinding really easy and to help you build data-driven applications a lot faster. In this session, we’ll tackle everything that databinding offers us, from the fundamentals concepts to the advanced topics. With a lot of demos woven into the session, you’ll walk away with the knowledge you need to more efficiently use WPF.
Slide deck - Demos

Under the hood in Silverlight's controls skinning framework
While Silverlight offers us a lot of controls to build business applications, you might feel the urge to change them even more to suffice the needs of your application. A round button perhaps? Or a non-rectangular textbox? It’s all possible with the Silverlight skinning framework. In this session, you’ll see how to overhaul the look of your controls as well as create your own from scratch.
Slide deck - Demos

I hope you enjoyed the sessions, any feedback is welcome.

  Posted on: Thursday, March 12, 2009 3:24:10 PM (Romance Standard Time, UTC+01:00)   |   Comments [6]
         
Gill Cleeren     Efficiency | TechDays     February 1, 2009    

As you can read by now, I'll be hosting 2 sessions at TechDays 09!
Here they are:

Under the hood in Silverlight's controls skinning framework
While Silverlight offers us a lot of controls to build business applications, you might feel the urge to change them even more to suffice the needs of your application. A round button perhaps? Or a non-rectangular textbox? It’s all possible with the Silverlight skinning framework. In this session, you’ll see how to overhaul the look of your controls as well as create your own from scratch.

WPF Databinding Deep Dive
Databinding always sounds a bit intimidating. It’s the concept of attaching objects to a user interface and letting the technology take care of what to display where.
WPF has a lot of capabilities in store to make databinding really easy and to help you build data-driven applications a lot faster. In this session, we’ll tackle everything that databinding offers us, from the fundamentals concepts to the advanced topics. With a lot of demos woven into the session, you’ll walk away with the knowledge you need to more efficiently use WPF.

I hope you'll be attending my sessions!

  Posted on: Sunday, February 01, 2009 12:43:03 PM (Romance Standard Time, UTC+01:00)   |   Comments [0]
         
Gill Cleeren     Efficiency | TechDays     February 1, 2009    

For the past weeks, I've been busy preparing my sessions for the upcoming Techdays here in Belgium. Techdays is the event every .net developer and IT Pro in Belgium should attend. You'll have the choice of over 60 sessions over a period of 3 days.

You’ll get a deep-dive on existing and future technologies of Microsoft:

  • Discoveries: Windows 7, Windows Azure, Cloud Computing, C# 4.0
  • Architecture and development: Visual Studio, Silverlight, SharePoint, web applications, …
  • Infrastructure and enterprise applications: SQL Server, WCF, Windows Server, virtualization, System Center, security, …
  • Personal and collective efficiency: Data access, desktop management, Unified Communications, remote office operations, SharePoint,…

But also:

  • Get your hands on a Microsoft Surface
  • Interact with the Microsoft partner network and the Microsoft linked applications and services
  • Discover our certification offerings
  • Share impressions with your peers and meet with internationally renowned professionals

Registration is available at www.techdays.be so hurry up if you want to be part of the event!

Note that for the first time, the event will take place in Metropolis, Antwerp!

  Posted on: Sunday, February 01, 2009 12:37:40 PM (Romance Standard Time, UTC+01:00)   |   Comments [0]
         
Gill Cleeren     TechDays     March 15, 2008    

As promised, here are the slides and demo's of the presentation I delivered at TechDays 2008 in Ghent, called "Next Generation Web Applications with Visual Studio 2008 and ASP.NET 3.5".

I do want to thank everybody that attended my talk (there were over 800 people in the room). Also the very positive feedback I received was welcome and much appreciated!

Presentation "Next Generation Web Applications with Visual Studio 2008 and ASP.NET 3.5"

Demo's

  Posted on: Saturday, March 15, 2008 10:20:35 PM (Romance Standard Time, UTC+01:00)   |   Comments [2]
         
Gill Cleeren     TechDays     March 14, 2008    

Now that TechDays 2008 (formerly known as DevItProdays) here in Belgium are over, it’s time to sit down, relax and look back on an event well-done!

November 2007 – March 10th 2008

You may be thinking, what the heck is he going back for ‘till November last year… Well, as you may know, I’ve been working for an assignment at Microsoft Belgium since the end of October, and part of my job was the organization of TechDays 2008 in Ghent. As early as November, I started contacting speakers to come talk at the event, and this turned out to be just in time to have everybody that we wanted here, book TechDays in their agenda.

Over the course of December, January and also February, a lot of time was spent at getting everything arranged on the speakers front. We managed to get a great line-up of international and national speakers, including Nikhil Kothari, Matt Gibbs, Ingo Rammer, Roy Osherove and many others.

The weeks before the event itself were very stressful to get everything in order. The team (Tom, Ritchie, Katrien… and myself) worked very hard to get to latest things on track. To give you an example, last week (the week before the event), I did a rewrite of the application that would perform the access control with barcodes. No matter how much time it cost, it needed to be done, in time before the event started.

But we got there. I was glad on Monday evening that everything was ready… Although I still wasn’t sure if everything was done. I had a weird feeling, it felt as if I did forget stuff… Must have been the stress for the days after, I guess.

March 11th: Launch of Visual Studio 2008

On Tuesday, the event took off. I rushed to Ghent very early, and when arrived, I started helping out where necessary. My talk on ASP.NET Ajax was also on this day, so we did a test in the largest room (Room Ballmer) with my laptop to see that everything went well. And it did, luckily enough.

Here's are some pics from the room in which I did my talk.

 IMAG0252 IMAG0254

My talk was taking place after fellow Regional Director Peter Himschoot did his on Visual Studio 2008.

IMAG0251

Once the attendees were coming in, there was no turning back: now everything had to run fine. Below you can also see the "Room Gates", the keynote area, with an exceptional set-up: the below half of the screen was built with thousands little lights and extended the upper half to create an really cool effect.

IMAG0247 IMAG0261

After the keynote, it was time for me to prepare my laptop. I had an expected 800 attendees in the room, people had to stand up in the back. You can download my presentation and demo's shortly!
The talk went great: all my demo's worked perfectly, I managed to end my presentation in exactly the time I was given and the feedback I got after the presentation was very positive. I do admit that I'm curious for my scores when they come in next week.

Every attendee got a really nice gift: the "Heroes Happen Here" book from Microsoft, with pictures from "our heroes" from around the world by Carolyn Jones. Only 20.000 copies of it were made, so it's a real collector's item.

Day 1 ended in a pizzeria with my colleagues from Ordina. We went for a drink afterwards, but I left a little earlier than the rest: after a long (and fulfilling) day, it was time to get to my hotel room. I was tired, but happy: my talk went great, the launch event went great, everybody seemed happy. Now, let's open TechDays!

March 12th: TechDays Day 1

After a successful launch (which was a free event by the way), TechDays was about to start. Personally, I was eager to meet all the speakers I invited, some of them fellow-RDs who I would meet for the first time.

I took a taxi to the hotel with Roy Osherove and Bart de Smet. He's a great guy, and the Belgian audience really loves him: he already came to Gent several times for previous editions. Roy was accompanied by his guitar.

The keynote was given by Rafal Luckawiecki. In my opinion, this was how a keynote should always be. It contained a clear message and a vision of the future and was not filled with marketing. Alex Turner, program manager for C# gave a really good demo on the evolution of program languages that fit well in Rafal's talk. The professionalism of Rafal really gave the keynote a boost, resulting in a smashing start of the event.

Here's Alex doing his demo. Rafal can be seen at the far right.

IMAG0263

And here's Rafal giving the best of himself!

IMAG0267 IMAG0269

After the keynote, I managed to see a part of Ingo Rammer's talk on WCF. It was the first time I met him in real life. I do want to thank him to come to the event, it wasn't easy to get here while doing DevWeek!

IMAG0271

Over lunch, I got to meet 2 very important guests: Nikhil Kothari and Matt Gibbs. I first saw Nikhil in Las Vegas on Mix last year. He's a great speaker and he also has a lot of interesting stuff on his blog: www.nikhik.net. Matt Gibbs is program manager for ASP.NET, I first met him at Tech-Ed Barcelona. He's also the author of Professional ASP.NET AJAX 2.0, which was recently published by Wrox.

Below, you can see Nikhil in his talk on Silverlight 2.0. In this presentation, he did an overview of the Silverlight 2.0 platform, followed by the construction of a full-blown Silverlight 2.0/Flickr image browser.

IMAG0272

After a busy afternoon with some work "behind the scenes", I still managed to see a part of Yves Goeleven's talk on Team Foundation Server. Yves is very active for Visug, and like for myself, it was his first talk on TechDays. I also got to Nikhil's second talk on Ajax Patterns.

IMAG0277

Day 1 was wrapped up in a restaurant, where almost all the speakers gathered for the speakers dinner. It was a very interesting evening, where I got to talk with a lot of interesting people. I also met another RD, Chad Hower. More later!

March 13th: TechDays Day 2

Day 3 started very early: I got at the ICC at 7.30. As you can see, not many other people were up at that time already...

IMAG0280 IMAG0284 IMAG0285

Except for the guys at the Ask The Experts-booth...

IMAG0278

I took the time to go see Matt's session on the ASP.NET MVC framework. I think it was really a good session, with a mix of demo's and slides. The necessary jokes were also present, which was appreciated by the audience.

IMAG0286 IMAG0288

New at this year's event, were the "Inspiration sessions", sessions that took place over the lunch. It was an experiment, and given their success, I think they'll be back next year. I attended one, given by Chad Hower. In this session, he showed how you can, using .NET code, use a WII-mote and also fire missiles from a USB-Rocket launcher. Great session Chad!

IMAG0290 IMAG0289

In the afternoon, I only squeezed in Roy Osherove's session on "Unit testing in .NET 3.5". The concept of the session was very interesting: he had a list of about 12 topics, and by the raise of hands, he let the audience pick which topics they would really like to see. He told me afterwards that he does that regularly. Something to remember for my own sessions! He finished his session by signing a song: on the music of Mad World, he sang "Bad Test". Really cool!

I didn't see the closing keynote, since I had a very interesting talk with Chad. He showed me some of the things he was working on.

When I went back to the exhibitor area, everything was already being taken apart: some booth were already gone, the big screen in the theatre was gone... TechDays was over... And at that point, I realized it: it was a great experience being part of the organization of such an event. Everything went great. Back home... but with great things and great people to look back at.

I want to thank Tom, Ritchie, Arlindo for letting me be part of this!

If you want to download my pictures in high-res or see many more, go to my Flickr-page.

  Posted on: Friday, March 14, 2008 8:15:56 PM (Romance Standard Time, UTC+01:00)   |   Comments [3]
         
Gill Cleeren     TechDays     February 27, 2008    

Just minutes ago, Steve Ballmer kicked off the launch wave of the 3 new big releases from Microsoft: Windows Server 2008, Visual Studio 2008 and SQL Server 2008.

The launch website is located at HeroesHappenHere.com .

Apart from being a great show, another thing to note is that Silverlight 2 was prominently present in the event. Steve also mentioned the official beta release being released next week at Mix'08.

In less than 2 weeks, we will have the official launch event here in Belgium (Ghent), where I'll be delivering, together with Jay Schmelzer and Peter Himschoot, the developer track on March 11th. The event is, by the way, completely sold out!

  Posted on: Wednesday, February 27, 2008 8:47:04 PM (Romance Standard Time, UTC+01:00)   |   Comments [0]
         
Gill Cleeren     TechDays     February 6, 2008    

Today, the agenda for the TechDays 2008 (in Ghent) went online! You can see it here, it's a nice piece of Silverlight.

My talk on the launch day is also in the agenda: I will be talking on March 11th from 16.15 until 17.00 to the developer audience. The talk is titled: Next Generation Web Applications with Visual Studio 2008.

Here's the abstract:

Visual Studio 2008 enables developers and IT operators to dramatically reduce the amount of time, effort and code required to develop and deploy real-world Web applications. ASP.NET 3.5, Visual Studio 2008 and IIS 7 each provide much improved administration and management support, on top of dramatically improved performance. Also covered is support for ASP.NET AJAX, JavaScript enhancements, rich support for CSS standards and rapid development of data-bound Web pages.

I'm really looking forward to this, since this is the first talk I've ever done on TechDays. We expect a lot of people, so if you want to attend, you have to register. (Attending the launch day is free, but registration is required. You can register here).

I hope to see a lot of you there! Remember, we have a date: March 11th in Ghent!

  Posted on: Wednesday, February 06, 2008 10:36:17 PM (Romance Standard Time, UTC+01:00)   |   Comments [1]
         
Gill Cleeren     .net | Events | Microsoft | TechDays     January 24, 2008    

As you may or may not know by now, in the last few months, I have been busy with the organisation of TechDays 2008 as content owner for the developer track (formerly known as Dev-ItPro days) at Microsoft. So far, it has been a wonderful experience, being in contact with some of the most renowned speakers of the world.

Today, Microsoft sent out the reminder for the early-bird registration, and meanwhile on the site, a partial list of speakers and sessions has been published. I've had great help from Tom Mertens, Arlindo Alves and since the second half of December, Katrien De Graeve. Thanks guys (and girl)!

Looking at the list of announced speakers and sessions, I'm proud to say that we have succeeded and that we are able to present you with a great line-up. Ingo Rammer, Nikhil Kothari, Dave Webster, Chad Hower, Roy Osherove, Alex Turner and more, together with some great Belgian speakers as Bart De Smet, Peter Himschoot, Joris Poelmans, Patrick Tisseghem and more... all agreed on making this the best TechDays ever!

Now, the party is not just the TechDays. The day before, on March 11th, it's the Belgian launchday for Visual Studio 2008, Windows Server 2008 and SQL Server 2008. This event, should you not already know, is free to attend for everyone!

Convinced that you HAVE to be on THE .NET event of 2008? Of course you are. Head over to www.heroeshappenhere.be to register.

One thing I really should add: just like we did last year, Visug is organizing their Geek Bowling! I'll open the registrations for that this week. The bowling evening (also in Gent of course) will take place on the 12th!

So, I hope to see you there on March 11, 12 and 13!!

To finish, here's a list of sessions we already announced:

Deep Reflection (Roy Osherove)
In this 400 level session Roy Osherove digs deep into the heart of some of the new features in Reflection 2.0 such as runtime code generation using DynamicMethod (Lightweight Code Generation - LCG), parsing IL at runtime, generics in reflection, debugging runtime generated code, understanding Reflection.Emit, ReflectionOnly Context's for security and using Code gen to improve performance. Put your thinking cap on.

The ABC of building services with WCF (Peter Himschoot)
In today’s highly connected world being able to communicate is very important, especially for your applications. But how? Web Services? Remoting? Enterprise Services? WCF is Microsoft’s unified framework for building communication into your application, ready for the future. In this session we will look at building services with WCF, getting our hands dirty through building a service live, in front of your eyes. After this session you should have a clear understanding of the development life-cycle for WCF, the advantages of using WCF and how to proceed with it yourself.

Architecture and Databinding in WPF (Dave Webster)
Now that we have had some time to get used to XAML and WPF and seen the shiny new UIs we can build, it’s time to get serious about architecture and understand the power of databinding.  In this talk we will discuss advanced topics in databinding, the use of MVC architecture patterns and we will stretch Expression Blend version 2.0 to its limits.

We’ve been hacked!  Web security for developers (Dave Webster)
This is a demo driven session showing the actual hack of a web site.  You will learn how to write your web sites securely, and what your IT department will need from you. Bring your laptop and join in!

Introduction to the new ASP.NET Model View Controller (MVC) Framework (Matt Gibbs)
A benefit of the MVC architectural pattern is that it promotes a clean separation between the models, views and controllers within an application. In the near future, ASP.NET will include support for developing web applications using an MVC based architecture.
The ASP.NET MVC Framework is designed to support building applications that exhibit the following traits:
- Testability – Red/Green test driven development.
- Maintainability –clear separation of concerns
- Extensibility – interfaces allowing custom implementation at all levels.
- Web Standards and clean URLs – with routing and giving developers tight control over the resulting HTML.
Join us for a dive into the new MVC Framework and learn how to leverage this new alterative in your own applications.

AJAX Patterns (Nikhil Kothari)
This session takes a deep look at the Ajax paradigm by discussing useful development patterns, common problems and associated solutions. Patterns covered range from development approaches such as unobtrusive script attachment, to fundamentals such as search optimization to user interface and usability patterns such as intuitive navigation and visual notifications. While the demonstrations are illustrated through basic scenarios, like any pattern, the concepts can be applied to your own applications. In the course of demonstrating the patterns, this talk will also cover various aspects of ASP.NET AJAX including the latest features.

Unit testing tips and tricks (Roy Osherove)
In this talk we'll explore techniques for dealing with various unit testing scenarios. From testing events, to testing databases to testing LINQ queries and anonymous types, we'll see many small scenarios and discuss the unit testing patterns that can help test them.

The .NET Language Integrated Query (LINQ) Framework (Alex Turner)
Modern applications operate on data in several different forms: Relational tables, XML documents, and in-memory objects. Each of these domains can have profound differences in semantics, data types, and capabilities, and much of the complexity in today's applications is the result of these mismatches. Alex Turner, C# Compiler Program Manager, explains how Visual Studio 2008 aims to unify the programming models through LINQ capabilities in Microsoft Visual C# and Visual Basic, a strongly typed data access framework, and an innovative Application Programming Interface (API) for manipulating and querying XML.

LINQ Under the Covers: An In-Depth Look at LINQ (Alex Turner)
Want to know what really happens when you execute your favorite LINQ queries? Join us as we peek behind the curtain in Reflector to see how the C# compiler translates LINQ query expressions into standard query operators, while digging into the iterators that make LINQ to Objects tick. Learn exactly when query evaluation is deferred, and see how lambda expressions and closures work together to enable LINQ's elegant syntax. Then we'll explore how nearly identical LINQ to Objects and LINQ to SQL queries will result in radically different translations as we dig into the details of IQueryable and expression trees. Finally, we follow our IQueryable objects across the language barrier to investigate the unique features VB brings to LINQ, including XML literals. It is suggested that you attend the session "The .NET Language Integrated Query (LINQ) Framework" before attending this session.

Creating Custom LINQ Providers – LINQ to Anything (Bart De Smet)
LINQ is all about unifying data access in a natural language integrated way. But there’s more than just LINQ to Objects, LINQ to SQL and LINQ to XML. In this session, we put ourselves on the other side of the curtain and explore the wonderful world of LINQ providers. You’ll learn how to create a fully functional LINQ query provider allowing users to target your favorite query language using familiar LINQ syntax in C# 3.0 and VB 9.0: LINQ to AD, LINQ to SharePoint, LINQ to AD, LINQ to Outlook, you name it! This is your chance to get to know the inner workings of LINQ.

Building internet web sites using Microsoft Office SharePoint Server 2007 (Joris Poelmans)
Microsoft Office SharePoint Server 2007 provides the necessary framework components to build an Internet web sites using master pages, page layouts and WCM specific functionality. In this session we will take an in-depth look at how to use these components and which are the best practices  for developing an internet web site while leveraging the MOSS platform. This session will conclude with a look at the Accessibility Kit for SharePoint as well as at the migration story for MCMS customers.

Building RIAs for WSS 3.0 and MOSS 2007 (Patrick Tisseghem)
In this session you’ll learn how to leverage Web 2.0 technologies to deliver a rich and interactive end-user experience for SharePoint sites and content. Topics that will be covered are: building ASP.NET AJAX 1.0 enabled Web Parts; creating and consuming SharePoint Web Services that are AJAX-enabled; Web Parts hosting Silverlight 1.0 and 2.0 applications; techniques to have the Silverlight applications communicated back and forth with SharePoint content such as items in lists and libraries, user profile information and search results; samples of how publishing portals can be enriched with Silverlight navigation controls and enhanced page layouts; demos on how to build Vista Gadgets that display SharePoint content using traditional UI techniques as well as using Silverlight.

Building Rich Web Experience with Silverlight using Expression Blend and Visual Studio (Wim Verhaegen)
Silverlight is a cross-platform technology that brings new user interface capabilities such as vector graphics, media, animations and XAML to the browser.
Learn about building Silverlight applications using JavaScript, and see how Silverlight fits naturally into the AJAX development model.
This session provides developers the in-depth knowledge they need to start building Silverlight 1.0 applications today using Visual Studio and Microsoft Expression Blend.

IIS7 End-to-End Extensibility for Developers (Brian Delahunty)
In IIS7 the server exposes a brand new, powerful extensibility model for building server features that can be used to extend its functionality, or replace any of the default features.  With the Integrated Pipeline architecture, managed modules become virtually as powerful as native modules. In part I of this two part session, we will illustrate extending the server in an end to end scenario, building a managed module to extend the runtime and replace existing functionality.  We will then extend IIS7 diagnostics to instrument our module with custom trace events.

WCF and WF: Integrating two key technologies of .NET 3.5 (Ingo Rammer)
Windows Communication Foundation and Windows Workflow Foundation are two cornerstones of .NET 3.5. In this session, you will learn about different ways to combine them to workflow-enable your WCF applications.

Advanced Debugging with Visual Studio (Ingo Rammer)
Basically every .NET developer knows the Visual Studio debugger, but only few know its little secrets. In this session, Ingo shows you what you can achieve with this tool beyond the setting of simple breakpoints. You will learn how advanced breakpoints, debugger macros and visualizers, interactive breakpoints, tracepoints and interactive object instantiation at development time can support your hunt for bugs in your applications.

Using Visual Studio 2008 as a RAD tool to build a distributed application (Jay Schmelzer)
In this demo intensive session we’ll take a look at improved support in Visual Studio 2008 for building distributed business applications.  We will focus on Visual Studio’s support for building and consuming WCF services, sharing business validation rules between client and server, implementing local caching of read-only data on the client, sharing common application services like authentication and authorization between Windows and Web client applications and much more.  Next we will turn our attention to web and see how Visual Studio 2008 allows us to easily incorporate rich experiences into our existing ASP.NET web sites using ASP.NET AJAX, the ASP.NET AJAX Control Toolkit and take advantage of improved HTML designer, CSS editor and JavaScript intellisense and debugging.  Visual Studio 2005 raised the productivity bar for business application developers.  Visual Studio 2008 builds on that foundation bringing unmatched productivity gains to distributed business application developers.

Visual Studio 2008: Building applications with Office 2007 (Jay Schmelzer)
This session provides an overview of the tools and technologies that enable developers to leverage the new Visual Studio 2008 and Office platform tools and technologies to build new and exciting Office Business Applications. You’ll learn a number of key technologies in this session, including the creation of Office smart clients, development of custom SharePoint workflow, and extension of Outlook to integrate key business data into one of our most popular productivity tools.

Visual Basic: Tips and Tricks for the Microsoft Visual Studio 2008 (Jay Schmelzer)
In this session, we combine some tips for existing Visual Studio features, and tricks for leveraging new Visual Studio 2008 features. We look at a variety of existing features including operator overloading, refactoring, creating your own snippets, some tips for using frameworks classes (and generics), and leveraging application settings. Then we look at new features including some LINQ Do’s and Don’ts, My Extensibility, and taking control of unit testing in Visual Studio. All of these tips are aimed at giving you a more productive, fun programming experience.

Office: Office Open XML Formats (Chad Hower)
Office 2007 now stores its documents in XML. This makes manipulation and creation of documents easy to do, even without Office installed. The Office Open XML format is also an ECMA standard and has backwards compatibility with older versions of Office as well as some capabilities on Linux and Macintosh, as well as Java. Surprised? Learn about these features and more in this session.

Architecture: Dude, where's my business logic? (Chad Hower)
Over the years we have moved from desktop, to client server, to 3-tier, to n-tier, to service orientation. In the process though many things have changed, but many habits have remained. This session discusses what we are doing wrong, and solutions.

.NET 3.0: WinForms and WPF (Chad Hower)
With two options for building forms, which is better to use? For the near future the answer often is both. In this session we will cover the strengths and weaknesses of each, and how to use them effectively together.

  Posted on: Thursday, January 24, 2008 9:05:01 PM (Romance Standard Time, UTC+01:00)   |   Comments [1]
         
2/4/2012   4:35:20 PM
 Welcome to Snowball.be
Hello and welcome to snowball.be!

My name is Gill Cleeren, I'm a Microsoft Regional Director and an MVP ASP.NET.
On Snowball.be, you'll find all kind news and articles on .net, ASP.NET, WPF, Silverlight and Microsoft in general.
More on me can be found on my about page.

Should you have any questions, don't hesitate to contact me by Send mail to the author(s) .

 Partner sites
 Most popular tags
.net (124) .net 3.0 (6) .net 3.5 (18) .NET 4 (18) .NET Show (1) ADO.net (4) ASP.net (53) ASP.net AJAX (4) ASP.NET MVC (3) Atlas (12) Azure (2) Blend (2) Book (5) Book review (4) C# (43) Case studies (1) Chopsticks (3) Community (10) Community Day (15) Consoles (1) Database (1) DevDays09 (4) DotNetNuke (4) Efficiency (57) Enterprise Library (5) Events (60) Expression (7) Games (3) Hardware (9) Internet (18) IT (1) jQuery (1) LightSwitch (3) Links (11) LINQ (4) Mac (2) Metro (1) Microsoft (75) Mix 07 (6) Mix 08 (4) Mix 09 (1) Mix 11 (1) Movies (4) MVP (5) MVP Summit 2008 (3) mvvm (1) Office 2007 (10) Other (8) PDC (22) PDC2008 (10) Personal (36) ppt (9) Programming (52) Programming tools (22) Regional Director (2) Silverlight (142) Silverlight Advent Calendar (24) sl4 (44) Slide decks (13) Snowball (13) Software (20) Microsoft (25) Speaking (14) SQL Server (10) TechDays (13) TechEd (14) telerik (6) Telerik (6) TFS (1) Twitter (1) Vista (73) Vista Tricks (9) Visual Studio.net (38) Visug (33) VS2010 (8) Wallpaper (2) WCF (2) Webcasts (9) Webinars (5) Windows (41) Windows 7 (5) Windows 8 (1) Windows Azure (2) Windows Mobile (3) Windows Phone 7 (2) WinFX (17) WinRT (1) WP7 (2) WPF (40) XAML (24)

 On this page
 This site
 Archives
Navigation
 Sitemap
 Blogroll OPML
 Disclaimer

All content is property of www.snowball.be. Nothing on this site can be copied or published elsewhere, unless otherwise stated.

This site is made by Gill Cleeren.

Questions? Opinions? Send mail to the author(s) E-mail