“My full name is Gertie Ball, but please, just call me Gertie. You’re about to discover that I’m pretty amazing!! You can have fun with me in as many ways as you can imagine!

“When you inflate me a little, I’m real soft and flexible; inflate me a lot and I keep growing ’til I’m big and round. You’ll find out that you can squeeze me, roll me, bounce me, throw me; you can even wrinkle me, smash me and kick me!!

“You can play with me anywhere—inside or out. You’ll really like how different I feel. You can even wash me when I’m dirty and I’ll be clean as new for you.

“Big or little, day or night, rain or shine, I’m your Gertie Ball!!”

— More wisdom from The Gertie Ball, found in a toy store

Dear Gizmodo,


Virtually every use of “teed off by” on the web is in reference to someone becoming annoyed by golfers. Given that, perhaps you should reconsider this bit of release-euphemizing:

"Lenovo's IdeaPad Y-series consumer notebooks are all going 16:9 widescreen, teed off by the 16-inch Y650, ..."

I suppose I’d get a bit teed-off if my sibling had 16 inches, too…

Just for Pete...


Fedora 10 correctly handles FA19 in various applications, including OpenOffice.

more...

Phony Japan-blogging


There exists a blog called “Japan for the uninvited”. I found one of its articles linked from a fairly reliable group blog. That particular entry was a rehash of claims from other English-language sites about Japan, and was relatively accurate.

The next three entries that I read were complete nonsense. This short-lived blog was created by someone looking for ad impressions, who didn’t pay any attention to accuracy.

[note for the blogger: when the members of a band range in age from 14 to 24, describing them all as “pre-pubescent” is a slight categorization error. Also, when the high point of your site is the unintentional hilarity of the phrase “discrete sex”, find a new hobby.]

More fun with Anaconda


After I thought I had a decent script for figuring out what packages Anaconda would install from a Fedora 10 DVD, I decided to test it against reality. Reality made the script cry like a little girl, so it was back to the drawing board.

The problem, simply put, was that I had over-estimated the internal consistency of the data. Here’s what I learned in the process of producing a 100% match between my script and an actual default install of Fedora 10:

  1. Packages listed in comps.xml don't necessarily exist, even if they're marked mandatory (like iprutils).
  2. Conditional packages in comps.xml often depend on packages that are not themselves listed, but get included during dependency resolution (all of the OpenOffice language packs, for instance).
  3. Packages often require themselves (more than two-thirds of perl's requirements are met by... perl).
  4. Some packages specify a requirement for files installed by a package rather than features provided by that package (such as /usr/bin/perl; in an amusing note, this file is required by, but not a feature provided by, perl).
  5. A few packages require files that are not installed by any package, and that's not considered an error.
  6. It's not unusual for multiple packages to satisfy the same requirement, and when they do, Anaconda chooses the one with the shortest name. Seriously.
  7. ...unless it's obsoleted by the other one, as in the case of the synaptics driver.
  8. RPM doesn't actually care about all this nonsense; when it wants to know what libraries a package depends on, it opens it up and runs ldd on the contents.
  9. This is required exactly once during a default Fedora 10 install, to discover the fact that totem-mozplugin requires mozplugger. I had to fake that one.

At some point, this knowledge will be put to use upgrading my EEE PC from Fedora 9, but now that I can declare victory and stop tinkering with the script for a while, I’m going to go finish the Japanese novel I’m currently working my way through (60 pages down, 200 to go).

The universal language


Yes, it’s the Christmas holidays and I’m tinkering with Perl scripts that parse XML files and SQL databases. It was worth it, however, to discover that the circle is now complete: Emacs requires Perl.

Also awk, bash, cpio, ping, and sed, but hey, who doesn’t need those?

[Yes, that list is so basic that it would be surprising if a package didn’t end up pulling one of them in somewhere down the dependency chain, but Emacs is a Lisp interpreter with delusions of godhood, built around text processing; why would it want Perl? Turns out there’s exactly one Perl script in the distribution, packaged up in emacs-common: /usr/bin/grep-changelog]

You know what Anaconda really needs?


An Unselect All button, so you don’t have to manually click on dozenshundreds of “optional” packages that are installed by default. It’s pretty sad that the easiest way to reduce the amount of cruft in a Fedora/Redhat/CentOS install is to ignore the GUI package selector, install once, save the resulting Kickstart config, load it into a text editor, strip out everything you’re sure you won’t need, re-install with that template, and then see if you ended up with a bootable system.

This still installs a lot of stuff that you’ll never need or want, but at least the resulting package list is smaller, and after a few iterations you can build a decent server or netbook install.

[Update: If my script is correct (package selection from comps.xml and dependencies from primary.sqlite), installing Fedora 10 without changing the default list of packages will install 1099 1109 1116 1070 RPMs out of 2218 total; stripping out the default-but-optional packages brings that down to 510 514 522 505, which still includes a working Gnome desktop environment. A typical offender is a2ps, which pulls in texlive, imagemagick, ghostscript, ncurses, groff, and plenty of others (even libthai!).]

I’d also like a Really, Really Unselect Everything That Isn’t Necessary For This Locale button; “core” and “base” still have a fair amount of cruft in them.

Note: this is not a Linux-versus-{Windows,Mac,whateverdude} posting; it’s just about the difficulty of overriding the decision to include every precious snowflake’s package in the standard install. The decision to enable every compile-time option doesn’t help, either, since you end up pulling in half a dozen other packages on the off chance that the user is in an environment where one of them might matter.

Why do I care? Because about six weeks ago, I did an update on my EEE PC running Fedora 9, and there were so many updated packages that I didn’t have enough free disk space on the 4 GB flash drive to download them all, much less unpack and install. I had to symlink the yum directory to a loopback-mounted ext2 image on another flash drive (because the drive itself was FAT32, which wasn’t good enough).

[note on the twice-updated RPM counts: my script wasn’t handling conditional packages correctly. I was processing conditionals before resolving all dependencies, so it missed cases where the package in the condition was added by a dependency, not by another group. A good example is language packs for OpenOffice: you select the packages for each application, all of which depend on the -core package; when you add support for a language, it adds the office language packs if it sees -core.]

[Update: Okay, I had to completely redo the dependency resolution, because multiple non-conflicting packages supply the same requirements. Anaconda chooses exactly one of them, apparently based on the length of the package name (shortest wins). My script now produces exactly the same results as a default install of F10, so the numbers should finally stop changing.]

Dear Redhat,


When someone installs a machine and enters somedomain.net as the hostname, please do not insert the line “search net” into /etc/resolv.conf.

You can take the girl out of Hello!Project


…but you can’t take the Hello!Project out of the girl.

more...

“Need a clue, take a clue,
 got a clue, leave a clue”