Older blog entries for gtaylor (starting at number 8)

Even though I've been on vacation on and off for nearly two weeks, the rest of the world has been moving:

  • IBM has finally posted their OMNI printer driver system. The architecture is the thing here; they provide only drivers for a smattering of Brother and various Epson devices, all of which I think were already supported by free software. The Epsons, in particular, are supported better by free software.
  • Robert reports that we have finally found a printer which really does require bidirectional support - the Samsung ML-85G.
  • Work on integrating the gimp-print drivers in with cups continues; Mike has made them into cups-raster drivers.
Meanwhile, somewhere in there I agreed to give a 45 minute presentation at the Multifunction Peripheral Association's conference in October. The main complaint against multifunction devices (those cheap fax/copier/scanner/printer things) under Linux is that AFAIK not a one of them works. Aside from this observation I'll tell them about how to work with free software folks, and point them at all the related projects. Apparently the audience will be engineering managers and marketing.

At work I'm unhappy and trapped. Our management is incredibly awful, and the organization is simply not viable. I really must find a job working on free software, where I can do something useful, instead of just twiddling my thumbs half the time wating for the division to self-destruct. Unfortunately I cannot offer a representative portfolio of my software because I mainly write proprietary network firmware. The networking industry is not really a free software kind of place, and it's not obvious how to escape without becoming either a peon at a Linux house or going broke. Or both.

On my own project front, I'm swamped as usual, and see no end in sight. This will never do; it's time to do some triage. The obvious thing to cut is foomatic, which is suffering from the second-system effect (despite being a third system) and not attracting much community interest. I'll give a go at a web interface for it this weekend, but if that fails, foomatic will be retired. If it succeeds, of course, community involvement will be possible and the driver execution information section of the database wills stand a chance in hell of being populated. I remain convinced that a database-driven solution to printer configuration is the correct one, and I am convinced that most other implementations of this concept are rather poor. I just wish it were a practical problem for me to solve in available time.

Beyond foomatic, I think I can handle the workload; the question is, do I want to? I've offered the HOWTO and the database to the community for years, but the "community" has changed in the past few years; now some of my heaviest users appear to be support organizations inside Linux companies. While it's obviously correct for these parallel support organizations to share data, it's not obvious that a random unpaid volunteer should be that mechanism. It's also not obvious that the companies which use the data actually provide any new data; while I'm sure they do occasionally update a printer's info, they certainly don't make a practice of doing so. VA is the only company to provide any support at all, although I have yet to actually realize anything from that (note to self: send them a bill).

In any case, it's time to change things. I can't keep donating all of my free time to this one project without having anything to show for it, so either I need to find someone willing to hire me to do it, or it needs to be handed off to a new maintainer, or some other compromise needs to appear. Anyone with any suggestions can email me at the address on my web page.

I've put out a new version of the Printing HOWTO; it is of course at www.linuxprinting.org. Nascent sections on network printer administration and gui printing tools are included. I also finally fiddled my DocBook tools into doing vector pictures properly, so I added a simple illustration to the "How it works" section; they say pictures are worth a thousand words...

I finally got my free Palm V from work. Since I've already got one, I gave it to my wife as an upgrade. This was all well and good until it stubbornly refused to accept her old DatebookDB and ToDoDB databases. After a while of poking, I got pissed and wrote code to dump them into an ascii format and back again (four lines of code, thanks to Palm::Datebook and friends from coldsync). Turns out her old IIIxe had constructed a bewildering assortment of bogus appointments and todo items that had to be hand-fixed. I can't imagine how on earth a Windows/Palm Desktop user would ever have dealt with this. When you break with Unix tradition, you pay the price. Seemingly every time.

Things are really hopping on the cups-devel list; Till of Mandrake is planning to assemble the world's most wonderful printing system atop CUPS, KUPS, Ghostscript, Foomatic, and other projects. He's hobbled by not building atop Debian, of course, but the results should be nice just the same.

Robert's tidying up stp/gimp-print for a new release; besides his traditionally great Epson support, he's got his excellent dithering code running for Canons and HPs, all within Ghostscript now. This should shortly make most other canon and hp inkjet drivers obsolete...

LWN put my printing summit notes atop the development news section. Whee!

Robert sent me some additions for the vendor relations discussion part which I'll incorporate at some point.

Lexmark has asked me to review and comment on a printer. This is a fine thing, all in all, but they wish to use my comments in their ads. It seems appropriate for me to charge them for that privilege; they are evidently pondering that idea.

Mulad pondered the whole printing thing a bit:

I mean, I don't want to define a new printer in /etc/printcap just to be able to run at a different resolution or to print in color or whatever. This is something that has been missing for a long time. Of course, what's the best way to do this? You don't want every program that wants to print to be dependent upon a particular graphical widget...
So the approach currently used is to provide a defined interface between the spooler and print submission program, which includes data about the possible options. Currently, this interface is done in two parts: typically PPD files document the options, and job submission programs magically know how to specify options to the spooler (arguably, this is OK, since there are only 6 or so spoolers in the world). This approach is sligthly inelegant and not commonly used, but all the bits are there, so it's up to you to install it. Read the HOWTO. (Or rather, read the not-yet-published version of the HOWTO that has more data on this stuff).

I don't want more printers to be using proprietary languages...device manufacturers don't know how to make a `driver' for Ghostscript...
None of us like proprietary languges. Truth be told, however, most proprietary languages are little more than a few setup bytes and a compressed stream of bits indicating how to fire the jets. At the summit we clarified the needs of free software; since all the magic is in the dithering, and we can already do that, we may now see some vendors document the jet-firing information we need. As for Ghostscript, it does indeed have a collection of awkwardnesses that will probably be addressed in future versions. There's a sourceforge project for that; join and help.
I wonder if there are yet any programs for reading the status of my Epson Stylus Color 640. I'd kind of like to know how much ink is left.
Yes. Basic tools for that sort of thing are included with recent versions of the Gimp print plugin (aka the "stp" driver). It lives on SourceForge.

Sigh. I've really got to get around to some more work on the database and HOWTO...

My father in law is visiting; we're planning to eat out for the next five dozen meals. Urgh.

Yesterday I accidentally released a two foot snake in the locker room at the gym. Oops. Apparently he crawled into my bag when it was stored in the basement, and I never noticed until I unpacked to get dressed. Fortunately 3Com has a staff of comparatively expendable security guards useful for snake trapping and the like. Kelley won't go into the basement anymore.

I've not done much actual work for a couple days; just a few corrections to my printing summit notes. Nearly all were misremembered names; it just goes to show how awful I am with people...

The weekend's BBQ was rainy. Yet another useful person at work is leaping; my group is now down to a frightenly low clue level.

mrorganic wrote:

...this means that lots of the packet monkeys only want to work on high-profile, high-visibility stuff. Boring things like debugging, regression testing, and documentation languish because they don't "pay" as well.
I beg to differ. The free software documentation community has a great many contributors. Excellent documentation contributions to free software are every bit as valuable as code; even Advogato's web of merit recognizes this. Free software tends to be debugged by users (for better or worse), and tends to have rather less regression testing, except for critical apps where it's worth the effort to construct a test suite (gcc, Perl, etc come to mind). That this is different from other software development models is unimportant; it works for us, so that's the way it is.

I've finished my notes from the Open Source Printing Summit.

I am currently at the Open Source Printing Summit, being held Thursday and Friday in California. Essentially everyone involved in free software printing, plus a veritable who's-who of printer vendors, is represented here. VA Linux is hosting the thing, and was kind enough to pay my way out here.

I am placing my notes online (although not as a diary entry, since they're a bit long). I'll post the second day's events after the second day has happened; posting them earlier would be cheating ;)

Mike put out CUPS 1.1.1, which fixes the worst tempfile bugs, but doesn't get some of the others. It also probably still runs basically everyhing as root, and it appears that the certificate generator is seeded with at most 13 bits of randomness, or fewer on platforms with faster jiffies.

The printing summit mailing list just had a thread about convincing printer vendors to open up (already comma dammit). There are two schools of thought on whether CUPS's link-free raster interface helps or hinders the cause; I'm thinking hinder, since vendors now have a lame cop-out way to provide reasonably functional binary-only drivers. OTOH, cups-raster is not a radical improvement over pnm except to the extent that cups provides a pretty interface to the filter driver. In any case, the obvious solution is for me to get my act together and enter the data to make cupsomatic work with all the drivers out there.

As the thread went by, I got curious, and mined my website logfile. Of my visitors:

  • Some 20% are probably looking to buy a printer (1500 people/week)
  • 2/3 of these people look for a compatible color inkjet.
  • I point all those people at Epson, totalling some 13,000 Epson referrals per quarter.

Then I found HP sales figures - ~10 million DeskJets per quarter. Canon and Lexmark are in the 3-6 million range. The "lots of Linux people buy printers" argument isn't going to hold water unless I can produce a plausible and interesting number for "lots". I'm baffled about where to find it...

All this talk of the MAPS v ORBS snafu has me wondering if I should attempt to polish up and release my own spam-fighting work. I bet lots of people could benefit from one-time email addresses and language analysis software that can recognize spam.

The VA folks say that they've been approved to give me a tape drive; hopefully these VXA drives are nearly as nifty as all the hype would have you think.

Last night I constructed a DocBook skeleton for HOWTO (or other) authors. It features index building, raster graphics support, and html, pdf, ps, and txt output, all built from a generic Makefile. This makes life much easier; the DocBook tools take even more voodoo incantations than LaTeX does to build a nontrivial project. I also figured out most of the formatting bugs in my own HOWTO; there seem to be a number of subtle quirks in the DSSSL for the tex backend.

Berry-picking is apparently on for the weekend. Hopefully I can talk Kelley into a constructing a blueberry pie.

I spent yesterday evening writing a whitepaper about my printing configuration efforts to prepare for the printing summit. This helped me clarify my thoughts, and will make the prepration of a quick slideshow trivial. If only I could get a reserved seat. Stupid United.

Now it's back to the VA/HP doc work. It's still a bit unclear how to fit it cleanly into the HOWTO, given that so few individuals have a Postscript printer and settle for LPD. Hmm...

New Advogato Features

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!