Goodbye, Quicken

In the early aughts, I purchased a copy of the game Civilization III for my Mac. I have played it ever since, especially after I learned that its copy protection code would mistake a mounted disk image of its CD for the real thing so I could run it without a CD in the drive (no funny business here: I still have the CD and in fact recently came across it). A great casual game, suitable for mindlessly clicking away, I used to play it on the bus home from work. Another regular commuter even accosted me once saying “You’ve been playing that same game for years! Haven’t you ever thought of getting a different game?” I still occasionally play it even though I have several versions of its successor Civilization IV, because III is easier on the battery and improved copy protection in IV doesn’t fall for the disk image trick. Now, its long tenure is coming to an end. Apple is releasing OS X Lion and retiring the PowerPC compatibility layer. Goodbye Civilization III, you will be missed.

However, this post is not about Civilization III. It’s about the only other application I use that requires PowerPC compatibility: Quicken 2007. I have now used it for over ten years to manage my finances, track my investments, time and pay my bills, and forecast savings. A couple of weeks ago, Intuit sent out a notice to the effect that Quicken 2007 would not be compatible with Lion, and support for it (such as it was) would end. Customers were advised to migrate to Quicken for Windows (ha!) or Quicken Essentials, their long awaited ground-up rewrite that does take advantage of current SDKs and runs natively on Intel Macs.

Unfortunately, Quicken Essentials has significant feature discrepancies compared with the older product. It has no bill pay feature. It also can’t track investments: the web site suggests that you manually enter stock and fund prices which seems to me a slightly less fun proposition than drying untreated wooden plates and spoons with a tea towel. Finally, Intuit states that they “ we are evaluating options for Quicken Essentials for Mac”, which to me sounds like “It’s dead but we won’t tell you yet because we want to get some more revenue out of it” and is not a confidence builder.

Here’s what I would like my next financial management app to do:

  • Run natively on my Mac, without having to run a VM
  • Ingest bank statement data through OFX files from multiple financial institutions
  • Ideally, pull said OFX files directly from the respective fiancial institutions’ websites (dream, dream)
  • Track inter-account transfers. Ideally, instigate inter-account transfers but I’m not holding my breath
  • Pay bills, with a settable future payment date. Quicken 2007 lost this capability when Wells Fargo dropped support for that version and WF’s interface is nice, but I now have to enter payments in two different places. This is not ideal
  • Track loans: Balance, Interest and Impound
  • Break down my Paycheck into various taxes and withholdings (a welcome new feature in Quicken 2007)
  • Report on spending by category, tax table, comparison with previous years etc.
  • Track investments, keeping track of security prices, cost basis, dividends, etc. for various investment accounts at multiple financial institutions

As far as I can see, I have the following alternatives:

  • Drop $50 (or, temporarily, $25) on Quicken Essentials, see if I can live with the reduced feature set, and hope they don’t put me in the same position in the near future
  • GNU Cash, an open source finance tracker which seems to have a fairly horrid user interface at first glance, but the major advantage is that there is no company that can unilaterally pull the plug on it
  • Buy and Install Quicken for Windows on a VM and use that. Not a viable option as far as I’m concerned
  • Buy iBank from the Apple App Store for $60 and see what it’s like. It’s getting some good recent reviews from people clearly in the same boat as I am
  • Start using mint.com, which is now also owned by Intuit and has never struck me as the financial management app I need

Dear LazyWeb, what are your experiences with the above? Any alternatives I missed?

Lessons on Rails

Spent a not-very-fun day today playing around with Rails, Cucumber and their friends. I hope I learned something, because otherwise my output of today is decidedly minimal. These are some things I picked up, in the hope that they prove useful to someone else.
Continue reading

EC2 is Not a Web Hosting Company

The entire universe is abuzz and atwitter about the big Amazon EC2 outage this past week. A cascading series of glitches in their Elastic Block Storage (EBS) system took down several high profile websites hosted in their Eastern Region data centers. The AWS Status Dashboard has a considerable write-up on the outage as it progressed over the latter half of last week.

Responses to the outage were mixed. As question-and-answer service Quora posted on their outage page: “we’d point fingers, but we wouldn’t be where we are today without EC2.” This is true: Amazon and its ilk provide relatively affordable and scalable hosting for applications, and relieve the current wave of startups of the burden of having to invest in and operate their own hosting. However, when you host your application on Amazon, you still have a single point of failure unless you very specifically engineer it to be resilient under failures. EC2 offers many features that can take you beyond a single host deployment. Customers who have adapted their deployment to take advantage of these features withstood last week’s outage with little or no customer-visible impact. Without such adaptations, your web application is no better off than if it were hosted on a conventional web hosting platform.

Amazon operates multiple Availability Zones that are supposed to isolate failures… which did not work too well last week because the issues cascaded across availability zones until the entire Eastern Region was affected. Resilience across geographic regions is not straightforward because the CAP Theorem kicks in: Consistency, Availability, Partition Tolerance, pick two. You can’t have all three at the same time. Engineering an application to withstand outage by distributing it across different availability zones, across regions, or even across different providers is a considerable and costly undertaking, which is not lightly embarked upon by a cash-strapped startup trying to get swiftly to market. Whether to spend this time and money, or whether to tolerate and respond to the occasional outage is a determination that every company will have to make for themselves.

ApacheCon Meetup: Whither HTTPD?

ApacheCon North America 2010You can now suggest Meetup topics for the evenings of ApacheCon. I’m not sure what a Meetup is in this context: perhaps it’s a little like a BOF. Anyway, I went ahead and registered a Meetup with the following topic:

HTTP Server 3.0: Who Needs It? Who Wants It? Who will Write It?
Whither httpd? Does our User Community need a quantum shift that would require a major new version number? Does our Developer have this need and would/could/are they in a position to start major new development on the project? Will 2.x serve us until the end of time?

This topic is partially inspired by the Keynote session Roy Fielding presented in Amsterdam in 2008 on Apache 3.0: two-and-a-half years later seems like a good time to take stock. If you want to talk about this, come to ApacheCon and join the Meetup. Did I mention that rates go up after Friday, October 8?

Playing With Rails

I need to prepare for my upcoming speaking engagement, so I’m playing around with Ruby on Rails today. Excellent opportunity to learn a new web technology. No, the speaking gig has nothing to do with RoR: this is pure procrastination.

Learned a couple of interesting things:

  • When you run gem outdated on a stock Snow Leopard system, it pulls information from an outdated source which makes it fail to run the next time. Only successfully updating RubyGems itself solves this issue.
  • Nobody ever tells you that after sudo gem update rubygems-update, you have to run sudo /usr/bin/update_rubygems. Otherwise, it will keep using the old version and a) can’t update sqlite3-ruby which needs the newer RubyGems and b) will try to keep accessing the outdated source.
  • When you want to use Aptana Studio with Eclipse 3.6 (Helios), make sure to install the plugin in the Eclipse installation itself, not under your own user account. This seems to be a bug in Eclipse itself that affects all plugins: if installed under a user account (for instance because the application installation directory is not writable by the user), the plugins don’t show up in the IDE and can’t be used.

There is no better way to procrastinate than to go learn something, and there is no better way to put off learning something than to mess around with tools.

Speaking at SofTECH

I will be speaking next Wednesday at the monthly meeting of SofTECH. The topic will be Security and Open Source Software:

Many software choices are available to professionals who need to run applications in their business. Some of these will be delivered by conventional vendors who have full control over the product and its development. However, over the past decade many Open Source applications have emerged as viable alternatives, developed using an open process by volunteers from many different companies.

Speaking from his experience as an Open Source Software developer, Sander will compare some security aspects of Open Source and Closed Source software, likely debunking some myths along the way. We will examine the security vulnerability mitigation process used by the Apache Software Foundation and discuss how an open development process can provide enhanced security.

See the meeting page for details. An RSVP link is at the bottom of the page.

Intel Founder on Job Creation in the US

Insightful cover story by Intel founder Andy Grove in Business week: How America can Create Jobs. America needs Industry jobs: I agree with Grove’s statement that letting go of technologies to be manufactured elsewhere puts the country in a knowledge hole. We can’t all be knowledge workers, and not all people in the country (any country, not limited to the USA) do will be designing the next great technology only to then hand it off to other geographic regions to be manufactured. Especially seen in the light of something like this TechCrunch post: if the US doesn’t make the product, there will be less of a need to develop it there. One can go elsewhere with lower taxes, better healthcare and fine education.

Grove’s solution, a tax on products created with foreign labor, should raise some hackles. Taxes are bad, right? However, if not for government intervention, I don’t think anything can change. Corporations can’t be expected to change their ways for the greater good: their job is to do business and maximize profits. Only the government can steer their behavior by turning the greater good into a business decision. And, unfortunately, taxes are the main instrument at their disposal to do so.

OK Apple, Where Is It?

Apple says: “Apple will support Microsoft Windows 7 (Home Premium, Professional, and Ultimate) with Boot Camp in Mac OS X Snow Leopard before the end of the year. This support will require a software update to Boot Camp.”

My VMWare VM is running Windows 7 on the Boot Camp partition, but I’m waiting for this new version of Boot Camp so I can boot Windows 7 directly on the metal. It’s the end of the year. Where’s my update?

Building Subversion with Sun Workshop

Rather than wade through the morass of dependencies on Sunfreeware.com, I thought I’d build my own Subversion. It turns out that I had to specify a couple of extra hints in order to use the Sun compiler. Here is my configure line:

./configure ‘–prefix=/usr/local/svn-install/current’ ‘–with-ssl’ ‘–with-openssl=/usr/sfw’ ‘CC=/usr/bin/cc’ ‘CXX=/usr/bin/CC’ ‘LDFLAGS=-R/usr/ucblib -R/usr/sfw/lib’

The Neon library needs ssl; the Serf library needs to know about openssl. And without the Reverse Path entries, libraries in neither of those directories are picked up by the installed binaries.

Entourage for Exchange Web Services Public Beta

An interesting post landed this past Monday about the Public Beta of Microsoft Entourage. Entourage is Microsoft’s Mac equivalent of Outlook, the mail client that comes with Microsoft Office and connects to their Exchange groupware server.

The post is interesting for a couple of reasons. First of all, Entourage has been using WebDAV to access Exchange, which is very communications intensive and for all practical purposes makes it a second class citizen among Exchange clients. With this beta, Entourage fully adopts Exchange Web Services.

This is a great step forward for Entourage: it will improve its Exchange support and hopefully bring it much closer to the integration level offered by Outlook on Windows.

What’s also interesting is that the Exchange Web Services API seems to be documented and available for integration by third parties. Perhaps this is a good integration point for clients like Thunderbird and Evolution. It looks like their Exchange plugins are still using WebDAV.