Skip to content

Mark Embling

Welcome

Reverse-engineering the ColorSchemer Studio 2 File Format

Recently I bought the excellent ColorSchemer Studio 2 through the Mac App Store. Put simply, the app allows creation of colour palettes using a variety of tools including a colour wheel, various schemes, mixers and more. These palettes can also be saved to files to be opened again later, however these files are stored in a proprietary binary format that no other app (to my knowledge) can read.

Continue reading

2012 Hardware Line-up

This time last year I posted my hardware line-up for 2011. Now we're here again at the start of 2012 I thought I'd do the same thing again. In many respects, things are not very different. However there are some changes and additions which are worth mentioning.

Continue reading


DHCP and Dynamic DNS

My network at home up until recently has centred entirely around a cheap ADSL router from O2. This is fine, but I decided to move the DHCP duty over to my little home server. As part of this, I thought it would be nice for it to also handle DNS, and dynamically assign DNS names to the machines it learns about through DHCP requests.

Continue reading


Adventures with Message Brokers: MQTT and AMQP

Recently I've been talking on Twitter about adding websockets support to my energy monitoring web interface. However, before I went too far down this route, I thought it was best that I revisit the current set-up and re-engineer it a bit. Otherwise I could be queuing up pain for later.

Continue reading


JSON and Dates/Times

Lately I've noticed that JSON and dates/times do not go together well. JSON allows integers, fractional numbers, strings, arrays and so on, but no way to natively specify a point in time. It turns out this relatively minor-sounding point can cause a fair bit more pain than it probably should.

Continue reading


Uncountable Nouns in Rails 3 Resource Routing

Yesterday I was puzzling over how to deal with the situation in Rails 3 where a resource name is an uncountable noun. It turns out Rails actually deals with this quite elegantly, but it seems not to be widely known - certainly I had an hour of headaches until I stumbled upon the answer. Hopefully this post will stop anyone else having that same headache.

Continue reading