Our second baby arrived last week. Here she is. Our new baby girl!
It was a planned C-section, and all went to plan, in contrast to the unexpected twists and turns of our boy’s birth which I blogged about four years ago. She seems partial to sleeping, sometimes for six/seven hours straight, and the breastfeeding is proving to be less stressful this time. Some of the same problems as last time, but this time we know what to look out for, and what we wanted to avoid!
A second child is an important milestone in my life. My chosen mate and I have now successfully spawned offspring in sufficient numbers to replace ourselves and project forth our genetics to a new generation. I do feel like a successful organism now.
But we humans have long lifespans, and we rear our young for several years before they are ready to face the world on their own. I can confirm that even my older offspring, now facing his fourth winter, still requires food and shelter supplied by me, although he has a heightened sense of foraging where chocolate is concerned. By convention (for we are socially advanced creatures with widespread social groupings and strong social conventions) I understand we normally rear our young for over a decade. Eugh! So I definitely can’t declare myself a completely successful organism yet.
But worse, we humans are an advanced intelligent species, capable of not just of globe-spanning social interaction, but of contemplating the overall health and ongoing survival of our species within its environment. We can project population growth and demands on resources, and when we do, we see that humans are on course to overpopulate, exhausting our resources, and polluting our environment. As an intelligent organism, perhaps by reproducing I have failed after all.
But we are a highly intelligent inventive and increasingly technological species. We might find ways to collectively solve the environmental threats we face, and/or we might build a sustainable community on another planet as an insurance policy for the survival of our species. We might, but no guarantees we’ll achieve this in time. We should try.
And by “we” I mean my offspring. Astronaut training begins today! Here she is trying on the jetpack in our mini neutral buoyancy pool:
It’s an event I’ve been hoping to get along to for years now. Always lots of interesting looking twitter chat coming out of it. But this year it happened in London, and I managed to be on the ball getting a (free) ticket before they sold out.
I hadn’t particularly realised it’s the “unconference” format. It reminded me of the London “wherecamp” events I was involved in once upon time, although OpenDataCamp is even more unconferency. I mean the sessions were all very conversational. Didn’t see anyone with prepared slides, and often heard less from the session leader than from other people chiming in.
It was also different from wherecamp because there was a “pitching” session at the beginning to establish all the ideas. Those were then written up as a very busy schedule with four/five parallel tracks! Here’s all the sessions listed. In fact that has links on to more notes on each of the sessions too. Here’s the session choices I made:
“Bad data” – Discussing the precision of library visitor stats. I gave the example of bad data in company registries!
“Quantifying value of open data” – How to measure/justify the value of open data by tracking usage. The great unsolvable problem.
“Sorting out configuration so we can do cool things” – Really boiling down to: software can be hard to install and get working. Another great unsolvable problem.
“What is non-commercial?” – Or does non-commercial really count as Open Data, or what other ways are there to avoid giving away all your value? As applied to the NHS!
“Open Procurement data for less carbon” – Influencing contract and procurement processes to (be more open and) reduce carbon emissions
“Joy Diversion” – An Open Data Manchester idea which I was always curious about. Walk round the block looking out for joyful serdipidousness. Quite fun. Quite similar to OpenStreetMap mapping (not as good!)
“OpenStreetMap” – My Session! I tried to introduce OpenStreetMap editing and using. Mentioning tags quickly led to questions and conversational diversions (as documented in the session notes) That made for an interesting different way of presenting it!
“Learning from our data mistakes / Open data horror stories” – People confessing failed attempts to open data, or opening data leading to other problems.
Some of the discussions gave me a strong sense of deja vu. We’re still collectively bashing our head against some problems of open data which feel unsolvable (not that I didn’t enjoy discussing them anyway!).
I also enjoyed bringing some OpenStreetMap (hobby) and OpenCorporates (day job) perspectives to discussions. I just realised I have over a decade of open data experience in both hobby/volunteering with OpenStreetMap and in my career spanning CloudMade, TransportAPI and OpenCorporates now, but I don’t always think of these things in abstract open data terms. My overriding impression of Open Data Camp was an enjoyable feeling of being among open data people again!
Last week’s Question Time introduced one of the panelists, Kate Andrews from the “Institute of Economic Affairs“. What an organisation name! It sounds so official. So governmental. So trustworthy
…yeah not so much.
The name sounded familiar to me from some recent reading on dodgy think tank funding transparency. It prompted me to look up their rankings on transparify.org:
I’ve improved this image from one found on the transparify blog. You can read much more about how and why transparify have ranked the think tanks on the website. Transparify have zoomed in on the issue of funding transparency because it’s important. If we are to have these “think tank” organisations dedicating themselves to swaying public opinion one way or another, then isn’t it important to know who is paying them to do it?
Well maybe it depends how influential they are. It occurs to me that “think tanks” exist as part of a fuzzily defined spectrum. An individual can set up a wordpress site and start pumping out blogs and social media posts pushing their political viewpoint. That’s a wonderfully easy thing to do, and I’m glad. But then if you name this website “Institute of X” and pretend to be an organisation not an individual, then you’re well on the way to being a “think tank”. If some wealthy backer wants to pay you to hire a team, and work on pumping the messages full time, then that is a think tank. It’s a natural progression to this situation where it feels like there’s a cost-effective way for wealthy individuals or organisations to buy influence over our politics.
But it’s OK. The key remaining barrier is whether we all grant them acceptance and influence (and whether mainstream media do e.g. by inviting them to be panelist on BBC Question Time!). We should be rejecting organisations who fail to disclose exactly what they are, who they are, and who they are funded by. If we don’t know who is paying the salary of Kate Andrews from the “Institute of Economic Affairs”, isn’t it rather sinister that she has been able to gain such a platform?
If you saw the show then you may remain unconvinced, after all Kate Andrews was talking a lot of sense on there right? She’s intelligent, charismatic, and persuasive. I was finding myself agreeing with her even as I was surfing around the transparify website! I was waiting for her to drop a right-wing free-market help-the-rich-get-richer bombshell. She talked on a lot of topics without touching on this, and when it came it was so subtly slipped in at the end of a debate on climate change, that it passed without any cross-examination.
Maybe that’s just good politics. Don’t try to ram your message down people’s throats. Say things that people agree with, and slip your message in. But I suspect that kind of obfuscation game is a think tank speciality. A while ago I followed a tweet to humanprogress.org, and it’s bothered me ever since, because again I found myself agreeing with so much of it. I enjoyed these optimistic pro-science articles, but look out! Slipped in there you’ll find various dubious messages: “inequality doesn’t matter”, “deforestation isn’t happening”, “fossil fuels are the best energy source”, “be happy with your menial existence and help us get richer”. OK I made that last one up, but the others are all messages in articles on that site, all cunningly tucked between other more enjoyable (and more correct) writing. humanprogress.org is one of many sub-brands of content pumped out by the American right wing think tank with wealthy backers: Cato Institute.
But I guess that’s just dodgy politics as usual, and I’m criticising Cato Institute based on my own political views. I’m quite happy to do so, but to be fair, they do OK on financial transparency. Middling score from transparify.
What transparify do so well is to focus on just that one aspect of think tanks, financial transparency, in a non-partisan very objectively measured manner. It’s possible to do so, and while it won’t solve all the problems with dodgy think tank politics, it is a great starting point for penetrating the sinister goings on behind these organisations. It should be a clear “untrustworthy” red flag if organisations regardless of political flavour, are failing to disclose details of who is backing them financially.
Which dodgy characters will the BBC be inviting onto Question Time tonight I wonder?
When we talk about “learning to count”, there’s actually a couple of quite different skills. Speaking the numbers out loud in sequence “One… two… three” … our lad has been good at this for over a year now, but recently I’ve been trying to get him to look at a set of objects and tell me how many there are. Not the same kind of “learning to count”.
So far he’s quite bad at this. It seems like one type of counting skill should help with the other, but sometimes I’ll point and say “how many?” and he’ll just wave his finger at the objects while counting to ten very quickly. Almost like he’s too good at the other skill, he’s not getting the idea of counting objects!
Naturally my solution to these things is to spend hours coding something. Here it is on github. It needs a bit more work. In particular this is no use at all on mobile at the moment (or tablet). You need a keyboard to press the number keys. This and a few other issues listed here.
Oh and thanks to various people for the open licensed images (credited on page), and thanks to wikimedia commons for helpfully naming them “x white backgound”.
My talk was an introduction to OpenStreetMap, which is something I haven’t done in a while. And I also went into more detail on the different ways of contributing, from complicated things like JOSM, right down to the very simple OpenStreetMap Notes.
Space4 is a new funky little tech hub place, of which London has many, but exciting for me because it’s half a mile from where I live! It’s nice to see Finsbury Park attaining this badge of trendiness, but also it’s super convenient. I can even cheekily duck out of family commitments to attend an event for an hour as I did on this occasion, although it was I shame I didn’t get to stick around and chat to anyone. I did get to answer questions, and it seemed like an interesting audience. I’ll have to try make it along to more events there, perhaps more in this series titled “Mapping for Social and Political Change“.
I’m going to present my introduction to OpenStreetMap and then, in relation to the theme of this evening, I’ll run through some app and gamification ideas and other ways we try to encourage participation in this project.
My day job is another interesting open data initiative at a company called OpenCorporates, but that’s a whole other talk! I found this job via my interest in open data and OpenStreetMap actually, but for OpenStreetMap I’m just a spare-time volunteer.
And that’s typical actually. It’s a very volunteer driven initiative. There is a small company called the OpenStreetMap foundation, but there’s only one admin assistant employee. OpenStreetMap is a not-for-profit project with lots of passionate volunteers, although commercial use of the data is allowed, and a number of companies provide services around OpenStreetMap.
You only have to zoom in on the map and you’ll start to see that this is a bit different. Here’s where we are at space4. In many areas there’s this kind of very rich detailed data, but you can also get the sense, I think, that this is a very human-crafted map.
OpenStreetMap is a community of now over 1 million people who have made contributions to the map. It’s a “mass collaboration”, and engaging many people in participation has been the name of the game really.
I’m going to talk more about how we do this, but essentially a key aspect is making the map editing process (which is inherently quite complex) as simple as possible.
The project is called “Open”StreetMap, not just because it is open to edit, but because we release all the data openly licensed as raw vector data. I’ll explain that more, but I think when it comes to community engagement, a key motivator is simply seeing an updated map, taking in the changes people make, and showing a new improved map with a rapid turn-around.
Everything in OpenStreetMap is made up of “nodes” and “ways”. This is what I mean by “vector data”. And then attached this we have “tags”. These name=value pairs.
This is a simple data model, helping drive simplicity of the editors, but particularly with the tags, it’s also very flexible and it means you can put your own ideas into OpenStreetMap for things to be represented on the map. The tags are an interesting aspect of OpenStreetMap’s design which really makes editing simple and fun, even if it means the data is less tidy and usable than it might be. That’s a bias which OpenStreetMap has. A focus on simple fun contributing.
Of course one main use is to have a view of the map. But what kind of view? With access to raw geo-data we can create a customised “rendering” of our map view, choosing different types of data to emphasise and different ways of colouring and styling it.
So the raw geo-data flows out from this central OpenStreetMap database, out through an ecosystem of various tools and services which developers are providing and refining (often as open source), out to many many website and mobile apps.
If you’re not a techy developer yourself then this might not seem that exciting, but just think… by contributing to OpenStreetMap you’re not only making a view of a map on openstreetmap.org. The data flows out and gets used in a wonderful variety of different ways.
So I’m going to move on now to talk more about the different ways you can contribute to OpenStreetMap.
I thought I would start with the more complicated ways first, so don’t be put off. I hope to show you that you can contribute in very very simple ways too.
But this is the way I often edit OpenStreetMap. It’s a tool called JOSM. Here we see the photo mapping feature. There’s a photo I took of some shops near here, and little icon here shows roughly where I was when took this.
JOSM is a powerful editor, but actually even if you are just getting started with OpenStreetMap, if you don’t mind learning new software, I recommend diving in and giving JOSM a try, because ultimately it may give the most satisfying editing experience.
Most people though, will begin by trying the editor on the website. On openstreetmap.org if you click this “edit” button here, you can edit directly with this tool called “id”. No need to install anything.
This is simpler than JOSM, though still quite powerful. It’s easier to get started with.
Here’s how you can edit using a smartphone. An app called “Go Map!!” on iPhone and “Vespucci” on android.
These are simplified editing experiences for mobile, however both of these are what I would call “fully featured” OpenStreetMap editors because you can make edits to the “ways” as well as the “nodes” and “tags”. You can edit the geometry of buildings for example.
But if I have to make one app recommendation, it would be this: Maps.ME on iPhone and Android is a really great map viewing app. It looks a bit like google maps, so it will feel familiar. But it’s OpenStreetMap! Install it now!
This also lets you download whole countries for use offline, including satnav style routing. It’s great for using without an internet connection while on holiday. But I use it as a really nice useable map view for getting around all the time.
Maps.ME does also have editing functionality. This is an example of a simplified feature-limited editor. You can use it to add a missing shop for example, but only basic edits. It’s not as powerful as Go Map!! or Vespucci.
So you can use your gadgets, but I want to stress that gathering data can be as simple as using a pen and paper. Of course you’ll still need to input your data later using JOSM or “id”, but data collection can be very simple and low tech.
…although some people get quite advanced and quite complex with their paper notes!
This gives a nice easy way of getting a map printout. It creates an “atlas” of many A4 sheets. Here you see the interface where you’re arranging a grid of A4 sheets to cover an area of interest.
The printouts can then be used for noting down more data which needs to be added to the map. If you want to get clever, these can then be scanned in, and a QR code geolocates the scanned images for use within an editor (but you can easily skip that and… look at the paper!)
Because the data collection is very low-tech pen & paper, this has been used for humanitarian mapping, with local people in Lubumbashi writing down things like street names, and then the paper brought back to London, where we input the data at a fun mapping event.
Speaking of humanitarian mapping (this is a whole other area I didn’t go into) check out the “Humanitarian OpenStreetMap Team”, and a project called “Missing Maps” which is having very popular events every month here in London.
But this is a tool we use to coordinate mapping a lot. The “Tasking Manager” at tasks.hotosm.org. You can see the idea. We divide up an area into a grid. The yellow squares have already been done, and you can acquire a square to work on. It’s a coordination tool which means we don’t accidentally work on the same area even if we have a large number of people mapping.
This is for remote “armchair mapping” where we can sit at home with our laptops and contribute using aerial imagery, to draw around buildings for example.
Getting more towards “gamification” side of things, this is a tool called “MapRoulette”. It assigns random little tasks for you to work on (by making edits in the OpenStreetMap data)
Often the “challenges” are created based on data from external sources. Here for example it’s showing Police stations in London, where we could be adding some address data, taking the addresses from some government dataset. So we spin the roulette wheel, and we’re shown a random London police station, and we click to add the address data and then go again!
I wanted to show you a couple of really simple ways of helping OpenStreetMap which don’t involve learning how to edit.
Mapillary is a thing you can contribute to, particularly if you drive a lot. You simply set your phone going taking photos as you drive, and these form a thing a bit like Google StreetView.
But Mapillary works very closely with OpenStreetMap, and allow us to use the images while editing. If we gather enough of these street-level images, it becomes a very powerful supportive tool for OpenStreetMappers. We can easily use it to double-check our data and directly add things like missing shops.
The app is really easy to use because contributing is very passive. You just sort of set it going, and you can almost forget about it. Later you upload lots of photos.
Finally this is perhaps the simplest way to contribute OpenStreetMap: A thing we call “Notes”. Just go to the website and click this button here to add a note. Place a marker and write a textual description of a thing which is missing or needs to be changed on the map. Easy! It doesn’t even require you to log in.
Like Mapillary this is a slightly indirect way of helping. It still requires people who know how to edit, to then go and make use of this information to edit the map.
But this is very much designed to be a very simple way to contribute. It’s dead easy, although do make sure you zoom in and place the marker precisely, and be as descriptive as you can in the text.
Here’s a summary diagram showing different ways of contributing.
It’s split into “gathering data” and “inputting data”, because often we do things in those separate stages. The mobile mapping approach using Go Map!! or Vespucci will cut across these, because you can make the edit directly while you are out and about seeing things to add. This is perhaps not as useful as it sounds because, tapping away with your finger to add all of data is very slow. If you’re adding lots of things, or even if you’re casually doing some fly-by mapping, I tend to prefer a two stage approach. I snap quick photos on my phone (which are geo-located), and then later at home I view these with JOSM to add the data.
We also talked about Tasking Manager & MapRoulette. These options at the bottom only involve a data input phase without the need for data gathering. But as with the other projects we’ve heard about this evening, OpenStreetMap is a great excuse to go out and look at the world! If you like that sort of thing, you may prefer these other modes of contribution.
Beyond editing tools, we also have a few tools like this which show us stats on our OpenStreetMap editing. This helps make editing fun and engaging, and naturally a little competitive! This is “how did you contribute?”, and on the right a tool on MissingMaps.org which shows edit stats related to humanitarian mapping with the tasking manager.
You’re an engineer. You have a problem: you’re feeling a bit cold.
You could turn up the heating, but you decide it’s better to find a jumper to put on.
You find a nylon sweater, but you want to do this properly. You need a woolly jumper.
You could go out and buy a woolly jumper, but if you’re going to go to the trouble of heading out to the shops, maybe you should really nail this problem. A really kick-ass solution, would be to knit yourself a good thick woolly jumper.
You could use some wool you already have, but since you’ll be spending quite some time on this knitting project, you might as well find some really premium quality wool.
You could select some nice wool from a shop, but you’re a thorough sort of person. If it’s worth finding good wool, you decide it’s worth going to the source of the supply chain where the wool is produced.
You could travel to a sheep farm somewhere, but since you’re going to be travelling, you start researching different types of wool, and discover that the very best type of wool is from the Himalayan yak.
…and so it is that you end up on a hillside in the Himalayas, in the baking hot sun …shaving a yak.
I like this explanation, but it is “the alternative explanation”, because I’ve no idea where it came from! Can’t find any reference to it on the internet. I think I was taught this by Andy Allan while I was working at CloudMade. A few years ago I introduced “yak shaving” to workmates at TransportAPI, to much hilarity.
I suppose it’s disappointing because Ren & Stimpy is so unbearably bizarre I can’t get my head around it, but also I was hoping for the origins to have some better link with our tech community use of the “yak shaving” phrase. Oh well.
I was just looking at some old photos from this time last year. A year ago the weather was a lot better and I finally made it to Bletchley Park.
It filled me with chest-thumping patriotic pride to think of these code-breakers puzzling over intercepted nazi messages, and inventing brilliant machines to break the code. A good old bit of government snooping and breaking encryption. hurrah!
The enigma code was a different matter though. British code-breakers versus the nazi war machine.
It’s a well known story, but I learned a few things at Bletchley park, particularly while putting my stupid questions to a member of staff. I asked about what came before enigma. Radio signals had been extensively encrypted by various communication networks of the German military for years before the outbreak of war, and Poland had been extensively snooping, mapping out all these networks (a complex challenge in itself), and breaking various levels of encryption in a cat ‘n’ mouse game. They were able to pass on all of this information to the Brits. We were only carrying on with the game.
But with enigma machines the nazis thought they had an unbreakable code. To crack it, Alan Turing built the Bombe. This is often described as a forebear of modern computers. The star attraction at Bletchley Park is a working (moving!) replica. It moves with spectacular spinning and clunking noises. Watching the way it moves, it’s obvious that the spinning drums are performing a kind of brute force attack, trying every combination to break the encryption. But the replica is not complete, and actually seeing behind the drums where they are still missing, is very revealing. Metal brushes on the back of the rotating drums, brush over these metal contact pads. Behind the scenes they’re wired up so that an electrical current flows and the machine suddenly stops when it hits upon the correct combination.
I was amazed and delighted by the simplicity of that idea. The whole giant contraption is just a great big electrical circuit, with some mechanical movement thrown in. We can see and understand the machine at a very low level, in a way which is much harder with modern computers. In computer science studies we learn about all the lovely layers between applications like this web browser, right down to… well ultimately an electrical circuit. However I actually deliberately chose a computer science degree course which didn’t involve hardware, because I found that low level stuff uninteresting. I have a vague understanding, but maybe I should try building tetris with nand gates some time!
Although there’s a beautiful electromechanical simplicity to the Bombe, the less low level aspects (the details of the cryptography problem it’s actually trying to solve) are harder to understand. There’s a good numberphile video explaining some of it.
To come up with these solutions in 1940, Turing was surely a genius. He clearly knows the necessary hashtags. We rewarded him with chemical castration as a punishment for being gay, which drove him to suicide. Hurrah Great Britain!
A month ago I started a new job. This is a big deal for me because I’d been in at TransportAPI for eight years. But time for a new job in 2018! I’ve just started at OpenCorporates.
OpenCorporates provides company listings data. It has a database of corporate entities, rather like Companies House in the UK, but bringing together this and similar datasets from countries all around the world.
Now “company listings data” may sound rather dull, but there’s a couple of aspects of this which I think are quite exciting: open data and… fighting crime and injustice!
At one stage the Companies House website was only open during working hours (Yes. Hilariously the website’s clunky querying interface stopped working after 6pm!). Aside from making itself a target of general ridicule from tech people, companies house also became a target of the emerging “open data” campaign at the time. About a decade ago the guardian “Free Our Data” column was leading the march, campaigning for data releases. I also remember attending a “National Hack the Government” event hosted by the guardian, with all sorts of hijinks of civic hacking tech people who were producing better versions of government websites and, if necessary, taking data by force (brute force scraping) to do so.
From these kinds of mischievous beginnings OpenCorporates was born. I remember bumping into Chris Taggart at various conferences and events around this time, while I was generally running around beating the OpenStreetMap drum. Later I ended up working with TransportAPI, and TransportAPI ended up sharing an office space with OpenCorporates at the Open Data Institute for a while.
Companies House went on to get their act together considerably (spurred on by those early civic hackers no doubt). Meanwhile OpenCorporates continues to campaign for open data releases from other governments around the world. My point is, OpenCorporates is very much historically and currently part of the open data movement. I regard any open data work as a kind of “social good”, but if you think about it, company listings are really a flagship example of the kind of dataset any government absolutely should be making public and easy to use.
Fighting crime and injustice!
This brings me onto the other aspect. A more dramatic kind of “social good”. OpenCorporates, by making company listings data more available, is fighting crime and injustice …if a little indirectly.
A “registered company” might be a high-street shop or some other real-world bricks-and-mortar thing, but often not. Registered companies are legal and financial constructs which get used and abused in all sorts of ways. We see examples of dodgy dealings on any episode of “rogue traders” where it invariably reveals how bad people closed down a company, and re-started under a new name to shake off the authorities. It’s clearly too easy to get away with. Company listings data provides a little bit of an antidote by helping with transparency and knowing who you are doing business with.
But that’s just small time fraud. When I started at OpenCorporates they gave me a copy of the book “Treasure Islands: Tax Havens and the Men who Stole the World” by Nicholas Shaxson. It describes tax avoidance, tax evasion, money-laundering, and flows of criminal funds enabled by offshore “secrecy jurisdictions”. It builds up a picture of this as not just a side-show by a dishonest minority, but widespread deeply embedded system of corrupting influence benefitting the rich and powerful, at the expense of everyone else. The problem feels unsolvable as we realise that the corruption runs deep within all of our governments.
“Rich governments cannot be trusted to do the right thing on tax havens and transparency. Many will demand more transparency and international cooperation even as they work to frustrate both. They will call for reasoned debate as they engage in character assassination secret deals and worse. They will talk the language of democracy and freedom the better to defend unaccountable, irresponsible power and privilege.”
It’s a pretty eye-opening and pretty horrifying book!
The book details some specific financial tricks and loopholes, but generally the idea for a global company (or crime syndicate, or just a wealthy individual) is to have your accountants and lawyers create a tangled web of different corporate entities registered in different jurisdictions, with maximum secrecy making it almost impossible for tax authorities or financial regulators to pin down your assets, profits, risks, and capital. There are many layers of financial trickery, but it’s clear that corporate registrations are the key vehicle for this kind of skullduggery.
As such, data on registered corporate entities is vital. It doesn’t solve all the problems of financial secrecy. Investigators will need to piece together a lot more about companies, their assets, the true owners and beneficiaries, and their links with other entities, in order to cut through the information void created deliberately to bamboozle them. But it’s a start. Company listings form a kind of information bed-rock upon which other information and investigation can be built. Whether it’s an investigative journalist looking to crack open a high profile case, or a tax authority, or a just somebody looking to establish the trustworthiness of a company, OpenCorporates helps enable this important work. It puts the information out there more publicly and in more useful formats to help shed a little bit of light on this murky world of crime and tax dodging.
Maybe “fighting crime and injustice”, is a super-style exaggeration. Folks like the Tax Justice Network are tackling this big problem more head on, but OpenCorporates helps chip away at the problem with a more bottom-up data-oriented approach.
The new job
So I’m getting my head into this new subject area, and joining OpenCorporates as a software engineer. It’s primarily Ruby on Rails development, but with lots of infrastructure and data processing challenges. Fun stuff! We’re based in the main pointy tower at Canary Wharf. We just had our office warming party in a new place 42 storeys up.
If you fancy joining me there, we are hiring back-end engineers, infrastructure engineers, and data analysts. Check out jobs.opencorporates.com!
Generate a calendar in a strip layout, suitable for printing, with lots of space for writing notes next to each date.
I originally did this as a visual basic word macro, then later as this php script.
I used to use this to do big calendar printouts to help with family logistics, usually at this time of year, covering the months around Christmas. That’s back when we four kids were all home for Christmas in Yorkshire, all with our own overlapping plans. Nowadays we might do a shared google calendar instead, but I remember the scrawlings all over the calendar wall used to be quite fun.
I’ve just been tidying some old content on this website, which I’d written just over 10 years ago now. Back then I wrote a kind of tech manifesto, or at least a collection of various broad thoughts of tech and the IT industry I was working in at the time. I haven’t worked as an enterprise integration consultant since 2009, and some of it is out-of-date in various other ways. Some of it feels like it’s noticeably coming from my naive younger self.
I hate the word “geek”. I don’t really hate the word of course, and that’s not the point I was trying to make. I stand by the idea that we should always work to close the separation between “geeks” and “normal people”. The march of technological progress does this for us of course. If I think back to 2007, the internet was actually a lot less mainstream. Fewer people with broadband at home (including me!). Fewer people required to use the internet or even computers as part of their work. It used to be that “geeks” were people who knew how to use computers and were super savvy with the internet. Nowadays that’s everyone. My 2 year old son is already getting the hang of it! Nowadays I see an interesting push to get more people from more diverse backgrounds to learn to code.
It’s a people thing was a piece complaining that clients should discuss high level requirements rather than skipping ahead to designing a solution. This is an accepted anti-waterfall principle rolled into “agile” these days. Perhaps it goes without saying, …except it’s still a common mistake. I recall a few occasions since writing that, when I’ve worked on projects which jumped to discussing a technical solution before getting a high level view of problems we were solving.
I also talked about user interface design. I think I had a bit of a bee in my bonnet about the project I was on at the time, but I do remember leaving that particular project with great satisfaction at having implemented some of the UI ideas despite initially having them shot down. Since then there has been a couple of times where I’ve found myself surprised by colleagues’ failure to see obvious UI improvements. It makes me wonder whether user interface design is a talent I’ve not really appreciated within myself. Maybe I should do more of that kind of work.
With IT project politics, I was talking in general terms, but really I was bearing my soul about some frustrations with my consulting job. Some of the assignments with Green Hat Consulting involved parachuting into a pretty hostile environment. When I quit that industry and went to work in a more fresh funky start-up I left the politics behind on the whole, but of course you never really escape that kind of thing completely. I guess the golden rule I still have to remind myself of would be: work with people you like (and if you don’t, leave, because life’s too short)
Maintainable Software. Maybe I had a fairly simplistic view of what makes good software back then, but I think I was just glossing over the details. Obviously there’s a whole universe of coding best practices which make code maintainable, beyond “comments and meaningful variable names”. In fact comments are bad …sometimes. I think keeping up with recommendations and knowing which wisdom to follow and which to discard may be the real skill. Being an “opinionated coder”, and taking pride in your craft. In any case, I’m sure I was correct in saying that most developers consider their own code to be good code. …and I still didn’t learn to drive!
I was also ranting about documentation. Again I think this was a bee I had my bonnet related a particular request to document a particular project at the time. But it remains a reasonable point, that documentation can be seen as an afterthought; a project delivery box to tick. I quite like documentation. The interesting challenge of trying to distill the most important hand-over information for a project, without making something which is just too long for anyone to bother reading. Also mechanisms to help ensure docs are kept up-to-date e.g. keeping docs close to the code or part of the code. I like that github have establish a nice convention of supplying a README.md file for each repo.
On the whole my “tech manifesto” of a decade ago wasn’t too bad, but a lot’s happened in 10 years, and some of these thoughts were starting to feel quite old. So I decided today that they belong in the blog archive.
But what would I write about if I were to pick some points to make about tech and the IT industry in 2017? (Not sure we even call it the “IT industry” so much these days). I don’t think I would try. Clearly such things are destined to go out of date. A single page of thoughts also feels incomplete, but maybe I should add some more deep thinking to the blog category ‘technology’