Gentoo Compiler Caching

I really should learn to be more patient and read the docs. Today I stumbled across Gentoo compiler caching. From the About ccache section:

ccache is a fast compiler cache. When you compile a program, it will cache intermediate results so that, whenever you recompile the same program, the compilation time is greatly reduced. In common compilations this can result in 5 to 10 times faster compilation times.

Sheesh. How much time have I wasted sitting around drooling on myself waiting for portage to build package XYZ?

In addition to learning to read the docs I should also probably learn to stop drooling on myself.

Visual editor broken in WordPress 1.3.2

Seems there is a bug in the latest WordPress check for gzip support which breaks visual editing. I’m not sure which condition below is causing the confusion

but if you modify the $supportsGzip variable to always return false as above, the problem goes away.

Alternative authentication methods with Apache 2.2

Quick note on how to make alternative authentication modules work with Apache 2.2.

mod_auth_imap kept complaining about a missing password file:

(9)Bad file descriptor: Could not open password file: (null)

Turns out with Apache 2.2 you have to explicitly turn off Basic authentication even when you are using an alternative module. So a proper Apache 2.2 mod_auth_imap configuration would look something like this:

Auth_IMAP_Enabled On
AuthBasicAuthoritative Off
AuthType Basic
Require valid-user
Auth_IMAP_Authoritative On
Auth_IMAP_Port 143
Auth_IMAP_Log On

Turning off AuthBasicAuthoritative forces Apache to ignore the standard password file authentication.

When in doubt, upgrade the firmware

I’ve had an old D-Link DI-614+ Wireless Broadband Router since 2003 or so. Its ticked along perfectly for the last five years, though since last week has started to show signs of wanting to go kaput. It had occasionally cut out on me in the past, but never so persistently.

Just before heading out the door to Best Buy to pick up a new one I figured I’d check D-Link to see if there were any firmware updates. Sure enough the last update was in 2006. Dowload to desktop, upload to router, reboot, and.. suddenly, no more problems. In fact, I seem to be getting better throughput than before. And the router’s clock now works. And signal strength is suddenly 100% everywhere in the house.

Sheesh, if I had thought to do this before I never would have wasted money on the Hawking Range Extender (which also required its own firmware upgrade).

So, fifty bucks saved and lesson learned. When in doubt, upgrade the firmware.

Pentax Optio S4i digital camera for sale

Pentax Optio S4i 4MP Digital Camera w/ 3x Optical ZoomI recently picked up a fancy-shmacny new Panasonic Lumix on my last trip through Tokyo. No need for two digital cameras, so we have decided to find a new home for our Pentax Optio S4i. You can find it on ebay here.

Some watchful ebayers have asked about wear-and-tear on this guy so I though I would blog up some pictures. In general it’s in great shape, despite maybe being a little rough around the edges. The auction ends in a couple of days so, if anyone is looking for a great used digital camera on the cheap, please take a look.

Update: I found an English Manual! Please feel to grab it if you need it… Optio S4i Operating Manual

Optio S4i Wear and Tear Optio S4i Rough Around the Edges

Update Again: Two rounds on ebay and no takers. Maybe someone will take a fancy after seeing this on Amazon. I’ve cut the price way down.

Update Yet Again:  Someone in New York did!  I love Amazon!

How to print multiple calendars at once in the Calendar Printing Assistant

I was recently asked how to print multiple calendars side-by-side in the 2007 CPA. Since this had also originally befuddled me, I figure its worth a post. The problem is that the interface is a bit confusing.

Here’s how to do it:

  1. Load up both Outlook and the CPA. Select a multi-calendar template from the View Templates panel on the right-hand side of the interface:


  2. You’ll notice that the View Templates title is actually a select list. Toggle this to Calendars and Tasks:


  3. Click on the calendars you want to see. They will appear in the Calendars and Tasks bar on the left-hand side of the interface:


  4. Check the calendars you want to see and, voila, they appear in the template!


MJ12Bot Virus Robot

There seems to be a “virus bot” out there just now starting to attack servers in Japan. It spoofs the distributed open source search engine Majestic 12 with a user agent string of MJ12bot/v1.0.8 ( (The real Majestic 12 is up to version 1.2.x.)

Use mod_rewrite in Apache to block it:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^MJ12bot/v1\.0\.8.*$
RewriteRule .* - [F]

Add the above to either httpd.conf or a local .htaccess config file. See the Majestic 12 FAQ for more information.

Note that the way the virus has been hitting some of our sites appears as though it actually attempts to coordinate DOS attacks from multiple servers. Scary if true. And it seems to be smart enough to stop attacking as soon as it realizes that access has been denied.

Update: If you run mod_security, consider appending evil MJ12’s user agent string to the rogue web crawler portion of the bad robots conf file modsecurity_crs_35_bad_robots.conf:

SecRule REQUEST_HEADERS:User-Agent "(?:e(?:mail(?:(?:collec|harves|magne)t|(?: extracto|reape)r|siphon|wolf)|(?:collecto|irgrabbe)r|xtractorpro\
|o browse)|m(?:ozilla\/4\.0 \(compatible; advanced email extractor|ailto:craftbot\@yahoo\.com)|a(?:t(?:tache|hens)|utoemailspider|dsarobot)|w(?\
:eb(?:emailextrac| by mail)|3mir)|f(?:astlwspider|loodgate)|p(?:cbrowser|ackrat|surf)|(?:digout4uagen|takeou)t|\bdatacha0s\b|hhjhj@yahoo|chinac\
law|rsync|shai|zeus|mj12bot/v1\.0\.8)" \
"deny,log,auditlog,status:404,msg:'Rogue web site crawler',id:'990012',severity:'2'"

mod_security returns a 404 Not Found error instead of Access Denied which should further help to confound the virus.

Goals for 2008

2007 was the first year I wrote out goals for myself. Its been eye opening to review them and see the progress, or lack thereof. In general I’ve managed to complete about 50% of my goals. Of course, I doubt I would have achieved 10% if I hadn’t had them plugged into my PDA phone where I could review them (semi-)regularly.

Though my list of goals were pretty clear and easy to follow-up on, I notice that they weren’t completely “SMART”. While all were Specific, Measurable, Attainable, and Realistic, for none of them did I require a time frame. This year I plan to get really smart, with a capital “T”, about both my goals and the steps I take to achieve them.

Blogging these goals of course adds a bit of additional pressure: They are out in the “public spotlight” so to speak. I’d learned from long back that the more public one’s intentions, the more likely they are to materialize.

And so… without further ado, here’s the 20,000 foot view of what I hope to achieve this year, in order of priority.

Get A Life

Yes, sad but true. I have no life. Working on different businesses remotely from home has turned me into something of a troll. Time to make a few changes.

Fortunately I’m at a point now where I don’t have to accept opportunities presented to me but can, instead, create opportunities themselves. This has become increasingly clear over the last year. I’ve got a few ideas cooking on the back burner; the trick will be to identify what is truly important to me, and important for the long term. I don’t really need or want to work for money anymore. I’d like to work, instead, for purpose.

Make More Time for Fun

This is part of getting a life. A more serious way of putting this would be: Control my time. Seriously control my time.

Work has evolved into a habit, and a bad one. My tendency towards workaholism is made tragic by the fact that I’ve always worked obsessively on businesses that, at the end of the day, were not truly a passion. My strategy to change this is twofold:

  1. Identify my true passion and weave it into daily life until it becomes daily routine. Make work a joy. Make it fun.
  2. Joyous or not, clearly delineate work from private time. Plan it. Honor it. Discover joys outside that which I have identified as my life’s work.

Write & Teach

These are two things that I’ve discovered, over that years, that I am naturally quite good at.. and which I’ve been avoiding for as long as I can remember. I’m not sure why. Perhaps I’ve been avoiding myself.

I had originally listed this as lowest priority but now realize that this is a part of who I am that has needed additional attention for a long time.

Get Back In Shape

Everyone sets this as a New Year’s Resolution. And often its the first resolution to get dropped. That said, I think I know exactly how do get back in shape, at least in a way that will work for me. I’ve done it once before.

First step will be to train for and complete the Boston Marathon. This will have a huge impact on my overall health. After that I’d really like to get into some other kind of sport. Perhaps professional curling.

At any rate, its time to prioritize health over workaholism.

Secure Passive Cash Flow

Last year I vowed to get my finances in order and, much to my surprise, I’ve managed to do just that. Now that I know what they look like, this year I want them to work for me. If I can start to get money to work for me (rather than the other way around), then the above will be that much easier.

Invest Consciously

One’s money is an indirect (or often direct) extension of oneself. From long back, thanks to advice from my folks and others, I have been investing in stocks and a few funds. Financially this has been fine.. the only problem is that I don’t really know where that money is going.

This year I’d like to do a lot of research and realign my investments to be morally synergistic with my personal philosophies.

Buy A House

Given the current US housing market, we would be insane to pass up the potential for investing in a home.

Wheels are already in motion; deadline set. For a variety of reasons, we really need to get this figured out by April. More information soon.

Back To School

Not sure about this one, but I have an inkling that it’s time to go back for a more advanced degree. And not just a bidness degree. Perhaps one in professional curling. This I hope to get underway from August.

And there you have it. I’ll be checking back in on each of these topics at least once every month to review progress and to help keep things generally grooving along. We expect some significant life changes this year. It will be interesting to see how strong my New Year’s resolve actually is!