Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Perl Programming

Perlbox: A Unix Desktop Written in Perl 292

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?
This discussion has been archived. No new comments can be posted.

Perlbox: A Unix Desktop Written in Perl

Comments Filter:
  • by Anonymous Coward
    And it's really fast and powerful.

    But one bad character in the code and all your files are toast.
  • by Anonymous Coward on Wednesday April 17, 2002 @01:45AM (#3356733)
    I wonder how fast it runs?

    About

    this

    fast

    .
  • Speed (Score:2, Insightful)

    by Wheaty18 ( 465429 )
    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?
    • Re:Speed (Score:2, Funny)

      by serps ( 517783 )

      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."

      • Re:Speed (Score:2, Informative)

        by si1k ( 38767 )
        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.
      • Re:Does it matter? (Score:2, Informative)

        by Anonymous Coward
        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.
        • 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 [slashdot.org] The Perl Compiler
          • B::Asmdata [slashdot.org] Autogenerated data about Perl ops, used to generate bytecode
          • B::Assembler [slashdot.org] Assemble Perl bytecode
          • B::Bblock [slashdot.org] Walk basic blocks
          • B::Bytecode [slashdot.org] Perl compiler's bytecode backend
          • B::C [slashdot.org] Perl compiler's C backend
          • B::CC [slashdot.org] Perl compiler's optimized C translation backend
          • B::Concise [slashdot.org] Walk Perl syntax tree, printing concise info about ops
          • B::Debug [slashdot.org] Walk Perl syntax tree, printing debug info about ops
          • B::Deparse [slashdot.org] Perl compiler backend to produce perl code
          • B::Disassembler [slashdot.org] Disassemble Perl bytecode
          • B::Lint [slashdot.org] Perl lint
          • B::Showlex [slashdot.org] Show lexical variables used in functions or files
          • B::Stackobj [slashdot.org] Helper module for CC backend
          • B::Terse [slashdot.org] Walk Perl syntax tree, printing terse info about ops
          • B::Xref [slashdot.org] Generates cross reference reports for Perl programs
      • Re:Speed (Score:3, Funny)

        by serps ( 517783 )

        ...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.

    • 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.
      • Ha ha. I don't know about running coredumps, but you can compile perl. Check out perlcc.
      • I've used ActiveState's [activestate.com] 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.

    • Re:Speed (Score:5, Informative)

      by Fweeky ( 41046 ) on Wednesday April 17, 2002 @11:19AM (#3359077) Homepage
      > 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.
  • Dammit (Score:5, Funny)

    by Screaming Lunatic ( 526975 ) on Wednesday April 17, 2002 @01:51AM (#3356753) Homepage
    Dammit!!! I would have had first post if it wasn't for this perlbox desktop. ;)
  • I wish... (Score:2, Interesting)

    by dmiller ( 581 )
    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 :)
    • Re:I wish... (Score:3, Interesting)

      by si1k ( 38767 )
      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 :-)
    • Re:I wish... (Score:4, Informative)

      by Shiny Metal S. ( 544229 ) on Wednesday April 17, 2002 @02:04AM (#3356799) Homepage

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

      See Gtk [cpan.org], Gnome [cpan.org], Tk [cpan.org], Qt [cpan.org] and Wx [cpan.org] CPAN distros.

    • 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.
    • Re:I wish... (Score:5, Insightful)

      by FortKnox ( 169099 ) on Wednesday April 17, 2002 @08:29AM (#3357868) Homepage Journal
      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.
      • 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.
      • I don't mean to sound contentious, but Parrot is the virtual machine that Perl 6 [perl.org] 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).

    • Re:I wish... (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.

  • by Shiny Metal S. ( 544229 ) on Wednesday April 17, 2002 @01:58AM (#3356776) Homepage

    Read my old comment to Subterfuge with Subterfugue [slashdot.org] story: Re:Perl in the Linux kernel? [slashdot.org] 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.

    • by krmt ( 91422 ) <therefrmhere@@@yahoo...com> on Wednesday April 17, 2002 @05:20AM (#3357155) Homepage
      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.
  • funding (Score:5, Interesting)

    by psyclone ( 187154 ) on Wednesday April 17, 2002 @02:00AM (#3356784)
    I think it's cool that this group received part of a research grant to fund [perlbox.org] 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.

  • Also of note.. (Score:5, Interesting)

    by zapfie ( 560589 ) on Wednesday April 17, 2002 @02:02AM (#3356794)
    If you like stuff like PerlBox, you might also want to check out ROX-filer [sourceforge.net] 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.
    • Re:Also of note.. (Score:2, Interesting)

      by RapaNui ( 242132 )
      Actually, IIRC, ROX-filer is entirely C. It _does_ provide some sort of hooks for writing extensions or desktop panel applets in Python, though.
    • 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.
  • Why?! (Score:3, Insightful)

    by Anonymous Coward on Wednesday April 17, 2002 @02:03AM (#3356795)
    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.
    • Re:Why?! (Score:4, Insightful)

      by obsidian head ( 568045 ) on Wednesday April 17, 2002 @04:22AM (#3357030)
      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.
    • Re:Why?! (Score:2, Insightful)

      by yasth ( 203461 )
      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).
      • Re:Why?! (Score:2, Funny)

        by gilgongo ( 57446 )
        > 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.

  • Probably (Score:4, Funny)

    by Anonymous Coward on Wednesday April 17, 2002 @02:13AM (#3356825)
    runs as fast as KDE or Gnome!
  • Irony (Score:5, Funny)

    by Anonymous Coward on Wednesday April 17, 2002 @02:32AM (#3356868)
    No regular expression show how this perl desktop environment makes me feel.
  • Start menu (Score:5, Funny)

    by anpe ( 217106 ) on Wednesday April 17, 2002 @02:34AM (#3356873)

    ______
    | @_ |
    | $^ |
    | $* |
    | $1 |
    |____|_____________
    |($_)|_____________|


    (for lameless filter) qsdazewxcqsdazewxcqsdazewxcqsdazewxcqsdazewxcqsdaz ewxc
    • by shaunak ( 304231 )
      "qsdazewxcqsdazewxcqsdazewxcqsdazewxcqsdazewxcqsda z ewxc "

      "(for lameless filter) "

      Oh!
      I thought it was code for the start menu, in Perl.

  • by j09824 ( 572485 ) on Wednesday April 17, 2002 @02:57AM (#3356907)
    The idea of writing a desktop in a dynamically typed language is a good one: it can result in small, reliable, easy-to-write, efficient little applications and tools, with much less work than the C/C++ coding in Gnome or KDE. But Tk is too limiting, and Perl isn't all that great for writing GUI apps either in my experience. Something wxPython or Ruby/Gtk might be a better foundation.
    • my basic understanding is that a desktop is about:
      1. providing a toolbar/taskbar, and desktop icons. (quick and easy ways to get to the applications).
      2. integration of applications by using a defined api for communication to other apps (dnd, copy/paste, etc).
      3. common look and feel by providing libraries of widgets and widget functionality which developers can use in their applications.

      i don't see this being accomplished by using small, easy-to-write, efficient code. what are the advantages of a dynamicly typed language for this type of application (desktop) compared to a down to the metal, c/c++ type language?
    • Are you kidding me? Statically typed languages such as Haskell or Clean can be compiled with all type information removed because all of the type-checking can be done during compile time (thats why its called static). Dynamic type systems require large amounts of type information and frequently called type checking code to be used during runtime. This leads to bloat software bloat that does not exist in strongly statically typed programming languages.

      Dynamic type-checking is usually done in languages that don't have a strong proof-theoretic interpretation, like the strong interpretation that the purely functional languages have. I know that "dynamic" is one of those wonderful buzz-words thrown around to make things sound fancy, and in most cases a "dynamic" something is better than a "static" something... however, with regards to type systems, "static" type sytems are the way of the future, while "dynamic" type systems are hold hat. Lisp, for example, has been doing the dynamic type thing for decades. I admit though, that this can be a bit misleading too because what was effectively static typing was researched 100 years ago with applications to addressing the mathematical paradoxes of the time. Its not that the age of static or dynamic typing makes one worse than the other... both are old hat, but static typing has far more room to grow and a far bigger payback.

      Tell me this: When does a software developer want to catch their program bugs, at compile time or during testing? The answer is easy. If more bugs could be caught at compile time, the software development process would be sped up considerably, time, money, and other resources would be saved. Finally, because finding bugs with a strong static type system is a deterministic logical inference thing, while finding bugs with a dynamic type system is a non-deterministic brute-force rolling of dice thing, one method of error discovery (static) is far more reliable than the other (dynamic).

      For those who are interested in strong static type systems, run google searches for "curry howard isomorphism". From there you should stumble upon such important topics as: operational-calculi (lambda-calculus, pi-calculus), proof-theory (intuitionistic logic, linear logic), and category theory. I never said that creating strong static type systems was easy, but it is worth it. The fact is that more information is available during runtime, so for a static type system, lots of math has to be used in order to infer sufficiently accurate types.

      Static type checking can prevent function and procedure application errors, datatype errors, deadlocks, race conditions, and even algorithmic time complexity errors (something dynamic systems can't do)!

      Buzzwords can be misleading, and in the case of type systems, strong static type systems are preferable to strong dynamic type systems. However, strong static type systems are far more difficult to implement, and the whole area of static type systems is still actively being researched.
      • Statically typed languages such as Haskell or Clean can be compiled with all type information removed because all of the type-checking can be done during compile time (thats why its called static).

        Yes. Trouble is: many interactive applications require that information at runtime, and languages like Haskell or Clean do not provide it to programmers.

        Dynamic type systems require large amounts of type information and frequently called type checking code to be used during runtime.

        Indeed, they do. However, if the application requires that flexibility, it's better if the language defines standard ways of implementing it and the compiler and runtime support it. If they don't support it, the need doesn't go away; instead, developers use string representations, XML, union types, higher-order functions, and a lot of other mechanisms to implement their own dynamic type systems. The result ends up being less safe, less efficient, and less standardized than if it had been built into the language in the first place.

        This leads to bloat software bloat that does not exist in strongly statically typed programming languages.

        That's wishful thinking, and it's penny wise and pound foolish. You pay a small performance penalty for the type checks, but you get much more reuse and code sharing. In contrast, statically typed languages end up forcing programmers to duplicate a lot of code and hand-code all the dynamic information they might ever need, usually less efficiently and less safely than if the language just had it built in. Furthermore, runtimes for languages like Haskell or Clean, in fact, are usually very similar to dynamic runtimes because they still need some type information; they just don't expose it to programmers.

        Tell me this: When does a software developer want to catch their program bugs, at compile time or during testing? The answer is easy.

        The answer is easy only for simple-minded people who are religiously in one camp or the other. Static type checking intrinsically cannot replace dynamic typing, no matter how convenient it would be if it could: many type checking problems in interactive systems simply occur long after the program has been compiled.

        Static type checking is great for programming-in-the-small. Dynamic typing is essential for interactive applications and programming-in-the-large. And until the ML/Haskell world gets their act together and standardizes support for dynamic typing, in addition to its otherwise excellent static type system, people who need to write large, complex component software are stuck with either fully dynamically typed languages or more modest attempts like Java and C#.

      • Dynamic type systems require large amounts of type information and frequently called type checking code to be used during runtime.
        Type information is quite compact. Well-programmed dynamically typed code typically doesn't do much type checking.

        Lisp, for example, has been doing the dynamic type thing for decades.
        Lisp isn't half as ivory tower as your Haskell or ML. Don't knock it. People have used it, successfully, in very practical and important ways. When you consider the benefit and importance of Lisp to CS and computing, it dwarfs these new statically typed languages. That doesn't mean there isn't more to learn, but you should respect your elders.
        Tell me this: When does a software developer want to catch their program bugs, at compile time or during testing?
        I'd rather catch my errors at thought time. That's where I catch 99% of type errors. I don't know what kind of programmer you are, but type errors are not an issue for me. What few type errors I have are caught quickly, analyzed quickly, and fixed quickly. Deep errors are far more concerning, and not generally type-related.

        A good dynamically typed language (like Python, Ruby, or Smalltalk) will never tell you that you can't do something. With clever classes you can use a library in a way it was never intended. Things like prototype programming are possible, which is absolutely illegal in statically typed languages. Distributed objects are fairly simple to implement. You can wrap things and manipulate objects to adapt your system to the programming environment you may not be able to choose.

        The proof is very practical: people do much cooler things in dynamically typed languages than static. I know I'm somewhat biased simply because I spend more in dynamic circles, but I frankly have seen very little in the way of interesting applications coming out of statically typed languages.

        • I'd rather catch my errors at thought time. That's where I catch 99% of type errors. I don't know what kind of programmer you are, but type errors are not an issue for me. What few type errors I have are caught quickly, analyzed quickly, and fixed quickly. Deep errors are far more concerning, and not generally type-related.


          So you never have problems with concurrency bugs such as deadlock, race conditions, etc... in large interactive software applications? Give me a break! Having no such errors in your multi-threaded program is allot better than thinking that you don't have such errors, and I don't care how bad ass you think you are as a developer... allowing prevention of such issues at compile time is at least a good sanity test.

          Furthermore, catching deadlock dynamically is horribly inefficient and complicated... oh, and as always with dynamic error checking: its too late! How about race conditions? You gonna catch those bad boys during runtime? Heh, oh wait, you are too bad ass to let those sneak into your software.

          I realize that you and the other guy that replied seem to only understand type-checking as procedure/function application and data type-checking, but the static variety can allow for types that allow concurrency, but not concurrency bugs (deadlock, race conditions, etc). Also, algorithmic complexity type checking is another new kid on the block that has no equal in the dynamic type checking world...
  • by Cally ( 10873 ) on Wednesday April 17, 2002 @04:16AM (#3357022) Homepage
    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 [mozdev.org] - 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 ;)

    • Re:Perl and XUL (Score:3, Informative)

      by RevAaron ( 125240 )
      You can already create your own window managers in perl. Perlwm [sourceforge.net] 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.
  • by tps12 ( 105590 ) on Wednesday April 17, 2002 @05:53AM (#3357258) Homepage Journal
    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?
  • javascript errors (Score:2, Informative)

    by loconet ( 415875 )
    For those of you who can't get to the screenshots because of those annoying javascript errors: http://perlbox.org/screenshots.shtml [perlbox.org]
  • Camelot Naturals? (Score:3, Informative)

    by PD ( 9577 ) <slashdotlinux@pdrap.org> on Wednesday April 17, 2002 @11:36AM (#3359195) Homepage Journal
    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?
    • 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.
    • 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...
    • Another fine example of fact checking here at /..

      "Editorial Bias?? We don't even read the stories..." ~CmdrTaco
    • Re:Camelot Naturals? (Score:3, Informative)

      by yomahz ( 35486 )

      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.
  • Site redirection? (Score:2, Informative)

    by Magius_AR ( 198796 )
    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

  • . .

    is it only me, but when I clicked through to the frontpage link PerlBox.org [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 . . .

  • 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 [perlmonks.org]

    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

"An idealist is one who, on noticing that a rose smells better than a cabbage, concludes that it will also make better soup." - H.L. Mencken

Working...