Domain: cpan.org
Stories and comments across the archive that link to cpan.org.
Comments · 1,172
-
Re:Am I dumb?
Lord Grey (first post) already gave a fairly good description, but I'll repeat it here. Basically, the patent is for software that can detect all manners of numbers (e.g. 1, II, "three", etc.) and highlight them in a given document.
I'm glad to know that, for example, taking the regular expressions from here and using them here counts as stunningly creative and non-obvious.
The ability to find an highlight given patterns of expressions in a document is very old indeed. The difference seems to be that instead of using a powerful generalised pattern matching system (like, say, regular expressions) we are restricting ourselves to a particular set of patterns - specifically patterns representing numbers. Of course patterns representing numbers (in word and other forms) already formatted for ready use as regular expressions have been around for quite some time too.
There might be some merit in the particular pattern matching that Microsoft uses to identify numbers (in potentially many languages), and maybe they can copyright the regular expression (or whatever matching system they're using) to do the indentification. That makes perfect sense and is entirely reasonable. I don't see how a patent on a concept that is simply a specialisation of existing concepts really makes a lot of sense though.
Jedidiah. -
Re:Well...Of course it can -- take a look at Perl's Lingua::EN::FindNumber.
qr/((?:b(?:akers?dozen|illi(?:ard|on))|centillion
It may look ugly but it's quite simple.| d(?:ecilli(?:ard|on)|ozen|u(?:o(?:decilli(?:ard|on )|vigintillion)|vigintillion))|e(?:ight(?:een|ieth |[yh])?|leven(?:ty(?:first|one))?|s)|f(?:i(?:ft(?: een|ieth|[yh])|rst|ve)|o(?:rt(?:ieth|y)|ur(?:t(?:i eth|[yh]))?))|g(?:oogol(?:plex)?|ross)|hundred|mi( ?:l(?:ion|li(?:ard|on))|nus)|n(?:aught|egative|in( ?:et(?:ieth|y)|t(?:een|[yh])|e)|o(?:nilli(?:ard|on )|ught|vem(?:dec|vigint)illion))|o(?:ct(?:illi(?:a rd|on)|o(?:dec|vigint)illion)|ne)|qu(?:a(?:drilli( ?:ard|on)|ttuor(?:decilli(?:ard|on)|vigintillion)) |in(?:decilli(?:ard|on)|tilli(?:ard|on)|vigintilli on))|s(?:core|e(?:cond|pt(?:en(?:dec|vigint)illion |illi(?:ard|on))|ven(?:t(?:ieth|y))?|x(?:decillion |tilli(?:ard|on)|vigintillion))|ix(?:t(?:ieth|y))? )|t(?:ee?n|h(?:ir(?:t(?:een|ieth|y)|d)|ousand|ree) |r(?:e(?:decilli(?:ard|on)|vigintillion)|i(?:ginti llion|lli(?:ard|on)))|w(?:e(?:l(?:fth|ve)|nt(?:iet h|y))|o)|h)|un(?:decilli(?:ard|on)|vigintillion)|v igintillion|zero|s))/i; -
Re:competent developer
Oh, you mean this?
Copyright (c) 1999-2004 Edwin Pratomo
And since it has a copyright from 1999, I don't see why you couldn't have used it in any class project in the last few years. -
Re:Windows programming is purposely vague..
Sourceforge, Freshmeat, CPAN, GNU.org...
-
Pumpking Definition
From http://search.cpan.org/dist/perl/pod/perlhist.pod
To explain: David Croy once told me once that at a previous job, there was one tape drive and multiple systems that used it for backups. But instead of some high-tech exclusion software, they used a low-tech method to prevent multiple simultaneous backups: a stuffed pumpkin. No one was allowed to make backups unless they had the "backup pumpkin".
The name has stuck. The holder of the pumpkin is sometimes called the pumpking (keeping the source afloat?) or the pumpkineer (pulling the strings?).
Therefore, the person in charge of making sure that things arent duplicated/mixed up/general weirdness is the keeper of the pumpkin, or the pumpking. -
Re:Pumpking?
I hate to be the guy who says "Search the Frickin' Internet", but... http://search.cpan.org/dist/perl/pod/perlhist.pod It's the maintainer of a given release of Perl.
-
Re:Most comments to this review
-
An Entertaining Solution...
You can get a lot more than room temperature monitoring, if you want. I use a Davis Instruments weather station to monitor server room temperature as well as outside temperature, wind speed+direction, humidity, barometer, etc.
I use the Davis Weather Monitor II station, which can be picked up for about $350. Controlling the station from *NIX couldn't be more simple. I use the Device::WxM2 Perl module to pull data from my station. I wrote a small daemon that stores the data in RRDtool data files, as well as Perl Storables (a representation of a Perl data structure stored in a file). Another daemon monitors the current readings from the storables and sends e-mail to my pager if things go awry.
I even wrote an Asterisk AGI that speaks the weather to the caller. Call 1-866-859-7359 for a demo. -
Re:QCL
Plenty of Perl modules too to do interesting Quantum like things:
http://search.cpan.org/search?query=Quantum%3A%3A& mode=all -
Lots of easy ways to solve this...
There are some very simple ways to solve this, en-masse...
-
Set up a milter that calls HTML::Strip to strip out all HTML from email. I don't want my webpages on port 25, just like I don't want my email on port 80. Users don't know or care anyway, set it up at the MTA side and they'll get clean emails.
-
Use a real MUA, like pine, mutt or other that allows you to see the actual content of the message, not its abstracted "rendered" equivalent. I simply hit 'h' in pine, and can see the resulting link that the phisher is trying to send me to... if it doesn't match the anchor tag, it gets deleted (and forwarded to spam-$USER, see dspam below).
-
Don't run Windows. Nothing need more be said here. When the same ActiveX control is used by Exchange to "render" email into your mailbox as MSIE to "render" maliscious HTML to your browser, you should be concerned.
-
Install and configure dspam. Problem solved after only a few phish emails come through. Simply send them back to your internal spam-$USER address and you'll never see them again, including future ones that are similar. If you want to see them again, go into the web interface and send them to your mail, which will automagically re-score them lower so they get through. My users and I haven't seen a single spam get through to any of our mailboxes in MONTHS, not a single one. Beats the pants off of anything else out there that I've used.
-
Education. Teach your users that they should never respond or click URLs in email, ever, period. Show them that PayPal and eBay and other companies never ask you to log back in to verify any personal information. Show them how these systems work, and reinforce it all the time by asking them questions about it. Drill it into them.
-
-
Re:One Perl
I would suggest that the reason most don't is that, suddenly, all of your normal OS commands -- ls, cat, et al -- are no longer first-class commands and now require extra syntax to execute. This is not a good thing for most people.
http://search.cpan.org/~nwclark/perl-5.8.7/lib/She ll.pm
"Shell - run shell commands transparently within perl"
I've tried it myself, but was put off it by the difficulty (relative) of getting an "ls -l" to work. Which should tell you something.
Yes it tells me you are a moron if `ls -l` puts you off. Or if you use the above module the syntax is ls('-l') -
And for the Perl folks out there...
If you're interested in cool web frameworks, but don't want to learn Ruby, you might be interested to know there is a similar framework available for Perl called Catalyst. It's very flexible but generally takes advantage of great database mappers like Class::DBI and template engines like Template Toolkit. Many cool things are ongoing in the Catalyst community, such as Class::DBI::Sweet, a new extension to Class::DBI providing very cool automatic joins (ala ActiveRecord) and object/resultset caching.
Catalyst can be found at catalyst.perl.org or on CPAN. -
Re:PHP definitely does not follow the KISS principI admit I'm casual at work, but it is what I work on.
1. apache processes: PHP as a module is the most common setup I've seen, while mod_perl is a problem, esp. with shared hosting.
2. Sessions. PHP tries some good stuff, including rewriting all your links with the SID if cookies are disabled. But yes, PHP's possible flakiness is worrisome. Perl's still the gold standard for me. But compare trying to do *very* simple Sessions:
PHP:session_start();
Perl: // turns on output buffering, handles cookie and non-cookie case
@$_SESSION[$ct]++; // read/write a session variable without any special syntax
// that's all, session writes when script ends.
CGI::Session::CookBook ...and you have to worry about not printing before the cookie, etc. -
Re:PHP definitely does not follow the KISS princip
2. session-handling
CGI::Session. -
Re:PHP vs JSP
Any particular reason why PHP is better than Perl with HTML::Mason? That's what I'm using with my site now, mainly because Perl wipes the floor with PHP, imho (where are the labelled blocks?? no, i don't want to uglify things with a function wrapper). Also, the people in PHP IRC channels seem to be, um, wankers, for some reason.
:-) -
Re:PHP vs JSP
Back in the days, say a few years ago at least, getting JSP and Servlets up and running was a pain, even if you knew and used Java already, and had it installed. And then it was a pain configuring it all. PHP, as I remember it, has always just worked, with ease. No, I don't know how the status is today, and since I don't miss Java I don't need to know. Back then this was important though.
After all that was done, well then it was up to if you liked Java or not. And I've come to realize that Java is a language you either like or not, rarely any in-betweens. I came from Java, so in order to use PHP I'd have to learn a new language, granted it is not hard - and maybe that is the point. PHP is easier. It is not guarded by a lot of "safety syntax", but really, that usually isn't needed. Java is quite powerful, but it is also very verbose and does things the long way around, or at least it did.
I still use PHP now and then, if rarely, but right now I'm looking into Catalyst which seems really promising - it's inspired by Ruby on Rails and Maypole, among other things, but for Perl. I really wish there were some more examples and example applications to look at though, the documentation is pretty good (and there's always the source), but too see how it all should fit together, I'd like to see more from people already grokking it. I've been reading the mailing lists, this perl.com article and some other things, but that is what I am missing.
Perl has become the favourite language. It has CPAN (if Ruby had that on the same level, it'd probably be Ruby). It can do anything, and it doesn't get in your way. It also attracts lots of jokes about readability but that's just people who haven't actually made a serious try to understand. -
Re:recommendations?i wrote this in 2 seconds, but it duplicates what the original post does. you need string::random, you could roll your own but i'm lazy and counterstrike is calling my name. enjoy!
use String::Random;
-dk
$pass = new String::Random;
for($i=0;$i<26;$i+=3)
{
printf("%c-%s\t",($i+65),$pass->randpattern("...") );
printf("%c-%s\t",($i+66),$pass->randpattern("...") );
printf("%c-%s\n",($i+67),$pass->randpattern("...") );
} -
Re:Clutter...
In fact, I never go to google.com. I use the "Quick Search" feature of Firefox to do all my searches (g for google l for google/linux img google images def for google define fm for freshmeat man for man pages cpan for perl modules w for wikipedia and so on..)
There's also a handy extension that allows me to select text and open a right-click menu with all those searches for that text.
-
Re:threads support
-
Re:Perl still used?
I run a lot of webapps in Perl, and from time to time I run into DRY (Don't Repeat Yourself) stuff.
Currently I am considering Ruby on Rails or Catalyst, wich is an MVC written in perl.
Quote from the Intro.pod:
Catalyst is an elegant web application framework, extremely flexible yet extremely simple. It's similar to Ruby on Rails, Spring (Java) and Maypole, upon which it was originally based. -
Re:Perl still used?
I run a lot of webapps in Perl, and from time to time I run into DRY (Don't Repeat Yourself) stuff.
Currently I am considering Ruby on Rails or Catalyst, wich is an MVC written in perl.
Quote from the Intro.pod:
Catalyst is an elegant web application framework, extremely flexible yet extremely simple. It's similar to Ruby on Rails, Spring (Java) and Maypole, upon which it was originally based. -
Re:Request Tracker
Well, it can be ugly at times and there are certainly some rough edges, but Request Tracker will probably do the trick.
Mind you, you'll probably need a Linux or BSD server running Apache, PHP, and an SQL engine (MySQL or PostgreSQL, we use Postgres).
*Ahem*. RT does not use PHP; it's a mod_perl (and specifically, a Mason) application.
Quoting from RT's feature list page:
- RT runs great on Linux, FreeBSD, Solaris, Mac OS X and most other flavors of Unix. End users have contributed a port to Windows 2000 and Windows XP.
- RT stores all its data inside an SQL database, so you can use Crystal Reports and similar tools to generate precise reports. Right now, you can deploy on MySQL 4, PostgreSQL 7.3 or Oracle 9i. Best Practical is working to bring support for Sybase and Informix to RT as well.
- RT uses Apache's mod_perl interpreter or the FastCGI protocol, so you get blazing fast performance no matter what web server you choose.
That said, RT is a fantastic tool. I've used it at the last two jobs I've worked at, and if it's not there next time I switch jobs, I expect to introduce it. It can be a bit fiddly to get installed, as it depends on a couple of dozen CPAN modules, but the Wiki documentations's generic and specific installation guides try to make this as painless as possible, and if you get stuck there's always the mailing lists and paid support. And once RT is up and running, it's stable, versatile, flexible, adaptable, and just all around a great tool for managing a collection of on-going tasks.
If it's good enough for NASA, Merrill Lynch, DynDNS, Perl (it's the bug tracker for the Perl language), and others, then chances are it's probably good enough for you too.
:-) -
Re:Maintainability of Perl code?
I'd like to argue that Perl is very maintainable. Many studies show a correlation between LOC and number of defects. So the important thing is reducing the LOC written. The differences accountable to language syntax is negligable when you can reduce the amount of code you write by order(s) of magnitude. With Perl, you have CPAN (http://search.cpan.org/), a repository of pre-written, tested code, the vast majority of which are classes ready to use in object-oriented fashion. Now, I'm not going to say that Perl's OO syntax is anything but inelegant, but it works. What is elegant is the way CPAN works. I won't go into that here, but it does allow you to decrease by orders of magnitude the amount of code you have to write. There are great solutions for all kinds of things, such as object-relational mapping (point Class::DBI at your database, and you instantly have get/set methods to update your tables) and powerful templating (http://template-toolkit.org/), just to name a couple. There are 4000+ other examples there.
As an example of reducing lines of code, here's an article on writing a database-driven web application in 18 lines of code, and a similar article here.
But this doesn't apply to just database or web frameworks. Thanks to CPAN, this applies to anything you set out to do. CPAN modules (in general; there are exceptions) are encapsulated best practices, well tested, and a major productivity booster. And, they drastically reduce the amount of code you need to write, making your code more maintainable. -
one perl method...Depending on how you have your data, this might be useful:
http://search.cpan.org/~kester/Chart-Scientific-0. 15/
Friend of mine wrote it a while ago to do 2-D scientific plotting. If you know some PERL, you might be able to get this to fill your needs. -
Re:ugh
If you want to process plist files, you can use this Perl module:
Mac::PropertyList -
SlimServer? Apache::MP3?
Have you looked at SlimServer? It's an open source Perl server designed to power Slim Devices' MP3 players.
I used it for a bit, but ditched it in favor of Lincoln Stein's Apache::MP3. My SO still uses SlimServer to stream from home to work, though. The two coexist well on my little Debian server. I don't know if SlimServer supports FLAC; Apache::MP3 does. -
Re:Feature creep
Similarly, one could write a console app that combines the features of grep, find, locate and xargs in one "handy" command.
It's called Perl. -
Re:easy to detect cc numbers
Don't forget, valid credit card numbers can be detected via checksumming.
...same with SSN, IIRC. -
Re:I hope it's not for violence
Install Acme::Bushisms and you will be able to see that my perl rebuttal is no more dangerous than our glorious leader!
-
Re:Bullshit. CPAN SUCKS!
So let me get this right. Your 'corporate firewall' makes it difficult for you to access CPAN and this means "CPAN SUCKS" ?
The first step in using CPAN from behind a firewall is to install the latest version of CPAN.pm. This might involve manually downloading the tarball and running 'make install', but it will be well worth that small effort.
The next step depends on your preference. I'd recommend installing wget. It works nicely with 'corporate firewalls' and CPAN.pm works nicely with wget.
Then you can use
perl -MCPAN -e 'install Some::Module'
and sit back and watch the dependecies resolve themselves - works for me :-) -
CGI::PrototypeMy CGI::Prototype application framework started as an IT task for a large university I have as a client.
The strategy I used was to explain to the IT group to which I was contracted that I was leveraging from a lot of existing open source, and that the "tradition" was to return something in kind for using this software. The portions related to the generic application were thus released, while the portion I do to solve the specific problem that drove this framework remain private to the client. This is the best of both worlds.
-
Re:How not to win the corporate mind.
I have to agree. Java-Doc is one of the best things about java. The API listing is enormously useful and links regularly to the tutorials. Java is simply the most accessible, best documented language/platfrom I've used.
I do wonder why other languages don't adopt some sort of javadoc. While it may add more verbosity to an already verbose class file, modern editors allow ways to hide arbitrary sections.
Sun's api listing is vastly easier to navigate then python's , perl outdated man-page style, or even ruby
Seriously, (and I'm not trying to troll) is there anything better than javadoc? I don't see any drawbacks to it. Why doesn't the rest of the open language community adopt it? -
No CPAN.
Call me when Python has CPAN's 7848 modules. Then we can talk about "productivity".
-
And you can have it in Perl too ! (PXP)
The Eclipse plugin model is a really nice one.
First, it is really generic : you are not constrained to a particular subset of an API, like the "old-school" Netscape plugin API for example. Some would argue its over-generic : it does not provide a pre-built organization of extension points and extension for you, so you have to adapt one for your own needs.
It is also a proven base layer for a community development platform. Read: Eclipse has shown that thousands of independent developers and vendors can cooperate on this ground without stepping on others toes.
Finally, the plugin descriptors are really close to the IoC/code injection pattern. All this leads to a great toolbox for building componentized systems.
This is what decided me to port it to Perl for use in my console project. So Perl hackers will be interested to hear about PXP (Perl eXtensions and Plugins), recently uploaded on CPAN : http://search.cpan.org/~dbarth/PXP-0.1.2/
This library implements most of the Eclipse model and configuration syntax. Of course, it does not force you to derive your components from a particular, "fragile", base class : the library can work without any object dependency between the framework runtime and your program.
I'm trying to improve the configuration of the extension components, so that it is more compatible with code injection and "standard" Perl init() sub-routines, ie, not tied to a particular XML parser. This way, you'll be able to compose _and_ configure a program with regular Perl objects.
PXP has been use successfully in IMC, my other web management console project : see http://imc.sourceforge.net/ for more details.
You can discuss PXP on the IMC mailing list for now. -
some info...From the perl module:
"This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself."
-
RubricHere's a direct link to the software on CPAN:
-
Clamav
Clamav rocks for me on the mail side. Postfix, Amavisd-new, Clamav, SpamAssassin combine to form a very efficient virus and spam filtering/classifying system.
Get them here:
Postfix
Amavisd-New
Clam antivirus
SpamAssassin at CPAN
You would be particularly interested in header_checks, mime_header_checks and body_checks for Postfix. -
Re:Regular expressions in a cookbook?You mean all the sections of the perl regexp manual that say "WARNING: This extended regular expression feature is considered highly experimental, and may be changed or deleted without notice" and then go on to say things that make my head truly ache?
I personally treat this like I do Perl5 threads... as something to be afraid of, and hopeful that things will be much improved in Perl 6.
-
Re:perl6 is a mistakeI would not have worked on Perl 6 if it will break my 111 CPAN modules. So yes, we'll find a way to run CPAN.
Perl 6 also eliminated a large amount of @{[]} unreadable code -- see Pugs's modules/ and ext/ directory for examples that may be compared directly with equivalent Perl 5 modules.
-
Re:From a Free Software Developer
I tried out an evaluation version of Perl2Exe, and found that it worked nicely. However, since then I've switched to pp for converting scripts into executables. It's available under the Artistic License.
-
Re:Smarty
Many people consider it too bloated.
I concur. The trouble with Smarty is described perfectly in the "Philosophy" of the CPAN module Text::Template.
If you apply the same philosophy to PHP and Template engines, then you'll see that Savant is a much more powerful choice.
-
Re:Flickr has huge potentialfrom the tooting-own-horn dept.
As far as cross-platform, again not for me.
I don't think you looked too hard, unless you're using an obscenely unpopular platform.
Latest release of the Flickr::Upload module on CPAN includes a perl-Tk uploader. And a command-line uploader. There's a bunch of other (probably more complete) uploaders listed here.
Not official Flickr services, but one of the advantages of opening up the API is that other people can work out the support for the less mainstream users.
I do agree that the Flash thing is annoying. But you don't have to have Flash enabled to use the site. In fact, browsing Flickr is noticeably faster without a Flash plugin.
c. -
Re:Perl doesn't kill readability...
And this is exacerbated when people pull out all sorts of jiu-jitsu to apply regexes to problems that are better and more cleanly handled with a general purpose lexer.
That's what Parse::RecDescent is for.
-
Re:Perl doesn't kill readability...
I disclaim the question. What part of natural language (especially English) is "intuitive"?
Still, see perldoc perlvar. Every special variable has a mnemonic and an optional extended name, if you use the English module. For $|, it's "when you want your pipes to be piping hot".
-
Reading Perl code?-Blind leading blind.
"I think Perl appeals to hackers who like to write. I think Perl flexes some of the same mental muscles that writing and speaking flex and therefore appeals to people who tend to think in language-centric ways. It also probably explains why the primary strength of this idiosyncratic, language-like programming tool is processing text and text-like patterns. It just appeals to people who are linguistically minded and was developed with language interpretation in mind."
And yet we still can't get coders to comment their code, and write documentation.
---
Ptags -
Support and training and writingI've made a successful company out of Perl training, writing, and consulting. I've even contributed some of my profits back into the Perl community, through the Perl Foundation and its predecessors (one of whom I created with my own money).
And I've convinced some of my clients that the code I write for them for hire belongs in the CPAN, and that the magazine articles I write for them for hire belongs on the web for free.
It's all a matter of what you negotiate, and finding out what's needed and wanted and doing it. You don't need to charge for the software itself if you can figure out what else they'll need to make the best use of the software.
-
Perl on Rails
The Perl version is called Catalyst.
They have a very nice Introduction too. -
Perl on Rails
The Perl version is called Catalyst.
They have a very nice Introduction too. -
Or for Perl...
There is Catalyst
-
Re:Results would be fairer
Speaking of CPAN, I use Acme::Bleach to ensure that all of my Perl scripts are clean, easy to understand, and maintainable.