Drugs and Very Big Magnets

It’s been a little while since I’ve talked about depression, so let’s get back into that.

I do still find it quite difficult to write about while I’m in “the thick of it”, but I’ve had some more discussions with people with access to therapies and I’d also like to follow up on my promise to talk about the effects and various oddities of the current medications I have taken over the years.

Starting with recent events, I have now been referred by my GP to a psychiatrist. This gentleman took the single most complete history of my mental health that I have ever been asked for, and as a result we’ve got two elements that we’re going to follow up on. First, I am to be scheduled for an MRI of my brain – because it’s most likely my depressive episodes where triggered by my head injury they would like to see if there’s any visible structural damage to my grey matter. This is both wonderful and slightly scary, the idea that the source of my “self” could be physically scarred is a harsh reminder of the dependency principle, that you can be “turned off” with nothing more than a sharp blow to the head.

Secondly, I’m going to be taking rather more of my current medication, and I was ‘threatened’ with Lithium. This takes us rather neatly onto the drugs bit I’ve been promising for so long.

Lithium has been described to me before as the “Gold Standard” of mood stabilising drugs, and it’s was the first success story of the drug based treatment of psychological problems. Before the clinical use of lithium there was really no pharmacological approach, and it acted as a gateway to the development of modern psycho-actives. That’s not to say that it doesn’t have some issues, because it does. The effective dose is uncomfortably close to the “drop down dead” dose, and because lithium can take the place of other ions in the body a sub-lethal dose can become quickly lethal if you – for instance – become dehydrated. This is a bit of a disadvantage in terms of therapeutic usage.

Wind forward a few years and we go through the development of the tricyclics, the SSRIs and the SRNIs. These too, have side effects.

All drugs have side effects. It’s a comforting mental image to think of a drug as a perfectly shaped key that fits into a lock somewhere on the door that is a cell – this is after all what they teach us at school, more or less. This model is correct however only if you fill the door with locks, and each key can fit in multiple locks. And the door is made of jelly and can retreat from the key. And the locks change shape when the key is inserted. And there are different kinds of door, where the lock makes the door open differently. It’s really not a good metaphor – for more insight I’d suggest reading “In The Pipeline”, where Derek Lowe (an active drug discovery chemist) gives great insight into how drugs actually work. He seems to be moving blogs at the moment, but you can find his archive here.

The fact that each drug fits multiple “locks” and multiple different kinds of cell is what causes many of the side-effects. Each drug will not only hit it’s more or less understood target, but also several others (the purpose of which may not be quite so well understood). Also, differences between the exact state and setup of your body chemistry can mediate how many side effects you get; sometimes a drug will be well accepted, other times something you’ve taken for years can suddenly turn round on you and bite you. Now, I’ve taken a fair few of the anti-depressant drugs over the years, so here’s my who’s who of the pharmacopoeia – and an idea of what to expect if you’re talking about possible drug treatments with your GP or other brain-care specialist.

Another Bridge
Another Bridge – this one works


This is probably the oldest drug that I was ever rotated through; it belongs to a class of medications called the “tricyclic” group – named for the shape of the molecule. Lofepramine was fairly rarely prescribed in the UK when I first start taking it, and it’s been largely replaced by SSRI’s as a first line treatment.

Compared to some of the other medications I have taken, the adaptation period was relatively mild and the side-effect profile relatively good. I did have a little dizziness and confusion for the first couple of days, but after that it was back to business as usual. At the time I was underweight (hitting less than 7.5 stone at one point), and I was really hoping that one of the advertised potential side effects of weight gain would pop up – no such luck.

I took Lofepramine as a first fix treatment, and I was moved off it when my mood failed to respond. After some consultation I was switched to Cipramil.


There’s a big warning in most of the leaflets I’ve read that says that SSRI’s like Cipramil should not be taken after tricyclics like Lofepramine without a “washing out” period after your last dose. That in fact didn’t happen when I switched, and because of that my first two days on this medication were not typical. I have a memory of cold sweats and Lucosade (if you’re not from the UK you may not have quite the same “I feel ill, I shall drink Lucosade” thing that we do over here). I also remember reading what was in hindsight a fairly pedestrian book and feeling like it was in the literary equivalent of immersive 3D with surround sound and a hidden bass-bin. As I say, not typical.

This was my first SSRI, and SSRI’s are the source of some controversy (of the type “do they even remotely work”, which isn’t good for a drug class). There’s some evidence that they are more effective in steep chronic depressions, as the placebo effect pretty much gets flattened by one of those, but there’s still some argument as to whether they are very helpful, or just slightly helpful.

In my first few depressions I tolerated Cipramil pretty well – not so in my most recent episode; that instead felt pretty much like having ants under my skin. There’s an effect that people who spend much time with SSRI’s talk about quite a lot, which is the feeling that you’re being electrically shocked every few moments. While it’s generally felt during discontinuation, I’ve found that it can creep up any time; this however was grim torture – almost constant “zapping” and shudders, badly disturbed sleep and mood problems. After only a fortnight I switched away to Duloexetine.

Now, because of my previous positive experiences with Cipramil, and despite my recent experience I certainly would consider using it again; and this is the thing with psycho-actives – you never really know how well tolerated or effective any of these medications are going to be until you try them. Despite how well tolerated Cipramil had been in the past, that was never any guarantee it’d be dealt with so well in the future. As a result, most treatment for depression tends to wander through the available compounds until something that is both effective and relatively gentle.


My wife has slightly bad memories of Duloexetine, as after the initial adaptation period we found this one of the most heavily sedating drugs; to the point where I could occasionally fall asleep mid-sentence. This kept me off the motorbike for a fair time for obvious reasons; narcolepsy and rapid modes of transport are not good bedfellows.

Duloexetine is an SNRI, but not one you’ll have heard of if you’re Stateside – the FDA never approved it as an antidepressant over there over suicide and toxicity concerns. We gung-ho Brits stuck it through though, and it’s become a flagship for the SRNI gang over here. Rather than just raising the level of seratonin in your synapses, these drugs also prevent the re-uptake of norepinephrine – another important factor in mood regulation.

I stayed with this one for a good few months, but after a brief lift in mood it felt like things were slipping backward. This also was the worst anti-depressant to miss a dose of – the withdrawal effects of Duloexetine were fast, unpleasant and dependable. After my fifth wasted morning caused by missing my first dose of the day, one of my friends got me a key-fob pill box, and I’d seriously suggest investing in one if you’re considering an SRNI.

Venlafaxine and Mirtzipine

Having had no great luck with Duloexetine, and getting a little fed up of falling asleep so much, it was decided that it was time to switch to another SNRI. Known as Effexor in the States, this is often given in combination with Mirtazipine in a combination known as the “California Rocket Fuel”. Taken individually these drugs are good for mid-level depression, taken together they are considered an excellent hammer for smacking even the hardiest depression into submission.

Of all of the medications I have been rotated through, this combination has so far been both the gentlest in terms of side effect profile and adaptation period; I started feeling ‘normal’ within a couple of days – although the first dose of Mirtazipine will likely knock you flat next morning. It’s a moderately good sedative, and I did get a sleepy hangover the next morning, but there’s an effect called paradoxical sedation where the higher the dose you take, the less sedating the drug is. One thing to note is that Mirtazipine will almost certainly make you put on weight – I’m up a stone, and my cravings for sugar are almost unstoppable!

Unfortunately my current depression has been fairly resistant even to this potent combination. I did have two minor lifts in mood during the dose staging, but these faded after a week; hence my referral to the psychiatrist and the increased interest in the physical structure of my skull’s contents.

I hope that’s given you at least some idea of what you could face if you’re considering adding medication to your treatment plan for depression; if you’d like me to drill into any of those medications specifically then just pop a message in the comments and I’ll queue it up for a future post.



It’s not often (never) that I feel moved to review a computer game. It’s not so much that I don’t play them, because I do – quite a bit sometimes, but because they are generally “good” and an awful lot of people already review games.

Enter TIS-100; it’s a modest little thing, and it’s interface is both nostalgia-inducing retro and modern convenience. It looks like you should be using an ancient IBM model M keyboard, but actually allows mouse clicks and control-c/v commands just like modern software would. With very little fanfare you’re dropped into a broken operating system, where the corrupted segments of the kernel have to be fixed up by you.

Welcome to TIS100
Here’s the welcome screen – feel that 1970’s vibe.

The first part of the charm here is that there is no hand-holding. None. You’re provided with a short manual detailing the valid processor op-codes, a little brief on how the node based architecture works – and then you’re out in the wild. Each node has a short code limit of around 15 lines, and each node also allows access to two registers. And that’s it. You’re set a task, and provided with some tests to run with the expected output detailed on the left hand side of the display. This is coding stripped down to it’s barest nuts and bolts.

Part of the novelty is that the TIS stands for Tesselated-Intelligence-System – processing is divided out into separate nodes, each with their own codebase. Calls to access the values of other nodes block the callee, making simple swaps a more considered operation and deadlocks ever present. Once you’ve got the swing though, you quickly find that you can use nodes for parallel processing, or as quick scratch-RAM for a main processing node. Each task that you are set to repair a segment is also non-trivial, in that it’s a real operation you could expect to find in an embedded environment (signal peak detection, pattern matching – even an interrupt handler), and that there’s a genuine sense of accomplishment when the output column of the test matches the required values – and it’s extremely instructional.

Tis Running
A mid-level problem solved in drunken enthusiasm

I spend most of my working life dealing with a fourth generation language, and I’m abstracted away from the hardware by a considerable degree – but I’ve often yearned to get some assembly coding done (even maybe start a hobby operating system), and all of my attempts to “get in” to assembly have been thwarted. Either I wasn’t experienced enough, the documentation was patchy, or the build environment wasn’t sane; I’ve had several cracks at learning – but nothing in my twenty-plus years of developing has been as useful or informative as a (slightly drunken) hour with this little beast.

One of the joys is that coming from some much (.NET, SQL server) down to this level forces you to do far more with far less. I tend to float up objects and variables with wild abandon, expensive database queries and non-optimal execution trees don’t consume a lot of my thinking time because modern machines are so fast and have so much RAM.  I do sometimes go back over old code to correct my more egregious assumptions or requests (when they pile up into seconds), but here we’re given two registers two work with – and one of the register operations is destructive. Suddenly we’re up into The Art of Computer Programming territory, using a notional system to achieve realistic results – and with such little room to manoeuvre that optimisation is almost impossible to avoid.

This really has helped me enormously in terms of my feeling of “completeness” as a developer, and has refueled my desire to work through the Art of Computer Programming and GEB (Godel, Escher Bach – an eternal golden braid to the unfamiliar) – it’s the same feeling you get when a beautiful algorithm unfolds in your head, and when it gets down to it, it’s one of the reasons I’m in this business. I love to code, and I love good code – but we don’t often get paid to write good code; just stuff that works. If you feel the same then get this game, because it will put you back in touch with that feeling.

If you’ve never coded before, you may need a little more time bootstrapping yourself – but I reckon that you’d be far better off spending a day puzzling over this than almost any “fundamentals” programming course. This will get you in at the sharp end, and the techniques you learn will give you a better understanding of what various library functions do, their overhead – and insight into how much has gone into providing all that padding for you to keep you safe from the sharp edges of the hardware.

Please – go buy. It’s only a fiver, and I want to encourage the developer to keep adding more segments and more challenges; they’ve managed to re-awaken my hidden low-level developer, and I want more!

Coding Chickens

In a short break from our usual programme (while I finish writing up the details of my fast), I feel the need to explore some of the horrors developers face; if only to make myself feel a bit better.

Sometimes being a developer is rewarding, sometimes you get the strong feeling that you should be able to do more to help. Sometimes you get the feeling that you just can’t get people to understand that you are trying to help. You’re not giving long time estimates out of a desire to be difficult, you’re not trying to make something “sound more difficult than it really is”. You’re just trying to help.

Nowhere do I bump into this more than when managers congregate to work on ‘systems’.

A system is a nebulous thing, or at least it is before someone like me gets involved – I’m a systems developer, so I think in terms  outcomes and inputs, and minimisation of interaction. My job (which I am ok at, or so I’d prefer to think) is to take the fluff of a user requirement and turn it into a practical improvement. This unfortunately means that I bump into a lot of people who also believe that they can create systems.

I have the opportunity to watch this process of creation from a short range, and in one of the businesses I’ve dealt with for a very long time the effect is similar to watching a small clutch of argumentative chickens trying to work out a mirror. This mental image is far more amusing in the mind than it is in the flesh – as someone who really wants to improve an overall work environment, phrases like “Oh, I think we should have another form filled in and scanned before we let users do that” make my blood boil. At the end, there’s a lot of noise, some feathers in the air and nothing remotely looking like a system in place.

There are people in these meetings who squawk because all the other chickens are making noise, there are people who add redundant checks and measures and steps because they realise their own make-work may be reduced, and there are people who really shouldn’t be allowed to add their tortuous mental loops into the process.

You know you’re in the presence of the latter when the subject of outcomes comes up on the agenda. These people want to track and report on everything it seems. Mistaking visibility for control, they want to see “every stationary order under £15 for the year 2001” (a genuine phrase heard in a chicken-fest). What then unfolds is a system where a huge amount of ROD – my own coining for wRite Only Data – is captured. Every user, at every point in the process is suddenly burdened with entering data they may barely understand (or indeed know) into the system – resulting in a massively bloated interface that nobody wants to use. Quite simply, the clichéd ROD for your back.

Don’t get me wrong, I have some good clients relationships; many lasting over years where such happenings don’t take place, where the chickens are carefully cooped before a requirement meeting even takes place. One has even got themselves to the point where they are able to judge how long it’s going to take me to deliver their requirement – and how I love them and cherish them as a client, and how much more willing to stretch things we are when things go to the edge of the specification.

A waterfall is an elegant system for getting water downhill.

These people capture only the data they need, only generate the documents they need and only capture the data they need – and they can take advice about how best to organise these into an overall business solution. People who are of genuine value to their business are never worried about “systems” taking over their part in the organisation, they instead relish the chance to get away from the make-work and get on with their job – making the business better, and not carefully crossing off items on a printed report with a biro and a rule. This latter of course would be a firing offence in my own business!