
HTML 5 – bloody hell, it’s got more Capes than a Geoffrey, as this link demonstrates.
This is our blog. You might want to check out our website too.

HTML 5 – bloody hell, it’s got more Capes than a Geoffrey, as this link demonstrates.

Presenting the meta_tag plugin for the Smarty templating engine!
Click here to download block.meta_tag.txt
Click here to download outputfilter.meta_tag.txt
This plugin allows you to change the page title and meta tags from any template used to generate page output.
Purpose
Typical web page display scenario:
Web page “Home” consists of Smarty templates:
In this example, the page title and meta data would be in header.tpl, whether as Smarty variables:
<title>{$page_title}</title>
…or hard-coded values:
<title>Hello world!</title>
Using the meta_tag plugin, title and meta tag values can be updated from any other template used to generate the page.
The following example contained in footer.tpl would add “Product description” to the page title:
{meta_tag type=’title’ method=’add’}Product description{/meta_tag}
The following example contained in home.tpl would replace the page title with the text “Important business report”:
{meta_tag type=’title’ method=’replace’}Important business report{/meta_tag}
The following example contained in footer.tpl would add the text “jacket,blue,leather” to the meta keywords:
{meta_tag type=’keywords’ method=’add’}jacket,blue,leather{/meta_tag}
So… what’s the point?
Often when you’re displaying dynamic data across several templates it isn’t practical to customise the page title and meta information using Smarty assign(). Also,the logic used in templates processed after the page header might contain information which would be useful to reference in the header.
Caveat
It’s preferable to call load_filter just once per output, BEFORE the instruction to display() or fetch():
$smarty->load_filter(’output’, ‘meta_tag’);
$smarty->display(”template.tpl”);
In a scenario where multiple templates are used, they should all be contained within one container template, to ensure the output filter isn’t called repeatedly. In the above example, template.tpl might be:
{include file=’generic/header.tpl}
{include file=’generic/navigation.tpl}
{* load main page body – filename is contained within var $template*}
{include file=’`$template`}
{include file=’generic/footer.tpl}
Installation:
Click here to download block.meta_tag.txt
Click here to download outputfilter.meta_tag.txt
Change the file extension on both files to .php, then copy them to your Smarty plugins directory (smarty/plugins). Detailed usage instructions can be found in the comment block of each file.

Old things. They’re like new things, only better.
Impress your friends with a fully operational, brick-like mobile phone from RetroBrick.com. Their value may well have depreciated a little over the years (from $3,955 in 1983 to just £59 today), and they’re far from pocket-sized, but hey, they’re cooler than an albino in a snow storm.
Well, if they’re good enough for my cousin...
We’ve given Jonathan’s website a digital lick of paint in preparation for his second solo album release. The ex-G4 star’s “Forever” is due to hit the shops on 8th October 2008.
Check out the fruits of our endeavours at www.jonathanansell.com


Carl Weathers is without doubt the most underrated action hero of the 20th century. Everyone loved him as Apollo Creed in the Rocky films, but his performances in Predator and the criminally overlooked Action Jackson, whilst equally compelling, failed to deliver the volume of action roles he deserved. For a man so muscly and mustachioed to be overlooked in this way is a crime of epic proportions.
Fortunately, Carl isn’t short of work thanks to the Credit Unions of Washington, who’ve commissioned a series short videos featuring inspirational musings from the great man.
Lively, currently in beta, is Google’s answer to Second Life. The downloadable application allows you to create rooms, decorate them to your liking, then make and invite friends over. Of course, you’re far better off actually doing these things in real life, but if you have poor personal hygiene and/or no friends you’re sure to find it very rewarding.

Clive Sinclair’s Spectrum graced many a home in the 80s. It’s Herculean 48k of RAM (128k, if you were lucky) just doesn’t cut it these days, but the pioneering ZX Spectrum Orchestra is helping to keep the legend alive.

If you’re a fan of Sporting Apostrophes, the world’s most successful football team, you owe it to yourself and your loved ones to download the OFFICIAL Sporting Apostrophes Mac OSX Dashboard Widget.

Everybody loves the theremin. What? You don’t? What the hell is wrong with you! Anyway, behold the curious mixture of thermin and amphibian.
This week sees the relaunch of Lambie-Nairn’s brand identity, and Include has helped out by creating a spanking new website.
The focus of the home page is an innovative 3D project showcase that encourages users to click through and view in-depth case studies articles.
View the site at www.lambie-nairn.com.

Robots – from Metal Mickey to the Smash fellas, they’re always top-notch entertainment. Not unlike wrestling, which, at it’s best, is more thrilling than crisps. What on earth would happen if you combine the two, robots and wrestling? Witness the fitness!
With Adobe due to release the CS4 software suite sometime in the near future, I thought a trip down memory lane would be a good idea and found a link to the original demonstration video (recorded on VHS) for Adobe Illustrator 1.0.
Microsoft is urging developers to tag websites in preparation for the release of IE 8.
According to a post made on an MSDN blog, a public beta of IE 8 will be available in the third quarter of 2008 and it threatens to “render content in its most standards-compliant way by default”. As this is the first time Microsoft has stooped to such murky depths, we are warned that this will play havoc with content written for IE 7. The advice: to implement a specially created meta tag instructing IE 8 to render the content as if it were IE 7.
This is all a lot of fun, I’m sure you’ll agree, and it does seem to offer a pretty straight-forward solution for achieving backwards compatibility. However, given that the two rendering engines are so markedly different, the most excitement will surely be reserved for the future hours spent hacking IE 8 content to display correctly in IE 7. I, for one, can’t wait for that.
There’s lots of rubbish on YouTube, but every now and then you stumble across something that reminds you of its value:
By default, any custom class instances that are passed to a PHP method via AMFPHP are treated as associative arrays. Correct class mapping is essential if we want our PHP files to treat arguments as instances of a particular class.
You can download the sample files for this tutorial here. An introduction to AMFPHP 1.9 and Flash/AS3 is available here.
So class mapping is the process by which AS3 classes are associated with their server-side equivalents in PHP. It is actually remarkably easy to implement, although online information for AS3 implementations is rather scarce on the ground. All we really need is the flash.net.registerClassAlias class.
First, a description of the contents of the sample zip file. There are three directories:
classes – contains the document class specified in the FLA
deploy – this is the publish directory specified in the publish settings of Application.fla
fla – contains the FLA file with ‘../classes’ added to the classpath
The files are all commented, so take a look through each one to get an idea of what’s going on. The key to successful class mapping is the registration of Flash’s PersonVo class to the “vo.PersonVO” PHP class in the Application constructor.
Here are the steps you should follow to get the sample files up and running:
Clicking the ‘Register’ button creates a PersonVO object in Flash which is populated with the contents of the TextInput instances on stage and sends this to the specified service (PersonService.registerPerson). Here’s a screenshot of the sample file once the ‘Register’ button has been clicked:

In a real world situation, the registerPerson() PHP method would process the user data, probably adding the information to a database. In this example, for the sake of simplicity, we demonstrate the fact that the passed $person parameter is of type PersonVO by referencing a property of the class instance – $person->firstname is appended with the string “(Modified by PHP)”. We can also call methods on our PersonVO object, as demonstrated by the call to incrementAge() which adds 1 to the instance’s age property. The instance is then returned by registerPerson(), resulting in the modified PersonVO object being passed back to Flash.
Once a server response is received, the Responder’s onResult() handler displays text in the ‘result’ TextArea. By casting the received object to PersonVO, we can access all the typed properties of the PHP modified object. Notice the ‘firstname’ and ‘age’ properties contain the PHP modified content.