Categories
Uncategorized

Mesh Conference: Toronto, May 18th – 19th

mesh conference

The 2010 Mesh Conference – the fifth one – takes place at Toronto’s MaRS Collaboration Centre on Tuesday, May 18th and Wednesday, May 19th. Its organizers call it “Canada’s Web Conference”, and it is: it’s this country’s premier get-together for creatives, techies and “suits” to share ideas about the internet and how it affects how we work, live and play.

This Year’s Keynote Speakers

This year’s keynote speakers are:

Chris Thorpe, Developer Advocate for the Open Platform at The Guardian

His background as a research scientist and his early involvement in Open Access publishing, makes him fascinated and passionate about what happens when data, content, platforms, identity and pretty much anything opens up. He spends his time at The Guardian working on the best ways to integrate The Guardian’s content, data and APIs with other people’s technology and businesses as part of the drive towards building the distribution and engagement channels of a mutualized newspaper.

Joseph Menn, author of Fatal System Error: The Hunt for the New Crime Lords Who are Bringing Down the Internet

Fatal System Error: The Hunt for the New Crime Lords Who are Bringing Down the Internet, Menn’s third book, was published in the US in January 2010 and in the UK in February 2010 by PublicAffairs Books. Part true-life thriller and part expose, it became an immediate bestseller, with Menn interviewed on national television and radio programs in the US, Canada and elsewhere. Menn has spoken at major security conferences on his findings, which include hard evidence that the governments of Russia and China are protecting and directing the behavior of some of the world’s worst cyber-criminals.

Scott Thompson, President of PayPal

Scott Thompson is president of PayPal with overall responsibility for establishing PayPal as the leading global online payment service. Scott previously served as PayPal’s senior vice president and chief technology officer, where he oversaw information technology, product development and architecture for PayPal.

Arvind Rajan, Vice President, International at LinkedIn

Arvind Rajan leads the company’s initiatives in markets outside the United States and Europe. Prior to joining LinkedIn, Arvind was the CEO of Grassroots Enterprise. Also a co-founder of the company, Arvind developed pioneering online grassroots communications programs for a wide variety of Fortune 500 companies, trade associations and nonprofit organizations. Arvind began his career with the Boston Consulting Group, and has held a wide range of leadership positions in emerging growth technology companies.

This Year’s Topics

Mesh will have two days’ worth of sessions covering a number of topics, including:

  • Open Government
  • Mobile phones and computing
  • The Pirate’s Dilemma
  • Privacy in the age of Facebook
  • Real-time
  • Social media in the Olympics, in the newsroom, as used by Médecins Sans Frontières and your business

For more, see the schedule.

Who’s Behind Mesh?

Mesh is a great example of the sort of thing that engaged and enthusiastic communities can create. It wasn’t created by a professional conference-organizing company, software vendor or government program, but by these five individuals known through the Toronto tech scene:

  • Mark Evans: Digital marketing and social media consultant, former VP at my old company, b5media, worked with the startups PlanetEye and Blanketware, and former tech journo with the National Post and Globe and Mail.
  • Mathew Ingram: Senior writer with GigaOm, former tech journo with the Globe and Mail and supreme tech blogger-about-town.
  • Mike McDerment: Runs Freshbooks, one of Toronto’s most successful start-ups.
  • Rob Hyndman: If (or more likely, when) I get sued, I’ll haul ass for Rob’s office! Considered by the Toronto tech scene to be its unofficial legal advisor, Rob runs Hyndman | Law, a boutique law firm catering to tech companies.
  • Stuart McDonald: Runs Tripharbor/Tripharbour; in a former life, he brought Expedia to Canada.

And of course, there are the sponsors, which includes Microsoft Canada. I’ll be there, representing The Empire along with my coworkers David Crow, Barnaby Jeans and John Oxley.

Get Your Tickets Now!

There’s not much time left before Mesh, and tickets are going quickly. The student tickets are already gone, but a few regular tickets — CAD$539 each – are still available at the registration page.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Kathy Sierra: “Make a Better FM”

Kathy Sierra showing a slide that reads "If you want them to RTFM, make a better FM"Photo found via kloctalk.

Sound advice from Kathy Sierra (pictured giving one of those mind-blowing presentations that are her stock in trade). Her blog, Creating Passionate Users, while dormant, is still worth reading.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

MeshU Workshops: Toronto, May 17th

MeshU: May 17th, 2010 - Toronto, Canada

MeshU – short for “Mesh University” – takes place on Monday, May 17th at the MaRS Collaboration Centre (101 College Street, just east of University). It’s a series of workshops for web designers, developers and “suits” that takes place the day before the Mesh Conference (“Canada’s Web Conference”) and will feature 12 workshops divided into “Design”, “Development” and “Management” streams delivered by people with real-world startup/tech business experience.

I’ll be there, as both an attendee furiously taking notes (which I’ll post here) as well as a representative of Microsoft Canada and Silverlight, who are MeshU’s event partners.

Keynote: Bill Buxton

Keynote: Bill Buxton

Bill Buxton, Principal Researcher at Microsoft Research, human-computer interaction guru extraordinaire and fellow alumnus of Crazy Go Nuts University, will deliver the morning keynote. Every presentation I’ve ever seen him do has always inspired me and given me at least three new ideas, and I expect that this one will be no different. He’s an intelligent, engaging and interesting speaker – don’t miss your chance to see him live!

MeshU Sessions

Here are the MeshU sessions:

Registering for MeshU

Alas, the $49.00 student tickets for MeshU are sold out. Here’s what remain:

  • Regular tickets: CAD$289.00 each
  • “Friends of MeshU” sponsorship: CAD$1000 each – with this, you get:
    • 1 regular ticket
    • 1 student ticket
    • Your logo on the MeshU site and at the event
  • “Really Good Friends of MeshU” sponsorship: CAD$2000 each — with this, you get:
    • 2 regular tickets
    • 2 student tickets
    • Your logo on the MeshU site and at the event
    • A table at the event

To register for MeshU, go to the MeshU registration page.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

GovCamp: Ottawa, May 31 – June 1, 2010

 Photo of the Peace Tower in Ottawa: "GovCamp: Ottawa, May 31 - June 1, 2010" Creative Commons Photo by the Poissant Family.

Open Government / Government 2.0

The intersection of the internet and politics has given rise to many things, including the concept often referred to as “Open Government” or “Government 2.0”. To borrow a couple of lines from Mark Kuznicki’s keynote at ChangeCamp Toronto, its goals are twofold:

  1. For governments to become more open, transparent, participatory, innovative, efficient and effective
  2. For citizens to become more connected to each other around their civic passions in the place they call home

Events like ChangeCamp, TransitCamp and Metronauts – unconferences where ordinary citizens, government officials and representatives of organizations that receive public funding meet to exchange ideas – have been happening across Canada. At these events, people have thought about, discussed and built new relationships with their local governments, often through the use of technology.

Most of these events focused on a local community, municipality or occasionally, a province, but none of them have had a discussion at the federal level. Could this be done at a broader level?

GovCamp: May 31 – June 1 in Ottawa

GovCamp logo

That’s where GovCamp comes in. It’s an “Open Government”/”Government 2.0” discussion where the topics will be centred around Canada as a whole, the interactions between cities and provinces, and how our provincial and federal governments can help cultivate the growth and prosperity of Canadians and their vibrant communities.

John Weigelt, Microsoft Canada’s National Technology Officer, is putting together this event, which takes place on Monday, May 31st and Tuesday, June 1st in Ottawa. It’ll be a gathering of local citizens, public sector employees, service delivery leaders and policy people with an interest in having a conversation about engaging citizens and businesses and making government at all levels more open, responsive and efficient. It won’t be a trade show or product-oriented discussion; instead, it will be a workshop-style unconference where participants establish the agenda and explore the themes that they care most about.

GovCamp is being hosted by CIPS – the Canadian Association for Information Technology Professionals – and sponsored by Microsoft Canada on behalf of the community.

Who’s Coming to GovCamp?

In putting GovCamp together, we’re reaching out to a number organizations and communities including:

Who is GovCamp For?

This event is for:

  • IT People –Technology is one way that governments are transforming how they deliver services externally and internally. Technology people are needed to explore the art of the possible for these new services. Mash-ups, Open Data, social media are but a few of the possible areas for discussion.
  • Policy People – We need you in the conversation so that you can share your expertise on the realm of the possible from a policy perspective. Privacy, Security, Access to Information, Information Management are all key considerations for successful government transformation.  Come share your knowledge on how to make these policies enable new services.
  • Government Services leaders – Ultimately, government delivers value through the many services that are provided. GovCamp is about exploring the realm of the possible for service to individuals, services to businesses and services to other departments. Your voice is essential to inform the community and to guide those ideas that the community may have for you!
  • Community – We are fortunate that there’s a passionate and creative community with vibrant ideas about how they can help create a closer connection between governments, individuals, businesses and even among government itself. Your participation at the Canada Gov Camp will provide you with a venue to share your great ideas and, if all goes well, interact with some of the people that can take your idea further.

How Much, and Where do I Register?

Registration for GovCamp is free! To register, visit the registration page.

GovCamp will be held at the University of Ottawa, in a location to be determined.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Babbage and Lovelace Get the “Space: 1999” Treatment

What happens when you take computing’s proto-heroes Charles Babbage and Ada Lovelace, turn them into characters in a steampunk adventure television series with a title sequence lifted directly from Space: 1999? You get Albion: 1849, a series with a themes similar to The Secret Adventures of Jules Verne.

[Found via 2D Goggles, via Rob Miles’ blog.]

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

Categories
Uncategorized

Ruby Stuff: IronRuby 1.0, IronRuby Reading and a Ruby Job Fair

Hello, IronRuby 1.0!

ironrubyAlthough it’s been out for the past couple of weeks and might be considered old news, I couldn’t let it pass unmentioned, especially given my history with the Ruby programming language: IronRuby 1.0 has been released!

IronRuby is an implementation of Ruby targeting the .NET Framework and built on Microsoft’s Dynamic Language Runtime, which in turn runs on top of the Common Language Runtime. Version 1.0 is compatible with Ruby 1.8.6; future releases will aim for compatibility with Ruby 1.9.

You can use IronRuby 1.0 to build these sorts of applications:

  • Desktop applications using WPF
  • Desktop, in-browser rich internet applications and Windows Phone applications using Silverlight
  • Ruby on Rails applications (up to Rails version 2.3.5)
  • Good ol’ command-line applications
  • and of course, the REPL (Read-Evaluate-Print Loop) goodness of irb

As of version 1.0, IronRuby comes in two flavors:

  • The one that runs on top of .NET 4.0. The .NET 4.0 framework is the latest version and was released with Visual Studio a couple of weeks ago (you can download it for free here). This is the preferred version, and features goodies such as:
    • Faster startup
    • Compatibility with C#’s dynamic keyword
    • Access to all the new features in the .NET 4.0 framework
  • The one that runs on any earlier .NET, starting with 2.0 SP1. For compatibility with earlier versions of .NET as well as with Mono, you’ll want to use this version.

IronRuby is free in both senses of the word:

  • Free as in beer. It costs nothing – just download it and use it!
  • Free as in speech. It’s open source software, released under the Microsoft Permissive Licence, which is recognized by the Open Source Initiative.

Download icon You can download IronRuby 1.0 from the IronRuby site on Microsoft’s CodePlex site.

Ruby and IronRuby Reading

programming ruby

Programming Ruby, a.k.a. “The Pickaxe Book”, is on every serious Rubyist’s shelf. It’s both a good introduction to the language and a pretty decent reference.

poignant guide foxes

why’s (poignant) guide to ruby isn’t a complete guide to Ruby, nor is it your typical programming book. It’s free, online, the most whimsical programming book you’ll ever read, and it’s been the driving force behind a lot of dynamism and creativity of the Ruby community.

ironruby unleashed

The newly-released IronRuby Unleashed covers both the Ruby programming language, the IronRuby implementation and using IronRuby to mix Ruby and .NET into a Reese peanut butter cup of developer goodness.

Ruby Job Fair 2010

Last year, I attended and wrote about employment.nil?, the Ruby job fair held by Toronto software development shop Unspace. They’re doing it again this year with a different format. Where last year’s was modelled after a science fair (the kind you remember from high school), this year’s is going to be modelled after “speed dating” and will feature 5-minute chats between people looking for work and people looking to hire.

To reflect the new format and pay homage to the Ruby-style naming of the first event, they’re calling it require ‘date’. The job fair will take place in Toronto on Sunday, May 30th in the back room of the Rivoli (334 Queen Street West, just east of Spadina) from 2:00 p.m. to 4:00 p.m.. It will be followed from 4:00 p.m. to 9:00 p.m. with OMGRPNBBQ, a special barbecue party edition of Ruby Pub Nite held at Unspace’s office and rooftop deck (342 Queen Street West, a few doors over from the Rivoli).

  • If you’re looking to hire people or looking for a job and want to attend, sign up here. There’s a small registration fee of $6.66.
  • If you want to attend OMGRPNBBQ, sign up here.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

New Programming Jargon

Every field comes up with its own jargon, and oftentimes subgroups within a field come up with their own specific words or phrases (those of you familiar with Microsoft Canada’s Developer and Platform Evangelism Team know that we have our own term for “broken”, named after one of our teammates who is notorious for killing all sorts of tech gear).

A question recently posted on Stack Overflow asked for people to submit programming terms that they or their team have coined and have come into regular use in their own circles. I took a number of the submissions and compiled them into the alphabetically ordered list below for your education and entertainment.

Have you come up with your own jargon? Tell us in the comments!

Banana Banana Banana

"Bluth's Frozen Banana" stand from "Arrested Development"

Placeholder text indicating that documentation is in progress or yet to be completed. Mostly used because FxCop complains when a public function lacks documentation.

Example:

/// <summary> /// banana banana banana /// </summary> public CustomerValidationResponse Validate(CustomerValidationRequest request, bool ...

Barack Obama

A project management account to which the most aspirational tickets – stuff you’d really like to do but will pobably never get approval for – gets assigned.

Bicrement

Adding 2 to a variable.

Bloombug

A bug that accidentally generates money. [Joey’s note: I have never written one of these.]

Bugfoot

Bigfoot

A bug that isn’t reproducible and has been sighted by only one person. See Loch Ness Monster Bug.

Chunky Salsa

A single critical error or bug that renders an entire system unusable, especially in a production environment.

Based on the chunky salsa rule from TVTropes: Any situation that would reduce a character’s head to the consistency of chunky salsa dip is fatal, regardless of other rules.

Configuration Programming / Programmer

Someone that says they are a programmer but only knows how to hack at configuration files of some other pieces of software configuration to make them do what they want.

Counterbug

A defensive move useful for code reviews. If someone reviewing your code presents you with a bug that’s your fault, you counter with a counterbug: a bug caused by the reviewer.

DOCTYPE Decoration

When web designers add a proper DOCTYPE declaration at the beginning of an HTML document, but then don’t bother to write valid markup for the rest of it.

Drug Report

A bug report so utterly incomprehensible that whoever submitted it must have been smoking crack. The lesser version is a chug report, where the submitter is thought have had one too many.

Duck

Rubber "Devil Duckies" surrounding a lone rubber "Angel Duckie"

A feature added for no other reason than to draw management attention and be removed, thus avoiding unnecessary changes in other aspects of the product.

This started as a piece of Interplay corporate lore. It was well known that producers (a game industry position, roughly equivalent to PMs) had to make a change to everything that was done. The assumption was that subconsciously they felt that if they didn’t, they weren’t adding value.

The artist working on the queen animations for Battle Chess was aware of this tendency, and came up with an innovative solution. He did the animations for the queen the way that he felt would be best, with one addition: he gave the queen a pet duck. He animated this duck through all of the queen’s animations, had it flapping around the corners. He also took great care to make sure that it never overlapped the “actual” animation.

Eventually, it came time for the producer to review the animation set for the queen. The producer sat down and watched all of the animations. When they were done, he turned to the artist and said, “That looks great. Just one thing – get rid of the duck.”

Fear-Driven Development

When project management adds more pressure, such as by firing a member of the team.

Ghetto Code

Ceiling fan kludged by hanging a box fan from the ceiling

A particularly inelegant and obviously suboptimal section of code that still meets the requirements. [Joey’s note: I’ve written ghetto code before, but that’s because I’m street, yo!]

Hindenbug

A catastrophic data-destroying bug. Oh, the humanity!

Hocus Focus Problem

Unexpected behavior caused by changes in focus, or incorrect setting of focus. Could also be used to describe an app stealing your focus.

Hot Potato / Hot Potatoes

A fun way to pronounce http:// and https://.

IRQed

Annoyed by interruptions. Pronounced like and has a similar meaning to “irked”.

Jimmy

"Opie" from "Family Guy"

A generalized name for the clueless/new developer. The submitter at Stack Overflow writes:

We found as we were developing a framework component that required minimal knowledge of how it worked for the other developers. We would always phrase our questions as: “What if Jimmy forgets to update the attribute?”

This led to the term “Jimmy-proof” when referring to well designed framework code.

It’s probably best not to use this term around IronRuby developer Jimmy Schementi.

Loch Ness Monster Bug

A bug that isn’t reproducible and has been sighted by only one person. See Bugfoot.

Megamoth

MEGA MOnolithic meTHod. Usually stretches over two screens in height and often contained inside a God Object (an object that knows or does too much).

.NET Sandwich

When .NET code called native code which calls other .NET code and makes the poorly designed application crash.

n-gleton

A class that only allows a fixed number of instances of itself.

NOPping

Not napping, but simply zoning out. Comes from the assembly language instruction NOP, for No OPeration, which does nothing.

Pokemon Exception Handling

For when you just gotta catch ’em all!

Reality 101 Failure

Solar-powered flashlight

The program (or more likely feature of a program) does exactly what was asked for, but when it’s deployed it turns out that the problem was misunderstood and the program is basically useless.

Refuctoring

The process of taking a well-designed piece of code and, through a series of small, reversible changes, making it completely unmaintainable by anyone except yourself. It’s job security!

The Sheath

The isolating interface between your team’s (good) code, and the brain-dead code contributed by some other group. The sheath prevents horrible things (badly named constants, incorrect types, etc.) in their code from infecting your code.

[Joey’s note: I’ve heard the term “shim” used for this sort of construct. I’ve used the term “transmogrifier” for this sort of thing.]

Shrug Report

A bug report with no error message or “how to reproduce” steps and only a vague description of the problem. Usually contains the phrase “doesn’t work.”

Smug Report

A bug report submitted by a user who thinks he knows a lot more about the system’s design than he really does. Filled with irrelevant technical details and one or more suggestions (always wrong) about what he thinks is causing the problem and how we should fix it.

Stringly-Typed

i can has string

A riff on strongly-typed. Used to describe an implementation that needlessly relies on strings when programmer- and refactor-friendly options are available.

Examples:

  • Method parameters that take strings when other more appropriate types should be used
  • On the occasion that a string is required in a method call (e.g. network service), the string is then passed and used throughout the rest of the call graph without first converting it to a more suitable internal representation (e.g. parse it and create an enum, then you have strong typing throughout the rest of your codebase)
  • Message passing without using typed messages etc.

Excessively stringly typed code is usually a pain to understand and detonates at runtime with errors that the compiler would normally find.

Unicorny

An adjective to describe a feature that’s so early in the planning stages that it might as well be imaginary. This one comes from Rails Core Team member Yehuda Katz, who used it in his closing keynote at last year’s Windy City Rails to describe some of Rails’ upcoming features.

Yoda Conditions

Yoda: "if (5 == count)"

The act of using

if (constant == variable)

instead of

if (variable == constant)

It’s like saying “If blue is the sky”.

This article also appears in Canadian Developer Connection.