Archive for the 'writing' Category

RubyCocoa (etc.) podcast

I forgot to mention that I did a podcast with Daniel Steinberg:

Brian Marick on Ruby Cocoa and Testing
Who’s smart enough to program?

Brian Marick talks to Daniel Steinberg on a wide variety of topics. Brian asks, who’s smart enough to program?, and describes how he met Andy and Dave at the Agile Manifesto summit. He talks about using Lisp, Smalltalk and Ruby, and about introducing programming to testers. Brian also shares the secrets of Domain Specific Languages (DSLs), and of course, his new book on Ruby Cocoa: marrying Ruby with the uber-cool Mac OS X Cocoa GUI framework, and test driven development with Ruby Cocoa code.

The Pragmatic Bookshelf has other podcasts, too.

Pithysoft

UPDATE: Turns out that what I want to do, modeled after something used for RubyConf, can’t be done in stock Twitter. Seeing if I can persuade the Twitter people to work the same magic for me.

Item: Richard P. Gabriel has this habit of making software people write or speak within artificial constraints.

  • For writers’ workshops (book-length PDF), he’s made reviewers write a summary exactly 29 words long.

  • In last OOPSLA’s “50 in 50” keynote, he and Guy Steele, Jr., covered the last five decades of programming languages in 50 segments, each exactly 50 words long (in a talk lasting, I believe, about 50 minutes).

The point of constraints is that they make you work: you can’t use the words that first come to mind. You have to struggle to say what you want while playing by the rules them—and sometimes that makes you realize you ought to be wanting to say something else. Constraints are a tool to make you think new thoughts.

Item: I’ve become strangely fond of Twitter. It’s a service that lets you send short (140 character) “tweets” out into the ether. Other people can subscribe to (”follow”) your tweets. They can see the tweets of everyone they follow by visiting their own twitter web page (here’s mine), subscribing to an RSS feed, or using a twitter-specific app to fetch tweets. (I use Twitterrific.)

That’s form: what about content? As Twitter user shalunov (Stanislav Shalunov) puts it (in a tweet):

Four main ways to tweet: ideas, news, @-chat, phatic coffee. The last is the original, rest invented by users.

Ideas are the tweets I’m most interested in. Slalunov’s is an example of an idea tweet.

News is my second interest. As a geographically isolated person, it’s one way of knowing what interesting people are chattering about.

“@-chat” is a sort of person-to-person instant messaging. For example, cypher23 wrote “Stalker is a weird and wonderful film.” I replied: @cypher23 Harrison’s new _Nova Swing_ is in the sub-sub-genre with Stalker, _Rogue Moon_, and _Roadside Picnic_. Liking it so far.” Anyone following cypher23 would see both his tweet and my reply. Someone following only me would see only my reply (but could click on the hyperlinked cypher23 to see all his recent tweets). Because of the one-sidedness, and because the topics tend to be less interesting than those in the first two categories, I tend not to follow people who have a high proportion of @-chat in their tweets.

Phatic coffee” is just tweeting what you’re doing now, like avibryant’s recent “obsessively refreshing UPS tracking page for new laptop” Although I’m somewhat of a hermit and not much for social chit-chat, I’m not immune to phaticality. (I find chadfowler’s heavily phatic tweets appealing, oddly puckish, and somehow soothing.) But I likely won’t follow someone who’s predominantly phatic.

Item: While writing a book, I often find myself disinclined to spend spare time writing blog posts. Yet I continue to have ideas. I’m sure lots of other people do too.

Synthesis: I’ve created a fake twitter user named pithysoft. It’s for anyone’s pithy tweets about software development. When I finish this post, I’ll send the first one: “d pithysoft Business-facing tests are like personal ads: No matter how exact your description, the reality always tells you something new.” People following pithysoft will see it. If the pithy claim intrigues them, they can tweet pithysoft with something like @marick More about tests and personal ads, plz”. That would encourage me to write it up on my blog. When I did that, I could tweet @pithysoft Expanded on XYX here: XYX”

An experiment. Let’s see how it goes.

“Why Sam,” said Joe, “that sure is a software artifact.”

There’s a style of writing about software that’s bugged me for a long time. It’s what I call the “Joe burst into the room” style because it often starts with a sentence something like that. It’s a little morality fable in which a point about software development is made largely through a conversation between pairs of people.

I have two problems with the style:
(more…)

Questions to ask before writing an article

  • Can you describe your audience? I used to ask the question in terms of types of reader - manager, tester, team lead, etc. - nowadays I might ask the author to describe a typical reader as a person rather than a role (as a persona, if you will).

  • When a reader finishes your article, she should know more. But that’s not enough. Knowledge has to be put into practice. How will she do that? Will she know the first step to take? What, in the first few months after publication, do you want 1000 of your readers to have accomplished?

  • When she puts your idea into practice, what beginner mistakes will the reader make?

  • In what situations is your advice the wrong advice? When does your favorite tool/method/technique not apply? (”When people aren’t trained well enough” or “when there’s insufficient management support” almost always mean you haven’t thought things through well enough: there must be cases where your pet idea would be bad advice even for the best trained, best supported people.)

  • How is your article different than the other hundred articles on the same topic?

See also hints for revising and this extra hint.