Name: Ian Bicking
Member since: 2001-03-06 20:19:46
Last Login: N/A
Homepage: http://www.colorstudy.com/ianb
Notes: I program mostly in Python. Okay, almost completely in Python. Once upon a time I wanted to be rounded, now I'm happy being niche.
Besides Python, I spend some of my computer-thought doing tech for Chicago Indymedia, since Free Software not the highest justice we can seek, and proprietary software not the greatest injustice.
Seeing this, of course people decide that style isn't a useful thing to discuss. They get short about it, seeing it as troll talk.
I don't think that's quite right, though. I like systems because they feel right. I design systems intuitively -- and I think that's the way good design has to be done. You need to envision the entire thing, which has a certain gestalt aspect to it. You can't work towards a great design, except by experimentation and iteration. Even then at some point you simply have to arrive at it. It's all about feel. So I think the feel of something is very important. An elegant system feels good. That's pretty important.
But I'll be back to Python tomorrow, I imagine.
I realized that most documentation fits two models: tutorials/users guides, and reference documents for the developers. I think that leaves a big gap, for someone who wants to become a developer on the project, and is already a programmer. Being confronted with a pile of code can be very intimidating, not to mention frustrating. You change a piece of code only to find out it doesn't get called when you think it will, or you search in vain to find the code that corresponds to a certain behavior -- you may never find it, the section of code you imagine may actually be scattered across the entire program because you have the wrong model as to the inner workings. Reference documents don't help you there. At best they infer a model, in a vague sort of way.
Webware was pretty bad that way. A lot of generality, classes are often not referred to concretely (since part of customization can be creating subclasses of core components), and a mess of methods passed back and forth. Not so bad when you understand it, but I had to struggle some to figure it out. (that said, I think it is well programmed and very compact... I wouldn't want to even start were it programmed in Perl... it's just complicated and has a lot of hooks for future growth).
I always enjoy code maps, more people should write them. They address concretely what's probably the most important part of the program -- the architecture.
ianb certified others as follows:
Others have certified ianb as follows:
[ Certification disabled because you're not logged in. ]
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!