ado.net data
Firebird .NET Data Provider 2.1.0
Firebird .NET Data Provider is an ADO.NET data provider for Firebird. more>>
Firebird is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names since 1981.
Firebird is a commercially independent project of C and C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Borland Software Corp) on 25 July, 2000 under the InterBase Public License v.1.0
Audio::Data 1.029
Audio::Data is a module for representing audio data to perl. more>>
SYNOPSIS
use Audio::Data;
my $audio = Audio::Data->new(rate => , ...);
$audio->method(...)
$audio OP ...
Audio::Data represents audio data to perl in a fairly compact and efficient manner using C via XS to hold data as a C array of float values. The use of float avoids many issues with dynamic range, and typical float has 24-bit mantissa so quantization noise should be acceptable. Many machines have floating point hardware these days, and in such cases operations on float should be as fast or faster than some kind of "scaled integer".
Nominally data is expected to be between +1.0 and -1.0 - although only code which interacts with outside world (reading/writing files or devices) really cares.
It can also represent elements (samples) which are "complex numbers" which simplifies many Digital Signal Processing methods.
Methods
The interface is object-oriented, and provides the methods below.
$audio = Audio::Data->new([method => value ...])
The "constructor" - takes a list of method/value pairs and calls $audio->method(value) on the object in order. Typically first "method" will be rate to set sampling rate of the object.
$rate = $audio->rate
Get sampling rate of object.
$audio->rate($newrate)
Set sampling rate of the object. If object contains existing data it is re-sampled to the new rate. (Code to do this was derived from a now dated version of sox.)
$audio->comment($string)
Sets simple string comment associated with data.
$string = $audio->comment
Get the comment
$time = $audio->duration
Return duration of object (in seconds).
$time = $audio->samples
Return number of samples in the object.
@data = $audio->data
Return data as list of values - not recommended for large data.
$audio->data(@data)
Sets elements from @data.
$audio->length($N)
Set number of samples to $N - tuncating or padding with zeros (silence).
($max,$min) = $audio->bounds([$start_time[,$end_time]])
Returns a list of two values representing the limits of the values between the two times if $end_time isnt specified it defaults to the duration of the object, and if start time isnt specified it defaults to zero.
$copy = $audio->clone
Creates copy of data carrying over sample rate and complex-ness of data.
$slice = $audio->timerange($start_time,$end_time);
Returns a time-slice between specified times.
$audio->Load($fh)
Reads Sun/NeXT .au data from the perl file handle (which should have binmode() applied to it.)
This will eventually change - to allow it to load other formats and perhaps to return list of Audio::Data objects to represnt multiple channels (e.g. stereo).
$audio->Save($fh[,$comment])
Write a Sun/NeXT .au file to perl file handle. $comment if specified is used as the comment.
$audio->tone($freq,$dur,$amp);
Append a sinusoidal tone of specified freqency (in Hz) and duration (in seconds), and peak amplitude $amp.
$audio->silence($dur);
Append a period of 0 value of specified duration.
$audio->noise($dur,$amp);
Append burst of (white) noise of specified duration and peak amplitude.
$window = $audio->hamming($SIZE,$start_sample[,$k])
Returns a "raised cosine window" sample of $SIZE samples starting at specified sample. If $k is specified it overrides the default value of 0.46 (e.g. a value of 0.5 would give a Hanning window as opposed to a Hamming window.)
windowed = ((1.0-k)+k*cos(x*PI))
$freq = $audio->fft($SIZE)
$time = $freq->ifft($SIZE);
Perform a Fast Fourier Transform (or its inverse). (Note that in general result of these methods have complex numbers as the elements. $SIZE should be a power-of-two (if it isnt next larger power of two is used). Data is padded with zeros as necessary to get to $SIZE samples.
@values = $audio->amplitude([$N[,$count]])
Return values of amplitude for sample $N..$N+$count inclusive. if $N is not specified it defaults to zero. If $count is not specified it defaults to 1 for scalar context and rest-of-data in array context.
@values = $audio->dB([$N[,$count]])
Return amplitude - in deci-Bells. (0dB is 1/2**15 i.e. least detectable value to 16-bit device.) Defaults as for amplitude.
@values = $audio->phase([$N [,$count]])
Return Phase - (if data are real returns 0). Defaults as for amplitude.
$diff = $audio->difference
Returns the first difference between successive elements of the data - so result is one sample shorter. This is a simple high-pass filter and is much used to remove DC offsets.
$Avalues = $audio->lpc($NUM_POLES,[$auto [,$refl]])
Perform Linear Predictive Coding analysis of $audio and return coefficents of resulting All-Pole filter. 0th Element is not a filter coefficent (there is no A[0] in such a filter) - but is a measure of the "error" in the matching process. $auto is an output argument and returns computed autocorrelation. $refl is also output and are so-called reflection coefficents used in "lattice" realization of the filter. (Code for this lifted from "Festival" speech systems speech_tools.)
$auto = $audio->autocorrelation($LENGTH)
Returns an (unscaled) autocorrelation function - can be used to cause peaks when data is periodic - and is used as a precursor to LPC analysis.
MIDI Data Miner 3
MIDI Data Miner uses a neural network to learn correlations between notes and control changes in a MIDI file. more>>
After training MDM can augment a live MIDI stream, adding control changes based on notes received.
Briefly: use MDM by connecting a MIDI device, open preferences and set MIDI input and output ports. Open a MIDI file, create a new neural net and train. Now play notes on your MIDI device, MDM will automatically add control changes.
MDM creates a collection of note and controller pairs from the file and uses them to train a net. The notes are used as inputs and the controls as outputs. The window is the number of previous notes considered when determining the output for the current note. Larger windows give less predictable more interesting responses. Enter a number in the window box and press enter to set the window size.
This is an early alpha release, buggy and incomplete. Please send feedback! Note that this alpha version only reads from the first track in a MIDI file, and only uses the first controller. Look at the included MIDI file in the working/midi folder for details.
Common Data Format 3.1
Common Data Format is a self-describing data abstraction for the storage and manipulation of multidimensional data. more>>
It consists of a scientific data management package (known as the "CDF Library") that allows programmers and application developers to manage and manipulate scalar, vector, and multi-dimensional data arrays.
Enhancements:
- Adds new sets of APIs to allow Standard Interface to interact with zVariables and other CDF-related information.
- Adds MingW and FreeBSD ports.
- Adds support for Intel C++ and Fortran for Linux.
- Adds the ability to create legacy CDF 2.7 files.
- Fixes a bug that prevented directories from having .cdf or .skt extensions.
Yukatan data model 1.0
Yukatan data model project is the schema definition of the Yukatan webmail database. more>>
The PostgreSQL database structures defined in this file can be used as a backend store of an email message handling application. The database should be created with the "UNICODE" encoding to properly support messages in different languages.
New data types
The special data types commonly used in the Yukatan data model have been made explicit by the introduction of seven new domains. The domains and the related COMMENT statements make field semantics more clear than before.
See the SQL schema file for more detailed documentation on these domains.
Explicitly named constraints
All the table constraints in the database are now explicitly named and documented. This change makes the database implementation more orthogonal and cleans up the documentation.
Renamed fields and tables
All the *address field names have been truncated to *addr, to make it visually clearer that they are always paired with the corresponding *name fields. The change also makes parts of the documentation less repetitive.
The referencesfield table has been renamed to referencefield to avoid the plural form in the table name. Also all the contained references* field names have been renamed to reference*.
Semantic changes
Quite a few changes have been made to the semantics of various fields. The unnecessarily tight constraints on sequence numbers have been replaced with clearer documentation, the format and encoding of most fields has been explicitly documented, and the previously allowed dual use of the enttext and enddata fields has been prohibited.
Dropped envelope data
The envelope data added in version 0.5 of the data model has for now been removed. The reason for the removal is that the envelope data is not an integral part of an email message, and I wanted to make the version 1.0 as clear as possible. The database now stores "email messages" - nothing less, nothing more. Envelope data can and probably will be reintroduced in an incremental version 1.x along with other extensions.
Enhancements:
- cleans up and documents the data model that has developed since version 0.1
- removal of the envelope data added in version 0.5
- enaming and redefinition of some of the fields and tables
- database structure has also been extensively documented
DOG Data Organizer 0.4.2
DOG Data Organizer provides a bookmark organizer for various bookmark types. more>>
DOG is a personal knowledge manager based on topic maps. It currently specializes in managing bookmarks.
It imports and exports Netscape, Mozilla, and KDE2 (XBEL) bookmark files, and it imports KDE1 bookmarks and Windows IE Favorites.

Unicode Data Browser 1.5
UnicodeDataBrowser is a very useful browser designed for the UnicodeData.txt file which consists of much useful information but is not easily read by humans. more>>
UnicodeDataBrowser 1.5 is a very useful browser designed for the UnicodeData.txt file which consists of much useful information but is not easily read by humans. The browser creates a scrollable table in which columns represent properties.
The table may be sorted on any column. Abbreviations are expanded and characters cross-referenced in decomposition and casing fields are named. Regular expression search restricted to a selected column is available. The set of characters for which information is displayed may be restricted to those characters matching a regular expression on a specified property.
Each such filtering operation applies to the output of the previous filtering operation unless the table is reset to the original full set of characters, so filtering on multiple properties is possible.
Enhancements: Adds canonical decomposition info for Hangul syllables.
<<lessFast Data Transfer 0.8.0
Fast Data Transfer is an application for efficient data transfers that is capable of reading and writing at disk speed. more>>
It can be used to stream a large set of files across the network, so a large dataset composed of thousands of files can be sent or received at full speed, without the network transfer restarting between files.
The project is written in Java, runs an all major platforms, and is easy to use.
Main features:
- Streams a dataset (list of files) continuously, using a managed pool of buffers through one or more TCP sockets.
- Uses independent threads to read and write on each physical device
- Transfers data in parallel on multiple TCP streams, when necessary
- Uses appropriate-sized buffers for disk I/O and for the network
- Restores the files from buffers asynchronously
- Resumes a file transfer session without loss, when needed
Test::Data 1.20
Test::Data is a Perl module to test functions for particular variable types. more>>
SYNOPSIS
use Test::Data qw(Scalar Array Hash Function);
Test::Data provides utility functions to check properties and values of data and variables.
Functions
Plug-in modules define functions for each data type. See the appropriate module.
How it works
The Test::Data module simply emports functions from Test::Data::* modules. Each module defines a self-contained function, and puts that function name into @EXPORT. Test::Data defines its own import function, but that does not matter to the plug-in modules.
If you want to write a plug-in module, follow the example of one that already exists. Name the module Test::Data::Foo, where you replace Foo with the right name. Test::Data should automatically find it.
File::Data 1.12
File::Data is a Perl module as a interface to file data. more>>
Wraps all the accessing of a file into a convenient set of calls for reading and writing data, including a simple regex interface.
Note that the file needs to exist prior to using this module!
See new()
SYNOPSIS
use strict;
use File::Data;
my $o_dat = File::Data->new(./t/example);
$o_dat->write("complete file contentsn");
$o_dat->prepend("first linen"); # line 0
$o_dat->append("original second (last) linen");
$o_dat->insert(2, "new second linen"); # inc. zero!
$o_dat->replace(line, LINE);
print $o_dat->READ;
Or, perhaps more seriously :-}
my $o_sgm = File::Data->new(./sgmlfile);
print "new SGML data: ".$o_sgm->REPLACE(
s*((?s).*)s* ,
qq| key="val" |,
) if $o_sgm;
See METHODS and EXAMPLES.
IMPORTANT
lowercase method calls return the object itself, so you can chain calls.
my $o_obj = $o_dat->read; # ! READ; # !<<less
Google::Adwords::Data 0.6.0
Google::Adwords::Data is base class for the Data modules. more>>
This module is not supposed to be used directly. Use the child data modules.
desktop-data-manager 0.8.10
desktop-data-manager includes a clipboard history for many different types of content (text, images, ...). more>>
The two applications are designed to work well together. For more details please visit my homepage.
Notes: If you find some bugs/problems with the application please contact me at einki(at)users.sourceforge.net. The Program is programmed to work in a GTK/GNOME environment but at least the basic functionalities will work in KDE too.
gnome-mime-data 2.18.0
gnome-mime-data package contains the base MIME and Application database for GNOME. more>>
It is meant to be accessed through the MIME functions in GnomeVFS.
MIME Media Types
[RFC2045,RFC2046] specifies that Content Types, Content Subtypes, Character Sets, Access Types, and conversion values for MIME mail will be assigned and listed by the IANA.
Procedures for registering Media Types can be found in [RFC4288],[RFC4289]. Additional procedures for registering media types for transfer via Real-time Transport Protocol (RTP) can be found in [RFC4855].
The following is the list of Directories of Content Types and Subtypes:
- application
- audio
- example
- image
- message
- model
- multipart
- text
- video
Sunrise Data Dictionary 1.00
Sunrise Data Dictionary is a library for hashtable storage of arbitrary data objects. more>>
Sunrise Data Dictionary library can participate in external reference counting systems or use its own built-in reference counting. It comes with a variety of hash functions and allows the use of runtime supplied hash functions via callback mechanism. The source code is well documented.
The Sunrise Data Dictionary was specifically designed for use within the Afelio and Callweaver telephony servers, the implementation focuses on performance and scalability.
Enhancements:
- This is the initial release of the full API (all header files) and a developer snapshot of the implementation.
WWW::Myspace::Data 0.13
WWW::Myspace::Data is a WWW::Myspace database interaction. more>>
SYNOPSIS
This module is the database interface for the WWW::Myspace modules. It imports methods into the callers namespace which allow the caller to bypass the loader object by calling the methods directly. This module is intended to be used as a back end for the Myspace modules, but it can also be called directly from a script if you need direct database access.
my %db = (
dsn => dbi:mysql:database_name,
user => username,
password => password,
);
# create a new object
my $data = WWW::Myspace::Data->new( $myspace, { db => %db } );
# set up a database connection
my $loader = $data->loader();
# initialize the database with Myspace login info
my $account_id = $data->set_account( $username, $password );
# now do something useful...
my $update = $data->update_friend( $friend_id );