March 2010

Scenes from the Project I was Working on Yesterday

by Joey deVilla on March 31, 2010

Every job has its tedious part, but my job has an unusually high number of moments of pure awesomeness, such as those pictured below. I’ll explain more about the project later, but for now, enjoy the photos!

04 monitor

05 monitor

06 monitor

07 monitor

08 monitor

This article also appears in Canadian Developer Connection.

{ 1 comment }

The “500 Worst Passwords”

by Joey deVilla on March 29, 2010

Hand-drawn list of the "500 Worst Passwords"

You’ve heard the stories about people choosing terribly obvious passwords for their various computer accounts, such as “password” and “12345”, but what are the other ones? In his book, Perfect Passwords: Selection, Protection, Authentication, Mark Burnett compiled the most common easy-to-crack passwords, most of which are ordinary words or key sequences that are easy to type on a QWERTY keyboard. I’m amused by some of the pop culture-based passwords, such as “Rush2112”, “8675309” and the X-Files inspired “TrustNo1”.

Someone else — I don’t who who did it — decided to turn that list into the hand-lettered poster shown above. You can click it to see it at a larger size.

In addition to being a good list showing the sort of password you shouldn’t use, it’s also a great name generator. You could take two random items from the list to create new character names for a Metal Gear game (“Tomcat Eagle1” makes just about as much sense as “Solid Snake” or “Sniper Wolf”) or any three to come up with the name of your band or prison softball team (“Bigdick Magnum Juice”).

This article also appears in The Adventures of Accordion Guy in the 21st Century.

{ 0 comments }

Hoodie as Laptop Bag

by Joey deVilla on March 29, 2010

Maybe it’s me, but I think that this setup is asking for Murphy’s Law to attack when you least expect it. However, if you’re short a laptop bag and have a hooded sweatshirt handy, this hack might work for you:

Photo instructions: "Just Do It: How to transform your hoodie into a computer sleeve"

This article also appears in The Adventures of Accordion Guy in the 21st Century.

{ 3 comments }

Be a Windows Phone 7/Imagine Cup Rock Star!

by Joey deVilla on March 26, 2010

To be a Windows Phone 7 rock star, you could use your favourite rock and roll instrument to promote it like I did…

Red Silvetta piano accordion with "I Love Windows Phone" sticker

…or, if you’re a student, you can build a Windows Phone 7 application and submit it as an entry for Imagine Cup 2010. They’ve just announced a new award – the Rockstar award – for winning apps written for Windows Phone 7, using either Silverlight or XNA.

What Sort of App Submission are We Looking For?

The app needs to be designed with the “consumer” in mind and should be both useful and visually compelling. You’ll need to be able demonstrate your app entry up and running, either in the emulator (which comes with the Windows Phone development tools) or on an actual Windows Phone 7 device. Windows Phone 7 is a completely new phone operating system, which means that it’s a golden opportunity for you to become one of its first developers.

According to the competition site, applications submitted will be judged based on:

  • Originality
  • Consumer appeal
  • The unique mobile-oriented features integrated in to your app. Don’t just blindly port a desktop app to the phone – take advantage of the unique characteristics of its mobile, location-aware, always-with-you, connected-in-many-ways nature!

How Do You Enter the Competition?

  • Register and sign up your team (maximum team size: 4 people) before May 24, 2010 at 11:59 P.M. GMT.
  • Read the complete Rules and Regulations for this award competition. Make sure you carefully review and understand the unique entry requirements, and judging criteria.
  • Your team will submit an ‘XAP’ application package when you’ve completed your application in Silverlight or XNA.
  • Submit your entry before May 24, 2010 at 11:59 P.M. GMT. Use these helpful guidelines and plan to begin the upload process for your entry at least 24 hours prior to the deadline in case Murphy’s Law rears its ugly head.

What Can You Win?

  • First prize:
    • US$8,000
    • A trip to the Imagine Cup Worldwide finals in Warsaw, Poland (July 3 – 8, 2010)
    • A Windows Phone 7 for each team member
    • Serious bragging rights
  • Second prize:
    • US$4,000
    • A Windows Phone 7 for each team member
  • Third prize:
    • US$3,000
    • A Windows Phone 7 for each team member

How Do You Get the Windows Phone Developer Tools?

Go to the Windows Phone 7 Series page, where you can get:

For More Details…

Check out the Windows Phone 7 Rockstar Award page on the Imagine Cup site.

This article also appears in Canadian Developer Connection.

{ 0 comments }

The FTW! Coding Competition

by Joey deVilla on March 25, 2010

FTW - For The Web - Coding Competition

“FTW” has been known to stand for many things, but in the case of the FTW! Coding Competition, it means “For The Web” (as well as “For The Win”). The FTW Coding Competition is part of our Make Web Not War event taking place on Thursday, May 27th in Montreal.

What is the FTW! Coding Competition?

The FTW! Coding Competition is your chance to show off your web development skills and compete for some great prizes. We’re looking for people to either:

  • Write a new web application or
  • Port an existing web application

as long as it falls under one of these categories:

  • PHP application running on Internet Information Server (that’s our web server) and Windows Server (that’s our server OS)
  • Windows Azure (that’s our cloud computing environment) application, written in any language that works on it (C#, Visual Basic .NET, PHP, Ruby and Python)
  • Open Government application (using any of the Open Data catalogues on Windows Server or Windows Azure, using any programming language)

What Can I Win?

The prizes for the FTW! Coding Competition are:

First Place: The Dell Office Computer Makeover

I’m tempted to take this off the prize list and keep it for myself. It’s made up of all these goodies:

  • Dell Precision Workstation 15” notebook computer
  • Notebook stand and port replicator
  • 27” widescreen LCD monitor
  • Wireless keyboard and mouse
  • Ferguson Hill FH007 sound system

Second Place: The Home/Office System

A nice package for bouncing between home and the office.

Third Place: The Road Warrior

A very portable and powerful system for the coder on the go. This one’s for all you “cafe coders”!

  • Dell Adamo XPS 13 notebook computer

Bonus Prizes

We’re awarding bonus prizes for submitted apps that we feel worthy of the following superlatives. You can win these on their own or in combination with the first, second and third place prizes!

What’s the Deadline?

In order to be eligible, you have to submit your web application by Monday, May 10th, 2010 at 8:00 a.m. Eastern. So get working!

Where Can I Find Out More about the FTW! Coding Competition?

You can find out more about the FTW! Coding Competition, including all the terms and conditions of the competition, at the FTW! Coding Competition site.

This article also appears in Canadian Developer Connection.

{ 0 comments }

David Laribee Today on Ignite Your Coding

by Joey deVilla on March 25, 2010

David LaribeeIt’s Thursday, which means that it’s time for another live Ignite Your Coding webcast! Today’s guest is David Laribee, who coaches the product development team at VersionOne, has over a dozen years’ experience building enterprise software and coaching lean/agile teams in many industries. He recently wrote about technical debt in MSDN Magazine, and that’s just one of the topics he’ll cover in our live talk today.

Ignite Your Coding is a webcast series all about helping you, the software developer. We want to help you find ways to stay on top of the technological, economic and social changes that affect you and your work every day. We contacted some of the biggest thinkers and doers in our field and asked them if they’d like to chat about the industry, how they got started, where they see the opportunities are, how they deal with change and how to be generally awesome. We hope it informs and inspires you!

How Do I Catch the Live Webcast?

You’ll need:

How Do I Get the MP3 Recording of the Webcast?

It’ll be posted on this blog in about a week.

This article also appears in Canadian Developer Connection.

{ 2 comments }

Ignite Your Coding, Episode 3: Jeremy Miller

by Joey deVilla on March 24, 2010

Jeremy MillerLast week, John Bristowe and I interviewed Jeremy Miller — “the Shade Tree Developer” – in a live Ignite Your Coding webcast. Jeremy holds the title of Chief Software Architect at Dovetail Software, Austin’s coolest ISV, and we talked about open source in the .NET world, StoryTeller, dependency injection and many other topics.

imageIn case you were wondering what Ignite Your Coding is all about: It’s all about helping you, the software developer, find ways to stay on top of the technological, economic and social changes that affect you and your work every day. We got our hands on some of the biggest thinkers and doers in our field and asked them if they’d like to chat about the industry, how they got started, where they see the opportunities are, how they deal with change and how to be generally awesome. We got some big names from the Microsoft/.NET world, but we also went farther afield and got some people from beyond that world as well, because a different perspective is often helpful.

The recording of our webcast with Jeremy (which took place on March 18th, 2010) is linked below, and we’ll set up RSS, Zune and iTunes feeds shortly.

Direct Download:

MP3 - click here to download

This article also appears in Canadian Developer Connection.

{ 0 comments }

Ignite Your Coding, Episode 2: Glenn Block

by Joey deVilla on March 24, 2010

Joey deVilla, Ward Bell dressed up as Elvis, Glenn Block

A couple of weeks ago, my coworker and Ignite Your Coding co-host John Bristowe and I did a live webcast interviewing Glenn Block, a Program Manager for .NET FX at Microsoft. Glenn’s one of the go-to guys on Prism, Unity, MEF and ways of building maintainable and reconfigurable applications out of pieces that you can assemble and rearrange in general. We’ll talked about building composite applications, design patterns, dependency injection and why it’s good for you, and other aspects of good object-oriented design as we understand it these days.

imageIgnite Your Coding is a series of webcasts in which John and I talk to some of the bright lights of the software industry about how they got started, what they’re doing, how they cope with the change that affects our industry constantly and whatever else they want to talk about, all with the goal of informing and inspiring you.

The recording of our webcast with Glenn (which took place on March 10th, 2010) is linked below, and we’ll set up RSS, Zune and iTunes feeds shortly.

Direct Download:

MP3 - click here to download

This article also appears in Canadian Developer Connection.

{ 0 comments }

“Star Trek: The Next Generation”, Deconstructed

by Joey deVilla on March 24, 2010

The comic below, created by John Campbell, is a snarky but amusing deconstruction of Star Trek: The Next Generation:

John Campbell's comic, skillfully decosntructing Star TrekI always found it funny that the “empathic” character Deanna Troi had the power to sense plainly obvious emotions and painful that they had to explain bits of human behaviour that one should’ve picked up by the end of adolescence. That being said, much of the show’s audience was teenage boys, and teens often figure out the world through stories, so why not explain that stuff? And as someone much wiser than me once said, science fiction is a sandwich: once you’ve gotten past the bread of aliens and future tech and the thin slices of plot meat, it’s all about the thick moral mayo.

The last panels in this comic had me laughing out loud, especially since I imagined the line as delivered by actor (and dater-of-inapproriately-young-women, the lucky bastard) Patrick Stewart himself, using that William. Shatner. Mode. Of. Delivery.

In case it’s not apparent who the comic figures are, here’s a quick guide…

Captain Jean-Luc Picard

Comic and TV representations of Jean-Luc Picard

 

Commander William Riker

Comic and TV representations of Will Riker

 

Lt. Commander Data

Comic and TV representations of Data

 

Lt. Commander Deanna Troi

Comic and TV representations of Deanna Troi

This article also appears in The Adventures of Accordion Guy in the 21st Century.

{ 0 comments }

Much Clearer Than “PC LOAD LETTER”

by Joey deVilla on March 24, 2010

Printer displaying the message "I CRAVE BLOOD" Photo courtesy of M Thru F.

I assume that someone did this using this trick.

This article also appears in The Adventures of Accordion Guy in the 21st Century.

{ 1 comment }

David Laribee on Thursday’s “Ignite Your Coding”

by Joey deVilla on March 23, 2010

image

David Laribee on Technical Debt

“Debt” is a term so unpleasant that we don’t even pronounce one of its letters. Technical debt is equally unpleasant in its own way; like the financial kind of debt, it holds you back and haunts you. It’s the hard-to-change, error-prone parts of your code that bog down your project and its maintenance. Ward Cunningham – the guy behind the wiki and contributor to the concept of Extreme Programming – coined this clever metaphor, and it’s the topic of Thursday’s Ignite Your Coding.

David LaribeeWalking us through the topic of technical debt is our guest David Laribee, who’s going to be our technical debt counselor, providing advice on how to pay back technical debt. He coaches the product development team at VersionOne, has over a dozen years’ experience building enterprise software and coaching lean/agile teams in many industries. He’s also a co-organizer of the ALT.NET movement, and was a Microsoft Architecture MVP for 2007 and 2008.

If you’d like to know more about David’s thoughts on technical debt, check out this article of his from the December 2009 issue of MSDN Magazine: Using Agile Techniques to Pay Back Technical Debt.

What’s Ignite Your Coding All About?

In case you were wondering what Ignite Your Coding is all about: It’s all about helping you, the software developer, find ways to stay on top of the technological, economic and social changes that affect you and your work every day. We got our hands on some of the biggest thinkers and doers in our field and asked them if they’d like to chat about the industry, how they got started, where they see the opportunities are, how they deal with change and how to be generally awesome. We got some big names from the Microsoft/.NET world, but we also went farther afield and got some people from beyond that world as well, because a different perspective is often helpful.

If You Want to Catch the Live Webcast on Thursday and/or Ask David Questions…

You’ll need:

If You Want to Listen to a Recording of the Webcast Later…

We’ll make it available in MP3 format soon. Watch this site for details!

This article also appears in Canadian Developer Connection.

{ 0 comments }

MIX10 Thoughts: Design, Windows Phone and Bill Buxton

by Joey deVilla on March 23, 2010

Joey deVilla and Bill Buxton posing on the dance floor at LAX nightclub in Las VegasMe and Bill Buxton at the MIX10 Attendee Party last Tuesday night.

There’s one reason I’m particularly excited about Windows Phone 7 Series. The radically reworked look and feel is the surest sign that the company is really beginning to understand design and is willing to start from scratch (a risky and pricey proposition) to get it right. It would appear from Microsoft’s Principal Researcher Bill Buxton’s interview in The Register that I’m not the only one who thinks this:

"We kinda changed the water that we drink, in the sense that all through the design community within the company we talk, and we have a common goal in terms of trying to bring a certain change of sensibility," he said.

"For me it’s not even about the phone, but what’s interesting is that it’s the first product in the company with critical mass that’s embraced this … it will have an impact on other parts of the company."

If (or better still, when) you start building Windows Phone applications – or hey, any kind of application — I hope that you’ll follow the spirit of “Metro” (the codename for the design philosophy behind Windows Phone 7) and keep it in mind. Yes, it’s absolutely important to know the Silverlight and XNA APIs as well as how to read the touch sensors, GPS, accelerometers and so on, but it’s just as important to design your applications around the people who’ll use them. That means understanding your users, how they’ll use what you’re making, knowing how to give them what they need as quickly and unobtrusively as possible and delighting them. Yes, “a pretty interface” is included in all that – and there’s research to suggest that beautiful interfaces work better –but looks are merely part of the design equation.

Some Design Sessions from MIX10

Want some interesting lunchtime viewing on design? Look no farther than these two videos.

The first is Bill Buxton’s MIX10 session, simply titled An Hour with Bill Buxton, a conversation about design:

Get Microsoft Silverlight
Don’t have Silverlight? Get it here or download the video in
WMV, WMV (High) or MP4 format.

If you haven’t the time to watch the video of Buxton’s presentation, check out this hit list of metaphors complied by Sharon Chan at Microsoft Pri0.

If you’re planning on getting into Windows Phone 7 design, you’re going to want to learn the “design language” – not a programming language, but the guiding principles and philosophies behind the new user experience – behind it. Here’s the MIX10 presentation on that topic, Designing Windows Phone 7 Series with Albert Shum, Michael Smuga and Chad Roberts:

Get Microsoft Silverlight
Don’t have Silverlight? Get it here or download the video in
WMV, WMV (High) or MP4 format.

A World Without Design

Here’s a little something extra for those of you who like to think about design and user experience:

"A World Without Design": The same rock, described as a hammer, doorstop, paperweight and so on.

I whipped up this graphic, modelling it after a poster I remember seeing many years ago. I can’t remember what it was for – a museum, art gallery or exhibit, perhaps? – but I remember thinking that it was right on the money. If you remember the original poster and what it was for, please let me know, either via email or the comments!

This article also appears in Canadian Developer Connection.

{ 0 comments }

Flamewars, 1839 Style

by Joey deVilla on March 23, 2010

I’ve heard a lot of people say that the need to have arguments in public and win popular support is an unintended consequence of social networking services. I think that things like Twitter and Facebook make it easier and that they vastly expand the reach of an argument, but that we’ve had that urge to have flamewars long before the internet.

Here’s a data point for my thesis: a placard from 1839 that wouldn’t seem out of place on any online debate, aside from the dated language.

"TO THE PUBLIC: The object of this placard is to inform the Public that Gen. Leigh Read has declined giving me an apology for the insult offered me at St. Mark, on the 5th inst. That he has also refused to me that satisfaction, which as an honorable man, (refusing to apologise,) he was bound to give. I therefore pronounce him a Coward and a Scoundrel. -- WILLIAM TRADEWELL, Tallahassee, Oct. 26, 1839."

This article also appears in The Adventures of Accordion Guy in the 21st Century.

{ 3 comments }

Azure, as Explained by Christian Beauclair

by Joey deVilla on March 22, 2010

Christian Beauclair

My coworker Christian Beauclair, Senior Developer Evangelist, did an interview with IT in Canada about Azure, its parts and some development patterns for Azure that fit many business scenarios.

For those of you not familiar with Azure, it’s Microsoft’s cloud computing platform made up of three parts:

  • Windows Azure, the operating system in the cloud where your applications run
  • SQL Azure, the database engine in the cloud where your data lives, and
  • AppFabric, which connects cloud, hosted and on-premises services together.

As for the Azure development patterns that fit common business scenarios, they are:

  • Transparence: Simply moving applications and data from servers to the cloud. The benefits are cost savings, not having to manage servers, cost-effective scaling and opportunities to prototype without having to invest in additional hardware and software.
  • Scale-in multi-tenancy: On-the-fly scaling by creating new Azure instances when demand increases. It’s hard to predict what demand for an online service will be; this “just in time” approach does an end run around having to make such forecasts and purchases based on them.
  • Burst compute: This is scaling based on known peak periods, such as the Christmas rush for retailers or the Superbowl for pizza delivery. A cloud-based system like Azure lets you acquire more server capacity during those known peak periods and release them once the peak period is over.
  • Elastic storage: This is data scaling – you can use Azure to extend your storage instead of purchasing more on-premises disk arrays.
  • Inter-organization communication: Using Azure to host an API to connect to your company’s services or data (which may live in Azure, on some hosted system or on-premises). It’s a good way to provide services to the outside world while keeping your infrastructure manageable.

There’s more in the article, and even more in the interview, which you can either:

This article also appears in Canadian Developer Connection.

{ 0 comments }

Renault with a banner across its bumper reading "ZU 0666', 0, 0); DROP DATABASE TABLE LICENCE;"Click the photo to see it at full size.

“Flintstones/Jetsons” is a term that Mark Mothersbaugh from Devo uses to describe technology solutions that are a combination of low- and high-tech. It’s probably an apt term for what the driver of the Renault in the photo above is doing to foil licence plate cameras. If the “Jetsons” part – the SQL injection attack comprising the text on the banner on the bumper – doesn’t work, the “Flintstones” approach of physically covering up the licence plate will.

SQL Injection-a-Rama

No quick tour of SQL injection is complete without mentioning this classic XKCD comic, Exploits of a Mom. If you’ve ever heard someone use the phrase “Little Bobby Tables” when talking about databases and security, here’s where it comes from:

The classic "Little Bobby Tables" XKCD comic.

"SQL" with a syringe sticking through it

Want a good introduction to SQL injection attacks? Start with SQL Injection Attacks by Example at Steve Friedl’s Unixwiz.net Tech Tips. It walks you through the steps of an SQL injection attack, where a cracker (note that I said “cracker” – there are hackers and crackers, and there’s a difference) uses a combination of deductive reasoning and unexpected, unsanitized input to get unintended results from the database.

Also worth checking out:

Here’s an enjoyable presentation by Joe McCray on Advanced SQL Injection, which he gave at the 2009 LayerOne conference. He likes to drop the “f-bomb” and “s-bomb” every now and again while presenting, but if you don’t mind a little salty language, it’s a good security talk:

(You can download the slides from Joe’s presentation in PDF format here.)

This article also appears in Canadian Developer Connection.

{ 2 comments }