Acumen Development

  • Acumen Development
  • Acumen Systems
  • Acumen Third Sector
  • About Us
  • Websites
  • Web Applications
  • Branding
  • Support
  • Contact Us

Seed to Plate

recent news

  • Wordpress and Subversion
    Leo Brown, 1st June

  • Working with Corrupt Subversion Repositories
    Leo Brown, 20th January

  • Integrating with Web1.0 Service Providers
    Leo Brown, 4th June

  • WordPress Text Replacement Plugin
    Leo Brown, 14th February

  • Direct Email Reception
    Leo Brown, 2nd January

Project Request Form

Download a project request form here

Seed to Plate

February 17, 2009
categories: Releases

Today saw the launch of the Seed to Plate site, a place for everyday people to get growing their own vegtables. Acumen are proud to have built the plot designer for this original new product, a wizard system for creating your own garden plot on the basis of your likes and dislikes.

You can access the Seed to Plate site at http://www.seedtoplate.co.uk.

The Seed to Plate site was jointly developed by Acumen and Buffalo.

Actionscript 3 Twirl Filter

November 18, 2008
categories: General

I’m releasing this filter as I couldn’t find an appropriate one out there. It lets you twirl a spiral into any Actionscript display object, and is fast enough to allow it to be animated.


You can get the source from here, both an animated and static examples are included.

Affine Transformations in Actionscript

November 17, 2008
categories: General
tags: actionscript, affine transformations, matrices

Rotations and reflections are easy enough with the Actionscript 3 Matrix class as long as you want a reflection whose mirror line passes through the origin, or a rotation about the origin.

However I recently was stumped with producing transformation matrices that included rotations about any point and reflection along any line. As there was little example code out there for this, I’ve decided to publish the two methods I’ve written to perform this. Both methods take the Matrix to set the transformation to as the first argument.

/**
* Constructs an affine rotation matrix.
*
* @param m The matrix to set the affine rotation to.
* @param angle The angle of rotation in radian.
* @param ox center of rotation in the x axis
* @param oy center of rotation in the y axis
*
*/
private function rotation(m:Matrix,angle:Number=0,ox:Number=0,oy:Number=0):void
{
m.rotate(angle);
m.tx=ox-(m.a*ox)+(m.b*oy);
m.ty=oy+(m.c*ox)-(m.d*oy);
}

/**
* Constructs an affine reflection matrix. The line of reflection
* is defined by the last three parameters of the method.
* @param m Matrix The matrix to set the affine reflection to.
* @param angle Number The angle of rotation in radians.
* @param ox Number The reflection lines relative position from the origin.
* @param oy Number The reflection lines relative position from the origin.
*
*/
private function reflection(m:Matrix,angle:Number=0,ox:Number=0,oy:Number=0):void
{
m.a= Math.cos(2*angle);
m.b= Math.sin(2*angle);
m.c= Math.sin(2*angle);
m.d= -Math.cos(2*angle);

m.tx=ox-(m.a*ox)+(m.b*oy);
m.ty=oy+(m.c*ox)-(m.d*oy);
}

Viva Adobe, Viva Linux!

October 27, 2008
categories: General
tags: actionscript, flex, linux

My eye balls nearly popped out of my head when I stumbled across Adobe’s alpha of flex builder for Linux. I say beta, but it does everything I want, is faster and seems even more stable than flex builder in windows. The fact this is released as a plugin for eclipse (the windows and mac versions of flex builder are built on eclipse) is quite a break from Adobe’s previous behaviour. But then so was releasing the flex SDK for free!

Anyway as a native Ubuntu user I’ve been enjoying this immensely. The only disappointing thing is that Adobe have seen fit once again to only bless Linux users with 32bit binaries. Now I think that it’s pretty hard to get a new pc or laptop that doesn’t have 64bit support, so why the reluctance?

I managed to get it working in the end of course. But it meant taking off my 64bit version of eclipse, and installing 32bit version of this and Firefox. The instructions were all clear enough on adobe’s site. What makes me laugh is the fact it might have just been easier for them to build a 64bit version rather than wasting time writing a detailed HowTo.

In other related 64bit Linux news, I got my dirty little paws on a 64bit Ubuntu package! Great stuff Skype, glad to see you listened to everyone who relentlessly bombed your forums.

Ok this is my last Ubuntu fanboy post for a while I promise. I just wanted to spread the love.

Can’t stop raving about Ubuntu

April 16, 2008
categories: General
tags: linux, os, ubuntu

Ok it’s a problem. It’s the effect of having been stuck in Windows for so many years. Trying time and again to change to linux but always having problems with cross platform compatibility, portability, finding and implementing functionality. Now a lot of these problems haven’t been solved by Ubuntu itself, in fact all flavours of Linux have come a huge way in the past 5 years in improving the general user experience. Addtionally exotic hardware support has been growing too, so don’t get me wrong, I know that all the perks are not because of Ubuntu, but it’s stepped into the fray at exactly the right time.

This is the first OS that I can show to inexperienced people with pride, showing that features can be added by them with no help by me. But most of all this is the first OS I’ve enjoyed using, my laptop now makes me happy, not frustrated. All those little things, like having ssh filesystem access from the desktop, that just makes my job so easy. It helps now and again being an old hand with the CLI, which always intimidates new users who want to go a bit deeper into Linux.

My next adventure will be installing kvm, I’m going to set up a freebsd testbed on my laptop. Reports here later as to my success.

PHP StopWatch Class

categories: Open Source
tags: debugging, performance, stopwatch

Just a simple little class to play around with. I quickly threw it together because I got fed up of writing performance debugging code into perfectly clean classes, and then having to strip it out again later. The stop watch allows you to set callback methods to receive any calls to the stopwatches mark method, which as it’s a singleton can be called just about anywhere. Additionally it uses sprintf() strings to format the message and time.

Additionally this shows how in two lines you can be notified of the scripts entire execution time using StopWatch.

<?php
include('StopWatch.class.php');
$stopWatch=StopWatch::getInstance();
$stopWatch-&amp;amp;gt;setFinishMessage('script executed in %01.2f seconds');
sleep(2);
?>

And here’s the source stopwatch.zip.

Javascript boolean evaluations

February 29, 2008
categories: General
tags: javascript
It’s a surprising little bit of info this, after all we take the results of evaluations like this to be self evident, but quite a few of these results where surprising for me. [[[include:javascriptBooleanTest.php]]]

It’s a surprising little bit of info this, after all we take the results of evaluations like this to be self evident, but quite a few of these results where surprising for me.

[[[include:javascriptBooleanTest.php]]]

Vector for php, surely not?

February 21, 2008
categories: Open Source
tags: performance, php, vector
Ok before you try to hit me let me explain. This is not just a boring Object Orientated wrapper for storing PHP object in an array. It’s a multi-indexed, self sufficient class.

Ok before you try to hit me let me explain. This is not just a boring Object Orientated wrapper for storing PHP object in an array. It’s a multi-indexed, self sufficient class.

(more…)