bugsplat_frosty_col1.jpg

Debugging my life, one day at a time...

June 19, 2008
Portland Code Camp postponed

The Portland Code Camp (v4) was scheduled for July 19/20. Unfortunately, it's been postponed and the new schedule hasn't been announced yet. Code Camp PDX is one of the hightlights of my summer, so I hope the organizers get things figured out soon.

Keep an eye on their website for more information: http://www.portlandcodecamp.com/

Posted by buggy at 10:55 AM
June 11, 2008
This week at SSDotNet: Silverlight and Pizza

Cayzen Technologies (Formerly Coraxis) is supplying us with Pizza and beverages this Thursday the 12th for our meeting on Silverlight by Erik Mork. The presentation was going to be outstanding already, and now we get to stuff ourselves in the process. Double-win.

Erik Mork is a Silverlight consultant out of the Portland area and a Principal at Silver Bay Labs. He and his wife produce Silverlight podcast show called Sparkling Client.

Erik presented on Silverlight 1.0 in July of 2007. He returns to give us a look at the new Silverlight, version 2.0, just released in Beta in conjunction with MIX08.

Meeting Specifics
June 12th, 7 - 9 pm
Olympia Center (222 Columbia NW)
All attendees are eligible for the prize drawings. Past prizes have included t-shirts, technical books, passes to Devscovery, copies of Visual Studio, Vista, Office 2007 and more.

Don't forget to let your friends and co-workers know about this meeting. Feel free to forward this email and/or direct them to www.ssdotnet.org for more information.

Information on our meeting Sponsors:

Cayzen Technologies
"Creating Smarter Solutions"

Cayzen Technologies (Formerly Coraxis) is a Microsoft Certified Partner in Olympia and has been providing Microsoft solutions to government agencies. Cayzen consultants have delivered several mission critical applications for state of Washington agencies.

Cayzen Technologies is an enterprise solution provider that helps companies of all sizes leverage technology to improve business effectiveness. We architect, build, and deploy technology-based solutions that effectively integrate enterprise business processes with people. Cayzen expertise in Microsoft platform includes most developer products including MS .Net, SharePoint, BizTalk, SQL Server and Team Foundation Server. Cayzen is qualified on several of the state procurement lists including DIS ITPS, DOT and DOH.

Cayzen is always looking to add smart developers to its full-time salaried team or has a number of opportunities available for hourly staff. Cayzen offers excellent salaried positions with a base and bonus plan and percentage based bill rates for the hourly staff. Medical, dental,vision and 401K plans are available to all employees. Contact jobs@cayzen.com for more information or to send your resume.

Posted by buggy at 02:12 PM
May 21, 2008
Laptop love

I'll be picking up my new laptop today. Nothing fancy, but a good solid (I hope) Dell Latitude 531 for under $1k. I'm excited but very aware that there's a lot of work to be done before I can use it productively, for software development. One of my co-workers has been having a helluva time getting the .NET Framework installed correctly (through all versions, with all the extensions, etc.). My desktop machine has everything I need on it, but I've been adding versions and tools to it steadily over the years. Haven't started from scratch in a while. Once I'm done getting her all filled up with developer goodness, I'll be more mobile and able to do collaboration with geographically disperse development teams (i.e., work from home but be able to do face-to-face as needed).

And it'll be cool having a laptop again ;-) w00t!!1!!

Posted by buggy at 12:37 PM
May 15, 2008
comment spam sucks

I know there are ways to deal with comment spam, but I haven't had the time to put them into action on this site. For the time being, I'm turning commenting off. I don't get that many comments anyway, so this shouldn't have a huge impact. Bugsplat and my other sites need major overhauls, but that's going to have to wait until I have less to do in the rest of my working and personal life. In the meantime, if you'd like to contact me, send me an email. I do appreciate the feedback and encouragement you send my way.

Posted by buggy at 12:05 PM
May 06, 2008
Applications are like crows... or data clean up sucks

I'm not a DBA, and I don't play one on TV, however, it always seems like I'm the person on the team who ends up knowing the most about the database structure and the data stored therein. This is definitely one of those curse/blessing situations.

For almost a week, I've been slogging through a series of steps to clean up data, thousands of records in total. I'm almost done finally. I've used scripts that fix hundreds at a time, some that fix single records at a time and wrote a nifty VB.NET DBUpdater console app to do some of the other cleanup.

It's the kind of work that deadens the neurons after a while, so yesterday I took a moment to sit outside and watch the red winged black birds defend their territory against crows and let my brain uncramp. While enjoying the spectacle of nature and relaxing a bit, this brilliant and disturbing thought occurred to me: Applications dirty up databases.

Ok, maybe that's not their sole purpose for existence, but looking at it from a data-centric point of view, it seems to be what they are best at. Databases are designed and initially populated with the most utopian of aspirations: Pure unadulterated data, tables living in harmony with one another, existing in a fantasy bubble where nothing bad ever happens and the data remains true to its initial design forever.

Bah! We know that's not how it stays. Pretty much from the moment we hook an application or data feed into our database, we're inviting junk to come live with us. In every project I've ever been involved in, data clean up took up a noticeable chunk of time and attention. Why does this always happen? Are all applications so poorly designed? I don't think that's necessarily the case, though I'm sure it is sometimes. What really happens is that until we get our application and database out of the lab environment and out into the wild, we don't really know what users are going to do. We try to anticipate every twist, but for very complex applications involving users of various skill levels, we are woefully under-prepared for what is really going to end up in our data tables. So we do massive cleanup projects and look for ways to shore up our defenses against junk entering into our databases, so we don't have to do those cleanup processes again.

I'm not sure what the ultimate solution is for this problem. We can set up our little territory, like those red winged blackbirds, and believe it is safe and secure but crows from the outside world are going to intrude eventually.

Posted by buggy at 01:15 PM
April 29, 2008
SSDotNet May Meeting: VS2008 Data Enhancements

You may not be using Visual Studio 2008 yet, but it's going to happen eventually, so we all need to start getting our heads around the changes and improvements to this IDE we use every day.

On May 8, Robert Green will be coming to Olympia to present to the South Sound .NET UG on Visual Studio 2008 Data Enhancements. Some of you may have seen him at the Seattle Code Camp this January. For a description of his presentation, see the South Sound .NET homepage.

Robert Green is a Senior Consultant with MCW Technologies. He is a Microsoft MVP for Visual Studio Tools for Office. Along with Ken Getz, Robert has co-authored AppDev’s Visual Studio 2005 and 2008 and Windows Workflow Foundation courseware, and appears in the video training for these courses, as well. Robert is a member of the INETA Speaker Bureau and has been a frequent speaker at technology conferences. Before joining MCW, Robert worked at Microsoft for 8 years, as a Program Manager on the Visual Basic product team and as a Product Manager for Visual Studio, Visual Basic, Visual Studio Tools for Office and Visual FoxPro.

Please join us on the 8th, from 7 - 9 for some VS2008 data goodness.

Posted by buggy at 02:36 PM
April 24, 2008
Date functions: something new every day

Ok, I didn't know about DateSerial. I stumbled on it while looking for some code to manipulate dates and get stuff like first day of month and last day of month. I am adding functions to a utility class so that I can send the a date and get the date range for the previous month or previous quarter.

I Googled and found a link in the MS Asp.Net forum, this linked to a 4GuysFromRolla FAQ entry on DateFunctions

A little fiddling and twiddling resulted in this:

  Public Shared Function GetPreviousQuarterDateRange(ByVal currDate As DateTime) As DateTime()
      Dim dateRange(1) As DateTime

      dateRange(0) = CDate(DateSerial(currDate.Year, currDate.Month - 3, 1))
      dateRange(1) = CDate(DateSerial(currDate.Year, currDate.Month, 1 - 1))

      Return dateRange

  End Function

and this:

  Public Shared Function GetPreviousMonthDateRange(ByVal currDate As DateTime) As DateTime()
      Dim dateRange(1) As DateTime


      dateRange(0) = CDate(DateSerial(currDate.Year, currDate.Month - 1, 1))
      dateRange(1) = CDate(DateSerial(currDate.Year, currDate.Month, 1 - 1))

      Return dateRange
  End Function

In that forum, the response from Peter Blum advocated DateTime functions, for example, to get the last day of a month:

      new DateTime(currentyear, currentmonth, 1).AddMonth(1).AddDay(-1)

Hmmm... both approaches work... not sure which one is more 'correct'.

Posted by buggy at 02:33 PM
April 21, 2008
Erik Mork returns

Erik Mork will be returning to Olympia in June to present Silverlight 2.0 to the South Sound .NET User Group. Our last visit from Erik was in July 2007, when he told us about Silverlight 1.0 and looked forward to what might be in version 2.0. Now, with Silverlight 2.0 released in Beta, he can come back and give us the next chapter in this ongoing story.

Erik was with Tranxition last year and looking toward self-employment. He's made that leap now, founding Silver Bay Labs. In addition, he and with his wife is producing a Silverlight podcast called Sparkling Client. Recent shows featured interviews with Adam Kinney aka The Silverlight Surfer and Jesse Liberty aka Captain Silverlight.

If you're into Silverlight, definitely check out what the Morks are up to and plan to attend the South Sound .NET meeting on June 12th with Erik and Silverlight 2.0.

Posted by buggy at 01:19 PM
April 16, 2008
Code Trip Review

Image2.jpg

The Code Trip made it's next to last stop in Olympia Monday night (4/14). A small but appreciative group was on hand to greet Jason Mauer and Woody Pewitt. Adam Kinney was unable to bring the Silverlight, but Jason and Woody filled up the three hour event nicely. Sadly, the bus didn't make it to Olympia either, it was already parked in Redmond, at Microsoft, for the MVP summit.

Jason started things by giving us a Code Trip overview but initially ran into technical difficulties with the CodeTrip.com site... "This never happens", he said. Yeah, not until the last stop of the trip, eh? Their site at TheCodeTrip.com has a section called Under The Hood, with great information on all the tech used to keep the website going and keep everyone connected and happy on the bus. Much of what was used on the website will eventually be available on CodePlex.

Woody took over and showed us how the BusCams worked. He talked about the difficulty of finding software for processing the pictures taken by the bus cams, 4 in all. Eventually, he used an open source DirectShow API wrapper, called DirectShow.net. The BusCam software will eventually be uploaded to CodePlex.

By the time Woody was done rapping about BusCams, Jason was ready to roll on Loggo, the blogging engine he wrote and which he uses on his site, JasonMauer.com . He told us that he'd compared and contrasted various existing blogging engines over the years before deciding to write his own. He started out in the database, which was an interesting way to introduce blogging software, but Jason explained that a blog can be looked at as a set of relationships. Information on pages, and the relationships between pages, is held in the database, along with other information about users, permissions, etc. From the database, he took us to the code and eventually to the website. Very cool, and available on CodePlexat some point. Most of the guts are in the database, so there isn't much to the code, built on ASP.NET. Loggo emits XHTML and the websites can be viewed with an XML parser.

Jason is very big on location and geo-tagging. Basically, he's a geo-geek All the blog entries on the Code Trip site are geo-tagged with the location the bus was in when the blog entry was posted. His assertion is that blogging has inherent location. And, did you know you could drop an RSS feed URL into Google Maps and see the location .. except I just tried it and it didn't work, so I'll have to work on that. But believe me it was cool, really.

We weren't done with geodata just yet. GPS played a huge role on the website, most noticeably on the Virtual Earth tour map, with up-to-the-moment tour bus location. They used a QSTARZ BT-Q818 GPS unit on the bus. This particular unit comes highly recommended by Jason and Woody as affordable and accurate. The GPS unit hooked into a Winforms application called PositionUpdate, supplying location information to any application needing it via a webservice, running on the tour bus. On the tour map, this location info was used to show where the bus was at any given time. The blog entries got their location information from the webservice as did the display on the masthead of the website.

Next we toured TwitterSync, another project destined to be on CodePlex, which features a Windows Workflow Foundation state machine at its heart. Very cool to see a WF workflow in action (sorry you missed it, Paul).

What I really loved about Jason's CodePlex">Under the Hood presentation was the natural use of Linq, anonymous methods and types and lambda expressions -- all new stuff we've seen in presentations before, but presented in the context of very interesting applications -- not dry demo code. Makes me itch for the time to play with that stuff.

Jason showed us a slide with the 'Levels of Code Quality' on it: Crap --> Hack --> Spaghetti --> Readable --> Elegant. The code for PositionUpdate is between Hack and Spaghetti, TwitterSync is Spaghetti and Loggo is between that and Readable. I'm wondering if Jason is one of those perfectionist types who won't ever consider his code elegant.

Next, Woody led us on a magical mystery tour of Internet Explorer 8.0 Beta 1, with special emphasis on developer tools. He asked for a show of hands, who had already downloaded it? I don't think anyone raised their hand, to which Woody exclaimed,"Man up and download people! Don't be wimps!"

The IE8 team is actively seeking feedback from developers. He cruised over the new security features, and spent more time talking about webslices, activities (like add-ins) and embedded Javascript debugging tools. He emphasized that the look and feel aren't updated yet, so it still looks like IE7. It uses a completely different parsing engine, however, so pages formatted for IE7 won't necessarily render the right way. There's a ton of info on the Internet Explorer Developer Center site if you want to start playing with it now.

In the end, everyone went home with a foam Code Trip Tour Bus replica and some software or a laptop sleeve with the Code Trip logo. Jason promised us that not only would there be another west coast Code Trip in the future, that there would be a central and eastern branch of the Code Trip family. They'll build on the lessons learned during this inaugural voyage and certainly more fun code and technical wizardry will result and eventually make its way to the community.

Posted by buggy at 06:45 PM
April 11, 2008
CODE TRIP OLYMPIA EXPO! Three Hours, Three Speakers

Come out to the Thurston County Fairgrounds on Monday night and get 3 hours of great information on new and exciting technologies from Microsoft and other sources.

Adam Kinney will present information on Silverlight 2.0. Woody Pewitt will talk about Internet Explorer 8 and the Code Trip Bus Cam. Jason Mauer will take us Under the Hood of the code Trip, explaining the technologies used on the bus and on the website.

Thousands of dollars worth of software will be given away from Infragistics (NetAdvantage for .NET), Telerik (RadControls for ASP.NET AJAX, RadControls for WinForms, Telerik Reporting,Sitefinity CMS), Identity Mine (Blendables Essentials Mix) and copies of CodeRush by Devexpress. Along with all of that goodness, there will be some foam Code Trip Buses and Code Trip Laptop sleeves given away. Free stuff and free high quality presentations -- you don't want to miss this.

To answer a question posed by some of you, sorry, no food this time, but grab something on the way out to the fairgrounds and stuff your face while while Jason, Woody and Adam stuff our brains full of new and shiny information.

Monday, April 14, 2008
6:30 PM to 9:30 PM
Olympia is the last stop for the Code Trip before the end of the line in Seattle. In partnership with the South Sound .NET User Group, they'll be pulling out all the stops and unleashing a technical tour de force at the Thurston County Fairgrounds.

Location

Thurston County Fairgrounds
Expo Hall
3054 Carpenter Rd SE

Posted by buggy at 07:13 PM
March 29, 2008
Olympia Stop on Code Trip confirmed

Are you ready for the Code Trip to come to Olympia? Jason Mauer is coming back to Olympia with a tour bus full of geeks. They'll be pulling up to the Thurston County Fairgrounds on Monday, April 14th. There will be giveaways, and great information on the newest technology from great presenters.

Have you been tracking the Code Trip? They started in Las Vegas at MIX08 on March 7th and headed north. The've made about 13 stops since then and Olympia will be the last one before arriving at the MVP Summit in Seattle
on Tuesday, April 15th. The capacity of our venue is 288, let's see how close we can get to that total, ok?

Jason will be sending us a list soon of the roster of geeks we'll see performing on the 14th. We're going to set up the Expo Hall so that multiple presentations can be happening at one time, to make the most of the time we have.

Other Code Trip events have featured talks on the newest technologies to emerge from MIX08, including Silverlight 2 Beta 1, Internet Explorer 8, SQL Server Data Services, Windows Live. Some attendees have been treated to talks on the technology powering the Code Trip, both online and on the bus. We'll update you as soon as we know what the recipe for the Olympia stop will be.

Tell your friends, drag your co-workers along, let's give the Code Trippers a big final event before they get back to the mothership.

For more on the Code Trip, including information on current and past events and where the Bus is now, see TheCodeTrip.com. You can see profiles of the Roadies -- people who have spent time in the bus. There's a behind the scenes section called 'Under the Hood' where you can get information on the technologies used on the Code Trip, the use of GPS information in tracking the route and current bus location and other
technical goodness being used to keep them in touch with the rest of the world. The Toolbox provides links to the tools used along the way to keep the Trip running smoothly.

The Travel Log is a blog contributed to by various people, mostly Jason Mauer and Tim Heuer. Video blogs, info on participants and events gets you right into the action. It certainly gets me fired up to see them in Olympia. Makes me more than a little envious really, getting to ride a tour bus full of state of the art equipment and full of other geeks
sounds like a lot of fun.

So, you coming or what? Put it on your calendar, invite some other folks and we'll see you there.

Monday, April 14th, 2008
6:30pm - 9:30pm
The Expo Hall at the Thurston County Fairgrounds
3054 Carpenter Rd SE
directions

Posted by buggy at 07:47 AM
March 28, 2008
Why Chris Bilson didn't show up at the study group last night

He had a very important production roll-out to attend: the birth of his second daughter, Errin.

Here's a pic of the happy family

Congrats, Chris! We look forward to seeing you again once you start getting some sleep.

Posted by buggy at 09:07 AM
March 14, 2008
Getting into MVC

I'm jumping into the new MVC framework not just because it's shiny and new, but because it may be the next logical way to organize a reporting application I'm working on. I've just gotten started with ScottGu's tutorial series and also jumped into the example written up by Chris Tavares in the newest MSDN mag. I just downloaded the newest bits, so there are differences between the version I'm working with and the one(s) Scott and Chris based their examples on. There are a lot of blogs and sites with good info on MVC, but one that was particularly useful was the Microsoft page for ASP.NET MVC Preview 2 and ASP.NET Server Controls for Silverlight. The release notes are crucial for getting Chris' code altered so it'll run with the latest bits. Also useful are the comments on Scottgu's tutorial pages. Other devs are asking and answering questions that may be of use to you in getting that code to run.

I haven't gone all the way through Chris' MSDN sample yet, but the first problem I ran into was his example of altering the Route Table. And make sure you add the new route to the head of the list.

Here is my resource list so far:

Official ASP.NET page with info on MVC and Silverlight
http://www.asp.net/downloads/3.5-extensions/readme/Preview2.aspx#_Toc192423263
-- has differences between ASP.NET 3.5 Extensions Preview (released December 2007) and the current ASP.NET 3.5 released 3/6/2008, the MVC Framework Preview 2 and the previous CTP version, and differences between Silverlight versions.

releases, change notes and such to help correct sample code

ScottGu's series starts here
http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx


del.icio.us links
http://del.icio.us/search/?setcount=100&all=aspnetmvc

Jeffrey Palermo's blog
http://codebetter.com/blogs/jeffrey.palermo/archive/tags/mvc/default.aspx

Brad Abrams example of MVC and Entity Framework


Posted by buggy at 12:17 PM
February 28, 2008
The Code Trip is Coming!

Jason Mauer and his band of misfits, I mean, team members are going to be traveling around in a tour bus, spreading MS developer goodness along their path. They're starting off at Mix08 in Vegas next week (March 6th). Then they start wandering around the western United States. They'll be in Olympia on April 14th. They'll be here and we don't know where yet, we need to find a room! Our InstallFest 2008 venue is not available.

Do you know of a place we can fit around 150 people, from 6-10pm, with a projection screen (we've got the projector) and a bunch of seats? Free or at least not too expensive?

if you do, let me know and I'll reward you with something... do you like Girl Scout cookies?

For more on The Code Trip, click this link.

Posted by buggy at 01:19 PM
February 04, 2008
The Obama video ... Yes We Can

Wendy turned me on to this video of music and song set to Obama's 'Yes We Can' speech after seeing a link to it on Bitch P.D. It's hosted on Dipdive.com with a story from will.i.am on how it came to be. It's pretty amazingly smooth and professional for the short amount of time it took to put it together. Here's a link to the transcript of that speech, if you missed it like I did: Yes We Can Change on CNN.

For the last few rounds of presidential elections after Bill Clinton, I've been looking a candidate to vote for, rather than desperately voting against the Republicans. Obama is the guy I want to vote for. If it comes down to it, I'll vote for the Democratic candidate against the Republican, but I'd rather vote for the guy who is inspiring, who's stirring up hope, who represents actual change, the guy who, to me, seems to have a passion for the job he's asking us to give him.

Posted by buggy at 05:46 PM
January 22, 2008
Seattle Code Camp v3.0 -- this weekend!

This weekend has really snuck up on me, it's time for Code Camp in Seattle. Two days of excellent -- and free -- geeky goodness at Digipen in Redmond. Three of my South Sound .Net homies are presenting: Paul Mehner and Chris Bilson, both experience presenters and Justin Goodhart, a presenting virgin.

As usual, both days are filled with interesting subjects and excellent presenters. It's always so hard to choose with so many choices. I'll be there to fill my brain with new information and to recruit presenters for South Sound .Net's coming calendar.

For all the information, directions, schedules, etc, see the Seattle Code Camp site.

Posted by buggy at 05:59 PM
December 12, 2007
Olympia InstallFest -- full to bursting

Wow, what an event we had last Thursday. We had close to 150 geeks, many of whom brought their laptops so they could install Visual Studio 2008. A couple even brought full sized desktop machines.

Here are some shots from my Treo 650. South Sound .Net has never had a meeting this big, so it was quite a nice surprise to see so many gathered.


V2008_InstallFest_Oly2007_2.jpg

VS2008_InstallFest_Oly2007_1.jpg

VS2008_InstallFest_Oly2007_3.jpg

Big thanks to Jason Mauer of Microsoft for initiating the event and providing copies of VS2008 and food for all. Don Cotey for making food arrangements with Ramblin Jacks (a local purveyor of yumminess) and to Paul Mehner, SSDotNet Leader, for all the wonderful things he does. And to all the folks who helped set up tables and chairs and staff the registration table.

Posted by buggy at 08:35 AM
December 10, 2007
Big week for SSDotNet

South Sound .NET has two events scheduled for this week:

On Tuesday, we've got the Visual Studio 2008 InstallFest. We've had a huge response, somewhere between 150 and 200 people. That means we are completely booked for that event, so if you haven't registered already, consider attending the Seattle (12/17) or Bellingham (12/18) events.

On Thursday, our regular meeting day, we have Charlie Poole presenting on NUnit 3.0, the latest and greatest:

There are many reasons why organizations would select using NUnit as their unit testing tool of preference, and even more reasons why you might be interested in the evolution of NUnit version 3.0. Charlie Poole has created a vision statement and discussion list for the new version of NUnit, and many of us have been actively attempting to work out the details of what should be included and what should not.

Join us on Thursday December 13 at the Olympia Center to get your NUnit testing questions answered and find out Charlie’s thoughts on a new version of NUnit (v3.0) as well, and a variety of other interesting topics.

Charlie Poole is an independent developer, consultant and trainer and based in the Northwest. He is an experienced XP coach and an author of several open source development tools including the NUnit test framework for .NET.

Charlie is actively involved in a number of agile conferences and is one of the organizers of Agile Open Northwest, to be held in Seattle this spring. His technical background ranges from mainframes to modern systems. He is currently working on a mix of client projects using C# and C++.


Posted by buggy at 10:28 AM
November 28, 2007
PacNW VS2008 InstallFest Schedule

I posted a couple of days ago about the Olympia VS2008 InstallFest happening on 12/11. If you want to get in on this action, register now! Don't wait and find out there isn't any more room at the party.

Jason Mauer just posted about the other InstallFests happening in the area:

* 12/4 - Portland
* 12/6 - Boise
* 12/11 - Olympia
* 12/12 - Spokane
* 12/17 - Seattle
* 12/18 - Bellingham

Go to his blog entry for more information, links to the other events and a mini-FAQ.

Posted by buggy at 07:42 AM
November 26, 2007
New Seattle Code Camp Schedule

Seattle Code Camp version 3.0 will be held January 26-27, 2008 at DigiPen Institute of Technology in Redmond, WA. Directions are here.

Want to attend or present? Go to the Seattle Code Camp page for the whole scoop.

Posted by buggy at 07:54 PM