Tuesday, 16 December 2008

Gb Traffic improvements - process memory use and traffic(load)

Gb Traffic improvements - process memory use and traffic(load)

Friday, 12 December 2008

Blockus - it's a bad idea to forget about ALL your opponents!

Blockus tournament game today.
Paul James Mike Dave.
Dave attacked Mike and Mike got sucked in.
James and Paul had fun squeezing first poor Dave then Mike out.
Scores: 0 0 23 43

Look at the lovely big fertile blank area :)

Thursday, 11 December 2008

receiving oddly shaped packages in the office

If you receive a package labeled "metal detector" in Ireland you might get teased a little bit about it. :)

The "control" box has some paper engineering showing nothing/dig/dig FRanTiCallY.
Very nice. See the real metal detector in box on floor.

Rechargable batteries and Led and energy saving lightbulbs also from maplin.
But where's the capacitor for the sewing machine? :(
Too small?

Sunday, 7 December 2008

Oliver week Dec 1-6

Quite a mad week.
Week and weekend before rehersals. Costumes and pieces come together.
Also on Sat loading set into truck from warehouse and collecting lots of wood and likely props from container.
And on Sun unloading truck into theatre. Good fun :)

Rehersal on Monday. Whole evening from 6 to 10.
We could watch kids a bit do their bits.
Run through in order - in Boy for Sale a disembodied voice (Helen) yelling go further over James!
During the week we come in from other side (House Left) and Ronnie gets a chimney sweeps brush by Thursday (as "there's always a sweep in Dickens" :) ). Quite enjoyable pretending to size up the lad for sale and discussing different things (mostly in own head!) each night.

Consider yourself is next for me/us chorus adults.
That's the run into stage (past Dodger and Oliver with wheelbarrow coming off) middle front for me with Deirdre.
SING and prance. Pause briefly "yadda rhubarb". SING and prance and walk off "chat yadda".
It took us a good while (right from the start of all the rehersals) before we weren't making a mess and fogetting each step/action. I hadn't a partner for it for a while. I think the girls took it in hand one week and more or less decided I might just about be able to do the dance (after ALOT of practice). Not sure. Brilliant fun to dance with D. Lovely to turn to an amazing smile at "we're going to get along".

Act II opens with oom pah pah.
No tables for oom pah pah. A bit more awkward as we were able to lazily lean on the tables.
I quite like oom pah pah! :) In rehersals John Power gets up to introduce Nancy singing "Goddess of virtue" "uohhhh" and I call over Niamh to sit on my knee. At end of oom pah pah we all get up and go in hailing Nancy but then "It's Bill Sikes" yikes scared and Caoimhe was on my knee. On stage we were standing but after Bill Sikes came it changed a bit - usually cowered in corner with Valerie and John and Ciarán when he got thrown over to us.

Later on walk on stage for singing who will buy (reprise) as dancers come in again.
Then down onto street to see Oliver get caught.
And off.

On again just after Nancy's murder is discovered and off as a lynch mob to catch Fagin in the 3 cripples.

Finally the finale. Mash through crowd each night to get closeish to front. If I find Valerie I'm about okay. Kids first all up around platforms. Then chorus in - Consider yourself - no dance. Then Oliver comes into middle. Then 2nd principles and principles.

Shows each night Tue - Sat with 2 on Thur and Sat.
No bother with the chorus pieces for me but after bringing coffin's on/off or table off I feel a teeny bit shaky at start.
Unrehearsed bit. Big coffin is awkward. Though I quite like it :) chuffed. Very funny that.

Oh oh! I got to fire the gun on stage Tue. :) And kill poor Bill.
Took aim, click! misfire. :-o steady. BANG! uohh pretty sparks.
It's loud and makes peoples ears sore :( Chris fired it Tue and it was fired offstage Wed/Thur/Fri and Carl did the deed each night.

Thursday night party in Liam&Ailish's house.
Before that home and chat. Fionn's Mum & Dad came to see the show with Sheila.
Chat then later singing songs. Carmel lovely depressionb/railroads/...? song. Chris piano. Hilary guitar. Everyone singing :)
Good fun. 2 beer party for me. too much singing :)
Everyone cleared out at? 2? Probably. Except for a couple of people smoking out the back!

Last performance Sat 8-10.
Set disassembled and truck loaded at end of play. Daire home with Ray & Fiona & kids.
Party on Saturday in Dundrum in a little Spanish restaurant - Buona Sera. OMFGIWFBIFIL22T! :) W2TA4O5C.
And jaypers too.
Daire got home from kids party 2:30. I got home 8am. Taxi with Lisa, Carl Niamh. Frosty.

Sunday bed 8am, up 1:30.
At 2pm unloaded truck full of the stage set again at Nick's house. (cycle out)
I had thought there'd be maybe one or two people missing but not at all!
Kids and I got our Christmas tree Sunday too in Murphystown stone.
Kids decorated it all themselves.

Monday 9 kids did not have school so I was at home with them.
Did merges for work though - about 4 of them.
Tue work from, home. Fionn to funeral in Cork.
Wed back to work.
Thur & Fri I also took holidays and I was sooo relaxed after Thur.
BUT now (Tue Dec 10 I've got an awful chesty cough. ARGH! :-( BAH.

Thursday, 4 December 2008

Oliver playlist with backstage from my point of view

Here is something like what really happens backstage from my perspective (leaving out loads!)

Scene 1 Workhouse Dining Hall

get ALL the kids QUICK QUICK!

"Food, Glorious Food" Oliver, kids Chorus
"Please, sir. May I have some more?"
"Oliver, Oliver" Widow Corney, Mr Bumble, Oliver and kids
Scene 2 Workhouse Parlour ... and into Street
"I Shall Scream" Widow Corney, Mr Bumble

Go house Left with Ronnie, 2nd couple to walk on.

"Boy For Sale" Mr Bumble, Oliver, street people, Mr Sowerberry

Consider purchasing scrawny orphan, chat silently, nod to other street people.
Exit house right (avoiding other couples going L, the undertaker Mr. Bumble ond Oliver exiting in middle!)
Offstage grab corner of coffin and lug it into place on stage.

Scene 3 The Undertaker's
Liberal terms ...
"That's Your Funeral" Mr Sowerberry, Mrs Sowerberry, Mr Bumble
"Where is Love?" Oliver
morning - fight - ecape Oliver, Noah, Charlotte, Mr&Mrs Sowerberry, Bumble

Blackout. Go onstage, lid onto coffin, grab corner and lug it offstage.

Scene 4 Paddington Green
"Consider Yourself" Oliver meets Dodger

Ready to enter from House Left, Chris Aoife James Dee .. ..
Watch out for wheelbarrow coming off.
Need to really RUSH on fast.

"Consider Yourself" Adult Chorus

dance! sing! prance! SMILE! :D
exit House Right.

Scene 5/6 Thieves' Kitchen

Hello Daire! Time for a cup of coffee and a biscuit and a chat for some adults.

"Pick a Pocket or Two" Fagin and Gang
"It's a Fine Life" Nancy, Bet, Gang
"I'd Do Anything" Artful Dodger, Nancy, Bet, Oliver, Fagin, Gang
"Be Back Soon" Fagin and Gang
Scene ~7 Street
Oliver is caught stealing from Mr Brownlow. Dodger,Jack,Bow-Street-Runners

Scene 1 The Three Cripples
"Oom-Pah-Pah" Nancy and Company

onstage for curtain up for oom-pah-pah
This is all changed so not sure what's going on! At House R with Niamh at start.
After Bill Sykes arrives back to house R cowering with Caoimhe or Valerie or ...
pubness and drink (gin) and laughing and chatting.

"My Name" Bill Sikes

Shocked when Nancy is slapped.
Leg it offstage House R when Bill Sykes shouts.

"As Long as He Needs Me" Nancy

Scoot around to House L. After song blackout - grab table + cups exit House R.

Scene 2 The Brownlow's
"Where is Love?" (reprise) Mrs. Bedwin, Oliver
"Who Will Buy?" Oliver and Street sellers

nobody is walking on to buy strawberries/milk/... anymore

doctor's visit Mr Brownlow, Doctor, Oliver, Mrs Bedwin
Oliver goes with books Mr Brownlow, Doctor, Book boy, Oliver, Mrs Bedwin

move into stage, up steps onto back platfrom.
Carl - Carmel and me - Gareth and John Power - Brendan below.

"Who Will Buy?" Oliver and Street sellers and Chorus

JOYOUSLY! :) to sky and other chorus singers

Nancy catches Oliver

move into stage, chat to rose seller+Gareth.
Then looking at Nancy grabbing oliver. Then Bill Sykes.
Exit House L

Scene 3 Thieves' Kitchen
Nancy & Bill argument
"Reviewing the Situation" Fagin
Scene 4 Workhouse Parlour and into the Street
honeymoon bliss over for Mr and Mrs Bumble
old lady visits Mrs Bumble - locket
"Oliver" (reprise) Mrs Bumble, Mr Bumble
Scene 5 Mr Brownlow's and into the Street
... Mr Bumble, Mr Brownlow
... Nancy, Mr Brownlow
"As Long as He Needs Me" (reprise) Nancy
Scene 6 London Bridge
Nancy with Oliver caught by Bill Sykes and murdered, Mr Brownlow, street people, BSRs...

Brownlow finds Nancy's body. "Murder Murder!" John Power in.
me and various street people coming in.
shock woe. who? what?
Emma - It's Nancy!
Bow-street-runners arrive. Search Fagin's den.
wah oh ... Bill Sykes appears up on bridge. Crowd spots him.
BANG! (James shot the poor fellow on Tuesday)
more shock woe ahhh.
Where's Fagin.
Crowd goes to 3 cripples to lynch Fagin.

? "Reviewing the Situation" Fagin
Finale Full Company kids, adults

Oliver! musical play/scene list

I made playlist so I have a vague idea when to go where in the musical.
We've had 2 dress-rehersals Sun + Mon in theatre, staged dress rehersal Tue with full audience and and completely full performance last night.
Tonight a shorter show 5:15 then at 8:00 full performance. Then one Friday and on Saturday matinee + evening.

Scene 1 Workhouse Dining Hall
"Food, Glorious Food" Oliver, kids Chorus
"Please, sir. May I have some more?"
"Oliver, Oliver" Widow Corney, Mr Bumble, Oliver and kids
Scene 2 Workhouse Parlour ... and into Street
"I Shall Scream" Widow Corney, Mr Bumble
"Boy For Sale" Mr Bumble, Oliver, street people, Mr Sowerberry
Scene 3 The Undertaker's
Liberal terms ...
"That's Your Funeral" Mr Sowerberry, Mrs Sowerberry, Mr Bumble
"Where is Love?" Oliver
morning - fight - ecape Oliver, Noah, Charlotte, Mr&Mrs Sowerberry, Bumble
Scene 4 Paddington Green
"Consider Yourself" Oliver meets Dodger
"Consider Yourself" Adult Chorus
Scene 5/6 Thieves' Kitchen
"Pick a Pocket or Two" Fagin and Gang
"It's a Fine Life" Nancy, Bet, Gang
"I'd Do Anything" Artful Dodger, Nancy, Bet, Oliver, Fagin, Gang
"Be Back Soon" Fagin and Gang
Scene ~7 Street
Oliver is caught stealing from Mr Brownlow – Dodger,Jack,Bow-Street-Runners

Scene 1 The Three Cripples
"Oom-Pah-Pah" Nancy and Company
"My Name" Bill Sikes
"As Long as He Needs Me" Nancy
Scene 2 The Brownlow's
"Where is Love?" (reprise) Mrs. Bedwin, Oliver
"Who Will Buy?" Oliver and Street sellers
doctor's visit Mr Brownlow, Doctor, Oliver, Mrs Bedwin
Oliver goes with books Mr Brownlow, Doctor, Book boy, Oliver, Mrs Bedwin
"Who Will Buy?" Oliver and Street sellers and Chorus
Nancy catches Oliver
Scene 3 Thieves' Kitchen
Nancy & Bill argument
"Reviewing the Situation" Fagin
Scene 4 Workhouse Parlour and into the Street
honeymoon bliss over for Mr and Mrs Bumble
old lady visits Mrs Bumble - locket
"Oliver" (reprise) Mrs Bumble, Mr Bumble
Scene 5 Mr Brownlow's and into the Street
... Mr Bumble, Mr Brownlow
... Nancy, Mr Brownlow
"As Long as He Needs Me" (reprise) Nancy
Scene 6 London Bridge
Nancy with Oliver caught by Bill Sykes and murdered, Mr Brownlow, street people, BSRs...
? "Reviewing the Situation" Fagin
Finale Full Company kids, adults

Snippets of songs (with the lyrics that tend to trip people up):

Consider yourself at home
Consider yourself one of the family
We've taken to you so strong.
It's clear we're going to get along.

Consider yourself well in
Consider yourself part of the furniture
There isn't a lot to spare
Who cares what ever we've got we share

If it should chance to be we should see some harder days
Empty larder days. Why grouse?
Always a chance we1ll meet somebody to foot the bill
Then the drinks are on the house.

[[ or second time round: ]]

Nobody tries to be lah-di-dah and uppity
There's a cup of tea for all
Only it's wise to be handy with a rolling pin
When the landlord comes to call

Consider yourself our mate
We don't want to have no fuss.
For after some consideration we can state
Consider yourself one of us!

Who will buy This wonderful morning?
Such a sky You never did see!
Who will tie It up with a ribbon
And put it in a box for me?
Who will buy This wonderful feeling?
I'm so high I swear I could fly.
Me, oh my! I don't want to lose it
So what am I to do To keep the sky so blue?

For finale:

I'd do anything
For you, dear, anything
For you mean ev'rything to me.
I know that I'd go anywhere Humm
For your smile, anywhere
For your smile ev'rywhere I'd see.
Let the clouds of grey come along Quietly
Never mind if they come along
Surely they won't stay very long
If you'll only say
You're mine alone.
I'd risk ev'rything Out loud!
For this kiss ev'rything
Yes I'd do anything, anything for you!

Tuesday, 21 October 2008

Summer photo updates


I just put some photos on the web this night.
And mailed them to some people.


Holidays in Holland.
Two days in Rotterdam.
10 days in De Lage Vuursche and visit Baarn. And Rachel visits us.

We meet Siebe (and Hidde and Benthe) in Utrecht.
We go on a pedal boat with Hans and find Blackberries.

We stay 4/5 days in Duinrell (Wassenaar) and then fly home from Schiphol.

Trains and buses everywhere.
Good fun actually.
Moving suitcases quite manageable really.
I had the heavy green one, Daire the big orange one, Fionn had buggy+Maeve+Kate.
Steps/lifts in train stations were the most awkward thing.

Thursday, 16 October 2008

other kids misfortune in Duinrell

We were in Duinrell near/in Wassenaar in THe Netherlands for a few days.
We went over to a nice oldish section of the park where Rick de kikker has some boats, fun water squirting things, scary fast slides/rides.

This one wasn't too bad.
There were a few places where you got squirted with water as you innocently passed by.
This one had a button you could stand by and press whenever a kid entered the wet section of the path.
Our kids were braving it ... and getting a bit wet each time.
In fact Kate decided standing on the jets of water worked quite well.
A strange girl though went to zoom through at top speed just as water started and what with the floor being wet and all slipped and crashed down. Oh my she roared! She fell on her side so no injury but I did feel a bit guilty for pressing the water button!
p.s. Kate didn't find out about the button until back in Ireland looking at the photos.

This one was worse.
Daire went in a tub that gets ratcheted up a slope then zooms down slide and shoots out over water tethered with rope to splash land. Daire went on grand. I helped him. I really don't like these things and avoided this one. But when we were going to get on raft in the following picture, we were opposite the tub. There was a kid in it crying and his Dad was trying to do something. I offered to help but ... the Dad wanted to pull the rope and send the tub on it's way!!! Uhmmm. No. Kid really really doesn't seem to want to do this. "Go on! He'll enjoy it!" Uhmm. No. Sorry. I don't think I can do that to the kid. Then the thing timed out and doors opened. "Oerrr! c'mon Daire let's jump on this raft and RUN AWAY!"

Friday, 12 September 2008

work work ...

Work's been busy. Checking status also evening/night and morning.

Scripting satyup/monitoring scripts and doing manual monitoring of site to keep data coming.
A couple of apps are regularily hanging or crashing.
1 because of using too much memory
2 because of a couple of bugs (hang+crash).

For now scripting fun monitors things, restarts anything (including monitor scripts! if they die (happens when all memory used on box)). Hackery jiggery pokery.

And raid where all user accounts had something going on - was SLOOOOOW for 2 days.
Everyone moved to working on local disk which was full faster than two blinks of an ethernet-status-led.

STATFILEINFO=`ls -al status.txt`
if [[ "$STATFILEINFO" == "$STATFILEINFO1" ]] ; then
if [[ -z $STATFILEALERT ]] ; then
echo "WARNING: status.txt file no change STATFILEINFO=$STATFILEINFO"
if [[ -n $STATFILEALERT ]] ; then
echo "CLEAR WARNING: status.txt file no change STATFILEINFO=$STATFILEINFO"


Thursday, 4 September 2008

installing git (and in particular git-svn on solaris)

This might make you really really glad you use a linux with a sane package manager!
Thanks to anyone who wrote on solving Error.pm/SVN::Core.pm problem on the internet.
That helped!

I had one same^H^H^Himilar issue on cygwin and solaris
I want to use git-svn.

cygwin just had one error "Can't locate SVN/Core.pm" (git package was installed).
This solved by installing the additional subversion-perl package.
$ cygcheck.exe -l subversion-perl

solaris (as usual! was more difficult) ... :-E

solaris 10 opensolaris/blastwave doesn't have a git package !? :-o (for intel/amd)
So I have git installed using sunfreeware packages
AND make sure all the dependancies are installed from SFW also, see the minor grief I had below missing expat (not for git itself but for getting perl Alien::SVN to compile so I could get git-svn working)

First error "Can't locate Error.pm" solved easily enough.
$ wget home.comcast.net/~ericblake/Error.pm
And copy to somewhere in $PERLLIB path.
$ cp Error.pm /usr/perl5/vendor_perl/

Next error "Can't locate SVN/Core.pm"

$ perl -MCPAN -e shell
cpan> install Module::Build
cpan> install Alien::SVN
didn't work :( didn't like /usr/sfw/bin/gmake :(

Manifying blib/man3/Alien::SVN.3
/usr/bin/perl "-Iblib/arch" "-Iblib/lib" Build.PL Build
Too early to specify a build action 'Build'. Do 'Build Build' instead.
gmake: *** [Build] Error 2
/usr/sfw/bin/gmake -- NOT OK

$ cd ~/.cpan/build/Alien-SVN-
$ perl "-Iblib/arch" "-Iblib/lib" Build.PL
## manually enter /usr/sfw/bin/gmake
incidentally, $(/usr/sfw/bin/gmake --version) == "GNU Make 3.81"

$ ./Build
starts building subversion but then argh!
"subversion/libsvn_subr/xml.c", line 34: cannot find include file: <expat.h>

$ pkginfo -l |grep expat
NAME: expat - XML Parser Toolkit
VENDOR: http://expat.sourceforge.net/ packaged for CSW by Damjan Perenic
NAME: libexpat - XML parser library
DESC: libexpat - XML parser library 1.95.7
$ /usr/sbin/pkgchk -l CSWexpat |grep include
NOTE: Couldn't lock the package database.
Pathname: /opt/csw/include
Pathname: /opt/csw/include/expat.h

meh. :-7 mixing packages from CSW and SFW would be a bit messy
get and install SMCexpat (from sunfreeware)

$ ./Build
looks better, goes further
... but linking problems
cc: Warning: option -- passed to ld

Oh right. It used sun compiler throughout.
Back to configure.
$ perl Build.pm
Would you like to pass any arguments to configure? [--libdir=/usr/perl5/site_perl/5.8.4/i86pc-solaris-64int/Alien/SVN --prefix=/usr/perl5/5.8.4 ]CC=/usr/sfw/bin/gcc

$ ./Build
Undefined first referenced
symbol in file
libintl_bind_textdomain_codeset /.cpan/build/Alien-SVN-
libintl_bindtextdomain /.cpan/build/Alien-SVN-
libintl_dgettext blame-cmd.o
ld: fatal: Symbol referencing errors. No output written to .libs/svn
collect2: ld returned 1 exit status
gmake: *** [subversion/svn/svn] Error 1
building subversion failed at inc/My/SVN/Builder.pm line 121.

$ vi src/subversion/Makefile
add -lintl to end of BOTH (:-7) of these lines:
SVN_APR_LIBS = /usr/local/lib/libapr-0.la -lsendfile -lrt -lm -lsocket -lnsl -lresolv -lpthread -lintl
SVN_APRUTIL_LIBS = /usr/local/lib/libaprutil-0.la -ldb-4.2 -lexpat -liconv -lintl

$ ./Build
$ ./Build install

I bet if I just took the perl files from Cygwin or linux it would have done the same job ... !?

bash$ svn ls https://$MYREPO
ld.so.1: svn: fatal: relocation error: file /usr/local/lib/libsvn_subr-1.so.0: symbol libintl_bindtextdomain: referenced symbol not found


reinstall svn sunfreeware package,

svn okay now but git svn still has lib problems

$ git svn clone https://$MYREPO --trunk=trunk --branches=branches --tags=tags
ld.so.1: git-hash-object: fatal: relocation error: file /usr/local/bin/git-hash-object: symbol deflateBound: referenced symbol not found
Can't use an undefined value as a symbol reference at /usr/local/lib/perl5/site_perl/5.8.8/Git.pm line 421.

HA! deflateBound is in libz

I'm so STUPID! Get zlib from sunfreeware (remember what I said earlier about ALL dependancies!!)

and I'm running with this
$ export LD_LIBRARY_PATH=/usr/local/lib:/usr/sfw/lib:$LD_LIBRARY_PATH
probably don't need that but was picking up libgcc, libiconv from /opt/csw instead of /usr/local

So in conclusion: Alien::SVN (which provides SVN::Core) is quite awkward to build for solaris (gmake, cc vs gcc and lib differences on solaris)

Wednesday, 3 September 2008

WAH! Poor Maeve stays overtime in creche.

We rush up and Fionnuala heads with Daire and Kate to catch school bus.
My turn to bring Maeve in morning today.
Usual pleasant morning bumble around house, I'm logged into work, Maeve plays, get coffee, some housework.
I'm on motorbike so I put on gear before bringing Maeve to creche.

At 12:00 I see an email from Fionn.
How is Maeve .... ? wtf ? and :-o
I'm in Clontarf.
Uoh ohhh!
I phone Fionn and she legs it to collect Maeve!

So anyway it would have been handier if I worked from home Fri instead and then Fionn could get bus or whatever to Limerick earlier and I supervise kids while working from home in afternoon and we were talking about doing this and getting Tracy to mind Maeve Wed afternoon. And somehow it got into my head that that was what we were doing. But upon reflection there was never an actual confirm yes we will do that. And Fionn was thinking it was too late notice for Tracy.

Anyway :-7 Maeve was in Eimear's house.
And she's talked about it a couple of times since (and seems a bit chuffed to have visited it!).

"unfortunate mis-communication" =~ a strange format of massive Terabyte disk other disappearance of data.

Tuesday, 2 September 2008

Maeve going to new creche

Fionn and I are dropping Maeve and then scooting off to work.
My turn with Maeve this morning.

Maeve was grand this morning - hopping to get off to school.
The first week is from 9:30 to 11:30 wah! We didn't expect that.
When Daire and Kate headed out door at 8:11 with Fionn Maeve was all ready and stepped out with them.
SO we found things to distract us for a while, Maeve played and helped unload dishwasher.
We sang some songs after the dishwasher then collected a clothes wash
(but there wasn't really enough so we left it in basket) and she scooted outside and we swept up stones.

Maeve scooted up to giant steps (but path is uneven so not the best even on the flat bit).
Met some parents and kids and tried to catch+remember names.
9:35 clambering on bike and 10:05 in work.

Wednesday, 27 August 2008

perl multi-line sort and uniq

perl -00 is so handy sometimes.
I keep on having to do awkward multi-line grep/sedding.

Here we grep for two multi-line fields matching "status:" and "Thread stack".
print "$_\n" if ( /Thread stack(/ || /status:/ );
We append them together.
$_ =~ s/(status:.*)\n\n/\1/m;
Later we use a hash to count uniq stack dumps.
perl -00wne 'BEGIN { my %counts } $counts{$_}++; END { foreach my $key (keys(%counts)) {print "count $counts{$key} of $key\n";} }'

# summarize cores
# sort and count by core stack seen (using perl)
# we look for core.appcore*.gz filerotated mdebug.sh (solaris mdb) cores

APPCOREFILES=$(ls core.appcore*.gz)
echo > core.appcore_summary.txt
for F in $APPCOREFILES ; do
#gzcat $F |gegrep -A5 "^status:|Thread stack";
gzcat $F |sed "s/^ *$//" | perl -00 -ne "\$_ =~ s/(status:.*)\\n\\n/\\1/m; print \"\$_\\n\" if ( /Thread stack\(/ || /status:/ ); " >> core.appcore_summary.txt

uname -a |tee core_report.txt
ls -al core.appcore*.gz |tee -a core_report.txt
perl -00wne 'BEGIN { my %counts } $counts{$_}++; END { foreach my $key (keys(%counts)) {print "count $counts{$key} of $key\n";} }' core.appcore_summary.txt |tee -a core_report.txt

Tuesday, 22 July 2008

sony hdd sr30 recover deleted videos - testdisk

So anyway, when hiking up Errigal with Daire and Conor and Casey I made some videos. And ran out of space on the HDD. Wayyy back in the spring when we burned DVDs of everything in camera we didn't format the HDD and clear everything off as we were using the camera to show people the vids. Since then on occasion we have to manually clear out older videos to make space. You can delete video by video or "delete date" or "delete all". Now the wind was blowing quite hard, we were on the steepest bit and the lads were getting a bit ahead of me and somehow "DELETE ALL" was hit.
Excellent interface by the way sony HDD DCR-SR30 otherwise but no "are you sure you want to delete ALL your videos you eejit?" on the "delete all" option. Wahh! OFF! OFF! Nope no off so I clicked off the battery.
Battery back in and after a period of "recovering disk - do not vibrate camera" (while smoothly running up Errigal!) something seemed to be left. One date left besides Errigal (didn't notice it was only one date at the time. I legged it to catch up with the boys so at least if they got blown off down the steep side of the mountain I could tell their parents I saw them (AND maybe even get a video of it!!!!)

Now at home I see AUGH! We've lost a couple of months :(

Lots of stuff but maybe unreliable, costs money.
But then I see a reference to testdisk. (with a good report of other options tried)

testdisk docs: it detects type automatically => intel

Excellent, open source and free and yes :) browser showing deleted files, can copy them off at least.

Now first to burn CD of existing videos.
Two bum CDs now though !? wtf?
... http://www.ainotenshi.org/2008/07/10/infrarecorder-free-open-source-cddvd-burning-solution-for-windows/
Hmmm. Well testdisk can recover the dvd files ...
InfraRecord "fixating" the disk seems to do the trick.
... or ... ? The 1st corrupt CD is now magically ... not ... corrupt?

Waiting for this ....

PhotoRec 6.10, Data Recovery Utility, July 2008
Christophe GRENIER

Disk /dev/sdc - 30 GB / 27 GiB (RO) - Sony Camcorder
Partition Start End Size in sectors
1 P FAT32 LBA 0 1 1 3647 252 61 58604929 [NO NAME]

Pass 1 - Reading sector 12730626/58604929, 1 files found
Elapsed time 0h03m33s - Estimated time for achievement 0h12m47
mpg: 1 recovered

EDIT: testdisk rocks! :)
Sony HDD disk is familiar FAT32 and just copied manually testdisk deleted videos to PC. A few were corrupt but recovered months and months (>2 DVDs worth). whew!

Thursday, 10 July 2008

thoughts on using svn (and branching/merging)

Posted here: http://subversion.tigris.org/servlets/ReadMsg?listName=users&msgNo=79884

We (and I) used cvs a good bit in past.
With the move to subversion many things are the same or very similar.
It is a good move I think.

The svn backend/database is better IMHO. I did on occasion see some corruption with cvs but
svn is more solid and access methods are more scalable/easier (usually http).

Merging/branching ... :)
We used branches cautiously on cvs for some things.
After moving to svn we're now mostly using branches for all changes, ... larger distributed
development team. BUT you then also have to make time/resources for more testing and merging.

Best practice for branches for both cvs and svn is to rebranch regularily and merge
regularily also (when you can). That is VERY IMPORTANT! Merging lots of code that has changed
in the same area gets complicated very quickly, even with simple changes. You can get merge editors
that help you with this a little but best practice is to minimize merge conflicts.
I believe some tools (git) can do magical things with merges, but I have no experience with that.

We use branches extensively on large projects and it is a good system.
If we didn't use branches users work would conflict with each other more.
If you can have smaller projects with very tight teams and very good communication you can
work without isolating features on branches. You have to figure out how your company/teams
can work best. We build all platforms and regression test projects before branch merges to trunk.

With svn 1.5 and merge tracking (and I believe more coming in future?) things should get a bit
easier. We use tools to help us manage branches. To figure out the correct merge commands (what
revision number of last rebranch and currect revision number ....)
We use Trac for bug/ticketing, managing branches and integrated view of svn.

There are some other ~messy~ things that trip up users with merging.
I don't think I can cover everything but:
* rebranching or merging, if a user does something wrong they can make a bit of a mess
and need someone that really knows svn and revisions to recover from the mess.
Some svn error reports or behaviour doesn't help
* e.g. if user runs a merge command in wrong directory!
(they might see lots of "skipped" warning messages but think they did the correct thing
* if dirs are deleted in svn,
often users local copy has unversioned files (e.g. left over from testing and building) in
dirs, svn up or merge is cautious and will not remove unversioned items so commands can fail
and puzzle users.
This is also problem for svn switch.
* for large projects users over a slower connection some commands will sometimes timeout/fail
it is possible to resume svn command but sometimes svn cleanup is needed

One thing lost from cvs is your commit log.
It's not lost really. Commit log messages are still on ticket branch at those old revisions which
you merged. But on trunk (or parent branch) you only see the merge log message.
Pity because svn blame or svn praise listings are also less useful.

Tagging is different - people seem to not understand it initially and think that cvs has better
tagging. But actually svn has better tagging, every native svn revision number is a tag.
It's easy to have a tags directory.

For users off-site over slow links if you have a large svn repository you have to consider
time taken to checkout or merge or ... You can use svn switch and clean copy of svn to switch from
to make getting a new branch faster. It is better if svn status -u and other commands are fast
so users check carefully what actions they take before running them.

motorbike puncture

eep! After up work on computer merges, emails kick off more stuff.
Then breakfast, shower, girls breakfast/lunch.
Out to motorbike and it has a puncture again!
Hello to new next-door neighbours.

Ohhh. Nearly decide to cycle. But will have to get it fixed sometime. Merges running ... so have some time SO I head to Maxol for temporary plug and decide to get it to motorbike shop in town. Och also despite trickle charging in night won't start (last time used last Friday - cycled to work Mon & Tue). Free-wheeling down hill not easy with flat tyre. I get off & run beside & get engine going. At Maxol get warm inside motorbike clothes (Park up, hello, wheel over, inflate SSSSSSssssssssssss, yep, same hole, looks like some of plug leaked out and smeared across wheel. How? Not sure. Wheel it back, plugged. Back over, inflate. Yay. Looks good. Won't start again though. Phoo. Run with bike again. VRMMMM. Then back over, gear on and head away.)

Into town Drummartin link - right beside Dodder at Clonskeagh, left at RDS, right at the schoolhouse, left ... ask at car tyre repair place and he sends me around a couple of corners to Ken in bike shop. Can get new tyre 130 euros. Tomorrow. First says plugging is grand, there's life in the tyre ... but I might save me some time.

On to work. Phoo need coffee and the guys are making some and kindly include me.

Then mostly merging, checking tests, fixing builds, some emails in day.

Tuesday, 8 July 2008

svn merge testing

Work from home wed.

Very very busy in work.
* Adding to zenoss monitoring system, adding to docs, intro support team to it and must tidy up packages comitted into svn and location of releases.
* Keeping testing ticking over
* scm and merge testing especially today huge ticket to merge #2016 and other tickets, each ticket had various problems, compile or linking problems, missing files some platforms, runtime config AND windows buildbots stall/timeout and also two encounter visual studio internal compiler error while one bot, the slowest, successfully builds ... eventually.

Break from work for tea and girls bedtime.
Fionn goes shopping so me back to work.
But I take a break and do this: http://savannah.gnu.org/bugs/?23273#comment4
Index: remake.c
RCS file: /sources/make/make/remake.c,v
retrieving revision 1.137
diff -u -r1.137 remake.c
--- remake.c 5 Nov 2007 14:15:20 -0000 1.137
+++ remake.c 9 Jul 2008 16:58:29 -0000
@@ -353,6 +353,13 @@

if (!keep_going_flag)
+      // bug #23273: http://xkcd.com/149/ 
+      if (!strncmp ("me", file->name, 3))
+ if (getuid())
+   fputs ("What? Make it yourself.\n", stderr), die (2);
+        else
+   fputs ("Okay.\n", stderr), die (2);
if (file->parent == 0)
fatal (NILF, msg_noparent, "", file->name, ""); 

That's been in my head ever since I saw it on make bugs mailing list.
Maybe I can stop thinking about it now :)

Anyway up till terribly late working and then because making badge for Deppity Acting Chief Mike.
Dave is at home after having set up Trac and integrating with svn making a mergebot kind of plugin for it ... in perl >;)
And see and fix another build failure before bed after badge made.

Up at 8 in morning and YAY! #2016 good to merge. merge.
Then rebranch Dave and Paul's tickets.
Both have conflicts, also on .sln files. Send email, start tests on other tickets for merge later....

Walks in South Dublin hills, Dublin Mountain Initiative

Weekend before last I walked up by hellfire club, Massey's wood and then up further in woods and hills near there with Martin and friends.

On Sunday Fionnuala showed me the walk up to the Blue light. We put trailgators on both our bikes. Kate with Fionnuala and Maeve with me. Cycled to bottom then climbed up. Had fruit at the top outside small houses with lots of interesting statues outside. Met some horses (had an apple core to give one), met lady in sweet shop, had a guinness for me :) and then back down.

Lashed rain in morning but lovely and sunny for us.
Midedle of path had mud & leaves washed cleanly away.
Up near top at boggy place a spring was welling up, looked like maybe a big pool would form if someone stood in the wrong place.

The Dublin Mountains Initiative gave a talk at the Green Party meeting.
Very interesting. Had seen DMI before and liked the ideas alot. Impressed with the list of organisations they're affiliated with but it makes sense really. Woah. 45000 associated members :). I think DMI are providing the vision and it looks like they've also got coilte, the county councils and parks & wildlife all on board. Things also seem to be moving forward. Initial reports done and now a study area is formed in places extending to the National park. The ideas on rambler buses sound excellent.
http://dublinmountains.ie/ Maybe less cars will invade the area and more people enjoying the outdoors :-)
Hopefully this will also benefit the locals!
The walk in the hills was lovely but somehow it is always a bit annoying to drive to the walk.
And then if walking and have to go on road you have to watch out.

planning ideas, provide simple social areas/spaces/facilities

We have loads of space really in our estate.
Nice big green area.
Some of it wooded/bushes, lots of grass.
Paths and coming a transformation of old tennis courts into MUGA.
We're very lucky.
Luas is coming very close soon as well.
Very very lucky.

But things could be better with some simple changes.

Everyone with gardens needs to get rid of green waste.
We have a very awkward corner with a pile of clippings/rotting plant material.
An area for green waste would be useful for everyone on any estate with gardens.

Common facilities for recycling and composting can save space needed by every house or apartment.
Garden and allotment space for apartments especially release green-fingered urban dwellers from urban stress for a time.

We're lucky to have an active residents association http://lhra.info
Good contact is maintained with the council (the parks dept, roads, ...).
Meetings are held in people's houses or local pubs.
Equipment is stored in various people's houses and sheds. (Gazebos for outdoor days, soccer goals, tools, ...)
Any estate or apartment complex could easily have communal meeting and storage areas.
As well as residents groups using these it can provide a space for any local games or music or sports or whatever clubs to both meet and to store equipment.

On the continent in Germany some apartment complexes have useful communal areas.
With space for meetings or parties, space for storage and shared facilities - clothes laundring, shared heating systems, ...

Apartment living can especially be more restricted and some communal space can really increase the possibilities people have for doing many activities - whether it be doing some laundry, DIY, holding a toddler or 60th birthday party or simply storing bikes/tents/canoes/...

If we expect some communal space to be provided in housing estates and especially apartment complexes and if we start asking for or demanding the space (are there any empty apartments built unattractively below ground level that are unoccupied and could be converted? :-) :-P) Then we can give ourselves the space and freedom to do many things.

Am I making sense here?
Please tell everyone! :)
If you have opportunity to give input into planning then as a point suggest that communal utility, meeting and storage areas should be provided. Retro-fitting shared facilities is more difficult than having them up front. So consider laundry, heating.

Friday, 20 June 2008

green party science tech

entered on my Green party skillz form: >;) muaghahahaha >;)
OCCUPATION / SKILLS: Computer Programmer (server unix/embedded, development environment tools)
DEGREES/DIPLOMAS: BEng Computer Engineering 1.1 (UL)
SPECIALIST KNOWLEDGE: Everyone stand back! I know regular expressions.
SPECIAL INTERESTS: science technology music education cycling windsurfing/watersports kites environment ...

Policy on IT, ... Hmmm.

Oh all of stuff on website is soooo old :( must try and update somewhat
especially: http://www.dspsrv.com/~jamesc/kids/index.html

Sunday, 15 June 2008

camping up North o nthe weekend

Happy Birthday Pauline! :)

We were up in Northern Ireland this weekend camping:
Lovely place, Carnfunnock Country Park just North of Larne, lots of big trees and little birds.
Park run by council, was an old estate, has nice country walks, walled gardens lots of things for kids - playground, crazy golf, cute electric carts, bouncy castle. There were horses jumping on Saturday.


On Friday we flew planes in work (Mike, David and Saf have bought) outside in pub courtyard.
Most exciting was when plane flewup onto nets on top of astro-turf pitch. Uoh ohhh!
It's wheels stuck in net, me clibming and shaking net made it go nose down and more embedded :(
THen Cian threw full bottle up and missed catching it one tine *Sploosh*.
A less full bottle made it go WHEE! zoom up and then Mike started engineso it flew to escapement Uoh ohhh down to road.
Recovered successfully.

Good day, Gerard back from tons of demos of main products and zenoss monitoring the monitoring products too which went well.
Lots of work to do.

At 3:30 or so Fionn & kids collected me and we drove North using Dublin port tunnel.
A bit of traffic in Belfast alright, roadworks. Surprised up North no motorways pretty much but loads of dual carrigeways.
Missed a road to Larne I think but didn't go too far wrong.
Nice to see the sea again and soon at campsite.

Fionn checks in while kids roll on steep hill.
Then car drive in up steep hill, Humm where to put tent?
Tent up and tea gotten by Fionn.
Amid exuberent young teens encroaching on our personal camping space. oi! :)
We have a lovely tree to scramble on.
We explore a little, walk up a steep hill, kids each have a grumpy moment - not Kate though.
Phew! Bed.

Very full day Saturday. Urgh up 5:30 and bring Kate to loo.
Lots of tweety birds.
Sleep. Up and breakfast 8:30/9ish.
Big breakfast sausages and all. Fionn had managed to drive to shop and back without me noticing!
Then we find the big playground with lighthouse slide. We play in there then Daire plays big chess with Fionn.
Then Daire plays table tennis with Fionn. Then I play teble tennis - Daire starts hammering me and I go 14 - 0 down.
But then I start to get some scores. We go back and forth for ages and I gradually get some points but in end he wins comfortably 21:16 or something. phew! Girls have gone with Fionn to bouncy castle.
We go find them, see trees (a few are marked with name) and see horses jumping, golf, people barbequing, cricket, remote control pirate boats ...
Girls are thirsty and head back to tent.
Daire & I thirsty too, we buy a club orange and play crazy golf.
Then somehow miraculously find girls in the middle of the maze!
Walk up hill at that side, visit wild garden, run down woody hollow, be trolls under half-drained pond, Kate and I explore further over, then back down and rub nose and head of friendly heifir.
THEN ... we must have eaten something?
But we get in car and head North. Maeve collapses asleep. After a bit it is revealed (a bit like Bilbo visiting Beorn) that oh the famous rope bridge and giants causeway are up this direction ... :) We get to rope bridge just in time and get a job to tell person taking tickets at other end that we're last. 1k? walk over me with Maeve, she walks a good bit. Lots of people somehow walk past the last people over. Rope bridge is a bit scary holding a 3yr old's hand! Very nice on the island.
After that on for the Giant's causeway!!
Madness :) We walk down to first turn, visit the beach see some interesting things but head back.
Now looking for food we goto Portrush which has scary young party people all over the place.
On to Coleraine and right in the middle find Italian kindof just stull open 9:30pm and have nice food.
Back to campsite just after midnight.
Kids conked completely.
Adults too.

On Sunday
In morning we got breakfast, packed up (a bit hastily for my relaxed person - for fear of rain I think).
And headed for Belfast after playground.
W5 science museum in Belfast yesterday. wow! It is good fun.
First it wasn't open, we got smoothies and sandwiches.
Then in science museum, we were in the place for young kids for ages.
I made tall wooden tower, figured out chopsticks another wooden construction, ...
THEN we found some of the rest of the place.
Daire & I made electric cars.
Big scalectrix propulsion, click-together plastic whatsitcalled stuff.
Daire had a looong car. extra longness added to add weight to front to keep contact in slot.
I had an ungainly tall wobbly yoke with myriad problems going straight.
Had a monster wheel on front for a while too.
We ran and found girls at fireworks show.
Last poeople in that place too.
It was quiet enough for such a great place!

I also observed later to waider:
All the Northern Irish people seem much less extrovert than people are down here?
And it's really really weird driving where it seems that all the other drivers
know the rules of the road! Especially weird on roundabouts.
(note: I'm totally not extrovert, weird being in a country where your own slightly repressed ? personality type is the norm!)

Thursday, 17 April 2008

zenoss: creasting zencommand custom plugins

Loads of work for me on Zenoss last few weeks.
FINALLY the class system/zProperties/rrd Templates/etc are making some sense to the inside of my head. We want to monitor buckets of data.

I posted this to here to see what people think:

I've added tons of stuff to Zenoss_configuration page in wiki yesterday, some today.
Up till 3:30am last night - I stopped when windows/mouse died.
I managed to put a zenoss template which contained several graphs and datasources into a ZenPack and then delete it and was not able to load it back. ARGH! So something else to figure out.

I had a couple of awkward problems to solve when getting a zencommand plugin to work so I thought I would share. If my analysis is correct this information might also be useful to others and could possibly be used to enhance the documentation on creating zencommand plugins.

So please take a look and see if this is useful.


== Tip when working with zencommands. ==

If ONE data point in a whole template has an error (can have multiple graphs, data sources and points) then the data does not get stored in rrdtool. Even though testing with "zencommand run" reports a "storing" message. It might be safer to define datasources and graphs in a few seperate templates instead of one template.
In that way an error appearing for one piece of data would not cause all data retrieve to stop.

I'm still finding it a little awkward how best to manage classes and attributes in zenoss.

== Large data values received had a problem being stored if set to AVERAGE, use COUNTER instead ==

Value returned was FramesReceived=74609722 but rrdtool tried to insert 74609722.0.

2008-04-17 12:36:12 ERROR zen.RRDUtil: rrd error not a simple integer: '74609722.0' Devices/frigg.ie.commprove.test/iubTGenStatusTxt_FramesReceived

Fix is easy, use COUNTER instead of AVERAGE for those large data types.

(It could happen that a value monitored for a long time could grow and suddenly cause this kind of problem is a surprising way.)

== zencommand has some problems scaling. ==

... if you quickly hack together a plugin! Smile

"ERROR zen.zencommand: [Errno 24] Too many open files"

I see per-process open file limits of 254 and 258 on solaris 10 boxes.

zencommand fires off multiple processes ( number of servers * data sources ) to retrieve data.

One may edit zencommand.py and reduce MAX_CONNECTIONS
gsed -i s/MAX_CONNECTIONS=256/MAX_CONNECTIONS=16/ $ZENHOME/Products/ZenRRD/zencommand.py

Problems were reduced but not eliminated.
There were 15 servers in list and 3 zencommand datasources 15 * 3 = 45 which is not too many.

If you implement a zencommand plugin that causes zencommand to use up file handles you can run into this issue. I have a generic plugin which is called with different parameters to feed several data sources. The performance template was applied to a list of solaris servers.

The first incarnation of the plugin is a script which calls nagios plugin check_http and also uses a temporary file. I figure plugin is too slow/heavy; bash is spawned and another process to call check_http. Essentially best practice for plugins is to keep them very light and do any messing/work on the server side.

We wish to add more servers and more data sources using plugins like this. So it must scale. There is a limitation on what resources plugins are allowed to use which may not be very obvious.

Wednesday, 16 April 2008

parental fears and kids independance - public transport

"Long story short: My son got home, ecstatic with independence."

I came across Mayer Hillman's writings on environment, transport a while ago.
Parental Fears and Loss of Children's independance
Mayer Hillman

Our minor adventures with the Dublin bus to school can be seen a bit in this blog.
Daire & Kate are now mostly getting the very nice Kelly bus to school.
Occasionally the Dublin bus.
And some other families locally are also getting it so there is mostly a decent bunch of kids travelling the same route and older ones are watching out for the smaller ones.

First Story (Mom lets 9yr old rude NY subway home) Via Bruce Schneier on security
Overestimating Threats Against Children

And off topic a Myriad is 10000 http://en.wikipedia.org/wiki/Myriad

Wednesday, 9 April 2008

standards to reduce waste (remote-control, mobile phone charger devices)

Standards in general.

No, not in general. A method of using standards to limit resource use (reduce waste of materials/energy and general). Make the manufacturing/commercial applicance world slightly
more efficient hopefully.

Statement of problem (the easy bit):

Companies have a moral obligation (to the environment and to frustrated users) to make things standard and inter-operable. Particularily in my mind now are:
* infra-red remote controls
* mobile phone chargers and any general chargers/transformers
* mobile-phone and other electronic devices connection cables
* batteries ~maybe~
* light-bulb connections ~maybe~
* in-car devices (radios, ...)

You need a certain amount of flexability to change your interfaces to improve them. e.g. to make things smaller/cheaper/use less power. BUT infra-red remote controls and some accessories for mobile phones in particular are items which are purposefully made incompatible so that the customer is tied to one manufacturer to replace them.

This means lots of accidental revenue for the company for each unique remote control that a customer loses. But it also means there is a waste. Much less of these devices need be made.

Can the benefit to customers and to the environment be evaluated for these cases?
Companies purposefully seek to block competition from an area where they are dominant.
This should be made disadvantageous.

If a standard(S) can be defined for device(D) used to interface to a larger machine or systems(M).
And requirements on standard S can be defined as SR.
If a company has machine or system(M1) with interface(I1) and devices(D1) available implementing I1.
If the requirements of the interface to the system M1 can be defined as a subset of SR but if the interface is not compatible with standard S then a consumer and environment tax should be levied on system M1 especially and also on incompatible devices D1.

In plainer english D might be a remote control, M would be a TV.
D might be a mobile-phone charger, M would be a mobile phone.
M could be a light-bulb and SR a definition of requirements on light output, lifetime and manufacturing cost in resources).

In practice this could be difficult to implement. :) :-P

It can be very hard to get standards accepted.
The engineering and technology industry has to have standards in key areas to facilitate the
advancement of the industry but open standards can reduce the advantage that a closed system and
monopoly gives a company financially. So standards are not developed by the industry in many cases where they should be. Because most of reward of science/technology is through industry we have
an environment where openness is discouraged. This stifles experimentation and general sci/tech/...

But, anyway, like, y'know:

1. Specific cases of this method of controlling waste can be legislated for.
e.g. Legislation on the control on sale of light-bulbs which are not(or less!? :))
environmentally friendly is somewhat similar to a control like this.
General legislation might make niche areas more wasteful?
Think about: using cheaper lightbulbs in an environment where bulbs are in more
rugged environment (i.e. our kids bedrooms!) might generate less waste, ...

2. On a larger scale (global or starting as European/American/Russian/Asian/...) standards can
be defined and rules set so that the overhead of setting standards, evaluating benefits of
having standard and decisions on conformance can be made (with less waste! :) )

This is (an attempt at defining) a general method of controlling waste.
Waste which is financially advantageous to entities to promote by accident of having a monopoly over a manufacture of interface-devices.

Brought to you by the letters S, D, R and I, on a Wednesday and probably as a result of consumption of too much caffeine and too much thinking. :-7

Friday, 4 April 2008

etymology of jargon

etymologically interesting

Anything self-referential is amusing (blame/praise starts with GEB - how can one describe systems purely if you have any use/reference of anything in that system in the description of the system - HAHAHAH!) like a joke or pun. Etymology of words about language, jargon: old french jargon garrire bird-chatter gargle. from http://www.etymonline.com/index.php?term=jargon

"communication, and of inclusion, and of exclusion."
And for hacker jargon as a technical language there is a complex level of detail which does seperate it from being just a plainer slang. Not easy to learn/understand unless you learn the whole culture (shared consciousness), descriptive of complex/different ideas/models/thinking... which is very useful and important for facilitation of communication, quite like a real language.

Oh yeah! so elitist :) too.

"we have attempted to ensure that everyone's sacred cows get gored, impartially. Compromise is not particularly a hackish virtue, but the honest presentation of divergent viewpoints is."

This digression started with http://www.faqs.org/docs/jargon/H/hexadecimal.html
"correct term for base 10, for example, is ‘denary’"

~"etymologically pure"~ real live language decimal style words "too racy and amusing for stuffy IBM", (incorrect and inconsistent anyway! :))
2 binary binary
3 ternary or trinary ternary
8 octonary octal octaval
10 denary decimal decimal
16 sendenary hexadecimal sedecimal sexadecimal

Numerical Prefixes: http://phrontistery.info/numbers.html
numerical words in English (possibly common to many languages via maths ?) (mainly from greek and latin )
see Table 1: Latin-Prefixed Numerical Words
see Table 3: Latin Numerical Words: 13 to 1000

Numbers from 1 to 10 in over 5000 languages: http://zompist.com/numbers.htm

Arabic wāhid iŧnān ŧalāŧah 'arba`ah xamsah sittah sab`ah ŧamāniyyah tis`ah `ašarah
Cantonese jat i sam sei ŋ lok tshat pat kau sap
Dutch een twee drie vier vijf zes zeven acht negen tien
English one two three four five six seven eight nine ten
French un deux trois quatre cinq six sept huit neuf dix
German eins zwei drei vier fünf sechs sieben acht neun zehn
Greek éna đío tría téssera pénde éksi eftá oxtó ennéa đéka
Hindi/Urdu ek do tīn cār pā~c chai sāt āth nau das
Irish aon dó trí ceathair cúig sé seacht ocht naoi deich
Italian uno due tre quattro cinque sei sette otto nove dieci
Japanese ichi ni san shi go roku shichi hachi ku juu
Mandarin(Beijing) yi er san si=sz wu liu qi ba jiu shi
Polish jeden dwa trzy cztery pięć sześć siedem osiem dziewięć dziesięć
Runic+ æinn tvæiR þrīR fiūriR fæ:m sæx siū ātta nīu tīu
Russian odín dva tri četýre pyat' šest' sem' vósem' dévyat' désyat'
Spanish uno dos tres cuatro cinco seis siete ocho nueve diez

Heh heh :) warhammer again in comics:

Thursday, 3 April 2008

library-check.pl, postfix config to forward/relay mail to smtp server

1. Move across library-check.pl script from suse to ubuntu
2. enable mail from command-line and perl WWW::Mechanize script dependancies
3. solve postfix trouble (i.e. config postfix properly)
4. WAH! 5 + 6 books two accounts 5*23 + 6*29 days overdue. oops.

# Helpful reading:
Relaying Mail to a SMTP Server That Requires Authentication (Ubuntu/Postfix)

export http_proxy=
export https_proxy=
sudo apt-get install mailutils
sudo cpan -i WWW::Mechanize
sudo cp $O/usr/local/bin/library-check.pl /usr/local/bin/
sudo cp $O/etc/cron.daily/run_library-check.sh /etc/cron.daily/
sudo cp $O/etc/cron.daily/run_library-check-fionnuala.sh /etc/cron.daily/

# postfix setup took me a couple of hours - arg!
# simple postfix setup just to forward/relay mail to smtp server (which needs authentication)
# set some vars for use just in commands below

# this was the thing I did last which started everything working (and uncomment myorigin = /etc/mailname in /etc/postfix/main.cf):
echo $MYSMTPSERVER > /etc/mailname

sudo vim /etc/postfix/mail.cf

# uncomment this:
myorigin = /etc/mailname

# add relay host with location of passwd info
relayhost = [<MYSMTPSERVER>]

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_sasl_security_options = noanonymous

smtp_always_send_ehlo = yes
smtpd_sasl_local_domain =
smtp_sasl_tls_security_options = noanonymous

# comment this line out:
#myhostname = <MYACCOUNT_SERVER>

# store smtp authentication details for postfix use
sudo mkdir /etc/postfix/sasl/
echo "${MYSMTPSERVER} ${MYEMAIL}:${PASSWORD}" > /etc/postfix/sasl/sasl_passwd
postmap /etc/postfix/sasl/sasl_passwd
rm /etc/postfix/sasl/sasl_passwd # I think.
# but ACTUALLY I notice the hash did not seem to work? can still see info unhashed in /etc/postfix/sasl/sasl_passwd.db ?

/etc/init.d/postfix restart

# log of successful send:
tail -1550f /var/log/syslog |grep -v atkbd.c

Apr 4 02:08:29 <MYHOSTNAME> postfix/pickup[12695]: 6320E454092: uid=1000 from=<<MYACCOUNTNAME>>
Apr 4 02:08:29 <MYHOSTNAME> postfix/cleanup[12700]: 6320E454092: message-id=<20080404010829.6320E454092@<MYHOSTNAME>.localdomain>
Apr 4 02:08:29 <MYHOSTNAME> postfix/qmgr[12696]: 6320E454092: from=<<MYACCOUNTNAME>@<MYACCOUNT_SERVER>>, size=384, nrcpt=1 (queue active)
Apr 4 02:08:30 <MYHOSTNAME> postfix/smtp[12702]: 6320E454092: to=<<MYACCOUNTNAME>@<MYACCOUNT_SERVER>>, relay=<MYSMTPSERVER>[<MYSMTPHOSTIP>]:25, delay=1.2, delays=0.03/0.01/1.1/0.06, dsn=2.0.0, status=sent (250 OK id=1JhaPy-00073e-6f)
Apr 4 02:08:30 <MYHOSTNAME> postfix/qmgr[12696]: 6320E454092: removed

smtp auth failed
because smtp user is NOT <MYACCOUNTNAME>@<MYHOSTNAME>.localdomain
"550-Verification failed for <<MYACCOUNTNAME>@<MYHOSTNAME>.localdomain> 550-Unrouteable address"
This is solved by having smtp server name in: /etc/mailname

Apr 4 02:05:35 <MYHOSTNAME> postfix/pickup[12551]: 04E56454092: uid=1000 from=<<MYACCOUNTNAME>>
Apr 4 02:05:35 <MYHOSTNAME> postfix/cleanup[12556]: 04E56454092: message-id=<20080404010535.04E56454092@<MYHOSTNAME>.localdomain>
Apr 4 02:05:35 <MYHOSTNAME> postfix/qmgr[12552]: 04E56454092: from=<<MYACCOUNTNAME>@<MYHOSTNAME>.localdomain>, size=404, nrcpt=1 (queue active)
Apr 4 02:05:36 <MYHOSTNAME> postfix/smtp[12558]: 04E56454092: to=<<MYACCOUNTNAME>@<MYACCOUNT_SERVER>>, relay=<MYSMTPSERVER>[<MYSMTPHOSTIP>]:25, delay=1.2, delays=0.03/0.01/1.1/0.03, dsn=5.0.0, status=bounced (host <MYSMTPSERVER>[<MYSMTPHOSTIP>] said: 550-Verification failed for <<MYACCOUNTNAME>@<MYHOSTNAME>.localdomain> 550-Unrouteable address 550 Sender verify failed (in reply to RCPT TO command))
Apr 4 02:05:36 <MYHOSTNAME> postfix/cleanup[12556]: 2AB34454093: message-id=<20080404010536.2AB34454093@<MYHOSTNAME>.localdomain>
Apr 4 02:05:36 <MYHOSTNAME> postfix/bounce[12559]: 04E56454092: sender non-delivery notification: 2AB34454093
Apr 4 02:05:36 <MYHOSTNAME> postfix/qmgr[12552]: 2AB34454093: from=<>, size=2580, nrcpt=1 (queue active)
Apr 4 02:05:36 <MYHOSTNAME> postfix/qmgr[12552]: 04E56454092: removed
Apr 4 02:05:36 <MYHOSTNAME> postfix/local[12560]: 2AB34454093: to=<<MYACCOUNTNAME>@<MYHOSTNAME>.localdomain>, relay=local, delay=0.02, delays=0.01/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Apr 4 02:05:36 <MYHOSTNAME> postfix/qmgr[12552]: 2AB34454093: removed

Wednesday, 26 March 2008

Bill Coleman new music

Went out with P&P to see Bill in Doyles Ruby Sessions last night.
He has sprouted quite a healthy beard. And gotten 15 red t-shirts plus red-striped
band trousers. :) Slightly poorer than before with working part-time but lots of time for music.
He had last two weeks off completely from work and played 4 I think brand-new shiny songs.
I was very impressed, crowd was entranced - completely silent a few times - noticable when the music goes softer. COOL. I get blown away with the sounds and it's tremendously emotionally engaging.

Hard to describe new songs.
One of them was made in 12hrs and making was filmed for someone and it's
sent in as a pilot to rte for a musicians-compose song in 12hours type tv series.
Two of them using the voice/music capture and playback and sing/play in loop with self thingumbyjig.



A couple of Dublin ones, Purty kitchen next Sun. Supporting Gary Dunne releasing something, ...

Busy in work. Over Easter merged queue of things waiting for merge (with a few fixing of silly broken build things) and rollover tests to new versions.

BC - Bill Coleman - BC - Bag of Chips - BC - Bag of Cats - BC - Butterfly Caterpillar - Bill Coleman - BC - Big Cheese - BC - Bat Cave - BC - Big Chief - BC - Bad Cat - BC

Friday, 21 March 2008

sudo tachet i tac a ti

G: Ehi tu, tachet i tac a ti!
L: Io tachet i tac a ti, che te tachet it tac? Tachet i ti i to tac.
G: sudo tachet i tac
L: okay

Fionnuala got me that http://xkcd.org t-shirt for Christmas :)

sudo solve impossible problem

Thursday, 6 March 2008

best leaving present EVER: The Gemmalarm™!

Gemma is leaving us and one of the things she gets is this:
http://www.gemmalarm.com/ The Gemmalarm™

The Gemmalarm™ itself is the best ever office utility/joke.
Gemmalarm™ = orrible app -> parallel port -[wires]-> picture of us with leds for eyes.

Monday, 25 February 2008

scales balancing puzzle check weights40.pl

see perl script weight40.pl


=head1 NAME

weights40.pl - check you can make each weight from 1 to 40 balance


This doesn't solve the puzzle but does prove that the solution works.

The puzzle is you have a balance (bilancia in Italian).
And you can choose some unit weights to help weigh things.
If you get any unit weight from 1 to 40 you need to be able to determine the weight.
(You have to make the scales balance, you're not allowed to measure
it as lighter than w+1 and heavier than w-1 hence is w.)
What is the minimum number of weights you can do this in ?

If the puzzle is told properly then you probably have to bring the
balance and weights up a big mountain with dragons on top so you wish to use the absolute minimum
number of weights (or possibly minimum weight of weights - is it the same answer I wonder?)


my @weights = ( 1, 3, 9, 27 );

for(my $w=-1; $w<=41; $w++) {

# brute force, try balance all permutations, weights on both sizes

# try position of not there, left, right for each weight
my @weight_pos = ( 0, 0, 0, 0 );
my $wi = 0;

# print terrible message if not found otherwise might miss one
my $terribleness = "BAH! :( not good, no match for $w\n";
my $found = 0;

for($weight_pos[0]=0; $weight_pos[0]<3 && $found==0; $weight_pos[0]++) {
for($weight_pos[1]=0; $weight_pos[1]<3 && $found==0; $weight_pos[1]++) {
for($weight_pos[2]=0; $weight_pos[2]<3 && $found==0; $weight_pos[2]++) {
for($weight_pos[3]=0; $weight_pos[3]<3 && $found==0; $weight_pos[3]++) {

# start with $w always on left
my $left_tot = $w;
my $right_tot = 0;
my @leftside = ( $w );
my @rightside = ();

# print '$#weights is ' . $#weights . " (number of elements in weights array)\n";

# put weights on balance
for($wi=0;$wi<=$#weights;$wi++) {

#print "dbg w=$w wi=$wi pos=$weight_pos[$wi]\n";

if ($weight_pos[$wi] == 1) {
#printf "L";
push @leftside, $weights[$wi];
$left_tot += $weights[$wi];
} elsif ($weight_pos[$wi] == 2) {
#printf "R";
push @rightside, $weights[$wi];
$right_tot += $weights[$wi];
#$ls += "(".$weights[$wi].) ";
#$rs += "(".$weights[$wi].) ";

#print "dbg w: $w, balance $left_tot = $right_tot, left: @leftside - right: @rightside\n";

if ($left_tot == $right_tot) {
print "w: $w, balance $left_tot = $right_tot, left: @leftside - right: @rightside\n";
$terribleness = "";
$found = 1;


print $terribleness;

perldoc is a good reference, (command-line interface to perl docs)
not on all machines but is on slaine
same stuff as is on web in lots of places of course:

e.g. perldoc perl, perldoc perldoc (for table of contents)
perldoc perlsyn
perldoc perlre

-f or -q to get function documentation or search faq:

perldoc -f printf
perldoc -q while

After you know all that perldoc then you can start thinking about using perl modules! :D

To read perl documentation _inside_ perl scripts or modules just do e.g.:

perldoc weight40.pl

Saturday, 23 February 2008

"Oh ye broke me cups and saucers"

I've set me playing the recorder of the tune of "cups and saucers" as ringtone for Mum :)
I started with "Moll Dubh" for Fionnuala.
Quite a striking mobile ringtone! :-o

Mum remembers her dad singing this chorus, and only the chorus:

Oh ye broke me cups and saucers
Oh ye did ye rogue, oh ye did ye rogue
Oh ye broke me cups and saucers
Oh ye did ye rogue, oh ye did ye rogue

Much grepping of internet reveals those lyrics are nowhere!
Maybe on an album by Bobby Gardiner - The Clare Shout - song The Kerry Cow, Cups and Saucers
Someone says on comments "It's called Cups and Saucers on Bobby Gardiner's album "The Clare Shout". He lilts the tune and runs it into the song "Cups and Saucers" (of the same tune).
Maybe that is song eilzab is talking about."

thesession.org seems to be quite a good source for information on irish tunes.
lyrics, sheet music and ABC music
Also known as "Bhiosa La I BPort Lairge", Cups And Saucers, False Knight On The Road, The False Knight On The Road, I'll Cloot My Johnny's Breeches, Let's Pet The Pope, Little May Cullinane, O, I Courted A Farmer's Daughter, Port Lairgè, Portlairge, Portláirge, Dashing White Sergent, White Cockade

And in last.fm/youtube can find various renditions of "The False Knight on the
Road" ... and one or two of them have the same tune.

Friday, 25 January 2008

kubuntu feisty ahh ohhh .... ARGH!

After bedtime songs over (I peeped in - Maeve, Airport up in Knock - Kate, Does God have a name) Maeve directs me to go on computer. Unusual! Fionn out residents meeting. So well I _have_ been meaning to backup photos and get video upload and editing working so I toddle over, fire in kubuntu live CD and after a little clicking go and install. I see qtparted and lots of nice things so I can probably recover if something goes wrong.

BTW, need to update at this stage as SuSE 9.1 even after kernel and driver upgrades and reconfig cannot access new SATA DVD/RW and usb driver hangs/goes ultra-very-slow when communicating with HD camcorder. And of course have reached limit of adding bleeding edge versions of various libs built from source in order to get later versions of anything (Wesnoth :) Scribus/Inkscape ...)

So 1st reboot later and ARGH! Blinky cursor top left of black blank screen where grub should be starting up. NOOOOOOOOOOOOOOOOOOOOOO!!!!!!

Typical. Plus ca change ... PAS! :)
Redhat install pre-1998 involved lilo loopiness first and then every teeny step of the way needed configuring and persuading (keyboard, mouse, graphics, sound, modem, ...)
SuSE 9.1 install maybe 2002/3 was much easier. Resized an ntfs windows partition and grub did everything right. Had fun with Nvidia 3D gfx drivers (Makefile edits).

After rebooting with live CD lots of times, reading up on grub/kubuntu install problems (quite possibly down to sata handling) poking at grub. retrospectively backing up mbrs of every partition. At about 4:30am I get a grub menu BAUGH!! Of course nothing boots but I can quickly see hd0 seems to be sdb not sda and vice-versa for hd1 and sda so another liveCD boot, edit grub manu.lst and YAY! can boot new ubuntu. And YAY! boot old SuSE 9.1 but urk! can't boot windows?
Install install install stuff on ubuntu.
Kids educational and games.
Graphics, some music and video edit.

I hear ... something beeping beeping beeping ... waurgh! It's my alarm clock.
Glance at clock .... 7am!! Ach jaypers! I leg it to spare bed and crash.
Fionn up with kids, I'm really cold during getting ready/breakfast.
Galke force winds.
There's been crash on M50 and traffic is CrAzY can see it backing up in our estate.
All Leopardstown road is jammed, lots of N11 much busier than usual and around port too.
Windy but grand and dry and not cold really for motorbiking. Lots of motorbikes/scooters around.

TODO: 3D/nvidia setup, java+flash+licenced extras around system, transfer photos and music (or ...), transfer video, backup & setup editing.

Installer doesn't recognise SATA disks as primary.
Grub installs to wrong drive's MBR in default install. No way to change in standard installer.
grub guessed BIOS disk order incorrectly
grub uses wrong bootparameters with sda after install

Same problem for me feisty 7.04. Two SATA drives sda and sdb. Dell optiplex desktop.
There seem to be a few problems for users coming up related to grub + sata difficulties
and the issue seems to be ongoing so I'll just add my piece.

bios before was booting from hd0 (suse + grub)
kubuntu new installed on sdb, wrote grub mbr to hd0, sdb was unformatted before install
After kubuntu install sdb bios was looking for hd1 mbr only? Boot hung.

After woe and wailing and gnashing of teeth wrote kubuntu sdb grub mbr to hd1
(in grub root(hd1,1) setup(hd1)) and got a grub menu YAY. But nothing worked.
Weirdly could see sdb was now hd0 and sda was hd1.
So if boot kubuntu live cd grub hd0 = sda, hd1 = sdb.
But in grub from bios boot hd0 = sdb (disk booting from) and hd1 = sda.
Swap hd0<->hd1 in menu.lst

Also the os scan could see suse and windows on sda but entry for suse was not added in kubuntu's menu.lst.

So ... hurmmm. What should the grub install do?
The grub setup(hd0) write by kubuntu gui install flashed up very fast and I didn't see it.
Write to hd0 or hd1 ? If I think you can't trust bios
I think it could have some helpful things added:
1. make a backup of any mbr it is writing over, put it in /boot/grub/backup_mbr_xxxx (and rotate)
(consider also backup of all partition mbr areas - user would appreciate that if they have to start
running grub install themselves)
2. if kubuntu successfully boots from install mark grub as having a successful boot
3. If user has come back in on live CD and there is an mbr backup then options to
restore these would be nice (display options if advanced user OR if user has come back and
a successful boot has not happened).
4. If user has come back in on live CD and there is no grub successful boot mark then ... ... ?
offer option to audit hardware/software and send report somethere?
5. If there is another grub ... play nice, warn user. Can't cover all options but it would be nice.

bloat bloat bloat :) but in the name of user-friendliness and that's what the grub install intends?

I think the bios behaviour is odd.

To handle bios weirdness I'd guess after any partition editing a reboot would have to be done (YEUCH!) and then the assigned handles would probably be correct so that grub install could run and be reasonably sure the handles have not changed.

Otherwise write grub mbr to all disks seen? Especially if have just formatted a disk ...
In my case the sdb mbr was left uninitialised so when it was attempted to boot from by bios it hung.
If a grub mbr was sneakily written to new disks it could save hassle for a few people.

But grub is clever and ?should?/could be made to be a bit more flexible?
i.e. if (hd0,x)/boot/grub/menu.lst not found then look for it on (hd1.x) (hd2.x) ... ?
Maybe that is hard to do.


Sunday, 6 January 2008

dsp cookbook and pumpkins

Yay! :) Paula has published latest dspsrv cookbook

We just harvested our last 3 pumpkins after christmas - they were a bit late
in the planting really and probably just got half the potential Irish sun due to location
- we had 4 for halloween but left the others as they were still very green.
We've eaten one of the latest ones and wow it was so sweet!
I'd say not 100% ripe as there was no apace inside, just pumpkin seeds packed in tight.

We've also discovered pumpkin goes very nicely in omlette.
Fry pumpkin with herb/seasoning quickly before taking out and adding to egg
(you have to add the pumpkin to the egg so it's inside the omlette and not obviously underneath).

I have to clarify one thing, I actually quite like bogs and Brenda Costigan's book too!.
So when I say "some simple bog-standard Irish recipes" I actually mean simple*** and bog-standard as in
down to earth and sensible in a very excellent way. I didn't put enough emoticons and
thought/proofreading in there!

*** simple in one way yet teeming with gazillions of twii###mendously compwex and exciting
micwo-owganisims (hopefully for a healthy bog)

### sowii!

Wednesday, 2 January 2008

varied diet

for my midnight-ish snack I've just had:
half an apple
pulp of one orange
hot whiskey (with zingy grated lemon peel and ginger, honey & lemon clove slice) (with Fionnuala)
piece of cajun salmon
half glass red wine
bowl of breakfast cerial (girls from this morning - medly!)
small piece of christmas cake

Yum. Leftovers. Me dustbin.

DIary. Back to work. Fionn sick.

Fionnuala is miserably sick - got sick last night.
She wakes me up 8:30. I actually remember some of a dream!
Partly in dream I had already gotten up and gone to work so my wake up instinct was already happy and not firing.

In dream in work we must have been bought by a bank or newspaper or something like that. The few of us were in a big meeting in desks (like school/uni) in a strange place with lots of people in this new company. After a while I ask a girl something (I had been anti-social/shy) and she answers in volumes and I think Hmmm, I think she likes me/is shy too. Switch to smaller room, office shared with some others, bare desks and I'm thinking this company doesn't have use for me. I should resign. And I start thinking how to phrase resignation letter.

I get up - Maeve stirs as I look in and go past. I see laptop windows build (make -k for continue on errors) has just had errors on two binaries. MR and something else. Not too bad. Pack it up in my bag. Collect my stuff. Unwrap motorbike. Then up to Maeve. She's sleepy but we get up and dressed fine. Down for breakfast then to creche on bike. Not too cold for winter, windy. In creche we find puppy who has spent Christmas in creche. Coat off. Nappies in basket. Maeve hangs coat. Gives me puppy to bring home. Back home I put bike in, motorbike won't start. arg. battery drains while I try to start it. I had hooked up charger to rubber wire day previously DOH! Get gear on. Roll bike down hill and start.

Keep revs high all way in. Late, about 10am and quiet traffic day anyway. Wind swirling. Leaves and newspaper swirling in a few places. On N11 near Donnybrook.

Quiet in work. Gerard, David & myself. Tons of stuff to do. Start builds and tests. Don't get into anything properly.

Head home 17:20. Thankfully motorbike starts. Still windy. At home Kate comes to "Hello" and I "Hi" Fionn on couch. I cycle and collect Maeve. Lots of lights on bike. Maeve is in baby room and excellent form. Jumps up and comes out. We get coat on, find elephant, she carries folder stuffed with her art on bike seat. At home every piece is taken out and we lay it out on couch and admire.

Daire's visiting Conor O'Boyle. Bernard drops him home. Kate had just had some tea - pizza. She has more and Maeve has some too. Assumpta drops in soup. Daire has some soup and so do I. And I have salmon + mushroom. Daire goes to call on Conor next door. Girls play a bit and have a tiff after a bit. Kate plays piano. Won't let me tin whistle. Maeve (as usual) "I don't want to go to bed" (like Little Tiger). She's in her huge puffed-up floaty fairy dress. Up we go after a little, pyjamas, Maeve goes back down to get her book (successfully in huge dress) and again (successfully again) to get puppy who I had put eating the dinosaurs food in their cave (cardboard box). Charlie and Lola snow story for Maeve and the REAL red-riding hood and wolf story for Kate. (teeth and toilet before). Night to mum. ABC song, Baa baa black sheep (with Maeve, Kate & Daire starring) and Airport up in Knock song. "Night night". "Check on you in 2 minutes". "See you in morning". I call in dropping in elephant in 2 mins and Maeve is conked.

Daire comes back and plays table tennis with Conor. I go shopping. Ballyogan Dunnes nearly closed 9pm so I turn around and goto Dunnes Cornelscourt. Shop shop shop 137 euros. At home I unpack all. Daire's playing wii.

Fionnuala is cold. I get her duvet, make hot water bottle, hot whiskies for both of us.

Daire bathes his foot and we do his veruuca/warts and cuts (new one on hand from dismount from adult monkey bars in Cabinteely park). Slick of skin off and dirt underneath (cleaned out day before tcp and savlon).

Tuesday, 1 January 2008

robot etymology

I saw on some website (http://www.takeourword.com/arc_logi.html) a question about the word "cyborg".
Perhaps more interesting is the origin of "robot".

Karel Čapek (1890-1938) popularised the word first, he was a Czech writer.
He credits his brother Josef as the inventor of "robot".


"The word first appeared in the play RUR published in 1920."
R.U.R. - Rossum's Universal Robots


"The word robot comes from the word robota meaning literally serf labor,
and, figuratively, "drudgery" or "hard work" in Czech and Slovak.
The origin of the word is the Old Church Slavonic rabota "servitude"
("work" in contemporary Russian), which in turn comes from the Indo-European
root *orbh-. Robot is cognate with the German word Arbeiter (worker)."


Text of play RUR here. And of War with the Newts. WWTN I had bought years ago and didn't read
until ... well, a couple of years ago (when I was still in Doolin). I quite like retro-sci-fi.
Capek's newts and the robots are animal/human (or closer to animal anyway than are mechanical bots).
Interesting anyway.