Today I’d like to release vtemplate 1.0.0. I’ve blogged about vtemplate before, but now I am relatively confident about its maturity to make an official release. Jeff Atwood has spoken about The Rule of Three in Reusable Software, and I’m happy to say that I’ve used vtemplate in far more than three sites since then. Oh, and if you are not a web developer, this post is probably not for you.
What is vtemplate?
The Git repository says it well enough: vtemplate is a boilerplate setup for starting new [web] projects which combines various industry standards. There are a few tweaks here and there, but otherwise it’s loyal to upstream. You’ll recognise many favourite technologies used in vtemplate, ranging from Stylus to Kohana to Behat. But before I run through these technologies, I’d like to highlight the ideals behind vtemplate:
- Favour industry standards over proprietary and personal hacks
- Promote standards that emphasise readable, maintainable, and simple code
- Don’t restrict or govern your desired code architecture
Let’s take a brief tour over the awesome stuff we get with vtemplate.
You really can’t go wrong with HTML5Boilerplate. It’s a great piece of collaboration by very experienced frontend web coders and very well documented. This is a great first step to writing responsive, cross-browser, HTML5-valid code. This also brings in so many other frontend joys like HumansTXT, Modernizer, JQuery and so on.
If If you’re using another CSS preprocessor, this’ll show you just how clean your CSS can really be. If you’re not yet using a preprocessor … well, you’ll soon find out why it’s so awesome. Admittedly Stylus isn’t as popular as the big boys like LESS, but it has a very lenient syntax and is easy to swap out.
Learn why writing logic in your templates is evil! Stop writing Model-View-Controller and start writing Model-View-Template-Controller. Don’t let the backend team hold up the frontend or vice versa.
Why are your clients modifying their site with bloated CMSes and complex, unsemantic rich text WYSIWYGs? Keep things simple, and let your code govern the CMS, not the other way around. WYMEditor reads and writes directly to clean segments of frontend files and understands your CSS. Best of all, it makes it easy to review changes with version control. Read more about the simple CMS approach here.
Modular (quite literally split into many Git submodules), PSR-0 compatible, forward thinking and high coding standards PHP web delivery mechanism with extremely flexible routing and HMVC architecture.
Composer is everything you wished PEAR could’ve been, and more.
Most webapps need a mailer library. Swiftmailer is a great one.
We all love TDD, right? BDD is even better because it’s semantic TDD! PHPSpec2 provides a really simple (but powerful) BDD tool complete with clean mocking and stubbing.
Behat and Mink
Another great tool from the same guys who brought PHPSpec2. Whereas PHPSpec covers all your unit testing, Behat is excellent for full stack and UI testing, with the beauty of a semantic Gherkin syntax. Mink is just icing on the cake, giving an easy to use abstraction to emulate browsers.
Test. Configure. Build. Deploy. Do it again!
So if you’re developing a web application with PHP, check out vtemplate :)
What’s new in vtemplate 1.0.0?
Well, apart from being the first release, where by definition everything is new, there have been a few more tweaks since my last post on it.
- Phing building, deploying and quality control with all sorts of goodies
- UTF8 and URL replacement bugs fixed in CMS
- Sahi comes to Behat
- New “Photoshopper” driver for image manipulation needs
- More Behat feature definitions as defined in my post about behat
- Improved humanstxt
- Default encourages variable page titles and metas
- moult/contact form bundled
- Kohana bumped to develop version
- Simplified installation / configuration
Feel free to fork :)
On the 5th of December, there will be the Architecture Graduate Exhibition at the University of Sydney. Yes, that’s right, my Bachelors degree is over! But before I move on to Masters, other projects, and life, I would like to dedicate a post to the exhibition itself.
The Architecture Graduate Exhibition is an annual event which showcases the work of all the graduating students. This year, it’ll feature the the graduating Bachelors, who show projects tackling the controversial redevelopment of Flinders Street Station in Melbourne, and the graduating Masters, who’ll showcase three distinct projects. Our organising team of five including myself are happy to present “ANALOGUE” (that’s an artsy theme, in case you haven’t guessed).
If you are available in Sydney on the 5th of December, be sure to drop in at the Wilkinson Building at 148 City Road around 6PM for live music (which I shall participate), free booze (which I shall graciously donate), and perhaps some design here and there.
This year shall also feature the release of the first online graduate exhibition catalogue. This’ll be reused in future years. It’s still under wraps but will be released at UsydArchExhibition.com once I have enough entries. You may also follow our Analogue Architecture Exhibition Facebook page where we post ongoings – you might witness the 200 plinths we built (don’t mind the mess in the backdrop, that’s the natural state of a creative environment).
Back to work!
What a hectic month. Will post about projects later, but here’s a bit of here and there:
- Final exam on Monday 18th then I will truly be free.
- All servers and boxes updated to latest software after several months.
- Amarok is an amazing app, but that it took me this long to wrap my head around is a little sad. The MusicBrainz tagger is a lifesaver.
- New GPG keys. It’s been 3 years since my old one.
- Finally got around to talking to the registrars upstream to remove the hold status from WIPUP.org. It’s back online, still running the old Eadrax, but has some hotfixes applied.
- The KDE Connect GSOC project is great.
- The Sydney Architecture Revue went very well. Can’t wait for next year.
- Oh, what’s this?
More posts later.
Most of my readers will know that despite the majority of my blog posts being about technical content, I actually study architecture. The crossover between these two fields from my experience seems to be rather minimal. The computer geeks know a little about buildings, but not enough to do much about it. Similarly, the architecture folks dabble with computers, creating fields such as algorithmic architecture and parametric design. This dabbling rarely turns into anything serious from either party, and it’s quite hard to find an online community of those who are interested in both. I hope to change that with the new architecture IRC channel on freenode.
I recall lurking with the hopes of meeting another architect in #architect for a while. Occasionally someone would come but never stay, and the original channel founder left and hasn’t been back for a year or so. For this reason I have now registered ##architect (the double hash prefix due to Freenode’s channel rules) and will lurk yet again. I hope by writing this blog post other architects might notice and pop in.
What is IRC and how do I join the architecture IRC channel?
I realise that many architects might not be so familiar with what IRC is. IRC can be thought of as an online chat room divided into channels, which represent common topics of discussion. These channels are grouped into networks, which are simply organisations that provide these channels. So the full access details you need are as such:
Just like you need a program such as Skype in order to chat with others using Skype, you will need an IRC program to chat with others on IRC. I recommend using downloading Quassel – it works on Windows, Mac and Linux.
If you don’t want to use a program, you can easily chat using the online Freenode webchat service. It’s super easy to get started, just type in a nickname for yourself and put ##architect in the channel box, and press connect.
Finally, don’t worry if nobody seems to be around, just stick around and we’ll respond when we’re back at a computer.
See you in the architecture IRC channel!
Edit: some people have popped up but leave quite quickly. Small IRC communities are frequently inactive but need people to stick around for it to grow. Please consider waiting a few hours, or just connecting frequently and when somebody else is also around we’ll have a chat.
As some might remember, I was involved in a Sydney revue last year by the university of Sydney architecture faculty as the musical director. It was called Game of Homes (a shameless pun on the Game of Thrones series). Not only was I involved with music, it also gave me the wonderful opportunity to create a 3D animation for its opening sequence based on the original (and very well done) Game of Thrones sequence. You can view the animation sequence and corresponding revue poster in this post.
As this is an annual event, I’m happy to say that I’m again involved in it this year (as music again) and would like to present Floorless, a spaghetti western with a particularly complex pun for a title. It’s a joke on both the film Lawless, and on Flawless with an architectural twist. Get it? Nope? That’s alright. Me neither.
Anyway, you can tell that this is a quality Sydney revue because it has a quality poster. This means that if you’re in Sydney on the 5th, 6th or 7th of September, you should buy a cheap ticket and watch it.
It contains all the right ingredients for a successful western. These include bandits, sherrifs, the town stranger, the town drunk, the fastest shot in the West (which may sometime be the town drunk), the banjo brandishing hillbilly, the lonely harmonica player, a whip*, the mayor, Mexicans, the fine lass, and a Final standoff with capital F.
Also, there used to be an official revue website somewhere but as I can’t find it I assume that someone forgot to renew the domain and the site no longer exists.
Cheers, and see you at the event!
* the whip may or may not be used at the actual event, and audience are recommended to not buy tickets for the front row.