Open Source projects and Git self hosting

A mailing list I’m on has been discussing where Open Source projects should host Git repositories. I wrote up these rough thoughts and have been asked to post them for others:

Been thinking about this, and I realised Open Source projects have to be very careful self-hosting.

The whole model of Open Source on Git for welcoming contributors is Fork-and-pull-request. As in Random Person A forks your projects, makes changes, makes pull request, you check,¬† accept and merge – great. But that also means you have to allow Random Person B to fork, change, request and you to realise that B’s code changes are totally wrong¬†(or worse, B themselves is an idiot) and politely refuse.

But this means if you self-host your Git repository for an Open Source project, you ideally have to allow random person A and B (who may be an abusive moron) to make accounts and start putting whatever code they want up there. You basically have to became a code host and start watching your hosting very carefully, otherwise before you know it someone is abusing your servers or has uploaded objectionable material. That’s not a welcoming prospect at all for an already overworked Open Source project.

The alternative is not to allow others to make new repos on your own Git hosting, but then suddenly you’ve made it harder for new contributors to contribute. You also lose visibility; if a random person forks your code most places like GitHub will track that with pretty graphs but if they clone your project and push that elsewhere you don’t see that. This matters because even if someone forks your project and changes it for their own personal use, it’s still interesting to see what they have done.

I don’t know where Open Source should host Git projects; comments and more blog posts welcome.


Adults wanting to learn to code?

Recently lots of clubs where volunteers teach kids to code have sprung up like CoderDojo and Prewired, and I know several adults have been jealous.

Often the best thing to do is start small and see how it goes, so let’s suggest this: a regular evening slot, maybe twice a month, where adults who want to learn to code can meet up and work together. They would work online on a course of their choice (Codeacademy for instance) but be with other people they could swap tips with and get encouragement from. We would try and encourage a couple of programmers along to help out people who get really stuck.

What do you think? Would people be interested? Comment below ….

You shouldn’t be able to downvote without comment

Discuss: You shouldn’t be able to downvote someone else’s content on a community moderated site without also having to explain why.

A downvote without explanation may deal with trolls but it does a terrible job of encouraging newcomers to a community who just get something slightly wrong. It basically sends the message “f* off” with no explanation or clear path on how they can engage better in the future.

For this reason, it also encourages groupthink not discussion. Anyone who’s opinion differs slightly from the prevailing opinion is down voted. The downvote offers no chance to engage in discussion to explore the issue; it simply says “You’re wrong – end of”.

Basically, a downvote without comment is a door slammed in someone’s face which offers them no path to discuss the issue more, no path to further learning and no path to re-engage with the community. The person who gets it is shut out, and the person who does it just reinforces their own views and reinforces the groupthink of the community.

Of course, it’s not all bad. Some people are just trolls who need many doors slammed in their faces and also communities need a bit of cohesion to survive. But it seems to be an unchallenged assumption that community moderated sites should allow members with a high score to downvote freely, and I think it should be considered more carefully.

Moving on from TechMeetup, but still want to help the tech community

I’ve been involved with TechMeetup for a while now. In 2010 I presented a couple of evenings then in 2011 I was the main presenter in Edinburgh, finding speakers and presenting the evening. Since then I haven’t needed to do much – others like Douglas, Dale, Marius and Phil have taken over active roles and done a great job at organising Edinburgh Events.

I’ve decided it’s time to officially move on tho. Many people still associate me with Tech Meetup and I feel I should be clear that I’m not involved anymore. I don’t expect this to change anything – every TechMeetup event I’ve been to recently has been great, and I expect that to continue.

So what will I be doing? I’ll carry on working on Open Tech Calendar. I’m working on a spin off platform called Has A Calender that lets anyone have the same wiki calendar platform for their own group or interest. This has driven lots of improvements, and I hope to launch a new version of Open Tech Calendar in a month or so (Late Dec 2013).

I also want to encourage the tech community as much as possible, and especially those who don’t normally feel part of the tech community. If anyone wants to talk about tech events or how we can build the local community for everyone please get in touch – I’m happy to talk to anyone about what we can all do to support each other.

So thanks to everyone at TechMeetup – I learnt a lot in my time there and had fun, and I look forwards to a bright future for TechMeetup and the tech community in general.

Can we make an actually realistic unemployment simulator game?

Recently people have been passing round a “realistic unemployment simulator” game. Its a fun little game.

But its not great in that its very simplistic about the issues and thus very polarising. Its unlikely to make anyone who thinks the benefit crackdown is a good thing change their mind or even think about it seriously. It’ll widen the gap between those on different sides of the political argument, not shrink it.

Could we make an actually realistic unemployment simulator game that would make those who have never been in this situation begin to understand what it’s like and really think about it instead of reaching for political slogans? Continue reading Can we make an actually realistic unemployment simulator game?

Edinburgh Farmers’ Markets Calendar

I’ve put together a calendar to list all the Edinburgh Farmers’ Markets. Having them all in one place makes it easy to see what is going on, and you can export the data into your own personal calendar. So if your local market is monthly (like in Juniper Green) you can have a easy reminder of when it’s next on. Continue reading Edinburgh Farmers’ Markets Calendar

Idea: Days Since service.

You go to a website, give it a RSS feed from a WordPress or some other blog (the RSS feed could be one tag or category only, not the whole blog) and the website will automatically keep a “X Days Since Whatever” page for you, with a big number at the top and a list of your most recent blog posts underneath.

Now everyone can set up a site like “Has DC Done Something Stupid Today?” with no programming skills needed!


What I want from Android App Permissions

I’m an Android user and developer, but I’m not a fanatic about it. There are somethings I think Android does better than iOS, and some things I think iOS does better than Android.

One of the things I think iOS does better than Android is app permissions. Currently, in Android the users have to accept all permissions at once at install time. Continue reading What I want from Android App Permissions