May 2006 Entries

Blogging from Word 2007

So I wanted to be one of the cool people who posted to their blog from Word 2007. Yah, wanted to be. I'm not going to be tonight. I have the product installed and it seems to run just fine.....with one exception. When I try to connect to my blog with Word, it won't authenticate the user I'm trying to post with and it doesn't matter what I try. As is always the cast with beta software you get some quirks, like the continual looping of the request to enter the UserName and Password for...

My Tool List

Over the last number of months I've been working on building up the toolkit that I use for software development. By no means is it going to be like Scott Hanselman's list, but it is something that a few people have suggested that I publish and I'm going to oblige them. The following is a list of the tools and downloads that I use for my development work.Visual Studio Addins- MRU Cleaner- Spell Checker for HTML and ASP.NET pages- The Microsoft Consolas Font Family- CoolCommands- Avanade Integration Pack for Microsoft Enterprise Library- CSS Properties Download- RssToolkit- Property Manager Addin- Event...

Quotes from Calgary Code Camp

Like DevTeach, there were some memorable quotes from the trip to Calgary.Here we goIt's like sex in my mouth. -- said when describing the Ahi Tuna Tacos at Joey Tomato's.I don't know if I can sit here with this on my lap. It might burn it. -- JP Boodhoo's statement when presented with the prospect of having his laptop on his lap.Is it just me or is that screen fuzzy? -- Justice in the first presentation of the day.You masturbate too much. -- My response to Justice's inquiry about the screen being fuzzy.I'm the Igloo Coder and the screen...

Calgary Code Camp Review

I have to admit that I went to the Calgary Code Camp to attend the talks as well as see how the event was run. Overall the talks were great and the event ran quite smoothly. Two big thumbs up to the James and Bill on the success of their event. If you want to get a great overview of the content provided in some of the talks go to Justice's blog. I warn you in advance of the sexual harassment that some of the posts contain.Steven Rockarts posted a nice list of things that help...

James Kovacs on ASP.NET Kung-Fu - Advanced Techniques and Idioms

I love HttpHandlers. You can restrict access, in .NET 2.0, to specific files by using the System.Web.HttpNotFoundHandler (returns a 404 error) or the System.Web.HttpForbiddenHandler (returns a 403 error). James is showing some great suff on using HttpHandlers for security type stuff and some GDI code on the fly. Pretty interesting stuff. Don't know that I'll ever use the image stuff (never say never right?), but it shows how you can intercept the Http requests and manipulate the request/response stream.James is now talking about the Caching features of ASP.NET which is pretty interesting.Overall, a pretty good presentation....

JP Boodhoo on TDD, Dependency Injection and The Data Access Layer

Finally I get see JP speak again. I love it when he busts Microsoft's chops on their drag and drop demo methods. It's even better when there are MS people in the room.JP's got his water bottle with him again at this presentation. I'll let you know if he ever takes a drink from it.Something that I didn't pick up from his last talk is that JP believes that moving to TDD is a fundamental paradigm shift equivalent to the change from Procedural to OO.Dependency Inversion is a principle. High level components should not depend on...

Complaints about Edmug's Last Presentation

There have been a number of people who have complained about Rod's presentation at Edmug's May meeting. The most scathing complaint comes from Mike over at sideline.ca and I'd like to address his complaints.The first statement that Mike makes that concerns me is this:"In all honesty, I went into the meeting expecting to be a bit bored..."If you went to the presentation expecting to be a little bit bored, why would you be complaining that you ended up bored? Really? We at Edmug have presented one meeting prior to this, and yes it was a great show put on by...

The .NET Language Integrated Query Project (LINQ)

To start the Calgary Code Camp 2006 I'm sitting in on Daniel Carbajal's presentation on LINQ. I've seen a bit on this before, but I'm interested in what new things I'm going to be able to pick up.The example:var query = from s in names where s[0] == 'F' orderby s select s.ToUpper();shows a very nice and easy way to filter a selection based on the first letter of the s objects. Also note that the variable 'query' is the one that you will want to work with to see the results of the query. If you work with...

Calgary Code Camp

Calgary Code Camp is tomorrow. For all you geeks, Steven Rockarts will be there. For all you metrosexuals, Justice Gray will be there. For all you ladies, I'll be there. For all you taco lovers, the Mad Mexican might be there.I'm the Igloo Coder and I don't like 5am departure times.

Edmug Presentation Changes

The feedback for Rod Paddock's talk last night at Edmug is starting to trickle in this morning and one thing is becoming clear. Some of the attendees were expecting an advanced talk and Rod's talk did not live up to their expectations. That said, I don't think that many would say the talk sucked, its just that their expectations were incorrectly set.We are going to take at least one step to rectify the problem with the expectations. Going forward, all of our presentations will be categorized with a level numbering system. The values will be 100,...

Edmonton .NET User Group's May Meeting

The Edmonton .NET User Group held it's May meeting tonight. Rod Paddock presented on Creating Custom Visual Studio 2005 Project Templates. I learned a ton of stuff and had some great discussions with people in the local industry. The crowd was small, but the few who shunned the Oilers game were treated to a great presentation. Next month we have two great presentations and no matter what, there won't be a playoff game at that time.I'm the Igloo Coder and my templates will be changing....if I can figure out how to do it in VS 2003.

WineLog.net

Any of you that know me well understand that I have a weakness for the elixir of life. Today Michael Arrington over at TechCrunch posted on the new Web 2.0 (my thoughts on that are starting to change from what they were) WineLog.net. I don't immediately see how it qualifies as a Web 2.0 application unless you say that having a blog is the only requirement. Regardless, it's a great start and I know that you'll be able to see my picks at this link. According to the blog, they are working on adding RSS feeds...

Script#...WTF?

Really, this is a great extension (watch the screencast too) of the .NET platform. Having data typing "capabilities" when creating a set javascript routines is invaluable. I'm all for this type of tool in my environment. It takes some of the pressure off of me when code reviewing our not-quite-web-2.0-website. I'm going to have to look at it a little longer, but I think this may also help me in getting some unit testing implemented against our javascript.I like this part of Nikhil's postIn December, while on vacation, I decided to finally get down to writing...

Caching patterns

Here's a great article by Gavin Joyce on the Reluctant Cache Pattern. I like it's simplicity and the way that won't bloat the memory usage on the server. The project that I'm working on is by no means being hit hard, but this is how the caching should be done in it. I wish I had the time to retrofit this. Maybe I'll work over a weekend to put in this pattern.I'm the Igloo Coder and my cache is empty.

Why can't more of us be like this?

I've worked some crap jobs. I've worked some great jobs. The one thing that carries through all these is that at some point I always hated them. I'm not talking about feeling like the morning sucks. I've thought "Why the hell do I do this?" at all the jobs.We all think we've been dealt the bad hand at one time or another. The fact is people who have Down Syndrome did get the bad hand and, unlike me or you, they have to play that hand every single day for the rest of their lives....

Okay, I'm a homer, but....

Have you ever seen any event, sporting, cultural (is there a difference when you talk hockey?) or emotional where the guy who is paid to sing the national anthem, just stops. This was a good kind of stopping. Not that "Oops, I forgot the words" or "I can't sing while you boo my awful voice" kind of stop. Paul Laurier sang the first verse of O Canada tonight at the Oilers game and then he stopped and let the crowd do the singing. And oh did they sing. The belted out the words from down...

EnergizeIT 2006

Microsoft Canada is trying out a new style of event in June. EnergizeIT will be a live, day long event in Toronto. The difference with this event is that everyone who isn't part of the center of the universe will have the opportunity to participate via live and delayed, two way webcasts. Here in Edmonton, like all other places that think the Maple Leafs suck, we have the option to create a local mini-event that will bounce the feeds from Toronto onto a projection screen. We're not too sure if this is going to happen (EnergizeIT...

More free tools

I've just added another piece of software to my toolkit. RedGate's SQL Prompt is now available for free download until September 1 2006.I'm the Igloo Coder and I'm of to get some more intelli in my sense.

Edmonton Blogging Community

Hey all. If you have a blog with some technical content and you're from Edmonton, leave me a comment and I'll see about adding your blog's RSS feed to the consolidator on BloggingOnIT.com. All the site does is consume your feed and include your posts on the page and in it's RSS feed. We're hoping that it will become a centralized feed that anyone interested in the Edmonton IT scene can use for their aggregator.I'm the Igloo Coder and I'm off to feed my aggregator some more XML.

Edmonton Code Camp

Steven Rockarts has committed to putting on a Code Camp here in Edmonton. I know some of the speakers that Steven is trying to get lined up and if he can do it, this will be a top notch event. I'm going with a few of the local .NET addicts to the Calgary Code Camp on the 27th of May. I'm stoked about the topics and I'm interested to see how they run it. It does require a 5am launch time for the white Neon, but hell, all that means is that I'm going to be...

Back in '92

Oil Country is pumping out the black gold! Tonight the Oilers advanced to round 3 (the semi finals) of the NHL playoffs. According to history buffs this is the first time that the Oil have been this far into the playoffs since 1992. So, as a retrospective, I'm going to outline what was happening in 1992.Rodney King is taped being beatenThe Michelangelo virus, originating in Europe, disables computers worldwideRiots break out in Los AngelesAurthur Ashe announces he has AIDSLast episode of the Cosby show airsNAFTA....need I say moreMichael Schumacher wins first ever Formula 1 raceThe Pittsburg Penguins...

Abstracting the Developer

Joel Spolsky posted about the concept of abstracting the developer to insulate them and make them more effective at the time.  I read this article and thought "This is great" and then "Damn my last PM did a great job of this".  Today I realized another way that it can occur.I'm currently working onsite with a client. We've all heard the horror stories of how contractors are given the closet (sometimes the water closet) for an office and a P2 with 128MB of RAM for them to run VS 2005 on. Today I realized the the client I'm...

Agile Development

What is it about Agile methodologies causes them to be "Old Boys Clubs". I can dig around the internet and find all the information I want on Scrum, Agile or TDD, but all of it is from the developer perspective. What part of this is only concerned about one or two portion of the SDLC? Yah it covers off the Coding / Debugging and, in some cases, the Requirements Gathering portions just fine, but those are only 2 of the 5 tenants of the SDLC. What about Architectural Design and System Testing? I have not...

Unable to create offline cache location at.....

Today I got back to work for the first time in a week and the weather outside is not helping my ability to concentrate or be productive.  As is my luck, I get back to work and try to fire up Visual Studio when I was greeted with this error message"Unable to create offline cache location at C:\Documents and Settings\MyLoginAccount\My Documents\MyApplicationFolder"After a couple of hours fighting with this I finally figured out what the problem was. If open Visual Studio and go to the Tools | Options menu you will get the configuration window. Expand the Projects folder and select...

Hockey in Canada in the Spring

I live in the northern most city that is the home to an NHL team, the Oilers. Sure it's spring, but it is early spring here in the City of Champions. That said the weather is awesome. The Oilers are playing in San Jose (crappiest ice in the league?) tonight (they're up 4-3 in the game right now) and I'm able to sit out on my deck, work on this via wireless, and watch the game through the sliding doors. To top it all off I'm doing it in shorts.I'm the Igloo Coder and I'm beginning...

Canadian Online Census 2006

Tonight I filled out the Canadian Census 2006 using their online form. The idea of having the census information gathered online makes complete sense to me. Unfortunately this implementation is a disaster.Like all applications we develop, we must keep the needs of the end user in mind at all times. I've worked on enough systems to know that there is a significant number of end users that are more comfortable not using the mouse. Heck, half the time I'm that person and I've never worked on a mainframe/green screen system. So if we keep that...

Lessons Learned -- Conference Prep

DevTeach 2006 was my first conference and like anything you do for the first time you make a few mistakes. Jason Row has a good post showing a list of things that you should do when going to a conference. The only thing that I'd add is that you should take your power cord with you to the conference location. Leaving it in your hotel room doesn't really help you any.I'm the Igloo Coder and for the past week I've been damn happy that I bought the extra sized battery.

Quotes from DevTeach 2006

This week was a blast. Although the User Group leaders are a bunch of pretentious uppety-ups, I did manage to have a good time hanging out with them. We had a great time exploring the city in the evenings and the restaurant choices were top notch. Probably the most entertaining things to look back on will be the appearance of The Mad Mexican and Johnny 'The Pimp' Bristowe on the morning of the last day, the waiter at 3 Boussiers putting Jean-Luc in his place, the waitress at Baton Rouge on the last night and all the...

The Mad Mexican Caught on Film

The Mad Mexican and Johnny 'The Pimp' Bristowe

Johnny "The Pimp" Bristowe and the Mad Mexican

Johnny "The Pimp" Bristowe was presenting on Applications with Windows Presentation Foundation this morning when he was visited by The Mad Mexican. Apparentally these two were tag team partners back in the Mexican wrestling circuts. Just for old times sake, The Mad Mexican brought Johnny's old attire. Apparentally working for Microsoft has cause The Pimp's head to expand so he was unable to wear the bling-bling. At the urging of The Mad Mexican, The Pimp participated in a pose down. The video can be seen on YouTube here. I'm sure you can also check...

Designing Applications for Mulitple UIs Part 1

Beth Massi is a great and knowledgeable presenter. This talk wasn't quite what I expected (I admit, I didn't really read the description before hand), but it had a lot of information tat was very useful. Part 1 talked about using Web Services vs. Remoting and the WinForms app that was created for the business problem that she created. There wasn't as much about the patterns you'd use to separate the UI from the rest of the code. Good info otherwise.We interrupt this presentation to go and see the Mad Mexican who has been sighted near...

Creating Custom Setup Applications

I've posted before about the fact that Reporting and Installation Packages are forgotten arts. Dan Jurden's talk this morning is about the latter.Good presentations are tough to do. People in the audience that think they know more than the presenter, and say so during the presentation, don't make it any easier. For me, as an attendee, nothing makes a session worse than some person in the crowd who insists on telling the presenter how to do their demo. The only thing I can say to those people, including the two in this session, is that they...

Creating Custom Setup Applications

I've posted before about the fact that Reporting and Installation Packages are forgotten arts. Dan Jurden's talk this morning is about the latter.Good presentations are tough to do. People in the audience that think they know more than the presenter, and say so during the presentation, don't make it any easier. For me, as an attendee, nothing makes a session worse than some person in the crowd who insists on telling the presenter how to do their demo. The only thing I can say to those people, including the two in this session, is that they...

Click Once Deployment

This is a very interesting session. The different ways to release the app into the wild and the fact that the application, when installed locally, allows for a version rollback on uninstall are very cool. I have a WinForms app that I've written in .NET 2.0 and releasing it to my clients (okay, my parents) is a pain and one of the reasons that I've sorta stopped updating it.On a side note, for some reason the wireless in these rooms is brutally unreliable. Thank god for offline blogging tools. Anyways, my battery is finally running slow...

Sustainability and Inverson of Control #2

Finally after 1 1/2 days I finally attended a dud. There's no question in my mind that Scott Bellware is a smart cookie, but this was a pretty bad session. First I'll qualify my situation by saying that I didn't attend session #1 on this topic. That said, I still understood what Scott was talking about. The problem was that he wasn't very well prepared, he had no energy and at times it just seemed like he stumbled through the content.It was a disappointed because I knew the subject would be exciting and that I could...

Clarification on the VSTS checkin/out process

I spoke with Barry Gervin after the presentation to clarify the concerns that I had during the session this morning.When you are working in any environment and you are starting a new work (coding) task you should begin it by working from the most recent version of the code that is available at the time that you are starting. The primary reason for this is to minimize the amount of merging that you will have to do when you are ready to check in the code changes associated with your task. This is no different if you are...

Lunch Time at DevTeach 2006

It's darn near lunch time and there's this dude running around with a quesadilla screaming something about Mexico. I'm starting to wonder if the guy is all there or not. Seems other people have seen him too. I'm not against the mentally unstable, but this guy really needs to lay off the spandex pants.

Advanced Version Control with Team Systems

One of the interesting concepts that came up in this talk was the idea that VSTS has you working off of a known working version of the source code. I see a problem with this. Working off a known working version of code is good, but working off the most recent known working version of code is the best. I don't like the idea that I can be working off a base of code that, when I go to check in my code changes, is potentially different from the code that I made my changes work against....

Extending Visual Studio 2005

To ensure your code has all the XML comments in it go to the project, right click and select Properties. On the Build tab and check the XML documentation file item. This will verify that the signature of methods have the same signature as the XML comments and that the comments exist in the first place. It will not create the comments for you though.Standard templates are found in C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates. Open the CSharp\1033 folder and you will find the templates. Each template is stored in a zip file. There will...

Simplifying Code Generation in a Generic World

Microsoft has released a code generator called Domain Specific Languages. Domain in this case is relating to the IT domain (i.e. forms over data or web app) not business domain.Five principles of code generationYou're in chargeMetadata abstracts data structureYou can regenerate any timeHandcrafted code is sacred and protectedGenerated applications equal or exceed quality in every aspectCodeSmith's sixth rule: Tools are easy access and useWe should be using code generation so that software developers can concentrate on architecture and solving business problems.Tools:Code SmithMyGenerationMS Domain Specific LanguageXSLTStrongly Typed DataSetPartial classes can help with some code generation problems such as multiple...

What constitutes community?

Since I've been here in Montreal I've had the opportunity to interact with the leaders of the other User Groups in Canada. Without exception they are saying that my description of the Edmonton .NET User Group's first meeting indicates that there is a strong and thriving developer community in Edmonton.One of the things that was a point of numerous discussions prior to the first meeting of Edmug was the idea of success vs. failure and what metrics drove the idea. Eventually we decided that success or failure was easiest measured based on attendance. Some of the discussions...

Montreal by night

I was out with the Canada Clan tonight (D'Arcy from Winnipeg, Jennifer from Saskatoon, Nolan from Victoria, Rob from Toronto, Chris from East of Toronto, and Jason from Fredrickton). Things didn't get all wild and rowdy although I believe that it is only a matter of time before D'Arcy gets us into a street fight because of his horrid French Canadian impersonations. We all ended up down in old Montreal and I have to say it is a simply amazing place to visit. The streets were all cobble stone, narrow and lined with some great buildings. ...

Defining and Enforcing "Good Code"

This is one of my babies and I'm really stoked to hear this presentation by Kathleen Dollard. Even better, this is going to be a show on FxCop, something that I've always wanted to use, but have never wrapped my head around how to use it properly in a project environment.Code reviews done by humans are very difficult to reproduce. People will catch something one time and miss it the next time. We need to be able to reproduce this process consistently to guarantee that code meets the standards that we set out prior to starting development.Dynamic...

How the core ASP.NET Engine Works

Rick Strahl is presenting on the way that the ASP.NET Engine Works. He started by saying that this was a "higher level talk" to start with. Right. He immediately dove into the operational structure of the ASP.NET ASAPI filter, HTTP Modules, and HTTP Handlers. I'd post more about the presentation, but there are waaaaaaaaay to many gory details for me to process at the speed required to write. That said, this presentation is teaching me a huge number of items.

.NET Design Paterns for Agile Software Processes -- Kevin McNeish

Kevin is speaking on how to use design patterns to add extended flexibility and agileness to your software. One of the things that he is pushing is the use of Abstract classes and methods. I'm more of an interface guy, especially when you're creating empty shells. Both will accomplish the same thing, but one, the interface way, is using the tool the way it should be (my opinion) used.Kevin's also showing the creation of the classes through the use of the Visual Studio class designer. I never used this tool to do the design of my...

Debugging Smart Client Apps

Cathi Gero is giving a great presentation with all the gory details about debugging. One of the great points was how to get symbol files (*.pdb) to load when the application is being debugged. She's also just touched on the creation of debugging Visualizers. They don't appear to be all that difficult to write (famous last words). Overall, good presentation and something that might be good for code camp or a UG meeting.

DataBinding with Beth Massi

As we all know Microsoft has a passion for drag and drop data binding. We also all know that the standard Microsoft demo is to build an "Enterprise" solution using the drag and drop data binding. While it is much more possible to do this with a strong application architecture, I'm still a skeptic. Perhaps I'll start paying attention and see if Beth can convince me otherwise.Okay, so we're about 15 minutes in and Beth has already said "I'm an Architecture MVP, and I'm doing this drag and drop thinking 'oo, this isn't good'". She then...

D'Arcy's woes with wireless

So it's becoming apparent that people from Winnipeg can't make wireless work. Maybe it's the early onset West Nile that this year's mosquitos are spreading. We've tried everything to help him. The only two options that we have left are to duct tape a coat hanger to his laptop, or to touch one of the metal plates in my body to the laptop case. I'm not a big fan of the last one as D'Arcy can get a little handsy.

DevTeach 06 Keynote

Yair Alan Griver is currently showing some pretty damn cool stuff around the LINQ, DLINQ and XLINQ projects. One of the cool ones is that the VB compiler will allow you to Dim an object equal to a list of XML. The great thing is that your code looks a lot more like true XML. No longer do you have to read through a bunch of objects and translate them mentally into the element based XML that we normally think in. Good Keynote. It's a shame the next session that I wanted to attend (Test...

User Group Summit

Just got in from finishing off the evening with a few of the UG leaders from around Canada. The summit today was great (pics courtesy of Guy Barette). For a new User Group, my idea was to get in and really listen to the ideas that the more experienced leaders so that we can limit the number of mistakes that we make.A few things stood out from the meetings. The first was that, like so many other things in Canada, each region has it's own set of needs and desires. These may be dictated by population,...

What to do when they screw up your drink

We were just out to lunch at a great place. The weather is fabulous and we sat on the deck. It was very difficult to leave and come back here. I ordered a double scotch and the waiter brought me two glasses......each with 3 ounces. I'm starting to like Montreal more and more.

John is getting Flamed

John Bristowe just showed up to the User Group conference and the poor boy is getting Flamed.

Getting to Montreal

Yesterday was travel day. As our plane pushed back from the jetway they tried to fire up the engines (some say this is required, I'm still unconvinced) and all we got was the sound of a 1983 Ford pickup trying to start in Northern BC, in January, when it's -40 Celsius and you haven't plugged it in overnight. So we sit there and listen to the rrrah...rrrrrrrrahhh......rrrrrrrrrrrraaaaaaaahhhh.....wwwrrrahhh...wwrrrrrrrrraaaaahhhhhhh. Perhaps I should have hollered out to the pilot what I was thinking ("PUMP THE GAS PEDAL!"), but alas I decided not to be a back, back, back seat driver....

Updates from DevTeach

I'm planning on posting updates on the content and atmosphere from DevTeach each day. Watch for it info here and I'll do my best to keep you up to date.

edmug.net May Speaker -- Rod Paddock

The announcement that everyone has been waiting for is now being made (okay, Steve said it earlier than me). The may speaker for the Edmonton .NET User Group is going to be Rod Paddock (bio). LIke the previous meeting, we will be located in the Centennial Room in the Stanely A. Milner library in downtown Edmonton (directions). Doors open at 5:30 pm on the 25th of May and we will start the content at 6:00 pm.I'm the Igloo Coder and I'm going to predict that there is no local playoff hockey for us to compete with at...

Spring has sprung

I heard a great joke the other day. How do you know when spring has come? The Leafs are out.Today was absolutely amazing. The sun was out all day. It warmed up to the point that my light jacket was to heavy. I went for an iced tea over at Starbucks with Mr. Gray and we sat out in the sun talking about the use of nAnt and Cruise Control .NET. After work I came home and have been sitting on my deck in shorts and a tee. I've now graduated from iced...

Scott Bellware tees off on the Fr-agilist

Today Scott Bellware let loose with a response to Sahil Malik's recent post on Bad Programmer Diseases. I'm sorry to say this, but I'm going to do it straight off and not touch it again. Scott, the start of your post reads exactly like the definition (written or inferred) of a Fr-agilist. It's comes across as the whole "You don't get me so you're incapable of being one of us" argument. That's it for my criticism tonight.Scott makes some stellar statements around the ability for a person to just pick-up the ability to be agile (or...

DevTeach 2006

I'm on my way to DevTeach this weekend and I'm pretty stoked on a couple of fronts. First, it's Montreal and yes it would have been better if the Habs were still playing hockey and I had a ticket to a game, but D'Arcy announced he wanted to go watch and sure enough the Habs promptly lost 4 games straight and the series.The second reason for being all geeked up about this is the list of presenters and topic at the conference. I've been spending hours trying to determine how I'm going to scurry from one presentation to...

Maintenance Programming

Every application goes through the full SDLC unless the project gets cancelled. No matter what the methodology implemented to manage the SDLC there is one consistent fact: All software must be maintained once it is built. No matter what one architect at my client says, no application is 100% self healing. Someone, whether they are from the original development team, original development company or someone totally removed from the initial development process, has to monitor and respond to the application.Unlike creating an application from scratch or extending the functionality of an existing application, maintenance requires the...