Thu, 27 Jan 2005

Humans Replacing Computers

My auto insurance company, 21st Century Insurance, has had a nice web site for quite a while which would allow customers to update their policies online. Last year, for example, I removed my wife's comprehensive and collision insurance since her car isn't worth much compared to the premium.

Today, I got my renewal notification email. The 6-month premium for our two cars is about $900. I only drive my car about one day per week now, and since we live two blocks from my wife's school, she drives less frequently than that. Therefore, it wouldn't be a catastrophe if one of our cars were totalled and we only had one car. So I'm thinking of dropping comprehensive and collision on my car which is costing me about $700 per year.

The 21st Century website has a nice interface where you can add and remove coverage, change deductibles, etc. and it will show you how much your premium would change. After you save your changes, they send you and updated policy and bill you or refund the difference. Today, I clicked on the Change Coverage button and got the following javascript pop-up.

So I had to start up the Live Chat applet to ask Patrick about my policy change and register my displeasure with the recent changes to his company's web site.

business | Comments | Permanent Link

Amazon's Photo Yellow Pages

Amazon's new Yellow Pages service with photos is the coolest thing I've seen in quite a while. There are a couple kinks to work out. I saw a couple pictures of buses, and they need to make sure not to take pictures of the rising or setting sun, but overall this is a fantastic service. It will be even better when it covers residential areas and is integrated with driving directions.

If you're coming to visit me, I'm just up the street from this Chinese restaurant.

Update: Russ isn't as impressed. Apparently, they've had something similar in Madrid for years.

tech | Comments | Permanent Link

Mon, 24 Jan 2005

Quasar for Accounting

I decided to use Quasar to do my accounting. It's a huge improvement over GnuCash. Almost all of the fields have tab completion. For example, to create an invoice, I type the first few letters of a companies name, tab, and it fills in the company name and address. This works for accounts, tenders, and pretty much anything that is stored in another table.

I'm still learning how to use everything, but it's very well thought out. Initially, I didn't realize I could create a sale by entering the tender (Visa, American Express, etc.) on an invoice. I was creating an invoice, then a payment against the invoice, which took me a lot longer. I still need to figure out how to make invoices default to Account type rather than Item.

The account reconciliation feature works great. It helped me track down a transaction for which Authorize.Net didn't send me a receipt email.

Quasar has a ton of features related to running retail stores. I don't need to deal with multiple stores and cash registers, but it's great that it's there if I ever open up that pub.
Some of the cool features that I'll actually use include:

Quasar has a good chance of becoming the de facto accounting package in the open source world.

business » accounting | Comments | Permanent Link

Thu, 20 Jan 2005

rel="nofollow" in Blosxom

I added rel="nofollow" support to the Blosxom writeback plugin. I use Doug Alcorn's version that supports a blacklist and emails me when a new comment/trackback is posted.

Only one small change was required. I simply modified the writeback plugin to prepend all href attributes with rel="nofollow".

--- writeback.orig      2005-01-20 10:59:23.000000000 -0800
+++ writeback   2005-01-20 11:31:00.000000000 -0800
@@ -233,6 +233,7 @@

         $writeback =~ s/\$writeback::(\w+)/$param{$1}/ge;
         $writeback =~ s!mailto:([^\s<]+)!<a href="mailto:$1">$1</a>!g;
+        $writeback =~ s!\bhref\b!rel="nofollow" href!ig;
         $writebacks .= $writeback;

Updated: changed regex to match word boundaries around href.

tech | Comments | Permanent Link

Sat, 15 Jan 2005

Learning Accounting

I've decided it's time for me to learn something about accounting. I've been using GnuCash for a while to generate invoices, but without understanding the underlying accounting. GnuCash has the tendency to break either when it or one of it's many dependencies is upgraded, crashing while spitting out errors like undefined symbol: gnc_option_db_lookup_taxtable_option. It also has a long-standing bug which causes invoices not be be printed correctly when linked against GtkHTML 1.0 as it is in the Debian packages. So I'm also looking for another accounting package to replace it.


The first one I tried was Lazy8 Ledger, a java program. It's built as a plugin to jEdit making the interface kind of bizarre with text editing widgets where they don't seem to belong. In general, the interface just feels awkward, though with time, it might make more sense.

The next program I tried was FibuSQL. This program seems to be pretty immature and lacking much documentation. It claims to have been tested against MySQL and PostgreSQL, but the table creation script fails when using InnoDB tables.

Next up was SQL-Ledger. This looks very promising with lots of features and a clean interface. It has almost no (free) documentation though. The author sells the manual for $190. It looks like it generates nice-looking invoices and reports which is a plus. SQL-Ledger will certainly be a contender.

Next up is Quasar. It has lots of documentation and seems to be feature-rich. It's compiling now. (Tip for compiling on Debian: Install the libqt3-mt-dev package and set QTDIR=/usr when running configure.)

I also have a demo of Linux General Ledger, a proprietary ncurses-based application, to try out. It seems to be mature and well-documented. If it does what I need (I'm not sure exactly what that is yet), I'd be happy to use a mouseless program. Those Function keys are kind of far away for me, though. I'd prefer VI key-bindings. It's on sale for $29.95.


Of course, to use any of these programs, I need to know something about accounting. The Lazy8 website directed to this great tutorial by Bean Counter Accounting. I finally understand debits and credits. I also picked up a book called Accounting the Easy Way which, 20 pages in, is good and reinforces what I've learned so far from the Bean Counter.

business » accounting | Comments | Permanent Link

Fri, 14 Jan 2005

ChangeThis Gets Lazy

ChangeThis, the publisher of cool little "manifestos", has gotten lazy with their latest batch. ChangeThis manifestos are digital pamphlets that focus on one specific topic. They usually short enough to read in one sitting, but packed with more information than you can fit on PowerPoint slides (not that I encourage the use of PowerPoint). The format is similar to slides, but they are designed to look good both on the screen and printed out. What makes them special is the thought that has gone into the design, making them difficult to avoid reading once you have opened one up. The content is generally a call to action or the author's insight into their particular area of expertise.

For example, they've taken a number of Joel Spolsky's essays (which are already compelling reading) and formatted them as manifestos.

This week, they've released two manifestos which, as they'd say on Sesame Street, are not like the others. The first, Shhh!, contains little cards that can be printed out and given to annoying strangers talking on cell phones. The design is clean, and the idea is cute, if somewhat tired. It doesn't follow ChangeThis philosophy, though. There's no individual behind it and it's not presenting much of an idea other than not to be rude on one's cell phone.

The second misfit is called Two Tomatoes, and actually is some kind of manifesto telling consumers what kind of tomatoes to buy, I guess. I'm not really sure what the content is because it's not readable on my screen. Except for the cover page, it doesn't look like anything else that ChangeThis has released.

Here's a typical page from a manifesto:

And here's the tomato one.

business | Comments | Permanent Link

Fri, 07 Jan 2005

Blacklisting Fax Machines

Fax machines hate me. I used to receive a few calls a week from fax machines on my land-line. Eventually, I Googled my number and found that it was listed as a fax machine for USC. I emailed the webmaster and got the number removed, but it didn't really end the persistent fax machines.

I moved a few months ago and was able to ditch the land-line. (My previous landlord had DirectTV dishes installed and cut the cable to the building making DSL the only affordable option for high-speed Internet access.)

Now, I've got a fax machine calling my cell phone and it won't give. It's calling me every 60 seconds and leaving me voice mail. Damn you, 818-783-7049!
Why isn't there a button on my cell phone to block all calls from a number?

tech | Comments | Permanent Link

Thu, 06 Jan 2005

PayFlow Pro PHP Extension on Debian

This is how I built a php4-pfpro package for Debian. Tested with 4.3.10-2.
# apt-get build-dep php4
# apt-get source php4
Follow this part of the instructions from the PHP Documentation

You will require the appropriate SDK for your platform, which may be downloaded from within the manager interface once you have registered. Once you have downloaded the SDK you should copy the files from the lib directory of the distribution. Copy the header file pfpro.h to /usr/local/include and the library file to /usr/local/lib.

Edit debian/control. Add the following:

Package: php4-pfpro
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ${php:Depends}, php4-common (= ${Source-Version})
Description: Verisign's Payflow Pro module for php4
 This package provides a module for Verisign's Payflow Pro for PHP scripts.
 PHP4 is an HTML-embedded scripting language. Much of its syntax is borrowed
 from C, Java and Perl with a couple of unique PHP-specific features thrown
 in. The goal of the language is to allow web developers to write
 dynamically generated pages quickly.

Add the following line to debian/modulelist:
pfpro PayFlowPro
Add the following line to the CFLAGS in the configure-apache-stamp rule in debian/rules:
--with-pfpro=shared,/usr/local \
If you're building apache2 modules, add it to the configure-apache2-stamp rule too, but I haven't tested that. I also had problems building the caudium packages so I removed all of the caudium related stuff from debian/rules.
Here's the full patch.
# ./debian/rules binary

Update 11/06/06: I've updated the Sarge package to 4.3.10-18.
Update 05/05/07: I've updated the Sarge package to 4.3.10-20.

tech | Comments | Permanent Link

The state is that great fiction by which everyone tries to live at the expense of everyone else. - Frederic Bastiat