Categories
Environment PHP Web Development Zend Framework

Latest project – London Green500 goes live

Green500 site Screenshot

London Green500 is an exciting project I’ve been working on for the last few months. The full details of the programme for the London Development Agency will go out next week.

In a nutshell its a Carbon Management program for large organisations in the London area – aimed at reducing CO2 emissions by 1.5 million tonnes over the next couple of years. Today the marketing site went live (which is mainly a Content Management System), later in the month the Customer and Administration parts will go live. This post also has a bit of an ulterior motive – getting the site into the search engines – as its brand new and I know my blog is crawled by Google etc.

From a development standpoint the Customer and Admin areas are more exciting as they are powered by the “AEA Framework” which is major initiative I have been working on since I joined AEA earlier in the year as Architect/Senior Developer. Zend Framework (and therefore PHP5) powered, with Smarty for views (of the MVC part) some nice templating and other modules to support the various projects at AEA.

When I can spare a bit more time I’ll post some more stuff on the AEA Framework. All I say for now is that at the moment I’m putting the finishing touches to what we are calling Advanced Forms. Forms that (as an Administrator) you can edit via the site right down to the field and validation level. So you can build complex multi-page forms and ultimately processes with less code – actually mostly from the site itself). We are also integrating YUI components such as the Datatable. Can’t wait to write more about it!

Update on Green500 – see http://www.londonclimatechange.co.uk/greenorganisations/making-it-happen/green500/
and http://www.london.gov.uk/view_press_release.jsp?releaseid=14873

It made it on to the BBC news site too – which is good news.

Categories
Life

Wow its December already!

What a year 2007 has been! Mega busy at the moment – will be posting some more articles soon.

Cheers

O

Categories
Sony Stuff

Successful firmware upgrade for the Sony NW-A3000 and NW-A1000 MP3 players…

I decided to buck the trend and go for a Sony MP3 player over the Apple Ipod when I bought MP3 players for myself and the missus. On the whole they were a good buy – sound quality excellent but desktop software a bit iffy…

Anyway I discovered a Firmware update today and after careful consideration (as firmware updates can be a bit risky) I took the plunge and upgraded my NW-3000 from 2.01 to 3.00. Really pleased I did as the interface is now much quicker and has an improved loading icon (rather then the disk spinning you still see the normal screen with a little loading AJAX style symbol bottom right (the area where battery status is shown). It also supports AAC files and has some other little improvements – se the linked page above for full details. I upgraded the wifes A1000 with no issues too. Also I used Vista to do the upgrade.

So if you are concerned follow the instructions to the letter, keep your fingers crossed and hey presto improved MP3 player!

Naturally I take no responsibility for any damages occurring from following my recommendation – flashing firmware is always risky and you do so at your own risk.

Categories
Open Source PHP Technology Web Development

Professional Development – Part 1 – Using a Wiki for Documentation

This will be the first in a series* of articles on web applications development – not the specifics about programming, but more tips on the infrastructure and processes that can make life easier, more productive, successful and better aligned with best practises. Its based on my experiences of being in development teams and leading development teams.

I see these articles as being useful to a development team thats growing from a 1 or 2 man operation to a larger team and is perhaps using Open Source development tools such as PHP/PERL/Python and perhaps aren’t in a very processes driven environment…

Documentation

Most developers won’t generally document their work as a matter of course – either they simply forget, overlook it or its just not that exciting for them. So 3 things:

  • Illustrate the value of documentation
  • Build it into the development process
  • Make it exciting (oh okay you can never make documentation that exciting – so lets settle for a bit more interesting!)

Illustrating the value – most developers are already sold on documentation being a generally good idea but others aren’t. Some fear that by documenting they loose control over the project or the work that they primarily work on (in fact the reality is that is the opposite…) or they just really don’t see the point. Highlight the facts that it enables team work, improves quality, makes support and changes easier etc. Also that holding all the knowledge up in your head means that you are stuck in your current role as its not easy to bring others in to do what you do so you can be promoted.

Another great benefit is inducting new team members – it allows you to point new team members at the wiki site to help them get up to speed quickly – and you can also use that process to fill in any gaps in the documentation (and get the new start to include their tips and findings as they learn the ropes…

Build it into the development process – obviously you need to have a development process if you haven’t got one but once you have it just becomes part of the steps:

  • Requirements Gathering – document
  • Spec/design – document
  • Build/development – document

So ensure that documents are required for each step in the process – and make time for that documention. The nice thing is that documentation is a lot easier if done throughout the project life cycle rather than all at the end (then it is just really daunting) – as generally what you plan to do is what gets delivered (and if things deviate from the spec during development you can just adjust it)…

Make it more interesting – its more that just that in reality as its picking a documentation tool that supports the above points and works for the team. For me development documentation seems to works well with an internal/Intranet Wiki (something like MediaWiki for example). The main benefits (over office docs for example) it allows easy collaboration, allows for a geographically disbursed team and is generally nicer than using word processing software. It’s made more interesting by feeling very “Web 2.0” (as much as I hate the phrase!) and has some great tracking features – like the recently edited articles page. Once the team have seen the advantages and you bore you colleagues to death with “the W word” then you’ll find that you have a healthy wiki site and documentation, documentation, documentation (with any luck with minimal pain!)

Categorising the Wiki – here are some ideas on some categories that work:

  • Projects – Pages under here relate to discrete projects the team is working on
  • Infrastructure – documentation on the dev, staging and production server environments (eg Server configs, IP addresses, SLA details)
  • Process – Reference guide to the development and other IT processes so the team can refer to them and also make contributions and feedback on what is working.
  • Meeting Notes – Agendas and minutes for meetings – if you get this right then these allow for team communications when needed (rather than at forced meeting dates) and are links to other pages on the Wiki where the full details of a proposal or a project is available.

Blogging

Another option (which has some other positive side effects including marketing) is blogging about development projects – and this is something I am considering for my current team. The Wiki will be for the more technical and internal documentation aspects and the blog for what the project actually does. The added benefit of the blog is that it can do some link / SEO stuff for your projects and raise the profile of the development work that your team is doing to a wider audience. This is particularly useful if you develop an Intranet system for your company – where you are adding new features or enhancements over time.

To make MediaWiki easier to use (for those who aren’t familar with the syntax used on Wikipedia) we enabled a WYSIWYG editor – FCKEditor. There is a whole range of great Wiki software out there if you don’t like the look of MediaWiki – just do a Google or have a look at wikimatrix.

The next articles will more than likely be about:

  • Project Management tools (eg FogBugz) –
  • Development Meetings and Communication
  • Using a Framework (eg Zend Framework)

… watch this space!

*I don’t know how many there will be yet but if they are received well then heck there might be as many as 3 or 4!

Categories
Technology Web Development

Don’t jump into coding – spec it out first…

Joel Spolsky has a great post on his blog at the moment -part of it reads:

“Now, there are various ways to get in trouble. If you don’t like writing functional specifications or doing up-front design, what happens is that you’re burdening the design phase with the development phase. If you ever started a new project by writing code, and you thought you’d “design as you went along,” what you’re doing is driving around with the handbrakes on. Here’s why. Designing a feature by writing a thoughtful spec takes about 1/10th as much time as writing the code for that feature—or less. If you try to code as you design, then you’re interrupting your short spurts of design with long spurts of coding. Now, if you’re the kind of person who designs everything perfectly the first time, that’s fine. But I don’t think you are. I think that your first designs are pretty good, but when you see them, you get ideas for even better designs. And if you already coded up the first draft, bad design, well, that’s coding time wasted. Your product’s design can only get better at 1/10th the speed that my product’s design can.”

I couldn’t agree more with the above, yet so often web systems are developed by coding after just talking to someone about an idea or “go off and do that will you” (that being a sketch on the back of a beer mat). Its refreshing that I am currently writing a specification for a web system (for the first time in what feels like ages)…

Joel on Software is one of the sites I visit on a regular basis – its very informative on software development issues and often very funny – give it a read sometime.

Categories
Environment Technology

Green IT – interesting reading

Seeing as I now work for what is predominately an Energy and Environmental consultancy these days – I’m doing a fair bit of reading and research into Carbon Dioxide and other climate change issues. There seems to be a real momentum building behind green Information Technology. Today I came across The Green Grid who are a consortium of technology companies that appear to have joined forces to create a panel of experts on green data centre design. Interestingly their members feature:

2 of the companies I am currently considering using at work to replace our current hosting company (Donhost) who have let us down recently (more on that in about 12 months – when our current servers expire!!!)

Additionally I dugg a BBC article on Green IT which happened to be headlined under technology tonight and discovered that Google plan to be Carbon Neutral by 2008. Strange how patterns can emerge from web surfing at times!

I might blog a bit more about Green IT issues in the future – particularly once a big (and rather exciting project) that I am currently doing the analysis and architecture for goes live.

Categories
Linux Samba Technology

Getting support for a small company Ubuntu Server installation

Why are most (small) IT support companies not interested in supporting Linux? If you are an IT support provider in the London area who can support a small network of Windows XP PCs and a Ubuntu (Samba) Fileserver (which pretty much takes care of itself) please get in touch!

I will post up details when I find someone on this in due course. [Edit opps I should have done more Googling before posting – it looks like Canonical might offer what I am after – but what I am saying here holds up – support for both Windows & Linux from IT support providers is needed…]

I think this could be an interesting/lucrative potential market – stop selling the over priced and bloated MS server offerings and sell the more cost effective and robust Ubuntu Linux based solutions for small businesses. What with web based management systems its got to be the way to go. Particular as lots of basic NAS boxes are going down the embedded Linux route.

Surely some of the saving in licensing costs can be passed on to the customer and some kept back as improved margin? I guess what this really needs to take off is a robust Open Source Email/Calendaring solution (Exchange Server killer) – I suspect Exchange is the reason a lot of businesses still go for Windows Server.

Categories
PHP Web Development

Firebug – a Web Development Inspector/Debugger for Firefox

If there is one tool that has revolutionised how I develop (or more specifially investigate/re-engineer and analyse) web sites and applications its got to be Firebug: http://www.getfirebug.com/

Its great for those situations when you come across a site and think – how did they do that?! Clicking on the firebug utility (a green tick in the bottom right of firefox – once you’ve enabled it) and getting it to inspect the page soon reveals all!

Firebug Screenshot 1

Its also really handy for CSS – borders and spacing are visually displayed:

Firebug - DOM view

Recently I found a great little video on debugging AJAX applications with Firebug and the Zend Debugger which looks really useful. The Zend Debugger is another great PHP development tool which works really well if you have the Zend Studio IDE – when I find some more time I may well blog about that too!

Update – I discovered Yslow today – http://developer.yahoo.com/yslow/ – a plugin for Firebug that gives tips on Web site performance – pretty nifty.

Categories
Life

The garden is done!

This afternoon we finished laying the turf which is the last big thing for the garden (and the house as a whole really) We just need to lay a bit more paving and then the garden is finished!

See the before anything (weeds, rocks and all), before the lawn and latest photos below:

Garden before anywork Garden before the lawn Current Garden Photo

Categories
Cycling Mountain Biking

New cycle commute route to work (Off-road!)

So I’ve finally worked out the cycle route to work, originally I wanted to find a road bike route as it would be quicker but I couldn’t find one that completely avoided a major A road (dual carriageway). So now I’ve actually found a more direct (as the crow flies) route that takes in mostly restricted byways (including a bit of the Ridgeway). It looks like its going to be a really nice route. It will be about 10 miles each way and will probably take 45 minutes to an hour to start with – I hope to have that down to between 35 and 45 minutes before too long!

Grassy Byway Sunset Byway

[Update] Took me 50 minutes door to door, once I get fitter that time will definitely go down!

[Update – Sept 07] Now down to as little as 40 minutes! Usually do it in around 42 to 44 so thats a result! So far I am managing to ride about 2 -3 times a week. Going to have to try and continue that through the winter – which will be a challenge!