Platypus Header

Platypus Innovation Blog

1 September 2015

Encountering #feminism on Twitter: A Methodology Story

This is from my work (and Alex and Jenni's) with Viv Cree and Steve Kirkwood at Edinburgh University analysing #feminism on Twitter: notes on how we worked together. Here are the Talk Slides

16 July 2015

Care

An idea for a play of pure blackness came to me this morning. Taking a leaf from the great Borges and being short on time, I will write the synopsis rather than the thing. But unlike Borges, I will also dispense with the beauty and poetry of the writing.

The perfectly normal remnant of a family: A father lives with his one of his grown up daughters. The setting is modern America. The family are normal; everyone works, everyone has it hard. Father is diagnosed with a disease -- painful, deadly, but curable. But the cure is expensive, and his health insurance, which is not very good, will not cover it. The father is a gruff quiet fellow, a man of stoical dignity. He asks for nothing. There is a second daughter, and she is called in to help. Of course she comes as quick as she can, and wants to help. But she is reluctant to part with her savings -- the product of years of toil, carefully set-aside so she can buy a house.

The family look for other ways out. The tension grows between the two sisters. But it is the father who cracks. A gut-wrenching scene follows, where the father breaks down and begs for his life from his daughter.

This horror is the heart of the play. What happens next is inevitably bad: The daughter gives in and says yes. But the next morning her sibling finds she has gone. Unwilling to make this sacrifice, but unable to face her family, she packed and fled. The remaining daughter hides this betrayal from her father. She chooses the sacrifice, giving not only her own savings, but now also needing to take on a crippling loan. She buys the expensive medicine, a few bottles of pills, small yet precious.

While she is out on these life-changing errands, father is home reflecting. Appalled by what he has asked of his children, he commits suicide. The daughter returns home to find him dead, an empty bottle of pills by his side.

Curtain.

The ending is overly melodramatic; there is no need for the suicide. This is a kindness to the audience, to spare them the black bile of realism and instead give the full blood and catharsis of Tragedy.

The moral of course is that there is a better way: the community should provide free healthcare, making fair decisions about what can be provided. For a UK audience, this moral would be obvious, as would be the follow-on of: protect the NHS and the Welfare State, it's a good thing.

16 June 2015

Eclipse 4 vs IntelliJ 13 -- Which is the best Java IDE?

Which is better for Java development - Eclipse or IntelliJ?

Having worked with both, I think there is no clear winner.

IntelliJ scores big on:
 - UI speed: I think Eclipse's auto-complete is a bit more powerful, but IntelliJ's is faster.
 - Stability: About once every few months, Eclipse gets into a broken state best fixed by re-installing it.
 - Finding features: IntelliJ has a command-finder, much like the one in Sublime Text. Hit Control+Shift+A then type a keyword, and it lists the related commands. This is great for discovering features.
 - A more natural relationship with the file-system (although still a bit peculiar).

Eclipse wins on:
 - The compiler: IntelliJ demands that all files compile without error. That sounds reasonable, but it's actually a nuisance in team-work projects. Someone else's error in a different part of the code can block your work.
 - Git / source-control integration: The Eclipse integration is easy to use, and the diff compare-with tool is brilliant.
 - The debugger: they're both very good, but Eclipse's debugger wins. It has easier breakpointing, better inspection tools, and brilliant support for editing code whilst it's running.
 - The refactoring support.

In many places it's a matter of personal taste. For example, IntelliJ's layout is more compact. Eclipse has dynamic switching between layouts ("perspectives"), with stable views in a layout; whilst IntelliJ has one layout with dynamic pop-up views. etc. etc.

If you're familiar with one -- I would stick with the devil you know.

14 January 2015

JVM settings when using Jetty via Gradle & Gretty

We're using Gradle, Jetty, and Gretty in a project. We'd like to use asserts and a native library... How do you pass in settings to your JVM?

You can do this in the file build.gradle, within the gretty block, using jvmArgs (which takes a list of strings), like this:

// Gretty
buildscript {  
    dependencies {
        classpath 'org.akhikhl.gretty:gretty:1.1.3'
    }
}

 
apply plugin: 'war'
apply plugin: 'org.akhikhl.gretty'

gretty {
    // supported values:
    // 'jetty7', 'jetty8', 'jetty9', 'tomcat7', 'tomcat8'
    servletContainer = 'jetty8'
    jvmArgs = ['-ea']

}

And that's enableAssertions set to true.


1 January 2015

Not antisemitic only anti-Zionist?



If you're in doubt about whether antisemitism exists in Britain, read the Facebook page Everyday Antisemitism.

The Guardian's had some good articles recently on antisemitism in the UK, especially within the left-wing. The comments section (never read the comments) shows that the problem is real, and also that some people don't recognise offensive and antisemitic comments. So here is the EU's working draft definition of antisemitism.

There's obviously anti-semitic stuff, and then there's a grey area around Israel and Zionism, and this document has a reasonable go at delineating that. Summary: Criticism of Israel similar to that levelled against any other country cannot be regarded as antisemitic, but anti-Israel comments can be antisemitic.

Some people seem to feel that any anti-Israeli statement is fine as long as it doesn't use the word "Jew". That's problematic. Of course Israel can be criticised for e.g. its poor human rights record. But also it is possible to be racist about Israel and Israelis. To debate whether such comments are technically antisemitic or merely racist-towards-a-nation seems besides the point.

On the recent Labour Party problems, some on the left have tried to dismiss the issue, arguing that it is being used to unfairly attack Corbyn -- whilst Zac Goldsmith and the Tory Party can get away with running a really racist anti-Muslim campaign. I think this is true, but dismissing the issue is wrong. The problem of antisemitism is real, and should be addressed.

My own experience is I'm happy to say I rarely encounter antisemitism, but I have encountered it, and in leftwing groups (although there's a sampling bias there, as I rarely hang out with UKIPpers).

Note: This post was backdated from May 2016, because that is the way to set front-page ordering on this blog.

13 October 2014

Broken by default: Java 8 is not quite backwards compatible

Java 8 introduces several nice features, one of which is the default keyword. This is close to having mix-ins (aka traits; inheriting code from multiple parents) which is great. It also lets you add new methods to an old interface without breaking existing implementations. Or that's what it's meant to do.

But Oracle have broken backwards compatibility.

It is an error for a class to inherit a default method from two parents. If that happens, then the class must override the default method to specify what happens.

But if the default method involves a Java 8 class, then implementing it will break your code for Java 7.

I encountered this because we have a class which implements both List and Set. It's now impossible to do that if your code has to work across Java 7 and 8. To work in Java 8, it has to implement spititerator(), but that will break Java 7 which knows nothing of the Splititerator class.

23 September 2014

How Social Media Failed Scotland

We've just seen (and been part of) a great democratic event in Scotland -- the whole country engaged in politics culminating in 85% of the population voting at the referendum.

As we all know it was a close race with 55% voting No (pro-Union), 45% Yes (pro-independence). But that's not the picture you'd get from Twitter, where 90% of tweets were pro-independence.[1]

That's a failure for social media -- a great debate took place, but not on Twitter where nearly half of the people were absent. Unwilling to take part in an unwelcoming space?

Age of voters does not explain this. An opinion poll taken on the day shows the No vote was strongest amongst older voters[2], less of whom will be on social media. However the other age groups showed closer to an even 50/50 Yes/No voting -- nowhere near the 90%+ observed on Twitter. Even taking age into account, social media was one-sided in an unrepresentative way.

Social media worked fantastically for the Yes campaign. The stream of Yes posts helped to build and maintain energy, spread pro-Yes knowledge through the network, shore up support, challenge No voters' thinking, and create a peer group effect in favour of Yes. Undoubtedly, it helped Yes to close the gap towards almost winning. However that very success had a downside: The No voters were absent -- until polling. They largely stayed out of the online debates, and you can't influence people if they aren't engaged.

Cybernats and subtler

Much was made in the mainstream press of Cybernats, abusive Scottish nationalists active on social media. Having examined a lot of tweets, I conclude: Cybernats do exist, and in greater numbers than the equivalent unpleasant No-supporters (Unitrolls), but they were still a very small minority. There were also people who, though not abusive, were aggressive -- again relatively small in number and effect. Mostly people did, as Gordon Brown put it, "disagree without being disagreeable".

A larger effect was (I think) the self-reinforcing momentum that Yes built up, which closed down the space for No voters to speak. Although the Yes and No camps were roughly the same size, the Yes were more passionate. A spiral emerged, whereby Yes supporters received considerable community reinforcement online, hence building that community, whereas No posts received more disagreement and critical questioning, acting to deter them.

So it wasn't really the Cybernats or any form of foul play. Social media became welcoming to one set of people and off-putting to the other. The No voice was self-silenced by the dominance of the Yes voice.

What makes for better debates?

This brings out an inherent weakness in forum debates -- that if a position should become too dominant, that very fact acts to shut down debate, as the other parties quietly leave.

So how do we create spaces where debate can flourish? Comparing Facebook and Twitter, we see that privacy and community encourage people to speak their mind. Unsurprising, but worth learning from.

The problem with Facebook debates is that they easily become closed "bubbles", rather than open debates. Each bubble acts as it's own echo-chamber, with the illusion that everyone agrees. In this case, the debate cut across networks, so most people knew Yes & No voters. Even so Facebook's filtering algorithms quickly act to create bubbles-within-bubbles. Facebook tries to select things-you-will-like and filter out things-you-won't-like, which is great for seeing/avoiding cat photos, but it's not a formula for real debate. In other debates, you might never hear the other side's point of view.3

Is there a third way -- something which can combine the open knowledge sharing of Wikipedia with the community aspect of Facebook?

I have some vague thoughts on how this might work (drawing on ideas from Lucas Dixon, Colin Fraser& Ben Young's old KenYersel project, http://www.kenyersel.org/), but nothing concrete. Any suggestions?



[1]: Counting #voteno / #voteyes from 1st August, 89.2% of vote-x tweets were for Yes. Even this is actually an under-estimate of the Yes dominance. The #voteno tweets were disproportionately from outside Scotland, and there were also considerable Yes supporters jumping on the #voteno hashtag to reach-out-to / mess-with the No audience. Anecdotally, the picture was more balanced on Facebook, where greater privacy and friendship groupings created a more open debating space.

[2]: Summary results from Lord Ashcroft's poll of 2,000 people

[3]: See Gilad Lotan's fascinating analysis of social media activity around the recent Israel/Gaza conflict. Data analysis of how news around the Israel-Gaza war was handled in social networks. TL:DR; People talks to like-minded folk who reinforce each other's viewpoint. Few people hear what the other side is saying.

Picture from http://www.anticapitalistes.net/

Good-Loop Unit