<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dogsbody.org &#187; Computing</title>
	<atom:link href="http://www.dogsbody.org/category/computing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dogsbody.org</link>
	<description>Diary of a mad man</description>
	<lastBuildDate>Thu, 09 Sep 2010 14:15:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Internet Catapult</title>
		<link>http://www.dogsbody.org/2010/05/internet-catapult/</link>
		<comments>http://www.dogsbody.org/2010/05/internet-catapult/#comments</comments>
		<pubDate>Mon, 03 May 2010 19:56:24 +0000</pubDate>
		<dc:creator>Dogsbody</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Catapult]]></category>
		<category><![CDATA[Ethernet]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[Trebuchet]]></category>
		<category><![CDATA[txtlocal]]></category>

		<guid isPermaLink="false">http://www.dogsbody.org/?p=389</guid>
		<description><![CDATA[In February 2010 I was asked if I knew of a way to throw wet sponges at someone when they donated money on the internet&#8230; A few weeks later I found myself in the back garden of a house with a hand built catapult, lot of wires and enough wet sponges to make It&#8217;s a<p><a href="http://www.dogsbody.org/2010/05/internet-catapult/">Internet Catapult</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></description>
			<content:encoded><![CDATA[<p>In February 2010 I was asked if I knew of a way to throw wet sponges at someone when they donated money on the internet&#8230; A few weeks later I found myself in the back garden of a house with a hand built catapult, lot of wires and enough wet sponges to make It&#8217;s a Knockout jealous.  Here&#8217;s what happened and how I made it work&#8230;</p>
<h3>The Brief</h3>
<p>The original brief was set by <a href="http://www.wavespr.com/">Claire Thompson</a> as a fund-raising idea for <a href="http://uk.twestival.com/">Twestival UK</a>.  I think she wanted a simple screen display that would show when someone donated or tweeted a donation so that a wet sponge could then be launched at her in some stocks while the whole things was streamed online.  I of course ran with this idea and by the time she had finished talking had proposed a sponge throwing catapult and automated launch mechanism that would fire automatically when someone donated.</p>
<h3>The Build &#8211; Catapult</h3>
<p>The catapult itself wasn&#8217;t that hard to build.  With a huge amount of help from my father and my parents garage we made it up as we went along.</p>
<p><strong>Items Used</strong></p>
<ul>
<li>2 x 4m lengths of 25x50mm externally treated wood (cut into 4 x 2m lengths to fit in my car)</li>
<li>A garden gate hinge</li>
<li>Something heavy (we used a large block of aluminium that we&#8217;ve had in the garage for years)</li>
<li>A 5 litre container cut open to hold the wet sponges</li>
<li>2 bolts to hold on the heavy block</li>
<li>A pile of wood screws</li>
</ul>
<p>Construction took us an afternoon.  I knew that a trebuchet would throw the sponges further but that they  are also harder to setup and fire accurately so we settled on a classic  catapult design, it only needed to last one day.  We built the square frame first, then the middle bar and swinging arm before adding legs and weight.</p>
<p>After a few test fires in the garden it worked straight away but was obvious that it would have to be pegged down to be used.  We could have made the legs bigger but we wanted to be able to get it in the boot of my car without disassembly!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/AIn4xS09sOY&amp;hl=en_GB&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/AIn4xS09sOY&amp;hl=en_GB&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>The Build &#8211; Firing Mechanism</h3>
<p>As is always the way, the hardware is the easy part, the software is the hard part!  Having recently discovered the Arduino and itching to play around with the concept I started coding up something that fitted the bill.  I won&#8217;t bore you with all the dead ends I went down however I did need to adjust the initial brief a little.</p>
<p><strong>Items Used</strong></p>
<ul>
<li><a href="http://arduino.cc/en/Main/ArduinoBoardDuemilanove">Arduino Duemilanove</a></li>
<li><a href="http://www.coolcomponents.co.uk/catalog/product_info.php?products_id=232">Arduino Ethernet Shield</a></li>
<li><a href="http://www.coolcomponents.co.uk/catalog/product_info.php?products_id=443">Arduino ProtoShield Kit</a></li>
<li><a href="http://www.coolcomponents.co.uk/catalog/product_info.php?cPath=50&amp;products_id=317">Arduino Double Tall Extender</a></li>
<li><a href="http://www.coolcomponents.co.uk/catalog/product_info.php?products_id=472">Serial Enabled 16&#215;2 LCD</a></li>
<li><a href="http://www.oomlout.co.uk/servo-continuous-rotation-p-235.html">Continuous Rotation Servo</a></li>
<li>Lots of Cat5 cable</li>
</ul>
<p>The idea was to make the Arduino completely self running and getting it updates via the Ethernet Shield.  What is the point of having an Arduino connected to a computer, you may as well programme the computer to do the same job.  Having said that, I was running out of time and I realised that some people had already donated money to the cause.  People that had already donated were due a sponge throw so while the system had to be automated it needed a way of manually adding launches.</p>
<p>Getting the Arduino to connected to the internet wasn&#8217;t too hard however I would be using this in a strangers back garden with no way of knowing how they connected to the internet.  I decided to use the <a href="http://gkaindl.com/software/arduino-ethernet">excellent DHCP and DNS library&#8217;s from Georg Kaindl</a> which once set up saved me huge amounts of time debugging problems.</p>
<p>I also wanted a way of thanking the users that donated so used a serial enabled LCD screen to display where the donation had come from.  This also proved very useful when it came to debugging as the serial console takes a long time to start on my computer (damn you Java).  Using the LCD screen meant I could display debug information about the DHCP lease or status of the program without having to connect a computer.</p>
<p>The final part of the puzzle was the release mechanism.  I used the servo and some gate hooks/eyes to create a firing pin which you should be able to see on the video below.</p>
<p>The program was originally setup to search twitter for keywords and while I could make it work I couldn&#8217;t guarantee that tweets wouldn&#8217;t be missed.  I wanted to tie it into PayPal or another payment system but time was running out and I didn&#8217;t have any of the charity account details.  So, I decided to cheat :-p</p>
<p>So that I could control the catapult remotely I decided to use the excellent <a href="http://www.txtlocal.co.uk/?tlrx=31701">txtlocal service</a> which gives a free API for incoming SMS (and very good rates on outgoing ones too).  This meant that I could send a text message from my phone and fire the catapult while displaying any message I like on the LCD screen.  This was also a hack so that I can rate limit the firing and not miss any donations but it worked well!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/N_-GP3SVpio&amp;hl=en_GB&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/N_-GP3SVpio&amp;hl=en_GB&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>The Results</h3>
<p>On the day there were a few problems.  The catapult was connected to the internet and worked perfectly!  We did loads of test fires and there was no problems at all.  Then we launched Ustream, and everything stopped.  Ustream worked fine, the catapult worked fine, but the two together wouldn&#8217;t work at all.  My hunch is that Ustream data was flooding the Ethernet shield and blocked all communication.  After much cobbling we got things working enough to throw wet sponges and much fun was had by all.</p>
<p><object id="utv611009" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="386" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="name" value="utv_n_425460" /><param name="flashvars" value="loc=%2F&amp;autoplay=false&amp;vid=5782384&amp;locale=en_US" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.ustream.tv/flash/video/5782384" /><embed id="utv611009" type="application/x-shockwave-flash" width="480" height="386" src="http://www.ustream.tv/flash/video/5782384" allowscriptaccess="always" allowfullscreen="true" flashvars="loc=%2F&amp;autoplay=false&amp;vid=5782384&amp;locale=en_US" name="utv_n_425460"></embed></object></p>
<h3>Final Notes</h3>
<p>Seeing as this entire project was done in a few weeks in spare time I think it went quite well.  I have missed out a lot of my trial and error but please feel free to post questions in the comments and I&#8217;ll attempt to answer.</p>
<p><a href="http://www.dogsbody.org/2010/05/internet-catapult/">Internet Catapult</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dogsbody.org/2010/05/internet-catapult/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Silicone valleys, Germanium hills&#8230;</title>
		<link>http://www.dogsbody.org/2007/12/silicone-valleys-germanium-hills/</link>
		<comments>http://www.dogsbody.org/2007/12/silicone-valleys-germanium-hills/#comments</comments>
		<pubDate>Mon, 31 Dec 2007 03:01:43 +0000</pubDate>
		<dc:creator>Dogsbody</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Procrastination]]></category>
		<category><![CDATA[Archimedes]]></category>
		<category><![CDATA[poem]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Some things stay with you forever and I would like to think that the following little poem helped shape me.  You see, the first computer I ever played with was the family Archimedes 310 and way before I had ever even heard the term &#8220;hacking&#8221; I was poking around in some of the library files<p><a href="http://www.dogsbody.org/2007/12/silicone-valleys-germanium-hills/">Silicone valleys, Germanium hills&#8230;</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Some things stay with you forever and I would like to think that the following little poem helped shape me.  You see, the first computer I ever played with was the family <a href="http://en.wikipedia.org/wiki/Acorn_Archimedes">Archimedes 310</a> and way before I had ever even heard the term &#8220;hacking&#8221; I was poking around in some of the library files trying to see how things worked.  One of the first library files I looked at contained the following poem stuck in the middle of the code!  I still don&#8217;t know who wrote it so I&#8217;m going to credit the author of the library.  Surprisingly I can&#8217;t find this poem anywhere on the internet!</p>
<blockquote><p>Silicone valleys,<br />
Germanium hills,<br />
Digital journeys,<br />
And virtual thrills.</p>
<p>Greetings, O hacker,<br />
Feeling unwell?<br />
Microchip tracker,<br />
Welcome to hell.</p>
<p><em> Jon Ribbens &#8211; DoggySoft</em></p></blockquote>
<p><a href="http://www.dogsbody.org/2007/12/silicone-valleys-germanium-hills/">Silicone valleys, Germanium hills&#8230;</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dogsbody.org/2007/12/silicone-valleys-germanium-hills/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Securing Majordomo</title>
		<link>http://www.dogsbody.org/2007/10/securing-majordomo/</link>
		<comments>http://www.dogsbody.org/2007/10/securing-majordomo/#comments</comments>
		<pubDate>Sun, 14 Oct 2007 03:41:09 +0000</pubDate>
		<dc:creator>Dogsbody</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Majordomo]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Did you know that buy default majordomo will give a list of all the addresses on your mailing list to anyone? I have written a script that will tidy up majordomo config files as follows&#8230; Only shows lists you are subscribed to with the &#8216;lists&#8217; command Does not allow anyone to use the &#8216;who&#8217; command<p><a href="http://www.dogsbody.org/2007/10/securing-majordomo/">Securing Majordomo</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Did you know that buy default majordomo will give a list of all the addresses on your mailing list to anyone?</p>
<p>I have written a script that will tidy up majordomo config files  as follows&#8230;</p>
<ul>
<li>Only shows lists you are subscribed to with the &#8216;lists&#8217; command</li>
<li>Does not allow anyone to use the &#8216;who&#8217; command to get addresses</li>
<li>Doesn&#8217;t allow anyone to use the &#8216;which&#8217; command to get addresses</li>
</ul>
<p>This can either be run once or added to /etc/cron.daily so that any new lists created are forced to the correct settings.</p>
<p>Simply download the file, change the directory path at the top of the file if required and execute. <span class="download"><a href="http://www.dogsbody.org/wp-content/uploads/2007/10/majordomo-security.zip">Download Here</a>.<br />
</span></p>
<p><a href="http://www.dogsbody.org/2007/10/securing-majordomo/">Securing Majordomo</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dogsbody.org/2007/10/securing-majordomo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My backup solution</title>
		<link>http://www.dogsbody.org/2006/12/my-backup-solution/</link>
		<comments>http://www.dogsbody.org/2006/12/my-backup-solution/#comments</comments>
		<pubDate>Sun, 10 Dec 2006 01:00:00 +0000</pubDate>
		<dc:creator>Dogsbody</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[Rsync]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I have just finished spending this weekend completely replacing my backup process. Seeing as a few people have asked and it&#8217;s all fresh in my head I&#8217;ll try and write down some key lessons/decisions I came across along the way&#8230; OK, OK, I want to show off a bit too :-p I have a lot<p><a href="http://www.dogsbody.org/2006/12/my-backup-solution/">My backup solution</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I have just finished spending this weekend completely replacing my backup process.  Seeing as a few people have asked and it&#8217;s all fresh in my head I&#8217;ll try and write down some key lessons/decisions I came across along the way&#8230;  OK, OK, I want to show off a bit too :-p</p>
<p>I have a lot of very old boxes at home so the brief was to build a system that I could use as a web &amp; mail server at home (I have pro hosting out on the internet for big projects), a file server (NAS) for home machines, a music server for home entertainment and a backup server to back up *all* my machines.  I decided on an AMD 64 with 4 x <a href="http://www.wdc.com/en/products/products.asp?DriveID=158">400GB SATA drives</a> and an <a href="http://www.adaptec.com/en-US/products/raid/sata/AAR-2410SA/">Adaptec hardware RAID controller</a> set up as RAID 5.  I chose <a href="http://www.centos.org/">CentOS</a> for the OS and the now <a href="http://bluequartz.org/">opensource cobalt GUI</a> for mail &amp; web (for those of you that don&#8217;t know there is a very nice <a href="http://www.nuonce.net/bq-cd.php">combined installer</a>).  A combination of <a href="http://www.ampache.org/">Ampache</a> and <a href="http://www.mt-daapd.org/">mt-daapd</a> work brilliantly as music servers.</p>
<p>But anyway, back to the backups!</p>
<p>I tried very hard to find an off the shelf package that was cheap/free but failed to find one that ticked all the boxes.  In the end I picked <a href="http://rsync.samba.org/">rsync</a> as my backup tool of choice and decided to roll my own, here is why&#8230;</p>
<p>Firstly <a href="http://rsync.samba.org/">rsync</a> means that only data that has changed since the last backup will be transferred, this means it&#8217;s a lot quicker to backup an entire server both on the CPU and bandwidth.  By shell scripting it I can make my backups do exactly what, my scripts are now over 700 lines but they do do exactly what I want and can easily force an extra backup of one or all machines at any time.</p>
<p>Using SSH (<strong>&#8211;rsh=ssh</strong> option) all communication between the backup server and the server being backed up can be done securely without opening any extra insecure ports on each system to be backed up.</p>
<p>SSH can also be used to automatically (and securely) log on to the remote system and run a system specific pre-backup script, I use this to do such things as export any MySQL databases so they can be imported back in instead of having to recover DB files.</p>
<p>The most powerful option is <strong>&#8211;link-dest</strong> which allows you to hard link unchanged files to a previous backup.  This saves HUGE amounts of space on the backup server.  e.g. I backup a machine (Fred), Fred has a 20GB HD and I back up/copy the entire drive excluding /proc and /dev.  I now have a 20GB directory on my backup server.  The next day I backup Fred again and &#8211;link-dest to yesterdays backup.  Rsync compares the remote files with the local copy and if exactly the same will not bother transferring them but will hard link the new file to yesterdays file.  Any files that have changed are copied down a fresh (or partially copied using yesterdays backup if possible).  If only 100MB of files of changed since yesterday I now have two directories both with 20GB of files but only taking up 20.1Gb of space on the backup server!</p>
<p>My new backup scripts now do this every day and then have a script that keeps every days backups for a month, one backup a week for the previous month and one backup a month previous to that.  Hopefully this means that I can recall previous work I have done and all while saving huge amounts of space.</p>
<p>While &#8211;link-dest is the most powerful option <strong>-n</strong> is definitely my favourite.  A while ago I was in the unfortunate situation of having one of my internet hosting servers hacked.  As I am sure you are aware when this happens you can trust NOTHING on the server, any binary could have been changed including ls &amp; ps.  By running a backup of the server but adding the -n option the backup did not back anything up but could show me every file that had changed since the last backup no matter how small the change.  <strong>Very </strong>powerful when trying to find out what happened.</p>
<p>Other options I should mention are <strong>&#8211;bwlimit</strong> which is useful for backing up a live server over the internet and not maxing things out.  <strong>-z</strong> which compresses the data and makes backing up even quicker.  <strong>-a &#8211;numeric-ids</strong> good for backup.</p>
<p>Net result, I do full backups of 8 machines each night while only transferring files that have changed and have full backups going back for as long as I want.</p>
<p>Ooooo, I wrote a lot!  Sorry about that.  I hope it&#8217;s of use to people!</p>
<p><a href="http://www.dogsbody.org/2006/12/my-backup-solution/">My backup solution</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dogsbody.org/2006/12/my-backup-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Checking for Rootkits</title>
		<link>http://www.dogsbody.org/2006/08/checking-for-rootkits/</link>
		<comments>http://www.dogsbody.org/2006/08/checking-for-rootkits/#comments</comments>
		<pubDate>Mon, 21 Aug 2006 07:00:00 +0000</pubDate>
		<dc:creator>Dogsbody</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[In the same vein my last post, here is page on installing chkrootkit and Rootkit Hunter on CentOS / BlueQuartz. A root kit is the name given to a piece of software written to try and elevate someone&#8217;s permissions to root level, commonly used by hackers/crackers/script kiddies to infect a system. There are many rootkit<p><a href="http://www.dogsbody.org/2006/08/checking-for-rootkits/">Checking for Rootkits</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></description>
			<content:encoded><![CDATA[<p>In the same vein my last post, here is page on installing chkrootkit and Rootkit Hunter on CentOS / BlueQuartz.</p>
<p>A root kit is the name given to a piece of software written to try and elevate someone&#8217;s permissions to root level, commonly used by hackers/crackers/script kiddies to infect a system. There are many rootkit checkers however we are going to install two of the most common which are both are free and open source.  Some people prefer one over the other, I say, why not use both!</p>
<p><span style="text-decoration: underline;"><strong>chkrootkit</strong></span></p>
<p>The website is <a href="http://www.chkrootkit.org/">http://www.chkrootkit.org/</a> and the following is based on v0.47</p>
<pre># Pick a location
cd /usr/local
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar zxvf chkrootkit.tar.gz
rm chkrootkit.tar.gz
# Fix the permissions
chown -R root:root chkrootkit-0.47
cd chkrootkit-0.47
make sense
# A quick tidy up
mkdir docs src
mv *.c Makefile src
mv READM* chkrootkit.lsm ACKNOWLEDGMENTS COPYRIGHT docs
./chkrootkit -q &gt; good.output 2&gt;&amp;1
# CHECK THE good.output FILE IS OK AND HAS A KNOWN GOOD OUTPUT
touch current.output
touch /etc/cron.daily/chkrootkit
chmod 755 /etc/cron.daily/chkrootkit
vi /etc/cron.daily/chkrootkit
# Place the following text in the file...

#!/bin/sh
SERVER=`hostname`
cd /usr/local/chkrootkit-0.47
rm current.output
./chkrootkit -q &gt; current.output 2&gt;&amp;1
DIFF=`/usr/bin/diff current.output good.output`
ERRO=`/bin/cat current.output`
if [ "$DIFF" != "" ]
then
/usr/lib/sendmail -t &lt;&lt; EOF
To: root
Subject: ${SERVER}: Chkrootkit Output
====&gt; A diff between current and good output is:
$DIFF
====&gt; The current output is:
$ERRO
EOF
fi</pre>
<p><span style="text-decoration: underline;"><strong>Rootkit Hunter</strong></span></p>
<p>The website is <span style="text-decoration: line-through;">http://www.rootkit.nl/projects/rootkit_hunter.html</span> <a href="http://rkhunter.sourceforge.net/">http://rkhunter.sourceforge.net/</a> and the following is based on v1.2.8</p>
<pre># Use a working directory where you can execute code
cd /home/.tmp
wget http://downloads.rootkit.nl/rkhunter-1.2.8.tar.gz
tar zxvf rkhunter-1.2.8.tar.gz
cd rkhunter
./installer.sh
cd ..
rm -r rkhunter rkhunter-1.2.8.tar.gz
# Rootkit Hunter does however complain about the user root-admin.
# As far as I can tell there is no need for this user on BQ so I remove it.
userdel root-admin
touch /etc/cron.daily/rkhunter
chmod 755 /etc/cron.daily/rkhunter
vi /etc/cron.daily/rkhunter
# Place the following text in the file...

#!/bin/sh
SERVER=`hostname`
OUTPUT=`/usr/local/bin/rkhunter --versioncheck`
EXITCODE=$?
if [ ${EXITCODE} != 0 ]
then
echo "${OUTPUT}" | /bin/mail -s "${SERVER}: Rootkit Hunter Output" root
fi
OUTPUT=`/usr/local/bin/rkhunter --update`
EXITCODE=$?
if [ ${EXITCODE} != 0 ]
then
echo "${OUTPUT}" | /bin/mail -s "${SERVER}: Rootkit Hunter Output" root
fi
OUTPUT=`/usr/local/bin/rkhunter --cronjob --report-warnings-only`
EXITCODE=$?
if [ ${EXITCODE} != 0 ]
then
echo "${OUTPUT}" | /bin/mail -s "${SERVER}: Rootkit Hunter Output" root
fi</pre>
<p>I hope this is of help to people.</p>
<p><a href="http://www.dogsbody.org/2006/08/checking-for-rootkits/">Checking for Rootkits</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dogsbody.org/2006/08/checking-for-rootkits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things to do to a blank BlueQuartz install</title>
		<link>http://www.dogsbody.org/2006/08/things-to-do-to-a-blank-bluequartz-install/</link>
		<comments>http://www.dogsbody.org/2006/08/things-to-do-to-a-blank-bluequartz-install/#comments</comments>
		<pubDate>Mon, 21 Aug 2006 01:00:00 +0000</pubDate>
		<dc:creator>Dogsbody</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[BlueQuartz]]></category>
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[After just rebuilding a BlueQuartz box I thought I would copy my install notes. This is an entirely personal list of things that I do to a vanilla install of CentOS/BlueQuartz.  I thought it may be useful to other people. Contents Change root passwords Secure SSH Apache Obscurity Install ImageMagick PHP upload settings Add Mime<p><a href="http://www.dogsbody.org/2006/08/things-to-do-to-a-blank-bluequartz-install/">Things to do to a blank BlueQuartz install</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></description>
			<content:encoded><![CDATA[<p>After just rebuilding a BlueQuartz box I thought I would copy my install notes. This is an entirely personal list of things that I do to a vanilla install of CentOS/BlueQuartz.  I thought it may be useful to other people.</p>
<p><span style="text-decoration: underline;"><strong>Contents</strong></span></p>
<ul>
<li>Change root passwords</li>
<li>Secure SSH</li>
<li>Apache Obscurity</li>
<li>Install ImageMagick</li>
<li>PHP upload settings</li>
<li>Add Mime Types</li>
<li>yum checker</li>
<li>Setup floppy drive</li>
<li>Majordomo logfile</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Change root password</strong></span></p>
<p>BQ is initially set with no root MySQL password and the systems root password is set the same as the admin user. These should be changed to something different!</p>
<ul>
<li>Change MySQL password wth `<strong>/usr/bin/mysqladmin &#8211;user=root password NEW_PASSWORD</strong>`</li>
<li>Change root password with `<strong>passwd</strong>`</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Secure SSH</strong></span></p>
<p>SSH is obviously better than telnet but did you know that the SSH protocol v1 has been cracked for quite some time now. I lock all my boxes down to only use protocol v2 and haven&#8217;t had any come back on compatability issues.</p>
<ul>
<li>Modify `<strong>/etc/ssh/sshd_config</strong>` to set `<strong>Protocol 2</strong>`</li>
<li>Run `<strong>/etc/rc.d/init.d/sshd reload</strong>`</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Apache Obscurity</strong></span></p>
<p>Yes, this is security through obscurity but everything helps. The following will remove the &#8220;signature&#8221; at the bottom of pages generated by Apache and will also only report the webserver as &#8220;Apache&#8221; instaed of the full version number and OS</p>
<ul>
<li>Modify (and add if necessary) the following lines in `<strong>/etc/httpd/conf/httpd.conf</strong>` &amp; `<strong>/etc/admserv/conf/httpd.conf</strong>`</li>
</ul>
<pre>ServerSignature Off
ServerTokens Prod</pre>
<ul>
<li>Run `<strong>/etc/rc.d/init.d/httpd reload</strong>`</li>
<li>Run `<strong>/etc/rc.d/init.d/admserv reload</strong>`</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Install ImageMagick</strong></span></p>
<p>A must for most hosting nowadays.  Simply run `<strong>yum install ImageMagick ImageMagick-perl</strong>` as root.</p>
<p><span style="text-decoration: underline;"><strong>PHP upload settings</strong></span></p>
<p>In this new broadband age people are uploading pictures and such to their sites so I change the PHP upload defaults.  Change lines in <strong>/etc/php.ini</strong> (or your own php.ini) and run `<strong>/etc/rc.d/init.d/httpd reload</strong>`</p>
<pre>post_max_size = 20M
upload_max_filesize = 10M</pre>
<p><span style="text-decoration: underline;"><strong>Add Mime Types</strong></span></p>
<p>There seem to be some common mime types missing from the default install.  Add the following to `<strong>/etc/mime.types</strong>` and run `<strong>/etc/rc.d/init.d/httpd reload</strong>`</p>
<pre>application/x-ms-wmz wmz
application/x-ms-wmd wmd
audio/x-ms-wax wax
audio/x-ms-wma wma
image/x-icon ico
text/csv csv
video/x-ms-asf asf asx
video/x-ms-wm wm
video/x-ms-wmv wmv
video/x-ms-wmx wmx
video/x-ms-wvx wvx</pre>
<p><span style="text-decoration: underline;"><strong>yum checker</strong></span></p>
<p>Now I love the Nuonce/Solarspeed automatic yum installer however I like to install patches on systems when I am there, that way if there are any problems I can fix them straight away.  I have this little script that mails me when there are packages to install.</p>
<ul>
<li>touch /etc/cron.daily/yum-check</li>
<li>chmod 755 /etc/cron.daily/yum-check</li>
<li>vi /etc/cron.daily/yum-check</li>
</ul>
<pre> #!/bin/sh
SERVER=`hostname`
OUTPUT=`/usr/bin/yum check-update`
EXITCODE=$?
if [ ${EXITCODE} != 0 ]
then
echo "${OUTPUT}" | /bin/mail -s "${SERVER}: Yum Updater" root
fi</pre>
<p><span style="text-decoration: underline;"><strong>Setup floppy drive</strong></span></p>
<p>If your system has a floppy disc drive you won&#8217;t be able to use it until you run `<strong>floppy &#8211;createrc &gt; /etc/floppy</strong>`</p>
<p><span style="text-decoration: underline;"><strong>Majordomo logfile</strong></span></p>
<p>I know it&#8217;s silly but I like all my log files to be in one place&#8230;.</p>
<ul>
<li>cd /var/log/mail</li>
<li>ln -s /usr/local/majordomo/log majordomo</li>
</ul>
<p>I hope this is of use to people</p>
<p><a href="http://www.dogsbody.org/2006/08/things-to-do-to-a-blank-bluequartz-install/">Things to do to a blank BlueQuartz install</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dogsbody.org/2006/08/things-to-do-to-a-blank-bluequartz-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UT2003/UT2004 Map pictures</title>
		<link>http://www.dogsbody.org/2006/04/ut2003ut2004-map-pictures/</link>
		<comments>http://www.dogsbody.org/2006/04/ut2003ut2004-map-pictures/#comments</comments>
		<pubDate>Sun, 02 Apr 2006 01:00:00 +0000</pubDate>
		<dc:creator>Dogsbody</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Unreal Tournament]]></category>
		<category><![CDATA[UT2003]]></category>
		<category><![CDATA[UT2004]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[As you may have seen I have written my own server query script for my Unreal Tournament Server mainly because I wanted to learn how to code UDP packets in Perl. However, when the script was finished I wanted a good picture of each map to show which map was currently playing so, to cut<p><a href="http://www.dogsbody.org/2006/04/ut2003ut2004-map-pictures/">UT2003/UT2004 Map pictures</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></description>
			<content:encoded><![CDATA[<p>As you may have seen I have written my own <a href="/2003/06/ut2k-query-script/">server query script</a> for my Unreal Tournament Server mainly because I wanted to learn how to code UDP packets in Perl. However, when the script was finished I wanted a good picture of each map to show which map was currently playing so, to cut a long story short, after much messing around I created animated GIF&#8217;s for all the maps that that I used using the screenshot images from the maps themselves.</p>
<p>I figure that these pictures may be of use to other people with server query scripts so I am making them avaliable for people to use, all I would ask for is a link back to my page somewhere on your site (it&#8217;s not much to ask for). This thing has now ended up so huge and I have created <strong>629 map pictures for UT2003 and now UT2004</strong>.</p>
<p><span style="text-decoration: underline;"><strong>How to use </strong></span><br />
There are two ways to use these images, you can either download them and put them on your server for your script to use or you can call the images from my site. There are advantages and disadvantages to both&#8230;</p>
<ul>
<li>You will have to script what happens if the map picture doesn&#8217;t exist. If requesting the image from my server and the map GIF doesn&#8217;t exist the <a href="/utmaps/unknown.gif">Unreal logo</a> will be sent automatically.</li>
<li>You will have to make sure the script that calls to the images are done in lower case.  Requests to my server can be made in any case ( dom-aphrodite, DOM-Aphrodite, DoM-aPHroDitE, etc.) and will return the correct image.</li>
<li>Uses YOUR disk space and bandwidth	compared to using MY disk space and bandwidth.</li>
</ul>
<p><a href="/utmaps/"> View all the maps currently in the collection</a></p>
<p><span class="download">Download the map pictures for your site &#8211; <a href="/utmaps/utmaps.zip">utmaps.zip</a> (44MB)<br />
</span></p>
<p>&#8230;and please remember to link back to my site, I don&#8217;t ask much.</p>
<p><span style="text-decoration: underline;"><strong>Link to the images on my site. </strong></span><br />
This is easily done&#8230;</p>
<ul>
<li>Prepend &#8220;http://www.dogsbody.org/utmaps/&#8221; to the beginning of the map file name.</li>
<li>Append &#8220;.gif&#8221; to the end of the map file name.</li>
<li>Call this URL as part of an image tag in your script.</li>
<li>All GIF&#8217;s have a width of 256 and a hight of 128, if you specify this in your image tag the image will load faster.</li>
</ul>
<p>If your script calls a map that doesn&#8217;t exist the <a href="/utmaps/unknown.gif">Unreal logo</a> will be returned.</p>
<p><span style="text-decoration: underline;"><strong>Examples of the GIF&#8217;s </strong></span><br />
<img title="br-skyline" src="/utmaps/br-skyline.gif" alt="br-skyline" width="256" height="128" /> <img title="ctf-face3" src="/utmaps/ctf-face3.gif" alt="ctf-face3" width="256" height="128" /> <img title="dm-antalus" src="/utmaps/dm-antalus.gif" alt="dm-antalus" width="256" height="128" /> <img title="dom-ruination" src="/utmaps/dom-ruination.gif" alt="dom-ruination" width="256" height="128" /></p>
<p><span style="text-decoration: underline;"><strong>Adding to the collection</strong></span><br />
I&#8217;m afraid I am no longer creating these map pictures.</p>
<p><span style="text-decoration: underline;"><strong>Thanks</strong></span><br />
I owe a big thank you to Lance (Throckmorton) and Konstantin (Inf*klarissa_(rus)) who have both created a bumber of new map pics that were perfect for the collection.</p>
<p><span style="text-decoration: underline;"><strong>Feedback </strong></span><br />
If you have any questions or problem with these GIF&#8217;s then please don&#8217;t hesitate to contact me.</p>
<p>I would also love to hear any comments you have, good or bad.</p>
<p><a href="http://www.dogsbody.org/2006/04/ut2003ut2004-map-pictures/">UT2003/UT2004 Map pictures</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dogsbody.org/2006/04/ut2003ut2004-map-pictures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Raq Site Bandwidth Script</title>
		<link>http://www.dogsbody.org/2004/09/raq-site-bandwidth-script/</link>
		<comments>http://www.dogsbody.org/2004/09/raq-site-bandwidth-script/#comments</comments>
		<pubDate>Thu, 30 Sep 2004 01:00:00 +0000</pubDate>
		<dc:creator>Dogsbody</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Bandwidth]]></category>
		<category><![CDATA[Cobalt]]></category>
		<category><![CDATA[Raq4]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[This script is for the Cobalt Raq4 (although I would love to know if it works with the Raq3 too??). It uses the internally generated /home/.cobalt/report/stats.tab file to display the bandwith used by each virtual site on the server even if your virtual sites are on the same IP address. The stats.tab file is generated<p><a href="http://www.dogsbody.org/2004/09/raq-site-bandwidth-script/">Raq Site Bandwidth Script</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This script is for the Cobalt Raq4 (although I would love to know if it works with the Raq3 too??). It uses the internally generated /home/.cobalt/report/stats.tab file to display the bandwith used by each virtual site on the server even if your virtual sites are on the same IP address. The stats.tab file is generated by the Raq when it splits the log files up for each site. A total is kept for Web, FTP &amp; E-mail by month showing the number of hits, transfers &amp; mails as well as the total amount of bandwidth used for each one. This script displays that data with some nifty additions&#8230;</p>
<p><span style="text-decoration: underline;"><strong>What it does</strong></span></p>
<p>At it&#8217;s basic level this script displays the data in the stats.tab file in a webpage but it also&#8230;</p>
<ul>
<li>The script is password protected by default. If &#8220;admin&#8221; logs in they will see a summary for all sites. If a standard user logs in they will only see details of their own site. This means you can publish the URL and siteadmins can check their own sites usage.</li>
<li>Add extra data to the stats. e.g. I run a Helix streaming server and split the logs in the same way to create my own stats.tab file for helix. This script will merge data from both.</li>
<li>Two warning levels. If the usage for a site is over a two bandwidth levels it will be highlighted. These levels can be configured by you.</li>
<li>Easy control over look and feel</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Screenshots</strong></span></p>

<a href='http://www.dogsbody.org/2004/09/raq-site-bandwidth-script/raq_site_bw1/' title='raq_site_bw1'><img width="143" height="150" src="http://www.dogsbody.org/wp-content/uploads/2004/09/raq_site_bw1-143x150.gif" class="attachment-thumbnail" alt="raq_site_bw1" title="raq_site_bw1" /></a>
<a href='http://www.dogsbody.org/2004/09/raq-site-bandwidth-script/raq_site_bw2/' title='raq_site_bw2'><img width="143" height="150" src="http://www.dogsbody.org/wp-content/uploads/2004/09/raq_site_bw2-143x150.gif" class="attachment-thumbnail" alt="raq_site_bw2" title="raq_site_bw2" /></a>

<p><span style="text-decoration: underline;"><strong>Download</strong></span></p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;"><strong><a href="http://www.dogsbody.org/wp-content/uploads/2004/09/raq-bandwidth.tar.gz">raq-bandwidth.tar.gz</a><br />
</strong></span></p>
<p><span style="text-decoration: underline;"><strong>Installation</strong></span></p>
<p>The setup should be pretty easy&#8230;</p>
<ul>
<li>Download the script from the site (&#8216;wget URL&#8217;).</li>
<li>Put the download where you want it.</li>
<li>Extract the compressed tar using &#8216;tar zxvf raq-bandwidth.tar.gz&#8217;.</li>
<li>Check the file permissions for the directory &amp; files</li>
<li>Check that the script runs first by browsing to the &#8230;./bandwidth/ directory.</li>
<li>If it works the change any setup you wish to change in the top if the index.cgi script.</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Feedback</strong></span></p>
<p>I would love feedback on this script, good and bad. Thank you.</p>
<p><span style="text-decoration: underline;"><strong>Changelog</strong></span></p>
<ul>
<li>1.04 &#8211; 30 Sep 2004
<ul>
<li>Release to public</li>
</ul>
</li>
<li>Pre 1.04
<ul>
<li>Beta Testing. Thank you Thom LaCosta &amp; Florian Arzberger</li>
</ul>
</li>
</ul>
<p>Simply download the file, change the directory path at the top of the file if required and execute.</p>
<p><a href="http://www.dogsbody.org/2004/09/raq-site-bandwidth-script/">Raq Site Bandwidth Script</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dogsbody.org/2004/09/raq-site-bandwidth-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UT2k Query Script</title>
		<link>http://www.dogsbody.org/2003/06/ut2k-query-script/</link>
		<comments>http://www.dogsbody.org/2003/06/ut2k-query-script/#comments</comments>
		<pubDate>Wed, 04 Jun 2003 01:00:00 +0000</pubDate>
		<dc:creator>Dogsbody</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[GameSpy]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Unreal Tournament]]></category>
		<category><![CDATA[UT2003]]></category>
		<category><![CDATA[UT2004]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[This is only the second script that I have actually published so I hope you like it. This script came about due to the huge interest in the script I wrote for my website that queried my UT2003 server and returned as much information as possible about the game to a page. Lots of people<p><a href="http://www.dogsbody.org/2003/06/ut2k-query-script/">UT2k Query Script</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This is only the second script that I have actually published so I hope you like it. This script came about due to the huge interest in the script I wrote for my website that queried my UT2003 server and returned as much information as possible about the game to a page. Lots of people e-mailed me asking for the source so I tidied it up and that is what you see here.</p>
<p>This script works fine with UT2004 I just haven&#8217;t removed all the references to UT2003 yet <img src='http://www.dogsbody.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I never claimed to be a professional Perl programmer and as such I would class this script as permanently in BETA. I am always looking for comments on my work so if you see an improvement that can be made to the code, have an idea for another project or just like the script then please take a moment to contact me .</p>
<p><span style="text-decoration: underline;"><strong>What it does</strong></span><br />
This script queries the game server on the GameSpy query port (usually +10 from the base port), the results are then parsed and cleaned up to make them easier to understand (e.g. True/False is turned into Yes/No) before being output to an HTML page. The resulting page also includes the meta tag to refresh and so the browser window can be kept open and the page will automatically update itself. There are a number of configuration settings that allow you to tweak the timeout, refresh &amp; title as well as page colour settings and as an optional setting you can include your own HTML before and after the query which allows you to keep the same look and feel of your site.</p>
<p><span style="text-decoration: underline;"><strong>Screenshot</strong></span></p>
<p><a href="http://www.dogsbody.org/wp-content/uploads/2003/06/ut-query-screenshot.png"><img class="aligncenter size-medium wp-image-281" title="ut-query-screenshot" src="http://www.dogsbody.org/wp-content/uploads/2003/06/ut-query-screenshot-300x272.png" alt="" width="300" height="272" /></a></p>
<p><span style="text-decoration: underline;"><strong>Download</strong></span></p>
<p><a href="http://www.dogsbody.org/wp-content/uploads/2003/06/ut2003-query.tar.gz">ut2003-query.tar.gz</a></p>
<p><span style="text-decoration: underline;"><strong>Dependancies</strong></span><br />
This script requires the following things&#8230;</p>
<ul>
<li>Perl &#8211; It&#8217;s a perl script!! You will require v5.003 or above.</li>
<li> A webserver &#8211; Anything that can cope with with CGI scripts written in Perl.</li>
</ul>
<p><strong><span style="text-decoration: underline;">Installation</span></strong><br />
The setup should be pretty easy&#8230;</p>
<ul>
<li>Download the script from this site.</li>
<li>Put the download where you want it.</li>
<li>Uncompress the file using &#8216;gunzip ut2003-query.tar.gz&#8217;.</li>
<li> Extract the tar using &#8216;tar xvf ut2003-query.tar&#8217;.</li>
<li> Run &#8216;chmod 755 ut2003-query.cgi&#8217;</li>
<li> Edit the path to perl in the first line of ut2003-query.cgi.</li>
<li> Try running the script without changing any of the configuration, by default it should query my UT2003 server as long a your webserver can &#8216;see&#8217; my UT2003 server &#8216;gamer.dogsbody.org&#8217; e.g. your not on a LAN.</li>
<li> Edit the configuration lines at the top of ut2003-query.cgi for your details&#8230;
<ul>
<li> $server &#8211; Server hostname or IP address.</li>
<li> $port &#8211; Server&#8217;s main game port.</li>
<li> $queryport &#8211; The Gamespy query port offset, this should be &#8220;+10&#8243;.</li>
<li> $timeout &#8211; How many seconds to wait for a response from the server.</li>
<li> $refresh &#8211; How often to refresh the results page in seconds.</li>
<li> $title &#8211; The title of the page returned which will be used in the header and at the top of the page.</li>
<li> $bgcolour &#8211; The background colour of the page returned.</li>
<li> $fgcolour &#8211; The text colour for the page returned.</li>
<li> $lncolour &#8211; The colour of hyperlinks on the page returned.</li>
<li> $headerfile &#8211; Optional: You can leave this field blank which will return the results in a generic page however you can set this to the path of an HTML file that can be included before the results page, this allows you to include whatever else you like on the results page to fit in with the rest of your site. Be warned the &#8220;&#8221; tags are returned at the top of all pages so your HTML should carry on from there. If you use this $bgcolour, $fgcolour &amp; $lncolour will not be used as you can specify your own tag and $title will only be used for the text at the top of the page.</li>
<li> $footerfile &#8211; Optional: As with the headerfile, this is the path to an HTML file that can be used to close off any tables used in the headerfile. This file SHOULD include the &amp; tags.</li>
<li> $pictureurl &#8211; Enter a URL or relational path to images of maps that this query should use. The text &#8220;MATCHTHIS&#8221; will be replaced with the map filename in lowercase. The default for this links to the images in my site which you are welcome to use, more details.</li>
<li> $script &#8211; This should be set to the filename of the script (yes the file you are editing), this is used to call the script back and refresh the HTML page. If you set this to &#8220;$ENV{SCRIPT_URI}&#8221; it will automatically be set to the correct name on most web servers (tested on Apache, iPlanet &amp; Netscape Web servers).</li>
</ul>
</li>
<li> And hopefully it will all work <img src='http://www.dogsbody.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Happy Fragging</li>
</ul>
<p><strong><span style="text-decoration: underline;">Notes / Known Bugs</span></strong><br />
The numbers of players on the server is returned twice, once as a player count which is reported in the bottom left table and also as each individual player statistic. Sometimes these two counts don&#8217;t tally up with the player count reporting a higher number. As far as I can tell this is correct as the player count reports on the number of connections to the server which does not necessarily mean they are playing the game (e.g. they are downloading the map or haven&#8217;t pressed fire to join the game)</p>
<p>The translocator field doesn&#8217;t work, data should be returned to show is the translocator can be used on the server however the data is empty each time. This seems to be a bug in UT2003, If anyone sees that this is fixed in a patch or something I will see if I can query that and turn this back on.</p>
<p><span style="text-decoration: underline;"><strong>Changelog</strong></span></p>
<ul>
<li> 3.00 &#8211; 04 Jun 2003
<ul>
<li>First public release of code &#8211; removed all site specific stuff and tidied up.</li>
</ul>
</li>
<li>2.xx &#8211; Various Dates
<ul>
<li> Complete re-write of code using own UDP query to UT2003 server.</li>
</ul>
</li>
<li> 1.xx &#8211; Various Dates
<ul>
<li> First write of a query script that used qstat to get details from server.</li>
</ul>
</li>
</ul>
<p><a href="http://www.dogsbody.org/2003/06/ut2k-query-script/">UT2k Query Script</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dogsbody.org/2003/06/ut2k-query-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IT &#8216;nerds&#8217; get more bedroom action</title>
		<link>http://www.dogsbody.org/2001/09/it-nerds-get-more-bedroom-action/</link>
		<comments>http://www.dogsbody.org/2001/09/it-nerds-get-more-bedroom-action/#comments</comments>
		<pubDate>Wed, 26 Sep 2001 01:00:00 +0000</pubDate>
		<dc:creator>Dogsbody</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[In The News]]></category>
		<category><![CDATA[Geeks]]></category>
		<category><![CDATA[Nerds]]></category>
		<category><![CDATA[Sex]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[With a title like that I just had to put this on my site!! The archetypal image of the IT professional is of a nerdy bloke who spends most of his time by the computer. But Downtime can now explode that myth by revealing that &#8220;adult male nerds&#8221; have sex far more often than the<p><a href="http://www.dogsbody.org/2001/09/it-nerds-get-more-bedroom-action/">IT &#8216;nerds&#8217; get more bedroom action</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></description>
			<content:encoded><![CDATA[<p>With a title like that I just had to put this on my site!! <img src='http://www.dogsbody.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<blockquote><p>The archetypal image of the IT professional is of a nerdy bloke who spends most of his time by the computer. But Downtime can now explode that myth by revealing that &#8220;adult male nerds&#8221; have sex far more often than the average man.</p>
<p>This is the findings of a survey of more than 7,500 such individuals carried out in the US by IT recruitment Web site JustTechJobs.com. It discovered that these IT-focused lotharios have sex an average of 108 times a year, compared to the average of 79 times a year for non-ITers.</p>
<p>Russ Curtis, JustTechJobs&#8217; chief executive said, &#8220;If these guys were anything like I was, they were picked on as kids, and probably didn&#8217;t kiss a girl until they were 23 years old. Now they have money and power and members of the opposite sex find them very alluring.&#8221;</p></blockquote>
<p>Computer Weekly &#8211; 26 April 2001</p>
<p><a href="http://www.dogsbody.org/2001/09/it-nerds-get-more-bedroom-action/">IT &#8216;nerds&#8217; get more bedroom action</a> is a post from: <a href="http://www.dogsbody.org">Dogsbody.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dogsbody.org/2001/09/it-nerds-get-more-bedroom-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
