Wednesday, March 24, 2010

Michael will be returning home soon. I'm sure everyone is as excited as I am. It will be great to have him back in the US, now I just have to hope that he decides to stay in Atlanta. I know much of that decision will be based on a job, which can take you anywhere in this shitty economy. Not to mention the desire to work with the Japanese on some level, which will surely pull him to the West Coast.

Life has gotten busier and busier as Baby A gets closer to delivery. We're pretty much done with the nursery, aside from moving in a small twin bed and replacing a book shelf. This is definitely the home stretch until the deliver, which will be its own crazy event.

I haven't been able to work on projects as much as I would like since coaching has been taking much of my time. We are perennially rained out of our own park so we have to drive to the airport to use the Georgia Soccer Park. It has been a huge hassle that eats up an evening.

My gaming has become sparse and inconsistent. I finished doing EVERYTHING Fallout 3 has to offer, so I have moved on to Mass Effect. It has been a great experience for the 2 hours I have put in. The combat mechanics are weak, but I'm playing it for the RPG aspects and the good story/cinematography. The problem I have with the game is that I can't play it while I am listening to something else, or when Chowning is asleep because the dialog is do important. This has left me wanting a game where I can just shoot things and be done with it. I've also been on a kick of trying to get the most out of the games that I have, so I've been avoiding purchases like Batman: Arkham Asylum, Darksiders and Bioshock 2. Fortunately I have a copy of Bioshock coming in the mail. Since I have been avoiding purchases it means I'm trying to go through and get every achievement for what I've got. So I ordered Bioshock through Goozex to go after the one achievement I am missing. I wasn't a complete idiot, though, and ordered the copy that has Elder Scrolls attached to it. That should hold me off for a while.

Matt will be done with school soon (finally). That means he has to get a job. While Jeremy and he are looking into re-invigorating PlayMotion, there are other things he is looking into. I suspect those other endeavors will take him to the Left Coast. We'll see what happens.

Oh, and fuck Chuka.

Wednesday, February 24, 2010

I'm going to start working with the .datalogger class this weekend. I've found time in my projects to get back to the PID balancer that is in my book. The settings were bad last time I tried, so I am going to give it another go and want a decent way to tune the variables. I could just putz around with them and eventually find the results, but I'd rather use the data logger to track the error signal and the output and see where we go from there. That way I can get a better handle on what is going wrong.

Aside from that the projects are going well. I'm going to start working with the Navigation class that allows you to use commands like .goto(x,y) to navigate a path. I'm not sure what I am going to do with that, and I have yet to figure out how I want to use that my course (unless I wait until next year, but where is the fun in that?). The topics I have left are circuits, magnetism and optics. Unless I find something to do with a vision camera, I don't know how I am going to fit the NXT in there to do anything more than my LabQuest can do. But when I get to mechanics again next year I think I will be well prepared to use the NXT a ton.

Thursday, February 18, 2010

Well, the DC power supply works, but is a bit faulty. I guess a duty cycle of 10 ms isn't fast enough to avoid small fluctuations in the multimeter reading. Also, when the the duty cycle is set to full bore it still doesn't get more than 5.5V out despite having 7.2V in the batteries. But whatever, I've got a 10 step (did I mention they weren't equal steps) DC power supply which is more options than I have with swapping battery packs.

The big success is finally getting Lego Digital Design to work properly. It took me a while, and I had to learn some techniques for getting around odd quirks of the program, but I was able to build my oscillator out of it. This is pretty handy since I am going to have to take those oscillators apart soon to continue on the PID controlled balance bot.

The most amazing thing about LDD is the instructions mode. Click on the button and it goes through and creates an .html file that will allow you to recreate your device. I'm sure this is not big news to Jeremy, but I find it awesome that they create a new build pattern based on what you have actually built in the model. It is pretty sweet.

Speaking of sweet . . . and sour. With the new release of Mass Effect 2 it seemed like a good time to go back and play Mass Effect (1) for the first time. I'm not in very far, but I am most impressed with the cinematic quality of the dialogue and camera work. I haven't gotten too in depth with the action parts of the game, but it has been really fun working through the dialogue trees. The way the system works is that you select where you want to try to push the conversation, and rather than everything changing immediately the selection you made just works its way into conversation. Meanwhile I'm also working my way through a second run-through of Fallout 3. This time I am evil melee fighter and am trying to pick up some of the last eight achievements left in the game. It has been pretty fun so far, but I'm having a very hard time going around being a dick all of the time. We'll see if this gets better.

Friday, February 12, 2010

I'm well past the point of being able to construct an oscillator out of an RCX in time for my lab. Just as well since the time to finish the lab is going faster than I thought. So that leaves me with a question of what the hell I'm going to do with the progress I've made (both with the NXT and the RCX). The utility of the NXT is in its sensors and it's mobility. While I have the interface to make it record things with Vernier sensors, I also have the LabQuests, which offer more options for analysis and less hassle to get data from. The NXT sensors are kind of crappy, aside from a compass and a sound intensity meter. The SIM might be useful, especially on a mobile device, to find hotspots and cold spots in a room. Maybe I can make a lab where you find the hot and cold spots?

The RCX looks like it will have more utility than I originally thought. The connectors are really easy to attach to alligator clips, and if I keep the PWM frequency high enough I can try to use it as a variable DC output for electricity labs. Still, programming it is proving to be more difficult due to lack of documentation and similarities/differences from the later versions of leJOS. Right now I'm trying to figure out how to use Sensor Listeners and while I can get one example to work it is still in the "magic" range of things where I can't dissect it and put it back together again.


Wednesday, February 10, 2010

and Failure!! Well, not exactly. My original NXT project has worked beautifully and my lab is going off without a hitch . . . at least for those 2 setups. I was hoping that with the same amount of work I could get it running on an RCX. I didn't really think through the project much as I was on deadline for the lab. After spending a lot of time figuring out how to get leJOS on the RCX, and getting the IR Tower to work correctly I ran into a brick wall. That brick wall was in a method called .setPower(). The problem wasn't that there didn't exist a .setSpeed(), I was ready for that since the RCX motors don't have a tachometer built in. That's why I bought a rotation sensor. The problem was that .setPower() only operates on a range from 0-7 unlike .setSpeed() which works from 0-900 deg/sec. The power setting isn't even a linear relationship. After a lot of digging through different languages I couldn't find one that would give me the resolution that I'm looking for, so I'm left with creating my own Pulse Width Modulator. The RCX uses PWM already, but it is over an 8msec interval (thus the 0-7) power setting. I'll have to extend the width in order to make this work, and control the pulse manually. This means that the number of msec that I make the width is equal to my resolution for frequency control (which I still have to calculate and have indirect control of). But the wider I make the width the more difficult the problem becomes. If the width is too long then I can't just have the motor run hot for the duration and cold for the rest. If I want a duty cycle of 2% for a 100msec cycle then I should ideally run hot for 1msec, cold for 49msec then repeat. But that requires a more complicated algorithm that figures out the number of times to run hot for 1msec. It's not that I can't do it . . . it isn't going to be that difficult . . . but I'd rather just leave it as an easy "hot for x, cold for 100-x" system. Anyway, due to these problems I have bought one more NXT brick and will probably buy a new kit next year. Bummer, but at least I'm learning things.


Friday, February 05, 2010

Success!!! My oscillator and program both work, and with a string at least 1m in length I can create the first few standing waves. All that means that I can go forward with the lab that I have. As always there is a catch and right now the catch is that I only have 2 working NXT bricks. I do have 2 RCX Bricks, but I haven't gone through the process of setting up leJOS for the RCX. I also would have to build a completely difference oscillator and Lego Digital Design doesn't seem to have the RCX parts built into the library. Maybe I'll have to go back to learning Bricksmith in order to make it work. Unfortunately I don't have any RCX bricks here at home and I don't know if I would want to try to get another version of leJOS running on my version of Eclipse. As it stands right now the law isn't going to be until Tuesday, so that gives me one day to figure all of this stuff out with the RCX or just bag the idea and only have 2 stations for my 4 groups. Whatever, I'll figure it out.

Oh, and I greatly improved upon the oscillator design. I currently has no idler gears and is easier to turn.


Tuesday, February 02, 2010

I have had a certain amount of success building my Oscillator. Here's a picture. It is way too big, and needs lots of optimization. I have something like 3 idler gears in there for spacing, and I'm sure I can improve on that when I get to the next model. The whole size of the thing is too large and piece heavy. There is also an awkward height between the bottom support and the middle support (6 holes). While I will definitely improve upon the design the bulk is handy because when it gets going this thing walks a lot.

But the best part is that I added some basic code to the ButtonMath program I had before so that the motor is directly controlled by the buttons on the NXT. After adding a display showing the speed (or at least the speed setting) I now have a frequency controller that can alter the frequency of the oscillator. It still doesn't get high frequencies. The motor does even make it past 900 deg/s (and that is at full battery) and the gearing is 25:1. So at best I can make it up to 62.5 Hz. The next step is to find an elastic string and the right length/tension so that I can get a fundamental frequency in the 12.5 range so that I can see multiple standing waves.

I figured I would post the code just in case I forget how to code it at some point. It is poorly commented . . . but that is because I am a bad programmer.

//This program is designed to directly control the speed of the motor using buttons
//to set the variable MOTORSP. Pressing right adds 1 to the motor speed, pressing
//left subtracts one and pressing enter adds ten. Each time the screen rewrites
//the motor speed.
import lejos.nxt.Button;
import lejos.nxt.ButtonListener;
import lejos.nxt.LCD;
import lejos.nxt.Motor;

public class MotorControl {
static int MOTORSP = 100;
public static void main(String[] args) throws Exception {
LCD.drawInt(MOTORSP, 3, 7);
Button.RIGHT.addButtonListener(new ButtonListener() {
public void buttonPressed(Button b) {
LCD.drawString("Motor Speed", 3, 6);
LCD.drawInt(MOTORSP, 3, 7);
public void buttonReleased(Button b){
Button.LEFT.addButtonListener(new ButtonListener() {
public void buttonPressed(Button b) {
LCD.drawString("Motor Speed", 3, 6);
LCD.drawInt(MOTORSP, 3, 7);
public void buttonReleased(Button b){
Button.ENTER.addButtonListener(new ButtonListener() {
public void buttonPressed(Button b) {
MOTORSP += 10;
LCD.drawString("Motor Speed", 3, 6);
LCD.drawInt(MOTORSP, 3, 7);
public void buttonReleased(Button b){


Saturday, January 30, 2010

I've been "working" with LEGO Mindstorms for a while now. The biggest struggle is my poor programming skills. The interface hasn't really helped much. Moving from crappy LabVew style block interfaces to variants of c++. I finally made some "progress" when they got leJOS up and running on OS X. Sure, I guess I could have run it's older Unix counterpart on my Mac . . . but I don't know how. So I've been going through a book that is teaching me how to use Java and it's offshoot leJOS. There have been many things that I have learning, but two things stand out the most.

First, version updates suck because they make the examples you have not quite useless but not quite helpful. I've learned the value of sifting through class lists so that I can figure out what has been depreciated and what hasn't. I've learned that finding examples of code online is great . . . until you realize that code requires a class implementation that you didn't include and don't have. All of these things are well known by real programmers and until recently not by me.

Second, after taking a few months off as I was working on other projects I've realized that without formal eduction it is really easy for me to forget things. As a result I need to make sure that I grow from "lesson" to lesson by at least partially reflecting. So that is what I am going to do with this space. I doubt anyone is still reading, and since I have the space to myself I'm going to reflect on what I have learned in hopes of cementing what paltry advances I make.

1/30/10: I've taken to building an oscillator to replace the "wiggler" we had in Cobb Co. It need to be able to oscillate a string at a variable frequency so that students can create standing waves. I built a wiggler out of Mindstorm pieces and now have to figure out how to control it. There is a direct control mechanism that runs from Terminal, but it only works in "Power" settings through a slide bar. I need to be able to figure out what angular speed the motor rotates at for difference power settings. The trick is that it is under an unknown load so I can't just use the standard graphs online. So I have to find a way to track the angular displacement of the motor as it goes through motion at different settings. That means I need to have a way to record the tachometer and write it to a file. TachoCount gets me the reading I need, but writing a file it tougher than I thought. I struggled through some built in DataLogger classes and eventually found a class online that does what I want it to do and I can figure out how to manipulate the code for. It still has a drawback of the number of data points, but I may be able to improve that with time (or not?).

Once that works I realize that the motor speeds indicated on the standard graphs are going to be roughly true, which is bad because they peak out at less than 3 revolutions per second. So I'm going to have to gear the living daylights out of this assembly if I am going to be able to vary the frequency of the oscillator over even the most trivial range (0-50). As it stands now I can gear it up to 1:20, which will accomplish my needs as long as I can control the motor.

Controlling the motor was frustrating. I wrote a bunch of code that was suppose to increase the motor power incrementally (before I collected the data) but it failed because there is an obvious difference between .setPower() and .forward(). Even after I figured that out it seemed like the .setPower() method wasn't doing anything . . . because it wasn't. Apparently the motors have a speed regulator that has to be disabled by setting .regulateSpeed(false). I can now control the motor, and get a graph telling me what power setting equals what RPM. There is a .setSpeed() rating, but not on the direct control.

Which is why the last project because getting direct control from a program other than NXJControl. That would mean having a button response (or something else). I know that you can create button listeners, but the book I have doesn't talk about it much. I spend a lot of time looking for it online and find nothing until I see a small section of code that tells me how to create listeners. So I decide to create a stupid math program where right= +1, left= -1 and enter= +10. I get moving and get an error when I tell it to increment the variable SCORE. I spent a lot of time trying to figure out how to pass and return a variable to a listener before I realize that one option is to make SCORE a static int (which basically makes it global to the whole class so any object/method can alter it). With that done (and on my first upload) I get my math program up and running on the NXT and it works.

I guess the next step is to write a program where you press the buttons to increase the variable put into .setSpeed(). That way one NXT can directly control one motor and get it to move through the whole frequency range. Then I have to find a string that will have a fundamental frequency in the teens to we can get at least 3 standing waves out of it.


Tuesday, January 19, 2010

Welcome back to the future (Nov. 5 1950 style). We have now arrived in a new decade, and plenty of new shit has started happening. Playmotion has gone through turbulent times and seems to currently only have Jeremy as an employee. They are currently restructuring their business model. Jeremy can tell you more about it. Jason's wedding has been called off and he and Maggie are no longer together. On the up side, Jason is around more and is spending time (?) with a nice girl named Vanessa. Mark's been trying to find work, and I think he has a good prospect with Friend of the Fort Dan Campbell. Mike and Amy are due back in the states either in March or April. Perhaps the biggest news (at least on my end) is that Chowning is expecting in the end of May. It is a shocking event (that we had been planning for) that has changed every aspect of our lives. I spent last weekend building a crib and changing table. We as a collective have renewed our trivia goings under Jeremy's watchful eye. I can't make it as much as I like, but I think some brand of our posse has been at trivia every week (that it has happened) for the past few months. Winter is here, so winter conditioning is here and my abs are sore. We celebrated a fun New Year at Matt and Roxanne's and hopefully we will use this new year as an opportunity to post more.

Jeremy and I made a LEGO movie . . . here it is. We will hopefully make more movies as time allows. Carry on.

Thursday, September 24, 2009

School has been underway for over a month now, and I am certainly feeling the lack of time. Year 2 is always better than Year 1, and that has held true. My planning has been effective, my labs work, and creating/grading assignments has gone well. Unfortunately I still don't have as much time as I'd like due to the Ultimate season and the fact that my Dad is crazy. Yes, my Dad is more crazy than before, or at least has decided to drink his way out of crazy, which never works. There have been multiple days that I have gotten calls in the middle of the night. The most recent one was to tell me the weather was bad (@ 5:30 am) which came after a call to tell me he found his cane (@ 2:00 am). This has been pretty stressful for me, as well as Chowning. Things seem to be getting "better" but that has happened before only to see things crash in front of me. I find myself nervous that the phone will ring during the night (which is often the score of the Braves game) and struggling with the idea that my Dad can't really take care of himself (apparently) but I can't really force him to do anything either.

I managed to weather the monsoon of '09 (we'll place that right next to the Electrical Storm and the Blizzard). I did learn that the exterior of my car apparently has a sealant leak . . . at least when it is confronted with that much rain. Seeing all of the news about roads being completely wiped away has been scary and riveting at the same time. These events, juxtaposed with the UN Assembly to talk about climate issues have led to me think that we're all fucked at some point. I'll do what I can until then (I guess I can cut down on my driving even more? . . . and I'll stop burning leaves in the backyard with gasoline), but the world is going to keep on changing in drastic ways. But these are the moments that we are supposed to rise up as people and resolve some fucking issues, right? If that is the case then problem number 1 in my mind is population control. 6.5 Billion people is a lot, and I'm not blaming any of you for causing this mess (except Jeff and Daron?), but we're all dealing with the 8 mouths Jon and Kate have brought into the world.

Video games have been great. I had one of the best birthdays I can remember this year. We got people together for a great dinner at Two Urban Licks, and Chowning gave me a number of presents that I really enjoy. Amongst them is a DSi, which will be better down the road when the DSiWare gets better, and a joystick so I can finally buy and play Street Fighter 4 (although I hear a Championship Edition is coming out soon). It was great to see everyone, and it is nice that similar events have been happening more. Jeremy has championed trivia again, and has been leading a rotating cast to occasional victory at Vortex on Mondays. Also with Chowning out of town I managed to have a game night, which hadn't happened in a while. All of these events leave me really happy that we find a way to spend time together, even if it is separated by months at times.

In one day I will be involved in the Junior Class Lock-in here at Paideia. It is a bad idea for me because I have an important Ultimate game the next day, but they give me a day ahead of schedule to sleep, and an event of that length is long enough to play a full game of Axis. It's been a while, but that game is awesome. I'll let you know how that goes, or if I get these kids to play some other games. I may just try to find a corner and sleep, but I imagine the administration would frown on that.

Friday, September 11, 2009

If I take the last train to Clarkston, will Mark meet me at the station?

Sunday, August 09, 2009

I've been reading a manga lately. And I've been reading it too much. Its a manga by the same guy that did a handful of classic mangas. One is about a robot boy who wants to feel human emotions (I think that might be Astroboy. I only know the Japanese title). Another is BlackJack. Which is about a renegade doctor who doesnt play by anyone else's rules but his own.

But the one I'm reading is based on the life of the Buddha. I say based on because I'm kind of familiar with the traditional story, and the story in the manga seems way more dramatic. But as it is supposed to be entertainment, that is naturally to be expected. It also has lots of characters being weaved in and out of the story. So the story doesnt completely focus on just the Buddha, it also tells various characters back stories etc. But I have no idea which characters are actually part of the original story and which are there for plot devices.

At any rate, true to tradition or not, I'm enjoying reading it. Its split into 12 volumes, about 250 pages a piece. I'll say its standard manga size, but no one is going to know what that means. I can read one of the volumes in about 2 days. I would say I understand about 80% of everything, considering its a comic book so theres lots of action in the pictures to draw context from. Theres always kanji I dont know how to pronounce, but I'd say I figure all the ones out that are used repeatedly. The hard part is that since its a manga, a lot of effort went into writing the dialogue in the way that people talk. So theres lots of contractions and shortcuts and what not that are naturally in languages, and sometimes they can change the meaning of what somebody says, without me noticing it. For a few frames anyway. Then I have to go back and figure out where I mixed up who was supposed to be doing the killing and who was supposed to be doing the dieing etc.

Wednesday, July 22, 2009

I have been watching a ton of documentaries. Most of them have been about the media, suburbia, or the war in Iraq. Currently I am watching a man who has been partially paralyzed talk about the various options out there for his current erectile dysfunction. His fiance also chimes in on how the option of a pump is tough because he already has to wear a catheter (sp?) which requires adhesive that can aggravate the skin on his penis. Heavy shit. I told Chowning that were I a person prone to crying or depression watching hours after hours of documentaries would really bum me out. One thing that I think about as I watch this documentary about a war-vet is how much did we rate the well being of the Iraqi people above the well being of our own soldiers. It just seems like the justifications I am hearing from a lot of politicians and aides in my documentaries is "that wouldn't serve to help the Iraqi people."

Instead it has given me an idea to have a sort of Documentary Club at Paideia. I love watching documentaries, especially economic or political (there was a great one about the campaign of a local person in Missouri trying to run as a third party candidate) and whether you agree with them or not, they tend to spark good conversation. Especially for the politically charged students at Paideia. I wonder what they will have to say if I show them a documentary that shows the Iraq war from a pro-bush angle.

Angles are always so interesting. I credit the Daily Show for my current view on angled media (which the Daily Show certainly is). Once you accept that there is an angle, it almost becomes a comedy to watch how that angle will affect the facts that may come out of the media. The nice thing about the Daily Show is its completely overt angle.

Other things are going well. I think I already wrote about how the VW is working again. That's great. Chowning has made some great stuff from dinner. I am blessed with a great wife.

On the video game front I have been moving through the Fallout 3 DLC. It has all been pretty good, and has really added to the life of the game. I have also been playing Okami for the Wii. I never played it on the PS2. It is an absolutely beautiful game with a very japanese style. There is a lot of talking, and very hokey talking at that. It is mildly funny, and plays well with the Wii remote. I'm only a few hours into it, but I am absolutely going to finish it. That is more than I can say for my other two projects over the summer; Bully and Gun. Bully is good, but I haven't gone back to it in a while. There are some podcasts about it that I listened to (it was part of a game club), but it is a lot to digest. Gun just seems like an old attempt at a 3rd person shooter. I guess it is o.k. because it has a western feel, but the mechanics didn't grab me. In video games if the mechanics can't grab you it is like a book being written in a voice you don't like.

I'm hoping to find a copy of Tiger Woods 10 with Wii motion plus. It is said that the Wii motion plus works very well with the game, but I can't find it in any stores. Soon I will look towards the black market and sell crack on the corner to fund my purchase. Or I'll look at Amazon.

Wednesday, July 15, 2009

I have now been back in the States for 2 weeks. Having adjusted from jet lag and vowed to never fly overseas again I am left to get shit done around the house.

I've been pretty pro-active about checking things off of the list. First was getting the back door lock replaced, and that was a simple phone call. Second was replacing the thermostat with a programmable one. Mike did this back at the Robot Factory, and I wasn't involved at all. I just left it up to him and this EE magic to make the electrons move through the right pipes. I did a little research online to find some good programmable thermostats, then I buy one and head back to replace it.

First step is to shut off the power to the unit, but I couldn't find the switch and I couldn't find the circuit breaker to cut the power . . . so I was dealing with "live" wires. Disabling the existing thermostat was easy, and I labeled the wires to make installation easier. But as I was looking through the manual I read the number of wires and notice that while there are instructions for 2-5 wire setups, we have 6 wires. After some research the extra wire isn't just a dummy wire, it is part of the heat pump. So I call Honeywell and they tell me that I need to get a different model thermostat. That's why I kept the receipt, so I head back to Lowe's and get the correct model. Unfortunately the new model is 40 dollars more expensive. Whatever, I get back and start wiring and find out that there is a jumper missing. Check the back . . . nothing there. I thought about going back to the store to return it, but I read the contents, and it doesn't list a jumper at all . . . despite mentioning the necessity of a jumper in the circuit. For a second I thought I could be cool, strip a wire off of the old thermostat and use it as a jumper, but it turns out that was a bust since the wire wasn't big enough to be held by the placement screws. A short drive to Radio Shack to buy a spool of 18-gauge wire and the thermostat is working.

Next on the list is the daunting task of getting the VW up and running again. The car has been practically stationary for the past 2-3 years, and now when I drive it the car doesn't accelerate right. So aside from it being illegal to drive, the car doesn't drive well anyway. I drive the car with a "tag stolen" sign on the back up to Marietta to the dealer just before the weekend. Get back on Monday and the dealer tells me that they will have to replace the whole clutch-flywheel-bearing assembly for a "reasonable" price of $2000. Well that sucks. Thanks to help from Chowning (and her co-workers) I find a place called Karma VW that will do the work for only $1100. Now I have to employ Jeremy to get me up to the VW dealer, then tail me in my illegal car as I drive from Marietta to Avondale and leave my car with another dealer. Things go well there, and they describe my clutch as "exploded" and give me back a car that drives well . . . but is still illegal. Next step is insurance and DMV. Insurance is no problem, but the DMV is a bitch as always. I drive down there (in the Prelude) and go talk to the DMV people. They say that I will have to pay back taxes on my car . . . the one I haven't been driving for 2 years . . . that will amount to $250. Add in the registration and this years taxes and we are looking at $509 to get the car nice and legal again. The 9 dollars is important because the DMV wont run a credit card, so you have to go to the ATMS in the building. But our account has a limit of $500, so I have to draw from 2 different accounts to get the money to get my tags to put on my car. But it is all done, and the car is legal just in time to realize the radio stopped working!!! What the fuck!!! So I do research online and it couldn't be more difficult to replace a VW radio (double din). First, the Monsoon set up I have is great; second, Karma doesn't do audio so I'll have to find a new place or go back to the dealer. I spend a day thinking about it and trying to come up with a limit that I am willing to spend (after spending almost $2000 on this car already). Just for kicks I call Karma and the guy there tells me to try pulling out and resetting the fuse. Lo and behold it works, and I'm saved another few hundred to fix the radio.

Finally, the VW is back running and legal. It still lives under a tarp in the basement most of its time, but it will soon be my primary car again. I took it to Cactus to give it a nice clean, so it looks "great" despite the dent and scrape. There are still things to accomplish on my summer list, one of which is selling the Prelude to a junk dealer for cash to try to offset the cost of fixing the VW. I've been playing video games, I swear. And I have also been trying to continue my japanese learning with Mike's help.