Slashdot Mirror


Perl Carbon/Cocoa Bindings on Mac OS X?

gigawattwarlock asks: "As an almost new Mac OS X user (I've been adminning my wife's Mac for a while now), I am used to writing Perl scripts for her Mac, which work just fine. Simply put, I have become spoiled with the GTk bindings for Perl on Linux. I love being able to use and abuse a robust GUI, quickly and easily. And to make matters worse, I find the Aqua interface near addictive ... enough so that the idea of installing another desktop environment (KDE, Gnome, et. al) just seems a little silly, and a bit of overkill, to me. Does anyone know if there are any perl bindings in the works for Mac OS X or maybe even an already existent alternative graphical library or interface within Mac OS X?"

57 comments

  1. camelbones by Fiery · · Score: 5, Informative

    Here's a project that's doing this. They seem to have functioning code, too.

    1. Re:camelbones by tim1724 · · Score: 2

      Camelbones works pretty well, but the documentation is nearly non-existant, unfortunately. But if you've used AppKit and Foundation from Objective-C (or Java, I suppose) then it shouldn't be too hard to figure out from the examples.

      I made a few simple test programs and didn't have any trouble, but I have a feeling that some of the more esoteric bits of Cocoa might not work too well.

      The PerlObjective-C bridge is pretty good. Perl is pretty well suited for interacting with Objective-C (better than Java, certainly) due to its dynamic nature.

      --
      -- Tim Buchheim
    2. Re:camelbones by bsartist · · Score: 2

      Camelbones works pretty well

      Thanks, I'm glad you like it.

      the documentation is nearly non-existant, unfortunately.

      Guilty as charged. All I can say is, I didn't think very many people were interested in it; I can count the daily hits on the project page with one hand. Seems like the interest level is higher than I thought, though, so I'll get off my lazy ass and write more docs, pronto.

      --
      Lost: Sig, white with black letters. No collar. Reward if found!
    3. Re:camelbones by diverman · · Score: 1

      I would certainly like to see more about this project. I didn't even know it existed until this post. Would love to see some screen shots on the main page. I would even be interested in helping a little, if need be (and time permits).

      -Alex

    4. Re:camelbones by @madeus · · Score: 1

      Guilty as charged. All I can say is, I didn't think very many people were interested in it; I can count the daily hits on the project page with one hand. Seems like the interest level is higher than I thought, though, so I'll get off my lazy ass and write more docs, pronto.

      Please do, I've had it installed for a while now, and am very happy with it!

  2. "Ask Slashdot" in disguise--use question mark! by Arrgh · · Score: 1, Troll

    Hey, for those Ask Slashdot-style question stories in non-AS categories, could you guys please try to remember to put a question mark in the title?

    An announcement of a Perl binding for Cocoa is somewhat interesting to me, but in general AS's aren't.

  3. Perl 6 is a mistake by Anonymous Coward · · Score: 0, Offtopic
    I've been using perl pretty much constantly since the Pink Camel, and believe me, Perl 5 is an extremely good language for quick scripting things. That's what it was designed for. Sure, you can do big projects in it, but it's not exactly ideal. Recently I've started using Ruby as well, and I intend to move my department over to it instead of wasting time with Perl 6.


    One of the goals of Perl 6 is to make non-trivial projects possible. That's good. The way it's being done is bad. Perl was once a lightweight, extremely flexible language. Now it's become a huge ugly monster. People wanted OO, so a nasty hack was bolted on top to allow some semblance of it. Now this nasty hack is being expanded. Sure, the code's different, but the basic form is the same. Kludge upon kludge upon kludge; I'd much rather have a nice, clean, pure language (and not one with loads of irritating whitespace thankyou very much).


    The same goes for the syntax. All the switching between $, @ and % is really irritating (ask a newbie how to get at the length of the keys array of a hash inside a hash, for example), and the changes proposed for 6 are just making this worse -- it seems that Larry, in his infinite wisdom, wants to prefix every data type with a different hard-to-type character. Perl was only designed for the three data types, and adding more is a mess.


    Perl 6 is a complete rewrite, but it keeps all the mess which has accumulated over the previous versions. This is not good. Sure, my const int $var = 27; may look neat (in the same way that, say, Pascal does), but $var isn't entirely constant, or entirely an integer, it's just a hack which makes it sort of behave like one. The whole thing is an exercise in pseudo-computer science masturbation with little real purpose except to please the managers who dislike the one thing that makes Perl special.


    On a similar note is regexes. I'm an avid fan of regular expressions simply because a nondeterministic finite automata is far more flexible than linear code. However, Larry must have been smoking that cheap $2 crack when he wrote this. Does he want Perl 6 to be flex or something?


    I won't be going on to use 6. It's a nice idea, but it's completely unnecessary. It won't make large projects any easier to manage (the language is still, at heart, an almighty hack -- an impressive one, but still a hack). It won't make OO any cleaner. It won't make development any faster. To put it bluntly, Perl scripts will still look less beautiful than our friend Mr Goatse. I'd prefer to use a language which has always been pure synthesis of science and engineering, not some half-baked imposter.


    Perl 6 will be nice, but I'm guessing it will be the end of Perl. It can't do what it wants to do whilst still being based upon a nasty mess. There are now other options, which provide all of Perl's power and none of the mess. Sorry, but *BSD, erm, Perl is dying. Larry is buggering it up the ass without lubricants, just like Shoeboy is doing to Larry's daughter.

  4. Just use Objective C by foobar104 · · Score: 5, Informative

    Yeah. There are several, in various stages of incompleteness.

    But why don't you just read the tutorial and learn to program Cocoa with Objective C? Programming Cocoa apps with Objective-C, using Project Builder and Interface Builder, is, I dare say, easier than writing Perl scripts that call Cocoa functions would be. You don't even need to be terribly familiar with C to write simple apps.

    Don't get me wrong. I love Perl as much as the next guy. But I don't like writing GUI code. It's a pain in the ass, no matter how nice the programming language might be. The combination of Interface Builder and Objective C makes whipping up little Cocoa apps easy as pie, and fun, too.

    You can find the Objective-C Cocoa tutorial in PDF form here. It's also included with the OS X developer's tools under /Developer/Documentation/Cocoa/ObjCTutorial.

    1. Re:Just use Objective C by BitGeek · · Score: 3, Informative

      Please mod this parent up, its NOT off topic.

      The reason is this: Getting access to perl code you've written or integrating perl with an Obj-C API is really easy using this method.

      If you write an application in Obj C (or Java-- actually Java would be my choice) you get to use interface builder to build your UI-- this is the best/fastest way to build a great UI. Then, its a simple matter of linking that UI to the perl scripts you've already written.

      This can be done in a number of ways, the most explicit being to simply call the shell from within your ObjC application.

      ObjC (despite my prior prejudice against it) is turning out to be a pretty decent and relatively easy language to learn. And, of course, when you consider Interface Builder its the best way to build an interface for any language-- just write minimal ObjC to tie your buttons, etc, to the bulk of your code.

      I imagined you'll spend 3 hours learning the ObjC stuff and then be back on your way programming-- and actually get more productive than if you have a Perl Aqua UI to work with because it would be slower to specify that Aqua UI in Perl using the custom API (than using Interface Builder.)

      So please, mod this parent up-- essentially the "bridge" is already there, its just "unconventional". Not "offtopic".

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
    2. Re:Just use Objective C by foobar104 · · Score: 1, Offtopic

      Kick ass! I have a defender!

      Everything is proceeding as planned... mwah-ha-ha.

    3. Re:Just use Objective C by Elian · · Score: 1

      I'd definitely use Objective C over Java for Cocoa code--it meshes much better with the way Cocoa works, which isn't much of a surprise.

      Still, you can use the Interface Builder with CamelBones. It's possible to build a fully GUI based app entirely in perl.

    4. Re:Just use Objective C by piggy · · Score: 1

      Actually, for scripting, I think that AppleScript and AppleScript Studio are perfect for building quick GUI apps. In addition, the "do script" AppleScript command allows you to run any other arbitrary script file, including Perl.

      As you pointed out, Interface Builder is wonderful; use Perl through AppleScript Studio.

      Russell Ahrens

    5. Re:Just use Objective C by bsartist · · Score: 2

      using Project Builder and Interface Builder, is, I dare say, easier than writing Perl scripts that call Cocoa functions would be.

      Yes indeed it is! That's why I included support for PB+IB in CamelBones from the start - because I hate writing GUI code.

      --
      Lost: Sig, white with black letters. No collar. Reward if found!
  5. Ask Pudge! by 2nd+Post! · · Score: 5, Informative

    Have you looked here?

    Pudge has a site with lots of Mac+Perl info and projects, including a link to this, a tool to connect Perl to the Apple Event model.

    Of course this begs the question why you haven't already looked at AppleScript Studio and AppleScript, which allows you to script the OS and many of it's Apps?

    This snippet allows me to start my apps when I get into work:

    tell application "ICQ 3.0X"
    activate
    end tell
    tell application "AOL Instant Messenger (SM)"
    activate
    end tell
    tell application "Yahoo! Messenger"
    activate
    end tell
    tell application "Microsoft Outlook"
    activate
    end tell

    It's not particularly complex nor instructive, but AppleScript is full featured and extensive. I have a cronjob run an AppleScript in the mornings, where the AppleScript opens iTunes, opens a playlist, and then start playing, as my alarm clock!

    tell application "iTunes"
    play user playlist "Sweet-Sad"
    play
    end tell

    1. Re:Ask Pudge! by Mikey-San · · Score: 0, Flamebait

      And if all you're doing is starting an application, it gets easier:

      tell application "ICQ 3.0X (sick, man. sick.)" to activate
      tell application "AOL Instant Messenger sucks ass, try Adium" to activate
      tell application "Yahoo! Messenger (how many friggin chat apps do you NEED?)" to activate
      tell application "Microsoft Outlook (what, you were expecting a Eudora joke?" to activate

      --
      Mikey-San
      Karma: +Eleventy billion (mostly affected by watching Celebrity Jeopardy)
    2. Re:Ask Pudge! by 2nd+Post! · · Score: 2

      Work, man, I don't get a choice. The firewalls and stuff restrict me to what apps I run at work.

      At home it's Eudora, Netscape, and Fire.

      But thanks anyway, I was hoping to make a more complicated script eventually, with if-then-else clauses and logon if already active and do nothing if active *and* logged on, etc.

    3. Re:Ask Pudge! by Anonymous Coward · · Score: 0

      Proteus is much better then Fire.

    4. Re:Ask Pudge! by Anonymous Coward · · Score: 0

      Proteus is much better then Fire.

      Bzzt. Oh, I'm sorry. If you'll please follow beautiful Linda backstage, where we have some lovely parting gifts for you, including a year's supply of Rice-a-Roni ("The San Francisco Treat!TM") and the home version of our game.

    5. Re:Ask Pudge! by ProfKyne · · Score: 1

      Why not just select these items from System Preferences -> Login?

      They'll load up automatically when you log into your account.

      (Of course you can do a lot more with AppleScript, like the alarm clock idea)

      --
      "First you gotta do the truffle shuffle."
    6. Re:Ask Pudge! by 2nd+Post! · · Score: 2

      Cause I don't log out.

      I guess I *could*, but I usually just close the screen and go home, open the screen and fire up my AppleScript

  6. CamelBones! by Elian · · Score: 0, Redundant

    CamelBones is the way to go. Full perl bindings to Cocoa, the ability to build standalone apps, and full integration with Project Builder and Interface Builder. It's sweet, and well worth fetching.

  7. O'Reilly book on Perl/Cocoa coming soon? by wka · · Score: 2, Informative
    From the preface to Building Cocoa Applications: A Step-by-Step Guide, (page xviii, after mentioning an upcoming book on Cocoa and Java):
    "(And for those interested in writing Perl applications for this new platform [OS X], watch for Programming Cocoa Applications with Perl, also coming soon from O'Reilly.)"
    Note: I don't see anything about this on O'Reilly's new and upcoming book list, so it's possibly quite a few months off.
    1. Re:O'Reilly book on Perl/Cocoa coming soon? by Elian · · Score: 2, Informative

      Yep, a while off. A few chapters done, and more to come. (Sez the man feverishly writing the thing... :)

  8. jaguar by Anonymous Coward · · Score: 4, Informative

    I wouldn't put too much work into your own solutions...

    Perl-Objc bindings are included in jaguar.

    See: Library/Perl/darwin/PerlObjCBridge.pm

    1. Re:jaguar by Elian · · Score: 2, Informative

      This doesn't work at all well. Tried it, no joy. The problem is that Cocoa only works with real, honest-to-goodness applications, and you have to load the frameworks in the right order.

    2. Re:jaguar by bsartist · · Score: 2

      Perl-Objc bindings are included in jaguar.

      Yes, but they only work well with Foundation classes, because they're implemented as a module that gets loaded into a traditional Perl script. AppKit depends pretty heavily on being surrounded by an application bundle, I'm afraid.

      CamelBones is implemented as a framework that gets linked into an application, and lets you build your GUI with Interface Builder. On the other paw, it can't be loaded into a standalone script as a module; like AppKit, it requires an application bundle.

      The two products are addressing different problems, really; which one will be more useful to you depends on what you want to accomplish.

      --
      Lost: Sig, white with black letters. No collar. Reward if found!
  9. YES by Anonymous Coward · · Score: 0

    There is something coming, reportedly from an Apple engineer actually. He wrote a little hack so he could do it himself, but he claimed it was not release quality. There are plans to step up official perl integration, but no timeline.

  10. F-Script by tarzan353 · · Score: 1, Informative

    Another great way to interact with Cocoa apps is F-Script and F-Script Anywhere.

    I know it's not exactly what the asker was looking for, but AS and Perl have already been discussed in detail. F-Script offers a different type of scriptability.

  11. Re:Apple: OSX Now available for Intel by SIGFPE · · Score: 1, Offtopic

    I'm sure this is a troll but I'll bite anyway. Darwin is available for Intel and Darwin is what MacOS X is built on. But you knew that anyway...

    --
    -- SIGFPE
  12. use python w/ native mac GUI or Gtk/Qt on mac X by Splork · · Score: 3, Informative

    python apparently has excellent macos X gui support. (i don't pay the apple tax myself so i can't judge first hand). on top of that you should be able to use anything with Qt or Gtk bindings using X on the mac (python and perl both have good bindings there).

    [and before any perl weenies mod this down because i said to use a different language: grow up!]

    1. Re:use python w/ native mac GUI or Gtk/Qt on mac X by bsartist · · Score: 2

      python apparently has excellent macos X gui support.

      I haven't actually *created* anything using PyObjC, but I did learn quite a bit about the inner workings of the Objective-C runtime by studying the code. I'd go so far as to say that I couldn't have written CamelBones without first studying the PyObjC bridge - there's some stuff in there that I still haven't seen documented anywhere. So, as far as my own limited exposure to it goes, I'd say that yes, Python's support for Cocoa is very good.

      I agree with the other part of your post, too - the more options that OS X programmers have, the better. Language bigots need to grow up.

      --
      Lost: Sig, white with black letters. No collar. Reward if found!
  13. Perl and Mac OS X Graphics in general... by The+Ogre · · Score: 1

    need a lot more work before prime-time. This is nothing to do with OS X per se, and not all that much to do with Perl - it's the bindings between the two that need work. I've spent some time trying to track down the status of all of the various ways to do Graphics (GUI and just plain old drawing) in Perl under OS X, and none of them are ready for prime time. (My Mac.com homepage has details I won't go into here - http://homepage.mac.com/bortels if you want to get into sad detail.

    Having said that, if you're *very* familiar with Cocoa already, and are looking more towards GUI and not so much towards video-games, Camelbones is the leading suspect right now. I personally found it confusing, and you need to do development in the Apple Project Builder for the most part, but it has one key thing going for it - it works, and there's sample source.

    (I'm personally on the video-game quest - I want to be able to say "use GLUT", and go nuts, without an IDE getting in the way. But I digress...)

    The Sourceforge page for Camelbones is here: http://sourceforge.net/projects/camelbones/

    A homepage discussing Camelbones (but seemingly not up-to-date - it talks about 0.1, but 0.2 is available) is here: http://camelbones.sourceforge.net/

    -- Tom Bortels

    1. Re:Perl and Mac OS X Graphics in general... by Anonymous Coward · · Score: 0

      From your very own web page:

      And don't even *mention* the silly thought of some hybrid C/Perl thing - if I wanted to program in C, I'd do it, not perl.

      Did I miss something? Can *anyone* make a perl app under OS X that can, say, blank the screen and draw lines? Are my hopes of writing the next great arcade game in perl hopeless?


      Not hopeless, dude. Just really, really pathetic.

    2. Re:Perl and Mac OS X Graphics in general... by The+Ogre · · Score: 1

      Pathetic? yeah, maybe.

      But it can be pretty:

      http://www.frozen-bubble.org/

      That's Perl and perlsdl.

  14. Re:Apple: OSX Now available for Intel by Anonymous Coward · · Score: 0

    Whooooosh...

  15. More Resources by pudge · · Score: 5, Informative

    I meant to respond earlier, but didn't get the chance. There are several ways to go about this. One is to the oft-mentioned CamelBones, which is in initial stages, but is a great start for Cocoa bindings. For Carbon, there is a vaporware project I've played with, a SWIG-based glue for Perl, Python, Tcl, Ruby, and maybe more, and more details of it will be forthcoming when it's ready.

    Right now there is also the Carbon-based MacOSX::File, which offers much of the same functionality as the Mac::Files module included in MacPerl, and there is OSXMacPerl, a basic clone of the MacPerl module (DoAppleScript and more are provided).

    And some day I would like to port the Mac:: modules to Carbon, if I get the tuits.

  16. Re:Apple: OSX Now available for Intel by twiztidlojik · · Score: 2, Interesting

    You, my friend, do not belong at slashdot. Just because someone ported a kernel and some low-level tools to the Wintel platform, it doesn't mean that it comes with:
    Drivers
    a GUI
    Carbon support
    Cocoa support
    Framework support
    OS 8.6+ support

    or anything else that comes with OS X. In other words, you can't run, say, iTunes in Darwin for Intel/AMD. I would hope that the Slashdot community would know that a kernel is not all that an operating system is. You, obviously, cannot tell the difference.
    This would be analogous to say, building a house. Suppose you could make a foundation for a house in a flat, grassy area and build a house on it. This would be OS X. Now, let's say that you could take a barrel of concrete and pour it down a sheer cliff. This sloppy, messy, incoherent splatter would be Darwin for Intel/AMD. Yes, it would be concrete, and yes, it might even mold itself into a semblance of a foundation. BUT , you cannot build a full-fledged house on a sheer cliff with a small, globular, spattered foundation that may not even be in one specific area!

    --
    I will now redundantly add my name to the end of my post. You know, in case you forgot me or something.
  17. Not exactly Perl, but by greygent · · Score: 1

    Apple has ported TCL/TK to Aqua natively (ie: no X11 needed), it's somewhere on their Apple Developer site. Sorry, I can't dig for a link right now, I'm about to head out.

  18. Use Ruby with RubyCocoa by NikWest · · Score: 0, Troll
    not exactly what you have asked for, but as I like ruby a lot better than perl you might want to give it a try.
    Ruby is much more object oriented and fits perfectly to Cocoa/ObjC.

    http://www.ruby-lang.org

    and for the Cocoa bindings:

    http://rubycocoa.sourceforge.net/

    Greetings NikWest
    1. Re:Use Ruby with RubyCocoa by rjamestaylor · · Score: 2
      As I read your post I imagined your response to another request...
      [Dying Man]: Can you call my priest? I need to get right with God.

      [NikWest]: [Hands the man a Playboy and some Kleenex]
      Not exactly what you have asked for, but as I like masturbating a lot better than praying you might want to give it a try.

      Has it ever occured to you that when someone asks for an apple they want an apple and not your opinion of oranges?
      --
      -- @rjamestaylor on Ello
    2. Re:Use Ruby with RubyCocoa by foobar104 · · Score: 1, Flamebait

      Has it ever occured to you that when someone asks for an apple they want an apple and not your opinion of oranges?

      Dude, Ask Slashdot (which is what this is, no matter how it was filed) isn't supposed to be a search engine. If all the poor guy wanted was a list of Perl/Cocoa bindings, he could have used Google.

      The great thing about Ask Slashdot is that you get opinions, editorials, and suggestions for alternatives.

      And then, of course, you get guys like yourself who moderate suggestions off-topic, or who post vulgar messages complaining of same.

      :sigh: Just relax a little, and let the free flow of ideas wash over you.

    3. Re:Use Ruby with RubyCocoa by rjamestaylor · · Score: 0, Flamebait

      I didn't moderate. I commented. Big difference. And I signed it.

      If *you* weren't so uptight you'd have thought the analogy somewhat funny.

      --
      -- @rjamestaylor on Ello
    4. Re:Use Ruby with RubyCocoa by foobar104 · · Score: 2, Flamebait

      If *you* weren't so uptight you'd have thought the analogy somewhat funny.

      Um... except it wasn't. It's only funny if it's both witty and apt. Yours was only witty in the sense that you used the word "masturbation." And, as I pointed out, it wasn't apt at all.

      You missed the mark, friend.

  19. You need camelbones by wickline · · Score: 0, Redundant
  20. AppleScript Studio by moof1138 · · Score: 1

    Perl and AppleScript can both call each other, so you can wire up an interface in AppleScript Studio and call 'do shellscript "script.pl"' do the get Perl bits running. It's an easy approach, and I know a lot of folks who are doing this with minimal pain. AppleScript has access to the authentication model so you can even run stuff as root with a system dialog handling the authentication.

    If you need to call AppleScript stuff from a Perl script you can use the various AppleScript bindings mentioned by others, or just do a system("echo 'tell app to do thing' | osascript"); which will run applescript commands, if a little indirectly. I have done this for things like cleanly quitting GUI apps, and it works great. Of course TMTOWTDI, so you could also open a pipe to osascript and dump in AppleScript commands, which might work nicely in some cases.

    --

    Hyperbole is the worst thing ever.
  21. Re:Apple: OSX Now available for Intel by foobar104 · · Score: 2

    In other words, you can't run, say, iTunes in Darwin for Intel/AMD.

    I know this is trollfodder (not you; the guy two posts above you) but here it is anyway.

    As was pointed out to me just the other day, you can just barely run Darwin for Intel at all. The list of supported hardware is incredibly short. Behold:

    Supported Hardware:
    -------------------

    IDE:
    Only the PIIX4 IDE controllers have been found to work.
    Attached devices must be UDMA/33 compatible or better.
    Ethernet:
    Intel 8255x 10/100 ethernet controllers are supported.
    Video:
    You must have a VESA 2.0 compliant video card. Almost all
    modern graphics cards are VESA 2.0 compliant. However, emulators
    such as vmware do not have VESA 2.0 compliant emulated video cards.
    Successfully tested hardware:
    All 440BX motherboards tested have worked with their internal
    IDE controllers.
    IBM ThinkPad A21m (with onboard Intel ethernet)
    Known to not be supported:
    All AMD and VIA based systems.

  22. Tcl/Tk for Mac OS X available: by Anonymous Coward · · Score: 0

    According to the Apple Developer website, there is a binary full install at
    http://sourceforge.net/project/showfiles.php?gro up _id=10894

  23. retart by Anonymous Coward · · Score: 0

    hey retart, there's no such thing as an "apple
    tax" because they don't have a monopoly like
    microsoft or the government (which has a
    monopoly on "force"). go read and learn.

  24. Re:Apple: OSX Now available for Intel by SIGFPE · · Score: 2

    You might notice that I didn't say "MacOS X". I said Darwin. I know full well what Darwin is. It's a pretty definitive answer to the question of "Does MacOS X exist for Intel?". The answer is that part of the code has been ported. But of course you're so full of yourself that you think I need a lecture in the parts of an OS. I think you're not terribly smart. You might know some fluff about OSes but you're certainly too slow to realise that when someone makes a short statement it doesn't mean that that is the sum total of everything that they know.

    --
    -- SIGFPE
  25. Perl/Tk support by lunenburg · · Score: 1

    I have an application written in Perl/Tk, and would love to be able to port it to OS X without either A) rewriting in ObjectiveC, or B) requiring an X server on the client machines.

    1. Re:Perl/Tk support by davebo · · Score: 1

      I trust you've looked here?

    2. Re:Perl/Tk support by lunenburg · · Score: 1

      Tcl/Tk is a good start, but Perl/Tk doesn't actually call Tcl/Tk - it's an entirely separate package.

      Perl/Tk.org

  26. Re:Apple: OSX Now available for Intel by twiztidlojik · · Score: 1

    Your title was obviously decieving.
    Re:Apple: OSX Now available for Intel
    I admit that I must have fallen for your clever ploy.

    Also, you should probably post information that doesn't conflict with your vast knowledge of operating systems.

    --
    I will now redundantly add my name to the end of my post. You know, in case you forgot me or something.
  27. I've been fucking your wife in the mouth by Anonymous Coward · · Score: 0
    I fuck her in the mouth while you are at work. She swallows my jizz like a wench.

    Tough shit, Perl Boy.

  28. There is an O'Reilly book on this coming out by Elian · · Score: 1

    Though it's not done yet. (I'm writing it as I type this :) Additionally, if you're interested, I'll be giving a half-day tutorial on this at O'Reilly's OS X conference at the end of September/beginning of October. As time permits there should be a few articles about it on oreillynet.com, too.