Categories
Uncategorized

Developer Junior: Making Your Own Movies with Live Movie Maker / Appearing on “Webnation”

Here’s episode 2 of Developer Junior, the show where “Junior” the puppet (played by Brian Hogg of Hoggworks Studios) and I show kids how to make the most out of their technology. In this episode, Junior and I go Hollywood and make a quick little movie using Live Movie Maker, which runs on Windows and you can download for free.

In case you missed the previous Developer Junior episode, in which Junior and I build a video game using Kodu, you can watch it here.

Webnation: Amber Mac, Joey deVilla and "Junior"

Junior and I are headed to CP24’s studios tonight to do an interview with Amber Mac and Maurice Cacho on their show, Webnation, where we’ll be talking about Developer Junior, technology, kids and how they all fit together. If you’re in the Toronto area, tune in tonight to CP24 at 7:10 p.m. to catch our interview live; if you’re, you can see the interview online when they post it to the Webnation site.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

If You Speak Database, Science Needs Your Brain!

 database brain

If you’re in the Greater Toronto Area, have basic knowledge of database queries and want to help a grad student with a research project, Zuzel Vera Pacheco, one of Greg Wilson’s students at University of Toronto, needs to borrow your brain! In exchange, you’ll get a chance to win a $100 Best Buy gift card.

Here’s her description of the project:

Want to win a $100 Best Buy gift card? Do you have basic knowledge about database queries? If so, I need you!

Subjects are needed to take part in a study concerning the visualization of database queries. Participants will be asked to draw diagrams that represent the execution of database queries or to determine what queries are represented by a set of diagrams. This study will help design a tool intended to help expert and novice programmers to design and debug such queries. The time needed for the study will range from 30 minutes to an hour, and can take place in the Bahen Centre at the University of Toronto or elsewhere in the Greater Toronto Area.

A basic understanding of relational databases and database queries is required. The examples will contain queries in SQL and other programming languages like Ruby or Python. The participants should be fluent/conversant in English.

Participants who complete the study will be entered into a random draw for a $100 Best Buy gift card. The odds of winning this prize are 1 in 30.

If you think you can help Zuzel with her project, drop her a line!

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Scenes from Toronto Code Camp 2010

The fifth annual Toronto Code Camp took place on Saturday at Seneca College’s Campus at York University. This was the most ambitious one by far, with the number of sessions increased from 25 to a whopping 40, arranged into 8 tracks.

For those of you unfamiliar with Code Camps, they’re software development conferences organized by the .NET community, featuring community-developed material, for the benefit of the community. Code Camps must be free-as-in-beer to attend, and the content and code in its presentations must be shared, free-as-in-speech style. While a number of business and organizations throw in sponsorship money and swag to help cover costs – The Empire included – Code Camps are powered by volunteers. From the organizer to the presenters to the staff, they do it for free, because they love what they do.

Want to see the full-resolution versions of my photos of Toronto Code Camp? I’ve posted them to this Flickr photoset.

The day opened with ObjectSharp’s Barry Gervin delivering the keynote. I was moving swag at the time, so I could catch all of it, the bits I did catch were pretty entertaining. I expect no less from Barry and the rest of the ObjectSharpies, all of who are top-notch presenters:

01 barry gervin keynote

Perhaps I’m wearing out this phrase from overuse, but let me say it just once more: Mark Arteaga of RedBit Development has forgotten more about mobile phone development that I will ever learn. He did the first session in the mobile track, providing an overview of developing apps for the upcoming Windows Phone 7:

02 mark arteaga windows phone 7

The Empire is quite serious about web development, which is why Internet Explorer’s Big Kahuna Dean Hachamovitch stated very clearly that yes, we believe HTML5 and all the goodies that go along with it are the future. One of those goodies is JavaScript, and nothing turbocharges Javascript quite like jQuery. We love jQuery, and Colin Bowern from ObjectSharp walked a full room through an introductory session:

03 colin bowern jquery

The “Rule of Two Feet” – that is, go the sessions you find interesting and bail from the ones you don’t – is proof that .NET developers care about web development. Here’s a shot of the jQuery session hall, which was standing room only:

04 colin bowern audience

Colin is truly dedicated to the craft; so dedicated, in fact, that he did this presentation even though he was getting married the next day! He’s resourceful too – he used his impeding nuptials as fodder for his presentation, using jQuery to build little mini wedding-planners. Congrats, Colin, on getting married and having a very understanding fiancee!

05 colin bowern

Colin Melia is a rock star. He did some great presentations and an Azure exercise for Techdays, wrote one of the demo apps we used in EnergizeIT and will be helping out at Make Web Not War. He also played to a very packed room at Code Camp with a session on Silverlight Essentials:

06 colin melia silverlight

Here’s Infusion’s Nickolas Landry doing a presentation on XNA development. He showed a Space Invaders game with an interesting twist – it was written as a 3D game rather than a 2D one, which opened up some interesting possibilities. I lent him my Xbox 360 controller, which I usually have in my knapsack, which he thought was a little bit weird (Is it? I don’t know any more):

07 nickolas landry silverlight

None of this would’ve happened without the dedicated efforts of MVP Chris Dufour, the heart and soul of Toronto Code Camp. Here he is, taking a small breather in the speakers’ lounge:

08 chris dufour

While wandering the halls of the building, I saw something that I thought looked familiar:

09 web not war 1

Upon closer inspection, it was indeed a familiar object – a “Make Web Not War” sticker, promoting Microsoft’s Web Platform Installer. As you can see, some puny Jedi attempted to remove the sticker, but his piddly powers were no match for the Dark Side!

10 web not war 2

Meanwhile, Bruce Johnson from ObjectSharp was showing the room his “OData face”…

11 bruce johnson odata

…and while that happened, Ryan was in the lunchroom, valiantly guarding the bag lunches prepared for attendees.

12 ryan lunches

Ever wondered what 400 bag lunches look like? Like this:

13 lunches

If there was an award for the best-attended session, we’d have to hand it to Telerik’s Todd Anglin, whose very well-attended presentation on Ajax was followed by an even-better attended presentation on HTML5. This one had people filling every seat, standing at the back and even sitting in the aisles:

15 todd anglin html5 1

Always controversial is the “Flash vs. Silverlight vs. HTML5 – how do they stack up?” question. Here’s Todd’s answer:

16 todd anglin html5 2

Here’s a close-up. Feel free to discuss this in the comments!

17 todd anglin html5 3

Here are the two closing slides from Todd’s presentation. The first was by Adobe’s CEO Shantanu Narayen:

The consumer should be able to decide which technologies they want to use, but a multi-platform world is definitely where the world is headed.

18 todd anglin html5 4

Followed by a quote from Dean Hachamovitch, who agrees with me that:

The future of the Web is HTML5.

19 todd anglin html5 5

I had a great time watching presentations and talking with people at Code Camp. It’s great to see the .NET community getting together like this, and I’d love to do it again. See you next year!

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

PowerPoint is NOT the Enemy

The “tl;dr” Version (or: “The Executive Summary”)

High-ranking officers in the U.S. military say that PowerPoint makes them dumb. I say that their reliance on technology for technology’s sake makes them dumb. I make use of an episode of The Office to illustrate my point and the Milliennium Challenge war games exercise as evidence. I then wrap up the article with some suggestions on how best to use PowerPoint (or Keynote, or any other slideware).

The U.S. Military vs. PowerPoint

The U.S. military's complex "Afghanistan Stability/COIN Dynamics" slide

“When we understand that slide, we have won the war,” said General Stanley A. McChrystal, the leader of American and NATO forces in Afghanistan, about the slide above.

This slide appears not only in a PowerPoint deck meant to illustrate the complexity of American military strategy, but also in a New York Times article titled We Have Met the Enemy and He is PowerPoint. Here’s an excerpt:

“PowerPoint makes us stupid,” Gen. James N. Mattis of the Marine Corps, the Joint Forces commander, said this month at a military conference in North Carolina. (He spoke without PowerPoint.) Brig. Gen. H. R. McMaster, who banned PowerPoint presentations when he led the successful effort to secure the northern Iraqi city of Tal Afar in 2005, followed up at the same conference by likening PowerPoint to an internal threat.

“It’s dangerous because it can create the illusion of understanding and the illusion of control,” General McMaster said in a telephone interview afterward. “Some problems in the world are not bullet-izable.”

In General McMaster’s view, PowerPoint’s worst offense is not a chart like the spaghetti graphic, which was first uncovered by NBC’s Richard Engel, but rigid lists of bullet points (in, say, a presentation on a conflict’s causes) that take no account of interconnected political, economic and ethnic forces. “If you divorce war from all of that, it becomes a targeting exercise,” General McMaster said.

Commanders say that behind all the PowerPoint jokes are serious concerns that the program stifles discussion, critical thinking and thoughtful decision-making.

That’s right, what’s hurting the military is not the complexity of its mission (which the slide above was meant to illustrate), an amorphous, distributed opponent, the lack of an exit strategy, the faulty intelligence, the bad assumptions (“We’ll be welcomed as liberators!”) or equipment issues (“You fight with the army you have, not the army you want”); it’s PowerPoint.

As a techie who does a lot of presentations, I’m aware of the ways that PowerPoint can be abused, but I think that in this case, I believe that this is a case of a bad workman blaming his tools.

PEBGAC (Problem Exists Between GPS And Chair)

Michael Scott from "The Office"

I’m taking a risk by comparing the commanders of the U.S. military to Michael Scott, the clueless boss from the U.S. edition of The Office, but there’s a parallel.

The episode that best epitomizes Michael’s loathing of and failure to understand technology is Dunder Mifflin Infinity, the one where Michael decides that the best way to win back customers that Dunder Mifflin lost to the competition is by by hand-delivering gift baskets to them. This is in contrast to the ideas of his new boss, Ryan (the former temp), who wants to use technology – Blackberries, email, a sales website and yes, PowerPoint – to boost the company’s sales.

After a day of failing to win back former customers with the gift baskets, Michael misinterprets his GPS’ instructions and drives his car straight into a lake. When they return to the office, Michael announces to everyone:

I drove my [bleep] car into a lake. Why, you may ask did I do this?  Well, because of a machine (looks at Ryan). A machine told me to drive into a lake. And I did it. I did it because I trusted Ryan’s precious technology.

At the end of the episode, in one of those segments where the characters talks to the documentary crew following them, Michael says:

Everyone always wants new things. Everybody likes new inventions, new technology. People will never be replaced by machines. In the end, life and business are about human connections. And computers are about trying to murder you in a lake. And to me the choice is easy.

General McChrystal’s blaming PowerPoint sounds a lot like Michael’s blaming his GPS.

At this point, you might be thinking “Well, Joey, that’s fine and dandy for you to cite a fictitious example of blind reliance on technology by a fictitious character who is a buffoon, but how about citing something real, related to the military and featuring competent people?”

To which I would reply: “Very well, then.”

Millennium Challenge

The control room at Millennium Challenge

The U.S. military got an object lesson about their overreliance on technology for its own sake when they got pantsed in a war games exercise named Millennium Challenge. The exercise took place in the summer of 2002, in that period just after 9/11 when the Bush administration was seriously contemplating an attack on Iraq as the next phase in the War on Terror. To test their military capability and their high-tech approach of “network-centric warfare”, which included vast computer systems for tracking and gathering information on the battlefield, the U.S. armed forces staged the largest war game, using a combination of computer-simulated and real-life forces (including 13,000 real troops and a small set of real warships and planes), at the cost of $250 million.

The exercise featured two teams:

  • Blue Team: The good guys, representing the United States, who were in possession of an array of advanced vehicles, weapons and technology
  • Red Team: A rogue Middle Eastern state with the sort of arsenal that one would expect a banana republic-ish oil state to have

By rights, Blue Team should’ve easily trounced Red Team, but Red Team was under the command of Lieutenant General Paul van Riper, a marine and Vietnam vet with a keen tactical sense and an almost MacGyver-like ability to make the best use of limited resources. He confounded Blue Team by using unorthodox tactics:

  • Knowing that Blue Team would be monitoring radio chatter, he used messages encoded in calls to prayer that were broadcast from the minarets of mosques and carried by couriers on motorcycle.
  • He gave launch orders to planes not by radio, but by using a simple set of signalling lights, not unlike those used by the U.S. in World War II.
  • He positioned innocent-looking civilian aircraft and boats in the Persian Gulf which were first used to locate Blue Team’s ships and then to destroy them, either in suicide attacks or by using them as launching points for Silkworm cruise missiles.

At the end of the skirmish, Blue Team was badly hit, with 16 ships either destroyed or disabled and 20,000 dead personnel. Blue Team may have had the technology, but their overreliance on it had cost them the battle, and possibly the war.

In spite of this defeat, Blue Team was declared the winner. Using the excuse that “such tactics would never be used in real life”, the war game was reset, the sunken ships re-floated and the troops resurrected. The exercise was conducted anew, this time with many constraints put on the Red Team that essentially mandated that the Blue Team would win. Van Riper, frustrated with the “scripting”, quit after four days under the new rules of engagement, and later said:

Nothing was learned from this. A culture not willing to think hard and test itself does not augur well for the future.

A phrase I heard over and over was: ‘That would never have happened,’ And I said: nobody would have thought that anyone would fly an airliner into the World Trade Center… but nobody seemed interested.

There’s very little intellectual activity [in Joint Forces Command]. What happens is a number of people are put into a room, given some sort of a slogan and told to write to the slogan. That’s not the way to generate new ideas.

Blue Team had advanced technology, vehicles and weaponry, and those advantages gave them a false sense of understanding of the situation and a false sense of control. Just as they made a mistake-in-the-large wand refuse to see the error of their ways in Millennium Challenge, they are making a mistake-in-the-small and refuse to see the error of their ways with PowerPoint. It’s far easier to blame something else, whether it’s General Van Riper or presentation software.

Drunks and Lampposts

"Hangover Pete" -- a toy drunk leaning against a lamppost

The U.S. military’s PowerPoint problem is that same problem that a lot of civilian organizations, Microsoft included, have. It’s that they’re misusing PowerPoint in the same way that drunks misuse lampposts: as a crutch, rather than as a source of illumination. Instead of coming up with ideas and then illustrating them with PowerPoint, they’re taking random bits of knowledge, fitting them onto slides and then hoping that ideas will coalesce from them.

PowerPoint comes jam-packed with features that make it easy to fill up empty slides or spend time working on the appearance rather than the content of your presentation. Bulleted lists, which are practically PowerPoint’s default mode, make it too easy to turn your slides into cue cards that you read aloud to your audience. SmartArt makes it incredibly easy to arrange words into flowcharts and diagrams – so easy that people often end up tweaking those flowcharts and diagrams rather than the ideas behind them. Transitions make it easy to provide some razzle-dazzle to cover up the fact that your slides are bereft of content.

The problem caused by these features isn’t unique to PowerPoint. “Style Over Substance” is a trick that’s as old as human communication itself, and there are other tools that lead to the same problem:

  • Word processors: In his book Counterblast, Marshall McLuhan wrote that the typewriter changed writing. The increased speed it offered led to less-planned, more stream-of-consciousness writing; the additional speed and added fluidity of cut-and-paste that word processing provides amplifies that effect. The control over formatting that word processing offers has led many people to spend more time working on the appearance of their documents instead of the content.
  • Graphic design: Photoshop and Illustrator have taken a lot of the “friction” out of graphic design, which leads many people to skip the “rough sketch” phase of graphic design and leap straight to working on the final image. As with PowerPoint and word processing, the control they offer often leads people to focus on the tool rather than the work they are trying to create with it.
  • Music: The ease with which something polished-sounding can be created has drained musicality from today’s pop tunes. These days, it’s not unusual to hear a tune that’s essentially a single chord built on a one-bar loop. Many producers of hit singles – it’s a bit of a stretch to call them “musicians” – spend more time tweaking the sounds rather than crafting a melody. And don’t get me started on the lyrics.
  • Movies and television: As hokey as they were, the Star Wars episodes created in the late 1970s and early 1980s, episodes IV, V and VI, had memorable stories and characters. The trilogy made in the late 1990s and 2000s is a pale shadow of the original because they were too focused on CGI and special effects to make interesting characters or put some effort into storytelling.
  • Software: Tools that let programmers build user interfaces through dragging and dropping have long been blamed for the dumbing-down of programming. While it isn’t necessarily so, I’ve seen that these programs enable many mediocre programmers to create something that looks reasonably polished on the surface and other programmers to spend more time tweaking the look and feel instead of the underlying code.

Avoiding the U.S. Military’s PowerPoint Mistakes

Focus on the Presentation Rather than the Slides

PowerPoint make it easy to create slides. The problem with that it that it leads people to focus solely on the slides. As a result, they think that making a presentation is simply about making the slides, and once that’s done, they’re done. Not so.

The act of you presenting ideas to your audience is the presentation; the slides are there to provide the visual component. You should consider the following:

  • What should the audience take away from your presentation? What’s the one thing your audience should remember long after the presentation is over?
  • Use slides for conveying visual information. That’s what they’re for. Use graphs to provide context and meaning for statistics. Use pictures so that the audience can see what you’re talking about. Use flowcharts to make complex processes easier to understand.
  • Use slides as a means of underlining what you’re saying. Rather than showing the audience a slide and then explaining what’s on that slide, use your explanation as the basis and use the slide as an enhancement. A great example of this is the “The Word” segment on the Colbert Report.
  • Harness the power of stories. Stories resonate with people. Instead of using slides, why not explain your ideas using an illustrative story?
  • Show, don’t tell. At DemoCamp, we forbid people who are presenting their software project from using PowerPoint or other slideware. Instead, we insist that the only thing they’re allowed to show on the big screen is their software in action because we feel it’s a better way to do a software presentation. In the EnergizeIT tour that we just conducted in 21 cities across Canada, we did a presentation that had almost no PowerPoint – it was all demos with live code and data, and audiences loved it. Perhaps your presentation would be better served with a demonstration rather than slides.
  • Remember the adage “I hear, I forget. I see, I remember. I do, I understand.” Rather than telling a story or showing some slides, is there some kind of exercise you can make your audience participate in so that they will understand the ideas you’re trying to convey?

Plan with Pencil and Paper

Modern tools offer so many features and shiny buttons that it’s easy to get lost in their features and focus on the tools rather than the work you’re trying to create with the tools. It’s like being an astronomer who’s endlessly fascinated with telescopes; you forget that it’s about what’s in space.

The next time you have to make a presentation, don’t dive straight into PowerPoint. Instead, break out some paper and a pencil and use them to plan your presentation. Pencil and paper are so simple that there’s very little to distract you from the ideas you’re trying to convey. You’ll concentrate more on your presentation and less on the tools.

Break Away from Bullet Points

We’ve all suffered through presentations that are nothing but decks of slides that are simply bullet point lists. Bullet points turn slides into cue cards, and the are few presentation sins worse than reading bullet point slides to an audience. Stop doing that!

Bullet points are far better used for notes or to enhance the readability of an essay than on a slide. Putting bullet points in your speaker notes is fine, but take them off your slides. Rather than make a slide with bullet points, try making a slide for each bullet point instead, and try using a graphic rather than text for each “slide point”.

The Presentation Deck and the Take-Home Deck

“You’ve got to put bullet point lists on your slides,” I’ve been told many times, “otherwise the deck won’t make any sense to people reading it later!” I understand the reasoning behind this, but I don’t think that’s the solution.

Unfortunately, the best solution I can think of means more work. My approach is, where possible, to produce two versions of a deck:

  • The Presentation Version, which I use when making the presentation. It’s light on text and bullet point lists because I’m there, doing the actual presenting rather than letting the deck do it for me.
  • The Take-Home Version, which people can read later. It’s heavier on text and bullet point lists because I’m not there to do the presentation; in that situation, it’s just the reader and the deck.

Learn from These Resources

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

This Week on “Ignite Your Coding”: Uncle Bob!

uncle bob martin

Say “Uncle”!

This week on the Ignite Your Coding live webcast, we have a very special guest: Robert C. "Uncle Bob" Martin!

His business card may say “Robert C. Martin”, founder and CEO of the Object Mentor consulting firm, but we know and love him as “Uncle Bob”. He’s been coding since the Beatles broke up, and in that four-decade span, he literally wrote the books on agile and extreme programming as well as the letters UML, OOP and C++. Throughout the industry, he’s known as a champion of proper design, test-driven development and just plain writing good code. We’ll chat with Uncle Bob in this one-hour webcast, where we’ll talk about software craftsmanship, why it takes work and why it matters.

What’s Ignite Your Coding About?

Ignite Your Coding 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.

Categories
Uncategorized

So You Need a Typeface…

so you need a typeface flowchart

Got a project and can’t decide on a typeface? This chart is by no means complete, but it might help steer you in the right direction. Click it to see it at full size.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Toronto Code Camp: Saturday, May 1st!

Toronto Code Camp logoThe 5th annual Toronto Code Camp takes place next Saturday, May 1st, in the SEQ building on Seneca College’s York Campus (Seneca@York). If you’re a developer who builds or is thinking of building on the .NET platform, you want to catch this free event!

Last year’s event had over 350 attendees who caught 25 sessions, including the infamous “Data Bondage with Silverlight”, which opened with the equally infamous “assless chaps and accordion performance”. I make no guarantees this year, other than that I’ll be there and that this year’s event will be the biggest and best one yet, with a whopping 40 sessions arranged into 8 tracks.

Seneca@York campus at night

Code Camp happens because of Chris Dufour, .NET community guy extraordinare, who’s been making it happen for the past few years. It’s a free-as-in-beer event, a labour of love carried out by Chris and a team of dedicated volunteers and funded by generous sponsors including The Empire.

Here’s a run-down of Toronto Code Camp 2010’s agenda:

Time What’s Happening
8:30 a.m. – 9:00 a.m. Registration
9:00 a.m. – 9:30 a.m. Keynote
9:30 a.m. – 10:45 a.m. Sessions

10:45 a.m. – 11:00 a.m. Break
11:00 a.m. – 12:15 p.m. Sessions

12:15 p.m. – 1:30 p.m. Lunch
1:30 p.m. – 2:45 p.m. Sessions

2:45 p.m. – 3:00 p.m. Break
3:00 p.m. – 4:15 p.m. Sessions

4:15 p.m. – 4:30 p.m. Break
4:30 p.m. – 5:45 p,m. Sessions

5:45 p.m. – 6:00 p.m. Break
6:00 p.m. – 6:30 p.m. Closing
6:30 p.m. “The Hive” Afterparty
If you want to attend this event, please register!
Later After the afterparty, a tour of York University’s astronomy observatory!

 

I’ll be present at the event, making myself useful as an official Microsoft representative and as a Windows Phone 7 Champ and Azure go-to guy.

Toronto Code Camp takes place in the SEQ building at Seneca’s campus at York University, which is at 70 The Pond Road. Click the map below to see a Bing map and get directions:

Map to Toronto Code Camp (70 The Pond Road)

See you there!

This article also appears in Canadian Developer Connection.