These are posts tagged ‘programming’

St Paul’s School Intranet

St Paul’s School updated the installation of their Content Management System, Firefly.NET, . Along with this update they included a new template that I built, changing the layout of the Intranet which had been there since, I believe, 2001. Here’s a few screenshots to compare the two:

Homepage Comparison CompSoc Comparison ICT Department

This redesign made use of Firefly.NET’s template architecture, so the template files were built with XSLT and various stylesheets. While the old template was built using tables (back in 2001, I imagine this was fairly common), the update changes to use <div>s and more common stylesheet positioning instead. It’s technically HTML5, in that the first line of every document is <!doctype html>, though this doesn’t really mean anything for the time being. My favourite part of the redesign? The name of the school now has a proper apostrophe (St Paul’s vs. St Paul's). Apparently I can be a little picky.

Firefly.NET is the system St Paul’s has been using to manage content on its website and Intranet for quite a while now. It was developed by two former pupils of the school, Joe Mathewson and Simon Hay. You can read more about their work and their clients on the Firefly Solutions site.

Bedouin Foundry

Bedouin Foundry Main Page

I’ve spent the last couple of months working on a site for a new company, Bedouin® – it was great experience, and really good fun. The site isn’t particularly extensive, so it’s based on flat files rather than any kind of content management system or database; though as it grows, that’s definitely something to consider. The artwork was done by Zeke Wade, the design and layout by Silas Grant, and the coding (PHP, HTML 5, CSS and JavaScript) by me. The site works in IE6 with surprisingly little work – my favourite part is it serves a not-as-pretty GIF background if you’re using Internet Explorer 6 or older instead of any other browser. And as any web developer knows, if it works in IE6 it’ll work in just about anything else. Except IE5.

Feel free to check out the live site now, and make sure to admire the beautiful illustrations: Bedouin®.


Bedouin Foundry Development

First Capital Connect’s Site

Hey, First Capital Connect – we need to talk.

You know databases, right? Those things that can store a whole load of data for you? Yeah, start using them properly. Don’t send me my password cleartext in an email, and don’t send it all uppercase when that’s not how I entered it. Do you even support case-sensitive passwords?

First Capital Connect Registration Email

Oh, and find the guy who designed this part of your UI, take him out back and beat him up a little:

…simply untick the box.

Which box?

First Capital Connect Tickbox

Hack Day ’08

The Last.fm Hack Day took place last month, and I can’t believe I didn’t post anything about it at the time.

Last.fm Hack Day

It was a great day spent (for me) learning the basics of Python and, a technical term here, "pissing about" with the Last.fm API. There was a Microsoft Surface and Xboxes on hand to entertain us, and plenty of free food and drink.

While I didn’t accomplish anything particularly amazing (at the time, it was noted that you could do everything I managed with the actual Last.fm website), the environment was incredibly conducive to producing good code. Plus, some of the people who were actually trying (Your Next Favourite Band?) made some great little things. See the official Last.fm blog post for links to all the apps.

Russ (from Last.fm) and I (and many, many others) both have some photos on Flickr, though his are just a little better. You can see a video that was created of the day on the group page, and I’ve put a copy on S3 in case the original disappears. And yes, unfortunately I do make an appearance… :D

Update to My Last.fm Scrobbling Test

I spent a bit of time this evening updating my Last.fm scrobbler (if you can call it that), which I have written about before.

It simply makes it a lot easier to use: enter your username and password, click the button (I know the enter key doesn’t work, and I hate myself for not being able to fix it). You’ll move to a page where you need to enter three fields (artist, track and length) and click submit. Done. When compared to the old method, it’s several thousand times better.

I feel much happier. I’m trying to do something interesting with it involving Delicious, but we’ll see if I can get the code working or not…

By the way: not including a giant, massive link to the new page is one of the smartest things I’ve ever done. *facepalm*.

Twitter’s Lacking

I’m not too sure where I stand on how Twitter is evolving and growing at the moment. Guess if I was forced to opine, it would be that they’re not developing, improving or evolving fast enough. I know they’re trying to keep the service simple, but the lack of a few would-be-amazing features (groups, anyone?) makes it seem stale and unloved.

This was prompted by me thinking up ways that they could make the site more useful, primarily in terms of adding more user-generated information while still keeping the original, simple tweet structure. How about a community wiki-esque (oooh, but limited to 140 characters – I just thought of that) system for explaining what the hashtags actually mean. I searched for #pop this morning (it’s a course I’m doing) and it came up with a whole load of results about burgers. I’d love to have been able to hover over #pop in the tweet and see a 140 character explanation of what this place was.

Spam’s an issue, clearly, which is why the system would be community moderated. Once a site has the giant user base that Twitter does, I reckon they could leave a lot up to the users.

Finally, a really, really basic screenshot of the kind of thing I’m thinking about:

New Twitter Feature?

Learning: XMLHttpRequest

Since I first started teaching myself PHP as well as GET and POST methods back in May to throw together a scrobbler for Last.fm, I’ve wanted to update it to make it a little more… AJAX-y (as the kids are saying today).

Yesterday, I started looking into the best way to go about doing this and came across XMLHttpRequest for the first time. Sitting here reading about it, the grin on my face grew: this thing is absolutely perfect.

XMLHttpRequest is a JavaScript object that was created by Microsoft and adopted by Mozilla. You can use it to easily retrieve data via HTTP. Despite its name, it can be used for more than just XML documents, e.g. for JSON.
XMLHttpRequest (XHR) is an API that can be used by JavaScript and other web browser scripting languages to transfer XML and other text data between a web server and a browser.

My plan at the moment is to update the old scrobbler to make it all pretty and more friendly, but I keep on running into problems. For example, XMLHttpRequest only allows data transfer across a single domain name (I might not have described that well, but that’s the case). A search reveals that this is a fairly widely known thing/issue/whatever, and I’m looking at ways to get around it at the moment. As I’m on shared hosting and don’t have access to the server configuration, I’m going to try doing it via PHP. This LiveJournal post is also applicable to the situation.

Anyway, that’s the stuff I’m getting on with at the moment. Now, back to some coding…