|XPBot -- check your XP on IRC|
on Aug 25, 2002 at 14:53 UTC
|Now, I know that jcwren has an excellent bot that does this and much more. After making this reply, i decided to mess with Net::IRC. Why not make a quick XP checker? So, here is the result of my few hours of messing around. It's fun for about 5 minutes, then it starts to be annnoying. :)|
You can kick it, but it will just rejoin - unless you use the trigger text. Of course, someone can just invite it back. So, if need be, just ban it. :)
It accepts the command "get_xp username" (leaving out the username will use your nick instead) via the channel and /msg.
|Perlmonks Age Stats|
on Aug 05, 2002 at 05:37 UTC
A little while back in the CB, someone (forgive me, I have forgotten who), mentioned it would be interesting to see the age distribution of those monks who have reported their ages for the PerlMonks Stats Pages. So I decided to take a stab at generating such stats.
The script currently pulls up the upcoming birthdays page and scrapes the age information out, then outputs the requested file format (HTML or PNG). A future version might pull XML data from the server instead when it is available.
Update: T'was dada that proposed the age stats in the CB. Thanks for the reminder ;)
on Jul 04, 2002 at 05:33 UTC
|This script will upload a file and replace your scratch pad with the contents of that file. Options are included to append and prepend instead of clobbering, and to download your existing scratch pad for backup purposes. See POD for more details.|
on May 16, 2002 at 21:17 UTC
Three Scripts for the Acolytes under the sky,
A module that encapsulates behavior and code from jcwren's statswhore.pl and xstatswhore.pl, plus aspects from luke_repwalker.pl, and xluke_repwalker.pl. Also included is the histogram code by larryl.
I started playing with the scripts when I noticed that in the early versions jcwren had experienced problems using my HTML::TableExtract module. The later versions of each script instead use the XML ticker and XML::Twig module, an understandable choice given the circumstances. Nevertheless I started investigating what the original problems were with HTML::TableExtract. As it turns out, these problems have since gone away: perlmonks has a different query interface and results format for writeups via HTML, plus there are later versions of HTML::TableExtract that greatly assist in extracting HTML from the tables in question (as opposed to the traditional role of extracting tables from the HTML in question). These developments negate the need for hoop gymnastics and inheritance hell that jcwren had been forced into.
The XML interface is far quicker, but apparently not all people wish to install the associated XML modules and libraries.
This module incorporates both query methods, XML as well as HTML. The default is XML, but this behavior can be changed via the mode parameter.
If you have XML parsing problems with non UTF-8 encodings in your titles, then simply set the mode to HTML.
Behind a proxy server? Set your http_proxy environment variable to the URL of your proxy server.
Check out the code if you're interested in inheritance and polymorphism.
Updates thus far:
on May 05, 2002 at 16:23 UTC
A Perl extension to check PM experience points before a given PerlMonk reaches 'level vroom'. Handy for monks of the Saint(10)ly persuasion. Works fine as is, but substantial changes are in the works.
(as this is my first serious-to-completion-of-working-code module writing effort, I'd particularly welcome any and all criticism, complaints, rotton fruit, or even constructive suggestions)
on Mar 31, 2002 at 05:11 UTC
A simple little program that will keep a log of any changes to the title, id, or rep of your nodes, including the addition or deletion of said nodes.
2002-03-31 Edit by the node bunny : Changed login and password.
|Run and/or download code directly from perlmonk nodes.|
on Mar 24, 2002 at 02:08 UTC
|by Dog and Pony|
|Tired of copy/paste, save and then execute obfuscations, poetry or other code from interesting nodes? This small command line utility will do it for you. By default it takes the code from a node and simply evals it, but it can also download a copy with or without executing it. It uses LWP::Simple for the fetching. Use the option '-h' and read the embedded comments for more info.
Please read the warnings about possible dangers. Do not simply execute any code/node you have reason to distrust, but that of course goes for manual downloads as well. This does work well for just downloading too though, if you just want to poke around in a script. :)
Update 2: Suggestion 2 by belg4mit should be working now: Using the -d option for deparsing instead of executing should now work. Note that in-memory-deparsing uses a new feauture (v5.6.1?) in B::Deparse that won't work with older perls. Use together with -M or -F instead.
on Feb 20, 2002 at 03:33 UTC
|This script checks to see if you have received any /msg's, emails them to you, and then provides an interface to handle replies (at least it's supposed to). When you get such an email, all you do is hit reply (making sure that the info within the brackets is still in the subject), type in your msg, and hit send. In order to set it up, you need a Un*x system running an SMTP server (at least I think you do). You run this script as a daemon using root and whoever wants to take advantage of the service just creates a configuration file in their home directory in the following form:|
It's that simple (at least I hope it is).
|PerlMonks CSS Examples|
on Feb 16, 2002 at 16:36 UTC
|Petrucio recently introduced the capability to apply Cascading Style Sheets (CSS) to PerlMonks, in his We Stylin'! node. Rich36 suggested a node for sample CSS files, and I've taken it upon myself to create a node dedicated to just that. although it cannot be linked directly to user pages, it should serve as a repository for everyone's creations.|
my example is below... please feel free to add your own.
|download code from scratchpad|
on Dec 28, 2001 at 10:39 UTC
|If you've ever been to scratch pad viewer and you've wanted to download some code from somebody's scratchpad, you've noticed there is no "d/l code link". It turns out, if you use my script, you don't need it.
%>perl scratchcode.pl monkname
update: Tue Apr 2 10:37:58 2002 GMT ~ changed off trigger due to Petruchio
update: Fri May 24 11:19:30 2002 GMT ~ " as added, so gots to take it out (and also added a \n remove, jeez, i'm gonna make this obsolete soon ~ and & ~ i hope the goods see pmdev wiki soon)
update: Fri Jan 17 05:31:13 2003 GMT -- more changes, more fixes.
|Node Bookmark Lister|
on Dec 01, 2001 at 22:58 UTC
With the new changes to the way HTML is rendered in titles, this idea is now A Bad Thing To Do ™. Please disregard this post and just think of it as a fossil. :P
A cool feature about your posts is the fact that you can put HTML comments in the title of your post. Armed with this feature, it is possible to put 'category markers' in your node titles and use a script to find them and make a nice list of your favorite nodes.
The following code will do just that, the demo is on my home node. All you need to do is mark your favorite nodes by hand with something like <!--code--> or <!--obfu-->. Well that's how i did it before i saw jcwren's Bulk Node Title Editor.
The side effect is that you have to link directly to a node's id instead of it's name when referring to it in other posts, chatbox, etc. But that's okay, you use id tags, don't you? Hey Rocko! Ask 'em if they use id tags!
Feel free to send comments and suggestions to crazyinsomniac! :D
UPDATE: - after gleaming good security info from jcwren, i changed this script to accept an interactive password similiar to how mysql asks for passwords: you can specify the password on the command line with the -p option (dangerous for mulit-user boxes), or you can just specify -p by itself and be prompted for the password. I use Term::ReadKey to keep the password 'invisible'.
|Bulk Node Title Editor|
on Dec 01, 2001 at 04:59 UTC
|Allows bulk editing of user's node titles. Useful when going back and 'kudratizing' titles (see Suggestion for post-naming convention).|
|Home Node Image Rotator|
on Nov 27, 2001 at 22:26 UTC
Implements automatic updating of home node image, after so many hits on the home node. Uses a "bug" script (included) to detect hits, and this piece to automatically uploaded a new image after so many hits.
Please read the section on SECURITY and the rest of the documentation before using. Requires some responsibility on the part of the user.
|Graph displaying reputation of all your nodes|
on Oct 22, 2001 at 18:56 UTC
|Converts output from quickrep.pl into a PNG bar chart to show how many of your nodes have a given reputation.|
|Personal Nodelet Restorer|
on Sep 19, 2001 at 22:24 UTC
|by $code or die|
|This script does the reverse of jeffa's Personal Nodelet Extractor. It is also, mainly his code - so don't bother upvoting this node.
I have needed to re-input all my personal nodelets twice in the last week because I have updated my sig. See this message for more info. This will save me a good 20 minutes next time I have to do it! I need to do some nodelet housekeeping when I have time.
Update: Nov 15 2001 Added modifypn=>'on' to the POST. Also modify and uncomment the line with $ua->proxy if you need it. Thanks ybiC!
on Sep 10, 2001 at 18:27 UTC
Quickly check changes in your Perl Monks nodes' reputations. It will list all of your nodes, sorted by reputation in descending order, with any changes since the last time you ran Quickrep.
|hup - home node updater|
on Jul 21, 2001 at 18:46 UTC
hup is a home node updater. You can use it on the command line, or from a crontab, to automate updating your homenode. As always, suggestions welcome.
on Jul 19, 2001 at 13:20 UTC
along with pictures ;-)(that's clemburg on there)
Like always, no comments are welcome(now that's what I call sarcasm ;-))
on Jun 19, 2001 at 18:10 UTC
|see node drawmap.pl - Spot The Monk! - The code is posted here just for ease of use and update. (no need to vote on this, got enough XP with the first one!)|
|CGI Script for Reading Newest Nodes|
on Jun 14, 2001 at 01:08 UTC
|This script fetches the XML version of Newest Nodes and creates a page similar to the Newest Nodes page. With this script you can control which sections show up and in what order.|
|Code Catacombs Auto-Updat Example|
on Jun 11, 2001 at 05:06 UTC
|This is just an example script
I frequently update my pmchat script and have found that updating my node for it is quite a pain in the *ss. To simplify the experience, I wrote the following script that is called from my Makefile (when my script changes) and automatically updates its node under Code Catecombs.
This script WILL NOT work for you without modification. I hestitated to post it here in its form, but decided that it was probably worth the educational experience.
Note: the script draws from the cookie file that is created by my pmchat script for authentication.
|Personal Nodelet Extractor|
on Jun 05, 2001 at 23:44 UTC
|Is your Personal Nodelet getting too big? Mine sure |
Also, check out Personal Nodelet Restorer.
Comments and improvements always welcome. :)
UPDATE: - after gleaming good security info from jcwren, i changed this script to accept an interactive password similiar to how mysql asks for passwords: you can specify the password on the command line with the -p option (dangerous for mulit-user boxes), or you can just specify -p by itself and be prompted for the password. I use Term::ReadKey to keep the password 'invisible'. Because of the new nature, be sure and specify -p last, after -u and -s if used.
UPDATE (Mar 24,2002): - somebody moved 'lastnode' before 'node' so regex has been updated
on Jun 03, 2001 at 19:28 UTC
|A text-mode client for the Chatterbox.
Because pmchat is a text-mode client, it has the following shortcomings
on Jun 02, 2001 at 08:13 UTC
|This modules grabs the most recent PerlMonks.org posts using
XML::Parser and generates a HTML file containing a list of
links to those posts.
By default, the file is written to perlmonks.html. If that file already exists, a backup will be created at Operlmonks.html before the file is overwritten.
I guess you need to have the WebFetch module installed to run this.
Suggestions please ...
|PerlMonks modules 2.0|
on Sep 05, 2000 at 10:35 UTC
|The module formerly known as PerlMonksChat has gone through a major
transformation. Because its functionality now includes much more
than the chat part of PerlMonks, I have split it into several
modules: PerlMonks (base module), PerlMonks::Chat (chat stuff),
PerlMonks::Users (users and XP stuff) and
PerlMonks::NewestNodes (a threaded interface to the Newest Nodes
The code is too large to post it here, so I'll point you to the web page instead.
There are a number of clients that use these modules. Check out my home node for the full list.
on May 17, 2001 at 16:03 UTC
|xNN is a CGI newest nodes client that sorts nodes by date,
author, category, and threads (screenshots).
Displays nodes from n days in the past, or fractions of the
remember sort mode, and can undo a refresh. Requires
Note: Threaded mode can get dramatically slower as the number of nodes increases, so be prepared to wait when threading more than a few days worth (1000+). Be sure the #! and 3 config variables are correct first.
Also: For some reason xNN is now very very slow checking anything more than 1 day of nodes. Nothing changed in the script which suggests that some change in the XML ticker (or something) is causing it. I'm kind of busy now so the fix will have to wait (unless you figure it out and send me a patch :-)
Code updated: 5.23.2002
on Apr 04, 2001 at 12:28 UTC
|reputer is a perl/cgi that analyzes and displays node reputation and xp data from perlmonks.
Also includes proxy support, restricted public access mode,
Update: Fixed possible problem creating data files when first running script.
|Voting Booth Nodelet Watcher|
on Mar 18, 2001 at 22:46 UTC
|This is for people that run around life with the all important voting nodelet turned off. Don't want to be clueless to voting booth content changes? Throw this in a cron job and be clueful.|
on Mar 18, 2001 at 04:20 UTC
This is an update of luke_repwalker.pl that uses mirods XML::Twig module. It's faster because it generates few hits to the server. People like tilly should appreciate this... And ultimately it's more reliable, since it doesn't try to parse the tables of article listings.
I posted this as new code so that the old one would still be available. Some people have had trouble installing the various XML modules, or don't wish to.
on Mar 18, 2001 at 04:16 UTC
xstatswhore.pl is an update of statswhore.pl that uses mirods XML::Twig module, and includes larryls histogram code (if you like the histogram part, be sure to thank him. ++Re: statswhore.pl). This version has the advantage of being faster by generating fewer hits to the server, and fixing the problem of having exactly a multiple of 50 nodes. And the histogram part is really cool..
I posted this as new code so that the old one would still be available. Some people have had trouble installing the various XML modules, or don't wish to.
on Mar 12, 2001 at 19:37 UTC
|framechat is a Perl/CGI XML CB client modeled on the
frameset at perlmonks. Includes message inbox, private
chat, history, xp nodelet, rep change tracker, new nodes
ticker, links to vital nodes and more.
To use just fill in the configuration variables (first!) and call it from your local web server.
- emulates perlmonks chatterbox linking standards
Run it and select help for more info.
WARNING: Client authentication makes framechat more secure but exercise caution. Do not allow public access to your installation of framechat!
New in 2.0
To run framechat under mod_perl use OeufMayo's mod_perl patch.
on Feb 04, 2001 at 18:45 UTC
|repviewer parses the reputation file generated by jcwren's luke_repwalker.pl to generate a full list of your articles sorted by creation time, title or reputation just like perlmonks user search except that all articles are displayed on one page. Just set $pm and $rep.|
on Mar 18, 2001 at 05:46 UTC
|First, while this is useful and Perlmonks related, it isn't
With this, this morning I was able to walk through every post for several days worth of PerlMonks in just a few hours. Most of that time was spent writing up responses. With this I can follow the whole site with less energy than it would take to hit a reasonable portion of it through using Newest Nodes.
on Apr 11, 2001 at 23:22 UTC
Hear monks talk! Listen to your favorite monks battle it out in the chatterbox, as streaming audio! Make your co-workers think you're a basket case!
This script delivers the chatterbox as MP3 encoded streaming audio. It uses the festival/MBROLA text-to-speech (TTS) system to create the audio on the fly.
on Sep 28, 2000 at 07:18 UTC
|Designed to insert SETI@Home statistics into a users homenode, but easily modifiable for other tasks. See comments in code.|
on Sep 14, 2000 at 02:13 UTC
|Checks perlmonks at a defined interval for new seeker posts and notifies when found. Since I'm on a Windows box primarily now, it plays a .wav. Season to taste.|
on Jun 01, 2000 at 21:53 UTC
|Speech interface to chatterbox, using festival server for
the text-to-speech processing. You need to have the festival
daemon running and install the Speech::Festival module.
Since it's based on ZZamboni's Chatterbox Client you will need to download his module as well.
on Sep 10, 2000 at 21:51 UTC
|I was thinking about this program during Friday, but it was
a message from Adam that prompted me into
This program gets your personal messages from PerlMonks and displays or mails them to you. It can optionally check them off automatically. Typical use would be in a crontab entry like this:
To have it check every hour. It keeps a cache, so that every message is only displayed once. If you give it the -i option, it ignores the cache, and shows all the personal messages that you have. The -c option makes it automatically check off all the messages it displays.
This program is also part of the PerlMonksChat distribution.
|Perl/Tk Newest Nodes Client|
on Sep 07, 2000 at 01:02 UTC
|Uses zzamboni's PerlMonks.pm 2.0 to check newest nodes and put them in a graphical tree format. |
- Tree format (expand/collapse)
- Launch browser by double clicking
- User preferences are saved
- Uses existing browser window, if available
|Perl/Tk Chatterbox Client|
on Jul 13, 2000 at 00:33 UTC
|GUI Chatterbox client that works on NT and UNIX that makes use of Tk and zzamboni's PerlMonksChat module.|
- Native look and feel on UNIX and NT
- GUI username/password changing
- Userlist and XP progress bar
- Text colorization
- Checkoff of private messages
- Separate server process to talk to website to alleviate gui locks
- Clickable links that will launch an external, user definable browser
- Double-clicking userlist will launch browser to user's perlmonks home node
- Colors are customizable and persistent
- Auto name completion -- just type part of a username that's currently lurking, and hit tab
- Msg button to message currently selected user
- Control-return to send message to currently selected user
- Resizable window
- Support for HREF & CODE tags
- Support for html characters
- Colorize user's name
- Bad commands can be suppressed by option (eliminating the /msh, if you want to)
- New: Uses browser that's already open if available
Users may note that this code started as a Win32::GUI program. I have sinced ported to Tk for portability and performance.
|Personal PerlMonks Stats plot creator|
on Jul 31, 2000 at 10:47 UTC
|Here's my contribution to statistics nuts like myself. |
This utility Logs in to Perlmonks (using ZZamboni's PerlmonksChat module), gets your writeup page and creates 3 plots from the data, which are ftp'd to a server of your choice.
I run it every few days to update the graphs. All modules besides PerlMonksChat.pm are available at CPAN. See my home node for an example of the results.
Update: I no longer post the graphs on my home node. The updated code given in the replies to this node is more modern. Thanks to everyone for the kind comments I received when I first wrote this.
on Aug 04, 2000 at 08:18 UTC
|Extracts a users total writeups, and total repuration, along with min, max, and average. Account and password can be embedded into the program, or supplied on the command line|
on Aug 06, 2000 at 05:50 UTC
|This little script allows you to monitor changes to the reputation of your articles. It can produce a full report, a brief report, and/or the report from statswhore.pl. The output can be displayed to the console, e-mailed, or both. The output is designed to be parsable, in case you have other plans for it. The snapshot file is a CSV file that is directly importable into Excel or StarOffice spreadsheets. Parameters can either be specified on the command line, or patched into the script, near the top. For the paranoid, the -P allows prompting of your password from STDIN.|
I believe I've tested all the permutations, and interactions, and had no problems. I don't expect this to last.
You may notice that the article counts differ from your homenode. vroom swears this will be fixed in 0.9 of E2. It has to do with where articles are credited for Q&A's. The articles checked for rep are the ones that actually appear when you click the writeups count on your homenode display.
If you have any problems, questions, or suggestion, please let me know.
Updated 2000/09/02: I found a problem when there is an even multiple of 50 articles (the number of writeups displayed on a page). This release fixes that, and also adds mySQL DBI support so you can log all your changes to a database table (yes, the account and password for the DB is in the code, not a command line parameter. Oh well, maybe 1.00.40?). Note that if you're a statswhore.pl user, that code has not yet been patched to solve the 50's multiple problem.