OdeToCode IC Logo

OdeToCode Links For Jan 16

Monday, January 17, 2005 by otcnews

CLR & OS Independence

Monday, January 17, 2005 by scott

A storm brews on the distant horizon around the delivery of Longhorn and the Future Of of Assembly Versioning. Rocky Lhotka and Kent Tegels feel the versioning strategy coming down the road will stagnate Microsoft’s version of the .NET runtime. I wasn’t too alarmed by the article on the ServerSide.NET for a few reasons.

First, to some extent, development life on Windows has followed this course and thrived for sometime. The Win32 API has been the foundation of the platform and changes come relatively slowly with major OS releases and service packs. On top of the API assorted runtimes and frameworks (like MFC and the VB runtime) made developers more productive by encapsulating and enhancing the platform. These platforms could provide some amount of innovation, but major revolutions were almost impossible without support from new features in the underlying platform. It’s not always a bad thing to say the foundation is stagnant, though. After all, I wouldn’t feel comfortable if System.Object were sprouting new methods every year.

Secondly, I know what you might be saying: “Just because it’s always been that way doesn’t mean we can’t have a better solution”. Yes, this is true. In fact, the above approach is the approach in theory only. In practice, changes come as needed and when the demand is present. Remember the NT 4 Option Pack? The option pack shoehorned a distributed application platform (IIS, message queuing, transaction server) into a one year old operating system while Windows 2000 was still cooking in the oven. How about the foundational pillar of Longhorn known as Avalon that suddenly appeared on XP machines around the world?

Finally, wherever Microsoft stagnates, competition finds a niche. Just look at Firefox and search tools over the last 12 months. Competition forces Microsoft into innovation – and they always find a way to stay competitive. The competition in the common language runtime arena is here already. I'm not worried yet.

CSS & Me

Friday, January 14, 2005 by scott

Every so often I take a look at an application and think, hmmm, with a couple tweaks I could have this UI looking really nice, but when I go to check-in the style sheet changes I realize I only have read-only access. Then I remember - after my last set of tweaks they revoked my commit privileges on all css files. Sigh. The measures people take when they don’t agree with your sense of color and style.

Over the years I’ve recognized the flexibility style sheets offer, and I’ve designed (in the architecture sense) with css in mind. Still, I’ve never felt completely comfortable with css, partly because I have nightmares of looking at bug tracking entries circa year 2000. You know, the entries that look like “Fonts are offset 1 pixel to the left on browser version 4.35.7654.2 when system time between 1300 and 1315 hours.”. Since one big customer has an affinity for browser version 4.35.7654.2 it’s time to tell a dev to work around another CSS quirk and re-test on 18 browser versions. Today, Google turns up over 300,000 hits for “yet another css bug” – yikes.

Another problem is digging into the CSS files someone else wrote. It can prove difficult to piece together what I’m seeing on the screen with the styles in a css file. A great tool to help put this type of puzzle together is the web developer extension for FireFox. Is there anything comparable for IE?

Finally, CSS files never seem to shrink – they only grow bigger. New styles are added, old styles never disappear. Someone needs to write some sort of refactoring / optimization tool for CSS. Or have they already?

Not that I’d be able to use the tool, seeing as how I’m banished from styleland.

Course I do have the admin password to use in a pinch….

Presentation Next Week

Wednesday, January 12, 2005 by scott
January 18th is the next meeting of the CMAP user group in Columbia, Maryland. I’ll be walking through more code and architecture for the Community Starter Kit, and I promise not to show any more corny videos of man beating computer for comic relief.

OdeToCode links for Jan 10

Tuesday, January 11, 2005 by otcnews

Python

Tuesday, January 11, 2005 by scott
Python has been popping up in my newsreader quite often these days (see Darrell’s 'Why Should You Learn Python?' and Sam’s 'Key Observation…').

I have fond memories of Python. I was working with a company building middleware for online multiplayer gaming. We had working demo games to exercise the framework, and I used Python code to control the behavior and actions of non-player characters (NPC) in the demo. I hesitate to say what I wrote was any sort of artificial intelligence, it was more like a script for NPCs to follow, but it made for great conversation outside of work.

Me: How was your day?

Friend: Oh, not too bad. A computer bug wiped out some financial records, but nothing we can’t recover from.

Me: Oh, let me tell you about bugs. I’ve got these wolves, see, and they are supposed to chase down and eat the pink rabbits before the rabbits hop away from the campground area, but let me tell you - it’s not easy. Some of my wolves are plunging headfirst into the campfire, and others are wandering off into the mountains never to be seen again.

Friend: You need to grow up one day.

Ah, the things one has to think about when developing a game.

   How do you let a user know they are running low on grendades? (Halo 2)

   Is that an icon in your shorts or are you just happy to see me? (Sims 2 - scroll down - rather funny)

OdeToCode Links Jan 06

Friday, January 7, 2005 by otcnews