Scott Hanselman

The Apprentice.NET: You're finalized! Don't forget to stop by the Microsoft RD Community booth!

May 20, 2004 Comment on this post [0] Posted in TechEd
Sponsored By

I'll be hanging at the Microsoft RD booth for most of Monday and Tuesday.  Be sure to stop by and say Hello and tell me you saw this post. 

If you're a blogger, please help virally spread this post by trackbacking to it.  Feel free to use this graphic:

You'll want to stop by and see if you have the intellectual horsepower it takes to be the Apprentice.NET!  The Winner will receive a ticket to the EXCLUSIVE INVITE ONLY .NET Influencer's Dinner and rub elbows with various .NET Illuminati.  Truly a lifetime chance, and only possible to those with chops enough to be the Apprentice.NET. 

For those of you who are more 'Survivor'-brute-force-scavenger-hunt types ;) don't worry, we'll have RD Bingo for you to play.  You'll have a card with the faces of Bloggers and RDs that you know and love.  Get that individual to initial over their face.  Getting Bingo (or Blackout Bingo) wins prizes (plus it forces you anti-social bastards to network!)

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Weird...first time my blog's been down, well, ever...

May 20, 2004 Comment on this post [0] Posted in ASP.NET | DasBlog | XML
Sponsored By

Weird, er, ah.  That was the first time the blog's ever been down that I know of.  I was posting remotely via BlogJet (the blogger API) and somehow the new dasBlog 1.6 Cache got out of whack.  I recycled the Worker Process and deleted entryCache.xml, categoryCache, and blogdata.xml and I'm back.

For those who care, here's the event log:

l2 time 2004-05-20T02:30:02 code 750 message <span>XSSUpstreamError:<br/>Collection was modified; enumeration operation may not execute.<br/> while processing    at System.Collections.ArrayListEnumeratorSimple.MoveNext()
   at newtelligence.DasBlog.Runtime.EntryIdCache.Build(DataManager data)
   at newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager data)
   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.GetDateForEntry(String entryId)
   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetCommentsFor(String entryId)
   at newtelligence.DasBlog.Web.Services.SyndicationServiceImplementation.GetRssCore(String category, Int32 maxDayCount, Int32 maxEntryCount)
   at newtelligence.DasBlog.Web.Services.XSSUpstreamer.Run().</span>
l2 time 2004-05-20T02:30:03 code 1 message <span>Error:<br/>System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
<br>   at System.Collections.ArrayListEnumeratorSimple.MoveNext()
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Build(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.GetDateForEntry(String entryId)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.InternalGetEntry(String entryId)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetEntry(String entryId)
<br>   at newtelligence.DasBlog.Web.Core.SharedBasePage.SetupPage(Object o, EventArgs e)
<br>   at System.EventHandler.Invoke(Object sender, EventArgs e)
<br>   at System.Web.UI.Control.OnInit(EventArgs e)
<br>   at newtelligence.DasBlog.Web.PermaLink.OnInit(EventArgs e)
<br>   at System.Web.UI.Control.InitRecursive(Control namingContainer)
<br>   at System.Web.UI.Page.ProcessRequestMain()<br/> while processing
http://www.hanselman.com/blog/PermaLink.aspx?guid=b849dcaa-81f0-4733-9fff-f7399fb6ed01.</span>

then some

l2 time 2004-05-20T02:30:05 code 1 message <span>Error:<br/>System.ArgumentNullException: Value cannot be null.
<br>Parameter name: value
<br>   at System.Web.Caching.CacheEntry..ctor(String key, Object value, CacheDependency dependency, CacheItemRemovedCallback onRemovedHandler, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, Boolean isPublic)
<br>   at System.Web.Caching.CacheInternal.DoInsert(Boolean isPublic, String key, Object value, CacheDependency dependencies, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback, Boolean replace)
<br>   at System.Web.Caching.Cache.Insert(String key, Object value, CacheDependency dependencies)
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Load(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetDaysWithEntries(TimeZone tz)
<br>   at newtelligence.DasBlog.Web.Core.WeblogCalendar.WeblogCalendar_Load(Object sender, EventArgs e)
<br>   at System.Web.UI.Control.OnLoad(EventArgs e)
<br>   at System.Web.UI.Control.LoadRecursive()
<br>   at System.Web.UI.Control.LoadRecursive()
<br>   at System.Web.UI.Control.LoadRecursive()
<br>   at System.Web.UI.Control.LoadRecursive()
<br>   at System.Web.UI.Page.ProcessRequestMain()<br/> while processing
http://www.hanselman.com/blog/Default.aspx.</span>

then a whole lot of...

l2 time 2004-05-20T02:35:03 code 1 message <span>Error:<br/>System.ArgumentNullException: Value cannot be null.
<br>Parameter name: value
<br>   at System.Web.Caching.CacheEntry..ctor(String key, Object value, CacheDependency dependency, CacheItemRemovedCallback onRemovedHandler, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, Boolean isPublic)
<br>   at System.Web.Caching.CacheInternal.DoInsert(Boolean isPublic, String key, Object value, CacheDependency dependencies, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback, Boolean replace)
<br>   at System.Web.Caching.Cache.Insert(String key, Object value, CacheDependency dependencies)
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Load(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.GetDateForEntry(String entryId)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.InternalGetEntry(String entryId)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetEntry(String entryId)
<br>   at newtelligence.DasBlog.Web.Core.SharedBasePage.SetupPage(Object o, EventArgs e)
<br>   at System.EventHandler.Invoke(Object sender, EventArgs e)
<br>   at System.Web.UI.Control.OnInit(EventArgs e)
<br>   at newtelligence.DasBlog.Web.PermaLink.OnInit(EventArgs e)
<br>   at System.Web.UI.Control.InitRecursive(Control namingContainer)
<br>   at System.Web.UI.Page.ProcessRequestMain()<br/> while processing
http://www.hanselman.com/blog/PermaLink.aspx?guid=6083af1e-42c1-4d54-a33d-a5bef622a503.</span>

Looks like some schmutz around the small cached portion of the Xml Data Store is corrupt, there's no Assert() or check for null and null is inserted into the in memory ASP.NET cache?  The first dump shows EntryIdCache freaking out, then the other cache didn't stand a chance.  Looks like maybe the Radio Upstream happened JUST as I was sending data in via the Blogger API?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

"Searching Conversations, Not Content" or "Is there a difference between CONTENT and PAGES?"

May 20, 2004 Comment on this post [4] Posted in Programming
Sponsored By

I was talking to a fellow at the recent Portland Nerd Dinner about my growing frustration with Google.  Certainly Google is great, blah blah, find anything, blah blah, touch the mind of God, blah blah.  But I'm just searching text without context. 

Sure, that text might be in a PowerPoint or PDF, but when my motherboard recently freaked out I googled for such things as "PERL Intel Motherboard" and "Intel Motherboard BIO Problems" - you get the idea, you've lived this a thousand times before.

After a while of NOT finding anything, I started being more directed.  This is where my Mom and many others breakdown.  There ARE things that google doesn't search OR advanced Google techniques that are tantamount to using a command shell. (filetype:pdf and site:intel.com leap to mind) 

So, I went straight to Intel and did the whole FAQ, Forums, Support MESS.  (Aside: Online support is quickly also becoming a joke.  TODO: Revolutionize Online Support by introducing an actually USEFUL Knowledge Base Search)  Then I tried various and sundry forums that Google isn't - for whatever reason - indexing. 

Then I tried Google Groups.  And here's the thing - is it more agonizing to find NOTHING about your problem or to find three threads that describe your problem EXACTLY...but the thread is just lying there.  Fallow.  Unanswered.  Flacid even.

So, I found another fellow who was having the identical problem.  Noone answered his calls though, as they were scribbled on the bathroom wall we call the Usenet.

Then I realized what I REALLY wanted to search was Conversations/Thoughts/Comments.  I didn't really expect to find a PAGE that was called "Upgrading the Intel 865PERL Motherboard BIOS from Revision P12 to Revsion P15 and watching it fail" because noone writes pages like that (anymore.)  I wanted to search the buzz, the scuttlebutt, the scoop, the thoughts.

The Usenet threaded discussion model isn't working anymore, and non-google indexed blog comments aren't helping the problem, they are distributing it.  There's a problem out there and a whole slew of "conversations" and collective knowledge that need to be indexed and someone is going to have a license to print money if they solve it.

 

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

All the John Robbins BugSlayer Tips in one location

May 20, 2004 Comment on this post [0] Posted in Bugs
Sponsored By

Sairama has extracted all the BugSlayer Tips from all the John Robbins Microsoft System's Journal columns going back to 1997 and through today.  A great resource!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

DVD-R, DVD+R, +-Confusion

May 20, 2004 Comment on this post [2] Posted in Africa
Sponsored By

Lord.  I blink and it got confusing.  Noone bother to work it out, so now there's DVD-R, DVD-RW, DVD+R, DVD+RW, DVD+R DL, and DVD-RAM.

I HAD a nice Sony DVD*.* Writer but it, like Colonel Sanders, has gone tits up.  So, I'm forced to use a friend's DVD writer and lord knows if the DVDs from my Africa trip will run in their DVD players.

So, a litte googling led me to this VERY nice search system at VideoHelp.com.  It actually has a list compiled from User Reports describing not only what players will play what media, but also what BRANDS of media had the best success on what drives. Nice.

Here's mine - looks like it's time for a new DVD Player.


Panasonic A110 CDR
CDRW
DVD-R
DVD-RW
DVD+R
DVD+RW
VCD
SVCD
JPG
MP3
WMA

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.