If you have a blog, and you ask questions in blog entries, have some way to leave comments, won't you?
All TV should be like this
Things I discovered yesterday
Audacity is frustrating
You might think that recording and then splitting it into separate audio files based on silences
between each track would be easy to do - sadly not.
Aside from crashing a few times and failing to recover properly, I've been hit by these
- despite claims to the contrary, even 1.3.7 does not correctly alter labels when you modify the
audio. That means there's no way to Truncate Silence without re-doing all your labels!
- you can't split into tracks (or, apparently, make selections) based on labels added by the silence finder, so you can't remove inter-track silences that way either
- the labels dialog has a fun bug where it removes all your labels that don't have names (as
none of them do by default). This gets frustrating fast.
- there's no way to start a recording on the current track - I have to have a new one, it seems. This was fine until I discovered that Mix and Render completely screwed up the merging of all the tracks.
Seriously, how do people actually use this thing?
openpty() and forkpty(): avoid
After dealing with more code that gets it wrong I was reminded of the numerous reasons why openpty() is such a broken API. The prototype of this "convenience" function is this:
int openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize *winp);
Review board review
I was bored so played around with Review Board a little more, including installing it myself.
Things seem to have got easier to install, at least to some degree. You can use easy_install, though at least
for CentOS 5.2, you'll need to install a newer version of setuptools first. It's also far from automated, missing
out basic dependencies like pysqlite2, patchutils, and even patch itself. Discovering these can be, and in my case was, rather tedious work.
After that it's pretty easy to install, for the sqlite version anyway. The documentation isn't exactly clear on
what permissions changes you need to make: you need to chown all of db/ to the apache user as well for anything to work. Expect to set up a virtual host for the installation, like I did above.
Don't forget to enable logging in the admin interface whilst you're messing around.
Sadly, the Mercurial support seems some way behind. For example, it doesn't pick up changeset comments.
The diff parser (how is this not in a library by now?) can't handle git diffs, and the failure mode is horrible (basically, silent failure, with no debugging messages). This is because hg git diffs don't contain the revisions being diffed, so Review Board can't pull the files from the repo. Undoubtedly a Mercurial misfeature, but it does make Review Board near useless for my purposes unfortunately.
It can handle ssh repositories (which is all opensolaris.org provides), but there's a horrible work around needed: you have to set up a correct known_hosts file in the apache user's home directory. Yuck.
As for the main interface, it's generally pretty slick. I can imagine it getting cumbersome quickly with large code reviews though. Compare and contrast Review Board's diff viewer with webrev. The latter to me at least, is much more scalable, even though the actual diff mechanism is less smart. In particular, I can review each file with webrev in a separate tab, whereas Review Board insists on one big (very big!) screen. I'd still give my right arm for a webrev-based Review Board :)
Another thing I'd like to see is more integration with the repository, so I can click on a file and it will take me off to the repo browser for looking through history.
My Real Dad
Pride And Prejudice And Zombies
I've only just read the XML-RPC spec. I knew it was simple, but I didn't know it was stupid. Seriously, no parameter names? Only 32-bit integers? And no "NULL"? WTF?
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!