October, 2011

  • Canadian Solution Developers' Blog

    TechDays Labs in Toronto from the HockeyGeekGirl perspective

    • 0 Comments

    mismatchsneakers

    Wow! it’s over already really? But I was just getting warmed up! Tuesday and Wednesday, the Toronto Congress Center was overrun with technology enthusiasts ready to learn all new tools, features, and tips and tricks from the experts at TechDays Toronto.

    If you were looking for me and didn’t find me, that’s because I spent two days locked up in the labs. I am so excited about this new offering at TechDays. For the first time we had sessions called Instructor Led Labs (ILL) where attendees got to not only learn about a product but try it out as well. We had a lab for every track: phone, cloud, architecture, development tools, management, data platform. Attendees could either launch the labs from their own laptops or use one of the laptops we set up for their use. More often than not, every laptop we provided was in use as developers tried out Test Manager for the first time walking through the instructions to define Test plans, or system administrators got their hands on System Center Orchestrator to see what it could do.

    There is an incredible infrastructure behind the scenes that supports these labs. The entire infrastructure is designed to make it as easy as possible for you to try out the products. As an attendee you go to a launch page and choose a lab to launch. Two windows open on your desktop, one provides you a manual with steps you can follow, the other gives you access to one or more virtual machines where you can launch the product and try it out. At TechDays we went the extra mile and the VMs are actually launched ahead of time so you don’t even have to wait for them to load, you just connect and start playing.

    Now bear with me for a moment as this is relevant. I laughed this morning when I was packing up my gear and I looked at my running shoes. Look closely at the picture above, notice anything? Those aren’t the same sneakers! The right shoe is my Brooks Sneaker, the left is my Saucony sneaker! Apparently when I left for the airport I grabbed one sneaker from each pair! I had worn them for two days and hadn’t even noticed! In a strange way, that was a great summary of the labs. Sure I can walk, job and run just fine in a pair of mismatched sneakers, but it’s not as good as it could be, something is just a little bit off.  We had lots of attendees having great experiences in the labs, but it seemed like it could be even better somehow. We learned a couple of really important lessons. Number one! Make sure the abstracts make it clear this session is a lab and not just another breakout. We had attendees arriving in the room looking at me baffled when I asked if they wanted to use one of  our machines or their own. Of course a few attendees fell in love with this lab format and came back over and over again to the ILL sessions. We also discovered many attendees didn’t know they could do the labs on their own laptops, and didn’t bring their laptops to the show, so we’ll trying to do a better job communicating that in the future as well. When you come to TechDays Vancouver or Montreal, bring your laptop! It’s also worth noting you need and Windows Vista with the most recent Service Packs, or Windows 7  with Internet Explorer 7 or higher to launch the labs.

    There’s still time to check this all out for yourself at TechDays Vancouver (Nov 15,16) and TechDays Montreal (Nov 29,30) register today and come by the labs to say hi! But if you are unable to attend TechDays you don’t have to miss out. We are going to have all those Instructor Led Labs and more available for you to launch later this fall! Keep an eye on the TechDays website for details.

    In trying to keep with my traditional blog posts: Today’s Top 5

    Top 5 things I have screwed up when packing for a trip

    1. Forgot to pack the charger for my <portable electronic device of choice> (hate to think how often I bought chargers at airports or had to borrow from kindly co-workers and friends, btw thanks for loaning me your phone cable so I could charge my phone at TechDays Kim!)
    2. Used a really cheap suitcase and when it got wet, the purple dye ran onto my clothes (kudos to Air Canada who gave me a cheque to cover the cost of replacing all the clothes that were damaged!)
    3. Forgetting to put shampoo in a separate bag and having it open and spill ALL over my clothes
    4. One Saucony One Brooks Running shoe
    5. One black, one blue dress shoe, both for the left foot (had to wear a dress suit and sneakers to teach all week!)
  • Canadian Solution Developers' Blog

    Everything You Need for TechDays Toronto

    • 0 Comments

    imageimage

     

    There’s always lots to do when it comes to getting ready for a conference (especially if you’re travelling), so I thought I would take this opportunity to review your “everything I need for TechDays Toronto” prep list with you. I won’t be able to help you with your personal prep to-dos, but I can suggest the following:

    Review the Session Abstracts and build your schedule

    image

    Before the fun begins, you’ll want to make sure that you know what each session is about and then choose a session for each timeslot of the day. To do that, head over to the TechDays Schedule Builder. It will walk you through all of the sessions in the technology areas that you’re interested in and will help you build your schedule. You can then print or email your schedule to yourself (and perhaps your colleagues if they are joining you).

    Go >>

    Download the TechDays Toronto agenda (and floor plan).

    image

    With seven tracks and instructor-led labs, there’s going to be a lot going on at the same time. To make sure that you don’t miss out on the sessions that you want to attend or find yourself in a room listening to a speaker talk about some infrastructure stuff (because you’re in the wrong room), make sure to download the TechDays Toronto agenda to your phone (or print it if necessary). That way you’ll know what session is happening in which room at what time and where the room is located.

    Download >>

    Prepare your notebook computer for the hands-on labs and bring it with you.

    image

    Have a read through Damir Bersinic’s post from 3 days ago – Reason #42 to Attend TechDays 2011: Hands-on Labs. The hands-on labs are something that you definitely don’t want to miss. I know that when I go to conferences, I like attending sessions to hear experts tell me about, or through demos, show me everything I need to know about a technical topic. However, I find myself wanting to try it out on my own. I’m sure you feel the same way, so have a look at the instructor-led lab list in Damir’s post, register for the one/ones that is/are of interest, and make sure to prepare your notebook computer, and of course, bring it with you.

    More >>

    If you’re planning to attend the Introduction to Windows Azure lab, please note that the exercises in the lab will require to you have a Windows Azure account. If you don’t already have a Windows Azure account, take a moment and sign up for the 90-day FREE trial before the lab so that you will be able to continue your learning beyond the end of the lab. A training account will be provided to you for use during the lab if you don’t want to create an account for your own.

    If you’re not attending TechDays Toronto in person

    We’re sorry that we won’t get to see you! However, that doesn’t mean that you won’t be able to be part of the TechDays Toronto experience. Make sure you don’t miss the keynote by Jeff Woolsey, Principal Program Manager Lead on the Hyper-V team at Microsoft that will be streamed LIVE starting at 8:30 AM ET on Tuesday, October 25. Jeff will be talking about Microsoft’s virtualization and Private Cloud strategy for organizations of all sizes. This is a not-to-be missed opportunity to hear first-hand how your organization can leverage Microsoft’s virtualization technologies to help streamline your IT infrastructure today and in the future.

    Watch LIVE >>
    Add to your calendar >>

    Get Social. Join the Conversation.

    Whether you’re going to be at TechDays Toronto in person or joining online, don’t forget that part of the experience involves you – you sharing your thoughts. Pick your network and tweet, post, or discuss away! We’ll be watching out for your tweets, posts, and discussions, as well as the speakers and community experts, so get social and join the conversations.

    image Tweet using the #techdays_ca hashtag and your session code. Here’s an example: #techdays_ca #CLD301 Thinking of moving to the #cloud this way totally makes sense. #Azure
       
    image Post your thoughts in discussions started for each session in the TechDays Canada LinkedIn group.
       
    image Make sure to like the TechDays Canada Facebook page to get updates throughout the day. Post on the TechDays Canada wall or like others’ posts.

    Register for More Learning Opportunities

    In addition to the TechDays sessions happening during the day, there are also additional activities happening in the evenings that may be of interest.

    CloudCamp Toronto
    Monday, October 24
    5:30 PM – 9:00 PM ET

    CloudCamp is an unconference where attendees can exchange ideas, knowledge and information in a creative and supporting environment, advancing the current state of cloud computing and related technologies. Register >>

       
    DevCamp Toronto
    Tuesday, October 25
    6:30 PM – 10:00 PM ET

    DevCamp is a mix of all the things you love from different events: the less formal environment that you love from BarCamp events; the great content and speakers from conferences; the quick and right-to-the-point innovative and exciting talks seen at TED or TEDx; and the power to meet other technology enthusiasts and network. Register >>

    So now that you have the list of everything that you need for TechDays Toronto, the only thing that remains is to show up (or if attending virtually, log on) and have a great time!

    The team and I are looking forward to seeing you. Make sure to stop by the Microsoft Showcase at the Partner Pavilion and say hello!

  • Canadian Solution Developers' Blog

    F12 The best kept web debugging secret

    • 0 Comments

    Secret2Shhh don’t tell anyone about this blog, then you will look brilliant in front of your co-workers when you show them these cool tools! Have you found the F12 key yet in Internet Explorer? I will admit that until 6 months ago I hadn’t. If you are running Internet Explorer 8 or 9 you can try it right now. Just hit the F12 key and a window appears at the bottom of your screen. This window will help you debug your web pages! No external tools or plug-ins required! The developer tools were available in IE8, but there were some new features added in IE9, so if you haven’t done so yet, download IE9 so you get the every last bit (and byte!)

    The developer tools give you six different tabs to help you debug and walk through the code on your web site.

    Tab

    Description

    HTML Your tab for checking out the HTML on the web page with the options you would expect, for clearing the cache and refreshing the page.
    CSS This tab allows you to examine each of the CSS files used to style your page. You can even deselect different CSS style settings to see how it affects the appearance of the page.
    Console This tab lets you receive error messages from internet explorer and send your own messages back from your code without changing the execution flow of your code. Console reminds me of the output window and the debug object in the Visual Studio. I wrote a blog talking about how to use the Console object to display messages.
    Script This tab allows you to quickly debug JScript complete with breakpoints and variable watches.
    Profiler This tab has a script profiler that allows you to analyze the performance of JavaScript code and can be used to check the performance of your scripts.
    Network This tab is for determining the traffic being sent across the network. It shows you all the traffic related to a page. You can see the time it takes for each item on a webpage to load and render.

     

    Trying to cover every tab in detail is too much for one blog, but let me help you get started by introducing today’s My 5:

    My 5 favourite features in the Internet Explorer F12 Developer Tools

    (that’s what they call ‘em so now you know what keywords to use when you bing it, yes I said bing, didn’t you see the article?)

    1. Find | Select element by click (CTRL+B)

    How many times have you had to go digging through your HTML trying to find that one line of text with the missing accent, or a particular image. When you use Select element by click, you can just click on the element in the web browser and the matching HTML will be shown in the HTML pane below! (and there was much rejoicing)

    2. Tools | Change User Agent String

    You have a user complaining the site doesn’t work, but it works just fine for you, you ask them what browser they are using, it turns out its a different browser from the one you have installed on your machine. Change the User Agent string to one of the preselected browsers, or even specify a custom setting and voila! Now you can experience the web page the as if you were on a different browser. If you just want to check how the website works on different versions of Internet Explorer you can also use the menu option Browser Mode, browser mode will even let you simulate what happens when a user on IE9 visits a page in compatibility mode (I wrote a blog on compatibility mode a while ago, that’s the feature that you can use if you want the great features of IE9 but have to work with websites that seem messed up in IE9).

    3. Tools | Outline Elements

    Maybe I just like this one because I have a tendency towards making absolutely hideous web pages (I do not have a good eye for what colors look nice and so on), Outline elements helps you identify different parts of the web page. For example you could outline all the <div> tags in yellow, or all the <a> tags in blue so you can quickly find them on the page.

    4. The Script Tab – formatting JavaScript

    Often JavaScript is minimized on web pages which makes it hard to read. When you go the script tab, you can click on the Tools button and choose Format JavaScript from the drop down button.

    ScriptFormatJS

    This will turn your JavaScript from this jumbled mess

    function EmuController(a,b){this.impression=b;this.containerId=a;DataStore.set($(a),'emuController',this);return this;}copy_properties(EmuController,{fromContainer:function(a){var b=ge(a);if(!b)return null;return DataStore.get(b,'emuController');},getEventClass:function(a){return "emuEvent"+String(a).trim();}});copy_properties(EmuController.prototype,{EVENT_HANDLER_PATH:'/ajax/emu/end.php',CLICK:1,FAN:"fad_fan",event:function(c,b,d,a){var e={eid:this.impression,f:0,ui:this.containerId,en:c,a:1};if(b)e.ed=JSON.stringify(b);if(!a)var a=bagofholding;var f=new AsyncRequest().setURI(this.EVENT_HANDLER_PATH).setData(e).setErrorHandler(a);if(d)f.setHandler(d);f.send();},redirect:function(){var a={eid:this.impression,f:0,ui:this.containerId,en:this.CLICK,a:0,sig:Math.floor(Math.random()*65535)+65536};var b=new URI(this.EVENT_HANDLER_PATH);b.setQueryData(a);goURI(b);}});
    var ShortClickHandlers={EVENT_NAME_CAME_BACK:'cameback',onclicked:function(a){if(this.onsite)return;if(a.button!==0||a.getModifiers().any)return;this.click_ts=(+new Date());if(this.listeners!==undefined)for(var b in this.listeners)this.listeners[b].remove();this.listeners={focus:Event.listen(window,'focus',ShortClickHandlers.oncameback.bind(this))};},oncameback:function(c){var b=(+new Date())-this.click_ts;this.listeners[c.type].remove();var a={click_ts:this.click_ts,length:b,trigger:c.type};this.sendData(ShortClickHandlers.EVENT_NAME_CAME_BACK,a);}};
    function EmuTracker(a,c){this.base=EmuController.fromContainer(a);!this.base;this.onsite=c;var b=DOM.scry($(a),"a."+EmuController.getEventClass(EmuTracker.EVENT_CLICK));b.each(function(d){Event.listen(d,'click',ShortClickHandlers.onclicked.bind(this));}.bind(this));return this;}copy_properties(EmuTracker,{EVENT_CLICK:1});copy_properties(EmuTracker.prototype,{sendData:function(b,a){this.base.event(b,a);}});
    (function(){if(!window.channel){window.channel={};}else if(channel.OK)return;var a='presence/';copy_properties(channel,{ON_CONNECT:a+'connect',ON_IDLE:a+'idle',ON_SHUTDOWN:a+'shutdown',ON_INVALID_HISTORY:a+'invalid_history',ON_CONFIG:a+'config',ON_ENTER_STATE:a+'enter_state',ON_EXIT_STATE:a+'exit_state',OK:'ok',ERROR:'error',ERROR_CONN:'error_conn',ERROR_MAX:'error_max',ERROR_MISSING:'error_missing',ERROR_MSG_TYPE:'error_msg_type',ERROR_REFRESH:'error_refresh',ERROR_SHUTDOWN:'error_shutdown',ERROR_DOS:'error_dos',HINT_AUTH:'shutdown auth',HINT_CONN:'shutdown conn',HINT_MAINT:'shutdown maint',reason_Unknown:0,reason_AsyncError:1,reason_TooLong:2,reason_Refresh:3,reason_RefreshDelay:4,reason_UIRestart:5,reason_NeedSeq:6,reason_PrevFailed:7,reason_IFrameLoadGiveUp:8,reason_IFrameLoadRetry:9,reason_IFrameLoadRetryWorked:10,reason_PageTransitionRetry:11,reason_IFrameLoadMaxSubdomain:12,reason_NoChannelInfo:13,reason_NoChannelHost:14,reason_ChannelUnknown:100,reason_ChannelNoCUser:101,reason_ChannelInvalidCUser:102,reason_ChannelInvalidChanstr:103,reason_ChannelChDistribTimeout:104,reason_ChannelGetChannelOther:105,reason_ChannelNodeShutdown:106,reason_ChannelTermination:107,reason_ChannelUserMismatch:108,reason_ChannelUserMismatchShady:109,reason_ChannelBadXs:110,reason_ChannelSeqNeg:111,reason_ChannelSeqTooBig:112,reason_ChannelSeqTooSmall:113,reason_ChannelUnexpectedJoin:114,reason_ChannelInvalidXsCookie:115,reason_ChannelRelocate:116,reason_ChannelWrongPartition:117,getArbiterType:function(b){return a+'message:'+b;}});})();
    (function(){if(window.channel_cookie)return;window.channel_cookie={subdomainIndex:null,init:function(){var a=presenceCookieManager.getSubCookie('ch');this.retryInterval=presenceCookieManager.getSubCookie('ri')||0;if(!channel.getConfig('nosubdomain')){this.subdomainIndex=0;if(a&&a.sub){for(var b=0;b<a.sub.length;b++)if(!a.sub[b]){this.subdomainIndex=b;break;}if(b==a.sub.length)if(b==channel_manager.MAX_SUBDOMAINS&&URI().isSecure()){this.subdomainIndex=null;presence.error('channel: iframe max subdomains reached');channel_manager._sendIframeError(ChannelRebuildReasons.IFrameLoadMaxSubdomain);}else this.subdomainIndex=a.sub.length;}}presenceCookieManager.register('ch',this.getInfo.bind(this));var c=(function(){this._clearSubdomain=true;presence.doSync(true);}).bind(this);if(typeof window.onpageshow!='undefined'){Event.listen(window,'pagehide',c);}else onunloadRegister(c);},getInfo:function(){var b={};var c=channel.getConfig('host');var e=channel.getConfig('port');if(c){if(null!==this.subdomainIndex){var a=presenceCookieManager.getSubCookie('ch');var f=(a&&a.sub)?a.sub:[];var d=f.length;f[this.subdomainIndex]=this._clearSubdomain?0:1;b.sub=f.map(function(g){return g?1:0;});}b[channel.getConfig('user_channel')]=channel.getConfig('seq',0);}b.ri=this.retryInterval;return b;}};})();
    (function(){if(!window.channel){window.channel={};}else if(channel.init)return;copy_properties(channel,{inner:function(){return this.manager.transport._iframe.contentWindow.transport;},_sitevars:{},_config:{userActive:new Date().getTime(),sessionID:(Math.random()*2147483648|0).toString(16)},init:function(){channel_cookie.init();this._config.subdomainIndex=channel_cookie.subdomainIndex;this.log=bind(this,'_log','log');this.error=bind(this,'_log','error');this.warn=bind(this,'_log','warn');if(typeof(UserActivity)!='undefined')UserActivity.subscribe(function(){this._config.userActive=new Date().getTime();}.bind(this));},_log:function(b,c){var d=this.manager&&this.manager.transport;var a='channel2:'+(d?(d.logName+':'):'');if(b=='log'){return false;}else if(b=='warn'){return presence.warn(a+c);}else if(b=='error')return presence.error(a+c);},log:function(a){this._log('log',a);},warn:function(a){this._log('warn',a);},error:function(a){this._log('error',a);},configure:function(){$A(arguments).each(copy_properties.bind(null,this._config));Arbiter.inform(channel.ON_CONFIG,this);},getConfig:function(b,a){return b in this._config?this._config[b]:a;}});})();
    function SimpleDrag(a){Event.listen(a,'mousedown',this._start.bind(this));}Class.mixin(SimpleDrag,'Arbiter',{_start:function(event){this.inform('start',event);var b=ua.ie()<9?document.documentElement:window;var a=Event.listen(b,{selectstart:Event.prevent,mousemove:this.inform.bind(this,'update'),mouseup:function(event){for(var c in a)a[c].remove();this.inform('end',event);}.bind(this)});return false;}});
    function ScrollableArea(){}copy_properties(ScrollableArea,{getInstance:function(a){var b=Parent.byClass(a,'uiScrollableArea');return b?DataStore.get(b,'ScrollableArea'):null;}});ScrollableArea.prototype={init:function(a,b){b=b||{};this._elem=a;this._wrap=DOM.find(a,'div.uiScrollableAreaWrap');this._body=DOM.find(this._wrap,'div.uiScrollableAreaBody');this._track=DOM.find(a,'div.uiScrollableAreaTrack');this._gripper=DOM.find(this._track,'div.uiScrollableAreaGripper');this._options=b;this.adjustGripper();this._listeners=[Event.listen(this._wrap,'scroll',this._handleScroll.bind(this))];if(b.fade!==false)this._listeners.push(Event.listen(a,'mouseenter',this.adjustGripper.shield(this)),Event.listen(a,'mouseenter',this.showScrollbar.shield(this)),Event.listen(a,'mousemove',this._handleMousemove.bind(this)),Event.listen(a,'mouseout',this.hideScrollbar.shield(this)));this.initDrag();DataStore.set(this._elem,'ScrollableArea',this);if(!b.persistent)onleaveRegister(this.destroy.bind(this));},initDrag:function(){var a=new SimpleDrag(this._gripper);a.subscribe('start',function(b,event){if(!((event.which&&event.which===1)||(event.button&&event.button===1)))return;var d=this._getPageY(event);var e=this._gripper.offsetTop;var f=a.subscribe('update',function(g,event){var j=this._getPageY(event)-d;var i=this._elem.clientHeight;var h=this._body.offsetHeight;var p=this._track.offsetHeight;var k=i/h*p;var m=h-this._wrap.offsetHeight;var l=e+j;var n=p-k;l=Math.max(Math.min(l,n),0);var o=l/n*m;this._wrap.scrollTop=o;}.bind(this));var c=a.subscribe('end',function(){a.unsubscribe(f);a.unsubscribe(c);});}.bind(this));},adjustGripper:function(){var b=this._elem.clientHeight;var a=this._body.offsetHeight;var e=this._track.offsetHeight;var c=b/a*e;if(c<e){CSS.setStyle(this._gripper,'height',c+'px');var d=this._wrap.scrollTop/a*e;CSS.setStyle(this._gripper,'top',d+'px');CSS.show(this._gripper);}else CSS.hide(this._gripper);this._checkContentBoundaries();return this;},_checkContentBoundaries:function(){var a=this._wrap.scrollTop;var b=this._wrap.scrollHeight-this._wrap.clientHeight;CSS.conditionClass(this._elem,'contentBefore',a>0);CSS.conditionClass(this._elem,'contentAfter',a<b);},destroy:function(){this._listeners.forEach(function(a){a.remove();});this._listeners.length=0;},_getPageX:function(event){return event.pageX!=null?event.pageX:event.clientX+document.body.scrollLeft;},_getPageY:function(event){return event.pageY!=null?event.pageY:event.clientY+document.body.scrollTop;},_handleMousemove:function(event){var a=Vector2.getElementPosition(this._track).x;var b=Vector2.getElementDimensions(this._track).x;if(Math.abs(a+b/2-this._getPageX(event))<25){this.showScrollbar(false);}else this.hideScrollbar();},_handleScroll:function(event){this.adjustGripper();if(this._options.fade!==false)this.showScrollbar();},hideScrollbar:function(){if(!this._scrollbarVisible)return this;this._scrollbarVisible=false;if(this._hideTimeout){clearTimeout(this._hideTimeout);this._hideTimeout=null;}this._hideTimeout=function(){if(this._scrollbarAnimation){this._scrollbarAnimation.stop();this._scrollbarAnimation=null;}this._scrollbarAnimation=animation(this._track).from('opacity',1).to('opacity',0).duration(250).ondone(CSS.addClass.curry(this._track,'invisible_elem')).go();}.bind(this).defer(750);return this;},showScrollbar:function(a){if(this._scrollbarVisible)return this;this._scrollbarVisible=true;if(this._hideTimeout){clearTimeout(this._hideTimeout);this._hideTimeout=null;}if(this._scrollbarAnimation){this._scrollbarAnimation.stop();this._scrollbarAnimation=null;}CSS.setStyle(this._track,'opacity',1);CSS.removeClass(this._track,'invisible_elem');if(a!==false)this.hideScrollbar();return this;},scrollToBottom:function(){animation(this._wrap).to('scrollTop',this._wrap.scrollHeight).ease(animation.ease.end).go();}};
    FriendRequestMessage={STATUS:'FriendRequest/change',UNFRIEND:

    To this nicely formatted and readable code

    function EmuController(a,b){
        this.impression=b;
        this.containerId=a;
        DataStore.set($(a),'emuController',this);
        return this;
    }
    copy_properties(EmuController,{
        fromContainer:function(a){
            var b=ge(a);
            if(!b)return null;
            return DataStore.get(b,'emuController');
        }
        ,getEventClass:function(a){

    5. The Network Tab for Audio and Video

    Video and Audio can be a real challenge to work with, and when a video doesn’t play I am never sure if the problem is with my code, the MIME type settings, browser compatibility, or the video itself! By using the network tab to capture my page load I was able to determine whether the problem when my HTML5 video or audio element didn’t work was due to MIME type issues by checking the value in the Type column for that element on the page. You can use the network tab for lots of other great profiling as well, but I have found the type column a nice easy way to check my MIME types.

    If you haven’t had a chance yet download the latest version of Internet Explorer today and start trying out the F12 Developer Tools!

  • Canadian Solution Developers' Blog

    Conference or Course? Where Should I Spend my Training Budget?

    • 0 Comments

    I started work in the era of Stephen Covey and the ‘7 Habits of Highly Effective People’ craze. Heck I was even sent on a 7 Habits course and given a 7 habits daytimer! One of the 7 habits was to ‘Sharpen the Saw’ which amounts to the importance of spending time improving yourself and learning. The IT world changes so fast! You have to keep learning to keep up! The smartest employers recognize this and invest in training for their employees.

    I am busy getting ready for TechDays Canada, and also preparing to present to Microsoft Certified Trainers (MCT) at the MCT Summit. I spent 10 years teaching Microsoft courses and I have presented and attended numerous conferences over the years. I know that most of us are faced with limited budgets and time for training. You have to make the most out of your training time! Sometimes you are forced to choose between attending a conference and taking a course. I want to give you an honest comparison of the two options so you can make the best decision!

    Criteria

    Conference

    Course

    Cost Tend to be $200-$400 a day, but often have significant early bird discounts or promo codes. Tip: Decide and book early!  Tend to be $300-$500 a day,
    Tip: Check websites or call and ask the sales staff if there are any promotions and discounts.
    Travel The bigger the conference the more likely you are to need to travel.

    Many user groups will organize events locally, for example TechDays may be in Montreal, Toronto, and Vancouver this year, but we are sponsoring locally organized events like DevTeach in Ottawa, Prairie DevCon in Winnipeg and Calgary.
    The more specific the course and the more obscure the topic the more likely you are to need to travel.

    If you are just looking for the basic how to code .NET, how to use SharePoint you should be able to find that nearby.
    The Wow factor Imagine if you had attended Build and received the free slates with Windows 8 installed! Keynotes with big names and announcements! Product booths where you can play with the newest tech toys! The wow factor in a course comes from your desire to learn what it taught in that course and having those ‘aha’ moments when you finally get it!
    Topic Breadth Conferences will cover a broader array of topics than a course Courses will cover a lot of material on one specific topic
    Topic Depth Due to the length of sessions, you rarely get great depth in a conference, but keep an eye out for pre and post-conference sessions that frequently offer deeper dives for an extra fee Courses will go into much more depth on a specific topic
    Current technology Conferences are generally the best places to learn about the latest and greatest tools and features Because it takes time to develop courseware, and you need a certain momentum in the market with a product to sell a course, courses tend to be one version behind the current release. But occasionally you can find a one day new features course or a seminar on a new release.
    Immediate help with your current role If you pick the right conference and attend the right sessions, you will definitely walk away with something you can use the moment you get back to work. When we pick sessions for TechDays that is actually one of our criteria. If a conference has a partner expo that can be a goldmine as well, those partners have some great tools and resources, not just t-shirts and pens! Check the conference website and look at session lists to make sure this is the right conference for you. If you have selected the right course, you should be able to use what you learn right away.  Read the course outline to make sure this course is going to cover topics that apply to you. For example there are a dozen SQL Server courses, do you want to learn how to write reports with Reporting Services? or do you want to master T-SQL? or do you want to learn how to do backups? Each skill is in a different course. Even if you have already worked with the product for a while, taking a course can be worthwhile to pick up a few new tricks! But if you have 3 years experience with the product, you shouldn’t expect to get as much from the course as someone with 2 months experience with the product.
    Help with your career long-term If you are looking to move into a senior technical role, you want a conference that talks about design, architecture, application lifecycle methodologies like Agile (hint: TechDays Architecture track)

    If you are looking to move into a management role you may want to complement those design and ALM skills with a conference aimed at managers and project management.
    If you are looking for a senior technical role, you want to try and find a course that talks about design, Application Lifecycle Methodologies, and architecture. I’ll be honest, these courses are tough to find, so if you find one that works for you, re-arrange your schedule and take it!

    If you are looking to get into a management role, there are lots of courses out there to teach you project management skills.
    Asking Questions Conferences will have a Q&A at the end of each session, and a good conference will have some sort of open area where you can talk to speakers (some sort of Ask The Experts zone) but you may have to miss a session to find time to talk to your expert. However you can usually get email addresses for the speakers to follow up with them outside the conference. You will have much more opportunity to ask an instructor questions than a speaker at a conference. It’s simply a question of time and the number of people learning. It’s easier to take questions over a week across 12 students than when you are presenting a session to 150.
    Hands On Time with Product More conferences are discovering the value in giving attendees hands on time with a product. For example we have Instructor Led Labs at TechDays where you get to actually walk through an exercise on your laptop during the session. But not all conferences offer hands on product time. Most courses will include lab exercises so you get a chance to reinforce what you learn.
    Networking Conferences have more people attending and are generally better for networking. They often have social events, or luncheons where you can talk to other attendees.
    Keep an eye out for opportunities to network with the speakers as well at Product booths and Ask The Expert areas
    You meet a smaller group on a course, but that smaller group is interested in the exact same topics as you, so you are more likely to find a kindred spirit who has faced the same challenges as you, and don’t forget the instructor is a good contact as well. If you ask nicely, many instructors are willing to share their contact information, as long as you promise not to ask them to debug your code, or architect your next solution for them by email.

    THE WINNER IS…

    It depends! You knew that was coming didn’t you? Hopefully I’ve given you a few things to consider if you have to choose. If you just started on a new team and have never used the tool, maybe this year you need a course, but if you are simply looking to grow in your current role, get excited about your job again by picking up some new tips and geeking out with some fellow fans of Big Bang Theory. Join us at Techdays! I’ll see you there!

    This blog is also posed on the Canadian Developer Connection

  • Canadian Solution Developers' Blog

    What’s Next in Software Delivery?

    • 0 Comments

    Come and find out! Sam Guckenheimer, ALM expert, product planner for Visual Studio, and author of “Agile Software Engineering with Visual Studio: From Concept to Continuous Feedback” is coming to Toronto to talk about exactly that: “What’s Next in Software Delivery”, If you are in the Toronto area you can come out for a unique opportunity to meet and learn from him in person November 9th at Microsoft Canada Headquarters. Register today, as an added bonus, the first 10 who register will get a copy of Sam’s new book. There is nothing like getting a chance to hear from someone with first hand knowledge of the product and its development. For those of you who can’t attend, I can’t give offer Sam G, but there is an excellent blog post by Jason Zander on the ALM Roadmap you should check out.

    You already know how to code with Visual Studio, this event is a great opportunity to learn from someone in the know about how Visual Studio can help you through the entire software development lifecycle.

    Testing

    Visual Studio 2010 Ultimate, and Visual Studio 2010 Professional (which is integrated into Team Foundation Server) includes a new application called Microsoft Test Manager.  You can create test plans, add test suites, test cases and link them to your requirements, and configurations to use when running your test cases. You can run manual tests or automated tests. You can submit bugs straight from Visual Studio or from Microsoft Test Manager. You can track progress and report on how much testing remains.

    Project planning

    Visual Studio allows you to plan and track projects. Create a high level plan that breaks your project into shippable increments, develop detailed plans to execute iterations to develop those increments. As you complete each iteration, refine the high level plan based on what you learned if needed. Take advantage of process templates to plan, develop, and track the project. use work items to track and manage your work and information about your project. You can use different types of work items to tack different types of work, such as user stories, customer requirements, product bugs, and development tasks. Manage dependencies across work items and collaborate across groups. Create and customize reports to track your team’s progress and highlight the data that matters to your project.

    Modeling

    Visual Studio ultimate allows you to create models to manage and define your application. Create models at different levels of detail, relate them to each other, or to test or to your development plan. Model user requirements, or get a visual representation of the code with dependency graphs and sequence diagrams, define the architecture,  or define acceptance tests or system tests based on your requirement models.

    Visual Studio isn’t just a coding tool, it really is an Application Lifecycle Management tool You already know it. Make the most of it! Download a free trial and check it out for yourself and if you are in the Toronto area register now, and don’t miss this great chance to learn from the expert.

  • Canadian Solution Developers' Blog

    Update! Update! Get Your v1.5 Update!

    • 0 Comments

    A fimageew weeks ago, the Windows Azure SDK v1.5 was released with many enhancements and fixes that further simplifies development, deployment, and management of applications on the Windows Azure platform.

    As soon as it was released, I headed over to the SDK download page (Web Platform Installer), downloaded the latest version, and started exploring the new features. Reading through discussions on stackoverflow.com and various groups on LinkedIn (including the Canadian developer community’s own Canadian Developer Connection), it seems that many are still using older versions.

    I wanted to let you know that it’s OK to, and that you should, upgrade your projects to v1.5 of the SDK. There’s just one caveat, though, that I’ll get to in a bit.

    First, the reasons why upgrading to v1.5 of the SDK is a good thing to do:

    • Enhancements and fixes to the Windows Azure SDK 1.4 - Let’s start with the fact that there are many enhancements and fixes to items developers have brought up when using v1.4 of the SDK. These will definitely make your development experience a lot smoother, removing some of the frustrations you’ve expressed with previous versions.
    • Updates to the emulator – there have been fundamental improvements in the emulator’s performance and the assembly and package validation process before deployment to the emulator. Moreover, (and if nothing else, this should be the one reason that you upgrade to v1.5), the emulator has been re-architected so that there is better symmetry between the emulator, aka your local development environment, and Windows Azure itself. You’ll feel the benefits of this upgrade as you start spending less time testing and subsequently debugging issues resulting from the differences in the environments.
    • Enhancements to the Windows Azure Tools for Visual Studio – remember the update is about making development and deployment simpler – you can now, with a click or two of the mouse, convert an existing project to a Windows Azure project by adding in a “Windows Azure Deployment Project”. Simple. Other enhancements include the addition of an ASP.NET MVC 3 Web Role type in the New Windows Azure project selection dialog box (remember how you had to add MVC 3 references manually? No more.), additional enhancements to the multiple environment configuration capability introduced in v1.4, and more application profiling so that you can easily detect performance bottlenecks in your application while it’s running in Windows Azure.

    And now, the caveat:

    The Windows Azure project file (.ccproj) has a different structure in this version from previous versions. When you open a solution that contains a Windows Azure project, any existing .ccproj files are changed to this new structure. This upgraded .ccproj file is incompatible with previous versions of the Windows Azure Tools, which means that if you’re working on a development team, you’ll all need to upgrade to v1.5 in order to continue working on the project.

    Windows Azure Platform Training Kit

    The Windows Azure Platform Training Kit (Offline, Online) has also been updated to include all of the updates, enhancements, and fixes I mentioned above. It also includes a brand new hands-on lab that explores the new messaging capabilities released with the new version of the Service Bus.

    Here’s What You’re Going to Do

    Now that you’re aware of the reasons why you should start working with v1.5 of the SDK:

    1. Download and install the Windows Azure SDK 1.5 using the Web Platform Installer.
    2. If you don’t already have a Windows Azure account, create one so that you can see the profiling tools in action! If you have MSDN, you may have Windows Azure benefits that you can activate. Check out your MSDN member benefits page to see if Windows Azure is listed. If so, activate your account through there. If you don’t have MSDN, head over to the Windows Azure site and create your account - You can run a Small Windows Azure instance with a 1GB SQL Azure database for free for the first 90 days.
    3. Download the updated Windows Azure Platform Training Kit to ensure that you have the latest training materials for the platform. As always, if you prefer to access the materials online, you can do so as well.
  • Canadian Solution Developers' Blog

    How to Pin a Website And Why to Pin a Website

    • 2 Comments

    I was just preparing a slide deck to talk about IE9 features at the Microsoft Certified Trainer summit and realized, that although I have blogged about how to update your pinned sites, I really haven’t taken the time to explain what the heck pinned sites are and how they work. Pinned sites are a fantastic feature of IE9, and as more and more users are discovering them, you want to make sure your website makes the most of this feature.

    Before I get into the technical aspect, let me take a moment to tell you why you want your web site to support pinning. Users who pin your site will visit your site more often, and will spend more time on your site. In the words of Martha Stewart “That’s a good thing”. Whether its an internal company website you want your users to access easily, or a public site you use to help your business or group we build the site because we want users to spend time there. So if pinning increases the amount of time users spend there, you want pinning.

    If you are using IE9 or higher you can quickly try out pinning right now to see how it works. Open a tab in your browser and visit tsn. Now drag the tab down to your taskbar. You will see a TSN icon appear on your taskbar and you will also notice the TSN website now looks different, the forward and back buttons appear in red to match the logo. The icons on your page have changed from the IE logo to the tsn logo. The icon you see is called a favicon, and you can set the of the forward and back buttons based off the favicon or by specifying specific colors.

    TSNfaviconzoomin

    Now let’s take a closer look at that logo you just added to the task bar.  You can close the IE windows with TSN and relaunch the site by clicking on that icon. That’s nice, basically just like you can have icons for launching your desktop applications, you now have an icon to launch a web site. Here’s the really cool part, you can also right click on the icon to go directly to a particular part of the website like the News or TV Schedule. It’s like Browser Favorites but wayyyyy better!

    TSNJumpListZoomedin

    Nice Eh? And it’s really easy to do. Since its implemented with metatags, you can add the functionality for your users who have IE9 without breaking the website for users on other browsers. You can make your pinned site as simple or as fancy you want, it’s just a matter of how much time you want to spend, 10 minutes to set up a favicon? an hour or a day to add more functionality.

    You can just add a favicon, quick and easy!

    You can add a jumplist to the pinned site just like TSN did, to make it easier for users to navigate the site using a few metatags or JavaScript.

    You can get fancy with thumbnail buttons, and notifications by adding a little more JavaScript.

    Read on to find out how!

    1. Create a favicon

    If you are a talented graphic artist, or have someone on your team who knows how to make .ico files good on you! For the rest of us check out xiconeditor.com. You can import a .JPG, .GIF, .BMP, .PNG, or .ICO file, crop it and xiconeditor will generate a .ico file suitable for pinned sites. That was easy Smile

    2. Add the favicon to your HTML in the <head> section.

    <link rel="shortcut icon" href="favicon.ico"/>

    Now you will see your favicon appear in the browser and on the toolbar if you pin your site. Next you should set up your meta data for the pinned site in the <head> section

    • application-name specifies the name of your pinned application, give it a meaningful name.
    • msapplication-tooltip specifies what will be displayed when you hover over the pinned application in the start menu (not the taskbar)
    • msapplication-starturl specifies the URL to be launched when the pinned website is launched
    • msapplication-window tells IE9 how big to make the browser when it launches the pinned application
    • msapplication-navbutton-color tells IE9 what color to use for your navigation buttons, if you omit this tag, IE9 will take the color from your favicon. Specify any hex color or CSS3 color name.
    <meta name="application-name" content="My Pinned Content" />
    <meta name="msapplication-tooltip" content="Launch My pinned site" />
    <meta name="msapplication-starturl" content="http://localhost:42942/PinnedSites/index.html"/>
    <meta name="msapplication-window" content="width=1024;height=768" />
    <meta name="msapplication-navbutton-color" content="#FF3300" />

    3. Add a Static Jump List

    The Jump List is the context menu that appears when you right click on the pinned site icon on your taskbar. To add a task to the jump list, you need to add a meta tag for msapplication-task. You can add up to 5 static tasks to the jump list. The tasks in the jump list will appear in the same order as you define the tasks in the HTML.

    Msapplication-task indicates this is a task you want to add, in the content attribute you specify

    • name – this is the text that will be displayed in the jump list
    • action-uri this is the URL to open if someone selects this task from the jump list
    • icon-uri specifies the icon to display in the jump list for this task.
    • window-type (optional) specifies if the destination should be opened in a tab (default), self (the current tab) or window (a new pinned site window)
    <meta name="msapplication-task" content="name=View Pictures; 
    action-uri=http://localhost:42942/PinnedSites/pictures.html; icon-uri=favicon.ico" />

    4. Add a Dynamic Jump List (if you want to)

    Use JavaScript to create tasks dynamically on a jumplist, you do not have the 5 task limit with dynamic jump lists. Creating dynamic tasks requires using the following methods

    • window.external.msSiteModeCreateJumpList() to create the dynamic jump list
    • window.external.MsSiteModeAddJumpListItem() to add a task to the dynamic jump list
    • window.external.msSiteModeShowJumpList() to display the jump list
    function AddJumpList()
    {
        if (window.external.msIsSiteMode())
        {
             window.external.msSiteModeCreateJumplist("My Dynamic List");
             window.external.msSiteModeAddJumpListItem("Added with code","http://www.tsn.ca/","favicon.ico");
             window.external.msSiteModeShowJumplist();
         }
    }

    So with a few meta tags you can set up your website as a pinned site, with a little JavaScript you can even have a dynamic jump list. If you want to update the jumplists later, no problem! In fact I wrote some blogs explaining How to update a static jumplist, and how to update a dynamic jump list

    5. Go all out and add a thumbnail toolbar (if you want to)

    If your website plays video or audio, or you have other actions you want users to control from their pinned site, in addition to the jump lists you can use JavaScript to add a toolbar of thumbnail buttons! Use it to advance slides, pause and play a video or song. This will actually take a bit more time and work, but it’s pretty cool!

    Use window.external.msSiteModeAddThumbBarButton to add a 16X16 icon to the thumbnail toolbar

    Use window.external.msSiteModeShowThumbBar to display the thumbnail toolbar

    • Create icons for each button you want on the toolbar
    • Add each button to the thumbnail toolbar
    • Define the action you want for each thumbnail toolbar

    You cannot add buttons to a toolbar after the toolbar is visible! (You can hide or disable buttons, but you can’t add or remove them)

    Thumbnail toolbars can hold a maximum of 7 buttons. You can sometimes use one button as a toggle switch between modes e.g. Play and Pause can be one button instead of making a Play and a Stop button

    For example to add a button

    var btnRed = window.external.msSiteModeAddThumbBarButton('red.ico', 'Red');
    var btnBlue = window.external.msSiteModeAddThumbBarButton('blue.ico', 'Blue');
    window.external.msSiteModeShowThumbBar();
    document.addEventListener('msthumbnailclick', onButtonClicked, false);
    Then add a line of code to display the toolbar
    window.external.msSiteModeShowThumbBar();

    Create event handlers for the thumbnail toobar to define the actions to take when a button is pressed (As an added bonus if you are using IE9 you can use AddEventListener instead of attachEvent).

    document.addEventListener('msthumbnailclick', onThumbnailButtonClicked, false);
    
    function onThumbnailButtonClicked(btn) {
              switch (btn.buttonID) {
                  case btnRed:
                      document.bgColor = '#990000';
                      break;
                  case btnBlue:
                      document.bgColor = '#000099';
                      break;
              }
          }

    If you want to have a toggle button, for example a play/pause button, on your toolbar, you use window.external.msSiteModeAddButtonStyle to define a style with an alternative icon image and tooltip for a specified button and use window.external.msSiteModeShowButtonStyle to change the icon image and tooltip for the button in your event handler.

    styleColored = 0;  //default style ID, this style was created when you added the button
    styleClear = window.external.msSiteModeAddButtonStyle(btnRed, 'white.ico', "Clear");
    function onThumbnailButtonClicked(btn) {
              switch (btn.buttonID) { 
                 case btnRed:
                 if (document.bgColor != '#990000') 
                     {
                      document.bgColor = '#990000';
                      window.external.msSiteModeShowButtonStyle(btnRed, styleClear);
                      break;
                      }
                else {
                      document.bgColor = '#FFFFFF';
                      window.external.msSiteModeShowButtonStyle(btnRed, styleColored);
                      break;
                      }
                  case btnBlue:
                      document.bgColor = '#000099';
                      break;
              }
          }

    So did you get all that? Don’t worry you don’t have to do everything! I just wanted you to know all your options. Any site can be pinned. If you add a favicon, you make your site look better when its pinned. When you add a jumplist you make it easier for a user to navigate to specific regions in your site. You decide how much functionality makes sense! For more information about pinned sites check out BuildMyPinnedSite.com which has more great information including how to add notifications (those tiny icon overlays, like one in Windows Messenger that shows you if you are signed in), suggestions on how to help users learn how to pin your site, and how to measure the success of your pinned site! Download IE9 and start pinning your site today!

  • Canadian Solution Developers' Blog

    Great Content in the Nations Capital!

    • 0 Comments

    logoTechDays is going to rock Toronto, Montreal, and Vancouver. But we haven’t forgotten the rest of the country! TechDays is sponsoring a number of events across Canada so even if you can’t make it to TechDays this year, you don’t have to miss out!

    In Ottawa, Microsoft is a proud sponsor and is even providing some of the great TechDays content at DevTeach, November 2-4, 2011 at the new Ottawa Convention Center (that big glass bubble they just built downtown). DevTeach has put together topics for IT Professionals, Database Administrators, and Developers spread across 48 sessions!

    You’ll see TechDays Sessions on Agile, ASP.NET, HTML5, SQL Server Denali, and some content unique to DevTeach as well, including REST and oData, Load testing with Visual Studio 2010, Sql Server Integration Services and more!

    If you are looking for a deeper dive check out the pre-conference workshops on Agile, SQL Server, Silverlight and SharePoint! Want to get the most out of the conference? Download and try out the tools before you arrive, then you’ll be ready to get the most out of your sessions as you learn the tips and tricks from the experts. I’ve provided a few links to product downloads you may want to check out before the show Register today and use the TechDays discount code OTT2011TECHDAYS to get 20% off registration!

  • Canadian Solution Developers' Blog

    One More Reason to Attend TechDays – The Developer Practices and Architecture Track

    • 0 Comments

    We’ve revealed the keynotes, the Windows Client and Phone Track, the Developer Tools, Languages and Framework track, and the Cloud Computing and Online Services track, now I’d like to introduce you to a track that applies to cloud, windows, mobile, and web developers, C#, and VB programmers alike!

    Sometimes as developers we need to take a step back and look at the big picture. Are there ways we can improve our application development process? Should we try Agile? Are we implementing Agile correctly? We need to go beyond just the syntax of our code and think about best practices in our coding. We need to make sure we are getting the most out of the tools we have in front of us: Are there better ways to code? debug? test? That big picture thinking is the reason we have the Developer Practices and Architecture Track at TechDays. It’s a chance for you to see how others have improved their overall application development. Learn from the experts, then apply what you learn and bring your coding to the next level.

    If you don’t believe me, ask John Bristowe he’s convinced, and if that’s not enough, keep reading to discover some of the sessions you can check out this year at TechDays.

    ARC350 The Agile Buffet

    Agile, maybe you are living it, or maybe you are thinking about it. There are different agile methodologies to choose from: XP, Scrum, Kanban. Do you have to follow these methodologies to the letter to be agile? Is it possible to take the best of each and create your own custom agile methodology?  Maybe you have implemented Scrum, but tweaked the agile methodology to make it fit better within your organization. Is that okay? It may sound cliche but can you be agile with agile? The answer of course is it depends. When you modify the methodology are you still keeping to the goals of agile and the agile manifesto? Join a dynamic session and figure out how you can adopt agile methodologies while still staying true to the Agile Manifesto and reaping the benefits of agile.

    ARC360 Yes, we Kanban!

    Imported from Japan, Kanban is an agile methodology gaining a lot of traction. Kanban, the Japanese for signal card, is a process that focuses on transparency and limiting the work in progress. By utilizing Kanban, you can easily pinpoint bottlenecks and address them. In this session, you’ll learn what Kanban is, how it evolved from its roots in the Toyota production system to software development, Kanban’s benefits, and how best to implement a Kanban system. We’ll also discuss when not to use Kanban and how to modify other agile methodologies, such as Scrum, to be used in conjunction with Kanban.

    ARC303 Addressing Non-Functional Requirements with Agile Practices

    A common challenge with agile software development is how to address non-functional requirements. A non-functional requirement specifies "how well" the "what" must behave. Also known as "technical requirements", “quality attributes” or "quality of service requirements", they focus on characteristics that typically cut across functional requirements such as usability, correctness, reliability, maintainability, availability, performance, portability, testability and many others. Improperly dealing with non-functional requirements leads to source code that is difficult to evolve or software with an unpleasant execution quality. During this session, you will learn the agile practices to transform these recurring concerns into self-contained quality targets that can be satisfied iteration after iteration, in a finite period of time. Overall, you will acquire a different perspective on how to connect requirements and architecture using agile practices.

    ARC375 Demystifying Debugging with Microsoft Visual Studio Ultimate and IntelliTrace

    Visual Studio 2010 Ultimate provides a wealth of functionality for figuring out what is happening with your application or even being able to debug what happened up to that point with IntelliTrace. But for most developers pressing F5, adding the odd breakpoint and stepping through the application is about as far as they get when debugging. Come to this session and learn more about how to use the debugger and IntelliTrace to track down those hard to spot errors fast, so you can spend less time debugging and more time coding.

    ARC301 Design by Contract and Code Contracts in Visual Studio 2010

    The central idea of Design by Contract is a metaphor on how elements of a software system collaborate with each other, on the basis of mutual obligations and benefits. The contract is the formalization of those obligations and benefits. You can summarize design by contract with three questions the designer must repeatedly ask: What does it expect? What does it guarantee? What does it maintain?
    This presentation will oversee how Visual Studio 2010 and the new Code Contracts feature allows you to use this defensive style of programming. Code Contracts provide a language-agnostic way to express coding assumptions in .NET programs. The contracts take the form of preconditions, postconditions, and object invariants. Contracts act as checked documentation of your external and internal APIs. The contracts improve testing via runtime checking, enable static contract verification, and documentation generation.

    ARC306 Entity Framework Tips & Tricks

    In this session, We'll open up a bag of Entity Framework tricks. We'll look at several performance optimizations and concerns when using Entity Framework. We'll look at tricks for concurrency, row-level security, building dynamic queries, working with large models, stored procedures, functions, data validation, auditing and other concerns that developers typically face in building robust database applications. Get the most and the best out of the Entity Framework!

    ARC304 Building a Security Skeleton for your ASP.NET Application

    This session will cover creating a template you can re-use in your applications. It covers the security vulnerabilities and attacks most common to ASP.NET, and the techniques to test them. The session will allow you to use the template to safeguard your applications with ease. We will cover one click attacks, canonicalization attacks, sql injection, xss, syn floods, Denial of Service, Session hijack and many more. This is not a security session, it is a pure ASP.Net session where we will explore code to help thwart attacks and while doing so we shall explain what is going on. The goal of the session is to enable you to create a template project which guards against some of the security risks.

    Two days of fantastic content to help you do your job more effectively! Come to TechDays, listen, ask questions, learn from the experts! Register today and join us in Toronto October 25,26th, Vancouver November 15,16th, or Montreal November 29,30th. If you register now you can take advantage of the EarlyBird discounts (early bird pricing deadlines Oct 11th 2011 – Toronto, Vancouver Oct 25th 2011, Montreal Nov 8th 2011)

  • Canadian Solution Developers' Blog

    Don’t Miss Out on Great Keynotes and Sessions at TechDays 2011

    • 0 Comments

    techdays_canada_3Time moves quickly! Hard to believe that we are only a few weeks away from the first TechDays 2011 event in Toronto on October 25/26. We’ve been busy getting the content ready and are working with a great group of subject matter experts from Microsoft, our Partners, the MVP community and your peers to deliver some of the best content we have ever put together!

    I’m really excited to let you know that in Toronto, on October 25th, we will have Jeff Woolsey, Principal Program Manager Lead on the Hyper-V team deliver the keynote address where he will talk about Microsoft’s virtualization and Private Cloud strategy for organizations of all sizes. This is a not-to-be missed opportunity to hear first-hand how your organization can leverage Microsoft’s virtualization technologies to help streamline your IT infrastructure today and in the future.

    We are also excited that in Vancouver on November 15th, Scott Hanselman, Principal Principal Community Architect for Web Platform and Tools at Microsoft will be delivering the keynote address, showing developers how that can leverage the Microsoft platform to create great applications for the client, web, phone.

    But TechDays is not just about the keynote – it’s about all the great sessions that help you to grow your technical skills, and this year is no exception. We have some phenomenal sessions submitted by your peers, as well as others on technologies that you told us are important to you. Check out the session list bring rolled out on the TechDays web site in several waves with the final session list published by mid-October. Don’t forget to also go to the TechDays YouTube channel to learn more about what you can expect from the TechDays 2011 Content Leads themselves.

    Speaking of time, the TechDays 2011 Early Bird ticket pricing of $399.99 plus taxes is about to end in Toronto and will also end soon for the other cities. Early Bird deadlines are as follows:

    • Toronto = Tuesday October 11th, 2011 at Midnight EST
    • Vancouver = Tuesday October 25th, 2011 at Midnight PST
    • Montreal = Tuesday November 8th, 2011 at Midnight EST

    Don’t miss out on the great content, plus the many other benefits of attending TechDays such as the on-site instructor-led hands-on labs, access to self-paced hands-on labs, opportunities to network with sponsors and speakers, as well as get your questions answered in the Microsoft Showcase booth in each city. Get your TechDays tickets today at www.techdays.ca!

    Looking forward to seeing you there!

    DamirB-BlogSignature

  • Canadian Solution Developers' Blog

    Techdays 2011: Windows Client and Windows Phone Track Unleashed

    • 0 Comments

    By now, you may have seen that TechDays 2011 is now open for registration.  TechDays is Microsoft Canada’s premier, in-person training event that is reaching 3 cities (Toronto – October 25-26, 2011, Vancouver – November 15-16, 2011 and Montreal – November 29-30, 2011) with 2 full days of training in 8 different tracks (in alphabetical order:  Cloud Computing and Online Services; Communication and Collaboration; Developer Tools, Frameworks and Languages; Development Practices and Architecture; Security, Identity and Management; SQL Server and Data Platform; Virtualization; Windows Client and Windows Phone).

    Over the next week, you will see and hear more about many of these tracks on our Connection blogs but in this post I will outline the Windows Client and Windows Phone track.

    As Track Owner of the Windows Client and Windows Phone track at TechDays 2011, I am honoured and excited to introduce the many sessions that you will see talking about Windows Phone and Windows Client.  It’s a jam-packed track that will appeal to both developers and IT Pro’s alike, with lots of content that will both enable to use these technologies today and to inspire you to build the next great thing tomorrow.

    To give you some background as to why the sessions you see below are found in the Windows Client and Windows Phone track, I want to explain the rationale behind the decision process.  First, I wanted to provide Client and Phone content that would be beneficial to everyone using or thinking of using our platform technologies, regardless of whether your job entailed development, management or operations in IT.  Second, I wanted to give sessions that attendees would find both exciting and relevant to their day-to-day jobs.  Finally, I wanted these sessions to inspire you.  IT is only a tool, a means to an end.  It’s your creativity and passion that make software wildly successful.  It is my hope that through these sessions you will see and hear something that will kindle an amazing idea that will change the world!

    Below is a video that introduces the Windows Client and Windows Phone track:

     

    So on with the sessions in the Windows Client and Windows Phone Track:

    WIN301:  Windows Phone 7.5: An Overview and Architecture Deep Dive

    Windows Phone is a different kind of phone, architected to put the focus on end users while enabling developers to build compelling, connected experiences that enhance the phone. Peer under the covers to see how the architecture evolved to deliver powerful functionality for users and developers: enabling rapid seamless transitions between applications; delivering continuous user experiences in the background; combined Silverlight/XNA in a unified UI; sharing data between phone and applications; sensor fusion for integration of the physical and virtual worlds; and many more. Along the way, we will demonstrate how Microsoft brought together these features to deliver experiences that are responsive and battery efficient.

    WIN302:  Adding the Awesomesauce Flavour with Internet Explorer 9 Pinned Sites

    By now, you've heard about pinned sites in Internet Explorer 9. And, you've probably even used them yourself. But, did you know that this feature can help increase site visits and engagements? In this session, you'll hear stories of Pinned Site implementations by some of the most popular websites on the web today. You'll also discover how to support pinned sites with a few lines of markup. Finally, you'll learn best practices that will help you deliver an awesome experience to your visitors.

    WIN303:  Windows Intune: PC Management with Cloud Services and Windows 7

    Windows Intune, Microsoft's cloud-based offering for PC management, simplifies and helps businesses manage and help secure PCs using Windows cloud services and Windows 7. As an integrated Microsoft offering, Windows Intune brings together cloud services for PC management and protection with a Windows upgrade subscription – all without the need to set up enterprise deployment infrastructure. In this session, see how simple it is to get started with Windows Intune to deliver the essentials of management – updates, malware protection, and asset inventory – to unmanaged PCs. Learn how Microsoft cloud services help deliver the reliability and security you expect for your business.

    WIN304:  Building Windows Phone 7 Applications with the Windows Azure Platform

    In this session you will learn how to build Windows Phone 7 applications that are backed by scalable cloud components hosted in Windows Azure. This demo-focused session will cover the end-to-end experience and address how to tackle issues such as authentication, storage, and notification using the Windows Azure Toolkit for Windows Phone 7.
    WIN305:  Application Design for Windows Phone In the past year, we’ve worked with hundreds of developers and designers interpreting the "Metro" design system for their own purposes. We’ve seen great interpretations, and others that aren’t so great. In this session, we’ll share with you the foundations of great Metro application design for Windows Phone, and how to use them to build outstanding applications that will stand out and get noticed… for good reasons.  We will also be providing some general best practices for building great mobile experiences.
    WIN312:  Digging into an HTML5 Line of Business Starter Kit (Local Content Submitted for Toronto)

    No doubt you’ve heard a lot about HTML5 as a web developer. Now it’s time to look at what that means. In this session we’ll take a look at the construction of an HTML5 line-of-business application. It will show you what you need to consider targeting the desktop, phone and tableting web experiences while taking advantage of the tools that HTML5 delivers to you.

    WIN371:  Complete Windows 7 Deployment Using Microsoft Deployment Toolkit 2012 (MDT 2012)

    If you are still spending money on your desktop deployment solutions, be prepared to be impressed! The Microsoft Deployment Toolkit 2012 (MDT 2012) can do it all. And it’s free. In this session Rhonda will show you how to set up a MDT server, create a complete image including Office 2010 and deploy that image using the new Deployment Wizard.  But wait that’s not all MDT 2012 can also migrate your XP machines to Windows 7 while maintaining users data and settings as well. See it all in this demo driven session.

    WIN372:  Windows Deployment Service (WDS) vs Microsoft Deployment Toolkit 2012 (MDT) Choose The Right Tool Stop wasting money on your deployment tools, you can do it all with Microsoft’s free tools. But which one does what you need? Rhonda will show you the differences between WDS and MDT so you can spend your time wisely setting up the right tool from the beginning. WDS can create and deploy images but only a certain type of image. MDT can create, manage and deploy your images. While they sound similar in functionality the feature set could not be more different. This session will show you all the features of WDS and compare those to all the features of MDT. Learn which tool can link your branch deployment shares (DS) to the Corporate DS allowing branch office machines to be deployed locally. Find out also how to deploy an entire image from a USB Flash Drive that requires no network connection to the DS. And last but not least discover how to set up automatic imaging and re-imaging for troubleshooting both desktop and server OSs.
    WIN373:  Consumerization of IT: Windows Devices in the Workplace Apps have sparked a lot of market interest and buzz – for businesses. Windows Phone also brings together a captivating experience for work and play. In this session we’ll take a deep dive into key business scenarios that Windows Phone enables today.  Come to this session to learn why Microsoft has a competitive advantage over other OS platforms.  Learn how Windows Phone and Microsoft collaboration solutions like Exchange, SharePoint & Lync offer the best integration for the enterprise and offer the best connectivity experience for end users.

    If you are interested in attending, don’t delay in registering as the conference is filling up with registrations right now.  We are also providing early bird pricing for the conference (CAD $399.99 instead of the regular fee of $799.99, which is a 50% discount).  For Toronto, this early bird pricing ends on October 4, 2011 (Vancouver early bird pricing ends October 25, 2011 and Montreal early bird pricing ends November 8, 2011), so time is running short on getting a great discount on premier training and networking!

Page 1 of 1 (11 items)