D'Arcy from Winnipeg
Musings of a Canadian Developer - Silverlight, ASP.NET, BizTalk, Life, and Technology

November Winnipeg SharePoint User Group Event


The next Winnipeg SharePoint UG event will be on Tuesday, November 24th at 5:30 PM.

Same location as always: 17th floor conference room at the Richardson Building (One Lombard Place). Pizza will be provided.

Presentation abstract is below, and to register please visit our registration site here.

Architecting SharePoint Solutions
Presenter: Juan Larios

During the last year or so, Juan Larios has been working for a local client and has had a chance to architect solutions to common problems that many organizations face with SharePoint. Juan will showcase the solution that was implemented and answer questions about the environments that was being worked on, the decisions that were made, and the overall solution.

Topics that will be covered:

Managing Content Databases
SharePoint Web Applications Security.
Site Metadata
Hosting WCF in IIS
Web Services and Web Application Security
Development Security, and Proper Standards

This User Group presentation will involve high level architecture that BA's and System administrators will be concerned about but it is also quite technical. It will have a little of everything, so regardless of your position and level of involvement with the product, come out and take part in the event.

Speaker Bio

Juan Larios is a SharePoint MVP and has been working with SharePoint for almost 3 years. Juan is certified as a Microsoft SharePoint Configurator, but has had a chance to be a part of many development projects and takes on a role of Solution architect. Juan has had a chance to speak at several code camps, user groups and other speaking events.

Each Team Needs A Star


I was thinking of getting a new football jersey…here are some options. What do you think?

image image image image

Now before you all start making funny comments about how none of these apply to the Falcons (jerks ;) ), how about we focus on the words themselves. Why don’t we see jerseys like these? Don’t we want to show off our teams abilities and talents?

Yes and no. When I go to a professional football game, I assume that the players know how to tackle, catch a ball, throw a block, run the ball, etc. I assume the coaches are going to be coaching similar fundamentals as well as improving their players to attain peak performance. Some do it better than others.

But nobody gets a jersey with “Best Tackling Team” on the back, they get it with a player name. There’s a level of recognition with a specific player on that team and that player’s specific abilities.  How many Tampa Bay Buccaneer jerseys do you see? Not many...mainly because there’s no key player. But Favre or Vick (before the dog fighting) was common place.

So what the heck does this have to do with software development?

I got into a conversation with some friends about what’s more important to focus on and communicate from a technology point of view within an organization (specifically a software development/professional services one). One argument was that, instead of focussing on specific technologies, companies should communicate their ability to collect requirements, produce accurate estimations, manage change and client expectations, deliver on schedule, etc.

Another argument (mine) was that those things aren’t so important in communicating because, referring back to my football team analogy, most customers *expect* that professional IT service providers know how to collect requirements, produce accurate estimations, manage change and client expectations, etc. These are the common things that, while important, aren’t key differentiators in client’s eyes. The star players, like on football teams, are the real differentiators.

By “star player”, I don’t mean individual coder or employee. In this context, I’m talking about specific experience with a technology. Let’s say you need a highly interactive ASP.NET website and you talk to 5 different web development shops. All will be able to deliver a web site for you using Microsoft technologies. 3 of them can show their past experience and prowess with ASP.NET and Microsoft AJAX as well as using the jQuery framework. Out of those three, one also has proven skills in Silverlight and augmenting applications with rich user interfaces.

So which one do you choose? Obviously there’s going to be differentiators with cost, requirements of the website compared to required technical knowledge, etc. But I would argue that the one company that boasts the most technical prowess has put themselves in the best position.

That scenario seems to suggest that having specific technology knowledge areas just gives you better odds. But there’s another scenario: branding. If your company is able to hang a technology off of its hat you will have a *distinct* advantage over other competitors. Being known as the “BizTalk Guys” or the “SharePoint Guys” in a given market provides huge benefits that competitors will have difficulty overcoming.

The discussion ended with one person suggesting both were important, and I agree: You need to ensure people have confidence in the basic skills expected of the market. But at the same time, you can’t just rest *on* those skills to win you business. You have to stand out, you have to have some stars (technologies) on your team (offering portfolio) if you really want to compete.

And now, I open this up to thoughts and comments.

D

Telus Launches iPhone Novemver 5th…Sorta


I’ve become increasingly frustrated with my HTC Touch Pro. I love it for texting, tweeting, emailing, browsing…basically everything that’s not related to phone functionality. And that’s the kicker: it SUCKS as a phone, which is pretty bad since there’s not a lot that needs to happen for it to, y’know, be a good phone.

So I was thrilled to find out that Telus is launching the iPhone on its new network it built with Bell! The day it drops: November 5th, a scant week!

So last night a buddy of mine mentions an email he got regarding the iPhone launch in Manitoba and Saskatchewan. I checked my email and came across the same frustrating, infuriating message:

Thanks for signing up for more information about the iPhone from TELUS. Unfortunately, this device will not be available in Manitoba and Saskatchewan at launch. 

We appreciate your business and we want to ensure that you continue to enjoy a great experience on the TELUS network.  We have a vast selection of smartphones that include convenient and easy to use features such as a camera, multimedia functions, web browser, touch screen and more.  In a few weeks, please check your email as we'll send you an update for another exciting smartphone that is set to launch this November.

We regret any inconvenience this may have caused and thank you for your continued business.

The unfortunate part of all this is that if they would have launched in November they would have had a sure sell with me. Unfortunately, now that they’ve dismissed the middle of Canada, I’m going to be thinking twice when their offering finally becomes available…assuming I haven’t just got an iPhone from Rogers by then.

C’mon Telus, at least give us a timetable for when you’re going to bring your new network in.

D

Silverlight Winnipeg – October Event Announced!


I’m very excited to announce the first Silverlight Winnipeg meetup!

When: Tuesday October 27th, 5:30 PM to Whenever

Where: Kings Head Pub (click here for a map)

What: …

The “What” may seem a bit different from other user group events that you’ve been to. For one, we’re not just aiming for Silverlight Winnipeg to be another user group. We want this to be a community of Silverlight developers and designers, people that are already immersed in the technology and want to connect with others who are like minded.

So with that in mind, our “presentation” is really up to the attendees. We’ll have a projector available and anyone that wants to share something is free to hook up and show it off. To give us a bit of a start, Dave Wesst will be showing what he learned while using Sketch Flow in Blend 3, and I’ll be talking on the new Silverlight features in VS.NET 2010 Beta 2.

But otherwise the night is meant for us to sit, have a beer and some wings (food will be provided, but you're responsible for your own beer tab ;) ), and talk about all things Silverlight with each other.

If this sounds interesting, please email me (darcy.lussier at gmail.com) and let me know you’re coming, or visit our website and click the registration link.

Winnipeg SQL Server UG October Event

 

October Event:

Continuing T-SQL Development: Bullet-Dodging and Spoon-Bending Part 2
Michael DeFehr, Protegra

Michael DeFehr continues his series on T-SQL development for the second Winnipeg SQL Server UG event, covering topics such as:

Row Numbering and the OVER clause
Table-valued Parameters
Query Optimization and Tuning

When: Wednesday, October 28th, 5:30 PM - 8:00 PM (Might be finished earlier, but won't go any later)
Where: 17th Floor Conference Room, Richardson Building, One Lombard Place
(If you arrive after 6pm you must speak with the front desk guard to obtain access)

Pizza and Drinks Provided!

Visit our website to register!

SDEC09 Photos


Yesterday Protegra hosted the first annual SDEC conference in Winnipeg and it was a huge success! Early scans of the feedback are very positive, and a huge thanks to the attendees, speakers, our sponsors (Microsoft, O’Reilly, Destination Winnipeg, and Backbone Magazine) and the vendor staff (Seriously, if anyone in Winnipeg needs A/V services, talk to Inland).

I’m meeting with my cohort Ryan this morning to debrief, so I’ll have a post with thoughts on running a conference coming up. In the meantime here are some pics from the event. You can see my full Picasa album here.

IMG_1756

SDEC09 ready to roll!

IMG_1761


Breakfast.

IMG_1771

Steve rockin’ his Intro to Agile talk.

IMG_1780

Celebrating a successful conference!

‘Twas the Night Before SDEC09…


Tomorrow the technology conference that myself and my colleague Ryan Caligiuri discussed only two months ago, SDEC09, will become a reality!

(If you don’t know Ryan, definitely check out his writing on LIV Interactive)

We swung by the Winnipeg Convention Centre to check out the rooms and do some setup:

IMG_1747

The sign outside Meeting Rooms 1 & 2!

image 

A view from the main stage.

IMG_1731

View from the pasta-bar location.

IMG_1735

Entryway for the Development Management and Methodologies track.

IMG_1732

Development Management and Methodologies room.

IMG_1750

Nametags ready to be handed out.

I’m very pumped about the event! The speakers and presentations are awesome and attendees should get great value out of the experience.

D

Adventures in Windows 7 and Virtual PC


My work recently started rolling out Windows 7 as our production OS and I was lucky enough to get on as one of the early adopters! I got my laptop back at end of day yesterday freshly paved with Win 7.

Today I started my day by booting up and trying to fire up a VPC environment that I use for my dev work. To my dismay I was met with this message:

CouldNotRegister

The problem is that I had just saved my vm’s state instead of doing a full shutdown. Apparently moving a hibernated vm to Win 7 is not a good idea. Luckily, I found a work around on the Giant Bass Stacks blog (dunno who the guy/gal is that runs it). Basically you just go to your Virtual Machines folder in Win 7 and create a new machine that uses your existing virtual hard drive. You won’t start the machine from its saved state but it will start up and be usable. As long as you saved your work before you saved state, you’ll be fine.

Remember that since you’re creating a new virtual machine to get this scenario to work you’ll need to set the ram, networking, and other settings required by your vm.

However, before I got to that point I encountered a different issue getting this to work. When I tried to create the new virtual machine in the Virtual Machines directory I received this message:

UnableToStart

TXT stands for Trusted Execution Technology and I had to reboot into the BIOS and disable it. TXT is what’s used in the dialogue but may not be how your BIOS labels it. For my Dell E6400 It was under the virtualization node and then just Trusted Execution…no TXT listed anywhere.

So now everything is running smoothly and hopefully these two little hiccups are the end of my issues. So far so good!

D

A Call For A Canadian Boycott on Snickers and All Mars Products!

I was watching the NFL pre-game shows when an amusing Snickers commercial came on. Adam Vinatieri from the Indianapolis Colts was practicing his punting. He kicks the ball, and a few moments later a satellite crashes from the sky.

But then I noticed something on the satellite…

ScrewYouSnickers

So here’s what we can determine from this commercial:

Canadian satellites are made of Heineken beer kegs.
Seriously, that is the saddest looking “satellite” ever.

This commercial was actually a final FU from the Colts to Mike Vanderjagt
The Colts seized the opportunity to give a final jab at former kicker Vanderjagt.

And finally…

Mars (who makes Snickers) doesn’t think much of Canada.
Even though they’re established up here and have no problem selling their products to us.

Now while this post is partially tongue-in-cheek, there is a serious question that needs to be asked:

What were the marketing people thinking?!

They could have easily had a non-branded satellite fall from the sky, no indication of country-of-origin at all. But they went out of their way to put Canada on the satellite, complete with a maple leaf!

So until we get an explanation and apology from Mars Inc., I call for a Canadian boycott on all Mars products! Uncle Ben’s, Cesar and Pedigree pet foods, Skittles, Mars, and of course Snickers in addition to their other brands.

Hey, you want to make our country the butt of a joke, then you obviously don’t really need our financial support.

D

Coming To A Western Canada City Near You!

I’ve got a few speaking gigs coming up that I’m pretty pumped about, also making for a busy Fall/Winter.

 

image

Edmonton Code Camp – September 18

Finally I make my way to Edmonton! I’ll be doing two sessions on Silverlight development in the afternoon. These won’t be your typical video-in-a-button-spinning talks; instead I’ll be talking about how Silverlight as a technology works: what it can do, what it can’t do, its strengths and its deficiencies. We’ll also look at patterns and architecture for creating Silverlight apps.

For more info on the code camp check out the website here.

SDEC_logo

SDEC09 – October 14th

The company I work for, Protegra, is putting together a one day conference here in Winnipeg and I’ll be speaking on Silverlight architecture, specifically a deeper dive into the Composite Application Guidance (PRISM). There’s tonnes of great sessions to check out, so if you’re in Winnipeg and want to take advantage of a low cost/high value training opportunity, come on out!

For more info on SDEC check out the website here.

image
image

Microsoft TechDays Calgary – November 17 – 18

I’m very excited to be invited to speak at the Calgary TechDays event this November where I’ll be speaking on:

What’s New in Silverlight 3

Building Modular Applications Using Silverlight and WPF

Windows Application Readiness for Developers

TechDays was a great success last year and this year should be no different. Make sure to get your registrations in early to take advantage of the early bird pricing!

For more info on TechDays check out the website here.

image
Microsoft TechDays Winnipeg – December 15 – 16

And last but not least, I’ll be doing the talks mentioned above at the Winnipeg TechDays event as well in December! In what can only be described as a bountiful harvest of machismo, amazing hair, and cool technology, Miguel Carrasco and I will be tag teaming the “What’s New In Silverlight 3” talk…that ALONE is worth the price of admission!

For more info on TechDays check out the website here.

SDEC09 – Updated Sessions and Student Pricing

SDEC_logo

We’re less than a month away from the Software Development and Evolution conference, and I wanted to send an update on a few things.

Student Pricing

If you’re a college and university student, we want to make it affordable for you to come out so we’re offering a $75 student rate starting today! Be advised that if you register under the student rate, you must present valid college or university issued identification when you arrive at the event.

Visit the event website for more info, or go straight to our registration site to sign up!

Update on Sessions

We’ve got 12 of the 15 sessions posted on our site, with recent additions of:

Extending jQuery Through Plugins

Aspect Oriented Programming Using Spring

Comparing PRINCE2 and Agile Methodologies with PMBOK

Check out our event website for the full list of currently posted sessions!

D

Silverlight 3 Enabling Out of Browser Mode – You’re Doing It Wrong

If you do a search for enabling out of browser mode, you’ll come across blog entries suggesting to tell you to add something like this in your AppManifest.xml file:

image

You may be getting an error when you try to run this saying that…

Unknown Element: Deployment.ApplicationIdentity

Because Silverlight evolves so quickly, sometimes info online can become outdated. It turns out that in the release version of Silverlight 3 the above solution is obsolete. To enable OOB mode, here’s what you do:

Go to your Silverlight project properties and check the “Enable running application out of browser” checkbox.

image

If you want, click the “Out-of-Browser Settings” button and enter in the details for your app.

image

Build your app and you’ll notice a new file has been created to contain the OOB settings.

image

And that’s all there is! No more messy xml crap to have to alter by hand.

D

What You Need To Know About IsolatedStorageSettings

I’m putting together some demos for an upcoming Silverlight talk I’m giving, and one of the topics is on Isolated Storage. For those not aware, Isolated Storage is the small sandboxed area of the users computer that a Silverlight application can write to and read from.

You can access this space through reader and writer objects, but that might be overkill if you just need to set some values. In that case, the IsolatedStorageSettings class is your friend.

This class lets you treat storing values for your app like session or viewstate in ASP.NET. The syntax is dead simple:

IsolatedStorageSettings.ApplicationSettings["SettingName"] = someValue;

(Note that you can access the SiteSettings in this manner as well)

However, there’s some nuances that you should be aware of when using this object.

When you use the line of code above, what you’re doing is setting the value part of the key/value pair in the in-memory IsolatedStorageSettings object. This means that it hasn’t actually gotten committed to the isolated storage area. In fact, from the class’s MSDN article:

Data written to the IsolatedStorageSettings object is saved when the application that uses the class is closed. This can occur when the user closes the Web browser, refreshes a page, or browses away from the page. If you want your application to write to isolated storage immediately, you can call the Save method in application code.

That last bit is talking about a line of code you can use to force the saving of the values in the object to the Isolated Storage area of the computer drive:

IsolatedStorageSettings.ApplicationSettings.Save();

Now the reason knowing all this is important is because if you were to, say, try to whip up demos for an upcoming talk, you might find behavior you weren’t expecting.

For instance, I have a small app that shows off setting values as per the IsolatedStorageSettings code shown above. However, after changing the value in the first browser, I couldn’t get the changes to show up in the second. This is because changes are made to each application’s in-memory ISS ApplicationSettings object. Even if you were to force save the values to ISS, the other app in the other browser never goes back to refresh the values…any reference to the ISS.ApplicationSettings[ ] will grab values from the in-memory object.

In real life, you may not have an issue with this…most of the time, users won’t have your application open in two different browsers doing work in both at the same time. But be aware that there are some gotchas in working with the ISS object and its methods.

D

Silverlight Resources

I’ve talked to people recently who asked me for Silverlight resources. I thought I’d post what I relayed to them so its available to anyone else looking.

Website

While it might go without saying, http://silverlight.net is a great resource for tutorials, samples, and forums.

Books

I did some book reviews that you can read at the links below. I recommend these three books to everyone as a core Silverlight library:

Pro Silverlight 2 in C# 2008 and Data-Driven Services in Silverlight 2 Reviews

Foundation Silverlight 2 Animation Review

Blogs

Here’s a collection of must-follow blogs relating to Silverlight (in no particular order):

Dave Campbell

Jesse Liberty

Justin Angel

Laurent Bugnion

Shawn Wildermuth

Tim Heuer

D

Winnipeg SharePoint User Group September Event

The Winnipeg SharePoint UG is back for another year of events and presentations! This Month:

Enhancing Connected SharePoint Lists in Outlook 2007
Eric Legault, Microsoft Outlook MVP

It's really easy to link an Events, Contacts or Tasks list in WSS to Outlook 2007.  But what if you had custom list fields or list views?  These elements are not supported!  But by using Visual Studio Tools for Office to build an Outlook COM Add-In consuming SharePoint Web Services, you can easily design a custom Form Region to display these custom fields and provide options for importing list views into the linked Outlook folder.

When: September 24th, 5:30 PM

Where: Richardson Building (One Lombard Place), 17th Floor Conference Room

Click here for registration.

As always, pizza and drinks will be provided courtesy of our sponsors!

Hope to see you out!

D