Chris Worfolk's Blog


Social Media: For Good or Ill

January 19th, 2012 | Events, Humanism, Tech, Thoughts

This month at the Humanist Society of West Yorkshire, Simon Duncan presented a talk on social media – what it is and whether it is a good thing or not. Of course, the answer is yes.

Social media brings us huge benefits, at relatively little cost – and indeed almost no monetary cost, as sites like Facebook are all free. Unfortunately, it tends to take a bad wrap because of people not really thinking their arguments through. You can blame the media a little for this, but I don’t think they shoulder that much responsibility.

Take cyber bullying for example. It’s ace. Kids are going to bully other kids anyway, that is just part of society, at least at the moment. But with cyber bullying – you have a full paper trail of everything that has gone on! If social media has made the bullying situation worse for anyone, it’s the bullies! You can now just take your text messages straight to the school, or even the police. None of this complicated business of having to prove what they said with witnesses.

According to Simon, studies have also shown that using social media actually increases real world interaction. That’s certainly true of me – the main reason I use Facebook is to organise real world events with my friends. As well as plenty of other uses of course, such as keeping in touch with friends I otherwise couldn’t keep in touch with affectively because they’re in a different timezone in a different part of the world.

Other fears include issues like privacy and targetted advertising. Perhaps this has been a problem in the past, but with increased awareness of the situation, companies are now putting in place the tools to effectively manage your privacy and you can quickly and instantly lock down your profile, most of which is restricted to approved friends only anyway. This is arguably far more secure than the records the government has for example, which will probably end up on a USB stick left on a public train.

Targeting advertising is actually a massive benefit to us – because more effective advertising means less advertising. If companies can reach their target audience more effectively, they need to reach less people, so they spend less on blanket advertising. This is evident from the reduction of advertising – remember all the big flashing banners and pop-ups that plagued the internet – most of those have now given way to these small text links on Google and Facebook, and the web is much the better for it.

PDO database layer

January 18th, 2012 | Tech

If you’re not using PDO in your PHP projects yet, you should be.

I finally got round to taking a proper look at it recently, and I’m really impressed. I managed to convert an entire open source project to it in under two hours! Granted, I was helped a lot by the fact that the PDO naming conventions luckily match up with the naming conventions I used in my original data access layer, but still, it was smoother than I expected.

PDO has some great advantages too:

1. It’s cross platform, so you can use it on a number of different database platforms including MySQL, MSSQL, Oracle, Postgres, SQLite and many others! All you do is enter the protocol and login details to the connection and it handles everything else.

2. It has prepared queries so you never need to escape anything again! You simple pass it some SQL with a series of question marks in, and an array of values those question marks represent and all the SQL injection negation is taken care for you.

3. If something goes wrong, it throws an exception rather than producing an error message.

4. It’s easy to extend, to add your own functionality. Just use Class MyPDO extends PDO and you can add extra functionality on top of it.

All in all, it’s a great addition to PHP and one I now wish I had gotten to sooner.

Profiling SQL queries with EXPLAIN

January 18th, 2012 | Life, Tech

If you have a complex SQL query, you might find that performance isn’t exactly ideal. Worse still, you don’t actually know which part of the query it is that is actually taking so long.

Luckily, MySQL comes to the rescue with the ability to explain.

All you have to do is start your query with the keyword EXPLAIN and MySQL will, rather than returning you a recordset of results, will instead provide a break down of everything it has done, including how it made the table joins and what order it did everything in.

EXPLAIN SELECT a INNER JOIN b ON a.col1 = b.col2 WHERE a.col1 > 1 AND b.col2 > 2;

New Year’s Eve 2011

January 17th, 2012 | Events, Life

New Years Eve

New Year’s Eve has a lot to live up to. That is why when choosing your NYE party destination, you need to pick somewhere with a proven track record of throwing a good time. Having had amazing parties in 2010, 2009 2008, it was no wonder that 25 people all chose to welcome in the new year at our apartment. We’re proud to say that we did not disappoint!

Virgin Active

January 16th, 2012 | Life

Recently, we’ve been trailing round different health clubs to find a good one and finally made it to Virgin Active, previously Esporta, located in The Light.

It has the advantage of being an over 18s only gym, which is great, and the facilities are very nice too. The only issue was that they treat their pool water with something different to any other pool I’ve ever been in, which resulted in Elina feeling like she was going to be sick every time she accidentally tasted any of it.

They do have two hot tubs though and if there is one thing I appreciate – it’s a redundancy-based service continuation solution.

In praise of Leeds City Council

January 15th, 2012 | Life, Religion & Politics

Our office car park is located down a side road in Headingley. This makes it difficult to pull out to head into town on an evening as the amount of cars going away from town down Otley Road quickly pile up at the traffic lights.

This shouldn’t be a problem, if people were considerate enough not to stop right across the junction and instead leave a space for those of us that are turning right into the far lane, but often people don’t – sometimes people just block the junction, usually people in Audis (the new car of choice for your garden-variety wanker).

So, on the first of November I wrote to Leeds City Council highways department, asking them to paint a keep clear sign on the road so that people to remind people that occasionally, just occasionally, other people like to use the road as well.

They prompted responded to me saying they would need to investigate and said they would respond by 22 November. They didn’t quite make this, but after a chaser email they responded to me on the 19 December, stating they agreed it was a problem and that they would arrange for a keep clear sign to be placed on the road!

I’m very pleased with the outcome. It might not be world peace, but it just goes to show you that you can bring about change for the better, with a relatively small amount of effort.

Parking

January 14th, 2012 | Photos

Parking

Audi drivers really are the new BMW drivers. There is a parking space literally just off camera to the right (opposite the curb you see behind you), but this guy chooses to park on double yellow lines while he stops for lunch at the same cafe I was grabbing a sandwich from.

Gingerbread house

January 13th, 2012 | Life

To make Christmas feel a bit more like Finland, Elina and I made a ginger bread house.

Ginger Bread House

Spirit Health Club

January 12th, 2012 | Life

As part of working out what gym we wanted to join, myself and Elina headed down to the Crowne Plaza Hotel to check out their Spirit Health Club.

It was pretty disappointing. The cool was 15m in length, which is shorter than The Marriot, and it had kids in as well. Most annoying, was the depth – which went down to one mentre at one end which made it almost impossible to swim properly.

Other than that, it was perfectly nice, but not quite up to standard with the other places we’ve tried.

Speeding up inserts with INSERT DELAYED

January 12th, 2012 | Life, Tech

If your insert statements are not time critical, you can use insert delayed in your SQL to speed things up. The syntax is as follows.

INSERT DELAYED table (col1, col2) VALUES ('a', 'b');

Insert delayed can be used with MyISAM and Memory, but cannot be used with InnoDB.

The advantage of using insert delayed is that the MySQL server returns a success message straight away so the script can keep going, without it actually having to do the insert. This allows the MySQL server to carry it out when it isn’t busy, and do several at the same time.

It’s appropriate for tables such as logs tables where it doesn’t matter too much if they don’t go in straight away.