Older blog entries for shapr (starting at number 22)

ok, so the tree searching module has two basic bits working. It can search for an exact bit of code, as well as searching for question mark style variables. It still needs lots of work before it'll be finished, but it has two finished unit tests and that's good.

I've figured out that the conditions can be written at the same time as the tree transformer, so if you get the urge to write one, go for it :)

I'll put up a list of Conditions to be written soon. I may even post Unit Tests for them.

I had a sudden inspiration on how to turn an abstract syntax tree into a finite state machine.... now I wonder if I can get the whole thing done tonite...

The Linux version of Railroad Tycoon II showed up today! YAY! I wouldn't think I'll get much coding done in the next week or so :)

Ah, so much to learn, so little time. Bea is whipping my butt in RT2, but that's to be expected, she's been whipping the computer's butt for more than a year.

Much spiffiness! Jeremy Hylton wrote up a demonstration module to clarify his visitor code and sent it to me. Visitors are cool, but not always simple.

It looks like it would be more efficient to rewrite genpy.py as a visitor using Jeremy's framework.

Hmm. I think I'll work on the tree transformation module more first.

I can pull out the comments, and I can contsruct Comment nodes, I just can't figure out how to use the visitor.py by Jeremy Hylton to walk the tree and get the line numbers of all the other nodes. Hm.

Found that I hadn't committed the 16 Jun 2000 genpy.py changes to CVS yet. wups. It's in there now. I also finished putting contributions from Moshe into CVS.

I think I now know enough to be able to get most of the tree transformer done. Wheee! Once the tree transformer is done, the hardest thing left will be run-time instrumentation to prove the IsExclusive() condition. The tree transformer is definitely the midpoint of this effort.

In other news, a few days ago I made a bunch of changes to a Python front end to mpg123. It's called Pimp3 and it's very hackable. It associates a rating with each mp3 you have. If you hit "next" during a song, its rating goes down one, if the song plays through, its rating goes up one. It's a spiffy idea. I've always wanted to play with a Python front end to mpg123.... Now if only I can figure out how to stick it into the gnome-panel......

I wonder if it's time for me to try out the window manager written in Python.... Hmmmmm.

Yay! Moshe Zadka is contributing to Bicycle Repair Man! Much cheerfulness!

He mentioned that tree transformation in BRM seems to him to be similar in spirit to the Python XML Validator written by Lars Marius Garshol. I've been perusing Lars' code for about an hour or so. It's definitely sparked some ideas.

At this point I'm considering subclassing the Node classes in Python2C's ast.py and adding getParent and getSiblings methods to them. I think I could write a fast tree search that just looked in a dictionary for nodes and then asked those node personal questions about their relatives. I'm not sure how difficult it would be to implement those methods though. I'll know soon enough.

I got a job writing Java for JDK 1.1.4 yay. I've been doing the self-employed thing for months. Means little money, but lots of time. Now I that I am soon to start a real job again, I'll be able to buy hardware, but probly won't have time to play with it. This seems to be the continual trade-off. Ah well, I hope my lack of time doesn't completely kill Bicycle Repair Man.

Minor progress has been made on the tree transformer.

Also, Bicycle Repair Man is soon to appear on the http://www.refactoring.com website. I hope that will increase developer interest in the project.

Nice to see that Moshe Zadka is on advogato now.

not much motivation lately to work on BRM :(

I wish I could collaborate with someone for awhile.

Went to sweden again for a couple of days, this time to Buden. This time I learned about Finite State Machines from Skip Montanaro's fsm.py. It's pretty nifty stuff. So far I've figured out I need to generate FSMs to match the tree. I keep wavering on whether I should go ahead and implement the tree matching language. Sometimes I think it's easier than it looks, sometimes harder. I'm not really sure.

13 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

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!