This post has been imported from the old blog and has not yet been converted to the new syntax yet.
Hello there!

The day is finally over. After being up from 5 o' clock this morning, I arrived back home at 1 o' clock this night.

A bit of Coca Cola, a Snickers and sitting behind a PC and I'm awake again :)


Public transportation in London has the remarkable ability to take hours over very short distances, for ridiculously high prices. It took me 2 hours to get to Reading this morning.

But luckily, the day ended good. I found a radio station which broadcasts Armin van Buren - A State Of Trance, apparently the only non-British DJ to play weekly on Kiss FM.

Photo's will follow later since it was forbidden to take pictures if you didn't mention it in front, which I of course forgot ;)


Started the day with a session about Microformats (Glenn Jones), which are basically nothing more then HTML elements with specific classes assigned to functional data. This makes it able for search engines and other machine code to interpret the page and easily retrieve the functional data to process. I'll give this a try in a next project, it seems very nice.

More info: microformats.org

The second session I attended was about CSS (Patrick Lauke) and how you use it to separate content from lay-out. Which was pretty basic stuff in my opinion, but I still picked up some tricks. It seems very nice to use CSS to provide a printer friendly version of a page.

Then I watched a session about Ruby On Rails (Dave Verwer), which gave an overview of possibilities combined with some demo's.

Lastly there was a session about Unobtrusive Javascript (Dave Verwer) which provides a very clean way to provide fall-back functionality to clients which have Javascript disabled. It was good to listen to this to hear another point of view, not that much about how the technology works. I'm currently using this on my personal (Dutch) blog to display special effects on images :)


Slides will be available from webdd.org.uk soon.

Afterwards we went for a drink with some people and some food in Pizza Express where I got to know some other people who are working in the financial world as well, and got some more information about gatherings in London about .NET development. This was the most important part of the day for me, since it was quite special as a foreigner to be among such a bunch of English people, without knowing anyone and making new contacts.

WebDD was a very nice event, with gave me a break from all my day to day development work and brought me back in touch with the technologies I love, around web development.
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
Today I got a letter from Microsoft UK personally confirming my registration for the WebDD event for next weekend.

Attached with a security badge to enter the Microsoft Campus.

Security Badge

I must say I'm pretty impressed about the effort put into this, since it's a free event after all. Especially since they had to send it abroad and everything :)


When it comes to logistics, I'm always impressed at Microsoft. Receiving stuff from them coming from the US, Ireland, Germany and other places, without any problems.
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
Alright, currently it's a very busy time, but some people asked for more info about the previous DevDays 2005, so here is my attempt :)


First of all, I haven't taken any pictures this time, because I had to give my bag away at the start, and the camera was in there.

The first presentation after Bill Gates' keynote was by Philippe Destoop about Closing The Gap Between Development And Operations: A Developer's Perspective.

The main problem lies withing a lack of communication between developers and operations. Depending on the size of a company Operations has either little power or unlimited power. In either case, not talking to Operations can lead to your company suffering loss when your application crashes, or when Ops have a lot of power, prevent your app from being deployed.

The solution to this is to work together with Ops during development and to make them like your app ;)


You do this by communication a lot and by implementing monitoring and control functionality into your app, to be used by Ops later on.

The good thing is, a lot of the code needed to do this already exists, in the form of the Enterprise Library. More particularly, the Logging and Instrumentation Application Block.

Using this block you can raise events and timed events to about anything you want. Making it possible for Ops to receive these events in their monitoring programs and do something with it.

You can view some examples of code in the presentation.

Next presentation was IT Fortress: Developing On A Secured Infrastructure by Raf Cox.

He talked about security, first examine what you want to protect and why, then choose a technology to protect it with, and don't be shy of using built-in technology of the OS, it's better then re-inventing it.

In a secure environment you have to be aware as a developer that your application isn't as "free" as it might be in your development environment. It can be run as a normal user, not fully trusted, with limited network access.

You always have to think about possible security bugs, if you don't, they will be there and hackers will know them.

After this he explained the possible authentication choices in Windows, how Basic Authentication, SSL and Kerberos works.

You can use Windows for authorization as well. By using the Authorization Manager it is possible to define common roles in your organization with common used operations and define their permissions in the manager in a central place. After this applications all can use this information.

Last part of the presentation was about using least privilege. You can read all about it in the presentation.

Third presentation of the day was by Clemens Vasters about Interop & Integration: Best Practices For SOA With Today's Technologies.

During this presentation everything that has been shown is readily available, no future products were used, which is a nice thing for a presentation! :)


The presentation was based on a demonstration example to explain how service-oriented architecture works.

Basically every functionality in the example is a service, when you take a look at the big overview it looks like a very modular system where each service has one well-defined task and works together with other services.

Some properties of these services are autonomy, where each service control and hide their state, services also are never hard linked to each other and are platform independent, so no returning DataSets.

Services also contain "edge code", which is code specifically written for the borders, and do nothing but forward to the real code that handles the logic, which are basic classes.

This was a very energy-rich session, with a lot of new information, which is still being processed by my brain :)


You can view all the diagrams in the presentation.

Next presentation was Best Practices For Windows Forms Development by Marc Ghys and Bart Debeuckelaere.

The first issue was to improve performance for Smart Clients. This can be done by using a lot of caching, compress the SOAP messages, and possibly use ngen.exe to precompile your assemblies. Also when you have to do something intensive, do it when the user expects it, for example, make a web-service call when a user clicks a submit button while showing a loading msg, and not when he leaves a textbox for example.

Next was how to secure webservices, by using the integrated authentication mechanisms in Windows and by using WSE.

Other things during this presentation were creating your own controls to provide a consistent look and feel in your application, using code generation to save time and to have consistent code. Then some info was given about ClickOnce, but the demo failed and then the time was up. But you can view the presentation for more info.

At the end of the day there was a community block left. These were the Lightning Talks where I talked about Alternate Data Streams. And these are the only photos I have of the day, taken by Tom Mertens, tnx!



This concludes day 1, tomorrow I'll try to do the same for day 2, I also ran out of time now ;)
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
The Developer & IT Pro Days 2005 are over, as well are my exams.

During day 2 we saw what is going to come with the next .NET version (partial files, generics, ClickOnce, ...) and what mistakes an admin can make in his IT setup and how to fix them.

The last one was really funny, but sadly enough those mistakes are often made, running SQL Server as SYSTEM, SQL Injection, simple passwords, no defense in depth, logging on as domain admin, ...

My exams are also over now, the last one of my current education, coming up next is a 3-month internship at Microsoft.

And just like Tom's doing, here is a picture of the Channel 9 guy, sitting together with the Azlan mascot on the tower of stuff I had to learn these last 3 weeks for my exams :)


 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
Day 1 of the DevDays 2005 Belgium passed.

What was the main focus?

Use the Enterprise Library, write lots of seperate services that are loosely coupled and keep your IT Pro's in mind when creating an application.

I also gave a Lightning Talk about Alternate Data Streams.
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
The Developer & IT Pro Days 2005 are coming up in a few days and I'll be there.

I'll even talk there ;) for 5 minutes, about Alternate Data Streams.

It'll be my first talk in English in front of such an audience, what an experience :)
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.


Welcome back! DevDays 2004 Belgium, Day 2 is over, and that also concludes the entire DevDays over here.

The day starts with an opening keynote by David Chappell about The Road to Longhorn.

This dude is amazing, he comes on stage, and as an introduction he starts taking of his jacket, tie and shirt, and what's under that? Our national football shirt, from the Red Devils.

Check the picture for (unclear) details :)




Oh, and he got some red socks as well. ;)


He compared musicians to developers, only developers get better hotels. They travel around the world and play for audiences.

His session was basically about what Longhorn is and will be. I'm very impressed by the 'One API to rule them all', or WinFX :p

The main message was 'write managed code!'. And preferably one of the new languages. Managed C++ is for people who love pain.

There was also a story about where the codename came from. Above Redmond lies Canada, with a ski-resort there that's very loved with MS folks. There are two mountains there, Whistler and Blackcomb. Now you all know what those code-names are for. But then Blackcomb got set back and something got in between, so they returned to their ski-resort and looked around. What is between these two mountains? And they found a bar, called Longhorn. And there it was, it got called after a bar in Canada.

He kinda told in big lines everything of the Longhorn track of that day.

XAML is the next thing in designing UI's. The designer creates a UI in XAML, and gives it to the dev, who wires up the events.

There was also a comparison between Google and Windows. Google searches in about 4 billion pages, and how long does it take to get a result back? Almost instantly. Now, open up your search in Windows.... This has to improve! This is all about WinFS.

I won't make so many different posts about this day, going to summarize them all in here.

First there was Avalon.



It's amazing what you can do with it! Images in buttons, video in buttons, buttons, images, moving buttons in listboxes, checkboxes in buttons, the whole lot. Gradient buttons, disappearing buttons, everything. XAML is great!

The only question I got about this is, if XAML doesn't get compiled, does that mean that everyone who gets an app can change the UI to what he likes? Or does it get compiled in your final product after all?

One thing to remember thou, Avalon gives you all these neat features, but you don't have to use all of them!. There was a demo app of the worst app ever, with moving things, disappearing, resizing, etc.

There were a lot of people again today.



Then was Indigo. It's great to have all communications under one section, webservices, remoting, enterprise services, ... all in Indigo.

I don't have a pic of this, he moved too much ;)


After that was WinFS.



It's amazing what you can do with this. Searching goes so much faster, and with the nice stack based view, which decreases as you enter a query, it's lovely.

Some questions I got on this matter are:

If your drop all your files in a WinFS store and you got only maps like 'Documents', 'Images', etc.. When you drop 2 or more files in there with the same filename (but actually a different image), how will you keep them apart? Now it's easy, they're in a separate folder, but we can't think in terms of folders anymore.

Something else I want to know. If WinFS stores all the meta-data, is there a way to have the browsing way like we have now, with files and folders, but with the power of WinFS? So that during your everyday work you keep using NTFS and the classic way, but when you go to Search, you get everything nicely cataloged.

And last for today was Whidbey.



Strange picture? Yeah :p

This session actually took 25 minutes longer then planned, he kept giving demo's, incredible. We saw some things about Whitehorse, also some of the stuff I saw on day one. A demo of ObjectSpaces, OneClick, Yukon stored procedures and SpaceInvaders in old console style :)


That was DevDays 2004 Belgium. It was a great experience for me. Hope to go to some more of these things.

Here's a decent picture btw:



In a couple of days I'll tell about the goodies. Got to get some sleep first.

You know, this is actually the first time in my life I had to get up so early to take the train. (Excluded from the times I don't sleep) And boy it's cold outside in the morning.

I hope you liked this feedback, I know it might not been very technically detailed, but you can read all about that in the slides which will become available (or are already?). This was more my view as a student going for the first time.

Oh, and I spoke at DevDays as well:



Don't believe me? Well, you're right, I only took a picture ;) It looks nice thou, doesn't it?

Thanks MS for inviting me!
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
ASP.NET for pros. By Tim Sneath.

Everything about how ASP.NET works, how you can secure things, how you can impersonate, how IIS6 so much owns IIS5 ;)

Some of the things I learned here was that you can have a web.config per directory. I always thought it was one per app.

Also, that you should not forget to set debug="false" when going to production. Something I've been guilty of already, easy to forget.

Some nice options to recycle the ASP.NET worker process as well, like each week, each 1million request, memory limit, etc

Multiple worker processes.

How an upgraded dll gets taken care off. Overwrite it, old clients still use the old dll, which is in cache, and new visitors get the new one, until all old visitors are timed out and the old dll is completely gone.

How 'eif' (need to get the url from the slide, it got updated, will try tomorrow) is very useful for developers to easily log to the event log.

Some nice options with Trace="true", which gives you a complete overview of what your page does. This dus make some debugging easier!

Also when you got Trace enabled site-wide that the trace.axd has a trace per request.

I'll be checking those tracing options out for sure, very nice.

Last session also covers ASP.NET, so I'll add it here. It's the Overview of ASP.NET Whidbey.

First of all, I hate the MS logos in this room, those which keep spinning around and around in the room and straight into your eyes every X seconds.

There were 2 speakers (got to check their names later on), which were a comic duo I thought. They keep running around, they made a very good impression, and one of them spoke English with a very Dutch accent, it amused me to hear some pieces in English and others pronounced in typically dutch. (Note: this is not a negative sentence :p)

I'm sure you all saw what nice Whidbey has to offer, I love the built in webserver. This will finally allow me to easily debug. Even when not having Admin rights.

They gave a lot of demo's about Master Pages, Authentication, User Management, DataAcces 'Things' (forgot the name, remember everything comes from System.Thing. But in the end they also had too little time, seems like everyone had :)

This was the last session of the day, after that was the closing keynote and the Geek Fest, with plenty of food.

On to day 2 :)

Hope you all enjoyed this feedback from me.
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
Over lunch we also had a session by Compuware, given by David Boschmans.



How to write .NET apps?

He told about unit testing, QA, etc. IT was quite confusing, he was very nervous, or so it seemed.

The video on the wall also started shaking, strange stuff :)

They gave a nice USB flaslight, which now lights my keyboard when I watch a movie in the dark and I need to check something :p

Cool gadget, pictures will be up later, of all the gadgets together. And we did get quite a lot of goodies. =)
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
Next was Tim Sneath. With a 2 part session about .NET for sysadmins.



This is actually a session from the IT Pro track, but there were a lot of developers in there.

In the first session he explained about everything the .NET framework is and does, along with some nice demo's. From which I'll give some commands.

First the basic stuff
csc file.cs // compile an exe
csc /t:library file.cs // compile a dll
csc /r:yourdll file.cs // compile an exe with your dll referenced

Then something nice:
ildasm yourapp.exe

This tool gives a nice overview of the generated IL and the metadata. I totally get the concept of why there is no more dll hell.

The metadata includes the version number of your references, along with a possible public key. Which makes sure only your dll gets run, and no trojan dll someone elses got in there.

Something else that got explained was signing.

First you generate a privatepublic keypair with:
sn -k key.snk // create your keypair, keep it safe!

Then you put it in your assembly and you sign it, and that way it can get a strong name.

Some random handy commands I noticed where:
pushd . // store the current dir
popd // return to the dir
start . // open the current dir in explorer

Now the GAC was explained. This is kind of a global assembly storage place, the System32 of .NET if you like.

Some funny things I saw where that he got CommandBar and BandObjects in there ;)

One other useful tool is ngen.

Your code always gets JIT-ted when run, this is no problem for servers. Which stay on for a long time. But for a workstation and a Windows Forms app, this could make the startup slow. So therefore we generate an image, in native code. This is stored in the GAC as well, this makes your code startup a lot faster. And your app doesn't need a Strong Name for this.

ngen yourapp.exe
ngen yourdll.dll

You could do this with your installer after deployment.

After this, it was lunch :p
Sandwiches and orange juice.

Then back to Tim Sneath for part 2.



The most important thing I got here that isn't on the slides is that user randomly choose Yes or No when prompted for ActiveX controls. Depending on what mood they're in.

It mainly went about deployment and security in this session. How you can easily deploy your apps, with an installer, from a fileshare or from the web.

It showed the ease of XCOPY, along with recommending MSI.

Something that I found weird was, when you execute an exe locally and it doesn't find all required dlls, it won't start. When you run it from the web, it'll start and throw an exception when it can't find the dll when it dynamicly wants to load it. Which, if unhandled, can make your app crash. Why not check for all required dlls before running? Doesn't a HTTP HEAD do the trick to check if it's there or not.

That was all for the .NET for sysadmin sessions.

Next one was about ASP.NET, also by him :p
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
Just before the Keynote started, they showed a robot driving around, bringing a beer, controlled by a PDA. Developed by students from 'KU Leuven'.

And another nice thing was that we, developers, all come on time. The entire room was filled, everyone was there on time. Which apparently only happens with us, all other kinds of people tend to be late :)

First up was Steve Riley (the picture they have there totally didn't look like him at DevDays :p), with the Keynote: "Innovation through Integration".

He first kinda summarized what innovation already has happened over time, and what will happen in the future.

One quote from that was that we at one point in history figured out to save paper by putting everything digitally online, but then came the laserprinter. The laserprinter is the reason why rain forests disappear, people print a page with a font, decide it doesn't look good, print another font, etc ;)

But the most interesting part for me was the one about security. He spoke about what you have to keep in mind when designing your apps, never add security when it's done, build it in from the start.

One of the things he told he was still afraid of, were keyloggers. Therefore you should never login to something private on a kiosk or something.

Something else was, cars now have a lot of processors as well. And they can fail as well, they even can be rebooted. But in that context he added one very nice question:

"Who of you would today trust your pc with your life?"

Nobody did, so that means there's still a long way to go.

He also talked about the Windows AntiVirus API. Where other AV packets can run onto as well, and you can have multiple AV scanners simultaneous as well.

Here's another quote to think about:

"How much security do you need?"
"As much as you need until you die." ;-)

Some words on the integrated part are, integrated training, when you buy a Windows product, you don't have to buy an extra training course, build it into the Help.

Also, dynamic Help. Why should a pro get the same help text as a beginner? The level will always go to the lowest one, and the pro will get all these help he already knows.
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
First of all, DevDays 2004 Belgium was in Ghent.

And I live in Bruges, so, got to take the train of course.



;-)

Once arrived in Ghent, the bus took me to the International Congres Center, or the ICC. Where the DevDays were organized. It was a great location, in my opinion.



Here is the .doc with the sessions I followed. (And will follow tomorrow ;))

Let's start the overview. The day begins with breakfast, which was nice, as this is all something new for me I never had expected to get free breakfast (and lunch and in the evening as well). And free drinks all day long as well :)

There were a bit over 1000 attendees I've been told. Here's a pic from the breakfast (sandwiches and stuff).



After having something to eat it's time for the introduction by Bruno Segers (General Manager, Microsoft Belux).



I saw some Microsoft commercials, and I love them :p the ones were you see people doing regular every day things, and you see a possible future being drawn on it. Really beautiful commercial.

As you can see on the picture as well, the logo is a skinhead with a chameleon on his head. Which reflects 'Integrated Innovation'. Symbolic thing :)
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
Day 1 of DevDays 2004 is over.

First of all, one of the questions I see coming back here: Which Whidbey version do you get?

Well, here is what we got:


  • Visual Studio Whidbey Prerequisites Build 30703.27

  • Visual Studio Whidbey Enterprise Architect Edition Build 30703.27 4CD

  • MSDN Library for Visual Studio Whidbey Build 3231 3CD



Now, I don't know of those are the PDC bits or not, I guess they are. (Update: as Jason Nadal posted in the comments, these are the PDC bits)



I'm going to make some separate posts about separate sections.

What I'm not going to do, is tell the stuff that was on their slides. I guess they'll become available soon anyway, so you can read it. Instead I'm going to make remarks on the sessions, things that for me personally caught my attention.

Let's start the journey I guess:

Train Ticket