Remote access to your PC/Mac – the easy way

I’ve had to help my friends, many, many times with their computer problems and I’ve used a tool for my years now that enables me to connect to their computers remotely to assist them. It’s almost impossible for the average user to explain in words what is occurring, so have the ability to remotely connect and see their desktop is priceless. This works on PC and Mac.

I use a program called Team Viewer, which is free for personal use and this is how I use it.

Step 1: I send an email to the person requiring help with this link

This is a standalone client for team viewer that doesn’t require administration rights to run. Of course this is also assuming that the users is able to use their email, download and run the executable.

Step 2: When they run the program it will provide them with an ID and password. Ask them for this information.


Step 3: At your end you should download and install the team viewer program.

Step 4: Once you run TeamViewer you just pop in the ID and password from step 2 and TeamViewer should bring up the remote desktop.

Simple and effective!

If you have some people you are always providing support too, you can also permanently install TeamViewer and set it up for automatic and unattended setup. This is also handy if you want to connect to your own PC remotely for some reason.




Import outlook contacts into gmail

Somebody asked me yesterday whether it was possible to import their outlook contacts into Gmail. Well, the answer is, yes and here’s how.

1) Open your email in outlook.

2) Save your contacts list as a CVS file

3) Open your Gmail account

4) Import your CVS file.

Now you should have all of your contacts available on Gmail to use. I suggest that once you import your contacts into Gmail that you then use the contacts list in Gmail instead of outlook. In fact, I recommend that you just use Gmail and stop using outlook altogether. Outlook doesn’t give you the ability to sync your calendar, contacts and mail to Gmail, so unless you are happy being out of sync all the time, why not just use Gmail full-time. I found I didn’t like this idea at first, but after a while I got use to it. Also Android and iPhone handsets sync fantastically well with Gmail.

Fixing mythvideo missing coverart and metadata

I’ve never managed to get mythvideo to find cover art and metadata for all of my videos, but I have discovered that a lot of it has to do with the naming of your video files. So I thought I would share some tips and tricks for getting metadata and cover art to work on mythvideo.

1. Understand the file naming conventions found here –> Originally I had all of my files named in this format:


I found that the metadata script used by mythtv didn’t use the date to help isolate the video and hence there were too many videos returned from and  mythvideo didn’t know which one to choose. By removing the brackets, I found that I fixed heaps of videos immediately, as the date helped to resolve multiple returned results.

eg. would return 9 possible results.

But would only return 1.

2. Use the correct spelling – I found quite a few videos with incorrect spelling. This cause the metadata not to be found.

Eg. should be

Also watch for words spelt differently in different countries.

eg. Dont.tell.mum.the.Babysitters.Dead.1991.mp4 should be

3. Numbers are not well liked. I had heaps and heaps of trouble trying to work out these sort of filenames. I think there is a limitation with the script used in mythvideo as site resolved these fine but not mythvideo.


I found the easiest way to deal with these file names was to put the number inside a set of single quotation marks ‘ ‘. So would get the following instead.


4. Punctuation can cause issues. I found some of my files names with punctuation can fail to find metadata. The simple fix is to remove the offending punctuation.

eg. Dirty.Dancing.-.Havana.Nights.2004.avi –> Dirty.Dancing.Havana.Nights.2004.avi


Merge multiple mp4/m4v files

Here is a simple way to merge two mp4/m4v files into one:

MP4Box -cat file1 -cat file2 -new outputfile

It will go off and read the video and audio for the first file and then the second and then produce a single file.
Here is an example where I wanted to join Part 1 and Part 2 of Ben Hur into 1 file.

$ MP4Box -cat "Ben.Hur.1959.Part.I.mp4" -cat "Ben.Hur.1959.Part.II.mp4" -new Ben.Hur.1959.mp4
 IsoMedia import - track ID 1 - Video (size 718 x 374)
 IsoMedia import - track ID 2 - Audio (SR 48000 - 2 channels)
 IsoMedia import - track ID 3 - VobSub (size 720 x 576)
 IsoMedia import - track ID 4 - media type "text:text"
 IsoMedia import - track ID 1 - Video (size 718 x 374)
 IsoMedia import - track ID 2 - Audio (SR 48000 - 2 channels)
 IsoMedia import - track ID 3 - VobSub (size 720 x 576)
 IsoMedia import - track ID 4 - media type "text:text"
 Saving to Ben.Hur.1959.mp4: 0.500 secs Interleaving

If you don’t have the MP4Box command available on your system you will need to do the following to install it.

$ sudo apt-get install gpac

DVB-T Signal test on Linux

If you want to know if you are getting a good signal strength through your DVB tuner card, this is how to test it on linux. There is a guide here, but it’s not very descriptive. I have ubuntu, so it might be slightly different for other distributions. First of all you need to install the LinuxTV dvb-apps package if you haven’t got it already. Go here for further information, but on ubuntu install like this:

apt-get install dvb-apps

First of all you need to use dvb scan to create a channel.conf file to use with tzap. Without a channel file, tzap won’t know what to look for. On your linux system you should have a directory full of dvb channel information for your region – mine is under “/usr/share/dvb/dvb-t/”.  You will find the channel information is stored under your country code. Eg. for australia all the available channel files are under au*.

 ls -l /usr/share/dvb/dvb-t/au*
-rw-r--r-- 1 root root  364 Dec 27  2011 /usr/share/dvb/dvb-t/au-Adelaide
-rw-r--r-- 1 root root  371 Dec 27  2011 /usr/share/dvb/dvb-t/au-AdelaideFoothills
-rw-r--r-- 1 root root 1344 Dec 27  2011 /usr/share/dvb/dvb-t/au-Bendigo
-rw-r--r-- 1 root root  380 Dec 27  2011 /usr/share/dvb/dvb-t/au-Brisbane
-rw-r--r-- 1 root root  446 Dec 27  2011 /usr/share/dvb/dvb-t/au-Cairns
-rw-r--r-- 1 root root  360 Dec 27  2011 /usr/share/dvb/dvb-t/au-canberra
-rw-r--r-- 1 root root  363 Dec 27  2011 /usr/share/dvb/dvb-t/au-Canberra-Black-Mt
-rw-r--r-- 1 root root  451 Dec 27  2011 /usr/share/dvb/dvb-t/au-Coonabarabran
-rw-r--r-- 1 root root  324 Dec 27  2011 /usr/share/dvb/dvb-t/au-Darwin
-rw-r--r-- 1 root root  558 Dec 27  2011 /usr/share/dvb/dvb-t/au-Devonport
-rw-r--r-- 1 root root  442 Dec 27  2011 /usr/share/dvb/dvb-t/au-FraserCoast-Bundaberg
-rw-r--r-- 1 root root  777 Dec 27  2011 /usr/share/dvb/dvb-t/au-GoldCoast
-rw-r--r-- 1 root root  649 Dec 27  2011 /usr/share/dvb/dvb-t/au-Goulburn-Rocky_Hill
-rw-r--r-- 1 root root  458 Dec 27  2011 /usr/share/dvb/dvb-t/au-Hervey_Bay-Ghost_Hill
-rw-r--r-- 1 root root  390 Dec 27  2011 /usr/share/dvb/dvb-t/au-Hobart
-rw-r--r-- 1 root root  447 Dec 27  2011 /usr/share/dvb/dvb-t/au-Mackay
-rw-r--r-- 1 root root  382 Dec 27  2011 /usr/share/dvb/dvb-t/au-Melbourne
-rw-r--r-- 1 root root  371 Dec 27  2011 /usr/share/dvb/dvb-t/au-Melbourne-Upwey
-rw-r--r-- 1 root root  732 Dec 27  2011 /usr/share/dvb/dvb-t/au-MidNorthCoast
-rw-r--r-- 1 root root  354 Dec 27  2011 /usr/share/dvb/dvb-t/au-Newcastle
-rw-r--r-- 1 root root  374 Dec 27  2011 /usr/share/dvb/dvb-t/au-Perth
-rw-r--r-- 1 root root  375 Dec 27  2011 /usr/share/dvb/dvb-t/au-Perth_Roleystone
-rw-r--r-- 1 root root  289 Dec 27  2011 /usr/share/dvb/dvb-t/au-SpencerGulf
-rw-r--r-- 1 root root  402 Dec 27  2011 /usr/share/dvb/dvb-t/au-SunshineCoast
-rw-r--r-- 1 root root  633 Dec 27  2011 /usr/share/dvb/dvb-t/au-Sutherland
-rw-r--r-- 1 root root  414 Dec 27  2011 /usr/share/dvb/dvb-t/au-Sydney_Kings_Cross
-rw-r--r-- 1 root root  490 Dec 27  2011 /usr/share/dvb/dvb-t/au-Sydney_North_Shore
-rw-r--r-- 1 root root 1183 Dec 27  2011 /usr/share/dvb/dvb-t/au-Tamworth
-rw-r--r-- 1 root root  380 Dec 27  2011 /usr/share/dvb/dvb-t/au-Townsville
-rw-r--r-- 1 root root  133 Dec 27  2011 /usr/share/dvb/dvb-t/au-unknown
-rw-r--r-- 1 root root  383 Dec 27  2011 /usr/share/dvb/dvb-t/au-WaggaWagga
-rw-r--r-- 1 root root 1309 Dec 27  2011 /usr/share/dvb/dvb-t/au-Wollongong

So if I was in the Wollongong region I would type the following to get my channels.conf file created.

$ scan /usr/share/dvb/dvb-t/au-Wollongong > channels.conf

It should go off and scan your regions channels for you. You should see something like this:

 scanning /usr/share/dvb/dvb-t/au-Wollongong
 using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
 initial transponder 697500000 1 3 9 3 1 1 0
 initial transponder 655500000 1 3 9 3 1 1 0
 initial transponder 613500000 1 3 9 3 1 1 0
 initial transponder 634500000 1 3 9 3 1 1 0
 initial transponder 711625000 1 2 9 3 1 2 0
 initial transponder 690500000 1 3 9 3 1 1 0
 initial transponder 599500000 1 3 9 3 1 1 0
 initial transponder 585500000 1 3 9 3 1 1 0
 initial transponder 592500000 1 3 9 3 1 1 0
 initial transponder 676500000 1 2 9 3 1 2 0
 0x0000 0x02a1: pmt_pid 0x0000 ABC -- ABC1 (running)
 0x0000 0x02a2: pmt_pid 0x0000 ABC -- ABC2 / ABC4 (running)
 0x0000 0x02a0: pmt_pid 0x0000 ABC -- ABC News 24 (running)
 0x0000 0x02a3: pmt_pid 0x0000 ABC -- ABC1 (running)
 0x0000 0x02a6: pmt_pid 0x0000 ABC -- ABC Dig Music (running)
 0x0000 0x02a7: pmt_pid 0x0000 ABC -- ABC Jazz (running)
 0x0000 0x02a4: pmt_pid 0x0000 ABC -- ABC3 (running)
 Network Name 'ABC NSW'
 WARNING: filter timeout pid 0x0011
 scan /usr/share/dvb/dvb-t/au-Wollongong > channels.confWARNING: filter timeout pid 0x0010
 Network Name 'MH Illawarra'
 0x0000 0x0001: pmt_pid 0x0000 WIN Television -- WIN Illawarra (running)
 0x0000 0x000a: pmt_pid 0x0000 WIN Television -- GEM Illawarra (running)
 0x0000 0x000f: pmt_pid 0x0000 WIN Television -- GOLD (running)
 0x0000 0x0002: pmt_pid 0x0000 WIN Television -- GO! Illawarra (running)
 0x0000 0x0809: pmt_pid 0x0180 SC Media -- SC10 Wollongong (running)
 0x0000 0x0829: pmt_pid 0x0776 SC Media -- ONE Wollongong (running)
 0x0000 0x0849: pmt_pid 0x0780 SC Media -- ELEVEN (running)
 Network Name 'SCA'
 0x0000 0x0351: pmt_pid 0x0401 SBS -- SBS ONE (running)
 0x0000 0x0355: pmt_pid 0x0400 SBS -- SBS HD (running)
 0x0000 0x0352: pmt_pid 0x0402 SBS -- SBS TWO (running)

Etc.. etc…. it might take several minutes to run, but in the end you should have the channels.conf we need to run our signal tests with. If you look inside of channels.conf you should see something like this:

 cat channels.conf

Now all you need to do is use the script available here written by José Oliver Segura. This script is quite good, as it calculates the signal strenght for us and make sense of all those number tzap produces. You can download a copy of the script here also. You may need to modify the $channelsConf variable to point to wherever you have saved your channels.conf file. Run is like this:

$ perl testsignal > results.txt &

It will now go off and test your channel’s and save the results in results.txt. I had quite a few channels, so it took me some considerable time to run this script. If you want to watch the progress, then just tail the results.txt file.

$ tail -f results.txt

You should see something like this:

Tunning channel ABC News 24 (226500000)
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
tuning to 697500000 Hz
video pid 0x0204, audio pid 0x0000
status 01 | signal 8480 | snr 0000 | ber 00000000 | unc 00000c78 |
status 01 | signal 9bf8 | snr 0000 | ber 00000000 | unc 00000c78 |
status 1f | signal 4ac0 | snr acac | ber 00000000 | unc 00000c78 | FE_HAS_LOCK (Ignoring to let tuner/decoder settle.(2)
status 1f | signal 4ac0 | snr acac | ber 00000000 | unc 00000c78 | FE_HAS_LOCK (Ignoring to let tuner/decoder settle.(1)
Signal: 29%     BER 0   UNC 3192
Signal: 29%     BER 0   UNC 3192
Signal: 29%     BER 0   UNC 3192
Signal: 29%     BER 1693        UNC 3192
Signal: 29%     BER 1693        UNC 3192
Signal: 29%     BER 1693        UNC 3192
Signal: 29%     BER 1693        UNC 3192
Signal: 29%     BER 1693        UNC 3192
Signal: 29%     BER 1490        UNC 3192
Signal: 29%     BER 1490        UNC 3192

Install Digital Now Quad Card on mythbuntu 10.10 64-bit

I found the Digital Now Quad Tuner card worked great in my mythtv server and was well worth the $199 AUD price tag. In fact, it’s probably the best tuner I have ever used with mythtv. However I did have to do a few things to get it to work, as it doesn’t work straight out of the box – at least on mythbuntu 10.10 64-bit with kernel 2.6.35-28. It doesn’t work on 11.04 on kernel 2.6.38-8. I googled around and put together the following to get it to work.

First of all you need to install all sorts of packages that are needed to compile the drivers. I’m not sure whether you need all of these, but if you install these you should be okay.

I did everything below as root.

apt-get install fakeroot build-essential
apt-get install crash kexec-tools makedumpfile kernel-wedge
apt-get install git-core libncurses5 libncurses5-dev
apt-get install libelf-dev libdw-dev asciidoc binutils-dev

do uname -a to get the current kernel version you are using.

root@clumix:~# uname -a
Linux clumix 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:39:03 UTC 2011 x86_64 GNU/Linux

now install the headers for that version. Example:

apt-get install linux-headers-2.6.35-28-generic


unzip the package by running this


You should then have a directory called “Linux4Quad” – change to this directory

cd Linux4Quad

Untar the tar-bzip file in this directory.

tar jxvf digitalnow-quad.tar.bz2

You should now have a directory called “digitalnow-quad” – change to this directory.

cd digitalnow-quad

And now there is yet another tar-bzip file to uncompress. Don’t run the script as it won’t work.

tar jxvf v4l_dvb_digitalnow.tar.bz2

Now you need to modify the “.version” file under the “v4l” directory to match your kernel version.


Now you need to compile the software and this will take time to complete depending on your PC specs. I found on a quad core machine it took about 10 minutes. Run this from the “digitalnow-quad” directory.


Once this completes successfully you need to run this to install:

make install

then reboot the machine.

I found that for some reason my MCE remote stopped working. I suspect the mceusb module was being loaded incorrectly due to the installation of a custom v4linux drivers (or something silly). So I edited /etc/modprobe.d/blacklist.conf

and add

blacklist mceusb

rebooted again and all worked fine.

Note: you may find that if you update you kernel that you will need to recompile and reinstall these drivers in order for the card to work again.

Opensource photo stitcher – Hugin

I’ve always used Photoshop for stitching together photos for my panorama’s, however I’ve been having trouble with it lately for some unknown reason.

So I went on a search through the web and found an opensource program called Hugin.

So far, so good and it’s extremely easy to use. Best of all it’s free! I’m uising the Windows 64-bit version and there is also a Mac OS version too (I haven’t tried the Mac version yet).

Here is a panorama I created using Hugin with 12 images stitched together. It took me around 5 minutes to do.





My new iPhone 3 wish list

With all the speculation on what’s going to be in the new Apple iPhone – I thought I would sit down and brain storm out my top 8 wish list for the new iPhone (hey – why can’t I have a top 8 list instead of a top 10 list? I never didn’t like convention!):
1) One press car fetch.
An application that enables me to press a button and my car drives itself to my current location. This would save me having to ever walk to the car again. How lazy am I? (Don’t answer that).

2) Noise cancelling
With a touch of a button be able to cancel out any surrounding noise such as idiots playing their music too loud in public or even the wife. I’m so going to get a mouth full for that suggestion – hence the reason for this option.

3) Force Field
I want to be able to press a button and enable a force field around me. That way I could insult anybody I like in public and never fear them seaking immediate punishment upon me. I guess this would be good right up until the battery depletes – which as you know is fairly quick with an iPhone. Or it could just provide a cover above me to act as an umbrella so that I don’t get wet. No more carrying around an umbrella and no more getting poked in the eye with other umbrella’s thanks to my shield.

4) Site to Site beaming
This means I could instantly beam myself to another location. Okay, okay – I stole this from Star Trek and I guess I wouldn’t need an app to fetch my car because I wouldn’t need a car with this option.

5) Smell saving.
You should be able to save smells. Now I’m not talking about those aweful smells – though having the ability to email/SMS smells to people you don’t like might be good. Instead of calling SMS, Short Message Service, we could call it Smelly Message Service (SMS). But, wouldn’t it be nice to be able to forever save the smell of your new leather jacket, favourite perfume (to remind you of your girl friend or wife) or a fresh ocean beachy smell (whatever that is anyway).

6) Instant make up.
Instead of having to wait hours for the wife to put on her make up, just press a button and it’s done. Actually I think the ladies would probably love this feature. You could automatically setup a whole bunch of presets such as clown face, midnight panda, cup cake, cake it on and powder puff.

7) Frequency jamer
Gives you the ability to jam all frequencies within a 10km radius. This would be very helpful on the train to stop of those annoying people screaming into their phones – they simple wouldn’t work. But of course it should allow you to use your phone whilst jaming everybody else – just to annoy everybody.

8 ) Holographic head’s up display (HUD).
Why do we need to be pined down to a boring 2d touch screen. The screen should pop out of the phone in front of you and provide a holographic interface. It should be able to put a full heads up display (HUD) in front of you as you walk. That would be cool. You should be able to look at something/one and get relevant information about that entity, such as stock options, material, dimension (height, width, lenght), weight, cup-size and whether or not the entity is wearing panties (not that a married man like me would ever consider using this option – it’s for all you single people out there). It would be so useful to know whether the mailbox is wearing panties – don’t you think?

That’s all the crazy things I could think of at midnight on a Sunday night – thank god it’s a public holiday in Sydney tomorrow I can sleep in. Yipppeee! 8)

Have you got a suggested feature (I don’t want serious feature – be creative people) – then feel free to add a comment.

Convert JVC TOD to MPEG Video – tod2mpeg

If you own a JVC video recorder, you may have noticed that it stores it’s videos in TOD format. This is highly annoying as it’s not very useful if you want to view it on a simply device such as a Western Digital TV HD Media Player. The good news, is that there is a simple way to turn your TOD videos into MPEG videos using ffmpeg. It should also work for MOD files, but I haven’t testing it yet – please tell me if it works. I wrote a simple bash script to do this:

ffmpeg -i "$1" -acodec copy -vcodec copy "$newvideo"
mv "$video" "$video.done"

You can download this script here –>

Run this script by putting the TOD video filename after the script name.

Eg: tod2mpeg mod123.tod

It will use ffmpeg to convert to mpeg and once completed will append “.done” to the end of the TOD filename. You should be left with a mpeg file of the same name. eg. mod123.mpeg.

You will notice a whole bunch of messages coming out of ffmpeg. Just ignore these.

I’ve also written a little wrapper perl script to enable me to run tod2mpeg on multiple files. Download this here –> You will need to make sure that you already have the tod2mpeg script in your path somewhere (eg. ~/bin/ or /usr/local/bin).

You will need to pass a list of TOD files into this script like this:

ls *.tod | tod2mpeg-multi