<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-37223629</id><updated>2010-03-07T14:22:25.742-05:00</updated><title type='text'>Bob's Notepad</title><subtitle type='html'>Notes on projects I have done and things I have learned saved for my reference and for the world to share</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://notepad.bobkmertz.com/atom.xml'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-37223629.post-7984214197647987414</id><published>2010-02-02T16:45:00.000-05:00</published><updated>2010-02-02T16:45:26.475-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='ftp'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Changes</title><content type='html'>After many MANY years of loyally supporting Blogger despite there being other solutions that may have fit better it seems that Blogger has given up on me.  Why?  Because I use FTP to publish my blog to my own site without using Google Hosting, etc.  Google/Blogger has announced that they will be stopping support for FTP in the near future and this has left me in a position where I need to move... and move quickly it seems.&lt;br /&gt;&lt;br /&gt;I am very disappointed that after being a user of Blogger since September of 2003 that Google has decided to leave me no option but to find another solution.  I feel that I've grown and changed with Blogger and Google and now am just abandoned by them because they have a user base and no real need for those that have stuck by the product.&lt;br /&gt;&lt;br /&gt;In the future I will have to be making changes to both &lt;a href="http://notepad.bobkmertz.com"&gt;notepad.bobkmertz.com&lt;/a&gt; and &lt;a href="http://blog.bibleboy.org"&gt;http://blog.bibleboy.org&lt;/a&gt;.  It is my hope that I will be able to keep these domains with another solution but that is undecided at this time.  I will try to update everyone as soon as I have more information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-7984214197647987414?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogger-ftp.blogspot.com/2010/01/deprecating-ftp.html' title='Changes'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/7984214197647987414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=7984214197647987414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/7984214197647987414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/7984214197647987414'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2010/02/changes.html' title='Changes'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-5628559519984930887</id><published>2010-01-10T18:58:00.002-05:00</published><updated>2010-01-10T19:02:23.407-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='timemachine'/><category scheme='http://www.blogger.com/atom/ns#' term='time machine'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='afp'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='backups'/><category scheme='http://www.blogger.com/atom/ns#' term='macbook'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Apple Time Machine backups to Ubuntu network drive</title><content type='html'>Apple's Time Machine is an awesome utility but gets frustrating when you have to use an external drive.  An easier was to do these back ups is using a network drive.  Fortunately, the netatalk package installed on an Ubuntu server can provide the functionality you want.&lt;br /&gt;&lt;br /&gt;I am using Ubuntu 9.10 on my server.  As a note, this is actually a MythBuntu server but functionality should be the same on any other Ubuntu 9.10 server/workstation.&lt;br /&gt;&lt;br /&gt;First, as of this writing, the netatalk 2.0.5 packages are not available in karmic's repositories so let's add a debian repository by adding the following to /etc/apt/sources.list:&lt;br /&gt;&lt;i&gt;deb http://ftp.de.debian.org/debian sid main&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now let's install the netatalk package:&lt;br /&gt;&lt;i&gt;sudo apt-get install netatalk&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Create a directory for time machine backups:&lt;br /&gt;&lt;i&gt;mkdir /home/user/timemachine&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now we need to edit the /etc/netatalk/AppleVolumes.default file and add the following line:&lt;br /&gt;&lt;i&gt;/home/user/timemachine timemachine options:tm&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;And restart netatalk:&lt;br /&gt;&lt;i&gt;sudo /etc/init.d/netatalk restart&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now on your mac, open finder, select the Go menu and "Connect to Server".  Fill in your server's ip address prefixed by afp:// (for example, afp://192.168.1.100) and you should be prompted for a volume to mount.  Select "timemachine", of course.  Once that volume is mounted, go to time machine preferences and select that disk and you're all set.  If you don't see your network drive as an option then open up terminal and issue the following command:&lt;br /&gt;&lt;i&gt;defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;As a note, you may want to now go and remove the extra line from your /etc/apt/sources.list file so that future apt-get commands don't rely on debian's repository and not it's own&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-5628559519984930887?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://netatalk.sourceforge.net/' title='Apple Time Machine backups to Ubuntu network drive'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/5628559519984930887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=5628559519984930887' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/5628559519984930887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/5628559519984930887'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2010/01/apple-time-machine-backups-to-ubuntu.html' title='Apple Time Machine backups to Ubuntu network drive'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-5793411451676053521</id><published>2009-11-19T18:35:00.000-05:00</published><updated>2009-11-19T18:35:43.696-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mythbuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='IR'/><category scheme='http://www.blogger.com/atom/ns#' term='dish'/><category scheme='http://www.blogger.com/atom/ns#' term='blaster'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='set top box'/><title type='text'>PVR-150 IR Blaster on MythBuntu 9.10 with Dish Network</title><content type='html'>Upgrading to MythBuntu 9.10 from 9.04 was a challenge on some respects but the biggest of the challenges was getting my PVR-150 IR Blaster working.... again.  I don't know why Ubuntu loves to break this thing on every upgrade but they do.  Thanks to &lt;a href="http://swiss.ubuntuforums.org/member.php?u=201956"&gt;Jimmybondo&lt;/a&gt; for the bulk of this work.&lt;br /&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;sudo apt-get install lirc-modules-source&lt;br /&gt;&lt;li&gt;cd /usr/src/lirc-0.8.6&lt;br /&gt;&lt;li&gt;wget http://www.skynet.ie/~shabba/zilog.diff&lt;br /&gt;&lt;li&gt;sudo patch -p0 &lt; ~/Downloads/zilog.diff&lt;li&gt;sudo dpkg-reconfigure lirc-modules-source&lt;/ul&gt;&lt;br&gt;&lt;br&gt;Now edit your /etc/init.d/hardware.conf file and replace lirc_pvr150 with lirc_zilog and you should be set.&lt;br&gt;&lt;br&gt;If you're not upgrading from MythBuntu 9.04 and/or don't have the rest of your configuration files, you can refer to my &lt;a href="http://notepad.bobkmertz.com/2007/11/pvr150-with-set-top-box-knoppmyth.html"&gt;prior post&lt;/a&gt; for what your lircd.conf file needs to look like.  You may also need to add the following to hardware.conf:&lt;br&gt;TRANSMITTER_DEVICE="/dev/lirc0"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-5793411451676053521?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://swiss.ubuntuforums.org/showthread.php?t=1294825&amp;page=3' title='PVR-150 IR Blaster on MythBuntu 9.10 with Dish Network'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/5793411451676053521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=5793411451676053521' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/5793411451676053521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/5793411451676053521'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2009/11/pvr-150-ir-blaster-on-mythbuntu-910.html' title='PVR-150 IR Blaster on MythBuntu 9.10 with Dish Network'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-8839811989105837266</id><published>2009-03-12T17:59:00.006-04:00</published><updated>2009-03-12T18:31:28.516-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardlock'/><category scheme='http://www.blogger.com/atom/ns#' term='trumpf'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='usb'/><title type='text'>Using USB devices on Windows under VMware ESXi (Aladdin Hardlock)</title><content type='html'>VMware is quickly becoming the best way to run servers of all kinds and now that ESXi is free we're going to continue to see more and more functions moved onto a virtualized platform.  Recently I've been working on a project for one of my customers which involves installing software for their Trumpf metal working equipment and ran into a small issue that I was able to overcome.&lt;br /&gt;&lt;br /&gt;In short, this hardware requires the use of a USB dongle or "Hardware key" in order to run (this is an anti-piracy feature).  The problem with ESXi is that you are not able to pass a USB device through to a virtual machine.  Thankfully, a handful of companies have created Networked USB Hubs such as the &lt;a href="http://www.belkin.com/networkusbhub/#"&gt;Belkin F5L009&lt;/a&gt;.  Everything immediately worked by plugging this in.... well, sort of :)&lt;br /&gt;&lt;br /&gt;The issue that occurs inside of a VMware server is when you install Windows there is no USB root devices found so Windows does not install the proper USB support files.  In this case, it's only a single file, USBD.SYS, that is missing.&lt;br /&gt;&lt;br /&gt;1- Connect your USB hub to your network&lt;br /&gt;2- Install the Belkin client software as the instructions explain&lt;br /&gt;3- Ignore any new hardware wizards that occur.&lt;br /&gt;4- Locate a USBD.SYS file.  Often times you can find this on the same machine but, if needed, look on another Windows machine or in the i386 folder on your Windows installation CD.  Copy this file to C:\windows\system32\drivers\&lt;br /&gt;5- Reboot the virtual machine&lt;br /&gt;6- Once the machine reboots, complete installation of your software, hardlock drivers, or any other USB device that you connect.  Everything should function as intended and you have a little box that holds physical USB ports for your virtual machine.&lt;br /&gt;&lt;br /&gt;Some notes on my installation.  &lt;br /&gt;&lt;br /&gt;* If you are using an Aladdin Hardlock USB key, you can most likely find new drivers on &lt;a href="http://www.aladdin.com/support/hardlock/index.aspx"&gt;Aladdin's Hardlock Page&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;* My Belkin Network USB Hub is running firmware version 1.2.0&lt;br /&gt;&lt;br /&gt;* I found it's extremely handy to dedicate the USB hub to a single machine and to tell it to auto connect new devices.  This literally makes the box just like real USB ports on the virtual machine.  There are lots of options to play with as far as sharing devices to other specific machines but I did not play with any of that.&lt;br /&gt;&lt;br /&gt;* Auto-connecting Hardlock keys is essential if you are running some type of server.  If you tell your key to only connect manually your software may start before you mount the USB device and a pissed off program would likely ensue :)&lt;br /&gt;&lt;br /&gt;* There are a few vendors that make an identical product but, from my research, I found that the Belkin is about 1/3 of the cost of most of them and also has some additional features.  Digi makes a product that many people are using with VMware since it's marketed as being compatible with VMware but you will spend lots of money for that sentence -- and that's really all it is because this type of a device really has NO interaction with VMware at all since its a physical device communicating directly with your virtual machine on the network.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-8839811989105837266?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/8839811989105837266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=8839811989105837266' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8839811989105837266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8839811989105837266'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2009/03/using-usb-devices-on-windows-under.html' title='Using USB devices on Windows under VMware ESXi (Aladdin Hardlock)'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-3672228972373396579</id><published>2008-10-15T15:42:00.003-04:00</published><updated>2008-10-15T15:46:46.652-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iptv'/><category scheme='http://www.blogger.com/atom/ns#' term='linuxmce'/><category scheme='http://www.blogger.com/atom/ns#' term='mythnettv'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><category scheme='http://www.blogger.com/atom/ns#' term='podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='rss'/><title type='text'>MythNetTV on LinuxMCE</title><content type='html'>There is a utility for MythTV called MythNetTV which can be found &lt;a href="http://www.stillhq.com/mythtv/mythnettv/"&gt;here&lt;/a&gt;. This utility does a great job at grabbing videos from an RSS feed and importing them in to MythTV's database as recorded programs. Set up is quite simple in LinuxMCE but is done via the command line. &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Login to a shell as linuxmce &lt;br /&gt;&lt;li&gt;Switch to a suitable directory. We'll just use /home/linuxmce &lt;br /&gt;&lt;li&gt;wget http://www.stillhq.com/mythtv/mythnettv/source/release-5/mythnettv-release-5.tgz &lt;br /&gt;&lt;li&gt;tar -xzvf mythnettv-release-5.tgz &lt;br /&gt;&lt;li&gt;cd mythnettv5-release &lt;br /&gt;&lt;li&gt;sudo apt-get install python-feedparser &lt;br /&gt;&lt;li&gt;sudo apt-get install python-ctypes &lt;br /&gt;&lt;li&gt;sudo apt-get install python-mysqldb &lt;br /&gt;&lt;li&gt;sudo apt-get install mencoder &lt;br /&gt;&lt;li&gt;mkdir data &lt;br /&gt;&lt;li&gt;Subscribe to Shows &lt;br /&gt;&lt;li&gt;./mythnettv subscribe "URL" "Title of Show" &lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;For example, if you want to subscribe to Tekzilla you would issue: &lt;br /&gt;&lt;br /&gt;./mythnettv subscribe "http://revision3.com/tekzilla/feed/quicktime-large?subshow=false" "Tekzilla" &lt;br /&gt;&lt;br /&gt;Repeat that step for any shows that you want to subscribe to &lt;br /&gt;&lt;br /&gt;Get your shows and import them &lt;br /&gt;&lt;br /&gt;./mythnettv update &lt;br /&gt;./mythnettv download 1 &lt;br /&gt;&lt;br /&gt;(the number that follows "download" is how many of each show MythNetTV should download and import) &lt;br /&gt;&lt;br /&gt;That's all there is to it.... The shows you subscribed to will now appear in LinuxMCE's Video category as well as in your MythTV Front Ends &lt;br /&gt;&lt;br /&gt;Automating the process &lt;br /&gt;&lt;br /&gt;In your mythnettv directory you can create a script that will automate this process and then add that to cron to automate the process. &lt;br /&gt;touch get-shows &lt;br /&gt;chmod +x get-shows &lt;br /&gt;nano get-shows &lt;br /&gt;&lt;br /&gt;When editting the get-shows script, just add the following lines: &lt;br /&gt;&lt;br /&gt;cd /home/linuxmce/mythnettv-release-5/&lt;br /&gt;./mythnettv update&lt;br /&gt;./mythnettv download 1&lt;br /&gt;&lt;br /&gt;Press Ctrl-X to save the file and then test it: &lt;br /&gt;./get-shows &lt;br /&gt;&lt;br /&gt;Now you can add it to cron so that it will be run automagically every day &lt;br /&gt;cd /etc/cron.daily &lt;br /&gt;sudo ln -s /home/linuxmce/mythnettv-release-5/get-shows mythnettv&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-3672228972373396579?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.linuxmce.com/index.php/MythNetTV' title='MythNetTV on LinuxMCE'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/3672228972373396579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=3672228972373396579' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/3672228972373396579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/3672228972373396579'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2008/10/mythnettv-on-linuxmce.html' title='MythNetTV on LinuxMCE'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-8487493627927105925</id><published>2008-08-24T21:31:00.004-04:00</published><updated>2009-11-10T12:51:11.905-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='s050x150yaj'/><category scheme='http://www.blogger.com/atom/ns#' term='template'/><category scheme='http://www.blogger.com/atom/ns#' term='panduit'/><category scheme='http://www.blogger.com/atom/ns#' term='labels'/><title type='text'>Panduit S050X150YAJ Label Template</title><content type='html'>So I've come up with a system of labeling each end of a cable with a "serial number" so that when your running cables between racks of servers inside of bundles of wires you can locate which 2 cable ends connect.  Then adding the serial number of the cables that are plugged into a server in your server database you're able to easily track them.  My customer I am working on this project ordered a pack of Panduit cable labels (&lt;a href="http://www.pcconnection.com/IPA/Shop/Product/Detail.htm?sku=7002658&amp;oext=1038A&amp;ci_src=14110944&amp;ci_sku=7002658"&gt;S050X150YAJ&lt;/a&gt;) that can be printed with a laser or inkjet printer.  Panduit also makes their own software for labeling, etc but its at least $200 depending on what options you want.  I created a template for these labels and I wanted to post that template here in case anyone else could benefit from it.  This is in the open document format and will work in Open Office and should also work in Microsoft Office (but you may need a plugin).&lt;br /&gt;&lt;br /&gt;Template: &lt;a href="content/Panduit-S050X150YAJ-Blank.odt"&gt;Panduit-S050X150YAJ-Blank.odt&lt;/a&gt; (Or &lt;a href="content/Panduit-S050X150YAJ-Blank.zip"&gt;ZIP version&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Just for reference, I put this together in NeoOffice 2.2.2 Patch 11 on a MacBook and based on a Samsung ML-2010 printer.  It should be universal but if something is wildly different, you may need to tweak it.&lt;br /&gt;&lt;br /&gt;&lt;img src="content/S050X150YAJ-dim.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-8487493627927105925?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/8487493627927105925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=8487493627927105925' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8487493627927105925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8487493627927105925'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2008/08/panduit-s050x150yaj-label-template.html' title='Panduit S050X150YAJ Label Template'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-487087554931669728</id><published>2008-08-09T18:30:00.003-04:00</published><updated>2008-08-09T18:48:28.097-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='cd'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><category scheme='http://www.blogger.com/atom/ns#' term='boot'/><category scheme='http://www.blogger.com/atom/ns#' term='macbook'/><category scheme='http://www.blogger.com/atom/ns#' term='eject'/><title type='text'>OSX is refusing to eject a CD</title><content type='html'>I had an ordeal tonight.....  I needed to burn an ISO to a blank CD so I put a, what I assumed was blank, CD in my MacBook and Toast informed me that it was not writable.  What was it?  Some Windows CD, I guess.  The problem was my machine refused to eject it.  I clicked the eject button multiple times (both on the keyboard and in finder) and it just wouldn't do anything.  I figured if I did a reboot of the machine I could eject it when it came back up -- wrong.  Whatever was going on on this CD was confusing the hell out of OSX.  After the reboot finder never loaded for me and half of my typical start up applications got stuck during boot up.  I happened to have Disk Utility in my dock so I tried to open that and, again, no luck.  &lt;br /&gt;&lt;br /&gt;First thing to try (did not work for me):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Put the computer into sleep mode&lt;br /&gt;&lt;li&gt;Press the eject button on the keyboard&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Second thing to try (this worked for me):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Power down your mac&lt;br /&gt;&lt;li&gt;Hold the mouse button (or trackpad button) down&lt;br /&gt;&lt;li&gt;While holding the button press the power button&lt;br /&gt;&lt;li&gt;After 30-120 seconds your mac should eject the CD&lt;br /&gt;&lt;li&gt;Let got of the mouse button and the machine should boot the OS&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;I will now list the three biggest wishes I have for Mac computers and despite how small and petty they seem they make a night and day difference to me (Please, Steve Jobs, take note):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;CD-Rom eject button and/or emergency pin hole&lt;br /&gt;&lt;li&gt;Hard drive activity light&lt;br /&gt;&lt;li&gt;Network (NIC) lights for activity and link&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-487087554931669728?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/487087554931669728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=487087554931669728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/487087554931669728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/487087554931669728'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2008/08/osx-is-refusing-to-eject-cd.html' title='OSX is refusing to eject a CD'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-6605540296456479531</id><published>2008-07-08T22:22:00.004-04:00</published><updated>2008-07-08T22:35:32.617-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ps2'/><category scheme='http://www.blogger.com/atom/ns#' term='converter'/><category scheme='http://www.blogger.com/atom/ns#' term='keyboard'/><category scheme='http://www.blogger.com/atom/ns#' term='mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><category scheme='http://www.blogger.com/atom/ns#' term='usb'/><category scheme='http://www.blogger.com/atom/ns#' term='sticky keys'/><category scheme='http://www.blogger.com/atom/ns#' term='adaptor'/><title type='text'>USB to PS/2 Chipsets</title><content type='html'>I've been dealing with a lot of issues with repeating keys (sticky keys) when using USB to PS/2 adaptors.  My one client needs to use these because the Startech IPKVM solutions mixed with the Aten masterswitch KVM switches requires it now that ATEN has discontinued the CS1216.  We've recently ordered in a bunch of different brands and I checked to see what the chipsets were in each of these devices.  It appears that the majority of them use a chipset by CHESEN and from what I am seeing that is the chipset that seems to have the most problems.  I don't have a solid solution for anyone with the problem but the Q-Stor is looking good at this point.  I simply want to post this list so that it is documented since I havent been able to find this information anywhere.  If I end up getting more brand names I will append this list.  If anyone has any reviews on any of these or another brand please leave a comment with the information.&lt;br /&gt;&lt;br /&gt;-----------&lt;br /&gt;Startech USBPS2PC&lt;br /&gt;&lt;br /&gt;PS2 to USB Converter:&lt;br /&gt;Version: 0.10&lt;br /&gt;  Bus Power (mA): 500&lt;br /&gt;  Speed: Up to 1.5 Mb/sec&lt;br /&gt;  Manufacturer: CHESEN&lt;br /&gt;  Product ID: 0x0205&lt;br /&gt;  Vendor ID: 0x0a81&lt;br /&gt;-----------&lt;br /&gt;SIIG USB to PS2 (UPC: 6 62774 02359 5)&lt;br /&gt;&lt;br /&gt;USB to PS2 Adaptor  V3.10:&lt;br /&gt;  Version: 3.10&lt;br /&gt;  Bus Power (mA): 500&lt;br /&gt;  Speed: Up to 1.5 Mb/sec&lt;br /&gt;  Manufacturer: Composite USB PS2 Converter&lt;br /&gt;  Product ID: 0x0001&lt;br /&gt;  Vendor ID: 0x0b39&lt;br /&gt;-----------&lt;br /&gt;Belkin F5U119vE1&lt;br /&gt;&lt;br /&gt;PS2 to USB Converter:&lt;br /&gt;  Version: 0.10&lt;br /&gt;  Bus Power (mA): 500&lt;br /&gt;  Speed: Up to 1.5 Mb/sec&lt;br /&gt;  Manufacturer: CHESEN&lt;br /&gt;  Product ID: 0x0205&lt;br /&gt;  Vendor ID: 0x0a81&lt;br /&gt;-----------&lt;br /&gt;Keyspan UPS2A&lt;br /&gt;&lt;br /&gt;PS2 to USB Converter:&lt;br /&gt;  Version: 0.10&lt;br /&gt;  Bus Power (mA): 500&lt;br /&gt;  Speed: Up to 1.5 Mb/sec&lt;br /&gt;  Manufacturer: CHESEN&lt;br /&gt;  Product ID: 0x0205&lt;br /&gt;  Vendor ID: 0x0a81&lt;br /&gt;-----------&lt;br /&gt;Rosewill RCW-606&lt;br /&gt;&lt;br /&gt;PS2 to USB Converter:&lt;br /&gt;  Version: 0.10&lt;br /&gt;  Bus Power (mA): 500&lt;br /&gt;  Speed: Up to 1.5 Mb/sec&lt;br /&gt;  Manufacturer: CHESEN&lt;br /&gt;  Product ID: 0x0205&lt;br /&gt;  Vendor ID: 0x0a81&lt;br /&gt;-----------&lt;br /&gt;Q-Stor QUPCBL&lt;br /&gt;&lt;br /&gt;Generic USB K/B:&lt;br /&gt;  Version: 0.01&lt;br /&gt;  Bus Power (mA): 500&lt;br /&gt;  Speed: Up to 1.5 Mb/sec&lt;br /&gt;  Product ID: 0x0017&lt;br /&gt;  Vendor ID: 0x13ba&lt;br /&gt;-----------&lt;br /&gt;Cables to Go 27225&lt;br /&gt;&lt;br /&gt;USB To keyboard Mouse Converter:&lt;br /&gt;  Version: 0.01&lt;br /&gt;  Bus Power (mA): 500&lt;br /&gt;  Speed: Up to 1.5 Mb/sec&lt;br /&gt;  Product ID: 0x8329&lt;br /&gt;  Vendor ID: 0x04b4&lt;br /&gt;-----------&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-6605540296456479531?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/6605540296456479531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=6605540296456479531' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/6605540296456479531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/6605540296456479531'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2008/07/usb-to-ps2-chipsets.html' title='USB to PS/2 Chipsets'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-1645941037938970190</id><published>2008-05-06T15:51:00.005-04:00</published><updated>2008-05-06T15:55:17.681-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='memory'/><category scheme='http://www.blogger.com/atom/ns#' term='flashing light'/><category scheme='http://www.blogger.com/atom/ns#' term='macbook'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Rapidly flashing light on MacBook</title><content type='html'>There seems to be a huge lack of information on this so I wanted to share it here.  If all of a sudden your MacBook or MacBook Pro refuses to start and all you get is the rapid flashing sleep light then the problem is most likely related to the RAM.  The MacBook tends to have RAM that is tough to install and, in mnay cases, you have to push the RAM into the slots MUCH harder than you would expect.  Since this is the case it is also highly likely that the RAM wasn't 100% installed at the factory and simply the normal moving of the laptop can losen it enough to create this issue.&lt;br /&gt;&lt;br /&gt;This isn't really a HOW-TO but just a bit of information for if your MacBook suddenly gives you the rapidly flashing light :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-1645941037938970190?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/1645941037938970190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=1645941037938970190' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/1645941037938970190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/1645941037938970190'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2008/05/rapidly-flashing-light-on-macbook.html' title='Rapidly flashing light on MacBook'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-8975659734506657841</id><published>2008-04-22T17:37:00.003-04:00</published><updated>2009-11-10T12:58:08.432-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sudo'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='rsync'/><category scheme='http://www.blogger.com/atom/ns#' term='keys'/><category scheme='http://www.blogger.com/atom/ns#' term='backups'/><title type='text'>Using sudo on a remote rsync session (via ssh)</title><content type='html'>I have been using rsync to back up almost a dozen servers for years now and I am convinced that it is the best solution for remote back ups.  A couple of months ago I ran into a situation where I need to rely on one of those backups and everything went expected.... well, sort of.  All of my data was there and I was able to get things back up and running on a new server in only a few hours but it would have been much quicker if the permissions and file ownership was preserved.  Once I got the system back up and running I wanted to make sure my the back up process was going to start preserving the file permissions and ownership.  I found that the to accomplish this you absolutely had to be putting the files on the remote server as root.  Of course, this is a security concern.  The solution was permitting the rsync process to have access to sudo.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Step 1:&lt;/i&gt;&lt;br /&gt;On the server that is receiving the back ups you need to add the following line to the &lt;b&gt;/etc/sudoers&lt;/b&gt; file (according to &lt;a href="http://www.blogger.com/profile/00471921932264253838"&gt;Johannes&lt;/a&gt; in comments this needs to be the last line -- thanks):&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;username ALL= NOPASSWD:/usr/bin/rsync&lt;/ul&gt;You will, of course, want to replace "username" with the user that the sending server will be logging in as through the rsync process.&lt;i&gt;Step 2:&lt;/i&gt;Now you'll need to make sure that your rsync command is using the &lt;b&gt;-a&lt;/b&gt; flag and then use the &lt;b&gt;--rsync-path&lt;/b&gt; flag to tell it to run the rsync process on the remote via sudo.  Here is an example command line:&lt;ul&gt;&lt;li&gt;rsync -av -e "ssh" --rsync-path="sudo rsync" /source/ user@server.com:/destination/&lt;/ul&gt;&lt;i&gt;You're all set&lt;/i&gt;You can combine this with using &lt;a href="http://notepad.bobkmertz.com/2007/10/automated-ssh-login-using-keys.html"&gt;automated SSH login keys&lt;/a&gt;.  Also, I want to note that this can compromise security in some scenarios.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-8975659734506657841?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://crashingdaily.wordpress.com/2007/06/29/rsync-and-sudo-over-ssh/' title='Using sudo on a remote rsync session (via ssh)'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/8975659734506657841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=8975659734506657841' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8975659734506657841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8975659734506657841'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2008/04/using-sudo-on-remote-rsync-session-via.html' title='Using sudo on a remote rsync session (via ssh)'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-4452227698823213539</id><published>2008-01-07T14:34:00.001-05:00</published><updated>2009-12-15T17:30:53.026-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openid'/><category scheme='http://www.blogger.com/atom/ns#' term='MyPhpID'/><title type='text'>Doing your own OpenID authentication</title><content type='html'>&lt;a href="http://www.openid.net"&gt;OpenID&lt;/a&gt; is an open standard for authentication on various, unrelated, websites.  There are many providers that will provide you with an OpenID idenity but, in some ways, this defeates the purpose of OpenID since your ID is controlled by a person other than you.  Just last night I ran into a situation where I was not able to do something with my ID that I wanted since I was using MyOpenID.com because I am not in control of my idenity page.  Thanks to a fit of insomnia I did some research and implemented my own OpenID idenity -- and it was actually a lot easier than I expected.&lt;br /&gt;&lt;br /&gt;In order to implemt this you need a website with PHP support.  This can be done on any web server whether you are in control of it or not but it is recommended that it be a server you are in control of for obvious security reasons.  We will use &lt;a href="http://siege.org/projects/phpMyID/"&gt;phpMyID&lt;/a&gt; since it is simple and serves the purpose well.&lt;br /&gt;&lt;br /&gt;This works well if it has its own domain or subdomain but it really isn't a required thing.  The OpenID that I created is &lt;a href="http://id.bobkmertz.com"&gt;http://id.bobkmertz.com&lt;/a&gt;. My instructions assume you've created a domain or sub-domain for your OpenID but you can adapt as needed. &lt;br /&gt;&lt;br /&gt;First thing, you need to register a domain and point that domain's DNS to your webserver and, of course, configure your webserver.  I'm not going to touch on that because if you're doing this you probably should already know how and if not there are plenty of web pages out there that can help you with that.&lt;br /&gt;&lt;br /&gt;Now you want to grab phpMyID.  The latest version is 0.7 BETA and can be &lt;a href="http://siege.org/projects/phpMyID/phpMyID-0.7.tgz"&gt;found here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;For me, I have my own server with shell access so I downloaded this directly to my server.  This is, by far, the easiest method of implementing this but not everyone has this access so you can download it to your local machine, do the edits and then upload the files to your webserver.  If you are uploading keep in mind that when I say editing a file you need to edit it and upload it if your not on the server.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;There are 2 files that make up phpMyID.  Really, that's it.  Your OpenID set up is going to use only 2 php files.  Let's get started:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Put both files from the archive into your public_html or www directory&lt;br /&gt;&lt;li&gt;Rename MyID.config.php to index.php&lt;br /&gt;&lt;li&gt;Edit index.php and change "auth_username", "auth_password", and "auth_realm"&lt;br /&gt;&lt;ul&gt;&lt;li&gt;auth_realm doesn't need to be changed but can be anything you want it to be&lt;br /&gt;&lt;li&gt;auth_username is the username you want to authenticate as - this is for your use only&lt;br /&gt;&lt;li&gt;auth_password is an encrypted password which you can use OpenSSL to create (&lt;i&gt;echo -n 'username:realm:password' | openssl md5&lt;/i&gt;).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Make sure you replace username and realm in the command with the same as used in auth_realm and auth_username&lt;br /&gt;&lt;li&gt;Windows User? &lt;a href="http://www.fourmilab.ch/md5/"&gt;Check here&lt;/a&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;To use SREG, remove hash (#) marks from the values under the sreg array and replace the values with appropriate information.  This allows these fields to be automagically filled in when logging into a site&lt;br /&gt;&lt;li&gt;Save the file&lt;br /&gt;&lt;/ol&gt;You now have a working OpenID service.  But if your OpenID is pointing to your OpenID then it would make sense to have some information about yourself on that page, wouldnt it?  The PHP script doesnt allow any easy way of editing your page but it's something that may well be desired.  You may ever want to use other Web 2.0 features like a &lt;a href="http://pavatar.com/"&gt;pavatar&lt;/a&gt;.  Let's make an easy way of doing this.&lt;ol&gt;&lt;li&gt;First, create a file to contain your HTML code.  We'll use "id.html" in this example.&lt;br /&gt;&lt;li&gt;In this file you'll want to create your HTML page as you wish.  Do not include body or html tags as we're going to leave the headers and such to the PHP script and then just inject this file in the middle.&lt;br /&gt;&lt;li&gt;Open MyID.php in your favorite editor and go to line 1392&lt;br /&gt;&lt;li&gt;Following the function call and the header information you will see some HTML code.  Under the body tag we want to add the following:&lt;br /&gt;&lt;table bgcolor=#000000 text=#FFFFFF border=0&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;';&lt;br /&gt;readfile("id.html");&lt;br /&gt;echo '&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;li&gt;Now look for the title tags above that.  You can change the title to whatever you'd like the name of your OpenID page to be.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;You should be all set and have an easier way to edit the information on your OpenID page.  &lt;br /&gt;&lt;br /&gt;Optionally, you may want to give credit to the author of phpMyID.  You can place an HTML link before the close body tag in MyID.php.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-4452227698823213539?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://siege.org/projects/phpMyID/' title='Doing your own OpenID authentication'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/4452227698823213539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=4452227698823213539' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/4452227698823213539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/4452227698823213539'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2008/01/doing-your-own-openid-authentication.html' title='Doing your own OpenID authentication'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-7404765098006430360</id><published>2008-01-03T22:01:00.000-05:00</published><updated>2008-01-03T22:21:30.113-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='foundry'/><category scheme='http://www.blogger.com/atom/ns#' term='yost'/><category scheme='http://www.blogger.com/atom/ns#' term='rs232'/><category scheme='http://www.blogger.com/atom/ns#' term='serial'/><category scheme='http://www.blogger.com/atom/ns#' term='cyclades'/><category scheme='http://www.blogger.com/atom/ns#' term='DTE'/><category scheme='http://www.blogger.com/atom/ns#' term='console'/><title type='text'>Pinouts for CAT5 to DTE RS232</title><content type='html'>If anyone has ever worked with a router or switch from Foundry Networks, then you know how difficult it is to get into the RS232 console port using the standard cables that you usually have available.  This is because Foundry is one of the few companies that use a straight through cable rather than the crossed cable that almost everything else uses.  Tonight I was working on installing an avocent cyclades CS4016 to connect to the serial consoles on all of our routers.  Using the ADB0039 dongles for our Cisco routers worked just fine but the ADB0036 dongles didn't work for our foundry routers and the reason for this is those dongles expect a Yost "flat" RJ45 cable which connects pin 1 to 8, 2 to 7, etc.  This is similar to a CAT5 cable except that CAT5 connects pin 1 to 1, 2 to 2, etc. I had access to RS232 DB9 modules so I worked out the pinouts that I needed to use to make an RJ45 to RS232-DTE adaptor using a CAT5 cable rather than the yost flat cable.  It's not rocket science but it took a little bit of thought especially when your mind got the interference of too many options for blue, green, etc :)&lt;br /&gt;&lt;br /&gt;Anyway, I know that I will need this again so I'm putting it here so I can find it and maybe I'll help someone else out too.  These colors are assuming that your DB9 blank modules have the standard Yost coloring.&lt;br /&gt;&lt;br /&gt;Standard Yost module on the RJ45 side:&lt;br /&gt;&lt;table border=1&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;PIN&lt;/B&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Color&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;center&gt;&lt;br /&gt;1&lt;br&gt;&lt;br /&gt;2&lt;br&gt;&lt;br /&gt;3&lt;br&gt;&lt;br /&gt;4&lt;br&gt;&lt;br /&gt;5&lt;br&gt;&lt;br /&gt;6&lt;br&gt;&lt;br /&gt;7&lt;br&gt;&lt;br /&gt;8&lt;br&gt;&lt;/center&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;Blue&lt;br&gt;&lt;br /&gt;Orange&lt;br&gt;&lt;br /&gt;Black&lt;br&gt;&lt;br /&gt;Red&lt;br&gt;&lt;br /&gt;Green&lt;br&gt;&lt;br /&gt;Yellow&lt;br&gt;&lt;br /&gt;Brown&lt;br&gt;&lt;br /&gt;White&lt;br&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Essentially all that we are doing is flipping that around.  Ultimately we will end up with the following colored cable going into these pins:&lt;br /&gt;&lt;table border=1&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;DB9 Pin&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;RJ45 Color&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;center&gt;&lt;br /&gt;1&lt;br&gt;&lt;br /&gt;2&lt;br&gt;&lt;br /&gt;3&lt;br&gt;&lt;br /&gt;4&lt;br&gt;&lt;br /&gt;5&lt;br&gt;&lt;br /&gt;6&lt;br&gt;&lt;br /&gt;7&lt;br&gt;&lt;br /&gt;8&lt;br&gt;&lt;br /&gt;9&lt;br&gt;&lt;/center&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;Brown&lt;br&gt;&lt;br /&gt;Yellow&lt;br&gt;&lt;br /&gt;Black&lt;br&gt;&lt;br /&gt;Orange&lt;br&gt;&lt;br /&gt;Green&lt;br&gt;&lt;br /&gt;&lt;i&gt;-UNUSED-&lt;/i&gt;&lt;br&gt;&lt;br /&gt;Blue&lt;br&gt;&lt;br /&gt;White&lt;br&gt;&lt;br /&gt;&lt;i&gt;-UNUSED-&lt;/i&gt;&lt;br&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-7404765098006430360?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.lammertbies.nl/comm/cable/yost-serial-rj45.html' title='Pinouts for CAT5 to DTE RS232'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/7404765098006430360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=7404765098006430360' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/7404765098006430360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/7404765098006430360'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2008/01/pinouts-for-cat5-to-dte-rs232.html' title='Pinouts for CAT5 to DTE RS232'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-3980270257040464737</id><published>2007-11-20T12:43:00.000-05:00</published><updated>2007-11-20T12:48:06.925-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='rsync'/><category scheme='http://www.blogger.com/atom/ns#' term='lockfile'/><title type='text'>Using lock files in a script</title><content type='html'>When dealing with automated rsync backup scripts you sometimes run in to the issue of a large file taking longer than expected and cron launching another rsync -- eventually spiraling things down.  The way to resolve this is create a lock file so that your script doesn't launch again if it is already running.  Just put the following in your script under the #!/bin/sh statements:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;LOCKFILE="/var/lock/rsync/lockfile"&lt;br /&gt;if [ -f $LOCKFILE ] &lt;br /&gt;then         &lt;br /&gt;echo Lock file exists...Exiting...         &lt;br /&gt;exit 0 &lt;br /&gt;else         &lt;br /&gt;touch $LOCKFILE &lt;br /&gt;fi&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This declares what the lock file is (you can make the file anything as long as the user running the script has access to read and write).  Then it checks to see if the lockfile exists and exits if it does.  If it doesnt exist, then it creates it.&lt;br /&gt;&lt;br /&gt;All thats left is to add the following to the end of the script so that it cleanly deletes the lockfile after running:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;rm -f $LOCKFILE &lt;br /&gt;exit 0&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://twitter.com/linuxchic"&gt;@linuxchic&lt;/a&gt; for helping out :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-3980270257040464737?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/3980270257040464737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=3980270257040464737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/3980270257040464737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/3980270257040464737'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/11/using-lock-files-in-script.html' title='Using lock files in a script'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-5899620102015373764</id><published>2007-11-13T17:31:00.000-05:00</published><updated>2007-11-13T17:43:31.430-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gutsy'/><category scheme='http://www.blogger.com/atom/ns#' term='xen'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Installing XEN on Ubuntu 7.10 (amd64)</title><content type='html'>After finding how-to upon how-to that said to use "apt-get install ubuntu-xen-server" and repeatedly banging my head against the wall because it kept telling me the package wasnt found, I finally found the Xen page at the Ubuntu Community site that explained the situation.  Apparently, there is no such package for amd64 kernels and you need to specify each needed package.  Thankfully, they list the command you need over there:&lt;br /&gt;&lt;br /&gt;(you do need to uncomment the universe repositories in /etc/apt/sources.list)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;sudo aptitude install linux-image-xen bridge-utils libxen3.1 python-xen-3.1 xen-docs-3.1 xen-hypervisor-3.1 xen-ioemu-3.1 xen-tools xen-utils-3.1&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Once you run that command, reboot the machine (may not be needed but won't hurt)&lt;br /&gt;&lt;br /&gt;Now you'll need to edit /etc/xen/xend-config.sxp and uncomment the line &lt;i&gt;(network-script network-bridge)&lt;/i&gt; and then comment &lt;i&gt;(network-script network-dummy)&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;They also recommend adding "max_loop=64" to the end of the "loop" line in /etc/modules but this may not be needed for all people -- again, it won't hurt.&lt;br /&gt;&lt;br /&gt;Now just reboot and it should all work.&lt;br /&gt;&lt;br /&gt;NOTE: If your using i386, "apt-get install ubuntu-xen-server" should work for you. It's also possible that by the time you are reading this, the same command will work for amd64 but as of this post, it does not&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-5899620102015373764?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://help.ubuntu.com/community/Xen#head-4a87991576d88512d7cf0e3ee62a1ee22c493a48' title='Installing XEN on Ubuntu 7.10 (amd64)'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/5899620102015373764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=5899620102015373764' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/5899620102015373764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/5899620102015373764'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/11/installing-xen-on-ubuntu-710-amd64.html' title='Installing XEN on Ubuntu 7.10 (amd64)'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-118430832232886813</id><published>2007-11-07T08:59:00.001-05:00</published><updated>2007-11-07T09:00:32.923-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><title type='text'>100 Mac OSX Applications</title><content type='html'>Someone I've been following on Twitter posted a great list of his 100 top applications for Mac OSX.  I wanted to link back to him from here.  Click on the "Reference Link" at the bottom of this post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-118430832232886813?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://chris.pirillo.com/2007/11/06/top-100-mac-apps/' title='100 Mac OSX Applications'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/118430832232886813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=118430832232886813' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/118430832232886813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/118430832232886813'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/11/100-mac-osx-applications.html' title='100 Mac OSX Applications'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-8606509891925739884</id><published>2007-11-07T08:08:00.000-05:00</published><updated>2007-11-07T09:12:04.527-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knoppmyth'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><title type='text'>PVR150 with Set Top Box (KnoppMyth)</title><content type='html'>&lt;i&gt;Last year I wrote a HOWTO that I put on the KnoppMyth Wiki.  While I don't use KnoppMyth any longer and I feel that MythBuntu is a much easier solution I found myself needing information from that how-to and I apparently forget what I had named my document.  After finding it I figured that I would post it here so I could find it if I needed to refer to it in the future.  I included the updates that others had made as well.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Setting up KnoppMyth with one or more Hauppauge PVR-150 Cards using Dish Network or other Set Top Box&lt;br /&gt;&lt;br /&gt;First, thanks to Mark who pointed me in the right direction at his site: http://www.blushingpenguin.com/mark/blog/?p=24 &lt;br /&gt;&lt;br /&gt;Reference System: KnoppMyth R5C7 with 2 Dish Network (Echostar) set top boxes running on two seperate Hauppauge PVR-150 PCI Cards (*NOT* the MCE version which does not have the IR Blaster) &lt;br /&gt;&lt;br /&gt;Setting up KnoppMyth to use a set top box with the Hauppauge PVR-150's IR Blaster is actually pretty simple but there seems to be a lack of directions on exactly what needs to be done. Hopefully this will shed some light. &lt;br /&gt;&lt;br /&gt;First of all, KnoppMyth already has lircd installed and running and should have already installed the drivers for the IR Blaster on the PVR-150. You can confirm this by checking for /dev/lircd. You should also see /dev/lirc and if you have a second PVR-150, you should see /dev/lirc1 (but you wont see an lircd1 at this time - we'll fix that later). &lt;br /&gt;Step One &lt;br /&gt;&lt;br /&gt;Make sure the lirc_pvr150 module is loading (needed for R5F27). &lt;br /&gt;&lt;br /&gt;In some KnoppMyth distributions (like R5F27), lirc_i2c is loaded instead of lirc_pvr150. lirc_pvr150 is needed for the IR Blaster to work. To use lirc_pvr150, change following line in /etc/lirc/hardware.conf from: &lt;br /&gt;MODULES="lirc_dev lirc_i2c"&lt;br /&gt;&lt;br /&gt;to &lt;br /&gt;MODULES="lirc_dev lirc_pvr150"&lt;br /&gt;&lt;br /&gt;and reboot. &lt;br /&gt;Step Two&lt;br /&gt;&lt;br /&gt;Grab the latest firmware file. You can find a copy over at Mark's blog: http://www.blushingpenguin.com/mark/lmilk/haup-ir-blaster.bin &lt;br /&gt;&lt;br /&gt;Note that this loads the firmware into RAM so it will increase your RAM usage. The alternative would be throwing the card in a windows machine and flashing it using Hauppauge's utilities. &lt;br /&gt;&lt;br /&gt;Place that file in /usr/lib/hotplug/firmware on your KnoppMyth system and reboot. This step may be able to be skipped but there are some versions of the cards that have issues with IR lock ups. &lt;br /&gt;Step Three&lt;br /&gt;&lt;br /&gt;We need to find the codeset that your set top box uses. For my Dish Network / Echostar units, I used code set 1_28. If you need to find your code set, check out the blog listed at the top of this wiki and look at step #9 (you may need to look at step #6 to get an lircd.conf file as well). He has a script that you can download and use to find the code set for your set top box. If you have Dish Network tuner(s), then here is what you need in your lircd.conf file: &lt;br /&gt;--- Begin file insert ---&lt;br /&gt;&lt;br /&gt;begin remote&lt;br /&gt;&lt;br /&gt;  name          blaster&lt;br /&gt;  bits          32&lt;br /&gt;  flags         RAW_CODES&lt;br /&gt;  eps           0&lt;br /&gt;  aeps          0&lt;br /&gt;  plead         0&lt;br /&gt;  gap           333333&lt;br /&gt;  repeat_bit    0&lt;br /&gt;&lt;br /&gt;  begin raw_codes&lt;br /&gt;    name 0&lt;br /&gt;    2149318656&lt;br /&gt;    name 1&lt;br /&gt;    2149318657&lt;br /&gt;    name 2&lt;br /&gt;    2149318658&lt;br /&gt;    name 3&lt;br /&gt;    2149318659&lt;br /&gt;    name 4&lt;br /&gt;    2149318660&lt;br /&gt;    name 5&lt;br /&gt;    2149318661&lt;br /&gt;    name 6&lt;br /&gt;    2149318662&lt;br /&gt;    name 7&lt;br /&gt;    2149318663&lt;br /&gt;    name 8&lt;br /&gt;    2149318664&lt;br /&gt;    name 9&lt;br /&gt;    2149318665&lt;br /&gt;    name POWER&lt;br /&gt;    2149318666&lt;br /&gt;    name CH_UP&lt;br /&gt;    2149318671&lt;br /&gt;    name CH_DOWN&lt;br /&gt;    2149318672&lt;br /&gt;    name MUTE&lt;br /&gt;    2149318673&lt;br /&gt;    name VOL_DOWN&lt;br /&gt;    2149318674&lt;br /&gt;    name CH_PREVIOUS&lt;br /&gt;    2149318675&lt;br /&gt;    name VOL_UP&lt;br /&gt;    2149318676&lt;br /&gt;    name DISPLAY&lt;br /&gt;    2149318677&lt;br /&gt;    name EXIT&lt;br /&gt;    2149318680&lt;br /&gt;    name GUIDE&lt;br /&gt;    2149318683&lt;br /&gt;    name SELECT&lt;br /&gt;    2149318686&lt;br /&gt;    name AV&lt;br /&gt;    2149318697&lt;br /&gt;    name ENTER&lt;br /&gt;    2149318699&lt;br /&gt;    name MENU&lt;br /&gt;    2149318703&lt;br /&gt;    name MUP&lt;br /&gt;    2149318704&lt;br /&gt;    name MDOWN&lt;br /&gt;    2149318705&lt;br /&gt;    name MLEFT&lt;br /&gt;    2149318706&lt;br /&gt;    name MRIGHT&lt;br /&gt;    2149318707&lt;br /&gt;  end raw_codes&lt;br /&gt;&lt;br /&gt;end remote&lt;br /&gt;&lt;br /&gt;--- End File Insert ---&lt;br /&gt;&lt;br /&gt;If you did the installation of KnoppMyth correctly and told the installer what remote you had, your remote control and IR receiver should already be up and running. &lt;br /&gt;Step Four&lt;br /&gt;&lt;br /&gt;We're actually almost done if you have only one tuner. All that is needed now is to have a script that mythtv can point to when it needs to change the channel. Again, Mark wrote a great script that works well. Paste this into a file called "change_channel" or something else that makes you happy and do "chmod +x change_channel". A good location for this script would be /usr/local/bin. Make sure your mythtv user has access to this script. &lt;br /&gt;--- Begin Script ---&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;&lt;br /&gt;# make sure to set this string to&lt;br /&gt;# the corresponding remote in /etc/lircd.conf&lt;br /&gt;$remote_name = "blaster";&lt;br /&gt;&lt;br /&gt;# Let's assume you don't need to press enter after you punch in a&lt;br /&gt;# channel number. Change this to 1 if your cable box expects you press&lt;br /&gt;# enter after each command&lt;br /&gt;$needs_enter = 0;&lt;br /&gt;&lt;br /&gt;# Change this to point to your rc executable&lt;br /&gt;$rc_command = "/usr/local/bin/irsend";&lt;br /&gt;&lt;br /&gt;# This subroutine actually sends the signal to the cable box&lt;br /&gt;sub change_SIGNAL {&lt;br /&gt;    my($SIGNAL) = @_;&lt;br /&gt;    system ("$rc_command SEND_ONCE $remote_name $SIGNAL");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$SIGNAL=$ARGV[0];&lt;br /&gt;open F, "&gt;&gt; /var/log/channel.log";&lt;br /&gt;print F "channel changing $SIGNAL\n";&lt;br /&gt;close F;&lt;br /&gt;print "channel changing $SIGNAL\n";&lt;br /&gt;&lt;br /&gt;# Checks if $SIGNAL begins with a digit&lt;br /&gt;# If it detects that the string is made up of digits, then it puts&lt;br /&gt;# spaces between the digits.  Ex. 1234 becomes 1 2 3 4&lt;br /&gt;if ( $SIGNAL =~ /^\d+$/ )&lt;br /&gt;{&lt;br /&gt;    my $length = length($SIGNAL);&lt;br /&gt;    my $counter = 0;&lt;br /&gt;    my $temp;&lt;br /&gt;&lt;br /&gt;    while( $counter &lt; $length )&lt;br /&gt;    {&lt;br /&gt;        $temp .= substr($SIGNAL,$counter,1) ." ";&lt;br /&gt;        $counter++;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    change_SIGNAL($temp);&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;    # argument we passed was not made up of digits, so it must be a&lt;br /&gt;    # command that does something other than channel changing on the&lt;br /&gt;    # cable box&lt;br /&gt;    change_SIGNAL($SIGNAL);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Do we need to send enter&lt;br /&gt;if ( $needs_enter )&lt;br /&gt;{&lt;br /&gt;    system ("$rc_command SEND_ONCE $remote_name ENTER");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;--- End Script ---&lt;br /&gt;&lt;br /&gt;If your set top box needs an enter key pressed after a channel is entered, change the appropriate value to "1" in the script instead of "0" ... For Dish Network, 0 works fine. &lt;br /&gt;Step Five&lt;br /&gt;&lt;br /&gt;Test your script. Simply do a "./change_channel xxx" where xxx is a valid channel number on your set top box. With a little luck, your set top box will change channels. &lt;br /&gt;&lt;br /&gt;If your script changes the channel without issue, you're set. Now just tell MythTV to use the script when it needs to change the channel. Run mythtv-setup and go to the Input Connections and in the appropriate tuner fill in the blank for the script to change channels. Just put "/usr/local/bin/change_channel" and MythTV will automatically append the channel number each time it is needed. &lt;br /&gt;Stop here unless you have more than one tuner&lt;br /&gt;Step Six&lt;br /&gt;&lt;br /&gt;If you have more than one tuner, you'll need to create a seperate PID for the second PVR-150 card. You do NOT need a seperate configuration file. If you only have one tuner, what are you doing reading this section? :) &lt;br /&gt;&lt;br /&gt;Creating the second PID is rather simple. This command will start another process of lircd without affecting the first. &lt;br /&gt;&lt;br /&gt;/usr/sbin/lircd --device=/dev/lirc1 --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid &lt;br /&gt;&lt;br /&gt;This is dependant on the fact that /dev/lirc1 is already created -- If KnoppMyth was installed properly, it should have already detected your second PVR-150 and created that device. If this command worked properly, you should now see a /dev/lircd1 device. &lt;br /&gt;Step Seven&lt;br /&gt;&lt;br /&gt;Now you need to create a separate change channel script for this tuner. Just copy the change_channel script you created above to something such as change_channel_1 and do a chmod +x on it as well. Edit the file and change the $rc_command line to this: &lt;br /&gt;$rc_command = "/usr/local/bin/irsend --device=/dev/lircd1";&lt;br /&gt;Step Eight&lt;br /&gt;&lt;br /&gt;Tell the second tuner to use this script when changing channels the same way we did in Step Four above &lt;br /&gt;Step Nine&lt;br /&gt;&lt;br /&gt;Now you probably want KnoppMyth to start the second instance of lircd on boot. To do that, create /etc/init.d/lirc1 and include these 2 lines: &lt;br /&gt;#! /bin/sh&lt;br /&gt;/usr/sbin/lircd --device=/dev/lirc1 --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid&lt;br /&gt;&lt;br /&gt;Do a chmod +x on this file and now tell the system to export it to all run levels by doing "update-rc.d lirc1 defaults". &lt;br /&gt;--&lt;br /&gt;Howto by bibleboy @ 3:31am EDT 07/07/06&lt;br /&gt;Edited by Bigbro @ 16:50 PT 09/18/06 -Fixed the ARG statement syntax. &lt;br /&gt;  Wikimarkup made the bracket 0 bracket appear incorrectly. &lt;br /&gt;  inserted a tilde infront of first bracket.  Works with R5C7!&lt;br /&gt;Edited by RBucci @ 7:59 ET 10/15/07 - Added new Step 1 for R5F27.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-8606509891925739884?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://knoppmythwiki.org/index.php?page=PVR150withSetTopBox' title='PVR150 with Set Top Box (KnoppMyth)'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/8606509891925739884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=8606509891925739884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8606509891925739884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8606509891925739884'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/11/pvr150-with-set-top-box-knoppmyth.html' title='PVR150 with Set Top Box (KnoppMyth)'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-2816364754110456247</id><published>2007-10-26T23:03:00.000-04:00</published><updated>2007-10-27T11:01:45.888-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><category scheme='http://www.blogger.com/atom/ns#' term='burning'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Making a back up copy of OSX Leopard install disk on a SL-DVD</title><content type='html'>I got OSX Leopard tonight and I want to make a back up copy....  but there are a lot of weird things going on in the partitioning of the disk.... Not to mention it's more than 7GB.  Of course, you know, a ton of that are language packs and such that you know that you are never going to use so let's shrink it down.....  After searching google and experimenting with my own knowledge I've come up with this process.&lt;br /&gt;&lt;br /&gt;Overview:  Basically you just need to be able to edit what is on the CD.  Of course, CD's are not read/write and if you create an ISO, it most likely will only mount read only.  What we're going to do is create an brand new image that is read/write and then we'll dump what's on the entire DVD onto that image.  Once we're in that position, we can delete things we don't need on the install CD.  Once we have it the way we want it, we'll create another image for a 4.7GB DVD and copy it over to that....  then we can do what we want.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Insert the OSX Leopard DVD&lt;br /&gt;&lt;li&gt;Open Disk Utility&lt;br /&gt;&lt;li&gt;Create "New Image"&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Name can be anything&lt;br /&gt;&lt;li&gt;It's easiest to save on your desktop&lt;br /&gt;&lt;li&gt;Size: 8.0GB (Dual Layer)&lt;br /&gt;&lt;li&gt;Encryption: None&lt;br /&gt;&lt;li&gt;Format: Spare Disk Image&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Click the image you just created and then click the "restore" tab for that.&lt;br /&gt;Drag the "Mac OSX Install DVD" image into the source and then drag the image you just created into the destination field.&lt;br /&gt;&lt;li&gt;Click Restore&lt;br /&gt;&lt;li&gt;Go grab a soda . . . Take a Nap . . .&lt;br /&gt;&lt;li&gt;Create an "Extras" folder (or whatever you want to name it) on your desktop. We will use this to dump things to that we don't need on the first install procedure.&lt;br /&gt;&lt;li&gt;In Finder, go to to "Go To Folder" option under the "Go" menu and type in "/Volumes/[image name]/System" and click go. (Of course, replace image name with whatever you named your 8.0GB image above)&lt;br /&gt;&lt;li&gt;Go into the Installation folder and then into packages and delete what you don't need and move what you may need later but not immediately (Language packs, printer drivers, etc can safely be deleted or moved to your extras).&lt;br /&gt;&lt;li&gt;Drag the "Optional Installs" folder from the top of the CD tree into the extras folder you created above and delete from your image (we'll dump this to another DVD later, if desired)&lt;br /&gt;&lt;li&gt;Empty your trash and then "Get Info" for your mounted image.  If it's less than 4.5GB or so, continue... if not, go back and delete/move some more.&lt;br /&gt;&lt;li&gt;Create 2 new images with the same settings as at the beginning of this how-to except both of these should be 4.7GB Single Layer DVD size (leopard-disc1 and leopard-disc2 would be good names for these).  If you are an advanced user, you can create the size as custom and fill in variables that would hold the specific data that you have created - this would create smaller image files for archival purposes.&lt;br /&gt;&lt;li&gt;Drag anything you dumped in to the extras folder into the disc2 mount in finder&lt;br /&gt;&lt;li&gt;Click on your disc1 image in disk utility and click the restore tab.&lt;br /&gt;&lt;li&gt;Repeat the same thing as we did above except your source is the image that we just deleted the extras off of and the destination is your disc1 image.&lt;br /&gt;&lt;li&gt;Take another nap . . . You'll be well reseted for the install :)&lt;br /&gt;&lt;li&gt;You can now burn directly from those 2 images.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Theoretically, If you want an ISO image, you can get DMGConverter (&lt;a href="http://www.versiontracker.com/dyn/moreinfo/macosx/32275"&gt;http://www.versiontracker.com/dyn/moreinfo/macosx/32275&lt;/a&gt;) and use that to convert your sparseimage files to DVD/CD Master files and then simply rename those with an ISO extension.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-2816364754110456247?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/2816364754110456247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=2816364754110456247' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/2816364754110456247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/2816364754110456247'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/10/making-back-up-copy-of-osx-leopard.html' title='Making a back up copy of OSX Leopard install disk on a SL-DVD'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-1923463305459826968</id><published>2007-10-22T15:56:00.001-04:00</published><updated>2008-04-22T17:51:08.519-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='rsync'/><category scheme='http://www.blogger.com/atom/ns#' term='keys'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><category scheme='http://www.blogger.com/atom/ns#' term='backups'/><title type='text'>Automated SSH login using keys</title><content type='html'>I always seem to forget how to do this when I need to.  When setting up an automated backup you obviously don't want the script to ask for a password so you set up a key pair.&lt;br /&gt;&lt;br /&gt;Machine sending the backups (must be logged in as the user that will be doing the backups):&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ssh-keygen -t dsa -b 2048 -f /any/directory/filename&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Then you copy the resulting filename.pub file (NOT the file with no extension) to the authorized_keys file on the receiving machine in the .ssh directory under the user that will receive the backups.  If the authorized_keys file doesnt exist, just rename the file you copied... if it does exist, append it to that file.&lt;br /&gt;&lt;br /&gt;If your using rsync, use this command:&lt;br /&gt;&lt;br /&gt;rsync -e 'ssh -i /any/directory/filename' source/ user@host:/destination/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-1923463305459826968?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/1923463305459826968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=1923463305459826968' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/1923463305459826968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/1923463305459826968'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/10/automated-ssh-login-using-keys.html' title='Automated SSH login using keys'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-1954841370320494585</id><published>2007-10-22T12:57:00.000-04:00</published><updated>2007-10-22T12:58:41.350-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='command line'/><category scheme='http://www.blogger.com/atom/ns#' term='wget'/><title type='text'>Using WGET to retrieve all files of a certain type</title><content type='html'>wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off -i ~/mp3blogs.txt &lt;br /&gt;&lt;br /&gt;And here's what this all means: &lt;br /&gt;&lt;br /&gt;-r -H -l1 -np These options tell wget to download recursively. That means it goes to a URL, downloads the page there, then follows every link it finds. The -H tells the app to span domains, meaning it should follow links that point away from the blog. And the -l1 (a lowercase L with a numeral one) means to only go one level deep; that is, don't follow links on the linked site. In other words, these commands work together to ensure that you don't send wget off to download the entire Web -- or at least as much as will fit on your hard drive. Rather, it will take each link from your list of blogs, and download it. The -np switch stands for "no parent", which instructs wget to never follow a link up to a parent directory. &lt;br /&gt;&lt;br /&gt;We don't, however, want all the links -- just those that point to audio files we haven't yet seen. Including -A.mp3 tells wget to only download files that end with the .mp3 extension. And -N turns on timestamping, which means wget won't download something with the same name unless it's newer. &lt;br /&gt;&lt;br /&gt;To keep things clean, we'll add -nd, which makes the app save every thing it finds in one directory, rather than mirroring the directory structure of linked sites. And -erobots=off tells wget to ignore the standard robots.txt files. Normally, this would be a terrible idea, since we'd want to honor the wishes of the site owner. However, since we're only grabbing one file per site, we can safely skip these and keep our directory much cleaner. Also, along the lines of good net citizenship, we'll add the -w5 to wait 5 seconds between each request as to not pound the poor blogs. &lt;br /&gt;&lt;br /&gt;Finally, -i ~/mp3blogs.txt is a little shortcut. Typically, I'd just add a URL to the command line with wget and start the downloading. But since I wanted to visit multiple mp3 blogs, I listed their addresses in a text file (one per line) and told wget to use that as the input.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-1954841370320494585?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://techpatterns.com/forums/about894.html' title='Using WGET to retrieve all files of a certain type'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/1954841370320494585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=1954841370320494585' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/1954841370320494585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/1954841370320494585'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/10/using-wget-to-retrieve-all-files-of.html' title='Using WGET to retrieve all files of a certain type'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-7297574785968414318</id><published>2007-10-02T15:34:00.000-04:00</published><updated>2007-10-02T15:38:28.675-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='movies'/><category scheme='http://www.blogger.com/atom/ns#' term='players'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd+r'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd-r'/><title type='text'>Blank DVD Compatibility</title><content type='html'>Every now and then I run into someone who is wondering why their burnt DVDs aren't playing in their player.  Each time this happens I always go nuts trying to find the site that lets you search for DVD models and see what other user's have been using as far as media types and brands.&lt;br /&gt;&lt;br /&gt;This is it:&lt;br /&gt;http://www.videohelp.com/dvdplayers&lt;br /&gt;&lt;br /&gt;Just a note from my experience -- As a rule of thumb, the less you pay for a DVD player, the more likely you are to be able to play the larger majority of blank DVDs.  The cheap Target and Wal-Mart specials from CyberHome and Apex generally play whatever you throw at them and they usually support the most data formats (such as MP3, SVCD, VCD, etc).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-7297574785968414318?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.videohelp.com/dvdplayers' title='Blank DVD Compatibility'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/7297574785968414318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=7297574785968414318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/7297574785968414318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/7297574785968414318'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/10/blank-dvd-compatibility.html' title='Blank DVD Compatibility'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-1379130316125777984</id><published>2007-09-30T22:38:00.000-04:00</published><updated>2007-09-30T22:42:31.764-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='google apps'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Google Repositories (apt-get)</title><content type='html'>Add this line to /etc/apt/sources.list&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;font color=#CC0001&gt;deb http://dl.google.com/linux/deb/ stable non-free&lt;/font&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Import the key by running this&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;font color=#CC0001&gt;wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add&lt;/font&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Then of course run "apt-get update" and your ready to instantly install Google's apps using apt-get.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-1379130316125777984?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.debianadmin.com/use-google-linux-repositories-in-debian.html' title='Google Repositories (apt-get)'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/1379130316125777984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=1379130316125777984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/1379130316125777984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/1379130316125777984'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/09/google-repositories-apt-get.html' title='Google Repositories (apt-get)'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-8327652326822977823</id><published>2007-09-25T21:40:00.000-04:00</published><updated>2007-09-25T21:50:52.084-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sysrescuecd'/><category scheme='http://www.blogger.com/atom/ns#' term='kanotix'/><category scheme='http://www.blogger.com/atom/ns#' term='troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='recovery'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='system rescue'/><category scheme='http://www.blogger.com/atom/ns#' term='rescue'/><title type='text'>System Rescue CDs</title><content type='html'>I just wanted to put a little note here because I was reminded tonight of 2 very good rescue CDs that I have used in the past and I highly recommend to anyone who has a broken system (Linux, Windows, and I think even Mac).&lt;br /&gt;&lt;br /&gt;The first and primary CD that I carry in my arsenal when I go on jobs is SystemRescueCD.  This Linux distro is based on GenToo -- but fear not as there is no knowledge of GenToo required.  The CD boots and detects just about any hardware you can throw at it and has a lot of VERY useful tools for recovering data and fixing stuff.  The kernel has NTFS support built into it and the distro includes ntfs3g.  There are also tools that rival (and maybe beat) PartitionMagic.  It's also extremely handy for booting a system in a data center and letting a customer access the machine remotely (great for remote hands type services) as it includes setup scripts for networking and for starting sshd.... so you could walk even the most novice (ok, not all, I'll admit) techs.  They also now have a PPC distro which theoretically will let you recover even MaxOS systems -- but I havent had the opportunity to try this yet.&lt;br /&gt;&lt;br /&gt;You definately don't want to be without this CD if you do any kind of computer services.  You'd be amazed at how handy it is.&lt;br /&gt;&lt;br /&gt;Link: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sysresccd.org/Main_Page"&gt;http://www.sysresccd.org/Main_Page&lt;/a&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;The second CD is the same similar idea but it's based on Debian with an Ubuntu kernel.  The name of this one is Kanotix.  The advantage this CD has over SysRescueCD is that it allows you to apt-get applications on the fly.  It also has a slightly different hardware driver selection but you'll probably find it has the majority of what you need.  I'm definately a synaptics fan but this is still only my second choice for recovering systems because I think SysRescueCD definately has the streamlining down and makes quick tasks remain just that: quick tasks.&lt;br /&gt;&lt;br /&gt;This is still something that you want to keep in your arsenal.  There have been a few situations where SysRescueCD didn't cut it for me and I pulled out Kanotix and it worked fine.  It's also handy if you have some advanced stuff that you need to work on since you can easily apt-get utilities that you may need.&lt;br /&gt;&lt;br /&gt;Link:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://kanotix.com/changelang-eng.html"&gt;http://kanotix.com/changelang-eng.html&lt;/a&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-8327652326822977823?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.sysresccd.org/Main_Page' title='System Rescue CDs'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/8327652326822977823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=8327652326822977823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8327652326822977823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8327652326822977823'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/09/system-rescue-cds.html' title='System Rescue CDs'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-8402630664613133768</id><published>2007-09-19T00:54:00.000-04:00</published><updated>2007-09-19T01:02:16.187-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trixbox'/><category scheme='http://www.blogger.com/atom/ns#' term='voip'/><category scheme='http://www.blogger.com/atom/ns#' term='asterisk'/><category scheme='http://www.blogger.com/atom/ns#' term='phones'/><title type='text'>Making TrixBox not like TrixBox</title><content type='html'>Today I was hammered with information about why TrixBox is starting to suck.....  my easy-to-install VoIP solution was recently acquired by fonality who wants to make it an easy-to-pay-them VoIP solution.  Fear not... I have been provided with solutions from my friend over at &lt;a href="http://www.eicomm.net"&gt;eicomm&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Those of us who like open source and VoIP solutions and are lazier than most have a new hero: &lt;a href="http://www.script-trix.us/"&gt;Tom King&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Right now the currently solution is to install TrixBox 2.3.0.1 and then run the script from Tom's site (&lt;a href="http://www.script-trix.us/trixbox_2_3_xb.htm"&gt;http://www.script-trix.us/trixbox_2_3_xb.htm&lt;/a&gt;).  Yes -- this will break a lot of the trixbox functionality but from what I'm reading this is exactly what you want to do.&lt;br /&gt;&lt;br /&gt;Of course, if you have lots of money you can go with TrixBox Pro which does offer some cool features such as online backup and sync.... but for those of us that are maintaining systems for Non-Profit organizations and for personal hobby, well, that just isn't an option.&lt;br /&gt;&lt;br /&gt;So basically, if you want paid solutions, look no further than &lt;a href="http://www.trixbox.com"&gt;TrixBox Pro&lt;/a&gt; but if you want real open source, visit Tom's site above and see what he currently has cooking.  As of this post, he is working on a bare centos5 script which will seemingly be the way to go once he releases it.&lt;br /&gt;&lt;br /&gt;Thanks Tom!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-8402630664613133768?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://nerdvittles.com/index.php?p=190' title='Making TrixBox not like TrixBox'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/8402630664613133768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=8402630664613133768' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8402630664613133768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/8402630664613133768'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/09/making-trixbox-not-like-trixbox.html' title='Making TrixBox not like TrixBox'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-6399827678857456076</id><published>2007-09-09T20:46:00.000-04:00</published><updated>2007-09-09T21:01:46.785-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mytharchive'/><category scheme='http://www.blogger.com/atom/ns#' term='mythbuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><title type='text'>MythArchive on a seperate front end machine</title><content type='html'>Apparently MythBuntu (and MythTV under Ubuntu) will only support MythArchive if it is on the same machine as the backend.  Basically, if you have a backend only machine you are unable to burn your recordings to a DVD from your front end machine.  There is currently a bug open (118700) but, sadly, it doesnt seem like anyone has an interest in fixing it soonish.  The good news is there is a very easy solution to the problem.&lt;br /&gt;&lt;br /&gt;First, mount your recordings directory from your backend server on to your front end machine.  This requires installing nfs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;apt-get install nfs-user-server&lt;br /&gt;nano /etc/exports&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Add this line: &lt;i&gt;/var/lib/mythtv/recordings 192.168.1.5(ro)&lt;/i&gt;&lt;br /&gt;(Make sure you replace the IP address with your front end's IP)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;/etc/init.d/nfs-user/server restart&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now you need to mount that on your front end machine.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;apt-get install nfs-client&lt;/b&gt;&lt;br /&gt;&lt;b&gt;nano /etc/fstab&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Add this line: &lt;i&gt;192.168.1.3:/var/lib/mythtv/recordings /mnt/recordings nfs&lt;/i&gt;&lt;br /&gt;(Replace that IP address with your backend's IP; Make sure /mnt/recordings exists)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;mount -a&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now you need to add an entry to the mythconverg database.  You can do this from either machine.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;mysql -h 192.168.1.3 -u mythtv -p mythconverg&lt;/b&gt;&lt;br /&gt;(Replace the IP with your database server - usually same as your backend)&lt;br /&gt;&lt;br /&gt;Now you need to run this command at the mysql prompt:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;insert into settings (value, data, hostname) VALUES ('RecordFilePrefix', '/mnt/recordings', 'myth-frontend');&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;(You'll need to change myth-frontend to whatever the hostname is of your front end)&lt;br /&gt;&lt;br /&gt;That should take care of it&lt;br /&gt;DISCLAIMER: I am not a database guy....  I don't even fully understand what that command does.  I am simply taking information from the bug report and putting it in to a step by step list.  I can confirm that this worked for me in my situation and it most likely will work for you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-6399827678857456076?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://bugs.launchpad.net/ubuntu/+source/mythplugins/+bug/118700' title='MythArchive on a seperate front end machine'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/6399827678857456076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=6399827678857456076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/6399827678857456076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/6399827678857456076'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/09/mytharchive-on-seperate-front-end.html' title='MythArchive on a seperate front end machine'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37223629.post-1577444355714005743</id><published>2007-09-08T11:44:00.000-04:00</published><updated>2007-09-08T12:30:15.487-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mythbuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='mythmusic'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><category scheme='http://www.blogger.com/atom/ns#' term='nfs'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><category scheme='http://www.blogger.com/atom/ns#' term='playlists'/><category scheme='http://www.blogger.com/atom/ns#' term='itunes'/><title type='text'>MythMusic with iTunes</title><content type='html'>Now that I am putting more effort into MythTV being the control of entertainment in my house, I've begun working on the MythMusic application.  Currently I use iTunes on my iMac for my music library which syncs with my iPod and scrobbles tracks to Last.fm.  The last thing I want is another application that I need to keep synced.  Here are things I found to make life a little easier/&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Trick #1: Share your iTunes Music folder via NFS&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;On my Mac I moved my iTunes store folder to /music-lib/ rather than the directory it uses by default.  My primary reason for doing this was nothing more than the default folder contains a space in the name and this makes things a little harder for NFS.  Once all your MP3 files are there, we need to set up the NFS share.... which really isn't all that hard.  I used the following guide to do this:&lt;br /&gt;&lt;a href="http://mactechnotes.blogspot.com/2005/09/mac-os-x-as-nfs-server.html"&gt;http://mactechnotes.blogspot.com/2005/09/mac-os-x-as-nfs-server.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Note: On Windows you could substitute this process to use Samba and adjust accordingly&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now you need to mount that share on all applicable MythTV machines.  Currently I use Mythbuntu and I have a primary backend machine and 2 front end only machines.  First thing you'll need to do is "apt-get install nfs-client" to allow Mythbuntu to connect to an NFS share.  Once that's installed, create an empty directory to mount your music in.  I created /mnt/music/ for my systems.  Now add the following line into your /etc/fstab file on all of your myth machines:&lt;br /&gt;&lt;br /&gt;SERVER:/music-lib /mnt/music nfs&lt;br /&gt;(Substitue SERVER with your iTunes' machines IP address and adjust the share names as needed)&lt;br /&gt;&lt;br /&gt;Now what's left is to go into the mythmusic settings and change the recordings directory to /mnt/music.&lt;br /&gt;&lt;br /&gt;You're ready to listen to music!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Trick #2: iTunes Playlists&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;So MythMusic has an extreme lack of intuitive playlist editting....  actually, you can't even call it a playlist editor.  I want an easy was to use my iTunes playlists.  Two people have done an amazing job at a perl script that takes care of a conversion and imports the iTunes playlists into your mythconverg database.  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mickelson.org/2006/11/07/mythmusic-mac-os-x-and-itunes/"&gt;http://www.mickelson.org/2006/11/07/mythmusic-mac-os-x-and-itunes/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://simonster.com/mt/archives/000038.html"&gt;http://simonster.com/mt/archives/000038.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Grab that perl script and throw it on the machine that serves as your mythtv backend.  On mythbuntu you need to install XML:Parser which can be done by "apt-get install libxml-parser-perl".  Edit the variables at the top of that script and do a chmod +x on the perl script.  If you have multiple machines, you will need to run the script different times with the hostname set as each of the myth machines you want the playlists to be active on.&lt;br /&gt;&lt;br /&gt;Before you run that script, you need to make sure the iTunes library XML file is in your music-lib directory.  I renamed mine to exclude spaces and then copied it to the music-lib directory on my iMac.&lt;br /&gt;&lt;br /&gt;Run the script and you should now have playlists in MythMusic.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Trick #3: Automate Trick #2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I have a lot of smart playlists and I am often creating new playlists and, of course, always adding new music to my library.  I don't want to have to do this everytime I make an update so I automated the process.  I created a script on my iMac to copy the "real" iTunes XML file into the music-lib directory every hour.  OSX has dropped the use of cron and replaced it with launchd.  Here is a guide you can use to get this set up:&lt;br /&gt;&lt;a href="http://www.macdevcenter.com/pub/a/mac/2005/11/15/terminal5.html?page=3"&gt;http://www.macdevcenter.com/pub/a/mac/2005/11/15/terminal5.html?page=3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once that's set up, you need to set up a crontab on your myth system(s) to run the perl script.  If you do this hourly, make sure you set your iTunes computer to copy the file before the crontab runs on your myth machines.  For instance, make your itunes machine run on minuet 05 and the myth machines run on 08.&lt;br /&gt;&lt;br /&gt;Now you're set....  things should automatically update for you.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Trick #4: Scrobble to your Last.fm account&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I use Last.fm an awful lot and if I start using MythMusic over iTunes, I lose that scrobbling. I have not completed this yet (or even really began looking at it) but here is a link where you can get a patch.  I need to figure out how to apply this on an active mythbuntu system.  I'll report back when/if I come up with something :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://yaron.org/mythscrobbler/"&gt;http://yaron.org/mythscrobbler/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37223629-1577444355714005743?l=notepad.bobkmertz.com%2Findex.html' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/1577444355714005743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37223629&amp;postID=1577444355714005743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/1577444355714005743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37223629/posts/default/1577444355714005743'/><link rel='alternate' type='text/html' href='http://notepad.bobkmertz.com/2007/09/mythmusic-with-itunes.html' title='MythMusic with iTunes'/><author><name>Bob K Mertz</name><uri>http://www.blogger.com/profile/06426923610693427001</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06609779227796772221'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>