Simple Tax Calculator

I was amazed to not be able to find a simple tax calculator online (i.e. given my income, filing status, and state, how much tax will I pay, what will my net income be, etc.). So I wrote one, plugged figures for 2012 into it, and posted it here. This is a quick hack, but it should work quite nicely on mobile devices. (The last time I needed a calculator in a hurry I implemented this — I actually wrote it to use on a desktop machine, but I added a couple of meta tags so it would work better on my iPhone.)


The reference I had for State income tax rates was hopelessly wrong (most states have a progressive tax system — actually all of them, if you count “no state tax” as progressive). I rejigged the code to use JSON feeds for all input data (except dependent deductions, which I hardwired for now). Because state taxes are also progressive, I refactored the code to use a single function for calculating progressive tax scales against a given figure. I didn’t have the patience to encode every single state tax table, so it only works for a few example states including those I happen to be interested in.

How not to sell anything

Verizon's online FiOS configurator

We’re in the process of relocating from Tuscaloosa, AL to Arlington, VA (if you’re not familiar with US geography, Arlington, VA is the western part of Washington D.C.). When we were apartment hunting, one of the major attractions of the apartment we picked was Verizon FiOS availability.

Well, I just moved our Comcast cable service to the new address after struggling with Verizon’s website for the third time in an attempt to get a decent deal on FiOS. (I’m not locked into any kind of plan with Comcast — we’ve been customers for something like eight years.)

Here’s how Verizon managed to lose my business.

  1. The main product selection page, which I got to by entering my address and verifying that I could get FiOS features product packages not available at my address.
  2. As I make selections, the user interface and available options morph subtly and confusingly (e.g. the “do you want a 24 month contract” selector morphs into a “do you have pre-existing Verizon phone service” selector — so if I don’t want a “triple-play” option, am I forced to a 24-month contract or not?).
  3. The main product page is implemented as a form, requiring me to constantly agree to resend data, when I’ve not yet made any final selections.
  4. Product selections include more offers of products not available at my address.
  5. The configurator offers bundle options that turn out not to be available at my address, which are then replaced by new, inferior, more expensive options.
  6. The same basic three products are sold in ridiculous numbers of permutations and it’s very hard to figure out what the best deal is at any time (and see previous).
  7. When I first started looking for service, I found a $49.95/month plan for internet and phone which I have not been able to find again.
  8. The same plan now appears to cost $84.95 or $89.95 per month but, upon attempting to purchase either, turns out not to be available at my address, morphing into a different set of inferior and costlier options (see above).
  9. There’s no transparent way of figuring out how much extras, such as DVRs and digital decoders will cost on top of the plan, except for confusing references to some plans offering the DVR et al for free for 12 months, and ascribing this a “value” — which varies depending on offer. (How can the same thing be worth different amounts when added to different plans?)

There are plenty of lesser annoyances. It boggles my mind that a large, reputable US technology company could have such an incompetently put together website.

For the last few years we’ve had Comcast Basic Cable (a service so basic that it appears to yield approximately 10 channels) and one of their lower tier “high speed internet” plans. Our total monthly cost is a shade under $60. We don’t actually use the TV portion, but the bundle is cheaper than internet on its own. As for the tier – we were promised something like 6Mbps and we regularly get as much as 24Mbps (the exception being early evening when everything bogs down).

I’m not trying to advertise Comcast — I think Cable TV is an atrocity and Comcast’s reliability in Tuscaloosa, AL has been borderline abysmal for three of the six years we were in Tuscaloosa, but they’ve been flawless for five of the eight years we’ve used them, which makes them light years ahead of AT&T and Verizon in my experience. (We briefly used Verizon DSL at our previous house, and paid a penalty to break out of our contract.)

For the record, Comcast’s site wasn’t terribly well-implemented — e.g. I logged into my account, clicked a link to handle moving. I then entered my old and new addresses and it couldn’t find my existing service (apparently the “moving” site can’t talk to the member account site), and once I had entered my details it simply sent me into a text chat with a customer service rep. — low tech, but effective. In less than ten minutes everything was set up and I had been downsold a cheaper and better (for the next six months) service.

So, I’d love to talk about how fabulous Verizon FiOS is after the long “nightmare” of Comcast’s 6Mbps 24Mbps cable connection, but it won’t be any time soon.

Flash Bang

By combining our powerful development, authoring and collaboration software – along with the complementary functionality of PDF and Flash – Adobe has the opportunity to bring this vision to life with an industry-defining technology platform.

Bruce Chizen, CEO of Adobe, quoted in Adobe’s press release announcing the Macromedia acquisition [PDF]

Adobe’s announcement that it will stop working on Flash Mobile has widely been interpreted as a vindication of Apple’s controversial decision to keep the Flash plugin off the iPhone. Adobe has announced that it will continue to support the deployment of AIR-based Apps on all platforms. Has a major software company ever publicly stuck a fork in the ass of such a ubiquitous and apparently successful product the way Adobe has Flash? This isn’t like Microsoft trying to wean users off IE6 — they have a more modern version they’d like you to use instead. Adobe has pushed Flash into traffic, covered in gasoline, and tossed a few lit matches at it.

There are several ways of parsing this, but the two most common are:

  • Steve Jobs was right. Flash is dead. Apple wins. Haha.
  • Flash is alive and well on the desktop (et al) but Adobe is submitting to reality w.r.t. mobile.

The more sober analysis tempers the first version with the point that it’s not Apple that’s winning but everyone. Browser plugins have always sucked, and Flash was the last surviving plugin of importance. Similarly, the second point is tempered by the followup announcement essentially sounding the death knell for flex.

Apple Outsider takes the view that this is a win for Adobe, making the interesting argument that Adobe was never a platform company, and Flash was an outlier in its product suite which chiefly comprises tools (like Photoshop). This superficially attractive argument unfortunately ignores the fact that Adobe acquired Macromedia first and foremost to get Flash with a view to merging PDF support* into Flash to improve the reach of its PDF platform. So Adobe went to enormous expense (not to mention effort) to acquire Flash, and with it a bunch of other good or even excellent products, and ends up with little but ashes. (And recall that Adobe destroyed several major products to make the merger happen — Freehand is gone, Director is a barely warm corpse, Golive is gone.) While killing Flash may be a good move by Adobe, it’s also the dead end of a very expensive blind alley that began with the acquisition of Macromedia.

Notes: * remember how great the PDF plugin is? (Hands up if you still use it. Voluntarily.) Anyone who has the PDF plugin installed would generally chew their own arm off rather than click a PDF link, which is why I labeled the link to Adobe’s press release.

Identity Theft

iCloud is out in the wild as of today, and a whole bunch of us will now be tied to yet another “online identity”.

Back in the early days of the web most people got email service, and hence their email address, through their ISP. This was an early, and potent, form of lock-in. At some point some web sites appeared offering “permanent” and “portable” email addresses (i.e. you’d go to and get an email address like [email protected] and it would be “yours forever” to redirect as you saw fit). I joined one such site (I can’t even remember what it was called) thinking this was a genius idea and the company folded before I had managed to convince all my friends to use the email address.

How many people stuck with AOL simply because that was their email address?

Lock-in of this kind continues to this day of course, typified by the gmail / hotmail / yahoo account that you’ve been using so long that simply downloading everything somewhere and then backing it up sounds too painful to think about. The IMAP protocol, which allows us to read and update our email without downloading everything, hugely facilitates this. (And no, I do not want to go back to the days of downloading all my email and then needing to move the files around, not to mention realizing that my desktop computer at home had sucked email off the server and deleted it before I could read it on the road.)

Once you recognize this phenomenon, you realize it’s everywhere:

  • Physical Address
  • Phone Number(s)
  • Fax Number (haha still have one of those?)
  • Email Address
  • Web Address
  • Twitter ID
  • iCloud ID (and its precursors such as MobileMe and
  • AIM ID
  • Skype ID
  • Facebook ID
  • Linked In ID
  • Google+ ID

And so on down the line.

It actually kind of boggles my mind that Apple, of all companies, has failed to unify and abstract out all this crap. Why, for example, do I have one app to check my voicemail messages, another to check my skype messages, another to check my SMS messages, and another to check my email? By the same token, when I decide to send a message to Bob, why do I first have to decide which communications channel I shall employ? Isn’t that the kind of thing a computer would be good at? I could understand if Apple only supported that subset of the above which had tractable APIs, or even excluded some because it didn’t like them for some arbitrary reason (strategic, aesthetic, or whatever).

A company called GrandCentral — long since acquired by Google, renamed Google Voice, and largely ignored — tried to address this issue for the rather obvious case of phone numbers. It provides you with a phone number that’s “yours forever” which you can then plug into a kind of virtual PABX which does all the neat kinds of things that call center systems can do (e.g. ring multiple phones simultaneously and then stop them all when one picks up, or ring one phone for a while and then another, or pick up the phone for you and let you identify yourself to the recipient before he/she agrees to take the call). It’s neat, it’s free, and it does a fairly good job of solving a tiny part of the problem — phone numbers, SMS, and to some extent email.

But we’re still left with the large and constantly evolving collection of pseudo-identities of which the list above is merely a transitory snapshot.

The flipside of all this is, of course, lock-in. Or, to put it another way, identity theft. If Google, say, solved all of this by letting your “google id” (your gmail address, say) act as router for all your communications then you’d really be at the mercy of Google, wouldn’t you? (And, of course, Google would be able to collect data on ALL of your communications. Hmm, people who call these numbers are usually shopping for cars, while people who call those numbers are probably interested in insulin.)

This seems like a problem that might need a bit of government intervention. By all means we might want to let private enterprise implement identity-based services, but we probably want the government to ensure that any such implementation doesn’t become a digital prison.

A farewell to HP

I first learned to program on an HP65 calculator. I loved HP and lusted for its products before Apple existed. When I read my Scientific Americans (yeah, I wad a precocious kid) I spent almost as much time lusting over ads for HP’s desktop workstations than reading articles. Heck I nearly bought one of their knockoff commemorative calculators.

When I was in College we all listed for the HP41c and HP15c calculators. Some friends figured out how to break out of the HP41c’s OS and hack its internals, and would compete to optimize its operations. (Unlike cheaper rivals, from Casios to TIs, HPs were actually computers; this meant that they wwr slower than Casios but much more flexible.)

Years later, when I was doing a lot of paper game design, which meant complex desktop publishing, and couldn’t afford $10,000 for a laser printer, it was HP who delivered an affordable ($2000) desktop inkjet printer with similar output quality. Unlike today’s flimsy devices, this one cranked out pages for the next ten years.

Some nave argued that HP had already lost its way in 1975 when they passed on Wozniak’s personal computer (seven years before the IBM PC) but HP’s printer innovations were not insignificant. You can’t pick every winner, right?

And we shouldn’t forget Compaq and DEC, both great companies in their time, absorbed and their legacies dissipated within the bowels of HP.

HP’s failure is not for lack of trying. Consider PA-RISC, HPUX, Alpha (from DEC), and … OK perhaps Compaq wad never such a great company. (Ever use an iPaq? They make the MessagePad 100 look like the iPhone 4.)

So, it’s pretty depressing to see this once great company, built on the bones of several other great companies, being run into the ground. The problem is, even if HP were capable of some incredible new success, I don’t think Meg Whitman is the person to help deliver it.