Older blog entries for raph (starting at number 153)

Is Free Software dead?

No, of course not. I never meant to suggest that it was. I did question whether there is as much interesting stuff going on as before, and I'm still not sure.

rasmus, in his very thoughtful response, puts his finger on a key point: the standard for things being "interesting" is probably much higher than it was. The application that got me truly excited about free software, the Gimp, was truly trailblazing in its day. Nobody had ever done a modern GUI application as free software before. It changed the world. Nowadays, if a pair of Berkeley undergrads started cloning a proprietary GUI app, it would be old news. Similarly, the Linux kernel isn't very interesting to me any more because it just works.

There was definitely a hype wave around free software and open source. Probably the biggest damage it's done is create a lot of unrealistic expectations. People who do free software as a hobby simply cannot tackle huge software efforts as quickly and effectively as those who are being paid full time. Also, the hope that Corporate America would find it in its best interest to fund lots of free software development has largely failed to pan out (it was never true before - what had changed to make people expect that it would, other than the publication of Eric Raymond's essay?).

Lastly, the rise of the hype wave was, I think, fueled by two very, very good ideas that were enthusiastically adopted in the free software world, but with much more reluctance in the Windows world. First, the Unix philosophy of processes with separate address spaces, and a relatively simple, file-centric interface for dealing with the rest of the world. Second, TCP/IP and the Berkeley sockets API for programming them.

Now that the latest generations of consumer platforms have adopted these ideas, it's easy to forget how much of a lead we had. In 1994, when I started doing free software, Windows was at 3.1, and you'd get on the Internet with all kinds of strange hacks (anyone else remember TIA?). Those, such as myself, who ran Linux boxen enjoyed a commanding lead in terms of robustness, connectivity, and a sane programming environment, even as we sacrificed on the GUI front.

I don't think there's anything now, at the end of 2001, that is comparably such a good idea. Java might have been, if Sun hadn't botched it up as a desktop software delivery platform and shown an attitude of indifference shading to hostility to the free software world. XML certainly isn't - as Phil Greenspun has written, it solves a relatively trivial syntax problem, without helping at all with the meaning of all that tree-structured data. P2P is very interesting, but it's too hard.

It's not all bad news, though. There used to be things (like GUI's and WYSIWYG word processing) that proprietary software did pretty well and we absolutely sucked at. Now, there are at least mediocre free counterparts of just about everything in the proprietary world, and in some cases quite a bit better than mediocre.

So I think the bar will keep rising, we will learn to do more things, and slowly the good ideas will rise to the top. I think patience will reward those who expect a lot from free software. And I think the reasons to take part in it now are just as strong as they were before the hype wave. So I plan on doing free software for a while.

Xmas

We had a nice Christmas at Heather's father's house. Alan got a lot of games this time, including the 3D Harry Potter one. He, my mom, and I played Set, and again I was amazed at how quickly he caught on. Max got a couple of motorized trucks, and spent a lot of time happily driving them around.

Spam

I get a lot of spam. When I moved my mail and web server, I decided to try out some free spam filtering software, so I installed Spamassassin and Razor on casper.

The good news is that it works pretty well. It actually does filter out most of the spam, and passes most of the real mail.

The bad news is that it's far from perfect. A half dozen or so spams a day get through the filter, and it's also blocked some legitimate mail. I'm worried that its effectiveness will drop dramatically as spammers get wise to it and figure out workarounds. Quite a few of the rules in spamassassin imply test RFC compliance. Many of the others could be trivially circumvented by a spammer who was trying to do so.

Something else that bothers me deeply is that the rules are very harsh on non-European languages. One of the legitimate mails it blocked was from a Russian colleague, whose default mailer signals a koi8-r character set (even though the mail in question was all in English). A lot of the spams out there are in random languages, but blocking non-Latin alphabets seems like a step backwards for world unity.

In the long term, I really do belive that trust algorithms are the answer. In the mean time, I guess we'll just keep pouring in time and energy on our side of the arms race.

Printing - fun

Good 'ol Slashdot has an article today on printing. One of the comments links my last diary here, spinning it as a "negative review of Argyll." Sigh.

Actually, my latest results with Argyll are very encouraging. I've made a number of profiles since the last post, and each is quite a bit better than the previous version. I now feel I have a good understanding of why my amateurish attempts had the quality problems they did.

I really like doing this kind of work. Learning and doing is the true spirit of free software - learning without doing gets you academic sterility, and doing without learning is all too often the way things are done in proprietary software.

Color science is continuing to evolve quickly. I think people got seduced by the fact that you can measure color rigorously and precisely, and characterize the color transformations done by actual devices such as monitors and printers. Color management, then, should be a snap - just make the colors on the printer match the colors on the screen, and you're done.

In fact, the way colors are perceived on the screen and on paper are quite different. Even worse, not all printers (or papers) are created equal. A ratty old inkjet on plain paper can't produce anywhere nearly the same range of colors as an Epson 870 on photo glossy. You have to do something with the colors outside the printer's capabilities. This process is called "gamut mapping", and the scientific understanding of how to best accomplish has only recently started to come into focus. Two important works from the last five years include Jan Morovic's thesis, and Fairchild's paper on hue linearization.

The goal of all this, I think, is to package up "best practices" in color management so that mere mortals can make and use color profiles with good results, without having to understand all the details of color science or our particular implementation. It still won't be for everybody - spectrophotometers still run around $1500, but I'd like for there to be a good solution for people serious about graphic arts.

Printing - not fun

I don't like standards committees, and I get the distinct impression that they don't like me. Thus, I think that one of the keys to happiness for me is to never get involved with a standards committee again.

I've been working on a protocol for hooking in printer drivers, called IJS (it's based on HP's hpijs, but driver-independent). I think it's going pretty well - HP's latest driver uses the IJS protocol, I've drafted a halfway decent spec, and I expect versions of Ghostscript to ship with IJS built by default pretty soon.

But life can't be so simple. As it turns out, the Free Standards Group has a Printing Working Group (not to be confused with the Printer Working Group, which is responsible for IPP) that is working on a standard to do pretty much the same thing as IJS. Well, I guess what they say is true: the great thing about standards is that there are so many to choose from.

I sent a rather passionately worded mail to their mailing list, requesting that they adopt wire protocol compatibility with IJS, but I'm really unsure how best to proceed. If I was a masochist with lots of extra time on my hands, I'd take active part in the PWG<2> and try to bully them into making a good standard, but it's just not how I want to spend my time.

I guess I'll be updating here as this thing plays out.

OpenSourceJapsEye

Awww, how cute. Our first determined troll.

These posts don't personally bother me that much, but I can imagine others not liking them. I think there's a good chance that our troller will get bored and go away, but of course I might be wrong. Obviously, there are other community sites where trolling is a deeply integrated part of the culture.

Amusingly, the concept of the trust metric seems to be working - OSJE is not certified. The problem is that one of the most popular parts of this site (the recent diary summary) doesn't use the trust metric at all. The simple thing to do would be to tighten up the recent diary list to only include cert'ed members. In the past, uncert'ed diary posts have been a good thing, largely because people can talk about the free software work they've done and thus elicit certifications. But at this point, it might be worth sacrificing, and I would ask that people use other channels of communication than Advogato diaries to get initial certs. After all, the site is pretty well established now. It should be reasonably easy for any serious free software developer to find somebody with an account here who they know well enough to ask for a cert.

I'm disheartened to hear reports that Advogato's S/N ratio is declining. It may well be true. If so, I'm not sure why. I fear that one reason may be that there's simply not as much interesting stuff happening in the free software world these days. It's hard for me to evaluate.

In any case, I think Advogato's S/N is pretty good. It's not fabulous, though. I'd like it to be better, and am definitely interested in tweaking the site to make it so. Of course, this work has to compete for time with the other stuff I'm doing (like actually doing free software, not to mention finishing my thesis), and it's especially hard to find motivation when I'm so unsure what would actually be effective. But I'm sure I'll find some more time to play with this site over the next few months.

As always, constructive suggestions are welcome.

Family

My mom is coming tomorrow (Christmas Eve). We'll all pile in the car and pick her up from the airport. It ought to be fun.

Max is at such a beautful age right now. Watching him begin to master language is such a joy. My favorite word of today was "chicken soup", which suggests that he's just about to break through the 2-syllable barrier. He asked for "Goodnight Moon" tonight, and I read it to him, twice. So sweet.

He's also into physical and spatial stuff. Alan and I were playing Hoppers this afternoon, and Max of course wanted to play too. He didn't seem to grasp the rules of the game at all (not surprising), but he did very much enjoy putting the little frogs on their pegs, and the patterns that resulted.

Alan is having a bit more of a difficult time right now. He spends a fair amount of time these days in a bad mood, easily getting frustrated, and obnoxious to boot. Heather and I have noted that it seems to be linked to time spent playing video games, particularly shooters like Nanosaur (which ordinarily we wouldn't let him play, but gave in because he likes dinosaurs so much). So we're going to cut down on the amount of time for video games and see if that helps.

His new passion continues to be stories. I'm reading him "Jurassic Park" now, and he's for the most part enjoying it, although it's a little too talky for his taste. It's amazing to me that he understands the story, not just what's going on, but the structure and texture of it as well. Early on in the book, he foresaw that Tina would get attacked by a dinosaur before any such thing was mentioned. Pretty basic for any fan of sci-fi thrillers, but impressive to me from a five year old.

Inkjets

Today I created my first color profile using Argyll and a Spectrocam. It sucked! I cut a lot of corners, I wasn't trying for quality, so it's not surprising. Even so, it's clear that just doing the ICC dance isn't going to give good results for unsophisticated users.

I've been playing a bit with my experimental rinkj inkjet driver. At present, it drives the Epson Photo 870 only, but it does do the 4 level variable dots and 6 colors. RGB->cCmMYK conversion is yucky, but I expect to drop in the ICC stuff soon.

Also, rinkj is still ppm based, rather than ijs. It needs to be ijs, but at present, it's strictly a spare-time project, so I just haven't got to it yet. Meanwhile, the newest HP release is ijs based, which is cool.

Trademarks

This story on how Red Hat is enforcing their trademark is interesting. Legally, my guess is that Red Hat is entitled to their trademark. Even if the GPL were to extend to names in addition to code, RH would have to explicitly release the distribution as a whole under the GPL in order to be bound by it. If (as I suspect) they're not doing this, the distro were GPL, I think they'd be protected by the "mere aggregation" clause.

Still, this raises some fairly deep questions. What if free software developers decided to enforce the trademarks of their program names vigorously against distributions? Obviously, vendors could change the names of the programs, but this would cause quite a bit of hassle (analogous to the hassle of having to download a distro from the net rather than using a CD). I consider the issue to be legally quite murky - the GPL really only talks about copyrights.

The ethical questions are equally murky. Balanced against the freedom for people to do things with the code (like making money selling CD's of it) are questions of fairness. If we accept that Red Hat has created valuable intellectual property with their brand, then is it not also the case that brands like "Linux", "Apache", "Gcc", "Gnome", and so on are also valuable?

So far, the lawyers haven't gotten involved in a big way in free software, but it's probably just a matter of time. Sigh.

Alt-Q

Alt-Q is a small microcosm of both the suckage and coolness of Unix. It's a horrible usability problem that the same key does paragraph reflow in one editor app, and quits losing all work in the editor window of another popular app. It's also kinda nifty that I was able to grep through /dev/mem and recover what I'd lost. Of course, grepping through /dev/mem doesn't exactly pass the "mom test".

Unix is very friendly, it's just picky about who its friends are :)

Toys

I'm typing this on my laptop wirelessly, thanks to the pair of DWL-650 cards I just got. One is on my laptop, one is on a discarded laptop I use as an access point (the lcd is flaky, hence its name: Nearly Headless Nick).

Setting up a laptop as an AP is not for the faint of heart. Originally, I planned on using plain old Potato, but wireless is just bleeding-edge enough to rule that out. I upgraded the kernel on both systems to 2.4.16, and am fairly pleased. Both the orinoco_cs (which I use on pixelelnvy) and the prism2 (on nick) drivers work. The latter is supposed to support master mode, but I only got it to work once, and wasn't able to replicate it. So they're both in ad-hoc now.

I'm also listening to oggs on my new Grado SR-60 headphones, which I got at the recommendation of the Vorbis crew. They're nice - bass response, in particular, is a lot better than what you'd usually expect of headphones. I can also really easily hear mp3 artifacts :)

I ordered the Grados from cadencebuilding.com. Poor taste in bgcolors, but they seem to know what they're doing, and have free shipping. I ran across a couple of glowing testimonials when I was searching for where to buy these, and knew I had to go with them even if there was a slightly cheaper price somewhere else. I'm glad I did.

Max and Alan

Max is rapidly making the transition from being essentially nonverbal to being verbal. A couple of months ago, he spoke probably a dozen words. Over Thanksgiving, Heather tried to write down and count the words he's now speaking, and arrived at over 200. He's also started on simple sentences - "Alan crying" and "Santa candy" :) It's just amazing to watch him develop.

I'm reading "Dragon of the Lost Sea" by Laurence Yep with Alan now, and enjoying it quite a bit. Alan is soooo sensitive. This evening, he lost a couple of Pokemon cards in the Pizza place, and was devastated. Nothing all that special about that, but his ability to articulate it is not exactly normal - "It wasn't a mistake, it was a horror." "I lost a piece of my heart". Any easy way to make an Eevee and a Scizors card magically show up?

Omi (my mom) is coming for Christmas. That ought to be fun!

Ghostscript

An important milestone was reached yesterday: no regressions in HEAD against 7.0 for our automated regression test suite. I had a pretty bad cold, and feel like I'm just now getting caught up on things, but it feels like it's coming along.

I also did a new release of Even Toned Screening. If you're into halftoning, by all means check it out.

22 Nov 2001 (updated 22 Nov 2001 at 08:42 UTC) »
Max

Max is almost 19 months old now. I put some more pictures up, to get some idea across what an absolute joy he is.

His talking is going into high gear now, after a long period of being in low gear. He's very much into two syllable words now, but cannot do three. I noticed a similar "two but not three" period with Alan as well. Pronounciation is improving ("shoe" came out quite clear today), but some phonemes, particularly /s/, are problematic. "stars" still comes out as /tar/. Words this week include "chicken" and "turkey".

Alan

We've given up on the Lord of the Rings for now, as the Barrow-wights in the first book were starting to seriously creep him out. This is fine, I'm sure he'll be a lot more able to appreciate these books when he's a little older.

In the meantime, I read him the "junior novelization" of Jurassic Park 3, and he really liked that. It's competently written, but the story is kinda stupid to my ears. Alan likes the action, and of course the dinosaurs. Anyone have any recommendations for fast-paced, easier books that are nonetheless still worth reading?

Gobe

Gobe has a public beta out of their package, very low-key so far. It's got Libart in it. There are still a few intersector bugs, but hopefully those are being stamped out. I played with it a little tonight, and was really pleased to see Libart working in such an interactive, graphical application.

Is Open Source dead?

I certainly hope so. That way, we free software developers can get back to work without all the distraction.

Actually, I did see all /. articles mentioned by SteveMallett, but didn't really feel they were worth responding to. The people who write these stories certainly aren't thinking very deeply about the issues. Free software is alive and well, and in reality hasn't changed all that much through the hype wave and corresponding total bust of the last few years.

Strange dreams

A couple of days ago, I dreamt of wandering across a trade show in which Apple had a large booth, and giving my impressions about OS X to the salesmen. I told them I thought it was really cool, but that I hoped they didn't fuck it up. I think they still have a lot of work to do, and wish them the absolute best. It's interesting to note that many of the areas in which OS X has quality problems, the best-of-breed free alternative is quite a bit better. The hinted TT font renderer (actually unused most of the time) is buggy, as opposed to FreeType. It's not all that hard to get the kernel to panic, unlike a stable Linux or *BSD system. The logic underlying the installer is very primitive (no uninstall, for example), unlike Debian. Support for older devices is weak, unlike Linux.

This morning, I dreamt that I was playing the role of a very intelligent, but quite physically handicapped person. A doctor, in fact. I had to remember to be uncoordinated, and especially to drool. Strange.

I come not only to praise you, but also to bury you

Let me say up front: I bear no ill will against SourceForge, and feel that they have done an incredible service for the free software community. That said, their goals and those of free software are diverging. And, while I hope that SourceForge is able to survive, the prospect of SourceForge Enterprise Edition running on Solaris, powered by an Oracle 8i database fills me with no more excitement than Windows XP Pro. That's based on free software too, right? (historically, the TCP/IP stack has been BSD-derived code)

Unfortunately, the SourceForge people aren't being very helpful about the transition. We'd like to preserve SF as a read-only CVS mirror, but they won't do this. I've also gotten no movement from them about exporting the tracker. While Pat claims that there hasn't been much interest in this, it's consistently been our top request. Nice to know our needs count for so much, thanks. Wes Felter said it well: Thinking about various free services that people are worrying about, I realized that I tend to think about the issues from an accountability perspective. I don't want to use a service if the service provider isn't accountable to me.

We'll be able to replace SF at fairly low cost. The server cost $1250, colo is $250/month, and it'll probably take jack about a month working part time to get CVS, Bugzilla, and related stuff running about as smoothly as it was on SF.

The strange thing is that SF's new business model goes directly against the principles of open source. It's one thing if "collaborative development" is a core competency of your company - then you clearly build your own, as a competitive advantage. But if it's non-critical enough that you're willing to outsource it, you might as well save money and use the existing open source tools that are available. That way, you also avoid all the risks of having your vendor suddenly vanish, as well. If the people who implement these systems cooperate and share their fixes and improvements, everybody benefits. This, it would seem to me, is the core of the open source model.

Strangely, LNUX stock is going up a bit. Perhaps Wall Street feels that they have a chance of being profitable once they shed themselves of all that stupid free software deadwood.

Printing

The inkjet list (and the IJS project) continues to have a lot of activity. I just posted a rather extensive missive about color management on inkjets, and there's quite a bit of other discussion worth reading, as well (at least if you're interested in inkjets).

Grant's completed notes on the OSDN printing summit are also worth reading. Come now, my IJS presentation wasn't that boring, was it? (I freely admit that it was high-level and quite vague on the details, though)

It seems that people are pretty dissatisfied with printing on OS X, especially with older devices. I'd love to see a really clean distribution of Ghostscript and high quality inkjet drivers, but am not at all eager to take on the packaging work myself.

Fonts

I'm continuing to collect screenshots from antialiased font renderers. As I remembered, Microsoft Reader's is particularly pretty. I have the feeling that their fonts were carefully hand-tuned for a handful of faces and sizes. For one, I can't easily find any TTF's in the Reader 2.0 installation.

Incidentally, Reader seems to automatically sense the fact I'm on an LCD screen, and so turns on ClearType, with no way I can figure out to turn it off. Anyone on a CRT who can get me the equivalent screenshot without ClearType, or alternatively tell me the magical setting to turn it off?

I also pulled some screenshots from Acrobat 5. Note how much sharper the Type1 Times sample is than the TrueType. The latter is completely unhinted. The former uses a brand-new AA T1 hinting algorithm, not present in Acrobat Reader 4 (which, incidentally, is still the most recent version for Linux that Adobe sees fit to provide).

We're continuing to delve into the PMingLiU mess (actually Peter is doing most of the work). No real resolution yet, but when we do get some we'll share it, especially with FreeType.

Old-timers

nymia: why do you act so surprised that old-timers have any useful knowledge? Do you really think that computer science has changed all that much just because drives are measured in GB rather than MB?

I consider myself to be more of the old-timer generation than most of the young whippersnappers who write Linux software. I'm 31, but have been a fairly hardcore programmer for three quarters of that time. In addition, I grew up on the writings and work of the serious old timers in the field, including K&R, Dijkstra, Hoare, and so on.

This gives me a somewhat different perspective than most people - how many other people do you know who write their websites in C? I'm a curmudgeon about scripting languages - while I appreciate how much easier they make certain tasks, I also think they encourage sloppy programming. PHP, in particular, just seems icky to me. I'm not at all surprised to see that it's a dangerous tool for creating security vulnerabilities, in part because it's easy for people without real programming knowledge to use it.

Mac

I got the extra 512MB SIMM for the iMac, and you know what? It still feels pokey to me. According to El Reg, 1.6 GHz P5's exist as protypes. These will be seriously sweet machines, no doubt.

I'm not sure why it's as slow as it is. The "Hello World" Cocoa application takes a few hundred milliseconds to start up (with a warm cache), but most of that is after control is passed to main(). Perhaps the NextStep framework is too bloated or something - object-heavy UI toolkits tend to grow a lot of overhead (Swing is the other example that comes to mind).

Font rendering

I've learned a hell of a lot about modern font renderers in the past couple of days. Neither Adobe Acrobat nor OS X use the instructions in TrueType fonts for antialiased hinting. This yields lower contrast than your OS9 or Win9x desktop, but also more accurate rendering of the glyph shapes.

But what's even more interesting to me is the fact that Acrobat Reader 5 does apply hinting to Type1 aa rendering. It appears to be a different algorithm than the non-aa renderer, and in any case applies a lot less distortion. In particular, it doesn't seem to quantize stem widths to integral pixels. Instead, it mostly focusses on gently nudging stems to improve contrast. For example, if a stem is exactly one pixel wide, then it should be exactly aligned with a pixel. For 1.5 pixel wide stems, there's a sliding window of .5 pixel where the center pixel is 100% black, but the relative contribution of the two side pixels varies. For the other 0.5 pixel of the phase space, you don't have any pixel at 100% black, so you lose contrast. This "gentler" hinting the right way to go for aa rendering, I think.

I think a big part of the contrast issue is what people are used to. I'm typing this on a 133 dpi LCD screen (an IBM A22p). My browser is Netscape 4.77, and the font is Lucida at a 17 pixels, from the X bitmap font collection. It's actually a pretty font, and is of course related to the Lucida Grande that's the default on Mac OS X. At this size, the stem thickness is 2 pixels, and, because it's a non-aa render and an LCD screen, the contrast is maximal. The window next to this one is a screenshot of Mac OS X. The text looks positively faded by comparison, so much lower is its contrast. Yet, sitting at the Mac, my eyes get used to it. I guess the visual system lumps together all factors affecting contrast, including CRT fuzziness, white luminance/black reflectance ratio, and then "normalizes" so that you only consciously see relative contrast compared with maximum. Part of the brilliance, then, of OS X is that everything on the screen is antialiased without hinting. This won't happen on Linux for a while.

Anyway, at some point I'll write up what I've found, with screenshots and everything. It's certainly been interesting for me.

5 Nov 2001 (updated 5 Nov 2001 at 17:14 UTC) »
Mac OS X first impressions

The iMac came this week, and I've spent quite a bit of time playing with it. It's now landed in Alan's playroom, so at least I won't be tempted by it during the day.

Overall, they've done a great job. Alan (who's five and a half) is able to use the machine fairly fluently. Not only that, but the machine more or less worked out of the box. These are pretty strenuous tests, ones that a commodity PC running any version of Linux would fail pretty badly.

Underneath the hood, it's a pretty good Unix. I was able to compile Ghostscript, ircii, and a few other things with absolutely no difficulty. About the only thing I really miss so far is strace, and that's possibly because I just haven't found the BSD variant yet.

The expectations around Macs are just so different than what I'm used to. Consider this Mac user who feels that one kernel panic in a month is cause for "glowing pride" about stability. I also got a kernel panic doing userish things, but probably putting the machine under more stress than most users (I tend to do that). To me, this kind of stability record means that it needs some serious work. I wish the Darwin team well on this.

Raw hardware price/performance is another area where Mac and PC hardware diverge. I got the least expensive iMac (at $799), and it is obviously made with some of the cheapest parts possible. For one, the 500MHz G3 CPU is roughly equivalent to 600MHz in the x86 world. Try buying a new x86 machine that slow - it'll be a challenge (for contrast, the $599 Dell Dimension 2100 has a 1.1 Celeron, and twice as much RAM, to boot). There's also 64M of PC100 RAM in there, and a 20G hard drive. These aren't insane choices for a low-end system, but even their "high-end" dual 800MHz G4 clocks in with generic PC133 memory. Apple charges a pretty penny for this trailing-edge technology, as well. iMac RAM upgrades run $0.78/MB, while Crucial charges about $0.11/MB. PriceWatch has PC100 memory for $0.045/MB (and PC133 for the same price!), but to me the chance of compatibility or stability problems just wasn't worth it.

Of course, Apple users aren't buying megahertz and simm's, they're buying a system that just works. For the most part, I think they're getting their money's worth.

Diehard Mac enthusiasts will have you believe that Apple hardware comes with some mystical "Quality" missing in x86-based PC's, but I tend to doubt it. I've found a few minor irritants with the machine that you'd think Apple would have fixed. The most annoying to me is the fact the keyboard generates extra press events when you type with "rollover". The way I type "cd ", it comes out as "cdd ". The $11 Mitsumi keyboard that came with my cheapo dual 400MHz Celeron doesn't have any defects like this, and it's quieter and feels better to my fingers.

You get the development environment for free. That's cool. For native OS X applications, you want to use ProjectBuilder, which is a decent IDE based on Jam/MR for the actual build engine. The compiler is GCC, and the debugger is GDB, but the IDE does a pretty good job abstracting those away. You write your apps in Objective-C, on top of the Cocoa framework, which is all actually quite similar to NextStep. There's been a GNUstep project for a while, attempting to clone this environment, and they're no doubt hard at work on the OS X enhancements as well.

There's also Carbon, which is primarily for porting older Mac apps. That's much less interesting to the free software community. Lastly, there's Classic, which boots the actual MacOS 9 operating system in a virtual machine. It works, I suppose, but it feels clunky (even by Linux standards), and it's clear that its main function is to go away as OS X native applications become available.

I like the "app bundle" concept, in which applications are directories containing an executable, localization files, and other resources. I think it's easier for users than the Unix tradition of binaries in /usr/bin/appname, data under /usr/share/appname/, etc. Further, they've got libraries in bundles the same way (called "frameworks"), so your library and header files are together. Even better, it's pretty easy to create a bundle. We'll probably put make targets into the Ghostscript build to make it into an OS X framework.

OS X is visually quite appealing. With all the antialiasing and transparency, it feels "softer" than a comparable Linux, or even Win2k install. I also note that the aa font rendering seems to have changed radically between OS9 and OS X. The former is your standard algorithm of applying the TrueType hints intended for non-aa rendering to the outline, then rendering at 4x and subsampling. In MSIE5 (which is the default browser), a lot of glyphs end up not looking very good. The "2" in Times Roman is a classic case.

In OS X, the hinting is a lot more subtle, so it's quite a bit closer to a non-hinted aa render. It's a tough tradeoff. You get much more accurate rendering of the glyph shapes, but at the cost of lower edge contrast. I get the feeling there's still some hinting in there, but haven't investigated carefully yet. I'll post some screenshots when I do.

You'd think that an overall softer render would have been a good opportunity to crank up the resolution, but no. In fact, the default is 800x600. This is roughly the res I'd like to see on a handheld, not a desktop. Fortunately, it's easy enough to crank it up to 1024x768. Part of this, no doubt, is Apple's penchant for cheap components. While the video tube doesn't suck, it's only 15 inches, it's a plain shadow mask (as opposed to Trinitron), and it has a fairly high "black" reflectance.

I'm confused about whether the underlying software will support a move to higher resolutions or not. All the user interface guidelines are written in terms of pixels, and the UI builder tool (InterfaceBuilder) places components in absolute pixels, rather than the logical layout of Gtk+ and others. This will make it hard to change the resolution, but on the other hand, it might be possible to just apply a scale factor in the rendering engine. I sense some difficulty for Apple here in the future, as non-low-res displays become more common.

I encourage people in the free software community to take a careful look at OS X. They've largely succeeded in creating a usable desktop on top of Unix, which is a goal we're still striving for. They've done a lot of things right, and very few hopelessly wrong (that I can see), even though it's clear that they have a significant journey ahead of them to make the user experience totally seamless. It's worth learning from their experience.

Hi!

It's cool to see both forrest and mbp interested in Ghostscript. I'm really glad to be working on this project - a year ago, it may not have seemed all that sexy compared with other stuff that was happening, but today stability and maturity sound pretty good to me. There are cool things happening in Ghostscript development too. A lot of what interests me will be useful in the long haul, such as high quality font rendering. I'd like it if the Ghostscript graphics library had roughly the same relationship to the dream free desktop environment of the future as Quartz does to OS X.

Rich Tennant's Ghostscript cartoon is now up at ghostscript.com. Enjoy!

Interest in IJS has definitely picked up. This is likely to be very good news for people who want their inkjet printer to just work. A common interface would allow the various inkjet projects to compete on technical excellence, rather than (relative lack of) compatibility problems. Imagine that!

I've purchased an iMac, and will be experimenting with OS X. I'm looking forward to it.

Some more progress on the thesis, which makes me very happy!

26 Oct 2001 (updated 26 Oct 2001 at 16:09 UTC) »

I'm also at the printing summit. Grant has put up an excellent report, to which I have little more to add, except to nitpick the various flavors of interprocess communication between a rendering engine (eg Ghostscript) and a printer driver.

1. hpijs is shipping code from HP now, which works with a fairly wide range of HP printers. The license is MIT with an "HP printers only" exception, which makes it non-DFSG. The HP engineers are very clueful about why this restriction is a problem, but apparently it's been difficult to get it through corporate.

2. OmniPrint is the IBM effort to create a unified driver framework. It is also capable of running in an IPC mode.

3. ijs is a proposal for a very lightweight communications model, based on the ideas of hpijs. It hasn't seen much activity, although I suspect that's about to change, as the need for such a thing was fairly strongly expressed.

Of course, in the "open source" world, the need for something does not map at all into getting it done. I had fairly low expectations for the conference itself, and those have been (so far) met. It's been worthwhile to meet and chat with other people in the Linux printing world, but overall not very fun.

I'm taking advantage of yosh's generous hospitality, and last evening yosh, chema, yakk, nullity and I had dinner at an Ethiopian place. That was fun. My favorite quote is from yosh, discussing davem's taste for high end digital camera equipment: "i don't think he has more money than brains, but he does have a lot of brains".

144 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!