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?
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
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.
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
Because this is a perl script I wonder how easy it would be to modify this to work over the web. Somehow put it in a cgi folder and then remotly access your desktop from anywhere. Because the perl will run the same speed no matter where it is the only limiting factor in such a thing would be the connection speed. If someone was running this over a private home network 100Mbps or so I'd imagine that it would be a very usable speed. I don't know the actual ratio between the speed of the connection and the perl speed, but it is very feasable that this could work over a cable connection also. Maybe an alternative to X?
ahh, the egg in the basket..
They later rewrote it in C++ though.
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.
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.
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
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.
I just read the post and ran right away to fetch the current release of perlbox and Tk. In the past hour ive learned how it works (in a basic sense) and already started manipulating the voice command system. I was surprised at the smallness of the code in comparison to the overall look; when i ran it i thought it was a real window manager :) The TODO file states quite eloquently "alot." It appears as if he's going to be implementing a small custom POP3 client to tie in, so you could say "computer, check mail" and it would check if you have any new mails and possibly display them. Actually it looks like he's already got one in mind, just doesn't seem to be implemented.
I like the way it speaks to me (quite literally, there are wave files of a woman speaking) when i use a part of the system. It does need more commands, though, which is what i intend to develop on first; i'm going to add voice commands for simple mail checking (open mozilla or whatever in mail mode), configuring a kernel, compiling a kernel, opening more programs such as ftp clients, the ability to sign on/off of things like GAIM using basic or advanced methods (basic would be system() and kill(), advanced would be making a GAIM plugin to handle voice commands and respond with an action), and alot more. Plus i'm gonna add some custom install scripts that will load perlbox with an additional window-managing thingy like sawfish or window maker. What sucks about it is there's no way to switch around windows or even view the ones open without something like window maker (unless i missed some docs). Ooh ooh and i'm gonna add text-to-speech so perlbox can read back to you things, as well as user authentication via voice recognition. As soon as i've got something relatively stable i'm going to ask the original developer(s) of perlbox for permission to put it on freshmeat or have them provide it as a patch, or something. Should be avaliable soon.