Wednesday, April 30, 2003


Source: The FuzzyBlog!; 4/30/2003; 12:56:31 PM

The Smarter You Are ... The More Subtle the Bug.

The Smarter You Are ... The More Subtle the Bug

I've been asked by users for quite a few days (ok weeks) now why I'm not showing paginated search results and a next button -- you know -- like every other search engine in existence.  The answer was pretty simple -- hadn't gotten around to it yet actually.  And its interesting but not all that interesting so I back burnered it until today.  Oy.  It isn't that the problem was all that hard actually; easier than I expected to be honest.  Its that that last bug was subtle.

Example of Feedster with Paginated Results 
(using Pirillo as a test query)

Now I do ok intellectually but I honestly don't think I'm all that smart as a general rule of thumb.  I've hired smart people before and they make me feel like a drooling idiot.  Still I'm definitely both skilled and experienced and I read a lot which people sometimes attribute to smartness.  And today those things reared up and smacked me in the head and then dribbled said head down the virtual basketball court and scored an extra point. 

I got the page navigation in place and passed some sample urls over to my friend James who nicely kibitzed on it and pointed out some foolish errors on my part.  In specific, I was initially testing with just the relevance sort and needed to support date and rank sorting.  No big.  All was frothy happiness, sweetness and light. 

Then I changed to date sort. Storm clouds filled the horizon and the room grew dark.

You see what happened is the number of results went from 10 to 6 -- and I was telling my routines to produce 10 results.  That's odd I thought.  Then I tried it again and got the same thing.  Then I tried sorting by Rank and I got 10 results as well.  Hm.....  Scratch head.  No luck.  Display query.  Nothing unusual.  Scratch head some more.  Nada.  Try query in actual database without my own results code and get back 10 results.  *Lightning*.  Now at least I know it is me.  Not that I thought it wasn't but you know -- any straw you can grasp when debugging.

So I groveled over the code for quite a bit.  Then it hit me like a bolt of lighting: "Duplicates"!  By jove I'm removing duplicates!  And since I'm not doing it at the database level to eliminate the performance hit of a distinct query in conjunction with a full text query, I get back 10 results and then drop it back to 6.  Finally it makes sense.  And the reason that it didn't happen in Relevance and Rank order testing ?  Simple -- there weren't any duplicates then; dupes are most common with chronological results when Post A is sent to Blogs B and C.  So if I really think this is the cause then it actually has been in Feedster since the beginning.  Sure enough -- do the right search, get back "50" results and find out that its only 36. 

So there you have it -- I was "smart" in getting rid of dupes and even (perhaps) "smarter" in trying to avoid a database performance hit by avoiding distinct.  And what did that get me?  Just a wickedly subtle bug. 

 

So here you go:
Scott's 3rd Law of Coding: The Smarter You Are ... The More Subtle the Bug

 

Note: I know that when you go to the 21st page of results, the window of #s doesn't go 21 to 40.  That is something for a future fix.  The next button works correctly and that was my bigger concern.  And, yes Virginia, the limit, offset variables aren't fixed in code and can be user altered should that be necessary.  If limit needs to be greater than 100 then contact me directly since right now there's a boundry condition. 

***Any problems that you find with this, please let me know asap.  Much appreciated.***

[The FuzzyBlog!]
6:19:06 PM    trackback []     Articulate [] 

No-Touch Deployment in the .NET Framework

July 2002

Summary: This article demonstrates an exciting new feature to simplify deploying and updating a Windows Form Smart Client using a Web Server. The Task Management sample application referenced in this paper is provided in Visual Basic .NET. (8 printed pages)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchNo-TouchDeploymentInNETFramework.asp


5:57:24 PM    trackback []     Articulate [] 

Just a note to myself about a product for setting up virtual classrooms on the internet with a ton of great features. http://www.elluminate.com/products.jsp .

 


9:34:00 AM    trackback []     Articulate [] 

Source: Marc's Voice; 4/30/2003; 8:20:08 AM

Moral Capitalism. eParty.

One of the better discussions I had at Etech was with Mark Pincus on his idea for an eParty.  An eParty would be a lobbying organization funded by a constituency of civic participants who leverage an emergent democracy system to deliberate and choose issues to support and advance.  What appeals to me about this idea:

  • Its interests will emerge -- a potential governance mechanism that is truely emergent
  • Its driven by easy group forming -- fills a gap in today's politics of infuence to advance otherwise unfundable or short-term issues.
  • The process is the platform -- which fosters substantive debate, civic participation and social capital

The blogosphere has proven effective in influencing the mass media which in turn influences decision makers.  It also encourages direct appeal for email write-in campaigns.  But to truely have an impact on existing political institutions it must represent itself as a constituency and engage in institutional pluralism -- through lobbying on behalf of its constituents.

[Ross Mayfield's Weblog]

Mark Pincus is a moral capitalist.  He's made lots of money, but he hasn't let that get to his head.  He's the kind of guy who wakes up in the morning knowing what's possible - but that it's not ALL about making money.  The power of the people can never be defeated.

So Mark is floating an idea for an eParty.  Check it out.  It's a pretty cool idea.

[Marc's Voice]
9:30:34 AM    trackback []     Articulate []