Email Address Password
Remember Me

Or Create a (Free) Account.
2004JanFebMarAprMayJunJul 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

Sat 28th Feb 2009 @ 23:24 2009: The First Emoticon... earlier than you thought!

Tradition has it that Scott Fahlman invented the emoticon on 19th September 1982.

However, it now seems that Abraham Lincoln used ";)" back in 1862, 120 years earlier than previously known:

Lincoln Emoticon

Post a Comment               

Tue 24th Feb 2009 @ 01:49 2009: When?!!

At 02.45 tomorrow?! Are you sure?!

Post a Comment               

Mon 23rd Feb 2009 @ 23:37 2009: The Pirate Bay

click to enlarge

The PirateBay are publishing a cartoon (click to enlarge) about the threat that modern technology brings to the creative industries.... from Radio, to TV, to Audio tapes, to VHS, to the Internet.

Post a Comment               

Mon 23rd Feb 2009 @ 22:56 2009: Facebook Group

FacebookI've created a Facebook group:
Unix Scripters of the world Unite!

I have no idea if there is any interest in such a group, or what it might (or might not) be useful for. So, let's create it, and see if anything happens. If not, it's only a bunch of ones and zeroes....

Post a Comment               

Thu 19th Feb 2009 @ 00:57 2009: Print to other people's printers

Here are random unsecured HP Printers.

Presumably, the printer will be capable of logging your IP address, so if you start randomly printing garbage to other people's printers, they would (in principle) be capable of tracing you.

PS. I find myself uncertain as to the placement of the apostrophe in "peoples"; I know that "childrens'" is irregular, but what about "peoples'" vs "people's"? Anybody confident enough to provide a definitive statement on that?

1 Comment               

Fri 13th Feb 2009 @ 23:23 2009: MySQL bind-address (was skip-networking)

This may well be due to my lack of experience with MySQL, but it appears to me that my Debian "sid" Database machine installed an update today (I hadn't updated it for a while, so this could be a few weeks old already), which changed the way that MySQL deals with its privacy. And in a very silly way.

The old regime was to use "skip-networking" in my.cnf, which would get MySQL to use UNIX sockets and bypass TCP/IP entirely. That's great for a LAMP solution; your database can't even connect to the network, let alone be exploited over the internet.

This has now changed to having a "bind-address =" (ie, localhost). That's a pain if you want to use the database from a remote web server, but also configure the database using PhpMyAdmin. In fact, it's just a general pain and a very silly default, IMNSVHO.

Googling for this information provides some very silly responses. The correct solution, if you want to listen on all available interfaces (localhost and external addresses), appears to be to bind to the address

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address =

The address is sufficiently obscure to be worth blogging, in the hope that it will save someone fruitless hours searching the interwebs and being faced with stupid advice like "you can specify only one IP address". matches to any IP; it is used as the default route, it should be usable for applications (such as MySQL, Apache, etc) to bind to all interfaces.

Post a Comment               

Thu 12th Feb 2009 @ 00:06 2009: 1234567890 is nearly upon us!

I have only just become aware of this....

UNIX (and therefore various other) systems count the current date relative to midnight, 1st Jan 1970. This date is known as the Epoch. Negative dates can go back before then, positive dates after:

$ date -u -d '@0'
Thu Jan 1 00:00:00 UTC 1970
$ date -u -d '@1'
Thu Jan 1 00:00:01 UTC 1970
$ date -u -d '@-1'
Wed Dec 31 23:59:59 UTC 1969

The "-u" flag tells date to use UTC (GMT); "-d" tells date what time from the Epoch to use.

The Y2038 Bug exists because 03:14:07 on 19 January 2038 is the latest time that this can represent in a 32-bit integer without wrapping round to 1970 again.

On a more positive note, we are coming closer to a more pleasant phenomenon:
$ date -u -d '@1234567890'
Fri Feb 13 23:31:30 UTC 2009
$ date -u -d '@1234569600'
Sat Feb 14 00:00:00 UTC 2009

So 1234567890 is (near as dammit) Valentine's Day 2009, not to mention the scheduled date for Debian 5.0 ("Lenny") to be released.
Debian Lenny

1 Comment               

Wed 11th Feb 2009 @ 00:39 2009: This is why schools must teach maths well

This is not easy to convey in one or two paragraphs; I do recommend reading the two sites above before considering using Swoopo or any similar website.

The method is that you buy a "bid" for $0.75. Each time you bid, it costs you $0.75, and increases the item by $0.25.

WiiSo if a Nintendo Wii is going for $20.00, your $0.75 bid would increase it to $20.25. And it has cost you just $20.25 + $0.75 = $21.00. Bargain! Ker-Ching!

But wait... your bid has extended the auction for 15 seconds. Someone else has spent another $0.75 of their money to increase the price to $20.50.

Let's take a look at the tally so far:
Swoopo: Total spent: $0 - they buy the kit after the auction ends.
You:Total spent: $20.75, whether you win the auction or not.
A N Other: Total spent: $20.50.
Swoopo: Total gains: $20.75 + $20.50 = $41.25

Wow - if this item was cheap at $40, they could sell it for $20 and still make a profit. But a Wii is worth over $100, and you have paid $20.75 already. That money is spent. You cannot get it back even if you lose the "auction".

Nor can the other bidder get their money back if they lose the auction.

You have now got over $20 invested in what has become a gamble. The website have over $40 in guaranteed takings. They will be out of pocket if the auction ends now... but can you find someone who will bid $21 for a Wii? So long as they can keep on finding suckerspunters, the auction is extended for another 15 seconds. That punter puts more money into the pot to raise the "price" by $0.25. Another one comes along and for another $0.75 raises the "price" by another $0.25.

It is not these tiny $0.25 increments which are relevant; the $0.75 increments aren't terribly relevant either.

What is significant is that if (say) 10 bidders bid around $100 for a $500 item, the website gets 10 x $100 = $1,000, and one bidder gets a $500 item. The other bidders lose everything.

If a $500 item goes for $400, it must be a bargain... but if 200 other bidders have paid $300 each, that is 200x300 + 400 = $1600 for a $500 item.

It may not technically be classified as gambling, but it is certainly a scam.

Post a Comment               

Tue 10th Feb 2009 @ 23:29 2009: Shell Script: GetCluster

Sun's Solaris OS provides various options during installation, one of which is that you get to choose one from a set of installation "clusters" - sets of packages which go together to create a functional minimal install, or additional packages useful for an end-user, or programmer, up to "install the whole lot" (which doesn't actually install everything; some packages are only installed if you choose certain language options). It calls these "software groups":
Solaris Package Options

The split is not very clearly defined, and I have yet to find an online list to say what packages will be installed for a given package cluster.

This shell script does not address that problem.

But it does address something quite similar.

For some work I happen to be doing at the moment, it is quite useful to be able to find out what installation options will be sufficient to get a certain package installed. If I want (say) the Apache 1.3 packages, this will tell me that I need SUNWCprog, SUNWCall or SUNWCXall. With GNU Grep, it is rather more informative - it describes each installation cluster in more detail, and gives package and version details for the selected package:

$ ./ SUNWapchr
SUNWapchr is in cluster SUNWCapache
Apache Web Server
The Apache Web Server
Sun Microsystems, Inc.

=> Installation Cluster(s):

Entire Distribution plus OEM support
A pre-defined software configuration consisting of all software included in the operating system release, plus OEM platform support.

Entire Distribution
A pre-defined software configuration consisting of all software included in the operating system release.

Developer System Support
A pre-defined software configuration consisting of the typical software used by software developers.

So we know we could install SUNWCprog ("Developer System Support") or better and get the Apache 1.3 package.

If you find it useful, then great. It's probably saved me half an hour, but taken me half an hour to write up...

You can get the script, and a sample clustertoc file here:

1 Comment               

Tue 3rd Feb 2009 @ 13:40 2009: Video: Hacker war drives San Francisco cloning RFID passports

From the page:

In just 20 minutes, he found and cloned the passports of two very unaware US citizens

Do watch the 5-minute video:


Mon 2nd Feb 2009 @ 00:53 2009: Darwin "vs" God

I'm watching David Attenborough's Darwin programme. (Interestingly, in searching the BBC website, this was the second result; the first was Sir David Attenborough says he has received hate mail from viewers for not crediting God in his nature programmes).

This programme is particularly frustrating as it cites scientific observations (such as that two different species cannot mate), and Darwin's conclusions (that if they did, other species would occur) with no evidence. I am happy that there can be different breeds of dog - Attenborough goes to Crufts to show the variety, but acknowledges that the only obstacle is mechanical; any dog can impregnate any other.

A horse and donkey can make a mule, but it can't propagate.

These fundamental things seem to be inadequately explained to the public, if they are indeed true. Please, if these tenets are true, and the best that Darwinism can find, can somebody find a more convincing way to explain it.

If there is any evidence - and I want truly provable scientific evidence - would I be wrong in wanting it? for one species to somehow turn into another, please provide the evidence. It can't be hard, surely?

That is all before we get into the assumption that "one thing changing into another thing" must be against the Bible; who put that assumption up in the first place?

The New International Version (NIV) is the most commomnly-used English translation of the Bible; Genesis 1 is here: Verses 24-28 say:

24 And God said, "Let the land produce living creatures according to their kinds: livestock, creatures that move along the ground, and wild animals, each according to its kind." And it was so.
25 God made the wild animals according to their kinds, the livestock according to their kinds, and all the creatures that move along the ground according to their kinds. And God saw that it was good.

26 Then God said, "Let us make man in our image, in our likeness, and let them rule over the fish of the sea and the birds of the air, over the livestock, over all the earth, and over all the creatures that move along the ground."

27 So God created man in his own image,
in the image of God he created him;
male and female he created them.

28 God blessed them and said to them, "Be fruitful and increase in number; fill the earth and subdue it. Rule over the fish of the sea and the birds of the air and over every living creature that moves on the ground."

Does that even deny that one species can change into another?

Yet Darwinists (and I'm not even going to get into Richard Dawkins' delusions here) seem to insist on banging on this unscientific drum, whilst assuming that it somehow "disproves" the Biblical description.

There are so many "straw-man" arguments in this programme, that I am frustrated once more; I want to believe that Darwinism is capable of explaining more than Manx Cats, but it holds no ability whatsoever to suggest the migration from one species to another, let alone a scientific analysis of how life may have formed in the first place.

If and When it does, it still will not in any way refute any of the text above; in the same way that "E=Mc^2" cannot explain or refute "I love you". Both can be true, whilst explaining the same, or even different, things.

1 Comment               

Sun 1st Feb 2009 @ 01:38 2009: How a programmer becomes a manager

An intersting discussion on JoelOnSoftware about unit testing.

It is a subject becoming quite relevant to me at the moment, as I'm writing some code to to accept inputs from various people who interpret the guidelines in different ways. As I change the code to accept a greater variety of input, what else am I breaking?

Unit testing seems to be the obvious answer: If I create a set of sample inputs, and specify exactly what output I expect from that input, then I can be confident that any changes to the code will not adversely affect the correctness of the solution.

But that's because I'm a geek. Joel Spolsky seems to be changing from a manager-who-used-to-be-a-programmer, into a businessman-who-used-to-be-a-manager, as does Jeff Atwood, by the sounds of it:

I think over time, more and more, I've become really lax on my thinking about this, because what matters is what you deliver to the customer, and how happy the customer is with what you've delivered.

Post a Comment               

Sun 1st Feb 2009 @ 01:02 2009: Two Years From Now...

Stewart Smith makes some 2-year and 5-year predictions for PC technology:

I won't address the 5-year predictions; that is too far to make any sensible judgement. As for the two-year (2011) predictions:

  • the majority of consumer bought machines (which will be laptops) will have SSD and not rotational media

    Disagree. Spinning disks will remain popular because we already have them, and trust in SSD will take longer than 2 years to gain.The majority will be laptops, though.

  • At the same time, servers with larger storage requirements will use disk as we once used tape.

    Agree. This has been happening for a long time with SAMFS/QFS

  • At least one Linux distributoin will be shipping with btrfs as default

    Agree. At least one Linux distro will be shipping with "*" as default, where "*" is whatever you care to choose. I doubt that one of the big 10 (top 10 of will use btrfs by then.

  • OpenSolaris will be looking interesting and not annoying to try out (a lot more “just work” and easy to get going).

    Agree. OpenSolaris is already starting to look pretty amazing.. I have yet to play with ZFS-on-root and memory issues, which are apparently much better already, but it is something that Sun have to keep working on in order to stay relevant in the OS market.

  • Unless Sun puts ZFS under a GPL compatible license so it can make it into the Linux kernel, it will become nothing more than a Solaris oddity as other file systems will have caught up (and possibly surpassed).

    Disagree. ZFS wouldn't get into the mainstream Linux kernel in 2 years if Sun GPL'd it all tomorrow. Ext4 looks to be a strong improvement on ext3, but reiserfs is likely to lose focus, and who else is seriously working on new filesystems for Linux?

  • There will be somebody developing a a MySQL compatible release based off Drizzle.
    I have no experience of Drizzle; it doesn't seem to have any features making it very likely to become a "top-ten" factor in the next two years.

  • Somebody will have ported Drizzle back to Microsoft Windows… possibly Microsoft.
    Ditto. This seems even less unlikely than Drizzle becoming a major player by 2011.

  • X will still be used for graphics on Linux, although yet another project will start up to “replace X with something modern”, get a lot of press and then fail.
    Agree. The X Windowing system is not perfect, but it would have to be a far better system to replace it.
    On the one hand, this is similar to the incumbence of MS Windows; being "better" is not enough - to replace X, you have to be better, and compatible, without losing any applications on the way.
    The MS/DoJ trial called this the Applications Barrier to Entry, and it applies to X11 just as it applies to Microsoft.

1 Comment               

Sun 1st Feb 2009 @ 00:23 2009: Four Chords, 36 Songs

Four chords are enough for at least 36 songs... with 12 notes on the scale, E, B, C#m and A seem very popular:

(embedded Flash, sorry!):

Post a Comment               

Steve's urandom blog
Share on Twitter Share on Facebook Share on LinkedIn Share on Share on StumbleUpon
My Shell Scripting Book:
    Shell Scripting, Expert Recipes for Linux, Bash and more
is available online and from all good booksellers: