Jan 042014

I posted most of these in 2012, and failed miserably. Time to do it right this year.

Bike at least 1000 miles
Drink more water
Get below 12% body fat
Read two books (or equivalent) a month – Audible is fine
Learn at least two songs on guitar
Finish masters degree
Get the boat in the water
Quit Diet Coke
Complete one triathlon
Maintain budget monthly with less than 10% variance
Eliminate all credit card debt

 Posted by at 9:37 am
Sep 092012

How many people are ostracized because of chronic mental illness?

I was listening to This American Life in the car today. It was called “The Fear of Sleep”. While not the primary subject of the segment, I was struck by some comments about the brother of the protagonist. The 17 year old brother was behaving erratically and coming home at increasingly late hours. When the brother arrived, he’d be met with a shouting match between him and his father. It’s mentioned as an aside that it was the beginning symptoms of what would later be diagnosed as schizophrenia.

I’ve posted a TED talk on the experiences of a schizophrenic before. And I think most people would be surprised to learn what schizophrenia is and isn’t (it’s not multiple personality disorder).

I don’t think the experiences of this person are unique. He was probably described as a difficult child, and his parents likely didn’t know what to do with him. We don’t know the end result of his part in this particular story, and it really depends on the severity of the illness, whether the person was diagnosed properly, and if they have the social support system to stay current with medications and treatment.

Unfortunately, many people with mental illness are described as the black sheep. They were erratic in their teenage and early adult years at home. The family doesn’t understand why. They raised this child just like all of their other children but this one acts radically different. In many cases, the family is relieved for the difficult member to be out of the house. Without treatment and medication, this person is likely to have a very hard time maintaining high-quality, steady employment. They often end up with unsteady living arrangements, and unreliable relationships. Both the families and the afflicted are victims of mental illness.

Please be aware, that there are so many things we’re learning about the human mind, please take a moment to think about the circumstances these people are in and at least consider that in many ways, it may not be their fault at all. It’s particularly keen at the moment – during an election – when a large portion of the dialogue is given to social welfare and health programs. Many of the people who need these programs most don’t want to be in this situation. They don’t want even to behave the way they do. They are are afflicted in ways most of us can’t understand.

 Posted by at 7:04 pm
Mar 132012

It’s March, but I’m going to set resolutions anyway:

Bike at least 1000 miles
Drink more water
Get below 12% body fat
Read two books a month
Learn to play guitar
Build an iPhone app
Take at least one overnight sailing trip

I’m already on track with water. I’m cheating and using MiO to flavor it, but I think it still counts. Hopefully the biking will help with the fitness.

 Posted by at 2:14 pm
May 062011

My former employer had a policy of not covering telecommuting user’s home internet service. They felt all employees would have broadband internet anyway, and it was therefore not necessary to cover it as an additional expense. This seemed a bit rigid. What about the handful of employees who did not have home broadband? Or who relied on cellular service for internet? It is also important to note that these weren’t voluntary telecommuters either. They were simply not offered office space, and in some cases had office space taken away and were sent to work from home.

Over the last few years, it became somewhat more palatable to potential telecommuters as broadband really has become ubiquitous. But we’re now being faced with a new problem, bandwidth caps. I pay for home broadband service, and its reasonable to think that I would. I was happy to allow business traffic to go over my broadband service when it was an unlimited resource. Unfortunately, it isn’t anymore. It’s finite. I’m going to be bouncing off this cap regularly. We pay for home internet access, we should be allowed and able to use our home broadband to it’s fullest extent. So I don’t feel bad bouncing near the cap with frequent Netflix/Hulu usage. But how will my employer feel about me being unable to work because my internet has been shut off? My employer didn’t pay for it. And now that my employer is using up a finite resource, shouldn’t they pitch in? Eating the Cherios was fine when I had an unlimited supply of Cherios. But now I have to pay for every box, and it doesn’t sit nearly as well.

I’m hoping others run into this problem soon, so we can have a larger discussion about bandwidth caps, telecommuting, and what everyone’s role is.

 Posted by at 11:25 am
Apr 072011

We’ve been running on an old Subversion/Bugzilla server and the hardware needed to be retired. In the course of migrating it made sense to upgrade the software and take advantage of some new features in both products. I first installed MySQL for Bugzilla, imported the database, and installed Bugzilla. After much fiddling to get the old template we had working with the new version of Bugzilla it was tested and was working fine. Then I installed Subversion Edge. I imported the repositories. It was tested and was working fine. There was much rejoicing. As a final test before prepping the server for production I ran through the process we would use to import the current live data onto this new server. This is where things started to go awry.

Subversion is incredibly simple. I simply needed to delete the old repositories and use the admin page to discover repositories which would clear the list of existing repositories. Then I’d copy in the live repositories and discover again. Tested, it works, great.

Bugzilla should have been equally as easy. Drop the old database. Import the live database, and run the script to perform the DB update. We never got that far. I couldn’t get MySQL Workbench to give me a query window. I was getting the following error:

Cannot Connect to Database Server. Cannot start SSH tunnel manager

Some Googling told me this was a Python issue, and after much digging I noticed that PYTHONHOME was now pointing to the Python distribution shipped with Subversion Edge. When I pointed PYTHONHOME at the Python folder shipped with MySQL Workbench, it worked swimmingly. Here is what was wrong.

Subversion Edge points at [svn edge install dir]Python25 . MySQL Workbench points at [MSQLWB install dir]python . These should be compatible, since they are both Python 2.5, right? Wrong. The contents of the Subversion Edge Python distribution is pretty close to the contents of the standard Python distribution. The contents of the MySQL Workbench python folder is the Lib dir of the Python distribution. If I change PYTHONHOME to svn edge install dir]Python25Lib then MySQL is happy as a clam, but obviously Subversion will no longer work. Unfortunately, currently, they cannot coexist on the same system.

If we go the other way and set PYTHONHOME so MySQL works, then the repository viewer called ViewVC will no longer work. You will get an HTTP 500, Internal Server Error.

 Posted by at 3:10 pm
Feb 162011

This is a silly error. I am setting up NHibernate to access records in an Oracle database. The entities are something like this:

public class Person
  public virtual string SysID { get; set; }
  public virtual string LastName { get; set; }
  public virtual string FirstName { get; set; }

  public virtual Registration Registration { get; set; }
  public virtual ICollection Campuses { get; set; }
  public virtual ICollection Addresses { get; set; }

public class Registration
  public virtual string SysID { get; set; }

  public virtual DateTime RegDate { get; set; }
  public virtual DateTime RegEndDate { get; set; }
public class PersonMapping : ClassMap

  public PersonMapping()

    Id(x => x.SysID);

    Map(x => x.LastName);
    Map(x => x.FirstName);

    References(x => x.Registration).Column("SYSID");

public class RegistrationMapping : ClassMap
  public RegistrationMapping()

      Id(x => x.SysID);

      Map(x => x.RegDate).Column("REGISTRATION_DATE");
      Map(x => x.RegEndDate).Column("REGISTRATION_END_DATE");

This seemed to work fine. I could list items and they we’re querying properly. That is, right until I added skip and take to narrow down the results (for paging).

List people = _session.Query()
  .OrderBy(pr => pr.LastName)

Oracle started complaining and threw this error: 

ORA-00918: column ambiguously defined.

What had happened is this. Notice in the casing of SysID in my entity definition. Then notice the casing of SYSID in my mapping file. The column used for the registration reference in the person object is SYSID and the column used as the ID field for person is SysID. NHibernate reads those as distinct and asks the database to return SysID twice, with slightly different casing.

This is fine when we were simply reading the fields. The reason it failed when I added the take and skip commands is because NHibernate enclosed those returned values in parentheses and queried against them again in order to only return the number of rows we wanted. And when it tried to return SysID it didn’t care about case and got two items returned, making it ambiguous.

 Posted by at 12:34 pm
Apr 302010

I would like to document this for posterity. I gave my 2001 Dodge Stratus R/T a tune-up over the last few days. It hasn’t had new plugs or wires in the last 100,000 miles, and I figured it could use some care if I was going to have it hit the 200,000 mark (currently at 130,000). Anyone seeking to do such a tune-up on this 3.0L Mitsubishi engine be warned that it’s fairly involved. The spark plugs are under the plenum, which means the plenum needs to be removed, and all the wires, sensors, cables, etc that attach to the plenum also need to be removed. Further, if you plan on replacing the distributor cap and rotor, you also need to remove the battery and battery tray. Note: I recommend replacing the rotor and cap, as mine were quite worn after 130,000 miles. I may post pictures later.

If you do want to do continue, I’d recommend bringing a laptop along and following this site: . It has very detailed instructions and pictures to show all the bolts that need to be removed.

Finally, anyone following along in the Haynes Manual* be warned that the order on the cap indicated in the book on page 2B-1 may be wrong (it is in mine, I don’t know if it’s been fixed in later versions). My manual showed firing order 4-2-6 top-to-bottom on the left side, and 5-3-1 on the right side. It should have been 4-2-6, 3-5-1. It was printed correctly on my distributor cap.

 Posted by at 11:41 am
Apr 252010

I’m in the conceptual stage of creating a homebrew beer plugin for WordPress. The requirements are as follows:

  • A side bar that shows a particular beer and it’s stats. It can be random, top rated, most recent, etc. It will display relevent stats like beer style, ABV (Automatically computed and/or manually entered), starting gravity, ending gravity, rating, etc.
  • A page that acts as a log of previous brews that allows users to sort by styles.
  • A grouping system to allow the user to name a particular recipe and then track that recipe through several attempts.
  • Recipe tracking.

I’m open to other suggestions, either with getting started in WordPress plugin writing, or similar plugins in other contexts that I might be able to look at as a code base.

 Posted by at 5:40 pm
Apr 132010

I ordered a dwarf Valencia orange tree for Kit for Christmas. I heard and received nothing for a couple weeks and sent an email to the company from whom I’d purchased the plant. Ty Wesley Hardin responded to my email and informed me that because the temperatures were below 28 degrees at night that they could not ship the plant. They would watch the temperatures and ship it when they warmed up. I accepted this and waited eagerly until spring.

Spring came around and the temperatures have easily stabilized in the above 40f range, and I sent an email asking if it would be shipping soon. I waited several days and heard nothing and decided it was time to call. Unfortunately, their website,, was offline. I checked websites that were possibly associated, including and, and they were also offline.

I started googling and found a gentleman in a similar situation who had ordered around January. He was lucky enough to be able to file a dispute with AMEX. My claim was too old, and I had no recourse through the bank. I also found several addresses and phone numbers, but to no avail, they’d all been disconnected.

It seems like a terrible affront to human decency to me. If you’re going out of business, or filing bankruptcy, I think it’s your duty to have some humility and at least admit that you will not be filling peoples orders and that you have, essentially taken their money and squandered it… however you’ve done that.

 Posted by at 10:32 am