our @ListItem=(
"name"=>"332",
"platform"=>"unixdevel",
- "priority"=>8,
+ "priority"=>630,
"icon"=>"332-front-icon.jpeg",
# FIXME: Relative 'download':
"download-sources without patched core"=>"/project/332/332-noexec.tar.gz",
our @ListItem=(
"name"=>"AutoGen",
"platform"=>"unixdevel",
- "priority"=>4,
+ "priority"=>540,
"cvs"=>"macros",
"link-Documentation"=>'/project/Pod2Html.html.pl?cvs=macros/AutoGen.pm',
# FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
our @ListItem=(
"name"=>"Casio-A",
"platform"=>"amiga",
- "priority"=>3,
+ "priority"=>450,
"icon"=>"Casio-A-icon",
"download"=>"Casio-A.lha",
"link-source file"=>"Casio-A.asm",
our @ListItem=(
"name"=>"FordFulk",
"platform"=>"web",
- "priority"=>5,
+ "priority"=>230,
"icon"=>"FordFulk-icon",
"download"=>"FordFulk/FordFulk.zip",
"summary"=>"Ford-Fulkenson algorithm web applet",
our @ListItem=(
"name"=>"Heat",
"platform"=>"web",
- "priority"=>5,
+ "priority"=>220,
"icon"=>"Heat-icon",
"download"=>"Heat/Heat.zip",
"summary"=>"Heat distribution simulation web applet",
my %item=( My::Project::item_hash_read() );
-# $col{"name"}{"show"}=1
-# $col{"name"}{"format"}=sub { "<".$_[0].">"; }
-# $col{"name"}{""}="Project name";
-# @col_order
-
-my @row_order=qw(-priority);
-my @col_order=qw(name summary license maintenance language);
-my %col;
-
-sub format_url ($) { return (!$_[0] ? "" : '<a href="'.$_[0].'">X</a>'); }
-
-$col{"name"}{"format"}=sub {
- $_[0]=~s#<a\s[^>]*>([^<]*)</a>#$1#g;
- return "<a href=\"".$_[1]."/\">".$_[0]."</a>";
- };
-
my @platforms=@My::Project::platforms;
while (@platforms) {
my $platform_sym =shift @platforms;
our @ListItem=(
- "name"=>'Islet',
+ "name"=>"Islet",
"platform"=>"web",
- "priority"=>5,
+ "priority"=>210,
"icon"=>"Islet-icon",
"download"=>"Islet/Islet.zip",
"summary"=>"Map fight web game applet",
our @ListItem=(
"name"=>"LaserGame",
"platform"=>"amiga",
- "priority"=>4,
+ "priority"=>550,
"icon"=>"hw-icon.jpeg",
"download"=>"LaserGame.lha",
"link-Intel 8051 source file"=>"LaserGun.a51",
$col{"name"}{"format"}=sub {
$_[0]=~s#<a\s[^>]*>([^<]*)</a>#$1#g;
return "<a href=\"".$_[1]."/\">"
- .$item{$_[1]}{"priority"}.":" # debug
+ .(!$My::Web::W->{"args"}{"W"} ? "" : $item{$_[1]}{"priority"}.":")
.$_[0]."</a>";
};
for my $order_by (@row_order,"name") {
my $order_by=$order_by;
my $minus=($order_by=~s/^(-)//)[0];
- my $r=($item{$a}{$order_by} cmp $item{$b}{$order_by});
+ # FIXME: 'cmp' or '<=>'?
+ my $r=($item{$a}{$order_by} <=> $item{$b}{$order_by});
$r=-$r if $minus;
return $r if $r;
}
our @ListItem=(
"name"=>"My::Web",
"platform"=>"web",
- "priority"=>5,
+ "priority"=>250,
"cvs"=>"www/www.jankratochvil.net",
"link-Example web"=>a_href('http://www.jankratochvil.net/'),
"summary"=>a_href('http://www.perl.org/','Perl')." web framework",
our @ListItem=(
"name"=>"Rotation",
"platform"=>"web",
- "priority"=>7,
+ "priority"=>480,
"icon"=>"Nokia61-icon.jpeg",
"download"=>"Nokia61.c",
"summary"=>"Nokia logical game "Rotation" solver",
our @ListItem=(
"name"=>"PortDiag",
"platform"=>"amiga",
- "priority"=>4,
+ "priority"=>470,
"icon"=>"PortDiag-icon",
"download"=>"PortDiag.lha",
"link-source file"=>"PortDiag.asm",
our @ListItem=(
"name"=>"QueryDev",
"platform"=>"amiga",
- "priority"=>3,
+ "priority"=>150,
"download"=>"QueryDev.lha",
"link-source file"=>"QueryDev.asm",
"link-aminet README"=>"QueryDev.README",
my %item=( My::Project::item_hash_read() );
my @platforms=@My::Project::platforms;
my @projects=();
-while (@platforms) {
+# Do not sort by platforms:
+# while (@platforms)
+{
my $platform_sym =shift @platforms;
my $platform_name=shift @platforms;
push @projects,sort {
($item{$b}{"priority"} <=> $item{$a}{"priority"})
or
(lc($item{$a}{"name"}) cmp lc($item{$b}{"name"}));
- } map({ $item{$_}{"platform"} ne $platform_sym ? () : ($_); } keys(%item));
+ }
+ ( # Do not sort by platform: map({ $item{$_}{"platform"} ne $platform_sym ? () : ($_); } # )
+ keys(%item)
+ );
}
my $target=undef();
for (0..$#projects) {
our @ListItem=(
"name"=>"ResRAM",
"platform"=>"amiga",
- "priority"=>5,
+ "priority"=>530,
"download"=>"ResRAM.lha",
"link-source file"=>"ResRAM.asm",
"link-aminet README"=>"ResRAM.README",
our @ListItem=(
"name"=>"SClock",
"platform"=>"amiga",
- "priority"=>3,
+ "priority"=>140,
"download"=>"SClock.lha",
"link-source file"=>"SClock.asm",
"link-aminet README"=>"SClock.README",
our @ListItem=(
"name"=>"ShortRel",
"platform"=>"amiga",
- "priority"=>4,
+ "priority"=>280,
"download"=>"ShortRel.lha",
"link-source file"=>"ShortRel.asm",
"link-aminet README"=>"ShortRel.README",
our @ListItem=(
"name"=>"TraceFS",
"platform"=>"w32",
- "priority"=>4,
+ "priority"=>610,
"icon"=>"TraceFS-icon",
"cvs"=>"priv/captive/src/TraceFS",
"link-Documentation"=>"/project/captive/doc/CacheManager.html.pl#TraceFS",
our @ListItem=(
"name"=>"badblock-guess",
"platform"=>"unixuser",
- "priority"=>7,
+ "priority"=>590,
"icon"=>"hdd-icon.jpeg",
"download-compiled static binary"=>"badblock-guess",
"download-gzipped compiled static binary"=>"badblock-guess.gz",
our @ListItem=(
"name"=>"Captive",
"platform"=>"unixuser",
- "priority"=>9,
+ "priority"=>666,
"summary"=>"NTFS filesystem, MS-Windows NT kernel emulation",
"license"=>"GPL",
"maintenance"=>"active",
our @ListItem=(
"name"=>"checkstatic",
"platform"=>"unixdevel",
- "priority"=>7,
+ "priority"=>510,
# FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
"download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/home/lace/bin/checkstatic?rev=HEAD",
"summary"=>"C sources symbol attributes checker",
our @ListItem=(
"name"=>"cvsbranchdiff",
"platform"=>"unixdevel",
- "priority"=>6,
+ "priority"=>490,
# FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
"download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/home/lace/bin/cvsbranchdiff?rev=HEAD",
"summary"=>"CVS Branching Utility",
our @ListItem=(
"name"=>"cvsutil",
"platform"=>"unixdevel",
- "priority"=>7,
+ "priority"=>500,
# FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
"download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/home/lace/bin/cvsutil?rev=HEAD",
"summary"=>"Clean CVS checkout working files or safely change CVS/Root",
our @ListItem=(
"name"=>a_href('http://d1x.warpcore.org/','D1X').' TCP/IP',
"platform"=>"patch",
- "priority"=>2,
+ "priority"=>200,
"icon"=>"exit03.jpeg",
"download"=>"d1x-tcpip-0.99.1.diff.gz",
"summary"=>a_href('http://d1x.warpcore.org/','D1X').' native TCP/IP support patch',
our @ListItem=(
"name"=>"DOSWatcher",
"platform"=>"dos",
- "priority"=>3,
+ "priority"=>390,
"download"=>"doswatch.zip",
"summary"=>"DOS files access strace(1) equivalent",
"license"=>"PD",
our @ListItem=(
"name"=>"PHP Web",
"platform"=>"web",
- "priority"=>4,
+ "priority"=>240,
"cvs"=>"www/www.energie.vellum.cz",
"link-Example web"=>a_href('http://www.energie.vellum.cz/'),
"summary"=>a_href('http://www.php.net/','PHP')." web framework",
our @ListItem=(
"name"=>a_href('http://www.ethereal.com/','Ethereal').' MMSE fix',
"platform"=>"patch",
- "priority"=>3,
+ "priority"=>360,
"icon"=>"elogo3d100x100",
"summary"=>'Fixed MMS Encapsulation protocol decoding',
"link-ChangeLog entry"=>'http://www.ethereal.com/cgi-bin/viewcvs.cgi/ethereal/packet-mmse.c#rev1.15',
our @ListItem=(
"name"=>a_href('http://www.ethereal.com/','Ethereal').' WSP patch',
"platform"=>"patch",
- "priority"=>3,
+ "priority"=>350,
"icon"=>"elogo3d100x100",
"summary"=>'Enhanced WSP headers decoding',
"download-patch"=>'ethereal-2002-08-03-packet-wsp.c-contentlocation.diff',
"name"=>"fixhtml",
"platform"=>"unixuser",
"trivia"=>1,
- "priority"=>3,
+ "priority"=>20,
"download"=>"fixhtml.pl",
"summary"=>"Convert HTML files URLs to relative",
"license"=>"PD",
our @ListItem=(
"name"=>a_href('http://glade.gnome.org/','Glade').' -w',
"platform"=>"patch",
- "priority"=>4,
+ "priority"=>310,
"icon"=>"glade-icon",
"summary"=>'Option <i>--write-source</i> for batch compilation',
"download-original patch"=>'glade-0.5.7-writesource.diff',
our @ListItem=(
"name"=>a_href('http://www.tektonica.com/projects/gsmsms/','GSM::SMS').' patch',
"platform"=>"patch",
- "priority"=>5,
+ "priority"=>520,
"cvs"=>"gsmperl/GSM:lace",
"summary"=>'Extension of '.a_href('http://www.tektonica.com/projects/gsmsms/','GSM::SMS')
.' for EMS+Alcatel',
our @ListItem=(
- "name"=>'Int13Sniff',
+ "name"=>"Int13Sniff",
"platform"=>"unixdevel",
- "priority"=>4,
+ "priority"=>370,
"icon"=>"int13sniff-icon",
"summary"=>'Trace PC bootloader disk operations',
"download-source"=>'http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/surprise/surprise/misc/int13sniff.S?rev=HEAD',
our @ListItem=(
"name"=>"IRCon",
"platform"=>"unixuser",
- "priority"=>5,
+ "priority"=>580,
"icon"=>"ircon-icon.jpeg",
"download"=>"ircon.tar.gz",
"link-index of scanned images"=>"ircon-img/",
our @ListItem=(
"name"=>"kewensis",
"platform"=>"web",
- "priority"=>5,
+ "priority"=>120,
"cvs"=>"kewensis",
"summary"=>a_href('http://www.ipni.org/','Plant Name Index').' custom engine',
"license"=>"PD",
our @ListItem=(
"name"=>"KIX",
"platform"=>"unixuser",
- "priority"=>4,
+ "priority"=>110,
"download"=>"kix.c",
"summary"=>"Free protocol-compatible ".a_href('http://www.kali.net/','Kali').' server equivalent',
"license"=>"PD",
our @ListItem=(
"name"=>"KernelWare",
"platform"=>"unixdevel",
- "priority"=>5,
+ "priority"=>190,
"download"=>"kware.tar.gz",
"summary"=>"Linux kernel drivers in userland for their debugging",
"license"=>"PD",
our @ListItem=(
"name"=>a_href('http://www.gnu.org/software/libtool/libtool.html','GNU Libtool').' fix',
"platform"=>"patch",
- "priority"=>7,
+ "priority"=>620,
"summary"=>'Handle duplicate object file names',
"download-patch"=>'http://savannah.gnu.org/cgi-bin/cvsweb/libtool/ltmain.in.diff?r1=1.320&r2=1.321',
"license"=>"GPL",
our @ListItem=(
"name"=>"line9k",
"platform"=>"unixuser",
- "priority"=>7,
+ "priority"=>420,
"icon"=>"charger-icon.jpeg",
# FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
"download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/bin/line9k?rev=HEAD",
"name"=>"lynxilla",
"platform"=>"web",
"trivia"=>1,
- "priority"=>6,
+ "priority"=>460,
# FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
"download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/.userContent.css?rev=HEAD",
"summary"=>a_href('http://lynx.isc.org/','Lynx').' look&feel with '
our @ListItem=(
"name"=>"mdsms",
"platform"=>"unixuser",
- "priority"=>8,
+ "priority"=>600,
"icon"=>"siemens_m20t-icon.jpeg",
"download-i386 RPM package"=>"dist/mdsms-1.5.3-0.i386.rpm",
"download-sources RPM package"=>"dist/mdsms-1.5.3-0.src.rpm",
our @ListItem=(
"name"=>a_href('http://middle-man.sourceforge.net/','Middleman').' port',
"platform"=>"unixuser",
- "priority"=>3,
+ "priority"=>60,
"cvs"=>"middleman:lace",
"summary"=>'HTTP proxy ported to '
.a_href('http://www.freebsd.org/','FreeBSD'),
our @ListItem=(
"name"=>a_href('http://sourceforge.net/projects/mod-auth-tacacs/','mod_auth_tacacs').' client',
"platform"=>"patch",
- "priority"=>2,
+ "priority"=>260,
"icon"=>"cisco-icon.jpeg",
"download"=>"mod_auth_tacacs-2.0.2-gts1-checkout.diff.gz",
"link-mod_auth_tacacs homepage"=>"http://sourceforge.net/projects/mod-auth-tacacs/",
our @ListItem=(
"name"=>"mot2as",
"platform"=>"unixdevel",
- "priority"=>5,
+ "priority"=>50,
"download"=>"mot2as.c",
"summary"=>'Convert Motorola to AT&T/GNU assembler syntax',
"license"=>"PD",
our @ListItem=(
"name"=>a_href('http://www.mutt.org/','Mutt').' speedup',
"platform"=>"patch",
- "priority"=>5,
+ "priority"=>430,
"icon"=>"mutt_button",
"summary"=>'Mailbox reading phase acceleration',
"download-patch"=>'mutt-sort.diff',
our @ListItem=(
"name"=>"netstat -p",
"platform"=>"patch",
- "priority"=>3,
+ "priority"=>400,
"download"=>"net-tools-1.50-progname.diff.gz",
"summary"=>"Program name display for ".a_href('http://www.inka.de/sites/lina/linux/NetTools/','net-tools-1.50').'/netstat',
"license"=>"PD",
our @ListItem=(
"name"=>"oslik",
- "platform"=>"unixuser",
+ "platform"=>"unixdevel",
"trivia"=>1,
- "priority"=>5,
+ "priority"=>70,
"download"=>"oslik/oslik.zip",
"summary"=>"Prolog example solving logical puzzle Oslik",
"license"=>"PD",
our @ListItem=(
"name"=>a_href('http://www.descent2.com/','Descent 2').' no-CD',
"platform"=>"dos",
- "priority"=>2,
+ "priority"=>160,
"icon"=>"d2-icon.jpeg",
"download"=>"patchd2.zip",
"summary"=>a_href('http://www.descent2.com/','Descent 2').' patch to avoid CD-ROM requirement',
our @ListItem=(
"name"=>a_href('http://www.postgresql.org/','PostgreSQL').'-6.3 fix',
"platform"=>"patch",
- "priority"=>3,
+ "priority"=>290,
"icon"=>"postgresql",
"summary"=>'Fixed substr() and substring() SQL functions',
"download-patch"=>'http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/adt/varlena.c.diff?r1=1.31&r2=1.32&f=u',
our @ListItem=(
"name"=>a_href('http://www.php.net/','PHP').'-3.0b6 fix',
"platform"=>"patch",
- "priority"=>3,
+ "priority"=>300,
"icon"=>"php",
"summary"=>'Avoid excessive use of memory for hashes',
"download-patch"=>'http://cvs.php.net/diff.php/php3/Attic/hash.c?r1=1.76&r2=1.77&ty=u',
our @ListItem=(
"name"=>"pipebuf",
"platform"=>"unixuser",
- "priority"=>7,
+ "priority"=>440,
"download"=>"pipebuf.c",
"summary"=>"UNIX pipe realtime buffering",
"license"=>"PD",
"name"=>"postget",
"platform"=>"web",
"trivia"=>1,
- "priority"=>6,
+ "priority"=>380,
# FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
"download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/WWW/cgi-bin/postget.php?rev=HEAD",
"summary"=>"Bookmark ".a_href('http://www.w3.org/TR/html4/interact/forms.html#h-17.13.1','POST')
our @ListItem=(
"name"=>"ppp9k",
"platform"=>"unixuser",
- "priority"=>6,
+ "priority"=>410,
# FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
"download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/home/lace/bin/ppp9k?rev=HEAD",
"summary"=>"Connect device (Nokia Communicator) by serial PPP to your LAN",
our @ListItem=(
- "name"=>'redirector-ad',
+ "name"=>"redirector-ad",
"platform"=>"unixuser",
- "priority"=>7,
+ "priority"=>340,
"icon"=>"cnet-icon",
"cvs"=>"redirector-ad",
"summary"=>'Banner killer as '.a_href('http://www.squid-cache.org/','Squid').' redirector filter',
our @ListItem=(
- "name"=>'smbfs patch',
+ "name"=>"smbfs patch",
"platform"=>"unixuser",
"trivia"=>1,
- "priority"=>6,
+ "priority"=>80,
"download"=>"smbfs-2.1.132-blocksize.diff",
"summary"=>'Linux kernel smbfs acceleration patch',
"license"=>"PD",
our @ListItem=(
"name"=>"SSH-1 patch",
"platform"=>"unixuser",
- "priority"=>7,
+ "priority"=>180,
"download"=>"ssh-1.2.30-kadata+odforw.tar.gz",
"download-SSH-1, version 1.2.30, .src.rpm"=>"ftp://ftp.fi.muni.cz/pub/ssh/local-fi.muni.cz/linux/ssh-1.2.30-1i.src.rpm",
"download-SSH-1, version 1.2.30, .tar.gz"=>"ftp://ftp.fi.muni.cz/pub/ssh/ssh-1.2.30.tar.gz",
our @ListItem=(
"name"=>"ssht",
"platform"=>"unixuser",
- "priority"=>4,
+ "priority"=>90,
"cvs"=>"ssht",
"summary"=>'Unattended intranet host accessibility by '.a_href('http://www.openssh.org/','SSH').' tunnel',
"license"=>"PD",
our @ListItem=(
"name"=>"STEP",
"platform"=>"web",
- "priority"=>4,
+ "priority"=>130,
"download"=>"step.tar.gz",
"summary"=>"Custom web database application",
"license"=>"PD",
our @ListItem=(
"name"=>"Partition Surprise",
"platform"=>"unixuser",
- "priority"=>9,
+ "priority"=>650,
"icon"=>"surprise-gnome-0-icon",
"download-Page on SourceForge.net"=>"http://sourceforge.net/project/showfiles.php?group_id=10546",
"download-ISO Image from SourceForge.net"=>"http://surprise.sourceforge.net/download/surprise-rel7.iso.zip",
our @ListItem=(
"name"=>"tac_plus auth",
"platform"=>"unixuser",
- "priority"=>8,
+ "priority"=>270,
"icon"=>"cisco-icon.jpeg",
"download-GTS rel.4 diff for TACACS+ v4.0.3"=>"tac_plus-F4.0.3.alpha.8.gts4.diff.gz",
"download-TACACS+ v4.0.3, Devrim Seral rel.8"=>"http://www.gazi.edu.tr/tacacs/index.php?page=download",
"name"=>"tcp_rto",
"platform"=>"unixuser",
"trivia"=>1,
- "priority"=>7,
+ "priority"=>330,
"download-Linux kernel 2.2.17 patch"=>"linux-2.2.17-tcp_rto-1.diff",
"download-Linux kernel 2.4.16 patch"=>"linux-2.4.16-tcp_rto-1.diff",
"summary"=>"Linux kernel maximal TCP round-trip-time patch",
"name"=>"tcpdump ASCII",
"platform"=>"unixuser",
"trivia"=>1,
- "priority"=>6,
+ "priority"=>170,
"download"=>"tcpdump-3.4-ASCIIdump.diff",
"download-tcpdump-3.4"=>"ftp://ftp.ee.lbl.gov/tcpdump-3.4.tar.Z",
"summary"=>"tcpdump(1) patch for better output readable as ASCII",
"name"=>"timeplan",
"platform"=>"unixuser",
"trivia"=>1,
- "priority"=>6,
+ "priority"=>100,
"icon"=>"digiclock.jpeg",
"download"=>"timeplan-1.0.1.tar.gz",
"cvs"=>"timeplan",
our @ListItem=(
"name"=>"vblib",
"platform"=>"unixdevel",
- "priority"=>4,
+ "priority"=>30,
"download"=>"vblib-1.0.0.tar.gz",
"summary"=>"High performance memory streams library",
"license"=>"PD",
"name"=>"wayback",
"platform"=>"unixuser",
"trivia"=>1,
- "priority"=>7,
+ "priority"=>320,
"cvs"=>"wayback",
"summary"=>"Shift system time backwards for a specific application",
"license"=>"PD",
our @ListItem=(
"name"=>"WinVNC hide",
"platform"=>"w32",
- "priority"=>6,
+ "priority"=>560,
"icon"=>"nowinvnc",
"download-already patched version 3.3.3r9"=>"vnc-3.3.3r9_x86_win32-exe-SECRET.zip",
"download-original version 3.3.3r9"=>"http://www.uk.research.att.com/vnc/dist/vnc-3.3.3r9_x86_win32.zip",
our @ListItem=(
"name"=>"wllib",
"platform"=>"unixdevel",
- "priority"=>4,
+ "priority"=>40,
"download"=>"wllib-1.0.0.tar.gz",
"summary"=>"Graphics library for crossplatform line drawing",
"license"=>"PD",
our @ListItem=(
"name"=>"Gnome xBill",
"platform"=>"unixuser",
- "priority"=>7,
+ "priority"=>570,
"icon"=>"redmond-icon",
"link-Download from SourceForge.net"=>"http://sourceforge.net/project/showfiles.php?group_id=10700",
"link-Homepage on SourceForge.net"=>"http://xbill.sourceforge.net/",