A notch above a monkey

History lessons

It seems like ages ago, but it’s really been less than a decade since I was busy being a localization lead of slovenian Linux user group . There was a lot to be done and I had great plans how to achieve it with few of us working on it. If only we’d execute my plans timely and precisely, we could make a mini computer revolution in Slovenia.

“A mind of a soldier and a heart of a poet.???

I used to believe this old description of me from an Indonesian friend was simply a compliment. I haven’t recognize then how wonderfully he had praised and berated me at the same time. And rightfully so.

What I hadn’t grasped then is that setting the rules, making plans and pushing people to do what you think is the right thing to do in general doesn’t achieve much. Lucky for me — and for others — I’ve left after I’ve done my part and hopefully before I prevented others to do theirs.

I’ve learned through the years — and spending so much time designing things certainly helped me with that — how subtle changes can have big consequences.

France is burning .

I won’t pretend I know why and how to fix it. There are certainly wiser and more informed people than me trying to do that and little would be gained by me joining them. But ever since I’ve read Thomas Cahill’s wonderful book How the Irish Saved Civilization , one image has stuck in my mind.

Thousands of hungry “barbarians??? waiting for Rhein to freeze so they could risk (and awfully many lose) their lives to enter Roman empire. Not to end it, which eventually they did or to become romans, as many tribes before them. They just didn’t want to be hungry anymore.

And on the other side you had a nation too self-absorbed and still proud of their civility and achievements, unable to fathom the fragility of their great civilization, unable to see imminent end to 12 centuries old empire and rule of law.

It’s hard for me as european and history buff to not see similarities between then and now and it’s even harder to believe that problem can be solved by simply not letting people in. Like that was ever possible.

What is really bad is not that some of us have too much, but that too many have too little. Or nothing.

I remember when towers fell in New York. I remember my anger at USA, a country I’ve never been to, and the feeling of injustice, of not being heard or simply being ignored. I wish I didn’t and I’ll regret it for the rest of my life, but is this the anger painfully felt in France?

We were cooking miso soup today, a dish my wife and I both love and I was thinking about Japan while doing it. I’ve always been fascinated by Japan and its culture and even though I’ve spent a great effort and a lot of time studying it, it was obvious today that my wife is a much better cook and that I haven’t got a clue about the land of rising sun.

I tried to remember what I was taught in school about it. Or about any other place outside of Europe. It wasn’t nothing. In fact it was quite a lot, especially for time allotted to it. Time — that is — which wasn’t spent learning about history of Europe and even more of our nation in it.

But it’s been clear where the focus was and I don’t think our history lessons are in approach much different from history lessons elsewhere. Simply by choosing the focus of lessons we subtly or even not so subtly show what’s important and build patriots. So far a sense of a nation seems to be the only way of maintaining a state longer than a few decades.

At the same time we guarantee and promote ignorance that clearly doesn’t help us and which leaves people like me with profound sadness and too many unanswered questions.

When I started this blog, it was my intention to create a place, where I could share little knowledge that I have as a developer and I intend to continue doing this in the future. But it became obvious today that I’ll be able to do so only after I’ve written this post, no matter how unheard and insignificant it is. I at least have a way and opportunity to speak up.

Favorite KDE features

I’ve just noticed that a lot more time has passed than planned since my last post about Linux. I wanted to write a follow up to installation post a week later, but it completely slipped my mind.

It’s been a few weeks now and my Linux box has become the place, where I do most of my work. There are three reasons for this:

  • kioslaves like fish let me work with remote filesystems over various protocols as if they were local
  • abundance of tabs which can be navigated with keyboard (terminal, editor and browser all support them)
  • bookmarks in file dialogs even for remote filesystems make using even a complicated directory layouts a joy

There are other things I really like, but it’s really hard to live without those three. The only thing really ruining my happiness is a sucky USB keyboard. So far I had no luck with finding a reasonable replacement.

Javascript and i18n

I’ve been looking for Javascript localization resources on Google and came up fairly empty handed. There seems to be little useful information and even less useful code. The only thing I found, that is actually usable, is a library by Guido Wesdorp.

I find this utterly amazing after a decade of Javascript being in wide use, although I probably shouldn’t be. A likely explanation for this is that Javascript is most often used for short scripts inside web pages. If used on a multilingual website, it’s usually fairly easy to have separate javascript files for each language.

I expect this will change with rise of more complicated, involved web applications. However, so far AJAX toolkits that seem to spring up these days like mushrooms after rain, have been busy with obviously more important things like animations.

I could be wrong. In fact, I hope I’m wrong. Is there a javascript i18n library with following characteristics:

  • easy to use
  • supports translation of javascript code and HTML
  • small and relatively fast
  • translations are separated from HTML and javascript code
  • handles properly nodes with superfluous whitespace and those where it can’t be collapsed
  • supports translation of nodes with other HTML tags as ancestors (not only text nodes)

Guido’s library is a good tool that meets many of these needs, but sadly not all of them. Writing my own one seems to be the only solution.