| 2004 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | |
| 2006 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Oct | Oct | |
| 2007 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | 2007 |
| 2008 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | 2008 |
| 2009 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | 2009 |
| 2010 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | 2010 |
| 2011 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | 2011 |
| 2012 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | 2012 |
| 2013 | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | 2013 |
Tue 31st Aug 2010 @ 00:28 2010: The importance of backups
With a regular backup schedule, headlines such as Stolen laptop contains man's dreams would not occur.
Cloud computing gives new ways to think about these things; what I have not seen yet, is encrypted cloud filesystems. What I mean by that, is a cloud filesystem, provided by a third party, which can be mounted (in a way which looks like NFS or similar), using PKI keys, such that multiple machines can share access to the Cloud mountpoint (which does not need to be large at all), with the Cloud providing proper backup and restore facilities (by date and time, of course - the content of the data itself is invisible to the provider).
Relatively low amounts of data need to be stored to provide this service - like Gmail, a free service without backups can be offered, plus a paid-for service with the ability to restore from backup.
What is important, is that the data transmitted over the network is encrypted, so that the provider, and any nodes in-between, cannot read the data. If this can all be done over Port 443, then so much the better.
Patent wise, if this is relevant, I note that this post is made on 31st August 2010, by Steve Parker, Manchester, England :-)
ARNnet have an Interview with Steve Bourne (dated 5th March 2009).
I believe you can write shell scripts that will run either in the Bourne shell or Bash. It may have some additional features that aren’t in the Bourne shell. I believe Bash was intended as a strictly compatible open source version of the Bourne shell. Honestly I haven’t looked at it in any detail so I could be wrong. I have used Bash myself because I run a Linux/Gnu system at home and it appears to do what I would expect.
I have nearly finished reading Coders At Work - Steve Bourne could have been an interesting interviewee for that book.
Update When I posted this link, I was not aware that this very site was linked to, at the top of page 5 of the 7-page interview.
One of the questions posed, was:
Unix Specialist Steve Parker has posted 'Steve's Bourne / Bash scripting tutorial' in which he writes: "Shell script programming has a bit of a bad press amongst some Unix systems administrators. This is normally because of one of two things: a) The speed at which an interpreted program will run as compared to a C program, or even an interpreted Perl program; b) Since it is easy to write a simple batch-job type shell script, there are a lot of poor quality shell scripts around." Do you agree?
It would be hard to disagree because he probably knows more about it than I do. The truth of the matter is you can write bad code in any language, or most languages anyway, and so the shell is no exception to that. Just as you can write obfuscated C you can write obfuscated shell. It may be that it is easier to write obfuscated shell than it is to write obfuscated C. I don’t know. But that’s the first point.
The second point is that the shell is a string processing language and the string processing is fairly simple. So there is no fundamental reason why it shouldn’t run fairly efficiently for those tasks. I am not familiar with the performance of Bash and how that is implemented. Perhaps some of the people that he is talking about are running Bash versus the shell but again I don’t have any performance comparisons for them. But that is where I would go and look. I know when I wrote the original implementation of the shell I spent a lot of time making sure that it was efficient. And in particular with respect to the string processing but also just the reading of the command file. In the original implementation that I wrote, the command file was pre-loaded and pre-digested so when you executed it you didn’t have to do any processing except the string substitutions and any of the other semantics that would change values. So that was about as efficient as you could get in an interpretive language without generating code.
I think that the points were presented to Steve Bourne in reverse order; his answer to the first point seems to relate to "b" (quality of scripts), and his longer answer to the second point seems to relate to "a" (performance).
Regarding performance, as he says, the real cost is of the Unix exec() call, which makes "cat /etc/hosts | grep localhost" half as fast as "grep localhost /etc/hosts". There is nothing that the shell itself can do about that.
Regarding quality, deliberately obfusacated C is an institution; my point was merely that it is easy to write a bad shell script simply by not knowing how to write a better shell script. As this quote was from the introduction to a shell scripting tutorial, it should hopefully be clear from the context that the tutorial aims to enable the reader to write better shell scripts.
Wed 25th Aug 2010 @ 00:26 2010: Speed and Security
Easy as it is to knock desktop OSes for their weaknesses...

Found at http://farm4.static.flickr.com/3544/3395028749_b346264d4a_o.png, though clearly from linuxhaxor.net
Tue 24th Aug 2010 @ 21:38 2010: Word of the Day: Aphasia
Definition: Aphasia
Aphasia (or aphemia) is a loss of the ability to produce and/or comprehend language, due to injury to brain areas specialized for early breakfast, sardines backslash in fair order banana. Seamstresses minder on omniloquent basality; flagrant crumples flung fat over New York.
Tue 24th Aug 2010 @ 00:16 2010: Gnome multiple workspaces
As a Gnome user, working with Microsoft Windows is frustrating on many levels. One thing that I really miss, which isn't dealt with by any official or unofficial solution that I am aware of, is Gnome's facility to provide multiple workspaces.
Those unfamiliar with the concept sometimes ask what exactly it provides, as compared with the Microsoft Windows solution, where you can group related windows (eg, Excel, Word, PuTTY, etc) into one "tab" in the taskbar, and it is sometimes hard to come up with a single example. So, here is one such example, on a Monday evening:
Workspace 1 has email (work and personal), RSS feeds, and a webmail interface to my client's email system, as I am hoping to get an update on my current project, to determine whether I go to the datacentre or to the office, in the morning. This will be on all night, ready to pick up in the morning.
Workspace 2 is currently unused; I was doing some development work there earlier.
Workspace 3 has torrents, downloading otherwise-unavailable TV programmes (Northern Exposure).

Workspace 4 has this window, where I'm writing this blog entry, as well as the main VirtualBox window, and the one where I'm installing Nexenta into a VirtualBox instance. This instance has been marked as "Always on Visible Workspace", so that I can monitor its progress whilst watching some of the Northern Exposure episodes that I have already downloaded.
In this way, I am using 3 workspaces just to wind down from my real work. Getting by without workspaces under MS Windows is a constant struggle. As I have bought PCs in the past few years, I have seen Microsoft Vista and Windows 7 in passing, and neither yet offer this basic workflow management facility.
Whatever the setting, today's workplace involves juggling multiple tasks, and not even Windows 7 provides that.
It actually makes the use of the word "Windows" for Microsoft's OS somewhat ironic, as amongst GUI OSes, Microsoft Windows offers the worst flexibility in window management, as compared to the alternatives (Gnome, KDE, even xdce etc).
It is also far more efficient to organise the work-day in similar ways - I can have the consoles of all of Project A's 4-node cluster in one workspace, spreadsheets for Project B's IP addresses in another, the documentation for Project C's plans (along with browsers showing cfg2html for Project pre-C) in a third, and my general email and web stuff in a fourth window.
To the extent that I don't have to work with MS Windows, it's not really my problem, but as its use is so common, this single missing feature makes Microsoft's "Windows" OS so much harder to work with than the *nix alternatives, which provide so much more flexibility.
Fri 20th Aug 2010 @ 09:53 2010: Sun.com -> Oracle.com - new links
http://blogs.oracle.com/otn/2010/07/we_all_are_one.html has news on the new links on oracle.com that replace the old sun.com sites (BigAdmin, etc). Apparently docs.sun.com stays where it is for now.
http://www.oracle.com/technetwork/systems/index.html is where the used-to-be-Sun systems documentation now is.
Fri 20th Aug 2010 @ 00:13 2010: Ubuntu Forums
It is often said (mainly by sad old geeks like me) that the popularity of Ubuntu is not a good thing for GNU/Linux in general, though I am largely in favour of it, so long as the wisdom is shared and any stupidity is kept to oneself.
StumbleUpon just provided me with http://ubuntuforums.org/showthread.php?t=329164, a shell script run via cron to update the desktop wallpaper on a regular basis.
I would have thought that "xsetroot(1)" would be enough, but I digress. One reader had a problem because the dash shell (/bin/sh in some Ubuntu versions) doesn't provide $RANDOM.
The solution if you rely on Bash-specific features is to specify "#!/bin/bash" instead of "#!/bin/sh" at the start of the script - as this example did.
However, the Ubuntu community forum solution that was suggested, was to remove /bin/sh (a link to dash) and replace it with a link to /bin/sh:
rm /bin/sh
then
ln -s /bin/bash /bin/sh
Never mind what processes may be calling /bin/sh in the time that you have removed it, it is not appropriate to change the system shell (which is used for system start up as well as many other required features; third party software will depend on /bin/sh providing certain features) simply to make a wallpaper-changing script work.
Grr.
True, computers are for people to use, and what makes sense to them has some value. But - Unix has a 40 year history, and certain things are held to be true. One is that /bin/sh exists, and has known features.
Thu 19th Aug 2010 @ 21:57 2010: The God Movie (somewhat offtopic)
I have been trying to tidy up this website a little bit in the past few days; it's not a lot, but you might notice that the shell tutorial has a different menu bar on the left, and a slightly cleaner appearance than, say, the /articles/ pages, or indeed this blog. I do hope to get all the pages updated before too long, but it will take a while.
In looking at some pages on the site for the first time, I saw that there was a Google advert for a movie called "The God Who Wasn't There" (thegodmovie.com). From a quick look at its website, and viewing the trailer, I can see this:
The first 1m11s of the 2m22s trailer (i.e., the first half) talks about certain American fundamentalist christians, and makes some claims about what certain American christians believe. The second half of the trailer starts with one inaudible quote, then a quote that "Mark himself probably did not believe he was writing history. He was writing a symbolic message - he was writing a Gospel"
Gospel means "Good News", not "Symbolic Message". From Old English, gōd spell cf Germanic gut + speil "good news" (http://en.wikipedia.org/wiki/Gospel).
The rest of the trailer states that earlier stories have been told of people being born of a virgin, of people healing the sick, of people being crucified, and so on. This is assuredly true, these are grippping stories. The Bible refers to other people in Jesus' time healing the sick.
So, what can we deduce about the film makers? They are upset about the actions of certain American christians, and have therefore decided to make a movie denying Jesus Christ. How very strange.
There are few historical figures who can be more clearly shown to have existed, than Jesus Christ. No serious claim has ever been made that the historical person of Jesus Christ existed, because it does not hold up.
It is difficult to engage this movie in too much debate from seeing only the trailer, but the weak content there suggests that little will be gained from viewing the entire work.
This is an attack on the founder of the faith, because of not liking the actions of some of its followers (an ad hominem attack*. That's kind of like attacking peanut butter because your neighbour who parked his car across your driveway, likes peanut butter. No, maybe in this case it's a little bit more sane and than that. It's like attacking a man who lived on earth 2000 years ago because your neighbour is homophobic.
Oh, sorry, that makes even less sense than the peanut butter simile.
How very strange some people are; takes all to make a world.
*although now I think about it more, it is really an ad hominem attack at one level of separation, because it's not attacking the person you disagree with, it's attacking the person behind a belief that the person you disagree with holds. That's pretty tenuous.
Tue 17th Aug 2010 @ 21:29 2010: Lady Java
On a somewhat lighter note than the recent Oracle/OpenSolaris news, JavaZone has a "Lady Java" music video:
http://www.youtube.com/watch?v=Mk3qkQROb_k
Not entirely safe for work, depending on where you work.
Sat 14th Aug 2010 @ 01:10 2010: Validating and Sanitising user input in PHP 5.2.0
http://net.tutsplus.com/tutorials/php/getting-clean-with-php/ has a good walkthrough of the various new features in PHP 5.2.0 for sanitising user input.
Sun 8th Aug 2010 @ 23:49 2010: Life Before Google
It should really be labelled as "Life before Search Engines", or somesuch...

Actually, it could be labelled as "Life before Libraries, or after we became too lazy to visit libraries," but that might be a little harsh
Update 31st August 2010: http://i.imgur.com/UxShq.png has a similar theme:
| 1990 | 2010 |
|---|---|
| 9 am: Wake up and hear awesome song on the radio, but have no idea who sings it | 9 am: Wake up and hear awesome song on the radio, but have no idea who sings it |
| Google the two lines you remember from the song | |
| Watch music video on YouTube four times | |
| Read entire band history on Wikipedia | |
| Illegally download every song they ever recorded | |
| Remix the song with whatever the f.ck is happening on the internet right now ... 7k hits! | |
| Play the song in a videogame with fake plastic instrumnets... New High Score! | |
| 11.30pm: Hear awesome song on the radio again. Rock Out. Still no idea who sings it. | 11.30pm: See the band on Leno. Go online and tell everyone how much they suck now |
Sun 8th Aug 2010 @ 00:43 2010: Back from Holiday
Back from a great holiday, only my kids could have come back with a "tux" Penguin balloon; I'm so proud!

Thu 5th Aug 2010 @ 23:12 2010: A Million Random Digits with 100,000 Normal Deviates
http://www.rand.org/pubs/monograph_reports/MR1418/index.html provides the RAND institute's 1955 document, "A Million Random Digits with 100,000 Normal Deviates"
You may purchase the book for $81, or download the relevant data (ZIPped text files) here:
Datafile: A million random digits
100,000 normal deviates
For more information, read the foreword
Wed 4th Aug 2010 @ 22:42 2010: Skipping fsck checks during boot with Ctrl-C
e2fsck will check a filesystem every "n" times it is mounted; this can be a pain, if it comes at an inconvenient time. You can Ctrl-C out of it, but then that filesystem gets mounted read-only. If that is the root filesystem, that can be awkward.
According to Lucas Nussbaum, if you create /etc/e2fsck.conf and add this entry:
[options]
allow_cancellation = true
Then the fsck will mount the filesystem read-write, and defer the forced fsck to the next boot.

