Older blog entries for gtaylor (starting at number 19)

I reimplemented my gimp-print-to-foomatic data importer, so it now runs in sensible time and produces properly correct results. If Robert ever stops changing the arguments around this'll eliminate all manual work for me.

I fixed the pdq part of Foomatic to handle ascii print jobs; similar changes in lpdomatic are overdue, although first I ought to make it work under SuSE's LPD.

Speaking of sensible time, I'm going to have to do timestamps and a cache thing; the foomatic getdat call now takes ages to compute. Since this is hit with every driver page just to get the documentation, not to mention daily as part of the cron builds, something really needs to be done. Perhaps someone should just send me a bigger computer...

There's something funky with my yahoo tv parser; every third invokation it fails. Hmm...

It took me 30 minutes to get sound working again on Kelley's machine after a kernel-package upgrade, what with all the compiling and all. I don't understand why they don't throw out the old oss drivers and just put the alsa stuff into the mainstream kernel. The oss ones appear to be a rather small subset of alsa functionality...

Sometime in the past week, Yahoo changed their tv guide web page format, so the tv guide in my palm has been broken ever since. Today I finally got around to fixing up my tv guide building script. Someday I ought to make it less horribly embarassing and distribute it for use with hacked Tivos or something.

This was a nice little diversion. I'm getting a bit burnt out, since I keep staying up until 4. Serves me right.

Chema sent me a note; apparently the gnome-print-admin project is doing the same sort of thing as Foomatic. I have yet to look at their system, but I'm sure it will contain some interesting ideas. Hopefully it will be straightforward to write an exporter to convert my database's printer/driver data structure into their schema; it ought to be, since we seem to have the same goal and same basic ideas. The biggest thing I might expect to find there that I don't handle in Foomatic would be sensible font or color support, plus of course a pretty installer. If anyone is interested in wetting their feet in Perl XML space, writing the Foomatic-to-gnome-print-admin data conversion code would be a nice little well-defined project.

11 Sep 2000 (updated 11 Sep 2000 at 04:56 UTC) »

It ended up being a busy weekend, not least because my dad came up to visit.

Big progress on foomatic happened this weekend. I blessed Till of Mandrake, and he promptly entered execution data for all known Lexmark inkjet drivers (!). Anyone with a Lexmark inkjet and the driver already installed should give a foomatic interface a spin and help us squash bugs.

I also blessed the pnm2ppa guy. He hasn't put in pnm2ppa data yet, but he said he'd try.

Assorted optimizations happened to the stp-interfaces foomatic bundle for gimp-print; Robert added me to the sourceforge project, so that users can report foomatic/stp bugs via the stp bug reporting thing there.

I have a free license quandry: I can't lay my hands on a good free database license. The goal is for data files (some of which are actually software themselves) computed from my database to be usable in most any way, by most any application free or nonfree. However, users must be able to replace the data files with new ones, regardless of the application. And users and developers should submit changes back into the Postgres "source" database, where the rest of the community can benefit from them. I'd kind of like to make that a must, but since it's difficult on a practical level to distribute the source Postgres database, this sort of devolves into a single-source/thou-shall-not-fork sort of license, which isn't what I'm after. OTOH, making it a must is the closest thing to the GPL's "thou shalt distribute the source" clauses I can think of. If anyone has any suggestions or pointers for free database licensing, I'd love to hear.

I put in for a sourceforge project to host the foomatic interface generating code and a bug reporter. Speaking of Sourceforge, I got annoyed at the HP-and-VA self-congratulatory Printing Foundry front page, so I pencilled in a recommendation for Epson Styli (which are of course the only inkjets that work properly with free software). I wonder if they'll leave it be; HP is paying the bills over at VA, after all.

I'll be giving a presentation at the MFPA (multifunction peripheral association-no, I'd never heard of it either) conference in October. Or at least I plan to if I can get them to send me the speaker registration form in something other than Word. I've completed the presentation; if anyone has anything to add, please feel free to review this and make suggestions.

I intend to represent the free software community at the conference, so if any developers on SANE, hylafax/efax, parport, hpoj/mlc, printer drivers, etc have any messages thay want me to deliver to a roomful of engineering manager types at all the usual companies, do tell...

Similarly, if any other free software people will be at this thing, I'd love to meet up with you.

LinuxToday posted my little PR thingy. Suddenly I'm getting 300 people an hour. No wonder my box is clattering so...

Anyway, I fixed a dozen little buglets all over, and one big one which made foomatic's data source broken; now all those stp foomatic tools should work properly.

Till clued me into the c2070 author's new Lexmark Z11 driver. We've really got to get all these scattered Lexmark efforts pulled into stp; none of them dithers with a darn, and stp dithers marvelously well but doesn't do Lexmarks.

Someone reported an LPD that doesn't pass any useful options to filters at all; apparently it's in SuSE. Neither the -J nor -C options get passed, and of course nothing useful like -z or LPOPTS happens. I guess I have to sit down and make lpdomatic find and parse the cf file. Ugly, but straightforward.

I switched my experimental affiliate links over to buy.com instead of outpost, since outpost prices are a bit high, shipping or no, and they tend not to carry many things.

Mandrake 7.2b1 seems to be out; it's got CUPS and foomatic-built interfaces in it. This is a good thing, and Kurt et al went on at some length about this in the Linux Today story's discussion area. If anyone finds bugs in these PPDs, you can poke at the underlying data on linuxprinting.org.

raph mentions:

...miguel said some things to me last night on IRC about inkjet printer drivers which strongly suggest that he values corporate support over high quality and involvement from free software hackers.
Ack!!! Some people just don't get it, I guess. Printer companies are among the worst offenders with some practices which free software can simply eliminate:
  • Most vendor drivers aren't terribly good. The recent competition on software-driven quality from color inkjets has helped this somewhat, but they're still a bit klunky to use.
  • Printer vendors have often tended to discontinue support for older models well before those models are nonfunctional.
The stp driver is a marvelous example of what life might be like if free software developers have their way. As far as I can see, it's no contest.

I was able to dedicate a full day to foomatic over the long weekend. This turned out well; the system now contains full execution data for the not-quite-released stp driver. I added some more flexibility to the logic for option constraints, and more or less finished up the web forms for entering data. I also split up the big form, since it kept making netscape consume 200MB of memory, at which point my box crashes.

I need a really good mailing list engine which I can drive directly from an existing Postgres database. It needs to handle bounces and generate "dead address" events so that I can expire people in sql. Ideally it would also solve the archival problem. The goal: people should be able to sign up for mailing lists related to each printer in the database. Developers could contact users, users could contact each other, and changes in the database could notify the people who care. This will, of course, amount to around 1000 mailing lists run on my workstation at home. It must be totally automated.

Someone bought an Epson Stylus 860 through an affiliate link; this marks the first dollar I've made explicitly through free software efforts. Hopefully this will happen often enough to provide me a cushion upon which to jump-start a free software consulting business. If not it ought to at least pay the network bills...

Went out on Saturday with the guys (plus Alli) to see the Tao of Steve. A pretty good movie; we ended up having one of those "why don't nice guys get dates" discussions afterwards.

Well, things have been busy. I've just completed the code rearrangement; foomatic is now an external GPL'd program instead of a web-based tool. This should allow for significantly more community involvement; as it was I got lots of bug reports that anyone could now fix. Hopefully the Debian and Mandrake folks who want to use it will be kind enough to fix a bug or two.

I'm trying out one of those affiliate programs as a sort of experiment in self-funding. It would be nifty if I could afford an intern to do some of the drudge work from time to time. And if there is enough money from this, I'll pay myself or others to do useful free software printer-related projects. For example, there are any number of ratty drivers out there that do dots, but don't dither at all; any of these could stand to be integrated into stp.

I attempted to catch up on my email over the past few days. I failed, after nearly 8 hours of constant emailing. There are 400 more important messages left to process, stretching back a full year. Fortunately, as the messages get to be older than a few weeks, I can start sending "sorry, was this still important?" form letters...

Saturday we went sailing with Paul. Fun.

Robert wrote a little program to extract all the argument information from his stp driver, so now Foomatic contains complete details on executing that driver for Epson printers. It has the Canon data, too, although I haven't finished marking the stp driver on the Canon printers themselves. And of course I didn't get to the PCL driver yet.

I did asorted minor rearranging of LinuxPrinting, including proper toplevel pages for foomatic and the database itself, rather than having them accessed in various ways from random points in the rest of the site. And I added a long overdue little form for people to directly select a particular printer; before, confused people had occasionally mistaken the "new printer" dialog for a search box, resulting in random new empty printer records from time to time...

I've settled on a design scheme to get the bulk of Foomatic's code out from my web server to where other people can hack at both the raw data-to-ppd/pdq/lom code and the filter scripts. Letting people work on both ends like this should improve the appeal of the thing to sensible cathedral-wary folk.

The Linux Hardware Database was sold to ZDNet. LinHardware is very similar to my own site, differing mainly in having broader but shallower device coverage. This spawned a bit of soul-searching on my part. I've got a website that represents some 8 years of effort on my part, not to mention a delightful hobby. Viewed from an accounting perspective, however, it's a large nonliquid asset, and something of a resource hog: I give it most of my free time, and derive fewer benefits from it than my time is worth by most any metric. As it expands, it will surpass my spare-time capacity, and it's unclear what happens then. So I'm formulating two opposite plans from which to chose: an exit path (sell? give away? let rot?) and an "entry" path (self supported, for profit full time operation). The entry path is, I think, viable, but I'm rather risk averse, and it doesn't fit in with the rest of my life right now. So I'd like to identify an exit path which preserves everything that's good about the site (voice, interactivity, focus, free licensing, etc). Unfortunately the traditional exit path-outright sale-provides no guarantees for these things. I'm stumped.

Well, I've finally gotten back on the keyboard again, so to speak. Over the past two days I've made excellent progress on my foomatic data entry code, to the point that I'll be able to easily enter execution data now. More importantly, it will be possible for other people to do so; this will capitalize better on the strengths of my existing database and the community in general. Anyway, the immediate goal is full stp/gimp-print driver support (well, for Epsons, anyway) over the next day or two.

In doing this work, I finally found a case where I needed something JavaScript could do, albeit mainly to work around the fact that Netscape is a pathetic memory hog. Basically I approximated nested menus, since having 500+ selectors with 750 choices each gives Netscape or Motif a fit. Who would have thought that such ugly things could work together in a useful way? The resulting menus are nifty enough that I'll reuse them as a nicer search interface to the printer listings.

VA wants me to be a volunteer editor person for the Printing Foundry. I really must decide and get back to that fellow...

I attempted to get a prescription put into my bicycling glasses, but after two attempts the optician threw his hands in the air and gave up. The problem is the wraparound fit of the things; the prescription lenses need to be somewhat flatter than the frame allows. Fortunately I have contacts, but I had hoped to retire them.

Today at work there was a system design document review. As with all reviews for networking products, most of it consisted of arguing over which lights should blink in what color when. Thankfully there was a ten minute diversion to discuss whether the slots should be numbered from bottom to top or top to bottom. All of this would have been fine if I'd remembered the fine Nerf weapon I got last week. Alas, it was not to be...

Some bonehead recruiter emailed me "in response to my resume":

Please send me a Word version of your resume.
Um... no.
Jeff and I appear to have completed handshaking; now it's up to me to find time to implement the missing code to make foomatic really sing. I blew it this weekend; between the festivities and the overdue lawn care it didn't happen. Ah, well.

Friday was my birthday; Kelley gathered a bunch of friends and we had a neat little BBQ affair. A few folks even brought presents; these ranged from the geeky (a nerf gun) to the geeky (a geek bookstore certificate) to the nostalgic and geeky (recordings from my days on the college TV station). Thanks all!

I spent part of Friday afternoon writing a Perl module to show my Datebook.pdb as part of my web page at work. This was well and good, but it turns out that Palm::Datebook doesn't have anything that seems to match the "Private" bit on appointments. There's an "other_flags" member, but none of the bits there appear to match the private setting; I don't get it. Hmm.

Speaking of Palms, the guys in my geek club now want to get into Palm programming, after we found that several projects already exist to build virtual communities atop Crystal Space. The lack of free software for Palms seems like a nice problem to attack. I'm not sure, though, if this will matter with the advent of useful Linux PDAs...

Mom needed a bit of help with kmail; it turns out that if an outbound message fails to get sent, all future outbound mail will get stuck in kmail until you go into the outbox and delete or fix the broken message. This is poor, but at least the rest of kmail is better than Balsa was. There are really too many gui mailers out there, and most of them suck. Oh, for a nice GUI Pine equivalent!

10 older entries...

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!