CodeHub Bristol

This post was written 8 years ago.
Wed, 03 Jul 2013

I cannot exactly remember when the idea to set up CodeHub was born, although it probably happened in several steps. It definitely came out of some conversations I had with my friend Gicela. We thought it would be great for people in a similar situation to us, working from home and just for themselves, to get together and learn from and with each other. When Gicela came across the Hackerschool website, that served as an inspiration, although it is very different from our project in terms of scale and scope. - And so, two days ago (on Tuesday 2 July 2013), a group of five independent web developers met up at The Big Chill in Bristol for a morning of coffee, tea and code. I think we all agreed that it worked very well. It was good to be in this small group to start with, and it was a good group. We almost felt we don't even want it to grow!

But that would of course go against the orginal idea of a place giving developers who work on their own the chance to learn and collaborate with others. In any case, I doubt that we will get a sudden influx of hundreds of people. If we slowly grow that will be good. I could also imagine having a core team and then occasionally setting up bigger events.

So, if you wonder what this is all about, here is a brief outline of ideas we've had:

The format:

  • 30 mins of somebody giving a talk, or discussion about a certain topic
  • The rest of the time (3 to 3.5 hours) spent working on a project involving that day's topic OR other project of own choice
  • We will look for a project or projects that we can collaborate on
  • We would like to invite mentors to give a talk and possibly stay on to give practical help

That's it really. And it is generally quite flexible. For our first meetup (as good web programmers, we also had a 0th meeting that took place at the Mildbunch office, who kindly let us invade their space for a few hours), we thought we'd all get set up with Git and GitHub. If we want to work together, we need to share our code after all. So Rob who had the most experience with Git in our group, talked everybody through the process. Some of us had a bit of experience and already had GitHub accounts, but we still learned new things. And there was clearly a sense of achievement when ssh keys had been generated and copied, and test repositories were pushed to GitHub.

Another topic we all agreed we want to learn more about is JavaScript. This ranges from being able to write own Javascript code to using an MVC framework. I had a look last night at various resources, and have come to the conclusion that I want to learn Javascript properly (finally!) and then using a framework. I am curious how well I will succeed. But one thing is clear, the prospect of being able to share what I am learning with others, has lifted my motivation quite substantially.

There seem to be quite a few initiatives around the world that aim to teach people coding or other technical skills, which is great. I particularly liked this about the Core Values of Open Tech School. They are pretty much what I hope CodeHub to be about.

So, I am glad CodeHub got off to a good start and it will be interesting to see how it develops. We meet up once a month, but plan to be in touch online between meet-ups. Let's see what we can build!

If you are interested in joining us, please get in touch. Our next meeting will be on Tuesday, 6th of August at 10 am, again at the Big Chill. As mentioned before, we will also be looking for mentors. If you would like to try giving a talk about a certain topic, this is the chance to do it in front of a small group, rather than for example, at the Bristol Skillswap. That, I can testify, can be very frightening!



This post was written 8 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: codehub / bristol / learning /

Skillswap about Responsive Web Design

This post was written 9 years ago.
Wed, 15 May 2013

So it's now two days since the Skillswap about Responsive Web Design in Bristol. I am happy to have been one of three speakers and, having just listend to the audio, I think it was kind of okay - which hadn't been my initial impression, so I'm glad there was a recording. I just thought I'd add some thoughts, some of them regarding what I talked about.

I am always amazed how these talks, whether I'm a listener, or as this time a speaker, make my mind buzz. And that includes the chat afterwards in the Watershed bar where this time we had to be kicked out at closing time. It is hard to pin down what it is, but I guess it has to do with sharing an interest, being excited about the same things, talking a common language in a sense. I have not always been totally sure I did actually belong to that "crowd", but I have gradually come to realise that there is no point even asking that question. If you are interested, you go and listen, you belong there, and that's just it. (Which doesn't mean it might not occasionally be difficult, as an introvert, to talk to a bunch of other introverts)

Responsive Web Design and Content Strategy — a winning combination

I would say the event was really successful, but in a pretty unplanned way. There had been various health issues that prevented things from running smoothly. Pete Fairhurst, who was going to talk about how he made the Samaritans website responsive, had to pull out shortly before the talk because of illness. Keir Moffat who gave the second talk, on "Responsivability", had an upset stomach that made him feel pretty unwell, and I didn't even mention that I had just recovered from two days of headache and also having friends to stay (luckily I was feeling well on the day, despite zero sleep - but that's not unusual for me, in fact I often thrive on sleeplessness). What really saved the day was that, at crazily short notice, Bonny Colville-Hyde stepped in to do the third talk. It was about content, called "You can't polish a turd" and was an absolute hit. Bonny answered questions for longer than her actual talk was! (She also increased the number of women who have so far spoken at the Skillswap - New series by 100%, which I think is a welcome side effect.) I admired the relaxed and funny way Bonny delivered her talk, without slides, and I was also struck by how it hit a nerve like that. And it makes sense, if you think how important content is. Both a lack or excess (especially if it's bad quality), can hold up a website so much. And having the ability to make people rethink, and rewrite!, their content, — "you will not always be liked" —, amounts to having magical powers.

The content topic also fitted in quite well with the "Responsive website design" theme, as it becomes really important to get your priority content spot-on when you serve a site to mobile. So while I still find it a shame that I didn't get to hear Pete talk, this was sure a good alternative.

Having said that, I do not mean that Keir's talk, or even mine, went by without interest from the audience, and I enjoyed Keir's very much, even if I found it difficult to tell how mine must have come across. Keir coined the term "responsivability" for being responsible with your responsiveness, which is a very good point, as you can be very irresponsible with it! For example, don't throw lots and lots of code, especially Javascript at it, to make things work. He had a number of great tips and showed some live examples of sites he had built, all without use of any framework, as he said he wanted to learn from "bottom up" to get a real feel for how things worked. This approach has quite obviously served him well, as since building his first responsive website in August last year, he has picked things up very quickly and already built a number of sites. He was also going to do a live-coding session. He did not quite get round to that, but he created a git repo where you can trace the steps for making a sample site responsive.

Responsive web design as a process

To conclude, just a few "Addenda" to my talk. I felt afterwards that there were quite a few aspects of responsive web design that I did not mention, which was probably inevitable due to a lack of time. After all, there are whole "responsive days out". I should have added, for example, that in preparing my talk I had taken the opportunity to establish a process for how to create responsive websites. Moreover my approach is only one way of doing things. But I think exactly that is what every developer, and every agency should do really. Set some time aside to do one project as a way of trying out responsive design techniques. There should be some extra time and budget allocated to that, like for example you do with team-building.

Modular design and CSS

We didn't talk much about the design phase, but in the discussion it transpired that most people so far aren't receiving designs that are adapted to responsive, or if they do get them, they were full-blown separate designs for different devices, which in the end is not that helpful. One thing to mention here is Style Tiles by Samantha Warren as well as style guides.

I talked about using design patterns and writing modular CSS. One example from my own exmaple site which I built for my husband is Nicole O'Sullivan's media object. I used this for the media on the videos and podcast page. The same set of style declarations is used for different elements (video containers, podcast containers, and inside podcast container the image and title). The way I did it could sure be improved, but it was still - for me - a new way of looking at things and implementing design.

IE 9 != IE 8

Just a quick note about Internet Explorer. I mentioned it at several places in my talk, mostly in conjunction with "this is not supported by IE" or similar. What I meant here is of course Internet Explorer version 8 or below. I could also mention here that the fascinating ":nth-child" pseudo-element is not supported by those either, but there is an easy way to recreate this functionality with one line of jQuery.

I might blog some more about things I do on the Matin Durrani website as I go along, as it is a work in progress. I hope to use some more responsive techniques, and I also want to do something about preventing videos and podcasts from being loaded automatically (as they are now). But that's for another day.

For now, thanks to a great audience and speakers, and of course to Tom. It was a great experience being at this Skillswap.




This post was written 9 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 :)

Using a Ubuntu 12.04 laptop as monitor for Raspberry Pi

This post was written 9 years ago.
Fri, 19 Apr 2013

This is not really that difficult once you know it, but I had to combine instructions from several posts and fiddle around a bit, so I thought I'd write down the different steps. This is assuming you have an external screen attached to the Raspberry Pi to do the configuration.

1. Find out the IP address of your laptop

To do this, you go to system settings. There you will have to turn the switch icon on the top right to "On". You will also need to connect your laptop with an ethernet cable to your Raspi to see the IP address.

2. Assign an IP address to the Raspberry Pi

Start your Raspberry Pi, log in and then do the following, using an IP address that is the same as your laptop's except for the last number:
$ sudo ifconfig eth0 10.42.0.2
You can check that the IP address has been assigned like this:
$ hostname -I
(If you do this before assigning an IP address you should just get a blank line)
Once you have done that, you can "ping" your laptop with the laptop's IP address. Stop this process with Ctrl+C once you've seen some responses:
$ ping 10.42.0.1
The IP address is only assigned for this session. There are some instructions here to assign the IP address at boot - but remember to replace the command.txt file by the original again before you try updating your OS through your home internet connection. It won't work otherwise (at least that's what I experienced!): http://pihw.wordpress.com/guides/direct-network-connection/

3. Install TightVNCServer on the Raspi and a VNC Viewer on your laptop

On the Raspberri Pi you install the Tight VNC Package :
$ sudo apt-get install tightvncserver
On the laptop, install a VNC viewer, for example
$ sudo apt-get install xtightvncviewer

4. Access Raspberry Pi through your computer via ssh and view interface through Xvnc

Now you can open a terminal on your laptop and ssh into your Raspberry Pi:
$ ssh pi@10.42.0.2

 
pi@10.42.0.2's password:
Then run TightVNC server from your terminal, and start a VNC server (the example below starts a session on VNC display zero (:0) with full HD resolution):
pi@raspberrypi ~ $ tightvncserver

 
$ vncserver :0 -geometry 1920x1080 -depth 24
In another terminal window on your laptop, start the VNC viewer with
$ xtightvncviewer 10.42.0.2:0
That's it. Most of the instructions in this post are taken from elinux.org, which also tells you how to creat a vncboot service in /etc/init.d. This is quite handy, as then you can just type the following to start the VNC server with your preset preferences:
$ sudo service vncboot start






This post was written 9 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 :)

Responsiveness

This post was written 9 years ago.
Thu, 28 Mar 2013

There is this vortex of thoughts going through my head. I wonder if I can make some sense of it all by writing it down. If it just wasn't so coooold. I am shivering while I am typing this. One thing that will be especially difficult is separating the personal from some general observations. That is part of the problem I fear.

So many things are going well, and I am happy. I spend a lot of time with the children, especially now during the holidays. And I've kept catching myself thinking how lovely it all is. We went to the zoo with its impressive dinosaurs on show, and I shared in the children's excitement of the underwater view of a seal playing with a ball. There was the duck that dived right to the bottom of the tank, leaving a trail of pearly bubbles in the water. Little beautiful things that I seem to be able to enjoy much more than I used to. More excitement at the Explore Centre, and today at Funderworld on the Downs. (This I had been dragged to two years ago, and discovered to my surprise that it really was fun - I had always enjoyed these things as a kid). And there is the children's daddy, who is also the best husband imaginable. And I, well I think I'm a good enough mother, and wife as well (though not a great housewife).

Work is going reasonably well, too. I have worked on three different projects this week, and got everything done despite the holidays (okay, I reversed day and night pretty much, staying up till 4 or 5, then sleeping in, but it's okay for a while). My clients seem to be happy. True, for one of the projects, the crunch is going to come now, as more users will be invited to put their profiles on. Hopefully it will go okay.

Arrgh no, this is really difficult to write. So, basically today I responded to this post on my favourite technical mailing list. I put myself forward to do a talk. The way I did that was probably pretty dumb, I didn't do myself any favours. But there's a lot else around it that disturbs me a bit. And it is so difficult to divide it into what is me, and what is the others.

There has not been a woman talking yet (in this new series of talks at least). Once I got this email "Yeah, we've got to get you up there, we haven't had a single woman speaker yet" and I replied "I hope I have something else to offer apart from being a woman".

Then the remark "Really anybody going up there...has to be applauded soo much" - I don't know if those were the exact words. Something like that. I wish I remembered the other thing, too. Something along the lines "It is not really about having some great knowledge, rather talking about your experience" But I get a distinct feeling that somehow I am an exception to that and I musn't talk. I don't want to go up there to be applauded. My main motivation is this: a, I'd really quite like to contribute something, especially as I've benefited from other talks or from direct help. b, I know of at least two women who, like me, often don't feel comfortable at technical meetups, and I thought this might change that a bit. And this particular topic I really do know something about, so I thought I'd give it a go (despite the somewhat 'superstar status' of the other two speakers; I am just foolish enough to do that, and well, really I thought it would be a good challenge to try and deliver something that only half lived up to what they did)

Would I have something to contribute then? That is the question. A question that unfortunately can't be answered unless I actually did speak. There is this other thought I have, that people are trying to protect me, because they think I don't get how limited my knowledge is, and would really embarass myself. - I think I do know how limited it is, but you have to start somewhere. In any case, and of that I'm quite sure, I obviously don't fit in. If you look at what has come before, yes, I probably don't. Mostly highly technical, specialised people in business or agency settings. There's also a predominantly male culture. This is kind of a by-product, it is not that anybody chose it to be. Still a shame I think, but if the people involved are happy with this, I guess they should carry on with it.

All this does have one good effect, I will finally stop moaning to my dear friend how excluded, not-belonging or inadequate I feel. In fact, I think that all stopped when I left Twitter. Astoundingly it had a really positive effect. I do miss some people, but I already missed them when I was still on there.

In a curious way this episode has made me feel more positive about myself and my coding skills.[edit 29.3.: No, it has not, it makes me feel like a complete idiot; but again just so grateful for husband of mine, who makes me laugh about that, too.] And I'm looking forward so much to when Gicela will be back and we can start our own group.

[edit 10.4.: It looks now as though I will give a talk. Now it's up to me to deliver something worthwile :)]


This post was written 9 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: skillswap /

Resurrecting a Skylander figure that stopped working (on PC)

This post was written 9 years ago.
Sun, 24 Mar 2013

As I could not find the solution to this anywhere online, I thought I'd post it here. Curiously we had already been sent a replacement figure (but the wrong one!) when one of the Activision support staff suggested this little trick.

So, if the game fails to recognize a figure that was placed on the "Portal of power", what you do is this:
You place the faulty figure on the portal and wait that the error message comes up on the screen. Then you minimise the game by pressing Ctrl + Esc. After that, you pull the portal's USB cable from the PC, leave it for 20 seconds, then plug it back in. (All the while you leave the Skylander on the portal). Maximize the game to full screen again, and the Skylander will appear.

So now my son has a working Trigger Happy and in addition a Terrafin. I think Skylanders (birthday wish, and apparently the "best present ever") is a great game by the way. Both children love playing it, and it's nice that you can have two players, either in battle mode or co-operative mode.


This post was written 9 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: games / children /

The Future, the Past and Marvin

This post was written 9 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 9 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 9 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 (www.dhva.co.uk) and Relaunch of Holistic Community (www.holistic-community.co.uk)

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 computerscienceforeveryone.com 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 udacity.com, 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

Belonging

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 9 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 9 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 9 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 10 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
    From FreeDigitalPhotos.net
  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 10 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 10 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 web.py 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 10 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 :)