Installing Maven, Sonar and MySQL on Mac OS X 10.6

If you program a lot, then these tools should at least be pretty familiar to you.  If not, then you’ve probably never heard of Test Driven Development and Software Quality either (I’ll accept that you’ve heard of MySQL and OS X no matter what :)).  These tools help create a process to program and release code along with analyzing the structure of your code.  MySQL, of course, is used as the back end for Sonar.  I recently decided since I was doing a lot of coding on my PhD work that it’d be fun to setup the tools that I use at work and see just how good (or bad) my code for my PhD is.  So, I set about downloading and installing the various tools.  Find them was very simple since they are all open source projects.  You can find them at these places:

Once these are all downloaded, the installation of all three is very straight forward and the documents can guide you them with ease.  The only problem I had was getting Sonar to work with MySQL correctly.  When Sonar first runs, it is supposed to create a Sonar DB inside of MySQL (once you set the Sonar config file to use MySQL).  In my case however, it wasn’t doing that at all.  So I had to manually create a database within MySQL called ‘sonar’ and then start Sonar running, at which point, it created all of the tables it needed and began running flawlessly.

The next step is to convert existing projects to build with Maven (or make new projects using Maven).  This also requires some modification of the pom.xml files to hook into Sonar.  I had to place the Sonar profile section that is normally inside the settings.xml for Maven into the POM for the project which I was working on.  This fixed the issue of Sonar not being able to connect to the MySQL database.

With this I was able to get all the tools working on my machine with no real issues (other than seeing how bad static analysis thought my code was).  Using this I’m hoping that I’ll be able to write some nice clean code and have it all working brilliantly so when I need to modify it, the code will make complete sense and be easy to extend and modify in the future.

Mac OS X 10.6 and all the wonderful peripherals

After receiving my new desktop machine, I’ve been working on getting all of my peripherals working on the new machine.  Of course, with it being a Mac, you should just be able to plug all the stuff in and rock and roll, right?  Well, the answer is “Wrong” when you’re using an HP Deskjet 995c with Mac OS X 10.6 because HP no longer supports any piece of hardware over 5 years old and politely tells you to buy a new printer.

The largest issue with looking for a new printer is the fact all printers are now apparently these all-in-one monstrosities that do everything except the dishes in the dishwasher.  Whatever happened to a nice quality printer with bluetooth or wireless capabilities?  Am I asking too much of the printer companies to make a quality inkjet or laser printer with bluetooth or wireless and none of the other frivolities they normally throw on the printers now?

Along with what appears to be my search for a new wireless printer, I have an Iomega network storage device that likes to be seen on the network, but not actually usable.  Of course, this just isn’t a Mac issue, it isn’t working with the PCs as well.  Just another thing to troubleshoot.  At least all the other devices work just fine with the iMac so I can’t complain too much.

How to have a bad day at the track

Yesterday, I decided to take off from work a little early since I had hit my 40 hours around lunch time and go to the track with my now running 911.  I figured I’d get a few sessions in wearing my firesuit and all the safety equipment along with breaking in the tires all the way.  Although it was around 85 degrees I knew I’d have to get used to wearing the suit and see how important a cool shirt would be.  I started on my session and was slowly building up speed as my tires were getting heat into them and becoming broken in (as a side note, from now on, I’m paying for heat cycling of tires) the car was feeling really good and strong.  I had two laps left and as I was going down the cork screw section of the track at The Driveway, my car lost all power and began coasting, smoking was coming through the vents into the cabin.  I managed to get it into the grass, kill the power then open the trunk armed with my trusty fire extinguisher (who would have thought it would come in handy so quickly?) only to see that my battery holder had come loose and caused the positive terminal battery cable to weld itself to the side of the trunk.

An impromptu welding session

Woo! I didn't need that terminal anyway.

This bolt loved my car so much it didn't want to let go.

I ended up spending the other three hours at the track fixing my car with the help of The Driveway staff.  The total tally was one new battery cable, one set of battery terminal covers (bought and installed today), blue locktite, and one track session cut two laps short.  Well, at least I’ll have tomorrow to go get myself some track time in.

Now with battery terminal cover goodness

As for any lessons learned, etc.  Always blue locktite bolts and use battery terminal covers.  Oh, and get some tow hooks.

Putting the 911 on a weight loss program

Now that the 911 has its kill switch installed and is all sorted out and running, it is time to start adding lightness to the vehicle.  I’m first going for the free to cheap lightness adding methods.  I’ve already done some of it such as: going to a lightweight battery, stripping out the interior of the vehicle, backdating the heat, and removing the windshield washer reservoir.  However, it has come to lose some more weight off the car; but, I’m not going to remove the most obvious: the air conditioner.  I love my A/C — especially in the summer and especially while I still drive the car on the streets.

Of course, you ask, why would one want to reduce the weight of their vehicle?  There are lots of reasons for reducing weight on the 911 (and any other car).  First, the less weight you have to push around the track the faster you can accelerate and take corners.  It also makes other components in the car last longer like brakes, brake pads, and tires.  It can also help increase fuel economy, and finally, the best reason of all: a 10% reduction in weight is roughly equivalent to a 10% increase in horsepower.  The most common places to begin removing weight are from the unsprung items like brakes, wheels, trailing arms, etc.  Next comes weight from high up on the car (sunroof, etc).  After that, weight at the rear of the car, then weight from the front of the vehicle.

The cheap ones I am working on are: stereo system removal, remove of the rest of the windshield washer system, removal of the oil cooler fan in the front passenger side fender, and installation of headers (removal of the stock exhaust system).  With the exception of the headers, I don’t believe the other items will amount to a lot of weight saved initially; perhaps 10lbs to 15lbs total, but every bit helps.  The headers will knock a fair amount of weight off the vehicle since the stock exhaust parts are quite heavy and not exactly optimal for getting the most power out of the engine.

Once these easy ones are complete, then comes the harder and/or more expensive parts: replacing body panels with fiberglass or carbon fiber body panels.  At this point, it becomes a how much do you want to spend proposition.  The carbon fiber parts add about $300 over the price of the fiberglass part while weighing a pound or two lighter in most cases.  Replace the glass windows with Lexan is another place where weight can be lost but I’m not at that point yet.  Once the car is a full track vehicle, Lexan windows are in.  Removal of the sunroof and the associated electronics can drop a good 40lbs off of the top of the car, lowering the center of gravity.  Taking it a step further and replacing the steel roof with a carbon fiber or fiberglass roof can reduce the overhead weight even more.  Like I said, it becomes “how much do you want to spend to be lighter?” question.

For me, when this is all said and done, my end goal is to have the car weigh in at a maximum of 2400lbs with A/C and an empty gas tank.  As of right now my car weighs 2588lbs, so can I find an additional 188lbs to drop off the car while still maintaining an ability to drive the car on the street on the weekends?

Installation of the Kill Switch and heater backdate for the 911

This weekend I finished the install of the kill switch and the heater backdate for my 911.  When it was all said and done, the kill switch was made out to be a lot harder than it was since none of the instructions online seem to have been made for a car that wasn’t a purpose-built track car.  What I had to do was use the set of connections that was marked ignition switch and power to coil or ecu, I used for the fuel pump.  The picture below is how I wired up the kill switch.

The wire for the power to the fuel pump is located at the fuse panel in the trunk and is red with a green stripe (at least in the ’84 911). I removed it from the fuse and extended to the kill switch, then fed a wire back to the fuse from the kill switch.  The power wires that were connected to the battery all had to be modified.  I purchased a new batter cable 3/8″ ring terminal and used that to connect the wires to the kill switch power stud.  The smaller wires that were attached the battery, I did the same thing to except used a ring terminal that was meant for the higher gauge wires.

And since no one really explains how the kill switch works, I’ll give a quick run down.  When the switch is in the ‘on’ position there is power flowing from the battery to the electrical connection on the other side of the switch.  The set of spade terminals 2 make a circuit and the other set of terminals are an open circuit.  When the switch is turned to the ‘off’ position, power is cut from the battery, the terminals marked 2 become an open circuit and 1 makes a circuit.  The set of spade terminals 1 is called an Alternator protection circuit, so when the engine stops running the voltage won’t surge back into the alternator and fry it, instead it will go through the resistor to ground.  The circuit made with ‘2’ must be something that when power is cut, the engine will stop running.  I chose the fuel pump as stated earlier since all the wires were right there.  However, now that I think about it, I probably could have done the same thing with the ECU’s power cable.

The second project I took on this weekend was the backdating of the heater in the engine bay.  Earlier 911s lacked the large blower motor in the engine bay to push air over the heat exchangers to the cabin.  However, my heat has always been pretty crappy and I live in Texas.  Heat isn’t super important, but it is nice to have.  So the pluses outweighed the minuses in my mind and I decided to do it.  Removing the heater blower motor was a pretty simple job, but if you have large hands it could be kind of hard since the screws and nuts are in some awkward places.  Once the blower motor and the associated tubing are removed, the backdate heater duct can go on.  You’ll probably want a hammer or mallet to persuade the piece to fit around the distributor.

I installed the piece, saw where it was going to be interfering with the distributor and took a hammer to it to make it fit.  Once I did that a few times, I put it back into the engine bay, screwed and it in.  I think cut some high-temp silicon hose that was 2.5″ diameter and forced it over the output of the piece then rammed the other side of the tube into the input for the heat exchanger and clamped it down with the clamps on the heat exchanger input side.

A close-up of the finished product.

The full, somewhat cleaner looking engine bay

Now that all of this is complete, I’m beginning my week-long project of Liquid Wrenching the exhaust nuts in order to install the headers onto my vehicle in the coming week or two.

Another 911 part arrives..

A new part for my 911 has arrived: a left side heater duct for backdating the heating system on the 911 to the early 911 style.  Why is this important and why is it a good idea to backdate the heat?  First, backdating the heat makes it much easier to work in the engine compartment.  It removes a decent amount of plastic piping and removes a large blower motor that honestly gets in the way when you try and work on the engine.  Secondly, backdating the heating system is just cool (pun not intended) since we already have a large fan blowing air across the entire engine diverting a little bit to blow air through the heater boxes around the headers isn’t that big of a deal.  The heat will still get to the front of the car with no issues.  And lastly, it is all in my steps toward rebuilding my engine into something more spectacular than the 3.2L boxer six sitting back there now.

Left Side Heating Duct

I still need to purchase the high temperature silicone hose used to route the heater duct air to the heater boxes, but I didn’t want to purchase it until I had the part in hand and could confirm the size that I needed.  As luck would have it however, Pegasus Auto Racing Supplies is out of the hose when I really want to order it.  Maybe I’ll get lucky and Austin Performance has some in stock.

And, just before I was about to publish this post another thing I’d been waiting for showed up on my doorstep.

Yes, a bag from Simpson Racing.. what could be in this bag?  Could it be this?

Yes, my racing suit, in the flesh, so to speak.  However, after trying it on there is going to be no gaining weight in the wrong areas or it won’t fit at all.  But, now I’ve got all the racing gear I need sans a cool shirt — now I just need my car so I can get to rocking and rolling out on the track again.