New Serpent Publications Website

It’s been a busy week, but the new Serpent Publications website is starting to be
ready for friendly eyes.

There’s still a lot of page content to be written or
transferred from the old site, and I’ll be tinkering with the look
of the pages and fixing up broken links and such in the
database, but the music is all there and can be accessed from the By Composer page.

The piece that’s a test for the new piece pages with previews
is
Douce
Memoir.
It needs some editing; someone asked for it and it was a mess, and I got it converted to current lilypond, but haven’t finished fixing the underlay.

It’s conceivable that I’ll even be ready to go live to the
world at large by Wednesday.

More about what I’ve been doing later, but let me know what you
think.

Why not to use AOL

I’m sure everyone who runs a mail server already knows this,
but clearly all the thousands or millions of people who use AOL,
including a number of my personal friends, do not.

This is addressing only the problem of the AOL mail delivery
service. I know there have been other problems with AOL in the
past; I don’t know or especially care about the current status of
those problems.

I also know that the people who are using AOL are doing it because
they haven’t actually done any research about the alternatives. So
while I don’t know anything about the price of using
AOL versus the alternatives, I strongly suspect that they don’t
either, which suggests that AOL is probably using this ignorance
to get away with charging more than the alternatives.

The reason to not use AOL to deliver your mail is that they
have an official corporate policy of not caring whether your mail
is delivered or not.

When they get one spam report about anyone in your
domain, they block all email the mentions that
domain.
If you think this sounds like something an
organization that wanted you to get mail from your friends would
do, you can stop reading now. I assure you, this policy includes,
and is often applied to, very large and famous and frequently
referenced domains like harvard.edu.

They currently have laymusic.org blocked. My
normal method for sending email uses this domain in the Sender, From,
Reply-to, and signature of my emails, so I have to do something
radically different from usual to not mention laymusic.org in my
emails.

It took
me a while to remember the magic for finding out where to report
this. If you try going to postmaster.aol.com, you have
to be a better documentation reader than I am (I used to make lots
of money being a good documentation reader)
to figure out what
to do from what they tell you there.

If you run your own webserver, the mail log gets the bounce
response from AOL which includes a URL to go to to fill out a form
asking them to stop bouncing your mail.

I used to run my own, but when I finally decided not to depend
on Verizon being able to fix anything for my internet access, I
had to give up my static IP address, which means that while I can
get dynamic dns and refer to my address by name instead of number, I can’t get what’s called reverse
dns (being able to go from the address to the name), which means lots of places (even ones that really want their
customers to get their mail) will bounce my mail if I use a server
on my machine, so I’m using the comcast server. Comcast doesn’t
pass on the bounce information from their logs in the bounce
message.

So the trick to find out where to go to tell AOL to debounce
your domain is to send a mail from gmail, which will put the
information from the log into the bounce message they send you.
Then you go to that URL and fill out your form. I did this last
Fall, and my domain was unbounced in a small number of days.

This Spring, this hasn’t happened yet. They asked me to fill
out a customer satisfaction survey this morning, and this is what
I wrote:

I reported that email from or referring to my domain was bouncing on May 21.

I was told that the problem had been resolved and mail would stop bouncing in “24 business hours” from then on May 27.

The mail is still bouncing on June 3.

I think your policy of bouncing all mail that mentions a given domain name based on one spam complaint about that domain is not the policy of an organization that wants to deliver the mail.

Your performance on resolving such a block is not the performance of
an organization that wants to resolve problems.

Then when I submitted the form I wrote that on, they said they
couldn’t count my survey because they didn’t think my verification
number (which I’d gotten in the mail this morning) was valid.

Even if you think AOL is the best way to get internet access,
you should still have some other way to get email. gmail,
hotmail, and yahoo will all give you an account for free, and many
organizations and universities will give you an account if you’re
a member or an alumnus/a. Even if you currently have a good isp,
you should still have a mail address that doesn’t depend on its
name, because it’s likely to change its name or go out of business
or become a not-so-good isp for you, and you’ll have to change
your email if that happens.

Using a different browser

Until the recent urge to upgrade my computing
environment
, I was using firefox as my
main browser. This was not because it’s a particularly good
program, but because it has managed to get enough market share
away from Internet Explorer that the people who design
websites test on it. There are very few websites, except for
the ones that deliberately try to restrict themselves to
commercial OS’s, that don’t work on Firefox for Linux.

Unfortunately, there are at least two major problems with
Firefox on Linux, that cause me to try other things from time
to time:

  • It has major memory leaks. This means that if you keep your
    system running for weeks, or even days, at a time, after a while
    Firefox will grab enough of the memory that everything,
    including the program that draws the windows on the screen, is
    gasping for memory, and going to read the hard drive before
    drawing every pixel. I knew that killing firefox would fix
    this, but I kept not getting around to it until killing firefox
    took several minutes, because of waiting for the pixels to
    redraw.
  • Less common of a problem for me, but still a sign of an
    uncivilized program, is that once you play music with firefox,
    it grabs some sound resource, and doesn’t let it go, so the next
    time you want to run some of the other music programs I use, you
    have to kill firefox to do it. (For those who wonder, the way
    to do this is the command “alsa force-reload”. This kills all
    the programs that are holding onto resources that prevent alsa
    from reloading the modules it uses.)

Now some people claim that opera is a good
browser for their purposes. Whenever I download it and try it,
it takes me about 10 minutes before I find a site that doesn’t
work with it. I believe the site I do my online banking at is a
frequent offender, so if you have a bank that tests their online
banking with opera, maybe you don’t have my problems. But
switching banks is even harder than switching browsers, and by
most of the bank evaluation criteria I use, mine is pretty good, so
I’m not going to drop them just because their software testing
leaves something to be desired.

A lot of the other browsers for Linux are in fact using the
mozilla engine, which is the same one Firefox uses. Of course,
I don’t know exactly where in the code these memory leaks and
resource hoardings happen, but it wouldn’t surprise me if a
different browser using the same engine had the same
problems.

However, it is possible to install an alpha test version of
google’s chromium-browser for Linux. The version for windows
has been out for a few months and gotten rave reviews for being
clean and fast. The Linux version has a lot of things
that don’t work, but for the ones that do, it’s really a lot of
fun to use.

It’s a nuisance to be doing testing on alpha
software (which was pre-alpha until a few days ago). And of course I
need to restart chromium-browser every day when I get the new copy.
And do some testing to find out which things work today.
Yesterday was very exciting, because “copy link address” worked
for the first time. But today, it doesn’t seem to want to
display some slightly complicated PHP for my wordpress
administration, which it’s been doing for some time. Another
button that’s inconsistent is the “Publish” button when I
publish a new post. And of course, they aren’t even claiming
that printing or flash work. I also still haven’t reconfigured
emacs to use chromium instead of firefox, so when I click on a
URL in my email, I still get a tab in Firefox.

So I do still have to keep a copy of Firefox running, but it
usually only has one or two tabs on it, so it isn’t that much of
a nuisance if I have to restart it, and it actually behaves very
much like a civilized program if you’re closing most tabs right
after you open them.

Programming again

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
pieces.

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
interactive environment.

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.

Reading PDF’s on the N810

I’m working hard on setting up the Serpent Publications
site, so you’re getting an email I wrote to a list on
something I’ve already goofed off about.

I’ll let you know if I get a useful answer.

Subject: pdf reading?

To: maemo-users@maemo.org

Date: Sat, 23 May 2009 13:36:26 -0400

I’m finding the interface on the included pdf reader on my Nokia
N810

pretty unusable.

My impression is that people on this list have mentioned that evince
might be better, but I can’t install that.

At least one of these problems must be fixable. So here are my
questions:

Included reader:
The file selector dialog (not only here but in the file manager
and other apps, but not FBReader) doesn’t allow me to select
from the external memory card (mounted as /media/mmc1), although
it does from the internal memory card (mounted as /media/mmc2).
Is there a way to fix this? I worked around it by opening a
terminal and copying the file I wanted to see from external to
internal, but there has to be a better way than that.
As far as I can see, the way to page down is to open the case
and use the down button on the pad. Is there a way to configure
it so that the +/- switch on top (preferable) or the buttons on
the side page up or down?
I have it zoomed to a size where the text area of the page is
the width of the screen, that is, the margins are off the
reader. But when moving down gets to a new page, the reader
resets the position of the page so that the left edge of the
page is at the left edge of the screen. Is there a way to tell
it not to do that?
evince:

This is generally true of a lot of the apps I try to install
from the application manager. It’s listed in “Installable
Apps”, but when I try to install it, it says, “Unable to install
evince. Some applications packages required for the
installation are missing.” When I click “Details”, it says,
“Application packages missing: libhildonfm2 (>=1;1.9.49)” Is
there a way to work around this?

If I do install it, will I have the same problems I do on the
included PDF reader?

This is somewhat frustrating, because people who don’t read
books on a mobile device do tend to assume that PDF is the way
to electronically distribute a book, and I could in fact read
them on the Nokia if the interface were a little bit better.
That is, for the book I’m trying to read, if the screen tries to
show both the printed area and the margins, the type is too
small for my 58 year old eyes, but if I can zoom it to where the
print area is the size of the screen, it’s readable without
glasses. But the designers of the application don’t seem to
have considered this usage pattern.

http://rcm.amazon.com/e/cm?t=laymusicorg-20&o=1&p=8&l=as1&asins=B000EUGX70&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr

Choosing a blogging platform

I started thinking about this again after my post
about how I write my posts.

I got a comment from a
reader
who blogs on a platform (jekyll) that’s set up so that everyone
posts directly from their editor.

I actually started blogging on blosxom, which
is a really nice simple program. If all you want is to post your
own thoughts in a blog sort of format, I would recommend it.

However, if you want to add features, you will soon run into
problems like this,
from a pyblosxom (a close relative of blosxom) user:

I’ve just spent the whole night setting up blog comments. PyBlosxom doesn’t make it painless, sadly, more like the opposite.

First: don’t be scared by the list of comment-related plugins on the PyBlosxom site. There’s only one important plugin: comments. All others depend on it and enhance its functionality. The last three or four times I was about to add comments to my blog I got scared at step one: evaluate the available plugins. Don’t repeat my mistake!

Second, follow the instructions carefully. There’s no shortcut.

Third, fix what’s broken. Be prepared to debug the source
code. print >> sys.stderr, "message" is your friend.

Fourth, fiddle with the look (CSS and HTML).

It was when I wanted to add comments that I switched to wordpress. I figured that if you want other people
to do the testing for you, you need to sign up with a widely used
program, so that there will be lots of other people running it.

It has worked out pretty well. When I’ve run into problems,
I’ve pretty often been able to find a solution just by googling
the problem, and someone else had hit it before me and written up
the solution.

Monoculture

Of course, there’s a dark side to using the most commonly used
anything, which has been called the monoculture
problem.

If someone wants to do the work to crack a site for their own
nefarious purposes, they aren’t going to do it on some little
python program that’s used by a small fraction of the people who
wish they could post directly from emacs to their blogs. They’re
going to crack wordpress. This is the same reason why Mac and
Linux people worry a lot less about viruses and other malware than Windows people.

My blog has in fact been hijacked
several times, and when it happens, I always think of going back
to something simpler and less common.

My current solution to at least some of the hijacking problems
is to not use the wordpress uploading facilities. I’ve often
found they don’t “just work”, and to make them work, I’ve
sometimes done undesirable things that have compromised the site
security.

What’s supposed to happen is that you tell wordpress while
you’re writing a post that there’s a file you want to upload,
e.g. a picture. Then it uploads the file somewhere it knows
about, and there’s some simple syntax you can use for including it
in that post, and a slightly more complicated syntax for showing
it with a different post.

What actually happens when I do it is that is tells me I can’t
upload, and then when I finally do get it uploaded, I can’t
remember the syntax for including it. And if I have to upload 5
pictures (for instance, for the garden posts), I have to go
through this for each one of them.

So what I do instead these days is just upload the pictures
into a directory on my site (not under wordpress) and refer to
them by their normal URL’s. This would be a bit more typing if I
did it all for each picture, but since I’m in emacs, I just type
the URL once, and modify the filename for the next picture.

Comparing Lilypond and Petrucci

While I’m working intensely on the site redesign, you might
have to put up with the things I’m writing about it to help me
think.

Here’s a query I made on the lilypond-users
mailing list:

In general, I love the way lilypond output looks when compared with
other computer-generated sheetmusic.

I’m aware that the ideal espoused by the developers is the 19th century
hand-engraved sheet music.

I usually like the look of my lilypond output as compared with the late
sixteenth and early seventeenth century printers I usually transcribe.

I always like the look of lilypond output as compared with anyone’s
hand-written music.

But when I transcribe Petrucci from the facsimile, the spacing lilypond
does always looks clunky, especially in the parts with large
note-values.

I’ve recently figured out that the large note-values look better if you
put:


context{
Score
override SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 1)
}

in the layout block.

I believe Petrucci’s spacing is just equal spacing for every note, no
matter what its value.

Does anyone have any tricks for making lily’s output look a little more
like that?

I’m trying to redesign my website, and one idea I have is to have a
graphic in the header with a facsimile on one side and lily’s output on
the other. So it’s important that people not look at the lilypond
output and say, “Wow, that’s ugly compared to the facsimile.” Of course
one way to do that would be to use an ugly facsimile (of which there are
many), but it would be more fun to use a beautiful facsimile and also
have beautiful lilypond.

I’ll let you know if I get any useful answers.

PIctures

Here’s the first page of the Petrucci facsimile of Adieu
mes amours
by Josquin:

[Petrucci facsimile]

And here’s the cantus part lilypond produces:

[Lilypond cantus]

And here’s the tenor part from lilypond:

[Lilypond tenor]

Site Redesign Progress

I finally got started on the site redesign, so this has to be a
short one.

It’s the kind of project that every time you solve one problem,
three others pop up, so I suspect it will be at least days if not
weeks before I have it ready even for friendly perusal, let
alone to loose on the unsuspecting public.

I’m starting with the thematic wordpress
theme framework. It allegedly lets you customize almost
anything, but that turns out to be only true if you know CSS. I
learned a bit about it the last time I did site redesign, and
actually sort of liked the look of the site I did for the Boston
Recorder Society (they changed it when I stopped maintaining it,
so you can’t see it there). Anyway, I have the mechanics pretty
much the way I want them, and the look something like the old
BRS site, so now all I have to do is:

  • Write the content for the new pages, including the new
    search form.
  • Fiddle with both LaTeX and Gimp to get the banner at the top
    of the pages right.
  • Fiddle with the wordpress stuff so the sidebars and footers
    are the way I want them.

My accomplishments for yesterday included:

  • Finding where the home page on the new hosting site should go. I
    broke accessing it altogether twice yesterday afternoon trying
    to be too cute about that.
  • Setting up a test environment on my home machine. There’s
    still work to do on this, because I used the Ubuntu wordpress
    package to do it, so I have to fiddle with permissions and
    ownership and groups and maybe links before it really lets me
    work on it right. But I made substantial progress.
  • This morning before breakfast, I installed keyring and now I can do openssh to both the old
    and the new hosting sites without entering passphrases.

I was frustrated enough yesterday when I had access to the new
site broken and hadn’t yet figured out how to customize anything
in thematic that I considered just going to bed and reading
trash fiction, but I have persevered, so far.

The most inspiring story I learned in high school was in the
history of English literature book. Thomas Carlyle had spend
several years writing the history of the French Revolution, and
he gave the only copy of the manuscript to his friend Macauley
to see what he thought. Macauley’s maid (at least, she had to
take the rap) thought it was trash and put it in the fire.
Carlisle went to bed and read trashy fiction for a week and then
got up and wrote the book over again.

I admit that story has more often inspired me to go to bed and
read trashy fiction than to write the history of the French
Revolution. But it’s really true that there are times you just
shouldn’t be doing some things, and it was looking like
yesterday afternoon was the wrong time to be slaving over a hot
computer.

Buying ebooks, Part II

I’m sure you’re sitting on the edge of your seat to find out
what happened to my quest to give the publishing industry money
for a book I can read on my Nokia 810 Internet
Tablet.

I told you a couple of days ago about trying
to buy a .lit book from a linux computer running firefox.

Next I tried buying one from a Windows computer running
Internet Explorer. Here’s what I wrote about it to a mailing
list that discusses such things:

I keep hearing (I think on this list as well as other places) that
people buy ebooks at fictionwise.com in .lit format, and then use clit
to turn them into html and read them on the platform of their choice.

I have occasionally gotten a .lit format book from somewhere and been
able to use clit to read it, but I’d never seen one I wanted to buy.

Then last week, I found out that The Lord of the Rings is now
available as an official ebook, and decided I would buy it.

This turns out to be too hard for me to do. You would think that if I
wanted to give someone $30 for a book, they would give me the book, but
not if Microsoft is involved.

First they said I should get a free one to make sure I had a process for
making it work. That sounded reasonable, and they actually sold me a
free ebook without asking for my credit card number.

Then I went to download it, and they said I had to be on a Windows
computer (and in Windows Explorer).

So I went away, but after a few days, I realized I had a couple of other
things I needed to boot windows to do, so I booted Windows, and fired up
IE and went to my bookshelf in Fictionwise.

Then they said I needed the latest Microsoft Reader software, so I
downloaded that.

Then they said I needed to activate the Reader on that computer. It
took quite a while to find out how I should do that, and I had to type
illegible characters several times to set up a Passport account.

Then they said I needed to install ActiveX, without telling me how to do
that. I did a search, and found someone who had the same problem and
had been told that it’s a browser option and where to go to change it,
so I did that.

But I’m still getting the error message about needing ActiveX, or to be
logged in as a real user (which I am).

So how do you buy a .lit book from Fictionwise, if you do, or is there
some other way to get commercial DRM books like the Tolkein that will
let me read it on a linux computer?

And how does anyone stay in business if it’s this hard to buy something
from them?

This reminds me of the time when I was in college and the lock to my
dorm room was balky, so I started thinking about getting the kind of
religion where you don’t ever lock your door. I already almost have the
kind of religion where I never buy DRM, and it looks like I’m not
capable of backsliding from it even if I want to.

One of the readers of the list took pity on my and sent me a
500 line python script that converts ereader books to html.

So this morning, I bought The Hobbit from fictionwise in the secure ereader
format. I had to tell the download program my name and credit
card information, but then it just gave me the file, without
complaining about what browser I was using or making me type
illegible characters or anything.

After that, there was only an hour or so of debugging, and now
the book looks pretty good in all of ereader running under Wine, firefox, and FBReader.

Actually, it looks a bit better in firefox than in the other
versions. FBReader is clumsy about placing the .png files for
the runes, and eReader doesn’t indent the verse gracefully.

For those who want the gory details, the two problems I had to
fix before the HTML displayed correctly were:

  • The .html file didn’t specify the character encoding, so all the
    quotation marks and such were displayed as something like 222
    in emacs, and as a ? in a diamond box in firefox. The fix was
    to put:
    <META http-equiv="Content-Type" content="text/html;
    charset=ISO-8859-1">

    at the top of the file.

  • The html file referred to a lot of the graphics as generated
    filenames
    with mixed case letters, but the script had actually written the
    names with all lower case. I haven’t scripted that fix yet, but
    if I hit the problem again, I probably will.

I haven’t yet read it on the Nokia, but my experience is that
if FBReader on the desktop can read it, so can FBReader on the
tablet.

So if you want electronic books without being a pirate, you can
have them, even if you want to use non-commercial software to
read them.

http://rcm.amazon.com/e/cm?t=laymusicorg-20&o=1&p=8&l=as1&asins=B001CX5UAO&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr

How I post these entries

There is a problem with all these web-based communication
tools (websites, webmail, twitter, facebook…) for people who
learned to use computers back in the good old days. The easiest
way to type information into a computer is to use emacs, and many
of the people who design these things don’t seem to understand
that.

Of course, the people who use emacs are very clever at getting
around this problem, and there are by now good solutions for the older
tools:

  • Gnus will read and
    write email with any mail technology that uses standard POP or
    IMAP interfaces.
  • Tramp will let you
    edit a file on any computer that you can get to via any normal
    protocol.
  • Psgml is pretty
    good for editing html pages.
  • SQL
    mode
    will let you manipulate a database on any machine you can
    get to.

Blogging isn’t as old a technology as the things above, and
while there’s been some work on packages that will let you open
a buffer and then post its contents directly from emacs, I
haven’t made them work successfully. I’m not alone — this
post
by a frequent contributor to the emacs newsgroups
suggests that he ended up with the same solution as I did, after
much the same problems with the packages.

Of course, there are lots of other ways to work posting besides
doing it directly from emacs. For a while, I was invoking an
emacs client from firefox via a program called mosex, which is
hard to find on google because the Museum of Sex in New York
uses mosex as a nickname. But I think mosex stopped working on
some firefox upgrade, and having emacs clients hanging around
was a bit of a nuisance.

So what I do now is just open an html file on my own computer,
edit it using psgml, and then mouse the results into the normal
WordPress admin page, trying to remember to set the category and
the keywords every time.