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

Comparing cvsroot/schmorpforge/genpage (file contents):
Revision 1.48 by root, Mon Jul 20 05:54:48 2009 UTC vs.
Revision 1.68 by root, Tue May 11 23:19:18 2010 UTC

103</head> 103</head>
104<body> 104<body>
105<p class='back'><a href='/'>Schmorpforge Ta-Sa Software Repository</a></p> 105<p class='back'><a href='/'>Schmorpforge Ta-Sa Software Repository</a></p>
106<h1 class="$_[1]">$_[0]</h1> 106<h1 class="$_[1]">$_[0]</h1>
107<div style="text-align: center; float: right; margin-left: 1em; margin-bottom: 1em"> 107<div style="text-align: center; float: right; margin-left: 1em; margin-bottom: 1em">
108<!--
109 <a title="Mach mit!" href="http://www.piratenpartei.de/navigation/politik/unsere-ziele">
110 <img src="http://res.tst.eu/denke_selbst.gif" alt="Werde Pirat!" width="468" height="60" border="0" />
111 </a>
112 <br />
113-->
108 <a href="http://www.piratenpartei.de/navigation/politik/unsere-ziele"> 114 <a href="http://www.piratenpartei.de/navigation/politik/unsere-ziele">
109 <img src="http://www.piratenpartei-hessen.de/common/piratenbanner1" alt="Piratenpartei" border="0"/> 115 <img src="http://res.tst.eu/piraten1.png" alt="Piratenpartei" width="468" height="60" border="0" />
110 </a> 116 </a>
111 <br /> 117 <br />
112 <a href="http://www.deliantra.net/"> 118 <a href="http://www.deliantra.net/">
113 <img src="http://www.deliantra.net/images/deliantra.png" border="0" alt="Deliantra Free MMORPG" style="display: inline"/> 119 <img src="http://www.deliantra.net/images/deliantra.png" border="0" alt="Deliantra Free MMORPG" style="display: inline"/>
114 <br /> 120 <br />
127</body> 133</body>
128</html> 134</html>
129EOF 135EOF
130} 136}
131 137
138sub res_irc {
139# print "<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <tt><b><a href='http://widget.mibbit.com/?settings=ba7bec4f0f493fde9b226a13c375edbd&server=irc.schmorp.de&channel=%23schmorp&noServerNotices=true&autoConnect=true'>irc.schmorp.de</a></b></tt>, channel <tt>#schmorp</tt>, users <tt>schmorp</tt> and <tt>elmex</tt> <b>(say hi and <i>wait a few minutes</i>)</b></td></tr>\n";
140 print "<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <a href='http://webchat.freenode.net/?randomnick=1&amp;channels=schmorp&amp;prompt=1'><tt><b>irc.freenode.net</b></tt>, channel <tt>#schmorp</tt></a>, users <tt>schmorp</tt> and <tt>elmex</tt> <b>(say hi and <i>wait a few minutes</i>)</b></td></tr>\n";
141}
142
132$_ = <DATA>; 143$_ = <DATA>;
133for (;defined $_;) { 144for (;defined $_;) {
134 my ($name, @args) = split /\s+/; 145 my ($name, @args) = split /\s+/;
135 146
136 next unless $name; 147 next unless $name;
159<h2>Resources</h2> 170<h2>Resources</h2>
160<table class='resources'> 171<table class='resources'>
161EOF 172EOF
162 if (grep /git/, @args) { 173 if (grep /git/, @args) {
163 print <<EOF; 174 print <<EOF;
164<tr><td><tt class="icon">GIT</tt></td><td class='rr'><a href='http://git.ta-sa.org/?p=$name.git;a=summary'>Browsable GIT repository '$name'</a></li></tr> 175<tr><td><tt class="icon">GIT</tt></td><td class='rr'><a href='http://git.ta-sa.org/git/$name/'>Browsable GIT repository '$name'</a></li></tr>
165<tr><td><tt class="icon">GIT</tt></td><td class='rr'>Read-only GIT checkout: <tt>&#160;git-clone http://git.ta-sa.org/$name.git</tt> 176<tr><td><tt class="icon">GIT</tt></td><td class='rr'>Read-only GIT checkout: <tt>&#160;git-clone http://git.ta-sa.org/$name.git</tt>
166</td></tr> 177</td></tr>
167<tr><td><tt class="icon">CVS</tt></td><td class='rr'>Contributor CVS access (command requires CVS version &gt;= 1.12.11):<br /> 178<!-- <tr><td><tt class="icon">CVS</tt></td><td class='rr'>Contributor CVS access (command requires CVS version &gt;= 1.12.11):<br />
168 <tt>cvs -d ":ext;CVS_SERVER=git-cvsserver:USER\@ruth.plan9.de/gitroot/$name.git" co -d $name master</tt> 179 <tt>cvs -d ":ext;CVS_SERVER=git-cvsserver:USER\@ruth.plan9.de/gitroot/$name.git" co -d $name master</tt>
169</td></tr> 180</td></tr> -->
170EOF 181EOF
171 } else { 182 } else {
172 my $modules = $name; 183 my $modules = $name;
173 $modules = "$1" if grep /modules\((.*)\)/, @args; 184 $modules = "$1" if grep /modules\((.*)\)/, @args;
174 185
212 for (@args) { 223 for (@args) {
213 if (/list\((.*)\)/) { 224 if (/list\((.*)\)/) {
214 print "<tr><td><tt class='icon'>LIST</tt></td><td class='rr'><a href='http://lists.schmorp.de/mailman/listinfo/" . ($1 || $name) . "'>Mailing List '" . ($1 || $name) . "'</a></td></tr>\n"; 225 print "<tr><td><tt class='icon'>LIST</tt></td><td class='rr'><a href='http://lists.schmorp.de/mailman/listinfo/" . ($1 || $name) . "'>Mailing List '" . ($1 || $name) . "'</a></td></tr>\n";
215 } 226 }
216 } 227 }
217 228 res_irc;
218 print "</table>"; 229 print "</table>";
219 230
220 if (my @files = grep $_, map /(cvs-co|cvs-pod|git-pod|git-co)\((\S+)\)/ && [$1, $2], @args) { 231 if (my @files = grep $_, map /(cvs-co|cvs-pod|git-pod|git-co)\((\S+)\)/ && [$1, $2], @args) {
221 print "<h2>Additional Documents</h2><table class='resources'>"; 232 print "<h2>Additional Documents</h2><table class='resources'>";
222 233
257<h2>About</h2> 268<h2>About</h2>
258<p class='blurb'>This page briefly documents the Schmorpforge Ta-Sa Software Repository and 269<p class='blurb'>This page briefly documents the Schmorpforge Ta-Sa Software Repository and
259lists all projects available here.</p> 270lists all projects available here.</p>
260 271
261<table class='resources'> 272<table class='resources'>
262<tr><td><tt class='icon'>CVS</tt></td><td class='rr'>All CVS modules can be found <a href="http://cvs.schmorp.de/">here</a>.</td></tr> 273<tr><td><tt class='icon'>CVS</tt></td><td class='rr'>All CVS modules can be browsed <a href="http://cvs.schmorp.de/">here</a></td></tr>
263<tr><td><tt class='icon'>GIT</tt></td><td class='rr'>All GIT repositories can be found <a href="http://git.ta-sa.org/">here</a>.</td></tr> 274<tr><td><tt class='icon'>GIT</tt></td><td class='rr'>All GIT repositories can be found <a href="http://git.ta-sa.org/">here</a></td></tr>
264<tr><td><tt class='icon'>FILE</tt></td><td class='rr'>All file releases can be found <a href="http://dist.schmorp.de/">here</a> or on CPAN (for Perl modules).</td></tr> 275<tr><td><tt class='icon'>FILE</tt></td><td class='rr'>All file releases can be found <a href="http://dist.schmorp.de/">here</a> or on CPAN (for Perl modules)</td></tr>
265<tr><td><tt class='icon'>LIST</tt></td><td class='rr'>All mailinglists can be found <a href="http://lists.schmorp.de/mailman/listinfo">here</a>.</td></tr> 276<tr><td><tt class='icon'>LIST</tt></td><td class='rr'>All mailinglists can be found <a href="http://lists.schmorp.de/mailman/listinfo">here</a></td></tr>
266<!--<tr><td><tt class='icon'>WIKI</tt></td><td class='rr'>The Wiki can be found <a href="http://wiki.schmorp.de/">here</a>.</td></tr>--> 277<!--<tr><td><tt class='icon'>WIKI</tt></td><td class='rr'>The Wiki can be found <a href="http://wiki.schmorp.de/">here</a></td></tr>-->
278EOF
279
280res_irc;
281
282print <<EOF;
267</table> 283</table>
268 284
269<h2>Project List</h2> 285<h2>Project List</h2>
270<table class='overview'> 286<table class='overview'>
271EOF 287EOF
403 419
404 Much effort was invested into these guards behaving "sensibly" in the 420 Much effort was invested into these guards behaving "sensibly" in the
405 presence of thrown exceptions, errors and other adverse conditions, as 421 presence of thrown exceptions, errors and other adverse conditions, as
406 well as into good performance. 422 well as into good performance.
407 423
424common-sense cpan cvs-pod(sense.pm,) cvs-co(Changes)
425 This module implements some sane defaults for Perl programs, as defined
426 by two typical (or not so typical - use your common sense) specimens of
427 Perl coders.
428
408Net-IRC-Server cvs-pod(Net/IRC/Server.pm,) 429Net-IRC-Server cvs-pod(Net/IRC/Server.pm,)
409 This module provides a simple API for handling the IRC Protocol 430 This module provides a simple API for handling the IRC Protocol
410 aiming at implementing lightweight IRC-Servers. 431 aiming at implementing lightweight IRC-Servers.
411 432
412PApp-SQL cpan cvs-pod(SQL.pm,) 433PApp-SQL cpan cvs-pod(SQL.pm,)
516 A fork of the unmaintained xcb (x cut buffers) program implementing better i18n. 537 A fork of the unmaintained xcb (x cut buffers) program implementing better i18n.
517 538
518lmainit cvs-co(NEWS) 539lmainit cvs-co(NEWS)
519 A sysvinit replacement that can even be configured to be sysvinit-compliant. 540 A sysvinit replacement that can even be configured to be sysvinit-compliant.
520 541
521 See <a href="http://www.goof.com/pcg/marc/lmainit.html">its homepage</a> for more info. 542 See <a href="http://home.schmorp.de/marc/lmainit.html">its homepage</a> for more info.
522 543
523Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes) 544Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes)
524 Perl module implementing forward error correction using Vandermonde matrices 545 Perl module implementing forward error correction using Vandermonde matrices
525 546
526AnyEvent 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) list(anyevent) 547AnyEvent cpan cvs-pod(lib/AnyEvent.pm,) cvs-pod(lib/AnyEvent/Intro.pod,Introduction/Tutorial) cvs-pod(lib/AE.pm,AE) 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/Irssi.pm,AnyEvent::Impl::Irssi) cvs-pod(lib/AnyEvent/Impl/IOAsync.pm,AnyEvent::Impl::IOAsync) cvs-pod(lib/AnyEvent/Impl/POE.pm,AnyEvent::Impl::POE) list(anyevent)
527 This module offers a simple API for I/O, timer, signal, child process 548 This module offers a simple API for I/O, timer, signal, child process
528 and completion events, independent of a specific event loop. 549 and completion events, independent of a specific event loop.
529 550
530 <p>This module allows module authors to use those events internally 551 <p>This module allows module authors to use those events internally
531 without forcing users of the module to use a specific event loop, without 552 without forcing users of the module to use a specific event loop, without
532 adding noticable overhead. Currently supported event loops are EV, Event, 553 adding noticable overhead. Currently supported event loops are EV, Event,
533 Glib/Gtk2, Tk, Qt, Event::Lib, IO::Async and POE (and thus also WxWidgets 554 Glib/Gtk2, Tk, Qt, Event::Lib, Irssi, IO::Async and POE (and thus also
534 and Prima). It also comes with a very fast (see benchmarks in the main 555 WxWidgets and Prima). It also comes with a very fast (see benchmarks in
535 manual page) Pure Perl event loop and doesn't rely on XS, which ensures 556 the main manual page) Pure Perl event loop and doesn't rely on XS, which
536 that your program will always run even when no C-based event loop is 557 ensures that your program will always run even when no C-based event loop
537 available.</p> 558 is available.</p>
538 559
539 <p>In addition to the event core (which might be all you need), AnyEvent 560 <p>In addition to the event core (which might be all you need), AnyEvent
540 comes with an optional, fully asynchronous, pure-perl DNS resolver 561 comes with an optional, fully asynchronous, pure-perl DNS resolver
541 library supporting UDP, TCP and EDNS0, with many utility functions to 562 library supporting UDP, TCP and EDNS0, with many utility functions to
542 "just resolve" stuff without having to instantiate even a resolver object 563 "just resolve" stuff without having to instantiate even a resolver object
581 The caller is responsible for authentication management, cookies (if 602 The caller is responsible for authentication management, cookies (if
582 the simplistic implementation in this module doesn't suffice), referer 603 the simplistic implementation in this module doesn't suffice), referer
583 and other high-level protocol details for which this module offers only 604 and other high-level protocol details for which this module offers only
584 limited support. 605 limited support.
585 606
607AnyEvent-MP cpan cvs-pod(MP.pm,) cvs-pod(MP/Intro.pod,Introduction/Tutorial) cvs-co(Changes) list(anyevent)
608 This Perl module (-family) implements a simple message passing framework for Perl.
609
610 Despite its simplicity, you can securely message other processes running
611 on the same or other hosts.
612
613 For an introduction to this module family, see the Intro manual page.
614
615Coro-MP cpan cvs-pod(MP.pm,) cvs-co(Changes) list(anyevent)
616 This Perl module extends the AnyEvent::MP API with a thread-like/erlang-style API.
617
618 This module implements a thread-like API to AnyEvent::MP that is closer
619 to Erlang than the event-based AnyEvent::MP API. It integrates well into
620 AnyEvent::MP.
621
622 See the AnyEvent::MP module and tutorial for info about the concepts used
623 in AnyEvent::MP.
624
586AnyEvent-DBI cpan cvs-pod(DBI.pm,) cvs-co(Changes) list(anyevent) 625AnyEvent-DBI cpan cvs-pod(DBI.pm,) cvs-co(Changes) list(anyevent)
587 A relatively simple wrapper around DBI to make asynchronous 626 A relatively simple wrapper around DBI to make asynchronous
588 SQL requests. 627 SQL requests.
589 628
590 This module implements asynchronous DBI access my forking or executing 629 This module implements asynchronous DBI access my forking or executing
598 This is a very basic HTTP server that allows the user/programmer to install 637 This is a very basic HTTP server that allows the user/programmer to install
599 hooks for URL paths to generate the output. It uses AnyEvent to be easily 638 hooks for URL paths to generate the output. It uses AnyEvent to be easily
600 embeddable into other applications. The main objective was to make it 639 embeddable into other applications. The main objective was to make it
601 easier to make simple HTTP frontends in Perl for Perl programs and Perl modules. 640 easier to make simple HTTP frontends in Perl for Perl programs and Perl modules.
602 641
642AnyEvent-Feed cpan-elmex git-pod(lib/AnyEvent/Feed.pm,) git-co(Changes) list(anyevent)
643 A RSS/Atom Feed aggregator.
644
645 This module uses AnyEvent::HTTP and XML::Feed to fetch and parse RSS and Atom
646 feeds. It provides aggregation (detecting of new entries) to provide an easy
647 interface for simple feed readers.
648
649AnyEvent-Twitter cpan-elmex git-pod(lib/AnyEvent/Twitter.pm,) git-co(Changes) list(anyevent)
650 Implementation of the Twitter API for AnyEvent.
651
652 Provides a simple non-blocking API to access information (aka tweets) provided
653 by <a href="http://www.twitter.com">Twitter</a>.
654
603AnyEvent-IGS cpan-elmex git-pod(lib/AnyEvent/IGS.pm,) git-co(Changes) list(anyevent) 655AnyEvent-IGS cpan-elmex git-pod(lib/AnyEvent/IGS.pm,) git-co(Changes) list(anyevent)
604 A Perl module that interfaces to the International Go Server. 656 A Perl module that interfaces to the International Go Server.
605 657
606 This module is an Anyevent-based interface to the International Go Server 658 This module is an Anyevent-based interface to the International Go Server
607 protocol. 659 protocol.
618 A Perl module that implements C++ STL-like binary heap operations. 670 A Perl module that implements C++ STL-like binary heap operations.
619 671
620Audio-Play-MPG123 cpan cvs-pod(MPG123.pm,) cvs-co(Changes) 672Audio-Play-MPG123 cpan cvs-pod(MPG123.pm,) cvs-co(Changes)
621 A Perl module implementing an interface to mpg123. 673 A Perl module implementing an interface to mpg123.
622 674
675BK git-pod(lib/BK.pm,) git-pod(lib/BK/News.pod,News) git-co(Changes) git-pod(lib/BK/Client.pm,BK::Client) git-pod(lib/BK/Backend.pm,BK::Backend)
676 Bummskraut is a distributed chat/messaging client framework written in Perl
677 using <a href="/pkg/AnyEvent-MP.html">AnyEvent::MP</a>.
678
679 For more documentation please consult the main manpage (see below). If you
680 want to check on the latest news proceed to the news or changelog (see also
681 below).
682
623Compress-LZV1 cpan cvs-pod(LZV1.pm,) cvs-co(Changes) 683Compress-LZV1 cpan cvs-pod(LZV1.pm,) cvs-co(Changes)
624 A Perl module implementing the LZV1 compression algorithm. See 684 A Perl module implementing the LZV1 compression algorithm. See
625 <tt>Compress::LZF</tt> for a better algorithm and module. 685 <tt>Compress::LZF</tt> for a better algorithm and module.
686
687Compress-LZF cpan cvs-pod(LZF.pm,) cvs-co(Changes)
688 A Perl module implementing the LZF compression algorithm, and simple
689 to use data structure serialising.
626 690
627Convert-CD cvs-pod(lib/Convert/CD.pm,) cvs-pod(bin/cvtiso,cvtiso) cvs-co(doc/) cvs-co(Changes) 691Convert-CD cvs-pod(lib/Convert/CD.pm,) cvs-pod(bin/cvtiso,cvtiso) cvs-co(doc/) cvs-co(Changes)
628 Unfinished Perl project implementing CD image formats. Extracting ISO images 692 Unfinished Perl project implementing CD image formats. Extracting ISO images
629 already works. 693 already works.
630 694
801 865
802 This Perl module represents a Go game. It can check for valid moves, 866 This Perl module represents a Go game. It can check for valid moves,
803 capture stones, stores move history and can represent a variety of 867 capture stones, stores move history and can represent a variety of
804 additional annotations (circles, labels, grayed-out stones etc.). 868 additional annotations (circles, labels, grayed-out stones etc.).
805 869
870Games-Sokoban cpan cvs-pod(Sokoban.pm,) cvs-co(Changes)
871 A perl module to load/transform/save sokoban levels in various formats.
872
873 Supports xsb (text), rle, sokevo and a small "binpack" format for input and
874 output and can normalise levels as well as calculate unique IDs.
875
806Gtk2-GoBoard cpan cvs-pod(GoBoard.pm,) cvs-co(Changes) 876Gtk2-GoBoard cpan cvs-pod(GoBoard.pm,) cvs-co(Changes)
807 A Perl module implementing a go board widget. 877 A Perl module implementing a go board widget.
808 878
809 This Perl module implements a beautiful go board (see <a 879 This Perl module implements a beautiful go board (see <a
810 href="http://data.plan9.de/kgsuemel.jpg">example</a>), implemented as a 880 href="http://data.plan9.de/kgsuemel.jpg">example</a>), implemented as a
880 transfers (normal thttpd has problems with this). 950 transfers (normal thttpd has problems with this).
881 951
882wvsniff 952wvsniff
883 Undocumented but nicely working wavelan sniffer that I wrote for use 953 Undocumented but nicely working wavelan sniffer that I wrote for use
884 with my cisco aironet card. If you get it working, praise yourself. 954 with my cisco aironet card. If you get it working, praise yourself.
885
886ermyth cvs-pod(doc/poddoc/documentation.pod) cvs-co(Changes)
887 This is a fork of Atheme IRC Services.
888
889 Ermyth IRC Services is a set of Services for IRC networks that allows
890 users to manage their channels in a secure and efficient way and
891 allows operators to manage various things about their networks.
892 Ermyth has been ported to C++ and goes its way using modern concepts
893 and the object oriented paradigm.
894 955
895dhcpping cvs-pod(dhcping.pod,) 956dhcpping cvs-pod(dhcping.pod,)
896 A version of dhcpping enhanced by <a href="mailto:marco@nethype.de">Marco Maisenhelder</a> 957 A version of dhcpping enhanced by <a href="mailto:marco@nethype.de">Marco Maisenhelder</a>
897 to support passing dhcp options. Intended to test dhcp server implementations. 958 to support passing dhcp options. Intended to test dhcp server implementations.
898 959
1008 1069
1009 <p>lsys is a full-featured program that understands most of the syntax 1070 <p>lsys is a full-featured program that understands most of the syntax
1010 of the original l-systems language, which is far more complex and 1071 of the original l-systems language, which is far more complex and
1011 powerful than most available l-system interpreters.</p> 1072 powerful than most available l-system interpreters.</p>
1012 1073
1013 <p>See <a href="http://www.goof.com/pcg/marc/lsys.html">the original homepage</a> 1074 <p>See <a href="http://home.schmorp.de/marc/lsys.html">the original homepage</a>
1014 for more explanations and some images. 1075 for more explanations and some images.
1076
1077ermyth cvs-pod(doc/poddoc/documentation.pod) cvs-co(Changes)
1078 This is a fork of Atheme IRC Services.
1079
1080 Ermyth IRC Services is a set of Services for IRC networks that allows
1081 users to manage their channels in a secure and efficient way and
1082 allows operators to manage various things about their networks.
1083 Ermyth has been ported to C++ and goes its way using modern concepts
1084 and the object oriented paradigm.
1085

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines