May 2nd, 2007



After months of inactivity, I started hacking on Brackup again. The motivation was part guilt, part fear, and part excitement from some intelligent comments/encouragement from a fellow UW CS grad.

Anyway, I merged into trunk a previously-experimental branch which cleaned up everything I'd previously hated, after I got all the tests passing again.

Expect new development/docs/releases shortly. (I hope)

1:30 am three-bridge motorcycle ride

I decided to go exploring at 1:30 am. I ended up going 44 miles across 3 bridges in the Bay Area...
  • Lack of traffic is fun.
  • Gusty wind is fun.
  • Fastrack is fun. And I don't need to actually stick it on the velcro I recently put on... it works from little locked storage area. Time to remove the velcro thingies.
  • Had never been on San Rafael bridge before!
  • Started to rain when I was in Marin and harder on the Golden Gate bridge... rain is fun. Lack of rain gear ... not so much. Kinda soaking wet now, and my shoes/socks are drenched as well.
  • Golden Gate at night w/ fog is creepy.
  • Those large earthquake-buffering metal teeth on the Golden Gate ... shit. Be ready for them! First set of them shook me pretty good, kinda freaked me out. Yay for instinctively auto-correcting.
  • Going up steep hills (like Divisadero, near Lombard, going up to Broadway) makes it easy to accidentally pop litttle wheelies. Lean forward, accelerate slower than normal.
  • Divisadero is slippery when wet. I got to feel the ABS a few times. (admittedly mostly on purpose, once I saw it work the first time, braking down a hill)
  • Some asshole ran a red light on Geary, as I was crossing with my green on Divisadero. He broke hard, I accelerated hard... we missed by feet.
Good times!

Set::Symbolic -- the rewrite

About a year ago or so I wrote some code on a laptop while on a trip, then destroyed my laptop hard drive somehow before the trip was over, so I was unable to get it checked into version control anywhere.

I never got around to rewriting it because it was too depressing, and it was only for a fun project/feature anyway ... nothing critical.

Well, I started rewriting it... at least the docs:
Set::Symbolic - base class for sets which can be operated on symbolically

Set::Symbolic lets you define and work with sets which be manipulated and operated on symbolically. For instance, you can do operations like union, intersection, removal, etc of large or abstract sets without actually evaluating or loading their contents. When finally wanting to know the contents of a expression involving a lot of sets, Set::Symbolic will figure out the best execution plan (order of evaluation) and/or symbolic reductions to minimize loading cost of constituent sets, using hints provided by the sets themselves (which may not even know their exact size or contents).
That's as far as I've gotten. I don't think anything exists on CPAN to do this? I looked around again just now but couldn't find anything. Anybody know?