domingo, 11 de enero de 2015

Freedom of Mock-speech

These past days everyone's been writing about the Charlie Hebdo killings, and, though I knew there would be people justifying the attack it finally drove me to write something too.

If you want to see an example of that justifying, not from a political or religious leader - those always have to say something in their published ideas, but I tend to suspect if they really believe them - please take a look at this and look for the comments of MadGastronomer. He (or she, I don't know) is but a single example.

In these days I've tried to extend a bit the reach of really wonderful people (like Neil Gaiman, Erikka Innes or Stephen Fry) writing not just about Charlie Hebdo but about freedom of speech (and freedom of joke) in general.

One of the problems we have now is precisely because too many people want themselves to be taken too seriously by everyone else. X leaders want to be taken seriously, where you can choose X to be in mostly whatever group (I can include several without much effort: Christians, Muslims, Jewish, "Traditional marriage defenders", LGBT rights defenders, left-wingers, right-wingers and feminists - sorry, never heard of of a machism-defender movement)

What is the problem with being taken too seriously? One thing the jesters did was precisely to mock things - thus, somebody could make inconvenient truths reach people with power without offending them, and that's a really good thing. How many persons you think were willing to say to Ayatollah Khomeini something like "Don't you think you're really stepping over the line with this thing?"

One trait that a lot of people, famous and otherwise, have said is that it's important to laugh of oneself, to not take oneself too seriously. That makes easier not to become a fundamentalist, too rigid, too unwilling or unable to change. All of us take something too seriously to laugh about it. And if something is too serious to be laughed at, it's one step shorter to be serious enough to be vindicated - by word or by (violent or otherwise) action.

And we can't laughed at things we take too seriously, that's why we need people able to do that, to be taught about it, to be less sure of the right of our beliefs to gag other beliefs' expressions.

Mock-speech is not Hate-speech and couldn't be. I'm not saying haters don't joke - they do - but that the inverse can't be. Precisely the fact that it's intended as a joke is what makes them hard to take too seriously. How many times somebody said something, you got offended by it, and other guy said something like "come on, it's just a joke".
Of course some jokes are to make people think, it's the same thing that happened with jesters. If you're too rigid the people you have around probably won't be telling you that you are. They either love you, work with you, or are otherwise convinced that making you realize your excessive rigidness is not worth the argument with you. Exactly as happened with kings, barons and even church leaders from classic Rome to our days. Christian-ism is younger than that - and Islam even more so, to help giving a perspective.
But the point jokes can be meant to make think doesn't make them hate-speech. I'm tired of people seeing racist, sexist, religious and political jokes, among others, as offensive and worth of banning just because they mock race, sex, sex-orientation, religion and political stereotypes. Why should we be offended by ridiculing stereotypes if we are not supporting - or identifying ourselves with - that stereotype?

Jokes that don't get laughs don't get told too much, and end disappearing - kind of natural selection, really - so there's no reason to ban any joke. If it has survived this long, either it's mocking a stereotype still present in our days, or it's not going to be told much more.

Let's see if I can make the distinction between mock and hate-speech starker:

JokeHate speech
The whole movie, actually
Whosoever transgresseth, and abideth not in the doctrine of Christ, hath not God. He that abideth in the doctrine of Christ, he hath both the Father and the Son.
If there come any unto you, and bring not this doctrine, receive him not into your house, neither bid him God speed: 
For he that biddeth him God speed is partaker of his evil deeds.
-John 2:9-11
On the sixth day God turned to the angel Gabriel and said, "Today I am going to create a land called Israel. It will be a land of outstanding natural beauty. It will have rolling hills and mountains full of goats and eagles, a beautiful, sparkling, clear ocean full of sea life and high cliffs overlooking white sandy beaches."
God continued, "And I shall make the land rich in oil to allow the inhabitants to prosper. I shall call these inhabitants ‘Jews’ and they shall be known as the most friendly people on the earth."
"But," asked Gabriel, "Don't you think you’re being too generous to these Jews?"
"Not really," replied God, "just wait and see the neighbours I am going to give them." 

source: http://www.jokes4us.com/ethnicjokes/jewishjokes/jewishjokes.html






JokeA black boy is playing in the kitchen and he covers himself in flour. He goes up to his mother and says “Mummy, look at me ! I’m not a little black boy anymore I’m a little white boy!”
WHACK ! His mum slaps him around the head, “Go and tell your Father what you just said !”
So the little black boy, complete with sore cheek walks into the living room and says to his Father “Daddy look at me ! I’m not a little black boy any more I’m a little white boy!”
WHACK ! His father kicks him in the balls, “Go and tell your Gran what you just said !”
So the little black boy hobbles into the garden and says to his Gran “Granny look at me ! I’m not a little black boy any more I’m a little white boy!”
WHACK ! His gran punches him in the nose and asks him what he has to say for himself.
Standing there with blood pouring down his face, clutching his balls he says “I’ve only been a white boy for 5 minutes and already I hate niggers!”

Joke





The moral should be "go against the hater, not the jester" or something like that.

To end with a lighter tone:

Change "white people" to whatever label you consider yourself you are. And, please, find some laughable jokes at that label.

jueves, 8 de enero de 2015

One pom.xml, multiple jar, different resources per jar

Today I had one of those problems born mainly from stubordness: how to make two jars with different resources with only one maven run?

I wanted to take advantage of Servlet 3.0 and serve static resources - namely, ExtJS - from a jar, thus avoiding the need to copy the distribution of Ext JS on every application I wanted to use it. That was easy enough, but today I had one of those strange desires: I wanted the whole distribution - sources, resources, html documentation... everything - to be in another jar, just in case I wanted to include it in another application.

At first I thought it was going to be simple enough, after all, I had done similar things to web applications just with maven-war-plugin, so first I tried maven-jar-plugin, since I wanted a second jar.
Add another execution, with its own configuration - in particular, the resources/resource section - and that should do, right?
Well, wrong.

Then I tried the assembly plugin but didn't like the whole "build your own descriptor" thing.
Then I tried the resources plugin, but it still created one jar (with everything I added in the resources additional execution)

Finally, pulling the thread, I understood that the copy-resources I was doing was putting the documentation files in the classes directory that would get into the jar, hence the jar containing everything.
Then I looked the jar plugin and found that you can select what folder he has to use as source for the jar's contents, and that was it.

The end is:
1. Configure another execution of the resources plugin to copy all the content into a different folder.
2. Configure another execution of the jar plugin to use that folder.

Here's the particular fragment of the pom.xml, just in case

<build>
    <plugins>
        <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
                <execution>
                    <id>documentation</id>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <phase>package</phase>
                    <configuration>
                        <classifier>docs</classifier>
                        <outputDirectory>${project.build.outputDirectory}/../docs</outputDirectory>
                        <resources>
                            <resource>
                                <directory>src/main/resources</directory>
                            </resource>
                            <resource>
                                <directory>src/docs/resources</directory>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <configuration>
                        <classifier>docs</classifier>
                        <classesDirectory>${project.build.outputDirectory}/../docs</classesDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>