<?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-3441762644021265922</id><updated>2012-02-17T04:52:37.037+01:00</updated><category term='install'/><category term='setup'/><category term='password reset'/><category term='coordinates'/><category term='proxy'/><category term='extract'/><category term='ssh tunneling'/><category term='cable'/><category term='lines'/><category term='macbook pro isight not working'/><category term='geotagger'/><category term='import'/><category term='My Book Studio'/><category term='os 3.1'/><category term='gray'/><category term='broken screen'/><category term='dot'/><category term='odbc'/><category term='m4b'/><category term='logitech'/><category term='bios'/><category term='isight not working'/><category term='mp4'/><category term='blob'/><category term='mark'/><category term='iphone'/><category term='discman'/><category term='excel'/><category term='ovf'/><category term='zoneminder'/><category term='sun'/><category term='debian'/><category term='range'/><category term='640x480'/><category term='windows'/><category term='repair'/><category term='virtual appliance'/><category term='delemetered'/><category term='dos'/><category term='blocked'/><category term='csv'/><category term='solaris'/><category term='cisvc.exe'/><category term='cctv'/><category term='spin down'/><category term='quickcam 3000'/><category term='iplayer'/><category term='scsitools'/><category term='compaq'/><category term='audiobook'/><category term='spot'/><category term='linux'/><category term='autofilter'/><category term='facebook'/><category term='dosnet.inf'/><category term='cpu hogging'/><category term='evo'/><category term='office'/><category term='geotagging'/><category term='pixels'/><category term='camera'/><category term='grey'/><category term='slow'/><category term='macbook pro'/><category term='vmware'/><category term='webcam'/><category term='regional settings'/><category term='cd'/><category term='language'/><category term='remove screen'/><category term='bbc'/><category term='setpwc'/><category term='ultraslim'/><category term='gps'/><category term='squid'/><category term='dead'/><category term='panoramio'/><category term='sluggish'/><category term='3gs'/><category term='windowsxp'/><category term='m4a'/><category term='google earth'/><category term='iphoto'/><category term='gawk'/><category term='software'/><category term='drm'/><category term='flickr'/><category term='WDH2Q10000'/><category term='indexing service'/><category term='d510'/><category term='jumper'/><category term='circle'/><category term='ipod touch'/><category term='itunes'/><category term='remove'/><category term='hp'/><title type='text'>Rob Diggle's Tech Blog</title><subtitle type='html'>"a geek's blog"</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>rdiggle</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>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-4707550707289383621</id><published>2011-04-15T12:27:00.006+02:00</published><updated>2011-04-15T12:39:29.649+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='install'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='regional settings'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>Regional Settings to determine langauge?</title><content type='html'>What is is with software vendors using the regional settings in Windows to determine what language to install software in? I have my regional settings set to “German (Switzerland)” for the sake of date formats, currency, etc. but it doesn’t mean my preferred language is German. It would make better sense if they looked at the operating system language to determine what language to install their software in.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-0x4Au3s889o/TagfIyueoZI/AAAAAAAAHNM/XnK4v_vMmTE/s1600/deen.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="275" src="http://2.bp.blogspot.com/-0x4Au3s889o/TagfIyueoZI/AAAAAAAAHNM/XnK4v_vMmTE/s400/deen.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
VMware vSphere Client installing in German on an English version of Windows Server 2003. No Windows MUI pack installed. Windows regional settings set to "German (Switzerland)".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-4707550707289383621?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/4707550707289383621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=4707550707289383621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/4707550707289383621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/4707550707289383621'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2011/04/false-language.html' title='Regional Settings to determine langauge?'/><author><name>rdiggle</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://2.bp.blogspot.com/-0x4Au3s889o/TagfIyueoZI/AAAAAAAAHNM/XnK4v_vMmTE/s72-c/deen.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-5112676105058567086</id><published>2010-09-07T23:07:00.009+02:00</published><updated>2010-09-08T14:54:03.509+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pixels'/><category scheme='http://www.blogger.com/atom/ns#' term='dead'/><category scheme='http://www.blogger.com/atom/ns#' term='lines'/><category scheme='http://www.blogger.com/atom/ns#' term='spot'/><category scheme='http://www.blogger.com/atom/ns#' term='broken screen'/><category scheme='http://www.blogger.com/atom/ns#' term='gray'/><category scheme='http://www.blogger.com/atom/ns#' term='repair'/><category scheme='http://www.blogger.com/atom/ns#' term='circle'/><category scheme='http://www.blogger.com/atom/ns#' term='dot'/><category scheme='http://www.blogger.com/atom/ns#' term='grey'/><category scheme='http://www.blogger.com/atom/ns#' term='ipod touch'/><category scheme='http://www.blogger.com/atom/ns#' term='blob'/><category scheme='http://www.blogger.com/atom/ns#' term='mark'/><title type='text'>Botched iPod Touch Repair</title><content type='html'>I guess I should keep this blog entry short as I essentially botched the repair (i.e. it’s literally now a brick not even good for a door stop). So what’s the point of me even writing this? Well I think it’s worth warning the world of what can happen when you try and play MacGyver.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;So what was wrong with your iPod Touch?&lt;/b&gt; Well basically a great big grey blob on the screen:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_39zDZ8lJ_Dc/TIak0jo7x-I/AAAAAAAAG5M/G0snKthM5wo/s1600/IMG_0789_NEW.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_39zDZ8lJ_Dc/TIak0jo7x-I/AAAAAAAAG5M/G0snKthM5wo/s400/IMG_0789_NEW.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;How did that happen?&lt;/b&gt; I don’t know. I looked after it quite well I thought.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What did the Apple guys say?&lt;/b&gt; Well first it was a 1st generation so it being out of warranty, I didn’t expect much. Anyway I took it along to my local Apple Store on &lt;a href="http://www.apple.com/chde/retail/bahnhofstrasse/" target="_blank"&gt;Zurich's Bahnhofstrasse&lt;/a&gt; and was told it couldn’t be repaired as the screen wasn’t removable. Not sure why as I later replaced it myself (albeit it's now a brick). They did however offer me 10% off a new one but at the time I thought nah, not paying 300 and odd francs for what is in effect going to be the cost of repair. To their defence, I later tought that's quite good of them. One thing I remember was how the guys Apple were quite bewildered about how big and perfectly round the blob was. Apparently they’d never seen anything like that before!&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_39zDZ8lJ_Dc/TIak6DKPuEI/AAAAAAAAG5U/qIQV9PqGRLA/s1600/IMG_2289.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_39zDZ8lJ_Dc/TIak6DKPuEI/AAAAAAAAG5U/qIQV9PqGRLA/s400/IMG_2289.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;So what did you do next?&lt;/b&gt; Got back home and found &lt;a href="http://www.directfix.com/category/TOUCH.html" target="_blank"&gt;DirectFix.com&lt;/a&gt; - a site offering replacement iPod components. They shipped me a replacement LCD screen for around $30 including postage. Great I thought. Should be easy enough. Apart from getting the cover off it was. There’s plenty of videos on &lt;a href="http://www.youtube.com/watch?v=SnTZPCjOLxA" target="_blank"&gt;YouTube&lt;/a&gt;. Photo below shows old and new side by side. Notice the funny coloured blob on the top (original) screen:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_39zDZ8lJ_Dc/TIalAhQHLyI/AAAAAAAAG5c/WDZOhHcSOO4/s1600/IMG_0800_NEW.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="260" src="http://2.bp.blogspot.com/_39zDZ8lJ_Dc/TIalAhQHLyI/AAAAAAAAG5c/WDZOhHcSOO4/s400/IMG_0800_NEW.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;My conclusion:&lt;/b&gt; Don’t try it at home kids. One thing I liked about the 1st generation was its ability to charge over Firewire (using my Blaupunkt &lt;a href="http://ipodcarkitdirect.co.uk/" target="_blank"&gt;iPod adaptor&lt;/a&gt; in the car for example). It also looks like I won’t be watching any iTunes rented movies for a while on my television set. I used the Touch with an older, what’s labelled &lt;a href="http://support.apple.com/kb/HT1454?viewlocale=en_US" target="_blank"&gt;'iPod' Universal Dock&lt;/a&gt;/model A1153 which has an S-Video connector. It worked well as I have an older CRT television and the Apple TV is no use with its HDMI and component outputs. Oh well. I enjoyed it.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_39zDZ8lJ_Dc/TIakoncbQuI/AAAAAAAAG5E/Jw7itObSj0A/s1600/IMG_0796_NEW.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_39zDZ8lJ_Dc/TIakoncbQuI/AAAAAAAAG5E/Jw7itObSj0A/s320/IMG_0796_NEW.jpg" width="179" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;i&gt;Above: My iPod with the grey spot before I attempted a screen exchange.&lt;/i&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-5112676105058567086?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/5112676105058567086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=5112676105058567086' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/5112676105058567086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/5112676105058567086'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2010/09/botched-ipod-touch-repair.html' title='Botched iPod Touch Repair'/><author><name>rdiggle</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://2.bp.blogspot.com/_39zDZ8lJ_Dc/TIak0jo7x-I/AAAAAAAAG5M/G0snKthM5wo/s72-c/IMG_0789_NEW.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-7692034919040657271</id><published>2010-06-06T22:06:00.012+02:00</published><updated>2010-06-07T10:26:47.513+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='virtual appliance'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='ovf'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Using Solaris 10/09 Virtual Appliance with VMWare ESXi</title><content type='html'>&lt;div&gt;
Sun have released Solaris 10/09 as Virtual Appliance. However it's 
not readily usable with VMWare ESXi Server 4.0 without a bit of 
tweaking. So in a nutshell, here's how to get it working:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Use
 the &lt;b&gt;VMWare vSphere client&lt;/b&gt; to create a Solaris 10 VM and export 
it as an OVF appliance. Modify the config file within this new appliance
 and replace the disk file with the one downloaded as part of the 
Solaris OVF appliance download from Sun's website &lt;a href="http://www.sun.com/software/solaris/get.jsp" target="_blank"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Use
 the &lt;b&gt;VMWare OVF Tool&lt;/b&gt; (available &lt;a href="http://www.vmware.com/appliances/getting-started/learn/ovf.html" target="_blank"&gt;here&lt;/a&gt;)
 to convert the now modified OVF appliance to VMWare.&lt;/li&gt;
&lt;li&gt;Start the 
VM and modify some boot config files so that the VM can start correctly.&lt;/li&gt;
&lt;/ol&gt;
It was these two articles that got me going with this:&lt;br /&gt;
&lt;a href="http://communities.vmware.com/message/907527" target="_blank"&gt;http://communities.vmware.com/message/907527&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.mail-archive.com/opensolaris-discuss@opensolaris.org/msg35493.html" target="_blank"&gt;http://www.mail-archive.com/opensolaris-discuss@opensolaris.org/msg35493.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step
 1 in detail&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The OVF config that comes as part of the 
Solaris Virtual Appliance download throws up a bunch of errors when 
using VMWare OVF Tool:&lt;br /&gt;
&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;
- Line 8: Unsupported value 
'http://www.vmware.com/specifications/vmdk.html#sparse' for attribute 
'format' on element 'Disk'.&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
Give up trying to fix it. 
Within the VMWare vSphere Client tool, create a new Solaris 10 VM (with a
 tiny disk) and export it as an OVF appliance. Modify the OVF config 
file as part of this new appliance and replace the disk file with the 
one downloaded as part of the Solaris OVF appliance download. The config
 file is an XML file and it's not that difficult to work out what should
 be where.&lt;br /&gt;
&lt;br /&gt;
I guess you could either move the Solaris 
disk file (downloaded as part of the Solaris OVF downloaded) to the 
directory containing newly create 'template' OVF, or replace the 
existing OVF config file with the 'template' OVF. I think I did the 
later.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 2 in detail&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Once you have a compatible
 OVF appliance ready you should be able to run the VMWare OVF Tool and 
have that migrate the appliance to your ESXi server. Something like the 
following should do it:&lt;br /&gt;
&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;
C:\Program Files\VMware\VMware OVF 
Tool&amp;gt;ovftool.exe --datastore="external_storage" --network="VM 
Network" "c:\TEMP\Solaris10_1009_virtual_image\solaris.ovf" 
"vi://root:password@myesxiserver"&lt;/blockquote&gt;
If it worked then you should 
see the following:&lt;br /&gt;
&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;
Opening OVF source: 
c:\TEMP\Solaris10_1009_virtual_image\solaris.ovf&lt;br /&gt;
Warning: No 
manifest file&lt;br /&gt;
Opening VI target: vi://root@myesxiserver/&lt;br /&gt;
Target:
 vi://myesxiserver/&lt;br /&gt;
Disk Transfer Completed&lt;br /&gt;
Completed 
successfully&lt;/blockquote&gt;
&lt;div&gt;
&lt;b&gt;Step 3 in detail&lt;/b&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
Unfortunately starting the VMWare as is will produce the following:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;a href="http://1.bp.blogspot.com/_39zDZ8lJ_Dc/TAwBE3UjftI/AAAAAAAAGuE/ii8tuHBwJ9I/s1600/solarispanic.PNG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="221" src="http://1.bp.blogspot.com/_39zDZ8lJ_Dc/TAwBE3UjftI/AAAAAAAAGuE/ii8tuHBwJ9I/s400/solarispanic.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
The issue is that the boot device has changed and both &lt;b&gt;/boot/solaris/bootenv.rc&lt;/b&gt;
 and &lt;b&gt;/etc/vfstab&lt;/b&gt; need updating aswell as performing a 
reconfiguration boot.&lt;br /&gt;
&lt;br /&gt;
1. Start the VM and at the grub prompt, 
enter fail-safe mode and allow the root file system to be mounted as 
read/write under &lt;b&gt;/a&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
2. Identify the new device name 
using the format command and get ready to use &lt;b&gt;vi&lt;/b&gt;. You can brush 
up your vi skills &lt;a href="http://www.cs.colostate.edu/helpdocs/vi.html" target="_blank"&gt;here&lt;/a&gt;.
 Mine was &lt;b&gt;/pci@0,0/pci15ad,1976@10/sd@0,0&lt;/b&gt;--so replace where 
necessary from now on. Also vi may not display correctly so fix the 
terminal type with the following command:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;
# TERM=sun-color; 
export TERM&lt;/blockquote&gt;
3. Now edit &lt;b&gt;/a/boot/solaris/bootenv.rc&lt;/b&gt; and 
update the line that starts with &lt;b&gt;setprob boothpath&lt;/b&gt; so that it 
reads:&lt;br /&gt;
&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;
setprop bootpath '/pci@0,0/pci15ad,1976@10/sd@0,0:a' &lt;/blockquote&gt;
4. Once you've done that update the boot archive:&lt;br /&gt;
&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;
# bootadm 
update-archive -R /a&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
5. Then edit /a/etc/vfstab (making a copy 
first) and modify the line mounting the root file system so instead of &lt;b&gt;/dev/dsk/c0d0s0&lt;/b&gt;
 and &lt;b&gt;/dev/rdsk/c0d0s0&lt;/b&gt; it reads the following absolute paths. Do 
not forget to suffix &lt;b&gt;a:&lt;/b&gt; and &lt;b&gt;,raw&lt;/b&gt; respectively.&lt;br /&gt;
&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;
/devices/pci@0,0/pci15ad,1976@10/sd@0,0:a 
/devices/pci@0,0/pci15ad,1976@10/sd@0,0:a,raw / ufs 1 no -&lt;/blockquote&gt;
6. 
Now we need to force a reconfiguration boot so that the system recreates
 the &lt;b&gt;/etc/path_to_inst&lt;/b&gt; file that contains physical device to 
logical instance mappings.&lt;br /&gt;
&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;
# touch /a/reconfigure&lt;br /&gt;
# reboot&lt;/blockquote&gt;
7. The system should now reboot and selecting the default grub option 
(i.e. non fail-safe) should perform a reconfiguration boot before bringing 
you to the graphical X login. If it doesn't then something went wrong :-(. Trace-back your steps.&lt;br /&gt;
&lt;br /&gt;
8. Login and edit &lt;b&gt;/etc/vfstab&lt;/b&gt;
 again so that you can replace those absolute paths. If you made a 
backup of this file before the last update, it would be easier to start 
with this. Before you do this use &lt;b&gt;ls -l /dev/dsk&lt;/b&gt; to determine the
 new disks and update this file as appropriate. For example mine now 
reads:&lt;br /&gt;
&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;
/dev/dsk/c3t0d0s1 - - swap - no -&lt;br /&gt;
/dev/dsk/c3t0d0s0 
/dev/rdsk/c3t0d0s0 / ufs 1 no -&lt;br /&gt;
/dev/dsk/c3t0d0s7 /dev/rdsk/c3t0d0s7
 /export/home ufs 2 yes -&lt;/blockquote&gt;
9. Reboot again and that should be it. 
System is now ready for use.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-7692034919040657271?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/7692034919040657271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=7692034919040657271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/7692034919040657271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/7692034919040657271'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2010/06/using-solaris-1009-virtual-appliance.html' title='Using Solaris 10/09 Virtual Appliance with VMWare ESXi'/><author><name>rdiggle</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/_39zDZ8lJ_Dc/TAwBE3UjftI/AAAAAAAAGuE/ii8tuHBwJ9I/s72-c/solarispanic.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-1274594986776507914</id><published>2010-03-19T21:26:00.004+01:00</published><updated>2010-12-06T16:02:18.679+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gawk'/><category scheme='http://www.blogger.com/atom/ns#' term='csv'/><category scheme='http://www.blogger.com/atom/ns#' term='delemetered'/><title type='text'>Use gawk to convert fixed width files to delimetered</title><content type='html'>I had a bunch of fixed-width text files that I needed to be convert to CSV. Each file was different and determining the start and end of each field would be time consuming so this needed to be done dynamically. Fortunately the second line of each file could be used to do exactly that and I was able to run the script unmodified against each file.&lt;br /&gt;
&lt;br /&gt;
An example of the input file:&lt;br /&gt;
&lt;blockquote style="background-color: #eeeeee;"&gt;
&lt;code&gt;
empno ,ename&amp;nbsp;&amp;nbsp;&amp;nbsp; ,job&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,hiredate&amp;nbsp; ,sal&lt;br /&gt;
------,---------,-----------,----------,---------&lt;br /&gt;
7782&amp;nbsp; ,CLARK&amp;nbsp;&amp;nbsp;&amp;nbsp; ,MANAGER&amp;nbsp;&amp;nbsp;&amp;nbsp; ,09-JUN-81 ,2450.00&lt;br /&gt;
7839&amp;nbsp; ,KING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,PRESIDENT&amp;nbsp; ,17-NOV-81 ,5000.00&lt;br /&gt;
7934&amp;nbsp; ,MILLER&amp;nbsp;&amp;nbsp; ,CLERK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,23-JAN-82 ,1300.00&lt;/code&gt;&lt;/blockquote&gt;
&lt;br /&gt;
The script looks at the second line of each file (i.e. the hyphenated line) to dynamically determine the start and end of each field:&lt;br /&gt;
&lt;blockquote style="background-color: #eeeeee;"&gt;
&lt;code&gt;#!/usr/local/bin/gawk -f&lt;br /&gt;BEGIN {&lt;br /&gt;&amp;nbsp;FS=","&lt;br /&gt;&amp;nbsp;RS="\n"&lt;br /&gt;&amp;nbsp;OFS=","&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Determine fixed length positions of each field by&lt;br /&gt;# looking at second record (i.e. header row) and output&lt;br /&gt;# each field separated by chosen delimiter.&lt;br /&gt;NR==1{&lt;br /&gt;&amp;nbsp;widthstring = (length($1)+1)&lt;br /&gt;&amp;nbsp;for(i=2; i &amp;lt; NF; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; widthstring = widthstring " " (length($i)+1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(i!=(NF-1))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("%s",OFS ltrim(rtrim(rmlastcomma($i))))&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;i=NF-1&lt;br /&gt;&amp;nbsp;print(OFS ltrim(rtrim(rmlastcomma($i))))&lt;br /&gt;&amp;nbsp;FIELDWIDTHS = widthstring&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Now read from line 3 (skipping first two rows) using newly&lt;br /&gt;# determined field lengths and remove whitespaces. Output&lt;br /&gt;# each field separated by chosen delimiter.&lt;br /&gt;NR&amp;gt;2{&lt;br /&gt;&amp;nbsp;for(i=2; i &amp;lt; NF; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("%s",OFS ltrim(rtrim(rmlastcomma($i))))&lt;br /&gt;&amp;nbsp;print(OFS ltrim(rtrim(rmlastcomma($NF))))&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function ltrim(v) { gsub(/^[ ]+/, "", v); return v}&lt;br /&gt;function rtrim(v) { gsub(/[ ]+$/, "", v); return v}&lt;br /&gt;function rmlastcomma(v) { sub(/[,]+$/, "", v); return v}&lt;/code&gt;&lt;/blockquote&gt;
&lt;br /&gt;
The resulting output will be a regular CSV file:&lt;br /&gt;
&lt;blockquote style="background-color: #eeeeee;"&gt;
&lt;code&gt;
7782,CLARK,MANAGER,09-JUN-81,2450.00&lt;br /&gt;
7839,KING,PRESIDENT,17-NOV-81,5000.00&lt;br /&gt;
7934,MILLER,CLERK,23-JAN-82,1300.00&lt;/code&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Example command&amp;nbsp; to start gawk in Windows (reading in all files):&lt;br /&gt;
&lt;blockquote style="background-color: #eeeeee;"&gt;
&lt;code&gt;
for %n in (*.txt) do gawk -f fixed2csv.awk %n &amp;gt;%n.csv&lt;/code&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Yes, I did this in Windows!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-1274594986776507914?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/1274594986776507914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=1274594986776507914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/1274594986776507914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/1274594986776507914'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2010/10/gawkfixed2delemetered.html' title='Use gawk to convert fixed width files to delimetered'/><author><name>rdiggle</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-3441762644021265922.post-507529856617113118</id><published>2009-12-02T20:07:00.026+01:00</published><updated>2009-12-15T15:49:44.327+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='camera'/><category scheme='http://www.blogger.com/atom/ns#' term='macbook pro isight not working'/><category scheme='http://www.blogger.com/atom/ns#' term='macbook pro'/><category scheme='http://www.blogger.com/atom/ns#' term='isight not working'/><category scheme='http://www.blogger.com/atom/ns#' term='cable'/><category scheme='http://www.blogger.com/atom/ns#' term='remove screen'/><title type='text'>MacBook Pro iSight camera fixed!</title><content type='html'>&lt;div&gt;
&lt;p&gt;So I decided to sell in my Mac Mini and get a MacBook instead. I intended to buy a 17" MacBook Pro on my visit to Florida later this year. However about a week ago $2,500 + tax seemed steep for a machine I just wanted to use to browse the web and use iTunes on.... now I think I should have just bought a new one in Florida. Ah well, it's too late.&lt;/p&gt;
&lt;p&gt;Anyway so I bought a second hand 17" MacBook Pro, model A1212 or MA611*/A. It's the one with a 2.33 GHz CPU, 2 GB RAM and a 160 GB HDD. It was in really good condition so I thought it was a good deal until I realised the iSight camera didn't work. At this point, I probably should have just given it back to the seller, but for various reasons I decided to keep hold of it.&lt;/p&gt;
&lt;p&gt;I checked out the &lt;a target="_blank" id="vjom" title="How to Troubleshoot iSight" href="http://support.apple.com/kb/HT2090"&gt;How to Troubleshoot iSight&lt;/a&gt; page on Apple's website to no avail. I thought it could be the connection between the iSight camera and the computer itself and so searching around the Internet brought me to a &lt;a id="gyi2" title="blog" href="http://www.smallroomsoftware.com/articles/2007/5/9/broken-macbook-isight-fixed" target="_blank"&gt;blog&lt;/a&gt; reporting a fix to my suspicion and a &lt;a id="y98q" title="howto" href="http://www.screentekinc.com/lcd-removal-instructions_en,macbookpro,step1.shtml" target="_blank"&gt;how-to&lt;/a&gt; on opening a MacBook Pro screen. They were both for different MacBooks, but gave me the inclining to have a go myself.&lt;/p&gt;
&lt;p&gt;In the end it worked, so here's what I did. Essentially it involves the following three 'simple' steps:&lt;/p&gt;
&lt;/div&gt;
&lt;ol&gt;&lt;li&gt;Unscrew MacBook Pro and remove screen.&lt;/li&gt;
&lt;li&gt;Open screen and re-connect iSight cable.&lt;/li&gt;
&lt;li&gt;Put everything back together and hope for the best.&lt;/li&gt;
&lt;/ol&gt;
 
&lt;div&gt;
&lt;p&gt;Overall it took me about an hour.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 1&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Basically unscrew every screw you can see. That includes all screws around the sides and underneath including the two screws that require a Torx T6 screwdriver under the memory compartment. So not to scratch my laptop I did this all on my bed. I would recommend doing this on an anti-static surface.&lt;/p&gt;
&lt;p&gt;Once all the screws are out, the part with the keyboard and trackpad just pops off. Do it slowly though. The ribbon cable connecting the two pieces is easily removed by lifting the connector vertically off the motherboard. For better instructions on how to get this far, check-out the numerous hard disk upgrade how-tos elsewhere.&lt;/p&gt;
&lt;p&gt;Second part of this step is removing the screen. For me, this is when my heart rate increased like I was disarming a bomb. Carefully unclip the cables between the motherboard and the screen by removing the tape holding them in place and using common sense on how these cables come out of the connectors. You may want to take the tape off in a way that you can re-use it later. Using the Torx screwdriver, remove the screws on each pair of hinge holds. On one of the pairs of hinge holds, remark the different screw used--i.e. the left most screw on the right pair of hinges is different, vice versa on the left pair of hinges, the right most screw is different.&lt;/p&gt;
&lt;p&gt;Once you're complete you'll end up with a disaster like this:&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_39zDZ8lJ_Dc/Sxa9phngBMI/AAAAAAAAGJE/V9wuhXpOc8A/s1600-h/mbpro_disaster.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 207px;" src="http://3.bp.blogspot.com/_39zDZ8lJ_Dc/Sxa9phngBMI/AAAAAAAAGJE/V9wuhXpOc8A/s320/mbpro_disaster.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5410720523428562114" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 2&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Opening the screen or actually the shell of the screen was the hardest part. I thought it couldn't be done at first and was ready for giving up until I really used to brute force. Check out the how-to I mentioned before on removing the shell. To quote them:&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;i&gt;Once you get the two screws removed from the front of the bezel, you must remove the back plastic bezel. To do this, start from one of the bottom corners and slowly pry the back of the bezel off.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Once you get one corner free, move the other bottom corner and free that side from the laptop as well. Using your fingers, carefully pry the remaining bezel from the laptop.&lt;/i&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The back plastic bezel is the aluminium backing plus the what seems to be plastic inner lip. Check out what part is coming away from what here:&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_39zDZ8lJ_Dc/Sxa_LNzeqAI/AAAAAAAAGJM/O1fhxu7QqsE/s1600-h/mbpro_screen1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 218px;" src="http://3.bp.blogspot.com/_39zDZ8lJ_Dc/Sxa_LNzeqAI/AAAAAAAAGJM/O1fhxu7QqsE/s320/mbpro_screen1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5410722201737275394" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once you've got the bezel off, turn the screen so that it is face down and remove the black plastic cover over the PCB of the iSight camera.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_39zDZ8lJ_Dc/Sxa_VyxNfZI/AAAAAAAAGJU/4UORu3GaMV8/s1600-h/mbpro_screen2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 172px;" src="http://1.bp.blogspot.com/_39zDZ8lJ_Dc/Sxa_VyxNfZI/AAAAAAAAGJU/4UORu3GaMV8/s320/mbpro_screen2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5410722383458565522" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I simply removed the cable the and re-inserted it and then held it into position with a little bit of tape. It really needs to be tidy as the bezel needs to fit well.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_39zDZ8lJ_Dc/Sxa_heGJXmI/AAAAAAAAGJc/T386dMaK-cw/s1600-h/mbpro_screen3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 212px;" src="http://3.bp.blogspot.com/_39zDZ8lJ_Dc/Sxa_heGJXmI/AAAAAAAAGJc/T386dMaK-cw/s320/mbpro_screen3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5410722584067661410" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;See that little black bit in the top circle to the the left of the connector? That simply dropped off so it couldn't have been important!&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Step 3&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Once ye done, sew 'er back up. Remember what I said about the two different screws on one of the the two pairs of hinges and make sure that all cables are connected and are tidy like they were before--you don't want to trap any wires!&lt;/p&gt;
&lt;p&gt;Insert the battery/connect up the mains and switch her on. I'm not joking but the Apple start up chime was great to hear. Before trying PhotoBooth, I went to System Profiler and under USB High-Speed Bus, there it was, Built-in iSight!&lt;/p&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-507529856617113118?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/507529856617113118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=507529856617113118' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/507529856617113118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/507529856617113118'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2009/12/macbook-pro-isight-fixed.html' title='MacBook Pro iSight camera fixed!'/><author><name>rdiggle</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://3.bp.blogspot.com/_39zDZ8lJ_Dc/Sxa9phngBMI/AAAAAAAAGJE/V9wuhXpOc8A/s72-c/mbpro_disaster.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-6342625421845243783</id><published>2009-10-26T07:30:00.004+01:00</published><updated>2009-10-26T10:08:50.679+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sluggish'/><category scheme='http://www.blogger.com/atom/ns#' term='os 3.1'/><category scheme='http://www.blogger.com/atom/ns#' term='slow'/><category scheme='http://www.blogger.com/atom/ns#' term='3gs'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><category scheme='http://www.blogger.com/atom/ns#' term='itunes'/><title type='text'>iPhone 3GS slow after upgrading to OS 3.1</title><content type='html'>&lt;p&gt;I had some time available yesterday so I wiped my iPhone before plugging it into iTunes and selecting "Set up as a new iPhone" option. It now appears to behave like new even with everything re-sync'd (albeit settings, game save positions/scores and text messages lost).&lt;/p&gt;
&lt;p&gt;Ever since I upgraded my iPhone 3GS to OS 3.1, it behaved rather sluggish (even with the latest 3.1.2 installed). Wipping my finger across the screen to unlock the phone sometimes required various attempts before the GUI actually responded and the phone unlocked, writing on the keyboard was commonly delayed and I found I just had to type "blindly" for a few seconds before the keyboard responded and the text actually hit the screen. It was as if there was some resource-intensive background operations that the iPhone was carrying out every so often, and if I actually wanted to use the phone during this time, I had to endure sluggish operation until it completed (about 3-4 seconds later).&lt;/p&gt;
&lt;p&gt;I thought the phone was at fault until I lost it and then with a brand-new replacement 3GS, using the "Restore from the backup of" option in iTunes, the behaviour was exactly the same.&lt;/p&gt;
&lt;p&gt;So yesterday I used the &lt;span style="font-weight:bold;"&gt;Erase All Content and Settings&lt;/span&gt; option from the phone before plugging it back into iTunes and selecting the option &lt;span style="font-weight:bold;"&gt;Set up as a new iPhone&lt;/span&gt;. It now works perfectly again!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-6342625421845243783?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/6342625421845243783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=6342625421845243783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/6342625421845243783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/6342625421845243783'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2009/10/iphone-3gs-slow-after-upgrading-to-os.html' title='iPhone 3GS slow after upgrading to OS 3.1'/><author><name>rdiggle</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-3441762644021265922.post-2688541660942900243</id><published>2009-08-03T21:48:00.018+02:00</published><updated>2009-08-06T10:15:02.730+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Book Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='spin down'/><category scheme='http://www.blogger.com/atom/ns#' term='scsitools'/><category scheme='http://www.blogger.com/atom/ns#' term='WDH2Q10000'/><title type='text'>My Book Studio Edition II under Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_39zDZ8lJ_Dc/SndBIRpSxUI/AAAAAAAAF00/HTIBU3LhIO4/s1600-h/wdcbook.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_39zDZ8lJ_Dc/SndBIRpSxUI/AAAAAAAAF00/HTIBU3LhIO4/s200/wdcbook.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5365829091466593602" /&gt;&lt;/a&gt;
If you're thinking of buying one of these external RAID drives for use under Linux then you may want to reconsider. I've have had a 1 TB (2 x 500 GB) Western Digital My Book Studio Edition II for a few months now and running it under Linux is simply difficult because of the its power management features. After around 10 minutes of inactivity the drives spin down. Under Windows and OS X, WD's Drive Manager software spins the discs back up and presumably ensures that the computer waits while doing so.&lt;br&gt;
&lt;br&gt;
I've tried several work arounds including touching a file via a cron job every few minutes to no avail. These are the kernel messages I get when trying to read the file system after the drive has spun down:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;
kernel: sd 0:0:0:0: Device not ready: &amp;lt;6&amp;gt;: Current: sense key: Not Ready&lt;br&gt;
kernel:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Additional sense: Logical unit not ready, initializing command required&lt;br&gt;
kernel: end_request: I/O error, dev sdb, sector 12511&lt;br&gt;
kernel: sd 0:0:0:0: Device not ready: &amp;lt;6&amp;gt;: Current: sense key: Not Ready&lt;br&gt;
kernel:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Additional sense: Logical unit not ready, initializing command required&lt;br&gt;
kernel: end_request: I/O error, dev sdb, sector 12527&lt;br&gt;
kernel: journal_bmap: journal block not found at offset 12 on sdb1&lt;br&gt;
kernel: Aborting journal on device sdb1.&lt;br&gt;
kernel: sd 0:0:0:0: Device not ready: &amp;lt;6&amp;gt;: Current: sense key: Not Ready&lt;br&gt;
kernel:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Additional sense: Logical unit not ready, initializing command required&lt;br&gt;
kernel: end_request: I/O error, dev sdb, sector 12431&lt;br&gt;
kernel: Buffer I/O error on device sdb1, logical block 1546&lt;br&gt;
kernel: lost page write due to I/O error on sdb1&lt;br&gt;
kernel: ext3_abort called.&lt;br&gt;
kernel: EXT3-fs error (device sdb1): ext3_journal_start_sb: Detected aborted journal&lt;br&gt;
kernel: Remounting filesystem read-only&lt;br&gt;
&lt;/code&gt;
&lt;br&gt;
Running &lt;b&gt;ls &lt;/b&gt;for example produces the following error until the drive has spun up again. As the file system now may contain errors, it's re-mounted as read-only and I have to run &lt;b&gt;fsck &lt;/b&gt;on it to ensure that it is clean (which it usually is).&lt;br&gt;
&lt;br&gt;
&lt;code&gt;
ls: reading directory .: Input/output error&lt;br&gt;
&lt;/code&gt;
&lt;br&gt;
My current work-around is to re-define how I use the drive. Sounds silly, but I now have designated the drive a vault (kind of archive) that I only need to write to every few months and when I need something off it, by default mount it as read-only. I use a tool called &lt;b&gt;scsi-spin&lt;/b&gt; (part of the &lt;a href="http://packages.debian.org/stable/utils/scsitools"&gt;scsitools&lt;/a&gt; package available in Debian) to spin the drive up before mounting. scsi-spin won't spin up a mounted drives so remember to unmount the drive after use and for some reason I always have to issue this command twice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-2688541660942900243?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/2688541660942900243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=2688541660942900243' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/2688541660942900243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/2688541660942900243'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2009/08/my-book-studio-edition-ii-under-linux.html' title='My Book Studio Edition II under Linux'/><author><name>rdiggle</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/_39zDZ8lJ_Dc/SndBIRpSxUI/AAAAAAAAF00/HTIBU3LhIO4/s72-c/wdcbook.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-5186062015614070909</id><published>2009-06-24T22:32:00.010+02:00</published><updated>2010-10-12T18:46:34.115+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='csv'/><category scheme='http://www.blogger.com/atom/ns#' term='extract'/><category scheme='http://www.blogger.com/atom/ns#' term='odbc'/><title type='text'>Export ODBC tables to CSV files</title><content type='html'>There's quite a few tools on the web for this, but for lack of trust (malware) and not having complete control I found it easier to write a script in Windows Scripting Host (WSH) instead.&lt;br /&gt;
&lt;br /&gt;
The script was written to be invoked from the command line using cscript.exe and then with the following parameters; (1) ODBC DSN name; (2) table Name; and (3) output CSV name. You could quite easily update strDNS, strSQLTable, strFile though.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote style="background-color: #eeeeee;"&gt;
&lt;code&gt;
Option Explicit&lt;br /&gt;Dim objConn, objRecordset&lt;br /&gt;Dim objFileSystem, objFile&lt;br /&gt;Dim intCount, intNoFields, strSQL&lt;br /&gt;Dim strDSN, strSQLTable, strFile&lt;br /&gt;&lt;br /&gt;Const ForReading = 1, ForWriting = 2&lt;br /&gt;&lt;br /&gt;' get command line arguments&lt;br /&gt;strDSN = WScript.Arguments.Item(0)&lt;br /&gt;strSQLTable = WScript.Arguments.Item(1)&lt;br /&gt;strFile = WScript.Arguments.Item(2)&lt;br /&gt;&lt;br /&gt;' open odbc dsn connection&lt;br /&gt;Set objConn = WScript.CreateObject("ADODB.Connection")&lt;br /&gt;objConn.ConnectionString = "DSN=" &amp;amp; strDSN &amp;amp; ";Uid=myUsername;Pwd=;"&lt;br /&gt;objConn.Open&lt;br /&gt;&lt;br /&gt;' execute query&lt;br /&gt;strSQL = "SELECT * FROM " &amp;amp; Trim(strSQLTable)&lt;br /&gt;Set objRecordset = objConn.Execute(strSQL)&lt;br /&gt;&lt;br /&gt;' open file for writing&lt;br /&gt;Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")&lt;br /&gt;Set objFile = objFileSystem.OpenTextFile(strFile, ForWriting, True)&lt;br /&gt;&lt;br /&gt;' loop through recordset&lt;br /&gt;intNoFields = (objRecordset.Fields.Count-1)&lt;br /&gt;objRecordset.MoveFirst&lt;br /&gt;Do While Not objRecordset.EOF&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; ' get number of fields (columns) within recordset and&lt;br /&gt;&amp;nbsp;&amp;nbsp; ' for each field output to file seperated by a tab,&lt;br /&gt;&amp;nbsp;&amp;nbsp; ' but skip nulls and don't add a tab if at last field.&lt;br /&gt;&amp;nbsp;&amp;nbsp; For intCount = 0 to intNoFields&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If IsNull(objRecordset.Fields.Item(intCount)) = False Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objFile.Write objRecordset.Fields.Item(intCount)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If intCount &amp;lt;&amp;gt; intNoFields Then objFile.Write vbTab&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If intCount &amp;lt;&amp;gt; intNoFields Then objFile.Write vbTab&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;br /&gt;&amp;nbsp;&amp;nbsp; Next&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; ' write new line at end of each record and move onto next&lt;br /&gt;&amp;nbsp;&amp;nbsp; ' (nicely does it now)&lt;br /&gt;&amp;nbsp;&amp;nbsp; objFile.Write vbNewLine&lt;br /&gt;&amp;nbsp;&amp;nbsp; objRecordset.moveNext&lt;br /&gt;Loop&lt;br /&gt;&lt;br /&gt;' finish up&lt;br /&gt;objFile.Close&lt;br /&gt;Set objFile = Nothing&lt;br /&gt;Set objFileSystem = Nothing&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;objRecordset.Close&lt;br /&gt;Set objRecordset = Nothing&lt;br /&gt;objConn.Close&lt;br /&gt;Set objConn = Nothing
&lt;/code&gt;&lt;/blockquote&gt;
&lt;br /&gt;
As I wanted to have the script scheduled and the output zipped and placed onto a UNC path, I created the following Windows shell script. The script is actually a bit of an overkill but as I had already written it for something else and liked the logging and verbose output features used it again.&lt;br /&gt;
&lt;br /&gt;
I've modified this script slightly for sake of simplification and posting on the web; I actually extracted a number of tables and captured these in additional phases (phase 2, phase 3, etc.). The current phase 2 (ZIP compression) was numbered after the last extract phase (e.g. phase 4). If you’re going to do the same, don’t forget to update the variables section to add multiple "set odbc_tableX=", etc. Good luck!&lt;br /&gt;
&lt;blockquote style="background-color: #eeeeee;"&gt;
&lt;code&gt;
rem -----------------------------------------------&lt;br /&gt;
rem&amp;nbsp; determine current date and time&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;&lt;br /&gt;for /f "tokens=1-3 delims=-/. " %%a in ("%date%") do set XDate=%%c%%b%%a&lt;br /&gt;for /f "tokens=1-3 delims=:. " %%a in ("%time%") do set XTime=%%a%%b%%c&lt;br /&gt;&lt;br /&gt;
rem Possible bug: Above only works if regional&lt;br /&gt;
rem settings are set to region that has either&lt;br /&gt;
rem has "-", "/", "." as the date seperator&lt;br /&gt;
rem and either ":" or "." as a time seperator&lt;br /&gt;
rem --which should cover all default regional&lt;br /&gt;
rem settings. Please update 'delims' above if&lt;br /&gt;
rem you have issues. To help test, uncomment&lt;br /&gt;
rem the following lines.&lt;br /&gt;
rem echo %XDate%%XTime%&lt;br /&gt;rem goto end&lt;br /&gt;&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;
rem&amp;nbsp; user variables&lt;br /&gt;
rem&amp;nbsp; (do not include trailing slash on path names!)&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;
&lt;br /&gt;setlocal&lt;br /&gt;set description=ODBC2TXT script&lt;br /&gt;&lt;br /&gt;rem 7-zip location, destination dir and destination output&lt;br /&gt;set zipprog_dir=C:\Program Files\7-Zip&lt;br /&gt;set dest_dir=\\server\share&lt;br /&gt;set dest_zip=extract_%Xdate%-%XTime%.zip&lt;br /&gt;&lt;br /&gt;rem wsh script location&lt;br /&gt;set script_dir=c:\odbc2txt&lt;br /&gt;set wshscript=odbc2txt.vbs&lt;br /&gt;&lt;br /&gt;rem odbc dns and SQL tables&lt;br /&gt;set odbc_dsn=databasename&lt;br /&gt;set odbc_table1=tablename&lt;br /&gt;&lt;br /&gt;rem working dir and log file&lt;br /&gt;set working_dir=%TEMP%\ODBC2TXT&lt;br /&gt;set log_file=%working dir%\odbc2txt.log&lt;br /&gt;&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;
rem&amp;nbsp; clean up working directory&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;&lt;br /&gt;rem create working folder if not already exists) and ensure&lt;br /&gt;rem it is empty.&lt;br /&gt;if not exist "%working_dir%" md "%working_dir%"&lt;br /&gt;if exist "%working_dir%\*.*" del /f /q "%working_dir%\*.*"&lt;br /&gt;&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;
rem&amp;nbsp; script header information&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;&lt;br /&gt;set message=%description%&lt;br /&gt;echo %message%&amp;gt; "%log_file"&lt;br /&gt;&lt;br /&gt;cls&lt;br /&gt;echo *===============================================&lt;br /&gt;echo %message%&lt;br /&gt;echo *===============================================&lt;br /&gt;echo.&lt;br /&gt;&lt;br /&gt;set message=*** Script started. Processing...&lt;br /&gt;echo %message%&amp;gt;&amp;gt;"%log_file"&lt;br /&gt;echo %message%&lt;br /&gt;&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;
rem&amp;nbsp; phase 1: extract table&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;
&lt;br /&gt;:phase1&lt;br /&gt;set message=*** Phase 1: Extracting table %odbc_table1%...&lt;br /&gt;echo %message%&amp;gt;&amp;gt;"%log_file"&lt;br /&gt;echo.&lt;br /&gt;echo %message%&lt;br /&gt;&lt;br /&gt;rem start WSH script with parameters&lt;br /&gt;cscript.exe /Nologo "%script_dir%\%wshscript%" %odbc_dsn% %odbc_table1% "%working_dir%\%odbc_table1%.txt" &amp;gt;&amp;gt;"%log_file"&lt;br /&gt;if not exist "%working_dir%\%odbc_table1%.txt" goto phase1_error&lt;br /&gt;&lt;br /&gt;set message=DONE!&lt;br /&gt;echo %message%&amp;gt;&amp;gt;"%log_file"&lt;br /&gt;echo %message%&lt;br /&gt;&lt;br /&gt;goto phase2&lt;br /&gt;&lt;br /&gt;:phase1_error&lt;br /&gt;set message=ERROR! File was not created. Script failed!&lt;br /&gt;echo %message%&amp;gt;&amp;gt;"%log_file"&lt;br /&gt;echo %message%&lt;br /&gt;&lt;br /&gt;goto end&lt;br /&gt;&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;
rem&amp;nbsp; phase 2: Compress and copy to outbound folder&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;
&lt;br /&gt;:phase2&lt;br /&gt;set message=*** Phase 2: Compressing extracts and copying to outbound folder...&lt;br /&gt;echo %message%&amp;gt;&amp;gt;"%log_file"&lt;br /&gt;echo.&lt;br /&gt;echo %message%&lt;br /&gt;&lt;br /&gt;"%zipprog_dir%\7za.exe" a -y -w"%working_dir%" "%working_dir%\archive.zip" "%working_dir%\*.txt" &amp;gt;&amp;gt;"%log_file"&lt;br /&gt;if not exist "%working_dir%\archive.zip" goto phase3_error&lt;br /&gt;&lt;br /&gt;rem copy zip file to given destination directory.&lt;br /&gt;copy /y "%working_dir%\archive.zip" "%dest_dir%\%dest_zip%" &amp;gt;&amp;gt;"%log_file"&lt;br /&gt;if errorlevel 1 goto phase3_error&lt;br /&gt;&lt;br /&gt;set message=%dest_zip% created and copied to&lt;br /&gt;echo %message%&amp;gt;&amp;gt;"%log_file"&lt;br /&gt;echo %message%&lt;br /&gt;&lt;br /&gt;set message=%dest_dir%&lt;br /&gt;echo %message%&amp;gt;&amp;gt;"%log_file"&lt;br /&gt;echo %message%&lt;br /&gt;&lt;br /&gt;set message=DONE!&lt;br /&gt;echo %message%&amp;gt;&amp;gt;"%log_file"&lt;br /&gt;echo %message%&lt;br /&gt;&lt;br /&gt;goto end&lt;br /&gt;&lt;br /&gt;:phase2_error&lt;br /&gt;set message=ERROR! Failed. Check log.&lt;br /&gt;echo %message%&amp;gt;&amp;gt;"%log_file"&lt;br /&gt;echo %message%&lt;br /&gt;&lt;br /&gt;goto end&lt;br /&gt;&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;
rem&amp;nbsp; Finish off&lt;br /&gt;
rem -----------------------------------------------&lt;br /&gt;
&lt;br /&gt;:end&lt;br /&gt;set message=*** Script complete. Exiting...&lt;br /&gt;echo %message%&amp;gt;&amp;gt;"%log_file"&lt;br /&gt;echo.&lt;br /&gt;echo %message%&lt;br /&gt;echo.&lt;br /&gt;&lt;br /&gt;endlocal&lt;br /&gt;pause&lt;/code&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-5186062015614070909?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/5186062015614070909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=5186062015614070909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/5186062015614070909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/5186062015614070909'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2009/06/odbc2txt.html' title='Export ODBC tables to CSV files'/><author><name>rdiggle</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-3441762644021265922.post-4028179233403952940</id><published>2009-03-26T16:47:00.004+01:00</published><updated>2009-03-26T16:52:33.402+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cpu hogging'/><category scheme='http://www.blogger.com/atom/ns#' term='cisvc.exe'/><category scheme='http://www.blogger.com/atom/ns#' term='indexing service'/><title type='text'>cisvc.exe hogging my CPU!</title><content type='html'>I'm getting so fed of Windows XP at work. Maybe it's all the stuff they &lt;i&gt;have&lt;/i&gt; to install, but besides it takes forever to boot, it sometimes becomes unusable for 1-2 minutes with the CPU at 100%.&lt;br&gt;
&lt;br&gt;
So instead of phoning the helpless desk I decided to investigate. Opening &lt;b&gt;Windows Task Manager&lt;/b&gt; and sorting by &lt;b&gt;CPU &lt;/b&gt;under &lt;b&gt;Processes&lt;/b&gt; showed me the offending process that was hogging the CPU. It was &lt;b&gt;cisvc.exe&lt;/b&gt; and there's plenty of articles around on this. Anyway, I've just disabled the &lt;b&gt;Indexing Service&lt;/b&gt; and the CPU usage instantly dropped back to normal.&lt;br&gt;
&lt;br&gt;
We'll see what that means to me and my applications in the coming days.... in the mean-time I have my computer back. Watch this space!&lt;br&gt;
&lt;br&gt;
&lt;a title="http://msdn.microsoft.com/en-us/library/ms689718(VS.85).aspx" target="_blank" href="http://msdn.microsoft.com/en-us/library/ms689718%28VS.85%29.aspx" id="zhbk"&gt;http://msdn.microsoft.com/en-us/library/ms689718(VS.85).aspx&lt;/a&gt;&lt;br&gt;
&lt;a title="http://en.wikipedia.org/wiki/Windows_Indexing_Service" target="_blank" href="http://en.wikipedia.org/wiki/Windows_Indexing_Service" id="sk3y"&gt;http://en.wikipedia.org/wiki/Windows_Indexing_Service&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-4028179233403952940?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/4028179233403952940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=4028179233403952940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/4028179233403952940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/4028179233403952940'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2009/03/cisvcexe-hogging-my-cpu.html' title='cisvc.exe hogging my CPU!'/><author><name>rdiggle</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-3441762644021265922.post-8347369303136821485</id><published>2009-01-06T16:47:00.002+01:00</published><updated>2009-01-06T16:59:16.236+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><category scheme='http://www.blogger.com/atom/ns#' term='office'/><category scheme='http://www.blogger.com/atom/ns#' term='autofilter'/><category scheme='http://www.blogger.com/atom/ns#' term='range'/><title type='text'>Excel Autofilter function not filtering all rows</title><content type='html'>I can't remember which template I'd used off the &lt;a title="Office Online site" target="_blank" href="http://office.microsoft.com/en-gb/templates/CT101527321033.aspx?av=ZXL" id="njn5"&gt;Office Online site&lt;/a&gt;, but had an issue whereby I couldn't &lt;a title="autofilter" target="_blank" href="http://office.microsoft.com/en-us/excel/HA011127901033.aspx?WT.mc_id=43" id="o8.8"&gt;autofilter&lt;/a&gt; the additional rows I'd entered. It was strange, I'd only added about 50 new rows, but they just weren't showing up in the autofilter drop down list. It was if the autofilter function was filtering by a set range.&lt;br&gt;
&lt;br&gt;
Indeed it was. You can see the autofilter range at any time by pressing &lt;b&gt;CTRL+G&lt;/b&gt; and then manually entering &lt;b&gt;sheet1!_filterdatabase&lt;/b&gt; into the dialogue box.&lt;br&gt;
&lt;br&gt;
To resolve the issue, turn off autofilter first and then select the new area you want to be included in the autofilter. Then re-enable autofilter and the new rows should now be included!&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-8347369303136821485?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/8347369303136821485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=8347369303136821485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/8347369303136821485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/8347369303136821485'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2009/01/excel-autofilter-function-not-filtering.html' title='Excel Autofilter function not filtering all rows'/><author><name>rdiggle</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-3441762644021265922.post-717229028654679566</id><published>2008-12-24T11:27:00.005+01:00</published><updated>2008-12-24T11:39:21.570+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windowsxp'/><category scheme='http://www.blogger.com/atom/ns#' term='dos'/><category scheme='http://www.blogger.com/atom/ns#' term='dosnet.inf'/><category scheme='http://www.blogger.com/atom/ns#' term='setup'/><title type='text'>Windows XP Setup from DOS ("cannot find file")</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_39zDZ8lJ_Dc/SVIQgwwzlII/AAAAAAAAE2w/M1EDFcKPMdw/s1600-h/xpsetup.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 124px;" src="http://3.bp.blogspot.com/_39zDZ8lJ_Dc/SVIQgwwzlII/AAAAAAAAE2w/M1EDFcKPMdw/s200/xpsetup.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5283303467890480258" /&gt;&lt;/a&gt;

I had a strange issue today, a blast from the past in fact—trying to install Windows from DOS. Strange situation, I am basically about to replace my parents computer and wanted to re-install Windows on the old computer so I could give it away whilst still being ‘usable’.&lt;br&gt;
&lt;br&gt;
Back in the day I made a &lt;a title="Ghost" target="_blank" href="http://www.symantec.com/norton/ghost" id="q:qq"&gt;Ghost&lt;/a&gt; image of the computer with a freshly installed Windows XP installation (with SP1 at the time maybe and drivers??) however on restoration of image I get an error message three-quarters of the way through saying something about unexpected end of file. Whatever it was it was annoying. Unfortunately the Windows XP disc is far away (in another country in fact) and the only thing I have is couple of DOS boot disks and the I386 directory (containing installation files) that I rescued before I started this procedure.&lt;br&gt;
&lt;br&gt;
So I burnt the I386 directory to a blank CD (from my work laptop) and booted up with the DOS boot disk (basically a boot disk made from either one of the later Windows 95 versions or Windows 98. Whatever, it supported FAT32). Now with my hard disk formatted I tried to run setup (WINNT.EXE) from the CD, but unfortunately I ran into issues; the set-up program complained that it couldn’t find files such "disk1" or "hal.dll".&lt;br&gt;
&lt;br&gt;
A quick search on the net brought nothing. So I tried a few more combinations such as copying files to the hard disk and re-running setup. Again, to no avail.&lt;br&gt;
&lt;br&gt;
I then re-ran setup and noticed that it read a file called &lt;b&gt;DOSNET.INF&lt;/b&gt;. According to a Microsoft TechNet article &lt;a title="here" target="_blank" href="http://technet.microsoft.com/en-us/library/cc758337.aspx" id="w9tg"&gt;here&lt;/a&gt;, DOSNET.INF contains a list of files to copy that are needed for setup. Back on my work computer I opened the file and noticed an interesting entry under the &lt;b&gt;Directories&lt;/b&gt; section. Mine said "&lt;b&gt;d1 = \I386&lt;/b&gt;". Further down the file you’ll notice "d1" is mentioned against every file.&lt;br&gt;
&lt;br&gt;
&lt;div style="margin-left: 40px;"&gt;&lt;span style="font-family: Courier New;"&gt;[Directories]&lt;br&gt;
&lt;b&gt;d1 = \I386&lt;/b&gt;&lt;br&gt;
&lt;br&gt;
....&lt;br&gt;
&lt;br&gt;
&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: Courier New;"&gt;[FloppyFiles.0]&lt;/span&gt;&lt;br style="font-family: Courier New;"&gt;
&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;d1&lt;/b&gt;,disk1,disk101&lt;/span&gt;&lt;br style="font-family: Courier New;"&gt;
&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;d1&lt;/b&gt;,ntdetect.com&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;br&gt;
This didn't seem right so I modified DOSNET.INF so that it read "d1 = \". Personally instead of re-writing another CD with a modified DOSNET.INF file, I copied the I386 files to the hard disk and modified DOSNET.INF there. This worked but as I didn't copy the sub directories set up complained much later on that it couldn’t find ASMS (which one of the subdirectories is named after), but I shoved the CD back in and it worked.&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-717229028654679566?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/717229028654679566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=717229028654679566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/717229028654679566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/717229028654679566'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2008/12/back-to-90s.html' title='Windows XP Setup from DOS (&quot;cannot find file&quot;)'/><author><name>rdiggle</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://3.bp.blogspot.com/_39zDZ8lJ_Dc/SVIQgwwzlII/AAAAAAAAE2w/M1EDFcKPMdw/s72-c/xpsetup.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-8422808565943979404</id><published>2008-07-19T09:56:00.006+02:00</published><updated>2008-07-19T10:14:32.664+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='geotagging'/><category scheme='http://www.blogger.com/atom/ns#' term='panoramio'/><category scheme='http://www.blogger.com/atom/ns#' term='flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='coordinates'/><category scheme='http://www.blogger.com/atom/ns#' term='geotagger'/><category scheme='http://www.blogger.com/atom/ns#' term='gps'/><category scheme='http://www.blogger.com/atom/ns#' term='iphoto'/><category scheme='http://www.blogger.com/atom/ns#' term='google earth'/><title type='text'>Geotagging photos in iPhoto (Mac)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_39zDZ8lJ_Dc/SIGeQ4JICCI/AAAAAAAAEZ8/b4wCgEidpDo/s1600-h/Geotagging.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_39zDZ8lJ_Dc/SIGeQ4JICCI/AAAAAAAAEZ8/b4wCgEidpDo/s200/Geotagging.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5224631055512242210" /&gt;&lt;/a&gt;
For a while now I've been &lt;a title="geotagging" target="_blank" href="http://en.wikipedia.org/wiki/Geocoded_photo" id="m_75"&gt;geotagging&lt;/a&gt; parts of my photo collection in preparation for Google's &lt;a title="Panoramio" target="_blank" href="http://www.panoramio.com/" id="d9xm"&gt;Panormaio&lt;/a&gt; site so that they appear in &lt;a title="Google Earth" target="_blank" href="http://earth.google.com/" id="gq9b"&gt;Google Earth&lt;/a&gt;. However it's always been a rather complex process--thankfully I don't do it so often! However the most recent time I did this (actually this week), I came across a nice piece of software from Craig Stanton called &lt;a title="Geotagger" target="_blank" href="http://craig.stanton.net.nz/software/Geotagger.html" id="xwk2"&gt;Geotagger&lt;/a&gt;--an easy to use retrospective geotagging app that's for free!&lt;br id="oxu3"&gt;
&lt;ol id="kqs_"&gt;
&lt;li id="kqs_0"&gt;Essentially after running Geotagger;&lt;/li&gt;
&lt;li id="kqs_1"&gt;start Google Earth and centre the map on the location with which you want to associate with your photo(s);&lt;/li&gt;
&lt;li id="kqs_2"&gt;then drag the respective photo(s) from iPhoto (or anywhere for that matter) onto the Geotagger icon in the dock.&lt;/li&gt;
&lt;/ol&gt;
You can confirm that the photo is now geotagged by opening the photo in Preview and selecting &lt;b id="axhx"&gt;Tools&lt;/b&gt;, &lt;b id="axhx0"&gt;Inspector&lt;/b&gt;. Mapping the photos with Google Earth can be tricky so you should also download a &lt;a title="set of crosshairs" target="_blank" href="http://craig.stanton.net.nz/software/files/crosshairs.kmz" id="i0qw"&gt;set of cross hairs&lt;/a&gt; courtesy of &lt;a title="Stefan Green" target="_blank" href="http://www.ogleearth.com/" id="poeg"&gt;Stefan Green&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-8422808565943979404?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/8422808565943979404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=8422808565943979404' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/8422808565943979404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/8422808565943979404'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2008/07/for-while-now-ive-been-geotagging-parts.html' title='Geotagging photos in iPhoto (Mac)'/><author><name>rdiggle</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://bp2.blogger.com/_39zDZ8lJ_Dc/SIGeQ4JICCI/AAAAAAAAEZ8/b4wCgEidpDo/s72-c/Geotagging.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-9122383054904586969</id><published>2008-04-02T19:08:00.008+02:00</published><updated>2008-04-04T13:10:52.265+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='discman'/><category scheme='http://www.blogger.com/atom/ns#' term='audiobook'/><category scheme='http://www.blogger.com/atom/ns#' term='m4a'/><category scheme='http://www.blogger.com/atom/ns#' term='m4b'/><category scheme='http://www.blogger.com/atom/ns#' term='cd'/><category scheme='http://www.blogger.com/atom/ns#' term='import'/><category scheme='http://www.blogger.com/atom/ns#' term='mp4'/><category scheme='http://www.blogger.com/atom/ns#' term='itunes'/><title type='text'>Converting CDs to iTunes Audiobooks</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_39zDZ8lJ_Dc/R_TNcE2FJgI/AAAAAAAAD-8/_8MDEtHgMgM/s1600-h/Discman_D121.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_39zDZ8lJ_Dc/R_TNcE2FJgI/AAAAAAAAD-8/_8MDEtHgMgM/s200/Discman_D121.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5184994953230886402" /&gt;&lt;/a&gt;
In an on-going effort to learn German, I bought a German audio book on CD the other day (a 'Hörbuch'!). However I have no way to listen to CDs on the move (since my &lt;a title="discman" target="_blank" href="http://en.wikipedia.org/wiki/Discman" id="j.dh"&gt;discman&lt;/a&gt; broke down sometime in the 90s). Anyway, I imported it into &lt;a title="iTunes" target="_blank" href="http://www.apple.com/itunes/" id="xp6."&gt;iTunes&lt;/a&gt; and as expected it appeared as regular music files (within the iTunes Library) and not as an iTunes Audiobook. This is a problem if you're wanting iTunes or your iPod to remember where you're up to within the track after you have switched to your a music playlist or Podcast or whatever. I won't detail it here as a quick search on the net reveals loads of step-by-step instructions on how to do this, but essentially it's just a case of:&lt;br id="xmrl"&gt;&lt;blockquote id="reir"&gt;1. importing the audio CD into iTunes using the default &lt;a title="AAC" target="_blank" href="http://en.wikipedia.org/wiki/Advanced_Audio_Coding" id="yzyu"&gt;AAC&lt;/a&gt; codec;&lt;br id="tq3c"&gt;2. locating audio files on disk and then renaming the extensions from &lt;a title=".m4a to .m4b" target="_blank" href="http://en.wikipedia.org/wiki/MPEG-4_Part_14#.MP4_versus_.M4A_file_extensions" id="wgum"&gt;.m4a to .m4b&lt;/a&gt;;&lt;br id="r-jg"&gt;3. and finally re-import the audio files into iTunes (after deleting the original pointers of course).&lt;br id="d0w5"&gt;&lt;/blockquote&gt;It seems there's just two main questions to answer; (a) what &lt;a title="bit rate" target="_blank" href="http://en.wikipedia.org/wiki/Bit_rate" id="jwp7"&gt;bit rate&lt;/a&gt; to use; and (b) whether or not to join the CD tracks before import. Personally my audio book had music in it, so I opted for a slightly higher (than the consensus) value of 32 kbps.

&lt;p&gt;&lt;span style="font-style:italic;"&gt;Update #1: Check out Michael Alderete's blog for info on Optimal iTunes Import Settings for Audiobooks: &lt;a href="http://aldoblog.com/audiobooks/itunes/import-settings/"&gt;http://aldoblog.com/audiobooks/itunes/import-settings/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-9122383054904586969?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/9122383054904586969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=9122383054904586969' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/9122383054904586969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/9122383054904586969'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2008/04/converting-cds-to-itunes-audiobooks.html' title='Converting CDs to iTunes Audiobooks'/><author><name>rdiggle</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://bp3.blogger.com/_39zDZ8lJ_Dc/R_TNcE2FJgI/AAAAAAAAD-8/_8MDEtHgMgM/s72-c/Discman_D121.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-7747186354507501157</id><published>2008-03-05T21:46:00.002+01:00</published><updated>2008-07-19T10:12:30.414+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drm'/><category scheme='http://www.blogger.com/atom/ns#' term='remove'/><category scheme='http://www.blogger.com/atom/ns#' term='iplayer'/><category scheme='http://www.blogger.com/atom/ns#' term='bbc'/><title type='text'>Remove DRM from BBC iPlayer downloads</title><content type='html'>&lt;p&gt;I started using the &lt;a id="ieto" title="BBC iPlayer" href="http://www.bbc.co.uk/iplayer/" target="_blank"&gt;BBC iPlayer&lt;/a&gt; service recently and I must say&amp;nbsp;I'm pretty impressed. The BBC have put a good selection of programmes on their site and the quality is good. You can either stream or download programmes for watching later. The download feature&amp;nbsp;uses &lt;a id="e3vc" title="Microsoft DRM" href="http://www.microsoft.com/windows/windowsmedia/forpros/drm/" target="_blank"&gt;Microsoft DRM&lt;/a&gt;&amp;nbsp;(and so is only compatible with Windows) and once downloaded content expires after 30 days for unopened content (i.e. not played yet) and usually 7 days for opened content.&lt;/p&gt;
&lt;p&gt;I guess they mainly use DRM&amp;nbsp;to ensure expiry of content. After all, DVD sales may go down if users were able to keep shows for ever. Additionally the pirate kings out there will download every episode and burn it onto disc or put it up on some torrent site, therefore eating further into DVD sales. Fair enough.&lt;/p&gt;
&lt;p&gt;The problem I have is that I would like watch&amp;nbsp;downloaded content on&amp;nbsp;my daily commute. The only way I could do this would be&amp;nbsp;to install the BBC iPlayer software on my work PC which I can't (I'm forbidden). I heard somewhere that the BBC were looking at providing downloadable, expirable content within the &lt;a id="yzcn" title="iTunes Store" href="http://www.apple.com/itunes/store/" target="_blank"&gt;iTunes Store&lt;/a&gt; similar to the way the new&amp;nbsp;iTunes Store&amp;nbsp;&lt;a id="jpe0" title="iTunes Store movie rental" href="http://www.apple.com/itunes/store/movies.html" target="_blank"&gt;movie rental service&lt;/a&gt;&amp;nbsp;works in the US. This would be good&amp;nbsp;as I use iTunes at the moment and&amp;nbsp;it would give me an excuse to buy an iPod Touch and watch EastEnders on the train (that's a joke, I don't really like EastEnders).&lt;/p&gt;
&lt;p&gt;Currently the UK&amp;nbsp;iTunes Store allows you to buy (not rent) individual episodes for no more than a couple of quid (£1.89 I&amp;nbsp;think it is)&amp;nbsp;however I don't like the idea that you're tied to iTunes once you&amp;nbsp;own the content (who knows what will happen in&amp;nbsp;the future especially in my heterogeneous OS environment). Contrary to my previous statement though, I don't mind being tied to iTunes for expirable content&amp;nbsp;as I will be using iTunes for the foreseeable future.&lt;/p&gt;

&lt;p&gt;Anyway for the moment the only way to watch downloadable content on another device seems to be to remove DRM.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Removing DRM&lt;/b&gt;&lt;/p&gt;&lt;p&gt;A couple of utilities you'll need include &lt;span style="font-weight: bold;"&gt;drmdbg&lt;/span&gt; for extracting the DRM licence keys from your system and &lt;span style="font-weight: bold;"&gt;FreeMe2&lt;/span&gt; that you'll use together with the extracted keys to remove the actual DRM from the WMV file.&lt;/p&gt;
&lt;p&gt;1. Once you have some downloaded content in iPlayer, close iPlayer completely and navigate to&amp;nbsp;iPlayer's&amp;nbsp;deliveries folder. In most cases this will be:&lt;/p&gt;
&lt;blockquote style="font-family: Courier New;" id="i0nf"&gt;&lt;p&gt;C:\Documents and Settings\All Users\Documents\My Videos\My Deliveries\iplayer_live&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;2. Move (or copy)&amp;nbsp;downloaded media files (suffixed with&amp;nbsp;'&lt;span style="font-family: Courier New;"&gt;_DOWNLOAD.WMV&lt;/span&gt;') into an empty&amp;nbsp;folder.&amp;nbsp;If you did 'move' (as apposed to copy), then you'll probably want to delete any files with the '&lt;span style="font-family: Courier New;"&gt;_DOWNLOAD.SMI&lt;/span&gt;' suffix too.&lt;/p&gt;
&lt;p&gt;3. Copy &lt;span style="font-family: Courier New;"&gt;drmdbg.exe&lt;/span&gt; and &lt;span style="font-family: Courier New;"&gt;FreeMe2.exe &lt;/span&gt;into this new folder and then double-click on &lt;span style="font-family: Courier New;"&gt;drmdbg.exe&lt;/span&gt;. In most cases after a few moments your individualisation key (like the one below) should be displayed in the top text box.&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family: Courier New;"&gt;C:\Documents and Settings\All Users\DRM\Cache\Indiv01.key v11.0.6000.7000&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;4. Click &lt;span style="font-weight: bold;"&gt;Multi Scan&lt;/span&gt; and Windows Media Player should spawn (if not you may have to play the content manually). The keys will then start being displayed in the bottom text box. Once complete, close drmdbg.
&lt;/p&gt;&lt;p&gt;5. If everything went well it should have created new subfolder named &lt;span style="font-family: Courier New;"&gt;DRM2&lt;/span&gt;. Move the file &lt;span style="font-family: Courier New;"&gt;DRM2.key&lt;/span&gt; within that folder to the current folder and then within&amp;nbsp;Windows Explorer drag each WMV file onto &lt;span style="font-family: Courier New;"&gt;FreeMe2.exe&lt;/span&gt;. A command box should display&amp;nbsp;a progress bar similar to the one below. If you see a prompt like "Enter IBX private key or hit enter" then something went wrong with the key extraction process by drmdbg--try another WMV file to see if that works at least.&lt;/p&gt;
&lt;blockquote style="font-family: Courier New;" id="g5jn"&gt;
&lt;p&gt;|###############&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | 50%&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;6. That's it, your new DRM-free files will prefix '&lt;span style="font-family: Courier New;"&gt;freed-&lt;/span&gt;' in the filename.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Update #1 [19 July 2008]: This procedure no longer works! Seems later patches from Microsoft have plugged this hole!&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-7747186354507501157?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/7747186354507501157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=7747186354507501157' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/7747186354507501157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/7747186354507501157'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2008/03/remove-drm-from-bbc-iplayer-downloads.html' title='Remove DRM from BBC iPlayer downloads'/><author><name>rdiggle</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>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-4382819333122154037</id><published>2008-01-25T16:58:00.000+01:00</published><updated>2008-02-08T13:49:52.797+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcam'/><category scheme='http://www.blogger.com/atom/ns#' term='setpwc'/><category scheme='http://www.blogger.com/atom/ns#' term='logitech'/><category scheme='http://www.blogger.com/atom/ns#' term='quickcam 3000'/><category scheme='http://www.blogger.com/atom/ns#' term='zoneminder'/><category scheme='http://www.blogger.com/atom/ns#' term='640x480'/><title type='text'>Using a Logitech QuickCam Pro 3000 with ZoneMinder</title><content type='html'>&lt;a href="http://bp0.blogger.com/_39zDZ8lJ_Dc/R6xP50OHOpI/AAAAAAAADmY/_vVwGoXw3Ok/s1600-h/quickcampro3000.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_39zDZ8lJ_Dc/R6xP50OHOpI/AAAAAAAADmY/_vVwGoXw3Ok/s200/quickcampro3000.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5164590727376091794" /&gt;&lt;/a&gt;
&lt;P&gt;Okay, so I got ZoneMinder installed. Now I want to play with it. I recently purchased an &lt;A id=k1s. title="XBox 360 webcam" href="http://www.xbox.com/en-US/hardware/x/xboxlivevision/" target=_blank&gt;XBox 360 webcam&lt;/A&gt; for use with my Mac, but I thought that was a little too good for this. However I did have a &lt;A id=syfg title="Logitech QuickCam Pro 3000" href="http://www.logitech.com/index.cfm/480/3359&amp;amp;cl=us,en" target=_blank&gt;Logitech QuickCam Pro 3000&lt;/A&gt; lying around. I remember having to download the drivers for this camera under Windows, so it would be fair to say I had low expectations in getting this working under Linux. In fact quite the opposite--it works very well indeed. As soon as I plugged it in it showed in &lt;EM&gt;/var/log/messages&lt;/EM&gt;. There's even a utility that sets the various options of the QuickCam's Philips chipset called &lt;A id=h:-y title=http://www.vanheusden.com/setpwc/ href="http://www.vanheusden.com/setpwc/" target=_blank&gt;http://www.vanheusden.com/setpwc/&lt;/A&gt; written by &lt;A id=u0qt title="Folkert van Heusden" href="http://www.vanheusden.com/" target=_blank&gt;Folkert van Heusden&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;After plugging it in, the first thing I did was try and find out what settings I needed to have in ZoneMinder. After installing setpwc, it was fairly easy to find out what I needed. There is even a setpwc Debian package that can just be installed via apt-get. However for me this version was 1.1 and the latest as of January 2008 is 1.23. The obvious difference between the two is that with the latest version you can set the resolution. However just to find out the settings for ZoneMinder, 1.1 will do.&lt;/P&gt;
&lt;P&gt;These are the settings I used initially in ZoneMinder. You can get to this area just by clicking Add New Monitor on the console page of ZoneMinder (i.e. http://&lt;EM&gt;yoursever&lt;/EM&gt;/zm/) and then clicking on the Source tab:&lt;/P&gt;
&lt;BLOCKQUOTE id=wrn3&gt;Device Path: /dev/video0&lt;BR&gt;Device Channel: 0&lt;BR&gt;Device Format: AUTO&lt;BR&gt;Capture Palette: YUV420P&lt;BR&gt;Capture Width: 320&lt;BR&gt;Capture Height: 240&lt;BR&gt;Preserve Aspect Ratio: Unchecked&lt;BR&gt;Orientation: Normal&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I knew the device was located on &lt;I&gt;/dev/video0&lt;/I&gt; as that's what was reported in &lt;I&gt;/log/var/messages&lt;/I&gt;. You'll have to check the correct device path your camera. Once I clicked Save and returned back to the ZM Console page, I clicked on what I named the source, in my case Cam1 and it worked--I saw the image! It seems that if everything went okay, the source field for the respective camera will turn orange, otherwise red.&lt;/P&gt;
&lt;P&gt;Okay, my camera supports 640x480. I used the latest version of setpwc to set the resolution and then edited the source settings to set the correct capture height and width, but once I did that the source field for the camera on the ZM console turned red and I wasn't able to see an image. A few more Google searches and reading ZoneMinder's installation instructions correctly, it seems you have to increase the amount of shared memory. This can be done instantly by issuing the following command:&lt;BR&gt;&lt;/P&gt;
&lt;BLOCKQUOTE id=b3w-&gt;&lt;FONT face="Courier New"&gt;# echo 134217728 &amp;gt;/proc/sys/kernel/shmall &amp;amp;&amp;amp; echo 134217728 &amp;gt;/proc/sys/kernel/shmmax&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;However upon reboot, this will need to be done again so it's best to edit /etc/sysctl.conf to add kernel.shmmax = 134217728. You can quickly do this by issuing:&lt;/P&gt;
&lt;BLOCKQUOTE id=p..6&gt;&lt;FONT face="Courier New"&gt;# echo kernel.shmmax = 134217728 &amp;gt;&amp;gt; /etc/sysctl.conf&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;That's it. Job done, camera working.&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-4382819333122154037?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/4382819333122154037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=4382819333122154037' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/4382819333122154037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/4382819333122154037'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2008/01/using-logitech-quickcam-pro-3000-with.html' title='Using a Logitech QuickCam Pro 3000 with ZoneMinder'/><author><name>rdiggle</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://bp0.blogger.com/_39zDZ8lJ_Dc/R6xP50OHOpI/AAAAAAAADmY/_vVwGoXw3Ok/s72-c/quickcampro3000.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-815033164579556327</id><published>2008-01-24T13:17:00.000+01:00</published><updated>2008-02-07T13:52:33.635+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcam'/><category scheme='http://www.blogger.com/atom/ns#' term='cctv'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='zoneminder'/><title type='text'>Installing ZoneMinder 1.23 under Debian 4.0r2 Etch</title><content type='html'>&lt;P&gt;&lt;A id=fbun title=ZoneMinder href="http://www.zoneminder.com/" target=_blank&gt;ZoneMinder&lt;/A&gt; is an open source CCTV application for Linux. A friend of mine first showed it off to me on his &lt;A id=r3o9 title=Ubuntu href="http://www.ubuntu.com/" target=_blank&gt;Ubuntu&lt;/A&gt; system and since having my own dedicated Linux box and a spare webcam lying around, I decided to install it.&lt;/P&gt;
&lt;P&gt;The installation requires a basic &lt;A id=rglb title=LAMP href="http://en.wikipedia.org/wiki/LAMP_%28software_bundle%29" target=_blank&gt;LAMP&lt;/A&gt; installation and a few Perl modules. I have Debian 4.0r2 Etch with already Apache2, MySQL 5 and PHP4 installed. I started with the following guide on ZoneMinder's website: &lt;A href="http://www.zoneminder.com/wiki/index.php/Yadig"&gt;http://www.zoneminder.com/wiki/index.php/Yadig&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Installation was easy to follow except when I came to compile and had a couple of issues locating the correct Perl modules. The guide is written for slightly older versions of everything I had installed. Essentially the only module that seems to not be available from Etch's main repositories was &lt;STRONG&gt;PHP::Serialization&lt;/STRONG&gt;. After several unsuccessful hunts on Google, I came across the following CPAN site: &lt;A href="http://search.cpan.org/~jbrown/PHP-Serialization-0.27/"&gt;http://search.cpan.org/~jbrown/PHP-Serialization-0.27/&lt;/A&gt;. This is what I wanted, I downloaded, compiled and installed it and was then able to continue the rest of the ZoneMinder installation.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step-by-Step installation&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;1. Run apt-get install with with the required packages. I also accepted any recommended packages by apt-get:&lt;/P&gt;
&lt;BLOCKQUOTE id=cbm2&gt;&lt;FONT face="Courier New"&gt;# apt-get install apache2 mysql-server libmysqlclient15-dev php4 php4-mysql g++ make netpbm libssl-dev libjpeg62-dev libmime-perl libwww-perl libarchive-tar-perl libdate-manip-perl libarchive-zip-perl libmime-lite-perl libdbi-perl libdbd-mysql-perl libpcre3-dev&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2. Download, compile and install the PHP::Serialization module:&lt;/P&gt;
&lt;BLOCKQUOTE id=fotw&gt;&lt;FONT face="Courier New"&gt;# cd /usr/local/src/ &lt;BR&gt;# wget &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;http://search.cpan.org/CPAN/authors/id/J/JB/JBROWN/php-serialization/PHP-Serialization-0.27.tar.gz&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;# tar -xzvf PHP-Serialization-0.27.tar.gz&lt;BR&gt;# cd PHP-Serialization-0.27&lt;BR&gt;# perl Makefile.PL&lt;BR&gt;# make&lt;BR&gt;# make test&lt;BR&gt;# make install&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;3. Download, compile and install ZoneMinder:&lt;/P&gt;
&lt;BLOCKQUOTE id=ruhv&gt;&lt;FONT face="Courier New"&gt;# cd /usr/local/src/ &lt;BR&gt;# wget &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;http://www2.zoneminder.com/downloads/ZoneMinder-1.23.1.tar.gz&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;# tar -xzvf ZoneMinder-1.23.1.tar.gz&lt;BR&gt;# cd ZoneMinder-1.23.1&lt;BR&gt;# ./configure --with-webdir=/var/www/zm --with-cgidir=/usr/lib/cgi-bin --with-webuser=www-data --with-webgroup=www-data&lt;BR&gt;# mysql -u root -p &amp;lt; db/zm_create.sql&lt;BR&gt;# mysql -u root -p&lt;BR&gt;mysql&amp;gt; grant select,insert,update,delete on zm.* to &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;'zmuser'@localhost&lt;/FONT&gt;&lt;FONT face="Courier New"&gt; identified by 'zmpass'; quit;&lt;BR&gt;# make install&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;4. Create a Debian init.d script as per instructions &lt;A id=rg7y title=here href="http://www.zoneminder.com/wiki/index.php/Debian_init.d" target=_blank&gt;here&lt;/A&gt; and then restart Apache, MySQL and ZoneMinder:&lt;/P&gt;
&lt;BLOCKQUOTE id=hei0&gt;&lt;FONT face="Courier New"&gt;# /etc/init.d/apache2 restart&lt;BR&gt;# /etc/init.d/mysql restart&lt;BR&gt;# /etc/init.d/zm restart&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;6. Connect to http://&lt;EM&gt;yourserver&lt;/EM&gt;/zm/ and modify the following two parameters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Under &lt;STRONG&gt;Options&lt;/STRONG&gt;, &lt;STRONG&gt;System&lt;/STRONG&gt;, set &lt;STRONG&gt;ZM_AUTH_RELAY&lt;/STRONG&gt; to &lt;STRONG&gt;none&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Under &lt;STRONG&gt;Options&lt;/STRONG&gt;, &lt;STRONG&gt;Paths&lt;/STRONG&gt;, set &lt;STRONG&gt;ZM_PATH_ZMS&lt;/STRONG&gt; to &lt;FONT face="Courier New"&gt;/cgi-bin/zms&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;7. That's it! Just connect your camera and configure!&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Update #1: As mentioned on ZoneMinder's &lt;A id=s48t title=Wiki href="http://www.zoneminder.com/wiki/index.php/Yadig" target=_blank&gt;Wiki&lt;/A&gt;, you should also increase the amount of shared memory, especially if your camera supports 640x480 as it probably won't be possible to use it at higher resolutions until you've done this. If you do have issues getting 640x480, you can instantly test this by issuing the following command and restarting ZoneMinder:&lt;/EM&gt;&lt;/P&gt;
&lt;BLOCKQUOTE id=wgem&gt;&lt;FONT face="Courier New"&gt;&lt;EM&gt;# echo 134217728 &amp;gt;/proc/sys/kernel/shmall &amp;amp;&amp;amp; echo 134217728 &amp;gt;/proc/sys/kernel/shmmax&lt;/EM&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;However upon reboot, this will need to be done again so it's best to edit /etc/sysctl.conf to add kernel.shmmax = 134217728. You can quickly do this by issuing:&lt;/EM&gt;&lt;/P&gt;
&lt;BLOCKQUOTE id=lwo4&gt;&lt;FONT face="Courier New"&gt;&lt;EM&gt;# echo kernel.shmmax = 134217728 &amp;gt;&amp;gt; /etc/sysctl.conf&lt;/EM&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-815033164579556327?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/815033164579556327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=815033164579556327' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/815033164579556327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/815033164579556327'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2008/01/installing-zoneminder-123-under-debian.html' title='Installing ZoneMinder 1.23 under Debian 4.0r2 Etch'/><author><name>rdiggle</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>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-3567590687946598772</id><published>2008-01-12T18:53:00.000+01:00</published><updated>2008-02-11T20:24:25.698+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='evo'/><category scheme='http://www.blogger.com/atom/ns#' term='ultraslim'/><category scheme='http://www.blogger.com/atom/ns#' term='jumper'/><category scheme='http://www.blogger.com/atom/ns#' term='compaq'/><category scheme='http://www.blogger.com/atom/ns#' term='password reset'/><category scheme='http://www.blogger.com/atom/ns#' term='hp'/><category scheme='http://www.blogger.com/atom/ns#' term='bios'/><category scheme='http://www.blogger.com/atom/ns#' term='d510'/><title type='text'>Resetting the BIOS Password on a HP/Compaq Evo D510</title><content type='html'>&lt;a href="http://bp0.blogger.com/_39zDZ8lJ_Dc/R6w3Y0OHOoI/AAAAAAAADmM/K3kWcQ5BzRQ/s1600-h/compaq-evo-d510-ultra-slim.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_39zDZ8lJ_Dc/R6w3Y0OHOoI/AAAAAAAADmM/K3kWcQ5BzRQ/s200/compaq-evo-d510-ultra-slim.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5164563772161342082" /&gt;&lt;/a&gt;
     &lt;p&gt;So I finally gave up running&amp;nbsp;&lt;a id="gd-o" title="Linux on my Playstation 2" href="http://en.wikipedia.org/wiki/Linux_for_PlayStation_2" target="_blank"&gt;Linux on my Playstation 2&lt;/a&gt;. The distribution&amp;nbsp;was old and getting things compiled and running proved problematic--especially with &lt;a id="foby" title="MySQL" href="http://www.mysql.com/" target="_blank"&gt;MySQL&lt;/a&gt;. I was actually looking at buying one of these: &lt;a href="http://www.linutop.com/"&gt;http://www.linutop.com/&lt;/a&gt;&amp;nbsp;-- a nice self contained Linux box that uses very little power. However by the time you add postage and import duty, it can turn out to be&amp;nbsp;quite expensive. Anyway I found a guy selling a load of &lt;a id="ymah" title="Compaq D510 Ultra Slim" href="http://h20000.www2.hp.com/bizsupport/TechSupport/Home.jsp?lang=en&amp;amp;cc=us&amp;amp;prodTypeId=12454&amp;amp;prodSeriesId=96302&amp;amp;lang=en&amp;amp;cc=us" target="_blank"&gt;Compaq D510 Ultra Slim&lt;/a&gt; desktops on Ebay for around 100 euros. Apparantly they'd only been used for around 20 hours ;-). I clicked &lt;a id="c19." title="Buy it Now" href="http://pages.ebay.com/help/buy/how-buy-bin.html" target="_blank"&gt;Buy it Now&lt;/a&gt; and picked up the machine that weekend. I did get a list of passwords however the BIOS password proved incorrect and the seller didn't know the correct one.&lt;/p&gt;
&lt;p&gt;Normally it's not a problem cases like this since the advent of the Internet. You'd expect a few keywords like 'compaq', 'd510', 'bios', 'reset' in the Google search bar would do the trick, however it took me slightly longer than expected so I decided to&amp;nbsp;blog it&amp;nbsp;(hopefully saving you some time!).&lt;/p&gt;
&lt;p&gt;In a nutshell, locate the&amp;nbsp;jumper&amp;nbsp;labelled &lt;span style="font-weight: bold;"&gt;PASSWORD JMP&lt;/span&gt; on the motherboard (see image--it's between the PSU and the hard disk) and remove it. Power up the machine once without the jumper and then power it down again before replacing the jumper--the BIOS password should now be cleared. Easy.&lt;/p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_39zDZ8lJ_Dc/R7CgsN53sXI/AAAAAAAADm0/dTUtQPbWnS8/s1600-h/evojumper.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_39zDZ8lJ_Dc/R7CgsN53sXI/AAAAAAAADm0/dTUtQPbWnS8/s200/evojumper.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5165805454101033330" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-3567590687946598772?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/3567590687946598772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=3567590687946598772' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/3567590687946598772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/3567590687946598772'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2008/01/resetting-bios-password-on-hpcompaq-evo.html' title='Resetting the BIOS Password on a HP/Compaq Evo D510'/><author><name>rdiggle</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://bp0.blogger.com/_39zDZ8lJ_Dc/R6w3Y0OHOoI/AAAAAAAADmM/K3kWcQ5BzRQ/s72-c/compaq-evo-d510-ultra-slim.jpg' height='72' width='72'/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3441762644021265922.post-5169536150021410924</id><published>2007-12-12T22:58:00.004+01:00</published><updated>2009-11-26T11:30:35.715+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blocked'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh tunneling'/><category scheme='http://www.blogger.com/atom/ns#' term='squid'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy'/><title type='text'>Facebook blocked</title><content type='html'>&lt;P&gt;Okay, I cannot access &lt;A id=xoin title=Facebook href="http://www.facebook.com/" target=_blank&gt;Facebook&lt;/A&gt; (amongst other sites). The sites are blocked at proxy level and unfortunately the only way to access the web (that I know of) is via an internal proxy server. I can however access my Linux box&amp;nbsp;at home&amp;nbsp;with &lt;A id=x__i title=SSH href="http://en.wikipedia.org/wiki/Ssh" target=_blank&gt;SSH&lt;/A&gt;&amp;nbsp;directly (no proxy configuration required).&amp;nbsp;This gave me an idea, install a proxy server at home, configure an SSH tunnel and then finally configure my browser to use the proxy server at home. This worked very well indeed and was surprisingly easy to set up. You would think it would be slow, but in fact it was no problem with sites like YouTube, etc. Great! My home broadband connection is 3 Mbps download/300 kbps upload. So effectively the maximum theoretical download bandwidth I can get from my browser will never be more than my home broadband upload bandwidth (i.e. 300 kbps).&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Set up instructions&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;1. Install &lt;A id=cjrq title=Squid href="http://www.squid-cache.org/" target=_blank&gt;Squid&lt;/A&gt; on your home Linux box. So on a Debian-type installation (like Ubuntu), simply type:&lt;/P&gt;
&lt;BLOCKQUOTE id=yf6_&gt;&lt;FONT face="Courier New"&gt;# apt-get install squid squid-common&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2. Configure&amp;nbsp;Squid to allow access to any client. This can be done by editting &lt;I&gt;/etc/squid/squid.conf&lt;/I&gt; and replacing the line containing &lt;B&gt;http_access deny all&lt;/B&gt; with &lt;B&gt;http_access allow all&lt;/B&gt; and then restarting squid:&lt;/P&gt;
&lt;BLOCKQUOTE id=e81o&gt;&lt;FONT face="Courier New"&gt;# /etc/init.d/squid restart&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;3. Configure the browser on your Windows PC to use the new proxy settings (localhost:3128).&amp;nbsp;In my case I wanted to leave Internet Explorer as it was so I installed &lt;A id=j60r title=Firefox href="http://www.firefox.com/" target=_blank&gt;Firefox&lt;/A&gt; and configured the proxy settings as follows:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Under &lt;STRONG&gt;Edit&lt;/STRONG&gt;, &lt;STRONG&gt;Preferences&lt;/STRONG&gt;, &lt;STRONG&gt;Advanced&lt;/STRONG&gt;, &lt;STRONG&gt;Network&lt;/STRONG&gt;, &lt;STRONG&gt;Connection&lt;/STRONG&gt;, &lt;STRONG&gt;Settings&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Select &lt;STRONG&gt;Manual proxy configuration&lt;/STRONG&gt; and enter &lt;FONT face="Courier New"&gt;localhost&lt;/FONT&gt; under &lt;STRONG&gt;HTTP proxy&lt;/STRONG&gt; and &lt;FONT face="Courier New"&gt;3128&lt;/FONT&gt; in &lt;STRONG&gt;Port&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Enable the option &lt;STRONG&gt;Use this proxy server for all protocols&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;4. Install &lt;A id=t09u title=Putty href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" target=_blank&gt;Putty&lt;/A&gt; on the same Windows PC and configure SSH tunnelling as follows:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Download Putty from &lt;A href="http://www.chiark.greenend.org.uk/~sgtatham/putty/"&gt;http://www.chiark.greenend.org.uk/~sgtatham/putty/&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Run Putty and enter your home IP address (this may also be known as the 'WAN' IP address. Of course if you're Linux box is behind NAT on your home router, you'll need to configure at least port forwarding for SSH to your Linux box).&lt;/LI&gt;
&lt;LI&gt;Within Putty, under &lt;STRONG&gt;Connection&lt;/STRONG&gt;, &lt;STRONG&gt;SSH&lt;/STRONG&gt;, &lt;STRONG&gt;Tunnels&lt;/STRONG&gt;, enter &lt;FONT face="Courier New"&gt;3128&lt;/FONT&gt; in &lt;STRONG&gt;Source port&lt;/STRONG&gt; and the 'local' IP address of your Linux box in &lt;STRONG&gt;Destination&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Click &lt;STRONG&gt;Open&lt;/STRONG&gt; and enter your username and password.&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;a href="http://bp0.blogger.com/_39zDZ8lJ_Dc/R6ToW0OHOmI/AAAAAAAADlM/Rk7-g6iEMP8/s1600-h/putty3.png"&gt;&lt;img src="http://bp0.blogger.com/_39zDZ8lJ_Dc/R6ToW0OHOmI/AAAAAAAADlM/Rk7-g6iEMP8/s200/putty3.png" alt="" id="BLOGGER_PHOTO_ID_5162506551546034786" border="0"&gt;&lt;/a&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;5. That's it. Start Firefox or whatever and you can now browse the Web unrestricted!&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3441762644021265922-5169536150021410924?l=rdiggle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rdiggle.blogspot.com/feeds/5169536150021410924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3441762644021265922&amp;postID=5169536150021410924' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/5169536150021410924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3441762644021265922/posts/default/5169536150021410924'/><link rel='alternate' type='text/html' href='http://rdiggle.blogspot.com/2007/12/facebook-blocked-at-work.html' title='Facebook blocked'/><author><name>rdiggle</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://bp0.blogger.com/_39zDZ8lJ_Dc/R6ToW0OHOmI/AAAAAAAADlM/Rk7-g6iEMP8/s72-c/putty3.png' height='72' width='72'/><thr:total>4</thr:total></entry></feed>
