Welcome to my world

Allow me to introduce myself. My name is Stuart Harding and I am a freelance web developer and graphic designer who does the occasional illustration from time to time.

I use PHP and (My)SQL along with the joys of front end development using CSS, HTML and javaScript to create full websites from scratch or customising CMSs (content management systems) such as Drupal. The choice isn't always apparent until you know exactly what the website is going to do.

You can have full integration with Twitter, FaceBook, LinkedIn, or even check-a-trade if you like. If the site you want integrated offers the facility, it's a simple matter of having the right keys.

SVG Spinners

A short while ago, I created a spinner for Angular 1.x. This was borne out of a need to have actual control over the spinner that was not available, such as diameter, speed, colour and so on.

I created a hugely simple directive that allowed all of those and more. It is also used in a current SAM (Software Asset Management) tool. All it requires is a basic knowledge of the css position property.

Couldn't do that on a Mac? Really

It's August 2016 and Microsoft are pushing their Windows 10 Anniversary release.

I have that exact version installed on my work laptop. Admittedly, it hasn't got a touch screen but it is running Windows 10 and apparently, it can do things that a Mac could never do. I am however, struggling to discover exactly what that is though.

Dual state menu

I have started to create a simple menu that incorporates two states. It utilises both an accordion and a flyout - not at the same time though. Just JavaScript, html5 and css3, none of that jQuery stuff polluting it.

You can see a plunk of it at the end of this link. Feel free to edit and make better, but please tell me if you do ;-)

IE11 still comes back to bite me

Imagine my joy when for the first time I used Microsoft's Edge browser and it didn't break. I must admit that their references weren't that great - an ageing and defunct IE6 which started off as a decent browser, but out-stayed its welcome by a number of years and fastened the world of web development to the turn of the century. Then came the follow up of IE7. Was better in some ways, worse in others but still lagging far, far behind the rest of the pack. This pattern repeated itself until IE11 which still relied on a slow and obsolete stuffing.

js spinner with angular version

This started off as a necessity. I needed to create a spinner that had a lot of control over its appearance. It would also have been good if there could be more than one version.

As it happened, that was not as difficult to achieve as I had initially thought.

A while ago, I played with rotating svgs. This is a simple enough thing when there is a primitive to work with such as a circle, so I started there, at this plunk.

SVG in AngularJS

Historically, SVG has required a whole bunch of markup to insert it into the body of an html page just so the javascript libraries can access the XML DOM. Enter AngularJS and simply add this line

Positioning for sanity

The most common complaint I hear about CSS is the confusion surrounding the position property - specifically where absolute and relative are concerned. This can be confusing, so I'll attempt to explain it in very simple terms.


This website started off as a custom built, bespoke CMS built in PHP, by me, using the skills learned over the years and it worked really well.

Dunallan Guest House

This website was an upgrade to a current site. It was built originally with a simple database and a little dynamism, but the database was then abandoned in favour of editing the template PHP files. I was charged with redeveloping the site into a proper content managed system with easy access and editing capabilities, without losing any of the key features. This was all achieved and extra bits were added as nice-to-have shiny stuff. 

Introductions to node, angular, stylus and jade

JavaScript has always been anathema to me. The simple Java like structure conflicts with the power and complexity of what lies beneath.