Keeping the Fiction Flowing

As I announced in my last blog post, I’m starting to publish all of my fiction through Patreon.

There are two books I’m actively publishing right now:

  • NAPE – a sci-fi story featuring a missing artificial intelligence.
  • Kings Courier – a fantasy featuring a boy who is a courier and gets pulled into a deeper role than he ever expected.

In case you’ve already missed the previous instalments:


Kings Courier

Of course, you can head to Patreon and sign up for the regular updates over there.


2015 is that way, 2016 is this way

The last year has been something of a change in direction in my life. Not only was it a year of a large number of ‘firsts’ for me, in all sorts of ways, I also changed a lot of what I was doing to better suit me. Actually that’s really important.

2015 turned out to be a really significant year for me, not because of any huge life changes, but because so many different and interesting things happened to me

What did I change?

‘Official’ Studying – I have for many years been doing a degree in Psychology with the Open University. I was actually on my last year – well, 20 months as it was part time. I had my final two modules to go, and although I was hugely enjoying the course, it was a major sap on my personal time; what little I have of it after work and other obligations (see below). I also reached a crunch point; due to the way the course worked, changes in the rules, and the duration of the work (I started studying back in 2007), I had to finish the course by June 2016, and that meant there were no opportunities for retakes or doing the entire course all over again. I either had to get it right, first time, for each remaining course, or I would have to start again. That kept the pressure on me to get good marks massive when I have a very busy day job, and it got harder to dedicate the required time. In the end I decided that having the piece of paper was less important than having the personal interest in the topic. And that was the other of problem. I’d already stopped reading, I stopped playing games, I stopped going out, all to complete a course. I realised that my interest in Psychology wont disappear just because I stop studying. I can still read the books, magazines, articles that interest me without feeling pressured to do so.

Book/Article Writing – Given the above, the lack of activity on here, it wont surprise you that writing books and articles was something else I stopped. I deliberately changed my focus to the Psychology degree. But I also stopped doing anything outside work in any of the areas I’m interested in, despite some offers. I was working on a book, actually two books, but ultimately dropped them due to other pressures. Hopefully I’ll be converting some of that material into posts here over the course of the year.

Working Hours – I have very strange sleep patterns; I sleep very little, and have done since the day I was born. As such that means I normally get up very early (2am is not unusual) having gone to bed at 10 or 11pm the previous night. However, last I spent even more time up late on the phone with meetings and phone calls to people in California. That would make for a long day, so I switched my day entirely so that I now start working later and finish later, doing most of my personal stuff in the early morning. It’s nice and quiet then to.

2015 Firsts

  • First time staying in a B&B – I know, this seems like an odd, but I have honestly never stayed in a B&B before. But I did, three times, while on a wonderful touring holiday of the North of Scotland, taking in Inverness, Skye, Loch Ness and many other places.
  • First touring holiday (road trip) – See above. For the first time ever, I didn’t go to one place, stay there, and travel around the area. We drove miles. In fact, I did about 2,800 over the course of a week.
  • First time to the very north of Scotland – Part of the same road trip. I’ve done Dunbar, North Berwick, the borders, Edinburgh.
  • First music concert (in ages) – I went to two, in fact. One in Malaga and one in San Francisco about two weeks later. Enjoyed both. Want to do more.
  • First time driving in the US – I’ve been regularly going to the US since 2003, when I first started working Microsoft, and even for companies in Silicon Valley, I’ve always taken rides from friends, or taxis. In April, I hired a car and drove around. A lot. I did about 600 miles over the course of two weeks.
  • First Spanish train journey – I flew to Madrid on business, and then took the train from there down to see a friend in Malaga. The AVE train is lovely, and a beautiful way to travel, especially at 302km/h.
  • First Cruise – I’ve wanted to go on a cruise to see the Fjords of Norway since I was a teenager. I love the cold, I love the idea of being relatively isolated on a boat with lots of time to myself. In the end, I spent way more time interacting with other people than I expected, and did so little on my own, but I wouldn’t have changed it for the world. I went from Bergen to Kirkenes in the Arctic circle and back on the Hurtigruten and it was one of the most amazing trips of my life.
  • First time travelling on my own not for business – I travel so much for work (I did 16 journeys in 2015, most to California) it made a nice, if weird, change to do s full trip on my own. I enjoyed it immensely and recommend it to everybody.

What’s planned for 2016?

I’m starting to publish my fictional work on Patreon with the express intention of getting book content that I’ve been working on for many many years out there in front of other people. I’ve got detailed notes and outlines on about nine different fictional titles, crossing a range of different genres. I’ve started with two of my larger ‘worlds’ – NAPE and Kings Courier and will be following up with regular chapters and content over the coming months.

I’ve also created a new blog to capture all of my travel. Not the work stuff, but things like the Scotland tour and the Norwegian Cruise, plus whatever else comes up this year and beyond. Current thoughts are Antartica, Alaska or Iceland, work and personal commitments permitting. Plus I’m in Spain in August with my family and friends.

Converting my unfinished technical books to blog posts. I’ve worked on a number of books, some of which contain fresh, brand new material I’d like to share with other people, including the book content I was working on last year. I’m still trying to reformat it for the blog so that it looks good, but I will get there.

Moving from MySQL to CouchDB: Part 1

I’ve started a little series on how to migrate your MySQL applications and databases over to CouchDB. Most of the process is about how you think about your data, not about the database itself, the application, or the interface to the database storage. There are some use cases for data storage that lend themselves to the CouchDB document model that provides some advantages over the table-based structure in MySQL. The first part of the series is Moving from MySQL to CouchDB: Part 1.

Left MySQL/Joined CouchOne

For many people this will be old news, but I guess It thought I should put up something official. At the end of September, I left MySQL/Sun/Oracle – that wasn’t an easy decision, mostly because I loved my job. It’s difficult to stop doing something that you enjoy so thoroughly and, over the years, have been so involved in. I did more than just get involved in the docs, I helped out with advice for different departments, worked on areas like DTrace, and of course helped write the documentation and enhanced many of the tools that enabled us to build such brilliant documentation. I managed to work with some amazing people, most of all the rest of my team who worked so hard to produce the manuals and content. The impetus to leave came from an opportunity to work with another excellent team on a different database, namely CouchDB. CouchDB reminds me of my early database work working on freeform text databases, with a nice open and easy structure, but with ways of getting standardized information out. I’ve joined CouchOne as Vice President of Documentation. The core of that is building an entirely new suite of documentation, starting from the ground up with everything from the build environment for the docs, to the content itself. Longer term there are lots of other things we are working on, but it will hang off that core reference documentation.

Reorganizing the documentation

Those of you that know the documentation well will be aware of the old page we used to have for the MySQL documentation. It was huge, and over the years we’d done a number of things to try and improve the layout and make it easier to find what you wanted. We had in-age links to jump to the different documentation types, and the old topic table that allowed you to jump to specific parts of the documentation. The problem was that the more documentation that we produced (and there are over a thousand docs in various formats now), the bigger the page got. When we added the individual topic guides, for example, we trebled the size of the page by adding the links for each individual topic guide. Ultimately that makes it increasingly difficult for you guys to find what you are looking for, despite the quick links and other elements. We’ve now changed all this and split the single, big, monolithic page of *every* piece of documentation that we create, and instead spread the documentation out over a number of pages. The actual documentation itself remains the same, and we still have the same range of documentation (in fact, it’s increased slightly as I’ve been able to squeeze in a few more formats and topic guide docs), but everything is still there. The key is the new sub-navigation bar that the Web team have provided us with:


The pages have been split out as follows:

  • MySQL Manual — the full, complete reference manuals
  • Workbench — the Workbench manuals
  • Expert Guides — the standalone guides for some of our more detailed products and system such as the Falcon storage engine and the MySQL Test Framework
  • Topic Guides — the topic reference, with the topic table at the top providing direct links into the 5.1 manual or standalone guides, and the full list of downloadable standalone guides.
  • MySQL Cluster — the full cluster manuals, including the guide to the MySQL Cluster API (NDBAPI)
  • Other docs — other documentation, not already mentioned, including the sample databases (Sakila, World, Employee), the help tables you can import into MySQL, and printed material and links elsewhere.
  • MySQL Uni — a page about the MySQL University, which is run by the documentation team, and which provides links to the MySQL Uni pages on Forge
  • About — information about the documentation team, who we are, and some statistics on the documentation we produce
  • Archives — archives of older manuals

We are aware of a few issues with some of the links to some documentation, and I’m working right now to address those problems, but all the documentation should be there and available. If it isn’t, please report a Bug.

Adding Workflows to the Installation Guides

One of the elements that I have wanted to add to the installation chapter for some time has been some flowcharts to make understanding the steps required to successfully complete an installation on various platforms. The Windows one is the most interesting, because not only do we have the installer, but we also have the MySQL Server Instance Config Wizard which has its own sequence of steps to configure an instance of the server. I’m still working out and refining the examples and the graphics, but here is an example of the config wizard output:


Hopefully the full suite of images will be in the documentation shortly – all comments and input welcome.

Rebuilding the installation chapter

We have lots of things on the go right now (over and above the normal process of keeping things up to date), and one of the main projects for me is to do a complete rebuild of the installation chapter (Installing and Upgrading MySQL). I’ll be starting with the 5.1 manual, then the 5.4 manual. Any future manuals should be based on these so we should be up to date for future generations. What I’m doing:

  • Re-structuring the chapter to make it easier to follow on a platform basis. The old structure mixed content for different binary and source types, and different platforms, across a number of sections, making it very difficult to follow the instructions for your chosen platform.
  • Make some things generic. There are sections which are generic and apply to all (or at least many) different installation types.
  • Make some things more specific. Equally, there are some things that need to be spelled out more uniquely.
  • Remove some old, old, advice. We have notes in there going back 10 years or more. Among the favorite examples I’ve found is a piece of advice that says ‘If your machine has more than 16MB of RAM…’. These things are not helpful in the manual, and may just serve to confuse some people.
  • Remove some older platforms. Some of the platforms and advice go back and predate MySQL 5.1, and even MySQL 5.0 and 4.1. In many cases the OS information is for a system either no longer actively developed or supported (FreeBSD 3.x, or Solaris 2.5, for example). Again, we want to remove some ambiguous and potentially confusing information and advice here for platforms which we simply can no longer monitor.
  • Make it easier to keep up to date. The problem with the old organic structure is that knowing where to add new content, improvements, extensions, etc. becomes harder and harder. by merging and unifying the structure we will improve this, and in turn, improve the ability to find information.

In practice that means for at least the next month or so you will see a number of improvements and restructuring in the installation chapter for 5.1 and later manuals. I already have a list of about 35 items that need to be addressed, over and above the list above, but feel free to provide any additional suggestions and I’ll see what I can do to fit them in.