SignalR Book


Just finished SignalR: Real-time Application Development from Packt Publishing.  It’s a really great read for those wanting a holistic view of SignalR as a true application building block.  In many respects I think that SignalR could end up being a game changer for entirely new classes of both apps and frameworks. I’d love to see the puppy plugged into a rich client side ORM…

author: eddraper | Posted On Sunday, June 30, 2013 3:32 PM | Comments (0)

When a vendor you love lies… Corsair and the K90


I’ve been a big Corsair fan for a long time.  I’ve always had great luck with their RAM and other products. 

A couple of months ago, I was in the market for a mechanical keyboard with Cherry MX Red switches.  I was delighted to find that Corsair was selling their K90 keyboard at Fry’s Electronics with those exact switches, so I picked it up.  Then, I started to use the F-keys… then I started to map the G-keys to macros… and I started to notice that these keys felt weird.  So, I pressed on them some more… spongy… no nice click.  What gives?

Then I discovered the truth – the K90 only has a sub-set of keys with Cherry MX Red switches.

Funny, but the product description doesn’t seem to indicate that…

Now, I guess that it doesn’t matter that the product is called the Vengeance K90 Performance MMO Mechanical Gaming Keyboard when it isn’t.   I challenged Corsair on this.

I’m including my email thread below.  Note, I’ve omitted some email addresses and URLs.

Gosh, this just makes me feel terrible.  Here is a company I trusted, who is openly lying and weaseling out.  If the product had been called “hybrid mechanical,” I could see some room for argument.  But it isn’t.  And hiding the information in an F.A.Q. is NOT the answer.

This is an issue of ethics… So I guess if I were to purchase a 1200 watt AX platinum power supply and a third of its pin outs actually produced “bronze” level performance, I shouldn’t be concerned… this fact could perhaps be concealed in an F.A.Q. somewhere…  Certainly not on the box or webpage.

Perhaps it’s naivety, but I find it very hurtful when a vendor I trust, recommend, and pay premium prices to flat-out jacks me.


HI Ed,

Thank you for your reply.

I see the images you are referring to but I fail to see where it says all the keys are mechanical or how you have been misled. It is your assumption that all keys are mechanical when it does not state this anywhere, and especially in the boxes you have highlighted. It is true that we do use Cherry MX Red mechanical switches, but it does not say the keyboard is completely mechanical and that *all* keys are mechanical. If you can find anywhere on our website which states what you are assuming, I would be more than happy to take corrective action immediately.

Furthermore, I had also included the FAQ that clearly states where the mechanical switches are on the keyboard as a reference in our last email. We have also published a blog on this here: that also explains why the keyboard was designed in this way. There was and is no attempt to “hide” this information. Everything I have given is published publically and also listed on any review site with our K90 as well.

If you do not have your original packaging for the keyboard, then unfortunately we can only replace the keyboard for you for another of the same exact product in accordance with our RMA policy. If you have any questions about this, then please contact our customer service at xxxxxxx and they can answer any questions you may have. As per your request, I will also forward this email conversation history to my immediate supervisor and our customer service manager so they are aware of your complaints.

Thank you and have a good day.


Ram Guy

Tech Support Specialist

From: Ed Draper
Sent: Friday, February 15, 2013 10:31 AM
To: Ram Guy
Subject: RE: Customer Feedback ()

Hi Ram -

I'd like to have this issue escalated.  This is not acceptable to me.  I do not have the original packaging to return to the vendor.   Burying the fact that you're basically lying on your product information page in a FAQ or support page does NOT excuse the fact.

This is a question of ethics and my business relationship with you.

Have look at your own marketing:

IF this is not made right, I will cease to do business with you in the future.  Furthermore, I will take this "bait and switch scheme" to my social media channels.  Perhaps a class action lawsuit might prompt a more customer focused response than what you've provided to date.


From: ramguy
To: Ed
Subject: RE: Customer Feedback ()
Date: Fri, 15 Feb 2013 08:48:42 -0800

Hello Ed,

We apologize for the issues you have with the keyboard. Unfortunately, the K90 is not  a fully mechanical keyboard and we don’t advertise it as such on our website, or on the product packaging. On our website under Support -> FAQ’s, we also address this as a question: to help with people who would like to know which keys are mechanical.

One of the reasons why we did not intentionally make all of the keys mechanical was for cost reasons since making a fully mechanical K90 would raise the MSRP above what it is currently now.

However, based on the demand and the feedback we received, We do have a fully mechanical version called the K95 which will be released soon that will actually be 100% mechanical. The MSRP for this product will be 149.99 and is expected to be out by this Spring.

If you are unsatisfied with the K90 you have, I would recommend returning to your reseller for a refund so you can await for the K95 to be released as it sounds like this will better meet your needs.

Sorry for the inconvenience.


Ram Guy

Tech Support Specialist

From: Ed Draper
Sent: Thursday, February 14, 2013 7:28 PM
Subject: Customer Feedback ()

Customer Feedback from
Country: US
First Name: Ed
Last Name: Draper
Question: Hi - I've been a big Corsair fan for a long time. Recently I purchased a K90 keyboard. This keyboard was advertised as having Cherry-MX Red switchs on the keys. When I got the keyboard home, I found that a subset of the keys had these switches. I'm very annoyed, I feel your advertising has been deceptive. I purchased this over a Das Keyboard because it was from YOU. Now, I feel YOU have screwed me. Do you have any ideas on you this can be resolved?

author: eddraper | Posted On Friday, February 15, 2013 11:11 PM | Comments (0)

People != Resources


Ken Tabor’s blog post “They Are not Resources – We Are People” struck a chord with me.  I distinctly remember hearing the term “resources” within the context of “people” for the first time back in the late 90’s.  I was in a meeting at Compaq and a manager had been faced with some new scope for an IT project he was managing.  His response was that he needed more “resources” in order to get the job done.  As I knew the timeline for the project was fixed and the process for acquiring additional funding would almost certainly extend beyond his expected delivery date, I wondered what he meant.  After the meeting, I asked him what he meant… his response was that he needed some more “bodies” to get the job done.  For a minute, my mind whirred… why is it so difficult to simply say “people?”  This particular manager was neither a bad person nor a bad manager… quite the contrary.  I respected him quite a bit and still do.  Over time, I began to notice that he was what could be termed an “early adopter” of many “Business speak” terms – such as “sooner rather than later,” “thrown a curve,” “boil the ocean” etcetera.  Over time, I’ve discovered that much of this lexicon can actually be useful, though cliché and overused.  For example, “Boil the ocean” does serve a useful purpose in distilling a lot of verbiage and meaning into three simple words that paint a clear mental picture.  The term “resources” would serve a similar purpose if it were applied to the concept of time, funding, or people.  The problem is that this never happened.  “Resources”, “bodies”, “ICs” (individual contributors)… this is what “people” have become in the IT business world.  Why?  We’re talking about simple word choices here.  Why have human beings been deliberately dehumanized and abstracted in this manner?

What useful purpose does it serve other than to demean and denigrate?

author: eddraper | Posted On Sunday, October 14, 2012 9:29 AM | Comments (0)

SanjayP’s venture after Microsoft involves no Microsoft


When I was at Microsoft, I always found Sanjay Parthasarathy to be a bright and passionate leader.  While he was a bit disconnected at times with what was really going on out in the trenches, I always thought he was true believer in what we in Developer Platform and Evangelism (DPE) were doing.  He got it.  He had started DPE and kicked a lot of doors down up in Redmond to make it happen.  Back in the early 2000s, battles over platform choices at large customers was trench warfare… bayonets and hand grenades at the P-Code level.  This model was not at all suited to Microsoft’s org structure at the time.  While there were plenty of people fully able to have competitive conversations around Windows Server, or AD, or Exchange, or the desktop, there weren’t many that could have deep technical conversations around Java vs .NET and the platform “stack” as a cohesive, unified unit of value.  This task fell to DPE.

Sanjay ended up leaving Microsoft a number of months before me in 2009 and I remember thinking these exact words: “holy shit, SanjayP left Microsoft.”  When SanjayP left DPE years before that,  Sheila Gulati had stepped into his shoes and I thought we where starting to miss a beat.  Sheila had built an amazing business at Microsoft India, but I don’t recall being inspired by her as a leader.  SanjayP’s talks felt like the opening scene of “Patton” with George C. Scott pacing in front of the American flag.  Sheila was a voice on a con-call.  When she moved on in 2007, Walid Abu-Hadba was given the reigns.  Personally, I don’t ever recall even seeing his face.  I think I might recall hearing his voice on some con-calls, but for all intents and purposes he was invisible to me.  Perhaps this was the beginning of my carelessness around seeking “visibility.”

Fast forward to Build 2011.  First off, we have no PDC – we have Build.  Microsoft had made an 11 year investment by this time in building an organization to make its technology relevant to developers.  One would think such an org would be in the driver’s seat of such an event, but we see Windows product group people on the podiums.  Watching, I could see the messaging unfold… but no story.  It was like the old days.  Demos and PowerPoints by team members building the tech, and in many cases VPs.  The ensuing confusion is almost legendary now.  Windows 8 was, and is, a pretty big deal… but who is telling the story – not just features and benefits, but the story around how it all fits together.

Having been out of Microsoft for two years now, and looking in, I can only conclude that the “DPE of old” has at best been emasculated, and at worst been completely marginalized by internal politics, or perhaps the eternal march of the corporate entropy generator that resides at all large companies.  I don’t think this is a good thing for anyone.

And now, back to Sanjay who is the father of Microsoft DPE… I noticed that he has moved back to India and is doing start-up work.  His current company Indix looks to be doing some interesting things with “big data” and here’s their stack:


Nary a trace of anything Microsoft.  What could account for this?  I wonder….  Better availability of labor and expertise in India for this stack?  Donno, but even in India, leet R and Hadoop skills have to be hard to find. Technical superiority?  This, I sincerely doubt.

This stack, with SanjayP’s name as CEO leaves me with an unsettling feeling.  If he did believe, he no longer does.  One doesn’t place bets with real money on things they don’t believe in.  Perhaps he never did believe, and was a corporate creature seeking to find a niche for himself after which he manipulated me and others.  Or perhaps… anger… be it passive aggression or an outright “in your face F*** you” to his former masters.

I guess in the end, only he knows the true reason… But I have my theory...

author: eddraper | Posted On Sunday, September 23, 2012 5:01 PM | Comments (2)

An unexpected pleasure from Windows 8


This post is certainly on the more nuanced side of all the goodness that is Windows 8, but it’s about something that’s really changed my PC usage experience for the better.

Besides being a geek and the enjoying all the techno-thrills and chills that go along with sitting in front of a keyboard all day, I really love the forest.  Trees have always been special to me.  The feeling of being in the forest with all the sounds and ambiance, the broken light, the fragrance of the air… it’s paradise to me.

As I can’t get there often, due to work, and quite often the heat here in Texas, I’ve found something that can at least partially fill the gap…  When you install Windows 8, you’ll have an app called “Naturespace” from .  It boasts a number of predefined loops in what they call “holographic audio.”  They’re essentially high-tech 3D sound fields recorded in natural environments.

After checking them out, I really liked the sound of the “Daybreak” selection:

A great benefit is that you don’t have to be in Metro/Modern/Windows App Store mode, in order to keep the sound playing.  To start the day, I click on Daybreak, start it, then go back to the desktop and fire up VS, Chrome, etc.

As I work and play, I’m surrounded by this delightful background ambiance which relaxes me and puts my mind at ease.

Give it a try.  I think you’ll like it.  And no, you don’t need ear buds or headphones to get the benefit.

author: eddraper | Posted On Saturday, September 8, 2012 12:56 PM | Comments (0)

Open Source Highlight: namebench

DNS is a big deal.  Even small incremental changes to improve its performance can yield significant value due to the vast quantity of look-ups required when using the internet.  Until now, It’s always been one of those things I had to kinda take on faith… was my ISP doing a good job?  Are those public DNS server really that much faster?  What about security and privacy concerns?

Let me introduce you to namebench.  This is the kinda tool I really love – one that immediately delivers value and is almost over-the-top OCD in its attention to detail. Trust me, this tool is utterly ruthless in it’s quest for getting it right – you’re not left with a big question mark after it presents its data.  The results are conclusive and actionable. 

Here’s what is does:

It hunts down the fastest DNS servers from your desktop that it can find using thousands of requests.  No, it doesn’t pop up this little dialog in 10 seconds to give you some “off the cuff” answer from a handful of providers.  It takes the better part of 10-15 minutes to run.  When it finishes, it presents you with a veritable horn-o-plenty of data.  Mean response duration, response distribution, bad data,  no stone is left un-turned.

Check it out.  You’ll dig it.


author: eddraper | Posted On Saturday, September 1, 2012 11:13 PM | Comments (1)

Backing up my Windows Home Server to the Cloud…

Ok, here’s my scenario: Windows Home Server with a little over 3TB of storage.  This includes many years of our home network’s PC backups, music, videos, etcetera.

I’d like to get a backup off-site, and the existing APIs and apps such as CloudBerry Labs WHS Backup service are making it easy.  Now, all it’s down to is vendor and the cost of the actual storage.


So,  I thought I’d take a lazy Saturday morning and do some research on this and get the ball rolling.  What I discovered stunned me…


First off, the pricing for just about everything was loaded with complexity.  I learned that it wasn’t just about storage… it was about network usage, requests, sites, replication, and on and on.

I really don’t see this as rocket science.  I have a disk image.  I want to put it in the cloud.  I’m not going to be be using it but once daily for incremental backups.  Sounds like a common scenario.  Yes, if “things get real” and my server goes down, I will need to bring down a lot of data and utilize a fair amount of vendor infrastructure.  However, this may never happen.  Offsite storage is an insurance policy.


The complexity of the cost structures, perhaps by design, create an environment where it’s incredibly hard to model bottom line costs and compare vendor all-up pricing.  As it is a “lazy Saturday morning,” I’m not in the mood for such antics and I decide to shirk the endeavor entirely.  Thus, I decided to simply fire up calc.exe and do some a simple arithmetic model based on price per GB.  I shuddered at the results.  Certainly something was wrong… did I misplace a decimal point?  Then I discovered CloudBerry’s own calculator.


Nope, I hadn’t misplaced those decimals after all.  Check it out (pricing based on 3174 GB):


Amazon S3 $398.00 per month $4761 per year
Azure $396.75 per month $4761 per year
Google $380.88 per month $4570.56 per year


Conclusion: Rampant crack smoking at vendors.  Seriously.  Out. Of. Their. Minds.

Now, to Amazon’s credit, vision, and outright common sense, they had one offering which directly addresses my scenario:


Amazon Glacier $31.74 per month $380.88 per year


hmmm… It’s on the table.  Let’s see what it would cost to just buy some drives, an enclosure and cart them over to a friend’s house.


2 x 2TB Drives from $199.99  
Enclosure $39.99  
Carting data to back and forth to friend’s within walking distance pain  
Leave drive unplugged at friend’s $0 for electricity  
Possible data loss No way I can come and go every day.  


I think I’ll think on this a bit more…

author: eddraper | Posted On Saturday, September 1, 2012 6:25 PM | Comments (0)

Looks like Microsoft doesn’t think searchsettings.exe is malware either…


One tries to be a responsible citizen and report malicious behavior to the “appropriate authorities.”  Of course, in the end, it’s really about filling out forms and being told to go fuck yourself.

After filling out their forms, they said:

The Microsoft Malware Protection Center (MMPC) strives to keep you informed about the status of your submission.
This email communicates what we currently know about the file(s) you submitted. You can view your submission online at
This information is subject to change pending our analysis and a final email response will be sent to you when analysis is complete and definition updates have been published.
If you were to scan the files you submitted using one of Microsoft's Antimalware products such as Microsoft Forefront Client Security or Microsoft Security Essentials, you would see relevant detection information similar to what is displayed below.
Submitted Files
YouTubeDownloaderSetup33.exe [Not Malware]

…Sales spiel on various security products follows ….

To whit I replied:

So what would you call an application that hijacks users search engine's
preferences without authorization? Even after resetting my preferences, the
app re-modified them.
Also, your prompt about "preventing other application from changing default
search providers" is being circumvented by it.
I call that malware. I call it doing things to my computer I did not allow
it to. Give me a break!!!
Do a search for searchsettings.exe and notice how others think the same:
Also, being a security minded site, you might also want to serve your
JavaScript files from https as well.

And then the kicker:

Analysis of the file(s) in Submission ID MMPC11100672957095 is now complete.
This is the final email that you will receive regarding this submission.
The Microsoft Malware Protection Center (MMPC) has investigated the following file(s) which we received on 10/6/2011 12:43:04 AM Pacific Time.
Below is the determination for your submission.
Submission ID MMPC11100672957095
Submitted Files
YouTubeDownloaderSetup33.exe [Not Malware]

author: eddraper | Posted On Thursday, October 6, 2011 11:17 PM | Comments (2)

Gotta Love C-Net’s “no malware” claim…


Downloaded YouTube Downloader from:


YouTube Downloader includes optional bundled software that may trigger alerts from security software. YouTube Downloader has been tested for malware by the CNET team and meets our security requirements.”

I guess their “standards” don’t include the installer installing SearchSettings.exe from the wunderkinds at Spigot.  Once on your system, this little gem will (at a bare minimum) continuously change your default search provider to Yahoo.  Given Yahoo’s current financial woes it doesn’t come as a huge surprise, but still, I wouldn’t have thought they stoop so low as to launch flat-out hijacking attacks on user’s desktops.  

That’s the last app I will ever download from and the last hit yahoo will ever see from me.

author: eddraper | Posted On Thursday, October 6, 2011 3:04 AM | Comments (2)

Scanning My Book Collection


I’ve been a bookworm for years and have amassed a significant volume of books of all kinds.  Most of my collection is technology related, but volumes of Conan, manga, astronomy, philosophy, genetics, personal productivity, science fiction, fantasy, and just about everything else abound.

After getting my Kindle Christmas before last, and later, my iPad, I’ve grown steadily more comfortable with reading and utilizing digital printed media.  This comfort level, coupled with my semi-new found desire to pare down my physical possessions to things that were essentials and/or truly precious to me led me to turn as many things as I could to bits.  Obviously, once things are bits, they take on new value as they can be manipulated and utilized at will, at any time, from any place.  Thus, this is a fundamentally attractive prospect for me.  The journey started with my family photo collection.  Now, it’s progressed to the shelves of my office.

Here’s how I’m doing it:

I started the process by looking for existing book scanning solutions.  Many of the solutions that are available at the moment are quite expensive.  They’re also fairly large and almost completely specialized to the task of scanning books.  Projects such as Google’s project Gutenberg utilize proprietary solutions leveraging cameras and automatic page turners.  As there are a number of DIY type solutions that claim to offer similar performance, my skepticism prevented me from going down that path.  The technical challenges with non-destructive book scanning in the above manner are non-trivial.  Here’s a list of deal stoppers for me:

  • Consistent lighting across a number of sizes of books requires a lot of tuning.  The surrounding lighting and staging apparatus is non trivial.  For example, tenting the book while cameras operating is highly desirable and automatic paging turning is an absolute essential. The best solution I found out there was probably – but its price was out of range.
  • Many of the camera based solutions do not properly account for the curvature of the book as it approaches its spine.  This leads to a lot of undesirable artifacts.
  • What in the world would I do with the apparatus when I was done with it?

So, I figured the best way to go was the destructive route.  Yes, it’s painful seeing a lot of these old trusty friends destroyed and recycled, but they are being reborn into forms much more useful and economical.

The Hardware:

This was tougher than I thought.  There are a bazillion scanners out there.  Obviously a sheet-fed scanner was the way to go.  But even in that space, there are tons and tons of models to choose from.  A lot of people liked the Fujitsu ScanSnap.  My issue with it, was that is was a sheet-fed only solution.  Many of my book covers are hard and would not be able to be run through a sheet feeder and a book without a cover can’t possibly be judged!

I ended up with an Epson GT-2500.   So far, it’s been a delight to use.  I picked it up for under $500 and it’s a tank.

The Software

A ran into two snags on the project – one with software, and one with debinding.  I wanted the best OCR software I could get for a reasonable amount of money.  Research led me to Readiris Pro.  It was an excellent piece of software.  Its OCR features were much better than I expected, but other areas of the recognition engine were deal-stoppers.  The limit of 50 pages for each new scan document was a huge pain in the ass.  Also, where mixed graphics and text existed, manual manipulation was required to get an optimal result.  The first scan to me hours and hours to complete.  This process simply wasn’t going to scale to 300+ volumes of books.

My savior came in a strange form – Adobe Acrobat Professional.  I downloaded a 30 day trial and it’s been just what the doctor ordered.  I should note, that Readiris’ resulting PDF files were much smaller than what I’m seeing out of Acrobat, but the visual quality was not nearly as good.  Still, I do believe the Readiris has a place in my over-all toolbox.


My first thought on debinding was to rent a powered surface planer.  This ended up being a boondoggle. The binding adhesive used in some books extends quite deeply from the spine which requires significant excavation with the planer.  This results is choppy edges that aren’t suitable for being run through a sheet feeder.  Thus, I felt the best way to go forward was with a conventional stack cutter which would result in crisp edge.  These are the devices that printing shops use to cut large stacks of paper via a guillotine style blade and chisel.  I took a look around e-bay and found a number of them in the $400 range, but they looked rather underpowered to me.  I could easily see myself trying to cut more than 250 pages or so and having the device flake out.  So, I decided to check my options.  I called Kinkos (NO… I will NOT call it FedEx Office) and discovered that they’d cut my books for $1.50 each.  Hey, the economics were there.  The prices were in line with both my volume and what I could buy online, and I wouldn’t be stuck with something else I wouldn’t know what do with after finishing.  Kinkos worked like a charm.  Later my wife suggested that I call around and I found out that OfficeMax would do it for $1.20.

Right now, things are working well.  I’m taking my time and doing about 4-5 books a weekend.

To utilized the books, I save them in Acrobat format.  I can transfer them directly to my Kindle or iPad via USB.  I could also email the book to my Kindle if I desired.   For storage, I find that Google Docs is the best solution out there.  As a Microsoft nerd, I’ve always leveraged SkyDrive for my cloud storage needs but its inline searching and editing features are limited to Office files.  Google’s stuff works great with PDF.

Hope this helps someone else who is thinking of doing the same thing.

author: eddraper | Posted On Sunday, October 2, 2011 3:59 PM | Comments (1)