Windows7 Setup? 2

Posted by JohnP 09/29/2009 at 11:19

I need your help deciding how to use the free Windows7 Ultimate license Microsoft gave away yesterday. I want to use it on my laptop but need some considered feedback on how would be best?

Current Laptop Config

  1. 4GB of RAM – may put 8GB in later
  2. 320GB disk
  3. Main OS is Vista-64bit Home Premium
  4. VirtualBox 3.0.6 for Virtual Machines
    1. xubuntu
    2. WinXP Pro
    3. Ubuntu
    4. OpenSolaris
    5. FreeBSD

Initial Thoughts

My initial thoughts are to

  • replace Vista with Win7-64
  • eventually remove my WinXP-Pro VirtualBox
  • use the built-in WinXP Compatibility layer

I spend 14 hrs a day in the xubuntu VM and only boot WinXP to run Quicken, a few MS apps and access TrueCrypt data. Perhaps 3 times a week.

Questions?

  1. How good is the USB support in the WinXP VM?
  2. HDMI output?
  3. GigE networking – WiFi networking?
  4. How good is the driver compatibility for Win7-64? All-in-One Fax, printer, scanner, old Creative Xen and built-in laptop camera are the only devices I see using, in addition to normal flash and ext USB disk drives.
  5. Hauppauge 950Q ClearQAM TV tuner must work.
    • Does Media Center work with this TV tuner and ClearQAM? The current MCE doesn’t.
  6. Can I consider Win7-32bit at all. Does it access the full 4GB of RAM? Is an upgrade to Win7 64-bit easy?
  7. TrueCrypt, MS-Visio, MS-Office 2007, and VideoRedoPlus are the only uses for Windows that I have. No gaming, er … very little gaming.

Choices

  1. Run Win7 in a VM, get used to it. Decide later
  2. Backup the data and VMs, repartition the disk for OS, Apps, Data, and install Win7 ??-bit as the main OS
    • 32-bit or
    • 64-bit?

Thoughts and suggestions? Did I miss an option?

Like Google Search Results, but not the Tracking?

Posted by JohnP 09/28/2009 at 18:20

I assume that google tracks everything. Any search, they track, correlate and store with my other google app, google voice, gmail data.

Scroogle is a google anonymizer. You’ll want to use a plugin to access it. Further, Scroogle supports SSL encryption here

Scroogle claims to block google cookies, delete logs and search result files within an hour. Can you trust them? Maybe not, but what are the chances they will be hacked and your data will still be there? Also, google data is just 1 request away from being used in ways you may not want, so, for me, this is less risky than using google directly.

This Site is Safe, According to Google

Posted by JohnP 09/28/2009 at 15:52

Google Safe Browsing Diagnostic for jdpfu.com.

Try a few others:
New York Times
Facebook
Myspace
AJC
Twitter

Back from Microsoft Windows7 Launch

Posted by JohnP 09/28/2009 at 14:10

I just got back from the Microsoft Windows7 Launch in Atlanta for developers – the IT Professional track was full.
There wasn’t much new to see since there were only 2 tracks for developers (8am-noon) and I decided to learn more about MS-Server 2008-R2, 08R2

Session 1 What’s New in Server 2008 R2 – Murray Gordon

The main things covered that interested me about 08R2

  1. Upto 256 CPUs supported
  2. Only 64-bit (32-bit Server OS is dead)
  3. Win7 and 08R2 share the same core OS
  4. IIS 7.5 is included
  5. PowerShell with remote execution
  6. VHD file support included
  7. Virtualization is built-in, not an add-on
  8. Boot from an OS install or a VHD (this is nice)
  9. During installation, you decide how much of the Server OS you want even to the point of ZERO GUI installs

Session 2 Parallel Programming – Glenn Gordon

Glenn talked about the differences in sequential, threaded, and parallel/task programming.

  1. Win7 and 08R2 are needed for the new “Task” APIs
  2. VisualStudio 2010 includes .NET v4.0 with parallel extensions
  3. It is unclear on any backward compatibility to prior OSes with .NET 4
  4. Parallel Extensions make it easier to use whatever CPUs, Cores, hyper-threading an OS can support.
  5. There are 3 parallel programming models – I didn’t bother writing them down since the programming examples seemed contrived and didn’t include any concern about data homogeneity. Scary.

Were I windows-only developer, they certainly made using multi-core systems much easier. The downside appears to be that only Win7+ and 08R2+ can use these extensions. I could be wrong. Let me know if there will be backward compatible solutions.

Session 3 IIS 7.x Features – Glenn Gordon

Basically, IIS 7.5 is a modular system (gee, like apache?) now and you can place your code almost anywhere in the pipeline, extending IIS with your code. He went on and on about some trivial examples that placed copyright notices into JPG files as the file was being served. You could, for example, tag every image with the authenticated userid, website and timestamp without touching the source image files.

The thing that really seemed neato to me was that MS finally is building a web application easy-installation community that makes it trivial to package solutions, deploy them or simply publish them for others to use. http://www.microsoft.com/web/ is the community portal and Web Platform Installer v2 is the enabler. It wasn’t clear whether these tools worked with any IIS older than 08R2 or not. The packager creates a ZIP with everything needed from the development machine and is a 1 file package provided to the IT production support guys for deployment. It modifies those settings that are different between developer and production servers during installation. Nice.

To make a good point, Glenn pulled both a DasBlog engine and MediaWiki from the community and deployed both to his server in real-time. The blog engine came right up and was ready for blogging. I didn’t see whether MediaWiki worked as easily – I run a mediawiki for the company. There were many well know open source projects in the list.

Of course, there were the normal give aways – Win7 Ultimate license and all the 180 day server stuff you can stand. the 180 day stuff you are free to download anyway.

Nice job from Microsoft and the Gordons who presented. I wish I could have attended the afternoon sessions that were more about enterprise deployments.

Backup Clock Times

Posted by JohnP 09/27/2009 at 13:10

I came across an old article that I wrote on backups that had some clock times for the different VMs. Since that article was written, I’ve changed the backup methodology from rsync to rdiff-backup.


dms44 → 1m:52s Alfresco
crm46 → 3m:36s vTiger
xen41 → 3m:10s Typo
pki42 → 1m:17s
mon45 → 1m:8s
zcs43 → 3m:53s Zimbra

Those are real “downtime” numbers to ensure completely safe backups were made with all files closed. Actually, the virutal machine is shutdown during the backup periods. Email is unavailable for 4 minutes at around 2am daily. We can live with that. Recovery works perfectly too. I’ve recovered the largest VM twice in under 20 minutes after some cockpit errors.

This works because we use Xen virtual machines and rdiff-backup. Most of the VMs are 20GB in disk size, but use less actual storage.

Solved - Ruby gem update failures

Posted by JohnP 09/27/2009 at 08:08

While updating my ruby development environment this morning, I had a few errors. Google was my friend, as usual.

Issue A

Try a gem system update with

 sudo gem update —system

returned
 ERROR:  While executing gem … (Gem::GemNotFoundException)

The fix was to remove the old gem cache directory (your directory can be found `gem env`)
 sudo rm -rf /var/lib/gems/1.8/source_cache

Issue B

 sudo gem update --system

returned

 undefined method `manage_gems’ for Gem:Module (NoMethodError)

Found this blog entry with the fix.
Basically, I had to
 sudo vi /usr/bin/gem

So the file looks like this

require ‘rubygems’
require ‘rubygems/gem_runner’

  1. Gem.manage_gems

to comment out the old gem.manage line and add a new `required` clause.
Anyway, now yahoofinance-1.2.2.gem is installed and ready for use.

As always, ruby and the packages around it are fun to learn. Lots of extra tools that you’ve never heard of and only use directly once every 6 months.

For example, I wasn’t forcing RubyGems to be used with every small program I wrote. Seems there’s an environment variable that can make that automatic. I haven’t decided whether this was a good idea or not, but here it is:

export RUBYOPT=rubygems 

Added it to my ~/.bashrc. Seems strange that it doesn’t contain a path to the gem area on the file system.

Simple Transcode for Nokia N800 Video

Posted by JohnP 09/24/2009 at 10:07

The Nokia N800/N810/N900 has limited CPU. It is a portable device with fairly long battery life, so this is understandable. However, playback of DVDs or other videos can use the battery beyond what is needed for the screen size. According to Nokia, the optimal playback for video is 400 pixels.

Below is a small script to convert a list of input videos into the “best” quality for our Nokia Internet Tablets. The output does not playback with the built-in Media Player, but plays nicely with mplayer – or gmplayer if you want a GUI.

This script was updated 7/2010 to reduced FPS so when multitasking, the N800 does not become over committed for CPU. I chose 14.985 fps because it seemed to have acceptable playback and acceptable visuals. The fact that it is exactly half the original source frames makes the transcode happen quickly too. If you find the 15 FPS is too much, 20 or 25 FPS will work pretty well too.

#!/bin/sh
# This is for really simple XVID conversion to 400 x whatever, retaining aspect
# Input filenames with spaces are not supported due to the ability to have multiple input files. 
#     Remove the loop to support a single input file with spaces.
# This is a 1-pass solution, so quality could be improved using a 2-pass method
SCALE=",scale=400:-3"
XVIDENCOPTS="fixed_quant=4:max_key_interval=250:trellis:max_bframes=1:vhq=3"
FRAMES="-ofps 15000/1001"

for filename in $@ ; do
   IN=$filename
   nice /usr/bin/mencoder "$IN" $FRAMES -oac mp3lame -lameopts preset=128 -ovc xvid \
                -vf lavcdeint${SCALE} -noodml -forceidx -ffourcc XVID \
                -xvidencopts ${XVIDENCOPTS} -of avi -o "${IN}-n800.avi"
done

For me, this script works quickly and with about 90% of the input files. Basically, anything that mplayer can play (which is just about any non-DRM video files), then you can transcode. I bet other portable media devices like the iPhone, iTouch, and Android-based devices will like this format too.

I’ve used this with FLV, MPEG2 1280i HD, and everything in between to bring it to my N800 so I don’t get bored during workouts or airplane flights. Enjoy.

Getting Syslog, Pound and Mongrel to work with Awstats 1

Posted by JohnP 09/21/2009 at 16:52

Getting Syslog, Pound and Mongrel to work with Awstats

If you run the Ruby on Rails blog, Typo, it is likely you are using Mongrel as a cluster server and not Apache. Mongrel is easy – really easy. If you need 5 backend ruby servers, change 1 entry in the mongrel_cluster.yml file and restart.

Pound is a very simple load balancer written in perl. Many very busy websites use it. Slashdot for example gets 40M pages a day, all going through pound. Scalable? Check.

I’ll assume you already have syslog, awstats, pound, and typo/mongrel installed and simply want better logging. Explaining the nontrivial setup of these, sometimes complex, systems is not something handled in a blog. You’ll need to be root or have root editing via sudo to make this happen. A knowledge of manpages won’t hurt either.

So now you have two non-standard programs handling your web traffic, mogrel and pound. You’d like to get some normal website statistics about your users. By default, pound logs via syslog. We love syslog, but we don’t like that pound doesn’t use a separate file, by default. All your web traffic logs get intermixed with login, attempted hacks, disk failures and other system messages.

Below we’ll

  1. describe the syslog setup to trap pound messages and drop them into a new logfile – /var/log/pound.log
  2. setup the new logfile to be automatically created, should it disappear
  3. setup pound to write the the new pound.log file via syslog
  4. automatically perform log file rotation, in the normal way
  5. create a custom log_file_format so awstats gets all the data it can from the logs
  6. be certain that restarting pound gets syslog to bounce or restart too

Here are the changes specific to the logging changes. You should have other changes for your server/domain already in these files. Before starting, you probably want to run an

awstats.pl -config=domain.com -update

to capture the latest stats before you move them all into a new location.

/etc/awstats/awstats.domain.com.conf:

 LogFile=“/var/log/pound.log”
LogFormat=“%time3 – - %host_r %host – - %time1 %methodurl %code %bytesd %refererquot %uaquot”
SkipHosts=“REGEX[^192\.168\.]”

/etc/syslog.conf

 .;auth,authpriv.none,local0.none              -/var/log/syslog
local0.* -/var/log/pound.log

See, local0 – local7 are approved syslog classes. They are meant to be used just like this. Syslog know about them, we need to be certain that pound will use local0 too. If your system is using local0, then select 1, 2, 3 … local7, which ever isn’t already in use.

/etc/pound/pound.cfg

LogFacility local0
LogLevel 3

You’ll need to have your Service, Redirect, and BackEnd stanzas too.

/etc/init.d/pound

 if [ ! -e “/var/log/pound.log” ] ; then
log_warning_msg “Creating pound.log …”
touch /var/log/pound.log
chmod 0644 /var/log/pound.log
chown syslog.adm /var/log/pound.log
/etc/init.d/sysklogd reload > /dev/null
else
log_success_msg “pound.log was found”
/etc/init.d/sysklogd reload > /dev/null
fi

/etc/logrotate.d/pound

/var/log/pound.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 640 syslog adm
sharedscripts
postrotate
/etc/init.d/sysklogd reload > /dev/null
endscript
}

Good enough? Now just restart pound with

 sudo /etc/init.d/pound restart

The next time your awstats is updated, you’ll see more and better stats. Note that we didn’t touch any of the old rrd data that awstats may have been able to parse.

This worked on an Ubuntu server 8.04 LTS running in a Xen virtual machine. There are other ways to do this and some settings can be changed without impacting whether this continues to work or not.

Obviously, your situation will be a little different and you’ll need to figure out which differences matter and which don’t. Did I miss something important or does anything need clarification? Use the comments or talkback to let me and other readers know, please.

Overview of LinuxFest Atlanta 2009

Posted by JohnP 09/21/2009 at 12:58

Overview of LinuxFest Atlanta 2009

I attended LinuxFest Atlanta 2009 with
700 like-minded people. Lots of good information for the price –
basically free.


There were about 42 sessions organized
for all levels from beginngers (I didn’t count them) from Fixing
Audio in Ubuntu/Linux
to
multiple Kernel Hacker sessions (
Debugging the Kernel,
4
Driver Writing Sessions,
etc.). There were more sessions offered than I could hope to attend.
Due to many late sign ups (about 300 extra), many of the sessions
were standing room only and overflowed into the hallway. I was able
to get a seat by going directly from session to session quickly.


We
need to thank IBM http://www.ibm.com

for providing facilities to this conference. There wasn’t any IBM
advertising that I saw. A
BIG THANK YOU, IBM,
from
me. There were other supporters too with tables in the common areas.
Linux Journal, SuSE, LinuxPro and Cononacal are a few from memory.
Many companies hosted extremely informative sessions.


My session attendence:



  • What Community Has to Offer – OpenSuSE


  • Linux, Hadoop, and Amazon Web Services: Crunching the Big Data in the Cloud

  • Free Software Development with Clouds

  • Securing Your Network wth Open Source Technologies

  • Running and Open Source Business

  • The Weather Ahead: Clouds


There were other
sessions I would have liked to attend, but the conflicts prevented
it.



What Community Has to
Offer – OpenSuSE

Presenter: Chuck Paynehttp://opensuseterrorpup.blogspot.com/

Slides:http://www.magidesign.com/download/alf.odp

The presenter is an OpenSuSE
evangelists and works at the Travel Channel IT in Atlanta as a
sysadmin. He provided a survey of the different tools and
distributions that OpenSuSE provides.

OpenSuSE Studio:

Using the OpenSuSE Studio tool, you can
build a specialized distribution for your team, clients, family,
school. A concrete example was that you could build a server and
desktop distributions for students to perform homework with identical
software available to all from a Live CD boot.

See the
“slides”:http://www.magidesign.com/download/alf.odp for much
more.

Linux, Hadoop, and
Amazon Web Services: Crunching the Big Data in the Cloud

Presenter: John Willis
http://www.johnmwillis.com/

Slides: not available.

Basically, this talk was a list
of companies, FOSS tools, and techniques around dealing with huge
data sets in parallel on cloud infrastructure. It started with the
NIST definition of
Cloud Computing and
ended with how to monitor and merge data from hundreds of individual
systems for an overview. My notes are just a list of tools that I
found interesting during the talk.

Libvirt, OpenNebula, OpenQRM,
Cobbler

RightScale.com

Nanite, Capistrano, ControlTier

Eucalyptus, Enomaly, Nimbus

OpenVPN, CloudNet

Splank

Chef from Opscode, Puppet,
Cfengine

CollectD, jCollectD

Big Data Frameworks: Pig, Hive,
Cascading

It’s 2 days laters and I’ve
checked out RightScale and collectD. We use SysUsage

for monitoring our small group of systems. I must have missed the
main points of this talk. Lots of data, but nothing that made me want
to change jobs.


Free Software
Development with Clouds


Presenter: Deryck Hodge
(Canonical) http://www.devurandom.org/

https://launchpad.net/

is a Canonical-backed software collaboration website. The goal is to
provide everything except compilers for software development
projects. Here’s a bullet list:



  • Blue Prints – architecture
    diagrams


  • Version Control via Bazaar
    with branching and merging


  • Bug Tracking


  • Threaded discussions

  • Release Management

  • Collaborative Translations –
    language files

  • Karma system

  • Code Reviews can be
    mandatory – PQM-based

  • Open Source, but getting it
    running inside your company isn’t easy and they won’t help you. They
    said it would require 15+ servers. Get the source here:
    https://dev.launchpad.net/

While the website has things for
project management, it is tailored to software development projects.
A comment from the croud that tracking server deployment with it was
very possible. Free accounts let anyone have access to view your
project details. Paid versions provide project privacy, if you like.

Securing Your Network
wth Open Source Technologies

Presenter: Nick Owen
http://www.wikidsystems.com/
Lots of how-to guides.

Lots of detailed information, a
little too fast for me, about securing your network, applications,
and users. Here’s a link to the presentation. Basically, use RADIUS and 2-factor authentication.
RADIUS is supported by every vendor and standards were created before
anyone wanted a niche. RADIUS works with Apache, PAM, Microsoft, and
many routers.

Admins are happiest when there are
no users.

Tell all your passwords to go to
hell.

I need to check on

  • RADIUS support in pound (a
    load balancer)

  • Remote Desktops support
    RADIUS

  • Using RADIUS in OpenVPN

  • Apache front ends – don’t
    allow anyone to our apache services until they network authenticate
    via RADIUS

  • One Time Passwords –
    WikID, Opie, FreeToken, OTP Auth

  • FreeRADIUS – AIS
    (Microsoft)

This session provded the greatest
value for me.

Running and Open
Source Business

Presenter: Tarus Balog
http://www.opennms.com/

Basically, this was a talk on how
to start a business with a slant on FOSS. Get a laywer, CPA,
insurance and all the other things you need for a business. Give the
software away and encourage a community to form that provides patches
and modules back to you. He only knows how to make money selling
services for tools, not applications. How much are you willing to pay
for OpenOffice support and installation? $0. OTOH, how much are you
willing to pay to monitor your servers with a great tool that is
complex to install, but easy to run? $10,000/yr?

Main tips:

  • Don’t quit your day job

  • GET A TRADEMARK and copyright everything -

    $300
    and a year of your life


  • Build an awesome app or tool


  • Start a foundation and get a
    company to fund it. IBM funds lots of foundations that Microsoft
    hates.

  • If you use GPL for your
    license, anyone that steals your code must release their code too.
    If you use BSD or Apache or other do-what-you-like licenses, they
    can be secret.

  • Copyrights

  • Owner can change the license
    at any time

  • Defend the code from license
    abuse

  • Sun started theee Dual
    Copyright

  • Have a Contributions Agreement

    that gives you and the contributer both copyright ownership. This
    lets you change the license in the future without asking permission
    from everyone that contributed 15 years ago. Clone the Sun
    agreement.


  • Get ramen
    profitable

    – earn the amount of money to life.


  • Spend less than you earn


  • There’s
    a diagram in the book –
    Crossing the Chasm -
    http://en.wikipedia.org/wiki/File:DiffusionOfInnovation.png

    The difficulty is in getting
    enough customers to be #1 or #2 in your market and becoming an
    Early
    Majority
    solution.


  • Release
    code early and often –
    The Practice Effect


  • Create
    products that are easy to buy – not things that are easy to sell


  • Create
    a website


  • Separate
    work from life.

  • Create
    a blog http://www.adventuresinoss.com/

  • Be
    results driven, not effort driven – my addition

  • Build
    CRM, Trouble Ticketing, and bug tracking BEFORE you need them

  • Create
    a mailing list and/or forums to let your community chat

  • Participate
    in the community – go to conferences and give talks

  • Twitter,
    facebook, whatever for marketing

  • Get
    Paid:

  • Easy
    pricing – “bundle of knowledge consulting”

  • Get
    customers – don’t do free stuff

  • Net-30
    – offer a discound, 2%, for paying early

  • Statements
    of Work – SoW or do time and materials, T&M

  • Annual
    Renewals include consultations, upgrades, etc. If you charge
    $15k/annual support and have 100 customers, you have a business.

  • Value
    your employees – 401(k), Health Insurance, Payroll Service;
    People
    are your company


  • Use
    the Bowling Pin model; after you sell 1 pin, discover 9 other things
    each customer needs and offer it.

  • Grow
    or die

  • Fire
    a bad customer – life is too short for work you really hate to do.

  • How
    to get out?

  • IPO

  • Make
    a great lifestyle company

  • Sell
    to a big company – If someone offers $30M, do you take it?

    Obviously
    from my notes, I liked this talk.

The Weather Ahead:
Clouds

Presenter: John




Ubuntu Jaunty includes a cloud API identical to Amazon S3 and EC2
serivces. This means you can build and test internally, then deploy
with binary compatibility to Amazon or other compatible cloud
providers.

Today, cloud computing is like electricity; turn it on when you need
it. Turn if off when you are done.



No capitol costs.



Ubuntu1 – storage



Landscape – SaaS – stats, hw, sw, trending, patches



AMI – Amazon Machine Image




I need to research switching from Xen to KVM for our internal VM
systems. Managing a cloud is less like managing a group of VMs.




Always migrate forward, never go back. If you have an issue, grab
the next machine, migrate and get it working. Later, you can go back
to the non-working version and figure out what happened or destroy
the VM.




GPS Data and Hiking

Posted by JD 09/20/2009 at 14:30

How to GPS Tag photos with your Nokia N800 and GPSbabel … The instructions here are not really specific to a Nokia N800, so other GPS units should use very similar steps. Only the GPSBabel part will probably change options based on your GPS device.

I’ve been taking my N800 and bluetooth GPS receiver on my hikes. Really just as a way to track approximate mileage. After doing that a few months, it seemed there had to be a way to put the GPS lat/lon into my photos. There is. A few other uses for GPS data, beyond the obvious:

  1. Retain your track data
  2. Estimate distance covered
  3. GPS tag your photos
  4. Share your track as a route for other hikers
  5. Post a track on Google Maps for others – nice visualization with all the zoom and pan that you expect from google.
  6. Mark the actual location of a landmark – waterfall, lookout point, or geocache

So far I’ve retained many of my tracks, but not been able to view them except on the N800. That’s useful, to a point. I’d really like to record them and create a database of visual tracks that is viewable on google maps for my friends to view. The real idea is to create a database of local hikes with trailheads, distances and difficulty ratings to help select future hikes.

Enter gpsbabel

Gpsbabel is a tool converts GPS data between many, many different devices and formats that runs on any platform – win32, unix, linux, N800. It supports conversion between … I guess about 50 different formats. My need is to convert N800/Maemo-Mapper GPX data into something GoogleMaps can use, KML. Originally, I thought gmaps supported GPX too, but that never worked well enough and had limited waypoint support. Yes, KML is the best answer for this.

Conversion steps for maemo-mapper gpx files into kml files that google-maps can display.

  1. Get the GPX file off your N800 … somehow (scp, ftp, pull the memory card and copy the data, whatever)
  2. Use gpsbabel to convert the file to KML.
    gpsbabel -t -i gpx -f “$1” -o kml,points=0 -F “$1.kml”
    points=0 option drops some data, so the resulting track isn’t exact.
  3. Move the .KML file to a web server that googlemaps can access, anywhere really, on your desktop probably isn’t gonna work.
  4. Have google maps display the data – a sample Laughing Falls, NC by fashioning a URL like the link here. Basically, you use http://maps.google.com/maps?q={full-URL-to-file.kml} The file can be waypoints, traces or routes as far as I can tell.

The result isn’t a nice track until you uncheck the Points on the resulting page. Also, I’ve tried to get gpsbabel to reduce the track to a radius around the importance locations, but that isn’t working. Loading gpsbabel was trivial on my Ubuntu laptop and desktop –

sudo apt-get install gpsbabel
, if memory serves.

No Google API key needed for this method either, which is nice.

Another helpful tool for geocaching and the N800 is gpsview. It connects to the GPS receiver and performs bearing math for you. It also helps calm the GPS data and average it out so you know where you are with a higher degree of accuracy after a few minutes, GPS data floats about 50 feet, IME. This tool is very helpful with some geocache hints. So, you have a location and need a bearing for the next cache location or you have a bearing and need a new lat/lon. gpsview does those calculations. I’d post a link, but I can’t find it now. Perhaps it was in the OS2008 depot and just loaded when I selected it.

Get out there and find some fun caches or just hike and know how close you are to roads and streams and where you’ve already been. There’s something fun about searching for a hidden location/waterfall, finding it, then taking an almost direct path back to your car.

Enter gpsPhoto.pl to tag your photos with GPS data

Tagging your photos with GPS coordinates:

gpsPhoto.pl —gpsfile HT-File.gpx \

  1. Camera & GPS times match
    —timeoffset 0 \
  2. Find closest GPS point (2 minutes)
    —maxtimediff 180 —dir ./

I came across a CSV list of waterfalls, converted it into KML and here’s the resulting googlemaps link. I know it is missing many water falls. I’ve been to some that are fairly large and they aren’t in the list. I have no idea how accurate any of these GPS points are either. YMMV.

Now that we have placed our GPS data into the photos, many of the photo hosting sites will display that either on a map or as part of the extra data. I’ve hacked together some GPS code for MyPhotoGallery that will link to google map locations for any photos that contain GPS data. Here’s an example of the EXIF data and Google Maps link that is added to every image displayed in the gallery.

Embedded EXIF data
Camera: SONY DSC-W55
Exposure: 1/160 sec.
Aperture: f/7.1
Focal length: 6.3 mm
ISO: 100
Flash: No
Date taken: Feb 21, 2009 at 3:17:21 PM
GPS: 34.135167,-84.704180

I’ve also hacked search into the perl and provided the search updates back to the original developer. He elected to remove search from his code many years ago. If you are interested in my changes photo gallery, they are hacks, let me know. If there is enough interest, I’ll post them for all.