If you are using a single script that contains both the API and the regular page (even with includes), the headers must be sent before it is determined whether it is an API call or not. Â This is due to a ‘pre-flight request‘ the browser does to test that the impending AJAX call is all approved and above board. Â Once it receives the a-ok it will do a second call with the full AJAX credentials.
Daily Updates console is a streamlined version of one that was existing. Previously staff had to edit through an old perl-based web interface which wasn’t user friendly or intuitive (required training), had many unnecessary steps, and sent all the information at 3am at night. The new console solved all of these problems with the following changes:
bringing the backend & frontend in to modern web technologies (dojo, php)
separated the editing in to logical sections (sports, news, weather) and in logical order
combined the editing (left column) and web preview (right column) in to one single interface rather than across two browser windows – bringing the content to the staff member as opposed to them having to find it
built the transfer script in to the interface itself so staff would not need any command line training/access and could send as soon as the data was input.
The result cut editing times in half & allowed for multiple staff to take on the task with almost no learning curve.
Only a few plugins were written. These are outlined below:
A drag & drop style picture matchup game, where a child would drag parts of an image over the top of the template. Once complete, a sound matching the image would play allowing them to move on to the next image.
Working piano. As the child presses each key, a xylophone sound is made.
HTML5 Canvas based paint application with different colours.
Intended to allow the child to click on various areas and objects within the scene, to see it animate and hear the sound. This plugin remains incomplete.
The entire application was developed to be packaged as a phonegap application, but works fine when accessed on its own. It utilises the dojo framework.
Shows a snapshot of the local weather including rainfall, temperature, radar and wind speed. click here to view.
html simulated flame effect
Written a long time ago, has been updated & optimised slightly. Could be converted to HTML5 to increase speed & appearance again. click here to view.
Matesrates was a Social Network idea where you could loan out any equipment (eg. a drill) to someone nearby should they want to borrow it for a day. The network was built using MySQL, PHP, and CSS, and allowed for contacts to be added, homepages, businesses to advertise, etc.
A bespoke CMS for creating a Touchscreen Kiosk for a Club Foyer. The system allowed for multiple templates and image uploads – allowing for the client to modify the order and look of the touchscreen on their own. Built using raw PHP as a backend, a flatfile data system, and CSS for the frontend.
Previously to support clients there were a mix of different servers & different support technologies, controlled via a complex set of Shell Scripts which was only available to administrators. This was solved by streamlining all the different technologies in to one simple OpenVPN server based on common hardware with pfSense, with a simple graphically appealing interface for all staff to use from anywhere. This also opened up the ability for staff to work remotely, with the added benefit of drastically reduced technical issues & calls.
A second version was developed but never released, written from scratch in Dojo with mobile in mind. This had a few advantages:
More efficient in regards to loading speeds, as it only loads what it needs at any one time rather than everything.
Mobile-friendly interface, for technicians in the field to get instant feedback on the systems they are working on.
More informative at a glance with data arranged more logical to the workflow of support staff
Custom linux distribution that started out as a heavily customised Slackware build, which transitioned over to a completely new Linux based on the Linux From Scratch project. Designed to run from CD and provide a number of different interfaces depending on the intended use:
an instant useable desktop with common applications
web-based touchscreen interface for car & multimedia use
server with web-based configuration area for firewall/proxy/file storage use
The system was able to be run “live” direct from a CD or usb key, or installed from the “live” environment to the systems harddrive. Â Each instance could be pre-configured by way of a global config file to match the systems intended use (eg. Car PC installs would run the multimedia touchscreen interface by default).
GiST contained automatic build scripts (Bash) which built the entire system for a chosen architecture (i386 for compatibility with VIA Eden boards) automatically, resulting in a bootable ISO over a period of around 8 hours (circa 2006). This built all facets of the system from the sources of the applications, including all libraries, chroot bootstrap environment, & highly optimised SMP kernel.
Desktop Interface (Gnome)
Internet connectivity via bluetooth enabled mobile phone
Media playback of all common formats
Weather & Clock display
On-screen volume controls
ppp / isdn / adsl internet connection manager with auto-redial
dns forwarding with cache
samba / smbd fileshares
DHCP/BootP/tftp server (allowing for instant diskless computer labs)
Development stalled once a shift to i686 architecture became increasingly necessary & other ‘easy’ distributions such as Smoothwall & SME Server became more mainstream.
Linux Systems Administrator with backgrounds in Web Development, Databases, and Graphics