Sunday, 24 March 2013

There's a few things that are hard for average people to understand


I'm kinda in a state of physical limbo.
It's damn hard to explain.
Because most people have no conception of what it's like to be 'half-n-half'.
For example...
For years, no decades, until I was 40 my left knee would dislocate.
Roughly once a month or so.
I mean that bone down the back of your calf.
There'd be a sudden movement and I'd be on my back in agony.
Muscles frantically jamming solid trying to move an immovable object etc.
Pain washing over me like waves...
I'd have to...
and if you're squemish skip to the next paragraph...
I'd have to jam my wrist around the back of my knee and with the other arm yank hard on my ankle.
There'd be this enormous "THWACK" as the bone snapped back into position.
I'd then faint.
My mother would run into the kitchen to avoid this.

Anyway...
Thankfully I don't have that problem now.
I'm guessing because of HRT dropping muscle mass etc.
But the basic issue still persists.
And it's so hard to explain because very few people have any idea what to equate it to.
I have a left collar bone.
Oh. Yes. You do too. That thin one at the top of your chest.
Left side.
No.
Your other left.
Anyway I've broken it a couple of times.
But that's not the issue.
The 'ball' at the end that fits into your chest bone is 'gracile.'
The socket is 'robust'.
For the non-anatomically inclined that roughly means gracile=>female, robust=>male.
So it doesn't quite fit.
And occassionally pops out.
And people in an office setting are sometimes privy to me pushing my chest out and...
THWACK.
As I pop it back into place.
Sometimes it doesn't work.
Like today.
I've been walking around all day with a dislocated collar bone trying to snap it back into place.
Driving.
Lifting.
Caring for kittens.
Sweating with pain.
Wiping tears away because you just have to soldier on.
"Ship? Out of danger?"
Still haven't got it back into place.
Hot showers help.
Pain killers?
Nothing - not a dent.
Anyway.
You have no clue what I'm talking about.
Life sucks sometimes.

Wednesday, 27 February 2013

Interesting human dynamic going on in the supermarket today.


Dropped in to pick up some essentials.
Stopped by the "mixers" aisle.
And was gob smacked.
My smack was gobbed so completely I nearly fainted.
Two people had filled a trolley to over flowing with every single bottle of Tonic Water on the shelves.
I wasn't alone in looking like I'd just been hit in the face with a fish.
Quite a few people had storm clouds over their heads.

Now.
Interesting.
You put items in your cart.
Until you pay for them they still 'technically' belong to the supermarket.
So it should be perfectly ok to go up to someones cart and simply take things from it.
Except it's not.
Why not?

Because it breaks some deep inbuilt rule we have about social behaviour.
So a group of people watched the pair struggle to get their cart to the checkout.
The thunderous looks would have done Wotan and Thor proud.
And I thought: "Ah. So this is why Assault Rifles are illegal in Australia."

Disgusted with myself at not saying: "Oi? WTF? You pricks!" I turned away.
Especially since I actually intended to get some tonic water.

At the end of the aisle I noticed some "DIET" tonic water.
"Oh lord no," I thought, "I'm reduced to this."
But Ben noticed a 'normal' bottle at the back.
We pushed aside some bottles and to our amazement there were four bottles of "normal" tonic water.
I grabbed them.
And covered them with sliced cheese and milk bottles.

We made our way to the checkout.
Seriously you would need a machete to cut the air.
The hatred and anger flowing from the people around this tonic water pair was palpable.
Now I know that only a few of them were likely to actually be buying tonic water.
But these two were blissfully unaware of the hundreds of daggers and muttered oaths.
They went through, paid and left.
The air tasted of cordite.
I really felt like if anyone noticed my four bottles I'd be hung, drawn and quartered.
Or in the US, riddled with bullets.

But it got me thinking about Altruistic Punishment.
Google it.
Now.
Oh and Sociopaths.
Most examples apply to cyclists, but I think this fits.

And this is why I buy books from Pragmatic Programmers!


Monday: Ruby 2.0.0 announced and available via rvm.
Tuesday: Rails 4.0 beta1 announced.
Wednesday: I get an email from progprog saying this:

This is just to let you know that Agile Web Development with Rails (4th edition) (eBook) has recently been updated. You own an electronic version of this book, and so you'll be able to download this latest version. We have also uploaded it to your Dropbox

I glance up to the toolbar and see the dropbox icon whirring and 2mins later I'm reading it.

Frickin brilliant.

Thanks Dave and Andy and all your gophers!

Now it's up to me to upgrade my apps...


Wednesday, 30 January 2013

I think I will have to wash my eyeballs with bleach


I did something tonight that I never normally do.
I watched a un-frackin-believably bad movie to the bitter end.
Despite the better engines of my nature.
Despite my brain desperately trying to climb out of my skull and strangle me I might add.
It was about a pair of Viz characters called San and Tray.
The "Fat Slags" if you don't know anything about them.

Now I like Viz.
If I see a copy I always buy it.
The Ads alone make it worth it.
"Klondike Kittens! Sh*t their own weight in gold!"
"Chessington world of sheds!"
And the like.
But then I guess I'm corrupt.
It's an absurd comic with racist, sexist and just plain stupid strips.
They make you laugh, even though you don't want to admit it.
If you've never seen it, and have any sensibilities at all, don't look for it.
In fact, don't buy it if you are any mother, father, child, dog, cat or, for that matter, any living creature.
Or not-living.
I suspect it would corrupt a lump of coal if it was exposed to it.
In any case, you'll end up with a substance resembling guacamole running out of your ears.
If you have ears.
Coal might have problems.
But would probably spontaneously burst into flames.

But it's kinda funny.
In a comic way.
Not in a movie way.
The movie was appalling.

I sat with my mouth open, totally stunned, for the entire movie.
There was a part of my brain screaming at me to press stop.
For Wotans sake.
STOP.
But I persevered.
It was so bad.
Never again.
Never.
Ever.
Ver.
Er.
R.

Tuesday, 29 January 2013

Why do engineers feel a visceral urge to frack with things that work?


Ok.
I'm old.
But seriously.
Why do engineers feel the urge to frack with stuff that works?
It's not broken, so just don't fix it.

Example 1:
Decades ago when most people wehere struggling to get to grips with Windows 3.1 I was administering hundreds of Unix workstations across dozens of minesites across Australia.
Mining engineers aren't dumb.
And they have this visceral urge to change stuff.
To fix stuff.
Stuff that don't need fixing.
So one day, around 1990 I think, I turned up at a minesite and was given the task of figuring out why this program wasn't working.
I looked at the code and thought "Ah. This is C. I know C."
I tried to figure out why the program wasn't working.
We didn't have IDEs in those days (unless you include VisualAge) so all I had was vi.
Nothing worked.
It wouldn't compile.
The error messages didn't make sense.
After about 10 minutes I looked at the code in detail and saw that it was including a header.
Which was a *massive* list of macros.
Which made Pascal look like C.
WTF?
Why?
If you're writing code in C why use a pascal compiler?
If you have to macro a language to look like another you're using the wrong language.
Needless to say I fixed it...
But I asked myself: "Why the frack do people frack with stuff?"

Example 2:
On another minesite.
I sat down in front of this machine.
I opened an xterm and typed a command.
Utter garbage.
I stared uncomprehendingly at the keyboard.
WTF?
It took a while before I realised that the main user of this machine preferred French.
So he had remapped every key on a standard US keyboard to a French keyboard.
Why?
Needless to say I fixed it...
I asked myself: "Why the frack do people frack with stuff?"

Example 3:
Yet another minesite.
I opened an xterm and typed a command.
Utter garbage.
I stared uncomprehendingly at the keyboard.
WTF?
The user had a shed load of aliases that changed just about every Unix command to a DOS command.
Worse they had remapped every key to do something Emacsey.
Home? No... That means history -25 lines.
Left arrow? No... That means last command.
Why?
Worse was that he had aliased vi to emacs.
WHY?
Is it that hard to type emacs instead of vi?
Needless to say I fixed it...
I asked myself: "Why the frack do people frack with stuff?"

IT FRICKIN WORKS OUT OF THE BOX.
STOP FRACKIN WITH IT.
DEAL.

And that brings us to today.
I'm ripping our humungous DVD collection to drobos.
So I have a Mac with NO CHANGES AT ALL.
My /etc/bashrc and .bash_login are minimal to say the least.
The only changes I make are to map MP3, M3U8 and M4V to VLC.
Ok.
So I enlist my husbands Mac to help rip some DVDs.
Sit in front of it.
Log in.
And stare uncomprehendingly at the screen.
He's mapped every hot corner possible.
He's changed the Application menu to something incomprehensible.
He's changed just about everything that can be changed.
WTF?
Why?
STOP IT.
JUST STOP IT.
PLEASE.
FOR WOTANS SAKE.
It's not necessary.
And it makes life frackin difficult for others.
JUST STOP IT.
IF IT AIN'T BROKE DON'T FIX IT.

Friday, 18 January 2013

MineCraft: Crack for Engineers.

Oh Lord.
I am sad to say I've become yet another statistic.
Along with Sweden (who recently added minecraft to their school curriculum) I have now become addicted.
Sad.
But fun.
But sad.
On the plus side, I would say it is a cure for alcoholism, over eating and in fact any human activity.
The dying words of a minecrafter would be:

"Just... One... More... Block..."

It started just before Christmas.
My brother came over and was frackin desperate to show his creations.
He is a frackin genius architecturally and his creations are pure brilliance.
We had steadfastly refused to even look at MC, but he persevered and we got the XBox 360 version on his insistence (read coercion).
To his chagrin it didn't support connecting to his favorite server.
In any case, in the days that followed Ben started playing.
First he ended up on this island.
With a mountain in the "way".
"Well," he said, "It'll have to go."
So dig, dig, dig.

Some 12 hours later he had excavated an ginormous cavern that you could land B52s in.
Dr No would have a conniption and envy fit.
It could easily house several Saturn 5's.
Or just a couple of Vostoks.
Multiple levels, and since we were just learning, floating candles at all levels.
Benworts or Benhalla.
Take your pick.
You get Vertigo.
Looking... Up.

Despite my best efforts I became involved.
And so we built a tunnel spanning a massive distance.
Underwater.
And established "KimTopia" in a desert biome.
(I have a fondness for Dune, so my village is named Arrakeen)

Exasperated at the lack of functionality in the XBox version we purchased a 'normal' client.
And then.
Of course.
We're engineers.
So...
I built and configured a server to run MC.
On which Ben and Jon and I have created huge creations.

So.
It's sad.
But kind.
And sad.
And you find yourself saying things like this:

"I just need to get 6 raw fish so I can train an ocelot to scare creepers. Oh and I finished the apartment block and the coffee shop for the villagers. We now have three iron golems and a shed load of kiddie villagers running and madly dashing about as kiddies are wont to do. Can you dig out that chasm and get some lava so we can create a wall to burn the frack out of zombies. I have finished getting rid of the sand and cactii so the villagers will be happy. Oh and can we make a marina for them? I have some ideas about making a version of Cardiff harbour so we can fit the Doctor Who and Torchwood sets into it. Damn but I'm tired. What's the time? 2am? Oh well. Maybe another hour. BUT NO MORE THAN THAT MKAY?"

3am:

"Damn. Just... One... More... Block...."

Bzzzzzzt.... Snore... QWERTY embedded into face....

Friday, 11 January 2013

Logs in the river

Hmm.
What do I mean by the the title of this post?
Well.
Imagine yourself on the edge of a wide river.
Sitting.
Quietly.
Just sitting.
Noticing the whirls and eddies of the river.
You watch as it the swirls and whorls and runs towards the ocean.
You notice...
You see...
You see a tree log roll gently as it encounters some hidden eddy or obstacle and it rolls over.
You know...
You just know...
There's something there.
Right there.
Just there.
You could reach out and...
Wait...
What caused that log to roll?
You know you have to be careful.
And aware.
Of the hidden obstacle that caused that log to roll over just there.

That's what it's like examining software.
Sometimes you have to just...

Stop.
Wait.
Think.

And watch.
And see.
Not just see, but *SEE*.
And see the logs.
And take note of the hidden obstacles.
They're there.
Just there.
Under the surface.
So when you decide to run a minecraft server for example.
Just watch.
Read the logs.
Watch.
Watch.
Think.
Sit back.
Patience.
Sadly lacking...

Or you could short circuit the process and watch the BBC series Sherlock.
And then go back and re-read the "Collected works of Conan Doyle".

Or whatever.

Nah. Better to just randomly change parameters in the RC script right?

Sunday, 11 November 2012

I made a cardboard castle for the kittens

Had some time on my hands this morning waiting for rows to import into a database.
So I grabbed three cardboard boxes, a cutter and sticky tape.
And made this:


It's crappy, but the kittens love it.
They were flaked out after a meal from mom, but I'll take photos when they are playing in it.

If you do this yourself, make the holes HUGE.
Don't skimp.
I did and had to go back and carve chunks out of the cardboard so they could fight and tussle in the openings.

Sunday, 4 November 2012

Ok. IT officially sucks.

I had a need for a bad ass server to help with some database work and also give me a staging platform for a project I'm working on.
So I dusted off a 3 yr old PC which I vaguely remembered being loaded for bear. Ransacked and re-organised my work room re-routing power, changing to an 8 port switch, dug up MS kbds and mice, power cables etc.
Put together an Ikea coffee table to hold it, powered it up.
3hrs work.

And my gasts were utterly flabbered.

Two things. a) 1Gb of RAM? and b) 1Gb of RAM?
I thought it appropriate to make that point twice because it was so... so... WTF?
1Gb?

When *EVER* did I think 1Gb was a lot?
When did that happen?
Frickin 'ell.
My Jurassic era Mac Mini has more grunt.
So...
Advice.
New MBoard, buckets of fast RAM.
Ubuntu 12 64bit server.
Suggestions?

Wednesday, 31 October 2012

OS X jruby 1.7.0 "require: command not found"

Had tons of trouble with this.
I have rvm and "raw" installs of ruby and jruby.
I do this so I can simulate a live environment.
Our servers don't allow rvm installs, but I like to use it to test stuff.
So I have to have an install of jruby like this:

bandit:~ kim$ ls -l /opt
...elided...
lrwxr-xr-x   1 kim     admin    11 30 Oct 23:00 jruby@ -> jruby-1.7.0
drwxr-xr-x   9 kim     admin   306 30 Oct 22:59 jruby-1.7.0/
drwxr-xr-x   9 kim     admin   306 11 Oct 15:43 jruby-1.7.0.RC2/
...elided...

This allows me to switch back and forth.
The problem arises when you have your path pointing at /opt/jruby/bin and install rails.
When you verify all paths:

bandit:~ kim$ which jruby
/opt/jruby-1.7.0/bin/jruby
bandit:~ kim$ which rails
/opt/jruby-1.7.0/bin/rails
bandit:~ kim$ rails -v
/opt/jruby-1.7.0/bin/rails: line 10: require: command not found
/opt/jruby-1.7.0/bin/rails: line 12: version: command not found
/opt/jruby-1.7.0/bin/rails: line 16: syntax error near unexpected token `('
/opt/jruby-1.7.0/bin/rails: line 16: `  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding'

Which is a pain in the ass.

The issue is sort of to do with the environment.
I was first was led down several garden paths regarding interference from rvm.
That's not the case.
At the top of the /opt/jruby-1.7.0/bin/rails script is this:

#!/opt/jruby-1.7.0/bin/jruby

What happens is that the jruby script has this at the top:

#!/usr/bin/env bash

This starts a new bash with virtually no included stuff.
You can try it yourself by doing "env bash" and when the shell starts, poke around in the path.

And that's the problem.
OS-X has an primitive install of ruby, rails etc.
You can check it yourself.
Just do a "ls -l /usr/bin/r*".
You'll see rails, rake and so on.

So how do you fix this?
Simple. Change the line at the top of the /opt/jruby-1.7.0/bin/rails script to this:

#!/usr/bin/env jruby
#!/opt/jruby-1.7.0/bin/jruby

Just leave the old line in for reference.

bandit:~ kim$ rails -v
Rails 3.2.8

Patched.

Caveat: You'll have other issues with rake et al.