Technology

System statistics at a glance.

It's important to see how servers are doing regularly to enable you to to take a proactive approach to resolving problems.

But, when your using a Linux server with no GUI, it can be easy to become complacent. After all, they so rairly go down and it can take time to type all the commands required to get the information you need.

That's where Bash scripting comes in. Creating a script to provide you with memory, CPU, disk and bandwidth usage is very useful. Having this available to you on a day to day basis is even better again.

I've been looking for something that would give me a tailored report of what's happening on a server that I run but nothing gave me what I needed. Everything was either too complicated, too process intensive, too graphical or had too many dependencies. So, after looking around for a while, I decided that it would take less time to throw something together my self.

As I say with all these scripts. This is only one way of doing things. It's not necessarily the best way, but it works none the less.

The first script obtains all the information I need and simply writes it to a text file. This can be sent by email or just stored somewhere for analysis.

#!/bin/bash
logfile=/YourDirectory/output.log
echo Logged in users: >> $logfile
w >> $logfile
echo >> $logfile
echo Processor stats: >> $logfile
mpstat >> $logfile
echo >> $logfile
echo Virtual memory stats: >> $logfile
vmstat >> $logfile
echo >> $logfile
echo Top twenty memory hog applications: >> $logfile
ps -A -o pid,pcpu,pmem,start_time,state,time,comm | perl -e '($_ = join "",<>) =~ s/(\t)/ /g; print;' |sort -g -k 3 -r | head -20 >> logfile
echo >> $logfile
echo Top twenty CPU hogging applications: >> $logfile
ps -A -o pid,pcpu,pmem,start_time,state,time,comm | perl -e '($_ = join "",<>) =~ s/(\t)/ /g; print;' | sort -g -k 2 -r | head -10 >> $logfile
echo >> $logfile
echo Free memory: >> $logfile
free -m >> $logfile
echo >> $logfile
echo Processor information: >> $logfile
procinfo >> $logfile
echo >> $logfile
echo Established connections: >> $logfile
netstat -na |grep -i esta |grep -v 127.0.0.1 |sort -n -t. -k2 >> $logfile

This next script though is where it gets interesting. I've created a virtual host and all the files are written to a it's directory. There's an index and a separate html file for each day of the week. When the script is called, it populates the html file for the day with the data I want and it adds a line to the index to point to the new file that has just been created. So, instead of getting email every day from a server that is ordinarily very reliable, Touch Wood, I can visit this page every so often to check that everything is ok.

You'll notice that in this script, I've also included checks for mail, Apache2, MySQL and Icecast errors as these are the most important services running on this server.

#!/bin/bash
logfile=/YourDirectory/logs/$(date +%Y%m%d).html
WHO=`w`
MPSTAT=`mpstat`
VMSTAT=`vmstat`
PS_MEM=`ps -A -o pid,pcpu,pmem,start_time,state,time,comm | perl -e '($_ = join "",<>) =~ s/(\t)/ /g; print;' |sort -g -k 3 -r | head -20`
PS_CPU=`ps -A -o pid,pcpu,pmem,start_time,state,time,comm | perl -e '($_ = join "",<>) =~ s/(\t)/ /g; print;' | sort -g -k 2 -r | head -10`
FREE=`free -m`
PROCINFO=`procinfo`
NETSTAT=`netstat -na |grep -i esta |grep -v 127.0.0.1 |sort -n -t. -k2`
APACHE2LOGS=`tail /var/log/apache2/error.log`
MYSQLLOGS=`tail /var/log/mysql.err`
MAILLOGS=`tail /var/log/mail.err`
ICECASTLOGS=`tail /var/log/icecast2/error.log`
cat <<- _EOF_ > $logfile

Server stats

Server statistics for $HOSTNAME

Updated on $(date +"%x %r %Z") by $USER

Logged in users:

$WHO

Processor stats:

$MPSTAT

Virtual memory stats:

$VMSTAT

Top twenty memory hog applications:

$PS_MEM

Top twenty CPU hogging applications:

$PS_CPU

Free memory:

$FREE

Processor information:

$PROCINFO

Established connections:

$NETSTAT

Errors

In the mail logs:

$MAILLOGS

MySQL logs

$MYSQLLOGS

Apache2 logs

$APACHE2LOGS

Icecast2 logs

$ICECASTLOGS

Return to the index


_EOF_
echo "$(date +%Y%m%d)" >> /YourDirectory/logs/index.html

Internet connectivity problems for the past four weeks.

I really must write about this in more detail.

I have mentioned it once or twice before on the blog. The last time, I thought I had fixed it by changing the DNS. I've however since reversed these changes as they did not make a lasting difference.

Really simply, and without going too much into it right now, I can access Irish websites but I cannot access websites in other countries. Hence, I can write to this blog but I cant access twitter.com at the moment.

I want to see what the difference is between a tracert on this connection and the tracert on another vodafone connection. I know their not static routes but still, it will be interesting to see what the difference is.

Here is the output of the tracert on my machine.

Tracing route to twitter.com [128.121.146.228]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.2.1
2 33 ms 33 ms 33 ms 89.19.64.2
3 34 ms 35 ms 37 ms 89.19.64.73
4 35 ms 36 ms 37 ms 213.233.129.93
5 138 ms 107 ms 108 ms 193.95.147.61
6 53 ms 51 ms 52 ms vlan72.rt001.cwt.esat.net [193.95.130.209]
7 51 ms 52 ms 50 ms ge3-0.br003.cwt.esat.net [193.95.129.6]
8 54 ms 54 ms 55 ms xe-0-1-0-104.dub20.ip4.tinet.net [213.200.67.253
]
9 135 ms 138 ms 138 ms xe-5-1-0.was12.ip4.tinet.net [89.149.184.34]
10 * * * Request timed out.
11 191 ms 190 ms 191 ms as-3.r20.snjsca04.us.bb.gin.ntt.net [129.250.2.1
67]
12 191 ms 191 ms 192 ms xe-1-1-0.r20.mlpsca01.us.bb.gin.ntt.net [129.250
.5.61]
13 192 ms 193 ms 189 ms mg-1.c20.mlpsca01.us.da.verio.net [129.250.28.81
]
14 190 ms 192 ms 189 ms 128.121.150.245
15 293 ms 188 ms 186 ms 128.121.146.213
16 261 ms 191 ms 191 ms 128.121.146.228
Trace complete.

Interestingly, I cannot access twitter from this machine. I can try on any one of the computers here. Not one will load the twitter page. If I ping it, I get a response. If I tracert it get a response also. But it jsut will not load http://www.twitter.com It's not confined to Twitter either as I said earlier. I was trying to install winamp today from http://www.winamp.com and I couldn't access that either. Again, I could tracert to it without any problems.

Here however is the output of tracert on another vodafone connection. Note, this check was done within two seconds of the first on my machine. This connection has no problems accessing any website. The configuration of this connection almost completely mirrors my own. The internal P address structure is the only noticeable difference.

Tracing route to twitter.com [128.242.240.20]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.1.254
2 9 ms 10 ms 11 ms 89.19.64.129
3 13 ms 12 ms 12 ms 89.19.64.181
4 12 ms 13 ms 13 ms 193.95.147.65
5 11 ms 11 ms 11 ms vlan73.sw002.cwt.esat.net [193.95.130.217]
6 11 ms 11 ms 10 ms ge1-1.br003.cwt.esat.net [193.95.131.57]
7 11 ms 11 ms 12 ms xe-0-1-0-104.dub20.ip4.tinet.net [213.200.67.253
]
8 124 ms 98 ms 97 ms xe-5-0-0.was12.ip4.tinet.net [89.149.185.17]
9 * * * Request timed out.
10 165 ms 168 ms 169 ms as-3.r20.snjsca04.us.bb.gin.ntt.net [129.250.2.1
67]
11 166 ms 164 ms 168 ms xe-1-1-0.r20.mlpsca01.us.bb.gin.ntt.net [129.250
.5.61]
12 168 ms 166 ms 171 ms mg-1.c20.mlpsca01.us.da.verio.net [129.250.28.81
]
13 170 ms 170 ms 167 ms 128.241.122.197
14 163 ms 165 ms 168 ms 128.242.240.5
15 175 ms 202 ms 174 ms 128.242.240.20
Trace complete.

Again, I'll vent at another stage about my frustrations while trying to get this fixed. Not now though, it's late.

Update on Monday 01st March 2010 at 10:37PM.
Around twenty four hours after writing this blog post, internet connectivity seems to be back to normal. I expect it will stay this way for a day or so but unless resolved, the problem described earlier will return. As a demonstration of the change in the connection to the internet tonight, I will provide the output of the tracert command with Twitter continuing to be the required destination.

Tracing route to twitter.com [168.143.162.116]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.2.1
2 34 ms 34 ms 34 ms 89.19.64.129
3 35 ms 34 ms 34 ms 89.19.64.181
4 34 ms 34 ms 34 ms 193.95.147.65
5 35 ms 37 ms 35 ms vlan73.sw002.cwt.esat.net [193.95.130.217]
6 35 ms 34 ms 34 ms ge1-1.br003.cwt.esat.net [193.95.131.57]
7 35 ms 35 ms 34 ms xe-0-1-0-104.dub20.ip4.tinet.net [213.200.67.253
]
8 121 ms 124 ms 123 ms xe-5-1-0.was12.ip4.tinet.net [89.149.184.34]
9 * * * Request timed out.
10 191 ms 193 ms 190 ms as-3.r20.snjsca04.us.bb.gin.ntt.net [129.250.2.1
67]
11 191 ms 220 ms 191 ms xe-1-1-0.r20.mlpsca01.us.bb.gin.ntt.net [129.250
.5.61]
12 194 ms 193 ms 192 ms mg-1.c20.mlpsca01.us.da.verio.net [129.250.28.81
]
13 194 ms 192 ms 191 ms 128.121.150.133
14 202 ms 189 ms 191 ms 168.143.162.85
15 191 ms 187 ms 189 ms 168.143.162.116
Trace complete.

Interestingly, the destination address of Twitter has changed and hop 9 timed out.

I cant explain the change, I just know that it exists.

All I can say is I really hope that the people responsibility for providing this connection can do something.

using RSA or DSA for authentication to a Linux server via SSH or SCP.

Following on from my post yesterday about backups, I thought I'd give a further explination as to how to copy down the archives that I created in the script.

For this, I'm using SCP. However, if using SCP, you ordinarily need to log on.

If your prompted for a username and password every time your script runs an scp command, it's kind of pointless having cron run the script at all.

So, to get around the requirement to log in, while at the same time keeping the set up secure, we use an RSA or DSA key.

for the rest of this post, I'm going to call the machines backup and server. The backup is the machine I am copying the backup files to.

On the backup machine, type the following commands to generate the files and copy the public file across to the server. I suggest you use a very restricted account on the backup and server for this.

ssh-keygen -t rsa
hit enter for the first question to agree to save the key to /home/YourUserName/.ssh/id_rsa
Hit enter without typing anything for the second and third questions as we don't want a password for this particular key. Note, this is usually not recommended but it should be ok for this type of situation.
It will tell you that a public and private key has been created and it will give you the finger print of the newly created key as well.

Next, you will want to copy the public key across to your server. Note, the server is the machine that hosts your backup scripts.
scp .ssh/id_rsa.pub YourUserName@ServerName:.ssh/

If this is the first time you've used a public key then use the following command as it will make things easier for you.
scp .ssh/id_rsa.pub YourUserName@ServerName:.ssh/authorized_keys

If however you have used other keys, do the following:
ssh YourUserName@ServerAddress

Type your username and password to log in.

Now, type the following to append the id_rsa.pub to the authorized_keys file.
echo .ssh/id_rsa.pub >> .ssh/authorized_keys

Now, leave the ssh session by typing exit.

From the backup machine, you can now log in via ssh without providing a password.

Note!!!

You might want to secure your public key. If it goes missing, this could go very very baddly for you as this key does not require a password.

Log into the server by typing:
ssh YourUserName:ServerAddress

Now, change the permissions of the file so that this restricted user account is the only one with read and write access to the public key
chmod 600 .ssh/authorized_keys

Now, get out of the ssh session by typing exit.

The next step will be running scp to download your backups and verify that their readable. If their not, we'll want to log the failure.

backing up a drupal site.

I host a number of Drupal sites as well as wordpress and custom made ones as wel.

When you host a site, one of the first questions your asked is do you have the ability to back up and restore my site if something breaks?

For obvious reasons, that's an important question. But, it's a balancing act. It's important to make sure you back up regularly but you don't want to over do it and use up all your bandwidth on copying said backups off the server.

So, for backups you need to separate them in to four parts.

  • Nightly Full server backups.
    If the server goes down, I want to be able to bring it back within 5 minutes.
  • Monthly Full site backups.
    These will be compressed archives that contain everything from the site including content and databases.
  • Weekly differential site backups
    These are stored on a server that mirrors the configuration of the primary. It is used for testing new server configs before they go live on the production server.
  • Daily site backups
    This is a backup of important site files that can become dammaged as a result of errors during an upgrade or configuration change. This does not contain a database backup but is very useful for very quick restores.

With that in mind, I have created the final part of this puzzle. The following daily backup script archives the important directories in a drupal installation so their ready to be coppied by the remote server. I have these scripts saved to a location in the home folder of a very restricted account that is used simply for this task. A simbolic link in /etc/cron.daily points back to each of these scripts.

#!/bin/bash
thisdate=$(date +%Y%m%d)
backupstatus=false
tar -zcvf /home/UserName/backups/UserName.tar.gz /home/UserName/public_html/sites/all /home/UserName/public_html/sites/default/settings.php /home/UserName/public_html/sites/default/files/playlists /home/UserName/public_html/sites/default/files/js /home/UserName/public_html/sites/default/files/css /home/UserName/public_html/cron.php /home/UserName/public_html/includes /home/UserName/public_html/index.php /home/UserName/public_html/install.php /home/UserName/public_html/misc /home/UserName/public_html/modules /home/UserName/public_html/profiles /home/UserName/public_html/scripts /home/UserName/public_html/themes /home/UserName/public_html/update.php /home/UserName/public_html/xmlrpc.php && backupstatus=true
if [ $backupstatus = false ]; then
echo Error $thisdate Backup failed. >> /home/UserName/backups/UserName.log
else
echo $thisdate Backup completed without errors. >> /home/UserName/backups/UserName.log
fi
backupstatus=
thisdate=
chown RestrictedAccount UserName

So, what am I doing there?

  • First, I declare a variable to hold the date.
  • Second, I declare a variable that holds the value false. If the archive command doesn't work, this will never be set to true.
  • Next, I archive very specific folders. Notice, I'm not archiving /home/UserName/public_html/sites/default/files because that contains audio, pictures and videos and I really don't want or need to include them in every days backup file because it would be far too large.
  • Notice that there's a change to the BackupStatus variable at the end of the archive command. Because this starts with an &&, it will not be run unless the archive command is successfull.
  • Next, I use an if statement. If the backup status is false, I write to the error file. Notice that I put error at the start of the line. This just makes things a bit easier because I can look through the start of the log for a line that doesn't start with a date.
  • Of course, if the variable comes back true, then the log file is updated to reflect that the archival job was successfull.
  • Finally, I do some clean up. I set both variables to blank values and make sure that the user who has only very few access privlidges can get the file.
  • I don't doubt that there may be a better way of doing that, but this way works very well.

    On the other machine, a cron job is set to run very early in the morning to copy down these archives. With every archive it copies, it logs it on the remote server. That way, if what I call the copy job fails, I can see it and take any required action.

    I may be doing too many backups at the moment. With any process like this, it will take some analysis for a few weeks to determine if I can reduce the frequency of backups depending on the number of updates made to each site. Because I don't host a huge amount, I can even tailor the back up schedule per site so as sites that are updated frequently are backed up more often.

The history of DigitalDarragh

This blog is around 8 years old. It was a blog before the word blog was even used in every day language! It was of course previously hosted at http://digitaldarragh.blogspot.com/ but since 2002 the digitaldarragh.com website has been serving up blog posts of one type or another. But, because it's so old, and I've done so much with it, content has been lost over time. Content that tells of memories from years ago when life was very different. But, there's a way that you can see all this interesting, disturbing and mildly entertaining content. Visit http://web.archive.org/web/*/http://www.digitaldarragh.com and look through the site. Some links obviously won't work because although archive.org is a great site, it cant save everything. but, mostely everything important is there. Oh, then there was this shocking and terrible attempt at web development Digytek. spelled baddly, written baddly and just ..... bad! http://web.archive.org/web/*/http://www.digytek.com Aside from doing websites for my self, I did a few others. But, please! give me a break! I hadn't a notion of what I was doing! the designs mark up, coding and in fact, everything about them were just horrid! http://web.archive.org/web/*/http://www.alpinefurniture.ie But, it's all just a bit of fun isn't it? What's next then.... :)

GTK v QT.

This is a response to my Blog post about Linux accessibility. I wrote it in response to another comment. It turned into a bit of a long one though and the information is applicable to a lot of things. So, have a read of this:

KDE is based on QT and Gnome is based on GTK. It's important to recognise the differences in these environments from the start. QT doesn't support AT-SPI. It was planned to support this but it never happened. This is down to a decision by the QT developers.
Here's an article that discusses how Gnome communicates with Orca. http://accessibility.kde.org/developer/atk.php

There's information about the accessibility of QT packages at http://doc.trolltech.com/4.5/qt4-accessibility.html

GTK is not the only standard for the graphical desktop manager in Linux. QT is just as much of a player. That's where the problem comes in. Any application that is written for Gnome and follows the Gnome development guidelines will communicate the necessary information to Orca. The problem arises when you launch a QT based application such as Acrobat reader as Orca doesn't get the required information from it.

I understand your point about the limited progress in some areas due to developers not making enough progress with their compliants with the accessibility guidelines but tell me one platform where that isn't an issue. It's nothing to do with communication. It's a problem with bad coding. Simple.

In relation to the problems you have encountered accessing applications that run as root in Ubuntu, there are a number of well documented fixes to this. Basically, Orca, like every other Linux application can not obtain information from a process running as a more privlidged user. This is the reason why Linux is such a secure platform. However, there are work arounds to this as I said earlier. In fact, Listen to one of the recordings in the Linux section of www.lalrecordings.com and you will hear one of the ways of getting around this. In Vinux, the environment is preconfigured for optomal accessibility. Perhaps you should try this out? You might find that with the environment configured to provide the most accessibility, most of your issues are resolved. If nothing else, it will illustrate to you that on most distributions of Linux running Gnome, problems can be ironed out if your willing to spend some time on configuration.

I'd also suggest you read http://live.gnome.org/Orca as I'm almost certain that you'll find an alternative and accessible PDF reader. As for skype, use the plug in for Pidgin. I would bet that you will not find an application that doesn't have a gTK counterpart in LInux. There are very few things in Linux that you will not be able to access if you keep at it. Just like the same can be said in windows or even OSX if your that way inclined.

Oracle to stop supporting Gnome accessibility.

This is without doubt the most dammaging news to hit assistive technology users ever. Believe me when I say that the effect of this cannot be over stressed. If people like Willy Walker from Sun are not employed to continue to push the Gnome accessibility project forward, the advances we've seen in the past ten years will never be seen again. That's a fact based on their track record. Without the Gnome accessibility project, I would not have been able to hold employment when working for Novell. There are hundreds of people in similar situations around the world. Sure, the Gnome accessibility project will possibly continue however without the backing of Sun, it's going to make very few strides forward. Everyone who has an interest in assistive technology needs to jump on this one. It doesn't matter what platform you use. It doesn't matter if you've even heard of Linux. I hear you ask Why! Look at Firefox 3. I saw press releases from both Freedom Scientific and GW Micro claming that they worked with the Mozilla foundation to ensure that version 3 of Firefox was accessible to visually impaired. But, in actual fact, I know that it was nothing to do with them. And, if you want proof, just look through the logs of the nightly builds. Every day, someone from the sun led Linux accessibility project was helping Firefox contributors to fix bugs that caused problems with accessibility. It was Sun that made the need for Accessibility known! Here is an open letter written by one of the most hard working community developers of Orca, the screen reader for the Gnome desktop manager. Joanie is without doubt one of the most hard working and intellegent people I have the fortune of following on Twitter. I really hope that he continues his work on Orca however I doubt that even she will be able to do as much on a part time basis as Willy Walker was able to do in his full time role. The open lettter can be found at http://blog.grain-of-salt.com/index.php?itemid=394 An Open Letter to Oracle on the Topic Of Accessibility Dear Oracle: You don't know me, so please permit me a brief introduction: I'm Joanie. By day, I'm an assistive technology specialist working with individuals who are blind or visually impaired. By night, weekend, and holiday for almost four years now, I've been a GNOME community contributor working primarily on the Orca screen reader, a project led by Sun's Accessibility Program Office. Working with the engineers at Sun, both inside and outside of the APO, has been an honor for a variety of reasons, not least of which is our shared common belief: Access isn't a privilege; it's a right. Towards that end, Sun Microsystems strived to ensure that ALL users have access to software and information. Does Oracle plan to do the same? Sun Microsystems believed that these things shouldn't be denied to those who aren't employed, or who don't live in the "right" country, or who don't speak the "right" language, or who cannot afford to purchase thousands of dollars' worth of access technology. What does Oracle believe? Through its significant, ongoing contributions to the GNOME desktop, Sun Microsystems has made computer access possible for many individuals with disabilities, from all walks of life, all over the world. Will Oracle embrace the opportunity to continue this important work? My assumption was yes. In fact, I was feeling quite hopeful. After all, the past few years have been hard on Sun. But with Larry Ellison's promise of increased investment in the Sun brand, and Oracle's strong commitment to accessibility, things would finally be turning around: If one under-funded APO could accomplish everything that it has, what could the two combined and properly-funded APOs achieve? At the very least we'd be able to finally get a handle on all of the accessibility challenges facing GNOME 3. I was wrong. Last week, Oracle laid off two more members of Sun's already-decimated APO. One of those let go happened to be both the Orca project lead and the GNOME Accessibility project lead, Willie Walker. I truly hope this was an oversight on Oracle's part, and one that will be rectified very soon. Because if it is not, and if no other company steps forward to continue this work, the accessibility of the GNOME desktop will become the open source equivalent of an unfunded mandate, doomed ultimately to fail. Oracle's decision threatens to leave many individuals with disabilities around the world without access to a modern desktop environment. I find that tragic. Please, make sure you tell others about this. Tweet it. Call your friends, shout from the roof tops, just do something! This really cannot go unnoticed by us as uses of assistive technology. If it does, I am sorry to say that we'll all regret it.

Updating your mouse driver without a mouse.

A question was just asked on twitter that I thought might be of use to some people.

So, here goes. Follow the following distructions:

These are for Windows XP.

  1. Start system properties by pressing the windows key plus pause. Pause is usually on the top right of desktop keyboards.
  2. Press the control + tab combination twice to move to the hardware tab.
  3. Press alt + d to activate the Device manager button. If you can see the screen, you will notice that under lined letters for buttons, radio buttons, checkboxes and even some edit fields can be accessed quickly by using the alt key + that letter. For menu items, pressing the letter alone will activate that option. In the case of menus with two of the same underlined letters, pressing the letter will set focus to one of these.
  4. To jump to the list of hardware, press the tab key once.
  5. Press the letter m to jump to the item labeled:"Mice and other pointing devices".
  6. Expand this item by pressing the right arrow.
  7. You will usually only see one item in this list. Press the down arrow to highlight it.
  8. Activate the context menu. ON a mouse, this is usually obtained by clicking the right button. On a keyboard, press the applications key. This is three to the right of the space bar on most desktop keyboards. If you are using a laptop that does not have an applications key, you can press shift + F10.
  9. The first item in this list is "Update driver". Use the down arrow to highlight this and press enter to activate it.
  10. The following wizzard will walk you through the process of updating your driver. You may use the tab key to cycle around the options on this screen, the enter key to activate buttons and of course, as explained earlier, use alt + underlined letters to quickly activate buttons and other controls. For example, alt + n for next.

For users of Windows Vista and Windows 7:

  1. Go to the start menu by pressing the windows key or control + escape.
  2. You will automatically be in the search box. Type the following without the quotes. "device manager".
  3. To jump to the list of hardware, press the tab key once.
  4. Press the letter m to jump to the item labeled:"Mice and other pointing devices".
  5. Expand this item by pressing the right arrow.
  6. You will usually only see one item in this list. Press the down arrow to highlight it.
  7. Activate the context menu. ON a mouse, this is usually obtained by clicking the right button. On a keyboard, press the applications key. This is three to the right of the space bar on most desktop keyboards. If you are using a laptop that does not have an applications key, you can press shift + F10.
  8. The first item in this list is "Update driver". Use the down arrow to highlight this and press enter to activate it.
  9. The following wizzard will walk you through the process of updating your driver. You may use the tab key to cycle around the options on this screen, the enter key to activate buttons and of course, as explained earlier, use alt + underlined letters to quickly activate buttons and other controls. For example, alt + n for next.

Hopefully that works for you. If not, please post a comment.

Talking watches.

I really hate talking watches with a passion. Their evil! Their horrible! Their the embodyment of everything that is evil in the world. Why? Well, I'll tell you.
  • Their loud. Imagine this. Your sitting in a quiet office. people are typing on their computers around you and you want to find out what time it is. This booming voice shatters the silence by screaming out: "THE TIME IS NOW 6:15 PM!!!!!!!!!" Everyone in the office turns and gasps at this distraction and you go bright red with shame as a result.
  • They talk too slowly. You need to know what time it is and you need to know now! You press the button and in it's booming voice, it screams in the slowest voice ever, "THE TIME IS NOW 6:15 PM!!!!!!!!" All you need to know in a hurry was that it was a quarter past 6, but by the time it's finished, it's now twenty past! Ok. that's a huge exageration but you know what I mean.
  • Their big and clunky. A talking watch on your arm is like having a huge sign on you saying to people, hay! I'm blind! and I love my talking watch! Listen to it roar!
OK. right. so my hate of talking watches is now known. People, please buy a braille watch. Their much better!

Two cool Windows 7 shortcuts.

I assume you know that in Windows 7, task bar items are associated with a number. so for example, internet explorer is assigned to windows key plus 1, your libarary is assigned to windows key plus 2 etc. But, did you know that if you press windows key, shift and 1 a new instance of Internet explorer will be launched instead of just setting focus to the currently open instance? Or, if you need to launch Internet Explorer with higher access privlidges for some reason, press windows key, control, shift and 1 and you'll be prompted with a UAC box asking you if you are sure. Cool isn't it? I like it because I use windows key and 2 a lot to jump to my libraries. But, if you already have a folder open, windows key just sets focus to that window. That's kind of useless if you want to open two folders at the same time and you want to continue using keyboard commands to jump back to your libraries. So, like with Internet explorer, press windows key, shift and 2 and it will open a new instance of the libraries view.

How?

Right. Here's what I want to do, but I am not really sure how I'm going to do it without using loads of bandwidth. I currently have Icecast set up on a virtual server running Linux. It hosts a few broadcasts at the moment however their not permanently available. therefore, if you visit a broadcast mount point such as http://digitaldarragh.com:8000/madfortrad.m3u You will not hear anything unless someone is broadcasting to it. The problem here is, when you advertise a broadcast like this, people like to go visit the stream right away. At the moment, when they visit it, they either get errors or their media player tries to download something. This isn't good for very obvious reasons. So, the problem is therefore, how do I get something to stream to this Icecast mount point all the time. With Icecast, I can specify a secondary mountpoint. So, if I could get something to stream to this alternative mountpoint it would be perfect. Problem is, that if it's an external source, it's going to eat up bandwidth and also, it will likely slow the performance of the server. So, how do I stream using a virtual server that doesn't have a sound card and therefore obviously doesn't have a device to stream to? Icecast needs a client to stream to it. Is there a client that would sit quietly as a service and stream to a mount point all day long? Surely this client wouldn't work without a sound card? Or, is there some kind of virtual sound card module that I could use? Thinking out loud, actually, the encoder / client doesn't necessarily need to output to a sound card. and it could use a local loop back to the IceCast server. But, again, I need to make sure the client is really lightweight so it doesn't create too much overhead in terms of memory and processor utilization because the servers priority always needs to be focused on serving websites. Any ideas?

Live Music on DigitalDarragh.com

It's no secret that I really love Irish traditional music. From Cara Dillon, Julie Fowlis, Kate Rusby, Michael Mcgoldrick, Tommy Cunnif, Zoe Conway, Mick Ó Brian, Sharon Shannon and John McKusker to Guidewires, Lúnasa, flook, Grada, Stocktons Wing, Slide, Tripswitch and Téada just to name a few, I love it all. I have over a Terabyte of Irish traditional music and I want to share some of this with you.

There are no decent Irish traditional music radio shows at the moment. This aims to fill that void.

The show will air on Saturdays at 7PM GMT, 2PM Eastern and 11AM Pacific time.

At the moment, there are a lot of ideas for making this show something you will want to listen to. Just some of the aims at the moment are:

  • Interviews and live performances by known and not so known Irish traditional musicians.
  • If permitted by musicians, short recordings of live gigs.
  • Interviews with lovers of Irish traditional music.
  • Reviews of specific new albums,/li>
  • Requests! Tell me what you want to hear. If I don't have it, I'll certainly get it.

The content and format of the show is currently not set. It's going to change and evolve over the next few weeks as people decide what they want. Get your say in by commenting on this post.

This online broadcast is licensed by The Irish Music Rights Organization (IMRO.) Every step possible has been taken to ensure that copyrighted material is respected and artists are recognised appropriately.

The stream will be available at the following address. If this doesn't open in Internet Explorer or Firefox, paste the address into your media player of choice. http://digitaldarragh.com:8000/madfortrad.m3u

Fixing DNS issues.

Problem

You cannot connect to certain sites.
You can ping IP addresses on the internet but you cant ping some or all domain names.

Background

DNS look ups are basically where you give your computer a domain name like google.com and it resolves it to an IP address such as 216.239.59.137. Generally you will have two or more DNS look up servers. These are generally given to you by your Internet Service Provider (ISP).

Solution

If your ISP is having problems with their Domain Name Servers (DNS) for short, you may want to consider using a service called OpenDNS. This service does exactly what your ISP's DNS servers do. You will continue to have a primary and secondary DNS server but instead of looking up names using your ISP's servers, you'll use OpenDNS instead.

First, go to www.opendns.com and create an account. When your done, you will see instructions for adding the DNS servers to all versions of windows and Linux. If you continue down the page, you'll also see a heading for geeks. Here, you will find the primary and secondary addresses. Keep these somewhere for a moment.

To configure Windows, Just follow these really simple steps.

  1. Go to run.
  2. Type the following Without the quotation marks: "control netconnections"
  3. Are you using wireless to connect to the router? If so, go to Wireless network connection with your mouse / arrows. If your using a wired connection, find Local area connection..
  4. press alt and enter if your using the keyboard, or right click on local area connection or wireless connection then click properties if your using a mouse.
  5. If using the keyboard, press i until you land on Internet protocol TCPIP. If your using Windows 7 or Vista, you'll see IPv4 TCPIP or something like that. If using the mouse, click on this. NOw, press alt p for properties. If your using windows 7 or vista, press alt and r. If using the mouse, click on the properties button.
  6. Tab once to the radio button for obtain DNS IP address automatically and press the down arrow once to select Use the following DNS IP address. IF your using the mouse, click on this option.
  7. Tab to the primary dns field or left-click on it.
  8. Now, type the Primary DNS address that you got from the OpenDNS site.
  9. Do the second for the secondary DNS address. Just tab to that field or click on it with the mouse.
  10. When your done, click the OK button, then at the network properties, click close.

Right, that's the hard bit done. Now, you just need to flush your DNS cache.

Your DNS cache is a local log of addresses that have been looked up. This cache reduces the amount of look ups that are carried out. However, when your change your DNS server due to problems, you need to remove this cache so that at the start, all further look ups are sent out to the primary or secondary DNS servers.

Doing this is really simple.

  1. Go to run.
  2. Type "cmd" and hit enter or click ok.
  3. In the resulting command prompt window, type the following without the quotations: "ipconfig /flushdns" and hit the enter key.
  4. Now, type exit.

Your done.

Close any and all Internet Explorer windows open at the moment and try going back to a site you previously couldn't access.

If your a boards.ie user,

Ok. It's no secret. If your a boards.ie member, go on over to their website as there's an important message for everyone who has an account there. I really pity them. This is going to be a hard mess to clean up after. And it's really not their fault either! www.boards.ie

Setting up the IceCast Audio streaming server.

I decided on Sunday that I was going to set up a service on a Linux box for streaming audio. It's not for me... not for the moment anyway. It's for Stuart Lawler He wanted to stream his weekly podcast, the Stuart Lawler Show live to listeners while also making it available as a downloadable podcast. He's planning to air it every week at 2PM. So, if your around at that time which is 7AM in Canada and 9AM in most parts of the US, Hop on over to The live show feed. Note, that feed doesn't work when he's not broadcasting so be warned, it will probably just give you a page not found error message.

I wanted to write a few notes to explain the process that I used to get IceCast running on this Ubuntu 8.04 machine. Firstly, I made a mistake. I didn't realise the Icecast2 package was available in the apt repositories. So, I compiled all of the dependencies and the actuall Icecast package my self from source. So, I could have made it much easier on my self if I had checked the repositories before hand but... hay, that's life.

So, when installing Icecast from source, you'll need to download, configure, make and install LibXML, LibXXLT, LibTool, Curl and make. You'll also need libvorbis, libogg and possibly a few other packages depending on what your doing.
You should install your dependencies in that order before moving on to IceCast as the make clean option didn't work after the make process failed due to dependency problems.

Of course, if your compiling Icecast from source, you'll need to add it as a service to run so you'll need to grab or manually create a file to run it for /etc/init.d/

But, that isn't probably necessary if you bother to check the package repository first though.

simply, go and grab it by typing sudo apt-get install icecast2 and your done. Don't do what I also stupidly did when I installed icecast-server as that is version 1 of the package. Why they still have that in the repository I will never know.

Right. Is that done?

The config files are in /etc/icecast2.

Hay, I noticed a little funny thing when I installed it. I created a group called icecast with limited access and then a user with a similar name. Then, the installer created a new group... But what wsa funny was that in the config it generated in /etc/icecast2/icecast.xml, it elft the last bit commented out where the user name and the group is specified for better security. Something must have been left out somewhere when the package was created for the Ubuntu repositories. anyway, it's simple enough to customise the xml file. The only problem is figuring out what addesses it's looking for. The howtos, forums and every other bit of documentation out there is confusion at it's best. Forget it all! Just use the release notes and the comments in the config file to guide you because they won't stear you wrong.

Change the hostname to yourdomain.com.
Leave the port.
uncomment the changeowner part of the config at the bottom. comments start with <!-- and end with -->. If your reading this with a screen reader, that last bit will make no sense to you. Use your read by character functions to see it.

Finally, when that's done, create your mount point. At this stage, look at the sample mount points in the config. Only take what you need from them. Start the block with , end it with and you'll be fine. The only information it really needs is the tag. Make that /name.mp3 or something like that.

That's all there is too it really. It's really much easier than I thought it was going to be. Actually, by complicating it, I probably made it more difficult than it needed to be.

Some VMWare workstation observations.

I've been doing a lot with virtual machines this week. Virtual machines are basically computers within a computer. That's really the easiest way of explaining it. The Virtual machine application I chose was VMWare workstation. So, installing the VM was absolutely fine. you'll basically create the VM, decide the virtual machines specifications and when you boot it, it's like booting a normal computer. You'll have to install an operating system and configure it. Fortunately though, installing drivers is usually a non issue as they'll automagically be picked up from the host. The strange things I've come a cross so far are as follows: When installing Jaws, it took two reboots for the mirror driver to be installed. After this, the procedure continued as normal. Authorization etc was as you'd expect on a normal installation of Windows. One non-accessibility odity that I've found is that while in the virtual machine, the power saving settings of the guest still continue to take priority. That means that the machine can suddenly go into stand by even though you have been using the guest continually. OF course, it's not really a problem. Either go to exclusive mode in VMWare or change your power settings. On the first machine I installed this environment on I had huge problems getting the virtual machine to except the installation of Windows XP and then, when I finally got it working, the host couldn't resume from stand by. I think this was as a result of something wrong with that computer though as when I recieved it first, it wouldn't boot until I removed the keyboard and mouse. Some of the windows and reboot issues seemed like ACPI problems too so I switched the disk into a different machine with the same spec and it all worked properly. Interestingly, I would have expected Windows and Jaws to need reactivation when I changed the disk into the alternat PC however both continued working without any changes at all.

Twitter Psych.

AS you all probably know by now, I'm very active on twitter. If you want to follow me, go on over to www.twitter.com/digitaldarragh I heard about something today that caught my attention briefly. It's called Twitter Psych. It examines the words you use in tweets and generates a psych profile of what you talk about most. Now, take it with a rather large pinch of sault but it's some fun. Visit the site your self at http://www.tweetpsych.com Here is the analysis that it generated for me. Scary isn't it? I dwell on the past,I don't talk about sex half enough, I'll have to fix that... I'm a control freek, with no regard for money, I'm overly negative and I dwel on morbid thoughts. Oh, I almost forgot, I'm imotive too! but hay, it's all good. I'm highly analitical and quantitative, I like relaxing and being entertained, My thought processes are at a high level and my conseptual thinking is logical or something crazy like that. Jesus, I'm screwed up aren't I? Time This user Tweets about time 49% more than the average user. This indicates references to time in general, including the past, present and future. Past This user Tweets about the past 48% more than the average user. This may indicate a preoccupation with events that occurred the past. Numbers This user Tweets about numbers 42% more than the average user. This may indicate highly analytical and quantitative thinking. Leisure This user Tweets about leisure activities 33% more than the average user. This includes activities other than work and may indicate a desire to engage in relaxing and entertaining behaviors. Control This user Tweets about control 31% more than the average user. This includes restraint and moral imperatives and may indicate a desire to impose order. Thinking This user Tweets about thinking 28% more than the average user. This includes abstract thought and cognitive mechanics and may indicate an high level of thought processes. Conceptual This user Tweets about conceptual thoughts 23% more than the average user. This includes higher-level abstract thought. Logical reasoning and philosophy are examples of conceptual content. Negative This user Tweets about negative sentiments 18% more than the average user. This includes negative emotions, negative feelings and morbid thoughts. Present This user Tweets about the present 16% more than the average user. This includes references to present time and currently occurring events. Future This user Tweets about the future 12% more than the average user. This includes Tweeting about time as it relates to the future and may indicate an interest in events yet to occur. Senses This user Tweets about physical sensations 6% more than the average user. This includes sights, sounds, smells, tastes and tactile feelings. Anxiety This user Tweets about anxiety 5% more than the average user. This includes uncertainty, nervousness and apprehension. It may indicate a stress and fear. Constructive This user Tweets about constructive behavior 3% more than the average user. This includes creating and building things and indicates an interest in development and creative processes. Positive This user Tweets about positive sentiments 2% more than the average user. This includes positive feelings, thoughts, emotions and agreeability. Primordial This user Tweets about primordial content 2% less than the average user. This includes lower level dream-state and unconscious modes of thought. Some researchers refer to this as "reptilian" thought. Money This user Tweets about money 3% less than the average user. This includes references to income and money in general. Social This user Tweets about social behaviors 3% less than the average user. This includes inclusive Tweets, social behavior and speaking directly to the listener. Self Reference This user Tweets about itself 3% less than the average user. This includes tweeting about themselves, their activities. In most social media, doing this too much is regarded as a faux pas. Emotions This user Tweets about emotions 9% less than the average user. This includes a wide range of positive and negative emotions and may indicate a generally emotive perspective. Learning This user Tweets about learning and education 41% less than the average user. This includes Tweeting about school as well as self-teaching activities. Sex This user Tweets about sexual references 69% less than the average user. This includes sexual references and may indicate a preoccupation with sex. Media This user Tweets about media and celebrities 86% less than the average user. This includes references to celebrities and mass media and may indicate an interest in celebrity culture.

God mode in Windows 7.

This has to be the best thing about Windows 7 I've seen to date. If your a techy, this is a dream come through. Add a new folder to your desktop and name it GodMode.{ED7BA470-8E54-465E-825C-99712043E01C} you will now see the icon above on your desktop and a very extensive list of options. You'll find everything from the task manager, device manager, accessibility options, event viewer, troubleshooting wizzards for sound, printers, network connections and displays, network utilities for configuring the firewall, internet options, task bar and desktop properties and more. It's a great way of getting to a configuration option quickly. Especially if your not mad about the newWindows 7 control panel.

NickyKealy.com is now all new and shiny and stuff

I created the old nicky Kealy website years and years ago and it has been needing an update for ages. Now, with some perswation from the twitter community, He has finally agreed to allow it to be updated again. The new site includes a blog and a whole new layout and design that is more modern and functional. Visit him today at www.nickykealy.com Remember, if you would like a site done, please get in contact with me.

Get your dell asset tag from windows.

I got this from a fella in work known as the Legend or the LegEnd. Not sure which. But, thanks to him I was able to dig out the service tag of my laptop without getting someone to read th ebios or look at the serial number on the bottom. Go into the command prompt. and type this: wmic bios get serialnumber It will return the code for you so you can use it on the Dell website to get support. Very nice to have.
Syndicate content