sep
QGolf sep 2001
QGolf is a project that simulates the transmission of a signal on a rope. more>>
QGolf was developed for radio amateurs to clarify the behaviour of a signal on an antenna.
It demonstrates the forces that act on a rope if you move one end of it: you can see how waves are reflected, how resonance occurs, and how multiple pulses coexist on the same rope.
Various parameters can be updated during the simulation.
RWSecure 0.4
rwsecure parses the /var/log/secure file for invalid usernames or failed passwords to help protect against brute force. more>>
If there are more than three invalid or failed attempts by one IP, it will add that IP to your /etc/hosts.deny file.
Put this file in any directory of your choice and use the cron to run this program every
few minutes, hours, or days... adding this entry to your crontab will have it run every 5 minutes:
*/5 * * * * root /yourdirectory/rwsecure
This is just an example of a way to run it without user intervention.
Suggest you stop logging info level messages from auth, or log them in a seperate file, if you run this program every few minutes as misc cron messages can start to fill your logs.
Program will append to /etc/hosts.deny (however, this file can be changed by changing the variable in rwsecure, just vi rwsecure and make change the HostsDenypath to whatever you want)
Sample program output:
ALL: 82.140.81.26 # Added by rwsecure on Sep 17 18:18:01 2005
ALL: 67.15.20.58 # Added by rwsecure on Sep 18 04:42:01 2005
ALL: 211.78.142.116 # Added by rwsecure on Sep 18 06:22:01 2005
ALL: 130.215.226.185 # Added by rwsecure on Sep 19 04:26:01 2005
ALL: 70.85.221.46 # Added by rwsecure on Sep 21 09:26:01 2005
Enhancements:
- Improved handling of IPv6 and illegal users.
snescom 1.7.0
snescom is a 65c816 (SNES, etc.) assembler. more>>
The produced object file is binary-compatible with those made with XA65.
This program was born when Bisqwit needed a relocatable object -producing snes assembler and XA65 had too many bugs in it.
He was unable to fix the XA65 source so he started his own project, aiming for enough compatibility to be able to use the assembly files already written in the XAxa65 syntax.
Since that, this program has been growing to meet the needs in SNES game and patch development.
The following mnemonics are supported:
adc, and, asl, bcc, bcs, beq, bit, bmi, bne, bpl, bra, brk, brl, bvc, bvs, clc, cld, cli, clv, cmp, cop, cpx, cpy, db , dec, dex, dey, eor, inc, inx, iny, jml, jmp, jsl, jsr, lda, ldx, ldy, lsr, mvn, mvp, nop, ora, pea, pei, per, pha, phb, phd, phk, php, phx, phy, pla, plb, pld, plp, plx, ply, rep, rol, ror, rti, rtl, rts, sbc, sec, sed, sei, sep, sta, stp, stx, sty, stz, tax, tay, tcd, tcs, tdc, trb, tsb, tsc, tsx, txa, txs, txy, tya, tyx, wai, xba, xce
All the standard addressing modes of the 65816 cpu are supported.
Syntax:
- Implied: nop; clc
- Immediate: lda #value; rep #value etc (size may depend on an operand size setting)
- Short relative: bra end
- Long relative: brl end; per end+2
- Direct: lda $12
- Direct indexed: lda $12,x; lda $12,y
- Direct indirect: lda ($12); pei ($12)
- Direct indexed indirect: lda ($12,x)
- Direct indirect indexed: lda ($12),y
- Direct indirect long: lda [$12]
- Direct indirect indexed long: lda [$12],y
- Absolute: lda $1234
- Absolute indexed: lda $1234,x; lda $1234,y
- Absolute long: lda $123456
- Absolute indexed long: lda $123456,x
- Stack-relative: lda $12,s
- Stack-relative indirect indexed: lda ($12,s),y
- Absolute indirect: lda ($1234)
- Absolute indirect long: lda [$1234]
- Absolute indexed indirect: lda ($1234,x)
- MVN/MVP: mvn $7E,$7F
For reference, in Intel syntax it would be something like this (not supported by snescom):
- Implied: nop; clc
- Immediate: lda value; rep value etc (size may depend on an operand size setting)
- Short relative: bra end
- Long relative: brl end; per end+2
- Direct: lda [$00:d+$12]
- Direct indexed: lda [$00:d+$12+x]; lda [$00:d+$12+y]
- Direct indirect: lda [db:[$00:d+$12]]; pei [db:[$00:d+$12]]
- Direct indexed indirect: lda [db:[$00:d+$12+x]]
- Direct indirect indexed: lda [db:[$00:d+$12]+y]
- Direct indirect long: lda [long[$00:d+$12]]
- Direct indirect indexed long: lda [long[$00:d+$12]+y]
- Absolute: lda [db:$1234]
- Absolute indexed: lda [db:$1234+x]; lda [db:$1234+y]
- Absolute long: lda [$12:$3456]
- Absolute indexed long: lda [$12:$3456+x]
- Stack-relative: lda [$00:$12+s]
- Stack-relative indirect indexed: lda [db:[$00:$12+s]+y]
- Absolute indirect: lda [db:[$1234]]
- Absolute indirect long: lda [long[db:$1234]]
- Absolute indexed indirect: lda [db:[db:$1234+x]]
- MVN/MVP: mvn $7E,$7F
Enhancements:
- This release updates the linker program, adding a feature to output raw files, or even ROM files directly in the SMC format, with proper checksums.
- The error handling of the assembler was improved somewhat.
OSSP val 0.9.4
OSSP val is a flexible name-to-value mapping library for ISO-C variables. more>>
In general, this is used for accessing C variables without having to know the actual symbol/address/reference. The typical use cases are in combination with flexible configuration parsing and supporting loosly-coupled DSO-based module architectures.
Enhancements:
- Upgraded build environment to GNU libtool 1.5.20 and GNU shtool 2.0.3 [Ralf S. Engelschall]
- Bumped year in copyright messages for new year 2005. [Ralf S. Engelschall]
- Changes between 0.9.2 and 0.9.3 (04-Apr-2003 to 12-Sep-2004)
- Upgraded build environment to GNU libtool 1.5.8 and GNU shtool 2.0.1 [Ralf S. Engelschall]
DNS Domain Expiration Check 1.0
domain-check is a utility for checking DNS domain expiration dates. more>>
domain-check queries WHOIS data in realtime, and can be integrated with cron to provide e-mail notifications prior to a domain expiring.
The first example will print the expiration date and registrar for daemons.net:
$ domain-check.sh -d daemons.net
Domain Registrar Status Expires Days Left
----------------------------------- ----------------- -------- ----------- ---------
daemons.net INTERCOSMOS MEDIA Valid 13-feb-2006 64
The second example prints the expiration date and registrar for the domains listed in the file "domains":
$ domain-check.sh -f domains
Domain Registrar Status Expires Days Left
----------------------------------- ----------------- -------- ----------- ---------
sun.com NETWORK SOLUTIONS Valid 20-mar-2010 1560
google.com EMARKMONITOR INC. Valid 14-sep-2011 2103
daemons.net INTERCOSMOS MEDIA Valid 13-feb-2006 64
spotch.com GANDI Valid 03-dec-2006 357
The third example will e-mail the address admin@daemons.net with the domains that will expire in 60-days or less:
$ domain-check -a -f domains -q -x 60 -e admin@daemons.net
Regexp::Common::net 2.120
Regexp::Common::net is a Perl module that provide regexes for IPv4 addresses. more>>
SYNOPSIS
use Regexp::Common qw /net/;
while () {
/$RE{net}{IPv4}/ and print "Dotted decimal IP address";
/$RE{net}{IPv4}{hex}/ and print "Dotted hexadecimal IP address";
/$RE{net}{IPv4}{oct}{-sep => :}/ and
print "Colon separated octal IP address";
/$RE{net}{IPv4}{bin}/ and print "Dotted binary IP address";
/$RE{net}{MAC}/ and print "MAC address";
/$RE{net}{MAC}{oct}{-sep => " "}/ and
print "Space separated octal MAC address";
}
Please consult the manual of Regexp::Common for a general description of the works of this interface.
Do not use this module directly, but load it via Regexp::Common.
This modules gives you regular expressions for various style IPv4 and MAC (or ethernet) addresses.
$RE{net}{IPv4}
Returns a pattern that matches a valid IP address in "dotted decimal". Note that while 318.99.183.11 is not a valid IP address, it does match /$RE{net}{IPv4}/, but this is because 318.99.183.11 contains a valid IP address, namely 18.99.183.11. To prevent the unwanted matching, one needs to anchor the regexp: /^$RE{net}{IPv4}$/.
For this pattern and the next four, under -keep (See Regexp::Common):
$1
captures the entire match
$2
captures the first component of the address
$3
captures the second component of the address
$4
captures the third component of the address
$5
captures the final component of the address
Math::String::Charset 1.27
Math::String::Charset is a simple charset for Math::String objects. more>>
SYNOPSIS
use Math::String::Charset;
$a = new Math::String::Charset; # default a-z
$b = new Math::String::Charset [a..z]; # same
$c = new Math::String::Charset
{ start => [a..z], sep => }; # with between chars
print $b->length(); # a-z => 26
# construct a charset from bigram table, and an initial set (containing
# valid start-characters)
# Note: After an a, either an b, c or a can follow, in this order
# After an d only an a can follow
$bi = new Math::String::Charset ( {
start => a..d,
bi => {
a => [ b, c, a ],
b => [ c, b ],
c => [ a, c ],
d => [ a, ],
q => [ ], # q will be automatically in end
}
end => [ a, b, ],
} );
print $bi->length(); # a,b => 2 (cross of end and start)
print scalar $bi->class(2); # count of combinations with 2 letters
# will be 3+2+2+1 => 8
$d = new Math::String::Charset ( { start => [a..z],
minlen => 2, maxlen => 4, } );
print $d->first(0),"n"; # undef, too short
print $d->first(1),"n"; # undef, to short
print $d->first(2),"n"; # aa
$d = new Math::String::Charset ( { start => [a..z] } );
print $d->first(0),"n"; #
print $d->first(1),"n"; # a
print $d->last(1),"n"; # z
print $d->first(2),"n"; # aa
This module lets you create an charset object, which is used to contruct Math::String objects. This object knows how to handle simple charsets as well as complex onex consisting of bi-grams (later tri and more).
In case of more complex charsets, a reference to a Math::String::Charset::Nested or Math::String::Charset::grouped will be returned.
The default charset is the set containing "abcdefghijklmnopqrstuvwxyz" (thus producing always lower case output).
Stanford Exploration Project Library 6.5.1
Stanford Exploration Project Library improves the theory and practice of constructing 3-D and 4-D images of the earth. more>>
Although most of our research is targeted at improvements in the geophysical survey contracting industry, about half of our sponsors and alumni are in the petroleum industry because we focus on overcoming technological limitations of the geophysical survey industry.
SEP pioneered innovations in migration imaging, velocity estimation, dip moveout and slant stack. Today our focus is on 3-D seismic applications such as velocity estimation, wavefield-continuation prestack migration, multidimensional image estimation, and 4-D (time-lapse) reservoir monitoring.
Besides 3-D reflection seismic data, we undertake small 2-D imaging projects with geophysical data of all kinds. The diversity of applications exercises our judgment and skill at combining fundamentals of statistical signal theory, optimization theory, numerical analysis, and wave propagation theory, and this has led us to numerous improvements and some breakthroughs.
We organize our research to facilitate technology transfer by using a formal method of makefile rules. With these, most of our research results are verified by someone other than the original researcher. Research progress reports at least four years old and all PhD theses are made available to the public through our web site.
Enhancements:
- Numerous major new features and major bugfixes.
IPShutter 0.2
IPShutter lets you firewall off ports such as ssh, and selectively enable access with a one-time password. more>>
For example, if you want to log into the server from a friends house, you pull out a list of one-time passwords and point the web browser at a URL that contains one password. That tells the server to allow ssh connections from your friends IP address for five minutes. Connections made in that period will stay up indefinitely.
IPShutter is written in Perl language. It requires ipchains - on 2.4 kernels, ipchains can be loaded as module. IPShutter must run as root.
You may need to modify the first line of IPShutter to point to where Perl5 is located on your system.
Enhancements:
- Version 0.2 - Sat Sep 28 14:55:03 CDT 2002 - Moved configuration options to /etc/ipshutterrc and fixed daemonization.
pyClamd 0.1.0
pyClamd is a python interface to Clamd (Clamav daemon). more>>
Instead of pyClamav which uses libclamav, pyClamd may be used by a closed source product.
Usage:
From python :
Python 2.3.5 (#2, Sep 4 2005, 22:01:42)
[GCC 3.3.5 (Debian 1:3.3.5-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyclamd
>>> pyclamd.init_network_socket(localhost, 3310)
>>> print pyclamd.version()
ClamAV 0.88.3/1598/Thu Jul 13 13:38:16 2006
>>> ret = pyclamd.scan_file(/tmp/eicar.com)
>>> print ret
{/tmp/eicar.com: Eicar-Test-Signature}
>>> ret = pyclamd.scan_file(/tmp/no_virus.txt)
>>> print ret
None
>>> ret = pyclamd.scan_stream(open(/tmp/eicar.com).read())
>>> print ret
{stream: Eicar-Test-Signature FOUND}
Term::TUI 1.20
Term::TUI is a simple tool for building text-based user interfaces. more>>
SYNOPSIS
If TUI_Run is the only routine being used:
use Term::TUI;
$flag=&TUI_Run($command,%desc);
$version=&Term::TUI::TUI_Version;
If other TUI subroutines are used:
use Term::TUI qw(:all);
$flag=&TUI_Run($command,%desc);
&TUI_Out($message);
$flag=&TUI_Script(%desc,$script,$sep);
Many times, Ive wanted to quickly write a nice text-based user interface around a set of perl routines only to end up writing the full (though simple) parser and interface to make it nice enough, and friendly enough, to be usable.
This module creates a simple but powerful text based user interface around perl routines, adding such features as command line history, command line editing, and online help (command completion will also be implemented), while hiding all details of the interface from the programmer.
The interface is described in a simple hash which is passed to the TUI_Run command. This routine exits only when the user has exited the program (returning a flag signalling any special exit conditions).
Savage: The Battle for Newerth 2.00e
Savage: The Battle for Newerth SEP 2 for Linux is a patch for Savage game. more>>
Serverside Demos, with the possibility of multiple players watching the same replay on the same replay server at the same time!
Fixed ALL known bugs and exploits, including tons of non-public ones. Even more so than in the original SEP-2 release.
Improved clientside performance and loading speed, up to 25-50% each, depending on your configuration.
Lower pings, especially so on SEP-2 servers (only when on the field, to minimize bandwidth costs)
Enhancements:
- highly optimized rewritten network code
- two new Healer class units
- two new structures
- all new weapons effects
- new items
- new maps
- engine enhancements which increase frame rate by up to 40% on many computer systems
- numerous bug/exploit fixes
- new gameplay and balance tweaks
- introduces Demo Recording
JoeDog::Config 2.01
JoeDog::Config provides a perl extension for parsing data/configuration file. more>>
It reads columns, key-value pairs, and INI style config files into arrays, hashes and hashes of hashes. It can take characters or regexes for separators.
ABSTRACT:
This is a autoloadable module which allows the programmer
to read data from an configuration file into various perl
data types, arrays, multi-dimentional arrays and hashes.
INSTALLATION
JoeDog::Config.pm was built using perl Make::Maker utility
If you are familiar with that utility you should have no
problem with this installation as it will be familiar:
$ perl Makefile.PL
$ make
$ make test
$ su
$ make install
USAGE
use JoeDog::Config;
my $cnf = new JoeDog::Config(filename);
my @array = $cnf->get_column();
my @arrays = $cnf->get_columns(sep);
my @aoa = $cnf->get_table(sep,num);
my @aoa = $cnf->get_table(sep,[num1, num2, etc...]);
my %hash = $cnf->get_hash(sep);
my %hashes = $cnf->get_hashes(sep);
Array::Compare 1.14
Array::Compare is a Perl extension for comparing arrays. more>>
SYNOPSIS
use Array::Compare;
my $comp1 = Array::Compare->new;
$comp->Sep(|);
$comp->Skip({3 => 1, 4 => 1});
$comp->WhiteSpace(0);
$comp->Case(1);
my $comp2 = Array::Compare->new(Sep => |,
WhiteSpace => 0,
Case => 1,
Skip => {3 => 1, 4 => 1});
my @arr1 = 0 .. 10;
my @arr2 = 0 .. 10;
$comp1->compare(@arr1, @arr2);
$comp2->compare(@arr1, @arr2);
If you have two arrays and you want to know if they are the same or different, then Array::Compare will be useful to you.
All comparisons are carried out via a comparator object. In the simplest usage, you can create and use a comparator object like this:
my @arr1 = 0 .. 10;
my @arr2 = 0 .. 10;
my $comp = Array::Compare->new;
if ($comp->compare(@arr1, @arr2)) {
print "Arrays are the samen";
} else {
print "Arrays are differentn";
}
Notice that you pass references to the two arrays to the comparison method.
Internally the comparator compares the two arrays by using join to turn both arrays into strings and comparing the strings using eq. In the joined strings, the elements of the original arrays are separated with the ^G character. This can cause problems if your array data contains ^G characters as it is possible that two different arrays can be converted to the same string.
To avoid this, it is possible to override the default separator character, either by passing and alternative to the new function
my $comp = Array::Compare->new(Sep => |);
or by changing the seperator for an existing comparator object
$comp->Sep(|);
In general you should choose a separator character that wont appear in your data.
You can also control whether or not whitespace within the elements of the arrays should be considered significant when making the comparison. The default is that all whitespace is significant. The alternative is for all consecutive white space characters to be converted to a single space for the pruposes of the comparison. Again, this can be turned on when creating a comparator object:
my $comp = Array::Compare->new(WhiteSpace => 0);
or by altering an existing object:
$comp->WhiteSpace(0);
You can also control whether or not the case of the data is significant in the comparison. The default is that the case of data is taken into account. This can be changed in the standard ways when creating a new comparator object:
my $comp = Array::Compare->new(Case => 0);
or by altering an existing object:
$comp->Case(0);
In addition to the simple comparison described above (which returns true if the arrays are the same and false if theyre different) there is also a full comparison which returns a list containing the indexes of elements which differ between the two arrays. If the arrays are the same it returns an empty list. In scalar context the full comparison returns the length of this list (i.e. the number of elements that differ). You can access the full comparision in two ways. Firstly, there is a DefFull attribute. If this is true then a full comparison if carried out whenever the compare method is called.
my $comp = Array::Compare->new(DefFull => 1);
$comp->compare(@arr1, @arr2); # Full comparison
$comp->DefFull(0);
$comp->compare(@arr1, @arr2); # Simple comparison
$comp->DefFull(1);
$comp->compare(@arr1, @arr2); # Full comparison again
Secondly, you can access the full comparison method directly
$comp->full_compare(@arr1, @arr2);
For symmetry, there is also a direct method to use to call the simple comparison.
$comp->simple_compare(@arr1, @arr2);
The final complication is the ability to skip elements in the comparison. If you know that two arrays will always differ in a particular element but want to compare the arrays ignoring this element, you can do it with Array::Compare without taking array slices. To do this, a comparator object has an optional attribute called Skip which is a reference to a hash. The keys in this hash are the indexes of the array elements and the values should be any true value for elements that should be skipped.
For example, if you want to compare two arrays, ignoring the values in elements two and four, you can do something like this:
my %skip = (2 => 1, 4 => 1);
my @a = (0, 1, 2, 3, 4, 5);
my @b = (0, 1, X, 3, X, 5);
my $comp = Array::Compare->new(Skip => %skip);
$comp->compare(@a, @b);
This should return true, as we are explicitly ignoring the columns which differ.
Of course, having created a comparator object with no skip hash, it is possible to add one later:
$comp->Skip({1 => 1, 2 => 1});
or:
my %skip = (1 => 1, 2 => 2);
$comp->Skip(%skip);
To reset the comparator so that no longer skips elements, set the skip hash to an empty hash.
$comp->Skip({});
You can also check to see if one array is a permutation of another, i.e. they contain the same elements but in a different order.
if ($comp->perm(@a, @b) {
print "Arrays are permsn";
else {
print "Nope. Arrays are completely differentn";
}
In this case the values of WhiteSpace and Case are still used, but Skip is ignored for, hopefully, obvious reasons.
ChainBuilder ESB for Linux 2.0
ChainBuilder ESB is an open source solution for use in Service Oriented Architecture (SOA) environments. ChainBuilder ESB creates standards-based components though drag and drop graphical user interfa more>>
ChainBuilder ESB is an open source Enterprise Service Bus. ChainBuilder ESB allows IT developers with Service Oriented Architecture (SOA) infrastructures to create standards-based ESB components through Eclipse-based graphical user interfaces. Most organizations SOAs need to include strategic backend systems that operate with non-XML data formats and non-WebServices communication protocols. Bostech focus on usability ensured the initial offerings of ChainBuilder ESB had industry standard editors to manage EDI X12, HL7, fixed and variable formats and communication components for TCP/IP, FTP and file protocols and database components for JMS and ETL integrations - the formats and protocols that organizations with mature applications absolutely require. ChainBuilder ESB also has uncommon high-end open source features, like an AJAX-based Console web interface for monitoring and controlling the production environment, usually found only with expensive proprietary systems. Bostech Corporation is deploys a dual-license distribution model for ChainBuilder ESB. Developers can download the open source software for Windows, Linux and Unix under the common GPL license at http://www.chainforge.net. A commercial license and subscription support is also available for enterprises and software vendors.
System Requirements: P4/1GB ram/10GB HD min; dual 3.0Ghz/2GB ram preferred
System Requirements: 2.0, Oct 2008 1.3.1, July 2008, incls Java 6 1.2, Mar 2008, incls ETL and Vista 1.1, Aug 2007, incls HL7, POP3, SMTP and framework; 1.0, Jan 2007, incls console and JDBC support; Beta Release, Dec 2006, incls source code and Linux support; Alpha Release, Sep 2006, incls Windows support;
<<less- Page: 1 of 2
- 1
- 2