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 :)