Slashdot Mirror


Perlbox: A Unix Desktop Written in Perl

cascadefx writes "It appears that this programmer has created an Open Sourced Unix Desktop, PerlBox, written in Perl and Tk. I found this posted in response to an article on Perl Monks asking if Perl was obsessed with CGI?. Apparently not. Check it out, it looks pretty interesting." I wonder how fast it runs?

90 of 264 comments (clear)

  1. It's a speed demon by Anonymous Coward · · Score: 5, Funny

    I wonder how fast it runs?

    About

    this

    fast

    .

    1. Re:It's a speed demon by oever · · Score: 2, Informative

      The speed should be comparable to JOS (Java Operating System).

      --
      DNA is the ultimate spaghetti code.
    2. Re:It's a speed demon by 56ker · · Score: 2

      No - the question is, "I wonder how slow it runs?"

  2. Speed by Wheaty18 · · Score: 2, Insightful

    I'd be very curious as to how fast that desktop ran, as well. Don't Perl scripts get compiled every time they are run?

    1. Re:Speed by serps · · Score: 2, Funny

      Don't Perl scripts get compiled every time they are run?

      I suppose you could say that. In programmerspeak, we call Perl "an interpreted language."

      --
      "Einstein argued that [...] God is not capricious or arbitrary. No such faith comforts the software engineer." ~ Brooks
    2. Re:Speed by si1k · · Score: 2, Informative

      Well, Perl is an interpreted language but it does go through an internal compile phase. You *can* design an interpreter that doesn't do this.

    3. Re:Speed by serps · · Score: 3, Funny

      ...we call Perl "an interpreted language."

      Not to be confused with interpretive language which is what 90% of John Katz's work is written in. You know you've switched over when code like
      my $wild_speculation = "..." starts cropping up in your code.

      Of course, from a distance, Perl and Katz look just as unintelligible. At least Perl makes sense close up.

      --
      "Einstein argued that [...] God is not capricious or arbitrary. No such faith comforts the software engineer." ~ Brooks
    4. Re:Speed by ZxCv · · Score: 2

      I'm not 100% sure, but at least with the Perl compiler I used (perl2exe), it seemed to me that the compiled executable was nothing more than a Perl interpreter bundled with the script code. This gives me the impression that the script is parsed and compiled on every run, so I would be skeptical about any performance gain claims (and I don't remember ever seeing any on perl2exe's website).

      --

      Perl - $Just @when->$you ${thought} s/yn/tax/ &couldn\'t %get $worse;
    5. Re:Speed by arkanes · · Score: 2

      There are a number of apps that pre-compile to bytecode and then feed that to the intepeter. This removes one of the compile steps (code can be compiled and executed on the fly in perl, and you won't see any gain if you try to do stuff like that). I believe this is what perl2exe does - it bundles the inteperter and the perl bytecode, but not the full compiler.

    6. Re:Speed by Fweeky · · Score: 5, Informative

      > Don't Perl scripts get compiled every time they are run?

      Yes, but it's compiled into an internal bytecode format, not an executable binary.

      In this sense it's more like Java -> Bytecode -> JVM (hence Perl -> Bytecode -> PVM) than, say, C -> Object code -> Native Binary. Not quite, but near enough.

      Python has the same property, as do many otherwise interpreted languages. Parrot (the engine Perl 6 will use) is also bytecode based, and probably has more in common with a Java VM, in that it impliments a sort of dynamic-language CPU with registers and instructions, rather than just a tree of tokens the interpreter can easily walk along.

    7. Re:Speed by Coward,+Anonymous · · Score: 2

      not on Linux, the kernel ignores SUID scripts for some reason

      The reason is that suid scripts create a race condition, the time between the interpreter process being created and the interpreter process reading the script can be exploited. Let's say there's a suid script /usr/bin/suidroot and you have created a link to it in your home directory, you now execute the ~/suidroot script and the kernel sees that it's suid so the kernel creates the interpreter process with a root uid and passes the interpreter the name of the script, you have time before the interpreter reads the script to replace it with whatever you like and you will have a root process execute whatever you want. This is overcome in some operating systems by the interpreter being given a filehandle to the script.

  3. Dammit by Screaming+Lunatic · · Score: 5, Funny

    Dammit!!! I would have had first post if it wasn't for this perlbox desktop. ;)

  4. I wish... by dmiller · · Score: 2, Interesting

    I wish that PERL had a GUI abstraction layer, similar to DBI for databases. Perl would kick Java's ass as a cross-platform app development language if it did.

    Maybe it does and I am just ignorant :)

    1. Re:I wish... by si1k · · Score: 3, Interesting

      Well, maybe Perl/Tk (which this Perl desktop thing uses) isn't exactly what you're talking about, but it does provide a cross-platform abstracted GUI toolkit for Perl. It's actually pretty decent. It also makes sense to piggy-back on technology (like Tk) which has been around for a while. The technology is more tried-and-true, and there are at least some Perl programmers who have tried Tcl-Tk and so it's not a huge jump.

      Now, if someone wanted to write a real abstraction layer, maybe one that would let you use either Perl/Tk, Perl/GTK+, or something else... that coule be interesting :-)

    2. Re:I wish... by Shiny+Metal+S. · · Score: 4, Informative

      I wish that PERL had a GUI abstraction layer, similar to DBI for databases.

      See Gtk, Gnome, Tk, Qt and Wx CPAN distros.

      --

      ~shiny
      WILL HACK FOR $$$

    3. Re:I wish... by Shiny+Metal+S. · · Score: 5, Informative

      Now, if someone wanted to write a real abstraction layer, maybe one that would let you use either Perl/Tk, Perl/GTK+, or something else... that coule be interesting :-)

      See Wx.

      --

      ~shiny
      WILL HACK FOR $$$

    4. Re:I wish... by pnatural · · Score: 2, Informative

      i can't attest to the speed of the wx bindings for perl, but i can tell you that the wx bindings for python (wxpython, here.) are fast. very, very fast.

    5. Re:I wish... by Shiny+Metal+S. · · Score: 3, Informative

      That's entirely missing the point. It's as if asked "I wish perl had a unified database handling module", somebody had answered: "well, you've got the oracle module, the sybase module and the mysql module. They don't have the same API, but they all allow you to connect to the database you're using.".

      You haven't checked out Wx. It's a Perl module for using wxWindows:

      What is wxWindows?
      wxWindows gives you a single, easy-to-use API for writing GUI applications on multiple platforms. Link with the appropriate library for your platform (Windows/Unix/Mac, others coming shortly) and compiler (almost any popular C++ compiler), and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWindows gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much much more.

      See the wxWindows supported platforms.

      --

      ~shiny
      WILL HACK FOR $$$

    6. Re:I wish... by thing12 · · Score: 2

      Only problem with DBI is that even though it abstracts away the API calls needed to talk to the database you still have to follow each DB's SQL quirks. So if you want to be cross db platform, you pretty much have to modularize all your database access and write the custom code for each db you're connecting to. Not that it's a bad thing... I'm all for using a database's strengths and working around its weaknesses to give optimal performance. DBI isn't as cross platform as you imply it is.

    7. Re:I wish... by qweqwe · · Score: 2, Informative

      I suppose you mean something like Python's AnyGUI:
      http://anygui.sourceforge.net/screenshots .php

      The good news is that while it's possible to port it to Perl, you don't have to if you're willing to wait for Parrot.

    8. Re:I wish... by FortKnox · · Score: 5, Insightful

      Perl would kick Java's ass as a cross-platform app development language if it did

      Seems a bit trollish, but I'll bite. If I wanted to make a large maintainable and updatable cross-platform app, with lots of time I'd choose Java. If I needed a cross-platform app that needed to be up in little time, and was never gonna be changed, I might chose your PERL with GUI Abstraction.

      Honestly, though, I don't think it would "kick java's ass", its like compairing C and C++. Is one better than the other? Depends on how you use it!
      A quick and powerful scripting language versus a high level object oriented language?
      Apples and Oranges.

      Surprisingly, though, they appear to be competing. Parrot, perls next version, contains error handling similar to Java, and Java1.4 added regexp.

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    9. Re:I wish... by ajs · · Score: 2

      wx is a cross-platform toolkit, but it is not toolkit independant.

      Again, to use the database analogy, that's like saying, "you've got the Oracle module, and Oracle runs on both kinds of systems, UNIX *and* Windows."

    10. Re:I wish... by Chundra · · Score: 2

      Yeah. They really should dump tkinter and make wx the default.

    11. Re:I wish... by FortKnox · · Score: 4, Interesting

      Perl is spelled P-e-r-l not P-E-R-L, this is the first sign you don't know what you are talking about.

      I simply copied the parent post's capitalization (not spelling). I've coded large products in both Perl and Java.
      BTW - its attitudes like this that make non-technical people afraid to learn technical areas. You sound like a 1337 d00d in #linux-newbies that shouts "RTMFM!" at every question. I don't mind if you argue, but insulting is a sign of elitism, which I didn't think existed in UIDs as low as yours.

      Perl is no more or less hard to understand or maintain than any other language if you code correctly. Sure I can make Perl look like line noise, but I can also make it easy to read and maintain.

      I wasn't refering to the language itself (or how clean the code is) but the OO of Java vs. the scripting of Perl. Sure, there is OO in perl, but its slapped on and unelegant.

      Its arguable, but most coders I know would find a well written, large scale, high level OO application easier to maintain and update than a large scale, powerful scripted application.

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    12. Re:I wish... by PissingInTheWind · · Score: 2, Insightful
      I wish that PERL had a GUI abstraction layer, similar to DBI for databases.

      It does have it already, check CPAN.

      Perl would kick Java's ass as a cross-platform app development language if it did.

      No it would not. Perl doesn't even have proper multithreading, how can you pretend that it can compete with Java?

      Each tool has it's use. Perl is great for text-processing, but is a toy for most of other uses (and is a damn fun toy, btw). Java is great for boring and usefull stuff like enterprise programming.

      --

      A message from the system administrator: 'I've upped my priority. Now up yours.'
    13. Re:I wish... by nickjennings · · Score: 2, Insightful

      I wasn't refering to the language itself (or how clean the code is) but the OO of Java vs. the scripting of Perl. Sure, there is OO in perl, but its slapped on and unelegant.

      I disagree. I think perl has very powerfull OO capabilities. You pretty much disregard these features, and you compare two conflicting aspects.

      most coders I know would find a well written, large scale, high level OO application easier to maintain and update than a large scale, powerful scripted application.

      A high level OO application can apply to both perl and Java. Java's OO is not equal to Perls scripting nature. OO != compiled code.

      You sound full of bias and purposefull misrepresentation.

      Perhaps something like, "Most coders I know like Java better than Perl", is what you are trying to say?

    14. Re:I wish... by Camel+Pilot · · Score: 2

      OO in perl, but its slapped on and unelegant

      Please demonstrate or give specific examples how Perl's "unelegant" after market OO implementation results in program design that is more difficult to maintain. Just interested.

      I sort like the ability not having to use a OO approach for some programming problems.

    15. Re:I wish... by PhotoGuy · · Score: 2
      Perl would kick Java's ass as a cross-platform app development language if it did
      Seems a bit trollish, but I'll bite. I wanted to make a large maintainable and updatable cross-platform app, with lots of time I'd choose Java. If I needed a cross-platform app that needed to be up in little time, and was never gonna be changed, I might chose your PERL with GUI Abstraction.
      I don't think it's trollish at all. If you're realling talking cross platform (more than just Windows and Solaris or Linux), than you need to do one little bit of homework: generate a list of all the platforms upon Java runs well (which is different from just having a port available), and a list of platforms upon which Perl runs well. Perl is far more portable (or at least ported) than Java.
      --
      Love many, trust a few, do harm to none.
    16. Re:I wish... by Xerithane · · Score: 2
      I disagree. I think perl has very powerfull OO capabilities. You pretty much disregard these features, and you compare two conflicting aspects.


      From someone who does extensive development in Perl, in both a monolithic and OO environment, I can tell you with much certainty and back up with evidence and examples that Perl's OO is inferior to that of Java and C++. With the exception of the TIEHASH capabilities while working with objects, Perl's OO and namespacing is an inferior implementation.

      Because of the way that Perl handles namespaces and symbol exporting, it is much easier to work with C++ or Java for large scale enterprise applications. That's just a fact of life.

      Having said that, my language of preference is C. Just plain old C. Followed by C++, then Perl. But that is what I am most happy programming in, and has nothing to do with what language I will choose to develop in. I will pick the best tool for the job.

      Perl has a niche that it works exceptionally well in, as does Java, C, C++, Python, etc. While some areas overlap, trying to make a language that does everything is setting yourself up for failure. What is needed in the development world is a standardized object communication layer that does not care what language the objects are in. Pipe dreams, but one can hope.

      Out of curiosity, do you work in the industry, or still in school?
      --
      Dacels Jewelers can't be trusted.
    17. Re:I wish... by ink · · Score: 2

      Please demonstrate or give specific examples how Perl's "unelegant" after market OO implementation results in program design that is more difficult to maintain. Just interested.

      [ Note the slience ]

      He probably has never even coded in perl. But that won't stop the morons from modding him up as "insightful"; anything that degenerates the status quo is "insightful" here any more.

      --
      The wheel is turning, but the hamster is dead.
  5. Re:perl is teh sux0rz by zapfie · · Score: 2, Informative

    I know this is a troll, but you're correct in that it's actually quite viable. Check out ROX-filer, an excellent file manager (also on the site is ROX-session for session management, and a load of tools to use with it, all in Python). ROX-Filer is an excellent example of how to use Python to create a desktop environment.

    --
    slashdot!=valid HTML
  6. The rest of the OS in Perl by Shiny+Metal+S. · · Score: 3, Funny

    Read my old comment to Subterfuge with Subterfugue story: Re:Perl in the Linux kernel? There's some info about other parts of the operating system written in Perl: Perl /bin tools, Perl shell and even Perl kernel. I couldn't find a working link to Perl filesystem (PerlFS by Claudio Calvelli?), so if anyone knows it, please post it.

    --

    ~shiny
    WILL HACK FOR $$$

    1. Re:The rest of the OS in Perl by MisterBlister · · Score: 2, Interesting
      untrue..but the earliest versions of Microsoft Commerce Server WERE written in Python! Microsoft bought the technology from a startup called eShop, and they used Python for the product (Greg Stein headed that place up). The first few releases of MS's version were also in Python but wrapped into binary-looking DLLs.

      They later rewrote it in C++ though.

  7. funding by psyclone · · Score: 5, Interesting
    I think it's cool that this group received part of a research grant to fund this project. An important thing to note is that software experiments like this are a science in a way -- they're looking at a problem and trying to solve it in a new way, and publishing their results.

    more open source projects could easily benefit from a funding model like this. There seems to be research money floating around universities (mine included) that could easily go to open source projects; it just may not be the project you want to work on, but hey, getting paid isn't so bad.

  8. Also of note.. by zapfie · · Score: 5, Interesting

    If you like stuff like PerlBox, you might also want to check out ROX-filer while you're at it. ROX-Filer an excellent file manager written in Python, and also offers a session manager, a wallpaper utility, a clock, etc, all written in Python. I'd recommend checking both PerlBox and ROX-Filer out.

    --
    slashdot!=valid HTML
    1. Re:Also of note.. by RapaNui · · Score: 2, Interesting

      Actually, IIRC, ROX-filer is entirely C. It _does_ provide some sort of hooks for writing extensions or desktop panel applets in Python, though.

    2. Re:Also of note.. by Junta · · Score: 2

      ROX-Filer is awesome, but is written in C. They provide development packages in Python for panel applets and Configuration management and a few useful extensions to pygtk, but the core of the filer is written in C. So it is both fast and offers python developers a friendly environment to develop in.

      ROX-Filer is my favorite graphical filemanager. Nautilus, GMC, and Konqueror are all way too slow, dfm is ok, but doesn't look as good to me as ROX, and acts a bit strange at times, other file managers are probably well done, but work in file management paradigms I am less accustomed too (i.e. Norton Commander and NextStep style navigation as opposed to classic Mac/Windows icon/folders. Some things I would change if I had the time though, an optional lightweight tree panel on the side (a la explorer), ability to launch multiple files with their default viewers at once, and ability to associate multiple apps for mime types accessible through the context menu (so for images, both gimp and a viewer could be associated). Aside from those little annoyances, it is a much more responsive and clean looking interface than most out there. All these others add tons and tons of features (that no one needs) and use burdensome mechanisms that really slow things down, while ROX has stuck with the KISS principle in an age where most people aim to make things as complex as they can.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    3. Re:Also of note.. by tal197 · · Score: 2
      ... ability to launch multiple files with their default viewers at once

      Put ROX-Filer itself in the Send To menu. Then Shift+Menu on the selected files and use that :-)

    4. Re:Also of note.. by Junta · · Score: 2

      Neat trick, thanks :) a bit awkward, but neat :)

      --
      XML is like violence. If it doesn't solve the problem, use more.
  9. Why?! by Anonymous Coward · · Score: 3, Insightful

    Because we can?

    I'd like to see distributing timesharing, so that all these people with *way* too much time on their hands could donate some to us people with sensible projects to complete but not enough time.

    1. Re:Why?! by obsidian+head · · Score: 4, Insightful

      Once you take the fun out of programming, it becomes dull & peoples' skills progressively get worse.

      There's place in the world for enjoyable wizardry. That means programming is still an art.

    2. Re:Why?! by yasth · · Score: 2, Insightful

      Because it hones ones skills to a fine sharp edge, because it tests the extreme uses of a language, because it provides chance for someone else to do things not done very often, and maybe come up with something new, and because it is fun.

      Most good colleges still teach CS majors how to write an OS, not because they think that the students will have to, as most won't, not because they think it will be anygood, because 99% of the time is a crappy unreliable *Nix clone, but because it tests the limits of a person, (and of course since there is no way for one to ever finish in the time provided it provides a demonstration of the way the world works).

      --
      I'd do something interesting, but my server can't handle a slashdotting.
    3. Re:Why?! by gilgongo · · Score: 2, Funny

      > because it tests the extreme uses of a language

      You're not wrong there! This project is like creating a full-scale battleship out of Lego. Ridiculous and slighlty comical - but fascinating at the same time.

      --
      "And the meaning of words; when they cease to function; when will it start worrying you?"
  10. Re:Does it matter? by Anonymous Coward · · Score: 2, Informative

    It's actually (almost) compiled each run, instead of being raw interpreted. In the camel book it describes it in detail, but briefly it parses it to bytecode, optimizes it, then executes it (any evals will re-do the process mid program, ect).

    Non-proc consuming optimizations are done each time also. Perl6 is supposed to allow it to be permanently compiled to a bytecode with extensive optimizations much easier. Currently the methods of creating a pre-bytecoded perl script is (almost) a black magic.

  11. mod_perlbox by phillct · · Score: 5, Funny

    You need mod_perlbox.

    That way you can access your desktop through lynx at a speed increase of 800%. Just format your urls like this:

    http://localhost/desktop/?action=leftclick&xcord=3 21&ycord=567

  12. Probably by Anonymous Coward · · Score: 4, Funny

    runs as fast as KDE or Gnome!

    1. Re:Probably by Sivar · · Score: 2

      Er, was the voice recognition written in Perl?
      That would be an...interesting challenge.

      --
      Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
  13. Re:Toy by Sivar · · Score: 3, Funny

    Go program something new.

    Like a desktop written in Perl?

    --
    Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
  14. B - The Perl Compiler by Shiny+Metal+S. · · Score: 3, Informative

    It's actually (almost) compiled each run, instead of being raw interpreted. In the camel book it describes it in detail, but briefly it parses it to bytecode, optimizes it, then executes it (any evals will re-do the process mid program, ect).

    Modules to play with and more info about it:

    • B The Perl Compiler
    • B::Asmdata Autogenerated data about Perl ops, used to generate bytecode
    • B::Assembler Assemble Perl bytecode
    • B::Bblock Walk basic blocks
    • B::Bytecode Perl compiler's bytecode backend
    • B::C Perl compiler's C backend
    • B::CC Perl compiler's optimized C translation backend
    • B::Concise Walk Perl syntax tree, printing concise info about ops
    • B::Debug Walk Perl syntax tree, printing debug info about ops
    • B::Deparse Perl compiler backend to produce perl code
    • B::Disassembler Disassemble Perl bytecode
    • B::Lint Perl lint
    • B::Showlex Show lexical variables used in functions or files
    • B::Stackobj Helper module for CC backend
    • B::Terse Walk Perl syntax tree, printing terse info about ops
    • B::Xref Generates cross reference reports for Perl programs
    --

    ~shiny
    WILL HACK FOR $$$

    1. Re:B - The Perl Compiler by Shiny+Metal+S. · · Score: 5, Informative

      Damn it, I @#%!$& up the links! Of course it's Overrated since it's broken. Here:

      • B The Perl Compiler
      • B::Asmdata Autogenerated data about Perl ops, used to generate bytecode
      • B::Assembler Assemble Perl bytecode
      • B::Bblock Walk basic blocks
      • B::Bytecode Perl compiler's bytecode backend
      • B::C Perl compiler's C backend
      • B::CC Perl compiler's optimized C translation backend
      • B::Concise Walk Perl syntax tree, printing concise info about ops
      • B::Debug Walk Perl syntax tree, printing debug info about ops
      • B::Deparse Perl compiler backend to produce perl code
      • B::Disassembler Disassemble Perl bytecode
      • B::Lint Perl lint
      • B::Showlex Show lexical variables used in functions or files
      • B::Stackobj Helper module for CC backend
      • B::Terse Walk Perl syntax tree, printing terse info about ops
      • B::Xref Generates cross reference reports for Perl programs

      See also perlcompile, perlhack, perlguts, perlxstut, perlxs, perldebtut, perldebug and perldebguts manpages.

      (Note to self: Check those URLs!)

      --

      ~shiny
      WILL HACK FOR $$$

  15. Re:That perlbox.org Site apears to be somewhat bug by Hougaard · · Score: 2

    Yeah, his JavaScript sucks, lets hope he is better at programming Perl than JavaScript :-)

  16. Re:perl is teh sux0rz by rizzo5 · · Score: 3, Insightful
    Perl has rightfully been called a write only language

    gosh, i'm tired of hearing this.

    if you develop some actual coding discipline, you can write very maintanable code in perl. use generous ammounts of whitespace, develop style rules for yourself and stick to them religiously, use descriptive full word variable names, separate compound statements into easier to understand (and easier to insert stuff between) smaller ones and of course take advantage of perl's '-w' and 'use strict' features. and if you think something still isn't clear, then for pete's sake comment it! don't blame poor coding practices on the language itself. you can just as easily write nasty unreadable code in c.

  17. Re:Don't You People Ever Sleep by Stephen+VanDahm · · Score: 2, Redundant

    Site's already /. ed

    It turns out the webserver was written in Perl, too.

  18. Re:Why tk? by RapaNui · · Score: 3, Interesting

    Actually, the _default_ Tk look and feel sucks rocks.

    However -- the nice thing about Tk is that the widgets are
    _extremely_ customisable. A bit of tweaking of the widget options and you can make it look pretty much like anything.
    (Obviously within reason -- you can't change widget shapes, ferinstance).

    All my Tk apps, for example, have the JFC/Swing 'Metal' look 'n feel, for a bit of consistency across Java and Tcl/Tk apps.

  19. Perl and XUL by Cally · · Score: 5, Funny
    I've just started looking at XUL, the Mozilla XML User interface Language. All the Mozilla chrome - dialogs, menus, toolbars etc, all of it - is defined in XUL, which looks straightforward XML, driven by Javascript (which /I believe/ is compiled in the binary: yes? no?)

    The only thing really holding me back from using this in my current project (front end management console for the build and test scripts used to QA $AntiVirus_app) in XUL is the lack of a nice drag and drop formbuilder. There's a project to build one - XULMaker - but it seems to be making pretty slow progress and be short of people working on it. Anyway, what I was wondering was, where's the Perl bindings? Being able to say :


    my $g = XUL->new();
    $g->set_window(
    title=> 'Hello world',
    geometry => ([500, 200]),
    ...
    )

    ...and so on would be verrrrry cool. And then we could ALL build our own window managers, using Perl. And this post would be on-topic ;)

    --
    "None are more hopelessly enslaved than those who falsely believe they are free." -- Goethe
    1. Re:Perl and XUL by RevAaron · · Score: 3, Informative

      You can already create your own window managers in perl. Perlwm comes with what you need. I have a feeling you're not talking about creating window managers, but simply GUI apps. Not sure why you'd create a WM in XUL. For creating RAD GUI apps, you can use one of the GUI builders for Tk, Qt, or GTK+ (among others, probably) and create a GUI for perl.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  20. i just compiled it to work under a ssh connection! by AnimeFreak · · Score: 2, Flamebait
  21. All-Way Flamewar! by krmt · · Score: 5, Funny

    Does this mean perl is now trying to compete with Emacs? This could get ugly...

    Ruby vs Python vs Perl running Perlbox vs Emacs running everything vs Linux running KDE vs BSD running Gnome vs Windows vs Solaris running Emacs vs OSX running Virtual PC running Activestate Perl running Perlbox...

    I think we need big a flow chart for this one.

    --

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

  22. Re:debian by krmt · · Score: 2

    No debian packages, at least in unstable.

    And as for compiling it... it's perl! You don't have to compile anything yourself.

    --

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

  23. That can't be Perl code! by Anonymous Coward · · Score: 4, Funny

    I understood what it does.

  24. GNOME: A Unix Desktop Written in C by tps12 · · Score: 5, Funny

    It appears that this programmer has created an Open Sourced Unix Desktop, GNOME, written in C. I found this posted in response to an article on C Monks asking if C was obsessed with device drivers? Apparently not. Check it out, it looks pretty interesting. I wonder how fast it runs?

    --

    Karma: Good (despite my invention of the Karma: sig)
  25. Re:perl is teh sux0rz by Anonymous Coward · · Score: 2, Insightful

    > if you develop some actual coding discipline, you can write very maintanable code in perl.

    The problem with Perl is that from the very first moment it was pushed as the "there's more than one way to do it" language, and that's *WRONG* (very big IMNSHO here, of course) because it leads to confusion.
    You could easily write mantainable code in Perl, but what about other coders? Could you take a job that requires Perl code (written by others) maintenance and be sure that you won't have problems?
    Ok, I agree about other languages obfuscation (say C and C++), but if it was for me I'd choose a more self documenting language. In the "scripting" arena today I really like Ruby: powerful as Perl and Python, but much easier to learn (and read!).

  26. javascript errors by loconet · · Score: 2, Informative

    For those of you who can't get to the screenshots because of those annoying javascript errors: http://perlbox.org/screenshots.shtml

    --
    [alk]
    1. Re:javascript errors by Chazmati · · Score: 2, Funny

      Yeah, good thing he didn't code his project in JavaScript.

  27. Re:ORA PerlBook? by jonesvery · · Score: 2
    What animal will they pick? Sloth perhaps?

    Ummm...the camel...I have this sneaking suspicion that O'Reilly is going to pick the camel as the animal for their perl books.

    --

    * * *
    It is a dada story -- it has no moral.

  28. Re:perl is teh sux0rz by d_i_r_t_y · · Score: 2, Interesting
    if you develop some actual coding discipline, you can write very maintanable code in perl.

    hell yes! i am the tech lead on a perl project which hit 100K lines of code and doesn't look like stopping anywhere before 150K. the design is *very heavily* OO (one could directly translate the object model into java no sweat) and follows the MVC paradigm to the letter (there is only a single 100 line script which drives everything).

    perl can be every bit as maintainable as any other language *as long as* one is/enforces discipline. i think at times perl can be more maintainable than, say, java, simply though its expressiveness and brevity. i mean, java can be so frickin verbose sometimes...

    which leads me to the conclusion that people who truly think that perl is inherently unmaintainable must be crap programmers.

  29. "Hello, Navi." "Hello, Lain." by Stephen+VanDahm · · Score: 2, Interesting

    I'm waiting for LainOS to take off. While I suspect that these folks have bitten off more than they can chew, if it works, it will be awesome. Basically, they're modifying FreeBSD 4.5 to resemble the computers in Serial Experiments: Lain. They're planning to have built-in voice recognition.

    Steve

  30. Perl binaries by swb · · Score: 2

    I swear I read someplace about how to make a Perl binary. It involved getting your Perl app to dump core and then using the core as your binary.

    1. Re:Perl binaries by Chundra · · Score: 2

      Ha ha. I don't know about running coredumps, but you can compile perl. Check out perlcc.

  31. Re:Don't You People Ever Sleep by Tower · · Score: 2

    >"Slashdotted"? It's what Yoggi meant when he said, "No one goes there anymore. It's too busy."

    FYI: It's "Yogi", not "Yoggi"...

    Yogi Berra

    --
    "It's tough to be bilingual when you get hit in the head."
  32. Re:perl is teh sux0rz by Genady · · Score: 2

    Hasn't anyone had the perl style guide dropped on their desk the first day they started doing perl for a company? That and a few commandments from my old boss worked wonders:

    Thou shalt use strict
    Thou shalt use -w
    Thy subs shall fit in one page.
    Thy programs shall produce output from pod2txt
    Subs used in more than one program shalt be included in a module.

    That and when i was writing most of my code I was also teaching one of the Jr. Admins Perl so my code was commented ad naseum (I really think that my scripts were 50% or more of just comments.)

    It made me feel all warm and fuzzy when my acolyte e-mailed me a year after I'd left and told me that the Sr. SA had taken one of my scripts and converted it to a module in 1/2 a day to extend one of their applications.

    --


    What if it is just turtles all the way down?
  33. Re:Watch out Internet Explorer Users by scrytch · · Score: 2

    I suggest you get your allegations straight -- It just fine under IE for me, Javascript and all. View source shows that the site was obviously developed with DreamWeaver, and there isn't a lick of IE-specific code in there. It's one thing to say that there's bugs in the site with IE, but when you talk about sabotage, you damn well better show some proof.

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
  34. Re:web viability by arkanes · · Score: 2

    In a momentary fitof insanity ,I installed windows XP last night and noticed that one of the options when you install IIS is the "Terminal Services ActiveX demo website" which apparently uses and ActiveX control to give full access to your machine to anyone viewing your sample website. I thought about this for a while and decided it might be cool, given appropriate security precautions on the site.

  35. Re:Source Code Here! by vsp · · Score: 2, Funny

    or:

    shell# perl -MMOD::Desktop -e 'desktop_app while(1)'

  36. Re:Watch out Internet Explorer Users by Surak · · Score: 2

    Don't ask me. I use Opera. The site looks fine to me. :)

  37. Camelot Naturals? by PD · · Score: 3, Informative

    Something really funky is going on. I type in www.perlbox.org, and the page that loads up is www.camelotnaturals.com

    What the hell?

    1. Re:Camelot Naturals? by jmu1 · · Score: 2

      You noticed that too eh? Guess some Python-ites didn't like the prospect of being shown up! lol
      Just kidding folks, I think it's funny watching people argue about that sort of lameness sometimes, but in all honesty it gets boring.

    2. Re:Camelot Naturals? by HamNRye · · Score: 2

      Another fine example of fact checking here at /..

      "Editorial Bias?? We don't even read the stories..." ~CmdrTaco

    3. Re:Camelot Naturals? by yomahz · · Score: 3, Informative


      Something really funky is going on. I type in www.perlbox.org, and the page that loads up is www.camelotnaturals.com

      What the hell?


      I think they removed the entry from the virtual hosts once the ISP saw the slashdotting. Apache (it's running apache 1.3.20) defaults to the first virtual host if a entry isn't found for the domain being requested. www.camelotnaturals.com is probably that entry.

      Looks like they've realized it and replaced it with a blank page. I don't think it was meant as a deceptive advertisement or anything like that.

      --
      "A mind is a terrible thing to taste."
  38. Site redirection? by Magius_AR · · Score: 2, Informative
    Ummm, when I try to go to PerlBox.org, it redirects me to http://www.camelotnaturals.com/ which is some bath & body site. Now, I know the camel has always been a Perl mascot, but isn't this a step too far?

    Magius_AR

  39. Re:debian by PicassoJones · · Score: 2

    No RPMs or tarballs either. Some very nice scented candles, though.

  40. Re: Story made up to get traffic? by Phrogman · · Score: 2

    Since I haven't seen the original, nor had the opportunity to download anything, can I assume the folks at perlbox.org did this JUST so they could get free advertising for camelotnaturals.com? Seems like typical marketing BS to me...

    --
    "The first time I got drunk, I got married. The second time I bought a chimpanzee, after that I stayed sober" Arian Seid
  41. Re:Perl binaries: PerlApp by Starky · · Score: 2, Interesting
    I've used ActiveState's PerlApp to build binaries. It works on Linux, Solarix, HP-UX, and Windows.


    And I can say from experience that it works incredibly well. I've compiled a script which used 20,000 lines of code amongst the various modules I'd built, not including Perl/Tk and the many other CPAN modules I used, and out popped a nice binary which worked just as if run from Perl.


    I develop on Linux, but I can use it to generate binaries for Windows users. It opens up a whole new audience for me. I develop quickly on the platform I am efficient on, and all the Windows users know is that they get something with a nice GUI that works as advertised and which was developed in half the time.


    Needless to say, I recommend it highly.

    --
    -- My choice of computing platform is a symbol of my individuality and belief in personal freedom.
  42. The Sawfish wm is written in a Lisp dialect by Kaz+Kylheku · · Score: 2

    and nobody notices. :)

  43. Re:SAME IP!!! Redirect to CamelotNaturals.com by cjsnell · · Score: 2

    I think they were vhosting on the same box and the cluebie admin thought he could stop the slashdotting of perlbox.org by removing the VirtualHost entry for it. :)

  44. slashdot frontpage spamming adverts? by new500 · · Score: 2

    . .

    is it only me, but when I clicked through to the frontpage link PerlBox.org I'm getting redirected to http://www.camelotnaturals.com/ a site selling herbal bath salts????

    seriously, mod me down if I'm wrong (I can take it :) but this is silly, has someone effectively spammed the front page?

    Can someone else check?

    Could someone have switched on a redirect after the editors posted the story, for profit? Did the editors check?

    Somehow I've checked this now 6 times, and I still have a problem with disbelief . . .

  45. Parrot != Perl 6 by rneches · · Score: 2
    I don't mean to sound contentious, but Parrot is the virtual machine that Perl 6 will target. It is not, in fact, the language itself.

    In this way, I suppose, Perl 6 will be kinda sorta like Java in that it will target a VM, rather than a CPU. The Parrot VM is not exclusive to Perl - from what I understand, idea is that eventually Python and Perl will share a common VM. It's conceivable, I suppose, that some sick bastard could write a Java compiler that targets Parrot.

    Parrot isn't finished yet, but there are a few "toy" languages that target it (Jako and Cola, and more recently BASIC).

    --
    In spite of the suggestions and all the tests that I have made, I have not cavato a spider from the hole.
  46. * To the Editors by mattr · · Score: 2
    The link to the Perlmonks article includes two cgi parameters. You do not need the lastnode_id parameter, it will just use up more cpu and take longer for people to see the page.

    It works fine if you just use the latter node_id parameter, as here

    It would be nice to see more links to PerlMonks, and Perl articles in general. As far as I know CPAN is probably the biggest group of modules built by a single programming community which actively mixes and matches them. While there isn't one brain to it, PM is the best place I think to talk about them. Thanx

    mattr

  47. Re:Python and X11 by RevAaron · · Score: 2

    Well, if we're going to get into it...

    There also:
    Sawfish which is written using rep, which is a lisp-dialect similar to elisp.

    GWM, another lisp-based WM, dialect is called "WOOL" (Window Object Oriented Language). Interesting and old.

    GwML, a WM written in O'Caml. You even get an emacs clone scriptable and written in O'Caml as part of the package!

    Tkwm doesn't look maintained, for creating WMs (not just desktops, mind you) in Tcl/Tk.

    There are straight-up X11 bindings for other languages, which could also be used for creating window managers, with the same method of doing so in C. Ruby and Squeak Smalltalk has them for sure.

    A lot of people scoff at the idea of doing this, but frankly, I can't imagine how and why people deal with static, inconsistent environments. Having your parts of your system written in a dynamic language that you can grok means that you can make the changes to your enviornment when you want to. May seem stupid to a lot of computer users and self-proclaimed hax0rs, but for me, that is what makes a computer personal. Same reason people like emacs, I suppose.

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  48. Re:Show some proof? by scrytch · · Score: 2

    So you're too dim to turn off pop-ups on script errors and turn them into that little alert icon, so that constitutes malicious sabotage against IE users? Yes, there's errors. They either hand-hacked the code and broke it, or ended up checking the netscape compatibility box and not the IE one. Half the sites I visit have javascript errors. Does that mean there's some vast conspiracy?

    And what the hell am I doing responding to some anonymous accuser anyway? (I may make it sound like I wrote the site -- I didn't) . And why the hell am I expecting any better from slashdot?

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.