Recap: Edmonton Code Camp 2008

edmonton code camp On Saturday we held Edmonton Code Camp 2008 downtown at MacEwan. Code Camp is an all-day event by developers, for developers. The only rule for presentations is that you have to show some code! Otherwise, it’s just a great opportunity to meet other developers in the community, and learn from one another.

We had three tracks of content. For posterity, here’s a list of the presentations we had:

I think my favorite was probably Mark Bennett’s talk on Javascript testing. It was about more than just jQuery, and I learned some really useful things. Like Mark, I’ve been thinking a lot lately about the best way to organize, test, and evolve an application that is Javascript-heavy.

A large group of us went to Metro for lunch, which wasn’t the best idea because we were half an hour late getting started again in the afternoon! It turned out okay though.

Thanks to everyone who came out on Saturday, it was great to meet all of you! In particular, I was surprised at the number of Twitter users in attendance. For a smaller event, there was sure a lot of tweets posted!

Big thanks also to Steven Rockarts, who did most of the heavy lifting to get the event off the ground.

Let’s make next year’s code camp bigger and better!

Technologies I’ve Been Exploring Recently

code Tomorrow is Edmonton Code Camp 2008, so with that in mind I thought I’d mention a few of the developer-focused technologies I’ve been messing around with lately. Nothing too in-depth, but enough to get a feel for things.

MSMQ – Microsoft Message Queuing
This technology has been around since Windows NT 4 and Windows 95, but I’ve never really used it before. I decided to check it out after hearing John Bristowe sing its praises at ALT.NET Calgary. So far I’m really impressed. I still can’t believe I never looked into it before! I was able to get a decent sample going for both reading and writing from the queue (transactional too) in about 40 lines of code.

Ninject
This is a dependency injection framework for .NET applications. Dependency Injection (DI) is a technique that helps you create loosely-coupled, flexible code. I’ve looked at other DI frameworks, but was always turned off by the XML configuration files. In that regard, Ninject is a lot like SubSonic – everything is done in code! It’s pretty easy to get started with Ninject. Reading the User Guide on the wiki definitely helped me.

Json.NET
I’ve been doing a lot of work with the Twitter Search API, which returns data in either ATOM or JSON format. I figured JSON would be better, as it’s a little more lightweight. The .NET Framework doesn’t understand JSON natively, so I looked for a library to help. I can’t say enough good things about Json.NET – it’s fantastic!

jQuery
Okay this doesn’t really belong on this list, because I’ve been using it for a while now. I keep learning new things about it though, such as the data() method that Marc Grabanski wrote about recently. Very cool. I’ve also been enjoying Intellisense support!

There you go, a few of the things I’ve been exploring lately. I’m looking forward to Code Camp tomorrow! If you’re tagging photos, tweets, blog posts, and other things, use the tag #ecc08. Be sure to keep an eye on the wiki. See you there!

Edmonton Code Camp 2008

edmonton code camp We’re just over two weeks away from a really cool event for local software developers – Edmonton Code Camp! What is code camp? It’s a free event by developers, for developers. It’s an opportunity for local developers to get together to share with and learn from one another. Similar to DemoCamp, slide decks are frowned upon – show us the code! It doesn’t matter what your programming language of choice is, everyone is welcome!

Code Camp is an annual event here in Edmonton, organized primarily by Steven Rockarts from EDMUG. I’m really looking forward to it! Here are the details:

WHEN: Saturday, November 29th, 2008 from 9:00am until 4:30pm
WHERE: Building #5, MacEwan Downtown Campus (map)
Click here to register!

[geo_mashup_map height=”200″ width=”575″ zoom=”15″]

You should be able to see the embedded map above also – I’m testing the WP Geo plugin. Works quite well I think! I’m now testing the Geo Mashup plugin – seems to work better, and I can specify the zoom on a per-post basis!

If you’d like to present something at code camp, let us know! You can add your name to the wiki, leave a comment here, or email Steven Rockarts. Just want to attend? That’s cool too! Just register here, and then tell your friends!

We’ll have more updates as we get closer to the event, so keep an eye on the website and wiki. Hope to see you there!

Microsoft Tech Days Canada 2008

microsoft tech days If you’re a Canadian developer using Microsoft technologies, you’ve undoubtedly heard about the upcoming Tech Days training conferences taking place in 7 different cities across the country. Tech Days is Microsoft Canada’s first attempt to move beyond the marketing tour-style events they usually do and into something more substantial. This is immediately obvious from the price – these are not free events. Some cities are one-day events, and cost $249.99 (or $129.99 before October 15th). Others are two-day events, and cost $499.99 (or $249.99 before October 15th).

What do you get for your money? Your choice of sessions from five tracks, plus a fairly impressive learning kit worth about $1000. Quite honestly the learning kit alone is almost worth the price of admission – you get a full copy of Visual Studio 2008 Professional, a full copy of Expression Web 2, the complete TechEd 2008 DVD Set, and a 6-month subscription to TechNet Plus. Do the math…$249.99 isn’t bad at all.

What about the sessions? I’m going to be honest, my first impression is they aren’t much different than the marketing tour. Here are a few examples:

  • Building Killer Line-of-Business Applications with WPF
  • Goin’ Up to the Data in the Sky: ADO.NET Data Services for Web Developers
  • Mastering Your Samurai Skills of Silverlight
  • Beyond Relational SQL Server 2008: Managing Unstructured and Semi-Structured Data

Notice anything? WPF, ADO.NET Data Services, Silverlight, SQL Server 2008 – these are all the latest and greatest from Microsoft. I wonder how many developers are using these things right now. I know I’m not. How much will developers be able to take back to their jobs? Especially considering each session is just an hour and a half?

There are some sessions that aren’t so focused on the new stuff, and the IT Professional sessions seem even less marketing-like. There are also some sessions that are likely to have a much bigger impact even if they are focused on beta bits, such as the one on ASP.NET MVC. Still, I’m left wondering where the WCF sessions are, or even sessions on Workflow! What about something from Patterns & Practices? And if Microsoft really wanted to make it interesting, why not a session or two on some commonly used open source technologies like NHibernate or SubSonic or something?

David Crow wrote about this today too, and he says the website is a bit misleading. You should definitely read his post on the event. David points out that the primary innovation here is that 90% of the content is being delivered by non-Microsoft employees:

Once you scroll past the usual suspects, you’ll find a group of Microsoft friendly people from other companies. Consultancies. Big corporations. Smaller companies. Client side. It includes MVPs like Colin Bowern, Mark Arteaga, Laurent Duveau, and Barry Gervin. And others like Robert Burke and Ken Cox. Sure lots of these speakers are MVPs, it means that they are “exceptional technical community leaders”. They are experts. They write books. They blog. They consult. They build things in the real world.

He makes a good point – but simply having non-Microsoft speakers doesn’t guarantee quality, of course. It remains to be seen how effective this format is.

I’d be remiss if I didn’t comment on the cities in which Tech Days is happening. Developers in Toronto, Montreal, Ottawa, Winnipeg, Calgary, Halifax, and Vancouver don’t have to go anywhere. Everyone else needs to get to one of those cities to attend. I don’t know how Microsoft Canada came up with that list, but I’m once again disappointed to find that Edmonton is missing. We’ve got an amazing developer community here, one of the most successful user groups in the country, and yet we’re passed over for Calgary. That sucks. I know it’s expensive to get everywhere, but why not force the Calgarians to come up to Edmonton for once?

I encourage you to check out the Tech Days website for yourself. Read the session abstracts and figure out which ones would be useful. If you want to attend, you’ve got until October 15th to get the early bird price. Finally, check out John’s funny post on the Canadian Developer blog. You’ll laugh!

.NET Developers: Questionmark is hiring!

questionmark logo The company I work for, Questionmark, is looking to hire three developers to join our Canadian team here in Edmonton. The positions are Software Developer, Lead Software Developer, and Senior Software Developer. Here’s a bit of background on the company:

Questionmark is a company with recognised global presence in e-learning and assessment automation with software covering all aspects of this field, from authoring to delivery and reporting. Our software is used by over 3 million people in 15 different countries throughout the world. Questionmark is a fast-growing company, with a dedicated, passionate, and global workforce. We have offices in London, UK, Norwalk, CT and Tubize, Belgium. We care about the satisfaction of our employees and we reward them for meeting or exceeding expectations. The company promotes a relaxed, fun and highly productive approach to work.

I enjoy working for Questionmark! We’re an agile shop using Scrum and other things you’d expect such as unit testing and continuous integration. Another plus is that we’re not stuck in the past – we’re using .NET 3.5, ASP.NET AJAX, and lots of other new and interesting technologies. You can find more information in the job descriptions:

Job Description for Software Developer
Job Description for Lead Software Developer
Job Description for Senior Software Developer

If you’re interested in any of the positions or would like more information, either send me an email or email Kaitlyn Lardin.

ALT.NET Canada in Calgary

I came down to Calgary early this morning for the ALT.NET Canada conference being held at the University of Calgary. For those of you new to the term, ALT.NET refers to “a self-organizing, ad-hoc community of developers bound by a desire to improve ourselves, challenge assumptions, and help each other pursue excellence in the practice of software development.” When I first started hearing about ALT.NET in the developer blogosphere last year, I got the impression that there was an “us vs them” kind of mentality. Either you believed in ALT.NET or you didn’t. A number of other developers I’ve talked to remarked that ALT.NET seemed somewhat cult-like. Given that, I wasn’t sure what to expect for this event. I’m happy to report that it has been great so far!

ALT.NET Canada ALT.NET Canada Schedule

The conference is an “Open Spaces” style of event, which as far as I can tell is basically an unconference. There is no set agenda, the attendees are the discussion leaders, and there’s lots of open spaces for people to use for breakouts. About 75 people came out today, most from Alberta but some from Vancouver, Winnipeg, and other parts of Canada.

I think the sessions are a bit long at an hour and a half, but that doesn’t stop people from going off and having their own discussions so it’s not all bad. The first session I went to was on the web UI of the future, and then I joined the discussion on telecommuting. After lunch I went to a session on occasionally connected apps, and finished off with a session on volunteering development time. All very interesting and thought provoking.

A large number of people went out to Schank’s tonight for beer and food, so that was good. There are two sessions tomorrow morning to finish off the conference. The sessions are being documented here, and there’s even some video up. You can see my photos from the event here. Also check out #altnetcalgary on Twitter for more discussion.

Offline access is more important than ever

offline folder Even though we still don’t have “wireless everywhere” (as I like to say), access to the Internet is indeed becoming more pervasive. Until the world is blanketed in wireless however, there will always be a place for offline applications. Sometimes you need to get some work done, with or without an Internet connection. Unreliable access or no access at all might have been the driving force behind offline applications in the past, but now there’s a new reason: cloud computing.

The term “cloud computing” is a bit like Web 2.0 in that it is used as a blanket term, but essentially it means accessing applications and services via the Internet (“in the cloud”) without worrying about the infrastructure that supports them. One of the best examples is GMail, Google’s email service that lets you manage your messages in any browser. It’s also a good example of why offline, synchronizing applications are so important – GMail went down completely yesterday:

Gmail is having a systemwide outage affecting multiple countries, and a whole bunch of its 100 million users are screaming about it on Twitter. Around 20 million people visit Gmail each day, according to Comscore, and they’re all seeing the same message. The first outages were reported at about 2 pm PST, 44 minutes ago.

One of the things that makes cloud computing different than services in the past is that more and more businesses rely on things like GMail to operate. When it goes down, so does a significant part of their business.

There’s a transition underway. Businesses are realizing that it doesn’t make sense to operate their own data centers and services when Google, Microsoft, and others can do it far more efficiently. But don’t let those names fool you, as GigaOm points out:

If an outage of this magnitude can strike Google, the company with a fearsome infrastructure, I wonder who — if any — can plan for the worst.

It’s extremely difficult to maintain 24×7 operations, even for a company like Google. The only reasonable thing to do is assume that service will go down at some point, and to plan accordingly.

For that reason, I think offline access and synchronization are two things that developers will need to focus on in the future. Like the other big challenge facing developers, multi-core computing, improved technologies and toolsets will be needed. Vendors are working on it, Google with Gears and Microsoft with the Sync Framework, but there’s still a lot of work to be done.

Cloud computing is great, and I’m excited about the opportunities that it provides. We have to realize that it’s only part of the equation, however. Offline access and synchronization are more important than ever.

DreamSpark: Free developer tools for students from Microsoft

software DreamSpark is an awesome new program for students that Microsoft announced today. I wish they offered something like this while I was still a student. Heck, this might even be enough to sway some folks into going back to school for a semester or two! Here’s the description from Channel 8:

For once, something that sounds too good to be true really is this good and really is true. Starting today (or soon in some areas), students worldwide will be able to download our professional development and design tools for free! It’s called DreamSpark and it is upon us.

Nathan Weinberg sums it up nicely:

We’re talking over $2,000 in free software, just for being a college student. We’re talking a huge gift to students, letting classes teach this stuff without software costs, lettings students develop software without these costs, and letting any student pick up some stuff to play around with without a monetary commitment.

It’s important to stress that these are the professional versions of the software. You get Visual Studio 2008 Professional Edition and Windows Server 2003 Standard Edition, for instance. You could quite conceivably start a company while in school using Microsoft technologies and not pay a cent.

Pretty darn cool!

The program is currently available in eleven countries: Belgium, China, Finland, France, Germany, Spain, Sweden, Switzerland, the United Kingdom, Canada and the United States. I suspect the only reason China is on that list is because so many people there get pirated versions anyway.

Microsoft has always been really proactive about courting students. Other programs include Academic Alliance, Microsoft Student Partners, and the Imagine Cup.

Read: Channel 8 (includes a video introduction with Bill Gates)

realDEVELOPMENT_07 Edmonton

Post ImageMSDN is touring the country again, this time to talk about strategies for today’s web application development. They’ll be in Edmonton at SilverCity in WestEd (actually I guess it’s Scotiabank Theatre now) on October 25th:

If you are a Canadian Web developer, this free event is for you. We will look at common challenges such as security, accessibility & usability, AJAX, Javascript debugging, using patterns to improve your development process and working with external services. In a nutshell, this is a two-part tips, tricks and tools presentation.

It will be focused primarily on Microsoft technologies (like ASP.NET), however if you develop on other platforms, you can get a lot of value from the event in terms of techniques and free tools for debugging your client side code to load testing your websites. This event is sponsored by MSDN Canada.

I like that they mention right on the details page that tools like Fiddler and the Developer Toolbar will be demonstrated. The page also mentions HTML and Javascript by name! It’s not your typical MS-marketing-speak event, that’s for sure.

I was on the community conference call where Microsoft solicited feedback on their web-related developer events, and the key point was to go beyond Visual Studio and ASP.NET proper. It definitely looks like they listened!

Read: MSDN

.NET Framework Shared Source

Post Image Microsoft announced today that they will be making the source code for the .NET Framework 3.5 available when the framework ships along with Visual Studio 2008 later this year. From Scott Guthrie:

Having source code access and debugger integration of the .NET Framework libraries is going to be really valuable for .NET developers.  Being able to step through and review the source should provide much better insight into how the .NET Framework libraries are implemented, and in turn enable developers to build better applications and make even better use of them.

This is pretty cool news. I think it’s great for .NET itself too, as I suspect Microsoft will receive a ton of really useful feedback after developers have had a chance to get their hands dirty. There’s literally dozens of ways that this will positively impact the .NET community.

Of course, not everyone is impressed. Already the news has been called a “poison pill” by some, and simply a bad idea by others. Well, you can’t please everyone. And when it comes to Microsoft, there never seems to be a shortage of conspiracy theorists.

For more thoughts, be sure to check out TechMeme and also this post from Miguel de Icaza of the Mono project.

Read: ScottGu’s Blog