Archive

Archive for June, 2009

5 Questions to Ask When Negotiating Car Maintenance

June 27th, 2009 Eric No comments

This morning I took our newest car, a 2007 Hyundai Santa Fe, to the mechanic for an oil change. And, of course, when I got the call from the mechanic a couple of hours later there was that awkward moment of silence after they eek out a pleasant, but forced, greeting, and before they rattle off the laundry list things that need attention. This time, most of the items in the list were 30K mile maintenance things that are necessary in order to keep the warranty on the car valid (i.e. transmission fluid flush, air filter, etc.). All of this totaled about $360, which I’m borderline OK with. I’m a believer in spending money to do routine maintenance upfront rather than waiting until it’s too late when the cost of repairs exceeds the cost of maintenance.

But the list didn’t end there. I didn’t expect to hear that I needed new tires. And oh yeah, I should also realign the tires to extend the life of the tires that I have. After all the car is just shy of 30K miles (most tires should last at least 50K miles). The tires still have good tread everywhere except the inside (where I can’t easily see, of course). Why did they not notice the misalignment before now? I was told this could’ve been caused by an event in the last three thousand miles or so that threw the alignment out of whack, causing the tires to wear unevenly on the inside. My wife tells me she may or may not have hit a curb recently. Financially it’s not possible for me to do all of the routine maintenance AND get new tires right now. So, time to start asking questions.

I argued very politely with the salesperson for 10 or 15 minutes about whether or not it’s crucial that I get new tires. An alignment would cost $90 and give me another three to four thousand miles on my existing tires. When I pressed for as much information as I could I found out a couple of interesting bits. Are the tires in dire need of replacement today? Would I pass a state inspection?   The answer, of course, is that they’re fine probably for another three to four thousand miles.

While inquiring about tire prices I found out that tire alignment is included for free when you buy new tires. When I pointed out that I could drive the tires closer to their end-of-life and get a free tire alignment when I buy new tires there was a three or four second pause on the other line. “GOTCHA! “, I thought to myself. Here is where I believe I caught them trying to make a little extra money off of me. I like this shop a lot and they’ve been working on my cars for almost 10 years now. I’ve never felt like I was getting screwed until now. Granted, I’m not dealing with the usual salesperson who I feel is very honest with me. This person is younger, newer, and I can tell he doesn’t quite grasp customer loyalty yet.

This is a prime example of why it is so important to haggle with salespeople when it comes to things about which you’re not an expert. It pays to spend that extra time, whether it’s 15 minutes or multiple phone calls that might exceed an hour, to get all the information straight in your head before committing to repairs. More often than not you will feel pressured by a salesperson to do something you’re not financially comfortable doing at that moment over the phone. This is especially true with repairs, where you need your car, washing machine, or air conditioner fixed as soon as possible to return life to normal. And service salespersons know this. So, before you agree to just get it taken care of, be sure you know what you’re getting and whether or not you actually need it now.

Here are 5 questions that you should ask yourself or the car shop before agreeing to repairs:

  1. Is it absolutely necessary right now? How much longer could you wait before the part in question will break? Sometimes you can simply let a part break before actually fixing it.
  2. Would waiting cost more in the long run? If you wait on the repair, what’s the potential risk for more damage? Could it lead to breaking an even more expensive part? Sometimes the cheapest maintenance can actually prevent damage to some of the most expensive parts.
  3. Are some services included for free when you replace a part? As I found out, tire alignment is included with new tires. So it doesn’t make sense to pay for it now when I know that I’m going to have to buy new tires soon anyways.
  4. How long is the warranty on their work? This can depend on the service but it’s always good to know.
  5. Can they cut a percentage off of the price?  When the price tag is large it never hurts to ask. Always wait until they’ve quoted you a final price before you play this card. Use your customer loyalty (if relevant) as evidence that your continued patronage is worth a small discount.

What else would you ask your mechanic or salesperson?

Update: The salesperson called back to let me know my car was done. He also let me know that he talked with his manager about my concern that I was never notified of a problem with the alignment before now. They are supposedly going to work to get the cost of tires down as close to cost as they can. It pays to ask questions : )

Categories: Financial Tags:

Move or copy a set of directories using Ant

June 23rd, 2009 Eric No comments

I’m often baffled by the way some tasks work in Ant. Today, I needed to move a set of directories to another directory based on a <fileset> wildcard expression. My first, seemingly intuitive attempt was to use the <move> task and specify a <fileset> with an includes expression. Let’s suppose I want to move a set of incremental backup directories that all have the keyword “incremental” in the name:

backup-incremental1
backup-incremental2
backup-incremental3

It seems intuitive to use the following Ant move task to move these directories into another directory called backups/

<target name="move.dirs">
    <mkdir dir="backups"/>
 
    <move todir="backups">
        <fileset dir="." includes="*incremental*"/>
    </move>
</target>

For some reason this only copies the root directory without recursively copying its contents. Ant gives a message that looks like the following:

[move] Moved 3 empty directories to 3 empty directories under Sandbox/ant/backups

After going through several iterations (emphatically gesturing at the monitor along the way) I finally realized that the core <move> and <copy> Ant tasks cannot do this. At least, not that I could figure out. Instead, you have to use the ant-contrib library’s <foreach> element to iterate over each directory and call a separate target that will actually move the directory:

<target name="move.dirs">
    <mkdir dir="backups"/>
 
    <foreach param="dir" target="move.inc.backups">
        <path>
            <fileset dir=".">
                <include name="*incremental*"/>
            </fileset>
        </path>
    </foreach>
</target>
 
<target name="move.inc.backups">
    <move todir="backups" file="$dir"/>
</target>

Why is this so? I’m still trying to figure out if there are any vanilla Ant solutions to this problem. I will be sure to post what I find in the future. For now I will just accept this as another one of many quirks in Ant. I love Ant for its simplicity and the ability to cobble together scripts quickly to automate tasks. But on the other hand, sometimes Ant lacks the intuitive nature of scripting languages like python or ruby.

If you have any alternatives to the method I presented here, please feel free to post them in the comments.

Update: To move or copy directories recursively without ant-contrib see this more recent post Ant copy and move directories recursively without ant-contrib

Categories: Code Tags: , ,

Keep a “local dining” list in your cell phone

June 17th, 2009 Eric 1 comment

When my wife and I decide to go out to eat, I’m usually the one forced to make the decision of where to go. When I’m not feeling particular I try to push the decision back to her. Invariably though, she will ask me to give her some choices first. This process usually consists of me racking my brain for several minutes, some minor bickering about who usually makes the decisions on where to go, and ends a forced decision and neither of us too happy about how we got there.

It dawned on me today that I should keep a list of favorite restaurants, categorized by location to make this process a little less stressful. So, if I’m up North of town I can pull up my “Restaurants North” list and quickly be able to rattle off 3 or 4 choices. Within each list it is also helpful to group restaurants by how healthy they are. Currently my wife and I are trying to eat better so being able to go directly to the list of all the healthy restaurants would make the process even quicker. The lists can easily be kept in any cell phone these days using a simple notepad application.

How do you keep your favorite dining locations organized?

Categories: Productivity Tags:

3 Ways To Improve GTD Implementations

June 16th, 2009 Eric No comments

I am just finished reading the bestselling book “Getting Things Done” by David Allen. While I like much of the GTD system, and I’ve actually used a lot of the GTD tricks for a couple of years now, I feel like it’s a very heavy system to use, especially for someone who uses the paper-based system described in the book. I’m still having trouble picturing the entire system in my head (something that is crucial is one is to implement and sustain it on a dialy basis).

A lot of people I’ve talked to who have either read (or started and never finished) Allen’s book have said that the system is too complex, especially when trying to set up the system from scratch. Without a productivity coach sitting beside you making sure you’ve emptied everything from your brain into your system I can’t imagine finding the time to completely implement the system over the course of a weekend. While I think GTD definitely has merit (it’s obviously been successful based on the anecdotes and volume sales if it’s a national bestseller), I think it would benefit from the following suggestions to increase its simplicity.

  1. Digital GTD. In the digital age, more emphasis should be placed on a digital GTD solution. I realize that some people may not have such a multitude of actions so as to warrant a digital system but those who do should really consider one. The ability to prioritize tasks, in my opinion, is crucial when you have a large amount of tasks. Paper or note software on a PDA/Smartphone can be cumbersome. There are now many FREE digital GTD systems online that are actually quite good, generally providing some sort of dashboard that let’s you see a lot of information at once. Some will even calculate suggestions for “Next Action” items for you. I use Toodledo.com on a daily basis. In fact, I think Toodledo is so good I just upgraded to the Pro account for a mere $15/yr so that I can do things like add subtasks and see task completion metrics. There are also other free systems out there like Remember the Milk and Vitalist that are also capable. A good comparison of many of the online GTD systems is located here.
  2. Tighter integration with email systems. This is a big one in my opinion. While I use Toodledo to manage all of my tasks, I still have email that I have to manage as well as a separate system. I’m always thinking “wouldn’t it be great if I could just integrate Toodledo into Gmail or Outlook”. There are some ways to integrate with Gmail but they’re more hacks than true integration. I’ve tried a product called TrogBar from Priacta and while it does integrate with Outlook, I found it to be a bit combersome and dropped it after a few months.
  3. Better intelligence. There is some basic intelligence in a lot of the GTD systems available but I don’t think the apps are smart enough yet. Toodledo has a very basic Scheduler that, given the priority of tasks, will tell you what you should be doing next. But this feature seems infantile at the moment. I hope the developers will expand it in the future. TrogBar actually has a more advanced “scheduler” feature but I often didn’t understand why it would suggest certain tasks. Perhaps this is because of the complexity of attributes that GTD allows for tasks (i.e. priority, due date, start date, status, etc.). Again, I think this will evolve as well with time.

What improvements would you like to see in your GTD system?

Categories: Productivity Tags: