Separation

Which path should I follow? (Image from Dear Esther)
Which path should I follow? (Image from Dear Esther)

Back in January 2014 I wrote a post about needing to rediscover honest blogging. It’s funny looking back at that now, almost two years later. A lot has happened in that time. I may not have fully rediscovered honest blogging, but I think I have definitely made a good stab at living a more honest life, and being more honest with myself and those around me.

I remember last summer, it was about 02.00 am, I was sitting in my hospital bed hugging my knees feeling utterly terrified. I had never felt so small and so vulnerable and so utterly afraid to die. I had gone into hospital, as many of you know, with suspected viral meningitis but having reviewed my family history I was told that they were now exploring the possibility that I’d had a brain haemorrhage like my dad, who had greedily had three.

What I realised that night and the nights following was that I wasn’t only afraid to die, I was actually afraid to live.

I looked back over the previous fifteen years or so and recognised that I had slowly and gradually lost something essential of who I was. I had lost my spark. I had lost myself in a vocation, in a job, in a relationship. And I realised that I didn’t really like the person I’d become. I realised that I’d let myself go. I realised that I couldn’t even look myself in the mirror any more, I had become so ashamed of who I was.

But here’s the remarkable, grace-filled thing about this personal epiphany: I simply observed and asked questions of myself without judgement. I, thankfully, recognised that beating myself up about it would solve nothing. This was a time for self-forgiveness, for listening, and for doing something about it.

Live without fear

I sat in that hospital bed in Kirkcaldy and I promised myself that if I got through all of this then I would live without fear, I would grasp life again, I would join the adventure once more.

This past year has been one of the happiest I’ve ever known. I think this has been the most content I’ve ever been, certainly the most consistently content. I’ve felt empowered, and as I’ve listened to myself without judgement I’ve learned and grown.

All this despite what’s going on.

Separation

After years of struggling together, a couple of months ago Jane and I agreed to separate, with a view to divorce.

It wasn’t a decision that we took lightly. I cried for about three weeks. But I think in terms of our own personal growth and happiness I think this is the right decision. Obviously, we now need to guide the children through this as gracefully as we can.

We told the boys a couple of weeks ago; it wasn’t as difficult as I had anticipated. Now is the time to make it public.

There is still a lot to sort out, a lot of practicalities as we untangle seventeen years of life together. But we’ve agreed to be as gentle and kind to one another as we can. There is no animosity, there is no resentment. We’re still friends, we just make terrible partners: we still don’t really get each other. We’re like bright, colourful lights that when brought together cancel one another out and produce white.

It’s important to both of us that we model to our children a positive, healthy approach to separating: that even though it is terribly sad that we weren’t able to make things work (and boy! did we try) that we can wind things up gently and courteously.

So… that’s where I am. A lot of uncertainly ahead, but within myself I’m in a good place. I’m healthier than I’ve been for a long time; I’m happier too; and I’ve got my zest for life again. Time to make it count.

And what amazing family and friends and colleagues I have around me—I’ve never felt so supported and so inspired by these amazing people. Thank you, thank you, thank you lovely people. I am truly and deeply humbled by your love.

As I tweeted a couple of weeks’ ago:

Getting my Logitech F710 wireless gamepad to work with Windows 10

Logitech F710 wireless gamepad
Logitech F710 wireless gamepad

Last night I took the plunge and upgraded my desktop PC from Windows 8.1 Pro (64-bit) to Windows 10 Pro (64-bit).

The whole process took less than an hour, and as far as I could see most of my peripherals were still working after the upgrade: laser printer, scanner, webcam.

Of course, the one thing that I forgot to test were my pair of Logitech F710 wireless gamepads, which my three boys use most to play LEGO games. The controllers couldn’t be detected.

I downloaded the latest drivers from the Logitech website, which they claimed were Windows 10-compatible. That didn’t work.

Here’s what I did to get them to work; I found the official Logitech forum to be very useful.

  1. Remove both nano receivers from the PC (I have mine marked 1 and 2, so I know to which gamepad they belong).
  2. Switch the gamepad to D mode.
  3. Insert the nano receiver.
  4. Windows 10 installs drivers for Rumblepad 2.
  5. Remove the nano receiver.
  6. Switch the gamepad to X mode.
  7. Insert the nano receiver.
  8. Windows 10 installs drivers for Wireless Gamepad F710.
  9. Press Windows key + Pause/Break to open System screen.
  10. Click Device Manager.
  11. Locate Wireless Gamepad F710.
  12. Right-click and select “Update Driver Software”.
  13. Click “Browse my computer for driver software”.
  14. Click “Let me pick from a list of device drivers on my computer”.
  15. Select Xbox 360 Peripherals.
  16. Select Xbox 360 Controller for Windows.
  17. Click Next.
  18. On the Update Driver Warning dialog, click Yes.
  19. Allow the driver to install. You should now see Xbox 360 Controller for Windows listed.
  20. (Optional: if you have more than one controller, keep the working one plugged in but now do the same, starting at step #1, for the other controller.)
Device Manager listing the Xbox 360 Controller for Windows
Device Manager listing the Xbox 360 Controller for Windows

The controller now works perfectly for me in the LEGO games. Obviously, I’ll report back if there are any further issues.

Getting fit again (and hey! so far I’ve lost 6 kg)

Six bags of sugar. This is how much weight I've lost in the last five months
This is how much weight I’ve lost in the last five months

On Friday afternoon I attended my bi-annual renal outpatients’ clinic at Ninewells hospital in Dundee. My appointments usually follow the same script.

Doctor: Hello, come in, sit down… how are you?

Me: Fine, thanks.

Doctor: Good. How have your kidneys been over the last six months? Any problems?

Me: Fine, no problems.

Doctor: Your blood pressure is a bit high, but you’ve probably been rushing to get here. Let’s take it again… Hmm… still a bit high. You’ve put on more weight, I see. You really need to lose weight. That will help with your blood pressure.

And off I’m sent with a slap on the wrist, a ticket to get my bloods taken, and an appointment for six months’ time.

Change of script

Well, dear reader, not this time. This time we had a change of script. I was in and out in about five minutes. No reprimand, my blood pressure was looking good, just a a request for bloods and to return in not six but nine months’ time (always a good sign when they don’t want to see you quite as soon).

The reason: over the last five months I have been exercising. A lot. And yesterday afternoon I discovered just now much weight I’ve lost: 6 kilogrammes (13.2 lbs).

I knew it must have been quite a bit: I am now back into my XXL t-shirts, and my 38″ jeans.

The last seven years have been in many ways the most brutal, the more difficult that I’ve ever experienced:

  • sleep deprivation (twins and then singleton) for about four or five years
  • two back injuries
  • two neck injuries
  • viral meningitis

Whenever I did exercise (walking, cycling or light dumbbell weights) invariably I’d get ill pretty quickly, within a few days I’d come down with someone, or I’d overdo it and pick up an injury.

And with a regular pattern like that comes fear. And so I ended up avoiding exercise because I didn’t want to get ill.

In June of this year I knew that something had to change. I was experiencing major headaches again, comparable with the ones I had experienced during last year’s meningitis. I knew that I’d put on more weight, I was already in XXXL t-shirts and these were beginning to feel a little tight. I was feeling so unfit and so ashamed of my size that I knew that I had to do something about it. It actually got so bad that I felt I couldn’t even look at myself in the mirror.

I knew that I could do it, I’d done it before, after I’d moved from Edinburgh to Fife. I just wished that I had written down what I’d done so that I could do it again.

So I committed to the following:

  • Eat less (especially, cut out unnecessary  sugars and sweets).
  • Cycle more.
  • Lift weights more.

With the exercise I committed myself to a little, often. And with that I got on my bike and tackled a familiar circuit that I used to do: home to Kilrenny, up the farm track to the main road, then back home. I knew that it would take me about 13 minutes to reach the top of the farm track, up a gently hill, and about 26 minutes to complete the loop and get back home.

A few weeks in, I started lifting weights again. A little and often. Squats, preacher curls, bench presses. I hit major muscle groups. I followed a couple of Men’s Health dumbbell guides that I’d collected over the years.

Then I went back out on my bike, and was amazed that I could go significantly faster. The weight lifting had given my legs strength. Who knew?!

Night rider

The clocks changed and I continued to go out in the dark. I have fabulously powerful LED bike lights that illuminate the road ahead. And that’s when I realised that one of my biggest enemies, one of the things that had been holding me back, was myself.

When I cycle during the day and hit the bottom of a climb there is a small, nagging voice in the back of my mind that says, “You’ll never make that climb!” And coupled with the fear of getting ill, or pulling an injury, my brain gives in and replies, “Yeah… you’re probably right”, and I slow down and don’t push myself quite as much.

But at night… at night I can’t see the top of the hill. And so I don’t hear the nagging voices. I’m in the moment, and I just keep going, until I find the top of the hill.

So, I set myself a goal: get from my house to the top of the hill in under 10 minutes. A week in to my challenge I got it down to 10′ 52″.

I then realised that I was taking it too easy getting from my home to the bottom of the hill, so a couple of weeks ago I set out with the attitude of going for broke.

I pushed myself harder than I had in a long time, through the pain, up the hill, pulling on my pedals when pushing hurt too much, pushing when that started to ache.

At the top of the hill I slumped over the handlebars, out of breath, my heartbeat in my ears, sweat turning to steam in the cool night air.

I unclipped my bike computer and held it in front of my front light. Five minutes fifty-six seconds. What?! 5′ 56″.

Well… that’s under 10 minutes.

Onwards…

The next year or two are going to contain a lot of changes, big and small. Some I will have little control over, others I will grasp with two hands. This is one of them. I’m getting back on track (metaphorically and literally), getting fit and regaining my confidence.

Yesterday’s renal appointment was a significant milestone. Let’s see just how much fitter I can be in nine months’ time when I present myself to the clinic once again.

I’ll be there for you

I’ve had this rather amazing song going around my head today.

I heard the voice of redemption
For me there is no exemption
I started praying

I heard the voice of satisfaction
Needing me for benefaction
I started pleading

I heard the bells begin to chime
Warning me, oh Lord!
Don’t let this be my time
Don’t let this be my time

I’ll be there for you, when you walk through the fire
I’ll be there for you, when the flames get higher
When nothing fits and nothing seems right
Till the very last breath of my life, I’ll be there for you

You saw me slide, you saw me fall
We kept our pride through it all
We started screaming

When skies are dark, no sun shines through
I know I see the light in you
We stopped dreaming and started believing

I’ll be there for you, when you walk through the fire
I’ll be there for you, when the flames get higher
When nothing fits and nothing seems right
Till the very last breath of my life, I’ll be there for you
I’ll be there

In my hour of need
You were there always
Now it’s time for me to be there for you too
Always

I’ll be there for you

Gardening, stamina and Joshua’s chalk drawings

Our back garden in a state of order
Our back garden in a state of order

One of the delights of this past weekend — apart from almost seeing the blood moon eclipse last night (there was too much cloud cover at 03:47 when I peered out of my south-westwards facing study window) — was getting the back garden tidied up.

Of course, the front garden still looks like a jungle. (Sorry neighbours!) But the back garden looks splendid and neat. The secret to tidy-looking gardens, I believe, is simply in defining straight lines and borders. It’s a bit like web design. But without the benefits of flexbox.

What is frustrating, though, is that my stamina still hasn’t returned after last year’s headache.

It’s been over a year now since I was in hospital. When I got out my GP said that I shouldn’t expect to begin to get my energy back until January or February; it was more like April when I began to feel that I was making some improvement.

But then in July the headaches began again. I know I was pushing myself too hard: cycling every couple of days, staying up too late, and I need to get my eyes tested again (appointment booked for Monday).

Time to reel myself in a bit and be a bit more sensible and disciplined.

Still, in the meantime at least the shed is tidy. And who doesn’t love a tidy potting shed?

Look! You can now walk in through the door and not tread on something.
Look! You can now walk in through the door and not tread on something.

And I think I may have discovered that Joshua is the secret identity of Banksie.

I love this cheerful drawing of a man and... a thing.
I love this cheerful drawing of a man and… a thing.

Seemingly to the right of the cheerful man is his thought bubble. I need to ask Joshua again what he’s thinking. Because I seem to recall that it was something random. Like a pie.

Bulk install packages in Sublime Text

A couple of weeks ago I was setting up a new laptop and kept putting off installing Sublime Text (my code editor of choice) because I knew that it would also involve about fifteen minutes patiently working through my curated list of packages (add-ons / plugins), installing each one by one.

There’s got to be a simpler way, I suddenly thought. Sublime Text saves me so much time doing other stuff automatically, surely they’ve thought about this too.

I was right.

In fact, front-end developer extraordinaire Paul Irish asked this very question back in 2012.

How do it it

So, here is how to do it:

  1. Install Sublime Text (2 or 3).
  2. Install Package Control.
  3. Create a JSON file listing the "installed_packages" you want (see below) and save it to Packages/User/Package Control.sublime-settings.
  4. Restart Sublime Text and allow it to pick up and install the new packages.

Just be aware of any packages that need dependences that Sublime Text cannot install, for example Git or Zeal (offline documentation browser).

Save locations

You can easily find the save location by going to Preferences > Browse Packages.

On Windows the save location is: C:\Users\[YOUR USERNAME]\AppData\Roaming\Sublime Text 3\Packages\User

Package Control.sublime-settings

This is my installed packages list from work and home; I keep a copy in Dropbox so that I can keep the two in sync.

The names listed are exactly as they are listed in the Package Control: List Packages list.

{
    "installed_packages":
    [
        "Alignment",
        "AutoFileName",
        "Autoprefixer",
        "Bootstrap 3 Snippets",
        "BracketHighlighter",
        "Color Highlighter",
        "CSS Color Converter",
        "CSScomb",
        "DevDocs",
        "Emmet",
        "GitGutter",
        "Handlebars",
        "jQuery",
        "JSHint Gutter",
        "Markdown Preview",
        "MarkdownEditing",
        "MarkdownTOC",
        "Package Control",
        "Placeholders",
        "Sass",
        "Search WordPress Codex or QueryPosts",
        "SideBarEnhancements",
        "Status Bar File Size",
        "SyncedSideBar",
        "Tag",
        "Theme - Minimal",
        "TodoReview",
        "Tomorrow Color Schemes",
        "View In Browser",
        "WordPress",
        "WordPress Developer Resources",
        "WordPress Generate Salts",
        "Zeal"
    ]
}

Needless to say, doing that made installing Sublime Text so much easier and quicker.

I will try to keep this list updated, as much for my own benefit as any one else’s.

Writing to the Google Chrome console from PHP

Chrome Logger is a Google Chrome extension for debugging server side applications in the Chrome console.
Chrome Logger is a Google Chrome extension for debugging server side applications in the Chrome console.

This afternoon I finally got round to figuring out why my workaround for changing the Divi projects custom post type to anything you want had broken in Divi 2.5.

In the end it was deceptively simple. I’d set the priority values for the add_action($hook, $function_to_add, $priority) and remove_action($hook, $function_to_add, $priority) functions too low.

WordPress uses the priority value to determine in which order particular actions are run. The default value is 10. The higher the value, the later it will be executed.

While I was investigating this, it crossed my mind that it would be really useful if I could write values to the Google Chrome console in the same way that you can when writing and debugging JavaScript.

It turns out you can, using Chrome Logger plus the ChromePhp library.

With the Chrome Logger extension installed and enabled on the tab I wanted to write to, all I had to do was include the library and log some data. Like this:

<?php
include 'ChromePhp.php';
ChromePhp::log('Hello console!');
ChromePhp::log($_SERVER);
ChromePhp::warn('something went wrong!');
?>

Very useful. And as well as a library for PHP there are also libraries for

  • ColdFusion
  • Go
  • Java
  • .NET
  • Node.js
  • Perl
  • Python
  • Ruby

You can find details on the Chrome Logger website.