Friday, 12 September 2014

Riding for TechBikers

In a few days I'll be on the early EuroStar heading for Paris, as part of the 70-strong TechBikers team riding 200 miles back to London.  We're doing it in aid of Room To Read, an excellent charity that supports literacy and gender equality in education around the world.

Don't sponsor me for riding 200 miles.
Don't sponsor me for getting up super-early to be at St Pancras for the early train.
Sponsor me because people will learn to read as a direct result of your support.

We take it for granted that we can read and write; take a look at Room To Read's #DoNotReadThis for why it's important to provide that opportunity for the millions in the developing world who can't.

And here's a message that John Wood, the founder of Room To Read, recorded specially for our TechBikers team.



More about Room To Read

  • Room to Read envision a world in which all children can pursue a quality education, reach their full potential and contribute to their community and the world. To achieve this goal, they focus on literacy and gender equality in education. 
  • They work in collaboration with communities and local governments across Asia and Africa to develop literacy skills and a habit of reading among primary school children, and support girls to complete secondary school with the life skills they’ll need to succeed in school and beyond. 
  • Over 8 million children have benefitted from Room to Read’s programmes over the past ten years.

P.S. I have paid for my place on the trip, so your sponsorship money goes to Room To Read

Sunday, 13 April 2014

Casually dismissing innumeracy? It's unacceptable

Zoe Williams' article in yesterday's Guardian has wound me up.
There are an estimated 800,000 unfillable [coding] jobs in the EU.  Ah, you don't like numbers? Then you are going to find this story really difficult. 
How about I start this post by apologizing for the fact it has words. Would you prefer me to make my case with a few pictures?

It's pretty much a given in our society that you'll be able to read. (That's clearly a challenge for dyslexics, but that's a whole other topic). So why is it OK to be so casually dismissive of anything that requires even the most basic levels of numeracy?  People often talk as if being "bad at maths" is some sort of badge of honour, or an indicator of greater levels of creativity, sensitivity or imagination.

When you read the article it's actually positive about tech, and I think the Guardian's decision to describe Tech camp for kids as "terrifying" was supposed to be light-hearted. But come on - it's no more terrifying than a camp for, say, football or drama.

Want more people to fill those 800,000 jobs? You'll have to get more kids engaged with and enjoying maths, science and computing classes. And we have to stop giving cultural clues every five minutes that it's just fine to give up on anything numerical if you don't find it easy.

Sunday, 15 December 2013

What I want for Christmas

gift box
Picture by SalFalko on Flickr
It used to be so much easier to buy people presents.  There was always a book, an album or a movie that would be a winner.  And I'd usually have a good long wishlist of what is now called 'content' that would serve as a decent response to the ever-difficult question 'what would you like for Christmas?'

But now I don't want the physical CD - it's just a pain to rip.  I read books and magazines on my iPad, or listen to audiobooks. It's so much easier to rent a film than it is to clean a DVD to the point where our hypersensitive player will actually make it the whole way through the movie.  As well as the convenience of the electronic version, I actually prefer not having the physical clutter.

Giving content electronically is possible. But it feels pretty heartless to go and buy an iTunes voucher - it has all the charm of sticking a banknote or two in an envelope. Receiving a gift feels better if you think the person put some thought into what you'd like, and personally I'd far rather not know how much it cost. So I'm not a big fan of receiving vouchers*.

But I would like to be able to buy content in gift form, and send it electronically.  I should be able to pick the album or the title, maybe even a subscription to a magazine.  I should be able to set the date (even the time) that the recipient will get a notification that they've got a gift.  It should come with a little note from me, and let's recreate the element of surprise by having a nice little animation for 'unwrapping' the present.

Amazon, Apple and Google: feel free to take idea that idea on board as a gift from me!

* Actually that's not true. Send vouchers, I won't turn them down! But I always prefer to receive a gift for which I don't know the price.

Update: guess what you can now do in the iBooks store!

Thursday, 31 October 2013

Setting up a MySQL database for Django

Phil just wrote some new code and I want to make a small change.  It's in Django and has its own database, so I need to set up an equivalent database on my local machine. This should be basic stuff, but if you don't do it very often it's easy to waste a bunch of time on it. I wasn't able to find much in the way of help online, so I figured I'd document what I did here.

I've got MySQL installed, and I've got a virtualenv for the new project set up.
mysql
starts the MySQL command prompt and I figured the first thing I'd do is look at  an existing database for an existing project that's really very similar to what I'm trying to set up.  But wait, where is it?

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.00 sec)

I figured out that I needed to be using MySQL as the appropriate user. The username & password are the ones you have set up in your database config in the Django settings.py.
 mysql -u [username] -p 
Enter the password at the prompt. Now I'm using the appropriate user, I can see another database.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| [db_name]          |
| test               |
+--------------------+
3 rows in set (0.00 sec)
That looks good.  Sadly, it turned out that this user doesn't have permissions to create a database.  Try again as root. 
mysql -u root -p 
mysql> create database [dbname];
mysql> grant all privileges on [dbname].* to [username]@localhost; 
Now I can see the database when I'm using MySQL as the desired user.  I need to get the database set up in line with the Django project.
python manage.py syncdb
python manage.py migrate 
And we're there!