Mint.com = fail

250px-MintcomThis blog post was to be about converting to Mint.com. I’m instead sticking with Microsoft Money.

Mint.com’s philosophy, and biggest failure, is low effort. They want a low effort user experience, but they have a low effort technical staff: instead of finding simplified ways of doing complex tasks, they just leave them out!

For example, recurring transactions. Microsoft Money has a “bills” feature that tracks and auto-enters my recurring transactions–paychecks, investments, mortgage payment, church donation, utility bills, etc.

Sure, this is “complicated” because I must manually schedule these transactions. But it removes complexity because they are pre-entered before my monthly bill-paying session.

Mint.com doesn’t have a hint of this. It even lacks logic to suggest recurring transactions–that could have allowed them to simplify an otherwise complex feature.

Another is manual transactions. Mint.com is reactive: it only has what it downloads from financial service providers. You can’t enter transactions.

That’s a disaster for my checking account. I have no record of a check until it’s deposited!

How do you track outstanding checks, including ones that have sat undeposited for months or weeks? How do you know your true available balance? Currently, it must be some other log that you must constantly monitor and update. No way, that’s terribly error-prone!

Thanks to Microsoft Money, I don’t bounce checks!

Mint.com, on the other hand, requires a gigantic cash pad, loins girded for overdraft fees, or tricky accounting using other programs.

Mint.com is a fail. Its slick user interface redeems it from epic fail. But behind the user interface is a painfully simplistic system. I can appreciate the complexity of the infrastructure needed to support this system, but I cringe at how little it really does for its users.

Above, I wrote I am using Microsoft Money “for now.” I don’t know where I’m going. Quicken suffers from a kludgy user interface and Intuit’s anti-consumer business practices. Plus it can’t convert my Money data yet.

Rumor has it that Quicken 2010 will have better Microsoft Money import capabilities. I’m still with Microsoft Money for a few more months.

Texas GOP’s extreme social stances are a losing strategy

The Texas GOP’s extreme social stances are a losing strategy for two reasons.

1: They are paradoxically liberal. If we fully legislated the Texas GOP platform’s social stances, we would make the government the moral compass, usurping the proper role of the church and individual wisdom. (It’s as if we want to reverse the Protestant Reformation, but that’s an issue for another blog post!)

2: They turn away mainstream conservatives and moderates. This is proven by two polls:

First is a recent Gallup Poll. It finds that conservatives are the largest single voting bloc. But they are neither a majority nor “very conservative”:

gallup-conservatives.gif

Second is a Pew survey, interpreted by Texas Monthly editor Paul Burka to show that the Republican party “hemorrhaging” voters. Indeed, party affiliation is:

  • 36% independent
  • 35% Democrat
  • 23% Republican

If the Republican Party was the mainstream conservative party, it would have more affiliates than Democrats.

But no: the Republican party is hemorrhaging voters because of its extreme social stances. Per the Pew survey: “[independents] more closely parallel the views of Democrats … on the most divisive core beliefs on social values, religion and national security.”

Juxtaposing these surveys, an inescapable conclusion: Extreme conservatism, especially extreme social conservatism, is a losing strategy.

Any winning strategy for Republican domination must not alienate moderates; we can’t win without them.

How I got field diffs working with Drupal, PEAR Text_Diff, and Dreamhost

I have a Drupal site where I will propose major changes to a policy document. The site has nodes with current and proposed versions of document sections.

I want auto-generated diffs to make the proposed changes obvious. The diff needs to look like legislation, where deletions are struck through and additions are underlined.

Here’s all the steps to make this work. This assumes you already have a working Drupal install.

1. Drupal Computed Field module

The Computed Field module is a great concept: it executes PHP code to populate a new field with calculations based on other fields or any other data accessible to the PHP engine. Since the module can execute any PHP script, you can actually do anything available to the PHP system or Drupal API upon node save. It doesn’t have to save values to a field.

Computed Field for Drupal 6 has rough edges, however. It has been stuck on beta 1 for 7 months, and its MySql’s longtext field type is broken (I found a workaround).

How to configure the module:

  • Create a new Computed Field type in your node with Store using the database settings below set to varchar with a large enough Data Length to prevent data overflow errors. (This is the workaround to the broken longtext field.)
  • Put this code in the Computed Code field:
    $path = ‘/pathToPear’sParentDirectory/pear/PEAR’;
    set_include_path(get_include_path() . PATH_SEPARATOR . $path);
    require_once ‘PEAR.php’;
    include_once “Text/Diff.php”;
    include_once “Text/Diff/Renderer.php”;
    include_once “Text/Diff/Renderer/inline.php”;

    $diff = &new Text_Diff(‘auto’, array(array($node->field_nameOfOneFieldToCompare[0][‘value’]), array($node->field_nameOfOtherFieldToCompare[0][‘value’])));
    $renderer = &new Text_Diff_Renderer_inline();

    $node_field[0][‘value’] = $renderer->render($diff);

TechRepublic confused me: they got the Text_Diff constructor signature wrong in Compare file contents and render the output with PHP and PEAR. You don’t pass two files, you pass a string and an array. I credit them, however, for pointing me to the inline renderer.

2. Install your own PEAR

Dreamhost’s main PEAR install is out of date. It cannot install up to dateĀ  PEAR components such as Text_Diff 1.1.0.

Solution: install your own PEAR.

I used http://pear.php.net/go-pear. Save that page as go-pear.php in a pear directory off your account’s home directory (if you’re not sure, get to it with cd ~ from the command line). Run it from the command line using php -q go-pear.php.

I accepted all defaults.

It will instruct you to fix your php.ini. You may not need to do anything; see the optional section below.

3. Install Text_Diff

As simple as pear install pear/Text_Diff. You may need to prefix the pear executable with the path to your new install so you don’t run Dreamhost’s old install.

OPTIONAL: Override Dreamhost’s PHP configuration

Dreamhost runs PHP in CGI mode. That gives security and usability improvements, but it disallows local php.ini files or the php_value include_path “path statement goes here in the .htaccess file.

To change values in the php.ini, you must either use PHP’s set_include_path or override Dreamhost’s master php.ini.

I chose set_include_path. I probably won’t have many PEAR-dependent computed fields, so this is easy to maintain.

However, if you will use PEAR a lot, you may want to override the php.ini. Use the Custom php.ini across Multiple domains section as it is the most flexible solution.

A pitfall with overriding the php.ini is you won’t get php.ini changes made by Dreamhost. I just checekd, and the last update was only 5 days ago. While I can manage my own php.ini, I use a hosting provider because I’d rather let someone else handle infrastructure and operations.

The result

Field A: The quick brown fox jumped over the lazy dog.

Field B: The red fox is awesome.

Difference (auto generated): The quick brownred fox jumped over the lazy dogis awesome.

Today’s Gallup poll on abortion

An interesting Gallup poll on abortion was released today. Pro-life Americans surged recently. I think it’s a reaction to our recent abortion-friendly ideology shift.

I found two things more interesting.

First is how only 22% want a total abortion ban:
abortion_circumstances

This is anther example of where theĀ Texas Republican Party platform, which also calls for a total abortion ban, is out of step with reality.

The second interesting part is the stances of women and men:
women_abortion

men_abortion

They’re hardly different: within 5 points either way.

Pro-choicers complain that men are telling women what to do with their bodies. In other words, they say men cannot regulate female-specific issues. Sorry, but the numbers show women and men have roughly equivalent positions! If you substituted male legislatures with female legislatures, you would get the same results.