I love snarky pseudocode


if (rand()%2 == 1) {
Else {
     // Do nothing
goto Bored;


Three Starting Points for Learning to Code

  1. Hackety Hack — Suitable for kids as well as adults, a program that contains a built-in programming environment with embedded lessons
  2. CodeAcademy — learn to code without anything but a browser.  
  3. The EPIC HOWTO — Coding for Journalists and Other Busy People
"In the emerging, highly programmed landscape ahead, you will either create the software or you will be the software. It’s really that simple: Program, or be programmed. Choose the former, and you gain access to the control panel of civilization. Choose the latter, and it could be the last real choice you get to make."

Program or Be Programmed,” Doug Rushkoff.  Scary, even for someone like me who is learning to program…my first thought is: how do I get my kids to learn so they don’t end up as serfs in America’s diminished, winner-take-all society?  I immediately went to download Hackety Hack, an all-in-one application with built-in lessons to teach kids how to code in Ruby. 

Great list of learn to program resources

Complete with descriptions of different languages to help you pick where to start, and links to tutorials. Nice!

Teaching Creative Writing with Programming


Wish there was a class like that when I was in school! :)

Women coming back to technical professions

Anna Lewis, writing at the Fog Creek Software blog (Joel Spolsky’s series of four articles entitled Painless Functional Specifications had a big impact on me, and I still teach it in groups):

Computer science has always been a male-dominated field, right?


In 1987, 42% of the software developers in America were women. And 34% of the systems analysts in America were women. Women had started to flock to computer science in the mid-1960s, during the early days of computing, when men were already dominating other technical professions but had yet to dominate the world of computing. For about two decades, the percentages of women who earned Computer Science degrees rose steadily, peaking at37% in 1984.

In fact, for a hot second back in the mid-sixties, computer programming was actually portrayed as women’s work by the mass media. Check out “The Computer Girls” from the April 1967 issue of Cosmopolitan magazine. It appeared between pieces called “The Bachelor Girls of Japan” and “A Dog Speaks: Why a Girl Should Own a Pooch.”

Don’t worry, ladies. According to none other than Grace Hopper, programming is just like “planning a dinner.”

…And then the women left. In droves.

From 1984 to 2006, the number of women majoring in computer science dropped from 37% to 20% — just as the percentages of women were increasing steadily in all other fields of science, technology, engineering, and math, with the possible exception of physics…the most common explanation is that the rise of personal computers led computing culture to be associated with the stereotype of the eccentric, antisocial, male “hacker.” Women found computer science less receptive professionally than it had been at its inception.

Why do we care about a long-gone moment in early computing history when the presence of women was unexceptional?

Because it looks like women are now returning to computer science.

In the past year, the number of women majoring in Computer Science has nearly doubled at Harvard, rising from 13% to 25% (still nowhere near the 37% of 1984).  And — because Harvard is not actually the center of the universe — it’s nice to know that the trend has been spotted elsewhere. In the past three years, the number of female Computer Science majors at MIT has risen by 28%. And, at Carnegie Mellon, the portion of Computer Science majors who are women has moved from 1 in 5 in 2007 to 1 in 4 last year.

Online guide to Ruby


I’ve spent the whole morning pouring over Why’s Poignant Guide To Ruby and I literally can’t find the willpower to close the browser window and step away.

This guide is exciting, informative and utterly addictive. If only all tutorials and lessons were written to such a high standard the world would be a much better place


I want to talk about what a big role faith plays in learning something new.  

Whenever I’ve committed to learning something substantial (or really, doing anything substantial) I’ve come to a point where I really didn’t know if I could do it.  

What do you do then? What do I do then?

You must plow forward blindly.  You must advance without assurances, without information.  You must keep going.  I must keep going. 

This is a profoundly *uncomfortable* place to be in.  It’s especially uncomfortable if a lot of your personal and professional identity is based on being The Smart One, because you will most assuredly feel very, very stupid.  Stupid because you haven’t learned it already, and stupid for choosing this particular thing to learn or do.  

I am not a believer (I regret this and miss the religious faith I once had, as God was a most excellent box in which to place such worries), and so I must simply bull my way through that stage.   What does really help is the encouragement of others.  So? Ask for it.  If you’re stuck, and you don’t know if you should go forward but you don’t want to give up, ask for encouragement.  You’ll get it.  People all over the place will tell you not to give up, and you can and you must treat their voice as the voice of God, redirected through the mouths of ordinary people.  

"One of the issues you should be concerned about from the beginning is building a personal philosophy of development. Every time you learn something, try to understand where it fits in the big picture of your language and your development strategy at large. I highly encourage you to start reading books on matters of programming philosophy before and during your first steps in programming. Don’t be afraid of information you don’t totally understand."

A really great post by Paul Graham.  It’s great advice about learning how to *think* about being a programmer. 

Paul mentions using version control and testing as a beginner.  Speaking as a rank beginner, I would love to use version control, but most of the documentation and tutorials I found weren’t aimed at the beginner, and I never really got it working.  I’m not sure how to write a test, either, but I have a suspicion if I Googled it there’d be some helpful code out there I could use to get started.  I’m at the point where I really don’t know how to get started writing one from scratch. I’m still very early on, though — I’ve only been trying to teach myself for the past 30 days in whatever spare time I could grab after work and being with my kids.  

Келлия by И. Максим on Flickr.
I am off to my hermitage, where I shall have to drive six miles to get to the Internet.   I shall code in my cave.
It’ll be a religious experience. Totally.  In the beginning was the PHP.  Don’t worry, I have plenty of fellow hermits to keep me company.

Келлия by И. Максим on Flickr.

I am off to my hermitage, where I shall have to drive six miles to get to the Internet.

I shall code in my cave.

It’ll be a religious experience. Totally.  In the beginning was the PHP. 

Don’t worry, I have plenty of fellow hermits to keep me company.

Real Programmer™

I had lunch with my friend Andy Latto, a Real Programmer™  last Sunday, and he said he read my entry about having to fail, fail, fail, and finally get code to work.

Very helpfully, he pointed out that the process isn’t any different for Real Programmers™.

You mean it’s not because I’m a total dope?!

That’s a very helpful piece of information.  Makes me think pressing on learning to do this is a rational thing.  


I had a good idea for a project and I didn’t write it down.  Damn!  

(Maybe I just dreamed about it?  The memory seems so jumbled, and what I really remember thinking is, Oh, I love this idea!)

[5 Min later: no, no, wait: I DO remember this idea.  It was a real idea.  And I still like it.]

About Me

Lisa Williams

Founder of | Winner of Knight News Challenge | Center for Civic Media, MIT Media Lab | Cambridge, MA | @lisawilliams on Twitter | lisawilliams on Github