The Gathering Technical blog

Hello World 2.0

05 Apr 2015, by Tri Nguyen from

Welcome to the whole new Technical Blog by the crews behind The Gathering.

This is an unofficial rambling place and playground for the Info:Systems, Tech:Net and Tech:Server crews from The Gathering. The teams will share their thoughts, ideas and frustration from their work behind the scenes.

Read more about the new

The Drawing Board

Well, it is not all that new. Tech:Net was already running a blog over at posting their findings and thoughts on network design for The Gathering, and in general everything network.

We were midway in TG15 when the idea of having a joint collaboration between the three technical crews, for us to dribble down our thoughts, frustration and knowledge, got serious. Our chiefs were talking, and we were whispering. Suddenly it became true.

It all started out from scratch not using any old work. The drawing board was empty, and the backend was non-existing. The first lines were drawn and the first Python/Django code was written, nearly at the same pace. The design was converted into beautiful markup and stylesheets, connected to the backed and, here it is. A whole new blog!

Data Migration

The process on migrating from the former Wordpress blog to our new solutions started out as a headache. While wishing for one well structured document containing only the posts, we got a huge XML containing, well, every related element on the site.

The idea of only migrating the latest post was scrapped. If we were going to spend time on understanding the exported data format, we might as well transfer all of it.. A script was thrown together to withdraw all 130 posts and its related information, and structured to reflect the new data model. The content was converted to markdown, the images from each post was fetched by their inline url, and every image reference inside any post was updated to reflect the new paths. Old authors is kept from the Tech:Net blog.

A littled snippet from the data dump:

  <title>We are getting close.</title>
  <pubDate>Mon, 16 Mar 2009 21:41:11 +0000</pubDate>
  <guid isPermaLink="false"></guid>
   <img class="alignnone size-medium wp-image-5" title="ciscos" src="" alt="ciscos" width="300" height="225" />
    <![CDATA[ ]]>
  <wp:post_date>2009-03-16 22:41:11</wp:post_date>
  <wp:post_date_gmt>2009-03-16 21:41:11</wp:post_date_gmt>
  <category domain="category" nicename="status-updates">
    <![CDATA[ status updates ]]>

Was turned into:

    "fields": {
      "title": "TG15 wireless design - with Meru networks :)",
      "author": 1,
      "tags": [
      "created": "2015-03-28 09:09:09",
      "published": true,
      "text": "# **Simplifying and making WiFi less complex and ready to adopt the user needs ...

By using this little bash one-liner. The content was up running on the new page in seconds.

  find oldposts/ -name "*.json" -type f -print | awk '{ print $1"\ "$2 }' | xargs python loaddata
Labels: Blog

Tri Nguyen

Full-time developer and working consultant. In possession of a masters degree from NTNU and a member of Info:Systems. Loves Perl and JavaScript. And having a strange relationship to the world of pixels and colors.

Author image: Tri Nguyen


TG - Technical Blog is the unofficial rambling place of the Info:Systems, Tech:Net and Tech:Server crews from The Gathering.

Related sites