Lance's Whiteboard

Random scribbling about C#, Javascript, Web Development, Architecture, and anything else that pops into my mind.

News


Creative Commons License
Lance's Whiteboard Blog by Lance Hunt is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Based on a work at weblogs.asp.net




Sponsored Ad
Sponsored Ad

Blogs I Read

October 2006 - Posts

BaitAndSwitchWare stinks!

I hate it when I download a "free" utility that has an auto-updater that is later used to deliver an update that cripples the original utility and asks you to buy an upgrade.

Come on guys, either make it free, or not, but dont pull this bait and switch approach...

ASP.NET Roles cookie expiration date easter egg?

Just stumbled upon this today while spelunking the code for ASP.NET Membership & Roles.  The DeleteCookie() method on the Roles provider API does a standard call to remove the cookie, but afterwards writes out a new, expired cookie just to make sure.

While perusing with Reflector, I noticed something odd thing about the expired cookie it writes out. The expiration date is set to 10/12/1999 rather than the expected DateTime.MinValue.   So, I'm just curious about the significance of that date.  A quick Live.com or Google search doesnt seem to reveal anything interesting.

Maybe the coder was in trouble with the wife about forgetting their anniversary, so he immortalized it in code - who knows.. :)

Posted: Oct 23 2006, 01:33 PM by CodeSniper | with 4 comment(s)
Filed under:
Past jobs, ex-coworkers, and the value of people.

Just some miscellaneous thoughts on those I have left behind...

I never blogged much about my last employer, Mary Kay, - at least directly - but I spent (almost exactly) 5 years there, and had plenty of ups and downs.  I credit that experience for helping me clarify exactly what I do and do not want in my career and in my life.

I spent two stints at true "corporate style" environments like Mary Kay - the first at Paymentech (initially part of First U.S.A & Bank One) - but most of my years have been at various forms of small start-ups, consulting firms, and dotcoms.   At the tail-end of the dotcom bust, I left Homebuilder.com, but first helped them transition much of their custom call center apps to the new parent company, Homestore.com, in Thousand Oaks, CA.   This was back in the days of high-flying stock prices, daily IPO's, paper-millionaires, damning black-out periods, and general euphoria at the mighty invincible tech stocks (aahh, those were the days).

A few of my compatriots (Eric, Preston, and Jared) gracefully departed Homebuilder with me and joined Mary Kay at the same time. Of this group, I was eventually the first to leave Mary Kay.  I worked with a lot of really good people at Mary Kay including my excellent reporting wrecking-crew, Linda, Bill, and Ray, in the Supply Chain Systems department plus Michael & Darren from our Sql Server team.  Before the rise (at least budget-wise) of our Supply Chain department, the eBusiness department, where I started, was really the star.  Alas, in my opinion, this was due to a large degree because of the actions of outstanding individuals like Barry Bloom and David Findley more than the leadership of their IT management.   Due to new opportunities and past failures of management, David and I coincidentally left Mary Kay at the same time - him going to help our friend Bob at and me becoming a Telligenti.   I like to think this had an impact, but the truth is that companies like Mary Kay are built to survive with or without key people.

Tonight, I stumbled upon the blog of another coworker, Zach, from Mary Kay's Supply Chain Systems department.  We worked together initially on some core frameworks, Biztalk, and other miscellaneous back-end systems.  Later he branched out to cover more ground around J.D. Edwards, warehouse management, and integration while I narrowed my focus towards Sql Server, Sql Reporting Services, and ASP.NET. 

When we worked together, he didn't seem to blog much, but coincidentally it seems that he started to do some serious blogging shortly thereafter.   Today, Biztalk integration with large ERP solutions still seems to be his area of focus, and as Mary Kay has increasingly deployed globally, he has undoubtedly acquired some significant experience in very large scale deployments.  I sometimes wish I had been able to experience firsthand the sheer daunting scale of such a large international rollout, but then quickly I realize the magnificent mess he has on his hands, and think the better of it. :)   All I gotta say is; good luck Zach!

There are numerous others like Zach who have affected my career, for good and evil, many have been consultants (Hitachi & HP consulting) and independent contractors, others have been trainers (Developmentor, Wintellect), still others have been the users, business analysts, supervisors, project managers, and even a few CEO's, CTO's, and CFO's (yeah, I did say evil didn't I?  :-).  Some of these people just seem to pop-up again and again in this small world of IT, its sometimes amazing how there seems always to be a divine game of  going on in IT.  You never know whose resume' will be on your desk, and vice-versa.

From my experience, there is one common thread to every successful company and project I have enjoyed and every I have survived - People.   Without a doubt, the strongest link in the chain has made us succeed, while the weakest has pulled us down into the abyss.  The trick, like in any good tug-of-war contest, is to make sure you have more of the former than the latter.    This is where my current employer, Telligent Systems, really impressed me, and continues to this day.  Our weakest link is typically as strong (or stronger) as the best of many other companies, so even on a bad day, you really have to try hard to fail. 

On that note....time to get back to work!  :)

Link: TweakVista

I recently discovered TweakVista.com  Thumbnail via WebSnapr: http://www.tweakvista.com

This site is basically an updated version of the TweakXP.com site that I have used in the past to discover undocumented tweaks, hotkeys and other features.    I highly recommend reviewing a couple of basics such as how to easily run any application as Administrator and the list of IE 7 keyboard shortcuts.

Posted: Oct 22 2006, 11:53 AM by CodeSniper | with no comments
Filed under:
WebSnapr plugin for Windows Live Writer

I saw that was using the WebSnapr service to embed thumbnails of its Url's and I really liked it.  So, last night I created a quick and dirty WebSnapr plugin for Windows Live Writer (beta) that wraps up the WebSnapr service in a simple addin.

Here is an example of the thumbnail output:

Thumbnail via WebSnapr: http://weblogs.asp.net/lhunt/pages/WebSnaprPluginForWindowsLiaveWriter.aspx

Check out my WebSnapr plugin for Windows Live Writer project page and give it a whirl: 

Visual Studio 2005 Refactoring is useless

I'm writing this as I wait for a simple "Extract Method" refactoring to execute in Visual Studio.NET 2005.

I have used other tools in the past that work several orders of magnitude faster, so why can't Microsoft, with all their money and talent, at least approximate the quality and speed of tools like jetBrains Resharper?

Or at the very least, give me a freakin cancel button when it starts thinking, not after it finally starts iterating over files.  That way when I goof and use the Rename refactor, I can cancel and do a manual find/replace (in half the time).

At this point, I'm going to try Scott Guthrie's hack to omit web files from the refactoring and give it one more whirl.  

More generally, this is just one more example demonstrating how common a practice it is for Microsoft to target their first SP to reach Feature Complete in their products rather than RTM.

NetTiers GridViewSearchPanel

One of the nifty controls that NetTiers generates is the GridViewSearchPanel which gives you a nice simple search UI to filter the results in a GridView.

Unfortunately, its not exactly obvious how to setup this control.  On the surface it looks simple, you just drop a GridView, GridViewSearchPanel, and a NetTiers datasource control on to the page and connect the dots via their  XXXXControlID attributes:

<data:ProductDataSource ID="ProductDS" runat="server"
        EnablePaging="true" EnableSorting="true"
        SelectMethod="GetPaged">
</data:ProductDataSource>

<data:GridViewSearchPanel ID="SearchPanel" runat="server"
        BusinessEntityType="Test.Product"
        GridViewControlID="SearchResultsView" />

<asp:GridView ID="SearchResultsView" runat="server"
        DataSourceID="ProductDS"
        AllowPaging="true" AllowSorting="true" PageSize="20" />

This all compiles, but unfortunately we missed one thing.  In order to enable the ProductDataSource to add the SearchPanel's filter criteria, we need to add a dummy parameter named "WhereClause" that the SearchPanel can populate with the search criteria.  Also, you will need a similar "OrderByClause" parameter to enable gridview sorting.  So the final ProductDataSource control should be declared like this:

<data:ProductDataSource ID="ProductDS" runat="server"
        EnablePaging="true" EnableSorting="true"
        SelectMethod="GetPaged">
    <Parameters>
        <data:CustomParameter Name="WhereClause"
                ConvertEmptyStringToNull="false" />
        <data:CustomParameter Name="OrderByClause" Value=""
                ConvertEmptyStringToNull="false" />
    </Parameters>
</data:ProductDataSource>

It's a simple change, but it took me far too long to figure it out, so I hope this saves someone else (or myself) time if you run across this.

If you havent tried NetTiers and CodeSmith, you really should go download them and spin up a quick Northwind test project.   They recently released NetTiers v2.0 which has some outstanding improvements over the previous incarnations.  The documentation is still coming along, but you can typically solve any problem via the the forums on CodeSmithTools.com, samples & walkthroughs on NetTiers.com, and the growing documentation on wiki.NetTiers.com

Vista downers (first look)

Just some quick hits after my first day of Vista RC2 & more generally the current state of Vista.

 

UAC Popup hell.  Right now I'm trying to play nicely in Vista's Least-Privilege User Account (LUA) world, and as a developer I can deal with some extra prompts - but what about my wife, and other pure end-users?    I went ahead and created a user for my wife, since she tends to use my PC for quick web browsing adventures, so I logged-in with this new (non-super) user account and proceeded to do a bit of cleanup so she can easily find the things she uses most.     What struck me the most was how disruptive  and often unexpected were the UAC popup's when doing seemingly trivial things like deleting icons off of the desktop.  I can't wait to hear my wife's response the next time she tries to get quick driving directions via Google maps.  :|

Windows Mail minus web-mail?  The first app I tried to run on Vista was Windows Mail.  When launched it explains nicely how Windows Mail is the descendent of Outlook Express, etc and then its first popup is a prompt for the email account to which you want to login.   Considering that this is all new, I figured I would pick something that Microsoft would obviously test first...Hotmail!  So, I punch in my Hotmail email, and low and behold, it says "Sorry, Http email is not supported in Windows Mail" blah blah blah blah....  WTF!?!?  Sorry folks, you must use the web UI, or upgrade to Outlook for this.   Oh my!

Bread-crumb Navigation aggravation.   I consider myself to be a fairly advanced Windows user, and have no problems adopting new navigation styles, but what I detest, is when new tools are given, but at the cost of an old ones.   The Vista explorer navigation pane is one such case.  I really dig the new Bread-crumb navigation, but I just wish they hadn?t removed the "Up" button from the folder navigation toolbar.  After years of Microsoft encouraging a habit of using that up-arrow to go up a folder, I keep missing it.   Why take it away?   For the same reason that I like to have at least 2 ways of navigating a website, you shouldn't limit users to one way of traversing files.  Breadcrumbs are nice, but far from the best nor the only UI device that is useful for navigating a hierarchical structure.

Missing-In-Action. I'm sure this has something to do with the anti-trust lawsuits, but I have to ask anyway.   Where is Windows Live Messenger?  Great, they give us an icon to download, but everything under the "Live" moniker seems like it should be integrated with Vista.  At the very least I would expect a special Vista edition of Live Messenger that was Glass-enabled and fit more seamlessly.  Yeah, its great that we have some collusion between the sidebar gadgets and the Live.com site, but is that as far as they really plan to take this?  Seems like a wasted opportunity.  Also, if Vista is to be the RSS dream platform as billed, why isn't Windows Live Writer packaged with Vista?   It seems like something that would be a great selling point for the 55-million (and growing) blog-owners, or at least to better support the Windows Live Spaces.   Also, where are the WPF apps?  We now have .NET Framework 3.0 in the OS, but I see little dogfooding of Microsoft's new application development framework.  What gives?

 

In this post, I have purposefully focused on some of the aggrevations I had, but there are still a lot of things to like, such as ReadyBoost, RSS aggregation, the Aero shell, performance analysis tools, task manager, etc. I will try to include my thoughts on these in a separate future post specifically about the Vista successes.

Posted: Oct 16 2006, 12:18 PM by CodeSniper | with 2 comment(s)
Filed under:
Casa Dell Vista

After months of trying to convince myself to wait until Vista ships, I finally bit the bullet and bought a new PC.   Since I plan to buy a nice laptop later, I decided to just get a low-end PC sufficient to hold me over for 6 months to a year.   Luckily, I found a great deal ($539) on a Dell Dimension 9200 with a Core 2 Duo 1.86 ghz processor, 1gb DDR2, 256mb NVidia 7300 , etc.  At this price, my days of assembling my own PC's are over.  :)

Unfortunately, I overlooked one thing in the Dell PC configuration tool - it included XP Home instead of Professional.   After a few seconds of berrating myself, I realized that this was just the motivation I needed to download and install Vista RC2.

It has been a while since I last installed/played with Vista (prob around PDC 2005), so I was way overdue for a visit.   After a completely painless install, all I can say is "Wow!"  

The past instabilities and incomplete featuresets are gone.  As far as I can tell, everything just works.  Eventhough my hardware (graphics card) specs arent stellar by gaming standards, they were able to run the Aero shell beautifully with all the nifty alpha blending capabilities fully enabled.

Here are my PC's "measurements":

Windows Experience Index base score of 3.2

(P.S.  I love the Snipping Tool for quick screen grabs like above.)

At this point, I'm not sure how this compares to other systems, but I would guess that the video is a tad low - but acceptable for normal apps and moderate gaming.   Just to see if it would help some of the other stats, I also plugged-in a little 1gb USB drive and setup ReadyBoost to see what would happen.  Oddly, none of the numbers changed, however, I saw an immediate speed improvement in launching apps, and boot-up.

Regardless, I think I succeeded in finding an affordable "transition PC" while I wait, save, and scheme on which laptop to buy.

Next steps...buy another 1-2gb of RAM, install VMWare or VPC, setup my virtualized dev environment, and start having fun with NETFx 3.0.

Posted: Oct 16 2006, 01:36 AM by CodeSniper | with 2 comment(s) |
Filed under:
Sql Reporting Services White Papers

, the MS PM for Sql Reporting Services, posted a list of new white papers recently posted to MSDN covering various Report development topics including Xml, Web Services, Charts, MS Office, OLAP, Drill Down, and Exection Logs.

Although all of the new offerings were good, Jon Heide's "Reporting Services: Using XML and Web Service Data Sources" was the most compelling and immediately useful article.  Especially since, I hadnt previously seen much detail on the query syntax or other details of using the XmlDataExtension.

More Posts Next page »