Toronto WinMoDevCamp Coming November 11, 2009

Anthony Bartolo from Microsoft asked if I’d help spread the word about the Toronto WinMoDevCamp coming to Mississauga on November 11, 2009.  It’s free Windows Mobile development training, and it’s hosted by Microsoft.

It looks like a fantastic event!

image002

 

Learn about Windows Mobile Development at WinMoDevCamp Toronto – November 11, 2009 

Interested in learning how easy it is to build applications for Windows Mobile? Want to know more about getting your app in the Windows Mobile Marketplace?

WinMoDevCamp is a series of not-for-profit gatherings to develop applications for the newly released Microsoft Windows Phone 6.5 O/S. Attendees will include mobile developers, web developers, .Net Developers, UI designers, testers, device manufactures and Canadian Carriers, all working together. Development projects will include both solo and team efforts. While some attendees will wish to work solo during the event, we encourage attendees to team up, based on expertise, to work in ad-hoc project development teams. All attendees should be prepared to work on a development project during the event.

  • Create new applications for the Windows Mobile Platform.
  • Meet and work side-by-side with team members from the
  • Microsoft Mobile Developer Experience team.
  • Gain assistance in migrating existing mobile applications from the iPhone, Blackberry and Palm Pre to the Windows Mobile Platform.
  • Create applications to support Windows Enterprise Applications.
  • Interact with Canadian Wireless Carrier representatives
    (Bell, Telus, Rogers & WIND)

Many thanks to the Microsoft Mobile Developer Experience team for their support in making these events happen! I want to specifically thank Loke Uei, Senior Technical Project Manager on the Microsoft Mobile Developer Experience team for not hesitating in giving his full support to the community.  Register here: http://bit.ly/3E7Emm.

 This Just In!

—————————————————————–

Gentlemen,

Also I just announce three Call of Duty Prize give-a-ways (One is the complete XBOX 360 Modern Warfare Console) for WinMoDevCamp Toronto.  I have posted details on my blog here:

http://wirelesslyobsessed.com/2009/11/10/winmodevcamp-toronto-call-of-duty-modern-warfare-2-give-a-way/

My Talk Titled, “.NET Attributes and Reflection – what a developer needs to know……”

On October 19, 2009, the first official meeting of the London .NET User Group met at Fanshawe College.  There were at least 45 people attending!  Great job Tony

Including my presentation, we also had a presentation on ASP.NET MVC and the featured presentation by Rob Labbe from Microsoft (security consultant from the ACE team) on Web Threats and how to Mitigate them.  Rob is a fantastic speaker and really captivated the audience. 

My presentation ran about 22 minutes including a couple of Q and A’s.  Here’s the link to the PowerPoint as well as the source code I used for the live example of .NET reflection in action.

https://dandouglas.files.wordpress.com/2009/10/dotnet-reflection-oct-2009-fcdnug.pptx

Here are the live recordings (screencasts) of the 2 demos I did during the presentation:

Using .NET Reflection In Code Demo  https://dandouglas.wordpress.com/2009/10/25/screencast-a-hello-world-example-of-net-reflection-in-action/

Redgate .NET Reflector Demo   https://dandouglas.wordpress.com/2009/10/25/redgate-net-reflector-demo-from-my-last-presentation/

Here’s a link to the write up of the event on the user group home page.  It includes a few pictures as well. http://www.forestcityasp.net/post/2009/10/21/Hack-And-Defend-Session.aspx

Hmm – well I was about to upload the .zip file for the source code of the reflection example I walked through as part of the presentation, but unfortunately wordpress.com doesn’t allow me to upload zip files.  :(  I’ll try and figure out an alternative place to upload them.  If anyone wants them in the meantime just let me know and I’’ll arrange to send the samples to you.

Also, as of today I’ve joined the Executive Committee for the London .NET User Group.  I’m looking forward to it!

My Video Interview From TechDays Toronto 2009 (SharePoint and BI)

On the final day of TechDays 2009 in Toronto, I was interviewed by It in Canada (http://www.itincanada.ca) about my experience at TechDays and specifically about one of the sessions involving BI and SharePoint.  I’d like to share the link to the interview.  It was completely ad-hoc and they caught me at the end of the day, and after asking me a few questions about my experience at TechDays they asked me if I’d like to do an interview.

It’s part of something called “The Efficiency Platform” and is sponsored by Microsoft.

You can get to the video from the main site by scrolling to the bottom of the page.  They have a little sub site there at the bottom where you can scroll through the videos.  Mine is listed as SharePoint with Dan Douglas

This direct link also works to direct straight to the video with no bells and whistles.

http://www.qmpmedia.com/tv/itvideo.php?vid=130&ser=itc&sor=1&cat=

Near the end of the video the background noise really seemed to pick up, so you might need to adjust the volume to hear everything properly at the end.

Screen shot from the site:

image

Dan

What I Learned At TechDays 2009 Toronto! Part 3

This will be my last post in my Tech Days 2009 blog post “series” or “trilogy?”.  I just finished soldering some wires for my car stereo – I can listen to my iPod in my car again :) … Now, I figured I could score a few minutes (well much more than that) of free time while supper is cooking, so here we go with my last update on my experience at Tech Days 2009 in Toronto.

In a quick update to yesterday’s posting What I Learned At TechDays 2009 Toronto! Part 2 Business Intelligence where I talked about the BI session and how useful the session was to me.  Today, I’ve started going through Analysis Services and Integration Services in more detail than I ever had before.  As already planned, an Analysis Services and Integration Services implementation will be a part of our SQL Server 2008 migration (migrating from SQL Server 2000).  I’m currently setting up some proof of concept Analysis Services projects in our SQL Server 2008 test environment that will allow me to demonstrate the power of Business Intelligence to our power users.

Before I had attended this session at TechDays I was aware of these services as well as Microsoft’s BI option in general.  I’ve dabbled in it before and have watched demos and played around with it, but now I have a renewed interest in this – especially since we have some great projects in the works where strong Business Intelligence will be a powerful addition.

Ok, so on with the new.  As continued from my previous postings, I want to briefly discuss a few more of the sessions I attended at TechDays 2009 Toronto.

3. C# Advanced Features

In the “Going From 0 to 100 Dollars Per Hour with the .NET you never knew” session, I had the opportunity to see explanations and examples of advanced C# language features.  The presenters did a great job in explaining the content, and I definitely learned a few things.  Some of the features that were discussed such as Best Practices for Exception Handling and Generics, I already am taking advantage of and using quite often.  I’ve found generics to be extremely powerful and really can add a lot of value to the architecture of an application.  One interesting point that came up was that “Exceptions are for exceptional errors, not for process flow”.  Although I agree with this, I have (once or twice), by design, had my data layer or facade layer raise it’s own custom exception that signified that, for example, a duplicate entry was being added and told the UI to “change course” and notify the user that this is not allowed.  I didn’t (and still don’t) see any real harm in this :).

Some other things discussed in this session are things that would be useful in some scenarios and can contribute to a great architecture, but you just need to know when and how they should be used in cases where they will add value.  Let me briefly mention these things along with the big “take-aways” I took from each item.

  • Anonymous Methods – Keeping method concerns from leaking into class interface – don’t use for repeatable logic
  • Lambdas – Not for anything re-usable; like an anonymous method on steroids
  • Extension Methods – Add behaviour to types without modifying types –  Good for string manipulation, enumerations
  • LINQ To Objects – The SQL of Collections
  • Closures – Powerful way of creating delegate with context

4. Team System

The “Database Change Management with Team System” session was important, because I think (like us) there are many people using Team System (and TFS) that are not using it effectively.  At the beginning of the session, the question was asked “How many people in the room have a good change management process?” – no one in the room raised their hand – and the room was packed!

We’ve been using Team System and Team Foundation Server for years, and it’s a big improvement from Visual Source Safe; we are familiar with work items and bug tracking, etc, but we still aren’t getting the best value out of it.  This session explained various important features that would be valuable to our organization.

  • Branching – This is probably one of the biggest areas we could add value to.  We don’t currently branch effectively and with TFS you can branch and merge quite well.
  • Managing Change Sets
  • Work Items
  • Classifications
  • Build Automation

The ideas presented in this session will be useful in improving our processes around Team System.

5. Layering

I’m all about layering really.  I’ve done a few presentations on layering, but in the “Layers – The Secret Language of Architects” session I learned about some new things as well.  By the way, the title of this session holds true, in my opinion – layering is one of the fundamental cores in software development that an application architect should understand.  This session, by Adam Dymitruk along with John Bristowe, touched on some new topics for me, including, MVVM (Model-View-View-Model) which has been recently introduced by Microsoft but is not yet standardized.  This session also touched on the following topics (ASP.NET MVC, Domain Model, Design by Contract, Domain Driven Design, and more).  Domain Driven Design really interests me and I am in the process of learning much more about it.

It was also strongly recommended that you check out MSMQ as it is very useful for message queuing.  This is something I’ve used a little bit and I will agree can be pretty valuable.

This was a great session as it introduced different layering models and design patterns used for an application architecture.

So, that wraps up the top 5 sessions (in no particular order) that I attended from TechDays 2009 Toronto.  If anyone reading this has any comments on any of the three articles I would welcome them very much.  I’d also welcome any comments on how I could improve this type of blog posting in the future.

(I know I left some names out – credit to many of the points listed above goes to the individuals presenting the content – I am hoping to get names to fill in more of the details about the individuals doing the presentations – I didn’t write them all down)

 

Dan

What I Learned At TechDays 2009 Toronto! Part 2 Business Intelligence

In follow up to my last article What I Learned At TechDays 2009 Toronto! Part 1 Windows Mobile 6.5, in this article I will talk about the session I attended on BI.

At the end of the final day of the event, I was video-interviewed by ITInCanada.com about my thoughts on TechDays 2009 Toronto and my specific thoughts about what I took away from the session on BI.  The interview required some quick thinking, but I feel I did well for an impromptu 3-minute interview.  The point I made at the end of the interview, that I’d like to re-iterate is that when attending an event like this it’s important to really think about the sessions in terms of value to the organization – and how you can use the information and advice to bring value back to your organization.  When I get the link to the video I will post it on my blog.

Ok, so I’d like to move on with more of my “take-aways” from TechDays 2009 Toronto –

2. Business Intelligence

I took a lot out of the  “Using Microsoft Dashboards, Scorecards, and Analytics to Monitor the Health of your IT Infrastructure” session, and for me, it was probably one of the most valuable sessions I attended at TechDays this year.  It focused on Micorosft’s BI offering, and also used practical examples of using BI for monitoring the health of your IT infrastructure (as repeated from the title of the session :))

I feel there is a large amount of value for good Business Intelligence, especially in my current organization (a global automotive parts manufacturer).  We have some power users that can do incredible things with Excel as is, but they’ve also become incredibly reliant on IT to provide them with all kinds of custom reports, graphs, etc.  I’ve seen the work they can do with data analysis and charting data in Excel, and if we empowered them to take advantage of data, that lets say we make available through Analysis Services, they would have a plethora of data at their disposal to easily consume, chart, and analyze in Excel or other tools.  This would take strain off of IT development in providing reports along with many custom reporting options and allow users to create, share, and manipulate the exact data reports and charts they need.  We have a global corporate intranet hosted at our head office that is SharePoint based that would be a perfect location for users to manage and share this content that they create.

The demos in this session were great.  I got a good look at how to use Excel 2007 to analyze analytical data from Analysis Services.  It was literally drag and drop, point and click, to embed and aggregate this data in excel as a chart or table.

There was a lot more to this session as well, and it dug pretty deep into using Integration Services, Analysis Services, Cube Design, Star Schema, Data Source Views, Fact Tables, SharePoint, PerformancePoint Server, etc – each of these technologies can contribute to making a BI solution work!

– to be continued –

What I Learned At TechDays 2009 Toronto! Part 1 Windows Mobile 6.5

TechDays Toronto 2009 wrapped up nicely on Wednesday, and I’ve finally had a chance to go through and review my pages and pages of notes (writing, diagrams, and chicken scratch).  I learned a lot at this event, and I’m planning on blogging a few posts over the next few days about it.  I find that just by blogging and thinking about the things I wrote down at the event helps me to retain a lot more than I would have otherwise, and it gives me another opportunity to think about these topics more deeply.

Ok – before I get to the sessions, let me start with lunch –> Lunch the 1st day was satisfactory at best, but lunch redeemed itself on the second day with the Chicken Salad Sandwich.  There were some booths and tables set up outside the lunch area demoing products and other things, but I didn’t see much there for developers – albeit I gave it a quick “twice-over” and didn’t look too deeply at any of the tables.

The power of Twitter!  I’ve been able to get involved with the TechDays twitter conversation with the tag #TechDays_ca – this was a powerful way to connect with many people attending the event and also many of the speakers and organizers.  I’d recommend to anybody to hit up the Twitter bandwagon.  I use TweetDeck to manage my tweets and twitter conversations.

So, in no particular order, I want to talk about some of the top things I learned and that interested me the most….. Let me start with the Windows Mobile Session…..

1.Windows Mobile 6.5

 In the “Taking Your Application on the Road with Windows Mobile Software” session, Mark Arteaga and Anthony Bartolo did a presentation on Windows Mobile 6.5 development and the Windows Mobile Marketplace.  This was a session I was really looking forward to, and it didn’t disappoint.  I have done some mobile development as it relates to the manufacturing environment that’s mostly related to data collecting, bar code scanning, etc.  I’ve done some interesting things around queuing to local SQL databases when the server is unavailable and things like that.  However, in this session Marc explained things in Windows mobile 6.5 that were just completely cool, but not only cool – practical demos and applications were also discussed.  The potential with Windows Mobile 6.5 is really exciting.

Let me summarize the key points, from my notes, that were most interesting to me:

Fake GPS

  • Used for development of GPS enabled applications
  • Emulates a physical GPS
  • Uses a text file for reading raw GPS data

Cellular Emulator

  • Integrate with Pocket Outlook (contacts, email, SMS, appointments, tasks)
  • In the development environment (Visual Studio .NET)
  • Send phone calls to the emulated phone
  • Send SMS messages

Windows Mobile Marketplace

  • Launch to coincide with the release of Windows Mobile 6.5
  • A market place for developers to sell their applications to Windows mobile users (my impression is that it will be similar to the app store on the iPod)
  • Developers get 70% of money for the purchase of the software by consumers.  Microsoft gets 30% which goes directly into the infrastructure of the Marketplace

WM 6.5 & Misc

  • Full IE browser with the same capabilities as the desktop browser (Note: This is a huge feature in my opinion.  I’m a Windows Mobile user and the browser is very limited.  Although I hear positive things about Opera, my experience with is has left me wanting to go back to Pocket IE)
  • Gestures (I can see these touch gestures being useful and allowing the developer to create better mobile apps with native gestures built in for flipping, panning, etc)
  • Widgets – similar to gadgets available in Windows XP
  • System state – trapping phone calls, SMS, media player song information, etc
  • Accelerometer available on certain devices – Unified Sensor API is available on codeplex
  • GSensor – Shake and Drop detection

Although I don’t see the new features having a big impact right now on the type of mobile application development that I’m currently involved with on the shop floor, there is definitely potential in the future as more device manufacturers provide hardware that is compatible with the latest Windows Mobile OS.  The move to include a full IE browser, as I understand it, will give the mobile device the same IE functionality as with a desktop PC, but I don’t believe that this functionality will take away from the types of applications that are currently developed natively for Windows Mobile (versus running in a browser) using .NET, C++, etc…. but in the realm of mobile browser based applications this is a huge step forward.  It also guarantees that any existing website should work on the mobile browser – however, if it is not customized for the mobile screen display resolution it may not look correctly or will require you to pan and scan the page.

I do see a huge impact for mobile development in the areas outside the shop floor environment with Windows Mobile 6.5.  For anybody interested in (or currently) developing mobile applications on the .NET framework, WM 6.5 is very promising.  Based on what I’ve seen, the quality of available applications should be increased with WM 6.5, and time to market from development to production will likely be able to decrease due to the addition of new native functionality.

At the end of the session they gave away Rock Band Beatles Edition to the winner of an audience competition where audience members got up in front of everyone to describe the mobile application they’ve been working on.  Cool!

To be continued – I will post again shortly about some more things I learned at TechDays Toronto 2009.

Dan

TechDays 2009 Toronto Tomorrow …. (and a blurb about Lean)

I’m sitting in my hotel, and I just finished a very salty Prime Rib sandwich – although it was pretty delicious until the last couple of bites, I just couldn’t bring myself to eat the last few bites due to the ridiculous amount of salt.  I spent a fair amount of time walking around downtown Toronto trying to find a restaurant to eat at before just deciding on the one back at the hotel…  this should be a lessons learned – just eat at the hotel :( … There really aren’t many restaurants within a few blocks around here anyway. 

Tech Days 2009 (Toronto) starts tomorrow, and I’ll be up early to catch breakfast there.  I’m looking forward to the sessions and I’ll blog about the highlights in the next few days.

On another note, although I’ve seen it many times, I love the Toronto skyline – especially driving down the Gardiner into Toronto.  Although, not everyone shares this opinion (M), you couldn’t have asked for a better addition to the CN Tower than the lights they added to it a few years back. 

While driving down I listened to the first CD and part of the second CD of the audiobook titled “Lean Thinking”.  I started thinking about lean and waste as it pertains to 1) The Manufacturing Environment where I am working 2) Waste and process improvement within our IT department, but specifically speaking of waste within software development. 

It’s amazing, when I think about the effort that we’ve put in over the last several years focusing on decoupling, architecture, design patterns, reusability, etc and how it has contributed to much less waste, less defects, and allowing us to focus on increasing customer value.  However, there is so much more we can do, and as I’ve been listening to this audiobook ideas are popping in my head like crazy.  Lean is much more than “Lean Manufacturing” – Lean Software should definitely be something we strive for.  Over the next few months look for a few more postings on my ideas about Lean Software.

 

Dan