The Future, the Past and Marvin

This post was written 5 years ago.
Tue, 01 Jan 2013

Today I checked Twitter for a bit and saw some statements about 2012 having been a difficult year, by at least three people. I don't think I saw any that said 2012 had been a brilliant year for them. Are there years that collectively are perceived as difficult? Does every year seem difficult in hindsight? Or are people more prone to state a year was difficult than that it was great? I don't know. I think politically, for Europe and for the UK (and not only) it has been a bit worrying as well, and this might have seeped into the collective unconsious as well as having concrete effects down the line. We had the Olympics and the European Championship, and - as many other people - I enjoyed watching these events. We often had people over for the football, of English, German and Austrian nationality, and had some nice little parties. And watching the Olympics Opening Ceremony, I felt so proud I almost forgot I'm not British. Still I could not help but sometimes feel a bit cynical as well. The ancient Romans already said "panem et circenses" if what I learned at school is right. You have to give the people bread and games to keep them happy, and, I suppose, distracted from getting too enraged with their government and start rebelling and demanding stuff.

If you think now this is going to be a highly political rant you are wrong. No, just some random thoughts.

I am in this rather pensive mood, and also feeling a bit melancholy, about time passing, and passing so quickly. 2013! How unbelievable; this was a date in the far future, how can it be here now? How amazing, too. Twelve years after 2001, and only six years away from 2019, the year Blade Runner is set in.

The Society of Mind

So, yes, this post is random. I am sitting here in my mum's living room, my daughter lying on one of the sofas, and the dog Marvin on the other, both asleep and snoring. And I will just write about the things that have been on my mind in these holidays, things I thought I could put in a blog post or posts.

I wanted to write about Marvin. Not Marvin the dog, but the person the dog was named after. Marvin Minsky. More precisely, I wanted to write about a book he wrote, called Society of Mind. I read this book in just a few days, whenever I found the time, and till late at night; I somehow felt compelled to read it, after I had rediscovered it, lying on a shelf. My late father who was a big admirer of Minsky's had bought it once. The book was published in 1986, so you could argue whether it is not a bit dated. I don't know anything about the current state of Artificial Intelligence so I couldn't say. Yet I think the ideas in this book can stand on their own. Also, the way the book is written and layed out is interesting in itself. It is written in the form of essays that each span up to one page, in the edition I was reading. And the layout and typography look quite modern too. But these are just factors that support the content.

Easy is the hardest thing

So what is it about? Luckily there is a good wikipedia entry about the Society of Mind theory, so I don't have to explain it all. I like this description of the book: "It is a collection of ideas about how the mind and thinking work on the conceptual level". Yes, there are lots of theories and models, there are no proofs about how things work in reality. And yet these ideas don't seem far-fetched, actually many seem very plausible (although I don't believe at all in his explanation of foreign accents! - he suggests you lose the ability to learn the precise phonetics of a language at puberty, so there's no risk of you picking up the phonetics of your child's baby language. Hmm) The reason why they are quite plausible is that they stem from attempts to build machines that have some abilities of the human mind, starting with just very "basic" ones, things that children learn. One fascinating conclusion in the book is that it is actually much more difficult to make a machine do something we regard as basic, than things that require higher mathematics and logic. It is easier to build a chess computer than a robot that carries out actions that we learn as little children. We think of things as basic because we were not conscious of learning them, and always had them available by the time we had learned to think. Minsky is disecting the processes that it takes to, for example, build a tower from building blocks. It really is quite complicated if you think about it.

What brains do

The book touches on theories of child development, psychology, and of course programming in its aim to explain how thinking and perceiving might work, and how consciousnes might arise. Minsky at one point sums up his findings with "Minds are simply what brains do". There is no "hidden ingredient", not what we think of as a soul. This also means there isn't really a free will. Everything that happens in our mind, every decision we take, is a consequence of what we have learnt plus random events. This is not what we like to hear, and in fact we need the illusion that there is a "me", an individuum that is "in control", constant and immutable. We need it for our mind to function properly. For my part, I find this all makes sense, and it echoes things I have read about, or thought before. Not that I'd ask myself these things all that often.

I wouldn't even say I am generally that interested in theories of consciousness, I used to be a lot more. But I have returned to this interest for a few days and it was a fascinating excursion. And I think a lot of the ideas from that book will stick in my mind, just mostly unconscious, but some of them might pop up here and there.

As one last thought, of course another consequence of these ideas, if they were right, would be that we could in fact build thinking machines, given we find out enough about how the subprocesses work that together make up the work of our minds..

I would have liked to write even more about some implications of the book's ideas, it is all coming back to me now, but I have to leave it here. I did not think I'd write so much anyway.

It is all good, as probably my most important short/medium-term goal for now is to write more. And it doesn't matter for the moment what it is about. It doesn't matter that the start of this post has no apparent connection to the rest of it (indirectly it has because it's somewhat about the mind too, I guess). I have a feeling there might be a number of random posts on here, about things that just pass through my mind - actually that's what a lot of blogs do, isn't it. It's a good exercise for getting things from your unconscious before your very eyes, and doing it "publicly" provides some perhaps necessary cohesion and format. And I don't need to feel guilty about writing it, as I am not urging anybody to read it. In fact not many will read it, but some might, and that will be just the right people.

This post was written 5 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)
Tags: books / mind_stuff /

Quiet time

This post was written 6 years ago.
Thu, 20 Dec 2012

It is just a few days to Christmas and I feel quite reluctant to organise things (still some presents to buy or make, all the cards to write, and a suitcase to pack). But I am writing my end/start-of-year blogpost early.

So, let me start with work, as per usual. At this time last year I was just about to finish a website for a group of architects which I was quite happy about, as were the clients.

screenshots architects and holistic community

The most visible of this year's output: DHV Architects ( and Relaunch of Holistic Community (

Apart from that I mainly worked on websites I had inherited. The biggest project was relaunching the Holistic Community website - implementing a lovely new design by Gary Bristow, and making some structural and functional changes. I also adapted the site for use on mobile (and yes, I know it would be better to factor it in from the start, mobile first!). I was especially busy just before the summer holidays, where all clients wanted things done at the same time. From September on, things were a bit more quiet regarding work, and I focused more on own projects, and on learning!

Learning all the things (and teaching one)

In October, an experiment started that is called Mechanical MOOC and aims to teach a large number of participants Python, without there being any tutor. There are weekly emails that get sent out according to a previously devised plan. The material is aggregated from various sources like an MIT course and a freely available textboook, oh, and Codecademy not to forget. You also get assigned to a study group, corresponding via email, if you want.

I decided to take part in this experiment, I had made an attempt at learning Python before, with the book that was used in the course. One reason I've been wanting to learn Python is that it seems to be a good language to learn programming concepts, and this book had been recommended to me for this purpose. Also if I ever seriously wanted to teach kids programming, I find this would be a good language to use. Talking of programming concepts, a bit earlier I had hit upon a site called which kind of takes you by the hand and makes you see how basic programming operations are represented in memory, albeit in a simplified way. I found strangely fascinating learning about pointers and bitmasks, and I feel it actually did help me with my programming work. It felt like I had found the missing link that had made me want to study for a Computer Science MSc. I saved £8000! (Not saying I learned all I would have learned there!)

Then I was also made aware of a site called, and I started doing a course on there. They have quite an attractive format, with small units and interactive screencasts. The courses on there also use Python.

I still need to finish the last exercises of the MOOC - there is no deadline you see, and no certificate either. But I want to do the last examples, writing classes for Conway's Game of Life and Tetris, should be interesting. So far anyway I think I have learned more than previously on my own. I will try to apply some of it next year, but even if I don't it was good widening my programming horizon.

I've not only been learning, but also done a bit of teaching. I am now running a Code Club at the school my children attend, using Scratch. And my children are even part of it. This deserves its own blog post really, which I hope I will write soon. Suffice to say, despite some variation in how organised sessions were, and how focused the children, it did work quite well. The children were at the lower end of the age spectrum (which is 9 to 12) and struggled a bit with some projects, but they were always interested and followed along, with one exception (and this child consistently did unrelated things right from the start, and tried to distract others). One boy was really keen and virtually ripped the script from my hands each time. They all needed some help from me, but they did get an idea of how they had to put things together to make them work. And they enjoyed looking at the finished games and playing them! I also once brought my Raspberry Pi, the kids were fascinated by it and one of the boys insisted on doing the Scratch exercise on there. (Unfortunately it crashed after a while and he lost some stuff, luckily he was fine with that.)

scratch butterfly game

Building a self-invented game in Scratch


On a personal level, this year I was often reminded how fast time is passing. The most obvious measuring sticks are my children. I feel like pinching myself almost every day: I really have 8 and 6 year old kids. I remember Matin writing 9 years ago on a card, congratulating a friend on her new-born baby: "Tomorrow she will be off to university". Half way there! (given she does actually go to Uni). It is striking how much the children understand now, and they often talk so much sense. It becomes even scarier when you realise they sometimes talk more sense then you. Not to mention the fact they speak perfect English unlike me.

I have been living in Bristol for 10 years now, which also seems a very long time. I have not always stayed for very long in places, that's why it perhaps feels more strange to me than to other people. Especially during the first decade of my life I moved around a lot, between Cape Town, Paris, Heidelberg and Munich. It was exciting, but not all of it was pleasant. At age five, I spent a year in a French nursery and never learned the language. I was basically mute among my peers for a year, mostly ignored, occasionally bullied. I think this period has influenced my life quite a bit, while I don't even always understand exactly in what ways.

When I have met people with a similarly nomadic childhood (compared to some, mine actually isn't!), there is a sense of recognition, we come from the same place - nowhere. And whenever that's been a topic of conversation, they all agreed with me they want their children to grow up in one place. I was struck by somebody who grew up in three different places in Africa before moving to Wales at age 12, who said he wanted his children to grow up "Bristolians". Yes, that is probably a good way of putting it.

Rockslide near Clifton Suspension bridge

This must be one of the best rockslides in the country. Below the observatory, overlooking the suspension bridge

Post Twitter

This year I have struggled a bit with something possibly related to the above. I hope I can write about it in abstract terms without too much detail, but I do want to write about it. I have recently been a bit withdrawn, not been to as many meetups, and the biggest change has been with social media. And by social media I mean Twitter, as I'm not really on any others (nominally on Facebook, but log in about once a month and hardly ever post). Even this fact probably sets me apart from many of my Twitter friends. You get the drift, I am "apart" at the moment, rather than "a part of". But it's of my own choosing, so it's okay, although I'd wish I just could be part of it with ease.

Twitter can be so many different things to different people. My Facebook-loving sister-in-law tweeted "Twitter - metaphor for life? occassionally fun but mainly utterly pointless and confusing". I don't share that experience. I landed on Twitter out of curiosity, then gradually it became a door to something new. It is hard to overestimate the (positive!) impact it has had on my life. For a start, almost everybody I know in the Bristol web dev world, I know directly or indirectly through Twitter. Some of these people are close friends now, and there are many that I care about.

How this withdrawal came about (real-life and Twitter), I don't want to write too much about. I ended up in this place where I didn't feel that confident and found it difficult to be part of it all; most of all, I found it exhausting. Ultimately, it probably has to do with just accepting who you are and trusting that you will do and say things that are acceptable to the people that matter (and the others don't matter - as in that Dr Seuss saying). It also has to do with the paradox of not taking yourself too seriously while respecting yourself enough; which I think is a good way of relating to others, too.

That is not the whole story, but part of it. Incidentally, I found staying off Twitter (and I don't even check it much now, that hasn't happened in the 3+ years I've been on it) quite beneficial. I think it makes me calmer and able to focus better. These effects have been described by a lot of people - who then tweet about it. People usually have the reverse problem of mine, being on Twitter too much!

It's a bit of a shame because I am also missing out on some real-world socialising that goes with it, which I previously enjoyed. But I am quite sure now that it will come again, if maybe not in the exact same way. In fact, I was perhaps overdoing it a bit at some point, too!

In any case this whole episode has given me the chance to examine some unhealthy beliefs and question them, and find better ways of responding when I feel overwhelmed by things. Maybe I will elaborate on this some time in case it might be helpful to others. I guess I first have to practice more and see if there really is a long term improvement. Also I have written so much now, this exhausts my capacity for a while!

Writing anyhow is something I still want to do more! It is more important to me that I'll be able to write more blogposts than being on Twitter a lot. And I am glad I have written this one now. It is out of the way. And I hope it will make space for lots of interesting new things, which hopefully will involve some code as well.

baking xmas cookies

And with that, a happy Christmas to all!

This post was written 6 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)
Tags: christmas / twitter / mooc /

Serving pages from Dropbox

This post was written 6 years ago.
Tue, 13 Nov 2012

Adventures of a newbie server admin Part 1

About a year ago I started using eatStatic blogging engine for this blog, and it's been working really well. Apart from not actually writing much, the only thing that was bugging me is that I'd not set it up to work with files from a Dropbox (as does the original). As I have recently started to run my own vps and am now moving sites over, I thought it was time to give it a try!

To achieve my objective seemed at first ridiculously easier than I'd thought, but then actually proved to be very tricky and took me a long time to figure out. The crucial thing proved to be giving the 'apache user' (www-data on Ubuntu) permission to access the files in the Dropbox folder.

Edit 7 Dec 2012: I have since noticed that actually in most cases it is as simple as creating a symlink. I think my blog was a special case as the blog is in a subdirectory of my website, and because of that my posts are below siteroot level, whereas in the default setup they would be on the same level. This is my assumption, I have not systematically tested that yet.

But here is a quick walk-through of the process.

The first step was to install Dropbox on the server.

Then I made a symlink, from where the posts are meant to reside in the blogging engine, to the Dropbox folder.

$ ln -s ~/Dropbox/Public/posts ~/[..]/data/posts

And that would be it, right? Only that it doesn't work that way. If you try to go to the 'data' directory in the browser, it will show the subdirectories of that folder, but not 'posts'. I tried a lot then with sharing the directory from the Dropbox web interface (but of course that is only with individual users), and moving it into the Public directory, but all that didn't help.

I think I also tried to change permission on all the files in the folder (chmod 777) and that didn't help either. It turned out that they actually had to be owned by www-data or a group that www-data was part of. So eventually I created a group that I called 'dbowners' and added my ssh user and www-data to it.

$ addgroup dbowners
$ adduser katja dbowners
$ adduser www-data dbowners

And then:

$ chown -R katja:dbowners ~/Dropbox/
$ chmod -R u+rw ~/Dropbox/
$ chown -R katja:dbowners ~/.dropbox
$ chmod -R u+rw ~/.dropbox

I don't know if that's the best way to do it, but it worked! So now I will just move this file over to my Dropbox..

This post was written 6 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)
Tags: dropbox / eatstatic /

What I know about Brits

This post was written 6 years ago.
Sun, 10 Jun 2012

A few days ago, I was made aware of a post entitled What I know about Germans and after a brief Twitter conversation felt compelled to write my own 'expat view' list. So, here is a quick-fire list after almost 10 years in this country (and Bristol! My anniversary will be on bonfire night this year)

  1. Brits combine being self-deprecating with being self-assured in a unique way.
  2. They have a pretty good sense of humour.
  3. They have incredibly sweet, but also incredibly yummy puddings.
  4. chocolate pudding
  5. Britain is the most openly class-orientated country I know. I am sure the percentage of people in high-profile politics or corporate jobs that have attended a public school is over 80% (90%, 95% ?) It depends of course how you define "high profile". In any case the percentage is very high.
  6. Talking of public schools, after a while you forget that this is a complete misnomer. Few things are less accessible to the general public than public schools.
  7. There are a lot of Scots in politics.
  8. People are uncharacteristically unfunny on April Fool's day.
  9. There is only one correct answer to the question "How are you?".
  10. People are endlessly engaged in either buying, selling or doing up a house. The latter is often lovingly referred to as their "project".
  11. Almost nobody lives in the place where they grew up. In Germany people often study (or used to when I was young!) in the place they grew up in, in Italy people live with their parents till they are 40, but in Britain once you're 18 you move furthest away from home as possible. I think this is a good thing, healthy for both parents and off-spring, and I wish I had done it.
  12. British people are not as uniformly fascinated by their Royals as the rest of Europe seems to be.
  13. Sometimes they tell you things in a slightly indirect way.
    card what british say and mean
  14. This made the rounds on Twitter a while ago, and I found it again on this blog
  15. You can find better public transport than in Britain.
  16. Twitter is made for Britain. I am sure those people in SF created Twitter with British people in mind. No other language, and no other national character lends itself so well to this compact exchange of original thoughts, puns and furious assault. London was the city with most Twitter users a year ago, and probably still is. Twitter comments are quoted in the News, which I can't quite yet see happening in Germany (correct me if I'm wrong).
  17. People move to places because of the schools their children will be able to attend. I wonder if there is any other country where that is the case. I think it is completely nuts, but as stated above, British people are used to moving a lot!
  18. They are a true multicultural society, and a lot is done to integrate foreigners. I adore the way that teachers and assistants work with foreign children at the school my children attend.
  19. British (in particular, Bristolian) web developers tend to be male, white, cycle to work and eat avocadoes.
  20. There are a lot of Scottish football managers.
  21. There are really nice crisps flavours.
  22. Brits seem extraordinally resilient to the cold. Pupils come to school with either minimal socks on their feet or no socks at all in all weather. At night you see girls going clubbing wearing no jacket at all, no sleeves, low cleavage and miniskirts, no tights in all weather.
  23. Which brings me to the bizzare tradition that is the hen night, a piss-up involving bunny ears, condoms and plastic penises (plus optionally male strippers). Often also involving a ride in a 10 meter long limousine. I have heard rumours that the German counterpart is going a bit more in this direction now, too, though I can't imagine it will be quite the same!
  24. British weddings are more formal than German ones and finish earlier. Hence the need for hen and stag nights I suppose.
  25. Nobody can do better documentaries and comedy series.
  26. Nobody seems confused about what British means in spite of this:
    British geopolitically seen from wikipedia

This post was written 6 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)
Tags: bristol / britain /

Dev8D 2012

This post was written 6 years ago.
Thu, 16 Feb 2012

Today I got back from three days in London, where I attended this year's Dev8D. Dev8D is quite a remarkable conference (or more accurately perhaps, a conference, unconference and workshops all in one). It is aimed at developers in Higher Education, but open to anyone interested. It offers a great opportunity to learn new skills, get a feel for what is being discussed and important in certain areas, and meet people with the same interests as you.

I went last year for the first time (it has been running for four years now), and I was very happy to go back. The format of the event seems to have changed slightly every year, but what remains constant is the focus on hands-on-learning, and the informal atmosphere.

As there was so much going on at once, I can only write about a fraction of the sessions from first-hand experience, but for anybody interested in the event I would recommend reading the relevant DevCSI blog posts (there's lots of videos and interviews in there).

message board at dev8d

Some of the sessions that were held were decided on only during the event, through votes from all participants. Out of the fixed events, I had chosen to attend the Python and Javascript sessions. There was also a session on Coffeescript following the Javascript one, but I eventually decided against it as I would rather first know Javascript very well (also I'm not sure about having a language on top of another language; but people seem to have been impressed by it, and I remain curious). Then I learned there was an Arduino workshop on, something that I had missed out on last year. It turned out to be a great experience. We worked in pairs, and I did more of the software part, but mostly followed what my partner was building. And it was nice seeing the results immediately, LEDs flashing, varying potentiometer strength being translated into sounds, and the "grand finale", turning a motor in a certain pattern of slowing down, then picking up speed again. This must be great to do with children.

arduino workshop

There is a lot one could say about the Arduino, and also about the "other guy" that was used for embedded programming in some sessions, a much more powerful microcontroller whith more periphery, including analogue-to-digital translation, though not open-source like the Arduino (or Freeduino, which seems to be what we were using). There were also 3D-printing machines in the room, but I did not attend the session on that unfortunately. Anyway, you can watch a talk about the Arduino workshop by its organiser Gary Bulmer, and here is 3D Printing with Graham Klyne. I see the ST Micro Cortex-M4 STM32F4 (that's the full name of the other microcontroller) had its own workshop, and there's lots of information in the description if you are interested.

The Python and Javascript "Core skills" sessions were also very good. The Python session was billed like this: "It will be presented as a Coding Dojo, with pairs of programmers operating the terminal, being assisted by the rest of the room." That was exactly what we did, with Richard Jones, who ran the session, either dictating what was to be written, or setting up little exercises. I found that this format worked very well, because you could follow along well with people typing, and it was also a good experience being in the "driving seat". I had previously started learning a bit of Python, but it is just so valuable having the particular aspects of a language being pointed out to you by somebody in the know, and then especially in this interactive way. Also, after the session, some of us were shown briefly how to use in a development environment, and we created a mini web application, a calculator taking input from a query string. If you are a Python beginner, check out the Cottage Labs Python Cheat Sheet.

dev8d basecamp

I also got a lot out of the Javascript session. There were two presenters, Juliette Culver and Graham Klyne, who took it in turns presenting a whirlwind tour through the Javascript language, and jQuery respectively. All the examples were available as files, so it was possible to recap afterwards. On the way to the conference I had started my third read of "Javascript the good parts", and it was useful hearing some of the main points being explained again (e.g. what 'this' means in different contexts; don't use a constructor function directly, only in a wrapper). It looks like I'm going to do a lot of Javascript in the coming months, so this is a good starting point.

On the last day I went to a session about ebooks. While I probably won't be needing this soon, I still found it very interesting that creating something in .epub or .mobi format is not actually that difficult. Although I feel that creating something looking nicely formatted and presentable might be a different story. I did not stay till the end of the session and don't know if authoring iBooks got covered in any detail, but it seemed to me that there was not all that great an interest in the class.

There were lots of other things I would have been interested in (there was a session on git for example) and I regret a little that I did not go to any of the panel sessions this year. Maybe next year!

This post was written 6 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)

Planning to write, and some other plans

This post was written 6 years ago.
Fri, 20 Jan 2012

At the start of the Christmas holidays I was sure that in the next two weeks I would write at least three neat little blogposts. About things to do with kids in Munich (Therme Erding, Wildpark Poing), on the books I was reading (Kahneman, Rushkoff, Crace), coding with kids (with the lovely Swampy suite). I wrote many more blogposts, or fragments of blogposts. In my head. And I have had enough of that. Which is why I am now writing this mini-post, just to get in the swing of things again.

But have I ever been? Not really, judging from the frequency of my posts. But I did use to write, and write a lot! I started a diary at 13, when I got one as a gift from an aunt. And for long periods, I wrote every day, it was mostly a kind of outlet for the things that bothered me, if I remember right.

Toward the end of the nineties I started to write some electronic entries in a program called AOLPress, but I just kept them on my hard-drive, so no bloggage in sight yet! In 2000 I built a website and had a 'diary' on there, which saw about three entries, made at half-yearly intervals. And now I am here, "on the web" in some form or other for over a decade, and I have not really written all that much.

But I have been wanting to change that for quite a while, I think because it is a way to connect, and especially connect to the web development world that I have grown so fond of. I did not do resolutions this year, they don't work very well for me, but I have quite a few wishes, and one of the strongest is (apart from that I don't want anything bad to happen), that I will be able to write more. Just how do I get there? We will see. I think sometimes you can trust a wish to your subconscious and at some point it will make those things happen, although it is not at all clear when, and it can be years in some cases. There is no point forcing myself though, something like "at least a post a week". I know that just won't work. But while I am waiting for things to happen, I might just write a few posts in the meantime...

There is a few things that kept me from writing, apart from the obvious which is not making the time for it.

  • Not really being clear what this blog is meant to be about
  • Having too high expectations of myself and wanting to write something witty and profound all the time
  • Being a sluggish documenter of the new things I discover in terms of web dev, some of which might be actually useful to others

So far I have mostly written about events or talks I've been to. I want to carry on doing that, but also write about things I learned in web development. And it could also be a personal diary as well, to record some thoughts I have about certain things. I think that's what I will do for now. I won't announce any posts on Twitter for a while. Just to see where this all goes without the pressure of pointing people to it. That's what I've always liked about the web. You never know who is going to read what you write. It can be private and public at the same time.

I won't write a "Plans for 2012" post this year by the looks of it, so I will end with a condensed version of that, just to remind me of the things I would like to do. If I look at the past year, it has been a bit of a rollercoaster. There were quite a few low points. I had struggled with two projects and this made me feel quite insecure, but I was also still mourning. Over the previous three years three people I loved and knew from childhood had died, and the first of them had been my father. It is still difficult to accept that all this has happened and there is almost a tendency to not think too much about it, but I have realised that it was on my mind nevertheless, and it takes time to come to terms with these deaths. This is probably not the whole story even, in any case my morale, my productivity and ability to focus were not always at their best in the past year.

Still, if anything I have become more certain that web development is what I want to do. I hope that this year I will manage to move a further step forward in either working together with people more, get a job(!) or… since August last year I cannot quite get this out of my mind. But so much money. And would it work timewise? Many questions, but it might be an option.

Another goal is to pass on my knowledge to others. I would really like to do that. I sometimes think I don't know enough yet, but maybe that is not even true. I hope there will be opportunities in the not so distant future.


  • Skills: I have recently switched to Linux (Ubuntu) as my OS, and am really happy with it. I want to learn more about that, and hopefully I can move away from shared hosting to a self-administered server some time. That would be great. Otherwise I'd like to improve my Javascript, and progress with my Python for Software Design book. Generally the goal "improved programming" from last year remains.
  • Projects: For the moment I am working on two projects that I have inherited and that I feel are at the right level of my programming expertise. I also commited myself to do another community bilingual website. I also hope to do something mobile-focused. I expect there to be some other small websites over the year, but nothing bigger. I might start looking for jobs though!
  • Conferences: I plan to go to the dev8d days in February, and to Over the Air. I might leave dConstruct this year. I was thinking I should go to something in Berlin really, it's easy to get there from here, and there seem to be interesting things going on. Oh, and the Web Dev conference in Bristol. That's even easier to get to!

This post was written 6 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)

"They might seem opposed, but it's really a love-story" - Over the Air 2011 at Bletchley Park (30 Sep/ 1st Oct)

This post was written 7 years ago.
Thu, 06 Oct 2011

With the heading I don't mean Over the Air and Bletchley Park, as the meeting and the venue seemed really well suited from the start. In fact, I heard from quite a few people, and I would join in with that, that the event should be held here next year, too. No, I have taken this message from a presentation by Dominique Hazaël-Massieux about the somewhat strained relationship between native mobile apps and web apps. He likened this relationship to that between the UK and France, which is also really a love-story (where of course the French are the superior party, just as are web apps compared to native ones ;) )

But let me start at the beginning. My decision to attend Over the Air was quite a spontaneous one, as I felt quite exhausted, and I also didn't know of anybody I knew who was going. But spontaneous decisions can be the best, and this one was especially good.

I heard some brilliant talks (see below). About HTML5 and its implication for mobile, about the native - web dilemma, which in all the talks was acknowledged to be far from black and white, or even either/or; about APIs, open government data and mobile app security. In addition, there where tours around Bletchley Park and the National Museum of Computing. That in itself was quite an experience, and we had an extremely knowledgeable and enthusiastic guide who didn't hide his pleasure at for once having an audience that he could explain the technical things in detail to. Not ending there, there was an Ignite event on the first evening. I met really nice and interesting people. It was the last days of summer, and we were in lovely surroundings.

Really the only thing that you could perhaps complain about whas the flaky wifi. It did not affect me very much, because I did not have my netbook, and did from the start decide I would not try to get involved in any hacking. But it restricted some of the attempts of the people who actuallly were in the position to cook up an app overnight.

But build they did, and it was really impressive what the different teams presented at the end of the event. Apart from that there was also a demonstration of an enigma machine built with garden hoses, glasses and some round objects that were not marbles (they wouldn't have fitted through the tubes), but I can't remember what they actually were.

The Ignite event was also really good, with talks by Terence Eden about QRpedia, one by Chris Monk called "Kids can't code" (they could, if we taught them), and another one I particularly liked was about cryptic crosswords by Imran Ghory. How many differenct clues for "mobile" can you find??

After that people stayed up very late as expected, consuming part of a tower of pizzas sitting in the marquee. I went to "bed" uncharacteristically early and slept surprisingly well in a sleeping bag on the floor of the ballroom.

lake in Bletchley park

And then there was the tour the next morning. Before going on it I just about knew that Bletchley Park was the "home of the codebreakers" during the war, and I was not really sure what Enigma actually was. It was fascinating to hear about this part of history, the part it played in the development of computing, and also what a big role 'human error' played in the deciphering of code. For example, after transmitting Enigma-encoded messages, the operators would exchange unencrypted Morse code to have personal chats, along the lines of "How is Gertrude in Munich?". These conversations were all logged at Bletchley park, and they sometimes gave clues to what operators would use as the first three letters in their messages - the letters that determined the setting of the Enigma machine. There was also a Lorenz machine operator, who had to resend a message and didn't bother to change the key setting when he transmitted the message again - a shortened version of it. "In cryptography, receiving two different messages sent on the same key means you're in" as was pointed out to us. Apart from that the rebuilt - working! - Bombe machine and especially the Colossus were really impressive. What dedication it must have taken to put these machines together again.

Did it matter that I was German? Very little. It did come up at one point when our guide showed an example message and asked if anybody knew German. When I said yes and added that I was in fact German, there was a brief murmur, then somebody said - yes, you guessed it - "Don't mention the war", and we just all laughed. Later I realised that more time has passed since that Fawlty Towers episode was first aired (1975), then had passed then since the war. I think this is becoming less and less of a topic. There are really other things to worry about, aren't there?

There's a lot more in Bletchley Park to discover than I have seen, and I definitely want to go back there.

Some of the talks I heard - building for the mobile web, bridging the gap between web and native

This was a multi-track conference, and sometimes I found it difficult to choose from the different talks. For example, I feel sorry to have missed the talk on the BBC Public digital space, "debugging web apps on mobile devices" (but just had a look at the slides and think they will be really useful, too, should I attempt such a thing!) and Developing a better world one startup at a time.

But I was very glad to hear the ones that I did. One of the highlights for me was Lyza Gardner's talk "Crap, it doesn't look quite right.." as it seemed to encompass all that I'd ever heard or thought - plus some new things - about how to develop websites for mobile with the necessary pragmatism. One point that came up in the discussion (and not only at this talk) was how to adapt images for the small screen. It is by now clear that the "Responsive design" approach is not the definitive answer here (see the "Fools gold" article - written by a colleague of Lyza's, as I just noticed). This is an occasion where it makes sense to use device detection. It was interesting to hear Lyza's aproach, wich was to use the Wurfl database to detect screen size, using breakpoints to determine which cached resized image to use. Between those breakpoints she uses the "responsive" technique to resize the images. Somebody also pointed out that you would get a caching problem if you had too many different sizes of pictures.

I heard two talks about HTML5/CSS3/Javascript, the one mentioned above, and one by Bruce Lawson. Both were very informative and entertaining. Dominique pointed out that websites have influenced very much how native apps work while web apps can learn from native apps (and will, through the new APIs). He said web apps need to become "first class citizens", they need an application list and application switching as native apps have. Also, there should be the possibility to isolate cookies for the individual apps. It looks in fact like web apps are gaining ground, so this will hopefully become a reality.

So what does it look like in practice if you want to build a mobile web app? James Hugman from future platforms explained how they built the very successful app for the Glastonbury festival. The app should run on iOS, Android and Nokia. James pointed out that Android users don't like to have iOS-like user experience on their phone, you need different interfaces for different phones. But they did not want to develop three different apps, and wanted to use web techniques. So they looked at the Titanium framework which supports iOS and Android. But there were some difficulties, like the lack of tooling. Eventually they developed their own framework called Kirin, which uses native presentation layer and native platform, but the application layer is written in Javascript, MySQL etc. My notes on this are very scarce, so check out the slides which will be up after DroidCon. Sure worth a look.

Another mobile app built with web technologies is the app for the BBC World Service. The app runs in 27 languages, including languages with right-to-left writing. "What do you use, native or web? As so often, the answer is 'It depends'", said David Vella who gave a presentation about the app. It became clear in several talks, that while it would be good to build everything purely with HTML5 and related technologies, it is not always practicable to do this. And native and web need not be mutually exclusive, as you can write a web app and then repackage it as a native app. In this case, David and colleagues used HTML5 in combination with CSS, jQuery and iScroll plugin, but the code grew and grew and they eventually switched to the Backbone framework for the Javascript. The plan is to make the app downloadable by repackaging it with PhoneGap, but also make it available just as a URL. I really enjoyed this presentation by David Vella, have a look at the slides.

This was a really well organised conference with a great athmosphere and great people. Hopefully there will be an Over the Air in Bletchley Park in 2012.

This post was written 7 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)

dConstruct 2011

This post was written 7 years ago.
Sat, 03 Sep 2011

This was my second dConstruct after last year's, and expectations were high. Have they been met? Ultimately yes, but not so much till after lunch, with the three final talks being especially brilliant in my view. This is not to say the morning talks weren't good though, and I particularly enjoyed Kelly Goto and Craig Mod - although the latter left me a bit puzzled as well!

Anyway, here is a summary of the talks:

Emotional Design for the World of Objects

"We live in interesting times. Everything changes". This was a kind of thread running through Don Norman's talk. And in saying that, I guess he was well aware that it's nothing new. But what exactly are the challenges at the moment? This was Don's take:

  • Lack of standards due to many different devices and operating systems, as well as different ways of interacting with them
  • Google and others. Again, not exactly news, but probably worth emphasizing it. "What is Google's business model? You are the product, and the advertisers are the customers." And: "They just want your name. Are you happy to be their product?"
  • Difficulties of focusing. We can not focus on one device anymore. We cannot just develop for desktop, or mobile. We have to think in systems.
  • Experience is not the main thing, it's the memory of the experience that we should think of creating

An interesting observation was the evolution of the ways we interact with programs - although can he be sure it is really going this way? "We started with the command line, then we got the graphical user interface. Now we are moving to gestures. The command line is more efficient. But you have to remember a lot. GUI slower, but easy to understand. The gestures will have to be memorized again. We have come full circle."

Generally he stated, more physical interaction is coming back, although there is a lack of standards. Little of the facts that he related were new to me (including the "inverse" scrolling on Lion OS, although I am not a Mac user), and still I felt that on quite a few occasions I gained a new insight, or remembered one. This is especially true for the "you are the product" statement. I think it is something I'm just often in denial of, and I am probably not alone in that.

Beyond usability - Mapping emotion to experience

Kelly Goto started by asking the audience whether it was the actual phone people felt attached to, or the experience the phone provided. "Who has kept a phone that doesn't work anymore? Has it got memories attached?" 

One of the most emotional moments of the conference for me was, when she related the story of how her daughters each broke a leg at the same time (they were being carried down the stairs by a friend; when he tripped he fell backwards and slammed his elbows into their legs). This was followed by a little video of the two girls walking around happily with each a leg in plaster ("It all ended well"). The whole experience changed the way Kelly was thinking about how someone interacts with devices that are used by medics to support them. Having had to wait 40 minutes to be seen at the emergency department she felt very strongly about making the interaction as swift as possible.

She also observed how by looking at your PC, phone or tablet you kind of "devolve" from the upright human being, to being hunched over your screen. It also becomes difficult to interact with the world around you. How can we "evolve back" ? We have focused on the human-machine interaction. Maybe it is time to think how machines interact with us.

Interestingly the notion of seeing the world around you was picked up in the last talk as well.

How can we evolve to become upright again and look at the world around us?

Kelly quoted another example from her family life. A babysitter had been round for the first time, so Kelly stayed around for a while. The girl was for most of the time totally engrossed with her phone, and kept sending texts or checking facebook/Twitter. "How do I tell her in a nice way? I try to keep the things seperate. When I am with my kids, I don't look at the phone or iPad."

Much of the research she does is involved with looking at the context and the moods in which people use digital devices. How can the experience be made more pleasurable? A company asked how to create "addiction". But addiction can not created by will (also, is that really a good target?), rather it is important to look at rituals. routines that people have, and see that using a service can become part of that.

There are a lot of more interesting points and on the Ubelly site you can read more about the talk and some slides.

Letting go

The slides for Bryan and Stephanie Rieger's talk have been published in the meantime, and I really think they do speak for themselves, so I will just refer to them.

I felt similar about this talk as the Don Norman one. The single facts were not really new or surprising. But it was still inspiring in terms of highlighting the scale of the change that the evolution of technology has brought and continues to bring.

What is the shape of the future book

Craig Mod's presentation consisted part of a talk, part of reading a literary text from his Kindle. He had obviously written the text himself, something I only realised much after the conference. He had made references to Antonio Tabucchi and Italo Calvino at the beginning of the talk, so I had thought it might be by one of those two authors.

But let's start at the beginning.

There were a lot of valid points in the first half of the talk, and it was also quite funny. My favourite was the "knowledge nipple", a concept of how a student's knowledge grows, originally applied to writing a PhD, but which according to Craig, occured in the same way when working as a designer at a startup. 

For this alone it was worth hearing this talk.

I also liked how he talked about the importance of travelling for himself, and how you sometimes got a clearer look for the things you left behind when you are far away from them.

He went on to talk about three important challenges when making digital books

1. Tame unfiltered data
2. Create quiet data (as an example: The Kindle produces "quiet data", unlike the iPad where the distraction of Twitter or Angry birds is always too near)
3. Corral data

The story Craig then read out was an "imagined history of the book". A myth about a gigantic object, that to lift out of the sand took generations of citizens that had to be specifically trained. Once it was finally excavated it fell over and killed some of the people. It was dispersed into myriads of small pieces, smaller versions of itself, but the information contained in them could then not be read anymore (very unreliable digested digested read from my memory)

The reading was accomponied by changing graphics that were mirroring what was happening in the story. I found the story poetic and intriguing, but I could not totally make sense of it, assuming it was meant to make sense. I would pretty much subscribe to this blogpost. And I will certainly listen to the podcast when it is available.

The conclusion: "The book is no longer a package. It is information services. We are now trying to excavate the myth."

Oh god, it's full of stars

Frank Chimero talked about the differences between analogue and digital means of collecting information: A physical stack of objects (analogue) versus the "phantom pile" (digital). There are so many services on the web that let you collect information. Delicious, Tumblr, Flickr, InstaPaper, Readability, iTunes etc. "And I can fav, star, like and +1 things!" You create an array of "multiple stars at varying distances", some collected earlier than others, some more and some less important.

19th Century Gentlemen kept a "commonplace book" where they collected information, which according to Chimero was like "ye olde Tumblr blog". There was an element of serendipity in it, when you were looking to retrieve some information, you would come past other pages that you might end up reading. This is not the case anymore, when you can retrieve something immediately by searching for it. (I find the web hugely serendipitous I have to say, but that is perhaps in a different context.)

Chimero talked about the various challenges in dealing with the invisible digital phantom pile. Sorting it, dealing with shifting things to the future to consume them later (InstaPaper, Readability), using different media.

He finished by pointing to the Biblion project and had the wish he could do something like this with his collection of "stars".

Storytelling, play and code

Dan Hon talked about how people tell stories with different technical means. There was the "hard way" when the web was mostly DIY, and there are tools like Twitter, or heelo (now defunct) where people can set up fake counts very easily, but can have a massive impacts. I will point at the slides for this talk again, as they give you all the examples that were mentioned.

The Transformers

Kars Alfrink said he had originally wanted to talk about the repurposing of buildings, but then "this happened" and he pointed to a slide that showed a scene from the London riots. He was now going to talk about divided cities. Some of them divided very visibly, some by invisible lines.

He started by talking about a town on the Dutch-Belgian border. In Holland it is called Baarle Nassau, and in Belgium Baarle Hertog, and you have Belgian enclaves in the Dutch parts and vice versa, with white lines running on the floor to mark the many borders. Often seperations can happen without physical borders. There is a novel The City & the City by China Miéville about two cities that occupy the same space. But in each city the residents are taught from childhood on to ignore the citizens of the other city which is called "unseeing". Seperation happens without real physical borders.

When you have a divided society you can have situations that remind you of The City & the City. Kars talked about an incident in Hackney where about 30 black kids had been running scared from two hooded figures on bikes, while a white couple was sitting in a cafe sipping whine, unperturbed by what was going on. When this seperation is driven to extremes, it leads to riots. Kars quoted one of the rioters. "You wouldn't be talking to be now if we didn't riot, would you". You have to "hack into the attention economy" to be noticed.

In the 60s, there was a group in Holland called the "Provos" that staged non-violent protests just to provoke the authorithies. In one case for example they were carrying a banner with nothing on it. But they were still arrested.

Protests and riots are nothing new. What is new, is the facility to organise them through social media. The riots are a "Flash crash of civil society". It is not the fault of social media, of course. We should be looking at using social media in more positive ways. How can we make society more resilient? Perhaps by upsetting conventions, rules. What the riots showed was that people lived in different cities.

Games could help. There is a game for the Nintendo DS called Animal Crossing which can be seen as critique of consumerist society. The player is faced with settling into a town and buying a house, but having to take up a mortgage and make new debts if they want to furnish their house, buy new shiny products.

Kars next showed a slide that had the word Gamification crossed out. Gamification focuses on rewards, but by doing so, it neglects the fact that doing good things can be beneficial in itself. A better approach is to focus on the rules of the game.

Games can counteract the filter bubble, the tendency to seek out like-minded indiviuals. They can embed different perspectives in rules (they can also do the opposite and create a monoculture). There are some interesting urban games doing this (there is Visible Cities for example). But the problem with urban games is that they don't scale. You have to organise an event, and it takes effort to organise them.

Rules can be made up by the participants, Barcamps are a great example of self-governance. There is a lack of a central authority. Another good example is bookcrossing. There is also an interesting game called Nomic. A move consists simply of creating a new rule. Then the players have to vote on whether it will be accepted.

In western culture, it is almost as if we are playing massive parallel games of Nomic. We have much liberty in choosing how to live, We live by self-selected individual rules. Nomic together with social software could be used to create shared rulespaces.

I think it is very interesting to think of this purpose of games. But I wonder how this could be put into practice. In any case, this talk, which was for me the most impressive one of the event, made me look at games in a different way.

Pocket Scale

Matthew Sheret came on stage with a sonic screwdriver in his hand which turned out to be a laser remote control, that the London Hackspace founder Jonty Waring had built for him. "I think we are time travellers", he asserted. And Doctor Who turned up many times in this talk.

I would not give it much credit if I tried to decribe it. You have to see it (or hear it) to get the most of it. It was very entertaining and had many good thoughts about the meaning of pocket-sized gadgets and how hacking can personalize an item.

Sheret wished for "intimate, meaningful objects that humanis networks, making timetravel a bit more fun".

Reality is Plenty

Kevin Slavin's talk was another highlight for me, and a great talk to conclude the conference.

He challenged notions of reality and how much we believe those to be linked to a single sense, vision. He comes to the conclusion that we don't really need an extra layer transposed on our vision ("keep the naked eye naked").

He started off with a video from 5 years ago showing a boy playing a game with an augmented reality layer on his phone.

After that he set out to do an "American-style interrogation of reality". He related the story of a technician in the US army during the second world war ("only half true, and I don't even know which half is true"). Norman was an operator working in the navy who had to transpose images from a small radar to a big screen upside-down and backwards. He had to do this very quickly, so that the army could act on the targets picked up by the radar efficiently. To train for this, Norman was sent to a town where everything (for examples the newspapers and signs) was written upside-down and backwards. Norman said it took three weeks till he was able to convert those signs in a snap.

Taking this as an example, where reality is altered in a certain way and changes perception, Kevin then contrasted this with what we understand these days by "augmented reality". The term was only coined 20 years ago by Tom Caudell who helped aircraft workers to fix cables by overlaying their vision with the paths along which the cables had to be fixed.

Slavin quoted the books Rules of play on the "immersive fallacy". We might think the more real something looks the more real it feels, but that is not necessarily the case. It is much more important how something behaves. What matters is not perfection, but expression. "It doesn't matter what you look like, but what you do". In 1996, the Tamagotchi game succeeded so well in immersing children in the reality of caring for a pet, that it was banned in some schools in Hawaii. And it outdid in numbers any 3D games that were coming out at the same time.

The uncanny valley is the point between barely real and completely real, we feel uncomfortable with a robot that has some human traits.

Adding a visual layer might not be the best means to achieve an enhanced experience of realty: "As we aspire to build lenses that will render the world in front of us, we are actually at the fronteer of this uncanny valley. The uncanny valley will finally have real-world geography. Our cities which we've been browsing since they were built, will become searchable. But by transposing secrets and facts on the human eye, these facts might actually become further apart."

Another point is that for pilots it can be helpful if marks are drawn onto the screen, because they only have to look forward. But when this was tried with car screens it turned out that this was actually not helpful. A driver needs to perceive what is around him as well. By focusing on a small point on a screen his reality actually diminishes instead of being augmented.

Instead of changing what we see, it might be better to change how we see.


This was again a very inspiring dConstruct. It is a long way to go to Brighton just for one day (and the journey home was a bit of an adventure, but amusing in hindsight), but I have a feeling I will go there again next year. So maybe see you there in 2012!


Places where to find more about the talks:

Eva-Lotta Lamm's sketches
Good blog posts with pics, written on the day by Adam Tinworth 
Lanyrd dconstruct coverage

This post was written 7 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)

Accidental Javascript programming

This post was written 7 years ago.
Wed, 31 Aug 2011

After doing some programming, starting a book about how to think like a Computer Scientist, and reading Javascript the Good Parts, 1.5 times so far (more iterations will follow), I now have a far better understanding of Javascript than say a year ago. Still, there is much more to learn.

I have had a go at programming something in Javascript though (not jQuery). This was for a w3c course in mobile web development - blog post on that to follow. Javascript had not really been the focus, but rather making things work on desktop and mobile. Anyway, it is a little hangman app - there's simply not enough of them yet ;) . I know I could have found code for this on the web, but I just tried myself. Better not to look at the source code!

I'd quite like to make some changes, allow to choose words from different languages for example. But I think the most important would probably be to improve the user experience of the main interaction in this game: Entering and checking a lettter. Another thing that is bugging me is that the SVG does not work on most phones. There should be a fallback if SVG cannot be displayed.

Anyway, it works reasonably well on a desktop environment - including local storage which means you can close and open the browser and pick up from where you left the game. The list of words is at a sub-teen child's level at the moment, and my children actually like playing it! So here's the little Hangman game.


This post was written 7 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)

Silverstripe - Load search results in Model Admin automatically

This post was written 7 years ago.
Sat, 28 May 2011

I just spent the evening looking at various solutions to this. Originally I had been pointed to this ticket, but this solution did not quite work for me. After shopping around, including this post on css-tricks, and also this on the Silverstripe forum, I concocted this little jQuery script:


(function($) {
$(document).ready(function() {

$("#ModelClassSelector").change(function() {
var modelName = $("#ModelClassSelector select option:selected").val();
var strFormname = "#Form_Search" + modelName;

Then of course, in your Subclass of ModelAdmin.php you need to add it as a requirement in the init() function:

function init()

Like this when you first load the ModelAmin in the CMS, results for the default model class will automatically show. Also, when you select a different model from the dropbox options, results for that will be loaded automatically.

Comment by Peter Bacon Darwin 27/06/2011

You can remove the hard-coded "Therapist" with this code:

(function($) {
$(document).ready(function() {
var modelName = $("#ModelClassSelector select option:selected").val();
var strFormname = "#Form_Search" + modelName;

$("#ModelClassSelector").change(function() {
var modelName = $("#ModelClassSelector select option:selected").val();
var strFormname = "#Form_Search" + modelName;
This post was written 7 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)
Tags: silverstripe /