Computer and Technology Consulting
Located in Elgin Ilinois, I am available to do computer and technology consulting for your business, home or organization. Visit TekTroy.com for more details.
How Not to Hang a Swing

I went to Home Depot the other day to find something to use to hang a swing that had broken. I came across this vinyl coated steel cable that seemed like it would be perfect — the cable can support over 1000lbs and the vinyl coating is easy on the kids little hands. It looked good at first, but after a few days of swinging this is what it looked like. Apparently the cable twists as it stretches and when tension is released it gets twisted and kinked up.
Office View
View from the office. Test post from a camera phone through Flickr to my WordPress blog.
My web hosting provider (Go Daddy) does not allow most outbound connections from their inexpensive shared linux hosting accounts. Because of this, I was unable to get the post-by-email feature of WordPress to work (as it needs to make a POP3 connection to a mail server). My friend mentioned to me how he was able to post images to his blog through Flickr without needing the outbound POP3 connection. This is a first test at sending pictures through Flickr.
Google Apps and Jabber/XMPP
Background: I have a couple of domains that I am using with Google Apps. Google Apps includes Google Talk, which is Google’s Jabber/XMPP based Instant Messaging. I also have a normal GMail account that also includes Google Talk. While experimenting with an IM interface to Twitter I found that although Google Talk in my normal GMail account could talk to other Jabber systems, Google Talk in my Google Apps account could not.
I found the answer in Kavinda Munasinghe’s Blog, and in two Google documents (here) and (here).
As I understand it Jabber/XMPP uses DNS entries to find the servers needed to talk to another domain. For example, if you want to talk to joe@example.com, your Jabber server will use DNS to look up service (SRV) records for the jabber/xmpp service in the example.com domain. Here is an excerpt from the ejabberd documentation regarding the SRV records:
There are 3 SRV records that can be created for a Jabberd installation:
_jabber._tcp. -> .:5269 _xmpp-server._tcp. -> .:5269 _xmpp-client._tcp. -> .:5222The first and second of these specify the host and the port for server-to-server (s2s) communications. There are two listings for this because the new XMPP protocol, regarding SRV records, is replacing the older Jabber standards. The third listing above specifies host and port for unencrypted client communications (c2s).
Putting it all together, the records needed for a Google Apps domain (example.com) are:
_xmpp-server._tcp.example.com. IN SRV 5 0 5269 xmpp-server.l.google.com.
_xmpp-server._tcp.example.com. IN SRV 20 0 5269 xmpp-server1.l.google.com.
_xmpp-server._tcp.example.com. IN SRV 20 0 5269 xmpp-server2.l.google.com.
_xmpp-server._tcp.example.com. IN SRV 20 0 5269 xmpp-server3.l.google.com.
_xmpp-server._tcp.example.com. IN SRV 20 0 5269 xmpp-server4.l.google.com.
_jabber._tcp.example.com. IN SRV 5 0 5269 xmpp-server.l.google.com.
_jabber._tcp.example.com. IN SRV 20 0 5269 xmpp-server1.l.google.com.
_jabber._tcp.example.com. IN SRV 20 0 5269 xmpp-server2.l.google.com.
_jabber._tcp.example.com. IN SRV 20 0 5269 xmpp-server3.l.google.com.
_jabber._tcp.example.com. IN SRV 20 0 5269 xmpp-server4.l.google.com.
_xmpp-client._tcp.example.com IN SRV 5 0 5222 talk.l.google.com
_xmpp-client._tcp.example.com IN SRV 20 0 5222 talk1.l.google.com
_xmpp-client._tcp.example.com IN SRV 20 0 5222 talk2.l.google.com
_xmpp-client._tcp.example.com IN SRV 20 0 5222 talk3.l.google.com
_xmpp-client._tcp.example.com IN SRV 20 0 5222 talk4.l.google.com
Swinging
Shrinking a Linux LVM Partition
This is a work-in-progress as I am figuring this out as I do it.
I have a notebook computer that has linux on it (Fedora 8). At one time I had it set up to dual-boot linux and XP, but when I purchased a larger drive for it I figured I would use the old drive for XP and the new drive for linux and just swap them around when I want to change OS. That was stupid. It is way too much of a hassle to swap the drives around so now I almost never use XP. The problem is that once in a while there is an application I would like to use that only runs in windows and dows not work well in Wine.
So now I want to move things around on the drive to make room for a Windows partition. Here is what I currently have:
Laptop Hard Drive: 160GB: 19457 cylinders of 16065 * 512 bytes.
| Device | Start | End | Usage |
| /dev/sda1 | 1 | 25 | Linux xt3 /boot |
| /dev/sda2 | 26 | 16000 | Linux LVM |
| – | 16001 | 19457 | Unallocated |
I also have a 250GB USB Hard Drive: 30401 cylinders of 16065 * 512 bytes.
| Device | Start | End | Usage |
| /dev/sdb1 | 1 | 5009 | NTFS (Copy of XP partition from my original drive) |
| /dev/sdb2 | 5100 | 5112 | Linux ext3 /boot (from old drive) |
| /dev/sdb3 | 5113 | 12161 | Linux lvm (from old drive) |
| – | 12162 | 30401 | Unallocated |
The layout of the LVM Physical Volume is as follows:
LogVolRoot0 – 625 extents (Fedora 7 root)
(unused) – 625 extents
LVFedora8 – 625 extents (Fedora 8 root)
LogVolSwap – 62 extents
LVHome – 1948 extents
(unused) – 878 extents
I decided to try using the Logical Volume Management GUI tool to try to move things around. First I created an LVM partition on the unallocated portion of the USB hard drive (/dev/sdb4). I did this by going to the “Uninitialized Entries” section of the tool, expanding the /dev/sdb entry, selecting “Partition 4″ and then selecting “Initalize Entry”.
Next I selected the physical view of my volume group, than on the diagram I selected the extents of one of the Logical Volumes that I wish to move around (LVHome), and then selected “Migrate Selected Extents from Volume”. This gave me a windows that allowed me to choose where to put the extents… I chose the LVM partition on /dev/sdb4. This took quite a while to complete. It is kind of amazing that it even worked while the volume was active and the file system mounted and in-use.
Next… the same thing for LVFedora8. This is a little scary since this is the root volume that I am currently running on. This took a while too… and the system is still running.
Next, I am going to move the LVFedroa8 volume back, and hope it puts it at the open space towards the front of the partition (right after LogVolRoot0). Ok… well that did not quite work =(. It put it right back where it was. Next I will try moving it to the USB drive, and then moving it back with the “contiguous” option selected. Fingers crossed… Nope! Once again it put it back where it was originally. I may have something to do with the allocation policy that is configured on the Volume group… but I think I found a different way to do this…
While the move was going on I opened up a shell windows and did a ps. I saw that it was using the “pvmove” command to move the data:
/usr/sbin/pvmove –alloc contiguous /dev/sdb4:1948-2572 /dev/sda1
Looking at the man page for pvmove revealed that I can specify which tracks I want to use in both the source and destination. I am going to try to use the pvmove command to do this instead of using the gui.
At first, I tried using the same disk as the source and destination… just moving to a different location. This did not work. Here is what did work:
- /usr/sbin/pvmove –interval 30 –name LogVolSwap /dev/sda2:1875-1936 /dev/sdb4
- /usr/sbin/pvmove –interval 30 –name LogVolSwap /dev/sdb4:1948-2009 /dev/sda2:624-686
- /usr/sbin/pvmove –name LVFedora8 –interval 30 /dev/sda2:1937-2561 /dev/sdb4
- /usr/sbin/pvmove –name LVFedora8 –interval 30 /dev/sdb4:1948-2572 /dev/sda2:686-1311
- pvresize –setphysicalvolumesize 100G /dev/sda2
- fdisk /dev/sda (delete and recreate partition 2 as a smaller size, create 3rd partition for XP)
- pvresize /dev/sda2
- /usr/sbin/pvmove –name LogVolHome –interval 30 /dev/sdb4:0-1947 /dev/sda2
A few general notes on pvmove: The –interval 30 tells is to display a status on the terminal every 30 seconds, –name LogVolSwap tells it to only move tracks that are within the specified source that are also part of the LogVolSwap logical volume.
Line 1: This is moving the swap LV from the interal drive (sda1) to the USB drive (sda2).
Line 2: Move the swap back to the internal drive, but put it in the first unused portion of the partition (tracks 686-1311).
Line 3: Move the Fedora 8 LV from the internal drive to the USB drive.
Line 4: Move Fedora 8 back to the internal drive, but starting at the first free track.
Line 5: Resize the LVM physical volume to a size smaller than we are going to make the partition (for now)
Line 6: Resize the partition with fdisk.
Line 7: Resize the LVM physical volume up to the partition size (don’t specify a size and pvresize will make it fit in the partition).
Line 8: Move the Home LV from the USB drive to the internal drive.
Now I dd the XP partition from the USB drive to /dev/sda3, edit by grub.conf to chainload, reboot and … it doesn’t work.
Possible problems…
- The XP partition is too far into the drive to be bootable (I have heard rumors of a limit around 130GB)
- XP doesn’t like the fact that it is on a different partition
- I messed up copying XP
Thats as far as I got before I ran out of time. I’ll keep this out here as a starting point in case I come back to this later.
Cool Dew
Tyler Creek Flood
Walmart Has Non-DRM mp3 Downloads

Even though my family has at least four personal media players (Cowon iAudio X5′s and F2′s), we have been stuck with buying CD’s and ripping them into files (mostly OGG Vorbis format) for the players. The reason: I could not find any legal music download sites with a decent selection of music that supports linux. There was the now-defunct and questionably legal allofmp3.com site that would work in just about any system/browser and supported many formats (mp3, ogg, flac). There were also some mostly indie sites that did not have much selection… especially when it comes to Christian music, but I could not find anything legal with both a good selection of titles and the ability to download and play the music in both linux and on media players.
Walmart has had a music download site for a while, and it was in the same boat with the other sites I had found. They had a good selection, but it only supported Windows with DRM (Digital Rights Management) encumbered media files. This week
I learned that they are now offering non-DRM mp3 downloads that will play on just about any music player and linux (if you load mp3 support in it)! When I first heard about it I immediately went to walmart.com and tried to browse to the music downloads, but I was disappointed to see a message saying I needed Windows to continue. A bit later, though, I found a link that got me in to where I could actually browse, purchase and download music in mp3 format. Yay!!! They don’t have their entire selection available in mp3 format yet, but it looks like a good start and I hope they will continue to add more. Now if they would only support Ogg Vorbis!
BTW: I run RockBox on my X5.
Linux Notebook Sound Configuration
Every time I install a new linux release on my notebook I go for about a month or so with manually rmmoding and modprobing the snd-atiixp driver to get the sound to work until I come up with an automatic way again to make it just work at boot. So I will put it here so I can remember it in the future and make it available to anyone els that can use it.
It seems that at one point in the past I was able to make it work by blacklisting something (in /etc/modprobe.d/blacklist I think), but I haven’t been able to remember what that solution was. I did find that after booting I could simply do an “rmmod snd-atiixp ; modprobe snd-atiixp” to make it work, so my previous solution was to create an init script in /etc/init.d/soundcard to remove and reinstall the kernel module.
This time I did it by hacking up /etc/modprobe.conf. Here are the relevant lines from my system… ymmv:
install snd-atiixp /sbin/modprobe --ignore-install snd-atiixp && \\
/sbin/modprobe -r --ignore-remove snd-atiixp && \\
/sbin/modprobe --ignore-install snd-atiixp && \\
/usr/sbin/alsactl restore >/dev/null || :
remove snd-atiixp \\
{ /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; \\
/sbin/modprobe -r --ignore-remove snd-atiixp




