codeBrane Blog

Software development and philosophical musings

The Shibboleth Sonnet

It’s National Poetry Day today! So I thought I’d publish a poem I knocked up a while ago. It tells the tale of a Shibboleth IdP when contacted by a fake SP, using the credentials of a long vanished real one.

Your Very Own Raspberry Pi and iPhone Butler

This post is about creating your very own digital butler. You’re iButler if you like. Who will welcome you into your room with a butlerish pleasantry and wave you goodbye as you leave. Let me introduce you to Bluetooth the Butler and his sidekick, piBeacon.

What I’ll be doing is getting a Raspberry Pi to act as an iBeacon (piBeacon), broadcasting some data and then getting an iPhone to pick it up. If the iPhone detects you entering the location it will play a welcome message. When you leave it will play a farewell, see you soon message.

Designing a Simple Serial API for the Arduino and Node.js

As I work towards a remote Arduino weather station, sitting out in the garden, or even up a hill (with GPRS perhaps?), I started looking into hooking it up to the Raspberry Pi via the serial port, to investigate an initial hardware control API. Now before you go running off at the thought of RS232 and voltage conversions, the Arduino has an internal serial to usb converter, hoorah!

Arduino Mega Web Server With WiFly and Temperature Sensor

I’ve had a pile of electronics lying around for a while, waiting for me to tackle an interesting project. How to get an Arduino on the wifi network, broadcasting the temperature. Well, the parts list is fairly simple to get hold of:

  • Arduino (I used a Mega 2560)
  • WiFly shield
  • Stackable headers
  • BMP180 temperature/pressure sensor. I got one from eBay (I think!)
  • A load of jumper wires and a wee breadboard (for the BMP180)
  • Soldering iron and lead free solder
  • Some AC/DC albums (optional)

Connecting to SQL Server From Node.js

I’ve been hearing some good things about Node.js recently so I thought I’d give it a go. Not on something easy like a quickie server but on something much more gnarly. Getting it to talk to MSSQL via ODBC.

First things first, you need to install the ODBC/FreeTDS infrastructure and I’ve already blogged about that here.

The Four Levels of Software Testing

I was recently having a blether with a colleague about testing and how we should thrash out a shared understanding of the different types. There are so many ways to test software, all with their own advocates, terminology and fluff that we just had to write down what we meant when we said ‘the software is tested’. The whiteboard is your friend in cases like this.

IMG_2674

Developing With Tmux

Many years I used to work almost exclusively in two development environments. Visual Studio and SoftICE, the latter making me a bit of a digital hermit which I wrote about a few years ago. Back then I’d realised the eremitic connotations of software development and they’ve hovered like a presence in the background throughout my softare development career.

Since leaving the driver days behind, that hermit’s cave of SoftICE has been replaced, in turn, by multiple Windows command prompt windows all crammed into a tiny monitor, fighting for space not only on the screen but in my brain’s limited short term memory banks. Where’s the apache window? I need those applicationg logs, now where did I put them?

Adding Authentication to Spring Controller Methods With AspectJ

The latest integration project I’m working on is to wire up the Blackboard VLE to the SITS student records system, mainly to synchronise courses and users. The first version I did was a couple of years ago, using the Blackboard SIS framework but as it’s a sysadmin thingy, file based and incapable of reporting errors programmatically, for this new version I decided to develop a building block with a nice REST interface.

Book Review : Backbone Marionette a Gentle Introduction by David Sulc

To set the scene for this review, I must explain something. I’m a middleware developer in the main, although I like to code side projects for iOS and Android but for the most part, I work with backend data and systems. Plumbing applications together with COM, REST, SOAP and all that jazz. ERB templates in Rails are fine but the client side of things has largely been a ‘here be dragons’ type of thing.

All that HTML/CSS/Javascript malarkey, browser (in)compatibility and getting data in and out of the server. It’s always been a bit of a mystery and every time I’ve looked into it, it’s been a maelstrom of opinions, spaghetti code and framework overload.

Protocols, domain models on the wire, obscure APIs from the land of integration. Not a problem but I’ve always admired elegant browser based apps and wondered how on earth do they do that? Wondered that is, until now.

Ruby and SOAP From an Integrator’s Perspective

I do lots of integration. I mean, lots, so I’ve seen a lot of different systems, APIs and integration methods and the one rule that always stands is, ‘Know Thy System’. In theory that’s what you should do. In practice it’s always appended with ‘to varying degrees!’. This is almost always down to API documentation or the level of (or lack of) system knowledge of the people who look after it. The politics of integration is another matter entirely and prolly worth a book. Maybe I’ll write one!