Apr 5, 2013

Posted by | 3 comments

I wrote some code

The following is the starting point for a talk that I hope to eventually give at a meetup or two in Wellington. I’ve modified it to fit better in a blog format. I’m interested to hear your feedback on it.

A weekend

I want to tell you about a weekend I sat down and wrote some code, but before I get to there, let me tell you a little bit about me. My accent is a blend of English, Kiwi and American. I’m a geek in many ways and in 2010 I spent 3 months volunteering in Philippines, working with prostitute rescue ministries, and 3 months in Hawai’i, giving IT training and doing web development, but none of that is terribly relevant, because this isn’t about me, it’s about you.

Everything you do has an impact on the people around you. When you include the Internet, what you do can impact a lot of people. If I wanted you to leave here with one take away, it’s that you have the potential to improve the lives of a lot of people.

Everything starts small. Google started out in a garage, so did Apple. Overnight successes don’t just happen, they start as small efforts and eventually get noticed. Trace the history of successful people or companies and you’ll also find the failures that paved the way, so don’t expect to change the world overnight with a terminal, your favourite text editor and 15 cans of Red Bull.

But everything starts small and my small project took two afternoons of my weekend and a Monday evening. I wrote a twitter bot, let me tell you why.

Last year I came across a twitter bot called @NeedADebitCard which retweets photos of debit and credit cards that people have put on Twitter or Instagram. Some of you may have seen this already but for some it’s the first time. You’re right to ask “why would they do that?” I did too. I followed the bot, it became a personal reminder that people don’t understand security. I’ve never been interested in doing anything with the card numbers, but that doesn’t mean others have been so well behaved.

The main type of cards being photographed are most certainly personalised cards. Generally from Chase in the USA and Barclays in England. Many are brand new debit cards and don’t have much money on them.

It’s tempting to think “they shouldn’t be that stupid, this will teach them a lesson they deserve” but after a while I came to another conclusion – these people don’t realise just how silly they’ve been. This isn’t a case of stupidity, it’s poor education.

This change of viewpoint was very powerful – I stopped putting blame on the people posting the photos and started asking “how much education is available about the risk of credit card numbers?” my conclusion: not nearly enough. At this point I could have started blaming credit card companies, banks, Instagram, camera manufacturers, you name it.

But I have the Internet and with the Internet I can impact a lot of people. I know how silly it is to share a credit card number online and I can make a website that tells others about it. I made this one step simpler and did the absolute bare minimum – I added a page to my blog instead. It explains the danger of what they had done and urging them to cancel that card. I was feeling imaginative that day so I named it Cancel That Card. I registered a twitter account called @CancelThatCard and decided this was a great time to learn a new programming language and I’ve always wanted to do something in Python, so I did.

The end result is 72 lines of truly awful python code that follows the @NeedADebitCard account, sees when it retweets a photo and then tweets to the person who took it, suggesting they cancel that card. There are no smarts, no image recognition, no dedicated website, just a page with useful info and a bot that links people to it and that’s enough.

I set this running on my server and since then I’ve only made slight tweaks. Because it just keeps on running without my intervention I can go on holiday knowing that people are still getting warned about posting their photos. What I’ve done has not been difficult for me and I know many people who could have done it better than I have, but none of that matters.

I didn’t know how well this project would be received. 200+ tweets later I’ve had mostly positive feedback, some minor trolling and some interesting conversations with people who posted their cards and it all makes me want to keep going and improve what I’ve got so far.


Now I said this isn’t about me, it’s about you and I meant it. I have my project to work on, do you have yours? It doesn’t have to be geeky, it doesn’t have to use the Internet, it just needs to make a positive impact on the people around you. Maybe like me you’ve had something you’ve meant to get to for a while – start this weekend, book time in your calendar, sacrifice an evening of TV and get cracking.

I advocate for online because I’ve seen how far projects can spread and connect with people but the Internet can’t give you a hug and sometimes that’s the best thing you can do. Play to your strengths and go for something you’re good at.

Geeks are the ones with the power in the online world, but we’re limited by our desire to do the job perfectly. Ignore that, it stops you doing something good and you’re too busy to put the time into make it great. If the impact your work has is positive then be willing to write quick and dirty code to get there. While the bad code is helping people you can write good code – the end result is more people helped.

Now, pick your project and go make the world a bit better!