Geek Factor…

📼

One thing I often hear when discussing technology related issues is that only geeks care about this, this is generally true, but it also very short-sighted. While geeks are generally considered a group that is pretty well separated from general society, they are still a part of it. In fact, while their direct influence on society is pretty limited, the long term impact is surprisingly deep.

A few years ago, I went to Rote Fabrik, the alternative place down to the lake, for a performance about the Commodore 64. I was expecting to see only old geeks, but to my surprise there were also young art students, trying to understand what this whole 8 bit thing is about. One of the most obscure aspect of my geek culture had suddenly become obscure art. That was certainly not something I had expected, as this was something only geek cared about, and not very strongly.

Internet is the obvious way geek culture has influenced everyday life, but the ramifications go beyond the network: jargon, piracy have become mainstream, the fact that the only real new political party to emerge in Europe those last ten years was the pirate party is pretty telling. Cinema and fashion are increasingly influenced by geek currents: cyberpunk, steampunk, manga. This summer’s blockbuster is a giant mecha story.

What I find fascinating is that geek influence seems to be underestimated within the geek circles. People like to think that Apple rose from its ashes by the grace of sleep designs and marketing. Before that, it embraced a core geek technology (Unix) and made sure that most geek students would have a laptop with their logos. Since then, Microsoft has seen its influence waning. Linux, once the confidential tool or hardcore geeks now powers a large proportion of all things that consume electrical power.

Why this discrepancy? My feeling is that is comes from the difference between saying and doing. During all those years, geeks have been doing stuff: building, fixing, configuring, coding, drawing, publishing, hacking. Meanwhile people on the public scene have been mostly talking. Unsurprisingly, they still say the same things… Good ideas are like machines, they need time to be built, broken-in and tuned properly so they actually work. We should keep an idea about things only geeks care about, in particular the young ones…

Flattr this!

Limmatschwimmen 2013

Limmatschwimmen 2013

今年三回にチューリッヒのリマト川泳ぎました。青空ぬるい水、天気結構でした。皆微笑して川の流を乗りました。一杯人々が参加したかったので切符を買う大変難しかった。でもそれだけ楽しかったので努力に値する。

This year again, I swam in Zürich’s Limmat river. Blue sky and warm water, the weather was perfect. Everybody was riding the river’s current smiling. Because so many people wanted to participate, getting tickets was pretty hard, but it was so much fun that it was worth it.

Cette année encore, j’ai nagé sur la rivière Limmat à Zürich. Un ciel bleu et une eau tiède, le temps était parfait. Tout les participants se laissaient porter par le courant en souriant. Comme l’évènement est très prisé, il n’a pas été aisé d’obtenir des tickets, mais cela en valait la peine, tant c’était agréable.

Dieses Jahr bin ich wieder in der Limmat in Zürich geschwommen. Blauer Himmel und warmes Wasser, das Wetter war ausgezeichnet. Alle lassen sich lächelnd durch die Strömung tragen. Da so viele Leute mitmachen wollten war es hart, Billetten zu kriegen, aber es war so viel Spass das es sich lohnte.

While everything went fine, and the was much fun, I feel the organisation could be improved in multiple ways. First the ticket sale was handled by StarTicket, whose servers were instantly overloaded when the tickets came on sale. I have trouble believing this event was enough to overwhelm their system, they certainly sell tickets for highly desirable concerts.

The second part is getting the starting number, I had to wait in a queue for more than one hour, this after barely getting the tickets online. I think that while there is some amount of coordination involved, they could still have made this queue much faster.

Finally the queue at the start was, like every year, a mess. We were basically given a start number in a 3 minutes slot, to then be mixed with people from various time-slots. The queue was not structured, and there was a bit of showing and cutting in line which I found stupid and annoying. What is the point?

Flattr this!

Micro-formats

microformat logo

Suite à mon billet sur les , on m’a fait remarquer que j’écartais un peu vite les µ-formats (micro-formats) et qu’un exemple concret serait le bienvenu. Je vais donc essayer de combler cette lacune avec le billet d’aujourd’hui.

Le but des µ-formats est le même que celui des µ-données : encoder des informations sémantiques, des méta-données, dans le code des pages web. À la différence des µ-données, les méta-informations sont encodées dans des attributes classiques : class, rel, et rev. L’idée centrale est d’encoder les informations associées avec un format de donnée existant, comme par exemple vCard, utilisé pour stocker des contacts, à l’intérieur d’une page web. L’avantage de cette approche c’est qu’elle s’appuie sur des spécifications existantes, la µ-format définit seulement comment un format existant est encapsulé en HTML, pour le reste, on en réfère à la spécification utilisée.

S’il existe une variété de formats supportés, il n’y a pas de notion d’ontologie de types. Donc soit on désire représenter une entité pour laquelle un format est défini et tout va bien, soit l’entité n’existe pas et c’est un peu compliqué. Pour reprendre l’exemple de Tigres Volants, il n’y a pas de formats standardisé spécifiques aux livres, donc on doit se rabattre sur le format , il existe aussi une version 2 de ce format, appelée, h-Product mais qui ne semble pas être utilisée. Voici de la représentation en µ-format hProduct :

<div class="hproduct">
Titre: <span class="fn" >Tigres Volants</span><br/>
Auteur: <span>Stéphane Gallay</span><br/>
Éditeur: <span class="brand">2D Sans Faces</span><br/>
<div class="identifier"><span class="type">ISBN: <span class="value" >9782847890525>/span><br/>

Les plus observateurs auront remarqué que la balise span qui entoure l’auteur n’a pas de classe, la raison est simple : le format hProduct est prévu pour décrire des produits, pas des livres, et n’a donc pas la notion d’auteur. De même l’éditeur a été inséré sous la classe brand (marque), ce qui n’est pas une approximation très heureuse. En exemple plus complexe mettrait encore plus en évidence les faiblesses des µ-formats, là où il est très simple de préciser l’année de publication, la liste des contributeurs, le nombre de pages dans des µ-données de type Livre, c’est tout simplement impossible à faire de manière standard en µ-formats définis actuellement.

Flattr this!

AEI Logo – Matthias Wiesmann - 1996

Chaos and Algorithms

AEI Logo – Matthias Wiesmann - 1996

This blog is probably read most by algorithms, systems that try to find security weaknesses or scrapes that attempt to make sense of this blog. Alas they cannot read the sub-title, probablement n’importe quoi, so they attempt in vain at finding what is simply not here: structure and order.

So spambots try to push japanese comments selling Gucci wares on the French posts and compliment me on the technical interests of my aikidō posts. The latest confused bot sent me an e-mail requesting that I add my nostalgic post about the presentation page I did ages ago for the computer science student association at the university of Geneva:

I came across your site, wiesmann.codiferes.net/wordpress/?p=6897&lang=en and I wanted to share our specially curated Engineering and Computer Science ☓☓☓ page that I thought may be of interest to you and I believe that these types of information is very valuable to the readers of your site.

Feel free to view it here: ☓☓☓☓☓☓☓☓☓☓☓☓☓

I’d be honored if you would add the link on your website as a useful and credible source of free online courses for your visitors to refer to. I would love to hear your feedback and answer any questions you may have.

I must say I pity that bot, begging for links from a confidential blog like mine; the five readers of that blog post are beyond the reach on online computer science degrees, they had their degrees before the online variant existed…

Flattr this!

The line

In aikidō, is customary to line-up a the beginning and the end of the class, and, depending on the dōjō, while the teacher explains. As the dōjō floor is covered with rectangular tatami mats, the natural thing is to line up on one of the lines drawn by the separation between the mats. Our dōjō is built in some repurposed office space and is thus pretty long and narrow, so there is not much depth between the people lining up and the 正面 (shōmen), the main wall that hosts the 神棚 (kamidana), the space where o-sensei’s picture is placed, which is sometimes decorated with flowers. People do not want to be too much in the front, so they line up on a tatami separation, leaving close to no space behind them and making it thus difficult for people to circulate behind, which is bad. The main teacher tries regularly to have the students line-up more to the front, not on a tatami line, but his efforts are thwarted by human nature: it is very hard to not line up on a line…

Flattr this!

Learning Computer Science…

Collège Calvin – Aile Sud – © Creative Commons

When I was a teenager, the question of my future career came up, so I ended up trying various things, talking to various people. I cannot say that this was a very structured experience, or that I came out of it with a clearer understanding of the world and my future, which was generally far in the future, and after my military service, which I was really not looking forward to, the cold war was not over then. While I had an affinity to computers, I tended to lean towards biology, mostly because the people I saw involved in it where cool in a geeky way that appealed to me.

I was also in a high-school track focuses on latin, because these were the days when people though that learning latin was important for everything and could be a blocker for certain university paths like medical science, not that this was clearly spelled out, the school system was involved in so many parallel reforms that I suspect nobody really knew. Those way the days of outdated and incorrect informational brochures…

Still I spoke to some guys who were doing real work with real computer. I don’t remember much of what they say, as they spoke mostly on how the work was done, and not so much on the computing part, I certainly understand why they did that now, but certainly did not then. The one thing I remember is saying I was excited about the new thing, that is graphical user interface, and the guy calmly explaining that this was irrelevant, not needed by the industry, and, by and large, a distraction, and would never really catch on in the industry. His explanation was structured, logical, and I think very sincere.

In my heart (or whatever acts as substitute with teenagers) in knew this was wrong, and subsequent talks with other people involved with computers brought out a strange pattern: people in entrenched in computing considered PCs to be the true way, and everything else toys not worthy of the industry’s attention, while people on the sideline, biologist, hackers used different devices, I saw a Commodore 64 used in a lab to measure the growth of plants, teachers writing interactive decks to teach in , video manipulation with the amiga. None of these things were considered real computers. One of the advantages of going to a reasonably conservative high-school ( is in the building were Calvin himself taught), is that you get a good measure of what real culture or real art means, it means fossilised.

Université de Genève – Aile Jura © Creative Commons

In the end, I did the army and went to the university, where in spent a seizable amount of time in a karate-kid state, trying to learn math and to see the relationship with karate computing. I also spend an sizeable amount of time being told that the languages I had learnt (Basic and Pascal at that point) were not real programming language, and that in the future we would all use so called high-level languages. The Ada compiler would crawl to an end, the Lisp interpreter segfault and crash, and on the sidelines I would learn to compute real stuff using Fortran and do actual code that did stuff in C. In parallel I learned how to code for the Macintosh in Pascal.

The educational system is obsessed by not giving out knowledge, but meta-knowledge, i.e. not to teach stuff, but to teach how to learn stuff by oneself, while this sounds great in theory, it is also very disempowering. Learning how to actually do stuff, read english or be able to write some program that actually does stuff is very empowering and motivating. That is something I did on the side, and all those in my class who did not do such things tended to wither on the side, overwhelmed. Unsurprisingly, attrition rate was horrible and it still was when I was teaching, a few years later.

Meanwhile the world had moved-on and entered the golden age of the Windows machine, internet had started spreading, Apple was all but dead, the boom was on, and I decided to start a PhD. One of my main problems during that time is that I was supposed to work on distributed database and simulations, but had little experience in interacting with the internals of such large systems, and of course they were not written in a high-level language, or documented with , so again I was overwhelmed.

Somehow I still managed to finish my PhD, and also did some amount of teaching, with the same themes coming again and again:

  • We need more people who understand computers, as our society is relying more and more on that technology.
  • Computer science is so machine-oriented it is dehumanising, students should be forced to do some humanist studies.
  • Why are there so few women in computer science?
  • Kids those days, they can’t really understand computers! they only used a X and not a real Y.
  • Do not worry, in five years the school will implement program X that will use the platform everybody was using five years ago.
  • User interfaces/networking/security/fault-tolerance are not really important, real computing systems are used in condition where those things are irrelevant.
  • Why teach computer science? all theses jobs are going to be outsourced to India/Pakistan/China.
  • Today’s young people were born with a gaming console/personal computer/smart phone, they understand computers intuitively, no need for all these courses!
  • We don’t need computer scientist to teach computer science, we prefer to rely on Math/Physics/Biology/wood-working/Gym teachers, as they already know pedagogy, and you know, and good teacher can teaching anything.
  • Why are there so few people with computer skills?

And so on. My best answer to half of theses conversation themes are the other just the other half of them. The big irony, of course, is that I’m mostly coding with the same class of tools than when I started, Python has replaced Basic, and C++11 has replaced Pascal, most of the grandiose changes predicted for computer science itself have not really materialised, the computing platforms have been rolling over at a regular place, mini-computers displaced by micro-computers, who became PC, who morphed into laptops, which are being replaced by mobile phones and tablets. Society in general does not have the slightest clue how these things work, but then, nobody understood how an analog TV worked, mobile phones are corrupting society like Radio, TV, Video-games did before. Sociologists, politicians, teachers are doing their thing…
I’m on a horse

Collège Calvin, Aile Sud © Nautica Shades – Creative Commons Attribution-Share Alike 2.5 Generic
Université de Genève, Aile Jura © Alexis Rivier – Creative Commons Attribution-Share Alike 3.0 Unported
 Only metaphorically.

Flattr this!

Myamoto
Musashi
The book of five rings
Translation by William Scott Wilson

The book of five rings (五輪書)

Myamoto
Musashi
The book of five rings
Translation by William Scott Wilson

五輪書を英語で読みました。面白い本です。武道だけに当てはまりないと思います。プログラムも。

I have read the english translation of the book of five rings, a very interesting book. I don’t think it is only applicable to martial arts, but also to coding.

J’ai lu la traduction anglaise du livre des cinq anneaux, un ouvrage très intéressant, qui ne s’applique à mon avis pas seulement aux arts martiaux mais aussi à la programmation.

The book of five rings is considered by some as the second book of strategy after Sun Tsu’s Art of War, and Musashi is some kind of legend in aikidō circles, so when I found a copy of the book of five ring I bought it. These days I’m reading a lot of stuff about martial-arts, so it made it to the top of the pile.

The book of five rings

William Scott Wilson
Kodansha International 2002
ISBN : 978-4-7700-2801-3

While the text present itself as a martial art reference, it borrows a lot of metaphors from other workmanships, a carpenter in the introduction, a sailor later on. To a large extent, the text is about management and focus, and a no nonsense approach to things, and I found a lot of ideas could be applied to programming: understanding the problem, aligning oneself with the rhythm of things, and changing approaches when ones does not make progress. Musashi advises against any form of preferences, be it for stances, techniques, or weapons, such preferences prevents one from choosing the right approach for the problem at hand. The same could be said about the various techniques, languages, frameworks and paradigms that pullulate in the computer science world, and probably many fields of human endeavour.

In the martial arts, when your opponent is going to use some technique on you, it is important tat you let him do it if it’s useless one. But, if his action is functional, suppress it and keep him from completing it.

Another important notion of the book is the void ([ MU]), not having a stance, not thinking the martial-art part, instead having your mind observe the situation gathering information. The underlying idea, to be part of the flow, and not let the intellect interfere with that flow, seems to be recurring thing in my life these days, both for work (getting myself and the team in flow of coding) and in aikidō.

While I felt the translation by William Scott Wilson was pretty good, and the provided notes were insightful, the text still has the heavy handed feeling of religious texts: while short, there are many repetitions, and each section finishes with a sentence explaining that this section is very important and needs to be studied further.

One last note about this edition, while the assembly of the paper jacket was pretty weird, the book itself is quite well made, good paper, and a nice layout, not intrusive, but very elegant with a few nice illustrations. All in all I think this book is a worthwhile read, in particular if you are interested in martial arts.

Flattr this!