StartupCafe turning 2!

Last night, StartupCafe celebrated its second birthday.

Never one to shy away from partying, we threw an amazing birthday party. It was pretty epic. There are photos. And better photos.

I’ve talked about how delighted we have been to get such a reception from the community and how happy we have been to be part of something that helps people.

Most of all, StartupCafe has allowed me to become great friends with the nicest  people in the world: Jess, Hilary, Thomas and Bela. They rock.

Why Google > Microsoft: Working around the Pre-release Issue

Just now, I was looking up some old Microsoft Word files that I had written a while back. After taking a little while to find the right ones, I double clicked and got this incredibly helpful message:

“This file was created in a pre-release version of Word 2007 and cannot be opened in this version.”

Of course, I had create the file in the beta release of Word 2007 and now that I have Office 2010, it wouldn’t open. You would think that this is slightly insane, considering Microsoft didn’t actually explicit warn me that any files I created in the beta version would actually not be readable later. (I wouldn’t have minded, I would just liked to have been warned.)

This is the interesting bit. My first thought was to email myself a copy of the file, and see whether Gmail’s Word document previewer could open it. Well …. turns out it did. With no problems. I then thought it would be interesting to look up the official “fix” for the situation and found this webpage from Microsoft Support telling me that what I should really do is either find the Administrative templates or I could edit the registry.

Seriously? Edit the registry? Just to read a Word file, which clearly, didn’t pose that much of a problem for a non-MS previewer?

Yeah. This is the reason why Google wins over Microsoft.

Great tools for teaching programming

In Oct this year (2010), the Edinburgh University Hoppers Group which Maxim Cramer and I help to run, decided to run a female developers conference. We ran this conference for a variety of reasons which warrants a blog post all by itself, but the important thing here is that I’ve been spending an increasing amount of time thinking about is how to encourage non-coders to code.

There are two groups of people which I think could benefit a lot from learning coding.

In my startup life, I am lucky enough to meet a variety of people from different backgrounds – some in management, marketing etc – some starting their own companies for the first time. Unsurprisingly, most of them are web-based. But one thing that it always strikes me is how quickly people are willing for someone just to take over the design and development of their sites without they themselves, having a go. Of course I’m not saying that you should build the whole website yourself first – after all, it takes YEARS to train as a good developer – but having some sort of background understanding helps articulating your vision in their terms, helps to understand what is and what isn’t possible, and helps you to see where opportunities for innovation are.

The second set of people which I think would help are … well, less a ‘set’ of people, but more the world … unlike two or three decades ago where new innovative products were real, physical things; instead, opportunities lie increasingly in the digital space. However, rather than seeing increasing trend of students going on to study computer science at University level, we see the opposite. And don’t even talk to me about the percentage of women within that number too. Having spent many long hours discussing how this could be better resolved, one large part of the answer is the need to make programming fun and exciting.

So here are some awesome tools which you should look at if you are interesting in learning how to code, or if you’re looking to teach non-coders to code.

1. Android App Inventor

Android App Inventor is by far one of the coolest tools I’ve seen in graphical programming. The idea is, with a few simple clicks by dragging and dropping components, you can get a fully functioning app running on your mobile really quickly. Meaning that non-coders can get results, fast. And the ability to show off to their friends what they had built.

There’s a front-end (interface builder) and a back-end (“blocks” builder for the programming aspects). Certainly the blocks builder is the most important part, as it is a gentle way to start teaching common programming concepts such as loops, if-then statements and database access.

I’ve had a play with it myself. Its fun. Although it can get me frustrated really quickly because I just want to get around to tweak the code, that’s probably a sign that this tool is great for step 1, but once you’ve got to a reasonable level, its time to move on.

2. Rails for Zombies

The idea behind Rails for Zombies is that you would be walked through the basics of creating a “twitter for zombies” through a series of tasks. In each section, you start with a simple task which gets built up to much more complex tasks. You get to learn about database programming prinicples, web development through ruby and so forth. Each player gets credits for solving a puzzle. Its meant to be fun and way more interactive than learning from a book or screencasts.

I can’t even explain how excited I am about the potential for Rails for Zombies and how awesome it is that gamification prinicples have FINALLY arrived in programming. I haven’t had a chance to play with it properly yet, but once I do, I’m certainly going to explore setting up programming workshops with Rails for Zombies.

3. Kodu

Built by the awesome people at FUSE labs (brought by Microsoft), Kodu is a visual programming lanugage made specifically for creating games. In particular, its aimed at teaching children programming principles. (And in that sense, it has a lot in common with SCRATCH).

The idea is that you can design, build and play your own games through a graphical interface. You can create the (3D) environment, build your character and set obstacles and tasks that the character has to achieve. The best thing about Kodu is that (not only is it free) but that you can run games on your XBox360 meaning that it makes you feel like you’ve actually created a real game. For fairly little work, someone can create a simple, but very polished looking game.

Obviously this one is aimed more at children: of the demos I’ve seen most of them have been aimed at the primary school age. Kids can share and play each other’s games over the network, and they can also download numerous other games around. To me, this is the 21st century equivalent of creating your own board game (I created quite a few when I was little) and enables them to explore their creativity. For adults, you should definitely check out Wild Pockets (Shanna Tellerman, their CEO, actually came and at one of the Girl Geeks Dinners this year).

So there you go. Hope you have fun!

(And after all that hard work, here’s some humour to go with it …)

“We make lists because we don’t want to die”

Lifehacker recently highlighted an interview with the renowned author Umberto Eco, who is currently curating an exhibition about the place that lists holds in our culture. In the interview, he notes:

“The list is the origin of culture. It’s part of the history of art and literature. What does culture want? To make infinity comprehensible. It also wants to create order — not always, but often. And how, as a human being, does one face infinity? How does one attempt to grasp the incomprehensible? Through lists, through catalogs, through collections in museums and through encyclopedias and dictionaries. There is an allure to enumerating how many women Don Giovanni slept with: It was 2,063, at least according to Mozart’s librettist, Lorenzo da Ponte. We also have completely practical lists — the shopping list, the will, the menu — that are also cultural achievements in their own right.”

and later on notes:

SPIEGEL: Why do we waste so much time trying to complete things that can’t be realistically completed?

Eco: We have a limit, a very discouraging, humiliating limit: death. That’s why we like all the things that we assume have no limits and, therefore, no end. It’s a way of escaping thoughts about death. We like lists because we don’t want to die.”

Considering I’m currently embarking on a big list of things to do, this article stuck a cord with me. In fact, my friends find it so amusing that I’m constantly recruiting them to complete things on the list that they’ve suggested that I should create a club for people who will help each other to create lists …

MyPolice and Positivity

As some of you know already, I’ve been working on mypolice.org – a website allowing the public to give feedback to the Police.

We were pretty excited when the Times decided to write a piece on us for this sunday’s paper. What resulted was this:

“Police leaders have warned that a new website allowing the public to criticise the service could be hijacked by troublemakers”

Continue reading