… | |
… | |
101 | if (grep /git/, @args) { |
101 | if (grep /git/, @args) { |
102 | print <<EOF; |
102 | print <<EOF; |
103 | <li><a href='http://git.ta-sa.org/?p=$name.git;a=summary'>Browse GIT repository '$name'</a></li> |
103 | <li><a href='http://git.ta-sa.org/?p=$name.git;a=summary'>Browse GIT repository '$name'</a></li> |
104 | <li>Read-only GIT checkout:<br /> |
104 | <li>Read-only GIT checkout:<br /> |
105 | <tt> git-clone http://git.ta-sa.org/$name.git</tt> |
105 | <tt> git-clone http://git.ta-sa.org/$name.git</tt> |
|
|
106 | </li> |
|
|
107 | <li>(EXPERIMENTAL) contributor CVS access (command requires CVS versions (>= 1.12.11)):<br /> |
|
|
108 | <tt>cvs -d ":ext;CVS_SERVER=git-cvsserver:USER\@ruth.plan9.de/gitroot/$name.git" co -d $name master</tt> |
106 | </li> |
109 | </li> |
107 | EOF |
110 | EOF |
108 | } else { |
111 | } else { |
109 | my $modules = $name; |
112 | my $modules = $name; |
110 | $modules = "$1" if grep /modules\((.*)\)/, @args; |
113 | $modules = "$1" if grep /modules\((.*)\)/, @args; |
… | |
… | |
271 | libptytty is an offspring of rxvt-unicode that handles pty/tty/utmp/wtmp/lastlog handling |
274 | libptytty is an offspring of rxvt-unicode that handles pty/tty/utmp/wtmp/lastlog handling |
272 | in mostly OS-independent ways, so it's less of a hassle for you :) |
275 | in mostly OS-independent ways, so it's less of a hassle for you :) |
273 | |
276 | |
274 | Mailing list and contacts are the same as for rxvt-unicode, above. |
277 | Mailing list and contacts are the same as for rxvt-unicode, above. |
275 | |
278 | |
276 | gtkbfc cvs-co(README) |
279 | gtkbfc cvs-pod(README) |
277 | Gtk+ bash file chooser replacement. |
280 | Gtk+ bash file chooser replacement. |
278 | |
281 | |
279 | <b>gtkbfc</b> is a hack that replaces the dreaded, slow and hard-to-use GTK+ |
282 | <b>gtkbfc</b> is a hack that replaces the dreaded, slow and hard-to-use GTK+ |
280 | file chooser by a rxvt-unicode window with a little script that lets you use |
283 | file chooser by a rxvt-unicode window with a little script that lets you use |
281 | readline tab-completion to enter filenames. |
284 | readline tab-completion to enter filenames. |
… | |
… | |
316 | It could be used to write Knuddels clients, bots and even servers |
319 | It could be used to write Knuddels clients, bots and even servers |
317 | (although the latter doesn't make much sense, the protocol is rather |
320 | (although the latter doesn't make much sense, the protocol is rather |
318 | ugly. If you want to implement your own group communication server, use |
321 | ugly. If you want to implement your own group communication server, use |
319 | IRC instead). |
322 | IRC instead). |
320 | |
323 | |
321 | Net-IRC3 cpan-elmex cvs-pod(lib/Net/IRC3.pm,) cvs-co(Changes) cvs-co(samples/netirc3cl) cvs-co(samples/netirc3) |
324 | AnyEvent-IRC cpan-elmex git-pod(lib/AnyEvent/IRC.pm,) git-co(Changes) git-co(samples/anyeventirccl) git-co(samples/anyeventirc) |
322 | This module provides an alternative to the Net-IRC and Net-IRC2 |
325 | This module provides an alternative to the Net-IRC and Net-IRC2 |
323 | modules. Its design rationale is offfering a 100% non-blocking |
326 | modules. Its design rationale is offering a 100% non-blocking |
324 | callback-based interface, RFC-compliant parsing and a lightweight |
327 | callback-based interface, RFC-compliant parsing and a lightweight |
325 | approach to modularity and reusability. |
328 | approach to modularity and reusability. |
|
|
329 | |
|
|
330 | Guard cpan cvs-pod(Guard.pm,) cvs-co(Changes) |
|
|
331 | This small module implements scope and object guards, that is, code blocks |
|
|
332 | that are executed when a scope is being exited (or an object is destroyed). |
|
|
333 | |
|
|
334 | Much effort was invested into these guards behaving "sensibly" in the |
|
|
335 | presence of thrown exceptions, errors and other adverse conditions, as |
|
|
336 | well as into good performance. |
326 | |
337 | |
327 | Net-IRC-Server cvs-pod(Net/IRC/Server.pm,) |
338 | Net-IRC-Server cvs-pod(Net/IRC/Server.pm,) |
328 | This module provides a simple API for handling the IRC Protocol |
339 | This module provides a simple API for handling the IRC Protocol |
329 | aiming at implementing lightweight IRC-Servers. |
340 | aiming at implementing lightweight IRC-Servers. |
330 | |
341 | |
… | |
… | |
386 | Perl module family for the <a href="http://www.deliantra.net/">Deliantra</a> game. |
397 | Perl module family for the <a href="http://www.deliantra.net/">Deliantra</a> game. |
387 | |
398 | |
388 | They can be used to read/write/cache archetypes, image packs and map files. |
399 | They can be used to read/write/cache archetypes, image packs and map files. |
389 | Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. |
400 | Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. |
390 | |
401 | |
391 | deliantra/gcrossedit cvs-pod(bin/gde,) |
402 | deliantra/gde cvs-pod(bin/gde,) |
392 | The <a href="http://www.deliantra.net/">Deliantra</a> editor, written in Perl + Gtk2. |
403 | The <a href="http://www.deliantra.net/">Deliantra</a> editor, written in Perl + Gtk2. |
393 | |
404 | |
394 | The editor for the game Deliantra, written in Perl. |
405 | The editor for the game Deliantra, written in Perl. |
395 | Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. |
406 | Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. |
396 | |
407 | |
… | |
… | |
414 | As the name implies, using this module makes your perl program run |
425 | As the name implies, using this module makes your perl program run |
415 | faster. Actually, much slower initially, as it compiles every function |
426 | faster. Actually, much slower initially, as it compiles every function |
416 | to C and later to a shared object, but then you can expect a performance |
427 | to C and later to a shared object, but then you can expect a performance |
417 | increase by 10-50%, depending on what your program does. |
428 | increase by 10-50%, depending on what your program does. |
418 | |
429 | |
419 | liblzf cvs-co(README) cvs-co(lzf.h) |
430 | liblzf cvs-co(README) cvs-co(lzf.h) dist |
420 | LibLZF is a very small data compression library. |
431 | LibLZF is a very small data compression library. |
421 | |
432 | |
422 | It consists of only two .c and two .h files and is very easy to |
433 | It consists of only two .c and two .h files and is very easy to |
423 | incorporate into your own programs. The compression algorithm is very, |
434 | incorporate into your own programs. The compression algorithm is very, |
424 | very fast, yet still written in portable C. More info and the latest |
435 | very fast, yet still written in portable C. More info and the latest |
… | |
… | |
440 | See <a href="http://www.goof.com/pcg/marc/lmainit.html">its homepage</a> for more info. |
451 | See <a href="http://www.goof.com/pcg/marc/lmainit.html">its homepage</a> for more info. |
441 | |
452 | |
442 | Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes) |
453 | Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes) |
443 | Perl module implementing forward error correction using Vandermonde matrices |
454 | Perl module implementing forward error correction using Vandermonde matrices |
444 | |
455 | |
445 | AnyEvent cpan cvs-pod(lib/AnyEvent.pm,) cvs-pod(lib/AnyEvent/Intro.pod,Introduction/Tutorial) cvs-co(Changes) cvs-pod(lib/AnyEvent/Util.pm,AnyEvent::Util) cvs-pod(lib/AnyEvent/Handle.pm,AnyEvent::Handle) cvs-pod(lib/AnyEvent/Socket.pm,AnyEvent::Socket) cvs-pod(lib/AnyEvent/DNS.pm,AnyEvent::DNS) cvs-pod(lib/AnyEvent/Impl/EV.pm,AnyEvent::Impl::EV) cvs-pod(lib/AnyEvent/Impl/Event.pm,AnyEvent::Impl::Event) cvs-pod(lib/AnyEvent/Impl/Glib.pm,AnyEvent::Impl::Glib) cvs-pod(lib/AnyEvent/Impl/Tk.pm,AnyEvent::Impl::Tk) cvs-pod(lib/AnyEvent/Impl/Perl.pm,AnyEvent::Impl::Perl) cvs-pod(lib/AnyEvent/Impl/Qt.pm,AnyEvent::Impl::Qt) cvs-pod(lib/AnyEvent/Impl/EventLib.pm,AnyEvent::Impl::EventLib) cvs-pod(lib/AnyEvent/Impl/POE.pm,AnyEvent::Impl::POE) |
456 | AnyEvent cpan cvs-pod(lib/AnyEvent.pm,) cvs-pod(lib/AnyEvent/Intro.pod,Introduction/Tutorial) cvs-co(Changes) cvs-pod(lib/AnyEvent/Util.pm,AnyEvent::Util) cvs-pod(lib/AnyEvent/Handle.pm,AnyEvent::Handle) cvs-pod(lib/AnyEvent/Socket.pm,AnyEvent::Socket) cvs-pod(lib/AnyEvent/DNS.pm,AnyEvent::DNS) cvs-pod(lib/AnyEvent/Impl/EV.pm,AnyEvent::Impl::EV) cvs-pod(lib/AnyEvent/Impl/Event.pm,AnyEvent::Impl::Event) cvs-pod(lib/AnyEvent/Impl/Glib.pm,AnyEvent::Impl::Glib) cvs-pod(lib/AnyEvent/Impl/Tk.pm,AnyEvent::Impl::Tk) cvs-pod(lib/AnyEvent/Impl/Perl.pm,AnyEvent::Impl::Perl) cvs-pod(lib/AnyEvent/Impl/Qt.pm,AnyEvent::Impl::Qt) cvs-pod(lib/AnyEvent/Impl/EventLib.pm,AnyEvent::Impl::EventLib) cvs-pod(lib/AnyEvent/Impl/IOAsync.pm,AnyEvent::Impl::IOAsync) cvs-pod(lib/AnyEvent/Impl/POE.pm,AnyEvent::Impl::POE) |
446 | This module offers a simple API for I/O, timer, signal, child process |
457 | This module offers a simple API for I/O, timer, signal, child process |
447 | and completion events, independent of a specific event loop. |
458 | and completion events, independent of a specific event loop. |
448 | |
459 | |
449 | <p>This module allows module authors to use those events internally without |
460 | <p>This module allows module authors to use those events internally |
450 | forcing users of the module to use a specific event loop, without adding |
461 | without forcing users of the module to use a specific event loop, without |
451 | noticable overhead. Currently supported event loops are EV, Event, |
462 | adding noticable overhead. Currently supported event loops are EV, Event, |
452 | Glib/Gtk2, Tk, Qt, Event::Lib and POE (and thus also WxWidgets and |
463 | Glib/Gtk2, Tk, Qt, Event::Lib, IO::Async and POE (and thus also WxWidgets |
453 | Prima). It contains a very fast (see benchmarks in the main manual page) |
464 | and Prima). It also comes with a very fast (see benchmarks in the main |
454 | Pure Perl event loop and doesn't rely on XS, which ensures that your |
465 | manual page) Pure Perl event loop and doesn't rely on XS, which ensures |
455 | program will always run even when no C-based event loop is available.</p> |
466 | that your program will always run even when no C-based event loop is |
|
|
467 | available.</p> |
456 | |
468 | |
457 | <p>In addition to the event core (which might be all you need), AnyEvent |
469 | <p>In addition to the event core (which might be all you need), AnyEvent |
458 | comes with an optional, fully asynchronous, pure-perl DNS resolver |
470 | comes with an optional, fully asynchronous, pure-perl DNS resolver |
459 | library supporting UDP, TCP and EDNS0, with many utility functions to |
471 | library supporting UDP, TCP and EDNS0, with many utility functions to |
460 | "just resolve" stuff without having to instantiate even a resolver object |
472 | "just resolve" stuff without having to instantiate even a resolver object |
… | |
… | |
556 | Coro cpan cvs-co(Changes) cvs-pod(Coro.pm,) cvs-pod(Coro/AIO.pm,Coro::AIO) cvs-pod(Coro/AnyEvent.pm,Coro::AnyEvent) cvs-pod(Coro/BDB.pm,Coro::BDB) cvs-pod(Coro/Channel.pm,Coro::Channel) cvs-pod(Coro/Debug.pm,Coro::Debug) cvs-pod(Coro/EV.pm,Coro::EV) cvs-pod(Coro/Event.pm,Coro::Event) cvs-pod(Coro/Handle.pm,Coro::Handle) cvs-pod(Coro/LWP.pm,Coro::LWP) cvs-pod(Coro/MakeMaker.pm,Coro::MakeMaker) cvs-pod(Coro/RWLock.pm,Coro::RWLock) cvs-pod(Coro/Select.pm,Coro::Select) cvs-pod(Coro/Semaphore.pm,Coro::Semaphore) cvs-pod(Coro/SemaphoreSet.pm,Coro::SemaphoreSet) cvs-pod(Coro/Signal.pm,Coro::Signal) cvs-pod(Coro/Socket.pm,Coro::Socket) cvs-pod(Coro/Specific.pm,Coro::Specific) cvs-pod(Coro/State.pm,Coro::State) cvs-pod(Coro/Storable.pm,Coro::Storable) cvs-pod(Coro/Timer.pm,Coro::Timer) cvs-pod(Coro/Util.pm,Coro::Util) |
568 | Coro cpan cvs-co(Changes) cvs-pod(Coro.pm,) cvs-pod(Coro/AIO.pm,Coro::AIO) cvs-pod(Coro/AnyEvent.pm,Coro::AnyEvent) cvs-pod(Coro/BDB.pm,Coro::BDB) cvs-pod(Coro/Channel.pm,Coro::Channel) cvs-pod(Coro/Debug.pm,Coro::Debug) cvs-pod(Coro/EV.pm,Coro::EV) cvs-pod(Coro/Event.pm,Coro::Event) cvs-pod(Coro/Handle.pm,Coro::Handle) cvs-pod(Coro/LWP.pm,Coro::LWP) cvs-pod(Coro/MakeMaker.pm,Coro::MakeMaker) cvs-pod(Coro/RWLock.pm,Coro::RWLock) cvs-pod(Coro/Select.pm,Coro::Select) cvs-pod(Coro/Semaphore.pm,Coro::Semaphore) cvs-pod(Coro/SemaphoreSet.pm,Coro::SemaphoreSet) cvs-pod(Coro/Signal.pm,Coro::Signal) cvs-pod(Coro/Socket.pm,Coro::Socket) cvs-pod(Coro/Specific.pm,Coro::Specific) cvs-pod(Coro/State.pm,Coro::State) cvs-pod(Coro/Storable.pm,Coro::Storable) cvs-pod(Coro/Timer.pm,Coro::Timer) cvs-pod(Coro/Util.pm,Coro::Util) |
557 | A large Perl module family that implements cooperative multitasking in |
569 | A large Perl module family that implements cooperative multitasking in |
558 | Perl. It supports filehandle and event abstraction and also implements |
570 | Perl. It supports filehandle and event abstraction and also implements |
559 | continuations as well as the necessary directives to implement a slightly |
571 | continuations as well as the necessary directives to implement a slightly |
560 | limited call/cc in Perl. |
572 | limited call/cc in Perl. |
|
|
573 | |
|
|
574 | Coro-Mysql cpan cvs-co(Changes) cvs-pod(Mysql.pm,) |
|
|
575 | Lets other threads run while doing mysql requests via DBD::mysql. |
|
|
576 | |
|
|
577 | This perl module patches libmysqlclient/DBD::mysql at runtime to allow |
|
|
578 | multiple Coro-based threads to make database accesses concurrently, |
|
|
579 | instead of blocking the whole process. |
561 | |
580 | |
562 | Crypt-Twofish2 cpan cvs-pod(Twofish2.pm,) cvs-co(Changes) |
581 | Crypt-Twofish2 cpan cvs-pod(Twofish2.pm,) cvs-co(Changes) |
563 | A Perl module implementing the twofish encryption algorithm in Perl. It has |
582 | A Perl module implementing the twofish encryption algorithm in Perl. It has |
564 | mostly been superceded by the Crypt::Twofish module. However, it supports |
583 | mostly been superceded by the Crypt::Twofish module. However, it supports |
565 | an easy and fast CBC mode natively. |
584 | an easy and fast CBC mode natively. |
… | |
… | |
800 | |
819 | |
801 | Object-Event cpan-elmex git-pod(lib/Object/Event.pm,) git-co(Changes) |
820 | Object-Event cpan-elmex git-pod(lib/Object/Event.pm,) git-co(Changes) |
802 | A simple event callback API for Perl. |
821 | A simple event callback API for Perl. |
803 | |
822 | |
804 | This is just a very simple event callback registration and call API |
823 | This is just a very simple event callback registration and call API |
805 | which new Perl classes can inherit. It's mainly used by Net::XMPP2. |
824 | which new Perl classes can inherit. It's mainly used by AnyEvent::XMPP. |
806 | |
825 | |
807 | psycpp |
826 | psycpp git |
808 | A project that was aimed to implement a PSYC server in C++. |
827 | A project that was aimed to implement a PSYC server in C++. |
809 | |
828 | |
810 | This is a mostly abandoned project at the moment, however, the repository |
829 | This is a mostly abandoned project at the moment, however, the repository |
811 | contains interesting C++ code that might be useful to someone, especially |
830 | contains interesting C++ code that might be useful to someone, especially |
812 | the C++ JSON implementation might be of interest. The project is mostly |
831 | the C++ JSON implementation might be of interest. The project is mostly |
813 | dead at the moment though... |
832 | dead at the moment though... |
814 | |
833 | |
815 | gtm git-co(README) |
834 | GT.M git-co(README) |
816 | GT.M Database |
835 | GT.M Database |
817 | |
836 | |
818 | <a href="http://sourceforge.net/projects/fis-gtm/">GT.M</a> |
837 | <a href="http://sourceforge.net/projects/fis-gtm/">GT.M</a> |
819 | is a a vetted, industrial strength, transaction |
838 | is a a vetted, industrial strength, transaction |
820 | processing application platform consisting of a |
839 | processing application platform consisting of a |
… | |
… | |
903 | features, like automatic unzip-testing and others. On the other hand, |
922 | features, like automatic unzip-testing and others. On the other hand, |
904 | fcrackzip-0.0.1 was hacked together in under ten hours, and you can |
923 | fcrackzip-0.0.1 was hacked together in under ten hours, and you can |
905 | always modify the source (and send me patches!!!) (I hope I've made it |
924 | always modify the source (and send me patches!!!) (I hope I've made it |
906 | clear now ;)</p> |
925 | clear now ;)</p> |
907 | |
926 | |
|
|
927 | lsys cvs-co(README) cvs-co(NEWS) |
|
|
928 | lsys is a program that interprets lindenmeyer-systems. |
|
|
929 | |
|
|
930 | <p>lsys is a full-featured program that understands most of the syntax |
|
|
931 | of the original l-systems language, which is far more complex and |
|
|
932 | powerful than most available l-system interpreters.</p> |
|
|
933 | |
|
|
934 | <p>See <a href="http://www.goof.com/pcg/marc/lsys.html">the original homepage</a> |
|
|
935 | for more explanations and some images. |