Thursday, 12 July 2018

Chasing the Dragon

Your greatest work of art, of course, will be yourself.
Heroin, like most of the other strong narcotics I've tried, had no effect on me the first time I've tried it. Until my naivety was crushed along with my spirit my only association with heroin was watching the Zammo from Grange Hill (a BBC TV kids program) descend into addiction, eventually caught with smack in his calculator when he wasn't even going to a maths exam! Zammo chased the dragon and got a smack on the nose was the graffiti found in Grange Hill school the next day.

Like Zammo I chased the dragon, and it did nothing the first time. Chasing the dragon is vapourising the heroin by heating it on tin foil and breathing the fumes with a funnel usually also made of foil. The first time was with the friends of a girlfriend in Cambridge. She was a lovely hippy called Sharon, and as far as I know is the only woman to ever flee a city to escape me. She ran away to Manchester. True story. This was all a long time ago.

The second time was with a beggar called Jesse. He had long dreadlocks and a large good natured Alsatian dog. He wasn't homeless as he had a bare room in the YMCA hostel in the centre of Cambridge. It was there I chased the dragon with him. I was mad and homeless at the time. I thought I'd been enlightened and was the archangel Michael. Ah well, it's a way to pass the time.

We smoked the heroin together and then went out into Cambridge city centre to beg. He stood on a street corner and I sat down on the pavement and closed my eyes. It felt like the pavement folded over me and the world ceased to exist. Along with all my problems and the weight I was carrying. I was floating over mountains of evergreen trees. The mountain and the trees were the green of green screen monochrome computer monitors. I floated merrily.

I can see why it's so addictive. I did follow Jesse around again in the hope of more heroin but he left me looking after his dog and then shouted at me for losing him when he returned.

Not long after that I was picked up by the police and taken directly to Bedford prison for breach of a civil injunction, undoubtedly saving me from heroin addiction in the process.

But that's another story.

"People think they're so grown up. Why would you ever want to grow up? You can be smart and sensible without having to do that."

Tuesday, 19 June 2018

A Collection of Short Poems: Here I Sit, The Cult of None, Just Keeping Quiet, Does Christmas Exist, A Tribute to Linux and more

There's nothing like the a cheeky grin from a child you don't know for cheering up the soul
A collection of short poems from the last few months.

For more of my poems give these pages a whirl:

Didn't There Used to be Magic

Didn't there used to be magic?

When you were five the world was magic.
And then gradually, the magic fades.
But it hasn't gone, it's still there.

When you were five.

A Short Poem by Irina Foord

Roses are red,
Violets are blue,
We're weird,
Just like you!

Free to Fly

Free to fly
To soar and roam
For a fire burns for me at home
That I can see as far away
As infinity.
I know my way back
For wherever my mind may go
My heart stays here
With you.

Here I Sit

Here I sit amidst the wreckage of my life.
What pretty ruins I have made.
I always loved a broken down castle,
I just never imagined I'd be one.
All we need now are sound and lights,
And we have a show.

Just Keeping Quiet

Just keeping quiet,
Playing it safe.
Hoping nothing too terrible happens before we all die.
Wrapped up in my kids,
They're my whole world.
Although one day they'll leave,
Because everyone does.

I'll keep taking the pills,
Doctor knows best.
So help me pretend
That everything's fun
Keeping up that big wall that keeps out the world
But blots out the sun.

The Cult of None

The Cult of None
And no-one is in it
Plus anyone else who wants to be,
But no-one is definitely in it.
So it's entirely true to say that no-one is in it.
And you can join
But no-one knows how.
So that's how, you ask no-one.

If I Could Hurt You

If I could hurt you, that gives you power over me.
For I will try hard not to hurt you.
But I will also try to learn the difference,
Between you hurting you,
And me hurting you.
And I will try to remain innocent.

Love is My Home

Love is my home.
Where I belong and where I'm set free.
Where I'm made whole, made me.

Love help me to love.
Love help me to care and help me to help.

Love I hurt. Help me to heal.
Help me to walk with my heart open
To live with my life open
To seek you out
With all my heart
And in all I do.

I've seen you love
And I cannot turn
Nothing else can capture me
As you have captured me.

Love Lives

Love lives.
Let this be the song of my life,
The message I bring through silence and the cry of my heart.
Let my heart break with those who hurt,
Let my soul be glad with those who are lifted up,
In all things may I be grateful.
For all the grace and mercy I've been shown,
For all the goodness in my life,
May I never cease to rejoice.
If I can bring hope, if I can bring joy,
Then my life has meaning.
And I am happy,
For love lives.

Does Christmas Exist

Does Christmas exist,
Is it real,
Is it even a thing that can be?

Where does it live,
where is its house,
Can you eat it or smoke it or touch it?

Is it all in your head,
is it all in your mind,
in the sky,
just a myth or a legend or tale?

Perhaps that misses the point,
and a thing that is thought,
that is shared,
and enjoyed,
is as real a thing
as a thing can possibly be.

Nautical Nonsense

If nautical nonsense be something you wish. 
Irrepressible joy. 
Come and admire this impossible world of absurdities we have created. 
Isn't it fun. 
Come and revel and frolic. 
Spongebob Squarepants
Or squongebob sparepants as I call him. 
Much to the annoyance of my daughter. 
Who takes her ridiculousness 
Very seriously. 
And why shouldn't she?

A Tribute to Linux and Open Source

Talking to a friend about my current pain with Ubuntu and our company VPN and he tried to lure me, once again, back to the dark side of Mac OS X. I think my complaint, which is also my reason for staying, was accidentally in the form of a poem.

So I need to look at starting openvpn myself and passing in the password - I have the cert and the config file
so it's just annoying
but I'd still rather be on Ubuntu
it's like an old friend now
I hate it in many ways, but I have become rather fond of that love-hate relationship I have with it
and I'm reluctant to part with it.

It so wants to be good and it so isn't
which is just like me.
I can totally relate to it 
so dissatisfying in so many ways, 
but so much the right idea.

"Now is where infinity meets in the middle. The infinite stretches before us and gapes behind us. The point where they touch is now."

Ignorance and Intuition

"The measure of intelligence is the ability to change" -- Albert Einstein
Stupidity and ignorance are not the same thing. In fact I reckon they're kind of the opposite of each other.

There is an infinity of things that each of us doesn't know. So just being ignorant, not knowing things, can't possibly be the same as being stupid. No matter how clever you are, no matter how much you know, there's still an infinity of things you don't know. And a lot of what you don't know will seem blindingly obvious to other people, and they might think you're very stupid for not knowing.

What's really stupid is not knowing that you're ignorant. We're all ignorant in so many ways, so I reckon the first step of being clever is acknowledging that. Know, as much as you're able, what you don't know and be willing to learn. And that makes you pretty clever. Being able to learn. If you're able to learn and to change and to grow then you're not stuck.

Being stuck is the worst thing in the world, so don't be stupid. Be ignorant. Be willing to learn.

There's an interesting corollary between ignorance and intuition. Intuition is not quite the magic innate understanding that some people think it is. We all start life as blank slates, not knowing very much at all but with the ability to learn. The only thing that is intuitive, innate, is the nipple and the breath. We're born knowing how to breathe and to seek out food, and that's about it.

Intuition is where your subconscious minds prompts your conscious mind about something. Either it's a response to an external stimuli that you didn't notice consciously, but notice the unconscious response to, or the result of thought processes (possibly emotional thought) where you're not consciously aware of the process but notice the result (typically the feelings).

All unconscious behaviour is learned. Watch a child learning to walk. All that tortuous balancing and adjusting of weight and movement of limbs has to be learned. When a toddler makes their first unaided steps it's a huge achievement and a massive conscious learned effort.

Fast forward a few years and all of that behaviour is completely unconscious, habitual. You're no longer aware of the continuous micro adjustments you make as you walk. The same is true of driving, or any habitual activity. This includes human interaction and emotional behaviour. It's all learned, but through constant application you no longer need to think about it. It becomes entirely intuitive.

The danger is that you forget that it's all learned behaviour and think that it's innate. People with different emotional responses, or underdeveloped emotional responses in any walk of life, are clearly stupid. They don't have the same innate and intuitive behaviour patterns as those around you. These learned behaviour patterns are highly culturally influenced, you will have learned them from those around you as you grew up. That doesn't make them right, it just makes them normal. Other cultures may have very different behavioural patterns in the same area, and someone from a different culture may find your behaviour very odd and hard to understand or learn. They'll seem stupid. They don't know what, as far as you're concerned, everyone knows. You've likely forgotten that what appears intuitive is actually learned.

Don't mistake ignorance for stupidity.

The flip side of this is that intuition isn't always right. Intuition is the result of the operation of the mind in ways that you're not aware of. Your intuition may be very good, if you train your subconscious (habitual behaviour and awareness) then it can be a useful tool. But it's not gospel truth, it's just you.

"Who do you think you are, who do you think you are? I think that's a fair question to ask of anyone, so long as you're willing to believe the answer they give. You don't have to believe it, but I think you have to be willing to believe it."

Thursday, 14 June 2018

Anti-depressants and SSRI Discontinuation Syndrome

The iris in your eyes is a ring muscle, a sphincter. Making the eyes the sphincter to the soul.

I was on antidepressants for about six or seven weeks this year. I was on the lowest normal dose, 50mg daily, of Sertraline. It's from a class of antidepressants called SSRIs, Selective Serotonine Reuptake Inhibitors. The most effective one, normally prescribed first in the UK, is called Citalopram. This is the one most of my friends on antidepressants are on. Citalopram has a reputation for being the hardest to come off of the common SSRIs.

SSRIs work by raising the base level of serotonin in the brain, by reducing the ability of the body to re-absorb serotonin. Serotonin is the hormone responsible for love, happiness, and it turns out capacity to actually feel like doing anything.

Antidepressants helped me for a little, but I sort of came off them by accident. A friend of mine suggested that her experience of life was flattened by antidepressants. Another friend described it as "letterboxing the emotions". The low isn't so low, but in compensation the joys and pleasures of life are flattened too. I wondered if this was true for me, I thought it might be so I stopped taking them a few days in advance of a Bufo Alvarius healing ceremony I attended. It was excellent and helped a great deal.

A week or so after I thought maybe they would help again, so I took one to restart them. Within a few hours I was hit by an incredible physical stress, to the point of vomiting, some anxiety and other physical symptoms involving the expulsion of fluid from the body with comparatively tremendous force. At first I thought I'd given myself nicotine poisoning, or was suffering from stress to the point of physical sickness (it felt like that but the anxiety I experienced, whilst elevated, didn't warrant the great physical stress and turmoil I felt) or maybe illness? Benjamin had a twenty-four stomach bug shortly after.

With a little bit of research I came across SSRI Disontinuation Syndrome, which is experienced by between twenty and eighty percent of those who just stop taking an SSRI. It can also be triggered by restarting them after stopping. Like I'd done. Basically you get all the possible side-effects of antidepressants in one go. That's what it felt like anyway, it was pretty awful. But it only lasted one day, and whilst they helped me I'm not taking antidepressants again.

I'm pretty sure I'm through the worst of my own causes of lowness. The inner conflict, diverting my psychological resources with incompatible pulls, has mostly resolved in various situations of my life. Particularly the ones that have been a cause of major emotion trauma over the last year or so. Things will remain difficult, that's for sure, but I get to pick what kind of difficult.

"The best quality a person can have is courage. Because with courage you can get most all the other qualities anyway.

The great news is that you only need to start with a tiny bit of courage. The more you use it the more it grows."

I'm a Rambling Man

Living in a world of weird coincidences. That's what Jung called synchronicity and Gaiman calls magic.

A couple of tales from my travels. Both from flying back from the US to the UK via a layover in Iceland.

Iceland Air

One of the things I like to do on a transatlantic flight is make friends with the flight attendants, in lieu of sleep. They're usually bored and not many people treat them like humans, so it's a good chance to make a friend you'll never see again.

All of the Iceland Air employees, all 4000 of then including 1500 flight attendants, are Icelandic. It's not a requirement, just the way it is. The whole country is only 300 000 people or so, not much more than the population of Northampton depending on how you count. I asked Selma if she was from Rekjyavik, and then suggested it was a dumb question. If you're from Iceland you're probably from Rekjyavik right? I wasn't far off, about two thirds of the country live there.

Her husband is a programmer, and something like half the country's energy output is now being consumed in the mining of bitcoin. So I told Selma tales of cryptocurrencies, and how it is a scam but they might persist anyway and of how someone had the bright idea to put a programming language into the transactions and called it Ethereum. I can't imagine that turning out to be anything other than a hilarious and disastrous mistake.

She told me a little of her people and the Nordic history of Iceland.

I also told her tales of my people, Roman invasions and the Celts and the legends of Boudica. No-one it seems, outside of the UK anyway, has heard of our glorious and tragic tribal Queen. Not that she likely existed, but I'm a story teller and what a story, what a legend. Don't you just want it to be true? If you're going to write fake news, as the Roman classicists did, then write a legend and everyone will tell your story for you.

The Finnish

Rekjyavik airport exiles smokers and vapers to an unadvertised and dingy hole. But at least they provide somewhere and we still seem to manage to find this corner and congregate in cheery resilience around our addiction.

There I met an interesting Finn called some approximation of Jopper. After he told me his profession I told him I had little preconception of what a dockworker looked like, but if I had to imagine one I'd imagine him. Except with a good streak of Goth biker thrown in. We bonded over a love of vaping and the sigil of Mjölnir we both wore round our necks. His was far more ornate, an engagement ring he called it. So we swapped life stories.

He'd worked as a labourer on the Helsinki docks for more than a decade. A job normally requiring the fire of youth to do, and most people only did it for a handful of years before moving on. He is a socialist and union official, president of a free thinkers society in Helsinki and running for parliament.

He told me of social democracy in Finland and also of the fierce drinking culture. There are only three ways to lose your job on the docks; stealing, smuggling or drinking. If you lose your job from drinking it's better to tell people you've been in prison instead because to lose a job on the docks from drinking everyone knows exactly how bad your drink problem has to be.

I told him of going mad and selling bricks for ten years and teaching myself to program and that it was through open source and the Python community that I'd made a career. He knew all about Open Source as Finland is the home to Linus Torvalds and the homeland of Linux. I told him that as a socialist who voted green, my take on socialism is that it's not something you believe in but something you do, how I try to live my life. I said I was a hippy, hard to believe though it may seem. He replied that likewise no-one would ever guess he was a biker.

In these two greybeards the fire still burns.

Jopper told me of drinking wine after a sauna in the perpetual daylight evenings of Finland and of the rise of the far right and the problems of violence associated with alcoholism.

As we parted ways, and as a staunch atheist, he gave me a traditional blessing from God. Or perhaps from gods. Hard to tell as I don't speak Finnish.

"Deep in the throes of madness my parents came and found me, goodness knows how, whilst I was homeless in Cambridge. They bought me pizza. My mother tells me that I firmly maintained that I was fine and it was the rest of the world that was mad. I'm still convinced I was only half wrong."

Tuesday, 15 May 2018

The Role of Abstractions in Software Engineering

An abstract representation of a concrete apple
This is the text of a lightning talk, a five minute presentation, given at PyCon 2018.

This is an abstract talk. There isn’t time to give examples but I hope that the application to the day to day challenges of the practise of software engineering is clear. The only theory worth a damn is the theory of the practise. This is a talk about the role of abstractions in software engineering.

Programming is all about the use of abstractions. We often say that the fundamental language spoken by the machine is ones and zeros. Binary. This isn’t true. Ones and zeroes are an abstract representation of the fundamental operation of computers. It’s a way of representing what central processors do in a way that can be understood by people.

The actual language spoken by computers is the electromagnetic dance across wires and etched silicon, choreographed by the beating of a quartz crystal at the heart of the machine.
Ones and zeroes are a representation of that dance, understandable by humans in order for us to reason about the behaviour of the system.

That’s a very low level abstraction. Very close to the actual operation of computers, but very hard to work with. The next step up is assembly language where we use mnemonics, symbolic instructions like JMP for jump, to represent these patterns of ones and zeroes. We can also use human recognisable labels for memory locations instead of numbers and allow the assembler to calculate offsets for us. Much easier.

Next we have languages like C and then right at the very top we have Python where each construct, a print statement for example, may correspond to as many as millions of the lowest level operations.
Computer programming is communication in two directions. Programming provides a language the computer understands, and is able to execute deterministically, whilst also communicating with humans so they can conceptualise the behaviour of the system. A programming language is a set of conceptual tools to facilitate that communication in both directions.

The art and craft of software engineering is taking the conceptual tools that programming languages provide and using them to solve real world problems. This is the difference between science and engineering. Science is the theory, engineering is the application.

In order to be able to do this we have to have an understanding of the problem domain. We conceptualise it. We think about it. Software is easy to understand and maintain when the abstractions you build map well to the problem domain. If the way you think about the problem is close to the way you think about your software then you have to do less mental translation between the problem and your code.

Joel Spolsky talks about the law of leaky abstractions. Any abstraction that maps to lower level operations in the system will leak. At some point something will go wrong and you will only be able to fix it by understanding the lower level operations too.

I’ve heard it said, and it rings true, that a good programmer can hold about ten thousand lines of code in their head. So if your system is less than ten thousand lines of code, even if it’s terrible code, you don’t need to build higher level building blocks to hold it in your head.

An all too common situation is that a system becomes too complex to reason about, so an engineer decides to create abstractions to simplify how they think. So they create black boxes, abstractions, in which to place the complexity. These type of abstractions conceal complexity. So now you don’t have to look at the mess you just made.

You can reason about your system with your abstractions, but in order to understand the actual behaviour (at a lower level) you need to go digging in all that dirt.

Instead of concealing complexity a good abstraction will explain and point you to the lower level operations. Good abstractions simplify and reveal complexity rather than concealing it.
We can also use this kind of reasoning to think about product and system design. What user experience are you providing, what’s the user story? Your users also think about the problem domain using conceptual tools. The closer the abstractions your software presents to your user map to the way they already think about the problem the easier your software will be to use.

And here we come full circle. If the way you build your software maps well to the problem domain then it will be easy to reason about and maintain. If the abstractions you present to the user map well to the problem domain then it will be easier for your users to think within your system and it will be more intuitive to use.

So abstractions matter. They’re the raw stuff of our world.

You can watch the presentation, from the Saturday afternoon lightning talks, four minutes into this video.

Friday, 4 May 2018

Prunes and Funerals

Does your life tell a story? Tell me your life story.

I was enjoying a sweet treat of prunes and dried apricots with Delia last night and she remarked that prunes reminded her of funerals. She still likes them though.

Delia grew up in a medium sized town in Romania called Roman, in the North East of Romania in the poorest region of the country called Moldova and bordering the country of Moldova where they also speak Romanian. 

Until Delia's mother fell into a bleak depression lasting several years both of Delia's parents worked. So Delia was a latch-key  kid even from her primary school years. Delia's father worked in the local chocolate factory under the communists. Money was tight for everyone so much of the economy ran on a barter scheme. A visit to the doctor or hospital was free, except if you actually wanted anything doing (like your sheets changing or you wanted feeding during a hospital stay) bribes were required. This minor corruption became so endemic that it's still prevalent. We gave our first ever bribe on a train ride from the nearest city back to Roman. Working at the chocolate factory provided a regular stream of bags of flour and cocoa and pats of butter that not only provided enjoyment for family and friends but were a useful source of bribes. That was until Delia's father lost an eye in a chocolate factory accident. No the eye didn't end up in someone's chocolate, and he was pensioned off on a reasonable pension. But that's another story.

Delia's mum was so determined that Delia would have an education that Delia grew up without toys but books instead. She was the first in her family to go to university and completed a degree in Romanian and English Literature at the prestigious university of Iasi. She lived in student accommodation and her parents would regularly visit to provide food and a small amount of money to live off. 

As a child during  the three month summer holiday Delia and her young aunts and cousins would run wild in the countryside staying with her grandmother. They would roam the woods and fields, staying out late until Bunica called them in to sleep top to tail all in the one enormous bed with grandmother in a two room cottage. Apparently Delia's father slept in the same bed as his sister until she left to get married. A different culture, a different way of life.

Delia's grandmother lived the traditional way. Subsistence farming, outdoor toilet, getting up at dawn. She dried plums for the winter and stored the prunes in her loft. They would be brought out as a special treat and served on a stick instead of sweets at events like funerals.

So prunes remind Delia of funerals. And running free in the countryside as a child, afraid of nothing and no-one except her mother. And she still loves them.

"Compassion is the deepest pleasure. Tune the pleasure principle into this and your own animal drive will compel you into goodness."