Browsing archives for 'Hacking'

On women in computer science

Hacking 3 December 2009 | 0 Comments

pliablenerd on flickr

I could talk about this subject all day, really, but don’t worry; I won’t.

Of Geeks and Girls” is an interesting article. Its main argument — and this is part of scientific research, not just soapboxing — is that it’s not necessarily the low proportions of fellow women that keep girls out of computer science. It’s the environment, the image, and the general “girls not welcome here” feeling that one gets when sitting in a place surrounded by Star Wars posters, Red Bull cans and that lingering odour of nerdy undergraduates who haven’t discovered showers yet.

I find the argument around this fascinating for two reasons. Firstly, because it’s being hotly contested by men: “We don’t keep women out! We’re inclusive and nice!” Are you really? (And here’s where, as with any post on this topic, the generalisations start to appear. Sorry.) Just because you painted the walls of your computer lab pink doesn’t mean you’re inclusive. Do you value a geeky girl who may appreciate different things (books, Blythes, craft, cosplay, independent cinema, Nintendo, anime, WoW, name your thing), or is it only science fiction, Linux kernel hacking and Android development that count? Do you make the same assumptions about a female you meet in a computer lab as you do a male? Or do you assume that if a girl puts her hand up for a TA that she’s stuck, and if a guy does, he’s pointing out an error in the assignment?

Anyway, as a female person who’s been in and around academic computer science for the last decade or so, I find it infinitely amusing that people care more about their own opinions than mine; people have corrected me on my own experiences, saying their “friends” (who they greatly “respect”, of course!) found it different, and so I must be mistaken..!

The second reason is because it’s something far more actionable than many of the other societal factors often pointed to as the reason for female underrepresentation. Want to start appealing to women? Stop appealing to geeks and start just appealing to everyone. (This is why many of the ‘wider audience’ videogames are taking off — they’re totally agnostic. Doesn’t everyone want to be a rock star, to get fit, or to become Prince of the Cosmos?)

Of course, the flipside is that by de-geekifying computer science, you actually lose geek cred and possibly antagonise the female geeks (as we all identify strongly with the geek stereotype, and we certainly don’t want to project the image that no girls like Star Wars action figures, etc). Tricky, no? How can we get the best of both worlds?

Tagged in , ,

Embracing the human

Hacking 23 November 2009 | 0 Comments

dancoulter on flickr - robot army

I am a child of the Eighties, and as such, many things are true. One of these: as I grew up, learned new skills, figured the world out, and developed social interaction, computers were also growing up, coming into maturity, fadding and exploding and giving rise to the Internet and things.

I am a child of the computer age, and my generation is possibly the first to expect to speak to computers to do everyday things, not humans.

I am a child of automation, of Chip and PIN, of press 1 to pay your bill and of click here to continue. I am a child of Insert Clubcard Or Payment Method, of Oyster cards and of expecting the companies I patronise to listen when I complain about them on Twitter.

But I’m gradually rediscovering humanity, and you know what? It’s pretty cool.

It’s pretty cool to go into a shop and actually have a conversation with a knowledgeable and friendly assistant, instead of self-serve all the way to the automated checkout. It’s pretty cool to have a chat with the barista or the person next in the queue. It’s pretty cool to find out stuff about other people and to work my vocal cords, not my PIN fingers.

The best thing about treating other people as human beings, not flesh-bound robots, is that inevitably they treat you like human beings too. You want discounts? Faster service? Extra cream? Don’t act like you’re talking to a machine and bluntly order, have a conversation, become a person not Customer #18,284 and… magic really does happen.

I’m not saying there’s no place for robots (and automation) in society. It’s just come as something of a surprise to me, as my shopping and living habits have evolved alongside technology, and thus been encouraged to use these faceless machines at every corner — as my usual reaction in shops is to say “Thanks, I’m fine, just looking” — to discover the courtesy that comes with treating other people as human beings, and the undeniable warmth and connection that you get back for doing so. Better service. Better coffee. Shoes that actually fit. A five pound discount. All of these, and more, this last week — just by being a person.

I think this shift in behaviour has been coming for a while, but it’s been triggered by two things: visiting the US, where there’s a very fine line between irritating shop greeters with a fixed smile, and people who actually are amazingly helpful and nice even if you don’t buy anything; and doing a negotiation class, formalising some of my more instinctive behaviour when it comes to figuring out how to get to the nicest possible common ground.

(The trick of the negotiation class? Can you guess? Yup — listen. Work out their needs, communicate yours, and answers become clearer — most problems are in failing to communicate the needs, drivers, variables etc, not in the lack of a compromise existing. In the class exercise, this became scarily apparent. My instinctive reaction was to cover up my position in case it weakened me.)

So, next time a shop assistant says “Can I help you?”, and you’re standing there wondering which of five identical products you should buy, why not smile and say “Maybe you can!”. What’s the worst that can happen?

Tagged in , , , , , , ,

Real-time search, noisiness and influence

Hacking 1 July 2009 | 0 Comments

There’s a really fascinating post over at TechCrunch today by Mary Hodder, someone who’s been working in ‘live search’ – what we now call the real-time web – for some time.

The article’s definitely worth reading in its entirety, but I wanted to highlight some of the difficulties with real-time conversations that she mentions. A great example is the Michael Jackson Tweet-splosion; if you’re taking a purely search-based view, what do you search for? “MJ”? “Michael”? “King of Pop”? As Mary says, that’s a relatively easy example!

More interestingly is the comments Mary makes about authority. How do you measure authority online? Well, as part of my initial PhD research I looked at various web-structure algorithms (yes, including PageRank) and how you might exploit them along with semantic information to gain a true understanding of the importance of an article.

This research is rooted in scientific publications, in fact; we can learn a lot from the relatively ‘clean’ case of scientific paper citations, although the language used on the web is about a thousand times more interesting. (And, thus, a thousand times harder to process.)

If I told you how we actually track influence, of course, I’d have to kill you. But check out Mary’s article, it’s great food for thought.

Tagged in , , ,

Becoming a Rockstar

Hacking 6 May 2009 | 0 Comments

ROCKSTAR by Grag Hax on flickr

I hate the phrase ‘rockstar programmer‘ as much as the next gal, but here’s a really interesting talk on how to become one from Chris Wagrath, founder of Github.

The most important piece of advice in the talk is specific to programming fame and fortune, and yet not:

Code talks.

If you don’t have any projects going right now, you should spend some time here starting something new. Something you’ve been meaning to do but haven’t got around to. An idea that’s been floating around.

Or just find someone who’s hacking and ask them what they’re working on. Maybe it’ll be interesting enough to jump in on.

If you’re trying to get hired, whether for a project or a long-term job, having published code speaks far far louder than a list of academic credentials as long as your arm. Trust me; I have the latter, but a lot of the code I’ve written isn’t easily ‘out there’ and it’s a lot harder for people to just poke around my work, see for themselves I’ve used the right tools, done the right sort of things, and even made a name for myself. Because as far as the Internet’s concerned, I haven’t.

The point about blogging that Chris makes is more angled towards the ‘fame and fortune’ side of things than necessarily becoming a great coder, but I think it’s a great and oft-overlooked point. People like Joel obviously do well from their blogs, but even if your readers are just your mum and some people on IRC, practicing communication is amazingly valuable.

Plus, if you write a random post about how you solved an obscure issue, chances are when I’m stuck I’ll run across you via Google and drop by to say thanks. I’ve found some cool people that way.

If you want to run your own business, code is the perfect way to find cofounders and employees. I always feel bad for business types who post on forums wondering the best way to meet a cofounder or CTO. Not because they’re business types – we all have to live with our decisions – but because I didn’t realize this was an issue.

This puzzles me a little. If you’re a true button-down MBA sort, you aren’t going to be hanging around sifting through code, you aren’t going to be producing code (giving yourself ‘street cred‘, so to speak), and you’re generally going to be a little lost in this world. I guess these types need people like me who sit in the middle and speak both languages; or to sit down with an O’Reilly book and learn for themselves.

The key message from the talk is applicable to worlds beyond code, though: actions speak louder than words.

Trying to get hired as a writer? Write. Want to make a career out of games? Create. A wannabe photographer? Experiment.

Thanks to the equalising web, we can all be professional amateurs; we can all participate and learn, from tutorials and from each other. We can all create lasting impressions, whether through our blogs, through released Flash games, through Second Life fashion stores, through Flickr sets.

Gone are the days when your employer didn’t have any proof you could actually do the job beyond a degree and references: we’re in the vocational age, so learn a few chords, post videos of yourself playing on YouTube, and become a rockstar.

Tagged in , , , , , ,

A horribly insecure one-off password storage hack

Hacking 31 March 2009 | 1 Comment

Passwords.

Don’t we love them?

I’m always low on inspiration when trying to think of one-time passwords for random sites. I don’t want to use the same password everywhere, but I want to be able to remember – or find – the disposable password I have chosen for a particular site.

Email is obvious but (fortunately) not that many sites actually email cleartext passwords. I generally have three choices: email myself the password, save it in firefox and hope I never reinstall, or write it down somewhere. None are perfect.

A system I started using about a year ago was to generate a one-time password based on the site itself. For obvious reasons I won’t give the exact formula I used, but a similar approach would be to take the first, third and fifth letters of the site’s name, add a meaningful number, and then capitalise the first three letters of your username there. So, Bob’s Twitter password – he’s a huge fan of the Hitch-hiker’s Guide, of course – might be tit42BOB.

However, yesterday I saw a pretty cool ruby gem that generates passwords that are way more secure than Bob’s, combining dictionary words with symbols and numbers. It’s called Haddock by Stephen Celis.

I’ve also recently started using Dropbox to sync files between the two machines I use most often, and it works like a charm. Spotted where this is going?

The horribly insecure one-off password storage hack consists of three simple steps:

  • Install haddock and Dropbox
  • Use haddock to generate a password for a specific site
  • Store it in your Dropbox so you can access it from anywhere

The way I’ve set it up (and it’s impossible to stress how insecure this is, so who knows if I’ll actually use it!) is to have a subdirectory in my Dropbox called fish, and then a textfile which is simply named after the site in question, with the contents being the password. Thus when I revisit the site, I just need to cat the file to find my password.

Doing this involved installing Dropbox on a headless Debian box (which in turn meant upgrading to lenny, an extremely painless process that takes two lines of text despite the community’s attempts to overcomplicate things). Surprisingly this was fine, with help from the ‘Almost Text Based’ guide – Filip L’s python script worked like a charm. I fumbled about a bit, installing GNOME, and used ssh with X forwarding from my local Ubuntu install – so no need to faff about with VNC.

The Dropbox step is mostly a precaution. Because I’m hosting the fish directory on a remote server, and usually have a screen session open to it wherever I’m logged in, viewing the password files is easy enough. However, the last thing you need is to lose a pile of automatically generated passwords you haven’t a cat’s chance of remembering, so there we go. The big woolly insecurity here is, of course, how easily someone could eavesdrop the Dropbox data…

I’m not sure how to improve security here, beyond obvious things like obfuscating names and file contents, encrypting etc – all things which defeat the point of the sheer simplicity of the setup. I’d also like to store usernames, too, as that’s definitely something I rely on firefox and email for, often cycling through every username I’ve ever had on the Internet only to find that the site required a specific length and format so I made up a one-off variation.

An idea that comes to mind is storing them in a secure database (is such a thing possible) and asking a variety of questions about one’s life in order to retrieve information, though that might get old fast. For now, we have one-site passwords that are retrievable, memorable (so you don’t have to store them), and secure in and of themselves (what’s worse; a secure password in a file that might get sniffed, or a dictionary word?).

Tagged in , , , , , ,