Posted by Ben | 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!
Posted by Ben | 4 comments
Changes in 2013
In my 2012 redux I said that this year will be different from 2012. Now that it’s been organised, agreed on and shared with my team I can finally let the cat out of the bag! I’m going to spend less time at work this year so that I can spend more time on the projects and activities I have a personal passion for
Starting March 1 I’ll not be going in to work on Fridays. I’ve had this plan for a long time, but it conflicted with my desire to travel and do missions work, so I had to be sure I was staying in Wellington for the year before I could commit to it.
What has surprised me the most is how much support I’ve had from work and my client when I’ve told them my plans. Everyone has been supportive and interested in my plans, even a bit envious that I’m able to do this at all. Now is a good time for me to do this – I’m single, I have a stable income and projects that I want to put more time into, more on those soon. I’ve known for a long time that money won’t make me happy so I’m not chasing it. I work in a company that believes in Open Source, with smart, funny people who enjoy life and clients who have big goals and visions of the future. I’m looking to draw on all of these examples in my own projects.
This privilege means I need to make the most of the time I’ll have – this won’t be a day to relax, it’ll be a day of work. I’m looking at a few areas to spend my time on: projects, bible study & prayer, time with others, exercise, chores and eventually volunteering. I’m going to wait at least three months before I think about volunteering because I want to be able to make the commitment and stick to it, not try for a while and then decide I’m overcommitted and stop. Bible study, prayer and exercise are all important things I should be doing more of, they’re actually more important than the project work I have planned and more beneficial long term.
I’m under no illusions – the Web moves so quickly that anything I create will only be useful for a limited time, but that’s fine, these projects are something I have a passion for:
Sentinel – watching over your websites
Web developers like myself have a specific skill set that’s in demand in many places. It seems that every organisation needs a website, then a blog. New projects need their own space online so they make a new site. To make this as easy as possible you can download a system that someone else has made for making websites and install that. These systems are usually called Content Management Systems and many of them are Open Source, making them free to download and use. WordPress, Drupal and Joomla are all ways to make a website or blog. Other more specialised systems are Moodle for online teaching and Mahara for your online portfolio. You can mix and match these systems and before you know it you have them all installed and then you have a maintenance problem.
All of these projects have had security issues in the past and will do in the future. Much like a car, websites need to be maintained, but unlike a car, there’s no legal requirement to do that and people forget, move on or have a hard time justifying the time. The cost of not keeping sites up to date can be the loss of your data or your site can be used to attack your visitors. I saw this in YWAM Kona, a large base with a small IT team that has a mix of long and short term volunteers and a large number of independent organisations under one roof. This situation is a problem and there’s no good Open Source tool available for this kind of monitoring. There should be.
A screenshot of “WordPress status dashboard” – another effort to fix this problem for WordPress sites
Based on similar concepts to the Archimedes project we use at work to monitor websites I plan to write a website that gives you a dashboard of your websites and tells you which ones need updating. I’ll be writing plugins for WordPress, Drupal and Joomla to start with and expanding to other systems as I have time. This project will be Open Source and free to download on Github. Others can also contribute to it and help make it better. I’ll be using PHP as the language because that’s what the other systems use, making it easier to pick up and install. I’m going back to the drawing board with the code too, swapping out Drupal for a framework, possibly Symfony.
Base Server – Low cost electronic learning server
The Internet is a wonderful thing when you have it. It enables so many things, including electronic learning. In 2010 I had the privilege of visiting the Philippines. I spent time on YWAM bases and all of them offered training to the people. YWAM isn’t unique in this, people all over the world are looking to learn new skills and the Internet can help them get there, but it can be expensive, intermittent, overloaded or just not there – how do we answer that?
Believe it or not, this is a proper computer – just plug in a monitor, keyboard and mouse
In the past year there have been a number of small but powerful for their size computers available for sale for around $50. The most well known is the Raspberry Pi and I’ve also recently received a cubieboard for testing and I have a third “TV Stick” PC on the way. My plan is to work with these credit card size computers and make them into a website in your pocket using Linux. They will run Moodle, an Open Source online learning system and can be pre-loaded with courses before they’re sent overseas, plugged in and left to run. I’d love to get these servers connected to the Internet when possible so they can be updated and courses can be shared around the world. It’s a big ask, but for this year I’ll be happy if I can get one system working fast enough to send away. I plan to use puppet to remotely manage these systems where possible.
Cancel That Card
It’s important to keep the details of your credit or debit card safe, especially on the Internet. Unfortunately with the rise of personalised credit cards people are taking photos and putting them on Twitter for anyone to see. My belief is that if they knew their card was at risk they wouldn’t post the photo, the most common defense I see is that the “Security code / CVV” on the back of the card is needed to use it, this is not true and cards can be used without that code.
A credit card posted online, edited by me to block out the numbers, name and expiry
I have registered a twitter account that will automatically tweet people who post photos of their cards, linking to a page explaining the risk involved – hopefully people will cancel their card before it’s used. I haven’t decided which technology to use for this yet, but I think it’s a good opportunity to try my hand at python.
Ambitious
This is an ambitious set of goals to set for myself this year. I don’t expect to fully achieve all of them on my own, but I have a target to aim for and that’s more important. Even if I don’t make it, I want to look back on 2013 and be happy with what I will achieve and look forward to the next year!
“We cannot do everything, and there is a sense of liberation in realizing this. This enables us to do something, and to do it very well. It may be incomplete, but it is a beginning, a step along the way, an opportunity for the Lord’s grace to enter and do the rest.”
Bishop Ken Untener of Saginaw
I want to talk to you about this
Projects like this require many different people to be successful. A web developer in New Zealand isn’t enough and a community is far more capable than an individual. I want to ask you if you’d like to get involved with any of these projects in any way? If you have suggestions and ideas for hardware to try, software that I’ve missed that makes Sentinel unnecessary or just something I didn’t make clear, leave a comment, send me an email or tweet @serenecloud. This early in I’m still working out the details of each project so your feedback will really help me out.
Posted by Ben | 0 comments
Sydney in 4 days
Last year I made my first ever trip to Australia. I’ve travelled to a few places yet I’d never taken the time to visit our closest neighbour and say G’day, despite it being so close and cheap to fly. After visiting I can certainly see the appeal, but I didn’t visit Sydney to see the city, I went to see Matt & Jenna (and Nathan), Sam and Jess & Sheldon – friends who have sadly left NZ and taken up various jobs in the most populated city in Australia[1].
Matt & Jenna had been offering to host me since they moved over and I couldn’t pass up the opportunity. I got a cheap ticket by using Wenza and decided to take on the 7kg challenge[2] and only travel with a carry on bag. I sacrificed my laptop but I had everything I needed plus some room to take over kiwi snacks. Unfortunately, a 7am flight meant a 5am check in, so I was very tired.
Day 1
I was picked up at Sydney airport by Matt & Jenna, got a Vodafone SIM for the time I’d be there and went back to their place. After planning out our itinerary for the next couple of days I promptly crashed and slept for a couple of hours. When I came back to feeling human there were sandwiches waiting for me in the kitchen. This was just the start of how well I was looked after on this trip, Matt & Jenna’s hospitality is second to none. After eating we headed out into the city.
We visited Chinatown.
Saw the fireworks.
And took in a show.
Day 2
We visited Paddy’s Market.
We got this close to being in a submarine, but it was closed for the day.
Not all was lost. I found Sam and he found beer.
Then we saw Batman in IMAX – way better than any 3D I’ve seen.
Day 3
We took the ferry from Manly to Circular Quay.
I posed like the tourist I was on the Harbour bridge.
We saw a plane that had been cut up and sent by postal mail to the US and back.
We tried out Matt’s camera remote to great success.
And before the delicious steak BBQ in the evening, we even managed to see this view.
Day 4
We visited the zoo and saw animals that entertained.
Animals that took my money.
Animals I’m glad NZ doesn’t have.
Animals that were very cute.
And we worked on Kiwi[3] & Aussie relations.
We packed heaps into the 4 days and I enjoyed myself so much I know I’ll be back. I have way too many photos and memories for a single blog post, but I’ll leave you with these suggestions:
- Travel light: Carry less weight, pay less to check a bag, spend less time packing and waiting for bags
- Stay with friends: Not only do you get to see your friends, you also get a place to sleep
- Plan rest: Don’t exhaust yourself trying to do everything on your list, it’ll keep
- Pick the cooler months: Sydney can get incredibly hot and uncomfortable for exploring if you go in the middle of summer
- Be sure to see: Darling Harbour, Chinatown, Maritime Museum, “The Local” bar (and get a tasting paddle) and the Museum of Contemporary Art
Footnotes
[1] To give that a bit of perspective, the population of New Zealand is roughly the same size as the population of Sydney (including suburbs).
[2] My backpack weighed in at 6.7kg (the scale wasn’t calibrated properly) but because you can also take a “small personal item such as a handbag” in addition to your 7kg allowance my SLR camera and bag travel too.
[3] Kiwi is my travelling companion, he has visited Hawaii, Philippines and Australia with me, sneaking into photos along the way.
2012 redux
It’s the first days of 2013 and I can’t decide what kind of year I had in 2012. Were it not for this past week of holiday I’d leave 2012 feeling exhausted and run down. However, with time to dwell on the year, moments taken where I didn’t think “I need to do X” remind me of all I’ve been blessed with this year. I do feel it ending on a good note.
I started 2012 in Shanghai, in a taxi cab trying to get to the Bund to see the new year fireworks. I saw Shanghai in a new way, saw real ice castles, terracotta warriors and Hong Kong. I attended a few weddings, including my best friend’s. I went to Parachute Festival, the best weekend event of my year. I saw Chinese fireworks on the waterfront, Jenn Lim and Tony Hsieh speak about happiness at Webstock 2012 and got sick of taking photos (but got back into it later). With the help of others I ran a PC fix up day for the community. I attended my first ANZAC day dawn service saw P.O.D play live in Wellington and started a new yoga class on Thursday lunchtimes. I spent a lot of time rewriting and tweaking the NZ Post Address & Postcode Finder. I saw friends leave for Australia and Christchurch, renewed my passport, did a SCUBA diving course and got my open water dive card. I flew to Auckland for OWASP Day, gave two Backbone.js training courses and introduced NERF guns to the office
. I made new friends in my church and others, visited friends in Australia for the first time, made my second book (wedding gift), and did camera operating for Porirua Christmas in the Park. I kept in contact with friends overseas for the whole year!
I accepted that I wasn’t going back to Hawaii in a great rush and struggled to find something to fill the gap, but not very successfully. I ended up drifting away from the Standby Task Force Tech Team. I spent less time in prayer and bible reading than I should have. I lost focus on why I was doing things, asking “what’s the point” rather than “what’s the purpose”? I poured time away on Facebook instead of putting it to use. I worried what others thought of me. I thought of lots of cool stuff to do, but didn’t do it. I remembered my own failures and forgot my successes. I made 2012 harder than it needed to be.
2013 will be different. This year I’ll be asking “what’s the purpose?” when I do something. I’ll rant less and fix more. I’ll have an “awesome jar”. I’ll worry less, pray more, seek God and make time for the things that matter by taking it away from the things that don’t.
Posted by Ben | 0 comments
Instapaper and some of my Likes
Instapaper is a website I regularly use to save web pages that I want to read when I have the time. I mostly use their app on my phone, which lets me read articles on the train.
There are plenty of other options out there, the main one I’ve heard about is Pocket. This isn’t a review of either, but if you find yourself half reading articles at work or keeping lots of browser tabs open that you don’t ever get to, you may want to consider one of these.
The purpose of using this app is so that I can read more articles, which I have. Here are a few of the ones I’ve read that I thought important enough to mark for easy reference:
I Was a Warehouse Wage Slave | Mother Jones
A reporter goes undercover and works in a warehouse for an online store in the USA. Her story has given me a better appreciation for the conditions people work in to provide me with gadgets that I order online. I can’t fix this issue by myself, even buying from a local supplier can involve this kind of distribution chain, but I have noticed that DX.com has opened in Australia and for a little more you can buy products from there. Minimum wage in Australia is AUD15.96/hour, (USD16.46), minimum wage in Hong Kong is HKD28 (USD3.61).
mnmlist: being OK with things as they are
We constantly strive for perfection, but what if we took a second look at all the things we want to change and see if we could accept them? Wouldn’t we be happier with what we have and have more time to change the important things?
This hasn’t been an instant thing, but a big part of it for me has been identifying and letting go of “First world problems” like my coffee not being warm enough, my phone not being fast enough or missing a TV show I wanted to see. Flip that around and I have a delicious coffee that I made for free on the work coffee machine, I have a phone that can surf the net, play games, music and videos as well as make calls, and I can watch TV from a comfy couch in a warm, water tight house. I have friends who don’t have clean running water or smartphones, but they still love life, why shouldn’t I?
Are you an asker or a guesser?
This one was a big one for me, I won’t even try to condense it down, have a read of this excerpt:
In Ask culture, people grow up believing they can ask for anything – a favour, a pay rise– fully realising the answer may be no. In Guess culture, by contrast, you avoid “putting a request into words unless you’re pretty sure the answer will be yes… A key skill is putting out delicate feelers. If you do this with enough subtlety, you won’t have to make the request directly; you’ll get an offer.
As a guesser, this article challenged me to say no when I need to and realise that Askers are genuinely (perhaps cheekily) enquiring, aware that the answer could be a no.
The Blind Shooting The Blind
This one genuinely caught me by surprise. I’ve seen blind people use computers, I know that apps with text can read to them but I would never have guessed that the iPhone Camera app could talk to a blind person and help them take a perfect photo. Apple have set the benchmark, is your app accessible?
What have you been reading recently?






















