Older blog entries for feldspar (starting at number 3)

Just sent Tim my first few procedures for BEAST. No big deal, they're very small and simple, but hopefully they're useful steps in adding some functionality to the pattern editor. Have to step back now and think about what other procedures a user would expect/want to have. I have several ides for more exotic ones, but I want to get the basics in place first.

I'm giving a talk on PHP at a meeting of the (New Hampshire) Seacoast Linux Uers Group on Tuesday night. I gave it once before for the local group (MLUG), so I don't need to do much, just tweak it a bit, add a couple more examples, stuff like that.

I had lunch with a former co-worker this week, and then went back with him to the office (NuMega/Compuware) to see what his team (BoundsChecker, which I used to work on) was working on. I hadn't been expecting to go see a bunch of people, but it was kinda fun. Everyone kids me about my beard -- I used to keep it trimmed and pretty short, but now that I work at home, it's getting long and shaggy, for the first time in my life. They tell me I'm starting to look like a Unix guy. :-)

Hey, cool, I'm finally writing some actual code for BEAST. I've written a tiny "delete-note" procedure, and I have several others to do that Tim suggested. I'll send them to him once I've got 2-3 more. It feels a little funny, after 3-4 years of C++ (albeit not always very idiomatic C++) to be back in C, but I actually like it better. C++ can be elegant in the right hands, but it tends to hide a lot of behavior. When it comes down to it, if I have to use a compiled language, I'm more comportable in C (the old "baby duck" syndrome, I guess :-).

But right now, it's back to the salt mines (i.e., cleaning up a bunch of HTML files for CulturePort), then tonight, back to BEAST.

Timj has sent me me all the material I lost (thanks, Tim), so I now have the information I need for two things:

  • start coding pattern-editing procedures for BEAST
  • start collecting material for a BEAST "plugin developers guide"

But I can't do that stuff until tonight -- first I need to rewrite the tech section of CulturePort's business plan. (CulturePort is the new company for which I'm the CTO). This will allow me to make it clear that we will be basing the technical side of things on Linux/Apache/PHP/etc. (i.e., as much open source as possible). It's very cool that you no longer have to spend much (if any) energy justifying this, now that open source software is finally out of the closet in the business world. Anyway, there are some important meetings tomorrow in NYC (glad I don't have to go myself) that may finally result in the capital we need to get going....

Time to start using this space for something.

FInally have a little time now to start contributing some code to BEAST. Doing the website was fun and hopefully helpful, but I want to do more. Timj suggested that I work on procedure support. Unfortunately, I just discovered that almost all the emails I saved from him got somehow blown away (ARRRGH!!!), so I have to wait for him to get back to me to tell me what he has in mind. In the meantime, I'm thinking about some things I could implement *using* the procedure interface. Such as, tools to perform various transforms on patterns and note selections: tranposition, inversion, retrograde, retrograde-inversion (uh-oh, my 12-tone roots are showing :-). Also, I want to write some code to generate note sequences algorithmically, based on things like Brownian motion and 1/f noise.

Other semi-random BEAST-related thoughts:

  • I'm used to standard notation, so the current pattern editor interface doesn't really appeal to me. It would be interesting to provide an alternative UI that looks more like notation.
  • Related to the above: how about a tool to export BEAST patterns to the LilyPond format?
  • I'd love to be able to code plugins in Python and/or Perl. Could be fun to work on that.
  • I'm also very interested in Csound. I wonder if would make sense to figure out how to exchange data between BEAST and Csound?

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!