Taking Windows 7 for a Spin


I had my first look at the next version of Windows – Windows 7 – at Microsoft’s Professional Developers Conference in Los Angeles back in October, a week after I joined the company. By the powers vested in me as a Developer Evangelist with Microsoft, I got my paws on an installer for a recent beta edition and a spare machine – a Dell Latitude D830 with a 2GHz Core Duo processor and 4GB RAM — on which to take the new operating system for a test run.

The installation of the Windows 7 beta went considerably better than my experience installing the Windows Vista beta back in 2006: this time, it worked.


Over the next little while, I’m going to spend some time – perhaps a day a week – doing actual daily work on the Windows 7 machine in order to really experience it. It’ll also give me a chance to try out some “developing for Windows 7” example code. I’ll post my observations here on Global Nerdy – at least as much as the non-disclosure rules allow.



“Raving Rabbids” Cookies

Thinking of doing some baking for someone with a Wii? How about cookies shaped like “Rabbids”?

Photo courtesy of Miss Fipi Lele.


IronPython 2.0 Released!

Python icon

Hot on the heels of the release of Python 3.0 (a.k.a. “Python 3000”) comes the release of IronPython 2.0, the .NET implementation of the Python programming language. Some quick facts about IronPython:

  • It runs on the .NET 2.0 SP1 redistributable
  • It’s compatible with CPython 2.5 with a few differences
  • It’s fast: it runs up to 1.8x faster than Python 2.5 on the standard PyStone benchmark
  • It can call on most standard Python and all .NET libraries

If you want to get your paws on IronPython 2.0, head on over to its page on Microsoft’s CodePlex, Microsoft’s open source project hosting site, where you can download the IronPython 2.0 installer and code samples.

I’ll be posting IronPython tutorials and sample code…watch this space!


Cue the “Damien” Choir

I haven’t been posting much this week because I’ve been pouring heart, soul and brain cells into my first presentation at a Microsoft conference – TechDays 2008 in Calgary — which happens at 1 p.m. Mountain Time today. My regular posting should resume tomorrow or Friday at the latest.

The Empire’s still got some money to throw around, so every speaker gets two official button-down dress shirts with logos, one for each day of the conference. I have to admit I never thought I’d seen the day when I’d be wearing one of these:

Joey deVilla at TechDays 2008 calgary wearing a Microsoft shirt

My friend and co-worker John Bristowe keeps singing the “Damien” choir music from the The Omen every time I run into him with this shirt on.


“It Looks Like You’re Trying to Stank Up Your Code. Would You Like Some Help?”

Gojko Adzic points to this photo taken at QCon San Francisco 2008 by John Grae. It’s a slide featuring YAGNI, the Development Assistant, the programmer’s answer to “Clippit”, a.k.a. “Clippy”:

Photo by John Grae.
Click the photo to see its Flickr page.

YAGNI, short for “You Aren’t Gonna Need It” is a development maxim that suggests to programmers that they shouldn’t add features or functionality to applications that aren’t necessary at the moment, but might be in the future. YAGNI has the DRY (“Don’t Repeat Yourself”) Principle has a cousin and among its ancestors are Occam’s Razor and the KISS Principle (as in “Keep It Simple, Stupid” and not “I Wanna Rock and Roll All Night (and Party Every Day”).

YAGNI, the Development Assistant comes from Bunk and Rambling, a blog by Darren Smith, where he put it forth as an IDE feature request back in May 2006, when he wrote:

While pair programming helps you to write high quality code in an efficient manner there are times that a pair of programmers will end up going off on a tangent and working on something that ultimately ends up not being necessary. To counter the unbridled enthusiasm that usually causes this to occur I give you Yagni, the Development Assistant.

YAGNI is meant for developers who believe strongly in test-driven development, so here’s how it would hypothetically pop up if you tried to create a class and started entering non-test methods first:

YAGNI, the Development Assistant: "It appears that you are creating a class without a unit test. Would you like to * discard code? * create unit test?"

I’ll leave it to other people to argue over whether or not you always have to have unit tests. 

Here’s another notice from YAGNI:

YAGNI, the Development Assistant: "This development spike appears to be going too long. Would you like to * discard code? * go longer?"

And finally, what I feel is YAGNI’s most important message – a warning that you’re in danger of embarking on a long, “let’s reinvent the wheel” project:

YAGNI, the Development Assistant: "It look like you're trying to write a framework. Would you like to: * discard code? * find an open source framework instead? * find a new job?"

Since YAGNI’s not likely to appear in any IDE soon, you, your pair programming partner or whoever does code reviews with you will have to play its role for the foreseeable future.


Python 3000 Released!

Guido van Rossum’s head on Andre 3000’s body
If there’s an Andre 3000 and a Python 3000,
why not a Guido 3000?
(This photo originally appeared in this entry.)

Python 3000, or Python 3.0 as it’s officially known, is out! If you want to get your paws on it right now, here’s its download page.

Python BDFL (Benevolent Dictator for Life) and Google employee (Python’s his “50% project”) Guido van Rossum makes it very clear in What’s New in Python 3.0 that this is the first-ever intentionally backwards-incompatible Python and features more changes that in a typical Python release. Although this is the sort of thing that usually invites screams from anguished developers, I’m cool with it; although if found Python to be a very pleasurable language to work in, there’s a fair bit of junk that’s accumulated as both the language and the programming scene have evolved. Guido says: “after digesting the changes, you’ll find that Python really hasn’t changed all that much – by and large, we’re mostly fixing well-known annoyances and warts, and removing a lot of old cruft.” Sometimes you have to break backward compatibility to move forward.

I’m hoping to noodle with Python 3000 during the Christmas downtime, but if Python is your bread and butter, I suggest you start looking at the new version ASAP. They’re changes a-plenty that you might stumble on, but as Andre 3000 might say, “It’s all hood.



Cheap as in Crap

coby_midget_pc Just over a year ago, I quipped that Acer – the world’s most successful vendor of slightly sub-par but very cheap computer hardware – didn’t have any more sub-par vendors to buy after acquiring Gateway and the dreaded Packard Bell (which I prefer to call “Taco Bell” since both offer dirt cheap products yielding unpleasant results once you’ve consumed them). This was a good thing, I thought, as gathering all the crappy vendors into a single uber-crappy vendor makes them rather easy to avoid.

However, these are tough times, when “cheap and crappy” becomes attractive to customers. As if in answer to the credit crunch, the good news is that there’s been an announcement about a new netbook that promises to be sub-$100 (well, technically $99.95 is below $100).

The bad news? It’s being made by Coby.

coby_logo If you’ve never heard of Coby, you probably don’t hang out in Chinatown, “grey market” electronic stores or Walmart. They’re a manufacturer of consumer electronics of dubious quality bearing a logo that I always found suspiciously similar to Sony’s. They’re the sort of electronics you buy when you need something decent-seeming to give away as prizes at a fundraiser or when your diet consists largely of Top Ramen. I’ve seen too many people burned by the false economy of a Coby purchase to have any faith in the company.

Still, my curiosity cannot help but be piqued. The availability of cheap, very portable, network-capable, almost-disposable computers that you’d pick up at places like discount stores, drug stores and perhaps even those kiosks in the middle of the aisles at your local shopping center is a potential game-changer for both everyday life and us developers. If you look at schoolyards and playgrounds, you’ll see that the Nintendo DS has changed kids’ recreation; what would a grown-up version like dirt-cheap netbooks do?

Here’s what can be gleaned from Inidymedia Arkansas’ article about Coby’s netbook:

  • Expected release date: March 2009
  • Expected models: PoquetMate-7” and PoquetMate-9” (“PoquetMate” is pronounced “pocket mate”), with 7- and 9-inch screens, respectively
  • Processor: Something made by Loongson

I expect that at $100, it’ll run some flavour of Linux. I wonder if it’ll be another case of “Worse is Better” and beat the OLPC at its own game. I may end up picking up one of these suckers on a lark.