From d50273878dc32046ef827da4ef2c42553922fe04 Mon Sep 17 00:00:00 2001 From: short <> Date: Fri, 10 Oct 2003 10:21:19 +0000 Subject: [PATCH] descriptions updated --- WebConfig.pm | 42 ++++++++++++++++++++++++++++++++++++- project/332/Index.html.pl | 27 ++++++++++++++++++++++++ project/332/ListItem.pm | 25 ++-------------------- project/AutoGen/ListItem.pm | 16 +++++++------- project/Index.html.pl | 15 +++++++------ project/Islet/ListItem.pm | 2 +- project/TraceFS/ListItem.pm | 4 ++-- project/badblock_guess/ListItem.pm | 3 ++- project/captive/Index.html.pl | 2 +- project/checkstatic/ListItem.pm | 2 +- project/cvsutil/Index.html.pl | 8 +++++++ project/cvsutil/ListItem.pm | 10 ++++----- project/doswatch/ListItem.pm | 2 +- project/fixhtml/Index.html.pl | 10 +++++++++ project/fixhtml/ListItem.pm | 7 ++----- project/kix/Index.html.pl | 13 ++++++++++++ project/kix/ListItem.pm | 12 ++--------- project/kware/Index.html.pl | 8 +++++++ project/kware/ListItem.pm | 3 --- project/line9k/ListItem.pm | 2 +- project/mdsms/Index.html.pl | 10 +++++++++ project/mdsms/ListItem.pm | 15 +++++-------- project/mot2as/Index.html.pl | 8 +++++++ project/mot2as/ListItem.pm | 3 --- project/oslik/ListItem.pm | 2 +- project/pipebuf/Index.html.pl | 9 ++++++++ project/pipebuf/ListItem.pm | 8 ++----- project/redirector_ad/ListItem.pm | 9 +++----- project/smbfs/Index.html.pl | 13 ++++++++++++ project/smbfs/ListItem.pm | 10 ++------- project/sshpatch/ListItem.pm | 8 +++++-- project/ssht/ListItem.pm | 10 ++++----- project/step/ListItem.pm | 2 +- project/surprise/ListItem.pm | 2 +- project/tac_plus/ListItem.pm | 2 +- project/tcp_rto/Index.html.pl | 16 ++++++++++++++ project/tcp_rto/ListItem.pm | 14 +++---------- project/wayback/ListItem.pm | 5 ++--- project/xbill/Index.html.pl | 9 ++++++++ project/xbill/ListItem.pm | 7 +++---- project/xbill/redmond_.jpeg | Bin 0 -> 20114 bytes 41 files changed, 244 insertions(+), 131 deletions(-) create mode 100644 project/xbill/redmond_.jpeg diff --git a/WebConfig.pm b/WebConfig.pm index 3ced7a8..51149df 100644 --- a/WebConfig.pm +++ b/WebConfig.pm @@ -31,6 +31,7 @@ use vars qw(@ISA @EXPORT); @ISA=qw(Exporter); @EXPORT=qw(%WebConfig); +use My::Web; require CGI; @@ -50,7 +51,46 @@ our %WebConfig=( "pserver"=>':pserver:pserver:@cvs.jankratochvil.net', "pserver_path"=>"/cvs", "heading"=>sub () { -# print "

heading

\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print '
'."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print '
'."\n"; + print My::Web::a_href('http://www.jankratochvil.net/','Jan Kratochvil'); + print '
'; + print '
'."\n"; + print ''."\n"; + print ''."\n"; + my @sections=( + My::Web::top_dir()."/project/"=>"Projects", + "http://cvs.jankratochvil.net/"=>"CVS", +# My::Web::top_dir()."/News.html.pl"=>"News", + My::Web::top_dir()."/Resume.html.pl"=>"Resume", + My::Web::top_dir()."/Contact.html.pl"=>"Contact", + ); + while (@sections) { + my $section_path=shift @sections; + my $section_name=shift @sections; + print '\n"; + } + print ''."\n"; + print '
'; + print(($My::Web::W->{"section"} || "") eq $section_name ? "$section_name" + : My::Web::a_href($section_path,$section_name)); + print "
'."\n"; + print '
'."\n"; + print My::Web::vskip("1ex"); }, "footing"=>sub () { # print "

footing

\n"; diff --git a/project/332/Index.html.pl b/project/332/Index.html.pl index adeb23d..e2ab58d 100755 --- a/project/332/Index.html.pl +++ b/project/332/Index.html.pl @@ -36,4 +36,31 @@ My::Project->init_project( "ListItem"=>\@project::332::ListItem::ListItem, ); + +print <<"HERE"; +

Project was destined as the kernel for GPS-tracking device. +Used Motorola 68332 computer features 1.25MB of RAM and 512KB of FlashEPROM. +Included build script with custom GCC target for AmigaOS.

+

Fortunately Pavel Troller already disassembled the kernel core in the past +and this project could be based on his reverse engineered sources.

+

@{[ a_href top_dir()."/project/332/332-noexec.tar.gz",'Downloadable sources' ]} archive unfortunately +legally cannot contain the real code of the ported AmigaOS kernel core as +@{[ a_href 'http://amigaworld.net/modules/newbb/viewtopic.php?forum=2&topic_id=224','it is copyrighted.' ]}. +You should send me a mail with md5sum(1)s of AmigaOS kernel including +statement you are the legal owner to let me send you the missing patched +AmigaOS kernel core disassembled sources.

+

The provided kernel lists the following features:

+ +HERE + + My::Web->footer(); diff --git a/project/332/ListItem.pm b/project/332/ListItem.pm index e52ec50..488e7e5 100755 --- a/project/332/ListItem.pm +++ b/project/332/ListItem.pm @@ -40,29 +40,8 @@ our @ListItem=( "sponsorship"=>@{[ a_href('http://www.princip.cz/','Princip') ]}, "language"=>"680x0 asm, C", "description"=><<"HERE", -

Core of the AmigaOS kernel (exec.library) was ported to embedded Motorola 68332 computer. -It is designed as the kernel for GPS-tracking device. -Used Motorola 68332 computer features 1.25MB of RAM and 512KB of FlashEPROM. -Included build script with custom GCC target for AmigaOS.

-

Fortunately Pavel Troller already disassembled the kernel core in the past -and this project could be based on his reverse engineered sources.

-

@{[ a_href top_dir()."/project/332/332-noexec.tar.gz",'Downloadable sources' ]} archive unfortunately -legally cannot contain the real code of the ported AmigaOS kernel core as -@{[ a_href 'http://amigaworld.net/modules/newbb/viewtopic.php?forum=2&topic_id=224','it is copyrighted.' ]}. -You should send me a mail with md5sum(1)s of AmigaOS kernel including -statement you are the legal owner to let me send you the missing patched -AmigaOS kernel core disassembled sources.

-

The provided kernel lists the following features:

- +

Core of the AmigaOS kernel (exec.library) ported to embedded Motorola 68332 computer. +Reusable as OS for your embedded device suitable for developers with AmigaOS experience.

HERE ); diff --git a/project/AutoGen/ListItem.pm b/project/AutoGen/ListItem.pm index 99c9bbc..2040998 100755 --- a/project/AutoGen/ListItem.pm +++ b/project/AutoGen/ListItem.pm @@ -46,21 +46,21 @@ our @ListItem=( This project has some additional features:

HERE diff --git a/project/Index.html.pl b/project/Index.html.pl index eb645d8..33bc3a2 100755 --- a/project/Index.html.pl +++ b/project/Index.html.pl @@ -35,6 +35,7 @@ Wrequire 'project::Platform'; My::Web->init( "__PACKAGE__"=>__PACKAGE__, "title"=>'Project List', + "section"=>"Projects", ); My::Web->heading(); @@ -50,12 +51,14 @@ print <<"HERE"; HERE print ''."\n"; - my @platforms=@project::Platform::platforms; - while (@platforms) { - my $platform_sym =shift @platforms; - my $platform_name=shift @platforms; - print '\n"; - } + print ''."\n"; + my @platforms=@project::Platform::platforms; + while (@platforms) { + my $platform_sym =shift @platforms; + my $platform_name=shift @platforms; + print '\n"; + } + print ''."\n"; print '
'.a_href('#'.$platform_sym,$platform_name)."
'.a_href('#'.$platform_sym,$platform_name)."
'."\n"; print vskip "1ex"; diff --git a/project/Islet/ListItem.pm b/project/Islet/ListItem.pm index bdc67a8..5b726da 100755 --- a/project/Islet/ListItem.pm +++ b/project/Islet/ListItem.pm @@ -38,7 +38,7 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"Java 1.1", "description"=><<"HERE", -

Simple 'game', Java demostration.

+

Java applet implementing a simple map fight game.

HERE ); diff --git a/project/TraceFS/ListItem.pm b/project/TraceFS/ListItem.pm index 1572268..fadddca 100755 --- a/project/TraceFS/ListItem.pm +++ b/project/TraceFS/ListItem.pm @@ -39,8 +39,8 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"C", "description"=><<"HERE", -

Project allows wrapping of Microsoft Windows Kernel API calls by the chosen -kernel driver.

+

Project allows wrapping of Microsoft Windows Kernel API calls of your chosen +kernel driver by your custom function code.

Although TraceFS was up to now used only for tracing of Windows NT Cache Manager it can be easily used ever for any other NT kernel API tracing. You need to provide appropriate function wrappers in the main source file. diff --git a/project/badblock_guess/ListItem.pm b/project/badblock_guess/ListItem.pm index 4a0b522..ac6d579 100755 --- a/project/badblock_guess/ListItem.pm +++ b/project/badblock_guess/ListItem.pm @@ -42,7 +42,8 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"C", "description"=><<"HERE", -

badblock-guess will try to find all readable sectors of the disk in minimal time.

+

badblock-guess will recover all readable sectors of the disk in minimal time +while trying to prevent disk read retrying head recalibrations.

HERE ); diff --git a/project/captive/Index.html.pl b/project/captive/Index.html.pl index f42512b..15072c9 100755 --- a/project/captive/Index.html.pl +++ b/project/captive/Index.html.pl @@ -355,7 +355,7 @@ class="quote">/usr/share/lufs/prepmod.

Why did I install Microsoft Windows and wrote such disgusting piece of code?
- I expect @{[ a_href top_dir()."/CV.html.pl","yet another challenging task" ]}, ! + Expecting @{[ a_href top_dir()."/CV.html.pl","yet another challenging task" ]}, !

HERE diff --git a/project/checkstatic/ListItem.pm b/project/checkstatic/ListItem.pm index 7ccdbd0..fe0b623 100755 --- a/project/checkstatic/ListItem.pm +++ b/project/checkstatic/ListItem.pm @@ -39,7 +39,7 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"Perl", "description"=><<"HERE", -

Gives additional warnings not provided by GNU C Compiler +

Scripts gives additional warnings not provided by GNU C Compiler such as dead code declared as global in separate file, missing static keywords etc.

It can get very valuable during stripping functionality off of diff --git a/project/cvsutil/Index.html.pl b/project/cvsutil/Index.html.pl index f4af5a3..f3f2bf3 100755 --- a/project/cvsutil/Index.html.pl +++ b/project/cvsutil/Index.html.pl @@ -36,4 +36,12 @@ My::Project->init_project( "ListItem"=>\@project::cvsutil::ListItem::ListItem, ); + +print <<"HERE"; +

There already exists package @{[ a_href 'http://www.red-bean.com/cvsutils/','CVS Utilities' ]} +with similiar features - this utility should be merged into it. +Pointed out by the courtesy of Jesse Glick.

+HERE + + My::Web->footer(); diff --git a/project/cvsutil/ListItem.pm b/project/cvsutil/ListItem.pm index 7da3603..7f25f6c 100755 --- a/project/cvsutil/ListItem.pm +++ b/project/cvsutil/ListItem.pm @@ -39,11 +39,11 @@ our @ListItem=( "maintenance"=>"merge", "language"=>"Perl", "description"=><<"HERE", -

Lists of specified types of files and safe settings of CVSROOT -for already checkouted package.

-

There exists package @{[ a_href 'http://www.red-bean.com/cvsutils/','CVS Utilities' ]} -doing similiar things and more - this utility should be merged into it. -Pointed out by the courtesy of Jesse Glick.

+

List the specified types of files and safe settings of CVSROOT +for already checkouted package. As an example of its many applications +can serve a handy prevention of grepping built files: + grep -w wanted_sym `cvsfiles` +

HERE ); diff --git a/project/doswatch/ListItem.pm b/project/doswatch/ListItem.pm index c48e8bc..7441de5 100755 --- a/project/doswatch/ListItem.pm +++ b/project/doswatch/ListItem.pm @@ -45,7 +45,7 @@ for weird software packages with broken file/directory access.

  • MDA/Hercules secondary adapter recommended for DOSWATCH
  • Package contains also MDABIOS - generic secondary adapter driver
  • MDABIOS features DOS commands accessible device "mda$"
  • -
  • DOSWATCH can be run on single VGA card (with not much comfort, indeed)
  • DOSWATCH can be run on single VGA card (with not much comfort, indeed) HERE ); diff --git a/project/fixhtml/Index.html.pl b/project/fixhtml/Index.html.pl index 4e5a521..bf399dc 100755 --- a/project/fixhtml/Index.html.pl +++ b/project/fixhtml/Index.html.pl @@ -36,4 +36,14 @@ My::Project->init_project( "ListItem"=>\@project::fixhtml::ListItem::ListItem, ); + +print <<"HERE"; +

    If you download/grab the whole (or its part) of some web site (for example +by WebCopy tool), you will +probably want to browse it locally on your computer offline. Unfortunately +the authors are usually using server-name protocol reference or absolute +path referration which will broke on your local machine.

    +HERE + + My::Web->footer(); diff --git a/project/fixhtml/ListItem.pm b/project/fixhtml/ListItem.pm index 5107512..4094069 100755 --- a/project/fixhtml/ListItem.pm +++ b/project/fixhtml/ListItem.pm @@ -39,11 +39,8 @@ our @ListItem=( "maintenance"=>"obsolete-".a_href('http://wget.sunsite.dk/','Wget')." option --convert-links does the same.", "language"=>"Perl", "description"=><<"HERE", -

    If you download/grab the whole (or its part) of some web site (for example -by WebCopy tool), you will -probably want to browse it locally on your computer offline. Unfortunately -the authors are usually using server-name protocol reference or absolute -path referration which will broke on your local machine.

    +

    Program translates the URL references in your downloaded web pages to be relative +and therefore browsable without Internet access.

    HERE ); diff --git a/project/kix/Index.html.pl b/project/kix/Index.html.pl index b96b7f7..6522d39 100755 --- a/project/kix/Index.html.pl +++ b/project/kix/Index.html.pl @@ -36,4 +36,17 @@ My::Project->init_project( "ListItem"=>\@project::kix::ListItem::ListItem, ); + +print <<"HERE"; +

    You no longer need to run any foreign binaries on your system and connect +to remote/slow real @{[ a_href 'http://www.kali.net/','Kali' ]} server. +You also do not need to sign any papers to get binary-only your +own Kali server. Unfortunaly you cannot interconnect a game established +by using KIX with any other software (Kali, native IPX etc.).

    +

    Just compile, run and then add "-kali" option to your +@{[ a_href 'http://d1x.warpcore.org/','D1X' ]} to get it running. You +do not need IPX support anywhere (kernel, D1X, ...).

    +HERE + + My::Web->footer(); diff --git a/project/kix/ListItem.pm b/project/kix/ListItem.pm index a3774fc..70eb687 100755 --- a/project/kix/ListItem.pm +++ b/project/kix/ListItem.pm @@ -38,16 +38,8 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"C", "description"=><<"HERE", -

    Server which can be used on GNU/Linux as a replacement of -@{[ a_href 'ftp://linux.kali.net/outgoing/kalinix/','KaliNix' ]} -and thus no need to run some foreign binaries on your system and connection -to remote/slow real @{[ a_href 'http://www.kali.net/','Kali' ]} server -and/or subscribing various papers to get (again binary-only) your -own Kali server. Unfortunaly you cannot interconnect a game established -by using KIX with any other software (Kali, native IPX etc.).

    -

    Just compile, run and then add "-kali" option to your -@{[ a_href 'http://d1x.warpcore.org/','D1X' ]} to get it running. You -do not need IPX support anywhere (kernel, D1X, ...).

    +

    Server used on GNU/Linux as a replacement for proprietary +@{[ a_href 'ftp://linux.kali.net/outgoing/kalinix/','KaliNix' ]} network game server.

    HERE ); diff --git a/project/kware/Index.html.pl b/project/kware/Index.html.pl index c1f6ce9..e980c65 100755 --- a/project/kware/Index.html.pl +++ b/project/kware/Index.html.pl @@ -36,4 +36,12 @@ My::Project->init_project( "ListItem"=>\@project::kware::ListItem::ListItem, ); + +print <<"HERE"; +

    Currently only a few functions are implemented and the code is rather +an ugly hack than professional solution. I do not expect to ever develop +it into some clean software, take it as it is, improve it or let it be.

    +HERE + + My::Web->footer(); diff --git a/project/kware/ListItem.pm b/project/kware/ListItem.pm index 410bb04..9409b1c 100755 --- a/project/kware/ListItem.pm +++ b/project/kware/ListItem.pm @@ -47,9 +47,6 @@ Here you are!

    is able to link with already pre-compiled modules. No special compilation flags needed, just link the .o module of the driver with KernelWare and you will get standard executable.

    -

    Currently only a few functions are implemented and the code is rather -an ugly hack than professional solution. I do not expect to ever develop -it into some clean software, take it as it is, improve it or let it be.

    HERE ); diff --git a/project/line9k/ListItem.pm b/project/line9k/ListItem.pm index 733a2de..67b06a7 100755 --- a/project/line9k/ListItem.pm +++ b/project/line9k/ListItem.pm @@ -39,7 +39,7 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"bash, hardware", "description"=><<"HERE", -

    Waits for incoming PPP data connection, authorizes it and answers it.

    +

    Daemon waits for incoming PPP data connection, authorizes it and answers it.

    Scheme of computer controllde hardware charger for Nokia Communicator 9110 is supplied. It keeps the Nokia battery fit by automatically controlled battery charging cycles.

    HERE diff --git a/project/mdsms/Index.html.pl b/project/mdsms/Index.html.pl index bf32179..1a71f44 100755 --- a/project/mdsms/Index.html.pl +++ b/project/mdsms/Index.html.pl @@ -36,4 +36,14 @@ My::Project->init_project( "ListItem"=>\@project::mdsms::ListItem::ListItem, ); + +print <<"HERE"; +

    This software should be general-UNIX compatible. Please wait a minute when +you run it, under various UNIXes it may take some time to finish.

    +

    GSM network codes: GSM network code needs to be given as parameter during +sending of operator logo. Nice list of the codes you will find +@{[ a_href 'http://kbs.cs.tu-berlin.de/~jutta/gsm/gsm-list.html','here' ]}.

    +HERE + + My::Web->footer(); diff --git a/project/mdsms/ListItem.pm b/project/mdsms/ListItem.pm index 2f1a35c..5a1801f 100755 --- a/project/mdsms/ListItem.pm +++ b/project/mdsms/ListItem.pm @@ -50,19 +50,14 @@ our @ListItem=( a_href('http://www.atspraha.cz/','Advanced Telecom Services')), "language"=>"C", "description"=><<"HERE", -

    Sends NOL or NGG files as operator logo or group graphics through +

    Program sends NOL or NGG files as Nokia operator logo or group graphics through @{[ a_href 'http://www.nokia.com/','Nokia' ]} @{[ a_href 'http://www.communicator.org/','Communicator' ]} -9110 (9000/9000i is definitively not compatible). Usually you need +9110 (@{[ a_href 'http://www.nokia.com/phones/9000i','9000/9000i' ]} +is not compatible). Usually you need to have either infra-red port in your computer or special FBUS cable to be able -to use conventional logo-uploading tools (@{[ a_href 'http://www.gnokii.org/','GNokii' ]} -or one from @{[ a_href 'http://www.kessler-design.com/wireless/operatorlogo.php3','KESSLER Wireless Design' ]}). -This program uses only standard modem cable and integrated +to use conventional logo-uploading tools (such as @{[ a_href 'http://www.gnokii.org/','gnokii' ]}). +This program uses only standard modem cable and the integrated FaxModem capability of 9110.

    -

    This software should be general-UNIX compatible. Please wait a minute when -you run it, under various UNIXes it may take some time to finish.

    -

    GSM network codes: GSM network code needs to be given as parameter during -sending of operator logo. Nice list of the codes you will find -@{[ a_href 'http://kbs.cs.tu-berlin.de/~jutta/gsm/gsm-list.html','here' ]}.

    HERE ); diff --git a/project/mot2as/Index.html.pl b/project/mot2as/Index.html.pl index 0f44a9a..bbd81fe 100755 --- a/project/mot2as/Index.html.pl +++ b/project/mot2as/Index.html.pl @@ -36,4 +36,12 @@ My::Project->init_project( "ListItem"=>\@project::mot2as::ListItem::ListItem, ); + +print <<"HERE"; +

    Specifically it will care about: equ operation, dc.b strings, +; comments, $ for hex-radix, % for bin-radix, +local labels, : for label termination.

    +HERE + + My::Web->footer(); diff --git a/project/mot2as/ListItem.pm b/project/mot2as/ListItem.pm index 82d453b..7c7c36b 100755 --- a/project/mot2as/ListItem.pm +++ b/project/mot2as/ListItem.pm @@ -43,9 +43,6 @@ our @ListItem=( of processors? You have probably already found out that original Motorola syntax is not suitable for GNU assembler which uses a bit different (AT&T style) syntax. Using this very simple program you can convert between these two.

    -

    Specifically it will care about: equ operation, dc.b strings, -; comments, $ for hex-radix, % for bin-radix, -local labels, : for label termination.

    HERE ); diff --git a/project/oslik/ListItem.pm b/project/oslik/ListItem.pm index 18e527c..8c39715 100755 --- a/project/oslik/ListItem.pm +++ b/project/oslik/ListItem.pm @@ -39,7 +39,7 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"Prolog", "description"=><<"HERE", -

    This is no game, just solution of one specific mathematical problem +

    Solution calculator of a logical game / mathematical problem consisting of simple state search. Software is written equivalentnly both in C and Prolog for comparation.

    HERE diff --git a/project/pipebuf/Index.html.pl b/project/pipebuf/Index.html.pl index de57c40..e3850af 100755 --- a/project/pipebuf/Index.html.pl +++ b/project/pipebuf/Index.html.pl @@ -36,4 +36,13 @@ My::Project->init_project( "ListItem"=>\@project::pipebuf::ListItem::ListItem, ); + +print <<"HERE"; +

    Progarm is implemented as two processes (no threads - no pthread libraries +needed, only IPC communication used). Features custom buffer sizes, prefill +(start writing of the first byte only after the WHOLE buffer has beel filled +up) and warning messages when buffer is getting emptied.

    +HERE + + My::Web->footer(); diff --git a/project/pipebuf/ListItem.pm b/project/pipebuf/ListItem.pm index c7922f3..010eaf0 100755 --- a/project/pipebuf/ListItem.pm +++ b/project/pipebuf/ListItem.pm @@ -38,13 +38,9 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"C", "description"=><<"HERE", -

    You can do a buffering of realtime data such as audio stream by inserting this program +

    You can buffer realtime data such as audio stream by inserting this program with traditional "UNIX filter" behaviour. It reads as fast as possible into -its cache and also in the same time writes as fast as possible to the output. In fact -it is implemented as two processes (no threads - no pthread libraries needed, only IPC -communication used). Features custom buffer sizes, prefill (start writing of the first byte -only after the WHOLE buffer has beel filled up) and warning messages when buffer is getting -emptied.

    +its cache and also in the same time writes as fast as possible to the output.

    HERE ); diff --git a/project/redirector_ad/ListItem.pm b/project/redirector_ad/ListItem.pm index 3c1ae23..4791796 100755 --- a/project/redirector_ad/ListItem.pm +++ b/project/redirector_ad/ListItem.pm @@ -38,12 +38,9 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"Perl", "description"=><<"HERE", -

    Scripts that will simply discard graphical images referenced -from web pages. Unlike other such packages it:

    - +

    Scripts discarding specified graphical images (read 'ads') referenced +from web pages. Unlike zillions of other such packages there +is no need for separate administration of another daemon.

    HERE ); diff --git a/project/smbfs/Index.html.pl b/project/smbfs/Index.html.pl index 222c15f..68ace61 100755 --- a/project/smbfs/Index.html.pl +++ b/project/smbfs/Index.html.pl @@ -36,4 +36,17 @@ My::Project->init_project( "ListItem"=>\@project::smbfs::ListItem::ListItem, ); + +print <<"HERE"; +

    Simple patch to increase virtual block size of SMB filesytem in Linux +kernel. It improved tranfer rate of cp command almost +by a factor of 2 (approx. 700KB -> 1300KB or something +like about it) in the local conditions. Now cp should be as fast +as cat redirected across networked filesystems.

    +

    Unfortunately the blocksize causes different (4 times smaller) sizes +reported by du command as it measures it in blocks +and not in kilobytes as some people think.

    +HERE + + My::Web->footer(); diff --git a/project/smbfs/ListItem.pm b/project/smbfs/ListItem.pm index 0231e30..a7dc691 100755 --- a/project/smbfs/ListItem.pm +++ b/project/smbfs/ListItem.pm @@ -39,14 +39,8 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"C patch", "description"=><<"HERE", -

    Simple patch to increase virtual block size of SMB filesytem in Linux -kernel. For me it improved tranfer rate of cp command almost -by a factor of 2 (approx. 700KB -> 1300KB or something -like about it). Now cp should be as fast as cat -redirected across networked filesystems.

    -

    Unfortunately the blocksize causes different (4 times smaller) sizes -reported by du command as it measures it in blocks -and not in kilobytes as some people think.

    +

    Accelerate twice the copying transfer rate for client GNU/Linux from SMB +server share (Microsoft Windows). HERE ); diff --git a/project/sshpatch/ListItem.pm b/project/sshpatch/ListItem.pm index 171d6a3..8569ce0 100755 --- a/project/sshpatch/ListItem.pm +++ b/project/sshpatch/ListItem.pm @@ -40,8 +40,12 @@ our @ListItem=( "maintenance"=>"update-".a_href('http://www.openssh.com/','OpenSSH').' is preferred although this patch is not migrated.', "language"=>"C patch", "description"=><<"HERE", -This patch will protect your mostly idle SSH connection from broken masquerading firewalls -and/or it will also provide _on-demand_ tunnelling. +

    HERE ); diff --git a/project/ssht/ListItem.pm b/project/ssht/ListItem.pm index f4b42f7..3010071 100755 --- a/project/ssht/ListItem.pm +++ b/project/ssht/ListItem.pm @@ -39,12 +39,12 @@ our @ListItem=( "sponsorship"=>a_href('http://www.jklabs.cz/','JKLabs'), "language"=>"bash", "description"=><<"HERE", -

    Do you need to admin remote host placed in the intranet behind enemy firewall? -If you are able to set up port forward on the firewalling you are done. -In the case of HTTP-only proxy you cannot use these scripts - look elsewhere.

    -

    If the firewall performat NAT (masquerade) where you can connect from +

    Do you need to admin remote host placed in the intranet behind firewall out of your contrl? +If the firewall performat NAT (masquerade) where you can connect from the intranet to the outer world by @{[ a_href 'http://www.openssh.org/','SSH' ]} -you can use these security safe (TODO: chroot) scripts.

    +you can use these security safe scripts.

    +

    If you are able to set up port forwarding on the firewall you do not need any such scripts. +In the case of HTTP-only proxy you cannot use these scripts - look elsewhere.

    HERE ); diff --git a/project/step/ListItem.pm b/project/step/ListItem.pm index a3f6829..093da5e 100755 --- a/project/step/ListItem.pm +++ b/project/step/ListItem.pm @@ -38,7 +38,7 @@ our @ListItem=( "maintenance"=>"dead", "language"=>"PHP 3.0", "description"=><<"HERE", -

    Preview of a possible future web database solution for some lawyers association. +

    Preview of a possible future web database solution for a lawyers association. Currently it remains as a source of some web development @{[ a_href 'http://www.php.net/','PHP 3.0' ]} codebase to be reused in other projects.

    HERE diff --git a/project/surprise/ListItem.pm b/project/surprise/ListItem.pm index 29cd2ba..ae4c8a8 100755 --- a/project/surprise/ListItem.pm +++ b/project/surprise/ListItem.pm @@ -52,7 +52,7 @@ Member of the development team: HERE "language"=>"C", "description"=><<"HERE", -

    Partition Surprise is a GPL partition managing software for Linux. Partition +

    Partition Surprise is a GPL partition managing software for GNU/Linux. Partition resizes, moves and conversions is implemented. Limited support of operations on mounted ext2-filesystem included as well. HERE diff --git a/project/tac_plus/ListItem.pm b/project/tac_plus/ListItem.pm index 6a429c8..1750ecb 100755 --- a/project/tac_plus/ListItem.pm +++ b/project/tac_plus/ListItem.pm @@ -44,7 +44,7 @@ our @ListItem=( "language"=>"C patch", "sponsorship"=>a_href('http://www.gtsgroup.cz/'.'GTS'), "description"=><<"HERE", -

    Patch provides complete freedom of specifying ANY +

    Patch provides complete freedom of specifying any configuration changes depending on the specific NAS the user is being logged on. This involves different enable password, NAS keys but now also: various specific commands, permitted services etc.

    diff --git a/project/tcp_rto/Index.html.pl b/project/tcp_rto/Index.html.pl index 70810a2..5c5dd9a 100755 --- a/project/tcp_rto/Index.html.pl +++ b/project/tcp_rto/Index.html.pl @@ -36,4 +36,20 @@ My::Project->init_project( "ListItem"=>\@project::tcp_rto::ListItem::ListItem, ); + +print <<"HERE"; +

    This patch can solve your problems if you have network connection dropping too much +packets. In standard case the Linux kernel will correctly increase our round-trip-time +of connection slowing the transfer rate up to the unusable state.

    +

    After applying this patch you can set your maximal round-trip-time in file +"/proc/sys/net/ipv4/tcp_rto_max", it is expressed in Hz +units (100-per-second on x86 platform). You may need also to enlarge +your maximal retry count in "/proc/sys/net/ipv4/tcp_retries2", +otherwise your machine will reject the connection as it will have to retry +the packets more than in sane states.

    +

    Please use this feature very carefully! You are violating +RFC standards and you can get your network administrators to be very angry!

    +HERE + + My::Web->footer(); diff --git a/project/tcp_rto/ListItem.pm b/project/tcp_rto/ListItem.pm index 01a13ca..33684a2 100755 --- a/project/tcp_rto/ListItem.pm +++ b/project/tcp_rto/ListItem.pm @@ -40,17 +40,9 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"C patch", "description"=><<"HERE", -

    This patch can solve your problems if you have network connection dropping too much -packets. In standard case the Linux kernel will correctly increase our round-trip-time -of connection slowing the transfer rate up to the unusable state.

    -

    After applying this patch you can set your maximal round-trip-time in file -"/proc/sys/net/ipv4/tcp_rto_max", it is expressed in Hz -units (100-per-second on x86 platform). You may need also to enlarge -your maximal retry count in "/proc/sys/net/ipv4/tcp_retries2", -otherwise your machine will reject the connection as it will have to retry -the packets more than in sane states.

    -

    Please use this feature very carefully! You are violating -RFC standards and you can get your network administrators to be very angry!

    +

    Solve your problems with network connection dropping too much of your +packets. It forces Linux kernel to insist repeating the packages to prevent +slowdown of the TCP connection up to its unusable state.

    HERE ); diff --git a/project/wayback/ListItem.pm b/project/wayback/ListItem.pm index 12c0a76..380d62d 100755 --- a/project/wayback/ListItem.pm +++ b/project/wayback/ListItem.pm @@ -40,9 +40,8 @@ our @ListItem=( "language"=>"C", "description"=><<"HERE",

    This programs is userful for time-limited demo versions, of course.

    -

    Just set WAYBACK to the number of seconds to shift system time back, -set LD_PRELOAD to the provided libwayback.so and run your -demo program.

    +

    Just set environment variable "WAYBACK" to the number of seconds to shift the system time back. +Set "LD_PRELOAD" to the provided libwayback.so and run your demo program.

    HERE ); diff --git a/project/xbill/Index.html.pl b/project/xbill/Index.html.pl index 8d61080..6c3bbbb 100755 --- a/project/xbill/Index.html.pl +++ b/project/xbill/Index.html.pl @@ -36,4 +36,13 @@ My::Project->init_project( "ListItem"=>\@project::xbill::ListItem::ListItem, ); + +print <<"HERE"; +This project has been moved to @{[ a_href 'http://sourceforge.net/','SourceForge' ]}. +Please refer to its @{[ a_href 'http://xbill.sourceforge.net/','SourceForge project page' ]}. +HERE + +print '
    '.My::Web::img("redmond_.jpeg","xBill").'
    '."\n"; + + My::Web->footer(); diff --git a/project/xbill/ListItem.pm b/project/xbill/ListItem.pm index 00f1e0e..bbeee36 100755 --- a/project/xbill/ListItem.pm +++ b/project/xbill/ListItem.pm @@ -39,10 +39,9 @@ our @ListItem=( "maintenance"=>"ready", "language"=>"C", "description"=><<"HERE", -

    Almost-rewritten @{[ a_href 'ftp://ftp.x.org/contrib/games/xbill-2.0.tgz','classical xBill game' ]}, -this project has been moved to @{[ a_href 'http://sourceforge.net/','SourceForge' ]}. -Please refer to the @{[ a_href 'http://xbill.sourceforge.net/','page linked above' ]} -to have further access to it.

    +

    Rewritten @{[ a_href 'ftp://ftp.x.org/contrib/games/xbill-2.0.tgz','classical xBill game' ]}. +

    Features list: @{[ a_href 'http://www.gnome.org/','Gnome/GTK+' ]} UI, +network gameplay, C++ no longer required, portability.

    HERE ); diff --git a/project/xbill/redmond_.jpeg b/project/xbill/redmond_.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..38298852d6d6b7cfad158b73674af3956ecb3c3f GIT binary patch literal 20114 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