Free Idea: Code equivalent to Morning Pages/750 Words

by jesse in

I had a bit of an idea that almost turned into another crank based on yesterday's blog post "On Family, Cranking and Changing" - the "code equivalent" for the idea stemming from the Artists Way's concept of "Morning Pages"/750Words and the Writing Down the Bones concept of "Keeping the Hands Moving".

I made the mistake however, of asking on twitter - never, ever ask a bunch of programmers quote "What do you think the char count or line number of a reasonably sized Python module is?" - never. Just don't. I'm not even asking that here. Instead, I'm giving you a simple idea for a web application. Take the implementation of github's gist's/pastebin, mash it up with a built in code editor (such as Ace), and kick out a programmer's version of 750 Words. The goal is not to force people to share code publicly - if they want, let them flip that bit (or just post/link to github's gist system). The goal is to encourage programmers/hackers to explore/write some new:

  • code
  • tests
  • docs

And I mean new - not something bogged down by their every day projects. It could just be a clever one liner ala Raymond's python tips. It could be a few-hundred-line piece of code that just tracks how many times they've watched their favorite show using some cool module. Just keep the hand moving; just take 3, 10 or 30 minutes a day and keep a private code journal of new ideas, concepts, etc. Write some morning pages.

Project Euler is algorithm problem solving, so it doesn't fulfill the goal. Code Kata's come damn close (see also Coding Horror's take) - but again, those are focused on providing a problem, and then having someone come up with a solution. I'd like something that just sets forth the ideas exposed for writers above, and sets it in a programming context.

If you want, allow users to seed it with suggested ideas. So that when a user logs in, they might have set a "preferred programming language(s)" and get a a little javascript popup with a problem sourced from another user, like say "use python threads" or "write an application that forks". This latter part ties into an idea I had stemming from Zed's original "Learn Python The Hard Way" posting - too many of these practice sites focus on algorithms and mathematical things that probably won't help you in the next 8 hours. Something that had problems like "send a receive UDP messages from a socket" and the like - focusing on common, practical things.

Anyways so what are the requirements for "XXXcode" or "xxxlinesaday"/etc:

  • Allow signup/signin
  • Allow public sharing of journals/non public
  • Allow submitted "ideas"
  • Outline the idea stemming from the Artists Way/Writing Down the Bones.
  • Make it look decent (I'm tired of ugly programmer sites. Go get something from themeforest if you need it)

There ya go. Take it and run with it if you want. Just stop bothering me about lines of code in a module. Man you guys can be pedantic.