Scott Hanselman

Abbreviations and you...

May 21, '04 Comments [7] Posted in Programming
Sponsored By

If I see one more variable with a name like "VoyAcctReqTrxTransOpLPCSTR" I'm going to shoot someone, or myself. 

People, if it's an "Account" call it one.  If it's a MortgageAccount, well, you get the idea.

Sorry, I'm about to go postal here, but it's Friday.  Sigh.

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

RipDigital - another idea I should have thought of.

May 21, '04 Comments [0] Posted in ASP.NET | DasBlog | TechEd | Speaking
Sponsored By

Sorry there's not a lot of ASP.NET related stuff going on for me lately, otherwise I'd post more.  I will tell you this, I've got an idea I've run by Clemens for a very cool new view for dasBlog.  I'll write it at TechEd.

Now, that said, check this out:  I have at least 25 gigs of painfully ripped MP3s from my personal CD collection, but I've still got a few hundred CDs I haven't gotten around to.

  

But, I can go to RipDigital.com and they will send me a spindle that I fill with 100 CDs.  Then for $129 they send back my CDs and a number of DVDs with my MP3 ripped at 224Kbps.  What a great idea.

I may have to check that out...

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Looking for things to complain about?

May 20, '04 Comments [4] Posted in TechEd | ASP.NET
Sponsored By

I usually steer away from controversy on this blog.  I said nothing during "Rory-Gate" that Ted and Roy started even though I had an opinion.  Now, to be clear, Roy and I are blog-friends, we've chatted, emailed, we are cordial.  Regulator kicks the llama's ass - Roy's a fine fellow. 

That said, Roy, are you trying to be a commentator, or are you just trying to stir crap up?  Seriously, relax.

Roy commented on my Apprentice.NET post and thought that winning the tickets to the Influencer's Dinner was cheesy and represented some kind of larger disintegration of the social fabric of the blogosphere, or possible space-time.  Note, the emphasis is mine.

Sure, I know some of this is tongue in cheek sorta thing, but still. When did Bloggers become rock stars to win dinners with? ".Net Influencers"? hmm... I know these are all great people but C'mon! just wear the "I'm a Legend, worship me." T-shirt and be done with it already.

Do we really want to cultivate the cult of the worshiping masses? In the last year I've seen Bloggers become celebrities, celebrities become legends, and I've seen legends become myths. We need to remember (and especially those who are at the helm) who we are and what we are here to do. We should not get all full of ourselves creating contests for people to meet us. We should just meet them. We should not be handing out autographs, but software, tips, tricks and code. Oh and gadgets. I have to say that yes, I'd love to meet with each and every one of the “cool bunch” but I would feel really awkward trying to win their grace through a contest. What's next? A Don Box coffee mug? wasn't the “software legends” thing enough? Isn't this all getting a little out of proportion? [RoyO]

A Don Box coffee mug?  Hell, I've got his rookie card!  (By the way, buy a ComputerZen.com coffee mug!) 

This isn't a bloggers dinner.  There'll be Program Managers there, people who write specs, people in charge of .NET namespaces, people who influence the direction of the .NET Framework.  YES there will be some MVPs there, and YES there will be some RDs there.  Microsoft decides who is an influencer.

Dude, I was very happy to meet Don Box, and I'd be even happier to meet Tim Berners-Lee.  However, I didn't say myth, legend, king or queen, celebrity or worship me.  I specifically said "Illuminati" with the definition being "#5: Any persons who profess special spiritual or intellectual enlightenment" with the operative word here being profess.

It's just a velvet rope, and if you don't want to party in the champagne room, don't go to the club.  The dinner existed (I didn't invent the dinner) before my little promotion and dinners like it will exist after. This is all in fun, there's no intentional elitism. 

If you don't want to meet Donald Trump, then don't try out for the Apprentice.

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

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

May 20, '04 Comments [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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

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

May 20, '04 Comments [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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

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