Bumper Cars


While Sibylle and I were in Manhattan yesterday, so that she could teach, the Lexus was backed into.  Again.  Regular readers of zanshin will know that in August, while moving into our townhouse, someone visiting the neighbor backed his mini-van in to the right, rear passenger side of the car, doing roughly $1968 damage.  On that occasion I tried to be a nice guy and didn’t call the police.  We just exchanged contact information, and I got a copy of his insurance information.  When it later turned out that he was uninsured, and penniless too boot, I regreted not having called the police.  (I am still short the $500 deductible required to have the car fixed.)

When we discovered that the car had been hit again, and it almost the same spot, I was stunned.  After Sibylle had finished her teaching we decided to take a short walk through Aggieville, the student portion of town.  We window shopped and enjoyed the late afternoon sunshine.  On our way back across the parking lot toward the car, we noticed someone backing out of a space opposite the Lexus.  From across the rather large parking lot it looked like they were close to the Lexus, but it was hard to tell.  When we got to the car we could see that the right corner of rear bumper, where it wraps around the car, was marred.  The outer layer of plastic is broken and scratched, and there is white (paint from the other car) clearly visible on the car.

The car we had seen backing out, which and then driven right past us, had hit our car.  And then just drove off; no note, no attempt to do the right thing, just a total abdication of his or her responsibility.  What an ass.

Sibylle called the KSU campus police, who came very quickly, and we filled out an accident report.  Since the other driver was no where to be found, I will once again be stuck with the deductible cost in order to get the car fixed.  The only upside is that for a single $500 deductible I can now get both accidents fixed.  Actually, I can get all three rear bumper/quarter panel injuries addressed.  Since this new accident directly involves the rear bumper, which is covered in flakes of maroon spray paint, the replacement bumper would eliminate that damage.

Based on the $1968 estimate for the August accident, I am willing to bet that yesterday’s incident will also be in the $2000 range, especially if we have the trunk lid repained to eliminate the rest of the paint damage.  My $500 deductible is now getting me more value on the dollar.


Binary Time


Along with mileage palindromes, I am also fascinated with those times of the day which are only expressed using the digits 0 (zero) and 1 (one).  If you use a 24-hour clock you can produce all 16 values valid in a 4-digit binary string.  Like so:


Roundhaus


After trying to enable remote access to my home network and discovering that AT&T doesn’t really allow inbound connections, I’ve resorted to a different solution for access-from-anywhere-version-control.

Roundhaus

Roundhaus, has this to say about their subversion offering,

I also considered Beanstalk as a remote version control platform, however difficulties with accessing the repository unfortunately put them in second place.

My objective was to house the three hand-coded sites I maintain under version control to allow development work from any machine, without the constant worry of which machine holds the current version. To get started I downloaded the source code from the three sites to my Powerbook; the live source being the truth of those sites.

Next I created a working directory on my laptop, and put each site in its own sub-directory. Having the three sites under a common parent directory allowed me to import the parent in to my project trunk on Roundhaus. From the command line in Mac OS X, I first navigated to my working directory, and then issued this subversion command to get started:

$ cd websites
$ svn import -m "initial import of sites" . https://path-to-roundhaus-project/project/trunk
The period in the middle off the subversion import command is crucial; it represents the current working directory and tells subversion what to import.

With my source imported into the repository I was able to delete the working directory and create a new, empty, working directory. Changing to that directory I was able to issue the subversion check out (co) command to retrieve revision 1 of my project:

$ cd sites
$ svn co https://path-to-roundhaus-project/project/trunk
Repeating this checkout process on each of my machines gives me access to one, and only one, trusted source for my code. Details about working with subversion, both from the command line, or within an IDE like Eclipse or TextMate, are beyond the scope of this review, look for a future posting on integrating subversion into your work flow.

Roundhaus has been extremely easy to work with and, so far, very reliable. In the few days since I’ve started using it numerous changes have been made to the code base without any hiccups or issues. Best of all, I no longer have to worry about whether I am working on the correct source.


Regarding Comments


It turns out it is possible to configure Wordpress to make leaving comments almost impossible. Without realizing it, I had done just that here at zanshin.net. The configuration has been updated, so any one should now be able to leave a comment or three, if they so choose.

General Options: Membership

On the Options page, for the Membership setting, I had “Users must be registered and logged in to comment” checked. It turns out that this required anyone desiring to leave a comment to register themselves with my site. Not a bad idea, in and of itself, but one that created a roadblock. Prospective commenters were presented with a log in page, no instructions, and a tiny “Register” link to follow. By turning this option off, visitors now only have to provide a name and email address in order to comment. And I still, through the Discussion Options, get to moderate comments before they appear on my site.

The lesson reinforced here is to test everything and assume nothing. Had I not asked Sibylle to leave a comment (to test a feature of my site’s statistical package), I never would have known that my combination of configuration choices had made commenting next to impossible.


Remote Access


From time to time it would be convenient to access one or more of the computers at home remotely.  One of the projects I have going presently is to create a version control repository of all my code on the iMac, so that I can work on our hand-coded web sites from any machine in the house.  Since the other two machines I use on a regular basis are laptops, it would be ideal to open a port on my router to allow an inbound connection to the version repository on the iMac.

When I was a cable broadband customer this was relatively easy to accomplish.  I simply went to the routers configuration page and mapped a port to the IP address of the machine hosting the repository and I was done.  By inputting the IP address of my cable modem followed by the port number I’d assigned, I could remotely connect to the machine at home.

Today we are DSL subscribers and, as I discovered last evening, remote access isn’t really feasible with DSL.  Inbound connections (from the wild and woolly Internet to your LAN) are blocked by the modem.  In order to configure the modem for remote access you must first unlock it using a 10-digit code stuck to the bottom of the modem on a bright yellow sticker.  Repeated attempts to enter the code failed, and so I started a support chat session with AT&T.

The online chat support representative was friendly, but ultimately unable to help.  (As an aside, both Sibylle and I have noted that online chat support makes heavy use of pre-programmed or canned messages, which make for a rather stilted conversation.)  Once I was connected with a technical support person over the telephone, I was instructed to reset the modem.  As the universe tends toward the ironic,  this is when my phone connection with technical support died.  Oh, and the modem was no longer talking to the Internet.  And, I couldn’t log onto the modem.

The next technical support person I was connected to was able to show me how to re-apply the user id and password necessary for the modem to resolve it’s connection to AT&T.  Our Internet connection was restored.

Revisiting the remote access configuration, the original problem, I discovered that resetting the modem had updated the configuration page.  Inputting the remote access code worked!  Yay!

Unfortunately, AT&T thinks we shouldn’t have continuous remote access to our home network.  Remote access only lasts for 20 minutes of inactivity and then it automatically resets. Boo!  Perhaps I’ll call them again to see if there is a way to open that access window permanently; otherwise DSL is useless for remote access, at least as I define it.


One Year


A year ago today I started my current job.  For the first time in a seven years I was a full-time employee rather than a consultant, and for the first time in a decade I was changing jobs without moving cross-country in the process.

It has been an interesting first year.  The project I joined as a software architect was canceled only a few weeks after I completed my orientation; my team was re-tasked to various legacy projects.  In June one of the other architects left the company.  He was followed in July by a second architect.  In October the remaining architect left.  Finally in December the manager quit and moved on to other pastures.  In less than a year I had gone from being the fourth member of a team to being the entire software architecture department.

Along with the canceled project, and the attrition in the architecture ranks, I was faced with some serious doubts about how I was going to fit into the organization.  After two and a half years on the team at my previous engagement I struggled quite a bit to find my comfort zone at the new job.

Today I am feeling pretty good about the company, and my place within it.  The transition from consultant to employee is complete.  Today I see my job as more than the hours between 7:30 and 4:00 every work day; it includes benefits and supports our lifestyle.  Most important it is building a future retirement for us.  It isn’t a perfect job (no job is) but it is a good job, and I feel like I am making a positive difference.


Taxonomy


In the seven or so years that I used Moveable Type as my content management system I managed to create 42 categories. Some were catch-all groupings that ended up holding dozens or even hundreds of postings. Others held just a handful or entries, or, in some cases, only one entry.

Switching to Wordpress allowed me to add tags to my entries; something my antiquated version (2.661) of Moveable Type didn’t allow. As long as I was migrating all 1330 entries, I decided it was time to revamp the category hierarchy, and put some forethought into what tags I wanted to use.

Some of the old categories have gone away, becoming tags within other categories. Several new categories have been created, usually to group together several previous categories. The new taxonomy is still evolving; but for now there are only 11 categories. On the other hand I already have more than 200 tags. It will take some time for me to visit all the postings and tag them, or reassign them to there new categorical home, but I think it will be worthwhile as entries will be easier to find.

Without further ado then, here are the new categories:

While I have completed this process for about two-thirds of all the categories, I still have some of the larger categories (in terms of entry numbers) to visit. I’ve also been updating my htaccess file as I go, ensuring that visits to the old category archives properly forward to either the new category archive or the tag archive.

You can select a category from the drop-down list in the side bar, or you can see all the tags on their page.


How Camera Lenses Are Made


Excellent video of the process used to make a camera lens assembly. Makes you want to run out a buy a SLR camera and some lenses right away.


Safari, Wordpress, and TinyMCE


The visual editor provided with Wordpress is actually an implementation of TinyMCE.  Contained in the Wordpress implementation is coding that checks the browser type.  The coding following at least one of the Safari checks strips out all paragraph tags (<p>).  This means that any entry you either edit or create using Safari turns in to one huge block of text the instant you save or publish.  Not what you want, believe me.

There are at least two Trac entries on the Wordpress development site detailing this problem, each with a chain of comments about the criticalness of the problem.  There are also a couple of threads on the Wordpress forum regarding the issue.  It appears that you could edit the tinyMCE code within your Wordpress installation, to remove the offending Safari conditional.  The group consensus was uncertain as to any side effects of this hack.  Also, you would have to re-apply the hack each time you updated Wordpress.

Hoping to avoid surgery on my installations, I opted to install the Advanced TinyMCE plugin (not the simplest of operations), wondering if it would fix the problem.  No such luck.

So I am still forced to edit postings using any browser except Safari 3.


Progressive Lenses


At my eye exam yesterday I learned that my vision does in fact need some help. Moreover, I learned that my astigmatism has returned. Here’s my prescription:

The “Spherical” column shows the refractive correction across both the vertical and horizontal axis. The “Cylindrical” column shows the correction necessary along one axis, vertical, horizontal, or diagonal. The values in the spherical and cylindrical columns are in terms of diopters. The value in the Axis column is in degrees, and shows the axis of the cylindrical correction.

A diopter is the reciprocal of the lens’ focal length in meters. If a lens has a focal length of 1/2 meters, it is a 2 diopter lens. For comparison, a +10 diopter lens (I.e., a focal length of 10 centimeters) would make a excellent magnifying glass. A human eye has a refractive power of about 60 diopters.

The correction can be expressed as a positive or negative number. A positive (like my left eye) correction magnifies, while a negative correction spreads. A magnifying glass, which is a positive lens, concentrates sunlight, while a negative lens would diffuse or spread the light out.

The spherical correction is the main correction, and the cylindrical correction is the fine tuning. In my case the correction is necessary along one axis, rather than across the entire field of view. This is known as an astigmatism. The degrees listed in the Axis column indicate along which axis the correction should occur. In my case the blur is located along the 45 degree axis in my right eye, and along the 10 degree axis in my left eye.

You can read more about this on Wikipedia’s eyeglass prescription article.

I will be getting progressive lenses in new glasses in about ten days. My distance vision is fine, but as the object I am trying to focus on draws nearer, I need some correction.

The final piece of news I got in the exam is that I have the beginnings of age appropriate cataracts on both eyes. As you age, the lens in each of your eyeballs begins to harden and become opaque. The doctor feels that my eyes are perfectly health, and that I shouldn’t worry about the cataracts for 10 or 15 years yet. In the meantime, she wants me to talk a daily multivitamin and to wear good UV sunglasses when I’m outdoors.