ArchitectNow
Kevin Grossnicklaus' Blog

Windows 7 Launch: St. Louis (Resources)

Microsoft recently held their Windows 7 Launch event in St. Louis where I was very fortunate to be able to deliver the Windows 7 introduction to developers track (opposite Mike Benkovich from BenkoTips.com).

This St. Louis event was held at the AMC Theater’s in Creve Coeur, Missouri and supposedly drew 1200 local IT resources (roughly 600 for the developer track and 600 for the IT pro track but I didn’t get an exact count from anyone).  I was involved with the developer track and in my auditorium I had roughly 250+ people who fell into one of two categories:  first, those who were software developers and interested in Win7 as a new platform for rich client development or, second, those who were interested in Win7 as a consumer tool and took advantage of the opportunity to learn a bit more about the OS (and possibly just to get the free copy given away at the launch event :)

For those of you who are .NET developers and interested in developing applications which take advantage of the great features of Windows 7, information can be found below. 

API CodePack

I would first start you out by pointing you to the Windows API CodePack for .NET.   This is a set of assemblies you can utilize from your .NET application to easily access all of the cool features of Windows 7.  Things such as:

  • Windows 7 Taskbar Jump Lists, Icon Overlay, Progress Bar, Tabbed Thumbnails, and Thumbnail Toolbars.

  • Windows 7 Libraries, Known Folders, non-file system containers.

  • Windows Shell Search API support, a hierarchy of Shell Namespace entities, and Drag and Drop functionality for Shell Objects.

  • Explorer Browser Control.

  • Shell property system.

  • Windows Vista and Windows 7 Common File Dialogs, including custom controls.

  • Windows Vista and Windows 7 Task Dialogs.

  • Direct3D 11.0, Direct3D 10.1/10.0, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite, Windows Imaging Component (WIC) APIs. (DirectWrite and WIC have partial support)

  • Sensor Platform APIs

  • Extended Linguistic Services APIs

  • Power Management APIs

  • Application Restart and Recovery APIs

  • Network List Manager APIs

  • Command Link control and System defined Shell icons.

  • “PhotoView” Sample Application

    Another great Windows 7 resource for .NET developers is utilizing this sample application as a starting point.  It’s called XP2Win7 and is a sample photo viewer that demonstrates a clean way to have a single application which exposes the appropriate functionality depending on the OS it is running on.  It runs effectively in XP, Vista, and Win 7 while adding OS specific features based on it’s host.  On a Windows 7 machine it supports Jump Lists, MultiTouch, etc.  It’s definitely worth the look to see some cool Win 7 features in action.

    Sessions

    At this recent launch event, my three sessions were related to Windows 7 developer topics.  I covered the following topics:

    Taking Your Application to the Next Level with Windows 7

    Basically this talk covered common compatibility issues with moving legacy applications into Windows 7.  It also talked about a number of breaking changes in Windows 7 when compared to previous Windows OS platforms.  We also introduced newer concepts such as the Jump Lists, the new Task Bar, breaking changes when moving form XP to Vista, Troubleshooting Packs, etc.

    My presentation can be found here: Presentation

    Beyond Human Interaction with Windows 7 Sensor and Location Platform

    Here we talked about the new sensor platform and used a cool Freescale Sensor board for the demo’s.  We talked about the Win7 Ambient light sensor and used the board to demonstrate an accelerometer sensor.  The final part of this session discussed location sensors.  I had some pretty cool demo’s for this one including modification to the XNA Racing Starter Kit which allowed me to play the game with the board and the accelerometer and also use the ambient light sensor to affect the night/day aspect of the game.

    If you are interested in the board I used for the demo you can buy the exact board here.  The cost is ~$30 according to their site.

    My presentation can be found here: Presentation

    Building next Generation UI with Multitouch and Windows Ribbon in Windows 7

    The final talk I gave related to the new Windows Ribbon and the Multitouch capabilities in Windows 7.  I was using an HP TouchSmart Notebook with a 64-bit version of Windows 7 and the full TouchPack loaded on it.  The demonstrations were pretty cool and I got to play some games on the big screen. 

    Many people came up to me after the show and asked where they could find info on this laptop and here you go: Laptop Info.

    I definitely foresee a day where all laptops have these same capabilities.

    My presentation can be found here: Presentation

    Resources

    In addition to sharing the presentation, the links below will definitely help any .NET developer learn to take advantage of the great new developer oriented features of the Windows 7 platform:

    Compatibility Resources

    Windows Application Compatibility Center

    http://msdn.microsoft.com/en-us/windows/aa904987.aspx

    Application Compatibility on TechNet

    http://technet.microsoft.com/en-us/windows/aa905066.aspx

    Application Compatibility Online Remediation

    http://readyset7.com/workshops

    Application Compatibility in Windows 7 Training Kit

    http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=1c333f06-fadb-4d93-9c80-402621c600e7

    API and Other Dev Resources

    Windows Developer Center on MSDN

    http://msdn.microsoft.com/en-us/windows/dd433113.aspx

    Windows Application Compatibility Developer Center

    http://www.msdn.microsoft.com/en-us/windows/aa904987.aspx

    Windows 7 Remediation Labs

    http://www.readyset7.com/workshops

    Windows 7 Training Kit for Developers

    http://go.microsoft.com/?linkid=9681321

    “PhotoView” Reference Application (XP2Win7Project)

    http://code.msdn.microsoft.com/XP2Win7

    Windows 7 Blog for Developers

    www.windowsteamblog.com/blogs/developers.aspx

    Windows 7 on Channel 9

    http://channel9.msdn.com/tags/Windows+7

    Iowa Code Camp

    This last weekend I had the opportunity to head up to Des Moines, Iowa and give a presentation at the a regional developer event called the Iowa Code Camp.  Due to a bunch of recent travel and speaking commitments (including the Windows 7 Launch event in St. Louis and spending next week in LA for PDC) I decided a weekend in Des Moines would make a very nice little trip for the family.  During my time at the conference my wife and three little girls took the opportunity to hit the local zoo and the malls and other local attractions. 

    In the essence of full disclosure, this was my first IMG_1037significant trip to Iowa.  I’d never been to Des Moines (or too many other places in Iowa) although I did grow up in neighboring Nebraska.  My trip didn’t do much for Iowa football as both (previously undefeated) Iowa and Iowa State lost on the Saturday of my presentation (although Nebraska beat Oklahoma that night which was pretty impressive to watch from enemy territory).  My first impressions of Iowa were fantastic.  The West Des Moines area (where this conference was held) was a nice or nicer than most other places I’ve had the opportunity to visit. 

    IMG_1002 The conference itself was held at the Des Moines Area Community College (DMACC) and this was one of the most impressive community colleges I’ve ever been to.  It was by no means exceptionally big but it was a great venue for this type of event and had more technology devoted to learning than any other community college I’ve ever seen.  The hallways literally had museum exhibits devoted to the evolution of the PC.  I found a Macintosh exhibit with an Imagewriter printer like I had when I was a kid.  They even had an old Altair with basic code on “tape”.  From talking to conference organizers this community college is a big supporter of the local community and it sounded like meetings and other events are frequently held there so kudos to them.

    Being from rural Nebraska I know that too often these smaller markets get overlooked for national conferences or marketing attention.  Talented developers come from all areas of our country IMG_1005whether urban or rural and Iowa seems to have more than most areas traditionally considered rural.  This means its ultimately up to these local developers and other community members to take the initiative to step up and host these things themselves with whatever support and resources they can get.  Not only does it take the initiative of the community, but it takes sponsors and other local organizations like the DMACC to recognize the value of community based knowledge sharing and for these organizations to step forward with donations of prizes and money so that the events themselves are possible.  The guys in Iowa not only had over 200 attendees (I’m not exactly sure of their final count) but their conference was as well organized as anything I’ve attended (and they obviously learned a bit from our mistakes up here St. Louis ;) Not only was it well organized but it appeared that they had some great and involved sponsors which says a lot for the local community. 

    I want to tip my hat to the following organizers (and any I forgot but were involved).  I realize how much time and work go into an event like this well before and after the day of the event itself (which is actually the easy part).  These guys hit a home run and were truly champions for their region.  Congrats guys!

    Tim Barcz

    Javier Lozano

    Levi Rosol

    Greg Sohl

    Chris Missal

    Greg Wilson (who proudly hosts his blog on SharePoint :)

    Nick Parker

    Chris Sutton

    Keith Dahlby

    (Check out their blogs by clicking on the links above)

    As far as my trip, I had a great time at the conference and in Iowa in general and, from the buzz on Twitter and elsewhere, it looks like many others did too.  I wish the organizers the best of luck in the future and I hope they can continue to host such an event and learn and grow (and I’ll gladly be back if the opportunity arises).

    Thanks again,

    -Kevin

    Development for Beginners (and Kids)

    I’ve taught a number of classes recently to people who are just getting started as software developers either as a way to change careers and move into our profession or just to people who love computers and want to learn more about how to program.   I personally love these types of classes as they differ so much from the standard SharePoint or Silverlight type course where the average student is fairly skilled and the questions and interaction from students is very technical.   In an introduction type class, everything moves at a much slower pace and the “theory”, while basic to many of us who have been doing this for a long time, is much more the focus.   Simple things like variables, conditional statements, loops, etc are the focus and we get our hands dirty with some simple console applications.

    While many of us with a few years of experience in this industry know and love the power available in VS.NET, I frequently get the pleasure of watching the eyes of students during the first night of class when we double click the icon and Visual Studio loads for the first time in all it’s toolbar and dock-window filled glory.  It’s definitely an overwhelming experience that is soon coupled with creating a new project and having to decide between VB.NET/C#/WCF/WPF/Windows/Web (Site or application or MVC?)/Workflow (Sequential or state machine?)/Office/Etc/Etc…  Obviously VS.NET brings a lot of power to developers of many skill levels but getting started as a developer with all the tools and technologies available today is a bigger undertaking than many people realize.

    Also, it is my personal opinion that schools (at any level up to and including colleges) don’t do a good enough job of educating today's developers on the skills they will use every day as part of software development teams at your average enterprise.  I do appreciate the theory I learned regarding data structures and compiler writing in college BUT I wish I could have learned more about methodologies and ALM tools such as source control and bug tracking systems.  Anyway…I’ll leave that soapbox for another post and get on with the point of this one…

    Development for Beginners

    Recently Microsoft released a great site chock full of resources for the beginning developer.  It’s called the “Beginner Development Learning Center” and can be found here: http://msdn.microsoft.com/en-us/beginner/default.aspx.

    image

    The site is a GREAT resource for anyone wanting to get started and is broken into 4 primary sections:

    -Web Track – Learn the basics of creating web applications, online applications, and services.

    -Windows Track – Learn to build Windows applications and PC games

    -Aspiring Pro – Learn about the tools and technologies required in a professional development environment including source control and other ALM tools.

    -Kids Corner – A GREAT resource and set of fun projects to introduce kids to software development.

    Track Overview

    Each of the above tracks is broken into 3 tiers and include a progressive series of lessons focusing on the basic skills necessary to get started as a developer.

    Each section includes links to download the necessary tools for working through the lessons (including VS.NET 2008 Express editions).   Each section also includes links to additional learning resources outside of this site that students can refer to as they work through the lessons.  In addition to external resources, a Tips and Tricks section helps students better learn the tools and technologies they might be using on a specific Track.  The lessons themselves vary per topic and include things such as full video, audio/podcasts, full transcripts, supporting projects and other source files, lesson plans, additional resource links, and relevant articles. 

    The screenshot below provides an example of the Web Development Tier One lessons.

    image

    Below is a sample of a lesson on “Event Handlers in Windows Forms”:

    image

    I think the organization and material provided on this site is excellent and I highly encourage anyone interested in learning to develop software to consider this a great self-paced starting point to begin to move in that direction.   With enough focus to work methodically through the various tiers of content on any track (or all of them) a student would have a very solid foundation on which to begin contributing to larger projects and possible further their career goals.

    The site also includes the makings of a community of other beginning developers you

    Programming for Kids

    The final area of this side I wanted to discuss was the Kid’s Corner section.  This site is intended to introduce kids to software development through a series of fun and challenging lessons to which they can relate.  For example, some of the web lessons have them developing a web site for a Rock band.  Where was this type of lesson when I was a kid?  The site includes articles and videos of varying levels of complexity (i.e. Beginner, Intermediate, and Advanced).  It also includes links to fun projects and other resources that kids will find interesting.

    image

    An example of the types of videos they have created which target kids can be seen below:

    image

    Another great thing about the Kid’s Corner is the fact that includes lesson plans and content targeting parents and/or teachers which they can use as part of their own plan for educating children either at home or in our schools. 

    As a father of 3 daughters (ages 11,10, and 8) my girls are definitely at that age where they have the capability (and interest) to work through much of the content on this site and I’m eager to get them started to see how far they go before dad has to start providing “development and debugging” support. 

    In closing, I have a few more great training resources I will be blogging about shortly…but, for now, let me know what you think of this resource for beginning developers and PLEASE share it with people you know are trying to get started and could benefit from something like this.

    Upcoming Developer Events in St. Louis

    Just an update on some free developer events coming up in November in St. Louis (and ones with which I am directly involved).  Please share these dates with others for whom they might be valuable.  Also, a few of them have limited capacity so please register soon.

    If you have any questions on any of the below events, don’t hesitate to get in touch with me and I will be glad to answer any questions you might have.

    .NET Chalk Talk: Visual Studio.NET Tips, Tricks, and Toys

    Location: Washington Universities CAIT Center (5 N. Jackson, Clayton, MO  63105)

    Date: Tuesday, November 3rd from 7am to 9am.

    Registration/Information: http://www.cait.wustl.edu/index.php?option=com_content&task=view&id=103

    Washington Universities CAIT program is beginning to offer a series of free breakfast events entitled “.NET Chalk Talks”. These events are offered at no charge but seating is limited and only the first 40 attendees will be accepted so please sign up soon if you are interested.

    For the first session, I will be presenting an updated version of my Day of .NET presentation on Visual Studio.NET tips and tricks. This popular session has been expanded to include a demonstration and discussion of Visual Studio.NET 2010 as well as some new plug-ins and tools available for VS.NET 2008.

    Windows 7 Launch: The *New* Efficiency

    Location: AMC Theaters in Creve Coeur (10465 Olive, Creve Coeur, MO 63141)

    Date: Monday, November 9th from 9am to 12pm

    Registration/Information: http://www.microsoft.com/business/thenewefficiency/StLouis/default.aspx

    I will presenting the developer track at the local Microsoft Windows 7 Launch Event at the AMC Theaters in Creve Coeur. This great event will include 3 talks targeting software developers and demonstrating the new features of Windows 7 as a development platform.

    The three talks are:

    · Taking Your Application to the Next Level with Windows 7

    · Building Next Generation User-Interface with Multitouch and Ribbon on Windows 7

    · Beyond Human Interaction with Windows 7 Sensor and Location Platform

    I will be demonstrating some very cool stuff (including the multitouch capabilities) and every attendee who gets into this event will receive a free copy of Windows 7.

    St. Louis .NET Users Group: A Report from PDC

    Location: Microsoft Offices (Three City Place Drive Suite 1100, Creve Coeur, MO 63141)

    Date: Monday, November 30th from 6pm to 8pm

    Registration/Information: http://www.stlnet.org

    Microsoft is holding their Professional Developers Conference (PDC) in mid-November in Los Angeles, California (www.MicrosoftPDC.com). It is traditionally during this event that many new Microsoft products are announced and major upgrades and new features to existing products are announced and/or released. I will be in LA for this event and then, in late November, am scheduled to provide a talk at the local St. Louis .NET Users group to share the highlights and demonstrate the software which comes out of PDC.

    Coders-4-Charities: Giving to our Community

    I have meant to have this posted earlier in the week and then it became an email to all volunteers and finally morphed back into a blog posting. So here goes…4018716013_877cf19d8b

    Last weekend (Oct 16th-18th, 2009), St. Louis held it’s first annual Coders-4-Charities event at Washington Universities CAIT center in Clayton, MO.   The event had been in the planning stages for many months and we had done a significant amount of work in lining up 9 charitable, non-profit organizations which each had IT needs which we felt we could address in the scope of a long weekend.  We’d also lined up many great sponsors (Telerik, WROX, ModisIT, PEG Group, etc) who pitched in prizes and money to help us feed and reward anyone we could dig up to help build software for charities.  CAIT’s facilities were great as always and were perfect for the type of event we were sponsoring.  The St. Louis United Way was also instrumental in helping us get everything organized and even provided some great volunteers to assist during the event.

    So after much (and yet to little) planning, the event kicked off on Friday evening and 70 great and dedicated volunteers arrived at CAIT.  As far as I am concerned, we had already succeeded the minute I realized how many people had actually turned out.

    4019477410_5fac3b3025

    Deciding to hold an event like this over a weekend has the added bonus of not requiring people miss work but then you are asking people to give up their free time with their families, friends, hobbies, etc.  While it doesn’t seem like much, you’d be amazed at how hard it often is to get people to give up that personal time (especially without any direct benefit to themselves) While we had a great set of organizations lined up to help, I have to admit that I was concerned we’d be able to get people to devote the necessary time and effort to do the work.  We’d done all we could to reach out to peers, friends, local organizations, etc.  But I was still concerned about the turnout in the days leading up to the event.

    It was apparently something I shouldn’t have worried about.  Which leads me to this post…

    4018716177_cde5f21abeI wanted to put this out there to say THANK YOU to all the volunteers who came out to our event and donated their time and talents to help others.  It was a fascinating thing to watch strangers work together through adversity, stress, technical difficulties, and the utter confusion that oftentimes (ie. ALWAYS) comes with rapid software development.  An extra special thanks goes to the team leads and those of you who stepped up and went above and beyond to share your knowledge with all teams (Scott “Kingpin/N3bu1a” Allender?)

    Many of you I knew prior to this event and are good friends, co-workers, students of mine, peers, or people I just knew through the community.  I had almost begged a few of you to come (which probably wasn’t necessary) and you stepped up to help out in some very key ways.  During our kick-off on Friday, I looked out at a room split between faces I’d recognized and many more I didn’t.  By Sunday night, when we stopped to show off our work and recognize our teams, I found myself in a room full of friends where I recognized everyone (even if I didn’t get to interact with everyone as much as I would have liked).

    4018716455_5e3400e27f I’d be lying if I claimed that everything went perfectly…  We had our hurdles and some things definitely didn’t go as smoothly as we’d like.  Some projects didn’t get as far as the teams had hoped, others were more stressful than we’d hoped, and at one point we even ran out of fried chicken (which is always a bad thing).  But, through it all, 70 strangers pulled together, worked long hours, and worked as one big team to help make our community better by helping these organizations do better at what they do through technology.

    Another great outcome of this event was seeing the growth in all volunteers in terms of learning new technologies or gaining new skills by being involved in roles they had not traditionally played.   Many volunteers were in between jobs and it is my sincere hope that this type of event assisted them with skills and relationships that ultimately help then land their next position.

    4018716291_f5244e5f64 In the end, we learned a lot and have a significant list of ideas on how to plan things better for next year.  We think we can be more prepared, more efficient, and provide even more value to the organizations we choose to help.  The biggest thing we learned is how great our local development community is and, hopefully, all the volunteers involved with this years Coders-4-Charities will remain active with the various organizations we helped and will rise to the challenge next year when we put out the call.

    If you are interested, I’d like to point out a few great links related to our event:

    - Pictures (which probably include most of you): Click here.

    - Muljadi Budiman’s great epilog: Click here.

    - Brian Blanchard’s blog posting on CIO Online: Click here.

    - Clint Edmonson’s post event update: Click here.

    - Chris Deweese’s post: Click here.

    - Scott Allender’s post: Click here.

    - A great article in the St. Charles Suburban Journal: Click here.

    Finally, I’d like to encourage each of you (organizers, volunteers, or non-profit employees) to remain in touch.  Feel free to email me if you feel I can help with anything or answer any questions you have.  You can follow me on Twitter at http://twitter.com/kvgros or you can just keep an eye on this blog.   Each of you went out of your way to help the C4C event when asked and I want to make sure I do the same for you if asked.  I’d also love to hear what you thought, what you learned, and what you would recommend for next year.

    Thanks again and I look forward to hearing from all of you,

    KevinThumb

     

    Kevin Grossnicklaus

    ArchitectNow

     

     

    ps.  For those of you interested, I am giving a couple of talks over the next month which you might find beneficial.  I’m not sure if they have any seats remaining, but it can’t hurt to try if they might have value for what you do:

    November 3rdVisual Studio Tips, Tricks, and Toys (including a demo of VS.NET 2010 Beta 2) at CAIT

    November 9th: Windows 7 Launch “The *NEW* Efficiency at the Creve Coeur AMC Theaters (demonstrating all the great new Windows 7 features including Multi-touch…if you are able to attend you will receive a free copy of Windows 7)

    November 30th: St. Louis .NET Users Group (discussing this years Professional Development Conference)

    Chasing Technology, Our Best Idea, and Fly Fishing

    Since I was 8 years old I’ve always been fascinated by technology.  I probably was before that as well but I didn’t get a computer until I was 8 and then I think I felt like I now belonged to a “club” and started to keep an eye on technology even more (hey, I lived in central Nebraska and, in terms of computer owners in my town, I was a club of 1).

    When I say I like technology I’m talking about all the software and hardware that has become commonplace in our lives and we have slowly began to rely on without thinking.  For example, my car (actually a Jeep Liberty) has a 5” touch screen computer in it with a 20gig HD, Bluetooth, and a very nice GPS navigation system.  I can stick a CD into this thing and it will automatically download the track-listing via satellite and then rip all songs to the HD as MP3’s.  I literally bought the vehicle for these features and didn’t pay too much attention to the un-important things like MPG, etc… I owned it for 2 weeks before a neighbor pointed it that it had remote start capabilities (I never bothered to push that button on my keychain)  I also have an iPhone 3GS which is probably one of the coolest technical devices I’ve ever owned.  Between the compass/map/navigational features to the functionality of the countless applications I’ve bought or downloaded free, this is an amazingly powerful and functional device that goes with me wherever I go.  If you own one of these you know what I’m talking about.  Also, every week I get the ad’s in the Sunday paper and I dig through them to get to the technology stores and check out what’s new (and what it costs).  It’s a geeky thing to do but it’s like my own little stock market.  I have 3TB of HD space sitting around on my home network just due to deals I’ve found on HD’s over the years (do I need this much HD space? Not at all)   Thanks to Twitter and Facebook and others I now know when friends are online/offline/happy/sad/at the barber/having plumbing problems/etc.  We are so connected and interactive with all this technology it begins to be an accepted part of our day to day lives and we sometimes forget what life was like prior to us getting “plugged in”.  I’ve met/reconnected with friends and family from around the world that I haven’t seen in many years and now I feel like I “know” them and their families again.

    I’m pretty proud to have made a career out of helping people take advantage of things like this…but sometimes you have to stop, step away, and remember what it is like without all these things.  Technology is a fascinating field where there is always something new to tickle your fancy and keeping up is a constant (and expensive) battle.  I have crates of old computer equipment in my basement which is totally worthless now but was cutting edge a year or so ago (ignoring the “relics” I keep around that are over 5 years old).  I just packed away over 30 programming books because they were .NET 2.0 or older (which is legacy when it comes to making space on my bookshelf).

    Like any career-minded individual should, I’ve always had hobbies outside of my “day job”.  I still consider computers/technology a hobby but I’ve always tried to find hobbies where it wasn’t always a race and the items I buy and skills I learn don’t change as fast as they do in technology.  

    For the last 15 years I’ve been a hack guitar player (and am currently in a few more bands than my wife would like).  I study songs and techniques mastered in the 60’s and 70’s (and, yes, the 80’s :)  I’m also proud of the 20 year old amps and vintage effects I own.  Musical equipment is a rare field in which vintage is still better.  It’s a generally accepted fact that the older stuff is always better.  Then eBay and Craigslist had to come along and ruin it for me by giving me visibility into what is for sale and feeding a vintage gear habit :( 

    My other (and more recent) hobby was to take up fly fishing (and tying).  I’ve always been a fisherman to some extent but for the last 3-4 years have really gotten into fly fishing.  Here is another hobby where 20 year old equipment still works fine and the same basic skills have been honed over decades.  There is definitely a science to fly fishing but it’s also a tradition dating back 100’s of years without the radical changes technology see’s in a matter of months.  New technology still accounts for advances in equipment, lines, etc…but overall change is slow in this sport.  It’s kind of fun to learn from the “old guys” instead of being in an industry where the rapid change oftentimes causes the “old guys” to be left by the wayside sooner than they should be.  Plus it’s quieter and more relaxing than playing a guitar turned to 11.

    Where is all this going?  Last night was the first episode of “The National Parks: America’s Best Idea” (http://www.pbs.org/nationalparks/).   You might not know this but I am a big supporter of our National Parks and a frequent visitor to many.  One of my many trips to Yellowstone was the spark that got me to pick up a fly rod.  My daughters would rather go hike a national park (specifically Yellowstone) than to Disney World.   This series (of which only the first episode has aired at the time of this post) describes the history and the people behind our park system and has some stunning cinematography.   Regardless of the technological advances our country has made over the last few centuries, we have done a good job at preserving some of the greatest scenery on our planet from those advances.   No matter how much we think technology or other modern advancements can improve or enhance something, sometimes you just have to leave it alone and let it evolve naturally.

    In mid August of this year, myself and 3 friends spent 8 days in Montana and Yellowstone.  We spent 5 of those days in the backcountry hiking and bushwhacking to alpine lakes where we camped and lived off wild trout.  We took absolutely no technology and instead used topo maps and an “old fashioned” compass to get where we needed to go.  We carried everything we needed on our backs and lived off the land for awhile.   I don’t want to make us sound too “hardcore”, some of our equipment was pretty slick and revolutionary and I’m sure they didn’t have stuff like this in the “old days”.  For 4 days we saw only 2 other people (and from a distance of nearly a mile).  We were totally alone in the wild.

    At one point we hit a dead end near a lake (called Canyon Lake) and we couldn’t find a trail onward to our destination (or at least one that didn’t go over a mountain).  We ultimately ended up making a boat out of logs and boating nearly a mile through a canyon (with a few of us swimming to push/pull the boat).  There was no technology to help (and we didn’t even have a saw).  Our boat might not have been pretty (see picture below) but it held two 200lb men plus 200lb’s in equipment and kept everything dry.  It was one of the greatest adventures of my life (and, yes, we sang “I’M ON A BOAT!" with a little T-Pain effect)

    It was a fascinating trip which we didn’t take for any really deeply profound religious purposes but, basically, we just wanted to get away from all our “gadgets” for awhile.  If any of you get a chance, I encourage you to do the same sometimes and get outside (if you don’t already).  If possible, hit up a national park.  If not, just hit the local parks.  Hike, run, boat, fish or do whatever you do without technology.   I’ll always be chasing the newest ideas, sites, technologies…but sometimes I’ll be chasing some wild trout in the mountains too. 

    The moral of this story: don’t let the greatest scenery you’ve ever seen be on your desktop wallpaper. 

    -Kevin

    ps. If you get a chance check out “The National Parks: America’s Best Idea” on PBS this week. Also, if there are any fly fishermen out there please drop me a email.  We need to get together and “stick some fatties” as my friends would say :)

     

    Backcountry 2009 147 Clarks Fork Hike 056

    Backcountry 2009 072 Greg Pictures 583

    Solving math problems the .NET way

    I live in a great neighborhood and am fortunate to have some great neighbors.  Two of these neighbors (a husband and a wife actually) are retired math instructors and we always have a good time having a glass of wine and discussing why the methods our schools use to teach our children math are totally antiquated and backwards.

    Well yesterday I found both retired instructors at home scribbling madly on paper trying to solve a math problem which was supposedly intended for 6th to 12th graders (as both these retired professors taught math education their focus is on how to teach math to children and teens).

    The problem was that neither of them could find a solution to this problem (which was apparently posted in books and other instructor materials as a difficult question).

    I forgot the “story”  that went with the problem (since, unlike when I went to school, you aren’t supposed to be able to learn math without “stories” now) but basically it had to do with a Seven Eleven gas station and finding 4 items in the store that were above $1 and less than $5 that:

    Add together to equal $7.11 AND multiply together to equal $7.11.

    It was late on a Saturday night after a long day of kids volleyball games, soccer games, 6th grade football, and the legendary Chili Cook-off and Salsa Competition at Westport Plaza so my mind was already mush and finding elegant solutions to 6th grade math problems wasn’t immediately something I jumped on.  BUT…..I did think of how I could do this quickly and efficiently and not rack my brain beyond further use:  C#, Console App, Brute force, about 5 minutes.

    I’m sure their are accepted methods for solving this problem on paper (and one of my neighbors did find a solution last night sans C#) but I know my capabilities and the quickest path to a solution was firing up VS.NET, creating a C# console application, and, via brute force, working through permutations of numbers until I reached a solution.

    It was kind of a fun little problem that eventually spit out over 200 solutions (many of which added evenly to $7.11 but multiplied to something that rounded to $7.11 (example:  $7.106455).   At one point I let my computer run for about 20 minutes and didn’t find any solution…then I realized I had a comparison error between a float and a double (as I’d accidently changed data types in the middle of my algorithm due to my haste).  After a bit of refactoring my solution was a bit nicer and shot out 216 solutions.  My neighbors have (at this point) found a single answer via the ol’ Pen/Paper method.

    While we all found answers, the debate was began on which you would accept.  If a student broke out VS.NET and threw together a sweet little app (which probably overstates the elegance of my solution) and then just turned in the answers he would not be given any credit as he didn’t show his answer (and I’m not sure providing source counts).  I think solving problems via code is a skill in and of itself that unfortunately not enough kids know is possible.  We all agree that computer instruction at most levels is about as lacking as math instruction (at least in the US :) but I told them I’d be the rebel sitting in math class with my Laptop :)

    Upcoming Events in St. Louis (and elsewhere)

    Just wanted to drop a quick post with an update on some upcoming developer events in the St. Louis area.

    First, as mentioned in previous posts, the first annual Coders-4-Charities event will be held on October 16th-18th.  More information can be found on our site at http://www.c4c-stl.org.  Please consider volunteering your time and sharing information about this event with your friends/peers.  If you have any questions drop me an email at kvgros@architectnow.net.

    Second, on October 22nd and 23rd at the Tivoli Theater there is a local developer conference called Strangeloop.  Check out their website here: http://www.thestrangeloop.com/.   It looks like a great conference for a great price so I encourage everyone to go.  I will be part of a panel discussion on coordinating and working with virtual teams in virtual environments.  It’s a lunch panel and I’m not sure which day it will be on.  Stop by and say hello if you see me.

    On November 7th, 2009 in Des Moines, Iowa will be the Iowa Code Camp.  I know this isn’t a St. Louis event but a number of the great developers from the Iowa community made it down to St. Louis to be involved in our Day of .NET so I wanted to encourage any of you who were interested to make the drive up to their great event.  I’ll be there.  More information can be found at http://www.iowacodecamp.com.

    On November 9th, 2009, there will be a Windows 7 Launch event at the AMC Theaters in Creve Couer.   I think registration for this might be closed but feel free to get put on the waiting list.  Looks like attendees will get a copy of the “More Happy” Windows 7 Goodness!  If you are already registered (or end up getting in), I’ll be onsite working a booth with other local community leaders.  More information can be found here: http://www.microsoft.com/business/thenewefficiency/StLouis/default.aspx 

    Finally, on November 17th-19th, 2009 Microsoft will be holding their Professional Developers Conference (PDC) in Los Angeles, CA at the Convention Center.  This will be a HUGE event for the .NET community as many new products are released and many newer products are announced.  Not only are the keynotes and technical sessions at PDC always fantastic, but the networking opportunities and camaraderie amongst developers from all over the world is second to none.  Microsoft does a great job every year with this conference and I can’t wait for this one.   If any of you are going, drop me an email and let me know and we’ll coordinate some type of dinner/happy hour.  I’m also working a room for a Birds of a Feather session so I might run in to you there.  Check out the PDC website at http://microsoftpdc.com/ and let me know if I’ll see you in LA in November.

    That’s all I wanted to share for now.  Please check out some of the links above and, if you are in the neighborhood, stop by and support your local development community.  If you have any questions regarding any of the above events feel free to drop me a line and I’ll do what I can to answer.

    -Kevin

    Introducing ArchitectNow and Coders-4-Charities St. Louis

    There has a bunch of great stuff going on here in St. Louis and it’s about time I shared some of the news.

    St. Louis Day of .NET 2009

    This event was held on August 28th and 29th here in St. Louis at the Ameristar Casino and Conference Center.  We had 500 people in attendance (including attendees, speakers, etc) and the overwhelming feedback was that is a HUGE success.  As organizers everything fortunately came off smoothly after all of our stress and prep-work.   We’ve accumulated a list of “lessons learned” for next year and are already planning for 2010.  Many others have blogged about this event so I won’t belabor the point but I did want to thank everyone involved in planning of this event and all attendees and speakers without whom it couldn’t have happened.   Our website (http://www.stlouisdayofdotnet.com) has links to pictures from the event and session slides if you are interested.   As mentioned, we are currently planning for next year so please drop me an email if you are interested in speaking or sponsoring.

    Please check out the site for a list of all speakers and sponsors who so generously donated their time, money, and other resources to make this event happen.  If you know any of them personally or professionally, please take the time to thank them for all the do.

    ArchitectNow

    Next, after 10 years working as the Chief Architect and .NET Practice Leader of a St. Louis, MO-based consulting firm called SSE I have recently started my own firm called ArchitectNow (http://www.architectnow.net).  The goal of ArchitectNow is to provide the same types of architectural consulting and services I’ve offered through SSE by providing my clients with the means to grow and expand the capabilities of their own internal development staff.  I’m currently engaged in performing everything from architectural and code reviews to designing and delivering custom .NET training on some pretty cool topics.  I’m really excited and so far things are going great and, if you want to know more about what I’m doing or to check out a calendar of events for upcoming classes, seminars, and conferences in which I am involved, please check out my site at the link above.   You can also follow the business on Twitter @architectnow.  I’ve been learning a lot about getting a business of the ground and have a whole notebook filled with blog topics regarding info I’ll share on here over the next month or so.  So stay tuned for much more on the ArchitectNow site…

    Part of the rational behind starting a firm like ArchitectNow was to ensure I could continue to devote time to the St. Louis development community and help with things like the St. Louis Day of .NET conference.  (http://www.stlouisdayofdotnet.com) and the Coders-4-Charities event we are holding here in town in October (http://www.c4c-stl.org).  I’ve gotten to work with some great community members during the organization of events like these and am pretty excited about the direction the St. Louis development community is heading.  For these reasons I’m looking forward to having a bit more flexibility in how I am involved and can support those efforts.

    Coders-4-Charities St. Louis 2009

    Last (but not least), over the last few years our peers in the Kansas City area have organized a charitable event called Coders-4-Charities wherein local IT talent (i.e. coders, PM’s, graphic/web designers, DBA’s, testers, network technicians, etc) are asked to donate a long weekend of their time and talent where they are then organized into project teams who develop solutions for local non-profit/charitable agencies who cannot generally afford these types of services (and, most likely, aren’t aware of what technology capabilities exist to help their organization).  

    Since hearing about this event I have worked with a number of other St. Louis volunteers to help organize a St. Louis version of this same event that focuses on local charity agencies in our region.  While our implementation is slightly different, our goal is the same:  Help our community by helping these agencies!

    Our fist-annual event is scheduled to run from Friday evening through Sunday evening on October 16th-18th.  We have secured the training facilities at Washington Universities CAIT program for use by our project teams (complete with fully configured student development machines and high bandwidth internet access and free wireless).

    We have worked closely with the St. Louis United Way and sent a project request to 40+ agencies out of which we have received and selected 9 agency projects.  You can find out info on our sponsored organizations here: http://www.c4c-stl.org/CharityOrganizations.aspx 

    As of now we are actively gathering more IT volunteers via our website at http://www.c4c-stl.org.

    If you (or anyone you know) might be interested in this event, I encourage you to go to the above and get more information.  You can read about the agencies we are helping and about how the logistics of the weekend will work.

    We are excited to be able to bring our community and our industry together for an event like this and, in reviewing the projects we are working to bring to fruition, we are even more excited about the potential impact a single weekend of our time can have on this town. 

    Even if you can’t be involved, it would be of great value to us for everyone to help us get the word out about this event by posting our website and goal on Twitter, FB, blogs, etc.  Any help you can provide in getting news of what we are trying to do in the hands of St. Louis IT resources would be of great help to us.

    If you have any questions about how you can get involved with our event as a volunteer or a sponsors, please drop me a line via this blog or at Organizers@c4c-stl.org.

    Catching Back Up and St. Louis Day of .NET 2009 Announcements

    Where Have I Been?

    I got to checking out old blog posts today and realized it’s been months since I’ve had the time to sit and put up a post.  That’s not to say that a lot hasn’t been going on so I figured it’s time to post.

    Since my last post (which, btw, was posted while I was in Las Vegas for Mix09 in March I have been:

    • Traveling – I’ve spent time touring Rome, Italy, working in Bangalore, India, and working on projects in Denver, CO and Reno, NV.  My job doesn’t generally call for travel so when some comes up it’s usually exciting, but I do have to admit that the first six months of this year have been rough.  I’m glad to be currently taking time off from airports.
    • Coordinating – I’ve been devoting a lot of time to put together a regional developer conference called the St. Louis Day of .NET.  While I haven’t posted about it until now (see below) it’s been eating up all my time to do the behind the scenes stuff that go into making something like this happen.   In addition to the DoDN 2009 conference, I’m organizing a St. Louis based Coders 4 Charities event to be officially held in October of this year.  This event is something I’ll talk much more about in later posts but it should be a great opportunity for local IT resources to help our community.
    • Working – I’ve been working very hard on a huge project for work in which we have a few St. Louis based resources (including myself) and 17 overseas resources (in Bangalore, India) working for a client in Denver, CO.  We are delivering the entire project (a huge WPF/CompositeWPF client and a corresponding ASP.NET AJAX client both hitting a WCF service tier against Oracle 10g) in roughly 8 months.  Which means a lot is going on while trying to coordinate and troubleshoot.
    • Playing – In the essence of true disclosure, I play guitar in two bands: one a country band and one a part-time rock band.  That’s a lot of practices, shows, and practices…

    But enough excuses for me not posting…I’m back in Missouri on a rainy Sunday afternoon and wanted to throw up some information on the upcoming St. Louis Day of .NET 2009 conference.

    St. Louis Day of .NET 2009

    As mentioned above, myself and a number of other great coordinators are actively coordinating all the details for a large, regional developer conference to be held in St. Louis on Friday and Saturday August 28th and 29th.  The conference, which is called the St. Louis Day of .NET 2009, will feature two full days of great technical sessions presented by a host of great speakers (and a few by me).  The event will be held at the Ameristar Casino/Conference center in St. Charles, MO which offers a VERY nice facility for this type of event.  We worked hard to make this location happen and can’t wait to put on our conference there.  Our conference website is http://www.StLouisDayOfDotNet.com where you can get a ton of information on the conference including the currently confirmed speakers and sessions.

    As to speakers, we are very close to finalizing all our speakers for this years conference and we have been very fortunate to line up some great content.  If you are one of those speakers we have notified already (or who have been working with us on bio’s,session abstracts, or scheduling) we definitely appreciate your time and commitment.  Unfortunately we had a few more speakers respond than we could take due to time and space so we’ll shortly be notifying those we were not able to select.  Which is kind of a bummer for us as we appreciate anyone willing to volunteer their time and effort to support other developers do their jobs better.

    We have a little less than a month left for registration (which costs $100 per attendee) and are seeing a great response.  We’ve also been putting together a new 100% Silverlight-based website which should go live very shortly. 

    Currently we are organizing the agenda, working on printed advertising/agendas/badges, coordinating final speaker confirmations, purchasing conference shirts and gifts, negotiating audio/video needs, working on final sponsorships, organizing the vendor fair, and a number of other tasks.  So, it goes without saying conferences of this size aren’t easy but, fortunately, there are some great volunteers working alongside me this year to make this event happen.  As the conference is about a month and a half away, the large majority of our work is still in front of us but I wanted to start putting up some posts to raise awareness of the event and what we are doing.

    So, if you are reading this and are (or were) unfamiliar with our event, please take the time to check out the site and, if you think there will be value, please consider attending or sponsoring.  While there is a $100/per person fee to attend, it’s important to realize that this event is put on by volunteers from the local development community for no financial gain.  All money collected covers expenses and even the attendee fee is much too small to organize such an event.  We are very fortunate to have had some great corporate sponsors step up and put their own money into this event during a rough economy.  Our intent isn’t to get rich but rather to provide a local opportunity for developers, graphic designers, project managers, testers, and any person with a technical background to learn from others, to share what they know with others, to network with their peers, and to collectively help raise the quality and visibility of the work that we do and the value we provide to our organizations.  While financial sponsorship is great, if that isn’t an option, please consider just attending.  The more people we are able to help, the more value we can provide to the overall community.   If you don’t feel that this conference is a fit for you personally, please share information about it with others you feel it may better serve.

    The next month or so will bring many new announcements for the conference and many of you (if you are IT professionals in the St. Louis region) will probably hear more about it via other channels.  Please, check out our website and/or sign up to follow our Twitter account at http://twitter.com/stldodn

    Thanks again for reading all this and checking out our conference.  I’ll be writing a lot more lately now that the travel schedule is slowing up. 

    Also, a big thanks goes to our conference sponsors for helping make this years event possible (if you want to be on this list, please drop us an email at sponsors@stlouisdayofdotnet.com) :

    Platinum Sponsors

    And the many Gold, Silver, and Bronze sponsors which can be found on our site at http://www.stlouisdayofdotnet.com/sponsors.aspx.

    A final big thanks (the biggest actually) goes to the many dedicated souls here in St. Louis who are working tirelessly behind the scenes to make this event happen.  I’m but a small part of a big team and these people make it fun to coordinate something like this (not just fun they make it POSSIBLE):

    • Jeff Fattic – Quilogy
    • Scott Spradlin - NSI
    • Chris Deweese – REJIS (a newly appointed Microsoft MVP :)
    • Mul Budiman – MiTek
    • Clint Edmonson - Microsoft
    • Michelle Marcus – A Free Agent until tomorrow
    • Eric Brown – Thomson Reuters
    • Bill Evjen – Thomson Reuters
    • Jeff Strauss – Free Agent

    That’s all for now…more to come…

    -Kevin