Hobby-hacking Eric

2006-03-05

absolute file stuff / mutt / SelectChanges

Sent off my absolute file patches this morning. I hope they do the right thing. I don't know, but I don't think it want to play with this anymore. Hopefully a third person can look at this because Juliusz is nervous about it and so am I... would be useful if somebody else came in and said, "yes, this is the way to go" or "no! are you crazy?"

Spent most of my hack day (i.e. the part where I wasn't at the gym or grocery shopping) switching to mutt on my laptop. I've been using mutt for a long time, but only at one account at a time, most recently at work. Spent some time splitting my configuration up and automating the relationship between my aliases and save hooks: makefiles and sed are useful for that. Whowouldathunkit. Using make to automatically generate parts of your muttrc. Wish I had thought of it earlier. Anyway, pleased with the switch. Apple Mail infuriates me in many small ways. I also switched to zsh today. Don't know why. Random impulse.

Other than that, I'm slowly starting to understand how SelectChanges works. It's kind of interesting, the frontier between the outer and middle layers of darcs (*). Also very gratifying. I like understanding stuff. You just have to stare at it long enough, and poke at it at the right angles, and eventually it opens up. The trick for SelectChanges was to grep with_selected in the code and write it up as a table on the wiki. I still don't actually know how it all works, but I've got a clearer picture what questions I need to be asking next.

I tend to see darcs in three layers... this is my naive view so far: you got an outer layer which consists of the commands and all their helper code, including stuff to invoke sendmail, etc; next you have the middle layer which deals with the various patch types and how they commute; and finally you have the inner layer, which is the core patch theory stuff. It's probably very hard to distinguish beteen the middle and inner layers for example.


No comments: