H&R Block’s TaxCut vs Intuit’s TurboTax

turbotax I’ve alternated between using each of these products over the last few years.  Usually, it’s incredible how BOTH have the exact same offerings at the exact same price.  This year, it’s a little harder to find their best price. 

I’m not a big believer that either of these software packages can save you money.  You still need to do your own research, understand your income, and experiment with filing methods to determine which path best optimizes your situation.  But both do provide lots of tips for helping you discover the potential pitfalls and windfalls.  Honestly, I see very little difference in functionality between these products.

The H&R Block web site offers the “Federal + State” package for $39.95.  I haven’t seen a better price or any coupons.

The Intuit web site offers “Deluxe Federal + State” package for $44.95.  However, you can buy this same software from Costco for $35.99.  Further, this week Costco is offering a $15 coupon for it, so the price is effectively only $20.99.

Intuit is also promoting their online product; but it appears to be far more costly – $29.99 for federal and an additional $29.99 for state; e-filing is included for free.  $60 and you get to put all your personal information on someone else’s web site!  Hope they don’t get hacked!  (If you were a hacker, it might be a gold-mine to try to hack, eh?)

Anyone find any better deals?

This year I’m using TurboTax; $20.99.

HTTP ETags

spedometer I tried out YSlow on some of my web sites recently.  It’s pretty well done. Most of the tricks were known to me, but this one trick about ETags (Rule #13) was very interesting to read.  Since ETags are indeed useless on my site, I’ve turned them off.

The basic problem is that many web servers (including Apache & IIS) use server-specific mechanisms to compute ETag values.  This can break if the files are served from a server farm because each server in the farm can present a different ETag value. 

Of course, synchronizing a value may seem easy; but in practice it is not.  One suggestion might be to use a MD5 hash of the content.  That can be made to work; but it isn’t trivial for a server; it either needs a cache of these, or it needs to re-compute.  MD5 is relatively cheap to calculate, but certainly not free.  If-Modified-Since solves the problem and requires no computation at all.

Website Usability

I love Windows Live Writer.  I’m using it to write this post.  But, the website for Writer is terrible!

To see what I mean, search for “windows live writer” on any of the main search engines.  Click on the first search result, which takes you to the home page, called “Writer Zone”.  Now, try figure out how to download the product.  You can’t.  There is no download button!  There are some buried text links, but that is about it.  It’s a pretty frustrating experience.  Before anyone comments, “oh, you can find it over here…”, that isn’t my point.  I know the content is out there – my point is that it isn’t made easily found.  Show me an ISV with a product that doesn’t have a massive, oversized download button, and I’ll show you a pink elephant.

Fortunately, Google’s search has figured out the navigation for Writer Zone.  Just do the search, and the download link is in the search results directly.  Phew!

But why does this problem exist?  Let’s speculate.

I think the big problem is that the Writer team has inappropriately decided to use Spaces technology as a product home page site rather than building a real site.   In other words, they decided promoting other Microsoft technologies was more important than the lost usability for navigating the web page. 

As a second example, consider the header navigation.  In my case, I landed on the Writer home page.  I didn’t know (nor care) that this page was hosted on Spaces.  So naturally, I’d expect the buttons on the header to be the primary ways to navigate the Windows Live Writer page, right?  Wrong.  Here is the header.  None of these buttons have anything to do with Writer, and will in fact take you away from the page!

spacesheader

Since I was actually looking for the system requirements for installing Writer, I typed “system requirements” into that header.  The results had nothing to do with Writer!

Finally, I did find what I was looking for, but only by consulting Google again.  The search for “windows live writer system requirements” was exactly what I should have done in the first place.

ServerBeach Hosting

Every few months or so I get so pleased with ServerBeach again.  The service is just awesome!

I’ve been a customer with them for about a year and a half now.  I started out paying $119/mo.  Their prices have dropped during that time, so I’m only paying $89/mo now.  That sounds like a lot; but this is one purchase that is totally worth it.

1) Flawless Uptime.
Since moving to ServerBeach, my sites have *never* been down.  Check out this screenshot of uptime; the box has never been rebooted since I started with them, and my monitoring software has never detected a blip of downtime on the network.

uptime

2) Awesome bandwidth. 
Downloading a 30MB movie today, I exceeded 1000Kbps from my site.  That rocks.

3) Freedom to build.
Having your own server means you can install anything, build anything, and test anything.  Shared accounts are super cheap, but often lack these features.  Having a dedicated server is really worth it.

Anyway, sorry for the advertisement.  But these guys really do rock, and I’m a happy customer.  If you find this useful; the link gets me a referral credit.

Spirit Parser

I needed a C++ parser today, and discovered the Spirit Parser Framework.  Wow – this is very impressive.  I was inclined to use good old lex/yacc; but this seems a lot better.

It took a while to get started as I don’t doing grammar work often.  But all in all, I found this toolkit easy to use, has good documentation, fast, and it just worked.  It’s a recursive-descent parser written using C++ templates.  You define the grammar directly in your C++ code, and it uses template magic to auto-generate the code.

I’m still waiting to discover it’s Achilles Heel.  The compilation is a little slow; but the runtime seems snappy.  I don’t have a benchmark, though.

Big-3 Fined for Promoting Gambling

The Wall Street Journal wrote, “U.S. Fines Google, Microsoft, Yahoo“. 

I find this to be yellow journalism. I don’t really care that the article is about Microsoft & Google, so this isn’t about my biases.  From reading the title, I sort of expected that Google got hit the hardest.  This doesn’t seem unlikely since the Google search engine is by far the biggest.  But, when you read the content of the article, you discover that the size of the fines were:

   Microsoft:  $21M
   Yahoo: $7.5M
   Google: $3M

So, the title was intentionally misleading us about the nature of the fines.  Anyone not looking carefully would have assumed from the title (like I did) that Google was hit hardest. 

I wonder if you could write an “unbiased news” app.  One which just takes titles, shuffles them around to get similar but less colored meaning.  This would help make sure your eyes don’t accidentally process titles as facts.  It’s all too easy to do.

The real story should have been, “Why were the 3 companies fined so differently?”  And why did Microsoft get hit so hard?  Poor negotiations?  Or something else.  The press release from the DOJ says nothing useful.  But it does provide the text of the contracts with each company.  Each was drafted separately (no doubt due to the legions of lawyers hired by the big 3).  None of the contracts are specific about how the penalties were derived. 

Each contract has similar text about, “In particular, the United States alleges and <company> neither contests nor admits, that on or about, and during, that time period, <company>, received payments from, or attributable to, on-line gambling businesses… The United States will move for the forfeiture of these funds…”

The Microsoft contract then states, “These funds are represented in full by the Four and a Half Million US Dollars…”

The Google contract then states, “These funds are represented in full by the Three Million US Dollars…”

The Yahoo contract then states, “These funds are represented in full by the Three Million US Dollars…”

OK – so, if the funds were represented by these amounts, why did Microsoft and Yahoo get screwed?

Windows DST Handling

If you need to know whether DST was in effect for a date in the past on windows, you’ll probably get grumpy.  With the DST change this year, Microsoft changed the dates at which it starts and finishes DST.  That’s great, and makes sense.  What is harder to understand, however, is why the Microsoft date routines also changed the DST handling for years prior.  Win32 APIs can no longer accurately tell you what time it was on Nov 1, 2006.

Raymond Chen writes it up pretty well.  He has many excuses reasons for why Microsoft didn’t get it right.  There is no doubt that time management is a pain in the neck and annoying.  But, at the end of the day, even the free operating systems do get it right.  Linux can tell you just fine.

Apple The Virus

I seem to accidentally get QuickTime on my machine a lot.  Most recently, it’s probably because I tested the Safari browser at home.  But when you do have the misfortune of being infected by anything Apple related, Apple invariably starts prompting for updates every day.  It’s like saying, “Would you like to uninstall me now?”  The answer is yes, but they don’t give you a nice, convenient button.

I don’t know why utility companies don’t get it – being in front of the user does not help your brand.  Don’t take up a slot in the system tray.  Don’t prompt if I’m not even using your software.  After all, if I don’t use Quicktime, why on earth would I care about security updates for it?  It does not help make users love you.  It does not remind them, “oh yeah, I’ve got this great stuff I’m not using.”  It’s just annoying.  You should stop.  Lest you get uninstalled, like Quicktime, Safari, Apple Update, and every other piece of Apple-related junk on my system.

A guess it’s a testament to the Apple brand that they can get away with these types of antics.

Update:  Looks like Apple is as annoying in French as English.

How to Install Lookout on Outlook 2007

I got another request today from an old friend for how to make Lookout run inside Outlook 2007.  I’ve probably received a thousand such requests over the last few years…  Since I recently installed Outlook 2007, I finally was able to test it out. 

This fix should make Lookout work.  However, if you have other .NET addins running in Outlook, there is a chance they will no longer work.  The fix is reversible though, so don’t be too scared.  But this fix is definitely for the tech savvy.  Gory details:

 

Installing Lookout on Outlook 2007

1) First, you’ll have to find a copy of Lookout.  Microsoft doesn’t distribute it anymore, but issuing this search on Google seems to find it pretty handily.

2) Next, install Lookout.  You’ll need admin privileges (no difference from XP), and the install will go without a hitch.

3) When you next restart Outlook, you’ll probably get this very apologetic-yet-unhelpful error dialog:

lookoutwarning

4) The problem is that Outlook 2007 ships the Outlook 2007 Office PIAs by default.  Open a command shell (as administrator), and issue the following commands:

  • cd  %SYSTEMROOT%assemblyGAC
  • rename  Microsoft.Office.Interop.Outlook  Microsoft.Office.Interop.Outlook.OLD

5) Restart Outlook and you are good to go.

 

Reversal
If this doesn’t work for you, or it breaks some other plugin, you’ll want to restore the interop library.  Just undo the command above thusly:

  • rename  Microsoft.Office.Interop.Outlook.OLD  Microsoft.Office.Interop.Outlook

 

Why does this dialog exist?

Only read this section if you are an Outlook plugin geek!

At the time Lookout was written, Microsoft’s strategy for shipping PIAs hadn’t fully been sorted out.  Prior to Outlook 10, there were no official PIAs.  Outlook 10 introduced official PIAs, which you could redistribute.  Outlook 11 had official PIAs as well (different ones), but Microsoft didn’t permit redistribution of them, and they weren’t backward compatible.  Further, with VS2003, it was pretty easy to create your own PIAs, which were almost identical to the official ones, but not signed.  There were lots of plugins out there, and some of them handled PIAs badly. 

At some point, Lookout ended up requiring that it be able to find the official Outlook 10 PIA installed, or it would assume it would fail.  It wasn’t smart enough to recognize that new versions of the PIA might be legit, and probably should have handled it better.  Who would have guessed that Outlook 12 would introduce yet a 3rd PIA distribution strategy?  OL2007 elects to install the PIAs into the GAC by default; so plugins no longer needed to redistribute them at all.  I do believe this is the best strategy.

What this simple fix does is temporarily uninstall the Office 12 version of the PIA.  As long as no other .NET Outlook addins are running (C++ based addins don’t use PIAs), this has absolutely zero negative impact on your system.  If other .NET addins exist on your system, and those addins are Outlook 11 or 12 specific (I don’t know of any OL12 specific plugins yet?), then you might have a problem with this fix.  These conflicts should be rare, but not zero.

Anyway, search on!

BTW – This fix is thanks to the Wayback Machine!  The original lookoutsoft support article (http://www.lookoutsoft.com/Forums/topic.asp?TOPIC_ID=10) is now long gone.  But the Wayback Machine had it!  Otherwise, there is no way I would have remembered what the heck this error was about.

Related Blog Posts:

http://pswamina.blogspot.com/2007/09/lookout-outlook-addin.html
http://odetocode.com/Blogs/scott/archive/2004/07/25/347.aspx
http://ewbi.blogs.com/develops/2006/04/outlook_lookout.html
http://www.joelonsoftware.com/items/2007/04/19.html

UPDATE
Thanks to Rohan Deshpande for consolidating updated instructions from the comments posted here. On some systems, the above instructions need to be augmented with two more steps:

 * echo ” > Microsoft.Office.Interop.Outlook
 * rename Policy.11.0.Microsoft.Office.Interop.Outlook Policy.11.0.Microsoft.Office.Interop.Outlook.OLD

Internet Panhandling

 When you see a homeless guy on the street begging, you might be inclined to donate (personally, I’m not).  From the looks of him, you can tell if he needs the money or not; if he wears high-priced Nikes and a Abercrombie&Fitch sweatshirt, you probably won’t donate.

Lately we see lots of internet beggars.  Begging is easy on the internet.  You can be anonymous.  You still have to make up some lie (like “will work for food”, or “viet vet has cancer”), but you can use text and pretty graphics.  Fancy it up, it’s still begging.  These guys, hidden behind their internet sob-story, do wear fancy sweatshirts and brand name shoes.

Is begging on the internet any different than spam?  It’s somewhat socially acceptable to help a kid pay for college, right?  Or help a young couple with HIV?  Or bail out a kid who got in over his head in real estate?  There is even a how-to-site to help you setup shop on your local internet offramp.

When you give people money- whether it is on the street or on the net – you are encouraging thousands like them to do it too.  Do we want the internet just filled with “give me money” pages?  Don’t donate.  They are scams.