Follow

Tagprogramming

Back in the 60s, before synthesizers were commercially available, the BBC Radiophonic workshop was creating electronic music and sound effects for shows like Doctor Who. The BBC has now published a set of web-based simulations of some of this equipment, using just the Web Audio API of HTML5. The code and explanations are included.

I covered the Khan Academy’s new interactive programming tutorials for Wired:

Since 2006 the Khan Academy, named for its founder Salman Khan, has provided free video lectures on subjects such as mathematics, biology and history. As we’ve reported before Khan garnered praise from the likes of Bill Gates (whose foundation invested $1.5 million in the site), but other have been more critical of the lecture-driven approach. Thus far the site has only included prerecorded lectures that offered no feedback or interaction.

The tutorials are interactive and live entirely in the browser. Instead of a video, each lesson contains a pane on the left side for students to enter code and a pane on the right that displays the output. The first lesson walks students through the process of writing code that will draw a face in the right pane. After learning to generate graphics, students work up to animation and eventually to games, such as a Pac-Man clone.

Rather than have students write code and then run it to see if it works, the results of changes are displayed in the right pane immediately, providing immediate feedback. The lessons also include tips for solving common beginner problems.

Some people believe that everyone should be a programmer. But Frank Duff is living proof this notion should be taken with a large grain of salt. In 2003, Duff quit his job as a software developer and went to work as a bike messenger.

Two years later, he published an online memoir detailing his exit from the software world, and it became an instant internet classic, reflecting the desire of many developers and other white-collar workers to somehow escape their office cubicles and do something “real.”

“Even before Office Space, white collar workers peered out the window (if they were so lucky) and imagined a more romantic life doing real work out under the sun,” he wrote.

Since Duff published his memoir, we’ve seen a mini-movement across the tech world that seeks to turn just about everyone into a programmer. A startup called Codecademy is offering online programming lessons designed for the average person. Google is pushing visual programming tools such as a Blockly and App Inventor that let you code without even a single keystroke. And a Facebook engineer named Carlos Bueno recently published a book that seeks to bring the programming ethos to children as young as five. Duff sees some value in the idea of universal “code literacy,” but he also urges moderation.

“Should everyone learn to code? I certainly wouldn’t make it mandatory,” he says. “[But] I encourage people to learn to code, just as I would encourage them to learn to drive, knit, and shoot.”

Nine years after quitting his full-time programming job back in 2003, Duff tells Wired that he still codes from time to time, but he has no regrets. Leaving the programming world freed him to do so many other things. “I think it’s unlikely that I’ll ever need to rely on my ability to write code to feed myself again,” Duff says. “But it’s a skill set I’m grateful to have.”

By day, Bueno is a Facebook engineer. He helps hone software on the servers underpinning the world’s largest social network. But he moonlights as a children’s author. His first book is called Lauren Ipsum, and it’s a fairy tale that seeks to introduce children — as young as five or as old as 12 — to the concepts of computer science.

But this isn’t done with code. It’s done with metaphors. In one scene, the titular character, Laurie Ipsum, teaches a mechanical turtle to draw a perfect circle using simple instructions in the form of a poem. “I wanted to write a book not on how to program, but how to think like a programmer,” Bueno tells Wired.

So how exactly is Python programming useful in creative writing? Parrish’s course doesn’t deal with artificial intelligence, or attempts at creating narratives or creating interactive hypertext or anything like that. It covers, for lack of a better term, procedural poetry. Typically, a student takes a starting set of text, writes a Python program to modify that text and then interprets the results.

Parrish cited non-electronic procedural poetry experiments as inspirations for the course. For example, he talked about Raymond Queneau’s Cent mille milliards de poèmes, a book in which the text has been cut into strips that can be re-arranged to create nearly endless configurations:

Parrish also mentioned Ted Berrigan’s Sonnets and David Melnick’s PCOET. Parrish didn’t mention them in his talk, but the course website also mentions Brion Gysin and William S. Burroughs’ work with the cut-up technique.

Processing “programming language and environment built for the electronic arts and visual design communities. It was created to teach fundamentals of computer programming within a visual context and to serve as an electronic sketchbook.” (via Bev Tang)