Visual Studio 2008 Launch Event

This post is a duplicate from the istu blog.  The original can be found here.

Microsoft is going to make the rounds again with the Visual Studio 2008 Launch event.  They are going to lauch their Visual Studio 2008, SQL Server 2008, and Windows Server 2008 products.  I went to the lauch event for Visual Studio 2005 and the presentations were pretty lame but the reason you should attend....free copies of Visual Studio 2008 and SQL Server 2008 (last time they were "real" copies and not the express versions).  Every attendee gets a copy!

I signed up for the Detroit event.  See you there!  You can register here.

Day in the Gadget Life

Homelessdinner
As others have done before such as James Kendrick and the guys at Gotta Be Mobile, I am going to document a typical mobile day for me.  I will include the software and the gadgets I use throughout the day in order to get me through the day.

For those of you that don't know, I am an independent software development consultant and I am currently working with several clients.  The following chronicals my day as it was on this past Monday.

My iPhone went off at 7 am as I use that as my alarm clock.  I grab it and check my email and calander for the day.  It helps me get organized for the day and jog my memory for what I need to do.  I then check my SMS Twitter messages to see what else is going on in my virtual world.  On Tuesdays, I also check the new music that arrives in iTunes.  If anything that interests me is released that day, I usually download it from the iTunes WiFi store so I have something new to listen to that day.

It is now time to stop playing, so I hop in the shower and get dressed.  I have a meeting at a client site and so I need to get properly dressed and not just throw on my usual jeans and t-shirt mode when working at home.  I go down to my office where my Lenovo Thinkpad X60 tablet is sitting in it's dock from the previous night.  I put it in hibernate mode (something that takes several minutes in Vista) and load it into my Tom Bihn Ego bag.  While I am doing this, I  place my iPhone into it's dock and it syncs with my desktop PC in order to grab any new podcasts that may have come down the previous night.  I then make my way upstairs to wkae up my daughter and get her ready for day care.  I grab my Tom Bihn bag and my iPhone and I am out the door to drop my daughter off and proceed to my meeting.

After I drop my daughter off, I turn on my Garmin Nuvi 350 GPS unit and head towards my client's office.  Although I have been to the client's site many times, using my GPS allows me to get around any traffic jams that may occur on my way.  Waiting for the GPS to boot up when stuck in traffic may make me miss some opportunites to redirect my route so I keep it on just in case.  My client's office is about an hour away so to keep entertained, I often listen to my podcasts that I just synced from my desktop PC.  In order to listen to these, I use the b which I do not like as a solution.  The FM transmitter makes me have to turn off the radios on my iPhone in order to not allow for any interference.  This means that all calls are routed directly to voicemail and I have to pause my podcasts from time to time on the trip to make sure I didn't miss an important phone call.  I am looking for a new solution such as a car stereo with a jack or an integrated iPod control but I have not done that yet.

Once I get to the client site, I grab my tablet and get it set up before the client gets to the meeting room.  During the meeting, I need to show the current software features that I have completed in between the last meeting and the current one.  I also need to get feedback on the current software and plan what will be done between now and the next meeting.  In order to do this I often need to flip in between tablet and laptop mode.  In notebook mode, I use the keyboard and mouse to enter data and show the application.  I show the client the software over a projector and so I put the tablet in presentation mode through the Lenovo tools.  Once that is complete, I unplug the projector and flip the tablet into tablet mode.  I bring up the meeting within Outlook and click on the Meeting Notes toolbar item in order to enter my notes within OneNote and keep a reference back to the meeting within OneNote.  I absolutely love this integration bewteen Outlook and OneNote.  During the meeting, I often have to refer back to a live web site that we use to keep the client's project in order.  To accomplish this I plug in my Merlin S720 Sprint EVDO PCMCIA card.  This allows me to access the internet without requiring me to get access to the client's internal network.  I love that fact and my client appreciates it as well.

The meeting is over at 11 am and it is now time to head back home.  I plug in the iTrip and start my podcasts listening.  I use my GPS unit to get back home as well.  When I am about 15 minutes from home, I feel the urge for Chineese for lunch.  There is a great Chinees resturaunt near my home but I forgot the number.  I grab my iPhone and use Google maps to quickly find the number and call them.  I place my order and pick it up on my way home.  I get home and dock both my iPhone and tablet.  While eating my lunch, I pull up some recorded shows from the previous night on my DVR.  I finish my leasure time and it's time to get back to work.

I go back downstairs to my office and take a look at my notes I took in OneNote.  I enter any tasks that came out of the meeting into FogBugz and Morale.  I am using Morale side-by-side as a test case before I release it.  I also enter any requirement changes into our wiki we are using to track user requirements.

I stay in my cave and slang code for several hours on my desktop computer.  I use Visual Studio to develop as well a lot of tools that augment the development.  I listen to my music and watch video podcats on iTunes.  I am often on Microsoft Messenger IM'ing people.  I use Twadget to Twitter throughout the day.

It is now 4 pm and I have another meeting with a new client.  I enter the address into my Garmin GPS, through my Lenovo tablet in hibernate mode and into my Waterfield SleeveCase bag.  I do not anticipate this to be a long meeting so I can just take my tablet and no extra power supplies or batteries.  I arrive at the meeting a little early so I through in the Sprint EVDO card and read a couple of my RSS feeds using Newsgator Online.  My client arrives to the meeting and so I again use the Outlook and OneNote integration.  I take notes in OneNote and flag any action items with an Outlook task flag which creates my tasks in Outlook.  Those tasks are then synced automatically with the Plaxo toolbar.  I can use my iPhone to check those tasks on Plaxo mobile which syncs back to Outlook.  It was a productive meeting and my (hopefully future) client is impressed with my tablet so I do a little evangeslism before I take off.

Back at home, I play with my daughters and have dinner with my wife.  Once the kids are asleep, I grab the tablet in order to do some light work upstairs where I can talk with my wife and we can watch tv on our high def 50" LG plasma.  I use my tablet in notebook mode and track my time for my various clients using Quickbooks Online.  I now have to create an estimate for a client on yet another project.  I use Mindjet Mindmanager to map out the tasks I need to complete for them.  I use this in tablet mode and it simply rocks and it is very productive.  Once I work on that a little, it is time to wind down and read some feeds.  The best use case for a tablet is the ability to lie down on a couch and read my feeds in tablet mode using Newsgator Online.

I get through my feeds and it is still early (by my standards), so I flip back to notebook mode and slang some code for my Morale project.

It was a very productive day and my gadgets and software help me get through the day.

Codemash 2008 Review

This post is a duplicate from the istu blog.  The original can be found here.

6a00d83420db0253ef00e54fe189e18833-800wi

I attended the CodeMash event from Wednesday, January 9th - Friday, January 11th at the Kalahari Resort in Sandusky, OH.  This event was intended to be a "mash-up" for developers of various languages like Java, .NET, Ruby, and Python.  The schedule contained all sorts of sessions that convered all of these various languages and topics.

This was the second annual CodeMash event whose idea was started by several developers and leaders in the development community over lunch.  It was a very different event because of the wide range of topics covered and the venue it was held at.  It made for a very relaxed atmosphere.  Here are some of my thoughts on the event.  Sorry in advance for the long post, I just had a lot to say about it.

Event Organization

The event was very well organized even before I stepped foot on the venue.  The web site for the event had various rss feeds so you could get up to the minute news about the event.  News such as when the speakers and sessions were announced, when registration could take place, etc.  That was a very good thing because it didn't require me to go out to the site every so often to look for any updated news.

Another great piece of organization that was present is that the CodeMash organizers developed a scheduling application that allowed you to schedule the sessions you wanted to attend before you got there.  You could then email these schedules or print them off and be ready before you got the pamphlet the day of the event.  The only downside to this was that it was written in Silverlight.  I know the developer probably wanted to experiment with Silverlight and that is why it was used but it was total overkill for the application and it required me to go and download the new Silverlight plugin to use.  This was a pain in the butt but the idea was great.

I arrived to the event on Wednesday evening at 5:30 and checked in to the hotel.  When I checked in, the resort knew that I was there for the CodeMash event and gave me a flyer for the event which gave a brief overview of what was going on.  This was a nice touch as well so I wouldn't be sitting there going "OK, what is going on now".  The organizers have arranged with the resort a great price.  I got my single room for Wednesday night for $88 and a suite for Thursday and Friday night for $159!  I stayed at the resort before and the suite costs me $350 so these were great rates and another reason to attend this event.

After I checked in, I went down to the convention center which was just down the hall from my room to register for the event.  I told them my last name and they gave me my pre-printed badge, a ticket for the raffle at the end of the event and a t-shirt ticket to claim my free t-shirt.  The shirts were well designed and a nice touch to an already cheap event.  I also recieved a printed program for the event that mapped out the session rooms, the schedule, and the information about each session.  It was very well organized and had all the information I needed.

The sessions were well spread out and scheduled well.  There were only a couple of sessions in which I had a conflict of interests.  This was not a big issue as you could pop in and out of any the sessions you wanted.  There were plenty of time in between each session to mingle, network, grab a quick drink, or grad some juice for your laptop.  The event was scheduled very well and ran without a hitch.

Believe it or not, the organizers also organized breakfast, lunch, and dinner for the entire event!  This was included for the cheap registration fee.  They did a GREAT JOB on the sponsors.  From what I understand, you will have to thank Jim Holmes for bringing all these sponsors together for this event.  He did a great job on keeping the event cheap for the attendees.

Overall the event was organized near perfection!  I was very pleased with how the event was organized.  Great job to everyone who was involved.  I only know a few so sorry for anyone I am missing.  Great job to Brian Prince, Jim Holmes, Josh Holmes, John Hopkins, and Jason Follas.

Venue

Like I mentioned before, the event was held at the Kalahari resort in Sandusky, OH.  It is a huge hotel with an indoor waterpark.  It recently went under some new construction and it opened a new larger part of their park on Christmas so we were lucky that we were able to be there after the construction.  They added a wave pool, a swim up bar, and some sweet new waterslides.  My family came over from Toledo on Thursday night and I was at the park with them on Thursday and Friday night.  It was a lot of fun.  My favorite was a new water slide that is like a giant toliet bowl and spun you around this bowl and then dropped you out at the end.  I must of went on that at least ten times.  My 1 year old daughter also enjoyed the new kids section.  She was in awe most of the time.  Did I mention that the $150 rate for the suite also gave 8 people access to the waterpark for our entire stay.  This was possible because of the organizers.

There were a couple of things that I didn't like about the resort.  They seem to be understaffed at the checkin/checkout desk and they totally do not have enough luggage carts for all the rooms they have.  These were just minor details but they definately improved on the service since the last time I was there.

Content

The content was probably my biggest disappointment of the event.  I thought it was good but I thought it would be better.  The content I didn't like was the stuff I didn't learn anything at.  That was probably due to the fact that I should of attended something else and expanded my mind but I really was expecting something else in some of these sessions due to what I read on the session description.  Here are my thoughts on the sessions that I attended:

  • Keynote : Software "Engineering" & Polyglot Programming by Neal Ford - This session made comparions between tradional engineering (example used was building a bridge) and software engineering and how they differ.  This was a very, very good keynote and it set the expectations for me for the event.  I liked the "theory" keynotes as apposed to the technical ones (the other two).  Score: A+.
  • Coding in Silverlight by Jeff Blankenburg - OK, I am going to be honest, this was the worst of the ones I attended.  To be fair though, Jeff did fill in for the original speaker at the last minute.  The session demoed putting a spinning button in a web form using XAML and Silverlight.  Seriously.  After all the people saying "I don't want to do a spinning button", that is what was done.  I left the session early to check out of my current room and into my suite so it would be ready for the family when they arrived.  Score: F.
  • Crash, Smash, Kaboom Course in Python by Catherin Delvin - I have never looked at Python before so I was excited about this course.  It was exactly as it says, it was an introduction to Python, it's development environments, and third party controls.  I thought it was very informative and it got me excited about Python.  Score: B+.
  • Keynote : Mashing it up with IIS7 by Scott Hanselman - This was perhaps the funiest session I have ever seen.  The first part of Scott's keynote was him talking about himself in a sort of stand-up comedy routine with some slides and what it is like to work at Microsoft.  He bashes himself and Microsoft several times.  At one point in his slides, he talks about how he has met so many great people and he shows a Photoshoped picture of himself with his arm around the picture of the guys who are pictured during the Visual Studio install.  Very funny.  He had the whole room cracking up.  The second part was him talking about the new features in IIS and implemented an HttpModule in C# for a PHP program running in IIS.  It was good except I dodn't learn that much plus I do not like technical keynotes like I said.  He gets a higher score for being so funny.  Score: B-.
  • Applied Service-Oriented Architecture by Brian Prince - I love going to Brian's talks as he talks bout real world issues and doesn't talk about spinning buttons (see above).  He talked about how to architecture your service oriented applications and how much work should be done in designing them.  I did not learn much in this because I have read these sort of things before but it was a good talk and discussion.  Score: C+.
  • Putting the Fun into Functional with F# by Dustin Campbell - Dustin lives in Toledo and so I see a lot of his talks at local user groups.  He always blows my mind with his talks and he makes me feel really stupid.  He did sort of an introductory talk about F# and functional programming.  It was good because he taught me how to get functional programming and I had an "Ah-ha moment" as he talks about.  Plus you can hear him on the recent Hanselminutes podcast talking about similar things.  Score: A-.
  • Party and Jam Session - I didn't attend this because my family was at the resort and I wanted to spend time with them.
  • Keynote : Concurrency: Past and Present by Brian Goetz - This talked about the issues surounding concurrency  and how it is a hard problem to solve.  Brian demostrated how some of the issues can be solved and gave code snippets in Java.  I think this talk was way too technical (and frankly boring) for a morning keynote session.  I did not get anything out of it.  Score: D+.
  • Real World C# by Bill Wagner - This was a good best practices for C# and the new features in the 3.5 .NET Framework.  Since I live and breath C# day in and day out, I did not get much out of this presentation but I thought it was good.  Score: B-.
  • Hands-on Agile Practices by Brian Prince - This is second time I have seen this presentation and there is a reason for that.  Brian talks about how his company uses some concepts from Agile practices to implement software for his clients.  I love the approach and I plan on implementing some of these concepts into MoraleScore: A+.
  • RESTful Web Services by Dave Donaldson - This talked about how to make web services RESTful and the theories around REST web services.  The problem was that the first half of the talk implemented a WS-* based web service in .NET.  I didn't care about that and that is not why I attended the session.  I think most people felt that way as I looked around the room.  The rest of the talk was informative for me though as I never really knew what made a good REST service.  Score: B-.
  • Building Custom Workflow Activities in Workflow Foundation by Keith Elder -  This talked about how to implement a custom workflow activity and implement designer features for the end user.  It demostrated an activity that sent email and built the designer pieces around that.  I just started in WF so I was excited about this but I did not learn a thing because it is something I already knew how to do.  It was good but again, I did not learn anything.  Score: C+.

Final Thoughts

Overall I thought that the conference was well worth the $125 registration fee and the hotel costs.  I killed four birds with one stone.  I learned some things, networked with several people, caught up with people I used to work with etc., and allowed my family to have a great time.  They have already announced CodeMash 2009 and I will definately be attending that as well.  I will go for the sessions that I do not know much about though such as Ruby and PHP.  If you want to hear the sessions from CodeMash 2008, all of them were recorded and you can listen to the podcasts here.  Hopefully I see many of you next year.  It was fun and I plan on being a sponsor next year.