Other sites.

I’ve done a few websites over the past few years. Some are coded from scratch but more recently, I’ve focused on drupal and even wordpress as they’ve catered for peoples needs.

Here are a few of the sites you can have a look at:

I’ve also done work such as adding the podcast feature to the website for Stuart Lawler and I’ve written a CMS to make it easier for the folks over at National Vibration Monitoring.

That’s not an exaustive list, but it’s a few to get started.

I cant go anywhere can I?

A picture of me playing the pipes on a small stage.

The words used were: and I quote, “Don’t come unless your bringing your pipes.”. So… I did.

You were expecting a big story about the weekend weren’t you? Ha! tuff!

Jaws freezes while installing Exchange 2010 over RDP in Windows 2008 R2.

Greetings,

While installing Exchange 2010 on a Windows 2008 R2 X64 server over a remote desktop session, Jaws freezes after the first screen of the Wizzard.

No speech is heard.
The keyboard becomes unresponsive as it is like the alt key is continually pressed. this seems to relate to a previous bug that I reported in that regard.

I enlisted the assistance of someone wh can see to close Jaws however the alt key acted like it was still stuck until the jfw.exe process was stopped via the task manager.

All other applications behave correctly via mouse control when Jaws causes this issue.

Note, the wizzard for the installation of Exchange 2010 is not unlike the wizzard used for 2007. this issue can not be reproduced during the earlier version of Exchange.

The client is running Windows 7 X64.

All windows patches are applied.

The version of Jaws in use on both machines is the most recent available from the Freedomscientific web site.

I look forward to your response in relation to this.

Darragh Ó Héiligh

Setting up a new web server. Debian, Courier, Postfix, Apache2, PHP5, Proftp and ISPConfig.

This is not edited but the commands have been checked for validity and correctness. Obviously, I cant say for definit it will work on your system. It is meant more as a guide line than an instructional step by step process.

Prepare the package manager and update it’s list of available packages and updates:

apt-get update

If like me, you used the cd with the web installer type facility where only a small CD image is used and the installation pulls the remaining files from the

Debian servers, you probably don’t need this step. But, if your using a full CD image that’s over 600 megs or a DVD then this is definitly a crucial step.

apt-get upgrade

This isn’t a complete list of applications you will need. In fact, some, in the case of nano for example won’t be required by you at all. Nano is strangely

my editor of choice when working in the CLI in Linux.

apt-get install mysql-server mysql-client libmysqlclient15-dev phpmyadmin lynx nano icecast2 squirrelmail ssh binutils cpp fetchmail flex gcc libarchive-

zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev m4 make ncftp nmap openssl postfix libsasl2-2 sasl2-bin libsasl2-modules libdb4.2-dev procmail

db4.6-util libsasl2-modules postfix sasl2-bin courier-authdaemon courier-base courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-ssl gamin

libgamin0 libglib2.0-0 php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc

php5-xsl libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap proftpd ucf webalizer ntp ntpdate

libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl fail2ban build-essential libtool flex

If you are planning on accessing your server remotely through SSH. you will need to start the service:

/etc/init.d/ssh start

Now, if your like me, and you are using this machine as a server, you will want to set a static IP. Interestingly, the information provided to

/etc/resolv.conf remains even when not using DHCP but obviously, if you didn’t have DHCP to begin with, this is something you would need to edit also. Note

too that you supplied the hostname and the domain search suffix during installation so you don’t really need to edit /etc/hosts

nano /etc/network/interfaces

remove the last line for the eth0 interface. This usually refers to dynamic addressing. Paste the following lines replacing the addresses with the scheme you

use.

auto eth0
iface eth0 inet static
address 192.168.1.101
gateway 192.168.1.100
netmask 255.255.255.0
network 192.168.21.0
broadcast 192.168.1.255

Above, we installed postfix. Now lets configure it. Follow the wizzard that appears:

dpkg-reconfigure postfix

postconf -e ‘smtpd_sasl_local_domain =’
postconf -e ‘smtpd_sasl_auth_enable = yes’
postconf -e ‘smtpd_sasl_security_options = noanonymous’
postconf -e ‘broken_sasl_auth_clients = yes’
postconf -e ‘smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination’
postconf -e ‘inet_interfaces = all’

Now, create the certificates for TLS.

mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

postconf -e ‘smtp_use_tls = yes’
postconf -e ‘smtpd_use_tls = yes’
postconf -e ‘smtp_tls_note_starttls_offer = yes’
postconf -e ‘smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’
postconf -e ‘smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’
postconf -e ‘smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’
postconf -e ‘smtpd_tls_loglevel = 1’
postconf -e ‘smtpd_tls_received_header = yes’
postconf -e ‘smtpd_tls_session_cache_timeout = 3600s’
postconf -e ‘tls_random_source = dev:/dev/urandom’
postconf -e ‘myhostname = server1.example.com’
,/blockquote>
Restart postfix

/etc/init.d/postfix restart

mkdir -p /var/spool/postfix/var/run/saslauthd

Activate or enable SASL Auth by doing the following:

nano /etc/default/saslauthd

In this file, change start to yes and replace the line beginning with options with the following. For me, the options line was at the end of the file.

OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd -r”

Now start the service.

/etc/init.d/saslauthd start

Now edit /etc/apache2/mods-available/dir.conf

nano /etc/apache2/mods-available/dir.conf

Replace the directory index line with the following:

DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

Edit /etc/apache2/ports.conf and add Listen 443:

nano /etc/apache2/ports.conf

add Listen 443 right below the line for Listen 80.
Now, enabled the required Apache2 modules:

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

Reload the Apache2 configuration:

/etc/init.d/apache2 force-reload

nano /etc/mime.types

Comment out the following lines by placing the # sign at the start.

#application/x-httpd-php phtml pht php
#application/x-httpd-php-source phps
#application/x-httpd-php3 php3
#application/x-httpd-php3-preprocessed php3p
#application/x-httpd-php4 php4

there’s more editing to do.

/etc/apache2/mods-enabled/php5.conf

nano /etc/apache2/mods-enabled/php5.conf

Comment out the two lines as shown below:

# AddType application/x-httpd-php .php .phtml .php3
# AddType application/x-httpd-php-source .phps

Now restart Apache.

/etc/init.d/apache2 restart

Turn off IPV6 in proftp or you’ll get errors:

nano /etc/proftpd/proftpd.conf

UseIPv6 off

ISP expects the config to be somewhere else for proftp so run the following command to create a link to it:

ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf

Now start the FTP server:

/etc/init.d/proftpd restart

Run the following commands if you will have the need to run services in a chroot environment.

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
tar xvfz jailkit-2.5.tar.gz
cd jailkit-2.5
./configure
make
make install
cd ..
rm -rf jailkit-2.5*

Not sure if I’ve covered these already. These packages handle antivirus and antispam.

apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-

perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

Now for the final part of the installation, download and install ISPConfig:

cd /tmp
wget http://sourceforge.net/projects/ispconfig/files/ISPConfig%203/ISPConfig-3.0.2.1/ISPConfig-3.0.2.1.tar.gz/download
cd ispconfig3_install/install/
php -q install.php

Answer the questions provided.

Note, if you have problems with port 443 and 8080, remove the listen line that I wrote about earlier in the ports file for apache2.

Using the Cain and the KSonar in different hands.

I’ve a new technique for using the Cain and the KSonar.

First, let me explain what both are to those of you who don’t know.

A Cain is a mobility aid used by people who are blind or who have very low vision. It is an obstacle detector. A user holds the Cain in front of them with the tip touching the ground. As the person walks the Cain is moved from side to side. When their left foot goes forward, the Cain is moved to the right about four to five inches past their right side. When they put their right foot forward, the Cain scans across to the left again passing about four to five inches past their left side. The Cain is usually long enough to reach the users chest bone so that there is enough length to scan in front of the user and give them time to react to obstacles in front of them without being too long as to cause it to be a hindrance to other pedestrians. There are two main forms of Cain technique. Rolling and tapping. There are benefits to each that I won’t go into right now. My preferred method is rolling. Each method requires a different tip to be used at the bottom of the Cain.

A KSonar operates on a similar principle to that of the Cain in that is an obstacle detector. However, instead of actually touching the obstacle, the KSonar alerts the user to its presents via audio. The KSonar uses Ultra sonic to determine the distance between it and an object. Its advantage over other electronic mobility aids of this type is it provides more information than just proximity. It can give you auditory clues as to what the object is. Railings sound different compared to a brick wall. People sound different to cars etc. It has two scanning options. One scans a metre and a half away and the other scans a smaller distance of a half a meter. While using the short range scan, it is easier to determine exactly where the obstacle is.

The KSonar has a moulded body that is designed to fit nicely onto the grip of a Cain however with over a year experience using this device; I find that this is totally unsuitable. The area I scan with the Cain is different to that I generally want to scan with the KSonar. Also, when using a roller tip on the Cain it gets stuck in cracks in foot paths. This is a standard issue with Cain usage but it is a major problem when using the KSonar grip instead of gripping the Cain directly as the KSonar gets loose after some time.

My preferred method of walking around with a Cain and the KSonar is to hold each in a different hand. Walking with the Cain in my right hand, I hold the KSonar with my left. I use the Cain as per the description above and I reverse the scan of the KSonar so that when my right foot goes forward and the Cain scans left, the KSonar is scanning off to my right side about a foot and a half. Same if my left foot goes forward. The Cain scans to my right and the KSonar scans way off to my left about a foot and a half the other direction.

This hugely increases my efficiency while using the Cain. I don’t need to physically touch the wall or railing that I’m following. I can touch it using the ultra sonic used by the KSonar. Once the tone on that side remains constant, I know I’m continuing in a straight line. I scan in the same way I’d scan using a Cain so I can still get feedback of what is around me before I get to it with the Cain. This means that the Cain is working normally but I’m only really using it to scan the surface I’m walking on to make sure I can find steps and uneven paths. The KSonar is actually doing all the obstacle avoidance. This takes an enormous amount of concentration but it’s worth it in my opinion. While walking past the wall of Trinity College for example, there are always people waiting on busses. It’s hard to follow this wall with a Cain or even the KSonar but by angling the KSonar up a little, I’ve found I can follow the railing over people’s heads. I can also continue walking in the centre of the path and with a quick scan to my other side, I can watch out for poles etc too. Of course, if the KSonar misses something. Or, rather, if I miss something with the KSonar, the Cain will find it before I do. Hopefully anyway. The thing I find with the Cain is I can use it on auto pilot when using the KSonar to do most of the work. It’s only when the surface changes or I find a step or even if I’m looking for a change in the surface that my mind focuses on it.

I’ve heard people saying that the KSonar is a distraction and it doesn’t provide enough feedback to alert you to oncoming obstacles but I disagree. With the right kind of ear phones, some willingness to learn how to use it correctly, the patients to walk into a few things at the start you’ll find it’s a fantastic aid to your mobility.

I’m not trying to promote the KSonar. I’m just talking rubbish to let you know how I’m getting around at the moment. It’s a big difference going from a guide dog to a Cain. I miss the fluidity of being guided by a dog. There are no straight lines when using a Cain. You always really need to follow something unless you know the area particularly well. The KSonar has given me back some of this fluidity so I’m quite happy.

Opening UDP ports 10001 to 20000 for Sip and / or Trixbox in RRAS under Windows.

When using Routing and Remote Access Services in Windows 2003 or 2008, it is not possible to specify a range of ports to open in the GUI. Therefore, you will need to use NetSH through the console instead.

This however is actually easier than you might think. Obviously, specify your own network interface and internal IP while doing this.

FOR /L %I IN (10001,1,20000) DO netsh routing ip nat add portmapping “Local Area Connection 2” udp 0.0.0.0 %I 192.168.2.248 %I

I hope that makes sense.

Shout if you have any questions.

Thanks Freddie

My guide dog Freddie: 10th June 2000 to 15th august 2012. RIP.

I can’t explain how utterly upsetting it is to write this. Today, while I rubbed Freddie’s ear, we put him to sleep. I don’t think it’s really hit me yet. I wanted to write sooner rather than later because it’s very important to me that I say thank you. Thank you to everyone who commented on this post. Thank you to Freddie’s puppy walker. Thanks to Irish guide dogs for giving me a guide dog that is simply one of a kind. Thank you most of all to the family who took him during his retirement. I know it only lasted two years but wow he had an amazing two years. I seriously can’t express enough how grateful I am for the way they treated Freddie. It was actually my father who really confirmed it last week when he got to see Freddie for the first time in his new home. He said that the best decision I could have made was sending him to that particular family. It is simply amazing how much they cared for him. I could never have asked for anything more. The more I visited Freddie the more I noticed their attachment grow.

For me, and I know for everyone with a guide dog, one of the hardest things is that day when you hand over the dog. It’s not like turning off a light switch. You have taken care of the dog and equally, the dog has taken care of you. That bond isn’t one that’s easily broken. That was actually very evident tonight. Even though Freddie could hardly move, he still found the energy to look up at me for assurance when the vet was shaving his paw. When Mark told me, in a funny way I knew that I was meant to be there. Not being there for the end would have been simply wrong.

That’s really the only reason I wanted to write. I just wanted to thank everyone. I am finding it a great comfort to recognise that Freddie has been incredibly lucky. Just think about it. He had a brilliant puppy walker, Ok, he had to put up with me but still, he travelled a lot and experienced a lot more than any other dog I have encountered. Then to top it all off, he lived with a fantastic family in a lovely area. I couldn’t ask for any more. When it was his turn to move on, he did it just like he did everything else in life. With speed. Within a very short space of time he rapidly declined. I think that’s much better than a prolonged illness. It meant that up to two weeks ago, he still had his normal character.

Origional blog post written on the day of his retirement.

This shows Freddie walking through a shallow stream. As he’s walking, he’s licking his nose.  Very attractive!
No blog post could do this topic Justice. Not even a novel could really come close to explaining all the ways that the past seven years have changed everything.

I’m also no different to the thousands of people who have gone through this process. Thousands of people who could probably express the significance of this much better than I ever could or will.

This post is a thank you. It’s a feeble attempt at gratitude and recognition for over seven years of constant service, companionship, trust and loyalty. It’s an impossible task. How can you begin to show this level of gratitude to a creature that doesn’t understand? I’m not writing this for you, the reader, I’m probably writing it more for me. This day marks a change that I knew was coming for a long time. It’s actually a welcome change. He’s done his job. He’s probably done more work than most guide dogs ever will. We’ve lived in Dublin, Drogheda, Dundalk, Limerick and Balbriggan. At one stage, we were changing apartments every six months. When Irish guide dogs for the blind said it wasn’t good for the dog, I was worried but he impressed me by taking it all in his stride. That has been the one defining characteristic of Freddie since I got him. Things that I and others thought he’d never do were things that he excelled at. He’s commuted to Dublin from Monday to Friday for many of these seven years. Again, working through rush hour commuter times he’s amazed people at his relaxed nature while navigating through dense crowds that would pose a challenge even for sighted people. The dog has the most incredible memory. Long time readers of this blog may remember a time four years ago where he guided me from college green through Trinity college to pearse station. I had never been that way before, but while I was out of the country, Emma took him for a walk through Trinity once. He is the kind of dog that remembers a route after doing it once. He was also the kind of dog that allowed rules to be broken but would make sure I stuck to them rigidly if I got a bit too reckless. Emma laughed when she began to get to know him as she noticed that if it seemed that I wanted to cross a road without stopping for an adequate period of time Freddie would curve his body around me so that I wouldn’t walk any further.

Freddie has a very unique personality. While working, his personality changes even more. While at home, he’s sneaky. He’ll decide that he wants to spy on you and the door of the room your in will open just a fraction so he can stick his nose through for a quick look. He wants to be part of everything. It doesn’t matter if I’m working on a computer, watching the television or playing music. He always wants to be right beside the action. If he gets board though he’s quite content to make himself known. If that fails, he’ll skulk back off to bed waiting for the next interesting thing to happen. Funnily, if you tell him to do something he doesn’t want to do, you’re likely to get sneezed at or a loud sigh. Every action starts with a standard sequence. He gets up, stretches, shakes, and sneezes and then he’s ready to go. While working, he’s equally unique. He pulls left all the time no matter where he’s going. If he’s board, he’ll take a look around as he’s walking but he always keeps one eye on where he’s going. He’s always been very happy to work and in fact, I know no other guide dog that actually walks into his own harness. He knows his way around Cork, Galway, Dublin, Drogheda, and Limerick, Dublin airport, Dundalk, Carlow, Kildare and even parts of London. His confidence never seems to dip. He always seems to have a very clear idea of where he’s going. Even when it’s somewhere he’s never been before he thinks he knows best. Actually, in his defence, he usually does know best and it’s a regular comment from friends that I should just shut up and let him do the thinking because when I second guess him I’m usually wrong.

A picture of Freddie guiding me down a quiet road with a grass verge and large trees on each side.
His retirement from work is something that has been on the cards for a long time. I’ve never really felt sad or sorry about this. I am delighted that he’s had such an active and varied life up until now and because he’s worked so much, I can think of no better reward for him now than enjoying his retirement in a home that is going to treat him like the amazing animal he is. Of course, I’ll miss him. Both as a companion and as a mobility aid but I can honestly say, this is overshadowed by the relief that he is going to enjoy himself.

It’s true what they say. A guide dog is always more than a mobility aid. I think it will be strange for people who are not blind to read that for me, he was actually best at being a conversation starter. In college, I had a great circle of friends. I enjoyed myself a lot! For the first two years though that circle of friends stayed quite static. When I got Freddie, people that I’d never even heard of approached me. When you are blind, or indeed, if you have any kind of disability at all, it can be difficult for people to approach you. Having a dog really breaks down that barrier. Within weeks, my social life had changed. I suppose, I was a little bit more independent and confident and that really helped me take more risks and having the dog with me was something very different. Even people who didn’t like dogs warmed to Freddie. The place that I work in at the moment is a perfect example. The person who complained about having a dog in the office actually petted Freddie within six months of me starting. She was terrified! She had nothing but bad experiences with dogs and she couldn’t stand the thoughts of working in the same room as a dog. I myself was not a dog person. In fact, when I got Freddie first, I was afraid of rubbing his head because it was too near to his mouth for my liking. But he seems to have a way of completely eliminating those fears and inhibitions.

I want to try to cover all the benefits he’s provided but I can’t. It would take too long.

If you have a dog half as good as Freddie has been for me, you’re incredibly lucky. People have said, and I believe them, I will never get a dog that is as suited as Freddie is to me ever again. Freddie is outstanding.

The past seven years have been the most rewarding of my life. I finished college without having to repeat even one exam. I worked in companies that were the worst and the best in the world. I made friends, travelled the country and the world and took pleasure in travelling to areas in the country that would have ordinarily been inaccessible while using the Cain.

As I write this, Freddie is sitting under my seat on the train. We’re on the way back from a weekend in Galway. He had a fantastic time and it was really nice to spend the last weekend with him doing what he loved doing most. Guiding me around areas that he’d never seen before. Showing me he was right and I was wrong. In his little head, he took great satisfaction when proving me wrong.

Now, jumping eight hours ahead, I’m sitting at home. Its 9PM. Freddie was left at his new home and at 5:45PM today, we drove away with one less member of our family in the car. The home he’s gone to is fantastic. They have two young kids and a four year old dog. There in the countryside and they have plenty of land around them. It’s the kind of place I always hoped he’d retire to. No city streets, no busy roads and no built up areas. He’s got independents, people to keep him company, a dog to play with and no more work. I know he’s going to be very happy there.

The wife of my friend commented that I was very brave in the way I was handling it all. People have said that I’ll really miss him when he’s gone. I really wanted to make sure I was happy when I was leaving him there. Dogs are very perceptive of the mood of those around them. I wouldn’t want him to be down because I was feeling sorry for myself. I kept my head up, convinced the family they were going to do a great job, ran them through the likes and dislikes of the dog and tried to act as normal as I could.

My false face lasted until I got home but putting his collar and harness away was when it hit me. He’s gone. The dog that devoted seven and a half years of his life to my mobility is no longer with me. Gone are the days of him sneaking up on me while I’m sitting on a chair to give me his head for a rub. Gone are the days of him dropping his toy on my knee so I can play with him, gone are the days of him racing to the car before I get there so I could let him in. Gone are the days where he’d sneak into my computer room and quietly lie beside my chair without me noticing. Gone are the days of simply relaxing while walking around and through crowds at rush hour times. Gone is the silly dog that liked taking the long way around an obstacle just to show that he was working well. Gone is the Freddie that took corners so fast it could make your head spin. Gone is the Freddie that loved to keep up with my speed. Gone is the Freddie that could wait for me to do a job for hours on end but would just as happily work for the entire day walking around the most difficult of environments. Gone is the Freddie Era.

There’s nothing more I can say really.

I hope you’ve met Freddie. If you have, you’ll know everything I can’t explain. If you’ve never met him, you’ve missed out. He was one of a kind.

Thanks. I can only hope you now get the life you deserve.

A picture of our family. Emma, Freddie and me.

Raise the functional level of the domain and the forest.

Of course, there’s always something that you overlook isn’t there?

in Active directory users and computers, right click the domain and hit raise domain functional level.

Now go into Active directory forests and trusts. Right click the branch above the domain and click raise forest functional level.

That’s all there is to it.

Of course, you’ll need to confirm the version but it’s simple enough.

Exchange SP2 isn’t deployed through Windows updates.

I know I know I know I know. I would have determined this if I had bothered to do some reading before diving head long into it. but look, I just couldn’t have been bothered at the time. I was consintrating on other things. And, yes. I know. that’s not the way I should do things but give me a break!

So. to get Exchange sP2, you need to download it separately from the Microsoft website. I’m not going to give the link. Google it.

When you download it, the extract process will run and dump a folder in the same path as the executable file that you’ve just downloaded by default. From here, go to setup then update.exe.

The destination address can not be the same as the gateway in Windows SBS 2008 resolved.

When migrating from Windows SBS 2003 to Windows SBS 2008, you may find the same problem I encountered this morning if your using (Routing and Remotte access Services (RRAS) on your old Windows SBS 2003 server.

It will complain that your destination server IP cannot be the same as your Gateway server address during the installation of Windows SBS 20008.

to fix this:

  1. Go to start then run and type
    control netconnections
  2. Right-click on the local area network connection you use for the internal LAN.
  3. Click properties.
  4. Click Internet Protocol TCPIP then click properties.
  5. Click advanced.
  6. Under IP addresses, click add.
  7. Type your new IP and subnet

This isn’t enough.
You could in theory specify to the installation of SBS 2008 that it should now use the updated server IP that you’ve just added so that you don’t have to go changing your RRAS config but unfortunately the wizzard will complain that your domain cannot be contacted.

So, you’ll need to update RRAS to use the new IP and then specify this IP as the gateway in the setup wizzard.

It’s fun isn’t it?