Recent blog entries for Skud

Making your events more accessible is not that hard

I often hear that making an event more accessible, or even providing information about accessibility, is “too hard” for event organisers. I contest that.

I make basic efforts toward accessibility for almost every event I run, mostly in the form of documentation, and it’s not that time-consuming or difficult. I estimate I spend about 20 minutes on it for a small event at a new venue, and less than five minutes if we’re running a second or subsequent event at the same place. It’s hardly anything in the overall scheme of things.

Handy accessibility documentation checklist

  • Make a section on the event page titled “Accessibility”, and under that heading, note the physical access to the venue, including:
    • What floor is it on?
    • Is there an elevator to higher floors, or do you have to use stairs? Does the elevator require a key?
    • Do you need to go up or down steps anywhere between the entrance and the space where the action is taking place (eg. one step at the front door)?
    • Is there a separate accessible entrance? Where is it?
    • Is there rough ground to cover (eg. steep pathways, gravel)
    • Are there buttons to automatically open doors into the venue?
    • Is there a wheelchair-accessible toilet?
  • Also under “Accessibility”, make some notes about the style of the event and the content that will be delivered, with attention to how accessible it would be to deaf or vision-impaired attendees, eg.
    • Will there be a speaker? Will the speaker’s words be transcribed/available in written form, such as handouts or slides?
    • Will materials be made available online, or minutes or proceedings posted, after the event?
    • Will any video or audio materials be transcribed or interpreted?
  • Also under “Accessibility”, mention any dietary needs, common allergies, or other health considerations:
    • If food is provided, what dietary requirements will be met automatically (eg. vegetarian, gluten free, and nut free)? If an attendee has other dietary requirements, who should they contact and by what date?
    • Especially if the event is a private home, are there any pets that people might have allergies to?
    • Are there any other materials that may cause allergic reactions or other health problems? Any environmental factors that may have health implications? Eg. fumes, noise, extreme heat, flashing strobe lights.
  • Provide an email/phone contact for any accessibility related enquiries not already covered by the above.
  • Under “Transportation”, note ways of getting to the venue, including:
    • Car parking – distance from venue, costs
    • Bicycle parking – indoor/outdoor, secure?
    • Public transportation – nearest routes/stops, time of first/last service
    • Ride sharing – especially for areas with poor public transport coverage, are there arrangements for people to share rides? Where should someone ask to find a ride, or offer a ride? (eg. Facebook group)
  • Under “Children”, note the following:
    • Is the event suitable for children? (Eg. mention if it will be unsafe)
    • Is there childcare provided?
    • Are there facilities for baby changing, feeding, etc?

Here’s a sample for an event I went to recently:


Physical accessibility: The workshop will be held on a rural property. Part of the workshop will be held up a steep and narrow flight of stairs. The rest of the workshop will be held around the property, with rough ground and unfinished paths between different areas. Access to the toilet is via a rough path and a few stairs. We will also be visiting three other sites, which may also have rough terrain or stairs. This event is not suitable for people with wheelchairs/scooters and may not be suitable for others with mobility impairments.

Workshop content: The morning speaker will provide written/illustrated notes covering most of the workshop material. No other transcription/interpretation is planned.

Allergies: Due to the nature of the workshop and the ourdoor venue, people with seasonal or animal allergies may wish to medicate accordingly.

If you have other accessibility needs or inquiries, feel free to email (email address).


There is ample car and bike parking onsite.

There is no public transport to the venue.

Ride shares can be arranged via our Facebook group (link); please post there if you are able to offer a ride, or are looking for one.


For safety reasons, this event is not suitable for young children; older children/teens may attend under the supervision of an adult. No childcare will be provided.

Babies may be changed in the bathroom at the main venue. Heating/refrigeration for baby food are available in the kitchen. No baby changing/feeding facilities will be available at the other sites we visit.

I timed it; that took me 25 minutes to research and write, and I was eating dinner and watching TV at the same time.

For future events at the same venue, simply copy-paste and make changes as necessary. It should take less than 5 minutes.

You may think that this hardly counts as “making your event accessible”, since so much of it is simply stating the lack of accessiblity, but even that much information is such a huge step above what most events provide that people will thank you for it.

Besides, awareness is most of the battle. Once you get in the habit of thinking about these things for every event, you’ll start to notice if you’re excluding people from attending. You might not have intended to exclude them, and done it without thinking; that’s pretty common, and most of us start out there. Now you’ll be more conscious of it, and you can begin to think about what further steps you could take.

At the very least, you’ll have saved a potential attendee from having to email a stranger (or worse, post on a public forum), disclosing a bunch of personal information just to find out whether they can attend or not.

Here are some examples of other events that provide accessiblity information:

  • AdaCamp Bangalore — this is an event I’m organising remotely, at a venue I’ve never seen, in another country. I still managed to provide this information without too much difficulty, by sending a list of questions to someone local and having them walk through the space.
  • Wiscon is a science fiction convention held in the same hotel year after year. They have managed to build up an amazing set of accessibility resources on their website over the years.

And a few quick “don’ts”:

  • Don’t make people email you with any/all accessibility requests; it puts the onus on them, rather than you, and can invade their privacy. Take the effort to answer the most likely questions ahead of time.
  • Don’t hide the venue’s location from attendees unless absolutely needed for privacy reasons. At the very least, give the general location to within a kilometre or two, and let attendees know as promptly as possible after they register. Knowing where an event is to be held is an important piece of information to help people make decisions.
  • Don’t use offensive language around disabilities. Avoid “handicapped”, “crippled”, “sufferer/suffering”, “victim”, “wheelchair-bound”. Usually-safe terms include: “people with disabilities”, “mobility/visual/hearing impairment”, “wheelchair/scooter user”, “mobility aid”.
  • Don’t get defensive when people ask you to make your event more accessible. Listen, take their suggestions onboard, and honestly weigh the costs (in time, effort, or money) against the benefits (wider reach, greater diversity, and simply doing the right thing). Consider whether you make a partial effort to solve some of the accessibility problems, for a lower cost. If the tradeoff simply can’t work given the resources you have, apologise in a straightforward way, and say you’ll keep it in mind for the future (ideally at a specified date).
  • Don’t put the onus on people who require accommodations to educate you, to advocate for accessibility, or to do all the work toward it. They have enough on their plate as it is, and they don’t want to have to put in so much more effort than other attendees, just to be able to take part in an event. Make it easy for them to attend, and then once you’ve got them engaged and excited, perhaps they will choose to volunteer as an organiser.

This is still a learning process for me, as it is for most people. I know I’ve done a crap job of this in the past, but I hope I’ll do a better job in future. If you have any suggestions about how I can improve the way I approach event accessibilty, please feel free to contact me.

Syndicated 2014-11-17 09:46:21 from Infotropism

Read this interview with me about leading AdaCamp Berlin and Bangalore

As I mentioned earlier today, I’m off to Europe shortly for AdaCamp Berlin, then in November I’m going to India for AdaCamp Bangalore. I’ll be leading both events, which means I get to welcome everyone and set the stage for the unconference, make sure the sessions and workshops run smoothly, and that the culture of AdaCamp meets its usual high standards.

The Ada Initiative just posted this announcement and interview where I talk a bit about my experience with AdaCamp, running various community events, and what I’ll bring to these ones.

Syndicated 2014-10-02 11:52:33 from Infotropism

Travels: London and Berlin (Oct 7th-20th, ish)

I haven’t mentioned this on here yet so I thought I’d better do so before I actually, you know, board the plane.

I’m heading over to Europe next week and the week after. The main reason I’m going is AdaCamp in Berlin, which I will be helping run, but before and after that I’ll also be spending some time in the UK and running this Growstuff event, to get stuck into some serious code with some of our UK-based developers, in London on Oct 18-19.

If you are in the UK and are interested in food innovation, open data, technology for social good, sustainability, inclusive open source projects, or related fields, I would love to meet you! If you can’t make it to the Growstuff code sprint but would like to catch up for a coffee or something, drop me a line.

Syndicated 2014-10-02 04:29:13 from Infotropism

Why I just stopped using IM (hint: fucking Google)

tl;dr – if we usually talk on IM/GTalk you won’t see me around any more. Use IRC, email, or other mechanisms (listed at bottom of this post) to contact me.

Background: Google stopped supporting open standards for IM a few years ago.

Other background: when I changed my name in 2011 I grabbed a GMail account with that name, just in case it would be useful. I didn’t use it, though — instead I forwarded any mail from it to my actual email address, the one I’ve had since the turn of the century:, and set that address as my default for everything I could find.

Unfortunately Google didn’t honour those preferences, and kept exposing my unused GMail address to people. When I signed up for Google Groups, it would be exposed. When I shared Google Docs, it would be exposed. I presume it was being exposed all kinds of other ways, too, because people kept seeing my GMail address and thinking it was the right way to contact me. So in addition to the forwarding I also set up a vacation reminder telling anyone who emailed me there to use my actual address and not to use the Google one.

But Google wasn’t done yet. They kept dropping stuff into my GMail account and not forwarding it. Comments on Google docs. Invitations. Administrative notices. IM logs that I most definitely did not want archived. These were all piling up silently in an account I never logged into.

Eventually, after I missed out on several messages from a volunteer offering to help with Growstuff, I got fed up and found out how to completely delete a GMail account. I did this few weeks ago.

Fast forward to last night, when my Internet connection flaked out right before I went to bed. I looked at all my disconnected, blank windows, shrugged, and crashed for the night. This morning, everything was better and all my apps set about reconnecting.

Except that Adium, the app I use for instant messaging, was asking me for the GTalk password for Weird, I thought, but I had the password saved in my keychain and resubmitted it. Adium, or more properly GTalk, didn’t like it. I tried a few more times, including resetting my app password (I use two-factor auth). No luck.

Eventually I found the problem. Via this Adium bug report I learned that a GMail account is required to use GTalk. Even if you don’t use (and have never used) your GMail address to login to it, and don’t give people a GMail address to add you as a contact.

So, my choices at this point are:

  1. Sign up again for GMail, continue to have an unused and unwanted email address exposed to the public, miss important messages, and risk security/privacy problems with archiving of stuff I don’t want archived; or,
  2. Set up Jabber/XMPP, which will take a fair amount of messing around (advice NOT wanted, I know what is involved), and which will only let me talk to friends who don’t use GMail/GTalk (a small minority); or,
  3. Not be available on IM.

For now I am going with option 3. If you are used to talking to me via IM at my address, you can now contact me as follows.

IRC: I am Skud on and on some other specialist networks. On Freenode I habitually hang around on #growstuff and intermittently on other channels. Message me any time; if I’m not awake/online I’ll see it when I return.

Email: as ever, or for Growstuff and related work.

Social media: I’m on social media hiatus and won’t be using it to chat at length, but still check mentions/messages semi-regularly.

Text/SMS: If you have my number, you know where to find me.

Voice/video (including phone, Skype, etc): By arrangement. Email me if you want to set something up.

To my good friends who I used to chat to all the time and now won’t see around so much: please let me know if you use Jabber/XMPP and if so what your address is; if you do, then I’ll prioritise getting that set up.

Syndicated 2014-09-30 23:57:30 from Infotropism

Open food interoperability: entities, unique IDs, and semantic equivalence

This is a post I made on Growstuff Talk to propose some initial steps towards interoperability for open food projects. If you have comments, probably best to make them on that post.

I wanted to post about some concepts from my past open data work which have been very much in my mind when working on Growstuff, but which I’m not sure I’ve ever expressed in a way that helps everyone understand their importance.

Just for background: from 2007-2011 I worked on Freebase, a massive general-purpose open data repository which was acquired by Google in 2010 and now forms part of their “Knowledge” area. While working at Google I also worked as a liaison between Google search/knowledge and the Wikimedia Foundation, and presented at a Wikimedia data summit where we proposed the first stages of what would become Wikidata — an entity-based data store for all of Wikimedia’s other projects.

Freebase and Wikidata are part of what is broadly known as the Semantic Web, which has to do with providing data and meaning via web technologies, using common data formats etc.

The Semantic Web movement has several different branches, ranging from the extremely abstract and academic, to the quite mundane and pragmatic. Some of the more common bits of Semantic Web technology you might have come across are microformats, for instance, which let you add semantic meaning to your HTML markup, for instance for defining the meanings of links to things like licenses or for marking up recipes on food blogs and the like. There is also Semantic Mediawiki which adds some semantic features on top of a wiki, to allow you to query for information in interesting ways; Practical Plants uses SMW and its search is based on this semantic data.

At the more academic end of the Semantic Web world are things like RDF which creates a directed graph of semantic data which can be queried via a language called SPARQL, and attempts to define data standards and ontologies for a wide range of purposes. These are generally heavyweight and mostly of interest to researchers, academics, etc, though some aspects of this work are starting to seep through into consumer technology.

This is all background, however. What I wanted to talk about was the single most important thing we learned while working on Freebase, which is this:

Entities must have unique identifiers.

Here’s what I mean. Let’s say you know three people all called Mary Smith. Then someone says, “It’s Mary Smith’s birthday today.” Which one are they referring to? You don’t know. In any system based around knowledge, you need to have some kind of unique ID for each entity to avoid ambiguity. So instead you might say, “Mary Smith, whose employee number is E453425″ or “Mary Smith, whose email address is”, or “Mary Smith, whose primary key in our database is 789″.

When working on our proposal for phase 1 of Wikidata, one of the things we realised is that the Wikimedia community — all the languages of Wikipedia, the Wikimedia Commons, etc — lacked unique identifiers for real-world entities. For instance, Barack Obama was on English Wikipedia and on German Wikipedia and on Wikimedia Commons and on Wikinews, but none of these was his definitive identifier.

Meanwhile, interwiki links — the links between English and German and French and Swahili and Korean wikipedias — were maintained by hand (or, actually, by a bot) that had to update every wikipedia whenever a page was added or changed on any of them. This was a combinatoric exercise: with 2 wikis, there are two links (A -> B and B <- A). With 5 wikis there are (4 + 3 + 2 + 1) * 2 links. With N wikis, there are N-1! * 2 links, or to put it another way, 50 wikis would mean 1.2165637e+63 links between them. This was wildly inefficient to maintain!

Wikidata’s “phase 1″ was to create an entity store for Wikimedia projects, where each concept or entity — “Barack Obama” or “semantic web” or “tomato” — would have a central identity which could be linked to. Then, each Wikimedia project could say “This page describes entity XYZ”, or conversely Wikidata could say “this entity is described on these pages”, and suddenly the work of the interwiki bot became much easier: it meant that each new wiki added would only mean one new link, not an exponentially-expanding web of links.

We are in a similar position with open food data at present. There are dozens of open source food projects and that list doesn’t even touch on the ones that are more connected to recipes/eating/nutrition. We’re talking about how to interoperate between our various projects, but the key to interoperability is entity identification. If someone wants to mash up Growstuff’s harvest data with Openrecipes recipe search or the US FDA’s nutrition data, they need to know that Growstuff’s tomato is the same as the tomato you use in spaghetti sauce or the tomato that contains some percent of your RDA of potassium.

So how do we do this? None of our projects are sufficiently established, mature, or complete to claim the right to be the central ID repository. Apart from that, many of us have different focuses — edible plants, all types of plants, all types of living things, and all types of food (including non-animal/non-plant food) are some of the scopes I can mention offhand. Even the wide-ranging species databases like the Encyclopedia of Life don’t capture such information as crop varieties (eg. roma tomato, habanero pepper) that are important to veggie gardeners like Growstuff’s members.

Here’s what I would propose as an interim measure.

All open food projects need to link their major entities (eg. “crops” in Growstuff’s case) to one or more large, open, API-accessible data stores.

Examples of these include:

  • Wikipedia (any language, but English has the most articles)
  • Wikidata
  • Freebase
  • Encyclopedia of Life

By doing this, we can match data between projects. For instance, if Growstuff’s “tomato” links to the same entity as OpenFarm’s “tomato” and OpenFoodNetwork’s “tomato” and OpenRecipes’ “tomato” then we can reasonably assume they’re all talking about the same thing.

Also, some of the above data sources provide APIs which allow us to pivot easily between data sets. For instance, Freebase’s query language allows you to ask questions like “given an entity that is identified as ‘tomato’ on English Wikipedia, what is its identify on the Encyclopedia of Life?”

To see this in action, paste the following query into Freebase’s interactive query editor:

      "a:key": [{
        "namespace": "/wikipedia/en",
        "value": "Tomato"
      "b:key": [{
        "namespace": "/biology/eol",
        "value": null

As you’ll see, the result is “392557” or to put it another way — the EOL page on tomatoes.

From day 1, Growstuff has been tracking Wikipedia links for all our crops, to enable this sort of query against Freebase and so easily pivot to other data sets that Freebase knows about. If other projects take similar steps, this means that we are well on our way toward interoperability.

(As an aside, this is why we’re also having this other discussion about what to do about crop varieties that don’t have their own Wikipedia page, as this messes up the 1-to-1 relationship between Wikipedia entities and Growstuff entities. This may be something we just have to deal with, however, as no external data set will exactly match ours.)

Next steps

  1. I strongly encourage all open food projects to link their “crops” or similar entities to one or more major, open-licensed, API-accessible data source (ideally one which has its keys in Freebase).
  2. We should all expose these links via our APIs, data dumps, or whatever other mechanisms we use to make our open data available.
  3. Developers should be able to request data from our APIs based on these identifiers, either through query parameters or through REST API resources like eg. /crops/eol/392557.json
  4. We should use semantic markup/links to denote this entity equivalence on our webpages, eg. if Growstuff links to a Practical Plants page on the same crop, there should be a standard way to say “we consider these pages to refer to the same entity”. I’m not sure exactly what this is, yet, but if we do this it will benefit web crawlers, search engines, and other non-API consumers of our websites.
  5. We should look into developing a microformat for expressing crop information on a webpage, in collaboration with I expect, however, that it will be very hard to develop a workable ontology, since (for instance) some of our projects are interested in planting information and some aren’t, some are interested in sale and distribution and others aren’t, some are dealing with non-edible plants and others aren’t, etc. It may have to be as simple as “this is a crop and here are the names we have for it”.
  6. It would be great to put together some kind of visualisation like the linked open data cloud to show which open food projects are providing interoperable identities and how they connect to each other.

I’d like to get buy-in from other open food data projects on at least the general idea of matching our “crop” entities (whatever we call them) against some of the big databases. Who’s in?

Syndicated 2014-09-30 02:11:13 from Infotropism

Two frogs in a bowl of cream

A story I got from someone who says she got it from an older Dutch woman. I wouldn’t mention the Dutch woman thing except that this story just seems so Dutch to me. Anyway.

Two frogs fell into a bowl of cream. They swam and swam trying to get out, round and around in the cream, for hours.

Eventually one frog gave up, stopped swimming, and drowned.

The other frog kept swimming, refusing to give up. Finally the frog’s activity, splashing around in the cream, turned it to butter. It became solid in the bowl, and the frog was able to climb out.

The moral, I’m told, is that sometimes if you just keep kicking things will magically solidify under you and you’re can step up out of the trouble and move on. Also, apparently I’m frog #2. Trust me when I say it’s exhausting.

Syndicated 2014-09-30 01:16:37 from Infotropism

Dinner, aka, too impatient to wait for a real loaf to rise

Testing Instagram/ifttt/wordpress/DW integration

The Pathway to Inclusion

Lately I’ve been working on how to make groups, events, and projects more inclusive. This goes beyond diversity — having a demographic mix of participants — and gets to the heart of how and why people get involved, or don’t get involved, with things.

As I see it, there are six steps everyone needs to pass through, to get from never having heard of a thing to being deeply involved in it.

pathway to inclusion - see below for transcript and more details

These six steps happen in chronological order, starting from someone who knows nothing about your thing.


“I’ve heard of this thing.” Perhaps I’ve seen mention of it on social media, or heard a friend talking about it. This is the first step to becoming involved: I have to be aware of your thing to move on to the following stages.


“I understand what this is about.” The next step is for me to understand what your thing is, and what it might be like for me to be involved. Here’s where you get to be descriptive. Anything from your thing’s name, to the information on the website, to the language and visuals you use in your promotional materials can help me understand.


“I can see myself doing this.” Once I understand what your thing is, I’ll make a decision about whether or not it’s for me. If you want to be inclusive, your job here is to make sure that I can imagine myself as part of your group/event/project, by showing how I could use or benefit from what it offers, or by showing me other people like me who are already involved.


“I can physically, logistically, and financially do this.” Here we’re looking at where and when your thing occurs, how much it costs, how much advance notice is given, physical accessibility (for people with disabilities or other such needs), childcare, transportation, how I would actually sign up for the thing, and how all of these interact with my own needs, schedule, finances, and so on.


“I feel like I fit in here.” Assuming I get to this stage and join your thing, will I feel like I belong and am part of it? This is distinct from “identification” because identification is about imagining the future, while belonging is about my experience of the present. Are the organisers and other participants welcoming? Is the space safe? Are activities and facilities designed to support all participants? Am I feeling comfortable and having a good time?


“I care enough to take responsibility for this.” If I belong, and have been involved for a while, I may begin to take ownership or responsibility. For instance, I might volunteer my time or skills, serve on the leadership team, or offer to run an activity. People in ownership roles are well placed to make sure that others make it through the inclusion pathway, to belonging and ownership.

If you’re interested in participating in an inclusivity workshop or would like to hire me to help your group, project, or event be more inclusive, get in touch.

Syndicated 2014-08-12 00:42:32 from Infotropism

238 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!