Domain: cpan.org
Stories and comments across the archive that link to cpan.org.
Comments · 1,172
-
Re:Hear hear!
Perl 6 has ridiculously powerful macros--they're essentially subs that are run at compile-time, which return either strings of code or fragments of parse trees. I believe that makes them about as powerful as Lisp's.
Actually, in Perl 5, a mechanism called a source filter allowed you to modify the code (in string form) before Perl ever parsed it. It was a pain in the ass to use, but a few really cool things were done with it, like Damian Conway's Switch.pm module. Still, I wouldn't argue that it was anywhere near Lisp's level.
Actually, considering that Perl actually has syntax, and that Perl 6 macros can go anywhere that Perl 6 subs can (e.g. creating new operators), you could argue that Perl 6 macros are more powerful than Lisp ones... -
Re:Whitespace Language
Perl with Acme::Bleach
-
MP3::Info Perl module
Look at the MP3::Info Perl module, you might recognize the author's handle. It reads (and writes) tag info. It's used by the "jukebox" module Apache::MP3 (sample site) to generate pages with track info.
Basically every web jukebox out there does something like this so I'm sure there's plenty of other code available to work from. The mod_perl way is to put SetHandler perl-script then PerlHandler [name of module] in your httpd.conf file so when a URL request falls within that Location or Directory, the perl module handles returning whatever you want it to return. -
MP3::Info Perl module
Look at the MP3::Info Perl module, you might recognize the author's handle. It reads (and writes) tag info. It's used by the "jukebox" module Apache::MP3 (sample site) to generate pages with track info.
Basically every web jukebox out there does something like this so I'm sure there's plenty of other code available to work from. The mod_perl way is to put SetHandler perl-script then PerlHandler [name of module] in your httpd.conf file so when a URL request falls within that Location or Directory, the perl module handles returning whatever you want it to return. -
Re:Some SQL to solve it
Select Webpages From Google Where [...]
You laugh, but have you actually tried it?
Modifying the README's sample script slightly (the garbage filter isn't letting me do the SQL statement above):
use DBI;
my $dbh = DBI->connect("dbi:google:", $KEY);
my $sth = $dbh->prepare(qq[
SELECT title, URL FROM google WHERE Upper(q) like "DOUOSVAVVM"
]);
while (my $r = $sth->fetchrow_hashref) { ...So you can actually use Google as your database!
:-) -
Re:Perl ...
Completely without letters? Slacker. How about a method for removing all those unsightly printable characters?
SYNOPSIS
use Acme::Bleach;
print "Hello world";DESCRIPTION
The first time you run a program under use Acme::Bleach, the module removes all the unsightly printable characters from your source file. The code continues to work exactly as it did before, but now it looks like this:
use Acme::Bleach;
And if that's too much for you, and you just want to smoothe over all those confusing operators, you may want to have a look at Acme::DWIM, which just Does What I Mean:
Acme::DWIM - Perl's confusing operators made easy
SYNOPSIS
use Acme::DWIM;
my ($x) = +("Hullo " x 3 . "world" & "~" x 30) =~ /(.*)/;
$x =~ tr/tnv/uow/;
print $x;DESCRIPTION
The first time you run a program under use Acme::DWIM, the module replaces all the unsightly operators et al. from your source file with the new DWIM operator:
... (pronounced "yadda yadda yadda").The code continues to work exactly as it did before, but now it looks like this:
use Acme::DWIM;
my ($x) ... ...("Hullo " ... 3 ... "world" ... "~" ... 30) ... /(...)/;
$x ... tr/tnv/uow/;
print $x;Share and Enjoy! If you thought these were fun, thank Damian Conway -- he's a veritable fountain of this kind of inspired Perl silliness.
-
Re:Perl ...
Completely without letters? Slacker. How about a method for removing all those unsightly printable characters?
SYNOPSIS
use Acme::Bleach;
print "Hello world";DESCRIPTION
The first time you run a program under use Acme::Bleach, the module removes all the unsightly printable characters from your source file. The code continues to work exactly as it did before, but now it looks like this:
use Acme::Bleach;
And if that's too much for you, and you just want to smoothe over all those confusing operators, you may want to have a look at Acme::DWIM, which just Does What I Mean:
Acme::DWIM - Perl's confusing operators made easy
SYNOPSIS
use Acme::DWIM;
my ($x) = +("Hullo " x 3 . "world" & "~" x 30) =~ /(.*)/;
$x =~ tr/tnv/uow/;
print $x;DESCRIPTION
The first time you run a program under use Acme::DWIM, the module replaces all the unsightly operators et al. from your source file with the new DWIM operator:
... (pronounced "yadda yadda yadda").The code continues to work exactly as it did before, but now it looks like this:
use Acme::DWIM;
my ($x) ... ...("Hullo " ... 3 ... "world" ... "~" ... 30) ... /(...)/;
$x ... tr/tnv/uow/;
print $x;Share and Enjoy! If you thought these were fun, thank Damian Conway -- he's a veritable fountain of this kind of inspired Perl silliness.
-
Perligata
How does Latin Perl sound to you?
The Sieve of Eratosthenes is one of oldest well-known algorithms. As the better part of Roman culture was ``borrowed'' from the Greeks, it is perhaps fitting that the first ever Perligata program should be as well:
#!
/usr/local/bin/perl -w
use Lingua::Romana::Perligata;
maximum inquementum tum biguttam egresso scribe.
meo maximo vestibulo perlegamentum da.
da duo tum maximum conscribementa meis listis.
dum listis decapitamentum damentum nexto
fac sic
nextum tum novumversum scribe egresso.
lista sic hoc recidementum nextum cis vannementa da listis.
cis.
The use Lingua::Romana::Perligata statement causes the remainder of the program to be translated into the following Perl:
print STDOUT 'maximum:';
my $maxim = <STDIN>;
my (@list) = (2..$maxim);
while ($next = shift @list)
{
print STDOUT $next, "\n";
@list = grep {$_ % $next} @list;
}
Note in the very last Perligata statement (lista sic hoc...da listis) that the use of inflexion distinguishes the @list that is grep'ed (lista) from the @list that is assigned to (listis), even though each is at the "wrong'' end of the statement, compared with the Perl version.
Actually, Perligata is more serious than it may seem.
On one level, it uses Latin -- which packs much of the meaning of sentences into word endings rather than word order -- as a case study for a programming language that doesn't enforce a particular mandatory word order on language statements. That is, in English, "boy chases dog" has a much different meaning than "dog chases boy", but in Latin you could write it either way because the inflection on the words controls the meaning. Likewise, in most programming languages, x = y has a different meaning than y = x, but if you had a language that was agnostic about "sentence order" then you could write it either way. Using Latin allowed him to demonstrate this in practice.
Why would anyone care? Well, when Perligata was written, Perl6 was just starting to be considered, and Damian was wondering what core concepts had to be maintained and which were open to revision. Among the assumptions he wanted to consider was word order, and Perligata is a case study in how you can throw it out the window without breaking anything.
Coming down to Earth, this technique could have other applications as well. For example, the techniques used in Perligata could be applied in a source filter to convert VBScript to Perl at run time. There are issues to consider, of course, but it could work, if you wanted it badly enough. To cite a real example, one of the core plans for Perl6 is that it should be able to run existing Perl5 code, and the techniques demonstrated in Perligata will probably be used to make that possible.
Likewise, the object framework for Perl 6 is very flexible, allowing people to hand-roll almost any style of OO programming they are comfortable with. If you pair this with things like the built in Unicode support (and, allegedly, no obstacles to using Unicode symbols directly in Perl6 code for things like variables, functions, overridden operators, etc), there's no reason why people couldn't prepare "localized" versions of Perl6. It'll be interesting to see if this ends up happening, but I wouldn't be surprised at all if
-
Re:A pizza delivery program under GPL?
The script is in perl.. it will run on just about any platform
-
Re:Why bother?Not complex at all? Take a look at the UML diagram in this introductory article. I don't think form validation is really the point of JSF, but if you want to look at form validation in Perl, it is as very simple. Take a look at this example in the docs for CGI::FormBuilder for example.
I want Java to succeed, but I don't think it will ever be simpler than Perl for web applications.
-
Re:one thing perl did right
You're confusing Perl with CPAN. Perl by itself doesn't allow you to connect to a database the way you described, you use CPAN's DBI to do it. Which is a database abstraction layer, same as PEAR's DB
-
Re:Historic..
And then if you know Perl, you can always use one of the nifty graphics packages like GD to create your graphs.
Parse the datafile, plot your lines, and write the .png file. It's been a while since I've used these types of packages myself, but I remember the usage being almost trivial.
Have fun.
wbs. -
Perl port of Lucene recently available
-
Re:Yup, and I keep it...
Don't forget here.
No, I don't keep a code library, because it's easier to just use the work of these guys, who are definitely better programmers than me.
:) -
Re:EtherealTcpdump is definitely complementary to ethereal:
- it's what runs underneath ethereal, so it's good to be aware of it
- its filtering syntax is extremely flexible
- it's lightweight and only needs text or file output, so you could run it on an iPaq or whatnot
- you can record streams with tcpdump, move the log to another machine, and load it into ethereal to do the packet analysis / stream reconstruction at a later point.
- in library form (aka libpcap), lots of languages can hook to it, so you can easily do on-the-fly custom statistics calculations, instead of eating IO and disk space writing a huge log out and only processing it later. For example, even Perl + Net::Pcap running on a pentium machine is fast enough to keep up with a T3.
-
Re:need lightweight clients, not installers
Well, there's Net::BitTorrent::File, but this seems to be for use on the distribution end. Presumably the client would be Net::BitTorrent::Client, but that doesn't seem to exist yet. But BitTorrent has only really just started to catch on big-time in the last few months, so I'm sure someone will get to it before too long. A Mozilla plugin sounds like a good idea too, but that might be longer in coming.
-
Re:Apache::Mp3 - Ditto, with links
I like Apache::MP3 also. Namp! is the name of the project when all the bits are rolled together (apache, mod_perl, perl, Apache::MP3). Also CPAN is your friend.
There's a demo site so you can see the default interface and try some streams (Apache::MP3 includes a "demo" mode which stops the streams after 30 seconds).
You can block casual access with a simple .htaccess file. I'm pretty sure it *will* work on Windows, Apache, perl, & mod_perl are all available on the platform, it's just more work because all those components aren't already there.
I'll tell you two problems I've run into. If you use username/passwords in .htaccess to secure it, the username & password will be a part of the URL for each streamed track and may be clearly visible on the desktop, depending on which streaming client you're using. Also some older clients may not work with URLs that include the user:pass in it. It's been a while but I think Windows Media Player was the one that gave me the most trouble.
Embedded album art in a track may also cause trouble for some clients, specifically iTunes and RealOne (v9 at least, haven't tried the beta). In my testing the album art was added by MusicMatch and iTunes adds them another way (so each app can't see the other's album art) so how the art is added to the track may be a factor. Actually, I think it's more likely that some clients just can't handle streaming tracks with too many bytes of ID3 tag data but I haven't tried any experiments to prove it.
Whether or not you can fast forward or rewind *within* a track depends upon the client. WinAmp does it like a champ. I'm pretty sure Xmms does too. iTunes does not. Someone has told me RealOne Player can do it but it hasn't worked for me.
iTunes is a bad streaming client because it permanently adds each streamed track to your Library. You have to manually select and delete them to clean it up.
If you don't want to bother streaming your own music, I recommend the "Internet radio station" RadioParadise. 128Kbps (or lower in a variety of formats, eclectic, listener-supported, no ads. -
In a word, yes.
-
Re:PHP vs. Perl[...]because the syntax is so familiar for a lot of developers.
That's my impression as well. A somewhat simplistic description of PHP 4's syntax is that it's similar to Perl, but is resembles 'C-like' syntax more than Perl does. A lack of things like implicit variables in PHP seems to make it a little easier to come back to a project months later or look at someone else's code and follow the program logic a little more easily than Perl is. (PHP 5 is adds syntax features that resemble Java more, as well).
PHP has a fair amount of strength in the text-handling area, similar to Perl, but PHP is a bit more 'focussed' on talking to network servers (database servers, webservers, network sockets, ftp servers...).
On the other hand, PEAR and PECL don't have nearly the mind-boggling breadth of add-on modules that Perl's CPAN does...
(As usual, I'm compelled to note that PHP is no longer 'just for web pages' any more than Perl is 'just for generating reports'. I've found it handy for a lot of small system administration tasks that Perl is also good for. You can even use Ncurses or GTK - or, conceivably, Java GUI classes to build standalone apps with it, if you feel the urge...)
-
Re:PHP vs. PerlWell, if you rose from the ranks, then you should be able to perform a simple test:
- Think of a task that will take about 20 minutes to program
- Program it in both Perl (use perldoc as another poster suggested) and PHP (use php.net/manual/en)
- Wait 2 weeks
- Attempt to add a simple feature to each script. Time yourself and compare
- ???
- Profit!
When I go back and look at my Perl scripts I wrote a couple weeks ago, it takes me a while to get my head back into the script. With PHP, the code is always straight forward. It may be more verbose, but I understand it much more quickly than my Perl.
Besides this, I've found PHP's documentation to be far superior to any other languages'. When I do web programming, give me PHP anyday.
The only thing Perl has over PHP in my mind is that CPAN is currently far superior to PEAR. If you need many special libraries, you may want to consider Perl.
</ramble> -
Re:Wouldn't be much work in Tcl
-
Re:Parrot/Perl6
I'm not very familiar with Parrot
If you want more informations about parrot and perl6, you might want to have a look at the mailling lists (parrot|perl), you can also access them via nntp at nntp.perl.org, or subscribe here. You'd perhaps perfer to browse the summaries of Piers Cawley.
For more documentation, consider the parrot's wiki, Dan Sugalski's blog, or even browse the source.
For the languages supported -- some are already functionnal, some not -- here's what i have in the last tarball i took: BASIC, Befunge-93, befunge, bf, cola, conversion, forth, imcc, jako, m4, miniperl, ook, parrot_compiler, perl6, plot, python, regex, ruby, scheme, tcl, urm.
Who said parrot didn't had fun? -
Re:Agreed, this may just be too much, too late
How many coders will follow the new syntax and features?
I already do follow Perl6 syntax, sometimes. They keep back-porting Perl6 ideas to perl5: Bundle-Perl6-0-0.05And when "Perl 6" is finally released, I expect to continue mixing and matching perl5 and perl6 constructs, gradually shifting over to 6, without throwing away any existing libraries written for perl 5.
I expect that this process is going to be a hell of a lot easier than switching to any other language would be...
-
Re:I predict...
I agree completely, perl is just fun to code in! I've had to use asp at work here for the past month or so, and while it was incredibly easy to learn, I kept finding myself digging through books/websites to find something that I could have done in perl very quickly. Part of that is definately due to me haveing much more experience with perl though. But it just wasn't fun to use, as it seemed incredibly backwards in some cases. Though other things were very nice (and much like PHP). I've tried ruby, and looked at python, but I'll stick to perl, C, and C++ to get my work done.
Regular expressions are also cool...not a way to impress the ladies though...but imagine a world in which it were! How cool would perl coders be then? All of these people would be the Hugh Hefner's of the world! -
Re:bash
I resent your paraphrase. Because of this I am not compelled to help you, but I will anyway because I am arrogAnt. If I were in your situation, I would write a perl script that uses this module (hey look it that! it's written by the mozilla people!) to automate your javascript interface tasks.
But as long as your method is working, by all means, keep using it. -
Re:AI Edge Will Bypass Industry Establishment!
Association for Computing Machinery on Mentifex artificial intelligence
Ben Goertzel, Ph.D., on Mentifex artificial intelligence
Comprehensive Perl Archive Network: Mentifex AI mind.txt gameplan
Free Software Donation Directory: Mentifex AI Project
Nanomagazine interviews Mentifex on independent AI scholarship
Redpaper archive of Mentifex documents on artificial intelligence
Agents Portal selling Mentifex AI4U textbook of artificial intelligence
GameDev.net selling Mentifex AI4U textbook of artificial intelligence
GreatMindsWorking selling Mentifex AI4U: Mind-1.1 Programmer's Manual -
Re:Tivo2
Luckily xmpcrd already lets my linux machine record, id3tag and ogg/mp3 encode XM Radio.
It can even search for substrings in songs/shows and record them as they appear.
I can timeshift CPAN Radio all day. Just what a your political junkie needs.
And now there is a new Punk Channel as well (Fungus 53). *Sweet* -
Re:Maybe...
He said Perl, not PERL.
-
Here's my Electronic Enigma Machine
Here's my Electronic Enigma Machine.
-
Re:No, Pythona) Scripting languages are very useful in cases where one needs to develop proof-of-concepts quickly. Perl saves a lot of time in this area.
b) Engineers in our lab (we're a computational biology lab) can easily write up Perl code (for data analysis etc.) more easily than having to explain it to a software engineer. Their time is definitely better spent on research than mastering the art of software engineering.
c) We have Perl modules for most of our tasks - graphics, graph visualization, http client etc. All these are available via CPAN, saving the hassle of searching for a particular library.
We've been working on a project written in Perl for about two years now, and the code is still readable and maintanable. My colleague (an engineer, non-s/w) can follow the entire project. Recently though, we started migrating the project slowly to Java. Ironically, Java code is being much harder to follow. But maybe it has to do with how the code is organized.... The bottom line is, the choice of the programming language doesn't determine the readability of the code.
-
python on the desktop, perl at the serverserver side
There's one thing that I dont see on the list (Mod python). But I think that even with MP's inclusion, Python lacks the depth and quality of CPAN for web server integration. There is no simply no comparable resouce for usable tested code in Python like Perls CPAN.
client sidePython integrates into gui's better. This something (currently) where perl sucks really (being embedded). Python also runs on windows extremely well. This is somthing Perl via Activestate tries but has yet to pull off. For some everything requires a hammer. For me it's python on the desktop, perl at the server.
-
Portability + Amazing modules (Time savers)Even in the win2k leaked source are at least 17 perl scripts...
I admire the great Portability and if you are looking at www.passport.net there is even a commercial link 2 activestate.com .
I had made many TK-perl appz (on win XP) compiled with Visual Studio 7, and everything is running fine on *unix and mac.
The module section on cpan.org is amazing.. and as a sample php has only made a bad clone with pear.
(I had less pain in tk-perl then using html+dhtml to be compatible with the above 3 OS.)Hey and most of it is FREE. - (So stop it blaming on module incompatiblitys)
Some additional links:- www.indigostar.com (perl 2 exe)
- dada.perl.it
- (Each Win32 APIs or third-party or even homegrown DLLs are usable with perl.)
- Oreilly Perl bookshelf
- containing six books.
Komodo activestate.com is in my opinion one of the best editors and debuggers in this world. (Beside the new web package manager is a little bit buggy, but everything else works fine... And be sure to take a look at the great regex evaluator.)
And of course dont miss Larry Wall "O'Reilly Perl Programming" or Programming Ansi C by Brian W.Kernighan and Dennis M.Ritchie
Eighter i think you couldn't be a good unix admin without the knowledge and the module section of pe(A)rl.
-
Re:Perl...
No, I mean like:
Doc
Something a little more thorough.
http://www.perldoc.com/
Unit Testing
Not just wrappers, but something a little more thorough and mature like say from executable to module.
Unit Testing
Library Repository
http://raa.ruby-lang.org/
..pales in comparison to...
http://www.cpan.org/
Portability
[Acorn] [AIX] [Amiga] [Apple] [Atari] [AtheOS] [BeOS] [BSD] [BSD/OS] [Coherent] [Compaq] [Concurrent] [Cygwin] [DG/UX] [Digital] [DEC OSF/1] [Digital UNIX] [DYNIX/ptx] [EMC] [Embedix] [EPOC] [FreeBSD] [Fujitsu-Siemens] [Guardian] [HP] [HP-UX] [IBM] [IRIX] [Japanese] [JPerl] [Linux] [LynxOS] [Macintosh] [Mac OS] [Mac OS X] [MachTen] [Minix] [MinGW] [MiNT] [MPE/iX] [MS-DOS] [MVS] [NetBSD] [NetWare] [NEWS-OS] [NextStep] [Novell] [NonStop] [NonStop-UX] [OpenBSD] [ODT] [OpenVMS] [Open UNIX] [OS/2] [OS/390] [OS/400] [OSF/1] [OSR] [Plan 9] [Pocket PC] [PowerMAX] [Psion] [QNX] [Reliant UNIX] [RISCOS] [SCO] [Sequent] [SGI] [Sharp] [Siemens] [SINIX] [Solaris] [SONY] [Sun] [Symbian] [Stratus] [Tandem] [Tru64] [Ultrix] [UNIX] [U/WIN] [Unixware] [VMS] [VOS] [Win32] [WinCE] [Windows 3.1] [Windows 95/98/Me/NT/2000/XP] [z/OS]
User Community
A little more world wide and established.
http://www.pm.org/ ...in addition to the mailing lists.
So, what were you on about again?
From the parent parent parent poster. "Ruby has almost all of the power of Perl, with none of the ugliness" isn't quite a fair statement, considering Ruby is lacking or behind on almost everything else Perl is superior at. Ruby is still playing catch up, and depending on who you ask, can also be considered ugly.
-
What is your point?
Disallowing patented code I see as reasonable, since I see that as one of the biggest potential future challenges the GPL will face - What happens when something like the Unisys mess happens, with code that has used the GPL for 10 years? Substantially violating the spirit of the GPL, I do not see as acceptible. Something like restricting it to non-commercial or non-military use gets a bit more messy, but the way I see it, letting someone use the GPL as the core of their license at least allows a stable underlying framework, and reduces the potential for having a hellish tangle of conflicting licenses (ie, would you rather read 27 pages of "Fred's semi-open license V3.1", or "GPL, with the exception that you can't use it for blah"?).
And what exactly is stopping you from doind this today? HINT: Mail::Sender module's man page:
COPYRIGHT
Copyright (c) 1997-2002 Jan Krynicky . All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.* There is only one aditional condition, [sic] you may NOT use this module for SPAMing! NEVER! (see http://spam.abuse.net/ for definition) [emphasis added].
*Perl itself may be copied only under the terms of either the Artistic License or the GNU General Public License, which means that the effective license of Mail::Sender is either the Artistic License with the added restriction or the GPL with said restriction. This is a restriction on use, mind you, which means that the Mail::Sender's license is an EULA, so it's even much more than what you are complaining about. Now, you might say that spamming is illegal anyway, or if you know Jenda that he himself doesn't give a flying fuck about spamming and this is why this very module was born in the first place, but still this is a clear example that what you imply is impossible, is in fact not only possible, but also being used for years.
Of course I might have failed to understand your real concerns, in which case please clarify what is your real problem with the GNU General Public License. (Of course I assume you have read it.)
Speaking about the advertising clause of original BSD-style licenses, I believe that changing the GPL to make them GPL-compatible would be unwise at least. That would cause the same problems as invariant sections in works covered by GNU FDL, while targetting a much less important issue. I highly urge you to consider this.
-
Re:plausible but ease of use?
(Note that I can speak Chinese but can hardly imagine trying to program in it.)
Only in perl... -
Re:enough time
-
Re:He could be on to something, here!
database-aware Perl CGI scripts without having to use his web host's SQL servers
DBD::AnyData sounds like what you're after. A module which allows you use standard Perl DBD database access to non-database sources, like various text files or a even a "database" built in RAM from Perl hashes or arrays, which you can then query with SQL. -
Re:C#
Not sure I'm with you on pass by value, it's already done with RMI/Serializable Objects for instance.
Big +1 on generics, I can't wait until 1.5! Also, Java 1.5 attributes will make themselves useful in some situations, but they are already here in several open source libraries.
I'd take C# as an option in a real solution (read: billable) only in two scenarios: 1. I have a MS only client (I do!) or 2. The open source community gets a lot more excited about it.
To elaborate, the fact that Java has such a rich open source landscape eclipses C#'s marginal feature wins. There has been a compiler supporting generics for quite a while now. Attributes and real AOP have several open source projects implementing them in different ways. These types of things are on the fringes of the java open source community.
There are so many mature java open source projects that provide real benefits to a programming team that I am about to be absolutely unfair by naming some. The C# community is a long way away from boasting these achievements.
- Useful stuff for most or all projects
- Apache Maven goes beyond build automation to provide open source project management, dependency management, documentation, code metrics, application server deloyment, and a lot more.
- Hibernate provides true database independence and allows one to address persistence requirements independent of the object model
- Apache's Jakarta Commons is a thriving community providing small useful components that end up being useful in more situations than you expect. Some of the components in here loosely correspond to more coarse-grained things in the Microsoft
.NET Class Library. Examples: HttpClient, dbcp (database connection pooling), betwixt (System.Xml.Serialization)
- Some much more coarse grained application components are around as well:
- Apache Jakarta Lucene is a sophisticated indexing and searching library
- Drools provides a rules engine complete with a modification of the Rete algorithm for Objects
- blissed is a workflow library based on finite state machines.
- Apache Cocoon is much more than an XML pipeline framework. It enables multi-format publishing and also serves as a web application framework.
As many programmers will protest, my list above is far from representative; also, it shows my Apache and Codehaus bias. My point is exactly that; not only is the list far from representative, most or all of the components I mentioned have competitors! The advantage this bestows on java over
.NET is significant.I do not mean to argue that java is the only language that enjoys these advantages; I hear CPAN is a boon to perl hackers, and I have the impression that there is a lot going on in the open source python world. My utter lack of experience with C/C++ prevents me from commenting on the similarity of that situation, but the existence of glibc suggests some open source activity.
In summary:
.NET is young, and suffers from a lack of a thriving open source community. -
Re:Even as a Linux weenie...Since AppleScript has been part of MacOS since around '94, I don't think Ruby would have been a contender. Considering how differnent the underlying OS was from Unix at that time, I'd find it surprising if scripting languages like Python or Perl fit into MacOS 7 very well (surprising, but not impossible).
The first time I saw Tcl was in the Alpha editor under MacOS 7, so it was available there. Wether or not Tcl would have been a good choice for a system-wide scripting language is another arguement.
Note that there are now AppleScript libraries for Python, and Perl has Mac::AppleScript and Mac::Glue modules, among others, so it's fairly easy to trigger AppleScript events from something other than applescript. In fact with the PerlObjCBridge it's possible to make Perl the data model for an objective-C gui.
-
Leave it to a Physician
Leave it to a Physician to seek a formal educational path to a career in IT. Of course, you can't become a doctor through self-study, but you CAN become a programmer. Fortunately, all the information you need to start down the road to a career in IT is available online. I say "start", because the other two elements to a successful career aren't available in any book or on any site: The first is experience writing code and the second is experience dealing with other IT people professionally.
So what are you waiting for? Get to it.
RP -
Re:Neat item
Finally, a use for Perl's Bone::Easy module.
-
Use POD and pod2manYeah, it's trival: use POD. And pod2man. Or any other format you want (po2html, pod2text, etc) on almost any system with Perl on it. And integrate it in to your program as online help. And usage. And and and...
Use the right tool, don't let the wrong tool use you.
- Barrie
-
Use POD and pod2manYeah, it's trival: use POD. And pod2man. Or any other format you want (po2html, pod2text, etc) on almost any system with Perl on it. And integrate it in to your program as online help. And usage. And and and...
Use the right tool, don't let the wrong tool use you.
- Barrie
-
Here's what you do...To see if someone you know has an Orkut account, head on over to their "forgot password" page here, enter their email address, and hit submit.
If it responds with "invalid e-mail address", then you struck out; if not, score!
Now, next thing to do is to automate this with your mailbox, and then see which of your "friends" didn't invite you!
-
Re:the real contest
I went to this page. And correct me if I'm wrong, but you have to pay?
:)
See: http://www.cpan.org/ports/#win32
However! If you don't know Perl, perhaps I can point you in the direction of Python instead? It is far superior, being both easier for the beginner and more powerful for the advanced programmer. There are some excellent tutorials... -
Re:the real contest
-
Haiku error messages
Just use the "Coy" module, and all the error messages you output from your Perl programs can be Haikus, as well.
From the module's documentation:
When a program dies
what you need is a moment
of serenity.
The Coy.pm
module brings tranquillity
to your debugging.
(Note that the documentation for Coy is, you guessed it, in Haiku form)
-
Re:Perl in the real world
Whose fault could that be?
Next time, use some discipline
I suggest Test::More(Maybe the hyperlink is cheating.)
-
ask me?
ask me to write a plugin to perl's NetworkInfo-Discovery?
-
Re:10 Lines?
Would you settle for a pony?