Freeboard Stuff

Freeboard is one of these things that works really well and you want to bite the back of your hand when you get stuff working.

I had this issue though when developing some local web services with SparkJava and testing them on my local machine with localhost

I was using Chrome. Seems like Chrome doesnt support CORS on localhost. I used IE and Edge and it worked. I was building some simple web services and Java and by adding the following headers it worked fine.

res.header(“Access-Control-Allow-Origin” ,”*”);
res.header(“Access-Control-Allow-Credentials”,” true “);
res.header(“Access-Control-Allow-Methods”,” OPTIONS, GET, POST”);
res.header(“Access-Control-Allow-Headers”, “Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control”);

DAXCAD Lives on Ubuntu 14.10

My good friend John Lawson is planning to port DAXCAD to the Raspberry Pi..  I have ported this  now – I’ll merge it all back again when I get it fully working..  The current version of gfortran 4.9 looks good and on a Linux machine the whole thing builds in less than a minute.  I seem to remember a full build on an Apollo DN400 would be at least an hour.  Anyway still a testament to Fortran and C for being reasonably portable.

DAXCAD on Ubuntu 14
DAXCAD on Ubuntu 14

Install Documentum 6.7 on Linux

Everything looks good but do these please

yum install libXtst.i686 libselinux.i686 audit-libs.i686 cracklib.i686 db4.i686 pam.i686 libstdc++.i686 zlib.i686 ksh -y

yum install bc


# Uncomment the following line if you don’t like systemctl’s auto-paging feature:

# User specific aliases and functions
export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1
export ORACLE_SID=orcl
export TNS_ADMIN=/u01/app/oracle/product/11.1.0/db_1/network/admin
export LC_ALL=C
export JAVA_HOME=/home/ec2-user/documentum/shared/java/1.6.0_17
export DOCUMENTUM=/home/ec2-user/documentum
export DM_HOME=/home/ec2-user/documentum/product/6.7
export CLASSPATH=$DOCUMENTUM_SHARED/dctm.jar:$DM_HOME/dctm-server.jar:$DOCUMENTUM_SHARED/config

Amazon EC2 – putty timeouts

I’m getting into this EC2 stuff – its pretty good. But on a putty session – the default session timeouts are like 2-3 mins after inactivity.

I added this to an Ubuntu 13.10 build

sudo vi /etc/ssh/sshd_config

ClientAliveInterval 30
ClientAliveCountMax 5


DAXCAD 2013 – Eclipse

I have been working a bit on Daxcad this year – if only to get it into GIT and Bitbucket.  My repo is here

So I have an eclipse project set up with the original source -this is for CYGWIN 32 bit only -so you will need to download Cygwin with X although other X servers can be used – I used this one as well as cygwin X server which is actually quite good if you use their seamless mode ( startxwin )

Eclipse Kepler - 2013 using CDT and Fortran perspective
Eclipse Kepler – 2013 using CDT and Fortran perspective

Daxcad drawings are supplied in the build – you can read in DXF and IGES… not for the faint of heart – mind you never was.  This picture is from the mobXterm server.  Looks fast enough.

Daxcad drawing from around 1989
Daxcad drawing from around 1989

Updated RoboSapien IR Control – Arduino

There is a brilliant hack for these  I wired this up – but I ended cutting up the poor thing – so I thought I could try it with an IR transmitter instead to do the same thing.  Also means you dont have to ruin your soldering iron punching a hole through the body 🙂

I decided to use the Ken Shirriff IR library.  Its  work of genius.

But it didnt have one for Robosapien. The way it works is pretty cool – but you need a couple of days hack time to figure it out.  The codes from the sapien controller seemed to be in single bytes – so with some effort I managed to get it to transmit those codes.  I tried it on 6 sapiens I bought for a school project.

I updated three of the library files.  I have not included the whole library – just the updated files – so best way is to downloaded Ken’s library and then just replace with these files here

You’ll need an IR Transmitter with an Arduino board.  Something like this  This project looks like the sort of thing you want to do:

Wire it up with Pin 3 and make sure you hold the transmitter close to the Robots head.  These arduino ones dont have much power and I found the transmitter needed to be within 10-15cm.  However the idea is to be able to replace the onboard controller with Arduino – so you can still do that and without hacking up the toy.

I mapped out the buttons to codes – so in the Arduino sketch – use commands like  irsend.sendRSV1(142);  The sketch is at the bottom.  Its pretty simple.  I had done two types – ones where you have a set sequence.  The other was to initiate the sequence from a PC.  Hence the  I use Processing for that stuff – its amazing as well.

This was done in Excel – which you can download here.  This is the simple pasted version.


Button Controller Function Presses Arduino Code
12 Red Turn Right 1 128
1 Red Right Arm Up 2 129
4 Red Right Arm Out 2 130
5 Red Tilt Body right 1 131
2 Red Right Arm Down 2 132
3 Red Right Arm In 2 133
11 Red Walk Forward 2 134
15 Red Walk Backwards 2 135
14 Red Turn Left 1 136
6 Red Left Arm Up 2 137
9 Red Left Arm Out 2 138
10 Red Tilt Body Right 1 139
7 Red Left Arm Down 2 140
8 Red Left Arm In 2 141
13 Red Stop 1 142
19 Red Master Command Program 1 144
20 Red Program Play 1 145
16 Red Right Sensor Program 1 146
18 Red Left Sensor Program 1 147
17 Red Sonic Sensor Program 1 148
12 Green Right Turn Step 1 160
1 Green Right Hand Thump 1 161
4 Green Right Hand Throw 1 162
5 Green Sleep 1 163
2 Green Right Hand Pickup 1 164
3 Green Lean Backward 1 165
11 Green Forward Step 1 166
15 Green Backward Step 1 167
14 Green Left Turn Step 1 168
6 Green Left Hand thump 1 169
9 Green Left hand Throw 1 170
10 Green Listen 1 171
7 Green Left Hand Pickup 1 172
8 Green Lean Forward 1 173
13 Green Reset 1 174
19 Green Master Command Program 1 176
20 Green Wake Up 1 177
16 Green Right Sensor Program Execute 1 178
18 Green Left Sensor Program Execute 1 179
17 Green Sonic Sensor Program Execute 1 180
12 Orange Right Hand Strike 3 1 192
1 Orange Right Hand Sweep 1 193
4 Orange Burp 1 194
5 Orange Right Hand Strike 1 195
2 Orange High 5 1 196
3 Orange Right Hand Strike 1 197
11 Orange Bulldozer 1 198
15 Orange Oops 1 199
14 Orange Left Hand Strike 3 1 200
6 Orange Left Hand Sweep 1 201
9 Orange Whistle 1 202
10 Orange Left Hand Strike 1 203
7 Orange Talk Back 1 204
8 Orange Left Hand Strike 1 205
13 Orange Roar 1 206
19 Orange All Demo 1 208
20 Orange Power Off 1 209
16 Orange Demo 1 1 210
18 Orange Demo 2 1 211
17 Orange Dance Demo 1 212


Based on IRSend demo from ken Shirriffs library - this sends simple commands to a RoboSapien V1 using
and IR Transmitter with Arduino


#include <IRremote.h>

IRsend irsend;
IRrecv irrecv(11);

void setup()

void loop() {


if ( != -1) {





Mac with Windows

I have been experimenting with the best way of having both Windows and MAC.  Linux is great for servers – but you dont need it for apps.  I’ve got Lion on a 27 Inch iMac.  So I loads up Oracle VirtualBox.  Its like VMWare except its free and its amazing.  So within maybe 1/2 hour I got Windows 7 running in a seamless mode – which means I really do have the best of both.  I need Mac for development and xcode – but I can also run the Windows sessions on Visual Studio – works like a charm. – you can get the Mac version here.  It’s really very easy to set up.

I am going to get a 4Gb upgrade for starters – I put Windows 64 bit on as well – so it makes sense to have a bit more.  But you can’t do two things at once so VB seems to allow you to reallocate.  I really like the seamless mode – just works together very nicely.