Printable Calendar tool

Here’s a little thing I just found (I have lots of silly bits of code like this kicking around) :

Printable Calendar

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.

A tech manifesto from 2007

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’

Open House rails developer

[Update: They’ve now hired a rails developer. Thanks for the responses! Still opportunities to help I’m sure. I will to try post an update on how to get involved]

I wanted to help promote this Ruby on Rails developer job at OpenCity which I think will be a really interesting thing for somebody, maybe a junior rails developer. Know anyone?

If you’re a londoner you’ve probably heard of “Open House” an event taking place each year where, for one day, you can take a look around lots of interesting buildings, for free, which are often closed to the public the rest of the time.

The Open House event is put together by a not-for-profit organisation called OpenCity, in their office near Aldgate. From there they organise this annual architectural bonanaza, coordinating hundreds of people (volunteers and building owners) with lots of careful planning …and some IT challenges.

opencity-diagram-currentopencity-diagram-1st-stage-rails-app opencity-diagram-big-rails-app

Being an interesting and fun not-for-profit organisation, I have ended up volunteering a bit of my time with them. Me and another volunteer have been planning a rebuild of a database system they’re using internally, which will later ripple up to some cool improvements on their public facing website.

To me this looks like a juicy challenge and a fun organisation to be helping out, so I’m hoping we can find a suitable available developer who feels the same! I’m not available myself, except in my spare time. I plan to be dipping in on this project from time-to-time, so I would be working with this person a little bit.

The project planning is at a very early stage, but I’ve been drawing the above diagrams which show… (left-to-right)

  • Their current set-up
  • An initial milestone introducing a rails app for their buildings database
  • And a final situation with websites and database consolidated

Hopefully in the end we will have managed to consolidate things and four different websites (or four different user journeys/permission levels within the same website) will be served by a lovely new rails app!

OpenCity are very open to our ideas, and one thing we’ve suggested, is to do this whole thing open source on github, as a way of being open to contribution from any other developers who fancy helping this organisation, but this is a pretty big job which will need somebody on it full time. Hopefully quite an interesting challenge for somebody! Please pass this on to anyone who might be interested.

Leaflet Geolocation error: Only secure origins are allowed

I described some reasons to switch to HTTPS on my website. To be completely honest though, I didn’t finally get off my ass do that for any of those good reasons. I did it because I was building a map thing which requested browser geolocation and I noticed geolocation stopped working in chrome.

I’ve seen this deprecation warning a few times:

“getCurrentPosition() and watchPosition() are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.”

But somehow didn’t take it seriously. But yes. New versions of chrome won’t do geolocation unless it’s a HTTPS site. See this for yourself with this very basic geolocation test page on w3schools (which is http). Doesn’t work in chrome.

The javascript console still only shows it as a deprecation warning not an error, but if your web application was relying on this…  it broke.

(Update for Aug 2017) Firefox v55 is going with this lock-down too. It says “Geolocation error: User denied geolocation prompt” as a popup, and in the console “A Geolocation request can only be fulfilled in a secure context.”

Any sensible application should probably be watching out for failure cases with geolocation anyway (see later examples for handling errors), but even so I find it a bit surprising that any old websites using geolocation across the web will be broken. There’s a bit more info on this google developers page

If you use LeafletJS, there’s a map.locate method which presumably uses the same method internally (navigator.geolocation.getCurrentPosition), but leaflet also detects the Chrome failure and pops up a different error message…

“Geolocation error: Only secure origins are allowed (see: https://goo.gl/Y0ZkNV)..”

If you use chrome you can see this on my geolocate example (http) here:

http://harrywood.co.uk/maps/examples/leaflet/geolocate.view.html

…and    *Trumpet noise*   see it fixed with the newly available https URL:

https://harrywood.co.uk/maps/examples/leaflet/geolocate.view.html

HTTPs on this site

I made harrywood.co.uk run on HTTPS recently (optionally. It works on both http://harrywood.co.uk and https://harrywood.co.uk). Quite easy to do, and free using letsencrypt

https

Why encrypt harrywood.co.uk?

On the face of it there’s not much point. This is mostly just a straightforward read-only website. Not much scope for bad people to be snooping anything interesting. No passwords or credit cards or anything. General “tracking” doesn’t seem particularly problematic either. Who really cares if somebody can track the fact that you’ve been visiting these sweet innocent innocuous blog posts? Well…

Some types of commercial web tracking only tend to get creepy when they happen in bulk. The evil corporate advertising machine won’t learn much about you from knowing you read a blog post on harrywood.co.uk, but it might start to know you pretty well if it knows this and the previous thousand websites you visited. Encryption throws a spanner in the works for some types of tracking.

Government tracking by intelligence agencies, is also thwarted by encryption (more so probably). They would also like to intercept your browsing traffic to get to know you with their big evil AI. Now sometimes I think it’s fair enough for governments to do a bit of anti-terrorism targeted snooping, but the trouble is it’s too easy for politicians to make that simple-minded argument. The flipside is a subtle future threat of eroded freedoms. That’s tricky, and in general I don’t trust politicians to weigh it up properly. We can use technical measures (encryption!) to help things move in a more freedom preserving direction.

Tracking is a numbers game, done across many websites, and equally encryption as a counter-measure is more effective if we encrypt many websites. If we start to be able to browse a significant proportion of the web in HTTPS, even right down to piddly little websites like this one, then we’ll be getting somewhere. As a result it’s becoming recommendation and slowly a sort of groundswell of expectation on webmasters to do this. It’s slow to get lazy webmasters like me to do something like this, but …well now’s the time for harrywood.co.uk (Who knows? One day I may actually work on updating the content!)

Encryption helps protect against password snooping security issues. harrywood.co.uk has no user passwords, except…  my own password for logging in to write blog posts. I’ve probably used this from public wifi access points in the past. Slapped wrists for me. But now I guess I can be a little more relaxed about that. Speaking of wifi, wifi javascript injection (attacks or just crappy advertising) seems like a nasty problem. Are we safe using any wifi these days? Well we’re a lot safer from this when browsing HTTPS sites.

An OpenStreetMap training course intro

A week ago I got together with Steve Chilton and Steven Feldman and gave an OpenStreetMap training course to a handful of enthusiastic young people who were about to head out to Ghana as volunteers with a charity called tzedek.

Steve Chilton & Harry Wood teaching OSM
Photo by Steven Feldman CC-BY NonCommercial

I’ve done similar things before but nothing exactly termed a “training course” actually. It was pretty similar to the UCL Masters Student mapping party Sept 2010. Back then I was asked to kick things off with an introduction, and had to stand up make something up on the spot. This time I had some slides prepared.

Which slides? Well maybe I should’ve just used learnosm.org teaching resources for this. I took a look at them, but I decided I wanted to say a bit more in the intro sessions (perhaps wrongly actually). The learnosm.org slides are Continue reading “An OpenStreetMap training course intro”

Workshop on Using OpenStreetMap Data

 

I presented a workshop (or at least a live demo session) at the Society Of Cartographers conference with the rather vague open ended title of “Using OpenStreetMap Data”   –  “A tour of the various options for downloading and otherwise accessing OpenStreetMap data from a geo-data user’s perspective. Harry Wood will explain how to delve into the raw data structures using tools on the website and elsewhere, how to explore the wiki-style editing history, how OpenStreetMap’s unique ‘tags’ approach works, and some ways of manipulating the map data.”   At least that’s what I wanted it to be. It didn’t go entirely to plan (see apologies below)

I started by presenting some slides from my OpenTech OpenStreetMap developer ecosystem presentation which highlights the central role of raw geodata, and gradually builds up a picture culminating in this diagram (see above link for the full build-up and explanation)

Also a re-use of the slide explaining different levels of OpenStreetMap use which developers and data user organisations might consider.

Then it was on to the live demos touring around various different topics and tools. I don’t think I actually timed it well enough to get through all these things in either of the two hour-long sessions, but the following were Continue reading “Workshop on Using OpenStreetMap Data”

Some new repton3 maps

Peter McElwee emailed me saying “Thanks for releasing Repton 3, have lots of fun but the wife isn’t so pleased. Anyway have made two levels of my own, would be great to have your comments”

So you can now download his ‘names.rls’ levelset file.

<sarcasm> Repton3 is a fast moving sector of the games industry. The game was released in 1985 for the BBC micro and electron. I made my repton3 version for windows in 1998, just 14 years later. Gamers the world over set to work proving their puzzle solving prowess by conquering my two levelsets as quickly as they could, and sure enough in 2000 my mate Will succeeded, followed by two more people in 2006 (hot on his heels!) I also made a level editor, knowing that this would send gamers into a frenzy as they they start designing levels and emailing me with files to share. Sure enough in January 2011 Peter sent me this names.rls file, and so I didn’t waste a second to publish this on my website 14 months later.

but seriously </sarcasm> it is actually quite exciting for me to receive some repton3 puzzles from somebody else. Thank you Peter, and massive apologies for failing to do anything with your email for the past 14 months! I sort of forgot about it because repton3 is languishing on my under-used windows machine these days. But actually the real reason was, I wanted to play through your maps myself, and then reply saying they were too easy…  but then I got a bit stuck! I have now played them though. Good fun playing other people’s repton puzzles!

Giving up twitter for lent

I’ve decided to give up Twitter and IRC for 40 days and 40 nights. This is quite a big deal for me. It remains to be seen how well it works, but I’ve survived the first couple of days. @harry_wood has gone quiet!

Somehow twitter has become very entwined in how I operate. I use it to keep up to date with news and interact with a “professional network” and “friend” type people within various spheres: OpenStreetMap, open data particularly transport data, general IT tech & mobile/web. Reading, interacting, announcing and microblogging on these topics. And it’s great. I’m hooked on it and I’m happy with it, but…

I’m anticipating some possible positive effects of giving it up for the next 40 days and 40 nights.

Maybe I’ll blog more. Somehow twitter uses up a lot of the creative energy that previously would have gone into writing blog posts. I know I’m not the only one to more or less stop blogging as I embraced twitter. There’s a few things I really should have blogged about but lately I’ve just been using my blog for publishing presentation slides. So more to come here hopefully.

These days twitter replaces RSS for many people. It’s normal to tweet with a link to your blog every time you post. Should I allow myself this? I think not. I’m going cold-turkey on this one! Who knows, maybe somebody else might tweet a link to here. Or maybe nobody will read this 🙁   As usual, if you say “hi” in the comments it will make me happy. If you don’t, then I’ll just brood about whether or not I have a signficant number of lurkers.

The other positive effect will be eliminating the time sink that twitter represents. Although twitter is a neat way to distil things and the signal to noise ratio isn’t too bad (otherwise I wouldn’t use it) I can’t deny that it is often just a tempting distraction. One click of that juicey looking tweetdeck icon and I can marvel with a dizzying feeling as technology and society and all manner of fun seredipidous nonsense spins before my eyes, and… oh yes I was supposed to be doing some work.

I’ll be quitting IRC too (Chatrooms for those who don’t know) The mac Adium IRC client lets me auto-join all my favourite OpenStreetMap channels, and then the cute little green duck flaps its wings when someone wants to chat to me. How can I not click on a cute flapping green duck?? I won’t go completely cold turkey on this, because I have some meetings I need to attend, but over lent the duck will die.

I imagine I may move onto facebook and google+ to get my fix of realtime updates. I’ll allow myself this because I see it as another positive. I feel I should try to understand google+ better. After the failure ot orkut, buzz, and wave, it seems google are going to shove this one down our throats via their search results, so perhaps there will be no escaping how important it will be for promoting things. Meanwhile facebook is where all my non-techy friends hang out. I should stay in touch with them better. Also it’s easy to forget that facebook is much more mainstream than twitter, so promoting on facebook has more potential reach, if you can get your message right (and non-techy enough). It can well be argued that twitter is a terrible echo-chambre. A community of people all re-tweeting eachother, stroking eachother’s egos, whilst forgetting that there’s a big world out there beyond. I don’t really think that, twitter friends, but I sometimes wonder.

Well for 40 days and nights I am severing my connection to the hive. Wish me luck!

Oh and if you’re wondering how to reach me, drop me an email. Yeah one of those old things. If you limit it to 140 characters I’ll probably find that comforting in some way.

Society of Cartographers Plymouth



A couple of weeks ago I was in Plymouth for the Society of Cartographers Annual Conference. Lots of interesting talks and a fun and friendly atmosphere, particularly during the evening entertainment: pub quiz, boat trip and rum cocktails. [update: forgot to say my photos from the conference are here]

I came across a strange new breed of people who knew all about making maps using only adobe illustrator. That’s a side of “cartography” which rarely surfaces at the geo events I’ve been to before (and I’ve been to quite a few now), but this seems like a rather interesting artistic end of a map-making spectrum. I didn’t come across anyone who had tried out OpenStreetMaps options for exporting to Illustrator. This probably needs to be made easier, but I suspect Maperative might be a kick ass tool in this arena. I don’t have illustrator myself, so I’d be interested to know how well it works.

I gave a talk on a blend of topics to do with transport and open data and some of my experience of mobile geo development. I talked through some stuff I’ve been working on at placr.co.uk: The UK Travel Options iPhone app, and the more recent placr.mobi mobile website. Then I gave a few more nice bits of bus route related technology (and cartography) coming out of OpenStreetMap.

The slides and notes (approximately what I said in the talk) are included with the presentation on slideshare, or OpenOffice download, or PowerPoint download …or here it all is in good old pictures & text:


Slide 0


I’ve got four different things I want to talk about.

I want to talk about Open Data, and specifically Open Transport Data. And I want to talk about the work I’ve been doing at placr.co.uk, and finally my hobby and passion OpenStreetMap.

Lots to cover, but fortunately they’re all wonderfully interrelated, so it’s really just one big topic.

Continue reading “Society of Cartographers Plymouth”