ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/schmorpforge/genpage
(Generate patch)

Comparing cvsroot/schmorpforge/genpage (file contents):
Revision 1.3 by elmex, Tue Apr 29 13:48:13 2008 UTC vs.
Revision 1.41 by root, Thu Jul 2 07:50:11 2009 UTC

41 hr.footer { display: none; } 41 hr.footer { display: none; }
42 .footer { font-size: 8pt; border-top: 1px solid red; } 42 .footer { font-size: 8pt; border-top: 1px solid red; }
43 </style> 43 </style>
44</head> 44</head>
45<body> 45<body>
46<p class='back'><a href='/'>Schmorpforge Software Repository</a></p> 46<p class='back'><a href='/'>Schmorpforge Ta-Sa Software Repository</a></p>
47<h1 class="$_[1]">$_[0]</h1> 47<h1 class="$_[1]">$_[0]</h1>
48<div style="text-align: center; float: right; margin-left: 1em; margin-bottom: 1em"> 48<div style="text-align: center; float: right; margin-left: 1em; margin-bottom: 1em">
49 <a href="http://www.piratenpartei.de/navigation/politik/unsere-ziele">
50 <img src="http://www.piratenpartei-hessen.de/common/piratenbanner1" alt="Piratenpartei" border="0"/>
51 </a>
52 <br />
49 <a href="http://www.deliantra.net/"> 53 <a href="http://www.deliantra.net/">
50 <img src="http://www.deliantra.net/images/deliantra.png" border="0" alt="Deliantra Free MMORPG" style="display: inline"/> 54 <img src="http://www.deliantra.net/images/deliantra.png" border="0" alt="Deliantra Free MMORPG" style="display: inline"/>
51 <br /> 55 <br />
52 The free as in beer, liberal, code &amp; content retro-style graphical MMORPG :) 56 The free as in beer, liberal, code &amp; content retro-style graphical MMORPG :)
53 </a> 57 </a>
95 99
96<h2>Blurb</h2> 100<h2>Blurb</h2>
97<p class='blurb'>$desc</p> 101<p class='blurb'>$desc</p>
98<h2>Availability</h2> 102<h2>Availability</h2>
99<ul> 103<ul>
104EOF
105 if (grep /git/, @args) {
106 print <<EOF;
107<li><a href='http://git.ta-sa.org/?p=$name.git;a=summary'>Browse GIT repository '$name'</a></li>
108<li>Read-only GIT checkout:<br />
109 <tt>&#160;git-clone http://git.ta-sa.org/$name.git</tt>
110</li>
111<li>(EXPERIMENTAL) contributor CVS access (command requires CVS versions (&gt;= 1.12.11)):<br />
112 <tt>cvs -d ":ext;CVS_SERVER=git-cvsserver:USER\@ruth.plan9.de/gitroot/$name.git" co -d $name master</tt>
113</li>
114EOF
115 } else {
116 my $modules = $name;
117 $modules = "$1" if grep /modules\((.*)\)/, @args;
118
119 print <<EOF;
100<li><a href='http://cvs.schmorp.de/$name'>Browse CVS module '$name'</a></li> 120<li><a href='http://cvs.schmorp.de/$name'>Browse CVS module '$name'</a></li>
101EOF
102
103 my $modules = $name;
104 $modules = "$1" if grep /modules\((.*)\)/, @args;
105
106 print <<EOF;
107<li>Anonymous CVS checkout:<br /> 121<li>Anonymous CVS checkout:<br />
108 <tt>&#160;cvs -z3 -d :pserver:anonymous\@cvs.schmorp.de/schmorpforge co $modules</tt><p /> 122 <tt>&#160;cvs -z3 -d :pserver:anonymous\@cvs.schmorp.de/schmorpforge co $modules</tt><p />
109 123
110 <small> 124 <small>
111 125
126<!--
112 <p>The warning 127 <p>The warning
113 <b>cvs checkout: warning: cannot write to history file /schmorpforge/CVSROOT/history: Permission denied</b> 128 <b>cvs checkout: warning: cannot write to history file /schmorpforge/CVSROOT/history: Permission denied</b>
114 is expected and harmless, just ignore it. It simply means you have no write access to the repository. 129 is expected and harmless, just ignore it. It simply means you have no write access to the repository.
115 </p> 130 </p>
131-->
116 132
117 <p>The CVS server moved again on 2008-02-21, you can use the following 133 <p>The CVS server moved again on 2008-02-21, you can use the following
118 (untested) snippet to update your CVS checkout. Run it in the top level 134 (untested) snippet to update your CVS checkout. Run it in the top level
119 checked out directory:</ br> 135 checked out directory:</ br>
120 136
125 141
126 </small> 142 </small>
127 143
128</li> 144</li>
129EOF 145EOF
146 }
130 147
131 print "<li><a href='http://dist.schmorp.de/$name/'>File Releases</a></li>\n" 148 print "<li><a href='http://dist.schmorp.de/$name/'>File Releases</a></li>\n"
132 if grep /dist/, @args; 149 if grep /dist/, @args;
133 print "<li><a href='http://www.cpan.org/modules/by-authors/Marc_Lehmann/'>File Releases (CPAN)</a></li>\n" 150 print "<li><a href='http://www.cpan.org/modules/by-authors/Marc_Lehmann/'>File Releases (CPAN)</a></li>\n"
134 if grep /cpan/, @args; 151 if grep /cpan$/, @args;
152 print "<li><a href='http://www.cpan.org/modules/by-authors/id/E/EL/ELMEX/'>File Releases (CPAN)</a></li>\n"
153 if grep /cpan-elmex/, @args;
135 for (@args) { 154 for (@args) {
136 print "<li><a href='http://lists.schmorp.de/mailman/listinfo/" . ($1 || $name) . "'>Mailing List '" . ($1 || $name) . "'</a></li>\n" 155 print "<li><a href='http://lists.schmorp.de/mailman/listinfo/" . ($1 || $name) . "'>Mailing List '" . ($1 || $name) . "'</a></li>\n"
137 if /list\((.*)\)/; 156 if /list\((.*)\)/;
138 } 157 }
139 158
140 print "</ul>"; 159 print "</ul>";
141 160
142 if (my @files = grep $_, map /(cvs-co|cvs-pod|git-co)\((\S+)\)/ && [$1, $2], @args) { 161 if (my @files = grep $_, map /(cvs-co|cvs-pod|git-pod|git-co)\((\S+)\)/ && [$1, $2], @args) {
143 print "<h2>Additional Documents</h2><ul>"; 162 print "<h2>Additional Documents</h2><ul>";
144 163
145 for (@files) { 164 for (@files) {
146 my ($type, $arg) = @$_; 165 my ($type, $arg) = @$_;
147 166
148 if ($type eq "cvs-co") { 167 if ($type eq "cvs-co") {
149 print "<li><a href='http://cvs.schmorp.de/$name/$arg'>$arg</a></li>"; 168 print "<li><a href='http://cvs.schmorp.de/$name/$arg'>$arg</a></li>";
169
150 } elsif ($type eq "cvs-pod") { 170 } elsif ($type eq "cvs-pod") {
151 my ($file, $desc) = $arg =~ /(.*),(.*)/ ? ($1, $2) : ($arg, $arg); 171 my ($file, $desc) = $arg =~ /(.*),(.*)/ ? ($1, $2) : ($arg, $arg);
152 $desc ||= "<b>Main Manual Page</b>"; 172 $desc ||= "<b>Main Manual Page</b>";
153 print "<li><a href='http://pod.tst.eu/http://cvs.schmorp.de/$name/$file'>$desc</a></li>"; 173 print "<li><a href='http://pod.tst.eu/http://cvs.schmorp.de/$name/$file'>$desc</a></li>";
174
154 } elsif ($type eq 'git-co') { 175 } elsif ($type eq 'git-co') {
155 my ($project, $file) = $arg =~ /^([^.]+).git\/(.*)$/ ? ($1, $2) : $arg;
156 print "<li><a href='http://git.ta-sa.org/res/gitco.cgi/$project/$file'>$file</a></li>"; 176 print "<li><a href='http://git.ta-sa.org/$name/$arg'>$arg</a></li>";
177
178 } elsif ($type eq "git-pod") {
179 my ($file, $desc) = $arg =~ /(.*),(.*)/ ? ($1, $2) : ($arg, $arg);
180 $desc ||= "<b>Main Manual Page</b>";
181 print "<li><a href='http://pod.tst.eu/http://git.ta-sa.org/$name/$file'>$desc</a></li>";
182
157 } 183 }
158 } 184 }
159 185
160 print "</ul>"; 186 print "</ul>";
161 } 187 }
167 193
168hdr "Package Index", "bg-bluete"; 194hdr "Package Index", "bg-bluete";
169 195
170print <<EOF; 196print <<EOF;
171 197
172<p>This page briefly documents the Schmorpforge Software Repository and 198<p>This page briefly documents the Schmorpforge Ta-Sa Software Repository and
173lists all projects available here.</p> 199lists all projects available here.</p>
174 200
175<ul> 201<ul>
176<li>All CVS Repositories can be found <a href="http://cvs.schmorp.de/">here</a>.</li> 202<li>All CVS Repositories can be found <a href="http://cvs.schmorp.de/">here</a>.</li>
203<li>All GIT Repositories can be found <a href="http://git.ta-sa.org/">here</a>.</li>
177<li>Most Releases can be found <a href="http://dist.schmorp.de/">here</a> or via CPAN.</li> 204<li>File Releases can be found <a href="http://dist.schmorp.de/">here</a> or on CPAN (for Perl modules).</li>
178<li>All Mailinglists can be found <a href="http://lists.schmorp.de/mailman/listinfo">here</a>.</li> 205<li>All Mailinglists can be found <a href="http://lists.schmorp.de/mailman/listinfo">here</a>.</li>
206<li>The Wiki can be found <a href="http://wiki.schmorp.de/">here</a>.</li>
179</ul> 207</ul>
180<p>Projects listed on this page:</p> 208<p>Projects listed on this page:</p>
181<table> 209<table>
182EOF 210EOF
183 211
250 libptytty is an offspring of rxvt-unicode that handles pty/tty/utmp/wtmp/lastlog handling 278 libptytty is an offspring of rxvt-unicode that handles pty/tty/utmp/wtmp/lastlog handling
251 in mostly OS-independent ways, so it's less of a hassle for you :) 279 in mostly OS-independent ways, so it's less of a hassle for you :)
252 280
253 Mailing list and contacts are the same as for rxvt-unicode, above. 281 Mailing list and contacts are the same as for rxvt-unicode, above.
254 282
255gtkbfc cvs-co(README) 283gtkbfc cvs-pod(README)
256 Gtk+ bash file chooser replacement. 284 Gtk+ bash file chooser replacement.
257 285
258 <b>gtkbfc</b> is a hack that replaces the dreaded, slow and hard-to-use GTK+ 286 <b>gtkbfc</b> is a hack that replaces the dreaded, slow and hard-to-use GTK+
259 file chooser by a rxvt-unicode window with a little script that lets you use 287 file chooser by a rxvt-unicode window with a little script that lets you use
260 readline tab-completion to enter filenames. 288 readline tab-completion to enter filenames.
295 It could be used to write Knuddels clients, bots and even servers 323 It could be used to write Knuddels clients, bots and even servers
296 (although the latter doesn't make much sense, the protocol is rather 324 (although the latter doesn't make much sense, the protocol is rather
297 ugly. If you want to implement your own group communication server, use 325 ugly. If you want to implement your own group communication server, use
298 IRC instead). 326 IRC instead).
299 327
300Net-IRC3 dist cvs-pod(lib/Net/IRC3.pm,) cvs-co(Changes) cvs-co(samples/netirc3cl) cvs-co(samples/netirc3) 328AnyEvent-IRC cpan-elmex git-pod(lib/AnyEvent/IRC.pm,) git-co(Changes) git-co(samples/anyeventirccl) git-co(samples/anyeventirc)
301 This module provides an alternative to the Net-IRC and Net-IRC2 329 This module provides an alternative to the Net-IRC and Net-IRC2
302 modules. Its design rationale is offfering a 100% non-blocking 330 modules. Its design rationale is offering a 100% non-blocking
303 callback-based interface, RFC-compliant parsing and a lightweight 331 callback-based interface, RFC-compliant parsing and a lightweight
304 approach to modularity and reusability. 332 approach to modularity and reusability.
333
334Guard cpan cvs-pod(Guard.pm,) cvs-co(Changes)
335 This small module implements scope and object guards, that is, code blocks
336 that are executed when a scope is being exited (or an object is destroyed).
337
338 Much effort was invested into these guards behaving "sensibly" in the
339 presence of thrown exceptions, errors and other adverse conditions, as
340 well as into good performance.
305 341
306Net-IRC-Server cvs-pod(Net/IRC/Server.pm,) 342Net-IRC-Server cvs-pod(Net/IRC/Server.pm,)
307 This module provides a simple API for handling the IRC Protocol 343 This module provides a simple API for handling the IRC Protocol
308 aiming at implementing lightweight IRC-Servers. 344 aiming at implementing lightweight IRC-Servers.
309 345
334 minimal configuration (it consists of only a single <tt>.h</tt> and a 370 minimal configuration (it consists of only a single <tt>.h</tt> and a
335 single <tt>.c</tt> file). It is known to run on a wide variety of unix 371 single <tt>.c</tt> file). It is known to run on a wide variety of unix
336 systems (SunOS, IRIX, GNU/Linux, HP-UX) and also on Windows, does not use 372 systems (SunOS, IRIX, GNU/Linux, HP-UX) and also on Windows, does not use
337 any assembly language and is architecture-independent. 373 any assembly language and is architecture-independent.
338 374
339cf.schmorp.de/server cvs-co(README) cvs-co(Changes) cvs-co(COPYING.Affero) 375deliantra/server cvs-co(README) cvs-co(Changes) cvs-co(COPYING.Affero)
340 The <a href="http://www.deliantra.net/">Deliantra</a> game server. 376 The <a href="http://www.deliantra.net/">Deliantra</a> game server.
341 377
342 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. 378 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info.
343 379
344cf.schmorp.de/maps cvs-co(Changes) cvs-co(COPYING.Affero) 380deliantra/maps cvs-co(Changes) cvs-co(COPYING.Affero)
345 The <a href="http://www.deliantra.net/">Deliantra</a> game maps. 381 The <a href="http://www.deliantra.net/">Deliantra</a> game maps.
346 382
347 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. 383 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info.
348 384
349cf.schmorp.de/arch cvs-co(Changes) cvs-co(COPYING.Affero) 385deliantra/arch cvs-co(Changes) cvs-co(COPYING.Affero)
350 The <a href="http://www.deliantra.net/">Deliantra</a> game resources. 386 The <a href="http://www.deliantra.net/">Deliantra</a> game resources.
351 387
352 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. 388 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info.
353 389
354cf.schmorp.de/Deliantra-Client cvs-pod(bin/deliantra,) cvs-co(Changes) 390deliantra/Deliantra-Client cvs-pod(bin/deliantra,) cvs-co(Changes)
355 A modern, fullscreen client for <a href="http://www.deliantra.net/">Deliantra</a>, written using Perl 391 A modern, fullscreen client for <a href="http://www.deliantra.net/">Deliantra</a>, written using Perl
356 and leveraging only OpenGL for display and thus being easily portable. 392 and leveraging only OpenGL for display and thus being easily portable.
357 See its <a href="http://www.deliantra.net/client.html">homepage</a>. 393 See its <a href="http://www.deliantra.net/client.html">homepage</a>.
358 394
359 To install it, you need <a href="http://www.libsdl.org">SDL</a>, <a href="http://www.libsdl.org/projects/SDL_mixer/">SDL_mixer</a>, 395 To install it, you need <a href="http://www.libsdl.org">SDL</a>, <a href="http://www.libsdl.org/projects/SDL_mixer/">SDL_mixer</a>,
360 <a href="http://www.libsdl.org/projects/SDL_image/">SDL_image</a>, <a href="http://www.pango.org">PanGo</a> (with freetype2 and 396 <a href="http://www.libsdl.org/projects/SDL_image/">SDL_image</a>, <a href="http://www.pango.org">PanGo</a> (with freetype2 and
361 cairo backends at the moment), and the BDB, AnyEvent, Pod::POM, EV and 397 cairo backends at the moment), and the BDB, AnyEvent, Pod::POM, EV and
362 <a href="http://software.schmorp.de/pkg/cf.schmorp.de/Deliantra.html">Deliantra</a> perl modules. 398 <a href="http://software.schmorp.de/pkg/deliantra/Deliantra.html">Deliantra</a> perl modules.
363 399
364cf.schmorp.de/Deliantra 400deliantra/Deliantra
365 Perl module family for the <a href="http://www.deliantra.net/">Deliantra</a> game. 401 Perl module family for the <a href="http://www.deliantra.net/">Deliantra</a> game.
366 402
367 They can be used to read/write/cache archetypes, image packs and map files. 403 They can be used to read/write/cache archetypes, image packs and map files.
368 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. 404 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info.
369 405
370cf.schmorp.de/gcrossedit cvs-pod(bin/gde,) 406deliantra/gde cvs-pod(bin/gde,)
371 The <a href="http://www.deliantra.net/">Deliantra</a> editor, written in Perl + Gtk2. 407 The <a href="http://www.deliantra.net/">Deliantra</a> editor, written in Perl + Gtk2.
372 408
373 The editor for the game Deliantra, written in Perl. 409 The editor for the game Deliantra, written in Perl.
374 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. 410 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info.
375 411
376cf.schmorp.de 412deliantra
377 <a href="http://www.deliantra.net/">Deliantra</a> server, archetypes, maps, 413 <a href="http://www.deliantra.net/">Deliantra</a> server, archetypes, maps,
378 editor, client and support modules distribution. 414 editor, client and support modules distribution.
379 415
380 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. 416 Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info.
381 417
393 As the name implies, using this module makes your perl program run 429 As the name implies, using this module makes your perl program run
394 faster. Actually, much slower initially, as it compiles every function 430 faster. Actually, much slower initially, as it compiles every function
395 to C and later to a shared object, but then you can expect a performance 431 to C and later to a shared object, but then you can expect a performance
396 increase by 10-50%, depending on what your program does. 432 increase by 10-50%, depending on what your program does.
397 433
398liblzf cvs-co(README) cvs-co(lzf.h) 434liblzf cvs-co(README) cvs-co(lzf.h) dist
399 LibLZF is a very small data compression library. 435 LibLZF is a very small data compression library.
400 436
401 It consists of only two .c and two .h files and is very easy to 437 It consists of only two .c and two .h files and is very easy to
402 incorporate into your own programs. The compression algorithm is very, 438 incorporate into your own programs. The compression algorithm is very,
403 very fast, yet still written in portable C. More info and the latest 439 very fast, yet still written in portable C. More info and the latest
419 See <a href="http://www.goof.com/pcg/marc/lmainit.html">its homepage</a> for more info. 455 See <a href="http://www.goof.com/pcg/marc/lmainit.html">its homepage</a> for more info.
420 456
421Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes) 457Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes)
422 Perl module implementing forward error correction using Vandermonde matrices 458 Perl module implementing forward error correction using Vandermonde matrices
423 459
424AnyEvent cpan cvs-pod(lib/AnyEvent.pm,) cvs-co(Changes) cvs-pod(lib/AnyEvent/Impl/CoroEV.pm,AnyEvent::Impl::CoroEV) cvs-pod(lib/AnyEvent/Impl/CoroEvent.pm,AnyEvent::Impl::CoroEvent) cvs-pod(lib/AnyEvent/Impl/Coro.pm,AnyEvent::Impl::Coro) 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) 460AnyEvent 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)
425 This module offers a simple API for I/O, timer, signal, child process 461 This module offers a simple API for I/O, timer, signal, child process
426 and completion events, independent of a specific event loop. 462 and completion events, independent of a specific event loop.
427 463
428 This module allows module authors to use those events internally without 464 <p>This module allows module authors to use those events internally
429 forcing users of the module to use a specific event loop, without adding 465 without forcing users of the module to use a specific event loop, without
430 noticable overhead. Currently supported event loops are EV, Coro::EV, 466 adding noticable overhead. Currently supported event loops are EV, Event,
431 Event, Coro::Event, Glib/Gtk2, Tk, Qt, Event::Lib and POE (and thus also 467 Glib/Gtk2, Tk, Qt, Event::Lib, IO::Async and POE (and thus also WxWidgets
432 WxWidgets and Prima). It contains a very fast (see benchmarks in the main 468 and Prima). It also comes with a very fast (see benchmarks in the main
433 manual page) Pure Perl event loop and doesn't rely on XS, which ensures 469 manual page) Pure Perl event loop and doesn't rely on XS, which ensures
434 that your program will always run even when no C-based event loop is 470 that your program will always run even when no C-based event loop is
435 available. 471 available.</p>
472
473 <p>In addition to the event core (which might be all you need), AnyEvent
474 comes with an optional, fully asynchronous, pure-perl DNS resolver
475 library supporting UDP, TCP and EDNS0, with many utility functions to
476 "just resolve" stuff without having to instantiate even a resolver object
477 (and including an equivalent of C<getaddrinfo>).</p>
478
479 <p>The AnyEvent::Socket offers utility functions to make handling TCP
480 connections (100% non-blocking, including DNS resolution, with both IPv4
481 and IPv6) and addresses as easy as possible, to the point of making IPv6
482 completely transparent.</p>
483
484 <p>Lastly, AnyEvent::Handle offers a powerful framework for asynchronous and
485 buffered protocol handling. You can push multiple read event handlers
486 to parse your protocol and start TLS/SSL negotiation transparently (and
487 fully non-blocking) at any time, in both server and client mode.</p>
436 488
437AnyEvent-FastPing cpan cvs-pod(FastPing.pm,) 489AnyEvent-FastPing cpan cvs-pod(FastPing.pm,)
438 This module implements a very fast and relatively flexible 490 This module implements a very fast and relatively flexible
439 ping (ping as in icmp echo request). 491 ping (ping as in icmp echo request).
440 492
445 more address ranges, to which pings will be distributed according to a 497 more address ranges, to which pings will be distributed according to a
446 least-load principle. 498 least-load principle.
447 499
448 A command line utility (<tt>fastping</tt>) is included. 500 A command line utility (<tt>fastping</tt>) is included.
449 501
502AnyEvent-HTTP cpan cvs-pod(HTTP.pm,) cvs-co(Changes)
503 A simple and plain event based http and https client.
504
505 This module implements a simple, stateless and non-blocking HTTP
506 client. It supports GET, POST and other request methods, cookies and more,
507 all on a very low level. It can follow redirects supports proxies and
508 automatically limits the number of connections to the values specified in
509 the RFC.
510
511 It should generally be a "good client" that is enough for most HTTP
512 tasks. Simple tasks should be simple, but complex tasks should still be
513 possible as the user retains control over request and response headers.
514
515 The caller is responsible for authentication management, cookies (if
516 the simplistic implementation in this module doesn't suffice), referer
517 and other high-level protocol details for which this module offers only
518 limited support.
519
520AnyEvent-DBI cpan cvs-pod(DBI.pm,) cvs-co(Changes)
521 A relatively simple wrapper around DBI to make asynchronous
522 SQL requests.
523
524 This module implements asynchronous DBI access my forking or executing
525 separate "DBI-Server" processes and sending them requests.
526
527 It means that you can run DBI requests in parallel to other tasks.
528
529AnyEvent-HTTPD cpan-elmex git-pod(lib/AnyEvent/HTTPD.pm,) git-co(Changes)
530 A simple and plain event based http web application server Perl module.
531
532 This is a very basic HTTP server that allows the user/programmer to install
533 hooks for URL paths to generate the output. It uses AnyEvent to be easily
534 embeddable into other applications. The main objective was to make it
535 easier to make simple HTTP frontends in Perl for Perl programs and Perl modules.
536
537AnyEvent-IGS cpan-elmex git-pod(lib/AnyEvent/IGS.pm,) git-co(Changes)
538 A Perl module that interfaces to the International Go Server.
539
540 This module is an Anyevent-based interface to the International Go Server
541 protocol.
542
543AnyEvent-EditText cpan-elmex git-pod(lib/AnyEvent/EditText.pm,) git-co(Changes)
544 A Perl module which allows editing any text via an editor in a seperate process.
545
546 A utility Perl module that will start a terminal/editor for you and will
547 wait non-blocking for you to finish editing that file. Very useful to embed
548 content edititing in event based programs that have a AnyEvent compatible
549 event loop.
550
551Array-Heap cpan cvs-pod(Heap.pm,) cvs-co(Changes)
552 A Perl module that implements C++ STL-like binary heap operations.
553
450Audio-Play-MPG123 cpan cvs-pod(MPG123.pm,) cvs-co(Changes) 554Audio-Play-MPG123 cpan cvs-pod(MPG123.pm,) cvs-co(Changes)
451 A Perl module implementing an interface to mpg123. 555 A Perl module implementing an interface to mpg123.
452 556
453Compress-LZV1 cpan cvs-pod(LZV1.pm,) cvs-co(Changes) 557Compress-LZV1 cpan cvs-pod(LZV1.pm,) cvs-co(Changes)
454 A Perl module implementing the LZV1 compression algorithm. See 558 A Perl module implementing the LZV1 compression algorithm. See
466 allows easy decoding of multipart mime, uuencode and a whole lot of 570 allows easy decoding of multipart mime, uuencode and a whole lot of
467 differently encoded messages. You basically throw files at it, and 571 differently encoded messages. You basically throw files at it, and
468 it extracts the files in them. This module is used by the popular <a 572 it extracts the files in them. This module is used by the popular <a
469 href="www.amavis.org">amavis virus scanner</a>. 573 href="www.amavis.org">amavis virus scanner</a>.
470 574
471Coro cpan cvs-pod(Coro.pm,) cvs-co(Changes) 575Coro 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)
472 A large Perl module family that implements cooperative multitasking in 576 A large Perl module family that implements cooperative multitasking in
473 Perl. It supports filehandle and event abstraction and also implements 577 Perl. It supports filehandle and event abstraction and also implements
474 continuations as well as the necessary directives to implement a slightly 578 continuations as well as the necessary directives to implement a slightly
475 limited call/cc in Perl. 579 limited call/cc in Perl.
580
581Coro-Mysql cpan cvs-co(Changes) cvs-pod(Mysql.pm,)
582 Lets other threads run while doing mysql requests via DBD::mysql.
583
584 This perl module patches libmysqlclient/DBD::mysql at runtime to allow
585 multiple Coro-based threads to make database accesses concurrently,
586 instead of blocking the whole process.
476 587
477Crypt-Twofish2 cpan cvs-pod(Twofish2.pm,) cvs-co(Changes) 588Crypt-Twofish2 cpan cvs-pod(Twofish2.pm,) cvs-co(Changes)
478 A Perl module implementing the twofish encryption algorithm in Perl. It has 589 A Perl module implementing the twofish encryption algorithm in Perl. It has
479 mostly been superceded by the Crypt::Twofish module. However, it supports 590 mostly been superceded by the Crypt::Twofish module. However, it supports
480 an easy and fast CBC mode natively. 591 an easy and fast CBC mode natively.
522 <a href="EV.html">perl interface</a> is also available. 633 <a href="EV.html">perl interface</a> is also available.
523 <p /> 634 <p />
524 A <a href="http://lists.schmorp.de/mailman/listinfo/libev">mailing 635 A <a href="http://lists.schmorp.de/mailman/listinfo/libev">mailing
525 list</a> for discussion and support is now available. 636 list</a> for discussion and support is now available.
526 637
638libeio dist cvs-pod(eio.pod,) cvs-co(eio.h) cvs-co(demo.c) cvs-co(Changes)
639 Event-based fully asynchronous I/O library for C (used by IO::AIO).
640 Currently in BETA!
641
642 <p>Libeio is a full-featured asynchronous I/O library
643 for C, modelled in similar style and spirit as <a
644 href="http://software.schmorp.de/pkg/libev.html">libev</a>. Features
645 include: asynchronous read, write, open, close, stat, unlink, fdatasync,
646 mknod, readdir etc. (basically the full POSIX API). sendfile (native on
647 solaris, linux, hp-ux, freebsd, emulated everywehere else), readahead
648 (emulated where not available).</p>
649
650 <p>It is fully event-library agnostic and can easily be integrated into any
651 event-library (or used standalone, even in polling mode). It is very
652 portable and relies only on POSIX threads.</p>
653
654 <p>Its code, documentation, integration and portability quality is
655 currently below that of libev, but should soon be ready for use in
656 production environments.</p>
657
527libspf cvs-co(README) 658libspf cvs-co(README)
528 Libspf is a C library that implements the <a 659 Libspf is a C library that implements the <a
529 href="http://en.wikipedia.org/wiki/Sender_Policy_Framework"> Sender 660 href="http://en.wikipedia.org/wiki/Sender_Policy_Framework"> Sender
530 Policy Framework</a>. It allows software to identify and reject forged 661 Policy Framework</a>. It allows software to identify and reject forged
531 envelope-from addresses, a typical nuisance in e-mail spam. SPF is 662 envelope-from addresses, a typical nuisance in e-mail spam. SPF is
591 JSON encoders available for Perl, it supports a variety of format options, 722 JSON encoders available for Perl, it supports a variety of format options,
592 such as single-line, ASCII-only or pretty-printed and can be tuned for 723 such as single-line, ASCII-only or pretty-printed and can be tuned for
593 speed or memory usage. It comes with a wealth of documentation describing 724 speed or memory usage. It comes with a wealth of documentation describing
594 usage and implementation details. 725 usage and implementation details.
595 726
727Games-Go-SimpleBoard cpan cvs-pod(SimpleBoard.pm,) cvs-co(Changes)
728 A Perl module representing a go board.
729
730 This Perl module represents a Go game. It can check for valid moves,
731 capture stones, stores move history and can represent a variety of
732 additional annotations (circles, labels, grayed-out stones etc.).
733
734Gtk2-GoBoard cpan cvs-pod(GoBoard.pm,) cvs-co(Changes)
735 A Perl module implementing a go board widget.
736
737 This Perl module implements a beautiful go board (see <a
738 href="http://data.plan9.de/kgsuemel.jpg">example</a>), implemented as a
739 Gtk2 widget.
740
596Linux-AIO cpan cvs-pod(AIO.pm,) cvs-co(Changes) 741Linux-AIO cpan cvs-pod(AIO.pm,) cvs-co(Changes)
597 A Perl module that implements asynchronous I/O using <tt>clone</tt> 742 A Perl module that implements asynchronous I/O using <tt>clone</tt>
598 on Linux. Apart from AIO reading and writing, this module also allows 743 on Linux. Apart from AIO reading and writing, this module also allows
599 asynchronous <tt>stat</tt>, <tt>open</tt> and <tt>close</tt> (and more) 744 asynchronous <tt>stat</tt>, <tt>open</tt> and <tt>close</tt> (and more)
600 calls, which often are a substantial problem. See also its (newer) brother 745 calls, which often are a substantial problem. See also its (newer) brother
677 822
678dhcpping cvs-pod(dhcping.pod,) 823dhcpping cvs-pod(dhcping.pod,)
679 A version of dhcpping enhanced by <a href="mailto:marco@nethype.de">Marco Maisenhelder</a> 824 A version of dhcpping enhanced by <a href="mailto:marco@nethype.de">Marco Maisenhelder</a>
680 to support passing dhcp options. Intended to test dhcp server implementations. 825 to support passing dhcp options. Intended to test dhcp server implementations.
681 826
682AnyEvent-DNS cpan git-co(AnyEvent-DNS.git/Changes) 827Object-Event cpan-elmex git-pod(lib/Object/Event.pm,) git-co(Changes)
683 A non-blocking DNS resolver with AnyEvent using Net::DNS.
684
685 This Perl module is a simple wrapper around Net::DNS, which provides
686 a non-blocking interface to make DNS queries with Net::DNS.
687
688AnyEvent-HTTPD cpan git-co(AnyEvent-HTTPD.git/Changes)
689 A simple and plain event based http web application server Perl module.
690
691 This is a very basic HTTP server that allows the user/programmer to install
692 hooks for URL paths to generate the output. It uses AnyEvent to be easily
693 embeddable into other applications. The main objective was to make it
694 easier to make simple HTTP frontends in Perl for Perl programs and Perl modules.
695
696Object-Event cpan git-co(Object-Event.git/Changes)
697 A simple event callback API for Perl. 828 A simple event callback API for Perl.
698 829
699 This is just a very simple event callback registration and call API 830 This is just a very simple event callback registration and call API
700 which new Perl classes can inherit. It's mainly used by Net::XMPP2. 831 which new Perl classes can inherit. It's mainly used by AnyEvent::XMPP.
701 832
702Text-Edit cpan git-co(Text-Edit.git/Changes) 833psycpp git
703 A Perl module which allows editing any text via an editor in a seperate process.
704
705 A utility Perl module that will start a terminal/editor for you and will
706 wait non-blocking for you to finish editing that file. Very useful to embed
707 content edititing in event based programs that have a AnyEvent compatible
708 event loop.
709
710psycpp
711 A project that was aimed to implement a PSYC server in C++. 834 A project that was aimed to implement a PSYC server in C++.
712 835
713 This is a mostly abandoned project at the moment, however, the repository 836 This is a mostly abandoned project at the moment, however, the repository
714 contains interesting C++ code that might be useful to someone, especially 837 contains interesting C++ code that might be useful to someone, especially
715 the C++ JSON implementation might be of interest. The project is mostly 838 the C++ JSON implementation might be of interest. The project is mostly
716 dead at the moment though... 839 dead at the moment though...
840
841GT.M git-co(README)
842 GT.M Database
843
844 <a href="http://sourceforge.net/projects/fis-gtm/">GT.M</a>
845 is a a vetted, industrial strength, transaction
846 processing application platform consisting of a
847 database engine optimized for high TP throughput and
848 a compiler for the M (aka MUMPS) programming language.
849
850fcrackzip cvs-co(fcrackzip.html)
851 <b>fcrackzip</b> is a zip password cracker, similar to fzc, zipcrack and others.
852
853 <h3>Why, the hell, another zip cracker?</h3>
854
855 Naturally, programs are born out of an actual need. The situation with
856 fcrackzip was no different... I'm not using zip very much, but recently
857 I needed a password cracker. "Sure", I thought, "there are hundreds of
858 them out there, I'll just gonna get one!". This wasn't so easy, in fact,
859 none of the zipcrackers I found were able to find the passwords, either
860 they didn't accept more than one zipfile, were awfully slow, or didn't do
861 brute force attacks (which I needed). The worst thing was: no source!.
862
863 <h3>Why is <i>no source</i> such a bad thing?</h3>
864
865 [insert big chapter about the free software spirit here ;)], anyway
866 people will never learn... You will find reasons why it's much better to
867 provide source to your programs here, at opensource.org, and here, at the
868 Free Software Foundation. Now, what are the features of fcrackzip?
869
870 <ul><li>
871 <p>FREE</p>
872
873 <p>It doesn't cost anything, it will run on many architectures, and
874 the source is freely available, so you can customise it to your
875 needs. If you make improvements, don't hesitate to mail them to me,
876 and I will include them in fcrackzip!</p>
877
878 <p>One goal of fcrackzip was to provide a free but still fast
879 zipcracker, so that other people can improve and contribute it
880 further, in an open developement style.</p>
881
882 <p>Other programs, like fzc, come not only without source, but the
883 executable is even encrypted, so improving it or customizing it is
884 difficult at best. (Maybe the programmers of other crackers don't
885 want that people see how crappy their code actually is? Nobody
886 knows for sure, but I see no other reason for this strange, but
887 common, behaviour)</p>
888
889 </li><li>
890 <p>FAST</p>
891
892 <p>On my old machine (a pentium-90), the portable C version is 12%
893 slower than fzc, the fastest cracker I could find. Small parts of
894 fcrackzip have been converted to x86 assembly, so it performs a bit
895 faster (around 4%) than fzc now, on the same hardware (note: this
896 is highly os/compiler dependent). Since the author of fzc claims
897 that it is written fully in assembler, further improvements might
898 well be possible. Incidently, on my new P-II machine, fcrackzip is
899 almost twice as fast as fzc ;)</p>
900
901 </li><li>
902 <p>PORTABLE</p>
903
904 <p>fcrackzip was written in ISO-C, and should run on most platforms,
905 even 64 bit ones (maybe after some tweaking). I'll be glad to hear
906 about portability problems so I can fix them.</p>
907
908 </li><li>
909 <p>FEATUREFUL</p>
910
911 <p>fcrackzip will, at some later stage at least, support many more
912 useful operation modes than other crackers. It already supports
913 multiple zip files with multiple files. Remember that the code is
914 only a few hours old!</p>
915
916 <p>However, since version 0.2.0 fcrackzip also includes a mode to
917 brute force cpmask'ed images, something no other program (that I
918 know of) can do, so at least there is one feature other crackers
919 don't have.</p>
920
921 <p>And you can always implement your own modes.</p>
922
923 </li></ul>
924
925 <h3>Caveat, Imperator!</h3>
926
927 <p>Naturally, there are also some drawbacks. At the moment, fcrackzip
928 is a bit slower than necessary, and lacks some important (or nice)
929 features, like automatic unzip-testing and others. On the other hand,
930 fcrackzip-0.0.1 was hacked together in under ten hours, and you can
931 always modify the source (and send me patches!!!) (I hope I've made it
932 clear now ;)</p>
933
934lsys cvs-co(README) cvs-co(NEWS)
935 lsys is a program that interprets lindenmeyer-systems.
936
937 <p>lsys is a full-featured program that understands most of the syntax
938 of the original l-systems language, which is far more complex and
939 powerful than most available l-system interpreters.</p>
940
941 <p>See <a href="http://www.goof.com/pcg/marc/lsys.html">the original homepage</a>
942 for more explanations and some images.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines