Jack-o-lanterns
Ashley and I carved pumpkins on Saturday night.
The squirrels got to them Sunday night.

Ashley and I carved pumpkins on Saturday night.
The squirrels got to them Sunday night.

For anyone still struggling with the above error in VSeWSS, Paul Liebrand left a comment on my earlier post that really helped me out.
The issue apparently stems from a mismatch between the features in the content database and the features in the filesystem, so Paul posted an app that identifies the dangling pointers. For full details, check out the WSSWiki.
http://wsswiki.com/Visual_Studio_Extensions_For_WSS_3.0
The solution worked great for me. I ran the app, set up the connection string to point to my local content database (the connection string that worked for me is pretty vanilla: Data Source=localhost;Initial Catalog=WSS_Content;Integrated Security=SSPI;), and it spat out the GUIDs for the features that were causing me trouble. Once I had the list, all I had to do was open up SQL Server Management Studio and delete the offending rows from the dbo.Features table.
I did a bit more research today, and it appears that one cause of features getting out of synch is retracting and removing features without deactivating them first. I always suspected that my features weren't getting cleaned up correctly when I removed their solutions, and I've confirmed today that there is an issue there. Now, this isn't a huge deal, and VSeWSS doesn't use solutions, so you won't run into this problem if you are using VSeWSS exclusively, but if you have requirements beyond what VSeWSS can do, and are packaging your own solutions, watch out.
One of the new features in .NET 3.5 is LINQ, which lets you do SQL-like queries on various data sources in code, including objects, XML, and eventually, databases. I'm waiting for the VS2008 release (some time next week, as far as I can tell) to start playing with it, but quite a few people at the office have already switched to take advantage of LINQ.
I just ran into this blog post about a LINQ to Flickr provider, which is pretty neat. I'll have to take a better look at what is involved in writing a LINQ provider once I make the switch to VS2008.
Andy sent me a pointer to MOSSCamp, which is being held downtown Chicago in a couple of weeks. It sounds like a fairly informal chance for SharePoint developers to get together and trade tips on SharePoint development. Registration is free, so if you're in the neighborhood, and you're doing MOSS or WSS development, come check it out.
I've been doing MOSS development for something like three or four months now, and I feel like there is a lot of potential there if you can work your way around the quirks. I think I've managed to get most of the way there, but there are still a few things that drive me crazy almost daily. It seems like a lot of MOSS developers feel this way. This event is a good chance to see other people are running into the same roadblocks you are, and see the solutions they've come up with.
Ashley picked up "The Omnivore's Dilemma" from the library, and I'm finding it pretty interesting. The first part of the book is about corn, and there was something in it that I've wondered about for years. The word "corn" used to refer to any kind of small grain, so instead of saying "an ear of corn," people might have said "maize corns" or something like that. The interesting thing is that this is why we say "pepper corns" and "corned beef" (corned beef is salted, and those grains of salt used to be called corns). Ever since the first time I had corned beef (actually not more than a year or two ago), I've wondered why it was called that.
Tags: Food
As an ACM member, I get about a bunch of emails each day notifying me of journal articles, tech news, stuff like that. Most of them get filtered into a folder for later, but my filter missed one, and I noticed a link to this article about online reputation as I was looking through it. It explores the topic I was talking about the other day a little bit further.
One of my good friends and I were talking the other day about why blogs have become so popular, and I think I figured out how to articulate the way I see my blog.
Networking (the kind with people, not cables) is not easy for some tech people. Given the choice between sitting behind a keyboard and going out and talking to people, most techies (especially developers) will choose the former. This applies in varying degrees. Some people are more social, some are less. Our developers are actually a pretty chatty bunch, and we have a good time when we go out, but that's because we spend so much time together and we all know each other. When it comes to networking, meeting new people, a lot of technical people have a hard time. The most difficult part is establishing a context to start a conversation.
Blogging is good way to set up that first conversation. Even if you're only posting about the music you like, or the movies you've seen lately, it gives someone some common ground to start from. Social networking sites have become popular for exactly the same reason. When I initially set up my Facebook page, it was mostly to keep in touch with people from school, but I've actually met quite a few new people there. The ability to expand your network is actually much more powerful than the ability to keep in touch with those already in it. This is especially true of the more business-oriented social networking sites like LinkedIn.
I think it is really cool just how much user-created content is driving the web these days. I'm probably a bit late getting on the bandwagon, but as a software developer, I think it is just incredible how a simple application like Flickr or Twitter can become a household name in just a few years based on a single idea.
Andy and I were talking about blog stuff a while back, and he told me I should check out FeedBurner. Well, I checked it out this weekend, and it is absolutely killing my productivity. There are a million options that you can customize to make your feed look just how you like. I think I've blown at least three hours this weekend just playing with FeedBurner, and that doesn't include the time updating my blog layout and such to bring it up to par with my nifty new feed.
The coolest thing about it is that it is entirely extensible. For a lot of the work I do, it is important that we can just get it installed and then extend it in place, so I find the model that FeedBurner uses particularly interesting. The following is a FeedFlare that adds a "Twit This!" option to my feeds and posts (Thanks go to Eric Olsen over at FeedBurner for the example FeedFlare): 
The FeedFlare is just a simple XML document, but the FeedBurner API allows you to walk the DOM of each post and add value to the content. By setting up a really simple way to integrate with the page, FeedBurner enables developers to tie into their own server-side code, and do all the heavy lifting there.
Jonathan Coulton is one of the funniest songwriters I've heard in a long time. He wrote Still Alive, the end theme to Portal, as well as the theme to Code Monkeys. He is also featured on the audio version of "The Areas of my Expertise", as John Hodgeman's troubadour.
Check out his web site, he's got free versions of quite a few of his songs, and you can buy his albums online. I especially like "Skymall". If you are planning on buying any of his music, they each song is $1, albums are about $10, and it is all DRM free. You can get his stuff on iTunes, but if you go through his web site, more of that money goes to him.
Ashley and I adopted two kittens today.
The darker one on the left is Vala Mal Doran, and the lighter one on the right is Lieutenant Colonel Samantha Carter. You can start making fun of us . . . . Now. Go ahead, get it out of your system. Done? Ok, good.
Sam is pretty nervous, and runs around like crazy when you try to pet her. She crawled into a drawer in the coffee table and spent about an hour sleeping in there before we managed to get her out. It was a bit tricky. We had no idea where she was until I looked under the table and saw her tail hanging over the side of the drawer. There is space above the drawer, so we couldn't pull it out while she was in there, and couldn't reach in to lift her out, so we just had to wait her out.
Here is a better picture of her:
Vala is a bit shy, and spent the better part of the afternoon hiding behind the water heater.
In this picture, we can actually see her, but for most of the day, she had actually walked around behind it all the way, and we couldn't find her without the help of a mirror and flashlight.
They both seem to be settling in now, though, and were running around playing with each other earlier.
Bank of America added a "Manage Your Portfolio" tab to their online banking app a few months ago, and I gave up on it pretty quickly. I tried to add my 401K account, and their connector for the PayChex site was still in beta, so I couldn't get it to work.
I took another look tonight, and my 401K is still out of reach, but I'm willing to bet that the problem is on the PayChex end, and not BoA. Their site has a host of issues that I don't want to get into right now, but I'm fairly certain that they throw my password away as soon as I reset it, because every time I try to log in (which is generally about once a month) I can't seem to get it right. When I do reset my password, they assure me that a letter is being sent to me indicating that I've changed my password. Now, I'm well aware that I just changed my password, but the questionable necessity notifying me of what I've just done notwithstanding, I've never received one of these letters. I'm sure they're all sitting on someone's desk over at PayChex, just waiting to go out...
My frustrations with PayChex aside, I really like the "Manage Your Portfolio" feature, now that I've given it a second chance. Bank of America added enough little AJAX tweaks to speed up the page response without going overboard. When you're looking at your transactions, you can page through them without a refresh, and if you want to update a transaction category or add a note to a transaction, there is some basic functionality for that too.
The reporting features are okay, but it looks like their charts are all done with ImageMagick or something similar, and they aren't interactive at all. (Maybe they could use some nice -- ahem ahem -- Web 2.0 visualizations?)
The best part about the whole feature is that it will take all of my transactions -- debit card, credit cards, loan payments -- and slap them all into the same list. There is a basic rules engine (substring on the description field, transaction amount < = >) that lets me assign transactions to certain categories (which is nice, since it automatically assigns purchases from Borders to "Education", when I treat them as "Entertainment"), and the entire thing is searchable. That's really nice for seeing just how much I spent at DeepDiscount last month...
I've been working a lot of hours lately, and I got tired of the music I have on my iPod pretty quickly, so I've been looking around the online services to find some new stuff. I turned up a few nifty things that I thought worth mentioning.
iTunes opened up a new area of the iTunes store, called iTunes U. They offer free audio and video recordings of college courses, which I think is just super cool. So far I've listened to the first few sessions of the MIT algorithms course, the first two lectures in the MIT linear algebra course, the first lecture in an introductory Greek course.
iTunes radio is still a bit lame. I check it out every once in a while, but they don't really add content very often.
Pandora is just as cool as ever. I keep forgetting about it, but the site periodically emails me to remind me it's still there, and the volume is low enough (maybe one email every two months) that I don't get annoyed. I fired it up today, and found a few new bands on my Nightwish radio station: Elis, Theatre of Tragedy, and Luca Turilli's Dreamquest (their band photo is awesome...)
I've been working with Windows SharePoint Services for a couple of months now, and I thought I finally had a handle on what went where, who did what, how it worked, and various other phrases containing the letter W.
However, today I ran into a bug that has had me stopped dead all night. I'm using the Visual Studio Extensions for Windows SharePoint Services (VSeWSS for short), which are intended to make deployment to your SharePoint farm part of the build process, and my projects suddenly stopped deploying correctly. The only feedback I get from Visual Studio is the chillingly familiar "Object reference not set to an instance of an object" error, which any programmer will instantly recognize as a surefire sign that someone didn't check if their pointer was null, but seems like a strange bug in a deployment project.
At this point, I'm thinking that I'm going to need to rebuild my deployment project from scratch, which pretty much blows away any utility VSeWSS might have given me.
.
.
.
On the upside, after rebuilding one of my other projects from scratch (because VSeWSS wouldn't build it correctly for entirely different reasons) I am intimately familiar with the WSS solution deployment strategy, so hopefully this won't take all day.