It's more than a house. It's an adventure.

Thursday, March 23, 2006

New software, so much to learn

Warning: Rambling discussion ahead

This week I started doing something that's been sorely needed for months (over a year, actually). I started documenting "my" application at work. It's a monster - several dozen user input fields (I haven't actually counted), plenty of calculated fields, hidden fields that are set based on user input, generates PDF files that are a couple dozen pages long, and the main table that holds the "finished" data is 500 columns. That's no typo. I really meant 500. The business logic is scattered all over, and it's generally tough to follow.

And now we want to interface it with another system, completely separate. A vendor package that may do parts of what my application does. So we need to get documented what my app does, and figure out what the vendor package can do for us, what we may need to do to "customize" it, and what we'll need to code into my app to make up for any gaps.

So, I finally found a really good use for a Wiki. I figured that automatic cross-linking would be a huge help. I jumped straight to Trac due to its integration with Subversion, which I'm already using for SCM.

Since starting late Monday afternoon, I've written or at least started 94 "articles" in my wiki. And I'm maybe 20% finished. Had I been using Word, I'd have only gotten maybe 50% of that amount completed. Trac has made this daunting task seem manageable.

Management may not be fully on-board with this idea - I got a lukewarm response when I demonstrated my early work on Tuesday. I'm hoping that by the end of the week, I'll have enough documented that the power of this medium really starts to show. If not, I'll probably have to fall back to Word. At least I can copy/paste.

In the process of doing all this, I found a couple macros for Trac that have enhanced my documentation. But I also found some bugs in one of them. The whole system is written in Python, which I don't know, so I can't help with the fixing much. But, at Mike's suggestion, I ran over to Python's tutorial and started reading through. So far, I'm intrigued by the language. Very clean, simple, yet powerful. I've mixed feelings about the enforced whitespace. On one hand, I like the flexibility that other languages give in this regard. On the other hand, if you've ever had to maintain the code of someone who is very inconsistent in his code indenting style, having the language force it as a matter of syntax is a huge relief. I'm up to section 5 of the tutorial (Data Structures) and so far most things are making sense and it seems like a very "clean" language. Too bad I can't integrate Python into my day to day tasks. But it's another tool to keep in my geek toolbelt. I may pick up a book on it this weekend to read. Or find a PDF book and have Kinkos print up a copy for me. It almost makes me miss my old Palm III - I used to load books onto that to read at night.

In the same conversation I had with Mike about Python, he told me (again) that he was really enjoying Ruby on Rails and the Ruby language in general. He's not the first friend to recommend the language/framework to me. I tinkered with it a year or so ago but didn't go too far with it - maybe 2 steps into a tutorial. Maybe it's time to take a look at Ruby again. Again, not much hope of integrating into my daily work, but I can put it in my toolbelt and keep doing things at home with it.

0 Comments:

Post a Comment

<< Home