water pipes
Water Kills 1.73
Bemused is a system which allows you to control your music collection from your phone, using Bluetooth. more>>
Main features:
- Browse your music collection on your phone
- Play files in any format supported by Winamp - including MP3s, CDs, MIDIs, etc.
- Control Winamp versions 2, 3 and 5, Windows Media Player and PowerPoint Viewer
- Pause, stop, rewind, fast-forward etc.
- Add songs to the playlist and use shuffle and repeat
- Browse and select songs in your playlist
- Download songs to your phone (supported formats: WAV and MIDI; plus MP3 for UIQ)
- Customise the look of the system with skins
Enhancements:
- Series 60: Added new version of German localisation by Ozan Sambur
- Integrated Joachim von Carons fix for a potential PowerPoint crash
- Added ability to get current volume on startup (Winamp 2 or 5 only)
- Fixed bug where song title would be wrong after a playlist repeating
- Fixed bug with getting current song time with Winamp 5
- Fixed crash when pressing Play when using PowerPoint with no presentation loaded
- Improved handling of comms errors in the Bemused server
Pipe-Sem 1.0
This is a pipe based semaphore implementation for developing ASYNC applications. more>>
Pipe-Sem 1.0 is a good utility which might help you a lot in developing ASYNC applications. Many synchronization primitives are available for Unix systems, but any of them expose a pollable interface to the user. In these cases, if the caller execute a down operation on a blocking semaphore, the application will sleep and whole ASYNC loop will starve because of the wait.
To cope with this problem in ASYNC software, the publisher developed a pipe based semaphore implementation, called Pipe-Sem. The implementation is trivially simple and it uses the pipe internal mechanisms to expose a pollable wait interface.
Besides the standard semaphore operations, the function psem_down_fd() can be used to retrieve a files descriptor that can be dropped inside a Unix pollable API like select(2), poll(2) or epoll(2). The caller will have to wait for input events (POLLIN), and when receiving the event itself, the caller should invoke the psem_try_down() function to try to acquire the semaphore.
Please note that receiving an event from the pollable interface, does not mean that we acquired to semaphore, and the function psem_try_down() will have to be called (and tested for zero return code) to correctly complete the down operation.
<<lessDirty Water 0.1.0
Dirty Water project is a custom MUD server. more>>
Dirty Water is an original MUD server/engine written in OCaml.
It is designed to be much more advanced and realistic and to encourage role playing more than Diku-style MUDs.
We are using a higher level language which we feel will yield a code-base that is significantly easier to modify, maintain and understand.
We felt that OCaml would make a good choice for this language, though we have since decided Scheme would be a better choice.
All of our code is licensed under the GNU GPL.
Enhancements:
- can pick up items
- can view inventory
- you can specify 1st, 2nd, etc when refering to items
- cant pick up buildings or yourself
- dont see yourself in room descriptions
KGLWaterSaver 0.6
KGLWaterSaver is a screensaver that looks like a water-talbe. more>>
Main features:
- Choose between Images or the current Desktop to "sink under water"
- Various effects: Whirl, Bubble, Rain
Installation:
Download, compile and install.
Go to the Control Panel and choose KGLWaterSaver, set it up to use your favourite Image or Desktop and fit the performance of your computer.
(Takes 10% CPU-Time at my Duron 700 / GeForce FX 5700 at: water_res of 128x128, 24 WaterCalcs, 64ms Delay Realtime) (config dialog will probably [hopefully be more intuitive in following versions)
MasterShaper 0.44
MasterShaper is an network traffic shaper. more>>
It targets to let users learn and use traffic shaping mechanism. This should be possible for everyone who has no deeper knowledge of Linux and the difficult syntax of the tc commands from the iproute2external link package.
It provides an Web Interface which lets you define bandwidth pipes and filter (IP, MAC, ports, protocols, ipp2pexternal link, layer7-filterexternal link, ...). Also it draws some graphs about the current bandwidth usage and distribution. There is no more need for any shell access or privileged users.
Deep-Water Linux 0.4.0 Beta01
Deep-Water Linux is a half minimalist software distribution using the linux kernel. more>>
Originaly i designed it for myself to make my work a bit easyer - it was a few years ago when there were not so many live distributions that fit my needs - i needed something more than "minimal" but not something that would need more than 2-3 minutes to load requireing hardware, that i couldnt afford.
So i designed a small system for myself that i could use whenever i broke my "harddisk" distro so much, that it was impossible to repair the system from inside of it. I started using the system as a sort of a rescue system and i installed it on my computer as a sort of a neighbour to other systems that i have used.
Then i thought other people might find it interesting, if not as a whole, than atleast a part of it, or maybe they might like to use it for some "rescue job". I was messing arround with xlib and tcl/tk, so i added some programs to ease a users life - like a panel, icons, file-manager. You see, i thought it is stupid to just copy someones work and then re-distribute it in my name - i hate the kind of distros where the "developers" just change the background of some well known distro and then give it a new name.
In my distro you wont find so many tools, it evean might not work good, it evean can make you angry "make you laugh, or cry", but atleast i can say, that many things in this system is my work - i programmed deep-panel/ deep-view/ deep-icons/ made a new hackedbox"a hack of blackbox"/designed the startup and many other things.
There are 2 version-types of the distro - the first copying the whole system in the memmory and the second copying only a part of itself - the first is for people with older hardware with little memmory and the second for boxes with memmory atleast 128MB. I know that there are many systems out there that are better and im not saying that its good to use this distro on an everyday basis, but if you find some inspiration in it, or if you use it as a rescue system, or want to use deep-view to browse/edit some files or to display image galleries and your "real" system is broke, if you find any use of it than im happy enough.
ntcpclient
ntcpclient project is a GPL replacement for tcpclient from ucspi-tcp. more>>
It is almost definately more primitive than the ucspi-tcp one. Although I havent used it, or seen the source. In fact, I wrote this under the impression that the program I was replacing was closed source. but it was a nice excuse to write some code.
It works by opening the socket using options passed on the command line (performing hostname lookups and such), creating two pipes then forking. The parent process sits in a loop selecting on the socket/pipe and relaying any data between them. The child just execves with the relevant command line and the socket can be read/written to by simply writing to a numbered file descriptor. Seems always to be 5 and 6, but I think that could change between systems.
Xlogmaster 1.6.1
Xlogmaster is a log files processor. more>>
All output can be translated in any way the user wishes by means of a user-defined plugin. Filters allow to raise/lower/hide lines.
Due to usage of the GTK+ toolkit and full runtime configurability the user can modify the appearance of the xlogmaster to whatever fits his desktop best. This is a GNU program.
Enhancements:
- New mode: RUN
- Plugin support
- GTK+ 1.2.x compliant
- Complete "Customize" menu rewrite
- Execution now allows pipes
- Keyboard accelerators
- support for a system wide entry database
- support for personal entry database
- Xlogmaster now catches logfile rotation
Filter::cpp 1.33
Filter::cpp is a cpp source filter. more>>
SYNOPSIS
use Filter::cpp ;
This source filter pipes the current source file through the C pre-processor (cpp) if it is available.
As with all source filters its scope is limited to the current source file only. Every file you want to be processed by the filter must have a
use Filter::cpp ;
near the top.
Here is an example script which uses the filter:
use Filter::cpp ;
#define FRED 1
$a = 2 + FRED ;
print "a = $an" ;
#ifdef FRED
print "Hello FREDn" ;
#else
print "Where is FREDn" ;
#endif
And here is what it will output:
a = 3
Hello FRED
This example below, provided by Michael G Schwern, shows a clever way to get Perl to use a C pre-processor macro when the Filter::cpp module is available, or to use a Perl sub when it is not.
# use Filter::cpp if we can.
BEGIN { eval use Filter::cpp }
sub PRINT {
my($string) = shift;
#define PRINT($string)
(print $string."n")
}
PRINT("Mu");
Look at Michaels Tie::VecArray module for a practical use.
Simple UDP proxy/pipe 0.3
Simple UDP proxy/pipe is an advanced UDP proxy/datapipe/packets forwarder and modifier with multiple functions. more>>
Multiple clients allowed (you can connect many clients you want to this proxy), creation of ACP files (tcpdump capture files, just like a sniffer), packets forwarding (chat style, each packet is forwarded to all the other clients and server connected), packets injection (the tool opens a specific UDP port where you can send your customized packets which will be sent to the server), hexadecimal visualization and plugins support for the modification and visualization of the packets with some example plugins already included (Zdaemon huffman, Doom huffman, Half-life decoding and one for the replacement of the text strings).
Plugins (which work on both Windows and Linux) are very basic to create and use, just take a look at example_sudp.c for more informations.
TiVo File Decoder 0.2pre2
TiVo File Decoder software converts a .TiVo file. more>>
This has the same functionality as using TiVos supplied DirectShow DLL on Windows with a tool such as DirectShowDump, but is portable to different architectures and operating systems, and runs on the command line using files or pipes.
The conversion still requires the valid MAK of the TiVo which recorded the file, so it cannot be used to circumvent their protection, simply to provide the same level of access as is already available on Windows.
Usage: ./objects.dir/tivodecode [--help] [--verbose|-v] [--no-verify|-n] {--mak|-m} mak [{--out|-o} outfile] < tivofile >
--mak, -m media access key (required)
--out, -o output file (default stdout)
--verbose, -v verbose
--no-verify, -n do not verify MAK while decoding
--help print this help and exit
Enhancements:
- Fixes a merge error in tivodecoder.h which included several headers before including tdconfig.h, causing some needed defines not to be defined in those headers
mod_tee
mod_tee serves to clone an document as it is served. more>>
The current status is "works for us", but it is not of release quality. It is less-than-complete in several respects. Its probably not a good idea to use it operationally unless youre prepared to get your hands dirty fixing any problems, or pay for support.
Configuration
TeeType FILE|PIPE|SMTP [Destination]
Where to send the cloned output:
FILE - save to a destination file. For testing only!
PIPE - pipes output to a destination program with popen.
SMTP - sends cloned output directly to email at a destination mailserver. Implements SMTP handshake with no error checking - so its a dangerous option!
TeeCondition query|cookie|path|header|env|true|false [key] [val]
Defines a condition for mod_tee to be activated for a request. Values true and false are unconditional, while the others define a QUERY_STRING key, a Cookie, a PATH_INFO component, a request header or an environment variable to trigger the tee. Conditional values require a key. If val is defined then key must match it; otherwise any value of key will activate the tee.
TeeHeader key value
Defines an RFC822-style header to be inserted in front of the body of the page.
Alvis::Pipeline 0.11
Alvis::Pipeline is a Perl extension for passing XML documents along the Alvis pipeline. more>>
SYNOPSIS
use Alvis::Pipeline;
$in = new Alvis::Pipeline::Read(host => "harvester.alvis.info",
port => 16716,
spooldir => "/home/alvis/spool");
$out = new Alvis::Pipeline::Write(port => 29168);
while ($xml = $in->read(1)) {
$transformed = process($xml);
$out->write($transformed);
}
This module provides a simple means for components in the Alvis pipeline to pass documents between themselves without needing to know about the underlying transfer protocol. Pipe objects may be created either for reading or writing; components in the middle of the pipeline will create one of each. Pipes support exactly one method, which is either read() or write() depending on the type of the pipe. The granularity of reading and writing is the XML document; neither smaller fragments nor larger aggregates can be transferred.
The documents expected to pass through this pipeline are those representing documents acquired for, and being analysed by, Alvis. These documents are expressed as XML contructed according to the specifications described in the Metadata Format for Enriched Documents. However, while this is the motivating example pipeline that led to the creation of this module, there is no reason why other kinds of documents should not also be passed through pipeline using this software.
The pipeline protocol is described below, to facilitate the development of indepedent implementations in other languages.
JXTA P2P 2.5.1
JXTA platform is an open network computing platform designed for peer-to-peer (P2P) computing. more>>
- Discover other peers
- Advertise Peer resources (Peer, PeerGroup, Service and Pipe Advertisements)
- Communicate with each other (Pipes)
- Cooperate with each other to form secure peer groups (group membership)
The Platform project is a Java Standard Edition reference implementation of the JXTA protocols.
The Platform project was the original JXTA implementation and was built in Java, because Java enabled us to rapidly prototype and test new ideas and develop a more robust implementation.
Java is available on most client platforms (Unix, Windows, MacOS X, etc.) and allows us to reach the maximum number of potential users.
pipebench 0.40
pipebench is a utility that shows the status and a benchmark of piped commands. more>>
Pipebench measures the speed of a pipe, by sitting in the middle passing the data along to the next process. Works on at least Linux, OpenBSD, NetBSD, Solaris and x86, Alpha, HPPA, Sparc and Sparc64.
Compiling
Just type make to compile.
Type make install to have pipebench be installed in /usr/local/bin