Winter 2015 – Blog Migration

I spent a bit of time over the Xmas holidays 2015 migrating this blog from its original home to a new hosted WordPress site.

This blog has a long and chequered history – I began posting back in 2003 when I had the blog hosted on  a system called MoveableType. Somewhere in 2007, I wrote some code that moved the content across to CommunityServer which I ran on a hosted server and it stayed there until late 2015.

During that time CommunityServer had pretty much died but I was a bit stuck with it in that I’d got a couple of thousand posts in its database and there never seemed to be a great utility for exporting content and so, like a lot of old-but-useful software, I got a little bit stuck.

In late 2015, I decided that it was time to bite the bullet and move on and so I decided that I would move the content elsewhere that didn’t involve me directly managing a server.

I settled on (hosted) WordPress.

Moving my materials out of CommunityServer wasn’t completely painless and it took me around 4-5 days of effort of going around the loop trying to write code and SQL to analyse the content that I had in CommunityServer and make sure that it would land ‘reasonably’ on WordPress.

What that largely involved was;

  1. Taking all the content from my hosted web server like downloads, images, videos, etc. and moving it across to an Azure web server, largely preserving the folder structure to make it easier for my code to rewrite hyperlinks.
  2. Getting a local copy of my CommunityServer database and writing custom code in order to attempt to;
    1. Rewrite hyperlinks that were pointing at the old locations for images, downloads, videos, etc.
    2. Rewrite hyperlinks that linked from one post to another.
    3. Fix up posts which contained code snippets – over the years, a number of different ‘code formatters’ had crept in to my blog and patching them up after the event wasn’t so much fun Smile
    4. Fix up videos – my blog site had allowed posts to contain object tags and iframes and that wasn’t appropriate for WordPress posts which (generally) have a better way of handling this.

In doing this work, I ended up writing a C# console application (!) which did old-school ADO.NET into the community server database and then I used the Html Agility Pack in order to pull apart the HTML and attempt to put it back together again with various links rewritten.

That code then uploaded posts to WordPress by using the WordSharp wrapper that I found to be a nice, convenient way of getting content posted into WordPress.

Some of that process involved digging through the WordPress REST APIs and I found that, generally, the developer docs are pretty good and the APIs seem to have the common scenarios covered and it felt good to be following in very well-trodden footsteps rather than trying to blaze a trail.

What I haven’t attempted to do as part of this migration is to preserve external  hyperlinks into my blog site and so links that come into my site are likely to break. It would have been ‘nice’ to be able to do work to redirect those links but I don’t think it’s possible under a hosted model and so that’s the trade off that I’ve made.

Hopefully, WordPress can be this blog’s home for the next few years and I won’t have to write any more one-time migration code again in a hurry Smile

Is Your Next Phone Your Next PC?

It’s getting increasingly difficult to differentiate a phone from a tablet from a PC and, today, while watching the Microsoft stream from Mobile World Congress one of those differentiators for “Windows Phone” seemed to disappear – the absence of a physical keyboard.

Along with the launch of another large-screen Lumia, the 640XL to go alongside the 1320 and the 1520;

came the announcement of the new Universal Foldable Keyboard;

and a demonstration of that keyboard working with a phone running Windows 10 with the “Detail” section on that product website noting that the keyboard will also work on Windows Phone 8.1 Update 2.


Part of the same event demo’d more of running the forthcoming Universal Office Apps on Windows 10 on a phone. I haven’t captured a screenshot of Excel in use on the phone but it was part of this demo section and it was pretty impressive as was the Outlook demo;

and so a typical laptop worker can sit on a 6” phone running Windows 10 and run a version of Office and bang away on their foldable, bluetooth keyboard and all they really need is a big screen to put their content onto and, presumably, they could make use of something like;

as detailed in this blog post to wirelessly project this onto an external monitor and now they’ve effectively constructed a ‘desktop PC’.

I’m not sure that in Windows Phone 8.1 this would provide the ‘perfect’ experience when compared to working on a laptop and I don’t know how it’ll work in Windows 10 on a small mobile device as I’m not running Windows 10 yet on anything under 8” and, of course, it’s a preview right now rather than a finished product.

But…it seems that all the pieces are there to make this work today and to refine it into a more mainstream idea in the future?

Twitter Followers/Analytics

I had a quick look at Twitter’s analytics today following a link from my colleague, Andrew.

I’d never been there before and I spent 2 minutes in it and it looks like Twitter start gathering most of their data once you sign up for analytics so most of the sections seemed empty but I found this picture of my Twitter followers really interesting;


in that it looks like the folks are interested in “programming”/”tech”/”mobile” and are mostly in the UK and the US and also follow a bunch of other Twitter people/handles that are entirely familiar to me.

It’s a bit reassuring to know that people aren’t following me for my hair styling tips or my thoughts on pre-Raphaelite literature Winking smile

If you’re one of those followers – great, glad to know you, feel very free to say “hello” if you’ve not done so before Smile