The web application I’m trying to set up for the Serpent Publications
website is the most programming I’ve done for several years.
I made my living as a programmer for several decades, so I wasn’t
expecting it to be quite this hard to get back into it.
Part of the problem is that mysql and php aren’t what I ever did for a
living. I don’t remember the details of the vocabulary even for
what I did used to do very well, but I never knew either mysql
or PHP without a reference book.
Anyway, I was finally making progress on setting up the mysql
views this morning, and I completely forgot that I hadn’t posted
to this blog, so this is a fast one because any minute now Sunny will decide
it’s time for his walk and I’ll have to take him.
Anyway, my advice for what it’s worth, if you haven’t
programmed for a while and need to, is to go back to doing very
small things at a time. It’s generally good advice for
programming anyway — you get testability and reusability and all
kinds of good things by breaking up the job into little
So yesterday, I wrote up a list of all the fields that should
be in the pieceinfo view of my musicpublish database.
This morning I got each of them to work individually in an
Then I wrote the sql that defines the pieceinfo view, which
takes data from the piece, book, and composer tables, by way of
the Book_Pieces_Table for joining book and piece.
Another good piece of advice is to set up an interactive
environment that you’re comfortable with. The command line mysql
is pretty good, but I got farther and faster when I switched to
the emacs sql mode.
Anyway, the upshot is that I’ve got a working although minimal
CSS theme, most of the hard part of the mysql is written, so what
I mostly have to do is write some PHP (some of which I may be able
to substitute python for), and then I’ll have a subset of the
functionality that I can throw at people for testing.
I’m not really sanguine about getting the whole application
written before BEMF, but I’m
optimistic that I can get at least as much functionality as is in
the current site, with improved design for easier upgrading.