Tuesday, June 23, 2009

Adventures In Geotagging

I like taking pictures. I also like maps. Combine those two things and my love of all things geeky, and you have Geotagging.

I got a new (to me) camera from a friend of mine at work. Its a Nikon D70 and it came with a lens and some random accessories (Memory card, extra battery, etc) for $400. I got it from him on monday, and I've been playing with it the last two evenings.

Tonight, after going and buying a nice backpack-style case (the holster case I had was too small to hold the camera and any accessories) I decided to take a talk at the crossings (which is also the place I go to fly my plane) and take some pictures. Then, to add to the fun, I decided to try and get some sweet Geotagging going.

So I started up 'My Tracks' (A GPS logging app written by Google that can export to GPX) on my Android cellphone (which is GPS equipped) and set off to take some pictures.

After a while of walking around I managed to get some pictures (lambroghini!) and since it was getting dark I decided to go home and try to geotag them. Easy right?

I grabbed GPicSync after a bit of internet searching and set to work. Of course, things never work the first try, and I got a 'missing DLL' error when trying to start the program (why can't Open-Source people ever install apps on windows correctly?). After grabbing the DLL from the internets and cramming it into the install directory, it seems to start correctly.

After taking turns using my Mini-USB jack to copy the pictures from the camera and the GPX file from the phone, I was ready to set off...

Of course, nothing goes right the first time. The program was unable to synchonize any of the times, and so it just made copies of the originals. Yeay... So I look at the GPX file in notepad, looks like all the times are in UTC GMT (I'm pretty sure the pictures weren't taken at 11:59 pm), so I've got to set the UTC different right. I think I'm at -5h from GMT, so that should do me. (WHY can't the program check what Timezone you are in? Seems easy enough)..

So it seems to do something, and I start to get hopefull. Time to download google earth and try out that 'View in Google Earth' button staring me in the face... Looks like all the pictures are a bit off, but close.

So it seems the problem is two-fold. I'm not at -5h from GMT, I'm at -6. Good thing the camera is set to be an hour fast. So its no big deal. The problem is that the camera is also 5m and 52s off, which is enough to put the pictures in all the wrong places.

So I grab a program (after more searching) that lets me edit the EXIF timestamps for the pictures in one fell swoop (its a command-line program called jHead) and after a quick:
jhead -ta+1:05:52 *.jpg
I'm back to GPicSync to test it again (with the correct -4h in the UTC Offset field this time)... SUCCESS! The pics all line up in Google Earth and everything is awesome looking.

Next time it'll be much easier (I Hope).

You can see the the path I took here. I'll post the photos on my Flickr account and they should be all geotagged up if you're interested.

View Picture Test in a larger map

Update: I found what looks like a MUCH nicer program called 'GeoSetter' (its also freeware): http://www.geosetter.de/en/index.html
It has all kinds of time-fixing-previewing-altitude-setting goodness right in the same package. Much more user-friendly and sensible than the GPicSync program I originally used.

Sunday, June 21, 2009

People suck

So yesterday I was flying my Twinstar II R/C for the first time since I painted it. Now, one of the strange things about having an R/C aircraft (or R/C anything I suppose) is that people seem to suddenly love to come up and talk to you. I imagine its like having a dog: people who would normally never come up and talk to you see it and come over to ask you questions or comment on it. It caught me off guard at first, but I'm getting more used to it. Anyway, so I'm flying the plane, and one of the maintenance guys from the park I was at comes driving up to me in his little golf cart and starts asking me the normal 'how much does it cost / how far can it go / where did you get it?' type questions.

Then the part that sucks: He mentions to me that the guy who normally flies his (awesome) scale helicopter at the park was asked to leave and go to another park. So I ask him why, and apparently the people who live on the edge of the park were complaining about (get this) the SMOKE from his helicopter. Now, I suspect they're just assholes, but that strikes me as totally stupid. Its a park, a public space. The guy is a GOOD pilot, he's not doing irresponsible things, just flying back and forth in an open field.

So I'm talking to the maintenance guy about it, and I slowly learn that these people are even bigger jerks than I thought:
  1. As far as I can tell, they never talked to the guy with the heli. They just called the park and complained.
  2. They called the fire-department and reported the smoke (knowing full-well that it was from the helicopter), which is a waste of EVERYONE's damn time, and as far as I'm concerned, one of the worst things you could do.
So anyway, finally the park administrators decide that they should just cave and ask the guy to leave. So now he has to fly at another park. The worst part is, that the park he's flying at now is smaller and much closer to a heavily-trafficked road and a HIGHWAY. Sure, there are more people that fly RC stuff there, but that doesn't mean is safer. It makes me really mad that these people have the gall to complain about someone like that, especially the way they went about it.

Yeah, so I'm really disappointed in humanity.

Posting from email

This is a test of the automated posting system for mah blog. Maybe it will work, maybe not. We'll have to wait and see...

(BTW: if you're reading this then it worked!)

Thursday, June 18, 2009

Painting my Twinstar

Flat-white all around wasn't working for me. I kept loosing track of the plane on cloudy days and it was difficult to tell orientation once the plane got further away. Also, it was very difficult for me to pick it out of the sky when I'd glance down at the screen that was showing my camera feed from the plane.

So I decided to paint the plane. I whipped up a couple of possible paint schemes and decided to try my hand at giving it a custom paint-job.

Here's the whole week's worth of painting done in about 5 minutes:

I kind of ended up with the main paint scheme of the first design, with the tail of the second. I wanted to do entirely the first paint scheme, but messed up when I was masking things off (that'll learn me).

Steps involved were:
  1. Clean the plane with alcohol to remove any chemicals from the moulding process when it was created
  2. Sand down the entire body of the plane (using 300 grid sandpaper) to provide a smooth surface
  3. Fill in the larger gashes with lightweight spackle
  4. Tape off the important bits I didn't want to get any polycrylic in (pushrod holders, cockpit, engines, control surface joints)
  5. Lay down a base-layer of polycrylic to paint over
  6. Lightly sand the base-layer in preparation of painting
  7. Mask off the areas that I didn't want painted black
  8. Paint it black
  9. Remove black-masking and apply masking for red areas
  10. Paint the town red
  11. Remove masking tape from red areas, and patch up any spots that the masking tape tore off of the black paint (because I didn't wait long enough to let it dry)
  12. Fix up any edges that weren't sprayed neatly with white paint, and fix the error I had on the one wing by hand with red paint
  13. Cover entire thing with final protective layer of polycrylic
  14. Happiness

Thursday, June 4, 2009

Running BattleGround Europe From a RAMDisk in Windows7 64-Bit

After the new 1.30 patch, I've been having problems with stuttering at random times when flying. Since I suspected these stutters were due to the game hitting the disk to load up terrain tiles, I decided to try out running it from a RAM Disk.

I ran 1.29 from a RAM Disk before, but there have been some pretty big changes since then. For one, Playgate (the old launcher) has been removed, which means any registry files I had setup wouldn't work anymore. Also, I switched to using the Windows7 64-Bit Beta (build 7100).

Setting it up was pretty straightforward, so I'll just get to the instructions:

1. Find a RAM Disk program that works with your OS.
I ended up using Cynatek RAMDisk Beta (which is free for the time being). I tried a couple other programs before this, but was unable to get anything to work without BSOD'ing my computer every time I started the game.

2. Setup a RAM Disk big enough to hold the game.
My RAM disk is setup to be 900MB. This is about 100MB larger than it needs to be, but I didn't want to starve the game for HD space on its install disk. You might be able to cut it a little closer, but those are the settings that work for me. I'm using a FAT32 partition setup to be my 'F:\' drive. If you have a different drive letter assigned, just substitute it for 'F:\' anywhere in these instructions.

3. Copy your 'BattleGround Europe' game directory to the RAM Disk
I had the game installed to 'C:\Games\Battleground Europe\'. I just grabbed this directory and copied it entirely to the root of my 'F:\' drive. This left me with a 'F:\Battleground Europe' directory.

4. Rename you 'Battleground Europe' directory on the RAM Disk
This step may not be necessary, but I did it so I'm going to include it. I simply renamed the 'F:\Battleground Europe\' directory to 'F:\WWIIOL' so that I wouldn't make typos when editing the registry (thats coming up). It might help to have a name that is less tha 8 characters and contains no spaces since the registry entry seems to use old DOS-style directory names.

5. Create a shortcut to the RAMDisk .EXE files
Open the "F:\WWIIOL" (or wherever you copied the files to) directory on the RAM disk and right-click on the 'Playgate.exe'. Choose 'Send To' and then 'Desktop (create shortcut)'. This will make a shortcut on your desktop that will launch the online version of the game. You can also make a shortcut to the 'ww2.exe' the same way if you want to run the offline practice mode.
If you're using Windows7, make sure to set these shortcuts to run in 'Windows Vista, Service Pack 3' compatibility mode, and check the 'Run As Administrator' box to avoid nasty mouse-freeze problems at the main menu.

6. Create a backup registry file
The next steps involve modifying an entry in the registry to point to the newly copied directory. We want to be able to switch back to using the version of the game on-disk before applying updates or for testing, so you should make a .REG (registry) file that will restore your current settings. This used to (pre 1.30) involve editing 2 seperate sections in the registry, but is a lot easier now that playgate is gone.
I just made a file called 'BattlegroundEurope_Disk.reg' that contains the following text:
Windows Registry Editor Version 5.00

This bit is Windows7 specific, so if you're running a different version of windows you might have to search for the 'Playnet' entry in your registry (using 'regedit.exe' from the start menu) to find the entry.
You should also make sure that the "C:\\Games\\BATTLE~1" matches the directory you installed the game to. In my case it is installed to "C:\Games\Battleground Europe", but since the registry uses old DOS-style filenames its a little mangled. Look at your registry entry if you're unsure what this should be.

7. Copy your 'BattlegroundEurope_Disk.reg' file
Make a copy of the file you made in Step 6 and name it something like 'BattlegroundEurope_RAM.reg'.

8. Modify your 'BattlegroundEurope_RAM.reg' to point to the RAM Disk
Open the 'BattlegroundEurope_RAM.reg' file in a text editor (don't double-click, right-click and choose 'Edit'). Update the line that starts with "Path" to look like this:
Save the file, and close it. If you copied the game files to a different directory in Step 3 or 4, you should use whatever drive/directory combo you used. In my case, the game is located in "F:\WWIIOL" as previously stated.

9. Merge the 'BattlegroundEurope_RAM.reg' file into your registry
Double-click on the 'BattlegroundEurope_RAM.reg' file and confirm that you want to add the contents to the registry. This will overwrite the "Path" value to the one you specified.

10. Run the game
That should be it. If everything went smoothly you should be able to start the game by following the shortcut that was created in step 6. If you need to go back to running the version from the disk (or if you need to install an update to the game), simply merge the 'BattlegroundEurope_Disk.reg' file you created in step 6 beforehand.

Applying Updates:
Before you apply an update, be sure to run the 'BattlegroundEurope_Disk.reg' file you created in step 6. This will allow the patch to run and update the version of WWIIOL on your hard-drive. Simply copy the updated files back to your RAMDisk after the update has been applied an re-run 'BattlegroundEurope_RAM.reg' to launch from the RAM Disk next time.