Slashdot Mirror


A PostScript-like API for the X Render Extension

Pivot writes: "Carl Worth and Keith Packard have started building a PostScript-like API for drawing using the X Render extension. There are two modules, called 'Xr' (the "rendering part") and 'Xc' (the "compositing part", which is a layer on top of Render which will eventually grow to a client-side Render emulator). The API supports only cubic Bezier splines, leaving other splines out of the library, similar to PostScript. Check out the initial announcement on the Render mailing list, and some example shots. Shurely this will remind some of NeWS, cowritten by another well known character."

193 comments

  1. Beziers. by pdbogen · · Score: 1

    I can finally render all those beziers I have lying around in my closet...

    I'm sorry.

    1. Re:Beziers. by Anonymous Coward · · Score: 0

      whoa!

    2. Re:Beziers. by Anonymous Coward · · Score: 0

      Don't you mean brassieres?

    3. Re:Beziers. by Anonymous Coward · · Score: 0

      Good job ruining the joke by explanation. Dumbass.

    4. Re:Beziers. by spongman · · Score: 2

      would these be the same beziers that the Win32 GDI has supported since NT3.1 shipped in 1993?

  2. Didn't NeXT do something like that? by Lardmonster · · Score: 1

    Nice idea, though...

    --
    The more advanced the technology, the more open it is to primitive attack
  3. rendering by Anonymous Coward · · Score: 5, Interesting

    Carl Worth and I have started building a postscript-like API for drawing
    using the Render extension (or a client-side Render emulator). Interested
    parties are welcome to take a look at the current state of the API
    in CVS at keithp.com (http://keithp.com has a pointer), the two modules
    are called 'Xr' (the "rendering part") and 'Xc' (the "compositing part",
    which is a layer on top of Render which will eventually grow a client-side
    Render emulator).

    We chatted with Lyle Ramshaw a couple of weeks ago and he suggested that we
    implement only cubic Bezier splines and leave other kinds of splines out of
    this library. Certainly that matches what Postscript does, and cubic
    Bezier's have the nice property of being trivial to decompose into line
    segments.

    Filling figures bounded by a Bezier is quite easy; split the curve into
    line segments and fill the resulting polygon.

    Stroking these curves is somewhat more difficult. We knew that circular
    pens were a bad idea; in Sharp mode, they generate lumpy lines while even
    in AA mode they're computationally intractable to compute precisely.

    For Sharp mode, the fix for the lumps is pretty easy -- use one of John
    Hobby's pen polygons and you get a nice even stroke width along the spline.

    What I hadn't realized before now is that polygonal pens solve the
    computational problem as well -- instead of generating a new n-th order
    polynomial describing the track of the edge of the figure, a polygonal pen
    stitches translated pieces of the original path together to form the
    boundary.

    We know how to compute points along the spline, and certainly translating
    them is easy enough, the only hard part is selecting which pieces of the
    spline are glued together to form the final edges.

    That part turned out to be confusing, but actually quite simple -- you move
    counter-clockwise along the polygon when the counter-clockwise polygon edge
    is clockwise from the spline and clockwise along the polygon when the
    clockwise polygon edge is clockwise from the spline.

    Another realization is that Hobby's pen polygons aren't interesting in the
    anti-aliased case -- pen polygons are designed to generate the same number
    of lit pixels on each scanline (and column) so that non-AA lines don't
    appear lumpy, but in the AA case, we don't want to round the widths to the
    nearest whole pixel like that. So, for AA splines, we just use a
    symmetrical polygon with enough points to keep things looking smooth.

    The final trick was to add the four points forming the start and end of
    each edge of the stroke to the polygon. This preserves the precise width
    of the face so that a cap or join can be applied smoothly.

    Carl wrote a prototype of this algorithm, a sample of it's output
    can be seen at http://keithp.com/~keithp/download/spline.png
    The code for this is in the 'spline' CVS module at keithp.com and is
    written in nickle with a C helper to do the actual drawing with Xr.

    The sample uses colors to show the transition from one polygon vertex to
    the next; there are 20 vertices forming a regular polygon along with the
    four additional vertices from the spline ends. The colors of the polygon
    progress counter clockwise through black, red, green, blue, yellow, cyan,
    magenta and gray, as seen in the little sample polygon drawn at the start
    of the spline.

  4. NeXT by gralem · · Score: 1

    Isn't this a little like combining X & NeXT? I'm probably off on my technology analogy, but even though DisplayPostScript is not based on X at all, wasn't the desing philosophy the same?

    I hate to soap-box here, but it looks like the 10 things that would change the computing world may really do that. I always thought they'd be lucky if 7 of them held true.

    ---gralem

    1. Re:NeXT by Anonymous Coward · · Score: 2, Interesting

      This is neither.

      Display Postscript is an X extension that allows a application to run postscript code which can be displayed on the screen. Expose redraw event are generated normally in X pixel coordinates while the Postscript drawing happens in device independant points per inch.

      As far as I can understand (Correct me if i'm wrong) NeXT took this a step further by having the postscript graphics commands rendered by a RISC processor on the graphics board.

      It looks that Xfree team is slowly extending their way out of the dead end that is the X graphics model but these problems have already been fixed by adobe display postscript on propriety unices. A technology that is as dead as a door nail according to adobe. Does anyone out there actually know of a Unix app that uses display postscript?

      The free unices still don't have an equivenlant of windows GDI. which offers colour calibration, hardware acceleration of graphics primitives and most importantly a consistent way of accessing fonts that is identical when outputing to the screen or the printer (I can't find raph's weblog comment on that point on advogato.org).

      Attempts have been made create a display ghostscript that is compatible with display postscript but it has stalled for a number of reasons.

      IMHO the issue of display APIs for BSD/Linux is the most pressing for efficient app development.

      I won't even mention the whole X versus NeWS debate. As always the inferior one won.

      excuse my spelling.

    2. Re:NeXT by Anonymous Coward · · Score: 0

      Does anyone out there actually know of a Unix app that uses display postscript
      Mac OSX programs? Okay, it's DisplayPDF, but close enough.

    3. Re:NeXT by spitzak · · Score: 2
      NeXT did not have any kind of co-processor that did anything very complicated (it may have had something doing bitblt but certainly nothing that could be considered "rendering postscript").

      In my opinion Display Postscript is seriously flawed by an absurdly difficult interface for drawing the postscript. It is designed ONLY to "preview" a document and nobody ever writes a program that uses it to draw the interactive display. NeXT was better in that, although it used the DPS interface, it used ONLY that interface, you used PostScript to create and manipulate windows and thus you did not have to learn how to interface both DPS and X (or whatever). NeXT then messed this up by insisting that people use NeXTStep, but that is another story. NeWS shows how it should be done: the interface was an absurdly simple stream interface, with simple token substitution so that common PostScript commands could be 1 byte and numbers could be sent as raw data. A NeWS program was the only one that could dump it's entire user interface to the server with a simple block copy.

      I have no idea why you are saying GDI32 is good, unless you are trying to troll here. It is exactly like X interface, in fact many parts of it are copied (there is no other explanation for the exact correspondence of the dashed line interface or the inane use of "points" to measure fonts when everything else is measured in pixels, these things were copied from X). Fonts are enormously better on GDI32 as you say. But unless you are living under a rock you would know that X uses hardware acceleration as well. And neither system does anything about color management, and neither of them should, this requires too detailed knowledge of the data being presented and is best left to the application. In fact X has a (fortunately abandoned) mess of CMS calls and I thought the LACK of these is one of GDI32's advantages, because you can assumme they do nothing.

      Because of the horrid DPS interface I don't think there is any interest in emulating it. I would like to see a stateful interface like NeWS where there is no "context" argument to the calls (you can use the same tricks as OpenGL so multithreading is supported). I have not looked at what they are considering yet so I can't comment on it, but some of the XRender extension is pretty good, though I don't like the enforced creation of per-window objects.

  5. I don't understand by KidSock · · Score: 3, Interesting

    So what is this for? Would this be used to implement a Display Postscript widget or be used directly by drawing programs or something? What's the point?

    1. Re:I don't understand by Anonymous Coward · · Score: 1, Informative

      Resolution independence using a well-known vector specification.

    2. Re:I don't understand by dmiller · · Score: 5, Insightful

      In addition to the already-mentioned resolution independance. This API would allow an X server to implement hardware acceleration of the rendering. I don't know if any cards support acceleration of spline decompisition, but just about everyone supports hardware-assisted polygon filling, which means many fewer pixels go over the wire (or SHM segment).

      Now if only they would implement true multi-window tranparency and complete affine transformation support, then X would begin to catch up to OS X :)

  6. Yet another by Anonymous Coward · · Score: 0

    This is yet another repeat story. Still interesting, though.

  7. slashdotted by Anonymous Coward · · Score: 0

    is it slashdotted already?

  8. Display Postcript/Ghostcript/Quartz/etc... by sjgman9 · · Score: 1

    Like the Barenaked Ladies song "Its all been done".

    Someone should simply merge the SVG graphics or PDF graphics format ala Quartz into the X11 Server.

    1. Re:Display Postcript/Ghostcript/Quartz/etc... by Anonymous Coward · · Score: 0

      I don't know about PDF/Quartz, but this is a start to an efficient SVG implementations under X.

  9. Port DE's to it by Rulle · · Score: 1

    Anyone know how easy/hard it would be to make Qt/KDE or Gtk/GNOME use this for the display of the whole desktop in the future? Is something like that one of the reasons they are doing it?

    1. Re:Port DE's to it by krmt · · Score: 2

      From what I understand, what would have to be ported would largely be the Gdk and Qt libraries. Once these were ported, the majority of the desktop environments' jobs would be finished.

      --

      "I may not have morals, but I have standards."

    2. Re:Port DE's to it by Jobe_br · · Score: 1

      Search the threads for a post by keithp - he talks about the fact that they intend to port the necessary Qt libs to Xr/Xc, once its progressed enough to support the necessary primitives. GTK+ 2.0 apparently already has a sophisticated rendering engine, so Keith didn't know how things would pan out there.

      Cheers.

  10. render status now? by kareemy · · Score: 1

    Does the x render extension work now? I can only find very little documentation on it. Isn't it supposed to provide true transparency and neato anti aliased fonts (I still don't know how to get anti aliased fonts working. Does gtk 1.2 support them?)

    Anyway, Can i load up render and try these features out in the current X release or is this just the future...

    1. Re:render status now? by HanzoSan · · Score: 2



      Theres no easy way to use Xrender so no ones using it.

      Why dont you ask keith packard because I dont know, but I hope they get alpha channel working soon

      --
      If you use Linux, please help development of Autopac
    2. Re:render status now? by Anonymous Coward · · Score: 1, Informative

      It works fine and is used by KDE 3.

      Rich.

    3. Re:render status now? by Anonymous Coward · · Score: 1, Interesting

      gtk2 does, i set it up last night for gentoo;

      GDK_USE_XFT = 1
      also a good idea to set your xftconfig to not alias smaller than 14 or so point fonts.

      check out www.gentoo.org in their forums

      X looks so much better now that i did that.

    4. Re:render status now? by Jobe_br · · Score: 2, Informative

      XRender is usually enabled by default in recent builds of a XFree86 (4.2.x would be a good place to start). You can tell relatively easily if you have XRender and anti-aliased fonts by doing something like:

      $ xterm -fa Courier -fs 14

      This should launch xterm with AA fonts (Courier at size 14). If your xterm doesn't understand the switches, then your version of XFree86 isn't recent enough.

      GTK 1.2 doesn't support AA fonts, far as I know ... I believe some patches/hacks were out there, but officially, you'll need GTK2 to get AA fonts. Qt does support AA fonts via the XRender extension - if you have that xterm thing working alright, you should be able to load the KDE control panel and in the Fonts section turn on AA to get AA fonts in all Qt/KDE apps.

      The information on these things is out there if you search the mailing lists. By now, someone may even have put together a simple Howto.

      Btw - it is possible to get AA fonts in Moz as well ... this used to be pretty difficult (a few months ago), but a lot has progressed on this front. I'd recommend some Google searches and some searches in bugzilla.mozilla.org for AA fonts. KeithP helped a whole lot in getting Moz going with AA fonts using Xrender/Xft - I believe this is what he's referring to when he stated previously that he got sidetracked for a year doing client-side font things, amongst other things, too, I'm sure.

      Cheers.

    5. Re:render status now? by spitzak · · Score: 2
      My impression is that the antialiased fonts work fine (you do have to convince your software to use them but I expect the next versions of KDE and Gnome will be this way by default).

      However I have had no luck using it to draw anything other than fonts. It is supposed to draw antialiased filled trapazoids (which can then be used to draw any shape antialiased) but I have had no luck in getting them to work. I suspect there are a lot of bugs in the current implementations. This unfortunately means nobody uses them and thus nobody fixes the bugs...

    6. Re:render status now? by damiam · · Score: 1
      I still don't know how to get anti aliased fonts working. Does gtk 1.2 support them?

      No (or at least not without ugly hacks). Use GTK 2 or QT >2. All the AA backend stuff should be automatically setup by any of the more modern distros (it works on Debian, anyway).

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
    7. Re:render status now? by HanzoSan · · Score: 2

      which means in its current state it sucks.

      --
      If you use Linux, please help development of Autopac
    8. Re:render status now? by joshsnow · · Score: 1

      Here's the info on how to get AA working.
      Lycoris and Mandrake work out of the box. RedHat 7.3 doesn't.
      This was the line that sorted it all for me (added to Xftconfig)
      match edit antialias=true;

  11. So what? Still no alpha channel? by HanzoSan · · Score: 4, Funny



    Why is there still no alpha channeling? What about genie effect?

    how much money would it take to get this code written?

    --
    If you use Linux, please help development of Autopac
    1. Re:So what? Still no alpha channel? by rjw57 · · Score: 2, Interesting
      Not a great deal if you just wanted it to work. Writing a rootless X server where each window is an OpenGL texture is certainly possible (with a similar amount of work to the XDirectFB rootless server for DirectFB). With the DirectFB server translucency is certainly possible (screenie).

      If the X-server was written using OpenGL textures, they could be mapped onto any mesh and hence the Genie effect would be fairly easy to implement.

      --
      Rich
    2. Re:So what? Still no alpha channel? by HanzoSan · · Score: 2


      we know that, but we want to be able to run KDE and gnome. We NEED X for compatibility reasons.

      --
      If you use Linux, please help development of Autopac
    3. Re:So what? Still no alpha channel? by rjw57 · · Score: 1

      I can run KDE quite hapilly on XDirectFB and the screenshot I linked to was running GNOME!

      --
      Rich
    4. Re:So what? Still no alpha channel? by HanzoSan · · Score: 2


      What video card as you using? You forget theres going to be alot more problems, alot of hardware wont work with it, alot of software wont work with it. Just because you are lucky and it works for you doesnt mean it will work for everyone else. If it does work so well why arent we all using it?

      --
      If you use Linux, please help development of Autopac
    5. Re:So what? Still no alpha channel? by rjw57 · · Score: 2, Insightful

      Would you really try to run a fully-alpha blended X-server on hardware that couldn't cope? No. In a similar manner you don't use fade-in transparent menus on 486s. No-one would be forced to use it (remember this is X so the programs would still run on older machines, they just wouldn't use the translucency/genie extensions).

      --
      Rich
    6. Re:So what? Still no alpha channel? by HanzoSan · · Score: 2


      Ok when theres support for ATI and Nvidia cards and not just Matrox, then I'll pay attention.

      I'm pretty damn sure my ATI which can do alpha channel in windows can do the same in linux, also consider the fact apple uses the ATI card too, oh and the Gforce definately has the power so lets not even go there.

      --
      If you use Linux, please help development of Autopac
    7. Re:So what? Still no alpha channel? by rjw57 · · Score: 2, Informative
      From the DirectFB web-site, they support Matrox G200/G400/G450/G550, ATI128, Voodoo 3, NeoMagic, Savage and CyberPro.

      An OpenGL X-server would support any cards which have an accelerated OpenGL driver available (including a GeForce).

      Myself I have an ATI Radeon and a nVidia GeForce4 and both manage to work with DirectFB (admiterdly the nVidia needs a patch but that is a packaging issue).

      --
      Rich
    8. Re:So what? Still no alpha channel? by T-Punkt · · Score: 3, Interesting

      > From the DirectFB web-site [directfb.org], they support Matrox [...]

      But only on Linux. XFree should be an OS independent project and I really disklike the attemps from the linux camp to change that with the dependency of certain features on weird linux kernel modules and the like.

    9. Re:So what? Still no alpha channel? by rjw57 · · Score: 1

      *bangs head against keyboard* I wasn't suggesting that we move X over to DirectFB, only that it is easy to port X to use another compositing engine (e.g. OpenGL). An X-server with uses OpenGL could run on Windows, IRIX, HP-UX, Frame-buffer OpenGL, even XFree86... I used XDirectFB as an example of how its quite a small amount of code once you have a compositing engine.

      --
      Rich
    10. Re:So what? Still no alpha channel? by Art+Tatum · · Score: 1
      XFree should be an OS independent project and I really disklike the attemps from the linux camp to change that with the dependency of certain features on weird linux kernel modules and the like.

      Don't blame us for that. Go bitch to nVidia for being myopic and not releasing specs. Plenty of the rest of us have. Probably won't do much good, but...

    11. Re:So what? Still no alpha channel? by Anonymous Coward · · Score: 0

      >*bangs head against keyboard* I wasn't suggesting that we move X over
      >to DirectFB, only that it is easy to port X to use another compositing
      >engine (e.g. OpenGL).
      >
      >
      Why don't you do everbody a huge favor and *JUST SHUT UP* You lusers from the Amiga camp make my stomach turn.

    12. Re:So what? Still no alpha channel? by spitzak · · Score: 2
      Everybody here please learn that this has nothing to do with "transparent windows". You could write a "transparent window" window system with NO graphics (the client program must supply the contents of a window as a 4-byte/pixel image with alpha transparency). Conversely you can draw elaborate high-level graphics with no transparency, just like a PostScript printer cannot make the paper transparent but is still useful despite this handicap.

      Although both goals are useful, please realize that they have nothing to do with each other, except that the transparency of a window will probably be determined by accumulating the transparent paint that the rendering system will use (but such transparent paint is useful even if there are no transparent windows).

      This addresses the high-level rendering end and has nothing to do with "transparent windows".

  12. How will it compare to Quartz.. by h0tblack · · Score: 5, Interesting

    It will be very interesting to see how the rendering and composting compares to Apple's Quartz in OS X. Quartz brought a lot of nice effects to OS X, but slowed down the responsiveness of the GUI, especially on older hardware. At the time there was no way of using GPU's to directly accelerate a Postscript-based engine. Quartz Extreme has partially got around this by sending parts of the process through OpenGL.
    So how will this implementation get around the limitations of hardware acceleration and even in an 'unaccelerated' form how will it perform? Definitely one to watch methinks.

    1. Re:How will it compare to Quartz.. by Jobe_br · · Score: 1

      Just my $0.02, but on my iMac (400MHz G3, ATI Rage 128 w/ 8MB) - OS X 10.1.5 has a relatively snappy interface. On 10.2, dev release, its even better (I'm never going back). I cannot take advantage of QE, so this points to some definite improvements on the part of Apple, in various subsystems, including Quartz. I also run OS X on an older iBook (tangerine, 366MHz, 384MB RAM, unknown graphics card - probably similar to the iMac). With that, if I'm running XF86 alongside Aqua, things start slowin' down a bit, but otherwise, its just fine.

      Cheers!

    2. Re:How will it compare to Quartz.. by be-fan · · Score: 2

      Actually, QE doesn't really get around it. If you look at the PowerPoint Apple put out, all QE does is accelerated compositing of windows to the desktop and accelerates stuff like the genie effect. It doesn't seem to accelerate the actual drawing of PDF paths (even though it would be trivial with current OpenGL hardware to do so).

      --
      A deep unwavering belief is a sure sign you're missing something...
    3. Re:How will it compare to Quartz.. by Anonymous Coward · · Score: 0

      Tangerine 366? With 384MB RAM? Are you sure?

      Tangerine was 300, with max. 160 MB RAM and ATI Rage (4 MB).

      iBooks were updated in september 2000, but there was no tangerine anymore. Indigo, KeyLime were 366 MHz, and Graphite, KeyLime were available as 466 MHz. You could put at most 320 MB into these. They had ATI Rage128 with 8 MB RAM.

    4. Re:How will it compare to Quartz.. by g4dget · · Score: 2
      Quartz brought a lot of nice effects to OS X, but slowed down the responsiveness of the GUI, especially on older hardware.

      Quartz overhead comes from several sources. First, there is PDF. X11+XRender doesn't incur that at all because it uses a C API and a binary protocol.

      Second, there is the imaging model. OSX really makes most applications other than games go through the same high-level imaging model. That's nice in certain ways, but completely unnecessary in many applications. A toolkit, for example, can often completely dispense with the possibility of anti-aliasing or geometric transformations and doesn't need to pay the overhead. X11+XRender gives programmers a choice for what kind of imaging model they want, for each particular call.

      Still, I suspect that X11+XRender will be faster than Quartz even for applications using the same imaging model and putting the same graphics on the screen. We'll just have to wait and see. Maybe Apple will eventually switch OSX over to X11+XRender :-)

    5. Re:How will it compare to Quartz.. by ipjohnson · · Score: 1

      ACtually I thought QE was PDF based not PS .... the next platform was PS based but they got away from that because of security and other issues.

    6. Re:How will it compare to Quartz.. by Anonymous Coward · · Score: 0

      As a rendering API, PS and PDF are the same thing - it's the same language underneath. They called it PDF based because more people know what that is.

  13. First is it actually better? by HanzoSan · · Score: 1, Troll

    Unless its as good as OSX, its not worth it.

    --
    If you use Linux, please help development of Autopac
    1. Re:First is it actually better? by Anonymous Coward · · Score: 0

      you run on at the mouth a lot

    2. Re:First is it actually better? by Sunnan · · Score: 1

      If it's not better, make it better. Quartz is not free.

  14. Re:huh? by josh+crawley · · Score: 1

    What the fuck this stuff's good for??? Well look what Apple did with OS X. They did the same, except they used a hack on PDF.

    Well, this project is just a hack on their idea. It's called "bragging rights"... Unless there's a better reason.

  15. Let's skip: by JollyTX · · Score: 4, Funny


    1. X is bloated and should be replaced with something new and spiffy.

    2. Why can't I have transparent windows with the background updated in real time? Lazy X developers.

    3. Speaking of X, KDE is better than Gnome.

    4. Speaking of KDE, Gnome is better.

    5. I can't compile X.

    There. Can we talk about new stuff this time? ;)

    --
    Can you hear me, Major Tom? I'm not the man they think I am at home...
    1. Re:Let's skip: by Anonymous Coward · · Score: 0

      > 2. Why can't I have transparent windows with the background updated in real time? Lazy X developers.

      So what is the answer to that one ?

    2. Re:Let's skip: by Anonymous Coward · · Score: 1, Funny

      Write it yourself.

    3. Re:Let's skip: by Anonymous Coward · · Score: 0

      Well, I'd assume from how it was written the answer would be : Lazy X developers (look right after the question, that statement is meant to be the answer)

    4. Re:Let's skip: by global_diffusion · · Score: 2

      5. I can't compile X.

      That's funny. I get at least one email a day on the gentoo-users email list with this as the subject.

  16. Now thats the important question, mod him up! by HanzoSan · · Score: 2

    I hope the developers keith and the other guy respond to your post.

    How exactly WILL it compare to Apples Quartz? Because thats all that really matters here. Will it compete with OSX or not?

    The hardware limitation isnt a big deal, first of all OpenGL will work just fine, second why the hell would they go through all this work if its just a software hack? IF we want a software hack we can just use enlightenment which does alot of software effects or we can use KDE and use the little transparency hack effect.

    --
    If you use Linux, please help development of Autopac
    1. Re:Now thats the important question, mod him up! by psavo · · Score: 2

      FYEO, Enlightenment is doing OGL now. The software hack was a hack. it's mostly gone.

      --
      fucktard is a tenderhearted description
    2. Re:Now thats the important question, mod him up! by HanzoSan · · Score: 2

      No EVAS is doing OGL, Enlightenment cant to do it.

      --
      If you use Linux, please help development of Autopac
  17. Does it only run on OS X? by Anonymous Coward · · Score: 0

    This looks pretty cool. Is there any chance it will be ported to non-OS X platforms?

  18. Goals and intentions? by Ian+Bicking · · Score: 5, Interesting
    The email is pretty technical, and doesn't give any idea of what their goals are. Is this just fiddling around for the fun of it, or are they thinking about introducing a new extension for mainstream use?

    If they are thinking of taking this someplace serious, it could be interesting. People probably remember that OS X uses PDF to display items, and its inspiration (NeXTSTEP) used Postscript. This gives resolution-independent display, and highly accurate WYSIWYG possibilities (since you render to the printer just like you render to the screen).

    GNUStep is a clone of NeXTSTEP, and uses some sort of similar rendering. I'm not clear on their status -- for a long time they were waiting for a Display Ghostscript (DGS) extension, so they could copy NeXTSTEP faithfully. Proprietary Postscript extensions for X have been around for a long time. Ultimately, it seemed like someone didn't want to wait around, and wrote a straight Xlib backend for GNUStep, with none of the vector-graphics properties. I think that backend has stuck, since it works, and DGS isn't the primary platform at this point. But I'm not sure.

    This could be an alternative to DGS, or something to build ontop of, or maybe it's just people fooling around with another alternative that wouldn't be useful. Obviously, fonts and anti-aliasing and all that jazz is really essential for a complete rendering platform -- just doing splines is a long ways from that.

    (If you can't get to gnustep.org, try gnustep.net -- it's good stuff, even if development has been slow over the years. Too bad FSF/GNU didn't back GNUStep instead of creating GNOME -- I don't know what was up with that)

    1. Re:Goals and intentions? by keithp · · Score: 5, Informative
      The email is pretty technical, and doesn't give any idea of what their goals are. Is this just fiddling around for the fun of it, or are they thinking about introducing a new extension for mainstream use?

      The Render extension is designed to replace the core X rendering model for general purpose applications. Its most visible effect today is the presence of anti-aliased text in Qt and Gtk+ 2.0 applications. However, the extension is more than just AA text; it provides a complete alternative to all of the existing rendering code using colors instead of pixel values and image compositing operators instead of boolean raster ops. It's a standard part of XFree86 today and future XFree86 releases will see the remaining parts of the extension fleshed out.

      Render is designed to offer the minimal extension necessary to take advantage of modern hardware acceleration. For geometric objects, the work of breaking it into primitive shapes is done on the client side of the wire; the only thing the server does is draw trapezoids (or triangles). Render is based on image compositing so it provides translucent images as well as anti-aliased objects.

      Once the extension had progressed to a point where anti-aliased text was possible, I got side tracked for a year dealing with the repercussions of client-side font support. I've recently drafted Carl to help get the graphics pieces finished. He and I implemented the fundamental geometric primitive (the trapezoid) a few months ago and now we're starting to build more complex shapes based on that. As those pieces are all done in the client, we're building the Xr and Xc libraries to provide them.

      Xr and Xc will likely become a part of XFree86 once they're a bit further along in development. Carl has plans to port Qt to Xr to replace the graphics operations in that toolkit, we'll see if we can't get TrollTech to pick up those changes much as they picked up the Xft changes last year. Gtk+ already has a relatively sophisticated rendering engine; I'm not sure what part Xr/Xc have to play in that environment.

    2. Re:Goals and intentions? by FooBarWidget · · Score: 2, Interesting

      Are there any XFree86 drivers that actually accellerates XRender operations?

    3. Re:Goals and intentions? by Art+Tatum · · Score: 1
      GNUStep is a clone of NeXTSTEP, and uses some sort of similar rendering. I'm not clear on their status

      There is currently a modular backend. Runtime loadable bundles dictate what rendering code is used. There is an alpha quality win32 backend, a relatively mature Xlib backend, and an X11 DPS backend. The non-DPS backends implement a DPS emulation engine. They turn wrapped PS function calls into native rendering calls on the host display system (determined by the currently loaded bundle). Unfortunately, not all of the original NeXT extensions to DPS are finished. The purpose for having them at all is that quite a few applications for NeXTSTEP used them to define custom GUI widgets.


      (If you can't get to gnustep.org, try gnustep.net -- it's good stuff, even if development has been slow over the years. Too bad FSF/GNU didn't back GNUStep instead of creating GNOME -- I don't know what was up with that)

      I think it was pragmatism. GNOME got to a mature place long before GNUstep did. It's pretty much there now, however. There are people writing end-user applications. Part of the slowness of the project comes from people thinking the project is dead (which is not true--it's just that most of the development goes on quietly in CVS and the mailing lists). The other reason is that people think Objective C is a barrier to entry. This is a sad misconception since the language is far easier to learn than C++. If you know C and the concepts of OOP, you can pick it up in an hour or two, tops. MOSX and Cocoa have helped some but Apple isn't supporting Objective C like they really should (considering it's the official language for developing MOSX applications).

    4. Re:Goals and intentions? by Adnans · · Score: 2

      the only thing the server does is draw trapezoids (or triangles). Render is based on image compositing so it provides translucent images as well as anti-aliased objects.

      How far off are we to getting these basic operations hardware accellerated? I.e. what needs to be done still? For real translucancy I read that we need another X extension. Isn't it possible to draw each toplevel X window in an offscreen buffer (a la Quartz Extreme) and then use XRENDER to composite all these windows to the final root window?

      Thanks...
      -adnans

      --
      "In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people." --Linus Torvalds
    5. Re:Goals and intentions? by be-fan · · Score: 2

      Well, the NVIDIA drivers supposedly have pretty good support.

      --
      A deep unwavering belief is a sure sign you're missing something...
    6. Re:Goals and intentions? by g4dget · · Score: 2
      The other reason is that people think Objective C is a barrier to entry.

      It is. The object model of Objective-C is far simpler and more powerful than that of C++, but when it comes to memory management and exceptions, Objective-C is outdated and very cumbersome.

      Objective-C needs updating to address these issues. Unfortunately, nobody seems to be working on that. And that means that Objective-C will likely slowly drift into the sunset.

      For Apple, it makes a lot of sense just to throw in their lot with Java rather than develop a new language.

    7. Re:Goals and intentions? by Anonymous Coward · · Score: 0

      I'm guessing the goal and intention is to be able to render svg (or something like svg) quickly. Icon sets written in svg scale to any size at any resolution, and still look good, they are just slow to render...

    8. Re:Goals and intentions? by Art+Tatum · · Score: 2
      Unfortunately, nobody seems to be working on that.

      Nope. The GNUstep project has added a Garbage Collector. It's still experimental and will need some work, but it's there. And Apple is considering it as well. And the guy at Apple in charge of maintaining their gcc extensions is very chummy with the GNUstep crowd. There is work being done on merging the runtimes. It's just going to take a while for it to happen.

    9. Re:Goals and intentions? by Ian+Bicking · · Score: 3, Informative
      So, my understanding from what you're saying...

      The real relation to Postscript is that you're building all the graphical primitives into X (via the Render extension). But that's not related to Postscript the language, except that you could more easily build a Postscript interpreter that rendered to X, because you wouldn't have to write your own graphical routines.

      But what your adding is really on the level of Xlib -- primitive graphic operations that very few people write to directly. Instead there are programming layers -- widget sets, things like Tk's Canvas, or DPS/DGS -- that would access that low level. And presumably when these layers are updated to user the Render extension, our apps will seemlessly support the new graphics (though of course most won't know what to do with the resolution independence they've just attained, but in time that will change).

      Sounds very cool.

    10. Re:Goals and intentions? by Alexander+Malmberg · · Score: 2, Interesting

      The xlib based backend is still the primary backend, but there are alternatives: there's an experimental GhostScript-based backend, and there's back-art, which uses libart and freetype to render stuff. It's fully usable once compiled and configured (which is still tricky, but this is alpha stuff). Screenshots and source at http://w1.423.telia.com/~u42308495/alex/backart/ . (Disclaimer: I wrote and maintain back-art, and I use it exclusively.)

    11. Re:Goals and intentions? by CaptnMArk · · Score: 1

      In theory, this works, but it is purely of hack value (it was done a long time ago). It requires too much memory (unless you plan on having just a few windows open at the time).

      I wonder what would be the best alternative.

  19. Re:Gez. by Lenolium · · Score: 3, Interesting

    There is actually a great reason why X isn't dead. Extensions are that reason. The entire X rendering model was designed with no intention of surviving any more than five years, the original creators figured that by then, people would have subplanted their rendering model with a completely different one. This is a great plan, and allows for unlimited flexibilty later on, unfortunately, their original design worked well enough that noone has really bothered to change it. It has aged quite well, but needs to be replaced with a new rendering engine in order to even catch up with what is going on in the Apple world. I personally would like a complete widget set on the server side, programmers, being lazy, would use the built in widgets, and all of the sudden X would have widgets that all looked and felt the same.

    Mind you, I'm a pretty big fan of OS X, but that windowmanager in there is an abomination against mankind. With no virtual desktop support (except for third party kludges), windows constantly pile up, and digging through them is a pain. Hiding the icons for minimize, maximize and close until you mouse over the title bar is also something that Apple heavily recommends against in their style guide. The cheezy effects in OS X are nice for the first week, and afterwards, you just get sick of them, fortunatly you can turn most of them off.

    The thing I hate most about Quartz (even more than it's bloat) is the widgets. I don't want semi-transparent, gigantic pulsating buttons to work with, I want simple, flat and slightly tinted buttons, like Java has, give me that, and I'll be an even more happy OS X user (oh, and speed Macromedia Flash up to a reasonable speed, Apple's are supposed to be good at graphics, remember?).

  20. Is this a security hole? by jregel · · Score: 2

    Does this (and display postscript in the X server) present a security risk? As I understand it, X under Linux runs SUID, enabling stuff like DRI to access the hardware directly. Would it be possible for someone to write malicious code that ran in this environment as root?

    1. Re:Is this a security hole? by rjw57 · · Score: 5, Insightful
      This is a common misconception. With this you don't literally throw PostScript at the X-server. Instead this library presents a drawing and compositing API with similar semantics to PostScript (i.e. it is a stack-based protocol with elementary drawing commands such as 'MoveTo' and 'DrawTo'). All commands are issued via function calls however not by parsing PostScript (which would introduce a) a huge overhead and b) security questions as you said).

      True Display Postscript can be thought of as a rich-text version of the X11 protocol, there is little protocol-based computation which can be initiated on the server by the client, instead it simply encapsulates a set of vector and bitmap srawing commands within a consistant protocol.

      --
      Rich
    2. Re:Is this a security hole? by AndyS · · Score: 2

      If you put loops into the language, does this present a nice denial of service approach?

      Would there be a limit on how much code you could execute at once?

      It sounds like it could be potentially flawed otherwise, and yes, I know there are a number of flaws in X anyway (in terms of nasty things you can do) if you have a client connected to a server

    3. Re:Is this a security hole? by Adnans · · Score: 2

      If you put loops into the language, does this present a nice denial of service approach?

      I doubt you could force infinite loops in the drawing engine from any application. Clients are after all scheduled on the X server, much like regular processes are scheduled on the CPU. Of course if your client has a higher priority than all the other drawing clients you could effectively lock them out, but that implies having enough rights to gain lower niceness levels anyways.

      What I'd really like to know if this new drawing engine will allow us to do similar thing like Quartz Extreme. I would love to use the power that's locked into my Geforce4 for regular 2D (read: xterm) needs :-) My stomach always turns when I see l33t Linux pseudo transparant xterm's and KDE/GNOME widgets in screenshots...

      -adnans

      --
      "In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people." --Linus Torvalds
    4. Re:Is this a security hole? by Stephen+Williams · · Score: 1

      My stomach always turns when I see l33t Linux pseudo transparant xterm's

      So does mine, and I'm one of the people who uses them. As soon as something better comes along, I'll be one of the first adopters.

      I want translucent everything, with the partially-obscured lower windows also blurred a little, so the fonts on the lower windows don't get jumbled together with those on the upper windows.

      I've wanted extreme translucency ever since I saw the effect on Logan's computer in the first season of Dark Angel. (You know you're a geek when you watch Dark Angel for the tech).

      -Stephen

  21. NeXT and NeWS by Epeeist · · Score: 2

    Sun did something similar in the Network Extendable Windowing System (NeWS). This was in the days of the OSF. The OSF decided that X and Motif were the way to go and left Sun out on a limb with what, IMHO, was a better system.

    1. Re:NeXT and NeWS by antrik · · Score: 1

      X succeeded against NeWS, because X was free and NeWS wasn't. Kind of repeating story, isn't it? ;-)

      --
      All my comments get moderated +-0, spotless.
    2. Re:NeXT and NeWS by jlv · · Score: 3

      OSF didn't decide that X was the way to go. OSF picked a toolkit to write a standard specification for, so that people would write apps to that toolkit and expect it to work across platforms.

      That the toolkit was for X was because people were using X.

      NeWS was honestly ahead of its time, because it required 10x the computing power that was available at the time. I.e., it was SLOW. That, and the fact that it wasn't free (as mentioned above) were what sealed it's fate.

      I used NeWS1.0 on a Sun3/160 in 1986. I still remember the pain.

    3. Re:NeXT and NeWS by zaibutsu · · Score: 1

      My experience was just the reverse. NeWS absolutely flew on machines that ran X very slowly. Note that this was original NeWS not the later NeWS/X11 hybrid.

      A friend of mine claimed to have seen NeWS running on an Atari via a serial cable and said that also ran very fast.

      NeWS had an advantage in low bandwidth environments because the bulk of the client side could be downloaded and stored on the client for multiple uses.

      The other potential capabilities that I liked, but which were never developed, were that you could cut and paste graphics between apps and you could also have designed your UI using a choice of graphics design tools.

      I still hope that something like NeWS evolves to make use of the new graphics chips, when we are not busy rendering Hollywood movies that is :)

  22. Well then use Windows95 or Linux by HanzoSan · · Score: 1, Troll


    Why even talk about OSX if you dont like its best features? its eye candy and flash are what seperates it from linux.

    --
    If you use Linux, please help development of Autopac
    1. Re:Well then use Windows95 or Linux by zapfie · · Score: 1

      I hope you were kidding..

      --
      slashdot!=valid HTML
    2. Re:Well then use Windows95 or Linux by Lenolium · · Score: 1

      I strongly disagree.

      Eye candy is not a necessary feature of OS X. Eye candy is not what makes OS X great. What makes OS X great is that it is an extremely stable platform, with a great set of libraries and application programming standards so that everything works. That is what makes OS X so great, everything works, it's all easy to configure and setup, and you normally would never need to really touch anything. Being a UNIX just makes it all the better, and for those times that you want to go beyond what the happy-little configuration things will let you do, you have all of the power of UNIX to help you on your way.

      So remember boys and girls, OS X is about being a stable and simple platform, the eye candy is marketing, how else would you get everybody to rewrite all of their applications?

  23. beziers by siokaos · · Score: 4, Informative

    it's amazing that a mathemetician (two actually, decasteljau and bezier) came up with bezier curves to assist designing automobiles. their power is so incredible, like in this instance, they are still very common today.

    the decasteljau algorithm for determining what points on a bezier curve are is quite simple. the bezier curve takes four input XY pairs (p0,1,2,and 3), which is why they're called cubic beziers, as opposed to the similar three pointed quadratic spline (like the directional arrows on some atlases). anyways, getting back to the algorithm:

    ;check distance between p0 and p3
    ;if distance>threshold, print values

    ;Compute p01. (p0+p1)/2

    ;Compute p12. (p1+p2)/2

    ;Compute p23. (p2+p3/2)

    ;Compute P012 (p01+p12)/2

    ;Compute P123 (p12+p23)/2

    ;Compute P0123. (P012+P123)/2

    ;call DeCasteljau (p0,p01,p012,p0123)

    ;call DeCasteljau (p0123,p123,p23,p3)
    --
    so basically, one generates two pairs (left and right) of points, and a recursive call is made with each.
    .
    the implications of such a simple yet elegant system in 3d beziers is amazing. this site has many resources : http://www.daimi.au.dk/~mbl/cgcourse/wiki/curves_a nd_surfaces.html

    you may also want to check out
    http://www-unix.oit.umass.edu/~verts/software /software.html#BEZIER

    "bezeier madness", a beautiful bezier design program that 0wns windows paint.

    --
    http://siokaos.org/
    1. Re:beziers by Taos · · Score: 1

      This very algorithm is also a reason why as to only support beziers. Drawing a bezier in this manner is so quick, that it is usually quicker to convert another type of cubic curve to a bezier, first, then run it through this algortihm, instead of simply calculating the values brute force down the length of the curve. (I could show you the difference in number of calculations but I just crawled out of bed). But go ahead and use your b-spline curve. Before you send it to the render, convert it to a Bezier using:

      [1 4 1 0
      1/6 * 0 4 2 0
      0 2 4 0
      0 1 4 1]

      This is actually done in many graphics packages because it is that much faster.

      Taos

    2. Re:beziers by siokaos · · Score: 1

      could you give that in a better format?

      --
      http://siokaos.org/
    3. Re:beziers by Taos · · Score: 1

      that got kinda nasty didn't it. Anyways, it's:

      1/6 * [1 4 1 0 0 4 2 0 0 2 4 0 0 1 4 1]

      Look it up in Computer Graphics: Principles and Practice by Foley, Van Dam, Feiner, Hughes. If you are into CG and don't have that book, you need to get it. Sleep with it under your pillow.

    4. Re:beziers by siokaos · · Score: 1

      much thanks. did you check out the first link of mine?

      it was some research for a class I took this summer, the final project was to design a decasteljau bezier printing system in 100% ARM7 assembly, using the stack as a parameter passing mechanism (quite tough with recursion). I have the code if anyone is interested.

      --
      http://siokaos.org/
  24. GhostScript? by phr2 · · Score: 3, Informative

    I know that at least part of the design goal of GhostScript was to be a basis for replacing NeWS or Display PostScript, though people settled on X instead. Why reinvent the wheel now though? If you want a PostScript-like X extension, why not use GhostScript?

    1. Re:GhostScript? by siokaos · · Score: 3, Informative

      because ghostscript is a rendering system, not a nearly a new format. let alone the fact that it is severely lacking in the power of what's needed. I'm not even sure you could run fonts from a ghostscript spec ;)

      --
      http://siokaos.org/
    2. Re:GhostScript? by g4dget · · Score: 2

      This doesn't seem to be Postscript-for-X11, but a Postscript-like API callable from C. Think "Java2D for C".

  25. Re:XFREE matures GNOME by Anonymous Coward · · Score: 0

    i forget to mention that the listed items are programmed by gnome developers and implemented the way that only gnome can use them through pkgconfig.

  26. That's what I mean, who needs a new format? by phr2 · · Score: 3, Informative

    It seemed to me that NeWS was a good design--it added the obvious stuff to PostScript to use in a window system. It didn't take off because its implentation stunk and it wasn't free. But using Potsscript as the format seemed just fine. Any prob?

    1. Re:That's what I mean, who needs a new format? by spitzak · · Score: 2
      Actually the first implementation was pretty good. The second version (that most people saw) was seriously broken by an attempt to make it X11 compatable in a parallel way (rather than emulate X11 atop it like was first attempted).

      The real reason NeWS died was that the source code was not open. For $100 you could buy a tape from the X consortium and that gave you the right to produce your own version of an X server (note it was not free-as-in-beer, but "open", RMS would disagree about open because there were limits on what you could do with the code, but most people would call it "open".) I'm not sure what Sun wanted, but only SGI was able to afford it.

    2. Re:That's what I mean, who needs a new format? by g4dget · · Score: 2

      If you like that style of window system, it's still around and very popular: it's called Java. Same stack based architecture, same imaging model, only this time they got the threading and type checking right. And it's actually powerful enough to do real work on the display side.

  27. Why? by jukal · · Score: 2, Interesting
    As I, (and I believe 96 percent of /. users, atleast those date to say it), dont know even closely enough about this field to understand the reasoning for this development work,

    could someone in a clear and simple say how does this make the life of the developers easier? Why was is this done? I quess there was something that was previously harder to do?

    1. Re:Why? by jukal · · Score: 3, Informative
      I can answer myself now, as dmiller put it clearly in another thread:

      " In addition to the already-mentioned resolution independance. This API would allow an X server to implement hardware acceleration of the rendering. I don't know if any cards support acceleration of spline decompisition, but just about everyone supports hardware-assisted polygon filling, which means many fewer pixels go over the wire (or SHM segment). "

    2. Re:Why? by cduffy · · Score: 2

      It's not just a developer thing -- by pushing rendering client-side, this has the potential to make remote displays much faster for programs doing much more complicated graphics than can be represented with XDrawLines and such (as well as resulting in better display output and just generally being Good Stuff).

  28. Re:This will work fine by zapfie · · Score: 4, Interesting

    Horrible trolling attempt (one of the worst I've seen), but I'll bite..

    Yeah, cause they must have reverse engineered the whole PostScript spec.. it's not open or anything.. really...

    Jeez, give me a break- they aren't going to get in any more trouble than someone would for implementing HTTP and HTML parsing in a product. Adobe WANTS people to use PostScript. Hence the whole open spec thing.

    --
    slashdot!=valid HTML
  29. Re:NeXT and NeWS-Limbs by Anonymous Coward · · Score: 0

    I believe that it was Sun that sawed the limb out from under themselves not the OSF. Kind of like IBM and the Microchannel bus.

  30. Re:Gez. by JPriest · · Score: 1
    I don't want semi-transparent, gigantic pulsating buttons to work with, I want simple, flat and slightly tinted buttons

    Exactly! I think the rounded GUI of windows XP was a step back from 2k pro I don't like the way KDE and Gnome's defaut themes try to make things round, and I probably wouldn't like it in OSX, either. My idea of a UI is KDE's "Light style 3rd revision" flat, clean, fast, productive, and professional. The flat boxy UI is one of the things I like most about UNIX, it gives it an identity of it's own. It's a shame so many are trying to kill it.

    --
    Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
  31. I hope this have a better fate by Per+Abrahamsen · · Score: 5, Informative

    There have been several attempts based on GhostScript to produce a real postscript API for X11.

    1. Re:I hope this have a better fate by g4dget · · Score: 2
      Those are Postscript interpreters. This effort seems to be about creating Postscript-like APIs for a C library (paths, pens, curves, etc.), similar to what Java2D is for Java.

      Lots of people would like a Postscript-like graphics model accessible from C, very few people apparently want a Postscript interpreter to do their graphics (I certainly don't).

  32. it doesn't seem to be Display Postscript by g4dget · · Score: 3, Insightful
    As far as I can tell from the little information that there is, what they are doing is to provide drawing primitives similar to what you get in PostScript (or Java2D, for that matter) on top of XRender, using a C-based API. They don't seem to be reimplementing Display Postscript.

    That's good, as far as I'm concerned. The raw XRender interface is a bit primitive. Having a C-based API with PostScript-like drawing primitives will be really neat. That will make it much easier to get Macintosh-like screen-graphics without the mess and overhead associated with Display Postscript or Display PDF.

  33. Must be objective-c by vesamies · · Score: 1

    I think it's objective-c. Who writes apps in objective-c anymore?

    1. Re:Must be objective-c by psamuels · · Score: 1
      I think it's objective-c. Who writes apps in objective-c anymore?

      NeXTstep was Objective C - not sure if GNUstep is as well. In any case, what is wrong with Objective C? In the last 8 years since I first heard of it, I've never actually learned ObjC, but I've also never heard anyone say anything bad about it. Quite the contrary: people who use it seem to love it. They say it gives you an object-oriented abstraction as a conceptually lightweight extension to C, as opposed to the syntax city which is C++.

      Seriously - would anyone who does know Objective C care to comment? Is it a decent language? What does it bring to the table over C or C++?

      --
      "How can you claim that you are anti-crack, while still writing a window manager?" — Metacity README
    2. Re:Must be objective-c by Art+Tatum · · Score: 2, Informative
      Seriously - would anyone who does know Objective C care to comment? Is it a decent language?

      Yeah, it kicks ass.

      What does it bring to the table over C

      It's OO.

      or C++

      It doesn't make your brain melt. And it takes an hour to learn. And it's *real* OO. With messaging (in addition to methods, which are different) and dynamic typing and binding which really opens up wide possibilities for heavy runtime action. And no multiple inheritance. Instead, you get protocols and categories. It's kind of like Java in many ways, except that it isn't dog-slow (the runtimes have become pretty optimized over the years and there's none of that byte-code crap). Oh, and the other reason it's so fun is because of the damn fine OPENSTEP API (A.K.A. Rhapsody and Cocoa).

      Using Objective C and OPENSTEP is like having sex--it's just that pleasurable to work with.

    3. Re:Must be objective-c by antijava · · Score: 2, Informative

      I've been developing in ObjC for nearly 6 years now. The biggest advantages of ObjC is it's simplicity, and that fact that it is really dynamic.

      Some of the features that I like:

      Categories: This allows you to add a method to a pre-existing class without having to have source to it. For instance, if you think the NSString class should have a urlEncodedString method, just add it. Now all NSStrings will respond to this method!

      PoseAs: Even cooler. This allows a subclass to actually "pose as" it's parent. Normally a dangerous technique if you aren't careful, but it's an excellent way of tracing object interactions go or fixing library bugs.

      However, I still think that the coolest part (inherited from Smalltalk) is the dynamic dispatch architecture. For instance, you can implement a method named 'forwardInvocation:' That way, if any unknown message gets sent to your instance, it will first get sent to the forwardInvocation: method allowing you a 2nd chance at processing it. This is cool because you can redirect the invocation to another object and become a transparent proxy. This makes distributed object systems EXTREMELY easy to work with.

    4. Re:Must be objective-c by Anonymous Coward · · Score: 0

      Yes, ObjC kicks ass. There is only one thing that I'm missing: introspection.

  34. What is with the NextStep obsession? by Sanity · · Score: 1

    I have never understood this obsession people have with NextStep (WindowMaker, GNUStep, Afterstep etc). Sure, it looked nice at the time - but it is time to MOVE ON people!

    1. Re:What is with the NextStep obsession? by Anonymous Coward · · Score: 0

      Because there is no better framework for GUI.

      Apple understood that.

    2. Re:What is with the NextStep obsession? by psamuels · · Score: 1
      I have never understood this obsession people have with NextStep (WindowMaker, GNUStep, Afterstep etc).

      It's just another side of the coin where all non-NeXT-esque window managers and GUI toolkits look like either (a) Motif, (b) Windows 95 or (c) TWM/Athena. (Oh, and Open Look, but talk about ugly.)

      Then there are the polymorphic scripted window managers and themeable / skinnable GUI components which give you a choice between NeXT, Motif, Windows 95 and TWM/Athena.

      (:

      --
      "How can you claim that you are anti-crack, while still writing a window manager?" — Metacity README
    3. Re:What is with the NextStep obsession? by forgoil · · Score: 2

      I could say the same thing about MacOS (X), Windows, Linux, BSD ;)

      NeXTStep was a seriously spiffy and technically advanced OS that never really made it, but that spiffiness appeals to geeks. I admire NeXTStep, but I understand that a certain Steve Jobs killed it off (MacOS X is based on it though, let's see if Mr. Jobs kills that one as well).

      But porting APIs to *nix won't really make it into NeXTStep...

    4. Re:What is with the NextStep obsession? by Art+Tatum · · Score: 2, Interesting

      Because it's a lot more than how it looks. There's an excellent API as well. Oh, and nice software development tools too.

    5. Re:What is with the NextStep obsession? by pohl · · Score: 1

      The devoted window managers that you mentioned only replicate the chrome, but the appreciation for NeXTstep goes much deeper than that. While ahead of the hardware of the day, it's architectutre was an excellent balance for end users and software developers, while allowing the vendor to be responsive in dying market for system software. That it survived to become OSX is a testament to its design and implementation.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    6. Re:What is with the NextStep obsession? by rogueroo · · Score: 1

      I admire NeXTStep, but I understand that a certain Steve Jobs killed it off (MacOS X is based on it though, let's see if Mr. Jobs kills that one as well).

      NeXTStep was purchased by Apple, and Mr. Jobs assumed an interim CEO position. I don't think that quite meets the definition of "killed".

    7. Re:What is with the NextStep obsession? by AJWM · · Score: 2

      Um, you are aware, of course, that Steve Jobs, as the founder and CEO of NeXT, is responsible for NeXTStep existing in the first place?

      --
      -- Alastair
    8. Re:What is with the NextStep obsession? by Ian+Bicking · · Score: 2
      Your history is a little off. OS X is NeXTSTEP (reborn). And porting APIs to a *nix will make it a NeXTSTEP clone, because NeXTSTEP, just like OS X, was built off a BSD core. Obviously you don't get the trademark along with it, so it's just a clone :)

      There's distribution-level issues (filesystem layout and so on), but you can fake that if you need to.

    9. Re:What is with the NextStep obsession? by Anonymous Coward · · Score: 0

      if there's such a nice API and software development tools, why was nothing ever developed with it. And why is every application that was developed as part of it so primitive and un-user friendly.

      Is it just a coincidence that it was a brilliant platformed developed by people with no design sense. Like, for example, X?

    10. Re:What is with the NextStep obsession? by Art+Tatum · · Score: 2
      Your post was so full of misunderstanding that you are either woefully ignorant, or trolling, or both in all likelyhood. But in the interest of truth, I'll go ahead and deal with your points.

      if there's such a nice API and software development tools, why was nothing ever developed with it.

      Because plenty of stuff *has* been developed with it. You're just ignorant of them. For example, it has been heavily used in the intelligence industry and on Wall Street. And I'm sure you've probably heard of Mac OS X, right? Guess what the primary development platform is. You should check out Softrak and the peanuts FTP archive some time too. And maybe the OMNI Group and some others. Is there as much software as there is for Windows? No. Is that because MFC is a superior development platform? Pffffft. It's because Microsoft has the marketing muscle and lock-in advantage (and an awful lot of luck thrown in for good measure).

      And why is every application that was developed as part of it so primitive and un-user friendly.

      You've never used any of this stuff, have you? There are some quite attractive and usable applications out there. GNUmail is very nice, for instance, and was developed primarily by one author in a very short period of time. Are there poorly designed UIs as well? Of course. But that's the fault of those who design. And that happens everywhere--UNIX, Windows, Mac OS, BeOS, etc.

      Is it just a coincidence that it was a brilliant platformed developed by people with no design sense.

      I find it to be quite elegant looking. But at any rate, I was talking about the API. Y'know, stuff like Array and String classes and responder chains. Stuff you don't actually "see". How it actually looks is not set in stone. That's why Mac OS X looks completely different but is built on the same basic classes as OPENSTEP or GNUstep.

  35. Font de-uglification could happen? by Anonymous Coward · · Score: 0

    I'm so glad readin this, and I hope, that I'll hew nice readable screens on Linux. If you are using Latin2 character set, your application beacame ugly-look still, in nowadays. The use of ture-type fonts may help, but unfortunately, not all appplication can access these fonts, too. Other problem is about the printing issues. You may see nice fonts on the screen, bot you can't print them.
    I'd lie to see a unified API fro rendering text&graphic on screen and printer, both.

    1. Re:Font de-uglification could happen? by Anonymous Coward · · Score: 0

      Which applications can't handle truetype fonts?

  36. and even further proof by Anonymous Coward · · Score: 0

    that your an asshole.

    Obviously you don't understand what he is trying to say and could care less. While this in itself isn't bad (I don't undertsand what he said completely and I don't feel particularly inclined to research it) the fact that you hang out on slashdot just to insult intelligent people who actually have something interesting to say is pretty sad. If you dislike "linuxfags" and intelligent people than why are you on slashdot, a site geared mostly towards "linuxfags" and intelligent people with interesting things to say)?

    I'd like to think most of us come here to learn and share information , you obviously come here to insult those who come here for a legitament reason. Apparently you believe this makes you "cool" when in fact all it makes you is a STUPID geek as opposed to the majority (at least I hope) of us who are SMART geeks.

    So basically what I'm trying to say is: people like you are useless to everyone. Please shoot yourself now, or at least get a new hobby. Thank you.

    1. Re:and even further proof by Anonymous Coward · · Score: 0

      lol, whoops. What he has stated very elequently. Better?

      Oh, and I sleep during the day so :-P

  37. an Open Source Quartz? by linuxislandsucks · · Score: 1

    an open Source Qauartz?

    Please wake me up from this cool dream

    --
    Don't Tread on OpenSource
    1. Re:an Open Source Quartz? by Jobe_br · · Score: 1

      Probably not quite ... in theory, this will likely bring much higher quality rendering to XFree86, but in reality, it'll be a year or two before we see the fruits of their labor and even then, Quartz will still be more mature. But, don't compare Apples to Oranges ... Apple has quite a few engineers working on the Quartz component of OS X, comparitively, the only folks actively developing this are Keith and another guy ... big difference, right?

  38. Re:Gez. by forgoil · · Score: 2

    I used to have a ton of virtual desktops when I used Linux. I was wondering how I could ever live without them! I am now mainly using XP (and NT. 2k before that) and I find the taskbar and alt-tab to be just as easy to use and just as fast and virtual desktops. I have developed some kind of system where I remember what stuff I just used (alt-tab) and then I go to the taskbar for the stuff that I still have running but haven't used for a while.

    This is not "USE XP!", I am quite sure you can get it to work like this in KDE for example. I am just saying give MacOS X own system a chance for a while and stop thinking in terms of virtual desktops, you might end up liking it (or end up switching OS).

    The biggest reason I used virtual desktops was the 10+ xterms I had to have up all the time. I obviously don't have many xterms in Windows. Does you guys who use MacOS X use a lot of terminals? I'm just curious about how much of the BSD part of MacOS X is used by people.

  39. Big deal by Anonymous Coward · · Score: 0

    You can do just about anything you want (curve wise) with a cubic bezier curve. In fact, If I remember correctly, if you're clever you can even make a strait line.

    GO GO CUBIC BEZIER CURVES!

    recompile.org

  40. Re:Gez. by vorpal22 · · Score: 1

    If I'm not coding, I *may* have a terminal window open, just to muck around in now and then.

    If I'm coding, I'll have between three and six terminals open, but I don't find the lack of virtual desktops unwieldy in OS X. I simply hide applications I'm not using with Command-H, and then click their icon in the dock to redisplay their windows. Works fine for me and keeps my desktop fairly uncluttered.

  41. NeWS is back? by thogard · · Score: 2

    Great! now that I've got enough hardware to run postscript in real time, maybe its time to do this. Anyone else remember how slow a sparc station 1 was doing postscript? At least you had thouse cool round buttons. Too bad postscript has a real problem doing the shaded bar things that seem to be everywhere now.

  42. Re:Gez. by Jobe_br · · Score: 2
    Easy there. As you've stated, third party extensions will help ease your pain. Contrary to what you've stated, however, most of these aren't "hacks" - e.g. the implementation of virtual desktops are as valid an implementation of virtual desktops as in any Linux WM.

    For those looking for Virtual Desktops in OS X, look no further than Space.app, a GPL'd application that provides multiple desktops (configurable) and hotkeys to switch between 'em (also configurable). The concept of a "sticky" space is also supported.

    As for easing the clutter on the desktop, if virtual desktops alone don't do it for you, check out Windowshade X - this brings back the functionality of being able to double-click on the title bar of a window and collapse the window to just the title bar, as in OS 9 (and most Linux WMs).

    If you don't like the dock, get rid of it! As for the widgets, you'll be happy to know that the various buttons in OS X have been on Weight Watchers during Jaguar's development .. check out any of the screen caps at Think Secret to see the new buttons before Aug. 24th - while they aren't quite like the Java buttons, they are quite a bit slimmer and make the interface look quite a bit less like candy and more like a professional workstation.

    Cheers!

  43. Re:This will work fine by Jobe_br · · Score: 1

    Not to support the troll or anything, but, far as I know, if you're going to implement PS, you typically need to pay Adobe a licensing fee, even though the spec is open. This is partially why Apple went with a PDF-based display engine instead of a PS-based display engine, from what I've heard.

    I also believe that this is part of the reason why Ghostscript has different types of licensing, though its been a while since I've checked into that. I do know, however, if you want to be 100% compatible with Adobe PS (and use their compatibility logo to say so), you'll be paying some kickback to Adobe.

    Cheers.

  44. why wont you DIE?! by Anonymous Coward · · Score: 0

    why linger on X? please let us all move on to something good, reliable and that can be setup painlessly.

  45. Re:Gez. by Anonymous Coward · · Score: 0

    >>I personally would like a complete widget set on the server side, programmers, being lazy, would use the built in widgets, and all of the sudden X would have widgets that all looked and felt the same.

    Uhuh. Do you realize the security implications of the drivel that you just emitted? If you want to play that game then you had better do two things:
    1) scrap much of the X protocol and start over with one that's entirely based on security (probably at the expense of functionality)
    2) find some non-lazy programmers or else they'll castrate the security you tried to build into 1).

    I'd have expected a less stupid remark in light of the recent hullabaloo over stuffing events into privileged queues on M$ desktops.

  46. Space.app not up to scratch by acb · · Score: 2

    Unfortunately, when I tried Space.app, it wasn't good enough to be useful. For some reason (limitations of the OSX windowing model perhaps?) it allocates windows by application; i.e., all of an application's windows go in the same workspace. Given that on OSX, only one instance of any application is running at any time, this means, for example, that all your Terminal windows must be on the same desktop. This is not good enough.

    1. Re:Space.app not up to scratch by Jobe_br · · Score: 2

      Yes, I believe this is a limitation of the OS X windowing model. The largest limitation of this that I've run into is that when I'm running XFree86 alongside Aqua, all my XF86 applications appear on the same desktop, as Space.app controls the XF86 window manager as "one" application (OroborOSX).

      Even so, its quite useful ... I'll often have Moz, Dreamweaver, Imageready, terminal, BBEdit, etc. all on different desktopss and that reduces clutter quite a bit.

  47. Re:10 years lost by jg · · Score: 4, Insightful

    Actually, there is a fundamental difference between NeWS and what is being done in Render (and Carl and Keith's latest work).

    NeWS implemented postscript in a display server; Render is only implementing the imaging primitives in the X server (in this case, AA, alphablended trapezoids), leaving anything like Postscript (or pick your favorite other graphics library) to be implemented as a client side library.

    If you think Postscript is a good extension language (which NeWS was based on), you need your head examined. And machines of that era could not rely solely on a Postscript imaging model (insufficient display bandwidth available for imaging applications). What is feasible today on 1000 mip machines for applications is quite different than the 1 mip machines of that era.

    Now if you want an extension language in the X server, try something like Java: note that James Gosling saw the errors of his ways with that language.... It would make infinitely more sense than NeWS ever did.

    And yes, lots of time was lost: the UNIX vendors fought with each other for years rather than helping X move on. See my Usenix invited talk.

    http://www.usenix.org/events/usenix2000/invitedt al ks/gettys_html/img0.htm

    If you want to have something "better", either help the current efforts, or go write your own window system. Grousing about the current state of things when you aren't doing either isn't acceptable. Note that we have been learning from much research in the intervening time: Plan 9's window system is the basis for the render work; it has blazed the way for a much better imaging model with great simplicity and power.

    But I never believed NeWS was the answer (then again, I'm biased).

  48. Re:10 years lost by Anonymous Coward · · Score: 0

    Although he admits that he's biased, I'd like everyone to take a moment to recall the extent to which Jim Gettys profited personally, professionally, and financially from promoting X10r4 and X11 over NeWS.

    The arguments he presents here are specious and uninformed, quite typical of everything he's ever had to say about the topic.

    It's a lie that the Unix vendors wasted any time fighting over X vs. NeWS. Gettys (at Digital; remember Digital? This song's about Digital's pet tax writeoff^W^Wproject Athena at MIT) did a fantastic FUD run around all the innovations that NeWS had to offer.

    So fantastic, in fact, that Sun's marketing believed it and tried to kill the project by refusing to fully open-source it (all of the Postscript code was free, just not the interpreter/rendering engine).

    All sides behaved badly, but jg will always be remembered as the biggest (!) offender of all.

  49. MODERATOR ON CRACK, SOMEONE MOD PARENT BACK UP by Anonymous Coward · · Score: 0

    Who is the fucking dipshit moderator who modded the parent down as OVERRATED when it was at ZERO!?!?!

  50. CAN YOU GET JOBS' DICK FURTHER DOWN YOUR THROAT?? by Anonymous Coward · · Score: 0, Troll

    God Damn it, if I see one more post from HanzoSan about OSX, I'm going to puke.

  51. I hate Bezier splines with a passion... by Steve+Mitchell · · Score: 2, Informative

    I hate Bezier splines with a passion because they do not make intuitive sense. It makes more sense to use Catmull-Rom Splines where the control points fall on the line. It uses a simple parametric polynomial just like the Bezier, but unfortunately it lacks the subdivided-ness.

    Look into it.

    --
    -- Making computers see, hear, and think... http://www.componica.com/
  52. PostScript Everywhere, not by Animats · · Score: 3, Interesting
    PostScript was a good idea that lost out for a number of reasons, most of them political. Remember when Type I font format was a secret? Apple's fights with Adobe? Adobe pushed too hard, and we ended up with TrueType.

    Technically, a big problem with PostScript is that documents are programs. This means you can run them, but doing anything else (text extraction, editing) is tough. Even a PostScript viewer is tough; look at the GhostScript mess. Plus there's a security issue. Compare HTML, which can be usefully postprocessed in many ways.

    Because PostScript was flawed as a way to do anything other than print, Adobe came out with Acrobat as a way to ship documents around. Acrobat should have been unnecessary. And then there was the eBook format.

    It's annoying that we don't have a good open format for documents. This helps give Microsoft Word its dominance. Word is the cornerstone of the Microsoft monopoly. (A few days ago, someone pointed out that Word Perfect format is now open, but that happened a decade or so too late.) By now, we should understand the problem well enough that we should have a single format, or at least related formats, which are displayable, editable, and printable.

    1. Re:PostScript Everywhere, not by Anonymous Coward · · Score: 0

      Comparing PostScript to HTML is nonsense because PostScript and HTML serve completely different goals. HTML was not designed to describe layout, it is about structure. Whereas with PostScript, it is exactly the other way around: PostScript was designed to describe layout, not structure.

      As an obvious result, HTML is better at retaining structure than PostScript (and consequently allows for easier postprocessing). However HTML is almost useless for layout, when compared to PostScript.

      Ergo your claim that "PostScript was flawed" makes no sense. Flawed to do what? It isn't flawed at all. In fact, Acrobat (PDF) is basically a shorthand version of PostScript. Not surprisingly PDF suffers from many of the same problems as PostScript and has many of the same strengths.

  53. Re:Gez. by stripes · · Score: 1
    Does you guys who use MacOS X use a lot of terminals? I'm just curious about how much of the BSD part of MacOS X is used by people.

    I always have six, two local windows, the rest ssh'ing off to various places. I have them start on boot and always in the same order so clover-2 always brings me to my home server, and clover-6 to a local window, and I know what the other 4 are too. When I'm not using them I hit clover-H to hide them all which reduces the need for virtual desktops a lot (hide and hide others are very useful for dealing with clutter...but a giant display would be better).

  54. Re:10 years lost by jg · · Score: 1

    At least I'm not an anonymous coward...

    There were certainly wars over NeWS: SGI went with NeWS; and the subsequent GUI wars froze X development.

    I programmed Forth extensively: I therefore have an informed opinion about postscript (arguably postscript is a bit less ugly the Forth, but both have fundamental flaws).... I have great respect for James Gosling's work on Java...

    Sun's views on code/standards are well known: they like any they control. They tried this with NeWS by not making it available freely; it failed. The've been doing the same thing with Java, which has not succeeded the way it might have, due to this action.

    It is also the case that I said little about NeWS at the time: your claim of other behavior is not borne out by reality. There was, however, tons of mud being thrown by the companies in all directions, but very little of it from me...
    - Jim

  55. what? by Anonymous Coward · · Score: 0
    Okay I'll grant you exceptions, I guess. I wouldn't call exceptions in Foundation "cumbersome" exactly, but I guess I could see it that way.

    But memory management? gcc (and hence Apple's compiler) has had automatic garbage collection for YEARS now. POC has had automatic garbage collection (both Boehm and automatic reference counting) for even longer. I understand that many people don't use automatic garbage collection. Yes, that's too bad (not that manual reference counting is THAT bad). But to say that "nobody seems to be working on that" is nothing but a bald-faced lie.

    Like I said, it's unfortunate that nobody uses the garbage collection in gcc's Objective C implementation. Objective C will probably lose ground because of it. But people ARE working on this (actually to be accurate I should use the past tense -- people HAVE worked on this -- it is done, it is integrated into the compiler, it has been for years).

  56. So much verbiage, so few applications. by Anonymous Coward · · Score: 0

    Really; can anyone name a single X app which they really like and which exploits the power of X?

    No? I thought so.

    Yet everyone has an opinion and an attitude -- but nobody has an app which makes the most of X and which is a money maker?

    I know that they do exist; I have one, but I just want to find out if anyone else knows what to do with X.

  57. RMS is a member of the Free Software movement by jbn-o · · Score: 1
    (note it was not free-as-in-beer, but "open", RMS would disagree about open because there were limits on what you could do with the code, but most people would call it "open".)

    No, RMS would disagree with being cited in the context of the wrong movement. RMS is a member of the Free Software movement which stands for very different ideas. The Free Software movement has no problem with commercial software, a lot of Free Software is commercial. The Free Software movement has a problem with proprietary software. You have not given enough detail about the terms under which NeWS was available to determine whether it would be considered Free Software or not.

    1. Re:RMS is a member of the Free Software movement by spitzak · · Score: 2
      Sorry I confused the terms "free" and "open".

      As far as I know neither the way NeWS or the way X was distributed would be considered truly free by the FSF.

      I think getting access to NeWS required a very large amount of money and a NDA-style contract so I don't think anybody would consider this free.

      My understanding of X is that you were not allowed to do anything unless you paid the $100. I think this violates the rules of the FSF for a true Free software (because it limits the ability to redistribute the source code) but for a lot of people this would be considered reasonably free.

    2. Re:RMS is a member of the Free Software movement by jbn-o · · Score: 1
      My understanding of X is that you were not allowed to do anything unless you paid the $100. I think this violates the rules of the FSF for a true Free software (because it limits the ability to redistribute the source code)...

      Not necessarily--requiring a fee doesn't say anything about the redistribution of the source code. I've paid for Free Software before. My payment in no way hindered my ability to redistribute the software (or distribute a modified version of the software) at whatever cost I wished. I have successfully made money distributing verbatim and modified versions of Free Software.

      The Free Software movement is against proprietary software, not commercial software. Perhaps there was something else in the license that made the software non-free. Do you have a copy of the license you're referring to?

    3. Re:RMS is a member of the Free Software movement by spitzak · · Score: 2
      What I meant is that you were not allowed, for your $100, to redistribute the source code at all. You could compile your own version and distribute the binary. Anybody who wanted to look at the source code, even your version, had to fork over the $100. This is clearly in violation of what RMS considers correct, although others (including maybe me) consider it ok.

      I am not sure of the actual requirements of X, that is just what I seem to remember.

  58. Java in the X Server by Anonymous Coward · · Score: 1, Interesting


    Intresting development. I've written a version of
    Java that uses swing for the AWT implementation.
    It runs directly on top of XLib.
    See http://janux.sf.net theres even a screen shot
    of Netscape running in a JInternalFrame.

    The next version Jdk1.4 will embed the VM inside
    the X Server. This will provide the full Java2D api
    to applications. Also I plan to support SVG rendering on the desktop.

    I'm working on the graphics stack issues right now
    Keiths work could prove very useful. Thanks for the article.

    Michael Emmel
    memmel2@yahoo.com

  59. That's why Acrobat/PDF by jonabbey · · Score: 3, Informative

    The PDF format is essentially PostScript with the ability to execute code removed, and a declarative syntax in its place (see http://www.rlg.org/preserv/diginews/diginews5-1.ht ml#feature2 for details).

    The PDF file format is open, and many tools have been written to use it without involving Adobe.

  60. Re:XFREE matures GNOME by Anonymous Coward · · Score: 0

    why is this beeing marked off topic ? it gives real information how much xfree is beeing influenced by these gnome fags.

  61. Re:This will work fine by WWE-TicK · · Score: 1

    So Adobe requires that you pay a licensing fee for PS but not for PDF?

  62. OS X ain't so great by dwater · · Score: 1

    I was wondering why everyone was praising the GUI on OS X...like you say, it's nice for the first week or so, but the novelty wears off pretty quickly.

    There are two main things I dislike :

    1) click-for-focus - I have been working on computers for over a decade and never had to do this (was able to configure focus-follows-mouse or it was already that way).

    2) resolution dependance - what is all this talk of resolution independance? When I increase the size of the framebuffer, all the icons get smaller. That is resolution *dependant*, not *independant*. The icons should remain the same size, but become smoother. Using high-resolution displays means I'm squinting to see the text and icons, and I end up having to put up with a lower resolution and lower quality text and icons. Also, when you have more than one screen, and they are different resolutions, the mouse keeps getting stuck at the edge of the larger one where it doesn't join the smaller one; if they were resolution independant, the top and bottoms of both screens would match!

    3) (yes, I know I said 2) The menu bar always at the top of the screen. I wasn't sure about this when I started using OS X, and I've now decided it's a pain in the butt. Ever used more than one screen on your Mac? Even though your app's main window is on the second screen, the menu's are still on the primary screen. How brain dead is that?

    4) can't remote display - it doesn't work with other systems which is a pain. I know OroborOSX does a fair job (especially since it's free), but it doesn't work perfectly (try x2x with another machine running X), and cut & paste doesn't work with Mac windows (unlike Citrix which works fine with Mac windows).

    No. Mac OS X's GUI is a pain in the butt to use. I would consider a different one, if the apps I have would use it. But is there really a choice?

    The things (GUI/Window Manager/whatever they are) seem to have been going backwards in functionality. NeWS seemed to have it right IMO; but that was replaced by X which lost the resolution independance (but gained remote display).

    --
    Max.
  63. Apparently... by karmawarrior · · Score: 1
    ...a rival project is working on a cheaper version, called XrPCL5e...

    I'll get my coat.

    --
    KMSMA (WWBD?)
  64. Re:This will work fine by Jobe_br · · Score: 1

    Yep, that's my understanding of it. PDF is a truly open spec, whereas PS only seems to be. This is probably because you cannot *print* a PDF directly (i.e., no PDF printerss exist). So, Adobe gets licensing from printer manufacturers that want to provide Postscript capabilities in their printer. You need a Postscript compiler/interpreter within the firmware of the printer to be able to print Postscript documents ... and I imagine that if printer company X wants to say "our printer is a postscript printer" they'll have to pay Adobe!

  65. Re:This will work fine by some+guy+I+know · · Score: 1

    From page 10 of the PostScript Language Reference Manual (2nd ed):

    "[...]Adobe gives permission to anyone to [...] [w]rite software to interpret programs written in the PostScript language."

    --
    Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
  66. Maybe ill learn objective C, by HanzoSan · · Score: 2

    C++ sucks, I'll never like it as a language even if its powerful.

    --
    If you use Linux, please help development of Autopac
  67. Re:This will work fine by Jobe_br · · Score: 1

    I distinctly recall hearing that one of the reasons Apple decided to use a PDF based display instead of a PS based display (ala NeXTStep) was for licensing reasons.

  68. Nickle by Anonymous Coward · · Score: 0

    Just what we need, another goddamn programming language!! Why does everyone and his brother think they need to write their own programming language? Stupid! Now everyone who uses this software will have to download some obscure programming language just to run it.

  69. postscript is for printing! by Anonymous Coward · · Score: 0

    just because Steve Jobs doesn't know that doesn't change it. An 8 1/2 x 11 inch sheet of paper doesn't change. If we want that kind of uniformity in video display we can always go back to 80X25 monochrome.

  70. Re:CAN YOU GET JOBS' DICK FURTHER DOWN YOUR THROAT by HanzoSan · · Score: 2

    no i think ill go down on jobs one more time for the hell of it
    YUM!

    Billy you are next!

    --
    If you use Linux, please help development of Autopac
  71. But why postscript? by wfrp01 · · Score: 2

    A vector graphics display API sure, but why postscript? Why not an open standard, like SVG?

    OK, so you can dump your screen to your (postscript) printer. Would there be problems accurately converting SVG to postscript?

    Why should the printer drive the display anyway - isn't the tail wagging the dog? Is the argument that technology should adapt to the device capable of producing the highest fidelity output?

    Maybe it's also time for printers to start speaking SVG.

    --

    --Lawrence Lessig for Congress!
  72. Distributed PS - NeWS - Oak - Java by porttikivi · · Score: 2, Interesting

    Yes, it is interesting to note James Gosling's software history. I was a HUGE fan of NeWS at the time. (That has been one of the three elegant things in computers I ever loved passionately, others being Modula-2 and Plan 9 /Inferno.

    First he and others at Sun thought PostScript is an elegant interpretable general purpose language, why not send that to GUI clients to offload arbitrary GUI widgets -- or any code -- from servers? Just add input handling and host communication to PS. You also get better vector/pixel/font/colour model than the hackish X. Vector graphics NeWS windows and fonts could be arbitrarily scaled and still use all resolution you have, i.e. on printers.

    They even built a nice event model as PS widget libraries, where stacked dictionaries were an elegant inheritance mechanism.

    When NeWS failed as a distributed window system (I think because Adobe destroyed that clone of PS with anti-Sun politics and their own inferior and competing DisplayPS), Gosling became soft for complaints about non-conventionality of PS stack syntax. He threw away the PS syntax and ran away from the GUI wars dropping the graphics part, but kept the idea of distributing interpretable system modules as NeWS intermediate code. NeWS did PS -> pseudocode, now his new language, first called Oak and then Java, compiled to a similar pseudocode.

    So sad. NeWS lost so much possibilities and elegance when it became Java, and gained nothing excpet a new language syntax (that I hate, like I hate C++).

    Note that NeWS server application were language neutral so that no matter what language you wanted to use on the server, you just wrote your widgets as PS text (or precompiled pseudocode) to the clients at initialization and later on demand by the client when first needed.

    --
    Anssi Porttikivi / app@iki.fi
  73. Re:Gez. by hymie3 · · Score: 1

    J Cherryh wrote "Life, it goes on, you know?" (erm, pardon, dont remember the name of the book, but can describe the cover)

    (replying here because apparently uu.net is blacklisted here at work)
    I want to say that the book was Cyteen, but it might have been Rimrunners.
    Sorry for the long delay in replying.

    What font do you use for your terminal windows? The default font give me hideous eyestrain after about twenty minutes; I'm still searching for terminal settings on OSX that I can use long-term.

  74. Re:Gez. by stripes · · Score: 1
    I want to say that the book was Cyteen, but it might have been Rimrunners.

    I can't say I remember the quote...but it has been a while since I read those books, rimrunners in particular was a long time ago.

    (erm, pardon, dont remember the name of the book, but can describe the cover)

    Please do, I know where my copy of Cyteen is.

    What font do you use for your terminal windows? The default font give me hideous eyestrain after about twenty minutes

    I think it is the default, Courier 14.0 pt. On the TiBook LCD it doesn't give me eyestrain, but I do have a second set of glasses for "close up" work (focus to about 4 feet).

    I'm still searching for terminal settings on OSX that I can use long-term.

    Well if you still can't find a set you like, you might think about shelling out $15 or $20, whatever it is for GLTerm which can use normal X fonts so you can use whatever you like on Linux/FreeBSD/SunOS/whatever. Or, you know, make it your first OSX program :-)