Buying my car

I should have written this back in February, since I don’t have nearly as many recommended links as I should. Anyway, here are a few notes on my most recent car-buying experience.

What Can I Afford
The first thing I had to do was figure out how much I could afford to spend. During my research, I came across a rule of thumb that said you could spend up to 20% of your net income on a monthly car payment. When I found out what that figure was for me, it seemed way too high. So I cut it down to about 12% of my net and moved on to the next step.
The other thing I did which proved quite handy later was get pre-approved for a set loan amount. I’m a Costco member, so I went through their auto financing & refinancing service to do this. The end result of this process was a rate of 5.3% on $25,000 over 5 years. Capital One, the company Costco partners with for this service, gives you check and a payment schedule so you can shop for a car as if you’re paying cash.

What Do I Want
Deciding what I wanted was the easiest part of the process (since the previous step removed the delusional “I want a Lexus” thoughts). There’s tons of information on the Web when it comes to cars and costs. I found Edmunds.com to be especially helpful. I used Consumer Reports for some of my research too. After settling on the idea of buying a car with at least four doors, my field of choices narrowed to Audi and Volkswagen. For options, the only real must-haves were leather seats and a sunroof.

Test Drives
I thought pretty hard about buying a certified pre-owned car instead of a new one, so I ended up test driving a number of used Audi A4s and Volkswagen Passats (both with the 1.8 liter turbo engine). In the case of the 2005 Passat, it wasn’t enough engine for that size car. The A4 with quattro was a bit better. The real challenge with the certified pre-owned cars was finding one that was the right price that didn’t have more miles on it than I was comfortable with.

Moving on to new cars, I considered the Audi A3. It’s a nice car, but a bit small. Add too many options and it gets expensive in a hurry. Since my last car was a 2000 Volkswagen Jetta, I thought I’d at least test-drive the new Passat. I wanted a fallback if I couldn’t get a reasonable offer on the A3. The way the Passat handled during the test drive really impressed me. Even with the 2 liter turbo, it’s quite agile. It’s got tons of room inside as well. Given those factors, and the substantially lower cost compared with the A4, I felt comfortable choosing it.

Pricing my trade-in
I didn’t want the trade-in of my car to have any impact on the price I was ultimately offered for a new Passat. So I took my Jetta to CarMax to have it appraised. They offered me $5500 for it, probably because of the high mileage (nearly 100k in less than 6 years).

Pricing the new car
I used Edmunds.com to get quotes on a Passat from multiple dealers at once. They all offer “special” Internet-only pricing at points during the year. At my friend Sandro’s suggestion, I timed things so that the purchase would happen at the end of February. The hope was that their need to hit sales quotas would make dealers more flexible on price. In the case of the two dealers I seriously considered buying from (Congressional and Antwerpen), it seemed like that did factor into the outcomes. In order to offer me a lower price, both dealers offered to sell demo cars at a lower price.

Closing the deal
One key advantage I had in getting the best price was Sandro’s friend Elmer. He works in auto finance, so he knows the secret numbers and incentives that aren’t going to show up in a Consumer Reports price sheet or an Edmunds.com report. I told him what my best offer from Congressional was and what option package I wanted and he found a car at a friend’s dealership at a price that was a little lower. Once we showed up at Antwerpen to check things out, they offered a demo model at a lower price. The mileage was much lower than they thought, so I chose to buy there instead of trekking back to Congressional.
This is where my second advantage came in. While I was doing some of the paperwork, Sandro remembered that I was supposed to get owner loyalty credit since I’d bought a Volkwagen before. His memory saved me $500.
After a driver from Antwerpen took the Jetta for a test-drive, they matched the CarMax appraisal for trade-in value. In retrospect, my mistake was telling them how much CarMax had offered. I’d kept the car in good enough condition that their driver commented on it. Telling them the appraisal value probably cost me $500-$600.
When it came time to deal with financing, this is where my Costco exercise paid off. Volkswagen Credit initially offered a 5.9% interest rate on the car, quite a bit higher than what Capital One had offered. So I mentioned that I’d gotten pre-approved for a better rate and their 5.9% turned into 5.3% in a matter of seconds 🙂

The end result
I paid $25,500 for a car with an MSRP of $28,430. They also threw in a 2GB iPod nano as part of the promotion they were running that month.

Summary of Recommendations

  • Find out what you can afford first.
  • Get pre-approved for the amount you’re willing to spend. This gives you an alternative to dealer financing.
  • Get your trade-in appraised. CarMax is a nice option because their appraisals are good for 7 days and 300 miles. In any case, it’s an alternative to a dealer appraising it (since they have a vested interest in appraising it at lower than true value). Don’t reveal the appraisal value unless the dealer’s offer is lower.
  • Have two different cars you’re willing to buy.
  • Consider buying a demo car. They’ll have far less mileage than a certified pre-owned car, but will still have a price advantage over a brand-new car. You may even get a car with more features.

iPodding my car

Last month, I bought a new VW Passat from the folks at Antwerpen VW (who gave me a great deal on a demo model). So far, it’s been a great ride (better gas mileage, more room, and better performance than the Jetta VR6 I’d been driving about 6 years).

Having suffered through a couple of attempts to get my iPod to play through my old car (tape adaptor, iTrip), I looked forward to the opportunity to “iPod my car”. I finally had it done yesterday.

The good (so far)

  • The adaptor charges the iPod and plays tracks simultaneously.
  • The iPod lives in a secondary compartment above the glovebox completely out of view.
  • Controls work just like the external CD changer would.

The bad (so far)

  • You can only access the first five playlists in your iPod, or the list of all your tracks. It would be nice to able to pick which five map to the radio buttons.
  • No display of track name or playlist name. Apparently you get that information if you put in a CD with MP3s on it, but I still need to test that.

The ugly
The technician who installed the iPod adaptor managed to disable my satellite radio. It still receives channels and displays all the information, but there’s no sound 🙁
They’re going to be fixing that today.

The verdict
iPod integration is an improvement over the tape adapter, iTrip, or aux port options. It’s a bit pricey to install (around $350 for parts, labor, & tax). I’ve got enough songs and podcasts on my iPod that when the included 3 months of XM expire, I probably won’t miss them. Going the aftermarket route was probably the only way to address my hangups about playlists and display information, but for now I prefer how seamless the current integration setup is.

The acquisition continues

Lockheed Martin’s deal to buy Aspen Systems was finalized back in February, but until this week, the change hadn’t really manifested itself in a noticeable way. My colleagues and I have had more reports to write (since our bosses have had more reports to write), but not much else had changed until this week.

Yesterday we got an e-mail that our Aspen security badges were being replaced with Lockheed ones. The old ones will be deactivated April 1. Today we got an e-mail about company corporate cards we’ll be required to use for business expenses from now on. Bit by bit, the Aspen name and logo are disappearing from everything. Yesterday, they replaced it on the intranet. Today, the public website has the Lockheed Martin star on it (even though the title text still says Aspen Systems Corporation).

As I write this, there’s a crane outside the building removing the Aspen Systems sign from the side of the building (the sign said “pen Systems” the last time I checked since they’d only gotten 2 letters off).

I’m still waiting for more useful things to change, like intranet access, and software licenses for better tools.

Windows Live Again

This morning I came across an article that asks whether Windows Live is better than Google. I blogged about Windows Live late last year and thought there were a couple of things that it did quite well. The Technology Review article highlights the ability of Windows Live Search to launch multiple search panes in a single window. No one should be particularly impressed by this because tabbed browsing has been a feature of Firefox and Opera for a really long time. Internet Explorer 7 (which still isn’t out yet) is the first version of Microsoft’s browser that will actually have tabbed browsing built in. The article also highlights the ability to view pictures at different sizes without leaving the search page, something Google has probably been doing for awhile already.

The article spends very little time on what is ultimately the most important thing about any search engine: relevant results. Bells and whistles mean nothing if you don’t get results you can use. I’ll do a side-by-side comparison for my own searches for a bit to see if Windows Live is giving me results as useful as Google’s.

Blogging and Podcasting for ONDCP

Yesterday, I gave a presentation at the RSS, Podcasts, etc! workshop along with a colleague. Our presentation isn’t available on NOAA’s website yet, but you can download it here if you’re interested.

From what I saw and heard, NOAA, NASA, and the US Geological Survey are the furthest along in implementing RSS feeds and podcasts. Surprisingly enough, there are very few government agency blogs. Even the one Aspen (now Lockheed Martin IT) developed for ONDCP doesn’t have an RSS feed yet. There was very little use of blogging software to automate RSS feed generation. A number of our fellow presenters talked about custom solutions on the LAMP stack that retrieved content from databases.

Our podcasting solution for ONDCP was the only one that used Microsoft technology. The code we started with was a demo application including an Access database, a feed generation page, and a number of admin pages for adding, updating, and deleting RSS feed items. Our customizations included the following:

  • making the application run against SQL Server instead of Access
  • adding iTunes-specific tags
  • XSL to transform the raw XML into something viewable by users with regular web browsers

The solution works reasonably well, but it isn’t as fully-featured as WordPress or MovableType. LMIT will be using Community Server as part of the redesign of ONDCP’s current blog, pushingback.com. We’re using version 1.1 on an extranet project I’m managing and it’s got tons of feature. I think it’s overkill for a single blog, but if ONDCP decides they want forum functionality, photo galleries, blog rolling, etc, Community Server gives them all that out of the box.

.NET User Groups are Good

Before yesterday, I didn’t know what I was missing. I’d always gained my knowledge about .NET (and any other technology for that matter) from conferences, classes, reading, work projects, or trying things out on my own. But the ASP.NET custom web controls talk I heard yesterday was a real eye-opener. The speaker, Miguel Castro, made great use of the code snippet feature of VS.NET 2005 to speed up the development he did during his talk. Stepping through actual code in the IDE and not just reading from the few slides he did have made it a very engaging presentation. The only thing that might have made it better was if an electronic version of his presentation was made available after the talk. Until that happens, I’ll record the few notes I captured here.

Personal Notes from Presentation

  • WebControls are ultimately “code generators”
  • They are server-based components; classes that are OOP-aware
  • The terms WebControl and ServerControl are interchangeable
  • WebControls are code-only, UserControls are not.

Advantages of WebControls

  • Isolation of visual components
  • Fully object-oriented
  • Browser independent
  • Promote declarative programming
  • Handle their own state
  • Reusability

Rendered WebControls

  • fastest
  • direct output to HTML
  • least reusable
  • very manual

Composite WebControls

  • code is easy to follow
  • handle complexity well
  • most commonly used

* Inherited controls inherit from rendered and/or composite controls

* Rendered controls usually have direct HTML counterparts.

* HTML controls are a visual designer representation of actual HTML.

When to Use WebControls

  • Use inherited controls when merely extending existing functionality will solve a problem.
  • Use rendered controls for simple widgets.
  • Use composite controls in all other instances.

* The ToolboxData attribute and inheritance make a class a WebControl.
* Override the Render method to generate HTML on-the-fly (rendered controls).
* Advice: use your objects before you develop them (a nod to test-driven development).

* Override CreateChildControls (composite controls).

* ViewState identifies controls with ids, so set them first.

* Tables cannot appear next to each other because they are block elements. Block elements cannot appear inside inline elements. Inline elements can appear next to each other.

* The default master tag for a WebControl is . You should override the TagKey property in .NET 2.0 to change this. In .NET 1.1, you would extend the constructor to do this.

* Implement INamingContainer to make sure control names are unique (.NET 1.1).

Properties

  • Use ViewState instead of memeber variables when creating properties for WebControls.
  • Category, Description, & DefaultValue are basic design-time attributes of every WebControl property.
  • Property-mapping needed if a user can change the value of a property.
  • Use “this.ChildControlsCreated = false” in your “setters” for visual properties so control changes are reflected right away, without having to close and re-open the page.
  • Add event handlers for composite controls using your control constructor. Also declare a public event handler delegate.
  • Events are not inheritable
  • Make button controls overridable with protected virtual void methods.
  • Object properties can be made read-only because their internal properties have their own getters and setters
  • Save WebControl state by using an object array. Reserve the zeroth array element for the base.SaveViewState call.
  • Style isn’t serializable, so it’s handled slightly differently.
  • Use ControlState to keep your control functioning even with ViewState turned off.

Recommended Reading
Essential ASP.NET With Examples in C#
Essential ASP.NET with Examples in Visual Basic .NET
Building ASP.NET Server Controls
www.dotnetdude.com
* Just reading good source code is great education

Bosses ‘are deluded’ over success of deals

An interesting title for this story I read in the Times this morning. The acquisition of my current employer (Aspen Systems) by Lockheed-Martin falls right in the area the story discusses (acquisitions of $100 million or more). The buyout is scheduled to close shortly, so I expect to find out soon enough what Lockheed’s plans are for us.

The idea of M & A activity not always creating additional value has been around for awhile. I remember reading stories like this in magazines like The Economist five or six years ago in the middle of the Internet bubble. I’ve only been working full-time for nine years or so, but I’m sure questioning the value of mergers stretches back far before my time.

Since news of the buyout came to us, I’ve been wondering what Lockheed sees in Aspen that they want. Our annual revenue is a tiny fraction of Lockheed’s. As far as I can tell, the thing about Aspen that Lockheed most wanted was the subject-matter expertise. A lot of the civilian agencies we do work for have essentially outsourced certain government offices to Aspen so we can act on their behalf. So while we aren’t an outsourcing power like IBM or EDS, we do occupy a similar niche.

I think Aspen gets plenty out of being bought Lockheed. The first thing is deep pockets. Even more important than the deep pockets is superior processes. We just achieved CMMI level 2 last month, while parts of Lockheed have been at levels 3 through 5 for years. Only time will tell if we help push the LMT stock symbol up.

What Corporations Know About Us

This morning, when I was listening to the umpteenth radio story about the Justice Department subpoena of Google, it occurred to me that Google might know less about us than some other companies.

I’ll use myself as an example. I use Google for searching and Gmail for e-mail. So they know what terms I’ve searched for and when, along with who I’ve sent e-mail to (and received e-mail from). They could certainly know the contents of every e-mail if they wished. The biggest potential risk to me of someone knowing what I’ve e-mailed or searched for is embarassment.

Compare that to what credit bureaus can know about me. TransUnion, Experian, and Equifax know at least the following:

  • current and past addresses where I’ve lived
  • current and past employers
  • when credit accounts were opened and closed
  • what things I’ve bought with credit, as well as when and where I bought them
  • all the loans I’ve taken out, and how quickly (or slowly) I paid them off.
  • who has requested my credit report

According to this web page, there’s a long list of companies and people who can look at my credit report. There are a lot of potential risks to me if I have a bad credit report:

  • I could be denied credit or other loans
  • I could lose out on potential job opportunities (company background check)
  • I could be denied housing (landloard background check)
  • I could end up paying high insurance premiums, or be denied coverage (insurance company background check)

At least Google lets you look at your recent search history. The law only requires credit bureaus to give you free access to your credit report once a year. After that, you have pay to get access.

Somehow, I’m a lot less worried about how Google will use what they know about me.