<?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' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8962736135632483185</id><updated>2012-01-27T03:11:21.321Z</updated><category term='calendar'/><category term='fsck'/><category term='installation'/><category term='news'/><category term='web'/><category term='rsync'/><category term='three'/><category term='free'/><category term='registry'/><category term='fonts'/><category term='cups'/><category term='jpg'/><category term='upgrade'/><category term='dublin'/><category term='usb-to-parallel'/><category term='knewsticker'/><category term='dell'/><category term='gwibber'/><category term='galway'/><category term='autopsy'/><category term='printer'/><category term='rss'/><category term='Mac'/><category term='video'/><category term='email'/><category term='ocr'/><category term='liveCD'/><category term='cron'/><category term='backup.sh'/><category term='backup'/><category term='IBM'/><category term='weather'/><category term='parted'/><category term='java'/><category term='camera'/><category term='xscreensaver'/><category term='vmware'/><category term='security'/><category term='sourceforge'/><category term='webcam'/><category term='graphics'/><category term='moodle'/><category term='screensaver'/><category term='bash'/><category term='networking'/><category term='filemanagement'/><category term='problems'/><category term='desktop'/><category term='drivers'/><category term='software'/><category term='mp3'/><category term='rte'/><category term='ubuntu'/><category term='vista'/><category term='nautilus'/><category term='satnav'/><category term='mobile broadband'/><category term='proxy'/><category term='podcast'/><category term='javascript'/><category term='partitions'/><category term='screwdriver'/><category term='wine'/><category term='photos'/><category term='command'/><category term='hardy'/><category term='symphony'/><category term='sync'/><category term='gnome'/><category term='compression'/><category term='liveUSB'/><category term='download'/><category term='sound'/><category term='opensource'/><category term='monitor'/><category term='internet'/><category term='script'/><category term='gimp'/><category term='trivia'/><category term='windows'/><category term='imagemagick'/><category term='hp4l'/><category term='access'/><category term='hardware'/><category term='database'/><category term='linux'/><category term='recovery'/><category term='router'/><category term='scorm'/><category term='radio'/><category term='boot'/><category term='office'/><category term='gnome-do'/><category term='opensuse'/><category term='usb'/><category term='php'/><category term='modem'/><category term='bbc'/><category term='blog'/><category term='kde'/><category term='time'/><category term='sql'/><category term='wireless'/><category term='ireland'/><category term='swap'/><category term='log'/><category term='virus'/><category term='qemu'/><category term='md5'/><category term='virtualisation'/><category term='fdisk'/><title type='text'>Linux System Notebook</title><subtitle type='html'>Notes, Scripts, Fixes and How-Tos for Linux (&amp;amp; Windows).</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>71</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-453686505702746233</id><published>2009-08-10T17:06:00.000Z</published><updated>2009-08-10T17:08:47.332Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='swap'/><title type='text'>Fix Ubuntu Swap Partition</title><content type='html'>Find your swap partition:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo fdisk -l&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Check the disk ID of the swap partition (e.g. /dev/sda8):&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo vol_id /dev/sda8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Correct the UUID in the fstab file:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo nano /etc/fstab&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-453686505702746233?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/453686505702746233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=453686505702746233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/453686505702746233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/453686505702746233'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/08/fix-ubuntu-swap-partition.html' title='Fix Ubuntu Swap Partition'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-7996019260642270236</id><published>2009-08-10T14:59:00.010Z</published><updated>2009-08-11T02:19:04.619Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='camera'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='mp3'/><category scheme='http://www.blogger.com/atom/ns#' term='satnav'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='usb'/><title type='text'>"If Found" Disk Label</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_C-jyDxfd1QY/SoBLhhfP_MI/AAAAAAAAE8Y/vFwDkKVIvvA/s1600-h/blurred.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 290px; height: 250px;" src="http://4.bp.blogspot.com/_C-jyDxfd1QY/SoBLhhfP_MI/AAAAAAAAE8Y/vFwDkKVIvvA/s320/blurred.jpg" alt="" id="BLOGGER_PHOTO_ID_5368373795122838722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We have so much portable data these days on usb drives, satnavs, cameras and mp3 players it's a nightmare and losing a device can mean losing irreplaceable photos and data files. Certainly where possible data should be encrypted and backedup locally or to online services such as Dropbox and Picasa but it isn't always possible or practical - such as on the holiday camera.&lt;br /&gt;&lt;br /&gt;One simple approach that can at least identify you to anyone who finds a devices is "If Found" file.&lt;br /&gt;&lt;br /&gt;At the very least create a simple text file with contact details and recovery information and save as "If Found.txt". It might help to suggest that you will cover all recovery costs and are interested more in the data card than recovery of the device.&lt;br /&gt;&lt;br /&gt;However, to get more attention and especially instantly accessible from camera cards create an image:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a word processing file with the same contact information, perhaps even a photograph (might identify you in a crowded venue and helps humanise the situation), and formatted to a nice box shape inside a table, and export to PDF. The more the document looks like an ID card the more instantly identifiable as something interesting it will be.&lt;/li&gt;&lt;li&gt;Open the PDF in the Gimp, make sure the DPI on the import is good enough to produce a legible image, and use the autocrop tool to create the small box image.&lt;/li&gt;&lt;li&gt;Save as a JPEG "If Found.jpg" on the root directory of the media card or device.&lt;/li&gt;&lt;li&gt;Include both JPEG and TXT files on all MP3 players, camera data cards, satnavs, and USB disks, etc. On a Garmin &lt;span style="font-weight: bold;"&gt;savnav&lt;/span&gt; you can set an image as the splash screen. This is displayed before the password request. Placing the image in the root of internal memory ensures it is also the first image in the picture viewer tool. On a regular digital &lt;span style="font-weight: bold;"&gt;camera&lt;/span&gt; place the image on the root of the disk to keep a position of image number 1. Place a copy on the internal memory too if available (for my Kodak this meant actually photographing the image from the screen to the internal memory).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-7996019260642270236?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/7996019260642270236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=7996019260642270236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7996019260642270236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7996019260642270236'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/08/if-found-disk-label.html' title='&quot;If Found&quot; Disk Label'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_C-jyDxfd1QY/SoBLhhfP_MI/AAAAAAAAE8Y/vFwDkKVIvvA/s72-c/blurred.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-6495975059988870044</id><published>2009-08-07T11:32:00.002Z</published><updated>2009-08-07T11:55:20.525Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='virus'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>PC Security</title><content type='html'>As I'm often asked for advice on PC security for Windows machines, here is a brief summary of the free and opensource tools available for Windows users.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Windows&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Window&lt;/span&gt;s itself has its own important defences. Make sure that your auto-update is turned on. Out-of-date system software is going to be more vulnerable to attack.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Windows Defender&lt;/span&gt; &lt;a href="http://www.microsoft.com/windows/products/winfamily/defender/default.mspx"&gt;http://www.microsoft.com/windows/products/winfamily/defender/default.mspx&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;"Windows Defender is software that helps protect your computer against pop-ups, slow performance, and security threats caused by spyware and other unwanted software by detecting and removing known spyware from your computer. Windows Defender features Real-Time Protection, a monitoring system that recommends actions against spyware when it's detected, minimizes interruptions, and helps you stay productive."&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Anti-Virus Software&lt;/span&gt;&lt;br /&gt;There are a number of basic free anti-virus software options.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AVG&lt;/span&gt; &lt;a href="http://free.avg.com/"&gt;http://free.avg.com/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;"Antivirus and antispyware protection for Windows available to download for free. LinkScanner Active Surf-Shield checks web pages for threats at the only time that matters – when you’re about to click that link. AVG Anti-Virus Free Edition. Award-winning antivirus and antispyware. Real-time safe internet surfing and searching. Quality proven by 80 million of users. Easy to download, install and use. Protection against viruses and spyware. Compatible with Windows 7, Windows Vista and Windows XP. AVG Anti-Virus Free Edition download and installation is only available for single computer use for home and non commercial use."&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;ClamAV&lt;/span&gt;&lt;/span&gt; &lt;a href="http://www.clamwin.com/"&gt;http://www.clamwin.com&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;"ClamWin is a Free Antivirus program for Microsoft Windows 98/Me/2000/XP/2003 and Vista. ClamWin Free Antivirus comes with an easy installer and open source code. You may download and use it absolutely free of charge. It features: High detection rates for viruses and spyware; Scanning Scheduler; Automatic downloads of regularly updated Virus Database. Standalone virus scanner and right-click menu integration to Microsoft Windows Explorer; Addin to Microsoft Outlook to remove virus-infected attachments automatically."&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;Confickr&lt;/span&gt; Eyechart&lt;/span&gt; &lt;a href="http://www.confickerworkinggroup.org/infection_test/cfeyechart.html"&gt;http://www.confickerworkinggroup.org/infection_test/cfeyechart.html&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;"Conficker (aka Downadup, Kido) is known to block access to over 100 anti-virus and security websites.&lt;/span&gt;&lt;span style="font-size:85%;"&gt; If you are blocked from loading the remote images in the first row of the top table above (AV/security sites) but not blocked from loading the remote images in the second row (websites of alternative operating systems) then your Windows PC may be infected by Conficker (or some other malicious software).&lt;/span&gt;&lt;span style="font-size:85%;"&gt; If you can see all six images in both rows of the top table, you are either not infected by Conficker, or you may be using a proxy server, in which case you will not be able to use this test to make an accurate determination, since Conficker will be unable to block you from viewing the AV/security sites."&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-6495975059988870044?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/6495975059988870044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=6495975059988870044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6495975059988870044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6495975059988870044'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/08/pc-security.html' title='PC Security'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-8076519126750223952</id><published>2009-07-19T16:41:00.008Z</published><updated>2009-07-21T14:52:50.889Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='three'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='router'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile broadband'/><title type='text'>Three Broadband Router Logs</title><content type='html'>This script automatically updates a local /var/log/ppp.log log from the latest router logs (otherwise the router logs are not timestamped and are deleted on router reboot).&lt;br /&gt;&lt;br /&gt;Data from /var/log/ppp.log can be used track and audit broadband usage and to effectively compare with provider billing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/bash&lt;br /&gt;# Retrieve router broadband usage logs.&lt;br /&gt;# See /var/log/ppp.log for results.&lt;br /&gt;# Run automatically ever hour by adding to /etc/cron.hourly as routerlog.&lt;br /&gt;# Unfortunately as the router does not timestamp its entries - exactly duplicate entries will not be added to the log (how likely is this?)&lt;br /&gt;# New entries to the log are sorted alphabetically (necessary for comm) rather than chronologically. It does not effect the overall audit.&lt;br /&gt;&lt;br /&gt;user=admin&lt;br /&gt;password=admin&lt;br /&gt;log="/var/log/ppp.log"&lt;br /&gt;search="es\." # happily identifies both lines for connection time and bytes sent and received&lt;br /&gt;router="192.168.1.1"&lt;br /&gt;sleeptime=4 # telnet pause&lt;br /&gt;temp="/tmp/ppp.log"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# get latest router log&lt;br /&gt;&lt;br /&gt;(sleep $sleeptime; echo "admin"; sleep $sleeptime; echo "admin"; sleep $sleeptime; echo "cat $log | grep '$search' "; sleep $sleeptime; echo "quit") | telnet $router | grep "$search" | tac | tr -d '\r\n' | sed 's/minutes\./\minutes\.\n/g' | tac | sed 's/Connect/ Connect/g' | sort &gt; "$temp"&lt;br /&gt;&lt;br /&gt;# compare overlapping lines in new log entries and complete log&lt;br /&gt;&lt;br /&gt;touch "$log"&lt;br /&gt;lines="$(wc -l $temp | cut -f 1 --delimit=" ")"&lt;br /&gt;cat "$log" | grep "$search" | tail -$lines | sort -u &gt; "$temp.0"&lt;br /&gt;comm "$temp" "$temp.0" -2 -3 | cut -f 1- --delimit=" " &gt; "$temp.1"&lt;br /&gt;new="$(wc -l $temp.1 | cut -f 1 --delimit=" ")"&lt;br /&gt;if [ $new -gt 0 ]&lt;br /&gt;    then&lt;br /&gt;    date +"(%Y/%m/%d %H:%M)" &gt;&gt; $log&lt;br /&gt;    cat "$temp.1" &gt;&gt; "$log"&lt;br /&gt;fi&lt;br /&gt;rm "$temp" "$temp.0" "$temp.1"&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-8076519126750223952?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/8076519126750223952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=8076519126750223952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8076519126750223952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8076519126750223952'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/07/three-broadband-router-logs.html' title='Three Broadband Router Logs'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-1443575042263439373</id><published>2009-07-18T19:15:00.004Z</published><updated>2009-07-19T16:46:15.339Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='log'/><category scheme='http://www.blogger.com/atom/ns#' term='three'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile broadband'/><title type='text'>Log Broadband Use (Three.ie)</title><content type='html'>Mobile broadband is often the best we have and is mostly reliable and fast enough - however over quota charges are horrendous. It is important to keep track of usage and remaining data allowance. There is no automatic way to do this on Linux, especially on a network used by multiple machines.&lt;br /&gt;&lt;br /&gt;Three provides a web interface to latest data but it isn't always convenient and doesn't record a usage history - essential for tracking down extraordinary usage problems.&lt;br /&gt;&lt;br /&gt;This simple script presents a solution, accessing the data from my.three.ie - storing the quota remaining in /var/log/threebroadband.log. Add it to /etc/cron.hourly as "threebroadband". I like to use Wanda-the-Fish on the Gnome panel to be able to quickly check on usage (add the custom command "tac /var/log/threebroadband.log" to the preferences instead of "fortune").&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Check Three.ie broadband limit remaining.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# See /var/log/threebroadband.log for results (or add Wanda-the-Fish to the Gnome panel with the custom command "tac /var/log/threebroadband.log"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Run automatically ever hour by adding to /etc/cron.hourly as threebroadband&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Login to my.three.ie&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;curl -s -c /tmp/cookie https://my3.three.ie/myaccount/selfcare.do &gt; /dev/null&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;curl -s -b /tmp/cookie -c /tmp/cookie "$(curl -s -b /tmp/cookie -c /tmp/cookie https://my3.three.ie/mylogin//login?service=https%3A%2F%2Fmy3.three.ie%2Fmyaccount%2Fselfcare.do | grep Click | cut -f 2 --delimit="\"")" &gt; /dev/null&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Extract limit to logs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo $(date +"%y/%m/%d %H:%M") MB: $(curl -s -b /tmp/cookie -c /tmp/cookie https://my3.three.ie/myaccount/selfcare.do | grep "Mobile" -A "14" | tail -1 | cut -c 7-) &gt;&gt; /var/log/threebroadband.log&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rm /tmp/cookie&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-1443575042263439373?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/1443575042263439373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=1443575042263439373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1443575042263439373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1443575042263439373'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/07/log-broadband-use-threeie.html' title='Log Broadband Use (Three.ie)'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-1752322583701426226</id><published>2009-07-13T13:15:00.001Z</published><updated>2009-07-13T13:18:11.363Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='podcast'/><title type='text'>BBC iPlayer Download</title><content type='html'>You can download the BBC iPlayer stream with mplayer (thank you to B. Halpin for the tip) with, for example:&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;wget &lt;/span&gt;&lt;a style="font-family: courier new;" href="http://www.bbc.co.uk/iplayer/aod/playlists/zy/7p/k0/0b/RadioBridge_intl_2000_bbc_radio_fourfm.ram" target="_blank"&gt;http://www.bbc.co.uk/iplayer/&lt;wbr&gt;aod/playlists/zy/7p/k0/0b/&lt;wbr&gt;RadioBridge_intl_2000_bbc_&lt;wbr&gt;radio_fourfm.ram&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;mplayer -dumpstream -bandwidth 9999999 `cat RadioBridge_intl_2000_bbc_&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;radio_fourfm.ram`&lt;/span&gt;&lt;br /&gt;&lt;div id=":17p" class="ii gt"&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;The URL for the stream is available in the iPlayer page source code (search the text for ".ram").&lt;a href="http://www.bbc.co.uk/programmes/b00kp806" target="_blank"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-1752322583701426226?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/1752322583701426226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=1752322583701426226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1752322583701426226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1752322583701426226'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/07/bbc-iplayer-download.html' title='BBC iPlayer Download'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-1323057852029866243</id><published>2009-07-01T13:32:00.004Z</published><updated>2009-07-01T13:56:38.408Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Proxy Server</title><content type='html'>Even at home a proxy server can be useful and is easy enough to setup: it helps keep track of downloads easily, can be used to limit access to content, and helps minimise download expenses across multiple machines for updates and other downloads.&lt;br /&gt;&lt;br /&gt;The proxy server itself is &lt;span style="font-weight: bold;"&gt;squid&lt;/span&gt;. A useful reporting program is &lt;span style="font-weight: bold;"&gt;sarg&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install squid sarg&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Squid&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You will need to edit the /etc/squid/squid.conf file (as superuser) to uncomment, and edit if necessary, down in the custom settings section the lines which read something like:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo nano /etc/squid/squid.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  acl our_networks src 192.168.1.0/24&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  http_access allow our_networks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  (and in my case the visiblehostname (visible_hostname laptop))&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sarg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sarg is mostly automatic, however you may have to  edit /etc/squid/sarg.conf to customise and correct some errors (spelling of "monthly").&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo nano /etc/squid/sarg-reports.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  DAILY=Daily&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  WEEKLY=Weekly&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  MONTHLY=Monthly&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Log rotation for the squid files need to be changed to monthly:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;sudo nano /etc/logrotate.d/squid&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Reports will be found in /var/www/squid-reports/index.html&lt;br /&gt;&lt;br /&gt;With a web server such as &lt;span style="font-weight: bold;"&gt;Apache&lt;/span&gt; installed: reports are available through a browser at: http://server.local/squid-reports or whatever name of the machine is instead of "server.local".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Set Proxy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To apply system-wide proxy edit .bashrc to add an export line:&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;nano .bashrc&lt;br /&gt;&lt;br /&gt;export http_proxy="http://server.local:3128"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-1323057852029866243?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/1323057852029866243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=1323057852029866243' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1323057852029866243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1323057852029866243'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/07/proxy-server.html' title='Proxy Server'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-8100817761965220215</id><published>2009-06-18T10:28:00.004Z</published><updated>2009-06-18T10:36:54.588Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='rte'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='gwibber'/><category scheme='http://www.blogger.com/atom/ns#' term='desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='bbc'/><title type='text'>Linux Desktop Breaking News</title><content type='html'>Despite being left behind by the BBC's breaking news software, the Linux desktop is back in action with news headlines. &lt;a href="https://wiki.ubuntu.com/Gwibber/FAQ"&gt;Gwibber&lt;/a&gt; is a blogging/twitter client that is beautifully presented and works nicely and well integrated with the Gnome desktop.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install gwibber&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Apart from adding your friends on Facebook and Twitter, add the news services that are popping up now from &lt;a href="http://twitter.com/RTENews"&gt;RTENews&lt;/a&gt;, &lt;a href="http://twitter.com/RTETransport"&gt;RTETransport&lt;/a&gt;, &lt;a href="http://twitter.com/BBCNews"&gt;BBCNews&lt;/a&gt;, &lt;a href="http://twitter.com/BBCTech"&gt;BBCTech&lt;/a&gt;, and &lt;a href="http://twitter.com/Slashdot"&gt;Slashdot&lt;/a&gt;, etc. Perfect solution.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-8100817761965220215?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/8100817761965220215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=8100817761965220215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8100817761965220215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8100817761965220215'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/06/linux-desktop-breaking-news.html' title='Linux Desktop Breaking News'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-7529970093996008812</id><published>2009-06-12T09:15:00.003Z</published><updated>2009-06-12T09:24:58.504Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualisation'/><category scheme='http://www.blogger.com/atom/ns#' term='qemu'/><category scheme='http://www.blogger.com/atom/ns#' term='liveCD'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Copy Ubuntu LiveUSB</title><content type='html'>Ubuntu comes with a very useful tool "&lt;span style="font-weight: bold;"&gt;USB Startup Disk Creator&lt;/span&gt;" for creating a LiveUSB (similar to the LiveCD, but with persistence and is more easily customisable). However strangely enough once booted from the LiveUSB you cannot then use the tool to create another or to copy a version of the Ubuntu installation media - even though the complete CD is available on the LiveUSB.&lt;br /&gt;&lt;br /&gt;The solution is a single command to recreate the Ubuntu CD from the LiveCD's mounted /cdrom directory. This can then be burned to physical CDs or used by the "USB Startup Disk Creator" tool to create another USB. It might also be booted by Qemu or Vmware as a virtual system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;genisoimage -D -r -V "Ubuntu 9.04 i386" -cache-inodes -J -l -b syslinux/isolinux.bin -c syslinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o cd.iso -m "casper-rw" /cdrom/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;See &lt;a href="https://help.ubuntu.com/community/LiveCDCustomization"&gt;https://help.ubuntu.com/community/LiveCDCustomization&lt;/a&gt; for further customisation tips&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-7529970093996008812?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/7529970093996008812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=7529970093996008812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7529970093996008812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7529970093996008812'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/06/copy-ubuntu-liveusb.html' title='Copy Ubuntu LiveUSB'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-4047822918691432526</id><published>2009-06-12T08:10:00.004Z</published><updated>2009-06-12T08:48:27.996Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='liveUSB'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualisation'/><category scheme='http://www.blogger.com/atom/ns#' term='screwdriver'/><category scheme='http://www.blogger.com/atom/ns#' term='qemu'/><category scheme='http://www.blogger.com/atom/ns#' term='liveCD'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Create Disk Image</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Copy Physical Disk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To create a disk image from an actual disk is relatively straightforward - a simple dd command from the physical disk to file. For example from /dev/sda to harddisk.img:&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;sudo dd if=/dev/sda of=harddisk.img&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;(Warning: do not mix these up. The reverse is seriously damaging.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Make New Harddisk Image&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, to create a complete disk image from scratch is less trivial; but of course possible. The following script demonstrates the series of commands which is no more than a batch of simple commands with the added ability to take an argument for the size in MB of the size of disk required (e.g. to create a 100MB disk: &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;./makediskimage.sh 100&lt;/span&gt;&lt;/span&gt;). It creates a single bootable FAT32 partition with syslinux. Other configurations are equally possible.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;# makediskimage.sh&lt;br /&gt;&lt;br /&gt;sizeMB=$1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;size=$(echo $(($sizeMB*1024*1024/512)))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      # set size of disk&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dd if=/dev/zero of=harddisk.img bs=512 count=$size&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      # equivalent to:&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; qemu-img create -f raw harddisk.img 100M&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;parted harddisk.img mktable msdos&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      # create partition table&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;parted harddisk.img "mkpart p fat32 1 -0"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      # make primary partition, type fat32 from 1 to end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;parted harddisk.img mkfs y 1 fat32&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      # make fat32 filesystem on partition 1, without confirmation&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;parted harddisk.img toggle 1 boot&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      # make partition 1 bootable&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;parted harddisk.img unit b print&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      # list partition table (in bytes)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;offset=$(parted harddisk.img unit b print | tail -2 | head -1 | cut -f 1 --delimit="B" | cut -c 9-)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  # get offset&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;  # sometimes 512, 16384 or 35226 (512 bytes per unit by 63 cylinders)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo syslinux -o $offset harddisk.img&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      # add boot code to partition 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dd if=/usr/lib/syslinux/mbr.bin of=harddisk.img conv=notrunc &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  # copy master boot record to disk&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Mount Disk Image&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To mount a partition image is straightforward, for example:&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;sudo mount partition.img /mnt/diskimage&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;To mount a partition on a complete disk image it only requires an offset to the partition to mount (here on a temporary mount point):&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;mkdir /tmp/harddisk.img&lt;br /&gt;sudo mount harddisk.img /tmp/harddisk.img -o loop,offset=&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;16384 # 512*32 cylinders&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;QEMU&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Qemu is the opensource virtualisation software - capable of boot raw disk images and others.  To install, include graphical launcher (useful for learning commands):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install qemu qemu-launcher&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;To boot harddisk.img with Qemu:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;/usr/bin/qemu -boot c -m 512 -hda 'harddisk.img' -net nic,vlan=0 -net user,vlan=0 -localtime&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;LIVE CD/USB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To add the option of booting into a harddisk image to a live CD/USB boot, for example Clonezilla on an image called clone.img, add to the following lines to syslinux.cfg:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;  label clonezilla&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    menu label ^Clonezilla&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    kernel memdisk&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    append initrd=/clone.img&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;(Note: Clonezilla at present needs it's own syslinux and mbr.bin as provided in the utils directory in order to boot properly)&lt;br /&gt;&lt;br /&gt;For Syslinux boot disk images can also be compressed with gz to save space:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;  gzip harddisk.img&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  mv harddisk.img.gz harddisk.imz&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Change the line in syslinux.cfg to:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;  append initrd=/clone.imz&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-4047822918691432526?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/4047822918691432526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=4047822918691432526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/4047822918691432526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/4047822918691432526'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/06/create-disk-image.html' title='Create Disk Image'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-6793213747106968078</id><published>2009-06-10T18:27:00.002Z</published><updated>2009-07-13T13:21:44.436Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>YouTube Video Download</title><content type='html'>Nice simple program to download YouTube videos and avoid interruption and the download costs of repeated downloads online.&lt;br /&gt;&lt;br /&gt;To install:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install youtube-dl&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To use:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;youtube-dl http://www.youtube.com/watch?v=Vrhgk8Fa_QE&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-6793213747106968078?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/6793213747106968078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=6793213747106968078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6793213747106968078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6793213747106968078'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/06/youtube-video-download.html' title='YouTube Video Download'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-4465447618512460023</id><published>2009-06-09T10:33:00.003Z</published><updated>2009-06-09T10:38:54.401Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='drivers'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Recompile Modules</title><content type='html'>A recent problem with the Alsa sound driver (after an aborted attempt to install the linuxant modem driver) seemed intractable. Remove and install did nothing. A complete reinstall seemed the only likely solution. Module-Assistant to the rescue helping me recompile the Alsa module and get sound again after a restart:&lt;br /&gt;&lt;br /&gt;to install:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;sudo apt-get install module-assistant&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;to run:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;sudo m-a&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-4465447618512460023?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/4465447618512460023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=4465447618512460023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/4465447618512460023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/4465447618512460023'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/06/recompile-modules.html' title='Recompile Modules'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-2380580142382291492</id><published>2009-06-09T08:47:00.003Z</published><updated>2009-07-13T13:21:37.500Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='radio'/><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><category scheme='http://www.blogger.com/atom/ns#' term='bbc'/><title type='text'>Inside the Virtual Anthill</title><content type='html'>"Inside the Virtual &lt;span class="il"&gt;Anthill&lt;/span&gt;: Open Source Means Business"&lt;br /&gt;BBC Radio 4, Broadcast June 1, 2009&lt;br /&gt;&lt;br /&gt;"Gerry Northam goes behind the scenes to investigate 'open source' computer software. Much has been said about the likes of free web browser Firefox and the operating system Linux, but little about how thousands of programmers scattered around the world collaborate in a 'virtual &lt;span class="il"&gt;anthill&lt;/span&gt;' to create products that rival more commercial offerings. Gerry finds out how it is done and shows how its ethos is being applied to other kinds of business, with some startling results."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bbc.co.uk/programmes/b00kp806" target="_blank"&gt;http://www.bbc.co.uk/&lt;wbr&gt;programmes/b00kp806&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Good programme to introduce the notion of open source with examples from Mozilla, Linux, IBM and others. A good resource for educators and community activists. Available on iplayer. No downloadable podcast yet, however you can download the stream with mplayer (thank you to B. Halpin for the tip) with:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;wget &lt;/span&gt;&lt;a style="font-family: courier new;" href="http://www.bbc.co.uk/iplayer/aod/playlists/zy/7p/k0/0b/RadioBridge_intl_2000_bbc_radio_fourfm.ram" target="_blank"&gt;http://www.bbc.co.uk/iplayer/&lt;wbr&gt;aod/playlists/zy/7p/k0/0b/&lt;wbr&gt;RadioBridge_intl_2000_bbc_&lt;wbr&gt;radio_fourfm.ram&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;mplayer -dumpstream -bandwidth 9999999 `cat RadioBridge_intl_2000_bbc_&lt;/span&gt;&lt;/span&gt;&lt;div id=":17p" class="ii gt"&gt;&lt;wbr  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;radio_fourfm.ram`&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;The URL for the stream is available in the iplayer page source code.&lt;a href="http://www.bbc.co.uk/programmes/b00kp806" target="_blank"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-2380580142382291492?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/2380580142382291492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=2380580142382291492' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2380580142382291492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2380580142382291492'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/06/inside-virtual-anthill.html' title='Inside the Virtual Anthill'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-5345772584130592495</id><published>2009-05-12T22:59:00.001Z</published><updated>2009-05-12T22:59:54.840Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Bash Script Debugging</title><content type='html'>A seemingly very simple technique which is a lifesaver in checking bash scripts: instead of running the script, e.g.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;./renamefiles.sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;run&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;bash -x ./renamefiles.sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;for a command by command report of activity in the script. Each command is preceded by a "+". Lines without a "+" are ordinary script outputs.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-5345772584130592495?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/5345772584130592495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=5345772584130592495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5345772584130592495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5345772584130592495'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/05/bash-script-debugging.html' title='Bash Script Debugging'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-3817495055806654902</id><published>2009-05-10T17:13:00.008Z</published><updated>2009-05-10T18:10:14.526Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='compression'/><title type='text'>PPM Compression</title><content type='html'>For compression of archives and transport of large files, it is worth trying PPM "Prediction by Partial Matching" (&lt;a href="http://en.wikipedia.org/wiki/Prediction_by_Partial_Matching"&gt;http://en.wikipedia.org/wiki/Prediction_by_Partial_Matching&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;To install in Linux (though the author does not recommend this application for general use):&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  sudo apt-get install ppmd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For help:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  man ppmd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To compress the file archive.tar (creates &lt;span style="font-style: italic;"&gt;archive.pmd&lt;/span&gt;):&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ppmd e archive.tar&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Incredibly slow but can be twice as compressing as zipping. A good trade-off for longterm backups. However in simple tests on binary files it did not perform as well as bzip2 or lzma (&lt;a href="http://en.wikipedia.org/wiki/LZMA"&gt;http://en.wikipedia.org/wiki/LZMA&lt;/a&gt;) which gave best results for general files. The author does explain in the man file that his program is optimised for natural language rather than "noisey" files.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-3817495055806654902?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/3817495055806654902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=3817495055806654902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3817495055806654902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3817495055806654902'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/05/ppm-compression.html' title='PPM Compression'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-2109626785110727870</id><published>2009-05-06T01:59:00.004Z</published><updated>2009-05-06T02:21:36.355Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='registry'/><category scheme='http://www.blogger.com/atom/ns#' term='recovery'/><title type='text'>Recover Vista, and Edit Registry from Linux</title><content type='html'>Problems occur with Vista if partition or disks get changed around.&lt;br /&gt;&lt;br /&gt;I moved a partition slightly using Linux &lt;span style="font-weight: bold;"&gt;gparted&lt;/span&gt;. This was successful but the problem was when Windows boot breaks as it can't find its  old partition ID.&lt;br /&gt;&lt;br /&gt;So, if possible, &lt;span&gt;boot with &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Vista recovery&lt;/span&gt; (pressing the F8 key immediately on Vista boot) and try the automatic recovery. Another option is the Vista installation DVD; or failing that download and burn the Vista Recovery DVD from &lt;a href="http://neosmart.net/blog/2008/windows-vista-recovery-disc-download/"&gt;http://neosmart.net/blog/2008/windows-vista-recovery-disc-download/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;However, this might not be the end of the problem. Dell machines have a separate boot and recovery partition before the system partition. Problems arise when the recovery procedure allocates the drive names in disk order: C for RECOVERY and D for OS. On reboot Vista then gets very confused looking for files in C: and insisting on keeping them in D:.&lt;br /&gt;&lt;br /&gt;The solution, hopefully, is to run the command prompt from the recovery boot again. Windows boot files are now longer directly editable for some silly reason, so you'll need to use the &lt;span style="font-weight: bold;"&gt;bcdedit &lt;/span&gt;program which will be available from the recovery boot (EasyBCD is a fine program for editing the boot record but unfortunately this isn't going to be available on a disabled system).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;bcdedit&lt;/span&gt;&lt;br /&gt;lists the current boot record.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;bcdedit /v&lt;/span&gt;&lt;br /&gt;lists the current boot record with full device IDs.&lt;br /&gt;&lt;br /&gt;In order to change device names, using the device IDs as listed, use the "/set" switch followed by the ID device and the full correct partition. For example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;bcdedit /set {549a88e6-38fe-11de-8cb6-d0e4c85376d6} device partition=c:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;bcdedit /set {549a88e6-38fe-11de-8cb6-d0e4c85376d6} osdevice partition=c:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Try a reboot.&lt;br /&gt;&lt;br /&gt;Believe it or not, problems can persist (such a bloody annoying system). Although the BCD records lists the system device as C: again, Vista decides to suddenly use E:. The problem this time lies in the registry. Somewhere along the line device C: is listed as a mounted device and unavailable. And unfortunately it becomes impossible to edit the registry from a disabled system.&lt;br /&gt;&lt;br /&gt;However, thankfully there is a Linux solution to editing the registry offline.&lt;br /&gt;&lt;br /&gt;From a live CD (download from &lt;a href="http://www.ubuntu.com/getubuntu/download"&gt;http://www.ubuntu.com/getubuntu/download&lt;/a&gt;), USB system or second installed system, install &lt;span style="font-weight: bold;"&gt;chntpw&lt;/span&gt; ("Change NT Password"). Apart from its obviously main purpose of changing passwords this neat program also allows simple but reliable offline registry editing.&lt;br /&gt;&lt;br /&gt;To install on debian-based Linux system:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install chntpw&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To learn more about the program:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;man chntpw&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To run on, for example a Vista disk mounted at /media/OS, run with the "-e" edit switch as:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;chntpw -e /media/OS/Windows/System32/config/SYSTEM&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once inside the program, then:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: georgia;font-family:courier new;" &gt;For help, use: &lt;/span&gt;&lt;span style="font-family: courier new;font-family:courier new;" &gt;?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: georgia;font-family:courier new;" &gt;To list registry keys: &lt;/span&gt;&lt;span style="font-family: courier new;font-family:courier new;" &gt;ls&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: georgia;font-family:courier new;" &gt;To list the key &lt;/span&gt;&lt;mounteddevices&gt;&lt;span style="font-family: georgia;font-family:courier new;" &gt;:&lt;span style="font-family: courier new;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new;font-family:courier new;" &gt;ls MountedDevices&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: georgia;font-family:courier new;" &gt;To delete all &lt;/span&gt;&lt;mounteddevices&gt;&lt;span style="font-family: georgia;font-family:courier new;" &gt;: &lt;/span&gt;&lt;span style="font-family: courier new;font-family:courier new;" &gt;rdel MountedDevices&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: georgia;font-family:courier new;" &gt;And, to quit: &lt;/span&gt;&lt;span style="font-family: courier new;font-family:courier new;" &gt;&lt;span style="font-family: georgia;"&gt;q&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/mounteddevices&gt;&lt;/mounteddevices&gt;&lt;br /&gt;Reboot, pray.&lt;mounteddevices&gt;&lt;mounteddevices&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/mounteddevices&gt;&lt;/mounteddevices&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-2109626785110727870?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/2109626785110727870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=2109626785110727870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2109626785110727870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2109626785110727870'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/05/recover-vista-and-edit-registry-from.html' title='Recover Vista, and Edit Registry from Linux'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-1306843954769735330</id><published>2009-05-04T23:01:00.003Z</published><updated>2009-05-04T23:11:33.919Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='screensaver'/><title type='text'>Ubuntu Screensaver Options</title><content type='html'>Options seem to have disappeared from the Ubuntu screensavers. Install &lt;span style="font-family: courier new;"&gt;xscreensaver&lt;/span&gt; and &lt;span style="font-family: courier new;"&gt;xscreensaver-data-extras&lt;/span&gt; to get them back.&lt;br /&gt;&lt;br /&gt;Customise what text is displayed in text based screensavers, for example:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Time: add &lt;span style="font-family: courier new;"&gt;date +"%H:%M %d/%m/%y"&lt;/span&gt; to the program option.&lt;/li&gt;&lt;li&gt;News: add, for example, &lt;span style="font-family: courier new;"&gt;http://www.rte.ie/rss/news.xml&lt;/span&gt; to the feed option.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-1306843954769735330?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/1306843954769735330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=1306843954769735330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1306843954769735330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1306843954769735330'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/05/ubuntu-screensaver-options.html' title='Ubuntu Screensaver Options'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-5023379457584826646</id><published>2009-05-04T15:53:00.005Z</published><updated>2009-05-04T16:50:45.569Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>Javascript Redirect</title><content type='html'>Redirect to another domain:&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&amp;lt;script type="text/javascript"&gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;window.location = location.href.replace("workingwithlinux", "systemnotebook")&lt;br /&gt;// --&gt;&lt;br /&gt;&amp;lt;/script&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-5023379457584826646?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/5023379457584826646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=5023379457584826646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5023379457584826646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5023379457584826646'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/05/javascript-redirect.html' title='Javascript Redirect'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-3958505880354784356</id><published>2009-05-04T15:34:00.004Z</published><updated>2009-05-04T15:43:00.820Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><category scheme='http://www.blogger.com/atom/ns#' term='upgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Upgrade Server from CD</title><content type='html'>To bandwidth add the Ubuntu Server CD (http://www.ubuntu.com/getubuntu/download-server) to the server before upgrading.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-cdrom add&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;then&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get update&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudp apt-get upgrade&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get dist-upgrade&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-3958505880354784356?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/3958505880354784356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=3958505880354784356' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3958505880354784356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3958505880354784356'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/05/upgrade-server-from-cd.html' title='Upgrade Server from CD'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-6130284497114434302</id><published>2009-05-03T12:48:00.003Z</published><updated>2009-05-03T13:57:59.332Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='moodle'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Moodle on a VMWare Guest</title><content type='html'>If you experience problem with the hostname (though if your system was set up correctly with DHCP the hostname should resolve through the VMWare NAT network and nameservers) :&lt;br /&gt;&lt;br /&gt;Change line in /usr/shared/moodle/config.php&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    $CFG-&gt;wwwroot = 'http://'.$_SERVER["SERVER_NAME"].'/moodle';&lt;br /&gt;&lt;br /&gt;Otherwise you might also have to change from, for example, ubuntu.localdomain to ubuntu.local&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-6130284497114434302?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/6130284497114434302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=6130284497114434302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6130284497114434302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6130284497114434302'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/05/moodle-on-vmware-guest.html' title='Moodle on a VMWare Guest'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-2351318859143039486</id><published>2009-05-03T11:23:00.002Z</published><updated>2009-05-03T12:22:37.648Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='filemanagement'/><title type='text'>Rename Files</title><content type='html'>In this example it removes the extension ".auto" (the "\." is required in the find expression).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; find -name "*.auto" -print0 | xargs -0 rename 's/\.auto//'&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-2351318859143039486?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/2351318859143039486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=2351318859143039486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2351318859143039486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2351318859143039486'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/05/rename-files.html' title='Rename Files'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-8367679688143035812</id><published>2009-04-26T17:01:00.002Z</published><updated>2009-04-26T17:04:30.281Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Deleting Emails</title><content type='html'>I regularly need to delete emails without reading them from a forwarding address at my Vodafone phone. In an adaptation of another &lt;a href="http://www.cyberciti.biz/tips/remove-or-delete-all-emails-message-from-a-pop3-server.html"&gt;script&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Delete POP emails&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# Adapted from http://www.cyberciti.biz/tips/remove-or-delete-all-emails-message-from-a-pop3-server.html&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;username="&lt;span style="font-style: italic;"&gt;myemailaddress&lt;/span&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;password="&lt;span style="font-style: italic;"&gt;somethingsecret&lt;/span&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;server="pop.vodafone.ie"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;MAX_MESS=100&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;delete(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    sleep 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    echo USER $username&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    sleep 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    echo PASS $password&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    sleep 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    for ((j=1;j&lt;=$MAX_MESS;j+=1))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        echo DELE $j&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        sleep 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    done&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    echo QUIT&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;delete | telnet $server 110&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-8367679688143035812?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/8367679688143035812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=8367679688143035812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8367679688143035812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8367679688143035812'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/04/deleting-emails.html' title='Deleting Emails'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-6956431637068974209</id><published>2009-04-07T08:21:00.002Z</published><updated>2009-04-26T17:01:42.238Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='boot'/><title type='text'>Fix Ubuntu Splash Screen</title><content type='html'>Find your swap partition:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo fdisk -l&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Check the disk ID of the swap partition:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo vol_id /dev/sda8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Correct the UUID in the resume file:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo nano /etc/initramfs-tools/conf.d/resume&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-6956431637068974209?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/6956431637068974209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=6956431637068974209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6956431637068974209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6956431637068974209'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/04/fix-ubuntu-splash-screen.html' title='Fix Ubuntu Splash Screen'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-1731293187907507144</id><published>2009-04-05T10:10:00.003Z</published><updated>2009-04-05T11:05:39.755Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='access'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>The Apostrophe Problem</title><content type='html'>In Ireland especially we have the terrible apostrophe problem in names and then problems with SQL commands having quotes breaking up and causing errors. Damn, it's a simple answer: replace the single quote with two single quotes before further commands.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;personwithapostrophe=Replace(person,"'","''")&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-1731293187907507144?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/1731293187907507144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=1731293187907507144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1731293187907507144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1731293187907507144'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/04/apostrophe-problem.html' title='The Apostrophe Problem'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-2469463859188506152</id><published>2009-04-04T12:14:00.014Z</published><updated>2009-04-05T11:04:25.626Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='access'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Multiple Access Reports</title><content type='html'>There's the odd problem of generating multiple reports from Access - such as individual invoices, individual rosters, etc. A single report as a pdf is not easily emailable or easily chopped up for each individual. The solution:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To create individual roster reports to be printed to pdf (see pdfcreator) based on the report &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;timetable_roster&lt;/span&gt;: create a new blank report called, for example here, &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;print_roster&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the code of &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;print_roster&lt;/span&gt; include, for example (SQL variations in bold):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Private Sub Report_Open(Cancel As Integer)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;'  create roster reports&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Dim rst As DAO.Recordset&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Dim db As DAO.Database&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Dim hold As String&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Set db = CurrentDb&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Set rst = db.OpenRecordset("&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;SELECT roster.person FROM Roster GROUP BY roster.person;&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;")&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; If rst.BOF Or rst.EOF = True Then GoTo jump_out&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; rst.MoveFirst&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-family:'courier new';"&gt;Do While Not rst.EOF&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: pre; font-family:'courier new';"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;person = rst!person&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new'; white-space: pre;"&gt; personwithapostrope=Replace(person,"'","''")&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: pre; font-family:'courier new';"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;DoCmd.OpenReport "timetable_roster", acViewPreview, , "&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;person=&lt;/span&gt;&lt;/span&gt;'" &amp;amp; personwithapostrophe &amp;amp; "'", , person&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: pre; font-family:'courier new';"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;DoCmd.OpenReport "timetable_roster", acViewNormal, , "&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="text-decoration: underline; -webkit-text-decorations-in-effect: underline; "&gt;person=&lt;/span&gt;&lt;/span&gt;'" &amp;amp; personwithapostrophe &amp;amp; "'", , person&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-family:'courier new';"&gt; DoCmd.Close acReport, "timetable_roster"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-family:'courier new';"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;rst.MoveNext&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-family:'courier new';"&gt;Loop&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;jump_out:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;rst.Close&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Set rst = Nothing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;End Sub&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Private Sub Report_Page()&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;DoCmd.Close acDefault, , acSaveNo&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;In the code of the original &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;timetable_roster&lt;/span&gt; report, include:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Private Sub Report_Open(Cancel As Integer)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;' change report title&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;If Not IsNull(Me.OpenArgs) Then&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;        Me.Caption = OpenArgs&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;End If&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-2469463859188506152?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/2469463859188506152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=2469463859188506152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2469463859188506152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2469463859188506152'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/04/multiple-access-reports.html' title='Multiple Access Reports'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-8130222257001249467</id><published>2009-04-04T12:12:00.000Z</published><updated>2009-04-04T12:13:01.464Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='command'/><title type='text'>When is Easter?</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;ncal -e 2009&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-8130222257001249467?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/8130222257001249467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=8130222257001249467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8130222257001249467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8130222257001249467'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/04/when-is-easter.html' title='When is Easter?'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-8149147679982571854</id><published>2009-03-15T13:05:00.001Z</published><updated>2009-03-15T13:08:01.763Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><title type='text'>Using BloGTK with Blogger</title><content type='html'>Talk about weird piece of information that is difficult to find: set server to &lt;a href="http://www.blogger.com/api/RPC2" target="_parent"&gt;http://www.blogger.com/api/RPC2&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-8149147679982571854?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/8149147679982571854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=8149147679982571854' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8149147679982571854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8149147679982571854'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/03/using-blogtk-with-blogger.html' title='Using BloGTK with Blogger'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-238263330602983935</id><published>2009-03-15T12:35:00.002Z</published><updated>2009-03-15T13:46:03.545Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='command'/><category scheme='http://www.blogger.com/atom/ns#' term='photos'/><title type='text'>Change Dates</title><content type='html'>I had a problem recently with a camera that has serious battery problems and never has the correct date. It screws up the filing of photos later.&lt;p&gt;As usual, there was a simple solution: the linux command touch - which I only ever used for creating empty files.&lt;/p&gt;&lt;p&gt;To change the dates on all files in a folder to the 17th of March 2009 at teatime it is as simple as:&lt;/p&gt;&lt;p style="font-family: courier new;"&gt;touch * -t "200903171800"&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-238263330602983935?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/238263330602983935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=238263330602983935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/238263330602983935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/238263330602983935'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/03/change-dates.html' title='Change Dates'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-3159366747116853260</id><published>2009-03-07T15:21:00.003Z</published><updated>2009-04-06T10:27:51.175Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='sync'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Online Backup and Synchronising</title><content type='html'>An excellent tool I can across recently is &lt;a href="https://www.getdropbox.com/referrals/NTQ4Mzk3Nzk"&gt;Dropbox&lt;/a&gt; - which works on both Windows and Linux and allows you to instantly backup files online and synchronise with more than one machine or device. You can set some folders to share with other people for collaborative work. Works excellently and even allow simple web access to your files while on cybercafe or other machines.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-3159366747116853260?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/3159366747116853260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=3159366747116853260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3159366747116853260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3159366747116853260'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2009/03/online-backup-and-synchronising.html' title='Online Backup and Synchronising'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-715483740688404828</id><published>2008-09-21T14:29:00.002Z</published><updated>2009-01-13T09:45:31.173Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='modem'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='usb'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>Huawei E220 USB Modem on Ubuntu</title><content type='html'>The Huawei E220 is installed on a USB connection. It provides an always-on broadband connection on a 3G network or falls back to dialup speeds on the lesser GPRS (2.5G) network.&lt;br /&gt;&lt;br /&gt;No support is generally offered for Linux, but it does work on Linux.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ubuntu Hardy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Things are getting so much easier. Today on Ubuntu Hardy it just works. The modem is detected automatically as /dev/ttyUSB0.&lt;br /&gt;&lt;br /&gt;Configuration is straightforward via the network icon on the panel or via System-Administration-Network on the Gnome menu.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Edit the point-to-point connection to enable the connection as GPRS with the appropriate ISP access point (e.g. for 3 Ireland, it is 3ireland.ie), or serial modem with the phone number *99# may also work.&lt;/li&gt;&lt;li&gt;Set the modem port to /dev/ttyUSB0.&lt;/li&gt;&lt;li&gt;Switch the default route, ISP nameservers, and retry on in the options tab.&lt;/li&gt;&lt;/ul&gt;The lights on the modem itself will let you know what is happening and if things are working.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-715483740688404828?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/715483740688404828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=715483740688404828' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/715483740688404828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/715483740688404828'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/09/huawei-e220-usb-modem-on-ubuntu.html' title='Huawei E220 USB Modem on Ubuntu'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-8902019277560750649</id><published>2008-06-09T10:11:00.007Z</published><updated>2008-06-09T10:45:44.749Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='parted'/><category scheme='http://www.blogger.com/atom/ns#' term='autopsy'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='partitions'/><category scheme='http://www.blogger.com/atom/ns#' term='fdisk'/><category scheme='http://www.blogger.com/atom/ns#' term='fsck'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Recovering Partitions</title><content type='html'>Partitioning can go wrong. Yes, we should have backups. But there are times when you or some utility screws up the partition table.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ubuntu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've found reconstructing the partition table straightforward enough with an essential tool: the &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu Live CD&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;By booting from the CD to provide good clean access to the harddisk, even when your system partition is still operational.&lt;br /&gt;&lt;br /&gt;Once in Ubuntu, open a terminal (from accessories, or Ctrl+Alt-F1).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;fdisk&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;For a simple check on the partition table and disk:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo fdisk -l&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It is a straightforward way of checking the device name of the disk in question, however although &lt;span style="font-style: italic;"&gt;fdisk&lt;/span&gt; is a useful partition tool, I advise using &lt;span style="font-style: italic;"&gt;parted&lt;/span&gt; in this case for its rescue command.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;Now before you do anything: it is important to state that everyone's problem is different and this is not a solution to your exact problem. Please make a complete backup of all intact partitions; or make a complete disk image; and at the very least make a backup of your partition table to a usb drive or something (&lt;/span&gt;&lt;a style="color: rgb(102, 0, 0);" href="http://workingwithlinux.blogspot.com/search/label/partitions"&gt;click for details&lt;/a&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;). Editing partitions is a non-trivial matter and although strictly speaking you are only editing the partition index and the actual data on the disk always remains untouched you could lose track of valuable partition data, cause hours of heartache, and by rebooting into a badly reconstructed partition table perhaps cause data damage. Backup.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;parted&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To run &lt;span style="font-style: italic;"&gt;parted&lt;/span&gt; (on, for example, /dev/sda):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo parted /dev/sda &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To get a list of the current partition table:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;print&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To change the units to a more precise cylinder count, or sector count, use:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;unit cyl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;unit s&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Where there are incorrect partition entries overlapping the locations of the partition to be recovered (you are 100% sure!), use the remove command, e.g.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rm 3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then rescue partitions, use the rescue command with the start and end cylinders (or sectors) estimated for the partition. This can be tricky and it can seem to miss where the start or end values are only slightly off; but other times it will cycle through a list of possible partitions to be recovered based on the filesystem headers that it finds (the first possible partition might not always be the one you are looking for, check the size, as old scraps of filesystems may be lying around and bits of partitions that have been moved will also exist close to the partition we are looking for).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rescue &lt;span style="font-style: italic;"&gt;start end&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It all works best if you are reconstructing a partition table, or section of, that started at the beginning and continues partition after partition without significant gaps. It is fairly straightforward then to begin a search, recover the first partition, then continue the search at the next available cylinder. Otherwise, a disk utility like &lt;a href="http://www.sleuthkit.org/"&gt;Autopsy&lt;/a&gt; can help in viewing the disk and search for keywords such as, for example with an ntfs partition "Press Ctrl+Alt+Del to restart", to find the start of the deleted partition.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;fsck&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Recovered partitions can be "tested" be using the regular Ubuntu desktop to mount and explore the files, though the command &lt;span style="font-style: italic;"&gt;fsck&lt;/span&gt; will provide a more thorough check.&lt;br /&gt;&lt;br /&gt;Regular partition editing can be done a lot more easily from the main menu in System/Administration.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-8902019277560750649?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/8902019277560750649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=8902019277560750649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8902019277560750649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8902019277560750649'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/06/recovering-partitions.html' title='Recovering Partitions'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-3611486723092133395</id><published>2008-06-07T11:15:00.003Z</published><updated>2008-06-07T11:20:37.583Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='gnome-do'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Do as I Do</title><content type='html'>Gnome-Do is the biz. Run command, programs and searches easily with a strike of the "super"-but-looks-like-the-"Windows"-key and the spacebar.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://wiki.ubuntu.com/GnomeDo"&gt;https://wiki.ubuntu.com/GnomeDo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Adding it to the sessions startup programs saves another step.&lt;br /&gt;&lt;pre style="font-family: courier new;"&gt;gnome-do -q&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-3611486723092133395?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/3611486723092133395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=3611486723092133395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3611486723092133395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3611486723092133395'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/06/do-as-i-do.html' title='Do as I Do'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-244353078768984680</id><published>2008-06-06T11:29:00.004Z</published><updated>2008-06-06T11:41:20.310Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='symphony'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='free'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='office'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>IBM Lotus Symphony</title><content type='html'>In world where we already have opensource OpenOffice.org it probably isn't that important but IBM Lotus Symphony is a available free (based on an older version OpenOffice.org and taking advantage of its dual license to not release it as opensource) to run on Linux and Windows.&lt;br /&gt;&lt;br /&gt;But interesting to look at and yet another tool for free software in the office.&lt;br /&gt;&lt;br /&gt;Installs perfectly well on Ubuntu, needs a fair bit of space, but straightforward. However a fix to get it to run is required at present (since it is installed as root permissions are a bit screwed).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo chown -R &lt;span style="font-style: italic;"&gt;username&lt;/span&gt; ~/.lotus/&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://symphony.lotus.com/"&gt;http://symphony.lotus.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-244353078768984680?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/244353078768984680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=244353078768984680' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/244353078768984680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/244353078768984680'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/06/ibm-lotus-symphony.html' title='IBM Lotus Symphony'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-3014491778985391328</id><published>2008-06-05T16:59:00.004Z</published><updated>2008-06-05T18:02:42.289Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='hp4l'/><category scheme='http://www.blogger.com/atom/ns#' term='problems'/><category scheme='http://www.blogger.com/atom/ns#' term='cups'/><category scheme='http://www.blogger.com/atom/ns#' term='printer'/><category scheme='http://www.blogger.com/atom/ns#' term='usb-to-parallel'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Printer Troubles</title><content type='html'>I have a printer setup which gets frustrating. There is no telling if my old HP4L (now with a USB-to-parallel adapter cable) will be recognised by Ubuntu and at which USB port. I can detect no pattern to the misbehaviour or to how to get it to be recognised again beyond deleting the printer, restarting, and reintroducing the USB cable to a naive Ubuntu.&lt;br /&gt;&lt;br /&gt;The printer is found as "unknown".&lt;br /&gt;&lt;br /&gt;To rename it takes:&lt;br /&gt;&lt;br /&gt;&lt;textarea cols="80" rows="1"&gt;sudo gedit /etc/cups/printers.conf&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;and a restart of cups as:&lt;br /&gt;&lt;br /&gt;&lt;textarea cols="80" rows="1"&gt;/etc/init.d/cupsys restart&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;I also discovered simple cups administration at:&lt;br /&gt;&lt;br /&gt;&lt;textarea cols="80" rows="1"&gt;http://localhost:631/&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;Maybe there's a better way of training my printer?&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-3014491778985391328?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/3014491778985391328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=3014491778985391328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3014491778985391328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3014491778985391328'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/06/printer-troubles.html' title='Printer Troubles'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-5761519654676960345</id><published>2008-06-05T15:59:00.010Z</published><updated>2008-06-08T20:40:22.955Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcam'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='weather'/><category scheme='http://www.blogger.com/atom/ns#' term='ireland'/><category scheme='http://www.blogger.com/atom/ns#' term='dublin'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='imagemagick'/><category scheme='http://www.blogger.com/atom/ns#' term='galway'/><title type='text'>Live Desktop</title><content type='html'>Further to the &lt;a href="http://workingwithlinux.blogspot.com/2008/05/desktop-weather-map.html"&gt;previous post which used ImageMagick to add live weather views to the desktop&lt;/a&gt;, this post extends the idea with a selection of webcam images, a local newspaper front page, and weather radar to create a real desktop window on the world.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;wallpapers="/usr/share/backgrounds/"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;wallpaper="simple-ubuntu.png"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;weather="http://www.met.ie/weathermaps/latest_radar.gif"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cam1="http://www.galway.net/galwayguide/webcam/cam05/current.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cam2="http://www.dublintraffic.com/Site0Camera10.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cam3="http://www.dublintraffic.com/Site0Camera21.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cam4="http://www.dublintraffic.com/Site0Camera44.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cam5="http://www.dublintraffic.com/Site0Camera79.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cam6="http://www.dublintraffic.com/Site0Camera41.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cam7="http://www.dublintraffic.com/Site0Camera47.jpg"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;convert -page +0+0 $wallpapers$wallpaper -page +400+400 $weather -page +800+300 $cam1 -page +700+600 $cam2 -page +800+900 $cam3 -page +1400+300 $cam4 -page +1500+900 $cam5 -page +1200+700 $cam6 -page +1600+600 $cam7 -flatten $wallpapers/radar.jpg&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Include more of that ImageMagick magic and you've got a real fun addition to your desktop world - something not possible under Windows Vista despite all its boasting.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;radar&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family: courier new;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# radar&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# live desktop script&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;wallpapers="/usr/share/backgrounds/"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;wallpaper="simple-ubuntu.png"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;img1="http://www.galway.net/galwayguide/webcam/cam05/current.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cap1="1. Galway Harbour"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pos1="+800+300"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;img2="http://www.dublintraffic.com/Site0Camera10.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cap2="2. Wolfe Tone Quay"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pos2="+700+600"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;img3="http://www.dublintraffic.com/Site0Camera41.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cap3="3. Wellington Quay"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pos3="+800+900"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;img4="http://www.dublintraffic.com/Site0Camera44.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cap4="4. Dame Street, Dublin"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;img5="http://www.dublintraffic.com/Site0Camera79.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pos4="+1400+300"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cap5="5. Mad Cow, M50, Dublin"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pos5="+1500+900"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;img6="http://www.dublintraffic.com/Site0Camera3.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cap6="6. O'Connell Street"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pos6="+1200+700"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;img7="http://www.dublintraffic.com/Site0Camera21.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cap7="7. Dame Street, Dublin"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pos7="+1600+600"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;img8="http://www.dublintraffic.com/Site0Camera85.jpg"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cap8="8. Naas Road, Dublin"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pos8="+350+800"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;img9="http://www.met.ie/weathermaps/latest_radar.gif"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cap9="9. Weather Radar"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pos9="+400+400"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;img10="http://www.met.ie/weathermaps/nat00_weather.png"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cap10="10. Weather"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pos10="+200+300"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;img11="http://www.eveningecho.ie/pdf/front.pdf"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;pos11="+50+800"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -caption "$cap1, %c %f" $img1 -background black +polaroid /tmp/img1.tif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -caption "$cap2, %c %f" $img2 -background black +polaroid /tmp/img2.tif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -caption "$cap3, %c %f" $img3 -background black +polaroid /tmp/img3.tif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -caption "$cap4, %c %f" $img4 -background black +polaroid /tmp/img4.tif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -caption "$cap5, %c %f" $img5 -background black +polaroid /tmp/img5.tif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -caption "$cap6, %c %f" $img6 -background black +polaroid /tmp/img6.tif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -caption "$cap7, %c %f" $img7 -background black +polaroid /tmp/img7.tif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -caption "$cap8, %c %f" $img8 -background black +polaroid /tmp/img8.tif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -caption "$cap9, %c %f" $img9 -background black +polaroid /tmp/img9.tif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -caption "$cap10, %c %f" $img10 -background black +polaroid /tmp/img10.tif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -scale 50% $img11 /tmp/img11.gif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet /tmp/img11.gif -background black +polaroid /tmp/img11.tif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;convert -quiet -page $pos11 /tmp/img11.tif -page $pos10 /tmp/img10.tif -page $pos8 /tmp/img8.tif -page $pos7 /tmp/img7.tif -page $pos6 /tmp/img6.tif -page $pos5 /tmp/img5.tif -page $pos4 /tmp/img4.tif -page $pos3 /tmp/img3.tif -page $pos2 /tmp/img2.tif -page $pos1 /tmp/img1.tif -page $pos9 /tmp/img9.tif -page +0+0 $wallpapers$wallpaper -reverse -flatten $wallpapers/radar.jpg&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_C-jyDxfd1QY/SD1TwwBmGWI/AAAAAAAABBA/C5263zAFAfk/s1600-h/radar.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_C-jyDxfd1QY/SD1TwwBmGWI/AAAAAAAABBA/C5263zAFAfk/s400/radar.jpg" alt="" id="BLOGGER_PHOTO_ID_5205408841300580706" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-5761519654676960345?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/5761519654676960345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=5761519654676960345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5761519654676960345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5761519654676960345'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/06/live-desktop.html' title='Live Desktop'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_C-jyDxfd1QY/SD1TwwBmGWI/AAAAAAAABBA/C5263zAFAfk/s72-c/radar.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-3128969111256572774</id><published>2008-05-23T10:47:00.020Z</published><updated>2008-06-05T16:03:00.973Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='weather'/><category scheme='http://www.blogger.com/atom/ns#' term='ireland'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='imagemagick'/><title type='text'>Desktop Weather</title><content type='html'>&lt;img style="width: 218px; height: 226px;" src="http://www.met.ie/weathermaps/latest_radar.gif" alt="" align="right" border="0" /&gt;Add a simple script to /etc/cron.hourly and you have an updated weather map (in this case the Irish rain radar map) which you can stretch to any size you need on the desktop.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;#!/bin/bash&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;wget -qmnd http://www.met.ie/weathermaps/latest_radar.gif -O /home/ian/Desktop/weather.gif&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;Or even better, if you've installed imagemagick, combine the latest radar with your wallpaper automatically. Set your wallpaper to radar.jpg.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;#!/bin/bash&lt;br /&gt;wallpapers="/usr/share/backgrounds/"&lt;br /&gt;wallpaper="simple-ubuntu.png"&lt;br /&gt;weather="http://www.met.ie/weathermaps/latest_radar.gif"&lt;br /&gt;&lt;br /&gt;convert -page +0+0 $wallpapers$wallpaper -page +400+400 $weather -flatten $wallpapers/radar.jpg&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_C-jyDxfd1QY/SDg-fQBmGVI/AAAAAAAABA4/2F-b_bTWBAg/s1600-h/radar.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-3128969111256572774?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/3128969111256572774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=3128969111256572774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3128969111256572774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3128969111256572774'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/05/desktop-weather-map.html' title='Desktop Weather'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-5847024227841176644</id><published>2008-05-22T17:49:00.008Z</published><updated>2008-06-07T10:12:09.322Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='modem'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Modem Download Volume Logging</title><content type='html'>There doesn't seem to be an straightforward way to keep track of volume downloads and uploads over a modem on Ubuntu or any Linux - especially using NetworkManager.&lt;br /&gt;&lt;br /&gt;Volume is important these days when on a broadband package with download limits; helps too when checking the bill; and helps to calm the nerves and perhaps use more of your limit than otherwise.&lt;br /&gt;&lt;br /&gt;Based on a discussion on the forums (http://ubuntuforums.org/showthread.php?t=381138) I have mostly solved the problem with a simple script and the help of Wanda the Fish.&lt;br /&gt;&lt;br /&gt;A simple script, called "logup" is placed in "/etc/network/if-up.d". It runs on interface up and adds to the /var/log/volume.log.tmp every 5 minutes (making sure that the logs are nearly accurate even on a system crash or power down without logging off first). A second script called "logdown" is placed in "/etc/network/if-down.d". It completes the current session log if the interface is shut down calmly.&lt;br /&gt;&lt;br /&gt;On the Gnome desktop I've added Wanda the fish and changed her command to "tac /var/log/volume.log" (tac is cat in reverse, by the way).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/etc/network/if-up.d/&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;logup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;interface="ppp0"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;log="/var/log/volume.log"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tmp="$log.tmp"&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo &gt;&gt; $log&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;date &gt;&gt; $log&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tail -1 $tmp &gt;&gt; $log&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rm $tmp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;total=0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;for part in `cat $log | grep $interface`&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    do let "total+=part"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;let "total/=(1024*1024)"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo "Total: $total MB" &gt;&gt; $log&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;while true; do cat /proc/net/dev | grep $interface | tr ":" " " | tr -s " " |cut -d' ' -f2,3,11 &gt;&gt; $tmp; sleep 5m; done &amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/etc/network/if-down.d/&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;logdown&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;interface="ppp0"&lt;br /&gt;log="/var/log/volume.log"&lt;br /&gt;tmp="$log.tmp"&lt;br /&gt;&lt;br /&gt;cat /proc/net/dev | grep $interface | tr ":" " " | tr -s " " |cut -d' ' -f2,3,11 &gt;&gt; $tmp&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-5847024227841176644?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/5847024227841176644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=5847024227841176644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5847024227841176644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5847024227841176644'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/05/modem-download-volume-logging.html' title='Modem Download Volume Logging'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-7716679329982384654</id><published>2008-04-26T11:41:00.008Z</published><updated>2008-05-22T17:49:22.161Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='recovery'/><category scheme='http://www.blogger.com/atom/ns#' term='filemanagement'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Organise Files by Size</title><content type='html'>I had the problem of about a million recovered files, some scraps, in a single folder. File management  doesn't scale well to a million files; so this script reorganises the contents by file size. In this case it uses a scale from 10Mb to 0 in 100k increments.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;organisebysize.sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;for i in `seq 10000 -100 0`&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        mkdir "$i"k&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        mv -v $(find -maxdepth 1 -type f -size +"$i"k) "$i"k&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        rmdir "$i"k&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Alternate&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Of course even this had scale problems for so many files. My final fix was a command to generate a batch file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;find -type f -printf "mkdir %bblocks; mv %p %bblocks \n" &gt; ../movefiles.sh&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-7716679329982384654?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/7716679329982384654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=7716679329982384654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7716679329982384654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7716679329982384654'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/04/organise-file-by-size.html' title='Organise Files by Size'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-7741052640243207473</id><published>2008-04-26T11:36:00.003Z</published><updated>2008-05-10T13:02:01.581Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='jpg'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='recovery'/><category scheme='http://www.blogger.com/atom/ns#' term='photos'/><title type='text'>Recovering Photos</title><content type='html'>Regardless of operating system or file structure a great last resort for recovering photos and other jpeg images is &lt;span style="font-weight: bold;"&gt;jpegextractor&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://schmidt.devlib.org/software/jpeg-extractor.html"&gt;http://schmidt.devlib.org/software/jpeg-extractor.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In my case, treating the whole disk as a single file and ignoring any file structure which had been destroyed, the command was:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;java jpegextractor /dev/sdb1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to attempt a recovery of files from a harddisk on a usb connection.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-7741052640243207473?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/7741052640243207473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=7741052640243207473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7741052640243207473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7741052640243207473'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/04/recovering-photos.html' title='Recovering Photos'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-1705565663713574296</id><published>2008-04-13T17:42:00.002Z</published><updated>2008-05-22T23:37:07.490Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='nautilus'/><title type='text'>Search Folders</title><content type='html'>Update to Nautilus script to automatically fill folders on a folder name&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;autofill&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# AutoFill, version 1.2, by Ian Spillane (ispillane at ccoc dot ie), 2008.&lt;br /&gt;# A Nautilus script to automatically populate a folder with links to files matching the folder name. A simple but effective implementation for virutal folders for music, images, or any file type.&lt;br /&gt;# Released on the GPL (http://www.gnu.org/copyleft/gpl.html).&lt;br /&gt;&lt;br /&gt;# To do: Implementation of further search options, multiple key words, file types, etc., still based on a simple syntax in the folder name, e.g. black|white[image].&lt;br /&gt;&lt;br /&gt;search=$*&lt;br /&gt;&lt;br /&gt;if test -z "$*"&lt;br /&gt;then&lt;br /&gt;    # If no arguments: install as Nautilus script&lt;br /&gt;    cp autofill ~/.gnome2/nautilus-scripts/autofill&lt;br /&gt;    echo "Installed as Nautilus script. To use, right-click on a folder in Nautilus and select scripts."&lt;br /&gt;else&lt;br /&gt;    cd $search&lt;br /&gt;    # Make links in folder for every file matching name, except for .Trash&lt;br /&gt;    for f in $(find ~ | grep -i "$search" | grep -v "$(pwd)" | grep -v ".Trash" | sed s/[\ ]/{}/g)&lt;br /&gt;    do&lt;br /&gt;        file=$(echo $f | sed s/{}/\ /g ) # return spaces&lt;br /&gt;        link="$(date +"%H%M%S-%N")-$(basename "$file")"&lt;br /&gt;        ln -s  "$file" "$link"&lt;br /&gt;    done&lt;br /&gt;    zenity --info --text="Done"&lt;br /&gt;fi&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-1705565663713574296?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/1705565663713574296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=1705565663713574296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1705565663713574296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1705565663713574296'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/04/search-folders.html' title='Search Folders'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-7693726145435465016</id><published>2008-04-12T19:14:00.005Z</published><updated>2008-04-26T11:51:41.538Z</updated><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='filemanagement'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Rename Files by Type</title><content type='html'>Useful when dealing with a large volume of recovered files with incorrect or non-existent filename extensions, this script renames all files in a directory and its subdirectories with an 'extension' of sorts with the description of the file type. Other search techniques and batch renamers can then look after restoring these to common three letter extensions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ren.sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;t="/tmp/ren"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;find -type f &gt; "$t"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;while read record[n]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    mv "${record[n]}" "${record[n]}.$(file -b "${record[n]}")"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    let "n+=1"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;done &lt; "$t"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rm "$t"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;then, for example, to correctly name all JPEG files run (the complete list of files is too large to embed every option), where "JPEG" begins the description and "jpg" is the new extension:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;find -name "*JPEG*" -print0 | xargs -0 rename 's/JPEG.*/jpg/'&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-7693726145435465016?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/7693726145435465016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=7693726145435465016' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7693726145435465016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7693726145435465016'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/04/rename-files-by-type.html' title='Rename Files by Type'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-5709474280525468266</id><published>2008-03-29T14:12:00.012Z</published><updated>2008-06-04T10:58:31.227Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Delivering Newspapers</title><content type='html'>Small script (which installs itself as a daily cron if run with sudo) to download the latest front page of, in this example, the Evening Echo to the desktop as a nice little thumbnail pdf:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;delivernewspaper&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;url="http://www.eveningecho.ie/pdf/front.pdf"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;paper="eveningecho"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/bash&lt;br /&gt;home="/home/ian"&lt;br /&gt;&lt;br /&gt;if [ ! -e /etc/cron.daily/delivernewspaper ]; then ln -s $(pwd)/delivernewspaper /etc/cron.daily/delivernewspaper; fi&lt;br /&gt;cd $home/Desktop&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;wget $url -O ~/Desktop/$paper.pdf&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;delivernewspaper (2)&lt;/span&gt;&lt;br /&gt;To download more than one, use a file in the home directory called ".newspapers" and this second edition of the script.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/bash&lt;br /&gt;config="/home/ian/.newspapers"&lt;br /&gt;home="/home/ian/Desktop/newspapers"&lt;br /&gt;&lt;br /&gt;if [ ! -e /etc/cron.daily/delivernewspaper ]; then ln -s $(pwd)/delivernewspaper /etc/cron.daily/delivernewspaper; fi&lt;br /&gt;mkdir $home&lt;br /&gt;chmod a+w $home&lt;br /&gt;cd $home&lt;br /&gt;wget -mnd -i $config&lt;br /&gt;chmod a+w *&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;.newspapers (for example)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;http://www.eveningecho.ie/pdf/front.pdf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;http://download.guardian.co.uk/g24/Topstories.pdf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;http://download.guardian.co.uk/g24/World.pdf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;http://download.guardian.co.uk/g24/Media.pdf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;http://download.guardian.co.uk/g24/Business.pdf&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-5709474280525468266?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/5709474280525468266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=5709474280525468266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5709474280525468266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5709474280525468266'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/03/deliver-d-paper.html' title='Delivering Newspapers'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-6110646891115318748</id><published>2008-03-26T18:54:00.002Z</published><updated>2008-03-26T18:57:10.732Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='gimp'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><title type='text'>Animated GIFs</title><content type='html'>Animated GIFs, I discovered, couldn't be easier. Open the first image in The Gimp. If it's a gif, set the image mode to RGB. Drop in the subsequent frames as new layers. Optimise for gif via the animation filter and save. Choose animation and the frame delay. Individual frame delays can easily edited later as part of the layer name in the new image file.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-6110646891115318748?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/6110646891115318748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=6110646891115318748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6110646891115318748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6110646891115318748'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/03/animated-gifs.html' title='Animated GIFs'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-8737998376006941264</id><published>2008-03-26T18:42:00.006Z</published><updated>2009-01-10T15:39:07.872Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='command'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Montage</title><content type='html'>I spent a long time trying to work out the best approach to recombining image tiles (such as maps, etc.). I've finally found a neat solution.&lt;br /&gt;&lt;br /&gt;Install the ImageMagick suite of command-line graphics programs (easily done though Synaptic on Ubuntu).&lt;br /&gt;&lt;br /&gt;The command is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;montage -geometry +0+0 -tile 10x10 tile*.gif complete.gif&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Where -geometry +0+0 sets zero borders on each tile, -tile 10x10 sets a ten by ten montage layout, tile*.gif lists the collection of gif files (named in horizontal then vertical order), and complete.gif is the name of the final image.&lt;br /&gt;&lt;br /&gt;Larger collections may have to be done in stages to stop the command from overloading the system. It can be done in a series of stripes for example.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-8737998376006941264?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/8737998376006941264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=8737998376006941264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8737998376006941264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8737998376006941264'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/03/montage.html' title='Montage'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-8906993309859008193</id><published>2008-02-29T19:38:00.003Z</published><updated>2008-02-29T19:45:44.864Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='command'/><category scheme='http://www.blogger.com/atom/ns#' term='time'/><category scheme='http://www.blogger.com/atom/ns#' term='calendar'/><category scheme='http://www.blogger.com/atom/ns#' term='trivia'/><title type='text'>Cal command</title><content type='html'>Discovered the cal command today - one of those cute geeky, effective, simple commands in Linux. And even more fun, discovered the command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cal 9 1752&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to give the calendar for September 1752, the point at which the Gregorian lept 10 days over the Julian calendar.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.bbc.co.uk/1/hi/magazine/7269816.stm"&gt;http://news.bbc.co.uk/1/hi/magazine/7269816.stm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-8906993309859008193?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/8906993309859008193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=8906993309859008193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8906993309859008193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8906993309859008193'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/02/cal-command.html' title='Cal command'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-6372071068913404285</id><published>2008-02-11T11:34:00.000Z</published><updated>2008-02-11T12:17:58.164Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fonts'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Linux Fonts</title><content type='html'>Seems to be missing in Ubuntu, but a .fonts folder in the home directory allows you to copy your Windows/Wine ttf fonts over to your Linux system - and stops documents from behaving differently.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-6372071068913404285?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/6372071068913404285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=6372071068913404285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6372071068913404285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6372071068913404285'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/02/linux-fonts-seems-to-be-missing-in.html' title='Linux Fonts'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-2207613668020131134</id><published>2008-02-03T14:29:00.004Z</published><updated>2008-06-09T10:49:38.216Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='partitions'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='recovery'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Backup Partition Table</title><content type='html'>Where &lt;span style="font-style: italic;"&gt;/dev/sda&lt;/span&gt; is the disk partition table to be backed up:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Backup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dd if=/dev/sda of=sda.mbr bs=512 count=1&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;To keep a human readable copy, useful when recovering from problems:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo fdisk -l &gt; partitions.lst&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Restore&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dd if=sda.mbr of=/dev/sda bs=512 count=1&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Essential before any partition editing or recovery operations which might damage the partition.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-2207613668020131134?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/2207613668020131134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=2207613668020131134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2207613668020131134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2207613668020131134'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/02/backup-partition-table.html' title='Backup Partition Table'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-6041285418488366009</id><published>2008-01-28T11:10:00.002Z</published><updated>2008-05-10T13:04:11.864Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup.sh'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='filemanagement'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Snapshot Backup Script</title><content type='html'>This script uses rsync to create fast and space saving dated snapshot backups. Each directory created contains a full snapshot backup but with hardlinks to the latest versions of the same files - saving time to backup and space on your backup device. It is a variation of the script described at http://www.mikerubel.org/computers/rsync_snapshots/.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;today="$(date +%Y%m%d)"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;source="/home/username"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;backupdisk="/media/disk"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;exclude="--exclude=.beagle --exclude=.Trash*"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;destination="$backupdisk/backup-$today"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;link="$(find $backupdisk -maxdepth 1 -type d -name "backup*" | sort | tail --lines 1)"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rsync -aHv --delete $exclude --link-dest=$link $source/  $destination/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;However I experience a problem with the --link-dest option so a safer option is as follows: using the copy command to make the new directory of links.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;today="$(date +%Y%m%d)"&lt;br /&gt;source="/home/ian"&lt;br /&gt;backupdisk="/media/disk"&lt;br /&gt;exclude="--exclude=.beagle --exclude=.Trash* --exclude=*.vmdk* --exclude=*.google* --exclude=*.picasa* --exclude=*.thumbnails*"&lt;br /&gt;destination="$backupdisk/backup-$today"&lt;br /&gt;link="$(find $backupdisk -maxdepth 1 -type d -name "backup*" | grep -v $today | sort | tail --lines 1)"&lt;br /&gt;cp -al $link/. $destination&lt;br /&gt;rsync -aHv --delete $exclude $source/  $destination/&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-6041285418488366009?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/6041285418488366009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=6041285418488366009' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6041285418488366009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6041285418488366009'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/01/snapshot-backup-script.html' title='Snapshot Backup Script'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-8343904434549638957</id><published>2008-01-28T11:01:00.000Z</published><updated>2008-01-28T11:02:26.266Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Restore All TAR Archives in a Directory</title><content type='html'>&lt;span style="font-family: courier new;"&gt;gunzip *.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;for f in $(find -maxdepth 1 -name "*.tar" -printf "%f "); do tar -xvf $f; done&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-8343904434549638957?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/8343904434549638957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=8343904434549638957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8343904434549638957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8343904434549638957'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/01/restore-all-tar-archives-in-directory.html' title='Restore All TAR Archives in a Directory'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-5905562263090449265</id><published>2008-01-28T10:36:00.000Z</published><updated>2008-01-28T11:00:00.705Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Restore Multifile TAR Archive</title><content type='html'>&lt;span style="font-family: courier new;"&gt;gunzip *.tar.gz; tar -xvM $(echo $(find -maxdepth 1 -name "*.tar" -printf "-f %f \n" | sort))&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-5905562263090449265?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/5905562263090449265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=5905562263090449265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5905562263090449265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5905562263090449265'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2008/01/restore-multifile-tar-archive.html' title='Restore Multifile TAR Archive'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-369031751487010740</id><published>2007-10-25T18:21:00.001Z</published><updated>2009-01-10T21:41:26.974Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='sync'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='rsync'/><title type='text'>Rsync the Wonderful</title><content type='html'>Rsync is just a great command. Problems with a download, md5sum not correct, download interrupted, or a CD with a horrible scratch and facing into downloading the entire iso file again? Not a problem.&lt;br /&gt;&lt;br /&gt;If repairing from a damaged CD, first copy the data to a file with dd, e.g.:&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;dd if=/dev/hdc of=ubuntu-7.10-desktop-i386.iso&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To get a list from a download server, for example Ubuntu:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;rsync rsync://ftp.esat.net/mirrors/releases.ubuntu.com/releases/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To only download the missing/replacement chunks use, for example with this Ubuntu iso file:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;rsync -avLP rsync://ftp.esat.net/mirrors/releases.ubuntu.com/releases/gutsy/ubuntu-7.10-desktop-i386.iso ubuntu-7.10-desktop-i386.iso&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then burn a new CD.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-369031751487010740?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/369031751487010740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=369031751487010740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/369031751487010740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/369031751487010740'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/10/rsync-wonderful.html' title='Rsync the Wonderful'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-2553508709691911307</id><published>2007-10-15T10:45:00.000Z</published><updated>2007-10-15T11:04:31.221Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='wine'/><title type='text'>Mac System 7</title><content type='html'>Strangely enough you can run the &lt;a href="http://nothickmanuals.info/doku.php?id=minivmac"&gt;Mac-on-a-Stick&lt;/a&gt; Mac OS 7 emulator on the Linux desktop via Wine: it's a Mac emulator running on Windows, running on Linux. Old Mac software is available to download at &lt;a href="http://www.info.apple.com/support/oldersoftwarelist.html"&gt;http://www.info.apple.com/support/oldersoftwarelist.html&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-2553508709691911307?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/2553508709691911307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=2553508709691911307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2553508709691911307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2553508709691911307'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/10/mac-system-7.html' title='Mac System 7'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-1818828787703172967</id><published>2007-08-19T11:12:00.000Z</published><updated>2007-08-26T22:44:56.191Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><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='wine'/><title type='text'>Running Windows</title><content type='html'>Although so many programs are running effectively with Wine (and I can recommend Winedoors from &lt;a href="http://www.wine-doors.org/"&gt;www.wine-doors.org&lt;/a&gt; or Crossover Office from &lt;a href="http://www.codeweavers.com/"&gt;www.codeweavers.com&lt;/a&gt;) sometimes it is handy to be able to run a copy of native Windows as a virtual machine. Using VMware (&lt;a href="http://www.vmware.com/"&gt;www.vmware.com&lt;/a&gt;) is not that difficult to setup.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Make sure your kernel source and C compiler are installed.&lt;/li&gt;&lt;li&gt;Install &lt;span style="font-weight: bold;"&gt;VMPlayer&lt;/span&gt; (downloadable for free from &lt;a href="http://www.vmware.com/"&gt;www.vmware.com&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Run "&lt;span style="font-weight: bold;"&gt;vmware-config.pl&lt;/span&gt;" from the terminal as root.&lt;/li&gt;&lt;li&gt;Next, you need to create a virtual drive. With qemu installed, in the vmware working directory to create a drive called windowsxppro.vmdk to a limit of 2G run "&lt;span style="font-weight: bold;"&gt;qemu-img create -f vmdk windowsxppro.vmdk 2G&lt;/span&gt;".&lt;/li&gt;&lt;li&gt;Create the virtual machine as the file &lt;span style="font-weight: bold;"&gt;windowsxp.vmx&lt;/span&gt; as follows:&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;config.version = "8"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;virtualHW.version = "3"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ide0:0.present = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ide0:0.filename = "windowsxppro.vmdk"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;memsize = "64"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MemAllowAutoScaleDown = "FALSE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ide1:0.present = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ide1:0.fileName = "auto detect"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ide1:0.deviceType = "cdrom-raw"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ide1:0.autodetect = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;floppy0.present = "FALSE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ethernet0.present = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usb.present = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sound.present = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sound.virtualDev = "es1371"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;displayName = "Windows XP Pro"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;guestOS = "winXPPro"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;nvram = "WindowsXPPro.nvram"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MemTrimRate = "-1"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ide0:0.redo = ""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ethernet0.addressType = "generated"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;uuid.location = "56 4d 5c cc 3d 4a 43 29-55 89 5c 28 1e 7e 06 58"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;uuid.bios = "56 4d 5c cc 3d 4a 43 29-55 89 5c 28 1e 7e 06 58"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ethernet0.generatedAddress = "00:0c:29:7e:06:58"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ethernet0.generatedAddressOffset = "0"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tools.syncTime = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ide1:0.startConnected = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;uuid.action = "create"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;checkpoint.vmState = ""&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Running vmware from the program menu you should now be able to open your virtual machine. With the operating system &lt;span style="font-weight: bold;"&gt;installation CD&lt;/span&gt; allow the virtual machine to boot and install Windows are normal.&lt;/li&gt;&lt;li&gt;Download and extract the guest operating system tools (part of the workstation tar.gz package, license number restricted but free to download the package) from &lt;a href="http://www.vmware.com/"&gt;www.vmware.com&lt;/a&gt;: in this case the file &lt;span style="font-weight: bold;"&gt;windows.iso&lt;/span&gt;. Extract the files to a USB drive or burn a CD and install the software in the guest operating system. This has a number of benefits as well as shared folders with the host machine, better mouse support and various controls.&lt;/li&gt;&lt;li&gt;Also included in the worksation tar package is the command &lt;span style="font-weight: bold;"&gt;vmware-vdiskmanager&lt;/span&gt; - useful for resizing your virtual drive later: e.g., "./vmware-vdiskmanager -x 20Gb ~/vmware/windowsxppro.vmdk". The Windows partition still needs to be resized on the virtual disk in the usual way - booting the virtual machine from the GParted live CD works nicely.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To create a &lt;span style="font-weight: bold;"&gt;shared folder&lt;/span&gt; (e.g. /home/&lt;span style="font-style: italic;"&gt;username&lt;/span&gt;/shared) add the following to the &lt;span&gt;windowsxp.vmx file:&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sharedFolder0.enabled = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sharedFolder0.present = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sharedFolder0.writeAccess = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sharedFolder0.readAccess = "TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sharedFolder0.hostPath = "/home/username/shared"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sharedFolder0.guestName ="winxppro"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sharedFolder0.eXpiration = "never"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sharedFolder.maxNum = "1"&lt;/span&gt;&lt;/span&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Settings: The amount of memory available for the virtual machine can be easily adjusted from the menu. I found Internet access only available using a proxy server (squid) from the host system.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-1818828787703172967?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/1818828787703172967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=1818828787703172967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1818828787703172967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1818828787703172967'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/08/running-windows.html' title='Running Windows'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-7049540977231515249</id><published>2007-08-11T18:03:00.000Z</published><updated>2007-08-11T18:18:29.095Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='scorm'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Fix EXE Learning Objects</title><content type='html'>&lt;pre&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;Version="0.80"&lt;br /&gt;&lt;br /&gt;# Fix EXE Learning Objects (fixes problems in organisation and body tag)&lt;br /&gt;&lt;br /&gt;# Ian Spillane, Cork, Ireland, 2007&lt;br /&gt;# iantheteacher at gmail dot com&lt;br /&gt;# Released under the GNU Public License Version 3.0&lt;br /&gt;&lt;br /&gt;# See -h option for information.&lt;br /&gt;&lt;br /&gt;InstallDirectory="$(echo ~)/bin"&lt;br /&gt;HelpText="\nfixEXE (Version $Version)\nIan Spillane, Cork, Ireland, 2007\niantheteacher at gmail dot com\nFixes problems in EXE created LOs (adds beforeunload script and removes manifest error).\n\nINSTALL: ./fixEXE.sh -i\nHELP: fixEXE -h\nRUN: fixEXE.sh &amp;lt;zipfile&gt;\n\t(or run as Nautilus script)\n"&lt;br /&gt;&lt;br /&gt;case "$1" in&lt;br /&gt;   '' | '-h')&lt;br /&gt;       echo -e "$HelpText"&lt;br /&gt;       ;;&lt;br /&gt;   '-i')&lt;br /&gt;       echo "Installing ..."&lt;br /&gt;       cp fixEXE.sh "$InstallDirectory"&lt;br /&gt;       ln -fs "$InstallDirectory/fixEXE.sh" "$(echo ~)/.gnome2/nautilus-scripts/fixEXE"&lt;br /&gt;       ;;&lt;br /&gt;   *)&lt;br /&gt;       unzip "$1" -d "$1.files"&lt;br /&gt;       sed -i 's/^&amp;lt;title.*$/&amp;lt;title&gt;Contents&amp;lt;\/title&gt;/g' "$1.files/imsmanifest.xml"&lt;br /&gt;       sed -i '/^&amp;lt;\/item&gt;/d' "$1.files/imsmanifest.xml"&lt;br /&gt;       sed -i 's/&amp;lt;\/title&gt;/&amp;lt;\/title&gt;&amp;lt;\/item&gt;/g' "$1.files/imsmanifest.xml"&lt;br /&gt;       sed -i 's/&amp;lt;\/title&gt;&amp;lt;\/item&gt;&amp;lt;\/item&gt;/&amp;lt;\/title&gt;&amp;lt;\/item&gt;/g' "$1.files/imsmanifest.xml"&lt;br /&gt;       sed -i 's/&amp;lt;title&gt;Contents&amp;lt;\/title&gt;&amp;lt;\/item&gt;/&amp;lt;title&gt;Contents&amp;lt;\/title&gt;/g' "$1.files/imsmanifest.xml"&lt;br /&gt;       cd "$1.files"&lt;br /&gt;       for f in $(find -name "*.html")&lt;br /&gt;       do&lt;br /&gt;           echo $f&lt;br /&gt;           sed -i "/beforeunload/! s/onunload=/onbeforeunload='unloadPage()' onunload=/g" "$f"&lt;br /&gt;       done&lt;br /&gt;       zip -r "../$1" *&lt;br /&gt;       cd ..&lt;br /&gt;       rm "$1.files" -r&lt;br /&gt;       ;;&lt;br /&gt;esac&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-7049540977231515249?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/7049540977231515249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=7049540977231515249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7049540977231515249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7049540977231515249'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/08/fix-exe-learning-objects.html' title='Fix EXE Learning Objects'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-8334125375681537729</id><published>2007-08-11T17:37:00.001Z</published><updated>2008-06-10T22:02:44.624Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sourceforge'/><category scheme='http://www.blogger.com/atom/ns#' term='scorm'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Converting Websites to Learning Objects</title><content type='html'>web2LO, Learning Object Packaging (Version 0.901)&lt;br /&gt;&lt;a href="http://web2lo.sourceforge.net"&gt;http://web2lo.sourceforge.net&lt;/a&gt;&lt;br /&gt;Developed as part of the SLOOP Project, http://www.sloopproject.eu&lt;br /&gt;Released on the GNU Public License Version 3.0.&lt;br /&gt;&lt;br /&gt;The program automatically converts a HTML website into a SCORM-compliant Learning Object: corrects DOS line breaks; corrects filename cases and spaces in URLs; adds schema files; adds javascript files; embeds scripting tags; creates files manifest and metadata tags.&lt;br /&gt;&lt;br /&gt;web2LO runs in Linux (and other Unixes). To install, extract the zipped file web2LO.tar.gz and from the command line run "./web2LO.sh -i". The script is installed in the user's bin directory.&lt;br /&gt;&lt;br /&gt;With simplicity in mind, the program converts a folder of website files into a packaged learning object. The folder name is used as the default title for the learning object. Chapter/SCO titles are created from existing HTML page title tags.&lt;br /&gt;&lt;br /&gt;Organisation definition is based on filenames and is easily customised. The manifest indexes .htm/.html files in the main folder in alphabetical/numerical order (e.g. ch01.htm, ch02.htm, etc.). A single level only index is created - deeper linked files should be created in subfolders and are included in the manifest as resource files.&lt;br /&gt;&lt;br /&gt;Run "web2LO.sh &lt;foldername&gt;" from the command line.&lt;br /&gt;&lt;br /&gt;Program prompts guide the user through metadata creation at package time. Metadata defaults are automatically updated in the ~/bin/web2LO/metadata.csv file (hopefully making it easier for the next package).&lt;br /&gt;&lt;br /&gt;To customise the metadata template edit ~/bin/web2LO/metadata.csv and ~/bin/web2LO/metadata.tem (see http://www.adlnet.gov/scorm/history/Scorm12/Documents.aspx). The structure of metadata.csv is simple semi-colon (not comma) delimited text file with a single record of three fields per line: the variable name; appropriate help text; and a default value. The file metadata.tem is a template XML file. Variable names are included between hashes ("#").&lt;br /&gt;&lt;br /&gt;To display help run "web2LO.sh -h" from the command line.&lt;br /&gt;&lt;br /&gt;Packaged LOs have been successfully tested on Moodle (http://www.moodle.org), FreeLOms (http://www.freeloms.org), and Reload (http://www.reload.ac.uk).&lt;br /&gt;&lt;br /&gt;The program is released on the GNU Public License Version 3.0 and listed on SourceForge at http://web2lo.sourceforge.net.&lt;/foldername&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-8334125375681537729?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/8334125375681537729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=8334125375681537729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8334125375681537729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8334125375681537729'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/08/converting-websites-to-learning-objects.html' title='Converting Websites to Learning Objects'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-6612426984461766341</id><published>2007-06-28T18:42:00.000Z</published><updated>2007-06-28T19:37:51.616Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ocr'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>OCRPDF</title><content type='html'>&lt;span style="font-size:85%;"&gt;Simple script for OCR for PDF files (solves the problem of so many conversions!). Generates results from both OCRad and gOCR programs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ocrpdf ()&lt;br /&gt;{&lt;br /&gt;   pdftoppm $1 $1.ppm&lt;br /&gt;for ppm in $(ls -1 $1.ppm*); do ocrad $ppm &gt;&gt; $1.ocrad.txt; gocr $ppm &gt;&gt; $1.gocr.txt; rm $ppm; done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if [ $1 = "" ]&lt;br /&gt;   then&lt;br /&gt;       for f in $(ls -1 *.pdf); do ocrpdf $f; done&lt;br /&gt;   else&lt;br /&gt;       ocrpdf $1&lt;br /&gt;fi&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-6612426984461766341?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/6612426984461766341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=6612426984461766341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6612426984461766341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6612426984461766341'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/06/ocrpdf.html' title='OCRPDF'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-6713495161470468144</id><published>2007-06-28T18:01:00.001Z</published><updated>2008-06-10T22:03:08.486Z</updated><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='sourceforge'/><category scheme='http://www.blogger.com/atom/ns#' term='md5'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>dotTag File Auditor</title><content type='html'>Simple extensible file auditing/security script for MD5 file signatures:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;detect file integrity problems, copy/distribution flaws, file loss, security problems, and other changes;&lt;/li&gt;&lt;li&gt;search for duplicate files; &lt;/li&gt;&lt;li&gt;create a backup of MD5 signatures.&lt;/li&gt;&lt;/ul&gt;It can be run as a terminal command or as an automated cron.&lt;br /&gt;&lt;br /&gt;The script uses a very simple but effective, reusable and extensible method to 'tag' each directory with file signatures and file change audits.&lt;br /&gt;&lt;br /&gt;The system is capable of detecting file integrity problems (i.e. file errors), file deletions, file renames, folder renames or movements, duplicate files, and deleted folder records.&lt;br /&gt;&lt;br /&gt;A complete backup of MD5 signatures provides a useful map to file recovery in the event of a problem. It further has the potential to provide MD5 information to other programs such as third party duplicate searches, file comparisons, and malicious file searches.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dottag.sourceforge.net/"&gt;http://dottag.sourceforge.net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-6713495161470468144?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/6713495161470468144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=6713495161470468144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6713495161470468144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6713495161470468144'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/06/dottag-file-auditor.html' title='dotTag File Auditor'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-5525789482133264426</id><published>2007-06-15T15:11:00.000Z</published><updated>2007-06-15T15:29:12.993Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='rss'/><category scheme='http://www.blogger.com/atom/ns#' term='knewsticker'/><title type='text'>ECB Exchange Rates Ticker</title><content type='html'>Small script for KNewsTicker to generate an rss feed from live ECB xml data. Edit the currency list as required.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt; #!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; # ecbrss.sh, version 1, by Ian Spillane (ispillane at ccoc dot ie),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; 2007.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; # A KNewsTicker script&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; # Currencies&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; currencies="USD|GBP"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; echo "&amp;lt;?xml version='1.0' encoding='utf-8'?&amp;gt;&amp;lt;?xml-stylesheet&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; title='XSL_formatting' type='text/xsl'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; href='rss_convert.xsl'?&amp;gt;&amp;lt;rss&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; version='0.91'&amp;gt;&amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;ECB Reference&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; Rates&amp;lt;/title&amp;gt;&amp;lt;item&amp;gt;&amp;lt;title&amp;gt;ECB&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; Rates&amp;lt;/title&amp;gt;&amp;lt;link&amp;gt;http://www.ecb.eu"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; # For all lines with selected currencies change '&amp;lt;Cube...' to tags;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; remove text; add tags to end; &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; wget -q -O - http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; grep -E $currencies | perl -p -i -e "s/&amp;lt;Cube&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; currency='/&amp;lt;\/link&amp;gt;&amp;lt;\/item&amp;gt;&amp;lt;item&amp;gt;&amp;lt;title&amp;gt;/g" |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; perl -p -i -e "s/' rate='/ /g" | perl -p -i -e&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; "s/'\/&amp;gt;/&amp;lt;\/title&amp;gt;&amp;lt;link&amp;gt;http:\/\/www.ecb.eu/g"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; echo "&amp;lt;/link&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/channel&amp;gt;&amp;lt;/rss&amp;gt;"&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-5525789482133264426?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/5525789482133264426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=5525789482133264426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5525789482133264426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5525789482133264426'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/06/ecb-exchange-rates-ticker.html' title='ECB Exchange Rates Ticker'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-3408784457522277039</id><published>2007-06-09T13:13:00.000Z</published><updated>2007-06-15T15:29:12.994Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='rss'/><category scheme='http://www.blogger.com/atom/ns#' term='knewsticker'/><title type='text'>BBC News Ticker</title><content type='html'>A script to use with KNewsTicker to supply the BBC News Ticker's headlines to the Linux desktop.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# bbcrss.sh, version 1, by Ian Spillane (ispillane at ccoc dot ie),&lt;br /&gt;2007.&lt;br /&gt;# A KNewsTicker script&lt;br /&gt;# Icon http://feeds.bbc.co.uk/favicon.ico&lt;br /&gt;&lt;br /&gt;echo "&amp;lt;?xml version='1.0' encoding='utf-8'?&amp;gt;&amp;lt;?xml-stylesheet&lt;br /&gt;title='XSL_formatting' type='text/xsl'&lt;br /&gt;href='rss_convert.xsl'?&amp;gt;&amp;lt;rss&lt;br /&gt;version='0.91'&amp;gt;&amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;BBC News&lt;br /&gt;Ticker&amp;lt;/title&amp;gt;&amp;lt;item&amp;gt;&amp;lt;title&amp;gt;BBC NEWS&lt;br /&gt;TICKER&amp;lt;/title&amp;gt;&amp;lt;link&amp;gt;http://news.bbc.co.uk"&lt;br /&gt;&lt;br /&gt;# For all lines starting with H(EADLINE) or U(RL) change HEADLINE to&lt;br /&gt;tags; change URL to tags; correct problem ampersands;&lt;br /&gt;wget -q -O - http://tickers.bbc.co.uk/tickerdata/story2.dat | grep&lt;br /&gt;'^[HU]' | perl -p -i -e 's/HEADLINE&lt;br /&gt;/&amp;lt;\/link&amp;gt;&amp;lt;\/item&amp;gt;&amp;lt;item&amp;gt;&amp;lt;title&amp;gt;/g' | perl -p -i&lt;br /&gt;-e 's/URL /&amp;lt;\/title&amp;gt;&amp;lt;link&amp;gt;/g' | perl -p -i -e&lt;br /&gt;'s/\&amp;/\&amp;amp;amp;amp;/g'&lt;br /&gt;&lt;br /&gt;echo "&amp;lt;/link&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/channel&amp;gt;&amp;lt;/rss&amp;gt;"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-3408784457522277039?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/3408784457522277039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=3408784457522277039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3408784457522277039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/3408784457522277039'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/06/bbc-news-ticker.html' title='BBC News Ticker'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-518197461594705910</id><published>2007-06-09T13:08:00.001Z</published><updated>2008-06-04T11:06:41.157Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='rte'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='xscreensaver'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='screensaver'/><category scheme='http://www.blogger.com/atom/ns#' term='rss'/><category scheme='http://www.blogger.com/atom/ns#' term='bbc'/><title type='text'>BBC News Screensaver</title><content type='html'>A simple script for xscreensaver to display BBC Ticker news as a screensaver (I recommend the phosophor screensaver).&lt;br /&gt;&lt;br /&gt;You will need to run xscreensaver from the terminal to setup the script as the text source for screensavers rather than the KDE or Gnome controls - which for some unknown reasons limit the options available. On Ubuntu both the xscreensaver application and the  xscreensaver-data-extra packages (for phosphor) have to be installed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;xscreensaver&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The xscreensaver package itself has some nice options, including a simple entry for a URL for a text feed in the advanced tab. For instance, http://www.rte.ie/rss/news.xml, for RTE news in Ireland works perfectly with the phosphor screensaver.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BBC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# bbc.sh, version 1, by Ian Spillane (ispillane at ccoc dot ie), 2007.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# A script to prepare BBC News ticker for xscreensaver&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# For all lines starting with H or B change HEADLINE to BBC&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;wget -q -O - http://tickers.bbc.co.uk/tickerdata/story2.dat | grep '^[HB]' | perl -p -i -e 's/HEADLINE/BBC&gt;/g'&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-518197461594705910?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/518197461594705910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=518197461594705910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/518197461594705910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/518197461594705910'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/06/bbc-news-screensaver.html' title='BBC News Screensaver'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-8809284742687477158</id><published>2007-06-09T12:33:00.000Z</published><updated>2007-06-15T15:29:12.994Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='rss'/><category scheme='http://www.blogger.com/atom/ns#' term='knewsticker'/><title type='text'>System Ticker</title><content type='html'>A simple script to be used by KNewsTicker to provide system uptime information. Can be used alongside online news or as an entirely offline ticker. Has the potential to be easily adapted to provide more information.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;#!/bin/bash&lt;br /&gt;# systemrss.sh, version 1, by Ian Spillane (ispillane at ccoc dot ie),&lt;br /&gt;2007.&lt;br /&gt;# A KNewsTicker script&lt;br /&gt;&lt;br /&gt;echo "&amp;lt;?xml version='1.0' encoding='utf-8'?&amp;gt;&amp;lt;?xml-stylesheet&lt;br /&gt;title='XSL_formatting' type='text/xsl'&lt;br /&gt;href='rss_convert.xsl'?&amp;gt;&amp;lt;rss&lt;br /&gt;version='0.91'&amp;gt;&amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;System&lt;br /&gt;Information&amp;lt;/title&amp;gt;&amp;lt;item&amp;gt;&amp;lt;title&amp;gt;"&lt;br /&gt;&lt;br /&gt;uptime&lt;br /&gt;&lt;br /&gt;echo "&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&amp;lt;link&amp;gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;sysinfo:/&amp;lt;/link&amp;gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&amp;lt;/item&amp;gt;&amp;lt;/channel&amp;gt;&amp;lt;/rss&amp;gt;"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-8809284742687477158?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/8809284742687477158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=8809284742687477158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8809284742687477158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/8809284742687477158'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/06/system-ticker.html' title='System Ticker'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-5358539809226831994</id><published>2007-05-31T10:29:00.000Z</published><updated>2007-06-09T13:44:58.003Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='monitor'/><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>X Configuration Problems</title><content type='html'>I had a problem recently on OpenSuse 10.2 when changing to a new LCD widescreen monitor. Of course I screwed up the xorg.conf settings and X would no longer start. There is I'm sure a straightforward way to fix this but I was saved by the Ubuntu CD.&lt;br /&gt;&lt;br /&gt;Boot with Ubuntu, mount the harddisk system partition, and copy the xorg.conf file from Ubuntu to my OpenSuse 10.2 installation.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-5358539809226831994?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/5358539809226831994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=5358539809226831994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5358539809226831994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5358539809226831994'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/05/x-configuration-problems.html' title='X Configuration Problems'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-1749526570580703377</id><published>2007-05-24T13:13:00.001Z</published><updated>2007-06-09T13:44:58.004Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Check for Website Changes</title><content type='html'>I had a problem with hacking on a commercial website recently and instead of constantly checking I wrote a little script (for which I put a symbolic link in /etc/cron.hourly) to automate the job and send me an email to my phone if there was any change to the published site.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;site=sitename.com&lt;br /&gt;email=recipient@email.com&lt;br /&gt;&lt;br /&gt;checksum=$(cat /tmp/"$site.chk")&lt;br /&gt;wget -q http://$site -O /tmp/"$site.tmp"&lt;br /&gt;echo $(cat /tmp/"$site.tmp" | md5sum) &gt; /tmp/"$site.chk"&lt;br /&gt;rm /tmp/"$site.tmp"&lt;br /&gt;latest=$(cat /tmp/"$site.chk")&lt;br /&gt;if [ "$checksum" != "$latest" ]&lt;br /&gt;  then&lt;br /&gt;    echo "$site $latest" | /usr/lib/sendmail $email&lt;br /&gt;fi&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-1749526570580703377?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/1749526570580703377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=1749526570580703377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1749526570580703377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1749526570580703377'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/05/check-for-website-changes.html' title='Check for Website Changes'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-9171976021658445276</id><published>2007-05-09T01:06:00.000Z</published><updated>2007-05-09T11:51:08.813Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='monitor'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Dark Monitor</title><content type='html'>To fix a problem with an old dark monitor I've added the simple command:&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;xgamma -gamma 1.3&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;to Sessions &gt; Startup Programs in the Control Center. 1.3 is a value brighter than 1.0. Different values can be easily tested at the command prompt.&lt;/p&gt;Or at the command line one can add the autostart file directly via:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;echo "[Desktop Entry]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Name=xgamma&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Encoding=UTF-8&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Version=1.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Exec=&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;xgamma -gamma 1.3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;X-GNOME-Autostart-enabled=true" &gt; ~/.config/autostart/xgamma.desktop&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Could we not have this feature easily added to the desktop's monitor configuration menu?&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-9171976021658445276?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/9171976021658445276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=9171976021658445276' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/9171976021658445276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/9171976021658445276'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/05/dark-monitor.html' title='Dark Monitor'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-2850064759639982906</id><published>2007-04-29T11:35:00.000Z</published><updated>2007-04-29T15:31:31.474Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='dell'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Dell Inspiron Wireless Card on Linux</title><content type='html'>&lt;span style="font-family:arial;"&gt;How to configure a Dell Inspiron (6400) laptop's wireless card (Broadcom 1390) under Linux (OpenSuse 10.2):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol style="font-family: arial;"&gt;&lt;li&gt;Install ndiswrapper (included in the OpenSuse 10.2 distro and others, but more than likely not installed by default).&lt;/li&gt;&lt;li&gt;Prevent the system from attempting to use the bcm43 driver. As SU at the terminal, enter:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo "blacklist bcm43xx" &gt;&gt; /modprobe.d/blacklist&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;With access to the original Windows drivers for your system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ndiswrapper -i bcmwl5.inf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To check what drivers are installed with ndiswrapper then:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ndiswrapper -l&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;expecting:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;bcmwl5          driver installed, hardware (14E4:4328) present &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To load (first unloading) the ndiswrapper driver into Linux:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rmmod ndiswrapper&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;modprobe ndiswrapper&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To check that everything has been recognised OK and read system messages:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dmesg | grep ndiswrapper&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family:courier new;"&gt;dmesg | grep wlan&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To check that your wireless card is working:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;iwlist scanning&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To make sure that ndiswrapper is loaded &lt;span style="font-family:arial;"&gt;permanently on boot go into YaST &gt; /etc/sysconfig editor. Go into the tree of settings and browse to System &gt; Kernel &gt; MODULES_LOADED_ON_BOOT and add 'ndiswrapper'.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;To setup your network card in YaST for use on the desktop with Network Manager, etc., go to Networking Devices &gt; Network Card and add your new card with the hardware set as "wlan0" and the driver as "ndiswrapper".&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-2850064759639982906?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/2850064759639982906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=2850064759639982906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2850064759639982906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/2850064759639982906'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/04/dell-inspiron-wireless-card-on-linux.html' title='Dell Inspiron Wireless Card on Linux'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-7691543341247910886</id><published>2007-04-11T18:59:00.001Z</published><updated>2009-07-01T13:31:53.847Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Internet Connection Sharing</title><content type='html'>You would think it would be obvious - sharing an Internet connection between two or more networked computers on Linux. It wasn't to me. But annoyingly, it then had such a simple solution that one would think Suse's Yast could have enough manners to make it all happen with a simple button.&lt;br /&gt;&lt;br /&gt;Make sure &lt;span style="font-weight: bold;"&gt;Squid&lt;/span&gt; (the proxy server) is installed. It is a part of the distro in OpenSuse 10.2 and I assume any distro.&lt;br /&gt;&lt;br /&gt;Edit the &lt;span style="font-weight: bold;"&gt;/etc/squid/squid.conf&lt;/span&gt; file (as superuser) to uncomment, and edit if necessary, down in the custom settings section the lines which read something like:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;acl our_networks src 192.168.1.0/24&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;http_access allow our_networks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Change the "12.168.1.0/24" to match your network requirements.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-7691543341247910886?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/7691543341247910886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=7691543341247910886' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7691543341247910886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/7691543341247910886'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/04/internet-connection-sharing.html' title='Internet Connection Sharing'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-1753292807673151457</id><published>2007-03-06T01:11:00.001Z</published><updated>2007-03-15T09:50:18.001Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcam'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Webcam Blogging Script</title><content type='html'>This script, installed as an hourly cron job, simply takes a webcam shot and emails it to a blogging photo album - in this case &lt;a style="FONT-WEIGHT: bold" href="http://flickr.com/"&gt;flickr.com&lt;/a&gt; which provides a unique email address to email images directly to the photo album and automates the process of posting new photos directly to a blog such as &lt;a style="FONT-WEIGHT: bold" href="http://blogger.com/"&gt;blogger.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The script uses the mailer script &lt;span style="FONT-WEIGHT: bold"&gt;mail_files.sh&lt;/span&gt; (available at &lt;a href="http://jazstudios.homelinux.net/main/trans/mail_script/"&gt;http://jazstudios.homelinux.net/main/trans/mail_script/&lt;/a&gt;) to send the file to the required email address.&lt;br /&gt;&lt;br /&gt;The command &lt;span style="FONT-WEIGHT: bold"&gt;streamer&lt;/span&gt; is used to capture the image (available as part of the &lt;a href="http://linux.bytesex.org/xawtv/"&gt;xawtv&lt;/a&gt; package). The -w option forces it to wait long enough for the auto exposure to adjust on my camera, the -q sets it to run in quiet mode.&lt;br /&gt;&lt;br /&gt;This script is currently in action posting hourly webcam shots of my front yard to&lt;a href="http://webcamshots.blogspot.com/"&gt; webcamshots.blogspot.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Installation steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Change the path in the script to the script file mail_files.sh (available to download from&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Change the paths in the script for the location of the local photo album to keep in the images in.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Replace the [uniquecode] in script email address &lt;span style="font-family:courier new;font-size:85%;"&gt;[uniquecode]talk2blog@photos.flickr.com &lt;/span&gt;with the one assigned to you by flickr.com.&lt;/li&gt;&lt;li&gt;Install the script as a cron job - one way is as su to create a symbolic link from the script in the folder /etc/cron.hourly.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# snap.sh, version 1, by Ian Spillane (ispillane at ccoc dot ie), 2007.&lt;br /&gt;# A script to email an automated webcam shot.&lt;br /&gt;# Released on the GPL (http://www.gnu.org/copyleft/gpl.html).&lt;br /&gt;&lt;br /&gt;# Uses the script mail_files.sh, available at http://jazstudios.homelinux.net/main/trans/mail_script/&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;d=$(date +%Y-%B-%d)&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;t=$(date +%H:%M)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;mailer=/home/ian/admin/scripts/webcam/mail_files.sh&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;album=/home/ian/album/webcam/&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;streamer -w 30 -q -o $album$d,$t.jpeg&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;$mailer -t [uniquecode]talk2blog@photos.flickr.com -s "Shot at $t" -m "Webcam shot at the window for $d, $t." -b "$album$d,$t.jpeg"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-1753292807673151457?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/1753292807673151457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=1753292807673151457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1753292807673151457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/1753292807673151457'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/03/webcam-blogging-script.html' title='Webcam Blogging Script'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-769500991231184528</id><published>2007-02-28T12:29:00.001Z</published><updated>2008-09-21T14:17:50.937Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='modem'/><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Vodafone 3G Modem on OpenSuse 10.2, 10.3</title><content type='html'>The &lt;a href="http://www.vodafone.ie/generic/3gbroadband.jsp?bannerdesc=home_image_P_3g_broadband_100107"&gt;Vodafone 3G Modem&lt;/a&gt; (&lt;a href="http://www.huawei.com/mobileweb/en/products/view.do?id=282"&gt;Huawei E220&lt;/a&gt;) is installed on a USB connection. It provides an always-on broadband connection at up to 1.4Mbps on the 3G network or falls back to dialup speeds on the lesser GPRS (2.5G) network.&lt;br /&gt;&lt;br /&gt;No support is offered for Linux, but it does work on Linux.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OpenSuse 10.3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Modem is detected automatically.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OpenSuse 10.2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The only problem is that as a multi-function device its USB storage capability is recognised by Linux's HAL and it doesn't go any further to set up the device as a USB serial port.&lt;br /&gt;&lt;br /&gt;A few simple fixes exist: As SU add the following lines to the configuration files.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;To &lt;span style="font-weight: bold;"&gt;/etc/modprobe.conf.local&lt;/span&gt; add a line "options usbserial vendor=0x12d1 product=0x1003".&lt;/li&gt;&lt;li&gt;To &lt;span style="font-weight: bold;"&gt;/etc/rc.d/after.local&lt;/span&gt; add the line, or create the file if necessary, "modprobe usbserial".&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Dialer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The modem is available as device /dev/ttyUSB0 and can be easily configured using wvdial or kppp.&lt;br /&gt;&lt;br /&gt;Kppp does need the suid bit set with the command from the root terminal:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    chmod u+s /opt/kde3/bin/kppp&lt;/li&gt;&lt;/ul&gt;Modem settings are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Tone dialing&lt;/li&gt;&lt;li&gt;921600 baud&lt;/li&gt;&lt;li&gt;Init1 = ATZ&lt;/li&gt;&lt;li&gt;Init2 = AT +CGDCONT=1,"IP","isp.vodafone.ie" Q0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0 (or hs.vodadone.ie, or whatever is used)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Phone number = *99#&lt;/li&gt;&lt;li&gt;Username = vodafone&lt;/li&gt;&lt;li&gt;Password = vodafone&lt;/li&gt;&lt;li&gt;Modify DNS when connected&lt;/li&gt;&lt;li&gt;Automatically retrieve dns&lt;/li&gt;&lt;li&gt;Dynamic IP address&lt;/li&gt;&lt;/ul&gt;&lt;p style="font-weight: bold;"&gt;Firmware Upgrade&lt;/p&gt;&lt;p&gt;To fix the firmware for Windows Vista see &lt;a href="http://www.mobileconnected.co.uk/2007/05/25/usb-modem-huawei-e220-on-vista-take-2/"&gt;http://www.mobileconnected.co.uk/2007/05/25/usb-modem-huawei-e220-on-vista-take-2/&lt;/a&gt; however note that the dialup number is now "*99***16#".&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-769500991231184528?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/769500991231184528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=769500991231184528' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/769500991231184528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/769500991231184528'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/02/vodafone-3g-modem-on-opensuse-102.html' title='Vodafone 3G Modem on OpenSuse 10.2, 10.3'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-4532911358507006036</id><published>2007-01-16T15:39:00.007Z</published><updated>2009-04-06T10:29:02.937Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='sync'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='filemanagement'/><category scheme='http://www.blogger.com/atom/ns#' term='usb'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='nautilus'/><title type='text'>Sync Folder (for USB drives, etc.)</title><content type='html'>&lt;span style="font-family:arial;"&gt;A Nautilus script to automatically sync a folder on a USB drive or elsewhere with a folder of the same name in the home folder. The script will not upload files with "archive", "resources" or "backup" to the remote disk. Add the extra extension .delete to any remote files you want to delete and also want deleted back in the local home folder (otherwise deleted files will keep coming back in future syncs). (&lt;a href="http://workingwithlinux.blogspot.com/2008/01/snapshot-backup-script.html"&gt;for snapshot backup to USB or other drive, see this post&lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;syncfolder&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size:85%;"&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# SyncFolder, version 1.4, by Ian Spillane (ispillane at ccoc dot ie), 2007.&lt;br /&gt;# A Nautilus script to automatically sync a folder on a USB drive or elsewhere with a folder of the same name in the home folder.&lt;br /&gt;# Released on the GPL (http://www.gnu.org/copyleft/gpl.html).&lt;br /&gt;&lt;br /&gt;# To install, run the script.&lt;br /&gt;# To sync, right-click on the remote folder in nautilus and select syncfolder.&lt;br /&gt;# To delete a file remotely and have the deletion repeated, rename the file to whatever.delete.&lt;br /&gt;&lt;br /&gt;remote="$*/"&lt;br /&gt;local="$HOME/$*/"&lt;br /&gt;date=$(date +%y%m%d)&lt;br /&gt;exclude="--exclude=*archive/* --exclude=*resources/* --exclude=*backup/* --exclude=*Thumbs.db*"&lt;br /&gt;&lt;br /&gt;if test -z "$*"&lt;br /&gt;then&lt;br /&gt;# If no arguments: install as Nautilus script&lt;br /&gt;cp syncfolder ~/.gnome2/nautilus-scripts/syncfolder&lt;br /&gt;echo "Installed as Nautilus script. To use, right-click on a folder in Nautilus and select scripts."&lt;br /&gt;else&lt;br /&gt;echo ------------------------------ &gt;&gt; sync.log&lt;br /&gt;echo &gt;&gt; sync.log&lt;br /&gt;date &gt;&gt; sync.log&lt;br /&gt;rsync -vazrut --modify-window=1 -b --backup-dir="$local/backup/$date" --exclude=*.delete "$remote" "$local" &gt;&gt; sync.log&lt;br /&gt;cd $remote&lt;br /&gt;find -name *.delete -printf "%P\n" | while read record[f]&lt;br /&gt;do&lt;br /&gt;rm -v "${record[f]}"  &gt;&gt; ../sync.log&lt;br /&gt;rm -v "$local/$(echo ${record[f]} | sed s/.delete//g )"  &gt;&gt; ../sync.log&lt;br /&gt;rm -v "$local/$(echo ${record[f]})"  &gt;&gt; ../sync.log&lt;br /&gt;done&lt;br /&gt;cd ..&lt;br /&gt;rsync -vazrut --modify-window=1 --delete $exclude "$local" "$remote"  &gt;&gt; sync.log&lt;br /&gt;zenity --text-info --filename="sync.log" &amp;amp;&lt;br /&gt;fi&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;I use it all the time so that I can keep my school work folder on a USB and not worry about working at home and at work and where the latest file is. Some errors have occurred but only caused by a full drive or me forgetting to sync before re-editing the wrong edition of the file. But mostly it has been a great solution for me. The built-in backup facility saves any disaster copies from the remote folder to the local. I even worked out how to delete a file on the USB and have it deleted when I go home. Renaming files doesn't really work, but you can't have everything.&lt;br /&gt;&lt;br /&gt;I would enjoy feedback on the script and help with it. Wouldn't it be wonderful to have the function really embedded in Nautilus and automatically activated on mounting of the USB.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(For a great tool to keep machines synchronised see &lt;a href="http://workingwithlinux.blogspot.com/2009/03/online-backup-and-synchronising.html"&gt;Dropbox&lt;/a&gt;.)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-4532911358507006036?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/4532911358507006036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=4532911358507006036' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/4532911358507006036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/4532911358507006036'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/01/sync-folder-for-usb-drives-etc.html' title='Sync Folder (for USB drives, etc.)'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-5776952199737233050</id><published>2007-01-13T19:54:00.000Z</published><updated>2007-08-10T13:38:27.961Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='nautilus'/><title type='text'>Fix Website URLs</title><content type='html'>&lt;span style="font-family:arial;"&gt;While a lot of materials will have been created in Windows, which is case-insensitive, Linux and Linux powered webservers are case sensitive (distinguishing between uppercase and lowercase letters in filenames) and have problems with spaces in filenames.&lt;br /&gt;&lt;br /&gt;This script fixes website URLs for Linux, fixing DOS line breaks, renaming all files to lowercase and converting all a, img, frame, and script tags in HTML and resource, file, and item tags in XML files (SCORM LOs) to lowercase.&lt;br /&gt;&lt;br /&gt;Use it as a regular script or install it as a Nautilus script to automatically add a right-click script option to fix the URLs in a complete folder. Installs as a Nautilus script if run without argument.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;fixURLs.sh&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# fixURLs, version 1.1, by Ian Spillane, 2007.&lt;br /&gt;# http://iantheteacher.blogspot.com (ispillane at ccoc dot ie).&lt;br /&gt;&lt;br /&gt;# A bash script to automatically change all site URLs to lowercase and remove spaces from file names.&lt;br /&gt;# Installs as a Nautilus script if run without argument.&lt;br /&gt;# Released on the GPL (http://www.gnu.org/copyleft/gpl.html).&lt;br /&gt;&lt;br /&gt;if test -z "$*"&lt;br /&gt;then&lt;br /&gt;# If no arguments: install as Nautilus script&lt;br /&gt;cp fixURLs.sh ~/.gnome2/nautilus-scripts/fixURLs&lt;br /&gt;echo "Installed as Nautilus script. To use, right-click on a folder in Nautilus and select scripts."&lt;br /&gt;else&lt;br /&gt;original=$(echo "$*" | sed s/\\///)&lt;br /&gt;fixed=".$original"&lt;br /&gt;&lt;br /&gt;# create new directories&lt;br /&gt;mkdir "$fixed"&lt;br /&gt;for file in $(find "$original" -type d | sort | sed s/[\ ]/{}/g)&lt;br /&gt;do&lt;br /&gt;f=$(echo $file | sed s/{}/\ /g ) # return spaces&lt;br /&gt;lf=`echo $f | tr '[A-Z]' '[a-z]' | tr ' ' '_'`&lt;br /&gt;mkdir "$fixed/$lf"&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;# rename all files to lowercase and remove spaces&lt;br /&gt;for file in $(find "$original" -type f | sort -r | sed s/[\ ]/{}/g)&lt;br /&gt;do&lt;br /&gt;f=$(echo $file | sed s/{}/\ /g ) # return spaces&lt;br /&gt;lf=`echo $f | tr '[A-Z]' '[a-z]' | tr ' ' '_'`&lt;br /&gt;cp "$f" "$fixed/$lf"&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;for file in $(find "$fixed" | grep -e .htm -e .xml | sed s/[\ ]/{}/g)&lt;br /&gt;do&lt;br /&gt;f=$(echo $file | sed s/{}/\ /g ) # return spaces&lt;br /&gt;&lt;br /&gt;# correct DOS linebreaks&lt;br /&gt;dos2unix -q "$f"&lt;br /&gt;&lt;br /&gt;# convert HTML tags (a, img, frame, and script) to lowercase&lt;br /&gt;sed -i 's/&amp;lt;A /&amp;lt;a /g' "$f"&lt;br /&gt;sed -i 's/&amp;lt;FRAME /&amp;lt;frame /g' "$f"&lt;br /&gt;sed -i 's/&amp;lt;SCRIPT /&amp;lt;script /g' "$f"&lt;br /&gt;sed -i 's/&amp;lt;IMG /&amp;lt;img /g' "$f"&lt;br /&gt;&lt;br /&gt;# convert XML (SCORM LOs) tags (item, resource, file) to lowercase&lt;br /&gt;sed -i 's/&amp;lt;RESOURCE /&amp;lt;resource /g' "$f"&lt;br /&gt;sed -i 's/&amp;lt;FILE /&amp;lt;file /g' "$f"&lt;br /&gt;sed -i 's/&amp;lt;ITEM /&amp;lt;item /g' "$f"&lt;br /&gt;&lt;br /&gt;# convert all URLs to lowercase&lt;br /&gt;sed -i '/&amp;lt;a/ s/&amp;lt;a /\n&amp;lt;lowercase&amp;lt;a /g' "$f"&lt;br /&gt;sed -i '/&amp;lt;frame/ s/&amp;lt;frame/\n&amp;lt;lowercase&amp;lt;frame/g' "$f"&lt;br /&gt;sed -i '/&amp;lt;script/ s/&amp;lt;script/\n&amp;lt;lowercase&amp;lt;script/g' "$f"&lt;br /&gt;sed -i '/&amp;lt;img/ s/&amp;lt;img/\n&amp;lt;lowercase&amp;lt;img/g' "$f"&lt;br /&gt;sed -i '/&amp;lt;resource/ s/&amp;lt;resource/\n&amp;lt;lowercase&amp;lt;resource/g' "$f"&lt;br /&gt;sed -i '/&amp;lt;file/ s/&amp;lt;file/\n&amp;lt;lowercase&amp;lt;file/g' "$f"&lt;br /&gt;sed -i '/&amp;lt;item/ s/&amp;lt;item/\n&amp;lt;lowercase&amp;lt;item/g' "$f"&lt;br /&gt;sed -i '/&amp;lt;lowercase/ s/&gt;/&gt;&amp;lt;lowercaseend\n/' "$f"&lt;br /&gt;sed -i '/&amp;lt;lowercase/ y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/' "$f"&lt;br /&gt;&lt;br /&gt;# remove spaces from URLs&lt;br /&gt;for sfile in $(find "$fixed" | grep " " | sed s/[\ ]/{}/g)&lt;br /&gt;do&lt;br /&gt; s=$(echo $sfile | sed s/{}/\ /g ) # return spaces&lt;br /&gt; sed -i '/^&amp;lt;lowercase.*$/ s/ /_/g' "$f"&lt;br /&gt;done&lt;br /&gt;sed -i 's/&amp;lt;lowercase//' "$f"&lt;br /&gt;sed -i 's/&amp;lt;lowercaseend//' "$f"&lt;br /&gt;&lt;br /&gt;# remove blank lines&lt;br /&gt;cat "$f" | grep -v "^[ \t]*$" &gt; "$f.tmp"&lt;br /&gt;mv "$f.tmp" "$f"&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;folder=$(find "$fixed" -maxdepth 1 -mindepth 1 | sed s/"$fixed"\\///)&lt;br /&gt;mv "$fixed/$folder" "$folder.fixed"&lt;br /&gt;rm -r "$fixed"&lt;br /&gt;fi&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-5776952199737233050?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/5776952199737233050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=5776952199737233050' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5776952199737233050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/5776952199737233050'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/01/fix-website-urls.html' title='Fix Website URLs'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8962736135632483185.post-6210242627715227749</id><published>2007-01-10T20:04:00.001Z</published><updated>2007-01-16T14:59:09.404Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='nautilus'/><title type='text'>Autofill-Folder Nautilus Script</title><content type='html'>&lt;span style=";font-family:arial;font-size:100%;"  &gt;A small script to make simple search folders in Nautilus - an implementation of virtual folders - ideal for creating single folders of links for documents, images or music files based on keywords.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Autofill-Folder.sh&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# Autofill-Folder, version 1, by Ian Spillane (ispillane at ccoc dot ie), 2007.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;# A Nautilus script to automatically populate a folder with links to files matching the folder name. A simple but effective implementation for virutal folders for music, images, or any file type.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;# Released on the GPL (http://www.gnu.org/copyleft/gpl.html).&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;# To do: Implementation of further search options, multiple key words, file types, etc., still based on a simple syntax in the folder name, e.g. black|white[image].&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;search=$*&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;count=0&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;if test -z "$*"&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;  then&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    # If no arguments: install as Nautilus script&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    cp Autofill-Folder.sh ~/.gnome2/nautilus-scripts/Autofill-Folder&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    echo "Installed as Nautilus script. To use, right-click on a folder in Nautilus and select scripts."&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;  else&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;       cd $search&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;       # Make links in folder for every file matching name, except for .Trash&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;       for f in $(find ~ | grep -i "$search" | grep -v "$(pwd)" | grep -v ".Trash" | sed s/[\ ]/{}/g) &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;       do&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;      file=$(echo $f | sed s/{}/\ /g ) # return spaces&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;             link=$(basename "$file")&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;             ln -s  "$file" "$count-$link"&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;             count=$[$count+1]&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;       done&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;
&lt;i&gt;from systemnotebook.blogspot.com&lt;/i&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8962736135632483185-6210242627715227749?l=systemnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systemnotebook.blogspot.com/feeds/6210242627715227749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8962736135632483185&amp;postID=6210242627715227749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6210242627715227749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8962736135632483185/posts/default/6210242627715227749'/><link rel='alternate' type='text/html' href='http://systemnotebook.blogspot.com/2007/01/autofill-folder-nautilus-script.html' title='Autofill-Folder Nautilus Script'/><author><name>iantheteacher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
