Wandering Thoughts archives

2007-02-17

Programming fun

Programming fun is spending a couple of hours writing, revising, and tuning a DWiki feature that I'm not sure I'm actually going to like well enough to keep.

I'm serious, not being sarcastic; I like programming, but not all ideas for improving a program pan out. An idea that seems great in my mind can be less attractive once I've made it concrete and explored all of the bits that I could gloss over when it was just thought-stuff. So I can spend a pleasant and enthused couple of hours and wind up with something I may end up just throwing away (well, sticking on a back shelf in case I get a clever idea about how to improve it).

Python is a good language for doing this sort of thing in, since it requires very little annoying make-work. It's one thing to materialize my ideas and discover that they don't pan out, but it'd be an entirely different thing to have to slog through a lot of grit for no purpose. (Or to put it another way: the more un-fun involved, the more I'd need to get something useful out of it.)

Sidebar: today's nascent DWiki feature

I'm tired of having to write x86_64 as [[x86_64|]] most of the time, and yesterday's entry has raw text that looks like:

[[atkbd_connect|]] {{C:rarr}}
[[atkbd_activate|]] {{C:rarr}}
[[i8042_interrupt|]] {{C:rarr}}
...

One of my guiding principles for DWikiText is that it has to look attractive and natural in raw text; this is clearly not happening with either example. My first idea is 'processing notes', in a form stolen from *roff:

.pn no _ sub -> {{C:rarr}}
atkbd_connect -> atkbd_activate ->
i8042_interrupt -> ...

I'm not sure that I like this format for processing notes (or even the name), plus it doesn't really improve writing x86_64 once or twice in an entry, plus it turns out to have some unaesthetic consequences; the only good way to do the text substitutions right now makes them affect things like URLs (which are in the text but not actually text).

python/ProgrammingFun written at 17:56:37; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.