Categories
Uncategorized

My Afternoon at MeshU

This article also appears in Canadian Developer Connection.

I caught the afternoon sessions of MeshU, the day of workshops that precedes the Mesh Conference. MeshU had three tracks – Design, Development and Management – and I chose to attend the sessions in the Development track.

Leigh Honeywell at her presentation at MeshU

Leigh Honeywell on Writing Secure Software

First up was HackLabTO cofounder Leigh Honeywell, (pictured on the right) whose presentation was titled Break It to Make It: Writing (More) Secure Software. She works at the MessageLabs subsidiary of Symantec, which makes security products for email systems, and before that, she worked as an independent security consultant. Simply put, security is both her job and her hobby.

Leigh provided an informative and entertaining summary of the most common security vulnerabilities in applications and the recommended best practices for writing secure apps. Here’s a photo of her slide showing OWASP’s ten principles that you should follow in order to write secure applications:

"10 Principles" slide from Leigh Honeywell's security presentation at MeshU 2009

The ten principles are:

    1. Minimize attack surface area
    2. Establish secure defaults
    3. Least privilege
    4. Defense in depth
    5. Fail securely
    6. Don’t trust services
    7. Separation of duties
    8. Avoid security through obscurity
    9. Keep security simple
    10. Fix security issues correctly

She also covered what OWASP considers to be the current top ten vulnerabilities:

    1. Cross-site scripting
    2. Injection flaws
    3. Malicious file execution
    4. Insecure direct object references
    5. Cross-site request forgeries
    6. Information leakage / improper error handling
    7. Broken authentication and improper error handling
    8. Insecure cryptographic storage
    9. Insecure communciations
    10. Failure to restrict URL access

writing_secure_code

At the end of her presentation, Leigh listed a couple of books that she considered to be valuable security references. One of them was Writing Secure Code, Second Edition, written by Michael Howard and Steve Lipner and published by Microsoft Press.

This was a surprise to many people in the audience, the majority of whom were not building apps on Microsoft technologies and generally (and often mistakenly) think of the term “Microsoft” being synonymous with “insecure”. A number of people chatted with me after the presentation and it seemed like this was one of many things from Microsoft that caught them by surprise, along with other unexpected things including the MS-PL license, CodePlex and the Open Source Lab, the new emphasis on standards and interoperability…and hey, even taking on “unlikely” evangelists such as David Crow and me.

Here’s her slide deck:

Pete Forde Does the iPhone Dance

Next was Pete Forde, one of people behind the development shop Unspace and the RubyFringe and FutureRuby conferences. He started his presentation, Is That an iPhone in Your Pocket, or are You Just Happy to See Me?, with a Napoleon Dynamite-esque dance number set to the tune of Start the Riot by Atari Teenage Riot. Here’s the video of the dance that Leigh Honeywell shot:

And here’s the video that I shot:

Pete’s presentation covered the options that developers have when building iPhone apps. For the curious, here’s the deck he used:

The one thing that he wanted you to take away from his presentation is, in his own words:

Consider iPhone web applications and side-stepping the iTunes Application Store (and their 30% gross cut) completely.

The one thing that I took away from the presentation (in addition to the one above) was that it’s not all smiles and sunshine in iPhone development land. Yes, the iPhone provides an excellent user experience and the App Store has been a hit with the customers and many developers. However, a good chunk of Pete’s presentation was about how some of the biggest obstacles for iPhone developers come from Apple itself; I’ve heard that there were similar grumblings at an iPhone developer meetup that took place later in the week. I think that there are some things that Windows Mobile developers (and the Windows Mobile team at Microsoft) can learn from these obstacles, and I’m going to write about them in a later article.

Chris Wanstrath and the Story of GitHub

Chris Wanstrath The final presentation of the afternoon, Building a Business with Open Source, was given by Chris Wanstrath of GitHub, a hosting service for software repositories created with the Git distributed version control system. There are a number of open source projects hosted on GitHub, including one you might not expect: Microsoft’s very own IronRuby.

Chris explained that GitHub was an answer to a problem that he and his friends had: they were working on a number of open source projects, so many that managing them was “beginning to wear them down”. GitHub was created as a solution to that problem: it took care of the tedious parts of source code management so that they could focus on their code.

Although GitHub hosts a number of open source projects and uses Git, which is open source, it is not open source. Chris explained that managing an open source project takes up more time that he or the others on the team have. “Ironically,” he said, “starting GitHub has given me less time to work on open source.” After hinting at his dissatisfaction with the GNU General Public License, an audience member asked "Does the GPL cause you nightmares?"

“Yes,” he replied, after which he endorsed his preferred open source license. “MIT license all the way,” he said.

Octocat, GitHub's mascot To promote GitHub, they took an approach that was closer in spirit to evangelism than standard marketing. “Companies still believe in old-school advertising, and they also think that what works offline works online,” he said. So they rely on the standard offline methods of promoting their wares: advertisements and marketing campaigns. In the online world, people trust their peers, so they opted for an approach that he called “guerilla marketing”: instead of spending money on ads, they spent money to hang out with developers, buy them beer and pizza and provide “a human face” to GitHub. He summed up the approach with a good one-liner: “Who knew that actually spending time with your customers would be good for business?" A great point, especially in today’s word-of-mouth-y, interconnected world.

Categories
Uncategorized

Toronto Code Camp: Saturday, April 25th

Toronto Code Camp logoWhether you’re an old hand at developing for Microsoft’s platforms or completely new to The Ways of The Empire, you’ll find the upcoming Toronto Code Camp to be a great way to get some deep information on .NET development as well as a way to meet some of the most active and engaged members of the local Microsoft developer community. It takes place at the Manulife Building (200 Bloor Street East, on the north side between Church and Jarvis) and runs from 8:00 a.m. to 5:00 p.m., and registration is free.

Toronto Code Camp will have 5 tracks in its agenda:

  1. ASP.NET: Covering Active Server Pages technology, which includes Virtual Earth and the new ASP.NET MVC framework, which gives you the goodness of frameworks like Rails and Django and the speed and libraries of .NET. The ASP.NET MVC: Beyond the Basics presentation by Richard Obuhowich is definitely on my own “must-see” list.
  2. Data / Architecture: SQL Server, plus ADO.NET, LINQ and the Microsoft Sync Framework.
  3. .NET Framework: This is a really broad topic, and this year, the sessions will be on building installers with WiX, building extensions to Office and Visual Studio, building SharePoint apps, and a fast introduction to Windows Mobile development by Mark Arteaga that I intend to catch.
  4. Silverlight / WPF: The track for people who want to build rich multimedia interfaces for the web (Silverlight) and Windows (WPF, short for Windows Presentation Foundation). I’m thinking of seeing Robert Burke’s Silverlight from 2 to 3 – or, Silverlight Beyond MIX09 presentation, which is supposed to be PowerPoint-free!
  5. Future / Other: A catch-all track for topics about upcoming developer tools and tech, as well as things that don’t quite fit in the other tracks. There are presentations on the F# programming language (an OCaml-like .NET language), the Azure cloud computing platform, upcoming goodies like the .NET 4.0 framework and VB10 plus a session titled 2D XNA Game Programming for Fun and Profit by Josef Rogosky.

For more details about all the sessions and when they’ll take place, see the Toronto Code Camp agenda.

I’m going to be there, attending as both a developer looking to learn as well as a Sith Lord representing the Empire. I’m going to take notes, snap photos and perhaps even shoot a little video; I’m also going to see what I can do about bringing some swag to give away.

The registrations are coming in fast and furious, so if you want to come, make sure you register now!

Categories
Uncategorized

EnergizeIT 2009: Coming Soon!

Banner: EnergizeIT - Anything is possible

It’s been announced on Canadian Developer Connection, but I thought I’d mention it here: we folks at Microsoft Canada are gearing up for the 2009 edition of EnergizeIT, a cross-country tour where we’ll show off our upcoming tools, technology and platforms.

Logos: Windows Azure, Windows Server 2008 R2 and Windows 7

For starters, we’ll be showing off Windows 7. I’ve been running it on both my “developer” and “TPS report-writing” laptops for weeks now, and it’s been nothing but rock-solid: all my XP and Vista-based software, from development apps to games and even my synth software (I run Ableton Live and FL Studio, a.k.a. “FruityLoops”) work like a charm on it. We’ll show off the improved UI, additional capabilities that you can take advantage of as a developer, and even give you a chance to install the beta on your own machine.

EnergizeIT is also an opportunity to check out what we’ve got in the way of server tech, such as the revamped Windows Server 2008 R2 with its Hyper-V virtualization and Windows Azure, our cloud computing platform that scales to meet your needs and saves you maintenance headaches.

We’ll have five different kinds of events at our EnergizeIT stops:

  • The Future of the Windows Platform: We’ll talk about Windows 7 and Windows Server 2008 R2, all with this question in mind: “How is this going to make my life easier?”
  • Energize IT: From the Client to the Cloud: Find out about our “Software + Services” vision, where you can access computing power anywhere, any time and on any device.
  • Student Connection: Get Energized About the Future! Get a head start on your journey from academia to “the real world” as we show you some upcoming tech and talk about the opportunities that exist, even in current economic mess.
  • Faculty Connection: Supporting Faculty to Support the Future: Find out about our programs to support people who teach technology and let us know what you need.
  • Enthusiast Connection: Windows 7 Installfest: Take Windows 7 for a spin and ask us about our experiences with our up-and-coming desktop operating system.

Map of Canada

In the past, we’ve only held EnergizeIT in Toronto, but this time, we’re borrowing a page from Aerosmith’s book and coming to your hometown. Starting in mid-March and running through until the end of April, we’ll be hitting these cities:

  • Victoria
  • Vancouver
  • Edmonton
  • Calgary
  • Regina
  • Saskatoon
  • Winnipeg
  • London
  • Kitchener-Waterloo
  • Mississauga
  • Toronto
  • Ottawa
  • Montreal
  • Halifax
  • Moncton
  • Fredericton
  • St. John’s

As for how much it’ll cost for you to attend our EnergizeIT events: nothing. Zip. Zilch. Nada. Bupkis. Honkis de Konkis, as we say in some circles. Simply put, it’s free of charge.

Want to find out more about EnergizeIT or register? Go hit the EnergizeIT site.

Categories
Uncategorized

FutureRuby: July 9th – 12th, 2009

First Came RubyFringe

RubyFringe logo

I can’t talk about FutureRuby without first talking about RubyFringe.

Last July, the fine folks at Toronto’s Little Coding Shop That Could – Unspace – created one of the best and most memorable conferences I’ve ever attended: RubyFringe. RubyFringe made its mark by taking the standard geek conference formula and turning it on its head. Among the things that distinguished it were:

  • RubyFringe was intentionally a small conference, with its attendance capped at 150 attendees.
  • No sponsors!
  • It had a single conference track, and all presentations took place in the same room.
  • The presentations were vetted carefully by people who really, really, really loved the Ruby programming language. This meant that we got interesting speakers and no vendor pitches. We felt Damien Katz’ pain when he talked about his situation prior to creating CouchDB, grooved as Nick Sieger talked about the parallels between jazz and programming, and stayed glued to our seats as Giles Bowkett gave us his rousing call to action in his 400-slide extravaganza, even though he’d gone well beyond his allotted time and was cutting into lunch (it was that good).
  • They didn’t allow questions at the end of the presentations. In organizer Pete Forde’s words: “Our experience has been that questions are hard to hear, generally of poor quality, often just statements, and almost always an exercise in demonstrating how brilliant the questioner is while dominating the attention of the whole room.”
  • There was a “companion track” for attendees’ non-geeky significant others, where they were taken on a tour of the city while their partners were at the conference.
  • They served some of the best food I’ve ever had at a developer conference. The lunches were at the Downtown Metropolitan Hotel, and the big dinner at the Drake Hotel was beyond anything I’ve ever had at a developer conference.
  • The conference also included parties at some of the best spots in the city, some of which you wouldn’t find on vanilla tourist guides. Better yet, those parties were open bar!
  • Not only was there an opening party at a brewery, complete with stand-up comic, rock band and DJ, but there was a great closing party on Unspace’s roof.
  • The organizers paid attention to little details that set the conference apart, from giving everyone transit passes to heralding speakers as they walked on stage with the song of the choice to the giant polaroid montage featuring every attendee.

The organizers’ decisions in crafting RubyFringe made it a high-quality, memorable and inspiring experience, and its carefully limited scale gave it a sense of community that I could almost describe as familial.

Many people who went declared it the best conference they’d ever attended, and many who passed up the opportunity kicked themselves for missing it. Those pale next to the highest praise for the conference: the fact that after attending RubyFringe, a half-dozen handful of attendees were so inspired that they quit their day jobs to strike out on their own doing Ruby development.

Now Comes FutureRuby

FutureRuby comic

With RubyFringe’s resounding success, it was only natural that people would ask if Unspace would be doing it again next year. They gave it some serious thought – the last thing that they wanted to create was a weak sequel. They didn’t want to simply rehash RubyFringe, but reinvent it, just as they had reinvented the developer conference with RubyFringe.

So they reinvented RubyFringe as FutureRuby.

FutureRuby will take place from July 9th through 12th, and will build on what RubyFringe accomplished. The organizers bill it as “an opportunity to prepare for the future by learning from the mistakes of the past”, and promise us that it won’t just be RubyFringe warmed over – we shouldn’t expect to find the same things in the same places!

What else will it have?

  • Parties and nightly entertainment, three nights in a row
  • FAILCamp (which I co-hosted last year, and which I am invited to host again) is back with a vengeance, and an adorable sailor suit
  • “More better than” swag that you’ll be proud to wear in public
  • The return of the companion track for partners and secret lovers during the conference
  • An amazing two nights of lunches and dinners that you’ll photograph and tweet about
  • Loving attention to all of the details, like excellent wifi, transit passes, and no paid presentations

All the details are in this post at Unspace’s blog, Rethink. You can bet that I’ll be at FutureRuby.

Categories
Uncategorized

We’ll be in Seattle This Week!

Seattle skyline

This article also appears in Canadian Developer Connection.

Starting tonight (Pacific Coast Time), John Bristowe, I, and a few other folks from Microsoft Canada’s De veloper & Platform Evangelism team, will be in Seattle all next week to attend Microsoft’s 8th TechReady conference. TechReady is a Microsoft internal conference where ‘Softies from all over the world gather to get briefed on upcoming releases. The coming months promise a bumper crop of Microsoft goodies – Windows 7, Internet Explorer 8, Visual Studio 2010 and Azure to name a few – so the sessions should be very interesting. (I think I’ll actually be taking a lot of notes during the presentations rather than checking my mail or looking at that video of kittens riding a Roomba.)

We’re going to try to take advantage of this gathering to get some interviews with  some of the big brains at Microsoft from Redmond and all over the world, as well as show you some of the sights and sounds of Seattle. Watch this blog for updates!

Are you in Seattle? Want to catch up? Talk about Microsoft, software development, accordions. Zardoz or anything else? Drop me a line or give me a ring (416-948-6447)!

[Seattle photo by Andrew “papalars” Larsen and licenced under Creative Commons. Click here to see the original.]

Categories
Uncategorized

I’m in Calgary Next Week

downtown_calgary

tech_days_calgary

I’ll be in Calgary from Monday to Friday next week, catching up with my friend and co-worker John Bristowe (he’s Microsoft’s Developer Evangelist for Western Canada) and speaking at the Tech Days conference.

If you use (or are thinking of using) The Empire’s technologies, Tech Days is a pretty good place to get immersed. It’s a conference focused on learning about Microsoft tech on its target platforms – PC, web and phone – both current and upcoming. It’s also a chance for Microsoft developers to get together and network, and you leave the conference with a nice package of free stuff, including a full version of Visual Studio 2008 Professional Edition. (And just between you and me, if your company’s paying for it, Tech Days is also a good excuse to get a couple of paid days out of the office.)

In addition to the conference notes and reportage that you’ve come to expect from Global Nerdy and the accordion playing you’ve come to expect from me, I will be contributing in another way: I’m delivering the A Deep Dive into the ASP.NET Ajax Extensions presentation (it’s part of the web development track and taking place on Wednesday, December 10th at 1:00 p.m.. Here’s the abstract for the presentation:

The ASP.NET AJAX Extensions are the server half of ASP.NET AJAX. Aside from adding controls such as ScriptManager and UpdatePanel to the platform, they extend the ASMX model to support client-side callbacks and JSON serialization. In this session, we’ll explore ASP.NET AJAX on the server – both inside and out – in order to provide you with the knowledge you will need to exploit it to its fullest.

(If I had more time, I think I’d write my own abstract.)

I looked at the time slot I was given and went “uh-oh”. It’s one p.m., right after lunch, which is what people used to call the sexta hora in Latin. That means “sixth hour” and refers to the sixth hour of being awake, which is when people start to get a little bit sleepy. That’s where the word siesta comes from – it’s a bastardization of sexta hora. I’m going to have to make sure that I keep things interesting – I welcome that challenge.

See you in Calgary!

Categories
Uncategorized

RubyFringe was Profitable, People are Happy, and the Sky Didn’t Fall. What Now?”

Collage of images from the RubyFringe summary article at \"Rethink\"

Over at Rethink, the blog of Accordion City-based development shop Unspace, Pete Forde shares his thoughts on the RubyFringe conference in an articles titled RubyFringe was Profitable, People are Happy, and the Sky Didn’t Fall. What Now?”.

The article covers all kinds of things including:

  • A loving poke at RailsConf (“A 400 person conference doesn’t become better with 1600 people, but if you’ve already done the hard work, why not scale up?”). That’s a reference to RailsConf 2006 and 2007.
  • The number of attendees (something that I’m going to cover in an article very soon)
  • Why they might not do another RubyFringe (think of all the movie sequels you’ve ever seen)
  • Women and tech conferences
  • You can hold a conference without sponsors (well, Engine Yard helped foot the bill for a party)
  • Consider going with just a single track
  • Just as Obie said that you shouldn’t undercharge for your services, you shouldn’t undercharge for a conference. Charge what it costs, and deliver real value
  • “Great food is important, because nobody can focus for fifteen hours on cold boxed lunches.” And RubyFringe had great food.
  • Care about the details! “This cannot be overstated, and the key word here is care.”

Meghann Millard of Unspace
Meghann Millard, RubyFringe cat herder supreme.

Pete said it in his article, and I feel it bears repeating: Meghann did an amazing job herding cats for RubyFringe, and if you attended RubyFringe and have a little cash to spare, it might be a nice idea to send her some flowers (or an Amazon gift certificate) for all the work she put in. I owe her big-time for thinking of me when she was looking for a host for the Friday night opening events as well as an emergency host when FAILCamp needed one. Thank you, Meghann! I salute you with a filet mignon on a flaming sword!

As for Pete thanking me for the RubyFringe guides and notes from the conference: it was my pleasure. I believed in the event from the get-go and was only too happy to apply the Burning Man ethos to this event (“There are no spectators, only participants”). Besides, that’s what we in the Accordion City tech community do!

If you’re thinking about putting together a tech conference, you should steal as many ideas as you can from RubyFringe, and Pete’s article is a good starting-off point.