Archive for the 'Computing' Category

I helped elect a female president!

Yes, I wish I were talking about Hillary! But I’m not.

Instead I’m talking about the ACM elections, and the woman I’m referring to is Wendy Hall, CBE, Professor of Computer Science at the University of Southampton, Fellow of the Royal Academy of Engineering and the British Computer Society, co-founding director of the Web Science Research Initiative, and (if you couldn’t tell) one of my role models. So the votes have been counted and, come July 1, Wendy will also serve a two-year term as President of the ACM. Congratulations!

I should also mention that Wendy received the Anita Borg Award for Technical Leadership from the Anita Borg Institute for Women and Technology at the 2006 Grace Hopper Celebration (GHC) of Women in Computing, for which I was the webmaster — an awesome volunteer opportunity which just happens to be available! If you’ve got skills in WordPress then please apply!

And speaking of GHC, I also need to mention that registration for the 2008 conference is now open! After so many years of attending, stalking Telle Whitney, and volunteering, this year I’m finally going to be speaking on a panel! (Go me!) So, don’t miss this opportunity to interact with thousands of smart, successful, techie women — including Fran Allen!

Gosh I love being a woman in computing.

Code Monkeys vs. Code Ninjas

Software programmer Sara Chipps (yay! a woman!) has written an article titled Natural Programmers (Code Monkeys) vs. Career Programmers (Geeks in Suits). It’s probably the best non-techie explanation of the behaviors, habits, and beliefs of the “natural programmer” that I’ve read — and yes, I completely identified with much of what she wrote.

However, I have to take a step back and address an issue that I have with the two types of programmers she defines and the names she assigns to them.

First there’s the “career programmer (geek in a suit)”. These days I find that career programmers are not geeks, and they’re definitely not in suits (always business casual!). I’ve found that they’re in programming for the money; they learn enough to do their work — perhaps well, maybe even to get to the point of being perceived as geeky. But I also find that these people lack a true passion for the craft of writing code. Sara suggests that the career programmer is more of a business person, concerned with cost effective solutions, but I’m not even sure that’s true anymore. To me, this person’s work is just a job, and if flipping burgers paid as much as programming, they might be doing that instead.

Like Sara, I fall into her other category of “natural programmer”. But I am certainly not a code monkey — I am a code ninja! (Actually, with a nickname like “Obi-Wan Kimberly”, I’m probably a code jedi, but anyway…) I find the term “code monkey” to apply more to the previous category of programmer. Why? “Code monkey” implies that anyone can do what we do and that we work for bananas. “Code ninja”, on the other hand, says that we’re stealth and secretive, jumping out of the darkness when you least expect it. Our code takes you by surprise in its brilliance and our swiftness of execution is legendary. We could do no other job because we have trained for so long, perfecting our natural talent, and nothing else can satisfy our need for control over the systems we affect.

Sara closes her article with some OR logic about which type to hire, however I need to propose a more detailed and different solution. If you have only one programmer working for you, you probably don’t want either of these types — you need someone who really does fall into the gray area between the two extremes. (Yes, they are out there!) And if you have a team of programmers, you need a mix of these two types, and you need to put effort into getting them to communicate effectively with one another. Only then will you have both a killer team and killer code.

CS Skills FTW! (for the Web)

Five ACM experts have contributed to the twelfth edition of Deborah Morley’s college textbook, Understanding Computers: Today & Tomorrow. One of them, Chandra Krintz, Vice Chair of the ACM Special Interest Group on Programming Languages, answered the question, Are programming skills necessary to be a Web site developer today?

Yes, more than ever. Web sites today are dynamic, interactive, complex, and highly adaptive to appeal to the specific and changing needs of the individual users and consumers that constitute today’s competitive commercial markets and popular Web communities. Programming languages have evolved to support existing and emerging Web technologies. Developers today must be able to use effectively a wide range of high-level programming language technologies, such as Java, AJAX, Ruby/Rails, Python, ASP.Net, and PHP, and to adapt quickly to new languages, frameworks, and practices. Programming expertise enables developers to implement efficiently dynamic Web page content, as well as the distributed and layered systems through which Web pages interact with databases and other back-end applications. In addition, strong and marketable programming skills today include team-based work styles and pair programming, test-driven program deployment, agile workplaces, and use of visual and interactive development environments. Programming skills are key to the success, productivity, and satisfaction of today’s Web developers.

Cheap, programmable robot

Via the Institute for Personal Robots in Education:

Scribbler Robot

We’re pleased to let you know that the robot platform we developed for CS-1 instruction is now available for purchase.

The $149.95 platform includes a Parallax Scribbler robot, with an add on board developed at Georgia Tech. The complete diff-drive robot then includes: a color camera, bluetooth connectivity, a speaker, light sensors, and line sensors.

The robot can be controlled and programmed from a PC in Python using the Myro package developed at Bryn Mawr (included with the robot).

It is all part of our new curriculum for CS-1 centered on a robot context. The new textbook is also available online at our website.

Give One, Get One

One Laptop Per Child

Until November 26December 31, you can sponsor One Laptop Per Child by buying an XO laptop for a child in a developing country, and then get another one for yourself. I just got mine… hurry up and get yours!