Advertisement

Customize

Pling!

The personal journal of Chris Northwood

5/24/09 10:17 pm - Random musing

So, Spotify are promoting safe sex, and also "sexy playlists". I'm not quite sure how well that'd work in practice. You're getting down and dirty to a "sexy" Spotify playlist, then all of a sudden... "Hi. I'm Jonathan from Spotify"

5/16/09 02:11 am - Live Blogging screencast

Here's a quick screencast I put together demonstrating Nouse's live blogging system.

You're probably best watching it full screen, so click here.

2/6/09 06:16 pm - A copy of my letter to the Editor of the Yorkshire Evening Post

Sir,

Speaking as someone who's had to deal with the ongoing saga of my Grandma's murder, I found the story that made your front page lately very disturbing and upsetting. I fail to see how reporting on the sale of a house related to a story from 2.5 years ago is in the public interest. Slow news day, perhaps?

Speaking as a Director for the Guardian award-winning student newspaper Nouse, I find your lack of ethical or journalistic integrity disturbing and sincerely hope to never have to work alongside journalists like yourselves, instead preferring to work with professionals (my colleagues in student media have shown more journalistic integrity than was displayed in that article).

Finally, Molly Wright was a wonderful woman, and a wonderful grandmother. I implore you to please leave her and her memory well alone and let our family move on from her tragic death.

Regards,

Chris Northwood.

1/18/09 07:11 pm - I've been threatened with legal action

It's regarding this journal entry. Instead of getting in touch with me, either by e-mail or leaving a comment on the journal, Patrick Paul Porter, the builder who I named in the offending post, rang my *parents*, demanding it gets taken down and an apology issued.

How grown up, trying to get my parents to emotionally blackmail me into taking it down. I don't have a problem publishing things that are true on my blog, and I don't take threats of legal action lightly, however due to my parents' concern, I have edited the offending entry.

Basically, this builder did the renovations on our house in France. There was some disagreement over the work (in particular, the way building rubble was left in the garden) - so we didn't really leave on the best of terms.

My original post mixed fact with speculation (I apologise for not making a clear distinction between the two), but one thing that is fact is the graffiti he left in our cellar: "You Idiot English Wankers". Lovely.

I'm sorry, but if past experience with customers has been posted on the Internet and you don't like that, then that's your problem.

I stand by my original post, and I can assure you, the answer "Paul Porter" to the question "Who would you recommend for a renovation in France?" won't be coming from me.

12/27/08 08:53 pm - Migrating from WordPress's "Multiple Authors" plugin to "Co-authors" plugin

One thing Wordpress lacks support for by default is having entries by multiple authors, yet this is something that happens quite regularly with Nouse. My predecessor sorted this by using the Multiple Authors plugin, but this wasn't quite the best solution. It required you to type the full name of the user you wanted to add manually into one of the meta fields.

The co-authors plugin appears to solve the same problem, but has a nicer interface (a drop down box in the Write Post screen) and means author archives also include stories they were an additional author on.

Obviously, the database storage between the two varies slightly differently, and we don't want to lose the metadata from our 4 years of backlog. This simple SQL query will convert posts from the old format to the new format:

INSERT INTO wp_postmeta(post_id,meta_key,meta_value) (SELECT m.post_id,'_coauthor',u.ID FROM wp_postmeta AS m,wp_users AS u WHERE m.meta_key='other_author' AND m.meta_value = u.user_login);

12/9/08 10:36 am - Help me with my final year project

So, I'm doing my final year project on a system called Tapas which is a way to log in to touch screen mobile phones and PDAs using a series of taps (a "secret knock" as it were) instead of a password or PIN. The software was created by a student last year and this year I'm doing an evaluation on how good the system is, basically.

So, if you're interested in helping me out, and:

* You have a Windows Mobile powered device with a touchscreen
* You don't mind Tapas being installed and activated for 3 weeks (there is a backup password feature too, but the idea is you only use that if you can't tap in)
* You're free to keep a diary of circumstances where you've used the device and particular good/bad experiences (at least once a day as a high level over view, but more in-depth about specific experiences will be useful)

There will also be some kind of reward (dependent on how much the department approves) for your troubles.

If you're interested, drop me an e-mail at cjn503@york.ac.uk, or get in touch with me some other way.

Thanks!

10/24/08 12:44 am - Including SVG in webpages

Handy tip I discovered that's been doing my head in. I've been creating SVG files in Inkscape, then cropping them to selection and saving them. When viewing in Firefox though, as part of my webpage, annoying scrollbars would appear. Basically, it would appear Inkscape crops to parts of a pixel, so to fix the scrollbars appearing in Firefox, your SVG files need to have integers for sizes. I don't know if this is a bug of Inkscape or what, but allowing non whole pixels as a size seems a bit odd...

10/8/08 02:26 am - House Bill organiser

I will write an LJ about America soon, I promise. First though, just a little PHP script I wrote that people might find useful.

Basically, in a house full of CompScis, tonnes of geeky stuff is bound to happen. First off, I've set up a house server which will soon be a media centre PC, among other things. Now, on this server I set up a script (better than a spreadsheet!) to organise how much people owe each other with bills and stuff. I had a Google to try and find if anything similar already exists, but I couldn't find anything, so I made my own (it killed an afternoon).

It's not designed to be reusable, but it's at least a start if you want to do something similar (and let's face it, if you do, you're probably geeky enough to be able to tweak the script anyway).

Download script

Database schema (for SQLite):

create table payments (`value` int not null, `who` varchar(255) not null, `receiver` varchar(255) not null, `date` datetime);
create table bills (`value` int not null, `payer` varchar(255) not null, `description` varchar(255) not null, `date` datetime);


In other news, despite thinking I was doing quite well out of the credit crunch, guess where I kept all of my savings.

8/31/08 11:21 pm - Evolutionary development

For many, the goal of software engineering is to turn a set of requirements into code. Equally important is checking that the code you've written actually does implement the requirements you have - this is the point of testing, and is an area which I think, especially in open-source projects, is neglected, or not done to a sufficient standard. This is part of the reason I'm writing Arete.

A few months ago, I attended an interesting workshop on test-driven development by Kevlin Henney, which introduced the idea of thinking of unit tests as requirements specified in code - from what's defined in a unit test you can infer the interface for a class, and automatically generate the stubs for the class. This is nothing new, even Microsoft's Visual Studio can do this nowadays. From a unit test, you could also infer the behaviour of the class too, I mean, that's kind of the point of a unit test, to define the behaviour of the class.

So if we can infer the interface of a class from the unit test, can we also infer the body of the class? This is a more interesting point, but possibly nonsensical, as a bug in a unit test would result in a bug in the automatically generated application, whereas bugs in a unit test are quickly spotted using the red/green/refactor method, because if you think you've implemented something correctly and the unit test fails, it gives a flag to check the unit test. Still, with a comprehensive set of unit tests in addition to integration tests, if one had a bug in it, then the resulting requirements definition may be impossible, or never pass.

Still, we have the problem of how do we automatically generate the method body, etc... A possible way to do this could be using genetic algorithms. Now I must admit, this isn't an area I have much experience with, or are particularly familiar with. We have obvious fitness indicators - the passing or failing of unit tests, but it would need a particularly clever method to be able to generate code, or a lot of CPU time...

I do think it's an interesting problem though, maybe it's one I'll solve one day too.

8/29/08 11:33 pm - Spending and America!

Okay, so I may have lied when I said I was going to do a vlog. Honestly, I was intending on doing one but then I got distracted and never got round to doing it.

Never mind.

So, countdown to America now :) This time in two weeks I'll be on the final leg of my westward journey - the plane from Philadelphia to Los Angeles. I'm really looking forward to it now. I bought my travel money today:

Travel money

$280 in cash, plus $880 on this mystical thing called a travel money card, which appears to be a bit safer than carrying lots of cash with me. :)

I also bought a new wallet, and a new bean bag:

Float bean bag

(she isn't included unfortunately)

£47, absolute bargain in my eyes, especially considering how big it is - 180 cm x 140 cm, and filled with 14 cubic feet of Fire Retardant, virgin quality EPS bead :) Sumo ones are at least twice the price, and this is manufactured in the UK!

Also, went for my final checkup today at the Fracture Clinic, and I've been completely discharged - saw an Xray of my plate too, might try and get Dad to get me a copy. Just need to do another 6 weeks of physio at home and I should hopefully be back to normal :) Sad news is that the plate won't be coming out, it'll be staying in there forever. Which is quite a scary thought.

8/12/08 06:59 pm - Offline CMS

One of the things I've been up to this summer is website design. I'm being paid to design a website for a local primary school in Doncaster. Now normally I'd use some sort of CMS to manage the site, but in this case this is impossible, as the webspace the school has doesn't have any server-side scripting support.

So to accomplish the task without having to maintain a million HTML files with lots of duplicate template code, I've written a simple offline CMS in Bash, which takes some template files (in the form of a shell script which defines some variables) puts that into a template, and inserts a navigation bar.

It's pretty simple, but it took me a few hours, so if anyone ever needs to do the same, feel free to use mine. I'm licensing it under BSD, so feel free to enhance it if you wish. The Bash script generate.sh has the template and config in it (just move the variables and the sitemap backticks), and the Tcl script sitemap.tcl is the logic for generating the navigation bar. The file sample contains a sample format for a template file (all your files must end in .tmpl to be considered. The order of the pages in the navigation bars is decided by the name of the .tmpl file, so you can call them 00index.tmpl 01subpage.tmpl to have a specific ordering in your navigation bars)

Download Offline CMS

8/11/08 02:50 pm - re: Pulled Snickers Ad

This is kind of a response to Stephy's blog on the Mr T speedwalking ad at http://shylilsweety.blogspot.com/2008/07/pulled-snickers-ad.html.

Just read an interesting article about the Snickers ad - basically no LGBT groups in the UK complained, and the ad was only pulled because of pressure from the US. Surely if something targeted a British audience is seen as inoffensive by that target audience, it's wrong for a completely unrelated third party to barge in and demands its removal?

I also found this highly amusing - there's a group in the US called the "Human Rights Campaign" - which claims to represent LGBT rights. They then published this press release: http://www.hrc.org/10880.htm, which is absolutely hilarious. "speed walking in an exaggerated manner – conjure up stereotypes of gay men". I'm sorry but what, since when has speed walking ever been linked with a "stereotype of gay men"? Certainly never in the UK where the ad was created and published. As someone who has occasionally speedwalked I find the suggestion that the activity is "gay", and surely it's completely inappropriate for a supposed LGBT rights group to be creating these stereotypes.

We all know that America is a far-right, near-facist state with very conservative thinking, who reckon themselves to be the "world police", but when ad created in a centrist country for a more liberal audience is pulled because of offence from some conservatives in the States, what's the world coming to? Next thing you know having photos of women not wearing hijabs in Rimmel commercials will be pulled because it offends Iranians.

The advert in question:

8/11/08 12:38 am - France blog

(Edit: After being threatened with legal action, I've removed the bulk of this post)

For the last few weeks I've been in the Aveyron in France, enjoying some downtime after finishing at Sophos and starting the next year (although I have ended up with a big stress, more on that in a bit), but whilst I'm at my parents house, there's always a few jobs that need doing, this year my main job has being added Sky to the "yellow room" (a task now completed!), a task not made easier by one hand being in a splint. However, today I've been helping my Uncle Keith sort out a blockage in one of the upstairs toilets that meant the water wasn't draining very fast.

This is where the text was removed - it included speculation alongside facts and I unfortunately did not make a clear distinction between the two, which I apologise if it was misleading. I've discussed this further, in a more recent journal entry

So, just a warning if you're planning on renovating a property in the Aveyron or Tarn - I will not be recommending using Patrick Paul Porter.

Anyway, moving on to my other stressful situation, it seems I may have failed the year, because I didn't have a signature on some of the forms I needed to fill in to get my industrial placement accredited (the reason I didn't get them signed is because my manager from my stint as a tester left Sophos, so I assumed it'd be okay). Then I got an e-mail a week ago telling me it wasn't okay and I couldn't be accredited. So I had to print off fresh forms, post them to Sophos HR who will sign it on behalf of my test manager, who then post it to Gus at the CS department. Sophos received and forwarded the forms on Friday. The accreditation board meet at 11am on Monday, so I just have to hope the corrected forms arrive by then. Otherwise I'm screwed. Royal Mail, please don't let me down...

I'll do another vlog soon too.

7/17/08 10:11 pm - Arm update!

My Dad brought home JPEGs from the digital X-ray machines today, so...

(click to see full size)

You can see just how fucked up my wrist was!

7/17/08 12:01 am - Vlog: 2008/07/16 - Bike Accident



(if the above does not show, click here)

7/12/08 06:09 pm - Take A Break magazine = sensationalist tabloid shite

Just when you thought it was over for at least a while.

Take a Break sensationalist crap

(second headline on the left hand side)

This tabloid shite is completely reprehensible, written for the single purpose of selling more copies, without a thought to the family or victims of the crime.

http://www.davidgordonhill.co.uk/

7/7/08 11:57 pm - New site!

Because I'm so fantastic at procrastinating, especially when I seriously need to start thinking about packing, I've redesigned my website. Nothing too drastic though.

Thoughts?

6/17/08 11:42 am - Microsoft Challenge

Over the last week I've been in Scotland participating in the Microsoft Challenge and raising money for the NSPCC. It was hard work :P

There's going to be a full video coming in due course, but here's a little report I wrote for work:

Results: http://www.challengerworldresults.com/results.php?viewevent=37&chall=Microsoft%20UK%20Challenge&year=2008

Sophos were teams 70 (Sophos Eng - Pareem, Tomek, Rich, Mike, Ian and myself) and 118 (Sophos ELIT - Boris, Stuart, Pawel, Ross, Paul, Rhys)

Stage 1 was a night stage set around Stirling University, where you had to solve a jigsaw, by running to points that had the pieces, and then figuring out where each piece fitted in the jigsaw, however you weren't allowed to take a piece with you, so you had to sketch and remember the pieces, and as the pairs were separated, you only saw half of the pieces for each jigsaw. We (Team 70) did pretty well on this one, finishing in the higher part of the mid-table section

5 hours of sleep later...

Stage 2 was a gruelling, 6 hour physical challenge, themed after James Bond, you did "missions" going from a start point to an end point, but there were certain points you had to visit in the process. The first 3 hours were on foot only, but the second 3 hours we were allowed to use the bikes. We were doing pretty well, until we underestimated the time to return to base and got some penalty points for getting back 11 minutes late...

Stage 3 was a night engineering stage, where we had to build a chariot that gets around a track, or optionally one that holds two people and fires limes at targets. Our original plan was to build a two man, but the wood snapped during test, and with about an hour to go, we scrapped that design and came up with something much simpler that only held one person (and even then, only just - it was basically a stick connected to some wheels, with a handle to hold on to) to complete the stage. Somehow, we did it with the second design without the chariot passenger falling off and finished respectably mid-table again.

4 hours of sleep later (they loved to sleep deprive us) we had another challenge, a biking stage where we had to reach certain points which represented mountain summits, getting bonuses for getting all the points on a mountain range - the gotcha here being that the peaks had "fair weather windows", and if you arrived at a point outside of those windows it wouldn't count. Despite a very valiant effort, we missed the window for one of the peaks by 2 seconds, which meant we missed out on a 30 minute bonus, so the stage didn't go as well as it should have done.

The second challenge of the day was a canoeing challenge on a Loch, which involved 4 people in a boat, 2 paddling between points and 2 working on a spot the difference type puzzle, making notes about the pictures and the differences between them, getting a different picture at every point. Answer sheets only became available 85 minutes into the stage, and our amazing paddlers (Tomek and Ian) got us difference spotters (Pareem and myself) back to the answer sheet point just as the 10 second countdown for the sheets to become available started, after visiting every point on the Loch. We did very well on this stage, getting 36 of the 55 differences onto the answer sheet, and also a good bonus for our speedy finish.

In the evening, Steve Munford and Andy Bradshaw arrived for teams 70 and 118 respectively. Last year, on the third night there was a mental challenge, so our more physical guys were expecting a good nights sleep whilst the guys whose strengths were with the intelligence puzzles would go out, however, these hopes were to be dashed when at 8.45, we found out there was a night biking stage, leaving at 9. With hardly any time to plan, the physical guys headed out leaving the less physical people to get the good nights sleep (which was good, as both of us had done all the other night stages).

Stage 7 was a highly tactical stage, with some physical activities, but not as physical as the other ones (running from point to point). The exec for each team was due to strategise for the team (there was a lot of things to consider to get something that closely resembled an optimal strategy), however they could delegate this task, so Steve delegated this to me. However, the event organisers made a mistake that cost us dearly - at the stage start point, after collecting information from two of the points, you were then to return to the start for a number which was then taken to an "event point", so our guys went out with the first number and came back telling us it was wrong - the organisers must have shown us the wrong piece of paper with the number on. This threw the entire (carefully planned, I must add!) strategy, as well as costing us a lot of time. We then had to create a new strategy very quickly, however due to the speed the new strategy was planned at, we didn't double check it, so we ended up going to a wrong point, got another penalty (a whole 60 minutes of time added) and with the time lost, we also got another penalty for not completing the minimum number of events, sending us hurtling down the table and losing our lead over team 118.

However, there was only one event to go, and the organisers promised us that it would be "spectacular" due to being televised by Channel 4. It was basically a 1.5 mile run round the Loch at University of Stirling, followed by a climb up a mountain, ~6k on bike, and then ~3k on foot, and then ~5k downhill on foot to a finish point, with puzzles on the way that had to be solved, otherwise there's a greater penalty. With Tomek's knee out of action, and Steve's fresh legs (and also the fact he had to catch a plane to Columbus, which he couldn't miss - extra motivation to get him running, we thought ;) we sent Steve, Richard (who I'm sure is now regretting it - on Sunday his knee was twice the size it was at the start of the week), Ian and Mike up the hill whilst we waited at the bottom, so we could cross the finish line as a team. Our guys did exceptionally well, considering their sleep deprived, exhausted state - we achieved just over 2 hours (arriving back at 5.28, with Steve saying the very latest he could leave was 5.30, so we just made it!)

Then the bar opened, and we all made our way over for some much needed relaxation...

Overall, it was a fantastic experience, and I'd like to thank my team for being fantastic, the company as a whole for giving me the opportunity to take part, and of course, all of you guys who helped us raise £1800 for the NSPCC.

5/31/08 03:16 pm - Update!

I should update this because what was the other most recent thing on my blog is far too depressing...

Not really got much to say though!

5/7/08 10:37 pm - Why I'm not back in Oxford yet

So, my plan for the weekend hasn't exactly gone to plan. I was originally planning to come back to Oxford after visiting my parents on Tuesday, however circumstances quickly changed on Tuesday which meant that I didn't really feel as if I could go back.

Basically, what happened was, that on Tuesday my Mum was giving evidence (just to recap - in the trial against my Uncle for the murder of my Grandma, which started about 4 weeks ago) and she wanted me to come along.

Being in Oxford gave me a certain amount of escapism - a 200 mile cushion between me and Yorkshire, which completely evaporated when I was actually in Leeds Crown Court and then home with my parents. I don't have that any more, I'm having to deal with everything that's going on, and I can't do that in Oxford with my family and everything happening in Yorkshire. I have too much emotionally invested in the situation and my family to be a passive observer.

So that's why I've not returned to Oxford yet. My Mum's said that she wants me here and other members of my family think I should stay here, and I agree with them. Certainly on Tuesday it wouldn't have been safe for me to undertake a long-distance car journey considering the state I was in.

I went to the GP's today at my Dad's advice and got a sicknote for stress/anxiety. Which is weird, because I've never actually used a sicknote to get time off work, in fact I've only ever had 1 day ill off work in my life, even when I was diagnosed with mild depression after my Grandma died.

Anyway, I wanted to write about the trial too, but it's exhausting being there and it's been difficult enough to write this, so we'll see how I'm feeling tomorrow.
Powered by LiveJournal.com