A Motley Bag o' Notes today.
- By my logs, K-Mart calls are definitely on the rise (my home phone number is the same as K-Mart's, but with 2 digits swapped). Must be because of the holiday season. The callers are also getting more and more polite -- most people are saying "sorry". Interestingly enough, there's four standard responses from people during a given K-Mart call:
- Ok
- Thanks
- Sorry
- [click] (i.e., hangup)
I've been keeping logs on this in a flat text file. Someday I gotta hack up a PHP script and a MySQL database to do this online so that everyone can see the numbers...
- Bob from Veridan (is that what they're called these days) e-mailed me with a better solution to the PSR problem with PBS. Apparently, there's an internal PBS MOM call named
fork_me()that does all the Right Things to fork a child process. This is orders of magnitude better than thepopen()that we use now. Oops. I'll have to go back and fix that one up... - Progress on
poggencis coming along swimmingly. I now pass the input.wavdata all the way through the five distinct states in the state machine (input, input queue, encode, output queue, output) -- there's three separate progress bars to watch (eye candy!).The progress bars, themselves, turned out to be an interesting sub problem -- you want to update them all the time, but only want to actually display the value periodically. And you only need to display it if it's different than last time. But then you run into a problem when you have more than one file. So here's a sample progress line for one file:
foo.wav |********75%** ||********73%** ||********70%* |
How exactly do you show the progress of multiple files (it's quite possible that multiple files are being processed simultaneously) without having to link in a
curseslibrary? Showing one line is simple -- you just output a\rinstead of a\n(I think that even works in 'doze as well). But with multiple lines, without the ability to make the cursor go "up" a line, you can't do it.So I punted for now and just have it redisplay the whole thing again if there's more than one file being processed simultaneously. This isn't the main focus of the work, after all. :-)
Things still to do for
poggenc(in no particular order):- add overlap of inputs. This is mainly a function of the input queue; need to add some extra logic to save a few readsets of the input from the tail end of every dequeue of the input and prepend them to the next dequeue.
- add vorbis/ogg processing.
- MPI stuff (only does threading for now).
- juice up the eye candy. If it's not worth watching, it's not worth running.
-
xmmscontinues to crack me up. I think I've mentioned this before here in the journal, but there's a thread leak in it such that every song it plays launches a new thread. This thread never dies. And since in Linux threads are implemented as processes, you can see how many threads are running.As of right now (9:52am), I have 331
xmmsprocesses on my Dell desktop.
Back to poggenc!