Play!Framework 2.0 – Installation

Turns out, I’m a little late to the Play!Framework party. They’re already working on Play 2.0, and it is currently in Beta!

So, I don’t think there is any point in me trying to deal with the problems found in 1.2.4. Instead, I’d rather be involved with getting under the skin of the new version (which should give me more blogging material), and hopefully contribute back towards its development in any way.

For those of you keeping track of this framework, the early documentation for this can be found here.

 

Play!Framework – Custom Template Tags and Namespaces

I have been playing with Play!Framework recently (I will hopefully write more about this in the future), but the documentation is horrible!

I was interested in seeing if there was a better way to organise custom HTML template tags in the tags folder, in order to prevent any clashes in my templates. Non of the documentation explicitly explains how to do so; the only references as such only refer to writing custom Tags in Java and annotating with @FastTags.Namespace.

On a hunch, however, I tried creating a child folder in my Tags folder, and treated that as a namespace (as in Java) and it worked! For example:

1
#{admin.widget /}

would look for the HTML Template Tag as

1
/app/views/tags/admin/section.html

or

1
/app/views/tags/admin/section.tag

Hopefully this helps someone else who comes across this requirement in their project. Note that this might have side-effects that I am unaware of (other than clashes with existing template tags, or custom Java tags). As far as I’m aware, this is an unsupported feature of the template engine, so use at your own risk I suppose.

AppHarbor – Multiple Build Environments

Are you working on a project deployed on AppHarbor? Do you have a need for multiple build environments? Do you have your project repository split into multiple build branches? You’ve probably run into the same need as I have working with my own project. And I will now tell you how to solve it.

The Problem

So you have a project that you deploy on AppHarbor. However, you’re almost at launch, and you are now just starting to think about multiple environments, and you have separate development branches in your repository.

Unfortunately, AppHarbor does not support this explicitly out of the box, meaning you will have to work around what they provide; the main thing that AppHarbor doesn’t have at time of writing is the ability to define which branch you want it to build from. This limits what you can do with your repository from the start, meaning that before you are able to build to a “dev” environment, you need to merge that branch with your “master” branch and push that instead.

Or do you? Continue reading

Google+: Possibilities?

I have seen many posts in the wild proclaiming the glorious victory of Google+ over the incumbent Facebook, or alternatively, detailing the inadequate challenge of Google’s newest attempt at supplanting Facebook as the king of social networks.

I, however, wanted to look further ahead into the future.

It is increasingly certain that neither Facebook nor Google+ is ready to go away without a serious fight, and users in either camp will benefit greatly. However, there is still an area of interest left that could see great innovation thanks to Google’s efforts, and that is in the Mobile space.
Continue reading

Command Query Responsibility Segregation

I did a MindDump on CQRS for the company I work for, and decided that it deserves a home on my blog. Hope you enjoy, and as always, comments are welcome.

What is CQRS

CQRS is an Architecture (for reference, see N-Tier Architecture) basically just a simple set of principles when thinking about your system’s design. As such, any implementation of CQRS is merely a technical detail that should only be considered by the architect after considering the constraints of the environment. Continue reading

iPhone Project: Part 1 – Concept

A week in, and I’ve already run into problems at a conceptual stage of my application. I conceptualised the application I would like to build my assignment, and assessed the feasibility of its implementation and discovered many problems. I may even have to scrap the idea and find a new one. Read more about my idea below the break.

Continue reading

iPhone Project: Part 0

As part of my final university semester, I enrolled in an iPhone software development course that was offered to students. I don’t consider myself an extremely proficient Objective-C developer, but I have picked up most of the conceptual iPhone/Cocoa Touch stuff that developing for the iPhone/iPad requires.

At the end of the semester I am required to submit a Major Project. This project is relatively flexible; students are required to develop a iPhone application based on a specific theme (Climate/Weather), however the actual application itself is to be designed by students. It must have at least 3 major features, while utilising a minimum number of advanced iPhone tools(such as MapViews, Multi-View applications, iPad portability etc.).

At the project’s conclusion, students are also required to give a presentation on the project, describing its concept, features, and development. So, I aim to record my progress on this assignment through to its completion, mainly so I may refer to it again when I do my final presentation!

Here’s looking forward to a healthy update schedule once more.

Gwisher – Gifts for your Girlfriend

Currently I have the great opportunity to participate in the Melbourne “StartUp Camp 2010″. At the time of writing, I have not slept for more than 24 hours. I’m barely surviving on cans of energy drinks, but nothing is more exciting than the launch of a brand new project.

It is with great pleasure that I present to you, on behalf of my team, Gwisher.com.

The premise is simple; guys who have no idea what to get their girlfriend on an important occasion use Gwisher, inputting various information regarding their girlfriend, and Gwisher returns a list of suggestions that he may get for his girlfriend. Our advanced “Gwish” engine processes this information in order to give the best suggestions for the user.

It was definitely a great 12 hours of non-stop frenzy, and I definitely recommend this experience to anyone.

New iPhone Developer Agreement – No More CS5 Compiler

There have been numerous reports circulating around the internet about how Flash CS5′s native iPhone Application compiler is, effectively, doomed.

There have also been a variety of reactions to this, from the informed (“I don’t like it, but Apple has every right to do so”) to the very ill-informed (“Flash Sucks!”), so let me state my position in the matter: this whole thing stinks like a dead carcass wrapped in burnt bacon thrown in a washing machine filled with raw sewage. Continue reading

Why can’t HTML5 and Flash co-exist?

This post is a comment in reply to user sentiments on a recent Mashable poll titled “HTML5 Knocks Out Adobe Flash in Reader Vote”, with some minor changes for clarity.

I’ve mentioned to people before, Adobe is at a critical point here. They can choose to sit on their arses and ignore HTML5, which will steamroll Flash when it does come into play. Or they can choose to do something better with it. Adobe’s strategic advantage will be that they have control over the progress of the Flash platform, and they need to use that to quickly make itself relevant in a HTML5 world.

In the meantime, Continue reading