The Scientist’s Son

Your place, my son, is here,
Your canvas is life itself,
Upon which you will
draw your greatest creations.

Your place, my son, is here,
Nestled amongst the divine,
The biological alchemist
of a beautiful new world.

Your place, my son, is here,
Your hand as Clotho’s shuttle,
Your thread the resounding defiance
of poor Atropos’s shears.

Now come sit, my son,
Climb high upon my knee,
And let me teach you
how to wield the loom of life.

– Sam


(This was written while trying to stay awake on a drive from Cincinnati to Chicago… if any deity is listening, if you can install some hills or twists+turns in Ohio, that would be great :p)


Building VTK User Interfaces: Part 2 – Setting up Your Dev Environment

With the tools and technologies laid out, the next step is to set up a development environment. The end-game here is to have a cross-platform program that runs in both Windows and Linux environments – that way it doesn’t matter where it runs or where you do development. For this project, however, the environment of choice is Ubuntu Linux 14.04. This post will deal with setting up an Ubuntu development environment for VTK+PyQt+LCM and allowing a developer to work out of Eclipse PyDev and IDLE.

— Quick note: We set up the Windows boxes for the ARNerve project and found that the installation for Windows is a little bit of a pain (for LCM mostly). Let me know if you’re looking at doing this and I’ll set up a quick post on it! [Sam] —

Continue reading

Building VTK User Interfaces: Part 1 – Aim and Technologies?

Aim of Project

The point of this hobby project is to build a neat user-interface (UI) for an application. The idea for the UI is:

  • It will show both 2D graphs+information, as well as contain a 3D representation of an environment
  • It will allow a user to interact naturally in both the 2D layer (say with buttons, list boxes, etc.) as well as via the 3D layer (clicking and ray-tracing)
  • It will be communicating with an external real-time data source
  • It has to run cross-platform
  • It should  be flexible because the requirements can change at short notice (…show me a project that doesn’t have this clause :p)

This is very similar to a number of projects that we’ve worked on in the past. I doubt I’m the only one. I mean, let’s be honest, who doesn’t want a really fancy UI for their application?

Continue reading

Building VTK User Interfaces: Part 0 – Project Outline

At the moment, my after-hours and weekends are totally dedicated to working on a small academic project with a group of friends at MIT. Whoa, it’s a learning curve, a steep one, getting up to speed…

We are working with KitWare’s visualization products – specifically VTK – for development of a sandbox user interface. This is software is pretty (…to throw in a Barny Stinson-ism…) legendary! But I’m a self-confessed Microsoft-spoilt developer and used to documentation overload. VTK’s guides are somewhat skimp compared. So the next few posts of this blog will be dedicated to my findings, the pitfalls, and the recommendations on how to start with the following technologies: VTK, Python, PyQt, and LCM.

I’ll split this into a set of articles:

  1. What these technologies do and why they’re so appealing
  2. Installing and setting up VTK and Python
  3. Essentials of VTK – drawing models, handling cameras, building shapes
  4. Adding a 2D front-end to the 3D front-end with PyQt
  5. Integrating in some communication channel components with MIT’s LCM

More to follow in the next few weeks!

– Sam


I truly love cities.

Specifically, I love sitting atop a building on the eve of a shiny new day, drinking up the fumes from a pilfered cigarette and the acrid bite of a filter coffee, feeling the hum of the beautiful machine under my scuffed converse sneakers. Imagining the millions of people just beginning to leave their homes, each on their own unique crusade, but each adding to this incredible construction that we dub society.

Although I’m always alone at these moments, I can almost feel tangible threads, blazing and lustrous, snaking from the soles of my sneakers down the chrome super-structure into the buildings and homes below, inextricably tethering me to every single one of these other individuals. I can almost taste the incredible plethora of their hallowed hopes, the paralysing flame of their fears, the carnal pulsation of their desires.

It doesn’t matter in which city I stand, clutching my brew and puffing on my cancer stick – illustrious New York, vibrant Hong Kong, bustling Sydney, or even cosmopolitan Cape Town. I’ve drank in each of their morning sunrises and in each felt the strands of the synchronicity binding us.

With these beautiful ties to the rest of the world, how is it possible that anyone can feel alone?

(…Just a thought)

– Sam

Welcome to Semi-Sorted!

Hey there,

I finally found a few minutes to figure out what this ‘blogging’ stuff is about… And 5 minutes later (I’m one of those people who has an ‘impulse shopping’ problem) I had set up the site ‘SemiSorted’ on WordPress (you are here -> X)!

This is set up to share all the half-started (half-finished? … half-baked?) projects, ideas, and inspirations. Glad you found the site, please feel free to drop any comments, questions, or ideas!

So, more to follow tomorrow!

Really, promise!


Okay, maybe by Saturday (being realistic)