The Scooba looks interesting

Jessica has informed me that we will be getting a Scooba as soon as it’s available. We’re not clear at the moment whether we’ll keep the existing Roomba or not. It doesn’t look like there’s much of a need to keep them both. Now, admittedly, we have all laminate flooring so we may be in a somewhat unique position of having zero carpet for a Roomba to clean.

Either way, we’re really looking forward to that Scooba 🙂


broken online access url with vanguard

Signed up for an account with Vanguard – got one of the automatic confirmation emails. It gives the url for signing up for online access (I tried to during the account sign-up and it failed)

Nice, simple page to do a redirect (via a meta tag, a 302 would be nicer). The major issue is the content-type is being sent as text/plain.

Firefox happily served up the page contents as text. IE interpreted it and took the redirect. This is one of those situations where Firefox is doing the more spec-correct thing, but IE is (admittedly, arguably out of spec for how to handle text/plain) doing what the end-user really wants, and living with a busted server that’s sending up a wrong Content-Type. I’m a little conflicted as to which behavior I’d rather have in my browser, but it’s an interesting comparison nonetheless.

No file extension, so this isn’t a “interpret based on file extension instead of content type” issue, I’d imagine, at least not on first glance. 🙂

Here’s the email I sent them via their secure email form thingy. I wonder what the odds are that it’ll actually get to the right group and fixed?

I got an email from Vanguard after signing up for an account that mentioned enabling online account access and gave a url of

However, when that page is hit, the web server is responding with a Content-type header of text/plain, so many browsers (Firefox, Mozilla, etc.) will not interpret the response body as html and will instead just display it as text. Internet Explorer still interprets it as html, so the common case is still working, but it would be nice if the Content-type for this page could be fixed so other browsers could have this page (which does nothing more than a redirect via the meta refresh tag anyway, seems kind of silly not to have the url send a 302 redirect instead) work correctly.

Here’s a quick wget | grep to show the issue:

% wget -S 2>&1 | grep -i content-type
5 Content-type: text/plain

recent debt consolidation spam

The one thing I find amusing about the mortgage rate spam I get is that I’m really not interested in mortgages at all. I’ve got a 10-year 4.5% fixed-rate mortgage with Citi which I’m fairly happy with. Now, I have been (and to a large extent, still am) interested in a home equity line of credit or a home equity loan. It’s not really that I have an immediate need, but both the home equity line of credit and the home equity loan help give you that nice “out” when you need the 20k-30k kind of chunk of cash within a short-ish time span (usually to buy a car, do some home improvement, leverage it for doing some debt consolidation or to wipe out some credit card debt from the holidays, whatever). I’m actually hoping to expand on the details of what I recommend for people (and to get feedback from others about their take on my view of things) over in a finance section of this site, but for now let’s stick to the spam angle.

To me, it seems like there should be financial spam on at least a few different angles:
– mortgages and mortgage brokers for those looking to buy/finance a house
– home equity loans and home equity lines of credit for getting some of that money out, maybe for new purchases, maybe to consolidate or eliminate higher interest rate debt
– credit cards for those with bad credit
– credit reports

Oddly, though, I only get seem to get mortgage spam, which is the one I’m least interested in. While I have a decent 401k I could take a loan from if desired, and while I can understand Clark Howard‘s warning about taking something like a home equity loan that puts your house at risk of foreclosure, I’m actually far more interested in that kind of home equity loan or home equity line of credit.

Credit cards are the next thing I’d actually be somewhat interested in, although to a large extent I’m happy with the set I have now, although I need to flesh out my page on cash back credit cards to spell it all out for others. I don’t get much credit card spam, either. Sometimes I’ll see a spam (as an aside, I’m using SpamAssassin 3.0.2 and really like it) that has a subject like “You were approved for” and wonder if i finally got a credit card spam, but it’s invariably (like one today) “Re-finance now, even with bad-credit!”. Ah, well.

Credit reports would be last, but I guess that’s a dying area since the law of free annual credit reports is sweeping across the nation.

Totally off-topic, but when I refinanced, Citi had the rate has 4.5% if I did 165k+ or 4.625% if I did under 165k. I owed 130k on the mortgage. I did the mortgage for 165k and sent in a 35k check against the principal before the first month was due. It seems like a weird way to go about things, but it was a small amount of extra work on my part (and a willingness to take on a higher monthly mortgage, of course), but it saved me 1/8th of a point “for free”, which was nice.

Speaking of credit reports (to shift around some more), back when I re-financed to that 10-year mortgage, I noticed that Trans Union (or is it TransUnion? I can find both on their site) had my credit score 100 points below my scores from Equifax and Experian. The mortgage broker I used (AAXA Discount Mortgage down in Wilmington) tossed out the high and low and just kept the middle one (810 or something like that, it was above the needed threshold for AAXA), but the Trans Union (or TransUnion) score being so much lower made me think there’s at least one significant negative thing they have wrongly listed. Kinda freaked me out, but we were hours away from a trip out to Vegas when I find out, and I haven’t really bothered with it since, but now that we’re getting the free annual credit reports, I may have to dig into why trans union / transunion / whatever had my score so much lower. I made the mistake about 5-6 years ago of leasing an Expedition, and the leasing company was bad enough at their paperwork that I’m suspecting something went awry there. We’ll see.

Anyway, to get back on topic: What kind of financial spam do you get? Credit cards? Free credit reports? Brokerage accounts? Nigerian scams? Penny stocks? Home equity loans? Home equity lines of credit? Random mutual funds? I’d like to know if my sampling is representative or if I’m slanted based on that refi I did a few months back 🙂

conversion from livejournal issues

As many of you have no doubt noticed, the current set of postings to this blog comes from 5 years of my livejournal. I decided I finally wanted to really do my own blog software (all the cool kids are doing it!) and now’s as good a time as any. WordPress 1.5 is hard to knock, and now that it has the Pages support, it really has everything I’ve been needing in blog software. Since I’m running Ubuntu 5.04 now (Hoary) and can just dpkg -i from breezy, it does make things pretty straightforward (speaking of which, I should hop up to 1.5.1 now that it’s out).

I knew I didn’t want to start from scratch, I wanted to import all those (hopefully interesting) posts I had made with my livejournal account. A quick google for “livejournal export wordpress” led to a WordPress forum post talking about the steps our friend Derek had tried and the problems he was having. Not sure what particular problem he was hitting (maybe wasn’t making XMLFILE an absolute path, who knows), but using the method of exporting your livejournal entries via ljArchive (a .NET 1.1 app, which is kind of cool) and then importing them via wp-admin/import-livejournal.php seemed like a decent approach.

After running the wp-admin/import-livejournal.php from a browser, I saw that I needed to edit it to point it at the LJ xml archive. No biggie, quick edit later, moved on to running it again with the new value.

First snag – running import-livejournal.php hit the 8MB default memory_limit value in my /etc/php4/apache2/php.ini – now, I know of at least a couple other things I’m going to be running in php-land that will need far more memory, so I jacked it up to 200MB as a swag and restarted apache2.

Second snag – the import ran but didn’t actually import anything. Turns out I had pointed it at the archive.lja that ljArchive created, which isn’t an XML file at all (bad assumption on my part). I go back to ljArchive and File / Export / XML Writer to get an actual flavor.xml file created. Then a quick edit (again) to import-livejournal.php to point it at the actual xml file this time.

Next snag – at least with 1.5, the wp-admin/import-livejournal.php page assumes that the livejournal export software does CDATA encoding on the “event” xml node. Unfortunately, at least for the ljArchive version 0.9.4 I was running, that wasn’t the case, it was good old URI escaping. Hence, the import actually ran just fine, but all my posts in WordPress now had URI escaping, so all the links were busted and actual HTML markup was being displayed instead of the intended posts.

Since the actual stored XML was fine, I figured the path of least resistance was to switch to another converter. Skipping over yet more boring parts, I ended up exporting to Movable Type‘s format and using wp-admin/import-mt.php instead.

Next problem – since I made most of my livejournal entries without subjects, most of my WP posts now had a post_name of no-subject. This causes a problem in my Permalinks url’s since post_name is, in this case, not unique on a per-month basis, nor even a per-day basis. Since I’m using /%year%/%monthnum%/%postname%/ for my Permalinks format, I have to fix this up. Ok, well, strictly speaking I didn’t have to, but I thought it would be nice) so each of these old posts has their own nice pretty url.

My first attempt at that was “sudo mysql -p” and “use wordpress;” and then a good old “update wp_posts set post_title=’post-‘ || id, post_name=’post-‘ || id where post_name=’no-subject’;” which ran fine and updated the 2142 rows I expected. Many of you that spend more time in MySQL than I will notice that I used the standard || operator for SQL string concatenation (showing my Oracle/PostgreSQL background). This did an actual “or” operator, though, so those columns got set to “1” instead of the intended strings – doh!

After a quick google to see that mysql uses concat(), I went with “update wp_posts set post_title=concat(‘post-‘, id), post_name=concat(‘post-‘, id) where post_name=1;” (notice the update where clause based on the first run). That worked fine. Now the post_name and post_title values were unique (at least per-month).

Pulling up the blog in a browser, I noticed that one thing went badly about using MT as the intermediary format – there’s an “EXTENDED BODY” section written by the tool I had used and it wasn’t supported by import-mt.php, so all my imported posts ended in these lines:



Another quick google to see the string replacement function for mysql, and “update wp_posts set post_content=replace(post_content, ‘—–\n\nEXTENDED BODY:’, ”);” which also worked fine, and removed the extraneous content from the posts.

And that’s the story so far. I’d imagine import-livejournal.php will get fixed soon-ish (although admittedly I haven’t hit the wordpress trac to file the bug), so most of this won’t have a lot of value for others, I hope 🙂


any recommended pci cards for doing a home setup with Asterisk? I would just ask Jay, but might as well open the floor for whoever has recommendations – just doing a normal home setup.

Also, any particular voip providers recommended for or against? BroadVoice has the right price, especially when you already have the hardware, but Packet8 seems to know what they’re doing to a greater extent


I’ve been running Debian woody for quite awhile, and today was the straw that broke the camel’s back when I wanted to use os.walk in a python prog but woody’s default is 2.1 and the “new” one is 2.2 – i could go outside of woody, but I decided to go ahead with an upgrade to Ubuntu Warty, where the default is 2.3 (which is when os.walk was introduced, you had to use os.path.walk and the visitor pattern before then).

I’m a little over half way through the 4 weeks Microsoft is giving me off for paternal leave and Sarah is sleeping in her pack-and-play (and Jessica’s napping on the couch), so now’s as good a time as any to finally get off of Woody. I had considered Sarge in the past, but had been limping along with use of until now.