Plip's Weblog

Phil Winstanley - British .NET chap based in Lancashire. Enjoys tea and tech. Working for Microsoft.

August 2006 - Posts

d.Construct 2006 - Web 2.0 Conference

So it's only a few days (well eight) to go until d.Construct 2006.

I'm really looking forward to the event which will see speakers from Google, Yahoo and Amazon

I'm not expecting masses of technical content from the event, rather advice and discussion on the direction of Web Development and so called "new media".

I suspect that the Microsoft developers at the event will be in the minority, I'm expecting Rails and lots of Java guys to be there but we'll see.

I know Dave Sussman and Dave Verwer will be there.

Anyone else going?

IE7, Atlas Introduction, LINQ, Provider Model, Atlas Security & Atlas Performance sessions

Microsoft Finland have posted Sessions Dave Sussman and I gave onto their Codezone site.

They are available to watch with Windows Media Player here 

Posted: Aug 29 2006, 05:42 PM by Plip | with no comments
Filed under: , ,
Placing your trust in youth

    "There are no good programmers under the age of thirty - they've just not experienced enough of life as a programmer."

I'm twenty three years old (twenty four in March) and I've recently become self employed after six years of full time employment. Prior to full time employment I didn't attend University and my time at College was closer to nine months than the two years I was supposed to do. I've learnt my trade by getting my hands dirty; not from classes and acedemia.

During my time as an employee I've worked along side developers ranging from their mid twenties up to those in their fifties and wanted to share some of the stories around "age issues" I've run in to over the years.

In this post I'm not going to explain the points I make, because this post isn't to educate those whom I believe are descriminating against young developers but the young developers themselves. People need to know it's not them - it's the industry. It can be so easy to become downtrodden by negative comments from those whom you consider your seniors, I want the youth to know that they are not alone in experienceing this.


    "I've been a developer for over twenty years"

Over the years I've experienced ageism; often ageism is associated with the elderly, but it's equally as much of an issue with youth.

Perhaps I've been unlucky with the colleagues I've worked with, but from experience I can say wholeheartedly that the worst developers I've worked with have all been twenty years my senior.

Developers are arrogant at the best of times, when talking to younger developers this arrogance can take on a form of agression a struggle for dominance and power. If you're a younger sibling you might know what that's like from a young age, if you're not, then it's a very scary thing.

I've found the best way to "be a young developer" and get on with everyone around you including those agressive older developers is humour.


    "You are wet behind the ears!"

Often experience counts for very little, especially I've found when speaking to people signifigant older than you. To ask someone else for help can be difficult at the best of times, when that someone is twenty years younger than you, it seems to make the task all that much harder.

One thing that never ceases to amaze me is the ability of some people to be so blind to what is around them in terms of knowledge, experience and creativity.

Can't teach an old dog new tricks

    "Historically we've never done it that way."

I'm sure you've looked at someone else's code and turned to someone nearby and said WTF!?. On asking for an explaination for the code the conversation might have gone something like this: -

You: "I don't understand, well, I understand the code, but I don't understand why it's been done this way...?"

Them: "Ah Historically we needed to make sure the system was flexible..."

You: "But this code doesn't work..."

Them: "Ah, yes, we changed the way we were going to use the application."

You: "When did it change?"

Them: "Two years ago."

You: "So none of this code is used? I'll delete it then."

Them: "No! Don't do that, we might need it!"

You: "But it will never be used - it's just making things more complicated and slowing the application down."

Them: "We still need it."

You: ?!?!?!?!!?!!?!?!?

I've found it very common that the older someone gets, the more closed they become to change.


    "You are not paid to think; you are paid to do."

That was something that was said to me once after I'd come up with an idea of how to do something a little differently.

Another thing I've noticed over the past few years is that a portion of older developers become very arrogant towards their code and knowledge.

Their way is right, there is no otherway, and if there is, it's wrong.

"That's someone else's job."

There seems to be a group of developers that as they become older they also become deliberatly obstructive.

They feel the world owes them something and that they're not getting it, but they're too settled to do anything about it.

In their work life they will use the rules and regulations to get out of doing work and those same rules and regulations to ensure they only do the work they want to do leafing the rest of the team, and usually the junior (younger) developers to clean up the mess the older guys have created.

Youth has it's advantages

I'm not expecting the world to change, and nor should you. Ageism is part of our societies and it is not going to go anywhere, so use it to your advantage.

As a young developer there are things you can "get away with" that older developers could not (or would not dare) attempt.

Youth allows you to make mistakes, age does not. Use it to your advantage, experiment, play, have fun with your code. If you make a mistake, you can learn from it, if a more seasoned developer makes a mistake they (generally) will attempt to avoid it or work around it as opposed to admiting to it, they feel as though their pride will not allow them to be "wrong", certainly not publically.

You have free reign to be adventurous with your code, and there's no better time than now.

In Conclusion

So is being older advantagous in the programming world? No.

Is being young any better? No.

Middle aged developers clearly have it best!

Snow, Reindeer and Atlas

This week I've been in Helsinki (Finland) giving sessions on Atlas.

I delievered two sessions back to back, the first was on Atlas security and I dived into The different types of hackers there are, Cross site scripting, indentity theft and burglary, the second was on Atlas performance where we explore Configuration, Auto Complete, Update Panels, Browser Speed and Postbacks. Soon those Sessions will be up in a recorded format to watch or download at your pleasure.

Everything went very well in the first session for about ... ooh 10 minutes, after which the feed to the projector seemed to cut out and I was left without any projector for about 15 minutes whilst the audio/visual guys sorted the problem out. That left me a little flustered and I lost my way a bit (apologies to all those in the room cringing as I bounced back and forward through the presentation as though I were Michael J. Fox in a Delorian), but i don't think things went too badly. 

What was really cool about the event was the fact it was being held in a Cinema complex. The presentation rooms were the Cinema Screens. Finally I am a movie star.


With me at the event was another speaker, a Mr David Sussman, (you know the one who wrote all those great books on ASP and ASP.NET). It was great to spend some time with Dave and share our experiences of ASP.NET and Atlas of late. David delivered not only the keynote in which he explored Atlas and LINQ but two other sessions, one on IE 7 and the other on ASP.NET Providers, the man is a Presentation Machine!

At the event I finally got to meet Finlands most famous export, Teemu Keiski. Teemu is an ASP Insider and Microsoft MVP just like David and I, so we had lots to talk about when we met up which was great. Teemu also treated us to a Finnish delicacy (Burger and fries). Teemu has a review of the WebDay event on his blog.

I was also interviewed (GRILLED) by a Finnish Online publication about Microsoft and Atlas. They have a review (in Finnish) here. I'm reliably informed the same guys gave Scott Guthrie a hard time when he was over too - so at least I'm in good company.


My mental image of Helsinki was somewhat different to reality, I was expecting a very different world, the main reasons I was dissapointed were: -

  1. It wasn't snowing.
  2. There were no Reindeer roaming the street.

That was soon fixed though, David Sussman bought me an Ice Cream (which I got allover my face and hands), then we stumbled across this little fella: -

Sorted. We had snow and Reindeer (almost). 


Great event, I really enjoyed it and hope the deligates also did.

Terrorists have attacked my plane!

I fly to Finland tomorrow to speak at a Microsoft conference along side Dave Sussman and I was just checking my flight details...


There ain't no snakes on my plane - it's NULL!

I'm going to be speaking about Atlas Performance and Atlas Security - the sessions will be on the web after the event (I've already recorded them but feel it would cheat the conference attendees if I were to publish them before the day!).



Visual Studio .NET 2005 Hidden Gem

This isn't about some feautre or fantastic tool buried deep within Visual Studio, but rather a fix for a very odd problem.

I have a large ASP.NET site and I was trying to publish the site but receiving some rather worrying Exceptions from the compiler.

The three exceptions were all coming from a web.config file \_vti_cnf\web.config: -

Invalid token 'Text' at root level of document.
XML document must contain a root level element.
Data at the root level is invalid. Line 1, position 1.

All being caused by a web.config file inside a _vti_cnf folder.

Most odd I though, so I asked some people how to fix it and a chap from Microsoft replied thusly: -

"I think the problem you’re running into is due to the Front Page Server Extension files not being hidden.    The _vti* folders are special Front Page Server Extension folders used to track information about files in your web.  The aspnet_compiler .exe will throw an error if there is an invalid web.config in your directory structure.  The aspnet_compiler.exe should be ignoring hidden files/folders. 
Can you verify that these files are hidden?"

Sure enough, the folder was not marked as hidden. A simple change to the file's settings and the compile worked just fine.

Just sharing this in case anyone else runs into it.

P.S. sorry for the pun in the title.





Posted: Aug 14 2006, 10:58 PM by Plip | with 6 comment(s)
Filed under: ,
Rails making a security boo boo

They're witholding the nature of an exploit "so people have a chance to patch", meaning anyone that has been exploited won't bloody well know until it's too late.

There will be people who can't upgrade and could really do with knowing - I don't agree with this course of action.

Luckily they quickly rectified this

Posted: Aug 11 2006, 10:19 AM by Plip | with 1 comment(s)
Filed under: ,
Atlas Exceptions - Wordy but good!

Here's an interesting exception - someone has written an essay :-)

private void CheckCollectionLocked()
      if (this._collectionLocked)
            throw new InvalidOperationException("Property items cannot be added to, removed from, or replaced in the collection after the Init event. To dynamically add extender properties, create a new extender and add the new properties to that extender and then add the extender to the page.");

I think I prefer this type of exception, descriptive and with a solution. Well done ASP.NET Team.
Posted: Aug 06 2006, 08:35 PM by Plip | with no comments
Filed under:
ImagePreview Atlas Control Extender

I've created an extender which gives you a preview of an image which you already have in you application.

It's really simple to add it to exising images, all you do is: -

<asp:Image ImageUrl="~/Images/TourDeFrance1.jpg" runat="server" ID="Image1" Width="100" />



<atlasToolkit:ImagePreview ID="ip1" runat="server">

    <atlasToolkit:ImagePreviewExtenderProperties TargetControlID="Image1" />



Control extenders are easy!

I'd love to make it as slick as the LighBox 2 scripts, but my javascript isn't that hot ;-)

Posted: Aug 05 2006, 10:54 PM by Plip | with 3 comment(s)
Filed under: , ,
The keyboard that clicks.

I orderd a new keyboard this week and it's arrived.

My typing skills are pretty okay, but they could certainly be improved, so what I've done is bought a keyboard with no letters on it, and by that I mean it's completly blank, all the keys are just black.

I'm typing this blog posting with the keyboard and it seems to be going okay, I'm making mistakes and correcting them but overall my fingers are finding the right keys.

It's funny actually, I find it much easier to type whilst looking at the blank keyboard with no letters on it than just looking at the screen, I wonder if it's something to do with my brain being happier I'm going to press the key square on as opposed to wether or not it's the right key - most odd.

You can have a look at the keyboard here. 

As well as having no lettering, the keyboard is a dream to type on, the keys feel very tactile and solid, mostly due to the wonderful mechanical switches from cherry that they keyboard uses. 


It's a nice keyboard, I look forward to seeing if it does improve my typing speed or quality. 


Posted: Aug 05 2006, 02:05 PM by Plip | with 26 comment(s)
Filed under:
More Posts Next page »