Scott Donnelly

Recent Articles

Migrated to Hexo

It’s been a long, long time since I’ve touched anything on this blog - a hell of a lot has changed! I’ve decided to migrate all of my hosting/DNS/etc to AWS so that I can consolidate things in one place, reduce my expend

ExtAuth - A CakePHP 2.x Component for easy federated login via Google, Twitter, Facebook, and more

I’ve released a CakePHP component that I’ve been working on on GitHub - comments, criticisms welcome. The component handles OAuth (1.0, 1.0a and 2.0) authentication, and is designed to allow the user to very rapidly get

Bite My Shiny PLA Ass

If this were a computer program, it would be “Hello World”. If it were a telescope, it would be first light. But, its a 3D printer, my first object on my first 3D printer - so Bite my Shiny PLA Ass! Bite my shiny PLA as

Javascript function to convert a string in dot and/or array notation into a reference

I needed to convert a string into an object reference. Over on StackOverflow, ninjagecko had created a beautiful function to resolve dotted string references, but I needed to handle array style references as well as dott

Compiling MyDNS on Ubuntu Server 12.04 64 bit

./configure fails due to the libmysqlclient library not being found. Try this: ./configure –with-mysql-lib=/usr/lib/x86_64-linux-gnu/ –with-zlib=/usr/lib/x86_64-linux-gnu/

Magento - Set Dropdown Attribute Value of a Product, Add Option if not Present

A quick little function for PHP scripts. Dropdown attributes have a limited set of allowed values. Say you have products that you wish the customer to be able to filter by Manufacturer on the front-end: the manufacturer

Sophos #DECODEME 2012

Sophos have created a puzzle to coincide with this year’s AusCERT security conference. Solve the puzzle shown here, to win a prize of a full-auto NERF gun. The puzzle is printed on a T-shirt, an image of which is shown a

Magento SQL query to set a base image for any products that do not have one set.

I had to do some work on a Magento site today, where the site admin had added images to all the products, but had not set any of them as base, small, or thumb images - so none of the listings were showing an image on the

yepnope and jQuery - fix for $(document).ready calls

I recently added the fantastic yepnope.js to a site in order to give it a bit of a speedup. The site already had jQuery, including a few calls to $(document).ready() across a few different files. As anybody who has tried

OpenSearch - A quick tip

I’ve learnt some great new skills today involving OpenSearch, and browser search plug-ins. Not enough time to put it all into an article right now, but I will work on one over the next few days. In the meantime, a quick

Email Validation - via Polymorphic PHP / JS hybrid script, internationalized CC TLD ready

I was looking around for a RegEx to match an email address last night and headed straight to, what must be, the RegEx Mecca - . The page discussing email validation is very comprehensi

passchk_fast - A JavaScript password strength utility based on passchk

I have been working on a little pet project to improve the registration form for a site I am working on, and came across passchk by Tyler Akins. Thanks Tyler, it has been a great use to me. This great bit of code had the

Limesurvey Ticks All My Boxes.

I recently had to source and implement a means of creating, distributing, and reporting customer satisfaction surveys. I had a look around and after a bit of research narrowed things down to SurveyMonkey, Google Forms, a

Astro resumption

It’s been ages since I’ve got my ‘scope out, but it’s ben gnawing at me for a while. Last night I decided to get it set up in my garden for the first time since moving house. I had one of those nights that reminds me why

Wordpress PHP Fatal Error

Update - it seems that Tweet Blender or Twitter Tools does not want to play ball - when I hit the big blue Publish button, i get a PHP fatal error (Cannot redeclare class services_json). On further investigation, it look

WP Update

I’ve been putting it off for a while but I’ve now moved the back end DB to MySQL 5 from the old 4 DB at my hosts, allowing me to upgrade WP. Anyone else using wordpress, I’m sure I don’t need to underscore the importance

Asterisk to Voiceflex - an example on the NSLU2

I have had numerous comments and requests regarding Asterisk configuration for Voiceflex. I have neglected my blog somewhat lately, but when I googled for “BCM50 SIP” the other day, I was suprised to see my own blog high

CakePHP ExtendAssociations - HABTM Update by HABTM primary key

For a few years now I have been using Brandon Parise’s great CakePHP behaviour, ExtendAssociations, which I originally found here at the Bakery. Lately I have been developing an app that has a HABTM relationship that has

BCM50 SIP DTMF update 2

The BCM50 sends SIP INFO messages for DTMF. using Asterisk’s SIPDtmfMode() application, the DTMF send mode can be forced to in-band. Since the call has been set up as G711, in-band DTMF will still be intelligible by the

BCM50 SIP trunk update

I have now deployed the solution mentioned in the previous post “in-the-wild”, running on an NSLU2 via unslung. A bit of tweaking was required, but the solution has been up and running for over a week now with only a cou


I have managed to get a BCM50 Release 2 to communicate with an authenticating public SIP trunk provider (Voiceflex, in case you are wondering.) Now, neither Voiceflex, nor Nortel support this. According to our suppliers,

Is it not my day, or am I just shit with virtualization?

After converting the vdi to a vmdk, the VMware VM a) has the vmdk stuck at 2.5Gb and full instead of 10Gb, and b) does not boot. Grrraaaaaaaaaagh! I am reinstalling the OS onto a new mdk from scratch instead, I only had

VirtualBox Host interface networking is rubbish

What a total nightmare it is trying to get VirtualBox’s host interface networking to work. The only way I can see to get it working on a windows host is by using ICS or a network bridge - both not possible on a 2003 Serv

I'm back!

Its been a while since I’ve posted, so I’ve taken some time out to sort out a few aspects of my online persona. As anyone who knows me knows, I’m not a big facebook fan - it’s just not my thing. So I am going to try to m

Congratulations, Mr and Mrs Bowes!

Congratulations to Laura and Tim, who got married on Saturday, and are know sunning it up in Jamaica for a week! A great day was had by all, cant believe my little sis is married and has her own house. The service, recep

CakePHP 1.2 RSSHelper example

There seems to be precious little information out there regarding CakePHP 1.2’s RSSHelper. so here is a quick how-to: Controller:`function rss() {$this->layoutPath = ‘rss’; $this->Appointment->recursive = 0; $th

No Eclipse for me :-(

Looks like I won’t be able to see the eclipse - metcheck’s astronomy weather forecast says it will be completely overcast, 100% cloud cover, for the duration of the eclipse, across the whole country :-( Plus, looks like

First Light

Hey everyone, welcome to my new blog. I’ve started this to share my experiences with my new telescope, a 6” SCT. First Light, I’ve plumped for the obvious - Saturn. Managed to get the AS-GT properly aligned for the first