Programs and Scripts
Note: All programs and scripts are provided as-is. You can use them for
free, but don't make me reliable if something is not working as it
should
or you expected. I appreciate it if you notify me in case you found
something
useful.
Nearly all programs and scripts are written in perl. Perl is a powerful
language which is easy to learn if you know the basics of C and Unix
Regular
Expressions. If you need more information on this, visit the Perl
homepage.
On most systems you need to rename all files you d/l from here
from
.perl to .pl! It was necessary to rename them because some systems
wanted to execute them as .pl files.
Mailing List Analysis using SQL DB
This command line program (Perl) parses large files with
collected E-Mails from Mailing Lists. In the first stage, they are
stored in a SQL DB (I used Debian Linux - Sarge testing and MySQL). In
a second step threads are computed, in a third step you can export Edge
Lists for further network analysis using programs like UCInet. You can
use a SQL browser to get statistical data of the authors and threads of
E-Mails. There is a documentation inside the program. It is in my view
only useful for Social Scientists analysing mailing lists. You can
download it here.
This program enables you to easily design online surveys or order
forms.
It has grown so big that it was necessary to introduce own pages for
it.
Try this link to
find
out more.
Es gibt auch eine deutsche
Seite dazu - RST eignet sich für die einfache
Durchführung
von (unterschiedlichen, mehrsprachigen) Online-Umfragen z.B. in der
Soziologie
oder Marktforschung.
This tiny perl script provides a solution for the following problem:
You
have an existing document covering several pages. You wish to print
additional
information on each page, like Page numbering, Author text, etc.
You can use this script as template and apply changes when needed.
In this current version only HP PCL printers (i.e. Laserjet 5L) are
supported.
How many of the german domain names (*.de) are hosted in germany and
how
many are truly located somewhere else? This I wanted to know and this
program
turned out to be very helpful. It requires two more files: One is
tracedomain.data,
which is also supplied here
(only for german domains yet). The other file needed is your input file
which holds all domains you want to know where they are located.
tracedomain.pl
then does a traceroute to every domain (first with www prefix and if
this
does not work out, plain domain as written in the file).
Three output files are created:
The .out file contains the most valuable information, which can be
processed
using a statistical analysis program like SPSS or visualization
software
(i.e. Excel): Every domain is listed with Status (OK, not connected or
unable to reach right now), Country (where the host is placed), TLD
(Top
Level Domain, last readable domain name of your searched domain, i.e.
*.net),
Hops (Number of hops to reach the specific domain) and rt-time
(Round-Trip
time: mean, calculated from max. 3 packets sent by traceroute). If you
are not familiar with those terms, please read the manual to traceroute
first (tracert.exe if you are using DOS/Windows 95).
The .error file lists all domains which could not be reached or were
not
connected and also prints the traceroute of this domain. This helps you
to easily adapt the tracedomain.data file or to insert the
correct
location in your .out file.
The .log file contains all the information of the .out file and the
traceroute
output for each domain. If you are interested in different internet
routings,
you can look for my outputs which are available using anonymous ftp here.
To create the domain names, I took all german domains from nic.de
and weeded those files from all other information than domain names
with
This perl script reads the file Domains.txt in your current directory
and
extracts all domain names, writing it to Domains.weed. Currently only
working
for german domains only, but easily adaptable for other domain
names.
This script is randomly selecting a certain number of lines from an
ASCII
input file.
Scripts concerning IRC statistics
This is the core. It behaves like an IRC user, but you can program it.
Right now it asks the server every five minutes for users, channels,
and
servers connected. This data is appended to a file. Socip.pl also uses
RRD (Round Robin Databases) and mrtg.
You can easily change this script for your special needs.
Sometimes the program crashes (due to various reasons). For starting
up again, I used a script called by crontab every five minutes. Socip.botchk
is also available.
There are several IRC servers out there. Some include new commands.
The original Net::IRC module, which I used, does not react to all
commands.
That's why I changed and patched the original Net::IRC code. You can
find
this enhanced version of Net::IRC
here.
This script expects an ircII logfile as inputfile, which is scanned
line
by line. Certain outputs of ircII are recognized and the specific data
is stored. It knows i.e. several date-output formats of several
versions
of IRC. Right now it knows the /lusers, /list and /date command of
ircII.
After all data is read, reports are created collecting all User and
Channel info. Those reports could be used in Excel or SPSS.
Moreover, transform3.pl knows to handle them as well.
This is for use with mrtg3. Report files like those created by
irc_report.pl
are transferred into a Round-Robin-Database.
This script uses Round-Robin-Databases created with transform3.pl or
Socip.pl
and plots nice graphs. Moreover a sample HTML-page is stored, which
accesses
all new graphs.
Ancient programs for C64 and Amiga
This information is not connected to Rostock University.
I wrote several programs for Commodore C64 and Amiga Computer. All
are listed here just for historical reasons. If you need one, please
send
mail.
C64 RAM Test, Eprom
Still needed is C64 RAM Test. This program sits in an EPROM which
replaces
the C64 Operating System Eprom. It is designed that only absolutely
necessary
chips are needed. It runs without a working C64 RAM, CIA, VIC, etc.
When
you turn the C64 on, 8 green numbered sprites are displayed on the
screen,
each one representing a Bit and a certain RAM IC, respectively. Then
the
RAM test continues, and if one bit fails, the corresponding sprite will
turn red. If the test should work OK for some time, you can press space
and a more comfortable RAM test program will turn up which runs
non-stop,
testing nearly all the 64K and displaying wrong bits. If you want to
buy
this program on an Eprom, please contact me.
C64 Disk Manager
German Disk manager software. Directory of an inserted disk is read,
you
can follow and alter each used sector. Very easy to use program.
C64 Software Verwaltung. C64 Software Manager
Creates database of all C64 software. Is able to read Directories of
disks
and tapes (also Turbo Tape format).
Special system which uses a custom format for every VC 1541 data disk
and is able to store 300KB of data that way on the database disk! Very
fast search option.
C64: Vizawrite to ASCII text converter
This perl-script vizawritetoascii.pl
is able to convert files written with Vizawrite (C64/C128) to ASCII
text
files.
Amiga: GASS (6502 cross-Assembler).
Written in C, released on aminet ages ago. Allows you to write C64
programs
on the Amiga using it's superiour editors (Cygnus) and compile
lightning
fast. Supports bank-switching.
Amiga: Varus network
Network linking one Amiga (server) and up to nine C64. Allows data
transfer
and Sim-Screens (you can see C64 screen content on Amiga screen of
selected
machine and keystrokes on Amiga are transmitted to C64). Requires
special
hardware on Amiga (connected to its parallel port) and C64 (Expansion
slot).
As far as we (including my partner Matthias Kettner) know, the only
network
created between C64 and Amiga that deserves its name.
Last changes: June 10th, 2005
This page is (c) Kajetan Hinner
1998-2005 unless otherwise stated. Without written permission it's not
allowed to
use any of this content (including links) commercially. Non-commercial
use is encouraged .It's not allowed to make profit out of my work.
Follow this Link to get to my
homepage.