Thursday, January 22, 2004

More USB stuff

In theory, at least, it should be possible to set up a USB hotplug, so that when I plug my camera into the computer and turn it on its memory is automatically mounted to /mnt/camera. Windows, of course, does this, and so according to this Linux Gazette (.net) tip it can be done with Linux. Reading some of the gphoto2 documentation indicates the same thing. Unfortunately, I couldn't figure out how to work it with my camera.

Searching Google for "linux hotplug olympus digital", I found the article Olympus C-5050Zoom Digital Camera with Linux. OK, I have a C-5000, but what the heck. The article tells how to look in /proc and /var/log/messages to find out if the computer knows about the camera once it's plugged in. As we previously established, that works. Then I found the section called "Mounting the Camera by non-root users". That says all I have to do is edit /etc/fstab, adding the line: /dev/sda1 /mnt/camera vfat rw,noauto,user 1 0 I'd tried something like this before, but now I can do mount /mnt/camera

and umount /mnt/camera

and things work as the should.

Note: As noted in the above article, Never power off or disconnect the camera before unmounting the device. If you do you risk corrupting the camera file system and trashing your pictures.

The next section of the article is "Auto Mounting the Camera", which is what I wanted in the first place. It uses the autofs package, which is already installed on my computer. Of course, the first thing I'm supposed to do is delete all of the /mnt mount points, which sounds vaguely scary. I'll think about it.

Wednesday, January 14, 2004

System Services

Something that should be run early on, but I'm just now getting around to: $ redhat-config-services (root password required)

Lets you turn on and off daemons. I'm turning off various things I don't need, like sshd, as I don't need this machine to be an ssh server, at least not at the moment.

If a service is running, you can stop it with an icon at the top of the window. You can also prevent it from starting on the next reboot by unclicking the box next to the name of the service.

Fetch, boy

In my eternal search for methods of combatting spam-mail (not the fine product from Hormel), I have signed up for several free POP mail servers. The idea is that I get my newsletters, tips, etc., through one of these accounts, which can be easily dropped if it gets too much spam. (The despammed.com address filters out some mailling lists.)

This works, but free email popservers are somewhat quirky, and not up all of the time. My mail client, Ximian Evolution, thoughtfully informs you of this.

Every time it fails.

Sometimes, once every five minutes.

At which point it pops up a window to tell you it can't read your mail.

Did I mention the window goes on top of your current window?

Which really messes up your Tetris game.

And, as far as I know, you can't turn this feature off.

The solution, or so it would seem, is to let some other program handle these accounts, and only tell Evolution about it later. Actually, if this program feed its output to the standard /var/spool/mail directory, Evolution could read it automatically, without the regular warnings.

The classic *ix method for reading mail from assorted POP and IMAP servers is fetchmail, written by none other than Eric S. Raymond. There is a fetchmail RPM included in Fedora, so I installed that. But as sometime or other the .fetchmailrc file, which tells fetchmail where to get its mail and what to do with it, became corrupted.

OK, create a new .fetchmailrc file. The easy way of doing this is to run fetchmailconf. Unfortunately, this isn't included in the Fedora-supplied RPM. So go to the fetchmail home page and download the source RPM file, compiling it with the sudo rpmbuild method discussed previously. That works, but fetchmailconf still fails, because I didn't have the Tk GUI toolkit for TCL installed, nor the python interface for Tk. After looking around for the proper source, and by a bit of blind luck, I figured out that the python-Tk interface was in the python-tools RPM included with Fedora. So I did a

sudo yum install python-tools

which apparently installed all the proper python and tk files. At least, fetchmailconf now creates a .fetchmailrc file that doesn't make fetchmail barf.

Unfortunately, I have no real clue if it works or not, because the clunky email servers haven't gotten around to sending me any email yet.

Maybe I should ask Joe Gibbs. He can apparently fix anything, if you read the local papers.

Saturday, January 10, 2004

Entering the Helix -- and getting your toe stuck in the door

The Helix Community is Real Networks attempt to build an open source content production/player for Windows, Macs, and, of course Linux. Though they have taken quite a bit of flack for past practices (which didn't appear in the Linux version), this is in a Good Thing (TM) IMHO.

So let's get the Helix "DNA" player, called hxplay, and run it. Fortunately, FedoraNEWS.ORG has an excellent article which walks you through the steps of building and installing a Helix Player RPM. You'll need to yourself up to do non-root RPM installs, which is the subject of the previous post. Everything else is quite easy.

OK, so we have the RPM installed. Now let's test it. First, do "about:plugins" in MozillaFirebird. No Helix plugins there. Go back and see that the RPM installs links in /usr/lib/mozilla/plugins. Go back and do the same for /usr/lib/MozillaFirebird/plugins/. While we're at it, edit /etc/pluggerrc-5.0 to remove all references to Real plugins from plugger, and delete the ~/.phoenix/pluginreg.dat file so that Firebird will generate a new one. Now "about:plugins" gives me what I want.

Go to http://service.real.com/test/ and click on one of the set programs. I'm going to look at the 512K RealVideo 9 Sample Clip. Click, tell Firebird we want to use hxplay to see the clip, and go:

The Helix player comes up, but there is also an error box, which says Unexpected error code (0x800400C9) /tmp/realvideo9_512.ram.

OK, somethings a bit fishy. Let's look around: $ cat /tmp/realvideo9_512.ram rtsp://media.real.com/showcase/service/samples/rob_h_realvideo9_512.rm (with no return character at the end of the line). OK, try
$ hxplay rtsp://media.real.com/showcase/service/samples/rob_h_realvideo9_512.rm That works. Try
$ hxplay http://service.real.com/learnnav/testrams/realvideo9_512.ram That works, too. But it doesn't work from the browser.

More research is obviously in order.

Non-root RPM installation

Selected users can install RPMs from their local accounts using sudo, but certain things have to be set up. See How to create rpmbuild directory on FedoraNEWS.ORG for details.

Friday, January 09, 2004

Deconstruct this

Without Slashdot, I never would have learned how literary deconstruction works. In particular, I wouldn't have been able to parse the sentence

John Kennedy was not a homosexual.

into

John Kennedy frequently wore J. Edgar Hoover's red dress. Not that there's anything wrong with that.

The author does make some serious points about how things got this way, and is surprisingly supportive of deconstruction. He doesn't put it in these terms, but it appears that Sturgeon's Law ("90% of everything is crap") applies here with a vengeance.

English majors may want to deconstruct this page in a different manner than I have here.

Traffic Monitor

When I was running Mandrake Linux I couldn't get (meaning, didn't know how at the time) to get the FVWM window manager to work as I wanted, so I used icewm. Actually, I might still use it, if I could figure out how to set up a giant virtual desktop like FVWM has.

But I digress. One of the things I liked about icewm is that it had a network traffic meter which fit into the toolbar. This was particularly helpful because it let me know when my Linksys BEFW11S4 (ver 4) router decided that it didn't want to handle downloading that file anymore, thank you very much.

FVWM doesn't come with a traffic meter, but a quick Google search found Roland's software for Linux. Roland created a program called xnetload. It was easy to compile, though I had to hand-change the install location from the default /usr/local to my preferred /home/local location.

And then I was able to get it into FVWM's ButtonBar. After much playing around, I finally decided on an entry that looked like this: *FvwmButtons(2x2, Frame 2, Title eth0, Swallow(UseOld) "xnetload" 'Exec xnetload -nv -ni -kb eth0 -fg red -bg gray &') which monitors my ethernet port ("eth0") displays the upload and download information in graphic form only ("-nv -ni"), and logs information in kilobytes.

So thank you Roland, great software.

Seen this before dude

In the beginning, it was an army of white-armored (nice target, guys) troops all lined up in "Attack of the Clones". Then it was an army of Orcs lined up in "The Two Towers". Tonight we have an army of super-Jaffe lined bowing to Lord Annubis in Stargate SG-1's "Evolution Part II". Isn't CGI wonderful? What's next?

An army of Abe Pollins in "Michael Jordan's Worst Nightmare"?

An army of Howard Deans in "Dubya's Favorite Election"?

An army of bookies in "One Day With Pete Rose"?

An army of Sarah Jessica Parkers walking down Fifth Avenue in "Sex and the City -- The Clone Years"?

Actually, that last one isn't all that bad.

Phase Transistion

Apparently, when he wants to, Dan Snyder can ask really, really nicely.

On Thursday, the front, Style and Sports section of the Washington Post all lead with stories on the return of Joe Gibbs to the Redskins. There were columns by Tom Boswell, Tony Kornheiser, and Michael Wilbon. Today, the sports section five out of twelve pages devoted to Gibbs, including a full page of pictures, a timeline of the Snyder-Gibbs negotiations, and columns by Boswell, Wilbon, and George Solomon. Boswell hasn't worked two days in a row since -- well, I don't remember when he did.

So this is a Really Big Deal. Joe Gibbs will return the Washington Redskins to the Glory that Was in the -- well, in the Joe Gibbs era, because when you come right down to it, though George Allen was a good coach, he only took the team to one SuperBowl, where they would have been shut out except for an errant pass thrown by an Armenian tie-maker.

Joe Gibbs and I moved to Washington in the same year. That first year, the Redskins started the season 0-5 and were as bad as you think the Detriot Lions are now. Worse, in fact. But Gibbs quickly turned it around, finished 8-8, and the next year was in the SuperBowl. Having just come from the New York area, which featured the pre-Tuna Giants, I was ready for a team to love, and this was it.

And then Gibbs left, and everything about the team fell apart. So we've now been through three owners and five coaches, and what do you know, Joe is back again. He'll turn it all around again, won't he? Sure he will.

In my cynical heart of hearts, I'm afraid he won't. Dan Snyder ran a good coach, Marty Schottenhiemer, out of town because it looked like he was going to start winning (he went 0-5, then 8-8, remember), but not in the way Snyder wanted. We got Spurrier, who turned out to be a college coach who ran the third best program in his state. So what can possibly go wrong?

Well, the team is saddled with enough long term, cap-busting contracts that an implosion is almost inevitable in the next few years. And Joe is 63 and hasn't coached in years. He's rounding up his old staff, like in Children of the Lens when Kinnison rounds up all his old buddies to save the Universe one more time. And one of his sons is going to help with the offense. As his sons worked with him in NASCAR, I assume that means that all the plays will go to the left. I see bad things happening.

But this is Joe Gibbs, who won in strike shortened seasons, won with replacement players, won with Jay Schoeder and Mark Ripen as his quarterbacks. Joe Gibbs who built a NASCAR team from scratch, and won two Winston Cup titles. Joe Gibbs who was smart enough to walk away from the Redskins before everything fell apart. Surely he knows what to do?

I hope so. I might not be ready to drink the kool-aid, but I think he's got a good shot at it. So pull out the old Redskins sweatshirts, the ones that say "Superbowl Champions", and lets do this one more time.

Go for it Joe. And thanks, Daniel.

Sunday, January 04, 2004

mplayer dlls

OK, I wanted to look at some quicktime movie trailers from ComingSoon.net. As a sample, we'll try the QuickTime trailer from Johnson Family Vacation. With my standard mplayer installation I got picture but no sound, though I get sound with other QuickTime files, notably this King Arthur teaser. Running mplayer from the command line e.g.,

$ mplayer http://images.hollywood.com/images/quicktime/johnsonfamily_fox_t_low.mov

gives a line which says something like:

qtmlClient.dll not found.

Looking around the web for information on dll files in mplayer, I found that they are to be found in /usr/lib/win32, which doesn't exist on my system. Searching through Google I eventually found several mplayer dll rpm files at RPMfind.net, but the first ones I tried didn't have qtmlClient.dll. Eventually I went to the Mplayer Home Page, where I found a set of binary Codecs. I first downloaded the Latest Win32 Codec pack, and put the contents into /usr/lib/win32, but that still didn't have qtmlClient.dll. That file turns out to be in the All in One (aka essential)) package. I loaded qtmlClient.dll into /usr/lib/win32, and now I get sound with the movie.

There are some library files in the "essential" package, and I'm not exactly sure where they should go, so for now I'm leaving them out of the picture. At least, mplayer works for a new set of QuickTime files.

Note: further Googling shows that the essential package exists as an RPM. I may eventually rip out my own installation and put in the RPMs.

Saturday, January 03, 2004

Intel Fortran Options

This seems to be a better option string for the Intel Fortran compiler mentioned previously:

ifort -ccdefault list -tpp7 -W0

where -ccdefault list means ignore old-fashioned Fortran carriage controls in column 1 -tpp7 means optimize for Pentium IV, which seems to include the Celeron (-tpp6 for Pentium III). According to man ifort, -tpp7 is the default. -W0 means ignore warning messages, which tend to be noting that certain features of F77 have been depreciated in F90 and F95.

Changes added in proof: I decided that the Celeron is a P-IV class machine, so I changed the processor optimization flag.

Thursday, January 01, 2004

The Evolution of MozillaFirebird

When you click on a email address in new copy of MozillaFirebird, you see a message something like mailto is not a registered protocol, i.e., you can't get there from here.

The real solution is to include a set of preferences in Firebird which tells to program what to do when it sees a mailto: link. That hasn't happened yet, so the workaround is to use the Firebird extension program mozex. This lets you tell Firebird how to handle a variety of protocols. You can even reset some the Firebird handles quite well, e.g. ftp.

Installation is almost automatic, just follow the links on the mozex home page. After installation, restart Firebird, then click Tools ==> Options ==> Extensions. On that page, click on mozex and then click Options. Click the Intercept mailto: clicks box, then fill in the proper command for the Mailer:, then click OK. The proper command depends on the mail client you are using. Instructions for many mail clients are found in the mozex FAQ. For Ximian Evolution the proper string is:

evolution mailto:%A?Subject=%S&Cc=%C&body=%B
Now when you click on rcjhawk@despammed.com you can actually send me a mail message, provide you can get it past Despammed.com's spam filters.

Fortran Compiler

Every computer needs a good Fortran compiler (YMMV). Fedora comes with the g77 compiler as part of the gcc package, but it doesn't produce very efficient code, though it is useful for checking proper Fortran 77 syntax.

Fortunately there is the Intel Fortran Compiler (and debugger) for Linux. When you go to the site, it looks like you have to pay for the compiler, except for a short-lived demo version. However, if you click on the link that says "Free evaluation download" and scroll down to the middle of that page, you'll see a link that says "non-commercial unsupported version". (There is a similarly-licensed c++ compiler, as well.) You'll see that the compiler is free in that "the non-commercial license means the compiler cannot be used to produce products for resale or commercial use."

Go down to the bottom of the page, take the survey, read the license agreement, and register. Eventually you'll get an email from Intel which has your license code, and will tell you where to download the source.

Installation isn't to hard. The code comes in a tar file with a set of RPMs and installation scripts. Run the installation script as root. It will ask you where your license is. It will also ask for any flags you want to pass to the rpm program to install the RPM files. Give in the flag --nodeps, otherwise you won't get a clean install.

After the installation is finished, take the contents of /opt/intel_fc_80/bin/ifortvars.csh into your ~/.cshrc file, if you are using the tcsh or csh shell, or put /opt/intel_fc_80/bin/ifortvars.sh into your ~/.bashrc or ~/.kshrc file if you are using the bash or ksh shell, respectively. This will set up the environmental variables to find the Fortran libraries.

Finally, you can compile your code. I use the following flags to compile the standard "hello world" program: $ ifort -vms -tpp6 -WB hello.f -o hello to compile the executable hello from the source code hello.f. Note that ifort defaults to optimized code, so you don't need the -O flag. To turn optimization off, use -O0. The other flags are what I used for the 7.0 version of the compiler, they work in 8.0 but I don't know if they are necessary. I do know that 8.0 is not as fussy about extensions to the Fortran standards as 7.0 was. 7.0 would flag everything, 8.0 flags nothing, at least with these options.

I'll put up timing information when I get things properly set up.

Preferred Applications

A quick note because I'm always forgetting this stuff: I use Ximian Evolution as my mail reader, and MozillaFirebird as my browser. Evolution is a Gnome Desktop application. So, to get a clicked hyperlink in Evolution and to pop up in a new tab on Firebird, the following needs to be done:

  1. Launch the Gnome control center (gnome-control-center from an xterm)
  2. Click on Preferred Applications
  3. A window will come up. Click on the Web Browser tab, and then Custom Web Browser
  4. Edit box as you want and click Close.

My "Custom Web Browser" is a little file called newfire, which looks like this:

#!/bin/sh
# From http://vroop.com/archives/000020.html:
# open URL in new process if there isn't one, otherwise open URL in a new tab
firebird -remote "ping()" &&
firebird -remote "openURL($1, new-tab)" &&
exit 0
# if we're here, open a new process.
firebird "$1" &

As the comments say, if Firebird is open this opens the link in a new Firebird tab. Otherwise, clicking the link opens Firebird.

Happy New Year everyone.