home links tools blog about
home

May 05, 2008

An Open Letter to My Keyboard

Dear Keyboard,

There's really, never, ever, ever, ever, ever a time when I don't want the NUM LOCK key off. I have a keyboard with a 10-key because I like those keys.

And I don't use that side of my keyboard as a drink-holder. Ever.

So, I'd prefer it if we could work something out where my 10-key always worked. Cuz having the ability to turn off my 10-key/Toggle NUM LOCK is tantamount to having keys that turn off 'right hand' or 'left hand' keys - i.e., totally useless.

Love,

--Mike

No, really: When did 'they' decide that a 10-key was just too much for some users to handle? What was the conversation like?

"Dood, this 10-key thing is nice, but it's just too much power. Stop the insanity and give people a way to turn that thing off for the love of all that's holy - otherwise someone will shoot their foot off with that thing"....

May 01, 2008

Another Open Letter to Microsoft

Dear Microsoft,

I know you're busy formulating a hostile take-over of Yahoo right now. So you're probably swamped. And since I think your proposed take-over Yahoo is a swell idea - and a great way to improve your image after the whole vista-capable debacle, I've been giving some thought to some of the great things you can do once you convince Yahoo that this will be a great experience.

For example... you could use Yahoo's search-engine functionality to keep track of all the documentation, white-papers, and KB articles that you keep MOVING around on your damned site.

Me? I LOVE getting the "We're sorry for the inconvenience...." 404 page that you use to tell me that you willy-nilly just removed a resource that I was looking for - because it tells me that you care. Other people might get crabby about that though.

And here's the thing, people are linking to these resources - quite a bit too. Heck, I figure I bump into 2-3 of these little 'love notes' every day. But hey... I get you, you're saying that I don't really need access to documentation, white papers, and to KB articles. Cuz if I did, you wouldn't keep MOVING and DELETING those resources from your site.

But hey, like I said, I know you're really focused on that Yahoo buyout - so'z you can be more focused on providing people with a stronger and more friendly 'intarweb' experience...  I know I'd really like to see something like that from you - so good luck on the buyout as all our hopes and dreams are resting on it!

--Mike

April 17, 2008

I just can't stop drooling (Q9450)

That's right, the Intel Quad-Core Q9450. I just can't stop drooling.

12MB L2 Cache? (Mommy!)

Good thing they're out of stock all over on teh intarwebs - or I'd have one already.

March 21, 2008

An Open Letter to Microsoft

Microsoft,

Maybe it's just me, but it's probably time to come to grips with the fact that a lot of YOUR customers actually use FireFox.

As such, pages like this one are beyond ridiculous:
https://partner.microsoft.com/40052721?msp_id=vistasp1

And I don't know what's funnier/worse:
- the fact that I have to accept two different SSL certs that you guys issued to yourself for this site,
- or the fact that you apparently don't know how to do any type of standards testing on your markup/css
- or the fact that there are 78 319 javascript errors on that page in FF.

And actually, pages like that (which litter your site) are actually quite arrogant. You guys keep telling us that you get web standards. And in many ways you really do a great job of listening to customers. But I'm a small shop - and I can be 'bothered' to test my own sites in IE 6, IE 7, FF and sometimes even in Safari/Opera. Why can't you?

--Mike

March 18, 2008

Response.TrySkipIisCustomErrors and Error Pages

There are oodles of pages out on teh intarwebs that will tell you how to set up custom error handling for your ASP.NET site. If that's what you're looking for, this post isn't for you. However, if you're looking to see how to take complete control over what your custom error pages do, and how they report back to clients, then read on.

404s with all the Guts and Glory
One great approach is to wire up error handling logic in your Global.asax's Application_Error event. I took this approach and was able to get it to work flawlessly with some 'spoofed' 404s that I recently created on one of my sites (i.e., I'm using tons of url-rewriting and needed to be able to discern when a path looked correct (had the right format), but didn't actually map to something in the Database or on the site - so throwing my own NotFoundExceptions was a great way to redirect to my own custom 404 page).

When I tried this same approach with actual 'errors' though I ran into a massive problem. My root problem in this case is that when I really encounter an exception, I want the HTTP STATUS CODE for the page in question to be a 500. If you use the customErrors configuration in the web.config, that works out as an HTTP 302, and if you're just doing Server.Transfer("myCustom500Page.aspx") from you Global.asax, you end up writing an HTTP 200 - which isn't something you want a robot to encounter when the page is obviously broken.

With my custom 404Handler.aspx page I was able to parse info about the exception being thrown to dynamically generate a helpful HTML page, and then spit out a 404. This was perfect - as it let me handle stupid user errors, as well as potential 'real' problems on the site with some decent markup on a custom error page without sending out an HTTP 200 which will cause the page to be indexed by robots should they happen upon it somehow.

What's Good for the Goose doesn't work for the Gander
But if you try the same thing with a custom error page (by doing Response.StatusCode = 500;) you run into a massive problem. What happens first is that it appears that ASP.NET sees the 500 error, assumes that something is wrong, and will attempt to redirect to your custom 500 page specified in the customErrors section of your web.config. (I'll spare you the story of the joy I had watching my site go into an infinite loop on those requests.)

But even worse than that is that once ASP.NET sees the ResponseCode get set to 500, it will try to hand off processing to the custom error page used by IIS. The pisser is that you can't get around this. I tried ApplicationInstance.CompleteRequest() immediately after setting Response.StatusCode = 500 - but that didn't do it. Neither did trying to override or piggy-back on to my custom error page's OnError (because, obviously, no error is being encountered - though the status code is being set to 500).

ASP.NET 3.5 and IIS7 to the Rescue
Just as I was starting to contemplate stuffing the Exception from Server.GetLastError() into Context.Items[], and then pulling it out in my custom errors page, I thought I'd take a peek at Response in IntelliSense to make sure I wasn't missing anything.

Sure enough, there's a new property that INSTANTLY caught my attention: Response.TrySkipIisCustomErrors. It's brand-new, and only works on IIS7 with ASP.NET 3.5. That, however, happened to be the exact platform that I'm on.

More importantly, it lets me:
a) Capture unhandled exceptions in my Global.asax's Application_Error Event Handler
b) Capture the exact error/exception with Server.GetLastError() (note that you'll want to grab that Exception's .InnerException if the Type is of Type HttpUnhandledException)
c) Programatically let me determine which error page to route to in order to handle the exception (depending upon type/details/etc)
d) Do more processing in the page that handles the error (such as enabling/disabling various error descriptions/panels/etc.)
e) Throw an HTTP 500 (or whatever) without getting my response-stream hijacked by IIS.

In other words, this gives me the best of everything: intelligent and dynamically generated custom error pages, and HTTP response codes that give me the control over robots/indexing that I need.

March 10, 2008

An Open Letter Vista Ultimate

Vista,

After a really rocky start, you and I are now getting along fairly well. In fact, I really find myself loving certain things about you. A lot. Of course, TweakVI has been pretty integral in getting me to love you the way that I do. But that's probably another story.

What do I love so much:
- Cleaner Audio/Video. I spend a LOT of time with Camtasia. In XP (on the same hardware), I couldn't immediately cut/splice a chunk of a video while editing and get XP to immediately play the newly mixed/mastered content without it sputtering and stammering. Although, I recognized early on that when that coughing/stammering/sputtering garbage was getting really bad that a reboot would always help improve things. As such, I always blamed XP - and hoped that Vista would do better. Amazingly, Vista has done a fantabulous job in this arena - saving me what has already, easily, amounted to a few hours of time.
- Distinct volume levels per application. It's a small thing - but it's also just plain cool to be able to set different volume levels for each application and for Vista itself. (Meaning that I can crank my tunes and if I encounter an exception/Windows Error, I don't need to go deaf.)
- Aero Glass. Yeah, 5 years was entirely too long to wait for this 'enhancement', but it's just plain spiffy.
- How stable you are. You've not bluescreened on me once. Yeah, a couple of my apps are more flaky with you, but you do a better job of handling that, and the few times that my shell has crashed, you've recovered marvelously.

What I find strange:
- Why you got rid of the programs in my start menu? No, I'm not complaining about the change to the start menu. That takes a tiny bit of getting used to - then it's fine. What I'm talking about is the fact that most of my installed programs no longer show up in my "All Programs" folder thingy. And the same thing goes with a couple of folders that I created to bunch/group some of my programs together - to save on space/real-estate in the folder lists. I've searched for KB articles, but I'm not getting any love. I'm sure it's just a glitch, but it is pretty annoying.

What I really don't get:
- What I really don't get is why you think that I'm that idiot kid from the Mac commercials. Honestly, I don't own a single hoodie. And I sure as hell wouldn't grow a soup-strainer on my chin. So why do you have to treat every single folder that I've created as if it only contains pictures or mp3s? No really, when I use explorer to nav into one of my folders, it's a bit goofy that everything always defaults to a thumbnail. Yeah, I've found myself getting used to that a bit - and, truth be known, it's growing on me a bit. Or, at least, it does look pretty cool most of the time - even if it's not that functional.
What drives me batty though, is that when I switch to details view, you're always listing crazy crap like: Name, Artists, Album, (Track) #, Genre, and Rating as column headings in Explorer. Trust me, some of the reviews and articles and content that I write I like much more than some of the other stuff I create. But I really don't need 5 happy little rating stars to help me keep all of that separate in my mind.
Even worse, I've gone in and replaced those attributes with things that I give a crap about (size, created, last accessed) and then told Explorer to apply that view to ALL folder views. But you just don't listen.
Which is ironic, because I'll bet that that 'hip' Mac guy's computer does that for him. Right?

What I've decided:
- Vista Business, amazingly, doesn't treat my like I'm some stupid college kid with nothing but images and mp3s/movies clogging my hard drive. So, since I'm still running the 'evaluation' version of Vista (thanks to this little gem), when it comes time to actually pony-up for your very over-priced license, I'll actually be swinging a copy of Business as there's absolutely NOTHING that Ultimate offers (over Business) that I need. Yeah, BitLocker looks cool, but it's way more protection than I actually need. That, and I really hate the way that Ultimate has been dumbed down to act like I'm only using my computer as a media machine. Not to mention, we all know that you 'Ultimate Extras' was the biggest load of crap since someone dreamed up the lie of 'Vista Capable' (your marketing folks truly have NO shame).

Peace out.

Suddenly, the iPhone just got less cool

Well, it gets a lot less cool if anyone is dumb enough to fall for it:

Sun to put Java on the iPhone

March 06, 2008

Teaching an Old Dog New Tricks

Imagine my surprise when playing around with the recently released ASP.NET MVC Preview2 bits, and finding that one of my hidden form fields wasn't being mapped on the server because the form field only included an id attribute - and not a name attribute.

In other words, I had rendered markup that looked like this:

<input id="objectId" type="hidden" value="3">

When I really needed this:

<input id="objectId" name="objectId" type="hidden" value="3">

But, that threw me for a bit of a loop. See, I've been spending so much time playing around with client-side stuff (i.e. the DOM) for so many years now that I had begun to think that name didn't mean anything anymore.

In fact, the W3C has effectively depricated the name attribute for HTML/DOM interaction. This I knew.  But that was only part of the problem. Because the W3C still favors the name attribute for HTTP interactions. So, with POSTed forms, you'll want to make sure you use id and name attributes if you plan on doing client side interactions.

At any rate, I found all of this a bit ironic because years ago much of my markup ONLY used the name attribute. Somehow between then and now I managed to forget all of that. So, I'm just glad to see that you can teach this old dog new tricks - even if the old dog is old enough to have forgotten that he knew the tricks once before...

February 29, 2008

Microsoft Perfidy and Vista Capable Debacle

As much as I hate to say it, I'm glad that Microsoft is starting to catch some industry flak over the whole "Vista Capable" debacle.

I posted about it a while back - using some strong language. Mostly because I figured that the whole way that customers had been abused was just some side-effect of a marketing campaign run rampant. That, and the name of the site IS AngryPets after all - so I do have to talk trash and act all bothered every once in a while, right?

But as details have been forthcoming about this whole 'debacle', it's sad to see that we're not just talking about a marketing campaign that got out of control - where a few people got burned. What we're actually looking at is something that really, seriously, looks like collusion. Or, even if there isn't a criminal element involved, it's painfully obvious that Microsoft made the decision to sell their customers down the road.

Which just makes me sad.

The Seattle Post Intelligencer documented some of the emails exposed as part of the (now) class-action lawsuit being leveled against Microsoft. Some of the zingers:

One message points to chip maker Intel Corp., a key Microsoft partner, to explain the decision to lower the requirements a piece of hardware needed to qualify for the "Windows Vista Capable" designation.

"In the end, we lowered the requirement to help Intel make their quarterly earnings so they could continue to sell motherboards with the 915 graphics embedded," Microsoft executive John Kalkman wrote in the message, referring to a class of Intel graphics technology that doesn't work with Windows Vista's most-advanced graphics technology, known as Aero Glass.

In another message, Microsoft executive Mike Nash wrote that he "personally got burned by the Intel 915 chipset issue."

"I know that I chose my laptop (a SONY TX770P) because it had the Vista logo and was pretty disappointed that it not only wouldn't run Glass, but more importantly wouldn't run Movie Maker," Nash wrote. "I now have a $2,100 e-mail machine."

Like I said, pretty sad.

February 14, 2008

The Next StarWars Movie

Did you hear the great news? The next Star Wars(TM) movie is going to be animated. And then a whole slew of animated TV episodes will follow. Not to mention an entire bevy of newly colored $12.99 'light sabers' at walmart, and more cheap plastic crap Star Wars toys retailing at WELL beyond what we all know to be even remotely reasonable.

For his part, Lucas says:

"I felt there were a lot more 'Star Wars' stories left to tell," said "Star Wars" creator George Lucas in a statement. "I was eager to start telling some of them through animation and, at the same time, push the animation forward."

What he doesn't say though is that by making this movie animated, he's finally gotten rid of those pesky actors. As we all know, they totally got in the way in the last three Star Wars movies.

Hopefully the release of this new animated film will also let Mr. Lucas finally let go of the need for a plot as well. Audiences made him TRY to cling to one of those in all three of his latest films, but I think that with an animated film and series under his belt that he'll now be able to show people who knows better.

As for the 'stories' these new ventures will be taking:

A new character named Ahsoka, Anakin's padawan, will be the first female Jedi to be a character of focus.

Which brings us to another hopeful point: Continuity. It looks like that too is completely over-rated in Mr. Lucas' world, and will therefore be completely discarded in this new series of Star Wars 'stories'.

February 05, 2008

Spot On

Mario Romano nails it:

Let's be clear about it: Google is not a social institution for the defense of civil rights - it is just another corporation, not unlike Microsoft and others.

Seriously. Anyone else sick of the obscene hypocrisy coming out of Google?

Me? I'm hoping that MS manages to pull of their 'buyout' of Yahoo. No, not to get back at Google, and no, not because it would make MS that much more powerful or blah blah blah. My motivation is much more ... sinister.

You see, what with MS being on the warpath with that nasty little thing called a Zune, my hope is that if they can persuade Yahoo to let them take over, that they'll keep Yahoo Unlimited up and running - instead of trying to hand-off those customers to Rhapsody. YU is really built around WMA, and things like 'the Zune'... so hopefully MS can 1) take over yahoo 2) be persuaded to keep it alive.

Which brings me to my real point, which is about why Yahoo is likely hurting so much anyhow. Because they apparently don't know how to make $$. Take me for instance, I'm hooked on Yahoo Unlimited. I'm seriously depressed about the possibility of life without it (I mean, I've got over 25k rated songs/albums/artists with that service - and oodles of playlists). But what's Yahoo up to? Oh, they're apparently going to shunt it over to Rhapsody, where I'll have to pay more for it.

Dear Yahoo: If YU is too expensive to run as is, and if I'm going to have to pay Rhapsody MORE to keep a music subscription, then just LET ME PAY YOU MORE. I don't mind (that much) paying more. I do mind, on the other hand, paying ANYTHING to something associated with Real Networks - to the point where I simply won't.

January 31, 2008

Windows Vista - One Year Later

So, I finally gave in and made the switch to Vista.

Actually, if you've followed along on my blog, you'll see that I've actually attempted that a few times - a couple of those were even really early on. But I ran into a bunch of nasty problems very early on that really just precluded me from having any hope of truly switching to it for realz.

And then, over the past month or so I've made a couple of REAL attempts to get it to install as a dual-boot option. Mostly because I really wanted to take advantage of the SMB 2.0 goodness for communication back and forth between my server (which is running Windows 2008 RC0). See, between XP and my server I get about 15MB/sec transfer. But between 2 Win2k8 RC0 boxes (on a Gigabit switch) I was getting almost 80MB/sec. That, and I've heard some great things about Vista's stability in terms of video playback and editing - and since I'm doing more and more with Camtasia these days (more on that later), that seemed pretty tempting.

That, and *cough* because I was still being drawn like a moth to flame when it comes to Aero-Glass. (I mean hey, I've got a sweet rig with 2 killer video cards and 3 DVI monitors hooked up - why wouldn't I want some Aero-Glass love hooked up to that?)

But each of my REAL attempts at installing a dual partition over the past few months has just met with MISERABLE, STINKING, FAILURE. In each case, Vista just plain crashed after the first reboot during the installation process. No warnings, no BSOD, no errors, but most importantly: no LOVE. Three separate times I tried, still no luck.

On a whim I tried specifically loading drivers directly from the NVidia site to account for my RAID-0 (which shouldn't have been necessary - as the Vista installer was perfectly capable of seeing my RAID-0 and all of it's volumes - it was even able to format logical partitions). At any rate, that attempt ALSO crashed and burned. Only, when I rebooted after the crash and burn, Vista actually finished setting up, and then finally booted. (Whereas it hadn't done this the previous three times. ANd what's most baffling about the entire adventure is that of all the bad things I could have said about Vista over the last year, the Installer was easily one of the high-points: simple, elegant, fast and dependable - just not the last three times actually needed it to work).

That was then, This is Now
All my complaining aside, once I got Vista to finally 'take', the whole experience has been fantastic actually. For a change, ALLLLLLLLL of my software now works. No hoops, no problems, no warnings, no issues. It all just works. And on my hardware everything is very responsive and peppy. (I'm sadly at a total score of a 5.3 because my processor is only a dual-core 2.4GHz Core 2 Duo - but I'll swap that out for a quad-core 3.0 GHz (45nm) Wolfdale once those come out - otherwise disk and video are all at 5.9, and I need to slap some faster RAM in place too... but it's nothing to complain about at 5.5).)

I've also been really impressed by how stable things have been, and how WELL the audio and video handles in Vista as well. So far it's looking like it does a much better job of ensuring that audio and video don't get pre-empted, which is a HUGE win for me. And, without any tweaking I'm at about 50MB/second between my desktop and server which is also a huge boost.

Where I have taken a big hit though is with BattleField 2142. Apparently that game just isn't optimized very well to work with Vista. The video feels really smooth (compared to my XP box where the video occasionally feels a bit 'jerky'), but my frame-rate has strangely dropped by 20-50 FPS - which is a huge amount. That, and at points in the game my machine will just 'chug' or bog down to the point where game play gets really gross. But only for a few seconds. Which is weird, because XP never had any problems with that. Oh, and this is all after turning off Aero-Glass before playing. (Without doing that, playability just sucked - apparently it had something to do with painting two shiny windows with slick glass while keeping the carnage alive and well on my main monitor.)

So, that's primarily the only crappy thing I've bumped into with Vista - but given how much gaming I do (in comparison to other things) it's not that big of a deal. That, and while there ARE performance problems I'm hopeful that a bit of tuning will make them go away. Not to mention, even with those problems I'm still at the point where I'd happily deal with minor issues rather than reboot into XP.

Some Issues
Of course, you knew this was coming - even if I'm really happy with Vista, you just knew that I'd have to seriously COMPLAIN about a couple things.

Happily though, they basically only relate to Aero-Glass/Display.

The first thing I noticed was that, apparently, with my 3 monitor and 2 Video-Card setup, I'm apparently living so 'out there' on the fringe that MS doesn't want to acknowledge that people like me actually exist. (If ONLY I were actually that cool.) What am I complaining about? Vista's Dreamscape. You know - that spiffy bit of 'ultimate' functionality that lets you put video in as a background on your desktop? Right - watching home movies or MTV on your desktop would be either lame or distracting, but I was hoping to put some 'animated' video of the earth spinning, or some *cough* matrix-like characters falling onscreen and so on.

clueless

But noooo. Dreamscape no-worky with more than one display adapter. Talk about lame, and frankly, talk about useless. Dreamscape is a joke - because people with the kind of hardware to be able to actually use it (in a lot of cases) without suffering big performance hits, won't be able to actually use it. That's just dumb - and proof that MS apparently just wanted to get it out the door to get people to shut-up about the missing extras. Guess what? I'm still complaining ;)

The other thing I've noticed, which I can't help but feel is a cruel joke or hoax is the fact that my task bar loses transparency when I maximize ANY window. I mean, talk about idiotic - and apparently it's a known issue. Me? I maximize a few things - that's one of the benefits of having 3 monitors - I can take advantage of lots of real-estate. Only when I do, my taskbar becomes opaque. If I un-maximize everything, voila! transparency. Re-maximize? Opacity. It feels like a cruel joke - and when I first realized what was going on, I had to look around my office for the hidden cameras (as it would have been a MUCH nicer outcome had this actually been a prank rather than some 'design' of the OS).

Yeah, I know - this 'issue' won't kill me. But come on, they actually shipped it like this? And one year later they haven't fixed it?

Maybe that will be part of the secret sauce that they're releasing on Feb 4th as part of SP1.

January 28, 2008

Another Outlook Stupidity

Some day I'd love an explanation for what the hell the folks at MS were thinking when they did this one...

Scenario
- I've installed Outlook on a machine and had it running fine.
- Then I've either f-disked my box and re-installed windows, or installed another version of windows (Vista), or moved to another machine, etc.
- The point, though, is that I'm using my .PST on another 'machine' or OS from where a rule was created.

Issue
- My rules don't work.
Why? Because they're set to run, no kidding, on 'this machine only' - which, apparently, in MS-ese means anything BUT 'this machine only'. Here's a screencap:

ThisMachineOnly

(Not the rule above the one in question - that one's only set for 'other machine' - whatever that means.)

The Fix
Yeah, it's ridiculously stupid, but I have to go in and uncheck the box that forces the rule to work 'on this machine only':

stoopidStupids

Like I said, I'd love to see what they were thinking... (and it's been like this since Outlook 2003 - at least).