How Secure is My Password?

how secure is my password

Here’s a great site for geeks and laypeople alike: How Secure is My Password?, which performs as advertised. Enter a password into the textbox, and you’ll be told the maximum time it would take for a desktop PC to generate that password using the brute force method. (Of course, if I wanted to spend less time cracking people’s passwords, I’d try a dictionary attack, given how many people who use ordinary dictionary words.)

It’s also an example of how some very simple programming – it’s written by people who’d be considered “web designers” rather than developers (although I’d consider them developers) –  can still create something useful and even beautiful. How Secure is My Password? is HTML5, CSS3, JavaScript with jQuery and some downloadable fonts; if you’ve been meaning to look into web client development, go visit the site, take a look at the source code, and start crafting your own useful widgets!

This article also appears in Canadian Developer Connection.


What’s a Blogger? What’s a Developer? What are YOU, Online?

What’s a Blogger?

T-shirt: "Enough about ME, let's talk about my BLOG"

I’m sure that the folks at the New York Times are regularly told by everyone – analysts, tech pundits, their customers and even their peers – that their industry is doomed. So it’s not hard to imagine the schadenfreude with which they reported the decline of blogging in a recent article titled Blogs Wane as the Young Drift to Sites Like Twitter. In the article, they suggest that blogs are no longer the platform of choice, with sites like Facebook, Twitter, Tumblr and YouTube being the preferred way for people to make their mark online, and especially the young’uns.

I think that the data they cite are correct, but the conclusion they come to and the article title are wrong.

First, the source: the report they cite comes from a source I often rely on: The Pew Research Center, a “think tank” that seeks to disseminate facts on the issues, attitudes and trends that influence America and the world. One of “The Pew’s” projects is the Pew Internet and American Life Project, which churns out some of the best reports on the impact of the internet and technology on all aspects of life: day-to-day,  education, work, health care, civics/politics, and more. If you truly wish to be in charge of your career as a software developer, you need to know how your customers use technology and better still, how they will use up-and-coming technologies. To that end, the Pew Internet and American Life Project’s reports are useful tools for getting “the lay of the land” and some glimpses into the future.

Now, the conclusion and why it’s wrong: Scott Rosenberg hits the nail on the head in his blog Wordyard. He points out that if you actually read the Pew Internet and American Life Project’s report, titled Generations Online in 2010, you’ll see that blogging is still on the rise. Here’s the relevant excerpt:

Few of the activities covered in this report have decreased in popularity for any age group, with the notable exception of blogging. Only half as many online teens work on their own blog as did in 2006, and Millennial generation adults ages 18-33 have also seen a modest decline—a development that may be related to the quickly-growing popularity of social network sites. At the same time, however, blogging’s popularity increased among most older generations, and as a result the rate of blogging for all online adults rose slightly overall from 11% in late 2008 to 14% in 2010.

Back at the time when blogging began – I think of it as 1997, when Jorn Barger coined the term “weblog”; Peter Merholz would later shorten it to “blog” in 1999 – blogging tools were the simplest way for someone to express themselves regularly online. Before that, you’ve have to manually create your own web pages and manage the site structure yourself, and even people with the skill and know-how to do that couldn’t be bothered. Blogging tools lowered the effort barrier and got the first bloggers going; as blogging tools and platforms improved, that effort barrier got lower and lower and more and more people became bloggers.

Even though the number of bloggers has grown dramatically, not everyone is going to be a blogger. There are still barriers to entry, and at this point in blogging’s evolution, most of them aren’t technical barriers, but barriers of skill and inclination. We’re not all writers, journalists, pundits, storytellers or essayists, just as we’re not all chefs, performing musicians, actors or carpenters. Most people just aren’t going to blog, and from looking at the writing and communications skills of a lot of people, most people just can’t. And that’s okay.

While most people aren’t going to write the sort of longer-form stuff that blogs were meant to handle, they still want to communicate and express themselves. It is, after all, a truly human desire, and luckily for them, other platforms more suitable than blogs have popped up. Facebook is a far better way to send messages and share stuff with friends and family, and I use it in ways that I don’t use my blog. Most people don’t have it in them to write articles on a regular basis, but they certainly have things to say, and many of those things can be said in 140 characters or less – hence Twitter. Once again, I use it, and in a different way from blogging or Facebook.

One glaring example of people being better at saying things in short form than long form is S*** My Dad Says. The guy was great in 140 characters or less, but the TV show that he parleyed his tweets into was pretty lame.

In the end, it’s all blogging to me, whether you’re doing it with a “blogging” platform or social media software or photo/video sharing services. It’s all self-expression, managed by some application so you can focus on the content, put online in some findable, navigable fashion, and generally arranged in reverse chronological order. The how isn’t relevant, it’s the what that counts.

What’s a Developer?

Two women computer operators at Bell Labs in the late 1960s

For a real blast from the past, take a look at look at “Larry” Luckham’s photos from Bell Labs in the late 1960s, where he managed a data center and worked on building an information retrieval system (which we’d probably do today by setting up SharePoint). Marvel at the ancient machinery – much of which could be outclassed by your present day laptop or even your phone – as well as the fashions and oh, the hair!

Once you’ve done that initial marvelling, make a note of the titles of the people working the computers. “Computer operations supervisor”. “Computer operator”. The people designated “Programmers” were mathematicians by training. Many of them were maintaining the system and doing what we’d consider IT pro stuff today, but a lot of their work was developing software. Because of this, I’m inclined to think of all of them as developers.

What’s a developer? This is a question that my manager John Oxley loves to ask us developer evangelists on a regular basis. The reason he does this is to make sure that when we’re reaching out to developers across Canada, we’re not mistakenly limiting our scope and leaving people out. We don’t want to make the same mistake the New York Times did, in considering only those people who used traditional blogging software as “bloggers”.

My own thinking is that if you, in the course of your work, spend some time turning ideas into working software, you’re a developer:

  • Do you build SharePoint applications by using lists, other people’s web parts and SharePoint Designer? You’re a developer.
  • Do you build sites with HTML, CSS and some JavaScript? You’re a developer.
  • Are you a student or hobbyist learning how to program or taking up a new programming language? You’re a developer.
  • Are you what we at Microsoft call an “IT Pro” who’s putting together some Powershell scripts to make your life easier? You’re a developer.
  • And of course, if you’re building applications for any of the “Three screens and the Cloud”, yes, you’re a developer.

I will say it once more for emphasis: if you, in the course of your work, spend some time turning ideas into working software, you’re a developer. As with what I think of blogging vs, Facebook, Twitter, Tumbler and so on: the how isn’t the important part, it’s the what

“What’s a developer?” may seem like a silly question with an obvious answer, but in the asking, we’re making sure that we’re helping you, as developers, sharpen your skills, expand your knowledge, grow your careers and in the uber-big picture, make the world better.

What are YOU, Online?

Cat hiding in a pack of toilet paper rolls

I started this article talking about online self-expression and I’ve just finished talking about what a developer is. It’s now time to talk about where the two intersect.

In the recent GigaOm article Nowhere to Hide: Assessing Your Work Reputation Online, Niel Robertson writes that with all the data about ourselves online, coupled with ubiquitous processing power, “we’re heading into a world of unprecedented measurability”. He also posits that “Historically, great advances in society have been directly correlated to progress in two things: computational capability and measurement.” Taken together, there are going to be some king-sized changes in the way we’re evaluated – by our peers, employers and customers.

I’m already being measured along those dimensions. Part of the “Commitments” document I create at the start of each fiscal year already includes online reputation. Audience reach is part of my job performance rating, and blog pageviews and Twitter follower counts are part of that. And yes, I know what my Klout score is.

The point of the article is best summed up in its final paragraph (with a little boldface added by me for emphasis):

The next 20 years of work activity will see an incredible change in how we are measured. If you’re not thinking about your expert reputation and how to build it, it’s probably time to do so. The next time you look for a job, don’t be surprised if someone asks you for your score.

As developer evangelists for Canada, we’re here to help you build your reputation. We want to hear and broadcast your stories and your successes. We’ll help you promote yourself, your work, your projects and your company. We’ll show you how to make the most of online resources and social networking to help boost your career. That’s what we’re here to do.

Need a hand making your online reputation? Let us know! Feel free to tell us what you need or think, whether in the comments, or by emailing me (or any of my teammates) directly.

This article also appears in Canadian Developer Connection.


Hello! HTML5 and CSS3–Manning’s Deal of the Day (Feb. 21)

hello html5 and css3Another day, another book deal: today’s book deal from Manning Publications is the MEAP (Manning Early Access Program, a “books in beta” sort of thing) edition of the book Hello! HTML5 and CSS3, which is being written by Rob Crowther. For today only, you can get this book for a mere USD$25 (CAD$24.57 as I write this) in both paper form (when the final edition comes out) and ebook form (right now, and as the book is updated).

Here’s a description of the book:

Hello! HTML5 and CSS3 is written for the web designer or developer who wants a fast, example-oriented introduction to the new HTML and CSS features. After a quick review of the basics, you’ll turn to what’s new. Start by learning to apply important new elements and attributes by building your first real HTML5 pages. You’ll then take a quick tour through the new APIs: Form Validation, Canvas, Drag & Drop, Geolocation and Offline Applications. You’ll also discover how to include video and audio on your pages without plug-ins, and how to draw interactive vector graphics with SVG.

Once you’ve explored the fundamentals of HTML5, it’s time to add some style to your pages with CSS3. New CSS features include drop shadows, borders, colors, gradients and backgrounds. In addition, you’ll learn to layout your pages with the new flexible box and layout modules, and add the finishing touches with custom fonts. You’ll also see how to target specific devices with media queries, and do all of it with less code thanks to the new selectors and pseudo classes.

Finally you will walk through several large examples where you see all the features of HTML5 and CSS3 working together to produce responsive and lightweight applications which you can interact with just like native desktop apps.

To get this deal, simply go to Manning’s site, place an order for Hello! HTML5 and CSS3, and enter the code dotd0221 in the Promotional Code field when you check out.

This article also appears in Canadian Developer Connection.


Happy Family Day!

family day

It’s Family Day in certain parts of Canada: Alberta, Ontario, Manitoba, Saskatchewan and Prince Edward Island. We’d like to wish every one of you, whether you get the day off or not, a happy Family Day. We’d also like to remind you to enjoy and appreciate your families, whether they’re the one you were born with, or the ones you picked up along life’s travels.

I’d like to send a personal greeting to my team, a good number of whom I spent a week with in Seattle at Microsoft’s TechReady conference. They’re more than just coworkers or friends: as far as I’m concerned, they’re family too.

This article also appears in Canadian Developer Connection.


Rob Miles’ Books and Videos for New Windows Phone Developers

If you’re just getting into programming and Windows Phone development, you should think of Rob Miles as your new best friend. He’s a lecturer at the computer science department at the University of Hull in the UK, a Microsoft C# MVP and the creator of a lot of instructional material on Windows, Windows Phone and XNA programming. I’ve listed his works that are especially suited to the developer who’s just getting started out with C# and phone development.

The Free Books: The Yellow Book and the Blue Book

rob miles yellow book

If you’re new to computer programming or not familiar with the C# programming language, a good place to start is the 2010 edition Rob’s book, C# Programming, or as it’s called in .NET programming circles, “The C# Yellow Book”. This is the basis of Rob’s first year C# course at the University of Hull, and it’s available for download for free.

The book starts with “A First C# Program” and proceeds to cover various aspects of programming and C#, from the basics of variables and methods to object-oriented programming to threads and threading. You can start this book as a complete programming newbie and end ready to code Windows Phone apps.

rob miles blue book

If you’re comfortable with C# (perhaps you’ve finished the Yellow Book) or new to Silverlight, XNA and Windows Phone development, you’ll want to get Windows Phone Development in C#, a.k.a. “The Blue Book”. This book covers development for Windows Phone with both Silverlight and XNA, consuming data services, how to make a “proper” application and making the most of Windows Marketplace.

As with the Yellow Book above, the Blue book is available for download for free.



The Commercial Book: Microsoft XNA Game Studio 4.0: Learn Programming Now!

learn programming now

I’ll leave it to Rob himself to describe his book published by Microsoft Press, Learn Programming Now! Microsoft XNA Game Studio 4.0 – this is taken from the “Who This Book is For” section of the book’s introduction:

If you have always fancied writing software but have no idea how to start, then this book is for you. If you have ever played a computer game and thought, “I wonder how they do that?” or, better yet, “I want to make something like that,” then this book will get you started with some very silly games that you and all your friends can have a go at playing and modifying.

If you’re new to programming or perhaps have only a little programming under your belt and want to write games for the Phone as well as Windows and Xbox 360, this book will help get you started (and keep you motivated, since games are generally more fun to create).


The Videos: Windows Phone Jump Start

jump start

Rob’s going to be the king of all Windows Phone developer media soon: in addition to writing some great books, he’s also put together a series of 19 – count ’em – video tutorial sessions that go deeper into the subject of Windows Phone development. If you’re comfortable with the material in his Blue and Yellow books (or once you’ve become comfortable with them), these videos are a natural next step. Rob and co-host Andy Wigley will lead you through all sorts of topics in a way that only two crazy-smart Brits can.

Their video tutorials are listed below. You can watch them online (Silverlight required, and if you’re getting into WP7 dev, you really should have it), or you can download the videos for offline view in a number of formats:

  1. Introduction
  2. Building a Silverlight Application, Part 1
  3. Building a Silverlight Application, Part 2
  4. The Application Bar
  5. Building XNA Games for the Windows Phone 7 Platform, Part 1
  6. Building XNA Games for the Windows Phone 7 Platform, Part 2
  7. Isolation Storage
  8. The Application Lifecycle
  9. Launchers and Choosers
  10. Push Notifications
  11. Marketing your Windows Phone Applications
  12. Working with Media
  13. Panorama and Pivots
  14. XNA Deep Dive, Part 1
  15. XNA Deep Dive, Part 2
  16. Location and Bing Maps
  17. Optimizing for Performance
  18. Designing Apps Using Expression Blend & Metro
  19. Ask the Experts podcast

They’ve made all their demo code available as well, so you can try out what they do in their videos for yourself.

This article also appears in The Great Canadian Apportunity.


The “Jeopardy” Episodes with IBM’s “Watson”, All in One Place

ken jennings

Someone who goes by the name “TheArcticEcho” digitized all the Jeopardy episodes featuring Watson playing against champion players Ken Jennings and Brad Rutter and uploaded them to YouTube. As an added bonus for people who like to see behind the scenes, VentureBeat uploaded the practice match.

I’ve been in Seattle all week for Microsoft’s TechReady conference, so I haven’t had a chance to catch Jeopardy on TV. I probably won’t get a chance to watch the YouTube videos until after I return from Seattle on Sunday night, so I decided to gather all the videos in one place for convenient viewing on Family Day – enjoy!

The Practice Match

Day 1, Part 1

Day 1, Part 2

Day 2, Part 1

Day 2, Part 2

Day 3, Part 1

Day 3, Part 2

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


Books on Building Games for Windows Phone (and Xbox, and Windows)

For those of you who want to develop games for the phone – and hey, it’s the most popular mobile app category, so why not? – here’s a list of books that cover game development in XNA 4.0. Remember, the XNA framework is not just for the Phone, but the Xbox and PC as well!

Learning XNA 4.0

learning xna 4

Learning XNA 4.0 (published by O’Reilly) is the latest revision of this book; I’ve used the material and some of the code from the previous edition, Learning XNA 3.0, in presentations I’ve done on XNA. The first half of the book covers 2D game development, while the second half jumps into the third dimension. Naturally, this book covers stuff that was added to XNA in the move from 3.0 to 4.0, including support for Windows Phone.


XNA 4.0 Game Development by Example

xna 4.0 game development by example

I’m enjoying Packt Publishing’s XNA 4.0 Game Development by Example, which walks you through the development of four very different but entertaining games using XNA: a “Pipe Dream” clone, an “Asteroids”-esque game, Robot Rampage and a supercharging of the “Platformer” demo you can get from App Hub.


XNA Game Studio 4.0 Programming

xna game studio 4.0 programming

XNA Game Studio 4.0 Programming is a thorough look at game dev in XNA, both 2D and 3D games, with special emphasis on 3D graphics.


Into the Third Dimension: 3D Graphics with XNA Game Studio 4.0 and XNA 3D Primer

3d graphics with xna game studio 4

xna 3d primer

If you’re looking for an introduction to 3D game programming in XNA, these two books will help. Packt Publishing’s 3D Graphics with XNA Game Studio 4.0 is dedicated wholly to the topic, and Wrox’s XNA 3D primer is a short book that provides a quick introduction to 3D graphics in XNA.


phone games

This article also appears in The Great Canadian Apportunity.