10 things I like about life in the UK

When I first moved to the UK, I thought it wouldn’t be that different from my home country Germany – and in some sense, it is quite similar, but there are some things that are very different, some things that I only found out about when I moved here, and some things that I simply couldn’t live without now! Here’s a list of my top 10 favourite things about life in the UK and in Manchester:

  1. The banking system! In Germany, the different banks don’t share a network for ATMs etc, so you get charged a few Euros plus some percentage of the money you take out every time  you want to take out cash from an ATM that doesn’t belong to your bank. In the UK, there’s an ATM at every corner, you can get cash back from shops, and most of the cash machines are completely free of charge. It makes everything just so much easier!
  2. The music. I love the fact that what we consider “indie” music in Germany gets played in every shop and bar here in the UK, and there’s great gigs on everywhere! Well, maybe Manchester is a bit special when it comes to music anyway…
  3. Pies. And I dont’ mean the American style fruit pies, but proper, British, savoury pies. The concept of pies was completely new to me when I moved here, but they’re so tasty they have quickly become one of my favourite dishes – and it’s really easy to make your own pie, too!
  4. Hiking. It seems that from any location in this country, it’s never more than an hour by train to get to a great area for hiking. We have a lot of outdoors activities in Germany, too, but only here in the UK I got myself some hiking boots and learned how to read a map.
  5. The humour. The British are extremely witty, slightly sarcastic sometimes, and often very “tongue in cheek”. And it’s not just British comedians that know how to make brilliant jokes; I’ve had some of the best fun in long and boring queues 🙂
  6. Puddings. Everywhere else in the world it’s “desert” (even in other languages), but that doesn’t sound half as inviting, cute, and comforting as the British word “pudding”. There’s cakes, tartes, trifles, custards, creams, mousses, fools, messes, and even something called a “syllabub”.
  7. Shop opening times. Most shops in Germany aren’t open on Sundays, so if you just need some bread or milk, you’ll have to go on a trip to the nearest garage. I quite enjoy being able to just nip across the road almost around the clock to buy food whenever I need it!
  8. The weather resistance. We do have nice weather here, but it is true that the UK (and Manchester in particular) is very rainy. But rather than staying indoors and moaning about the rain (as we would probably do in Germany), people here just put on their wellington boots and brave the weather!
  9. Fashion. Whenever I return to Manchester from a trip home or elsewhere to Germany, I notice how the fashion here is a lot more exciting and interesting than anywhere else. Outfits and make-up range from “cool” to “weird” and sometimes a little “oh dear…”, but it’s very refreshing to see more than just jeans and t-shirts.
  10. Tea. Oh, I love tea. There’s aren’t many things more comforting than a nice, hot, mug of tea with a bit of milk. I wasn’t quite sure whether I’d like it at first, but now I can’t imagine going a day without a cup of tea in the morning or when I get back home in the evening 🙂

The end is near!

the end

Can you believe it? It’s been 3 years since I’ve started my PhD, and 3 years since I’ve started writing this blog. Looking back at these years I can say one thing for sure: I’ve learned a lot. A LOT. With a background in Media Informatics and an MSc in Advanced Computer Science I thought I’d be well prepared for a PhD, but it didn’t take me long to realise how little I actually knew.

My first year consisted mainly of reading, reading, and more reading. I was overwhelmed by the amount of work that already existed in my area and tried to make sense of the many formulas and algorithms I found. Sometimes I even thought I had managed to understand at least a tiny part of it, but ythanks to my supervisors, who both employ very good “poking” strategies (that’s what I call it 😉 ), I quickly realised that I had overlooked some fundamental points and, in fact, didn’t understand anything. In addition to all the reading, I tried my hands on a “mini project” which involved crawling the web for OWL ontologies – seemed easy, but due to my non-understanding of the ideas behind the project as well as pretty awful coding skills, I didn’t get very far.

Finally, at the end of my first year, after a lot of tumbling around, trying to start projects and failing, I completed my first conference paper (which, looking back, wasn’t even *that* bad) and got through my end of year report and interview, which seemed quite a good start to the next year.

Year two seemed to have gone by rather quickly – I honestly can’t remember too much of it. I had finally found the focus of my research project (“Multiple Justifications in OWL Ontologies”, if you’re asking ;)) and had a rough idea of where I wanted to go – just not quite *how* I could actually get there. With a lot of help from my supervisors, I found a nice solution for something I had been struggling with for a while, implemented some working code (go me!), ran experiments, and wrote the results up as a paper.

I also designed my first experiment with humans, attended and presented at my first workshop, and went to a fairly big conference in Germany. I often had to defend the work I was doing to a lot of people, whether it was in paper reviews, in Q&A sessions at talks, or in person, which was sometimes interesting and useful, and sometimes plain infuriating. This was probably the point where I started identifying with my work and really “believed” in it – something you usually don’t have in undergraduate degrees where you do the same coursework as everyone else, then abandon it at the start of the new term. Being able to work on something that is really “mine” is one of the things I like the most about doing a PhD.

In my third year, I finally realised that I could no longer go on without upping my coding skills. I had been struggling for too long with dodgy and buggy code, sleepless nights and errors that I only noticed after I thought I had finally completed the program. And so I sat down for two months, read a few programming books (if, like me, you’re stuck with a Java API, I can very much recommend Effective Java!) and online tutorials, wrote tons of “sandbox” code, signed up to github, taught myself some Python, and worked hard to understand the many concepts and ‘good practice’ guidelines of coding. Within a short time, my coding skills just grew exponentially – and while I’m still lacking the experience of someone who’s been a professional developer for years, I can at the very least write bug-free and neat code fairly quickly, to the point where I’m now okay with letting other people read my code. And you know how awkward that can be sometimes 😉

Besides the coding marathon, I read some more fundamental books on logics, started writing some more on my Semantic Web blog, and even gave  a presentation that didn’t make my supervisors cringe (success!!).

After three years of work on my research topic, I’m now quite looking forward to seeing how it all comes together in my thesis. I have no idea what’s going to happen in the next few months while I’m completing my thesis, but I really hope I can make use of everything I have learned so far and turn it into a good and interesting piece of work. Of course, I’ve been through the same ups and downs and the “THIS IS IT, I’M DONE, I’M LEAVING” moments as everyone else, but I don’t think I would have had the chance to increase my knowledge and skills in so many different areas as I have during this PhD.

Geeks, techies & Manchester’s digital community

One of the first things I noticed when I moved to Manchester over 4 years ago was the very active tech community outside the university – there were plenty of general geek meetups and various user groups for programming languages and technologies. But since then, this number has grown exponentially, with so many events in meetups in the city that it is almost impossible to keep track of what’s happening where and who is involved in what. Getting involved with user groups outside of uni is a fantastic opportunity for you to broaden your horizon or improve your skills, make contact with potential employers or colleagues, and show enthusiasm for your chosen subject, all while eating pizza and having chats with some brilliant and fun people.

To give you an idea of what to expect when you’re studying in Manchester and want to get involved in some tech action outside uni hours, here’s a short (and, most likely, incomplete) list of groups and meetups:

MadLab, Northern Quarter

The MadLab is not only a building in the Northern Quarter which functions as a meeting place for various user groups, but it is also run by a bunch of amazing and incredibly enthusiastic geeks and makers, who have been running events since late 2009. If you’re in any way involved in technology in Manchester, you will end up here sooner or later.

User groups at MadLab

Right. So, these are *some* of the groups that meet on a regular basis (monthly) in or around MadLab: Google Technology User Group, Free Software Foundation Europe, Drupal User Group, the Manchester Lambda Lounge (functional programming languages), Android Meetup, WordPress User Group, 3D Printer User Group, Linux User Group, Manchester Free Software, Open Data Manchester, Perl Mongers, XP Manchester (extreme programming), iOS Developers Group.

Manchester Girl Geeks

Manchester Girl Geeks organise events for girls and women who are interested in (and/or) work in science, technology, engineering, and mathematics (I’m the chair of the group 🙂 ) We cover everything from “build a robot” to “mathematical origami” workshops, and run regular “Girl Geek Dinners” with some great female speakers.

Ladies Who Code

Another fairly new meetup at MadLab, Ladies Who Code does what it says on the tin: It’s a meetup for girls and women who are into coding. The group is a mix of students, professional developers, and coding enthusiasts – a great place to meet, chat, and up your coding skills!

Manchester Game Jam

If you’re into games, this is the place to be! The game jams are full weekend hackathon style events where people get together to build games – both video games and board games!

HacManchester – Manchester Hackspace, Northern Quarter

HacMan first started out at the MadLab, but they recently moved to a bigger space on the same street. The hackspace offers a membership scheme which allows you 24 hour access to the workshop, storage space, and use of all the tools and machines at the space. Wednesday evening is their open night, where newbies are welcome to chat, work on projects, and eat pizza.

Fab Lab, Manchester

Fab Lab (not to be confused with MadLab) is a workshop just north of the city centre which provides access to laser cutters, a 3D printer, a CNC router, and other tools.

North West Digital Communities

NWDC is a calendar and mailing list which tries to aggregate a number of tech events around Manchester and the North West. Sign up to stay tuned!

Startup Digest

Another tech event calendar and newsletter for Manchester. They’ve only just started out (mid 2012), but they’re slowly growing to include more events in Manchester.

Phew. That was just a fraction of what’s *really* going on in Manchester – I hope some of those groups caught your interest. Now go and get active, get involved, meet people and up your skills!

The Great Duck Rescue of 2012

In the past few years, we’ve had some new residents camping out at the School of Computer Science building every spring and summer. A pair of ducks had settled in the lovely little garden in our quadrangle (or, the “quad”) and decided to start a little family there. While the school staff enjoyed the presence of their feathery new neighbours, they were a little concerned about their health, due to the lack of sufficient food and water in the quadrangle, and so the duck family was soon moved to a new pond outside the city.

That didn’t stop them (or some other, strikingly similar looking pair of mallards) to return to the quadrangle this year. You can probably imagine how excited we were when we discovered that the duck family had grown by 5 little ducklings, who were following their duck mum’s every step. For a few days, they were the main attraction of the Kilburn building!

But one sunny Tuesday afternoon, the “duck incident” happened: One of the ducklings had somehow managed to fall into a gap between the seat and the base of a large stone bench. We could hear it tweeting from inside and rustling leaves, walking up and down while trying to find a way out. But the gap was now to high up for it to reach, and so the duckling was trapped inside the bench. Soon, a group of people had gathered in the quadrangle, lifting up floor tiles and sticking their hands under the bench to help free the lost duck. But it seemed impossible – the seat of the bench was a huge, heavy concrete slab, which would only move little. But we kept trying to find a way inside regardless, desperate to rescue the duckling and return it to its mum, who was quacking from across the garden.

Finally, with the help of several academic and admin staff, we lifted the giant concrete slab off the bench. And there it was, the lost duckling, peering at us from the darkness of the dusty bench. After building a little ladder for it to get out of the bench, we left the quadrangle, allowing the duck to get out at its own pace.

When I checked back a few hours later, I could spot the duck family with all 5 ducklings, happily reunited, waddling around the green. But the time had come for them to move on: Just a day after this dramatic rescue the ducks were picked up and taken to a pond in Cheshire, where they now reside, far away from computer scientists and dangerous benches.

Thesis Writing and More LaTeX Fun!

The time has finally come: After almost three years of (almost 😉 ) groundbreaking research, in between learning Python (works a charm for data analysis!) and writing a workshop paper (off to Rome in June, yay!) I have finally started writing up my thesis. And it’s not even as scary or bad as I imagined when I first started; in fact, I really enjoy being able to just write as much as I want to on a topic, without tight conference or workshop paper page limits. Now, that’s just the first stage, or as Joan Bolker says in “Writing your Dissertation in 15 Minutes a Day”, the Zero Draft. Once I start trying to make sense of my scribblings and bring some order into this mess, it will probably become a lot less fun. I shall report back!

Meanwhile, I want to share another very nice LaTeX trick I found today. I tend to add a lot of TODOs to my text when I write, e.g. “write a proof here”, “add a reference”, that kind of stuff. Not having to move away from the LaTeX file to pull up some other “to do list” tool helps me focus on the writing. The only problem is that adding a TODO as a comment (i.e. %TODO) in LaTeX means that you can’t actually see it in the compiled PDF. On the other hand, if I just add it to the text, I will have to find a way to make the TODO stand out from the surrounding text, while also ensuring that I don’t forget to remove the TODO in the final version!

Enter: The todonotes package. This little LaTeX package adds a simple

todo{my note here}

command, which allows me to add a to do note while I’m writing, which is then printed on the margin of the page in the right position. And not just that, adding

listoftodos

to the file prints a list of all the TODO items in your document, similar to a list of tables. In order to make room in the margin for larger notes, I increased the margin size using the following statements in the preamble of my document:

addtolength{oddsidemargin}{-1in}
addtolength{evensidemargin}{-1in}

And if you don’t want the TODO items to show up anymore, simple disable them by using the “disable” property in the usepackage command. Easy! A big thumbs up to Henrik Midtiby who wrote this great package a few years ago.

Happy New Year!

Phew! It’s been a while since my last post in October – all of a sudden, it was December, the holidays, the new year, and now it’s already February and Manchester is being covered in snow!

I’ve been quite busy with my research (it’s the final year of my PhD), and I’ve been spending a lot of time working on algorithms for some experiments, as well as improving my Java skills to implement them.

I also wrote a blog post for The Guardian recently to support their “Digital Literacy” campaign. They asked me to comment on the lack of girls and women in IT from a personal point of view:

[…] I have only vague memories of ICT classes in school, except for one lesson where we were assigned the task of formatting an Excel spreadsheet. I was about 13 years old, and one of the few girls in my class who not only knew how to use a computer, but even owned one.

Now, more than a decade later, I am studying for a PhD in computer science and spend my spare time organising technology-related workshops for girls and women from different age groups and backgrounds.

Needless to say that my ability to format Excel spreadsheets played only a minor role in my decision to study computing at university level. […]

To read the entire blog post, visit the Guardian’s Teacher Network blog!

Techie Toolbox Part 2

It’s the start of the new semester and everyone’s busy with lectures, seminars and tons of coursework – working efficiently is key (not only) at this time of the year! Here are some tricks from my Techie Toolbox which might help you getting things done a little faster.

Screen

I usually run most of my experiments on another computer here in my office rather than on my own laptop, as they often take several days to run (so. much. data!). Using ssh to remotely login to the machine is obviously the best option to access the process and data when I’m not sat right in front of it. There’s just one problem: you can’t terminate the connection, as the code just stops running as well. The solution comes in the form of a neat little command line tool called ‘screen’, which allows you to resume a session even after disconnecting and reconnecting to your server. Sweet!

There is a lot of information on the web about screen, so I’ll just link to the official GNU Screen manual and a short and nice tutorial.

One problem I encountered which I didn’t know how to solve straight away was resuming a screen that wasn’t detached properly. If your ssh session accidentally ends (i.e. if the connection dies) your screen session will not be detached. This means that you can’t resume it with the usual screen -r. One option to resume it is with screen -x, but you won’t be able to detach it that way. The solution is to detach the running session first using screen -d, then resume it as usual with screen -r. Simple!

Latex word count

If you’ve been reading my blog, you probably know how much I love LaTeX. I can’t imagine ever writing anything technical in Word (or Pages on my Mac…) ever again. While the LaTeX editor I’m using (Texmaker) has plenty of helpful features (1-click-compile & preview!), there’s no way to get the word count for the whole document, which is particularly bad when you spread out your text over several files. This LaTeX word count tool is a simple perl script that allows you to specify exactly what you want to be counted – included files, headings, formulas, captions, the bibliography, etc. Absolutely essential tool for your coursework and essays!

Search bar short cuts in Chrome

One of my favourite little tricks is using short cuts for customised searches in my web browser. I often use a German-English dictionary to look up stuff, check Wikipedia for some quick facts, or search for words in an online Thesaurus. While some browsers have an additional search box next to the address bar, I quite prefer Chrome’s ‘all in one’ address/search bar (called the ‘omnibox’).

The default search for the omnibox in Chrome is, obviously, google.com, but you can add additional searches for any web page that has a search box. You can either add a new search engine in the browser preferences (Basics tab > Search > Manage Search Engines button), or right click on any search box and choose ‘Add As Search Engine’ from the context menu.

Change the ‘Keyword’ field to a 1-character identifier for the search engine – for example, I have ‘d’ as dictionary, ‘t’ as thesaurus, ‘e’ for Ebay, etc. The search queries in your address bar will then simply look like this: ‘d haberdashery’ to look up a word on my dictionary page, ‘e macbook pro’ to search for ‘macbook pro’ on Ebay, etc.

This tiny little addition to my browser massively increases the speed of looking up things and I use it all the time. Highly recommended!

[Photo by Tomusic (Tom Wolfskämpf) [CC-BY-SA-3.0 or GFDL], via Wikimedia Commons]

What I’ve been up to… (my first ever workshop!)

It’s pouring down outside and I have spent a whole week revising Java code and paying down my technical debt I’ve accumulated over the past two years – time for some distraction, and time for another blog post!

I have been rather busy in the past couple of months working intensely on my PhD topic and running some more experiments. In May I submitted a paper on “Extracting Finite Subsets of Entailments from OWL Ontologies” to the Description Logics (DL) workshop, along with one I co-authored on the “Cognitive Complexity of Justifications in OWL”, which was heavily based on the experiments I talked about in my blog post last year. In June we got the notifications that the papers were accepted as a poster and a full presentation to DL, which meant I had to book flights and hotels to Barcelona, prepare a poster and a 20 minute presentation for the workshop.

Now, whenever I told people I was going to Barcelona for a workshop, they got very excited and a little bit jealous – but it wasn’t just there for fun, it was actual work! The talks and presentations at DL started at 9am every morning and went on until 6pm, so we spent basically all day in a lecture theatre, and I didn’t really get to see much of the city. This aside, the workshop itself was fantastic and I got to hear so many interesting talks, I could hardly keep up taking notes and chatting to people afterwards. Meeting the people whose papers I had read and talking to them about their work, getting feedback on my own work and just being surrounded by people who are extremely interested in such a fairly obscure research area was very motivating.

My own presentation went ooookay (I didn’t get the chance to practise the revised version of my talk and only noticed the gaps when I was giving it, whoops) and the poster got positive feedback, so I did come out of my first ever workshop with only a few small bruises. And even though I didn’t have much time in Barcelona, I  visited the zoo, had an evening picnic in the park, and went  to a couple of lovely restaurants. When I arrived back home in Manchester on Sunday night, I was truly exhausted – but it was absolutely worth it!

Even before I went to Barcelona, I worked on yet another paper, which I submitted to the International Semantic Web Conference (ISWC). I’m still waiting to hear back whether it was accepted, and I really hope it works out because this year the conference is in Germany, my home country! Fingers crossed… 🙂

So you want to do a PhD?

After finishing my MSc at the School of Computer Science in 2009, I went on directly to start a PhD here. It wasn’t exactly planned and, given that the process of starting and obtaining a PhD is vastly different in Germany (my home country), didn’t know what to expect at first.
The university offers quite a few research seminars and workshops to get new PhD students off the ground at the beginning of the year, which gave us an idea of what was expected from us. But as with so many things in life, repetition is key, and now – almost 2 years into my degree – I have figured out a few things that I was probably told when I started  my PhD, but didn’t realise were actually essential until later. Here is a list of my ‘Top 10 things I should have done during my 1st year but (sometimes) failed to do’ (in no particular order):
  1. Be prepared & read! Books like How to get a PhD etc. provide helpful advice and get you in the right mindset when you start out. There are also a number of PhD blogs which can give you (often slightly humorous) advice on things like how to get yourself to write, manage your time, prepare research posters, and beyond.
  2. Get involved in your research group early on, know what others are doing. If possible, share knowledge, chats over coffee, tools and code. My work overlaps with other people’s at some points, and it’s great to discuss potential solutions to a problem together, share data and test cases, rather than everyone working away on their on approaches and ending up with (slightly or very) different solutions that might not be compatible.
  3. Make a nice and comfy bed for your literature using tools such as Mendeley, BibDesk etc – and stay on the ball (check for new papers, RSS feeds etc). Then read with a structure (basics and most important papers first) and write up a short, structured summary for each paper, such as: what is the purpose of this paper? What is the methodology? Is it relevant to your research?
  4. BACKUP. Everything. Twice. Then backup again. Needless to say.
  5. Develop a useful system for documenting the work you do (for example coding, use of software, statistical analysis) and finding it again later, then document every step of what you do, why you do it, and what the outcome is. Write as much as possible – it’s great when you can reuse fragments of your documentation in a paper or other form of report. Doing the same work twice because you forgot that you had done it before is pretty annoying.
  6. Identify the tools you will need, then get familiar with them – Excel, statistics, LaTeX, databases, scripting, you will need one or the other (or all of them…) at some point. The easier it is for you to use these things in everyday life, the easier your work will be.
  7. If you’re good at coding – great. You’re safe. If you’re okayish at coding – be prepared to spend hours fixing bugs, but make sure you don’t waste too much time that you could spend doing actual research. If you’re really really bad at coding or come from a different discipline (or both), try and avoid it where you can. Getting to grips with code when you’ve got no experience can be a massive headache and cost you a lot of time that you could have spent on something far more productive.
  8. Get feedback. Talks, seminars in your research group, presentations, discussions – get involved and don’t run away from them. You can run, but you cannot hide, and getting feedback helps you spotting errors and improving your work.
  9. Mingle. Yep, that’s basically a summary of points 2 and 8.
  10. Learn to ask questions! Don’t just collect data, ask what the purpose is, what the benefits and disadvantages of your methodology are, what the expected outcome is, what could affect the outcome, what the applications of your work are, and so on. Learn to ask why, then learn how to answer the question sufficiently.

The Guardian University Guide 2012

I just came across the Guardian University ranking which includes over 100 UK universities. With the usual suspects – Cambridge, Oxford, Imperial College – at the top, Manchester comes in at position 19 out of 106 for Computer Science and IT. While I generally don’t exactly trust the reliability of these rankings (have you read “How to lie with statistics”? 😉 ), I find the column “career after 6 months” quite interesting. Manchester is at rank 11, with 78% of students being in employment 6 months after graduating (I presume this is how you read the number). Encouraging!

The complete table can be found here: http://www.guardian.co.uk/education/table/2011/may/17/university-guide-computer-sciences-it