Coding is like numeracy or literacy
In my last post I went off on one about how, as a journalist, the labour market is against me, the implication being that if I learnt to code I could become a developer — a market where the workers have the power.
But my brother who is teaching me to code thinks I should learn for a different reason. He thinks coding can help your everyday life and should be treated equally to being able to read or being able to count.
He’s not a cyborg, but he has set up loads of things in his life which are automated through coding.
So, the first learning project he set me was to think up something in my daily life which could be improved by coding.
There are loads of things at work. The kind of journalism I do — writing online news articles — has pretty repetitive tasks which a computer would probably do better.
Say a bomb explodes in a market. I first hear it on AFP news agency. But I have to get a second reference, so I look to see if Reuters have reported it too. Then I have to check the death toll and go with the lower of the two. Wouldn’t it be better to have a computer programme set up to tell me when two reputable sources have reported it and tell me the lower death toll.
But there is an issue with this-I get all this info on an in-house software and I don’t have an administrator password to access the command line.
So I dismissed this as my first project.
Here’s another idea from work. I have an inkling that a man has stolen public funds in an African country and laundered the money in the UK by buying lots of property. I tell my boss. I’m told I can’t be given the time needed to investigate this. But what if I set up a computer programme to cross reference the data sets on property ownership, shell companies etc to wittle it down to the properties this person owns. Then I could pitch the investigation to another department. Only I wouldn’t have access to a clean data set straight away. instead this job involves a lot of research on the person’s associates and access to these databases. So there would be a lot of research going on before I get to the programming part. And, as much as I want to do this story so badly, at the moment I am learning to code, not doing even more unpaid research than I currently do.
So I started looking at things in my private life. Twice a week I meet up with my Portuguese teacher on Skype. I’ve been learning Portuguese for four years but I am still struggling with verbs. Those verb conjugations are absolute killers. I can’t remember the rules and even if I could, that doesn’t work in the heat of conversation. I need to memorise each iteration. I’ve tried drilling, writing and rewriting. But this doesn’t work in conversation. You can’t sit there and say “I go, you go, he goes” in your head. You need to know instantaneously “they went”, not only by knowing what the others are.
What I need is a test on each iteration of a verb.
So I have an idea for something that will improve my life. Check.
The idea involves a data set which is easily available. Check.
I can start with a basic product and modify and modify. Check.
I’ve even thought up a name: conjugatr. That’s only half a joke.
At this stage I really should check to see if there is another product which does precisely what I want. I already use Duolingo and that covers all aspects of grammar so not what I’m looking for. Same for Babel.
The only verb-specific site I use, conjuga-me, doesn’t have any testing or gaming aspect.
I want to build this product so badly that I really don’t want to discover another one that does this.
I’m guessing I’m not alone in this foolishness?
So, even though I didn’t want to, I tentatively googled it and found a cool site called verb maps which just tries to help you remember patterns around verb conjugations.
But, like I said, I don’t need something to help me understand the patterns, I need something to help me memorise.
The nearest to what I want is a really lame verb test on Quiz Revolution.
Now, this is such a simple idea I bet it exists somewhere. But I want to learn to build it so badly that I don’t want to find one that already exists.
So I’ve gone ahead and I’ve started making it.
Here’s a first bit of code that works.

This is like the minimum of the minimum viable product.
The next stage, to get to minimum viable product is to store the conjutations and input them manually.
Typing each and every conjugation would be repetitive. My brother insists that coding is about eliminating repetition from your life. Which sounds pretty awesome.
So the stage after that is to scrape the conjugations from another database.
After that I have all sorts of ideas about how to select the test — so I would personally decide which verbs, tenses and subjects should appear more often and the frequency of each verb turning up in the test would be determined by how often you got that verb wrong. So, for example, we say “He said” a whole lot. So that turns up in the test quite a lot. And if you get it wrong, it will be repeated. But we don’t say “We would have counted” a lot so, while it will turn up in the test occasionally, if you get it wrong it won’t then continue to turn up loads, just a little. Perhaps the test will check whether you know “I count” after that as well.
And once that’s all built, I’ll be rich, right?
And when I’m rich I can do moonshots. My moonshot would be something that monitors your every conversation to detect when you are struggling with a verb and then incorporating that verb into your daily verb workout which is pushed onto your screen at times of idle thought, like when you’ve been on Facebook too long.