<?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:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4775033873078313696</id><updated>2010-08-31T11:08:05.770+01:00</updated><title type='text'>Surgeons Net Blog</title><subtitle type='html'>Surgeons Net is an educational resource for surgeons. It's here that I'll make announcements about that website, but also write about any interesting developments in Surgery or useful snippets of information about IT. May also use it for a general rant about the NHS!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default?start-index=26&amp;max-results=25'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-839979997812466757</id><published>2010-08-10T17:00:00.005+01:00</published><updated>2010-08-10T17:21:37.670+01:00</updated><title type='text'>Detecting Application Idle in Qt 4</title><content type='html'>&lt;p&gt;The Patient&amp;nbsp;Management&amp;nbsp;System we are writing required a timeout for logins after a certain period had elapsed. So we needed to detect application idle. A couple of examples exist on the the web, but seemed incomplete and not thread safe. I also wanted a singleton class model so that I could have notifications of idle in any of my QObjects. So here is my implementation. Comments and improvements will be appreciated.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Header File:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;#ifndef IDLETIMER_H&lt;br /&gt;#define IDLETIMER_H&lt;br /&gt;&lt;br /&gt;#include &lt;QObject&gt;&lt;br /&gt;#include &lt;QMutex&gt;&lt;br /&gt;#include &lt;QEvent&gt;&lt;br /&gt;#include &lt;QTimer&gt;&lt;br /&gt;&lt;br /&gt;class IdleTimer : public QObject&lt;br /&gt;{&lt;br /&gt;    Q_OBJECT&lt;br /&gt;public:&lt;br /&gt;    // Singleton class stuff&lt;br /&gt;    static IdleTimer* instance(QObject *parent=0, int seconds=0) {&lt;br /&gt;        static QMutex mutex;&lt;br /&gt;        if (!m_Instance) {&lt;br /&gt;            mutex.lock();&lt;br /&gt;            m_Instance = new IdleTimer(parent, seconds);&lt;br /&gt;            mutex.unlock();&lt;br /&gt;        }&lt;br /&gt;        return m_Instance;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    static void drop() {&lt;br /&gt;        qDebug("IdleTimer dropped ...");&lt;br /&gt;        static QMutex mutex;&lt;br /&gt;        mutex.lock();&lt;br /&gt;&lt;br /&gt;        m_timer-&gt;stop();&lt;br /&gt;        if(m_timer) delete m_timer;&lt;br /&gt;&lt;br /&gt;        if (m_Instance)&lt;br /&gt;            delete m_Instance;&lt;br /&gt;        m_Instance = 0;&lt;br /&gt;        mutex.unlock();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    void start(int seconds = 0);&lt;br /&gt;    void stop();&lt;br /&gt;&lt;br /&gt;private:&lt;br /&gt;    explicit IdleTimer(QObject *parent, int seconds);&lt;br /&gt;    explicit IdleTimer() {}&lt;br /&gt;    ~IdleTimer() {}&lt;br /&gt;&lt;br /&gt;    IdleTimer(const IdleTimer &amp;); // hide copy constructor&lt;br /&gt;    IdleTimer&amp; operator=(const IdleTimer &amp;); // hide assign op&lt;br /&gt;&lt;br /&gt;    static IdleTimer *m_Instance;&lt;br /&gt;    static QTimer *m_timer;&lt;br /&gt;&lt;br /&gt;    static QMutex m_timeoutMutex;&lt;br /&gt;    static int m_timeout;&lt;br /&gt;&lt;br /&gt;signals:&lt;br /&gt;    void idle();&lt;br /&gt;&lt;br /&gt;private slots:&lt;br /&gt;    void idleTimeout();&lt;br /&gt;&lt;br /&gt;protected:&lt;br /&gt;    bool eventFilter(QObject *obj, QEvent *ev);&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;#endif // IDLETIMER_H&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;And the implementation&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/*!&lt;br /&gt; * Small class for detecting idle in the applcation&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;#include "IdleTimer.h"&lt;br /&gt;&lt;br /&gt;// Static initialisers&lt;br /&gt;IdleTimer *IdleTimer::m_Instance = 0;&lt;br /&gt;QTimer *IdleTimer::m_timer = new QTimer();&lt;br /&gt;int IdleTimer::m_timeout = 0;&lt;br /&gt;QMutex IdleTimer::m_timeoutMutex;&lt;br /&gt;&lt;br /&gt;/*!&lt;br /&gt;  * Class constructor&lt;br /&gt;  */&lt;br /&gt;IdleTimer::IdleTimer(QObject *parent, int seconds) :&lt;br /&gt;        QObject(parent)&lt;br /&gt;{&lt;br /&gt;    m_timeoutMutex.lock();&lt;br /&gt;&lt;br /&gt;    if (seconds)&lt;br /&gt;        m_timeout = seconds;&lt;br /&gt;&lt;br /&gt;    Q_ASSERT(parent);&lt;br /&gt;    Q_ASSERT_X(m_timeout, "IdleTimer Constructor", "The timeout must be specified in the first call to instance.");&lt;br /&gt;&lt;br /&gt;    parent-&gt;installEventFilter(this);&lt;br /&gt;    m_timer-&gt;singleShot(m_timeout*1000, this, SLOT(idleTimeout()));&lt;br /&gt;&lt;br /&gt;    m_timeoutMutex.unlock();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*!&lt;br /&gt;  * Either reset the timeout to a different value to restart the timer&lt;br /&gt;  */&lt;br /&gt;void IdleTimer::start(int seconds/*=0*/) {&lt;br /&gt;    m_timeoutMutex.lock();&lt;br /&gt;&lt;br /&gt;    if(seconds)&lt;br /&gt;        m_timeout = seconds;&lt;br /&gt;&lt;br /&gt;    Q_ASSERT_X(m_timeout, "IdleTimer reset", "A timeout must be specified either in this call or in the first call to instance.");&lt;br /&gt;&lt;br /&gt;    m_timer-&gt;start(m_timeout*1000);&lt;br /&gt;&lt;br /&gt;    m_timeoutMutex.unlock();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void IdleTimer::stop() {&lt;br /&gt;    m_timeoutMutex.lock();&lt;br /&gt;    m_timer-&gt;stop();&lt;br /&gt;    m_timeoutMutex.unlock();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*!&lt;br /&gt;  * The vent filter&lt;br /&gt;  */&lt;br /&gt;bool IdleTimer::eventFilter(QObject *obj, QEvent *ev)&lt;br /&gt;{&lt;br /&gt;    if(ev-&gt;type() == QEvent::KeyPress ||&lt;br /&gt;        ev-&gt;type() == QEvent::MouseMove)&lt;br /&gt;        // now reset your timer, for example&lt;br /&gt;        IdleTimer::m_timer-&gt;start();&lt;br /&gt;&lt;br /&gt;    // Must return to allow further processing&lt;br /&gt;    return QObject::eventFilter(obj, ev);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*slot*/&lt;br /&gt;void IdleTimer::idleTimeout() {&lt;br /&gt;    qDebug("Application has been idle, emitting idle signal ...");&lt;br /&gt;    emit idle();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-839979997812466757?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/839979997812466757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=839979997812466757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/839979997812466757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/839979997812466757'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2010/08/detecting-application-idle-in-qt-4.html' title='Detecting Application Idle in Qt 4'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-4452184736278448308</id><published>2010-04-21T23:10:00.002+01:00</published><updated>2010-04-21T23:39:22.205+01:00</updated><title type='text'>Mounting virtualbox shares in a linux (Ubuntu) guest</title><content type='html'>Mounting VirtualBox shares in a Linux guest is not as straight forward as for a Windows guest. I have only tried this on a Ubuntu guest but I see no reason why it wouldn't work in other flavours.&lt;br /&gt;&lt;br /&gt;Some pre-requisites:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Make sure the VirtualBox guest additions have been installed. There are plenty of guides about this&lt;/li&gt;&lt;li&gt;When you create your shared directories DO NOT accept the default name. Use a prefix. For example HostDocuments for the host Documents folders instead of Documents.&lt;br /&gt;The reason for this is if you use the default name a protocol error will be reported when you mount the shared dir. I don't know why but this small work around fixes the issue&lt;/li&gt;&lt;li&gt;Make sure the vboxvfs module is loaded by adding vboxvfs to the end of /etc/modules&lt;br /&gt;&lt;br /&gt;&lt;code&gt;sudo sh -c 'echo "vboxvfs" | cat &amp;gt;&amp;gt;/etc/modules'&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Now we need to allow mounting of vbox shares by normal users.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;code&gt;sudo select-editor&lt;/code&gt; and make sure nano is selected. This is a much nicer editor than vi&lt;/li&gt;&lt;li&gt;Now edit the sudoer file using &lt;code&gt;sudo visudo&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;Add the line: &lt;code&gt;%plugdev ALL=(ALL)NOPASSWD:/sbin/mount.vboxsf&lt;/code&gt;&lt;br /&gt;It may be that the group plugdev is a Ubuntu only group. Choose a group that all users belong to. Or create a 'users' group and add the users to it&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Create a mounting script in /usr/local/bin.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;sudo nano /usr/local/bin/mountVboxShares&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Paste the following code, but replace the variables at the top and add sections as appropriate.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;PROJECTDIR="$HOME"/Projects&lt;br /&gt;PROJECTSHARE="HostProjects"&lt;br /&gt;&lt;br /&gt;DOCSDIR="$HOME"/Documents&lt;br /&gt;DOCSSHARE="HostDocuments"&lt;br /&gt;&lt;br /&gt;if [ ! -d "$PROJECTDIR" ]; then&lt;br /&gt;mkdir "$PROJECTDIR"&lt;br /&gt;fi&lt;br /&gt;/usr/bin/sudo mount.vboxsf -o uid=`id -r -u`,gid=`id -r -u` "$PROJECTSHARE" "$PROJECTDIR"&lt;br /&gt;&lt;br /&gt;if [ ! -d "$DOCSDIR" ]; then&lt;br /&gt;mkdir "$DOCSDIR"&lt;br /&gt;fi&lt;br /&gt;/usr/bin/sudo mount.vboxsf -o uid=`id -r -u`,gid=`id -r -u` "$DOCSSHARE" "$DOCSDIR"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Allow everyone to execute this script &lt;code&gt;sudo chmod 755 /usr/local/bin/mountVboxShares&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Finally add the mount script to the end of the system wide profile script &lt;code&gt;sudo sh -c 'echo "/usr/local/bin/mountVboxShares" | cat &amp;gt;&amp;gt;/etc/profile'&lt;/code&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-4452184736278448308?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/4452184736278448308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=4452184736278448308' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/4452184736278448308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/4452184736278448308'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2010/04/mounting-virtualbox-shares-in-linux.html' title='Mounting virtualbox shares in a linux (Ubuntu) guest'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-3225365454677827101</id><published>2010-03-01T19:10:00.001Z</published><updated>2010-03-01T22:47:02.608Z</updated><title type='text'>Converting Joomla sites from 1.0 to 1.5 cheatsheet</title><content type='html'>Some useful links for Joomla 1.5 component development:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The guys at the Art of Joomla have a really nice crib sheet for &lt;a href="http://www.theartofjoomla.com/converting-old-extensions.html"&gt;converting your 1.0 extensions to 1.5&lt;/a&gt;. Well done and thank you.&lt;/li&gt;&lt;li&gt;Using the &lt;a href="http://www.howtojoomla.net/how-tos/development/how-to-create-select-lists-in-joomla"&gt;JHTML:: functions to create lists&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-3225365454677827101?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/3225365454677827101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=3225365454677827101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/3225365454677827101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/3225365454677827101'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2010/03/converting-joomla-sites-from-10-to-15.html' title='Converting Joomla sites from 1.0 to 1.5 cheatsheet'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-6256538435896874720</id><published>2010-02-08T15:02:00.001Z</published><updated>2010-02-08T15:03:24.151Z</updated><title type='text'>Ubutnu ext3 to ext4 upgrade - won't mount filesystem!</title><content type='html'>I have just had a little heart stop moment.&lt;br /&gt;&lt;br /&gt;I followed the Ubuntu wiki instructions on &lt;a href="https://help.ubuntu.com/community/ConvertFilesystemToExt4"&gt;migrating from ext3 to ext4&lt;/a&gt;. After the tune2fs bit I rebooted as instructed and the system could not mount the new filesystem. Errors about bad superblocks and bad group descriptors, but nothing being done about them. fsck did not run correctly and I was left with an un-mountable drive, so I could even mount as ext3. Ahhhh....&lt;br /&gt;&lt;br /&gt;Fortunately I have a live CD install of 9.10 on USB from which I could boot and run a fsck.ext4 on my partition.&lt;br /&gt;&lt;br /&gt;So my suggestion is that before migrating from ext3 to ext4 do two things:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;BACKUP all your data&lt;/li&gt;&lt;li&gt;Do the migration from a live CD / USB. The advantage of this is that you save on all the reboots too.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-6256538435896874720?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/6256538435896874720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=6256538435896874720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/6256538435896874720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/6256538435896874720'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2010/02/ubutnu-ext3-to-ext4-upgrade-wont-mount.html' title='Ubutnu ext3 to ext4 upgrade - won&apos;t mount filesystem!'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-9156101215147527367</id><published>2009-10-07T20:30:00.002+01:00</published><updated>2009-10-17T23:17:15.440+01:00</updated><title type='text'>Setting up qt4 with visual studio 2005 and 2008</title><content type='html'>It is not clear (or wasn't to me) how to use &lt;a href="http://www.blogger.com/"&gt;QT4&lt;/a&gt; with Visual Studio. The key to the problem is that you need to re-compile QT4 for Visual Studio. If you are not using MingGW at all then you can do all this in the original QT directory. Otherwise copy the entire c:\qt\2009.03 directory to something like c:\qt\2009.03_vs2008&lt;br /&gt;&lt;br /&gt;Open a VS command line prompt so that all the env vars are set up.&lt;br /&gt;&lt;br /&gt;Run the configure script, my suggestion is:&lt;br /&gt;C:\Qt\2009.03\qt&amp;gt;configure -no-qt3support -no-opengl -platform win32-msvc2005 -no-libtiff -no-dbus -no-phonon -no-phonon-backend -opensource -debug-and-release&lt;br /&gt;&lt;br /&gt;Let it do it's thing&lt;br /&gt;&lt;br /&gt;Then type nmake to build the VS libraries&lt;br /&gt;&lt;br /&gt;Notes:&lt;br /&gt;Use nmake confclean to clean the directory before running a new configure cmd&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-9156101215147527367?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/9156101215147527367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=9156101215147527367' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/9156101215147527367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/9156101215147527367'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2009/10/setting-up-qt4-with-visual-studio-2005.html' title='Setting up qt4 with visual studio 2005 and 2008'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-5851880164347203267</id><published>2009-09-29T23:57:00.000+01:00</published><updated>2009-09-29T23:57:44.795+01:00</updated><title type='text'>Setting up PostgresSQL on Ubuntu</title><content type='html'>Most of my database use has been with MySQL to date as I have LAMP installations for websites but I was looking for a DB to use with a new desktop application of ours. It seems that Postgres may be a better option. Below are the steps I needed to get a Postgres server running on my laptop.&lt;br /&gt;&lt;br /&gt;1) Install the packages&lt;br /&gt;# sudo apt-get install postgresql postgresql-client pgadmin3&lt;br /&gt;&lt;br /&gt;This will install the latest versions, which for ubuntu 9.04 at this time is 8.3 if an older version installs then change the references to directories below as appropriate.&lt;br /&gt;&lt;br /&gt;2) Change the admin passwords&lt;br /&gt;&lt;br /&gt;# sudo -u postgres psql template1&lt;br /&gt;This will start up the command line admin tool and select the template1 db which seems to be where postgre stores user credentials&lt;br /&gt;&lt;br /&gt;# ALTER USER postgres WITH PASSWORD 'new password';&lt;br /&gt;and quit by typing \q&lt;br /&gt;&lt;br /&gt;3) Change the ubuntu postgres user password. This is a conveinence step as all the conf files are created with postgres user and group. You could add or edit them as root with sudo and then make sure they are all chown to postgres:postgres&lt;br /&gt;&lt;br /&gt;# sudo passwd -d postgres&lt;br /&gt;Will delete the current postgres password (needed otherwise you are asked for it in the next step)&lt;br /&gt;# sudo su postgres -c passwd&lt;br /&gt;Enter a new password. For simplicity use the same password as the admin user above, but can be anything so long as you remember it&lt;br /&gt;&lt;br /&gt;Restart the server with&lt;br /&gt;# sudo /etc/init.d/postgresql-8.3 restart&lt;br /&gt;&lt;br /&gt;You can now use the pgAdmin tool to connect to the DB&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-5851880164347203267?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/5851880164347203267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=5851880164347203267' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/5851880164347203267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/5851880164347203267'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2009/09/setting-up-postgressql-on-ubuntu.html' title='Setting up PostgresSQL on Ubuntu'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-1903072533853799538</id><published>2009-09-02T19:53:00.006+01:00</published><updated>2009-09-02T21:07:43.127+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='surgical training'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><title type='text'>Additions to the Surgical Tutorials</title><content type='html'>I have been making some additions to the Surgical Tutorials section of the website. Four topics added are:&lt;br /&gt;&lt;ul class="latestnewsS2"&gt;&lt;li class="latestnewsS2"&gt;   &lt;a href="http://www.surgeons.org.uk/general-surgery-tutorials/meckels-diverticulum.html" class="latestnewsS2"&gt;    Meckel's Diverticulum&lt;/a&gt;  &lt;/li&gt;&lt;li class="latestnewsS2"&gt;   &lt;a href="http://www.surgeons.org.uk/general-surgery-tutorials/bed-sores.html" class="latestnewsS2"&gt;    Bed Sores&lt;/a&gt;  &lt;/li&gt;&lt;li class="latestnewsS2"&gt;   &lt;a href="http://www.surgeons.org.uk/advanced-trauma-life-support/airway-and-ventilatory-management.html" class="latestnewsS2"&gt;    Airway and Ventilatory Management&lt;/a&gt;  &lt;/li&gt;&lt;li class="latestnewsS2"&gt;   &lt;a href="http://www.surgeons.org.uk/breast-surgery-and-endocrine/thyroid-malignancy.html" class="latestnewsS2"&gt;    Thyroid Malignancy&lt;/a&gt;  &lt;/li&gt;&lt;/ul&gt;The &lt;a href="http://www.surgeons.org.uk/advanced-trauma-life-support/airway-and-ventilatory-management.html" class="latestnewsS2"&gt;Airway and Ventilatory Management&lt;/a&gt; is part of a new ATLS notes section and hopefully the other tutorials will also provide for useful revision notes.&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-1903072533853799538?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/1903072533853799538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=1903072533853799538' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/1903072533853799538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/1903072533853799538'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2009/09/additions-to-surgical-tutorials.html' title='Additions to the Surgical Tutorials'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-1963674362891494388</id><published>2009-08-16T12:56:00.005+01:00</published><updated>2009-08-16T13:03:55.676+01:00</updated><title type='text'>EWTD 48 hour opt out survey</title><content type='html'>We have been running a short &lt;a href="http://surveys.surgeons.org.uk/index.php?sid=26372"&gt;EWTD survey&lt;/a&gt; on the &lt;a href="http://www.surgeons.org.uk/"&gt;Surgeons Net&lt;/a&gt; site about the 48 hour EWTD week and opting out. If you haven't completed the survey then please contribute. But do note that ASiT and BOTA are going to be conducting a more detailed, longer survey in September.&lt;br /&gt;&lt;br /&gt;If you are interested in the &lt;a href="http://surveys.surgeons.org.uk/results.php?sid=26372"&gt;results then they are available live on line too&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-1963674362891494388?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://surveys.surgeons.org.uk/index.php?sid=26372' title='EWTD 48 hour opt out survey'/><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/1963674362891494388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=1963674362891494388' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/1963674362891494388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/1963674362891494388'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2009/08/ewtd-48-hour-opt-out-survey.html' title='EWTD 48 hour opt out survey'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-5994494134104595367</id><published>2009-01-25T12:22:00.005Z</published><updated>2009-01-25T12:31:33.261Z</updated><title type='text'>Target Google AdSense even more by rating your content</title><content type='html'>&lt;span class="txtplain1"&gt;&lt;p&gt;There is a nice article on &lt;a href="http://tools.devshed.com/c/a/Website-Advertising/Get-More-Out-of-AdSense/"&gt;AdSense&lt;/a&gt; published recently on DevShed. For my own note I had no idea you could direct what content you wanted Google to concentrate on for displaying relevant ads.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Put the main content inside these comment tags&lt;/b&gt;:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="txtplain1"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&amp;lt;!-- google_ad_section_start --&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;span class="txtplain1"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&amp;lt;!-- google_ad_section_end --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span class="txtplain1"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;And things you want ignored inside:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="txtplain1"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&amp;lt;!-- google_ad_section_start(weight=ignore) --&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="txtplain1"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&amp;lt;!-- google_ad_section_end --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-5994494134104595367?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/5994494134104595367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=5994494134104595367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/5994494134104595367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/5994494134104595367'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2009/01/there-is-nice-article-on-adsense.html' title='Target Google AdSense even more by rating your content'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-7969699379756633174</id><published>2008-11-17T22:59:00.002Z</published><updated>2008-11-17T23:03:07.424Z</updated><title type='text'>Firefox 3 sesson restore</title><content type='html'>Not sure why but firefox seemed to lose it's session restore feature for me. Maybe something to do with having tab mix plus installed prior to the 2 -&gt; 3 upgrade.&lt;br /&gt;&lt;br /&gt;Anyhow here is how to restore session saving.&lt;br /&gt;&lt;br /&gt;Enter about:config in the address bar and say yes to the behave yourself warning!&lt;br /&gt;&lt;br /&gt;Search down for "browser.sessionstore.resume_session_once" and change the setting to true.&lt;br /&gt;&lt;br /&gt;and restart ...&lt;br /&gt;&lt;br /&gt;That's it.&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-7969699379756633174?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/7969699379756633174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=7969699379756633174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/7969699379756633174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/7969699379756633174'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/11/firefox-3-sesson-restore.html' title='Firefox 3 sesson restore'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-7994616242383176006</id><published>2008-06-04T13:49:00.001+01:00</published><updated>2008-06-04T13:56:32.541+01:00</updated><title type='text'>Clamav with Qmail-Scanner</title><content type='html'>Probably the best article on getting clamav to work with Qmail Scanner&lt;br /&gt;&lt;br /&gt;&lt;a href="http://qmail.jms1.net/clamav/qmail-scanner.shtml"&gt;http://qmail.jms1.net/clamav/qmail-scanner.shtml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-7994616242383176006?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/7994616242383176006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=7994616242383176006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/7994616242383176006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/7994616242383176006'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/06/clamav-with-qmail-scanner.html' title='Clamav with Qmail-Scanner'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-3161282695277474740</id><published>2008-06-02T08:54:00.002+01:00</published><updated>2008-06-02T08:58:55.182+01:00</updated><title type='text'>WEBSITES DOWN DUE TO FIRE AT SERVER HOST</title><content type='html'>Unfortunately there has been an fire at the main data center where our servers are hosted and hence the websites and email are down.&lt;br /&gt;&lt;br /&gt;The server company are expecting to starting bringing servers back online this evening, but it may be tomorrow morning before the network is fully restored.&lt;br /&gt;&lt;br /&gt;Thank you for your patience.&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-3161282695277474740?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/3161282695277474740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=3161282695277474740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/3161282695277474740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/3161282695277474740'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/06/websites-down-due-to-fire-at-server.html' title='WEBSITES DOWN DUE TO FIRE AT SERVER HOST'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-9078274850939772486</id><published>2008-04-26T20:21:00.000+01:00</published><updated>2008-04-26T20:22:06.328+01:00</updated><title type='text'>Just a reminder of a great x-platform SVN client</title><content type='html'>&lt;a href="http://rapidsvn.tigris.org/"&gt;http://rapidsvn.tigris.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-9078274850939772486?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/9078274850939772486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=9078274850939772486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/9078274850939772486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/9078274850939772486'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/04/just-reminder-of-great-x-platform-svn.html' title='Just a reminder of a great x-platform SVN client'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-3759114404926734146</id><published>2008-02-21T23:48:00.002Z</published><updated>2008-02-22T00:01:21.443Z</updated><title type='text'>Setting up a subversion server Redhat CentOS</title><content type='html'>First some useful reference links:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tgharold.com/techblog/labels/SubVersion.shtml"&gt;http://www.tgharold.com/techblog/labels/SubVersion.shtml&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.daniel-skinner.co.uk/setup-subversion-and-trac-on-centos-5/06/01/2008"&gt;http://www.daniel-skinner.co.uk/setup-subversion-and-trac-on-centos-5/06/01/2008&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.subversionary.org/howto/setting-up-a-server-on-fedora-core-4"&gt;http://www.subversionary.org/howto/setting-up-a-server-on-fedora-core-4&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-3759114404926734146?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/3759114404926734146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=3759114404926734146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/3759114404926734146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/3759114404926734146'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/02/setting-up-subversion-server-redhat.html' title='Setting up a subversion server Redhat CentOS'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-5493008635488166307</id><published>2008-02-17T20:03:00.002Z</published><updated>2008-02-17T20:06:31.153Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='permissions'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='plesk'/><title type='text'>A Script to do the plesk directory permisson setup</title><content type='html'>I have previously posted about changes to the plesk httpdocs directory to get it to work well with Joomla. This is a little bash script I knocked up to do the job. Just pass the username as param 1&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# First check that this is a valid username&lt;br /&gt;grep "^${1}:" /etc/passwd &gt; /dev/null 2&gt;&amp;1&lt;br /&gt;if [ "$?" -ne "0" ]; then&lt;br /&gt;  echo "Sorry, cannot find user ${1} in /etc/passwd or you didn't supply a username"&lt;br /&gt;  echo "Usage: ${0} &lt;username&gt;"&lt;br /&gt;&lt;br /&gt;  exit 1&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;userdir=`grep "^${1}:" /etc/passwd | cut -d: -f6`&lt;br /&gt;&lt;br /&gt;if [ -d ${userdir} ] ; then&lt;br /&gt; echo "Changing to directory ${userdir}"&lt;br /&gt; cd ${userdir} &amp;&amp; chown -R ${1}:psacln httpdocs &amp;&amp; chmod -R g+w httpdocs &amp;&amp; find httpdocs -type d -exec chmod g+s {} \; &amp;&amp; /etc/init.d/httpd reload&lt;br /&gt;fi&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-5493008635488166307?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/5493008635488166307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=5493008635488166307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/5493008635488166307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/5493008635488166307'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/02/script-to-do-plesk-directory-permisson_17.html' title='A Script to do the plesk directory permisson setup'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-3644490552852815581</id><published>2008-02-16T16:00:00.009Z</published><updated>2008-02-17T04:07:58.618Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='logwatch'/><category scheme='http://www.blogger.com/atom/ns#' term='plesk'/><category scheme='http://www.blogger.com/atom/ns#' term='virtual host'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Monitoring all apache virtual hosts on plesk with logwatch</title><content type='html'>The standard Plesk install has logwatch setup to just monitor the default httpd log, i.e /var/www/httpd/*&lt;br /&gt;&lt;br /&gt;This is miss most things as the log file output of all the virtual hosts are not parsed. So I made a little bash script to create a load of new logwatch conf files to parse all my virtual host logfiles too. You will need to run this script each time a new domain is created. A know there is a Plesk way to run custom scripts on events, but I'll leave that for another day.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## Script to create conf files and script links on a Plesk&lt;br /&gt;## server that monitor all the apache log files &lt;br /&gt;##&lt;br /&gt;## Visit blog.surgeons.org.uk for updates&lt;br /&gt;&lt;br /&gt;## Location of the virtual hosts directories&lt;br /&gt;vhost_root=/var/www/vhosts/&lt;br /&gt;&lt;br /&gt;## Various logwatch directories&lt;br /&gt;dir_services="/etc/logwatch/conf/services"&lt;br /&gt;dir_logfiles="/etc/logwatch/conf/logfiles"&lt;br /&gt;dir_scripts="/etc/logwatch/scripts/services"&lt;br /&gt;http_script="/usr/share/logwatch/scripts/services/http"&lt;br /&gt;&lt;br /&gt;## Now iter over each directory&lt;br /&gt;for domain in $( ls -Ichroot -Idefault $vhost_root ); do&lt;br /&gt;if [ -d "${vhost_root}${domain}" ]&lt;br /&gt;then&lt;br /&gt; echo "Making services logwatch enteries for ${domain}"&lt;br /&gt; domain_us=`echo $domain | tr . _`&lt;br /&gt; (&lt;br /&gt; cat &lt;&lt;-END_OF_SERVICES_CONF        &lt;br /&gt;&lt;br /&gt;###########################################################################&lt;br /&gt;# Configuration file for $domain http filter         &lt;br /&gt;# See blog.surgeons.org.uk for updates         ###########################################################################&lt;br /&gt;Title = "httpd - $domain"&lt;br /&gt;&lt;br /&gt;# Which logfile group...&lt;br /&gt;LogFile = http_$domain_us&lt;br /&gt;END_OF_SERVICES_CONF ) &gt; ${dir_services}/http_${domain_us}.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; echo "Making logfiles logwatch entries for ${domain}"&lt;br /&gt; (&lt;br /&gt; cat &lt;&lt;-END_OF_LOGFILES_CONF&lt;br /&gt;########################################################&lt;br /&gt;#   Define log file group for http_$domain_us&lt;br /&gt;#   See blog.surgeons.org.uk for updates&lt;br /&gt;#######################################################&lt;br /&gt;LogFile = /var/www/vhosts/$domain/statistics/logs/access_log&lt;br /&gt;LogFile = /var/www/vhosts/$domain/statistics/logs/access_log.processed&lt;br /&gt;LogFile = /var/www/vhosts/$domain/statistics/logs/access_ssl_log&lt;br /&gt;LogFile = /var/www/vhosts/$domain/statistics/logs/access_ssl_log.processed&lt;br /&gt;&lt;br /&gt;# If the archives are searched, here is one or more line&lt;br /&gt;# (optionally containing wildcards) that tell where they are...&lt;br /&gt;# If you use a "-" in naming add that as well -mgt&lt;br /&gt;&lt;br /&gt;Archive = /var/www/vhosts/$domain/statistics/logs/access_log.processed.?.gz&lt;br /&gt;Archive = /var/www/vhosts/$domain/statistics/logs/access_ssl__log.processed.?.gz         &lt;br /&gt;&lt;br /&gt;# Expand the repeats (actually just removes them now)&lt;br /&gt;*ExpandRepeats&lt;br /&gt;&lt;br /&gt;# Keep only the lines in the proper date range...&lt;br /&gt;*ApplyhttpDate&lt;br /&gt;END_OF_LOGFILES_CONF ) &gt; ${dir_logfiles}/http_${domain_us}.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;## Make the script links&lt;br /&gt;echo "Creating script link for ${domain}"&lt;br /&gt;ln -s ${http_script} ${dir_scripts}/http_${domain_us}&lt;br /&gt;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-3644490552852815581?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/3644490552852815581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=3644490552852815581' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/3644490552852815581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/3644490552852815581'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/02/monitoring-all-virtual-hosts-on-plesk.html' title='Monitoring all apache virtual hosts on plesk with logwatch'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-6680168380731211798</id><published>2008-02-15T15:57:00.001Z</published><updated>2008-02-15T15:59:41.147Z</updated><title type='text'>Suhosin PHP hardening</title><content type='html'>A PHP hardening (security patch) worth checking out&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hardened-php.net/suhosin/index.html"&gt;http://www.hardened-php.net/suhosin/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-6680168380731211798?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/6680168380731211798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=6680168380731211798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/6680168380731211798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/6680168380731211798'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/02/suhosin-php-hardening.html' title='Suhosin PHP hardening'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-5110893830286087626</id><published>2008-02-13T22:06:00.007Z</published><updated>2009-08-23T16:12:58.962+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server setup'/><category scheme='http://www.blogger.com/atom/ns#' term='mod_security'/><category scheme='http://www.blogger.com/atom/ns#' term='disable mod_security'/><title type='text'>Disabling mod_security 2 for individual directories</title><content type='html'>I ran into some trouble with mod_security falsely blocking my joomla administrator pages.&lt;br /&gt;&lt;br /&gt;The old method of disabling mod_security by placing a  SecFilterEngine Off SecFilterScanPOST Off in a .htaccess doesn't work anymore. This doesn't seem to be clear in the docs and I only found this info in a &lt;a href="http://article.gmane.org/gmane.comp.apache.mod-security.user/3065"&gt;mod-sec mailing post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So the rules now need to go directly into the apache conf files.&lt;br /&gt;&lt;br /&gt;I have most sites hosted on a plesk server. In plesk you can add to the virtual host config inside a vhost.conf file found in &lt;code&gt;"/var/www/vhosts/&amp;lt;domain.com&amp;gt;/conf/vhost.conf".&lt;/code&gt;&lt;br /&gt;Create or edit this file and enter:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;location "/" &amp;gt;&lt;br /&gt;SecRuleEngine Off&lt;br /&gt;&amp;lt;/location&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Apply the vhost changes if a new vhost file with:&lt;br /&gt;&lt;code&gt;/usr/local/psa/admin/bin/websrvmng -v -a&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And reload the httpd server with:&lt;br /&gt;&lt;code&gt;service httpd restart&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Better still disable specific rules with&lt;br /&gt;SecRuleRemoveById _rule_id_&lt;br /&gt;&lt;br /&gt;Instead of the sledgehammer SecRuleEngine Off&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-5110893830286087626?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/5110893830286087626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=5110893830286087626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/5110893830286087626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/5110893830286087626'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/02/disabling-modsecurity-2-for-individual.html' title='Disabling mod_security 2 for individual directories'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-5786052110855696309</id><published>2008-02-12T16:11:00.005Z</published><updated>2008-03-01T16:57:47.552Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='joomla'/><category scheme='http://www.blogger.com/atom/ns#' term='permissions'/><category scheme='http://www.blogger.com/atom/ns#' term='plesk'/><title type='text'>Joomla installation on Plesk server, getting permissions right</title><content type='html'>&lt;p&gt;Installing Joomla on a Plesk server has it's problems with permissions. I think this gives a nice solution. The original inspiration comes from the &lt;a href="http://rackerhacker.com/2007/05/20/joomla-and-plesk-permissions/"&gt;rackerhacker article&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The steps are:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Add the ‘apache’ user to the ‘psacln’ group by editing /etc/group&lt;br /&gt;&lt;br /&gt;i.e. &lt;code&gt;psacln:x:_hidden(dont actually change this field!)_:apache&lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Change the current directory permissions with:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;cd /home/httpd/vhosts/[domain.com]&lt;br /&gt;chown -R [username]:psacln httpdocs&lt;br /&gt;chmod -R g+w httpdocs&lt;br /&gt;find httpdocs -type d -exec chmod g+s {} \;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;This set the setuid bit on each of the directories&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Reload the apache settings with &lt;code&gt;/etc/init.d/httpd reload&lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;If you are using proftp to upload files or the new joomla 1.5 ftp layer then change the umask for proftpd by editing ‘/etc/proftpd.conf’ to read Umask   002&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Otherwise change the umask that php uses. The easiest, but I guess least elegant way is to add the line &lt;code&gt;&amp;lt;?php umask (0002); ?&amp;gt;&lt;/code&gt; to the top of the administrator template index.php file. In Joomla 1.5 this is &amp;quot;administrator/templates/khepri/index.php&amp;quot;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-5786052110855696309?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/5786052110855696309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=5786052110855696309' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/5786052110855696309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/5786052110855696309'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/02/joomla-installation-on-plesk-server.html' title='Joomla installation on Plesk server, getting permissions right'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-7286754932731076851</id><published>2008-02-04T17:04:00.000Z</published><updated>2008-02-04T17:26:36.845Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='usb modem'/><category scheme='http://www.blogger.com/atom/ns#' term='3g'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Three cheers for vodafone, 3G on linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_RnP1ofjJKm8/R6dJXTjy5nI/AAAAAAAAAAQ/FHjC7Qy3D_U/s1600-h/Screenshot-Vodafone+Mobile+Connect+Card+driver+for+Linux.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 265px; height: 230px;" src="http://bp0.blogger.com/_RnP1ofjJKm8/R6dJXTjy5nI/AAAAAAAAAAQ/FHjC7Qy3D_U/s320/Screenshot-Vodafone+Mobile+Connect+Card+driver+for+Linux.png" alt="" id="BLOGGER_PHOTO_ID_5163176162539791986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I have to say three cheers to vodafone. I have previously posted about not being able to use my 3G USB modem with Ubuntu. Well vodafone do offer a GUI that works under linux for connecting using their 3G USB modem.&lt;br /&gt;&lt;br /&gt;The file can be downloaded from &lt;a href="https://forge.vodafonebetavine.net/frs/?group_id=12&amp;amp;release_id=19"&gt;vodafone's open source development site&lt;/a&gt;&lt;br /&gt;Choose the .deb package for Ubuntu and it works like a dream!! The USB modem is automatically detected and all that is needed is the connection settings for the UK. So enter username=web, password=web and apn=internet&lt;br /&gt;&lt;br /&gt;Well done to vodafone.&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-7286754932731076851?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/7286754932731076851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=7286754932731076851' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/7286754932731076851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/7286754932731076851'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/02/three-cheers-for-vodafone.html' title='Three cheers for vodafone, 3G on linux'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_RnP1ofjJKm8/R6dJXTjy5nI/AAAAAAAAAAQ/FHjC7Qy3D_U/s72-c/Screenshot-Vodafone+Mobile+Connect+Card+driver+for+Linux.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-4996551828878764457</id><published>2008-01-24T20:18:00.000Z</published><updated>2008-02-04T15:51:28.433Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware tools'/><category scheme='http://www.blogger.com/atom/ns#' term='systray'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>Starting VM tools automatically and hiding to systray</title><content type='html'>This is nothing to do with surgery, but rather acting as an aide memoir for me:&lt;br /&gt;&lt;br /&gt;After installing vmware tools in a linux guest it is nice for the tool box to start automatically. The way to do this is to add vmware-toolbox to the start-up application list usually found under Program-&gt;Settings-&gt;Sessions.&lt;br /&gt;&lt;br /&gt;The command line is:&lt;br /&gt;        /usr/bin/vmware-toolbox --iconify&lt;br /&gt;or   /usr/bin/vmware-toolbox --minimize&lt;br /&gt;&lt;br /&gt;Note that the usage string for vmware-toolbox lists --inconify as the option which is spelt wrong and doesn't work.&lt;br /&gt;&lt;br /&gt;Better still the application can be minimized to the system tray using a little app called alltray. Alltray is in the universe repo for gutsy ubuntu and is installed with 'sudo apt-get install alltray' or go to http://alltray.sourceforge.net/&lt;br /&gt;&lt;br /&gt;Then modify the above to:&lt;br /&gt;    alltray /usr/bin/vmware-toolbox --iconify&lt;br /&gt;to get vmware-toolbox auto started and minimised to the systray.&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-4996551828878764457?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/4996551828878764457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=4996551828878764457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/4996551828878764457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/4996551828878764457'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/01/starting-vm-tools-automatically.html' title='Starting VM tools automatically and hiding to systray'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-613634569052618280</id><published>2008-01-08T16:31:00.000Z</published><updated>2008-02-04T16:57:50.477Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='3g'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu disappointment</title><content type='html'>Maybe the title is a bit strong, but the day count to requiring a windows boot is only 3. I use my laptop extensively away from home and so have one of those USB 3G modem things. I happen to be with vodafone but of course none of the mobile companies support linux for their 3G cards.&lt;br /&gt;&lt;br /&gt;There are a number of pages suggesting ways to get the modem to work using pppd as basically the USB modem is recognised as a serial modem once plugged in. But none of them seemed to work for me and it messed up my normal networking. So it's back to windows when out and about ...&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-613634569052618280?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/613634569052618280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=613634569052618280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/613634569052618280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/613634569052618280'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/01/ubuntu-disappointment.html' title='Ubuntu disappointment'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-8315165510855198728</id><published>2008-01-05T22:06:00.000Z</published><updated>2008-02-04T16:57:32.318Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='migration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>My Ubuntu Experiment</title><content type='html'>Over the years I have attempted to move from a windows based system to a linux based. I have always used linux based servers, which gave fantastic reliability and one had an uptime of over 400 days. You try keeping a windows system up for that length of time without a reboot! But, and here is the big but, linux desktops have never been as easy to use or as reliable. I think that is until now.&lt;br /&gt;&lt;br /&gt;Ubuntu claims to bring linux to the masses. I am not shy of compiling my own kernel / drivers or apps, but on my desktop system I would like things to just work. So when I buy a new printer and plug it in I don't need to spend hours searching for a driver and then spend hours installing it. I have tried Ubuntu in the past but the latest version has an impressive hardware compatibility list. So here goes ...&lt;br /&gt;&lt;br /&gt;I am trying Ubuntu out on my sony vaio VGN-SZ1HP laptop. It has a 80GB drive and I have upgraded to 1.5Gb RAM. I am using a 7Gb partition to install Ubuntu on to. Yeap you read that right. On my XP drive the c:\Windows folder alone takes up 9.2Gb. The install is pretty straight forward and most of my hardware is recognised straight out of the box. This includes my wireless card which manged to find my home network without trouble. Ubuntu &gt;7.04 includes the ipw3945 wireless card driver and so auto configures for this card. Hotkeys such as brightness / volume and mute work.&lt;br /&gt;&lt;br /&gt;The webcam requires an additional driver which at present I can't find.&lt;br /&gt;&lt;br /&gt;It comes with &lt;a href="http://www.openoffice.org"&gt;openoffice&lt;/a&gt; installed as standard. Which is a free to use office suite from Sun Microsystems. This allows me to open all my old word / excel and powerpoint files. And having installed the NTFS drivers I can access my windows data drive partition from Ubuntu. So no problems there.&lt;br /&gt;&lt;br /&gt;Printer was the next thing. I have a HPC6180 All-in-one. CUPS comes with the "HP PhotoSmart C6100 Foomatic/hpijs (recommended)" printer driver which works just fine with this printer. Tried printing from OpenOffice Writer and printing a full colour photo from GIMP - no problems.&lt;br /&gt;&lt;br /&gt;Scanner from the printer required installation of Xsane and this scans just fine too.&lt;br /&gt;&lt;br /&gt;So far so good...&lt;br /&gt;&lt;br /&gt;At this point I thought I would play a DVD in the background whilst doing mundane tasks like securing the install and tweaking the firewall. I suppose all the good stuff had to end somewhere. Unfortunately, DVDs are scrambled and in theory only authorised persons can descramble them. This means Ubuntu can not include the drivers to decode commercial DVDs. A quick google search suggests  that it is not necessarily an easy fix, so I'll leave that one for the mo.&lt;br /&gt;&lt;br /&gt;At present I can't get hibernate to work either, so you'll hear about those when I have them figured out.&lt;br /&gt;&lt;br /&gt;I am starting a count of the days until I have to boot up the windows partition again and I'll keep you posted ...&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-8315165510855198728?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/8315165510855198728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=8315165510855198728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/8315165510855198728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/8315165510855198728'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2008/01/my-ubuntu-experiment.html' title='My Ubuntu Experiment'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-6131493754317771768</id><published>2007-10-02T22:38:00.000+01:00</published><updated>2007-10-02T22:40:32.564+01:00</updated><title type='text'>RCSI Dublin Research Position</title><content type='html'>A position has become available at the National Surgical Training Centre, RCSI, Dublin for a research fellow. Broadly speaking, the research project is about the application of virtual reality simulation to surgical training. &lt;p&gt;  &lt;/p&gt; &lt;p&gt;This research is with a view to earning an MD degree. It would be ideal for a trainee awaiting a HST position in general surgery.&lt;/p&gt;&lt;a href="http://www.surgeons.org.uk/latest-news/rcsi-dublin-research-position.html?Itemid=2"&gt;Read the full job specification&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-6131493754317771768?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/6131493754317771768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=6131493754317771768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/6131493754317771768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/6131493754317771768'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2007/10/rcsi-dublin-research-position.html' title='RCSI Dublin Research Position'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4775033873078313696.post-2731340681750964547</id><published>2007-09-04T19:27:00.000+01:00</published><updated>2007-09-04T19:35:48.563+01:00</updated><title type='text'>Best Evidence</title><content type='html'>The first in a series of articles describing the best evidence around for various medical treatment options.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.surgeons.org.uk/best-evidence/index.html?Itemid=74"&gt;Best Evidence at Surgeons Net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;--
Surgeons Net Education
&lt;a href="http://www.surgeons.org.uk"&gt;www.surgeons.org.uk&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4775033873078313696-2731340681750964547?l=blog.surgeons.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.surgeons.org.uk/feeds/2731340681750964547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4775033873078313696&amp;postID=2731340681750964547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/2731340681750964547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4775033873078313696/posts/default/2731340681750964547'/><link rel='alternate' type='text/html' href='http://blog.surgeons.org.uk/2007/09/best-evidence.html' title='Best Evidence'/><author><name>Neville Dastur</name><uri>http://www.blogger.com/profile/07022115399830745976</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01927309863501400538'/></author><thr:total>0</thr:total></entry></feed>