round trip
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 222
Rockin Rounded Corners 1.0
Rockin Rounded Corners is an easy way to add rounded corners to any element on your web site. more>>
Rockin Rounded Corners is an easy way to add rounded corners to any element on your web site. Upload this script to your site to allow your web site visiters to quickly and easily generate the code needed to add rounded corners, or use it for your own site.
Main features:
- Easy to install. Just unzip and upload, or if youre using it on a local server, just unzip!
- 18 different rounded corner styles to choose from.
- Simple, clean code that is easy to apply site-wide
- Choose from HTML or PHP code for the rounded corners. The PHP code is slimmer, but theres HTML for those without PHP installed.
- An easy way to add a cool new feature to your web site.
<<lessMain features:
- Easy to install. Just unzip and upload, or if youre using it on a local server, just unzip!
- 18 different rounded corner styles to choose from.
- Simple, clean code that is easy to apply site-wide
- Choose from HTML or PHP code for the rounded corners. The PHP code is slimmer, but theres HTML for those without PHP installed.
- An easy way to add a cool new feature to your web site.
Download (0.061MB)
Added: 2006-02-06 License: Freeware Price:
1358 downloads
TRIP 0.98.84
TRIP is a general computer algebra system dedicated to celestial mechanics. more>>
TRIP is a general computer algebra system dedicated to celestial mechanics. TRIP includes a numerical kernel and has interfaces to gnuplot and xmgrace.
Computations can be performed with double, quadruple, or multi-precision. Users can dynamically load external libraries written in C, C++, or Fortran.
Enhancements:
- Several bugs in the frequency analysis functions were fixed.
- The screen refresh on the Windows graphical user interface was improved.
- A problem in the communication with the plotting tool grace was fixed.
<<lessComputations can be performed with double, quadruple, or multi-precision. Users can dynamically load external libraries written in C, C++, or Fortran.
Enhancements:
- Several bugs in the frequency analysis functions were fixed.
- The screen refresh on the Windows graphical user interface was improved.
- A problem in the communication with the plotting tool grace was fixed.
Download (2.7MB)
Added: 2007-02-08 License: Free To Use But Restricted Price:
991 downloads
Bralkomon 1.0
Bralkomon is another system monitor Superkramba theme. more>>
Bralkomon is another system monitor Superkramba theme. It is based on Cynapses.
If you have a beautiful lady coming round, or maybe you just want to chill; put on some smooth jazz, put Bralkomon on your desktop, and let the good times roll.
Did I mention Bralkomon is scientifically designed to be the perfect accompaniment to smooth jazz? Oh yeah.
P.S. You might want to change the name of the network device. The .skz file is just a ZIP archive. Open it up, and edit the .theme file. Instructions lie within.
<<lessIf you have a beautiful lady coming round, or maybe you just want to chill; put on some smooth jazz, put Bralkomon on your desktop, and let the good times roll.
Did I mention Bralkomon is scientifically designed to be the perfect accompaniment to smooth jazz? Oh yeah.
P.S. You might want to change the name of the network device. The .skz file is just a ZIP archive. Open it up, and edit the .theme file. Instructions lie within.
Download (0.041MB)
Added: 2006-06-20 License: GPL (GNU General Public License) Price:
1223 downloads
Mirro 1.0 Beta
Mirro is an application used to find the closest mirror to your connection. more>>
Mirro is an application used to find the closest mirror to your connection.
Mirro will find the closest mirror to your connection, given a file containing addresses. It pings every site extremely quickly, and sorts the reponses based on the number of hops and the round-trip time.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
<<lessMirro will find the closest mirror to your connection, given a file containing addresses. It pings every site extremely quickly, and sorts the reponses based on the number of hops and the round-trip time.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Download (0.020MB)
Added: 2007-04-24 License: GPL (GNU General Public License) Price:
913 downloads
mod_ecgi
mod_cgi turns CGI program into a dynamically loaded library (.so) and runs it without forking. more>>
mod_cgi is an Apache module that turns a CGI program into a dynamically loaded library (.so) and runs it without forking. Gives the simplicity and portability of CGI without the overhead.
There is no documentation, beyond the source code comments. It will build cleanly with Apache 1.3b6+, and youll need some configuration: e.g.
AddHandler mod_ecgi .so
or
AddType x-embedded-cgi .so
As I said, see the source file.
Theres also a small harness for CGI programs, to get round the way many sloppy CGIs never return but call exit() instead. Its not absolutely necessary, but for most purposes youll want it.
<<lessThere is no documentation, beyond the source code comments. It will build cleanly with Apache 1.3b6+, and youll need some configuration: e.g.
AddHandler mod_ecgi .so
or
AddType x-embedded-cgi .so
As I said, see the source file.
Theres also a small harness for CGI programs, to get round the way many sloppy CGIs never return but call exit() instead. Its not absolutely necessary, but for most purposes youll want it.
Download (0.008MB)
Added: 2006-05-18 License: The Apache License Price:
1254 downloads
Games::Tournament::RoundRobin 0.01
Games::Tournament::RoundRobin is a Perl module for Round-Robin Tournament Schedule Pairings. more>>
Games::Tournament::RoundRobin is a Perl module for Round-Robin Tournament Schedule Pairings.
SYNOPSIS
$schedule = Games::Tournament::RoundRobin->new;
$pairings = $schedule->indexesInRound($roundm);
$round = $schedule->meeting($member1, [$member2, $member3]);
...
Every member of a league of 2n players can be paired with every other member in 2n-1 rounds.
If the league members are (Inf, 1 .. 2n-1), then in round i, i can be paired with Inf, and a can meet b, where a+b = 2i (mod 2n-1).
METHODS
new
Games::Tournament::RoundRobin->new( v => 5, league => [Ha, Be, He])
Games::Tournament::RoundRobin->new( league => {A => $a, B => $b, C => $c})
where v (optional) is the number of league members, and league (optional) is a list (or a hash) reference to the individual unique league members. One of v, or league (which takes precedence) is necessary, and if league is not given, the members are identified by the numbers 0 .. n-1.
If the league is a list (or hash) of n objects, they should be instances of a class that overloads both string quoting with a name method and arithmetical operations with an index method. The index method, called on the n objects in order, should return the n numbers, 0 .. n-1, and in that order if they are presented as an array. If they are presented as a hash, the hash is stored internally as an array and the keys are discarded.
If the league is a list of strings or numbers, indexes are constructed for the values on the basis of their positions in the list, and if a hash of strings or numbers, on the basis of the lexicographic order of their keys. Each string is expected to be unique.
If n is odd, an additional n-1, Bye or object (a Games::League::Member object, by default) member, depending on the type of the first member in the league, is added at the end and n is increased by 1.
indexesInRound
$schedule->indexesInRound($m)
Returns an array reference of the pairings in round $m. This method is useful if you are using numbers to represent your league members. It is not so useful if you are using strings or objects and you dont know their index numbers. Positions in the array represent members. The values represent their partners. Each member is thus represented twice.
roundsInTournament
$t = $schedule-> roundsInTournament;
$round1 = $t[0];
$inRound1FourthWith = $t->[0]->[3];
$inLastRoundLastWith = $$t[-1][-1];
Returns, as a reference to an array of arrays, the pairings in all rounds of the tournament. This method is useful if you are using the algorithm indexes.
partner
$schedule->partner($member, $m)
Returns the partner of $member in round $m.
membersInRound
$schedule->membersInRound($m)
Returns an hash reference of the pairings in round $m. This method is useful if you are using strings or objects. Keys in the hash represent league members. If the league members are objects, their names are used as keys. If 2 names are the same, the names are changed to $name.1, $name.2 etc. The values are their partners. Each player is thus represented twice.
memberSchedule
$schedule->memberSchedule($member)
Returns, as an array reference, the partners who $member is matched with in the order in which they meet, ie round by round.
meeting
$schedule->meeting($member,$partner)
Returns the rounds (TODO and the venue) at which $member meets $partner.
meetings
$schedule->meetings($member1,[$member2,$member3,...])
Returns, as an array reference, the rounds (TODO and the venue) at which $member1 meets $member2, $member3, ...
index
$schedule->index($member)
Returns $members index, the number which is used to pair it with other members. The index is the position, 0..n-1, of the $member in the league argument to the constructor (if an array) or the constructed array (if a hash.)
If $member is not a member of the array, or is itself an index, undef is returned.
member
$schedule->member($index)
$schedule->member($name)
$bye = $schedule->member( $schedule->size-1 )
Returns the member represented by $index, a number which ranges from 0..n-1, or by $name, a string. If there is no such member, undef is returned.
partners
$schedule->partners($index)
$schedule->partners($name)
Returns an array reference of all the partners of the $indexed or $named member, in index order, or the order in the league argument.
realPartners
$schedule->realPartners($index)
Returns an array reference of all the partners of the $indexed member, excluding the Bye member. Dont use this if you have no Bye member, as it just leaves off the last member.
size
$schedule->size
Returns the number of members in the round robin. Sometimes this may not be the same as the number of league members specified, because the array of league members takes precedence if supplied, and a bye is added if the number is odd.
rounds
$schedule->rounds
Returns the number of rounds in the round robin. This equals the number of league members, minus 1.
<<lessSYNOPSIS
$schedule = Games::Tournament::RoundRobin->new;
$pairings = $schedule->indexesInRound($roundm);
$round = $schedule->meeting($member1, [$member2, $member3]);
...
Every member of a league of 2n players can be paired with every other member in 2n-1 rounds.
If the league members are (Inf, 1 .. 2n-1), then in round i, i can be paired with Inf, and a can meet b, where a+b = 2i (mod 2n-1).
METHODS
new
Games::Tournament::RoundRobin->new( v => 5, league => [Ha, Be, He])
Games::Tournament::RoundRobin->new( league => {A => $a, B => $b, C => $c})
where v (optional) is the number of league members, and league (optional) is a list (or a hash) reference to the individual unique league members. One of v, or league (which takes precedence) is necessary, and if league is not given, the members are identified by the numbers 0 .. n-1.
If the league is a list (or hash) of n objects, they should be instances of a class that overloads both string quoting with a name method and arithmetical operations with an index method. The index method, called on the n objects in order, should return the n numbers, 0 .. n-1, and in that order if they are presented as an array. If they are presented as a hash, the hash is stored internally as an array and the keys are discarded.
If the league is a list of strings or numbers, indexes are constructed for the values on the basis of their positions in the list, and if a hash of strings or numbers, on the basis of the lexicographic order of their keys. Each string is expected to be unique.
If n is odd, an additional n-1, Bye or object (a Games::League::Member object, by default) member, depending on the type of the first member in the league, is added at the end and n is increased by 1.
indexesInRound
$schedule->indexesInRound($m)
Returns an array reference of the pairings in round $m. This method is useful if you are using numbers to represent your league members. It is not so useful if you are using strings or objects and you dont know their index numbers. Positions in the array represent members. The values represent their partners. Each member is thus represented twice.
roundsInTournament
$t = $schedule-> roundsInTournament;
$round1 = $t[0];
$inRound1FourthWith = $t->[0]->[3];
$inLastRoundLastWith = $$t[-1][-1];
Returns, as a reference to an array of arrays, the pairings in all rounds of the tournament. This method is useful if you are using the algorithm indexes.
partner
$schedule->partner($member, $m)
Returns the partner of $member in round $m.
membersInRound
$schedule->membersInRound($m)
Returns an hash reference of the pairings in round $m. This method is useful if you are using strings or objects. Keys in the hash represent league members. If the league members are objects, their names are used as keys. If 2 names are the same, the names are changed to $name.1, $name.2 etc. The values are their partners. Each player is thus represented twice.
memberSchedule
$schedule->memberSchedule($member)
Returns, as an array reference, the partners who $member is matched with in the order in which they meet, ie round by round.
meeting
$schedule->meeting($member,$partner)
Returns the rounds (TODO and the venue) at which $member meets $partner.
meetings
$schedule->meetings($member1,[$member2,$member3,...])
Returns, as an array reference, the rounds (TODO and the venue) at which $member1 meets $member2, $member3, ...
index
$schedule->index($member)
Returns $members index, the number which is used to pair it with other members. The index is the position, 0..n-1, of the $member in the league argument to the constructor (if an array) or the constructed array (if a hash.)
If $member is not a member of the array, or is itself an index, undef is returned.
member
$schedule->member($index)
$schedule->member($name)
$bye = $schedule->member( $schedule->size-1 )
Returns the member represented by $index, a number which ranges from 0..n-1, or by $name, a string. If there is no such member, undef is returned.
partners
$schedule->partners($index)
$schedule->partners($name)
Returns an array reference of all the partners of the $indexed or $named member, in index order, or the order in the league argument.
realPartners
$schedule->realPartners($index)
Returns an array reference of all the partners of the $indexed member, excluding the Bye member. Dont use this if you have no Bye member, as it just leaves off the last member.
size
$schedule->size
Returns the number of members in the round robin. Sometimes this may not be the same as the number of league members specified, because the array of league members takes precedence if supplied, and a bye is added if the number is odd.
rounds
$schedule->rounds
Returns the number of rounds in the round robin. This equals the number of league members, minus 1.
Download (0.010MB)
Added: 2007-01-05 License: Perl Artistic License Price:
1024 downloads
The Wonder Shaper 1.1a
The Wonder Shaper is a very special network shaper script with a lot of features. more>>
The Wonder Shaper is a very special network shaper script with a lot of features. Works on Linux 2.4 & higher.
Goals
I attempted to create the holy grail:
* Maintain low latency for interfactive traffic at all times.
This means that downloading or uploading files should not disturb SSH or even telnet. These are the most important things, even 200ms latency is sluggish to work over.
* Allow surfing at reasonable speeds while up or downloading
Even though http is bulk traffic, other traffic should not drown it out too much.
* Make sure uploads dont harm downloads, and the other way around
This is a much observed phenomenon where upstream traffic simply destroys download speed. It turns out that all this is possible, at the cost of a tiny bit of bandwidth. The reason that uploads, downloads and ssh hurt eachother is the presence of large queues in many domestic access devices like cable or DSL modems.
Why it doesnt work well by default
ISPs know that they are benchmarked solely on how fast people can download. Besides available bandwidth, download speed is influenced heavily by packet loss, which seriously hampers TCP/IP performance. Large queues can help prevent packetloss, and speed up downloads. So ISPs configure large queues.
These large queues however damage interactivity. A keystroke must first travel the upstream queue, which may be seconds (!) long and go to your remote host. It is then displayed, which leads to a packet coming back, which must then traverse the downstream queue, located at your ISP, before it appears on your screen.
This HOWTO teaches you how to mangle and process the queue in many ways, but sadly, not all queues are accessible to us. The queue over at the ISP is completely off-limits, whereas the upstream queue probably lives inside your cable modem or DSL device. You may or may not be able to configure it. Most probably not.
So, what next? As we cant control either of those queues, they must be eliminated, and moved to your Linux router. Luckily this is possible.
Limit upload speed somewhat
By limiting our upload speed to slightly less than the truly available rate, no queues are built up in our modem. The queue is now moved to Linux.
Limit download speed
This is slightly trickier as we cant really influence how fast the internet ships us data. We can however drop packets that are coming in too fast, which causes TCP/IP to slow down to just the rate we want. Because we dont want to drop traffic unnecessarily, we configure a burst size we allow at higher speed.
Now, once we have done this, we have eliminated the downstream queue totally (except for short bursts), and gain the ability to manage the upstream queue with all the power Linux offers.
Let interactive traffic skip the queue
What remains to be done is to make sure interactive traffic jumps to the front of the upstream queue. To make sure that uploads dont hurt downloads, we also move ACK packets to the front of the queue. This is what normally causes the huge slowdown observed when generating bulk traffic both ways. The ACKnowledgements for downstream traffic must compete with upstream traffic, and get delayed in the process.
We also move other small packets to the front of the queue - this helps operating systems which do not set TOS bits, like everything from Microsoft.
Allow the user to specify low priority traffic (new in 1.1!)
Sometimes you may notice low priority OUTGOING traffic slowing down important traffic. In that case, the following options may help you:
NOPRIOHOSTSRC
Set this to hosts or netmasks in your network that should have low priority
NOPRIOHOSTDST
Set this to hosts or netmasks on the internet that should have low priority
NOPRIOPORTSRC
Set this to source ports that should have low priority. If you have an unimportant webserver on your traffic, set this to 80
NOPRIOPORTDST
Set this to destination ports that should have low priority.
See the start of wshaper and wshaper.htb
Results
If we do all this we get the following measurements using an excellent ADSL connection from xs4all in the Netherlands:
Baseline latency:
round-trip min/avg/max = 14.4/17.1/21.7 ms
Without traffic conditioner, while downloading:
round-trip min/avg/max = 560.9/573.6/586.4 ms
Without traffic conditioner, while uploading:
round-trip min/avg/max = 2041.4/2332.1/2427.6 ms
With conditioner, during 220kbit/s upload:
round-trip min/avg/max = 15.7/51.8/79.9 ms
With conditioner, during 850kbit/s download:
round-trip min/avg/max = 20.4/46.9/74.0 ms
When uploading, downloads proceed at ~80% of the available speed. Uploads at around 90%. Latency then jumps to 850 ms, still figuring out why.
What you can expect from this script depends a lot on your actual uplink speed. When uploading at full speed, there will always be a single packet ahead of your keystroke. That is the lower limit to the latency you can achieve - divide your MTU by your upstream speed to calculate. Typical values will be somewhat higher than that. Lower your MTU for better effects!
A small table:
Uplink speed | Expected latency due to upload
--------------------------------------------------
32 | 234ms
64 | 117ms
128 | 58ms
256 | 29ms
So to calculate your effective latency, take a baseline measurement (ping on an unloaded link), and look up the number in the table, and add it. That is about the best you can expect. This number comes from a calculation that assumes that your upstream keystroke will have at most half a full sized packet ahead of it.
This boils down to:
mtu * 0.5 * 10
-------------- + baseline_latency
kbit
The factor 10 is not quite correct but works well in practice.
Your kernel
If you run a recent distribution, everything should be ok. You need 2.4 with QoS options turned on.
If you compile your own kernel, it must have some options enabled. Most notably, in the Networking Options menu, QoS and/or Fair Queueing, turn at least CBQ, PRIO, SFQ, Ingress, Traffic Policing, QoS support, Rate Estimator, QoS classifier, U32 classifier, fwmark classifier.
In practice, I (and most distributions) just turn on everything.
The scripts
The script comes in two versions, one which works on standard kernels and is implemented using CBQ. The other one uses the excellent HTB qdisc which is not in the default kernel. The CBQ version is more tested than the HTB one!
See wshaper and wshaper.htb.
Tuning
These scripts need to know the real rate of your ISP connection. This is hard to determine upfront as different ISPs use different kinds of bits it appears. People report success using the following technique:
Estimate both your upstream and downstream at half the rate your ISP specifies. Now verify if the script is functioning - check interactivity while uploading and while downloading. This should deliver the latency as calculated above. If not, check if the script executed without errors.
Now slowly increase the upstream & downstream numbers in the script until the latency comes back. This way you can find optimum values for your connection. If you are happy, please report to me so I can make a list of numbers that work well. Please let me know which ISP you use and the name of your subscription, and its reputed specifications, so I can list you here and save others the trouble.
Installation
If you dial in, you can copy the script to /etc/ppp/ip-up.d and it will be run at each connect.
If you want to remove the shaper from an interface, run wshaper stop. To see status information, run wshaper status.
KNOWN PROBLEMS
If you get errors, add an -x to the first line, as follows:
#!/bin/bash -x
And retry. This will show you which line gives an error. Before contacting me, make sure that you are running a recent version of iproute!
Recent versions can be found at your Linux distributor, or if you prefer compiling, here:
ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz
<<lessGoals
I attempted to create the holy grail:
* Maintain low latency for interfactive traffic at all times.
This means that downloading or uploading files should not disturb SSH or even telnet. These are the most important things, even 200ms latency is sluggish to work over.
* Allow surfing at reasonable speeds while up or downloading
Even though http is bulk traffic, other traffic should not drown it out too much.
* Make sure uploads dont harm downloads, and the other way around
This is a much observed phenomenon where upstream traffic simply destroys download speed. It turns out that all this is possible, at the cost of a tiny bit of bandwidth. The reason that uploads, downloads and ssh hurt eachother is the presence of large queues in many domestic access devices like cable or DSL modems.
Why it doesnt work well by default
ISPs know that they are benchmarked solely on how fast people can download. Besides available bandwidth, download speed is influenced heavily by packet loss, which seriously hampers TCP/IP performance. Large queues can help prevent packetloss, and speed up downloads. So ISPs configure large queues.
These large queues however damage interactivity. A keystroke must first travel the upstream queue, which may be seconds (!) long and go to your remote host. It is then displayed, which leads to a packet coming back, which must then traverse the downstream queue, located at your ISP, before it appears on your screen.
This HOWTO teaches you how to mangle and process the queue in many ways, but sadly, not all queues are accessible to us. The queue over at the ISP is completely off-limits, whereas the upstream queue probably lives inside your cable modem or DSL device. You may or may not be able to configure it. Most probably not.
So, what next? As we cant control either of those queues, they must be eliminated, and moved to your Linux router. Luckily this is possible.
Limit upload speed somewhat
By limiting our upload speed to slightly less than the truly available rate, no queues are built up in our modem. The queue is now moved to Linux.
Limit download speed
This is slightly trickier as we cant really influence how fast the internet ships us data. We can however drop packets that are coming in too fast, which causes TCP/IP to slow down to just the rate we want. Because we dont want to drop traffic unnecessarily, we configure a burst size we allow at higher speed.
Now, once we have done this, we have eliminated the downstream queue totally (except for short bursts), and gain the ability to manage the upstream queue with all the power Linux offers.
Let interactive traffic skip the queue
What remains to be done is to make sure interactive traffic jumps to the front of the upstream queue. To make sure that uploads dont hurt downloads, we also move ACK packets to the front of the queue. This is what normally causes the huge slowdown observed when generating bulk traffic both ways. The ACKnowledgements for downstream traffic must compete with upstream traffic, and get delayed in the process.
We also move other small packets to the front of the queue - this helps operating systems which do not set TOS bits, like everything from Microsoft.
Allow the user to specify low priority traffic (new in 1.1!)
Sometimes you may notice low priority OUTGOING traffic slowing down important traffic. In that case, the following options may help you:
NOPRIOHOSTSRC
Set this to hosts or netmasks in your network that should have low priority
NOPRIOHOSTDST
Set this to hosts or netmasks on the internet that should have low priority
NOPRIOPORTSRC
Set this to source ports that should have low priority. If you have an unimportant webserver on your traffic, set this to 80
NOPRIOPORTDST
Set this to destination ports that should have low priority.
See the start of wshaper and wshaper.htb
Results
If we do all this we get the following measurements using an excellent ADSL connection from xs4all in the Netherlands:
Baseline latency:
round-trip min/avg/max = 14.4/17.1/21.7 ms
Without traffic conditioner, while downloading:
round-trip min/avg/max = 560.9/573.6/586.4 ms
Without traffic conditioner, while uploading:
round-trip min/avg/max = 2041.4/2332.1/2427.6 ms
With conditioner, during 220kbit/s upload:
round-trip min/avg/max = 15.7/51.8/79.9 ms
With conditioner, during 850kbit/s download:
round-trip min/avg/max = 20.4/46.9/74.0 ms
When uploading, downloads proceed at ~80% of the available speed. Uploads at around 90%. Latency then jumps to 850 ms, still figuring out why.
What you can expect from this script depends a lot on your actual uplink speed. When uploading at full speed, there will always be a single packet ahead of your keystroke. That is the lower limit to the latency you can achieve - divide your MTU by your upstream speed to calculate. Typical values will be somewhat higher than that. Lower your MTU for better effects!
A small table:
Uplink speed | Expected latency due to upload
--------------------------------------------------
32 | 234ms
64 | 117ms
128 | 58ms
256 | 29ms
So to calculate your effective latency, take a baseline measurement (ping on an unloaded link), and look up the number in the table, and add it. That is about the best you can expect. This number comes from a calculation that assumes that your upstream keystroke will have at most half a full sized packet ahead of it.
This boils down to:
mtu * 0.5 * 10
-------------- + baseline_latency
kbit
The factor 10 is not quite correct but works well in practice.
Your kernel
If you run a recent distribution, everything should be ok. You need 2.4 with QoS options turned on.
If you compile your own kernel, it must have some options enabled. Most notably, in the Networking Options menu, QoS and/or Fair Queueing, turn at least CBQ, PRIO, SFQ, Ingress, Traffic Policing, QoS support, Rate Estimator, QoS classifier, U32 classifier, fwmark classifier.
In practice, I (and most distributions) just turn on everything.
The scripts
The script comes in two versions, one which works on standard kernels and is implemented using CBQ. The other one uses the excellent HTB qdisc which is not in the default kernel. The CBQ version is more tested than the HTB one!
See wshaper and wshaper.htb.
Tuning
These scripts need to know the real rate of your ISP connection. This is hard to determine upfront as different ISPs use different kinds of bits it appears. People report success using the following technique:
Estimate both your upstream and downstream at half the rate your ISP specifies. Now verify if the script is functioning - check interactivity while uploading and while downloading. This should deliver the latency as calculated above. If not, check if the script executed without errors.
Now slowly increase the upstream & downstream numbers in the script until the latency comes back. This way you can find optimum values for your connection. If you are happy, please report to me so I can make a list of numbers that work well. Please let me know which ISP you use and the name of your subscription, and its reputed specifications, so I can list you here and save others the trouble.
Installation
If you dial in, you can copy the script to /etc/ppp/ip-up.d and it will be run at each connect.
If you want to remove the shaper from an interface, run wshaper stop. To see status information, run wshaper status.
KNOWN PROBLEMS
If you get errors, add an -x to the first line, as follows:
#!/bin/bash -x
And retry. This will show you which line gives an error. Before contacting me, make sure that you are running a recent version of iproute!
Recent versions can be found at your Linux distributor, or if you prefer compiling, here:
ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz
Download (MB)
Added: 2007-02-13 License: GPL (GNU General Public License) Price:
994 downloads
GridMPI 1.1
GridMPI is a new open-source free-software implementation of the standard MPI library. more>>
GridMPI is a new open-source free-software implementation of the standard MPI (Message Passing Interface) library designed for the Grid. GridMPI project enables unmodified applications to run on cluster computers distributed across the Grid environment.
GridMPI team found that it is feasible to connect cluster computers and to run ordinary scientific applications in distance upto 500 miles. Simple experiment has shown that most MPI benchmarks scale fine upto 20 millisecond round-trip latency which corresponds to about 500 miles in distance, when the clusters are connected by fast 1 to 10 Gbps networks. 500 miles covers the major cities between Tokyo--Osaka in Japan.
Thus, applications which are too large to run on a local cluster should run on multiple clusters in the Grid environment with acceptable performance. However, it is only feasible when using an efficient MPI implementation [1]. Existing implementations are not efficient enough mainly because of the two reasons: their focus on security features and TCP performance problems.
GridMPI skips security layers assuming dedicated secure links. The institutes housing large clusters tend to have their own networks to connect to other institutes in most cases. GridMPI so focuses on the performance on TCP. Since existing implementations are in most cases designed for MPP machines and recently clusters with special hardware, their performance on TCP with Ethernet is not optimal.
Also TCP performance itself is not optimal for the work load of the MPI traffic. In addition, support for heterogeneous combinations of computers of the existing MPI implementations is not satisfactory. Thus, GridMPI is designed and implemented from the scratch. GridMPI is carefully coded and tested with heterogeneity in mind.
Main features:
- Full conformance to the standard: GridMPI passes 100% of the functional tests of the large test suites from ANL and Intel (MPI-1.2 level).
- Full heterogeneity support: GridMPI is fully tested with combinations of processors of 32bit/64bit and big/little-endian.
- Primary support of TCP/IP and sockets: GridMPI is written from scratch and it is new and clean. It is efficient with sockets, and thus suitable for the Grid as well as ordinary Ethernet-based clusters.
- Cooperation with Grid job submission: GridMPI can be used with Globus, Unicore, tool from NAREGI project, etc.
- Checkpointing support: GridMPI supports checkpointing on Linux/IA32 platforms to restart long-running applications from failure.
- Vendor MPI support: GridMPI supports IBM-MPI, Fujitsu-Solaris-MPI, Intel-MPI, and any MPICH-based MPI for clusters with special communication hardware.
Enhancements:
- Minor bugfixes were made.
<<lessGridMPI team found that it is feasible to connect cluster computers and to run ordinary scientific applications in distance upto 500 miles. Simple experiment has shown that most MPI benchmarks scale fine upto 20 millisecond round-trip latency which corresponds to about 500 miles in distance, when the clusters are connected by fast 1 to 10 Gbps networks. 500 miles covers the major cities between Tokyo--Osaka in Japan.
Thus, applications which are too large to run on a local cluster should run on multiple clusters in the Grid environment with acceptable performance. However, it is only feasible when using an efficient MPI implementation [1]. Existing implementations are not efficient enough mainly because of the two reasons: their focus on security features and TCP performance problems.
GridMPI skips security layers assuming dedicated secure links. The institutes housing large clusters tend to have their own networks to connect to other institutes in most cases. GridMPI so focuses on the performance on TCP. Since existing implementations are in most cases designed for MPP machines and recently clusters with special hardware, their performance on TCP with Ethernet is not optimal.
Also TCP performance itself is not optimal for the work load of the MPI traffic. In addition, support for heterogeneous combinations of computers of the existing MPI implementations is not satisfactory. Thus, GridMPI is designed and implemented from the scratch. GridMPI is carefully coded and tested with heterogeneity in mind.
Main features:
- Full conformance to the standard: GridMPI passes 100% of the functional tests of the large test suites from ANL and Intel (MPI-1.2 level).
- Full heterogeneity support: GridMPI is fully tested with combinations of processors of 32bit/64bit and big/little-endian.
- Primary support of TCP/IP and sockets: GridMPI is written from scratch and it is new and clean. It is efficient with sockets, and thus suitable for the Grid as well as ordinary Ethernet-based clusters.
- Cooperation with Grid job submission: GridMPI can be used with Globus, Unicore, tool from NAREGI project, etc.
- Checkpointing support: GridMPI supports checkpointing on Linux/IA32 platforms to restart long-running applications from failure.
- Vendor MPI support: GridMPI supports IBM-MPI, Fujitsu-Solaris-MPI, Intel-MPI, and any MPICH-based MPI for clusters with special communication hardware.
Enhancements:
- Minor bugfixes were made.
Download (0.73MB)
Added: 2006-06-13 License: The Apache License Price:
1228 downloads
Trip Tracker 0.8.1
Trip Tracker is a position tracking client-server system. more>>
Trip Tracker is a position tracking client-server system. Trip Tracker is designed to assist people in setting up a real-time tracking environment with either a private or public tracking server.
The Trip Tracker GPS client sends coordinates to the tracking server to update its position. In the event that the GPS client loses its Internet connection, it can send all collected coordinates to the tracking server as soon as its back online.
The tracking server saves all the coordinates and can forward them to listening map clients.
Version restrictions:
- The map client can only display a map of Norway, as the WMS server is hardcoded in the server-side PHP script "mapservice.php". This may change in the future. If you know any good WMS servers we might add it to the server-side script, but you still need to add the proper WMS layers in the source code to make it work.
- The GPS client version 0.8 does not set up the Java Communications library properly so it most likely wont find your GPS receiver. We hope to address this issue in the next release quite soon.
- And more...
<<lessThe Trip Tracker GPS client sends coordinates to the tracking server to update its position. In the event that the GPS client loses its Internet connection, it can send all collected coordinates to the tracking server as soon as its back online.
The tracking server saves all the coordinates and can forward them to listening map clients.
Version restrictions:
- The map client can only display a map of Norway, as the WMS server is hardcoded in the server-side PHP script "mapservice.php". This may change in the future. If you know any good WMS servers we might add it to the server-side script, but you still need to add the proper WMS layers in the source code to make it work.
- The GPS client version 0.8 does not set up the Java Communications library properly so it most likely wont find your GPS receiver. We hope to address this issue in the next release quite soon.
- And more...
Download (0.54MB)
Added: 2006-06-06 License: LGPL (GNU Lesser General Public License) Price:
1240 downloads
DataGridField 1.5.0
DataGridField is a product which consists of a table input component for Plone. more>>
DataGridField is a product which consists of a table input component for Plone.
It uses Javascript to make entering tabular data more user friendly process - there are no round trip HTTP requests to the server when inserting or deleting rows.
Main features:
- Any number of columns set by a developer
- Any number of rows filled by a user
- Insert and deleting rows without submitting a form
- Many different column types
<<lessIt uses Javascript to make entering tabular data more user friendly process - there are no round trip HTTP requests to the server when inserting or deleting rows.
Main features:
- Any number of columns set by a developer
- Any number of rows filled by a user
- Insert and deleting rows without submitting a form
- Many different column types
Download (0.11MB)
Added: 2007-03-28 License: LGPL (GNU Lesser General Public License) Price:
940 downloads
SDE for Sun ONE (CE) for Linux 4.2
UML Plugin for Sun ONE: UML diagrams, Rational Rose, XMI import/export more>> SDE for Sun ONE is a UML CASE tool/plug-in tightly integrated with Sun ONE. This UML modeling software supports full software lifecycle - analysis, design, implementation, testing and deployment. This UML CASE tool helps you build quality applications faster, better and cheaper. You can draw all types of UML diagrams in Sun ONE, reverse engineer Java code to class diagrams, generate Java code and generate documentation.
SDE-SO Features:
+Support UML version 2.1
+Business Workflow diagram
+Bookmark (New Feature)
+Handi-Selection (New Feature)
+Command-line operations (New Feature)
+User Interface Designer (Enhanced)
+Data flow diagram
+Use Case Details Editor - An all-in-one environment for specifying a general model specification and use case descriptions
+EJB Diagram - Visualize EJB systems
+EJB Code Generation
+ORM support - generate Java objects from database
+Database generation - ERD to database tables
+Database reverse - existing DBMS to ERD
+Reverse engineering - code to model, code to diagram
+Reverse engineering Java, C++, XML Schema, XML, .NET exe/dll, CORBA IDL, XML Schema and Python (Enhanced)
+Code Generation - model to code, diagram to code
+Java Round-trip engineering
+Automatic synchronization between source code and diagrams
+Automatic diagram layout
+Modeling collaboratively with VP Teamwork Server, CVS and Subversion (Enhanced)
+Shape editor
+Import Rational Rose project, XMI/export XMI, Telelogic Rhapsody Project (New Feature)
+Support Stored Procedure and Database Trigger (New Feature)
+Export diagrams to JPG, PNG, SVG, EMF, PDF
+PDF/HTML/MS Word Report generator
+Multilingual support
+More...
Other UML Modeling Tools / UML Plugins:
Java Platform (Windows/Linux/Mac OS X):
+SDE for Eclipse
+SDE for Oracle JDeveloper
+SDE for Borland JBuilder
+SDE for IntelliJ IDEA
+SDE for NetBeans
+SDE for WebLogic Workshop
Windows Platform:
+SDE for Microsoft Visual Studio
+More SDE...<<less
Download (128MB)
Added: 2009-03-31 License: Freeware Price: Free
206 downloads
Other version of SDE for Sun ONE (CE) for Linux
License:freeware
JTourney 1.0
JTourney is a Java based tool to support tournament directors conducting small to medium scale round based tournaments. more>>
JTourney is a Java based tool to support tournament directors conducting small to medium scale round based tournaments for multiplayer games.
JTourney tries to encaspulate over 10 years of experience with various tournament formats for different games. Those tournaments were conducted either manually or with the help (of many kind people and) a predecessor programm, which finally became too old and too small.
The need for JTourney arose since the tournaments conducted were rather flexibile: Players could hop on and hop off between rounds, the games played might allow variable number of players. Beside this flexibility JTourney could of course be used to support more rigid tournament formats, but this is not its focus.
Main features:
- Keeping player lists.
- Playcing players on tables for next round by variuos strategies.
- Generate score sheets for tables.
- Keeping track of game scores
- Calculating player scores, tiebreakers and rankings
How it works?
JTourney is a very simple design. It merely parses text files into its memory and composes new ones on design. While parsing its internal datafiles it also feeds this internal information to the RenderMode, therefore it provides you with more beautiful information than just the raw internal text files.
Note the system never stores things like standings or total scores of players internally. It turned out, that parsing input is very fast and never is a real problem for (say) 100 participants and 12 rounds (this is not a limit, it can most likely handle much more participants and more rounds) on a recent PC.
While this architecture is from the computer stone age it is flexible and powerful. Maybe a bit volatile, but after all it is entirely appropriate to put whatever kind of GUI on top if necessary!
<<lessJTourney tries to encaspulate over 10 years of experience with various tournament formats for different games. Those tournaments were conducted either manually or with the help (of many kind people and) a predecessor programm, which finally became too old and too small.
The need for JTourney arose since the tournaments conducted were rather flexibile: Players could hop on and hop off between rounds, the games played might allow variable number of players. Beside this flexibility JTourney could of course be used to support more rigid tournament formats, but this is not its focus.
Main features:
- Keeping player lists.
- Playcing players on tables for next round by variuos strategies.
- Generate score sheets for tables.
- Keeping track of game scores
- Calculating player scores, tiebreakers and rankings
How it works?
JTourney is a very simple design. It merely parses text files into its memory and composes new ones on design. While parsing its internal datafiles it also feeds this internal information to the RenderMode, therefore it provides you with more beautiful information than just the raw internal text files.
Note the system never stores things like standings or total scores of players internally. It turned out, that parsing input is very fast and never is a real problem for (say) 100 participants and 12 rounds (this is not a limit, it can most likely handle much more participants and more rounds) on a recent PC.
While this architecture is from the computer stone age it is flexible and powerful. Maybe a bit volatile, but after all it is entirely appropriate to put whatever kind of GUI on top if necessary!
Download (1.8MB)
Added: 2006-03-23 License: LGPL (GNU Lesser General Public License) Price:
1310 downloads
mergelog 4.5
mergelog provides a fast tool to merge HTTP log files by date. more>>
mergelog provides a fast tool to merge HTTP log files by date.
mergelog is a small and fast C program, which merges HTTP log files by date in Common Log Format (Apache default log format) from Web servers, behind round-robin DNS.
It has been designed to easily process huge logs from highly stressed servers, and can manage gzipped files.
Enhancements:
- dont abort anymore on corrupted log lines
- set BUFFER_SIZE value to 32Ko
- fixed a major bug on a broken month initialization
- corrections on manpages
- fix in configure.in to abort if zlib is not present
- fixed a potential segmentation fault on malformed log lines
- autoconf compliant thanks to Igor Genibel
<<lessmergelog is a small and fast C program, which merges HTTP log files by date in Common Log Format (Apache default log format) from Web servers, behind round-robin DNS.
It has been designed to easily process huge logs from highly stressed servers, and can manage gzipped files.
Enhancements:
- dont abort anymore on corrupted log lines
- set BUFFER_SIZE value to 32Ko
- fixed a major bug on a broken month initialization
- corrections on manpages
- fix in configure.in to abort if zlib is not present
- fixed a potential segmentation fault on malformed log lines
- autoconf compliant thanks to Igor Genibel
Download (0.039MB)
Added: 2007-03-08 License: GPL (GNU General Public License) Price:
961 downloads
Aranha server monitor 0.1.0
Aranha server monitor is an application using rrdtool and XML-RPC to monitor servers with a XUL GUI. more>>
Aranha is an application that uses an XML-RPC layer to retrieve information from one or more servers. The type of information gathered is implemented via plugins, and can be displayed or archived in several different ways.
The data is gathered in Round Robin Databases (integrated with rrdtool) and can be accessed using a XUL interface available from the system. Plugins are very easy to write.
Configuration
To configure this module, either pass specific configuration values to
Makefile.PL like this:
perl Makefile.PL CONFIG_VAR="config val"
or
edit the %DEFAULTS variable on the toplevel Makefile.PL
Installation
To install this module type the following:
perl Makefile.PL
make
make test
make install
<<lessThe data is gathered in Round Robin Databases (integrated with rrdtool) and can be accessed using a XUL interface available from the system. Plugins are very easy to write.
Configuration
To configure this module, either pass specific configuration values to
Makefile.PL like this:
perl Makefile.PL CONFIG_VAR="config val"
or
edit the %DEFAULTS variable on the toplevel Makefile.PL
Installation
To install this module type the following:
perl Makefile.PL
make
make test
make install
Download (0.080MB)
Added: 2005-04-12 License: GPL (GNU General Public License) Price:
1656 downloads
JSON::XS 1.11
JSON::XS implements JSON (http://www.json.org) for Perl. more>>
JSON::XS implements JSON (http://www.json.org) for Perl. Unlike other modules, its primary goal is to encode to syntactically correct JSON and flag invalid JSON while decoding.
It ensures round-trip integrity of datatypes while being intuitive to use. Currently being the fastest of the JSON encoders available for Perl, it supports a variety of format options, such as single-line, ASCII-only or pretty-printed and can be tuned for speed or memory usage.
The project comes with a wealth of documentation describing usage and implementation details.
<<lessIt ensures round-trip integrity of datatypes while being intuitive to use. Currently being the fastest of the JSON encoders available for Perl, it supports a variety of format options, such as single-line, ASCII-only or pretty-printed and can be tuned for speed or memory usage.
The project comes with a wealth of documentation describing usage and implementation details.
Download (0.030MB)
Added: 2007-04-11 License: GPL (GNU General Public License) Price:
929 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above round trip search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed