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!
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”).
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:
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)
“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:
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!
It’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!
Last 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.
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.
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.
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.
Ignite 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.
The comic below, created by John Campbell, is a snarky but amusing deconstruction of Star Trek: The Next Generation:
I 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…
“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.
Walking 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…
"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:
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:
Here’s a little something extra for those of you who like to think about design and user experience:
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!
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.
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.
“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:
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.