Summer

So that middle part of Summer has been a bit sucky. So we shall skip all that, don’t really want to go into it….

Now things are better!

I lost my mac for a week and a half, hard drive failed, followed by back for two hours, followed by hard drive fail.
In the end Clockwork (Leeds Apple Care), replaced the drive and the drive’s cable, and shes all good now!

I’m off to Moor Fest next week, I’m doing the lighting for the Green Room, with Chamsys and whatever fixtures I get given, learnt some useful things from their Chamsys Guide for that matter, (and I fixed up the tab box on the home page for them!) Nice bit of jQuery!

Made a shoutbox for Halo3Wheelmen its hosted on 360gaming.net so had to do a lot of fudging and built a mini phpBB api to get user/ban data out of the forum, its all built in jQuery and PHP, jQuery makes ajax stuff, and append/prepend so much easier than pure javascript.


Job wise I am still waiting to hear back from Firebox.com, but it looks like I shall be staying in Leeds for another year at least, being a Venue Tech, which should, with the new boss, hopefully lead to more external work, but I shall still be working as a freelance web developer. Tho there have been some interesting local jobs come up on the GeekUp jobs Board. (I need to start going to GeekUp again….)

In that vein I currently have a bit of work on building a Asset/Event Manager for LUU Events, details on that to follow, but as a project it keeps me out of trouble, since Google fell thru.

Hopefully I should be getting back into modding phpBB which is even easier now since they now use GitHub to host their repository, so I’m gonna have to get to grips with forks, and loading parent data into the child repo…. (If that makes sense).

So essentially things are busy, not perfect but good. Could be better could be worse…

Hopefully at some point I will get around to doing a Carlyon CMS release candidate, tho I am thinking I need to rip out my CSS boilerplate and thus the relevant core html template files, we shall see.

In other news, I now have completely new graphics for 360gaming [dot] net, I was approached and offered the services of O Sheep Dip, and now I have graphics! Woot!
360gaming.net now has a HogBall league tracker on top of the 1v1 challenger system, tho no one has tested it yet, and I only have the one team, people don’t seem interested…

Tho there is a BTBhub on the way, it was suggested to me that building a BTB league is the way to go, and now I have the core Bungie Code checker, and with the advent of Reach, its data API (POTATO!) and of course, its massive ForgeWorld, the future is bright for Halo and 360gaming.net, now all I need is to find more games with similar developer offerings, and getting myself access to the true Xbox API……

So that summarizes the later part of summer… O and Katie is now home.

Also checkout my tumbleblog

Catch you after Moor Fest, (which will be my first ever festival, I’ve never been to one, and now the first one I am going to is also going to be my first external lighting job….)

Off to watch Sherlock on BBC1

And Happy Birthday to Kayleigh (The GirlFriend) 🙂

#GSoC 2010 – My Applications

My GSoC 2010 Applications.

So for Google Summer of Code 2010 I’m applying for two Organizations, GeekLog and WordPress.
Both are PHP based, and are primarily MySQL.
Both meet my skill sets and use Object Orientated Programming, so hopefully anything I learn/develop I can fold back into CarlyonCMS. Win 🙂


GeekLog, I have applied to work on the Email Queue needs and Core Notifications, sending subscription emails and the like to end users. Email Queue I have knowledge of since LSRfm.com can only send 600 emails per hour… (Its a Spam Thing). So the LSRfm.com Megalist, sends upto 400 emails per hour. Subsequently this queue system is part of Carlyon CMS.


WordPress I am applying for two separate projects.

Taken from the ideas page, I’ve selected Trac Annihilation (still can’t spell Annihilation, thank God for spell checkers), and the Bugtracker.

Bugtracking I have experience on, having seen and worked on the Bugtracker for PHP for GSoC 2008, (woo go me I have bcarlyon [at] php.net as a email address (Update: Hmm it doesn’t appear to work anymore :sadface: (Update 2 I think they purged it when PHP moved to SVN over CVS))), which was good fun and a learning experience.

(As part of the WordPress application you need to document your application on a WordPress powered blog….)

WordPress, as a publishing platform, should lend itself easily to being adapted to become a BugTracker, since the main elements, like categories, posting and comments, already exist, simply moving a b(lo)ug post, from one category to another would make it open/closed/assigned etc.
The interesting part here would be the interaction with SVN, and the need to extra data from Commits or source files.

My other WordPress application for Trac Annihilation (got it right that time), involves working on and closing as many open tickets as possible, since with the advent of WordPress’es beta the number of tickets is gonna rocket.
Essentially this is just a matter of munching thru as many tickets as possible and closing them, after solving them.
Which would be good fun and a great learning experience.

I just hope one of the three accepts me, or I could end up with a Summer of nothing big to do…..

Google Summer of Code 2010

Google Summer of Code 2010 is on!


So, Google Summer of Code 2010 is nearly upon us, the mentoring organisation application period is now open!

Initially been looking at projects I have been involved with before, work on now, or do at the moment, or similar parent orgs.

I’m sad to say that AptitudeCMS, my project last year, is now no more. But its parent org Geeklog is still with us, (AptitudeCMS was supposed to be GeekLog 2).

Geeklog is a PHP CMS, and my main thoughts for going for Geeklog this year is, due to being involved with Aptitude last year, and some of the possible project ideas look interesting and I have some knowledge and expertise on, given that it is a PHP CMS, and they tend to run in to similar problems.

So, just waiting to see which organisations get accepted this year, to fully decide on a project to go for this year. As well as work around my finals for my degree.

So time to break out the Green Tea!

See you in #gsoc on Freenode

Curl, MusicBrainz and PHP

A quick block of PHP to fetch MusicBrainz ID for a song and artist based on Song Data.

As part of the New Years Resolutions I didn’t make.

I’m updating my blog with some Code Snippets!

Been fiddling about with my PHP powered Jukebox that plays out on LSRfm.com (Leeds Student Radio) Overnight, and there is a need for a bulk track adder.

So, I’ve been tidying up the MusicBrainz Data Fetcher, as well as fiddling with PHP and getting ID3 tags from Files. But thats a different blog post.

Essentially there is a (new-ish non updated recently) PHP Library for the interaction with MusicBrainz, (A music database), recently found that (this morning its rubbish), but of no good.

So went back to my curl method.

Tidyied it up and got it down to a few less lines.

Essentially for a given track, the PHP extracts the ID3 tags, and then passes it to this function: (its needs making into a function btw :-P)

$curl = new curl();

$data = array(
	'title'		=> 'Showdown',
	'artist'	=> 'Pendulum',
	'release'	=> 'In Silico',
	'duration'	=> 327784,
//	'tracknumber'	=> 0,
//	'count'		=> 10,
//	'releasetype'	=> '',

	'limit'		=> 25,
	'limit'		=> 1,
);
$target = 'http://musicbrainz.org/ws/1/track/?type=xml';
foreach ($data as $ref => $dat) {
	$target .= '&' . $ref . '=' . urlencode($dat);
}

                                $curl->target($target);
                                $curl->runit();
                                $mb = $curl->bodyarray['metadata'];

if (isset($mb['track-list'])) {
	$mb = $mb['track-list'];

	if (isset($mb['track']['0'])) {
		$mb = $mb['track'];
		$artist_id = $mb['0']['artist_attr']['id'];
		$song_id = $mb['0_attr']['id'];
	} else {
		$artist_id = $mb['track']['artist_attr']['id'];
		$song_id = $mb['track_attr']['id'];
	}
} else {
	// no data
}

echo "\n" . $artist_id . ' ' . $song_id;

Where new curl() just calls my Curl Class.

I’m sure you have your own ways of doing curl, but mine just sets the target with $curl->target and curlexec() with $curl->runit.

The result is in $curl->body, or exploded nicely as an array in $curl->bodyarray. I’ll post about my curl later! As well as some other Carlyon_CMS stuff.

So thats a quick rough and ready way to get a artist and song ID from MusicBraiz.

Its worth noting that since my limit is st to 1.

The first option of if (isset($mb[‘track’][‘0’]) is entirely redundant, as that only triggers when mb returns more than 1 result.

(I only just added limit before writing this post, which is where I decided to write this post)

The MusicBrainz Docs for its XML service is at: http://musicbrainz.org/doc/XML_Web_Service If your Interested!