Recently in General Category

This morning, following the standard dog walking to get the Sunday papers I found a dead blackbird (female) at the front door of the house - her poor neck had been broken from an impact with the window. We've had this problem before, but it's generally from the low windows; the impact isn't fatal and usually the bird shrugs it off in a few minutes and gets going. Today, however it was, unfortunately dead.
I picked it up to leave it in the back garden and it still felt warm. As I walked back to the end of the garden that warmth kept flowing into me.
It was truly disturbing to think that if I hadn't been there all that heat would have just passed away without ever having had an impact on anything.
Testing the fluid/iphone ui for moveable type. It seems quite usable

gravatar URIs

| No Comments | No TrackBacks
Short and simple: http://en.gravatar.com/avatar/<md5 hash of email address>?.
e.g. echo -e 'bob@email.com' | md5sum gives: c961431faea38ed65bfd982cf2e31bd0. Optional add-ons are size (s=<Number of pixels>), content rating (r=<g, pg, r, or x>), and default (d=<escape encoded URI of an image or one of identicon, monsterid or wavatar>).
great place to do something akin to the 'imitate a lotus notes password entry trick'.
One of my co-workers had to say goodbye to his father today. He suffered from Alzheimers, which is probably one of the worst things that anyone can get. To progressively lose all those things that hold us together as an individual is probably one of the worst things that can happen.
My father passed away less than a year ago, but he was as vital, as intelligent and as cogent as he ever was. We never expected him to pass so suddenly. If I had to see him disintegrate in the way that Stephen had, then I don't think I could have taken it.
Make the most of your family while you have them. Even if they're mad, causing problems, or simply cranky, they're your family.
It beats walking, but when you're get to the airport only to discover that your flight is delayed by an hour kind of annoys you. I spent a short amount of time futzing around with tunnelblick and it finally works. Of course I have no intentions of doing any work today ... It's my day off.
My sister Anne-Marie just gave birth to a baby boy with a weight of 5lb 6oz (~2.5kg for the metric minded). Mother and baby are doing well. Hope that's the last of them for the near future.

The calm after the storm

| No Comments | No TrackBacks
Everyone talks about the calm before the storm. It's true that things seem hella quiet just before all hell breaks lose, but the reality is that once the storm is gone everything is quiet again. This is of course, excepting all the extensive property and personal damage that will have happened around you. After all, I mean the actual world.
I have had my own little storm, and have come out of it feeling quite calm. The storm was worth it to find out just quite what the calm was like in the first place.
It's all a bunch of abstract statements, but the end product is a happier Mr. Pete. And I can get more cake now. Yummy cake! I am obsessed!
I am wandering to Cork for the afternoon and some of the evening. It's the standard Warpcon weekend, but I find myself unable to go for all of it. I will be driving down this afternoon and driving back this evening. I think it will keep me sane... I don't think I could deal with my usual level of excess on that weekend.

webtext.pl

| No Comments | No TrackBacks
Send Vodafone ireland text messages from the command line. Uses the keychain info from safari on the mac. There's an annoying sleep as it looks to detect pump-and-dump html requests (i.e. scripts like this).
#!/usr/bin/perl -w

use strict;
use HTML::Form;
use HTTP::Request;
use LWP;
use Data::Dumper;

my $username;
my $password;
my $message;
my @recipients = ();

if ($^O eq "darwin") {
	# Log in once to webtext under safari and this will work
	# you need to allow the security program to access the keychain
	open(IN, "security find-internet-password -g -s www.vodafone.ie -r htps 2>&1 |") || die "$!";
	while(<IN>) {
		if (m/"acct"<blob>="(.*)"/) { $username = $1; }
		if (m/password: "(.*)"/) { $password = $1; }
	}
	close(IN);
} else {
	# use something else, or program the passwords here
	$username="0876666666";
	$password="password";
}

my $webtext_url="https://www.vodafone.ie/myv/messaging/webtext/index.jsp";

sub usage {
	print "$0 <addressee1> [...<addressee5>] \"Message\"\n";
	exit 0
}

usage() if ((scalar(@ARGV) < 2) || (scalar(@ARGV) > 6));
while (scalar(@ARGV) > 1) {
	push(@recipients, shift @ARGV);
}

$message = pop(@ARGV);

if (length($message) > 160) {
	die "Message too long.\n Shorten to: \"" . substr($message, 0, 160) . "\"";
}

my $ua = LWP::UserAgent->new;
push @{ $ua->requests_redirectable }, 'POST';
$ua->cookie_jar({ });
$ua->agent('Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10');
my $response = $ua->get($webtext_url);
#print Dumper($response);
my @forms = HTML::Form->parse($response->content, $response->base);
my $form = undef;
foreach (@forms) {
	if (defined($_->{'attr'}) &&
		lc($_->{'attr'}{'name'}) eq "login") {
		$form=$_;
	}
}
die "Could not get Login Form" unless $form;
$form->value('username', $username);
$form->value('password', $password);
$response = $ua->request($form->click);
die "Login Failed" if (!$response->is_success || $response->base =~ /Login.shtml/);
$response->as_string() =~ /emaining messages this month:.*>(\d+)</s
    or die "Unexpected response: " . $response->as_string() . "  Couldn't determine number of remaining texts";
my $remaining = $1;

@forms = HTML::Form->parse($response->content, $response->base);
$form = undef;
foreach (@forms) {
	if (defined($_->{'attr'}) &&
		lc($_->{'attr'}{'name'}) eq "webtext") {
		$form=$_;
	}
}
die "Could not get Webtext Form" unless $form;

# walk the label for=... -> form id=... matches
my %chk_labels;
my %address_book;
%chk_labels = $response->content =~ m/label for="chk_box_(\d*)">([^<]*)</g;
#print Dumper($form);
foreach (keys(%chk_labels)) {
	my $iv = $form->find_input("chk_box_$_");
	$address_book{$chk_labels{$_}} = $iv->{menu}[1]{'value'};
}

$form->value('message', $message);
my $i = 0;
print "Sending: $message to ";
foreach (@recipients) {
	my $phone = $_;
	if (!($phone =~ /^[0-9]/)) {
		$phone = $address_book{$phone};
	}
	$form->value("recipients[$i]", $phone);
	print $phone . " ";
	$i++;
}
print "\n";
sleep(5);
$response = $ua->request($form->click);
die "Message was not sent correctly" . Dumper($response) if (!($response->as_string() =~ /Your message was sent to:/));
$response = $ua->get($webtext_url);
$response->as_string() =~ /emaining messages this month:.*>(\d+)</s
    or die "Unexpected response: " . $response->as_string() . "  Couldn't determine number of remaining texts";
if ($remaining == $1) {
	die "Even though the message was sent, the number of available messages didn't reduce";
}
print "Remaining Messages: $1\n";
exit 0
Download Here

Old School

| No Comments | No TrackBacks
I just uncovered the photographic evidence of my debs (prom) - a sleeve of photographs from the night. I cringe and then remember that some of the people in the pictures are no longer here.
Teeny tiny earthquake, I think. It wobbled my seat a little.

Are we there yet?

| 1 Comment | No TrackBacks
Sitting at the airport waiting to board the flight to France... and onwards

Japan baby

| 1 Comment | No TrackBacks
Holidays are nearly here :)
Psychologist Scott Plous said it well in "The Psychology of Judgment and Decision Making": "In very general terms: (1) The more available an event is, the more frequent or probable it will seem; (2) the more vivid a piece of information is, the more easily recalled and convincing it will be; and (3) the more salient something is, the more likely it will be to appear causal."

So frelling tired

| No Comments | No TrackBacks
It's been just over a week since my father passed away. I am so tired in the evenings. I need to get a bunch of vitamin supplements. I'm back in the city, thinking about all the work I need to get back to and it's not making me very happy. I nearly had a panic attack in Tesco yesterday, the people were getting on my nerves and I was not operating on all cylinders.
My father was deeply loved by all the people in both Castleisland and Castlegregory - so many people came to give their respects that we were overwhelmed.
It rained as we lay his body in the family tomb. You may think this is some hoity-toity thing, but in that tomb are my great-grandfather, grandfather, grandmother, grand-uncle Dick, who was the doctor that delivered my father and my own father. There is an immense amount of family history there in one place.
Sorry, can't really continue with this.
My father passed away last night following a heart attack. It was sudden and completely unexpected.
The removal takes place tomorrow evening in Tagneys funeral home, Castleisland from 5.00pm until 7.30pm.
The funeral mass takes place in the church in Castleisland on Tuesday at 11am.

Electric Magnolia

| No Comments | No TrackBacks
Soooo tired. Long weekend but so much fun. Props to Tara for another great party.
It's a history of oil over the last 100 years, as told by Robert Newman. Funny and interesting. I hearken back to my leaving cert history classes and think - damn, if only my teacher had been that interesting I might have been able to stay awake in class :)
Flights booked. Credit card looking a little bit weary :)
Yes, all I have to do is actually book the flights.
Damn you Tara! Damn you to hell!
I so have to go; otherwise it's just a stupid rant.
Evolution doesn't really tell you that when you use a script to generate your signature you need to terminate the lines with a '<br/>', otherwise it pretends that there hasn't been one.
All to do with html mail composition. The only way I accidentally found this out was because of it's gconf entry containing this gem:
<?xml version="1.0"?>
<signature name="default" uid="XXX@XXX" auto="false" format="text/html">
<filename script="true">sig.work</filename>
</signature>

Wonderful quote from the Guardian

| 1 Comment
Sir Ken Macdonald -- the UK's DPP (director of public prosecutions - basically makes the call as to whether a case goes to trial or not) has spoken out against the "war on terror":
He said: "London is not a battlefield. Those innocents who were murdered on July 7 2005 were not victims of war. And the men who killed them were not, as in their vanity they claimed on their ludicrous videos, 'soldiers'. They were deluded, narcissistic inadequates. They were criminals. They were fantasists. We need to be very clear about this. On the streets of London, there is no such thing as a 'war on terror', just as there can be no such thing as a 'war on drugs'.

"The fight against terrorism on the streets of Britain is not a war. It is the prevention of crime, the enforcement of our laws and the winning of justice for those damaged by their infringement."

Sir Ken, head of the Crown Prosecution Service, told members of the Criminal Bar Association it should be an article of faith that crimes of terrorism are dealt with by criminal justice and that a "culture of legislative restraint in the area of terrorist crime is central to the existence of an efficient and human rights compatible process".

He said: "We wouldn't get far in promoting a civilising culture of respect for rights amongst and between citizens if we set about undermining fair trials in the simple pursuit of greater numbers of inevitably less safe convictions. On the contrary, it is obvious that the process of winning convictions ought to be in keeping with a consensual rule of law and not detached from it. Otherwise we sacrifice fundamental values critical to the maintenance of the rule of law - upon which everything else depends."
It's great to see a civil servant complaining about the state of play of the government.
Makes a huge difference on my last entry :)
Peace out!

monist or dualist?

| No Comments
I've been reading 'The God Delusion', by Signor Dawkins. Prior to reading this book, I've only read articles and summaries of his work. This is much more of a full digestion of his work.
To be honest, and this is based on some terrible reading in my youth, I'm a monist, with slightly dualistic tendencies based on being able to use some mechanical system to replace/reproduce someone's mind. Let's be honest about this; I think it's only a matter of time before we create a mechanical system that can replicate actual people. The why question is, of course, is this the same person?
If you recreate the exact mind of another person how can anyone determine after the fact that one is different from the other; in fact as a recreated being how do you know that one is more than the other. Consider if you replaced someone's brain one neuron after another is there any difference?
Honestly, this isn't a god question, it's not about god, it's more of the nature of existence. Whee, I can back myself up, what does this mean for my mind in the future?
Pants, I've just put into words something that has been sitting on my mind for a long time.
Sorry kids, I don't believe in a god.
Granted it's a bank holiday weekend here in sunny old Ireland, so the Gardaí are out in force trying to catch speeders and make sure people aren't driving while drunk. I've been stopped before, and it was at most a check of the tax and insurance on the car but this time it was breathing into the breath-alcohol meter. First time I've ever done it, and as they bag everyone on the road, I wasn't concerned that they thought I was driving erratically or anything like that. I would have been stunned if it had given any result other than zero, but even so I was a tad nervous. There is a feeling that you are under a spotlight (it was a big chunky torch).
Noew I'm back at the house and enjoying a relaxing drink before heading for bed as after all, I need something to get the smallest twinges of adrenalin out of my system.
I think fintan says it best when he says 'Hmmm, which part of stock market floatation did you not grasp Jack?. Welcome to the world of private business.
Aer Lingus... a division of Ryanair has a nice ring to it.

I just redacted my last entry

| No Comments
Stupid Pete, read the law, not your thoughts before commenting.

What Where Who Why

| No Comments
Well,
Sad, tired and still stuffed for a direction.

Beaten to the punchline

| No Comments
Lovely weather we're having for the golf.

Debtors' prison

| No Comments
It's a concept from the old times. If you can't afford your bills you are thrown in prison until they can be paid by hard labor. You essentially are made work off your debt to people/society in this way. This is a system that works in the past as people didn't have the ability to get out of their depth in debt. As soon as you reached the edge you were thrown into prison, never to return.
The problem with such a system is that is is too draconian. You don't allow a person to get out of debt by their own means - they are plunged into a working role that only pays minimum wage from which they are unlikely to emerge from.
The problem is the declaration of bankruptcy. You create a business that does not do well and you end up in more debt than you could ever service. A declaration of bankruptcy allows you to completely evade this obligation without much in the form of penalties. Granted you are not allowed to have a company for a period of time, but that's the sum total of the penalty once you file a chapter 11.
Consider a mandatory prison sentence for anyone who has a debt after the final judgement on a chapter 11. I would feel that if they could convince a jury that they were capable of paying off this form of debt they should be permitted to do so - however I would not permit a lawyer into the system. They should be able to convince us on their own that they can pay the bills. Give them a period of time to be producing a reasonable return - based on the loss to the other parties.
Creditors should be allowed to clim their debts as is reasonable (as decided by a judge (maybe not the judge in the original case). But the long and short of it is that people who were owed money will not be left at odds once the business is restarted. I have personally seen murderous intent towards new companies prinipally due to the fact that the original creator is still involved and he didn't suffer any loss due to an adverse judgement against him.
Yes, legal, but when did that ever stop the folks running the casino from suddenly finding you missing, and that you turn up later with the crap beaten out of you. Let's be perfectly honest about this... legal is one thing, not getting caught is the real trick.
Honestly, even with deregulation, I don't think that the use of electric or electronic mechanisms to directly alter the probability of winning at a bet is illegal.
Indirectly, I don't know.

credit for gambling thoughts

| No Comments
Well, it's all about the legislation. There has been renewed interest in the legislation considering banning the use of credit cards to pay for gambling debts. Personally, I think that bannig it is incorrect. It should instead be treated as another form of a cash advance. I am reminded of an accountant friend of mine (yes, they do exist) who told me that it's illegal to use one credit card to pay off another (without an agreement). Basically it's all about credit, cash and debt.
Using cash for a bill means you owe nothing after the transaction.
Using credit for a bill means you owe something after the transaction.
Using credit to pay for a pure credit transaction is just plain cheating (and the banks and law says so most of the time, and in most places).
Using credit to pay for gambling debts is nothing more than an extension of the previous point. You should not be using credit to pay for what should be a cash transaction only; because the last thing you want to have is people owing money to 'easy' firms when they should really be owing money to 'hard' firms.
Sarcastic statement? somewhat. I'm a bit of a pragmatist on things like this. The only problem is that I don't believe you should be cheating by laying off a debt for a month when you should be paying money for it.

New power brick

| No Comments
Next business day does mean next business day.
It was a bit of a trial. The images were too big, I didn't have a correct php configuration. An update to the gallery was borked, so I was missing some fields. All fun, really.
Some of my pictures from Dermot and Lindsay's wedding are now viewable.
It was Dermot and Lindsay's wedding over the weekend. It was a great event, and I'll get to uploading my pictures as soon as is practical. They're a bit larger than usual and ADSL really puts the capital A in Asymmetric. 100mb upload to come soon, and tomorrow I'm helping someone clean out their house.

stagolicious

| 1 Comment
Forgive the poor speling and the poor grammar. Last night was young dermot's stag party. We spent the afternoon shooting things in Wicklow. I think the reverend should have been there, he would have probably beaten us all (embarassing, sonsidering that we are a bunch of computer gaming first person fools.
Interesting thing that Windows Media Player 11 does to the artwork on albums you possess is to place them in a cache directory under %USERPROFILE%\Local Settings\Application Data\Microsoft\Media Player\Art Cache\LocalMLS. Each one is names after a guid, which is probably generated for each track in the collection.
I'm just wondering how difficult it would have been to use a hash of the image data as it's file name, and storing the hash in the media library instead of the pointer to the guid. This way when you have duplicate images (typically 10 per album), they are not replicated into the cache of images.
The other complaint is that I've got a bunch of black album art images. It's completely odd, as they seem to be completely ok inside in the file - other tools have no difficulty in examining them, and show correct icons. Maybe I should feed this back to them - after all it's a beta of media player 11.

bye bye barry

| No Comments
Here I am listening to David Bowie; hoping to hear from Finbarr 'Barry' O'Flynn, but knowing that nothing we play willl ever amount to listening him back.

Post 4th

| 1 Comment
We just had our fourth of july burn some food and enjoy ourselves thing. Burned animal with added spices. Just the thing on a medium-warm day like ours. Then there was the mandatory sing at the flag thing by the kids. I got one shot of Athena, but that was the extent of it.
When buying something from the internet I appreciate being informed of things during the process. When ordering something that requires the dispatching of a physical item, then you need to ensure that the customer can safely determine what the state of their order is at any point.
There are two normal mechanisms to support this. The first is an order status page. This page contains information about the state of the order. For example, when a company accepts the order it is flagged as 'Accepted'. Once someone is taking the item and putting it into a box it should be placed in the 'Processing' state. When it has been given to the delivery company a state of 'In transit' would be appropriate. When the delivery reaches the destination and has been signed for, then a state of 'delivered' would be appropriate. This covers the company, who can be happy that the order has been satisfied, and the customer who can see what state their order is in.
Some companies would combine the Processing and Dispatch state, some companies don't have confirmed delivery. These things need to be factored into the equation.
For companies that don't maintain separate account pages, you have the status email. This is sent out once the item has been dispatched from the company. This allows the customer to feel some connection to the order that they have made without needing to confirm the location of their item with a customer service representative.
A few simple steps and you can help your customers feel happier with your service, and as a result more confident in their feeling that you are not some fly-by-night operation.
As the tag says, communication is the key to a successful relationship, be it business or personal.
Naah, I just thought I'd put in a title like that to grab a few eyeballs. The brother is going to the Munster Biarritz game this weekend in Cardiff. He got flights to London and is travelling up with the Brother in law for the game. Outrageous price to go to Manchester for the weekend - something in the range of €300, so the mammy has delayed her trip to visit the uncle until early june, where it's a much more reasonable €140. I'm not going to the game, as there aren't any spare tickets. If I'd known that Liz was in the US this week, I could have connived to get the ticked to Brian in New Zealand who promised to come all the way to see the game if he was guaranteed a ticket. That would have been silly.
I'm about half way through the evening course I've bene taking. It's interesting. Some things I knew, some things I didn't, but overall educational to have everything you need lined out in front of you. When I couple it with the Maths grinds for the niece, I'm busy in the evenings, and more than a bit tired. It will be a matter of time before I'm too tired to watch my favourite 'Boston Legal' on the telly. Maybe I should stop watching it pre-emptively; or even record it.
Mark, sorry for not getting in touch sooner. I've been distracted and just haven't gotten back to you.

Poor Mr. B

| 1 Comment
Looks like he got hit with an issue in User Profiles Enhancements for WS2003/XP, namely that the local guest account is deleted on logoff when the computer is part of a domain (it used to always be deleted). Was the laptop part of a domain? Can he recover those lost files? The likelehood is that he logged back in again as the guest user, scribbling enough information back onto the hard drive to lose the files forever.
Bruce Schneier, who has written several very good books on the topic of security has announced the Movie-Plot Threat Contest, entries due by the end of April 2006, it's purpose is to have people come up with the most unlikely, yet plausible, terrorist attack scenario they can.
Dermot, are you listening? You should try it. But not if you are too busy organising the wedding.

Fascinating data

| No Comments
Details from the 2000 census, in a map format. You can poke thing where you are living...

Japanese Gift Giving

| No Comments
This week's Josh in Japan discusses Gift Giving in Japan. It's an interesting topic, especially the 'never refuse' principle - refusing a gift is considered rude.
One of the links for The Best of Software Writing II linkfest is to an article entitled 'Primum non Nocere', or First, do no wrong. It's an important principle that should be followed when writing software. On the non paranoia side of things we have the 10 places you must and must not use AJAX, which is a good consideration of appropriate cross cutting of client/server interaction. There's the 'Fractal nature of UI design problems', where I've reached step 5 in the problem being addressed before just saying 'good enough'. How I came to despise AJAX, part of a long rant that I've experienced myself. Does Visual Studio rot the mind? I'm a vim user. Why I hate Frameworks - an argument against complicated frameworks. Simple ones for me thanks.
Bit of a linkstravaganza really.
Brian has this habit of sending out emails with a bunch of attached pictures/embedded power point presentation/something using up lots of bandwidth.
Finally an email that only weighs in at 5k (damned html email). It contains a link to pictures. Now if only he would not have his website in a notes database. It just makes me cringe when I see it. It's so... wrong. There's no other word for it.
There's a little message in the middle of Adam Curry's Daily Source Code, from a man in Greece about dynamically adding ID3 tags to the file just prior to downloading. I just remembered that Version 2 id3 tags are put at the beginning of the file. All you need to know is how long the tag is, add it to the content-length for the download and the feed the tag out before the file. Adam's idea of the golden ticket is doable without too much processor overhead.
Theoretically, you can embed ID tags into mp3 files once they are out of frame. The property of the tag is that it appears as junk for non-supporting applications. Embedding audio bumpers at the start and finish is trivial (you may need to eat a v1.1 tag at the end of the file).
Other trivial pieces of information I discovered today - WiFi is a pun-term of HiFi, and doesn't stand for Wireless Fidelity, it was simply the name that the ad execs came up with when asked (as 802.11 doesn't have a ring to it). [via The old new thing]
[Listening to: Untitled 4 - Sigur Rós - ( ) (7:33)]
I was driving this evening from Cork back to Kerry, so I was unwilling to participate in the drinking of many, many pints. While heading for the car at about 10.30 in the evening I noticed a few very unsteady people, but it didn't remind me of the worst excesses of previous years. It was bitterly cold, which probably kept people indoors and out of trouble. Pubs haven't let out yet, so the storm is probably on the way.

Marmalade Pudding

| No Comments
Medium Pudding Mixture:
  • 4oz. Margarine
  • 4oz. Sugar
  • 2 Tablesp. Water
  • 6oz. self-raising flour
  • 2 eggs
  • 1/4 Teasp. salt
  • Flavouring

Method:

cream fat and sugar, beat in the whisked eggs, stir in the flour and salt with added water, Steam or bake.

For Marmalade Pudding:

Add one large tablesp. of marmalade to the foundation mixture. Steam and serve with Marmalade sauce.

To Steam:

    • use a steamer over a pan of boiling water.
    • Have a well fitting lid.
    • Keep water boiling and steaming all the time
    • Place the pudding basin in a saucepan with boiling water.
    • Water should come half way up the sides of the basin
    • Keep the water boiling, and as it boils away, fill up with boiling water, but do not wet the top of the pudding
  1. Steam in a pressure cooker, according to instructions.

Time for steaming is about 1.5 hours for a pudding made from 6-8oz. flour.

Turning out: A light pudding breaks easily, so loosen it gently from the sides of the basin with a flexible round-ended blade, which should be pressed against the side of the basin, not the pudding.
When loose, cover the basin with a hot dish and invert quickly.
A good pudding may be marred by careless serving and enhanced by dainty dishing.

To Bake:

Use a pie dish, cake tin, soufflé tin, fireproof dish, ring mould, small moulds or deep bun tins.

Grease well.

Line the base of any flat-bottomed tin so that pudding will turn out easily.
Bake in a moderate oven (350f or No. 4)
Small moulds may be baked at a slightly higher temperature than large ones.

Time required: 30-40 minutes for large and 15-20 for small moulds.

I had a nightmare last night

| No Comments
It started out quite simply. I was with a few friends in an internet café just shooting the breeze when I noticed this perceptual shiver run through all the people there. When I asked what was going on nobody was talking. Finaly I convinced one of my friends to tell me and he informed me that one of the folks from the data retention section of the Gardaí was here to install the recording software for the shop.
This was in foot of the new legislation that had been introduced for the storage of all internet communications for an arbitrary time. Every bit was being recorded just in case it needed to be checked at a later time for terrorist activities.
This nightmare took a strange turn when I examined the data gathering software. It was performing a simple data dump of everything that was passing through. Because of the vast quantity of data, nothing was being done to ensure that it could not be tampered with by anyone should they have access to the data. At a later point one of my friends found himself in court facing a criminal charge of conspiracy to commit murder based on the content of one of the logs that had been recorded.
It's scary, but it is possible for it to happen. The question beomes how do we ensure the integrity of the data that is in the recording? If you wanted to prevent accidental tampering with the data, then using some form of checksum on individual blocks of data would provide for that, however a malicious tamperer could simply alter the checksum for the given blocks to prevent their detection. Based on the quantity of information being gathered, you could chain the checksums. Initialize the first block to some random piece of information. checksum it. For the next checksum initialize it from the content of the previous checksum. The principle is used in various encryption systems (Cipher Block Chaining). If you wish to tamper with the data in-stream you need to alter the checksum from the point of alteration to the end of the recording.
As simulteneously you have a program continually writing new blocks of information to the storage device, you would need to either (a) insinuate a program that would alter the checksums as they are written to the device, or (b) interfere with the recording program to possess the new checksum just prior to the next write to the device, thereby having it perform the updating for you.
Both techniques are not impossible to perform, in fact the first is downright trivial. The only way of bypassing this sort of tampering is to ensure that the recording device is isolated in some way from the data that it is recording.
For this purpose, it would need to be a specially assembled recording device which possesses two fail-hot network interfaces as it's only method of communication to the outside world. A fail-hot network interface pair is one that when the power is removed simply keeps the network traffic passing through without interruption.
Secondly it would just record the data, it would have no interpretation capabilities. The reason for this is to remove any chance that it could be subverted through maliciously formed network packets.
The box should be tamper-evident. by having this facility, any efforts to extract the data through physical manipulation of the recording device would be easily noticed, thus rendering the data recorded inadmissable in a court. Tampering with the device would be a criminal offence.
The device would need to be regularly inspected, hot-swapping new devices for old ones so the data recording could carry on uninterrupted.

Not much to say at the moment

| No Comments
Just had to put something useless into the mix! guess what, I'm tired and I don't have much to contribute to the wide world. I'm interested in the GTD stuff. Maybe I should just GTD.
One thing I have to say is that I don't like the bloody shite on the TV.
More 'extreme scenes', but with a shiny happy ending. I think I need to sit down with about 4 days worth of the show to get it out of my system - just like I did with Kit Kat's. I can't eat one anymore without thinking - damn, but this is tastless crap. I'm currently avoiding going through the process with the Tesco continental thins. Yummy, but I'm careful about it.
Donal! Where can I buy the booze! It's all good; honest!
I thought I had it, but I didn't. I still can't find out the reason. Currently, after each post I re-read the table by closing and opening it. The table is a small, local, temporary table for recording information before posting it to the real database so I don't really care that the exception is triggered.
Now, I'm getting DbgBreakPoint exceptions. This was in a simple showmodal call, so I have no idea why it's there. Apparently it might have something to do with opening the table concerned.

New on the blogroll... davetron

| No Comments
I finally got someone to send me/link to The Chronicles of Davetron, where I discovered that he qualified for the Winter Olympics in the skeleton. Let me tell you that since I've know Dave he's always been a fanatic for the sports, and to find this out I am just as proud as punch. While we partied he trained, and now he gets to represent the country at the Olympics - it just brings a tear to my bitter eyes.
The godchild was in a table quiz tonight and he won! we were all surprised. while we were going home he asked a question about the internet - basically claiming that the internet was invented in 1990. I had to correct him, of course that it was the world wide web. Then I decided to explain the 7 layer OSI model to him. I think he regretted having made the slight factual error at the beginning. In the end, I explained to him that the web operated as a level 7 protocol; or in the parlance of Arthur C. Clarke; is indistinguishable from magic. It would have driven him to sleep if it wasn't for the vast amount of soda he had consumed.

Met the bob

| No Comments
Well I was in Dublin over the weekend and met the Bob and his girlfriend Karen. We went for food and a few drinks. He is doing well. I'll put up the pictures when I get to broadbandland.
The laptop does suspend and resume to disk, but I have issues with the video card - I use the 855resolution program to allow the video card to set the native 1400x1050 resolution of the screen. When I resume once X kicks in and can't set the video mode correctly I am booted back to a login screen.
I put in an entry in the powersaved post resume from suspend2disk script, and it correctly repatches the video mode before the X server tries to reinitialize the video. The problem is that I need to use the powersave command to shut it down correctly.
I took the alternate route and installed the software suspend2 patch. It provides a cleaner interface to hibernation (the hibernate command); it compresses the file; it supports using a file on disk instead of the swap partition; you can encrypt the hibernation file. It will unmount the windows paritions when I suspend, remounting them when I resume (corruption issues avoided) and runs the 855resolution command before X kicks in. All in all a nicer way to deal with hibernation.
I still haven't got suspend to ram working. Standby works, though.
Now all I need is to get 855resolution working on Solaris and most of my complaints will just vanish into the distance.

A few links

| No Comments
The world's best quotes in 1-10 words.
Ok, looks like there's only one today.
My sister got her divorce in the courts this morning. She's planning a party for tonight.

Energy Drain

| No Comments
I have a problem with emotional situations - they tend to drain my energy completely. On Tuesday morning, my sister-in-law's father passed away. I was directing traffic around the house last night, and got home sometime after 11pm. I was, to say the least, shattered, even though I was doing nothing more than waving a torch and walking people from their parking place to the house (to protect them from oncoming traffic).
Every funeral occasion in the last year has left me drained; even if they were only slightly connected to me.

War comparisons

| 1 Comment
I've been re-watching the new series of Battlestar Galactica, and damn, but it's great. I've played several tactical games on the computer, but I've never encountered anything that has had the player in such an impotent position. You are dealing with an enemy that can increase it's number by simply pressing the 'more' button on a console. I don't think that anyone could play a game that ultimately, regardless of what you did, was unwinnable.
There are a few missions in games (such as the 10 minute survival ones in starcaft) that gave you a sense of just how hopeless it was, but they really don't contribute to how awful it is.
There are few games that get close to this fact. Freespace 2 was one of them. It concludes with the baddies causing a supernova. It leaves us with a sense of hope. The only problem is that it, at some level, it allows us to feel that we can win.
I want an armageddon situation.

Lots of cups

| No Comments
Today was of course christmas dinner, but over the last few days (yesterday included) I've been struggling with an upgrade to SuSE linux 10. I stupidly installed the commercial version, instead of the open one. X doesn't work correctly (swapping VTs crashed the X server - this is apparently a bug with Xorg when compiled with gcc 4.0.2 [laptop dell inspiron 500m, 855 intel graphics). fixing the missing packages took a while. The only reason I noticed was that xgettext was missing. Turns out that there's a bunch of packages missing (ncft, gettext-devel). For someone who cares about having a decent ftp client and be able to use xgettext (I mean what the fuck are you people thinking - do you even care about the rest of the world. You pretty much can't compile a single open source project without xgettext).
Anyway, rant over for the time being, on to the fixes. I made use of a page on the jem report, which got me a convenient set of Yast sources to add the missing packages.
A partial fix for X was to download the fairlite x drivers, the problem is that I lose 3d acceleration. Lose one thing, gain another! Frustrating to say the least.
We'll just have to call it Tara's party was on last weekend. I got my head out of my ass long enough to post the pictures I took with my mobile phone - I forgot my proper camera so they're pretty crap. I had a hangover, but it was much alleviated by not drinking of the Sambuca and Mezcal that was on offer.

Aww, Pat Morita has died

| No Comments
Quite a few people died this week, not the least of which was Arthur (Artie) MacGrath, George Best and Pat Morita.