Europeans Are Weird

So, the rest of my trip ended up being almost as exhausting as the flights out there. I ended up hitting England, Denmark, Sweden, Germany, the Netherlands, the Czech Republic, and Italy.

In 7 days.

Something that used to be a huge pain in the ass is all of the different currencies you would end up accumulating throughout a trip, because every country had their own currency. You would collect about 10 different kinds of Francs or Crowns or whatever. And no currency exchange will take coins.

So, I was looking forward to being able to just use Euros the entire time I was there. But what you'll notice is that more than half of those countries don't use the Euro. So, I still ended up accumulating tons of useless change, in the form of Danish Crowns, and Swedish Crowns, and Czech Crowns, etc. Christ.

I also thought that pretty much all of continental Europe used the same kind of electrical plugs. But as I found out, there are some parts of Europe that use a weird 3-prong plug that is totally incompatible with the usual 2-prong one. Get it together you weirdos! Don't you live for my convenience?

Labels:

Back from Europe

So, I'm back. I have been in Europe, on an extremely exhausting trip.

Things started going wrong right from the start. On Friday (March 16) there was terrible weather near Newark, so a ton of flights were diverted to Cleveland, where passengers promptly got stranded. My flight was originally slated to leave on Saturday (March 17) from Cleveland, but due to all of the stranded passengers, mine was cancelled. After a 3 hour wait in line at the airport, I was told that they could not put me on a flight for another three days. And cancelling just the outbound flights, and keeping the rest of the flights on the itinerary would cost an additional $3600...

So, I ended up cancelling all of my flights, and then rebooking them through Orbitz using the WiFi connection in the airport. Booking the tickets wasn't really a problem (other than being time-consuming). The problem was the not-so-great connections.

After having waited in the airport for 4 hours at that point, I had to rent a car, and drive to Detroit for the first leg of the flight. That was a non-stop out to London's Gatwick Airport. Then I had a three hour bus ride to London's Stansted Airport, where I picked up my connection to Copenhagen.

So, what should have been a relatively routine flight to Europe turned into a 34-hour travelling marathon...

Labels:

I'll Be Back

I'll be back in two weeks.

I have a lot of big things coming up, so I will be kept extra busy. I could have written a bunch of posts in advance, but I'm not even sure that I'm really going to have access to a computer over the next week or two. Hopefully, I'll generate lots of weblog post ideas in the meantime.

Due to the uncertainty of computer access, I may not be able to respond to emails in a timely manner. Do not take my lack of response personally. I might hate you, but I'd still respond to your email if I had the chance.

Old Computer Tech

On Adam's weblog [livejournal.com], I saw a link to an interesting post on Coding Horror [codinghorror.com]. It has pictures of one of Google's first custom built production servers.

I was very interested in seeing the pictures, because I'm a computer nerd. But also, I remembered reading lots of stories [baselinemag.com] about why Google would custom-build thousands of their own racks in the first place. Back in the day, data centers would charge customers by the square foot -- thinking that you could only put a certain number of computers in each square foot. But what Google's founders did was take cheap-assed commodity hardware, and built custom racks that could pack several times that number of computers in the same physical space. Genius.

Seeing all of those warped motherboards attached to corkboard reminds me the computer I used as my first "server" (although that is way too grandiose a term). I had an extra ATX motherboard, but the only extra case I had lying around was an AT desktop case. So, the motherboard just sat on the bottom of the case, not actually bolted to anything. And I had some paper lining the case to prevent shorts. *sigh*

Anyway, seeing that old hardware really brings me back. The post on Coding Horror also has a lot of good information. Check out the commentary on Dell, which I think is right on.

Labels:

Formula 1

I used to watch all kinds of spors - tennis, NHL, etc. But I don't have as much time as I used to. And a lot of sports aren't as exciting to watch due to rule changes made in the past few years (like in the NHL). I'm becoming one of those annoying people who talks about how a particular sport is past its golden age, and how it was so much better back in the day...

One of the sports that I still follow religiously is Formula One autoracing. I still love it. The season will get kicked off this weekend at the Australian Grand Prix. And I can't wait to see it.

It should be pretty exciting. All new cars. The two drivers who are generally regarded as being the best in the current field have both switched teams before the start of this season.

Plus, there are always the technological innovations that crop up even in the middle of the season. This season should be a great one to watch.

Cleveland Oasis Club

So, I used to run a pub crawl group called the Cleveland Oasis Club. I would organize a schedule of bars in one area of Cleveland to hit, talk to all of the bar owners, and then announce it to a huge group of people. And then on one Saturday night, 100-200 crazy people would descend on that area of town and totally crush all of the bars. The bar owners loved it, because they made tons of money. And the participants loved it, because it was just one crazy party.

But, as the sole organizer, I got burned out after running it for a few years (plus, I needed to finish my PhD, at some point). And I failed in my quest to find a successor. So, the whole thing kind of died.

This weekend, one of my friends who also used to hit all of the pub crawls talked to me about starting it up again. He wanted to try his hand at organizing it all. And I agreed, in principle, to help him out.

So, the whole thing might be coming back. Stay tuned. I think that the hardest part will be the first year. It'll take a bunch of pub crawls until the word gets out that it has started up again. And it'll take bunch of pub crawls to reach the critical mass of participants needed for the whole thing to be sustainable. Naturally, I am cautiously optimistic...

Secure Apt

The following post is really only for my reference -- so that I remember what the story is the next time I have this issue. But I'll include some backstory in case anyone else is curios as to what I am talking about.

In Linux, one easy way to install new software is to download a package -- which is a bundle that is in a standard format, which can put the files in the appropriate places, put shortcuts where you would expect them to go, etc. It's similar to downloading an .exe for Windows machines. One advantage to the whole package management thing is that all of the packages can generally be found at one (or a small number) of package mirrors. If you wanted a program that could organize your pictures and automatically upload them to Flickr [flickr.com], you could just go and search for all of the packages that are available, and then install the one you want. Your package manager will the install any library files or anything else that your new software is dependent on.

Another advantage is that when you want to look for updates for your software to fix bugs or security holes, you can update everything at once with the same system and very few commands. You would just have your package manager compare the versions of the software you have now with the versions of the software that reside on the package mirrors, and download the ones that are newer than the ones you already have.

Recently, when updating the package list in my installation of Debian Etch (testing) [debian.org], I have been receiving errors about not being able to verify the signatures of some of the packages I have wanted to update.
# apt-get update
W: GPG error: http://security.debian.org etch/updates Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A70DAF536070D3A1
Here is how to manually add the appropriate key to the Advanced Packaging Tool's (apt's) list of verified keys... First retrieve the appropriate key from a keyserver (the key ID is listed in the error) and add it to your own keyring:
$ gpg --keyserver pgpkeys.mit.edu --recv-key A70DAF536070D3A1
I'm not a sudoer on my own machine, so transferring the key between keyrings ends up being a two part process. First, export the key from my keyring into an armored ASCII file:
$ gpg -a --export A70DAF536070D3A1 > A70DAF536070D3A1.asc
Then log in as a root user, and add the key to apt's list.
# apt-key add A70DAF536070D3A1.asc

Labels:

Autocross

So, I used to participate in an amateur form of auto-racing called Autocross [wikipedia.org]. It's a grassroots form of racing that is very safe - the speeds are kept relatively low, there is virtually nothing to crash into, and appropriate safety equipment is used. I stopped autocrossing two years ago for a number of reasons. Two of those reasons were money and time, but there are plenty of others.

Recently, I was contacted by an autocross friend that I haven't seen in a while, who apparently is going to be autocrossing a Porsche Boxster this year. And talking with him about the "good old days" when we used to race against each other reminded me how much fun I used to have.

So, I have started thinking about what it would take to get back into autocrossing in 2008. It is definitely not a definite that I will start racing again. I'm just thinking about it. And *if* I decide to get back into it, the earliest I would be looking at buying a car would be the end of this summer. So, I'm just thinking out loud right now, and it might not amount to anything.

But, if I was going to buy something, it would be for a Stock class, where you aren't really allowed to make any modifications to the car (my last autocross car was not in a Stock class, and Heimlich HATED how stiff the ride was from the modifications). If I buy anything, it will have to be my daily driver. I drive 30k miles/year, so it will have to be relatively comfortable to drive over long distances, and have such luxuries as cruise control. It will also likely be my only car, so it'll have to get me to work in a snowstorm (which makes me hesitant about anything RWD). Finally, you can't drive to an autocross event on race tires. So, it would be ideal if the car were big enough to carry another set of tires.

So, here's a short list of the cars that are competitive in stock classes:
ClassMost-CompetitiveOther Possibilities
Super StockCorvette Z06, Lotus Elise, Porsche 911 GT3
A StockHonda S2000, Porsche Boxster, Porsche 993, C4 CorvetteSubaru WRX STi
B StockMazda RX-8Nissan 350Z, BMW E30 M3, BMW E36 M3
C Stock'99 Mazda Miata Sport, Pontiac SolsticeToyota MR2 Spyder
D StockAcura Integra Type R, BMW 330 ZHPLexus IS300, Dodge SRT-4 ACR, Volkswagen R32
E Stock'94-'97 Mazda Miata, '93 Toyota MR2 (non-turbo)
G StockMini Cooper S
H StockMini Cooper
I should mention that many people will probably disagree with me on some of the above table, because it represents my opinion. Also, all cars in Super Stock (and most in A Stock) are WAAAAY out of my price range.

Labels:

Canon S2 IS

A little over a year and a half ago, I bought a Canon S2 IS digital camera [imaging-resource.com].

Generally, I have been very happy with the camera. It has a 12x optical zoom, along with image stabilization, which is necessary with that kind of zoom. And I use both all of the time.

One of the problems that crops up every once in a while (like it did when I was taking pictures of my fish for Monday's post), is that it is very difficult to use the camera to shoot close up. In autofocus mode, the camera just won't focus properly (the lens is capable of focusing, but the camera doesn't adjust it properly). And it is very difficult to manually focus the lens on a screen that small (at least, not quickly).

Actually, when I shot the pictures for my review of the Archos 504, I set up the target at one end of the room, and put the camera on a tripod on the other end of the room. And then I used the ridiculous zoom capability of the camera to get those close-up views. It's not really practical, unless you know the subject will be stationary for a long time.

Now, I am debating about buying a macro lens [amazon.com] (along with the lens adapter [amazon.com] that I'll need to mount it). Not easily being able to shoot close up has prevented me from participating in a few photography projects over the past year. It has also stopped me from setting up my own home macro stage, which is something that I've always wanted to do.

I'm still thinking about it, because it would be a relatively expensive purchase. But I think that I'll have this camera for a few more years, so I think I'd get my money's worth out of it.

Labels:

Random File Copy, Part 2

Last week, I posted about how I wanted to figure out how to automate the process of being able to select a few random files from a directory and copy them someplace else.

First off, thank you to everyone who responded. I received a lot of good suggestions, which I am now trying to utilize. We'll see what I end up with. I also got emails from people that I didn't know were reading this. So, that was fun. People actually read this?

Almost everyone that emailed me had the same question - generally variants of:
"What kind of weird crap are you up to, where you would have the need to frequently copy files, but don't care which ones they are? Are you some sort of sick, sick, sicko, or is this just another one of your weird projects, where you try do weird crap for the sake of being weird or difficult?"
Anyway, the answer is, that I want to automate the process of synchronizing my Personal Media Player (PMP). I'm starting to get to the point where my music collection exceeds the capacity of my new player. So, I would like to have an automated process for deleting a portion of the music on the PMP, and then select songs at random to replace those.

That's it. There's nothing weird going on. And having to use Matlab to synchronize my PMP seemed excessively nerdy.

Labels:

Baby Fish

Almost every weekend, I perform a 15% water change in my 55 gallon aquarium (which is part of any normal maintenance cycle). To perform a good water change, you would typically move the tank decorations around so that you can clean the gravel.

A few weekends ago when I was moving all of the crap around, I thought that I saw a baby fish in the tank. But I only saw it for an instant, so it could have easily been something else (parasites?) or a figment of my imagination. There are a lot of large rocks and clay pots in my aquarium, so that the fish have places to hide (which allows them to feel safer, and reduces their stress level). As a result, there really was no way to determine if I saw anything, or what it was that I saw.

Over the past two weeks, Heimlich and I have spotted the baby fish multiple times. We've discovered that I was right (it was a baby fish), and that there are more than one. In that time, they have steadily grown larger, and we have been able to determine that the babies are "panda cory cats" [aquahobby.com], which are one of the kinds of catfish that I have in my aquarium. One of the larger ones actually paused out in the open long enough for me to get a picture of it:


It's resting up against the side of the aquarium, which is why there is a reflection on the left side. I know that it's really hard to see, but I was lucky to get any pictures of it at all. It's less than 1 cm long, and you can kind of get an indication of its size by comparing it to the gravel. Here's a picture of one of the larger fish (~12cm long) in my aquarium, for comparison:


I know that it would have been better if I could have gotten a picture of one of the adult cory cats, but they hide every time I get near the tank. And when they do come out, they are constantly in motion; getting a good picture of one without using a flash is impossible.

Anyway, the good news is that the conditions in my aquarium are so good that my fish are breeding. The bad news is that the smaller babies are almost impossible to spot, so I have to be much more careful when performing mainentance.

Labels:

Random File Copy

I am going to describe a problem that I am trying to solve. If you have a solution that you can suggest to me, please email me.

Let's say that I have a bunch of files (say, 100 or 1000) in a directory. And I want to copy a few (say 10) of those to another directory. But I want to have those 10 chosen at random. And I want to be able to perform this action frequently in Windows, so I want it to be automated.

Does anyone have a suggestion for how to do this? All of the "programming" I have been doing recently has been in Matlab. And I think I have an idea for how to perform this action in a script using Matlab (although I'm not exactly sure). But I don't want to have to fire up Matlab all of the time just to copy a bunch of files. Right now, that's my plan B. One advantage to using Matlab is that I could use one command and get a list of all of the files in the directory (eliminating half the work):
listoffiles = dir('c:\temp');
I tried to figure out how to implement this in a .bat file, but I quickly became confused with .bat file programming.

I could also break out my C/C++ books and figure out how to write this function. One advantage to using C is that I could compile the program into an .exe. Then I could execute the .exe without having to load a huge thing into memory (unlike Matlab).

Anyone have any ideas?

Labels: