yblagulous means poorly defined
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3537
Docbkx Maven Plugin 2.0.6
Docbkx Maven Plugin project provides a number of tools for supporting DocBook in a Maven environment. more>>
Docbkx Maven Plugin project provides a number of tools for supporting DocBook in a Maven environment. This may seem odd to you, since
1) Maven 2 is supposed to support DocBook natively, relying on Doxia, and
2) there is already another DocBook plugin at mojo.codehaus.org.
The thruth however is that DocBook support in Doxia is fairly limited, mainly because Doxia as a framework supports only a small fraction of the concepts found in DocBook. The subset of DocBook supported by Doxia is not even close to simplified DocBook.
The DocBook plugin at mojo.codehaus.org is supporting a wider range of DocBook markup, and is in fact more similar to the DocBook tools provided with this project. There are however some significant differences:
- The focus is on ease of use.
- You should not be required to install additional stuff to your hard disk in order to generate content from your DocBook sources. Simply adding a reference to the plugin in your POM should be sufficient.
- This project focuses on providing dedicated support for particular DocBook XSL stylesheet distributions. That means you can rely on the dedicated parameterization mechanism of Maven Plugins to pass in the XSLT parameters defined for a particular version and type of XSLT stylesheet.
- In the DocBook Plugin found at mojo.codehaus.org, you will be required to download a specific version of the DocBook XSL stylesheets manually. The plugins packaged contain the stylesheets as well. (In this project, a particular version of the stylesheets is closely tied to a particular version of the plugin. That you means you can always rely on the plugins documentation to know which parameters you could pass in.)
- The DocBook plugin found at mojo.codehaus.org requires you to have access to the Internet in order allow the plugin to resolve URIs. The plugins provided in this project act differently: if your DocBook sources are referening to a DTD, then you can simply add a dependency to a jar file containing the DTD and related entities, and the plugin will make sure that all references will be resolved correctly.
Enhancements:
- Support for Eclipse help files was added.
<<less1) Maven 2 is supposed to support DocBook natively, relying on Doxia, and
2) there is already another DocBook plugin at mojo.codehaus.org.
The thruth however is that DocBook support in Doxia is fairly limited, mainly because Doxia as a framework supports only a small fraction of the concepts found in DocBook. The subset of DocBook supported by Doxia is not even close to simplified DocBook.
The DocBook plugin at mojo.codehaus.org is supporting a wider range of DocBook markup, and is in fact more similar to the DocBook tools provided with this project. There are however some significant differences:
- The focus is on ease of use.
- You should not be required to install additional stuff to your hard disk in order to generate content from your DocBook sources. Simply adding a reference to the plugin in your POM should be sufficient.
- This project focuses on providing dedicated support for particular DocBook XSL stylesheet distributions. That means you can rely on the dedicated parameterization mechanism of Maven Plugins to pass in the XSLT parameters defined for a particular version and type of XSLT stylesheet.
- In the DocBook Plugin found at mojo.codehaus.org, you will be required to download a specific version of the DocBook XSL stylesheets manually. The plugins packaged contain the stylesheets as well. (In this project, a particular version of the stylesheets is closely tied to a particular version of the plugin. That you means you can always rely on the plugins documentation to know which parameters you could pass in.)
- The DocBook plugin found at mojo.codehaus.org requires you to have access to the Internet in order allow the plugin to resolve URIs. The plugins provided in this project act differently: if your DocBook sources are referening to a DTD, then you can simply add a dependency to a jar file containing the DTD and related entities, and the plugin will make sure that all references will be resolved correctly.
Enhancements:
- Support for Eclipse help files was added.
Download (1.1MB)
Added: 2007-08-01 License: The Apache License 2.0 Price:
814 downloads
IMAPEngine 0.3b
IMAPEngine provides an IMAP server which retrieves via POP3 and organizes mail in a database. more>>
IMAPEngine provides an IMAP server which retrieves via POP3 and organizes mail in a database.
IMAPEngine is an IMAP server that uses a tdbengine database structure to store all accounts, messages, and mailboxes. This means it has nearly no limits in numbers, sizes, and performance, and it uses indexes to sort/find its data.
IMAPEngine is IMAP4Rev1 compatible and also has built-in support for the ACL, ID, IDLE, and UIDPLUS extensions. It is not (yet) an MTA, but it retrieves incoming messages from different POP3 servers. An simple integrated Web interface makes account configuration easy.
Enhancements:
- corrected imapfetch.mod
- included easyserver web server and developed index.mod for web based account configuration
- created imapconfig.mod for basic account setup on command line (better use the web frontend!)
- code cleanups, restructuring and some performance tweaking
- improved the table structure: bodies are stored as BLOB now. This raises the download performance significantly on big emails (more than ~2 MB)
- added the UIDPLUS extension as defined in RFC 2359. Mozilla Mail can handle it properly
- free client dependend flags now can be used (e.g. "Junk" sign of Mozilla Mail)
- the LIST and LSUB commands are now processed as defined in the IMAP4Rev1
- smaller semaphore scopes to each command that writes to the db, so table locks use only the minimum amount of time they need
- added the NAMESPACE extension as defined in RFC 2342
- added the ACL extension as defined in RFC 2086 (the commands are all implemented, but the rights are not yet mentioned by the server)
- added the IDLE extension as defined in RFC 2177 (though not sending any information when idle!)
- added the ID extension as defined in RFC 2971
<<lessIMAPEngine is an IMAP server that uses a tdbengine database structure to store all accounts, messages, and mailboxes. This means it has nearly no limits in numbers, sizes, and performance, and it uses indexes to sort/find its data.
IMAPEngine is IMAP4Rev1 compatible and also has built-in support for the ACL, ID, IDLE, and UIDPLUS extensions. It is not (yet) an MTA, but it retrieves incoming messages from different POP3 servers. An simple integrated Web interface makes account configuration easy.
Enhancements:
- corrected imapfetch.mod
- included easyserver web server and developed index.mod for web based account configuration
- created imapconfig.mod for basic account setup on command line (better use the web frontend!)
- code cleanups, restructuring and some performance tweaking
- improved the table structure: bodies are stored as BLOB now. This raises the download performance significantly on big emails (more than ~2 MB)
- added the UIDPLUS extension as defined in RFC 2359. Mozilla Mail can handle it properly
- free client dependend flags now can be used (e.g. "Junk" sign of Mozilla Mail)
- the LIST and LSUB commands are now processed as defined in the IMAP4Rev1
- smaller semaphore scopes to each command that writes to the db, so table locks use only the minimum amount of time they need
- added the NAMESPACE extension as defined in RFC 2342
- added the ACL extension as defined in RFC 2086 (the commands are all implemented, but the rights are not yet mentioned by the server)
- added the IDLE extension as defined in RFC 2177 (though not sending any information when idle!)
- added the ID extension as defined in RFC 2971
Download (0.23MB)
Added: 2007-03-28 License: GPL (GNU General Public License) Price:
940 downloads
DBIx::XML::DataLoader 1.1b
DBIx::XML::DataLoader contains a set of modules that are meant to work together. more>>
DBIx::XML::DataLoader contains a set of modules that are meant to work together. DBIx::XML::DataLoader.pm the core for this package DB.pm which contains the sql specific stuff MapIt.pm handles parsing the xml mapping file IsDefined.pm a simple module for making sure empty data sets are defined
dataloader uses a external map(see map instructions below) file written in xml to find its instructions for handling the data contained in the xml data files that will be imported.
SYNOPSIS
use DBIx::XML::DataLoader;
my $mapper=DBIx::XML::DataLoader->new(map=>"map.xml");
my $response=$mapper->processxml(xml=>"data.xml");
<<lessdataloader uses a external map(see map instructions below) file written in xml to find its instructions for handling the data contained in the xml data files that will be imported.
SYNOPSIS
use DBIx::XML::DataLoader;
my $mapper=DBIx::XML::DataLoader->new(map=>"map.xml");
my $response=$mapper->processxml(xml=>"data.xml");
Download (0.025MB)
Added: 2006-09-13 License: Perl Artistic License Price:
1138 downloads
Essential Management
Essential Management provides a project management system for organizing and writing technical documents. more>>
Essential Management provides a project management system for organizing and writing technical documents.
Essential Management is a multi-user project management system for managing intricate and complex information. Its initial purpose was to allow software development teams to create, maintain, track, and store project requirements on a multi-project basis in a multi-user environment. It has now become more abstract in the type of data it can maintain, allowing the easy addition of new data models and other expansions. Information can be stored in any of several database management systems, and can take advantage of a networked DBMS.
The first and most important feature of the application is that data is stored in a central data repository managed by some database management server; initially PostgreSQL fills this role, but support for others are growing. The repository is fully searchable. An alternative data storage format exists in the form of a locally maintained XML file if the user wishes to use it.
One of the key features Essential Management was designed around is the ability to define and maintain relationships between requirements. Using the software requirement model as an example, our application allows users to define projects; each project is composed of zero or more root requirements, which are typically business level requirements. Each business requirement has zero or more sub-requirements, which either refine the parent business requirement or dive into the functional requirements which allow the business requirement to be achieved. This tree continues to branch and grow deeper until the most basic level that the user wishes to define is reached.
In addition the relationship between parent and child requirements, relationships can be defined between requirements not in the same branch. These relationships may have any meaning the user wishes to define and can be unidirectional or bi-directional.
Essential Management implements the concept of user level permissions, which provides a small measure of security for the projects and their requirements. Additionally, creation of and changes to requirements can be traced to the user who initiated the action.
Finally, the application provides a means to track changes made to requirements during their lifetime so it is possible to determine when a change was made, what information was changed and who edited the requirement.
<<lessEssential Management is a multi-user project management system for managing intricate and complex information. Its initial purpose was to allow software development teams to create, maintain, track, and store project requirements on a multi-project basis in a multi-user environment. It has now become more abstract in the type of data it can maintain, allowing the easy addition of new data models and other expansions. Information can be stored in any of several database management systems, and can take advantage of a networked DBMS.
The first and most important feature of the application is that data is stored in a central data repository managed by some database management server; initially PostgreSQL fills this role, but support for others are growing. The repository is fully searchable. An alternative data storage format exists in the form of a locally maintained XML file if the user wishes to use it.
One of the key features Essential Management was designed around is the ability to define and maintain relationships between requirements. Using the software requirement model as an example, our application allows users to define projects; each project is composed of zero or more root requirements, which are typically business level requirements. Each business requirement has zero or more sub-requirements, which either refine the parent business requirement or dive into the functional requirements which allow the business requirement to be achieved. This tree continues to branch and grow deeper until the most basic level that the user wishes to define is reached.
In addition the relationship between parent and child requirements, relationships can be defined between requirements not in the same branch. These relationships may have any meaning the user wishes to define and can be unidirectional or bi-directional.
Essential Management implements the concept of user level permissions, which provides a small measure of security for the projects and their requirements. Additionally, creation of and changes to requirements can be traced to the user who initiated the action.
Finally, the application provides a means to track changes made to requirements during their lifetime so it is possible to determine when a change was made, what information was changed and who edited the requirement.
Download (MB)
Added: 2007-02-09 License: BSD License Price:
993 downloads
Polygen 1.0.6
Polygen is a random sentence generator according to a grammar definition (BNF). more>>
PolyGen project is a program for generating random sentences according to a grammar definition, that is following custom syntactical and lexical rules.
Formally, it is an interpreter of a language itself designed to define languages, where to interpret means executing a source program in real time and eventually outputting its result. Here, a source program is a grammar definition.
The execution consists of the exploration of such grammar by selecting a random path, and the result is the sentence built on the way.
<<lessFormally, it is an interpreter of a language itself designed to define languages, where to interpret means executing a source program in real time and eventually outputting its result. Here, a source program is a grammar definition.
The execution consists of the exploration of such grammar by selecting a random path, and the result is the sentence built on the way.
Download (0.41MB)
Added: 2005-04-14 License: GPL (GNU General Public License) Price:
1659 downloads
GNU Radio 2.8
GNU Radio is a collection of software that when combined with minimal hardware, allows the construction of radios. more>>
GNU Radio is a collection of software that when combined with minimal hardware, allows the construction of radios where the actual waveforms transmitted and received are defined by software. What this means is that it turns the digital modulation schemes used in todays high performance wireless devices into software problems.
What is a Software Defined Radio?
Joe Mitola says, "A software radio is a radio whose channel modulation waveforms are defined in software. That is, waveforms are generated as sampled digital signals, converted from digital to analog via a wideband DAC and then possibly upconverted from IF to RF. The receiver, similarly, employs a wideband Analog to Digital Converter (ADC) that captures all of the channels of the software radio node. The receiver then extracts, downconverts and demodulates the channel waveform using software on a general purpose processor."
For our purposes, on the receive side, the idea is to get a wide band ADC as close to the antenna as is convenient, get the samples into something we can program, and then grind on them in software.
Enhancements:
- GNU Radio 2.6 includes sending and receiving data at up to 1Mbit/sec using GMSK. - Theres also support for the new USRP Flex 400 transceiver daughterboards.
- Handling of all daughterboards has been unified, so most apps will work without modification on any of them. For those of you interested in wireless networking, see especially gnuradio-examples/python/gmsk2. Weve got a framework in place to allow you to build and experiment with your own MACs. 2.6 includes the "null MAC". A carrier sense MAC is the next logical step.
<<lessWhat is a Software Defined Radio?
Joe Mitola says, "A software radio is a radio whose channel modulation waveforms are defined in software. That is, waveforms are generated as sampled digital signals, converted from digital to analog via a wideband DAC and then possibly upconverted from IF to RF. The receiver, similarly, employs a wideband Analog to Digital Converter (ADC) that captures all of the channels of the software radio node. The receiver then extracts, downconverts and demodulates the channel waveform using software on a general purpose processor."
For our purposes, on the receive side, the idea is to get a wide band ADC as close to the antenna as is convenient, get the samples into something we can program, and then grind on them in software.
Enhancements:
- GNU Radio 2.6 includes sending and receiving data at up to 1Mbit/sec using GMSK. - Theres also support for the new USRP Flex 400 transceiver daughterboards.
- Handling of all daughterboards has been unified, so most apps will work without modification on any of them. For those of you interested in wireless networking, see especially gnuradio-examples/python/gmsk2. Weve got a framework in place to allow you to build and experiment with your own MACs. 2.6 includes the "null MAC". A carrier sense MAC is the next logical step.
Download (1.0MB)
Added: 2006-06-05 License: GPL (GNU General Public License) Price:
1258 downloads
Blot Brush 0.4
Blot Brush is a brush that is reimplemented for the GIMP. more>>
It is based the blot algorithm, that is opend with the ARTemis. The Blot Bursh works fine with spatter or cloudy image.
Installation:
Do "make install" for user install.
Defined USE_TABLET turns on tablet support (XInput extension).
Defined ENABLE_NLS turns on I18N supprot.
<<lessInstallation:
Do "make install" for user install.
Defined USE_TABLET turns on tablet support (XInput extension).
Defined ENABLE_NLS turns on I18N supprot.
Download (MB)
Added: 2006-08-16 License: GPL (GNU General Public License) Price:
1166 downloads
Class::Interfaces 0.04
Class::Interfaces is a Per module for defining interface classes inline. more>>
Class::Interfaces is a Per module for defining interface classes inline.
SYNOPSIS
# define some simple interfaces
use Class::Interfaces (
Serializable => [ pack, unpack ],
Printable => [ toString ],
Iterable => [ iterator ],
Iterator => [ hasNext, next ]
);
# or some more complex ones ...
# interface can also inherit from
# other interfaces using this form
use Class::Interfaces (
BiDirectionalIterator => {
isa => Iterator,
methods => [ hasPrev, prev ]
},
ResetableIterator => {
isa => Iterator,
methods => [ reset ]
},
# we even support multiple inheritance
ResetableBiDirectionalIterator => {
isa => [ ResetableIterator, BiDirectionalIterator ]
}
);
# it is also possible to create an
# empty interface, sometimes called
# a marker interface
use Class::Interfaces (
JustAMarker => undef
);
This module provides a simple means to define abstract class interfaces, which can be used to program using the concepts of interface polymorphism.
<<lessSYNOPSIS
# define some simple interfaces
use Class::Interfaces (
Serializable => [ pack, unpack ],
Printable => [ toString ],
Iterable => [ iterator ],
Iterator => [ hasNext, next ]
);
# or some more complex ones ...
# interface can also inherit from
# other interfaces using this form
use Class::Interfaces (
BiDirectionalIterator => {
isa => Iterator,
methods => [ hasPrev, prev ]
},
ResetableIterator => {
isa => Iterator,
methods => [ reset ]
},
# we even support multiple inheritance
ResetableBiDirectionalIterator => {
isa => [ ResetableIterator, BiDirectionalIterator ]
}
);
# it is also possible to create an
# empty interface, sometimes called
# a marker interface
use Class::Interfaces (
JustAMarker => undef
);
This module provides a simple means to define abstract class interfaces, which can be used to program using the concepts of interface polymorphism.
Download (0.006MB)
Added: 2006-10-05 License: Perl Artistic License Price:
1115 downloads
myGtkMenu 1.2.1
myGtkMenu is a user-defined menu for running applications. more>>
myGtkMenu is a user-defined menu for running applications.
When myGtkMenu is executed, it reads a special text file and creates a menu. The order of the menu items, which icons are used, and the commands to be executed are specified in the text file.
<<lessWhen myGtkMenu is executed, it reads a special text file and creates a menu. The order of the menu items, which icons are used, and the commands to be executed are specified in the text file.
Download (0.051MB)
Added: 2007-03-17 License: GPL (GNU General Public License) Price:
953 downloads
Object::Meta::Plugin::Host 0.01
Object::Meta::Plugin::Host are hosts plugins that work like Object::Meta::Plugin. more>>
Object::Meta::Plugin::Host are hosts plugins that work like Object::Meta::Plugin. Can serve as a plugin if subclassed, or contains a plugin which can help it to plug.
SYNOPSIS
# if you want working examples, read basic.t in the distribution
# i dont know what kind of a synopsis would be useful for this.
my $host = new Object::Meta::Plugin::Host;
eval { $host->method() }; # should die
$host->plug($plugin); # $plugin defines method
$host->plug($another); # $another defines method and another
# $another supplied the following, since it was plugged in later
$host->method();
$host->another($argument);
$host->unplug($another);
$host->method(); # now $plugins method is used
Object::Meta::Plugin::Host is an implementation of a plugin host, as described in Object::Meta::Plugin.
The host is not just simply a merged hash. It is designed to allow various plugins to provide similar capabilities - methods with conflicting namespace. Conflicting namespaces can coexist, and take precedence over one another. A possible scenario is to have various plugins for an image processor, which all define the method "process". They are all installed, ordered as the effect should be taken out, and finally atop them all a plugin which wraps them into a pipeline is set.
When a plugins method is entered it receives, instead of the host object, a context object, particular to itself. It allows it access to its host, its sibling plugins, and so forth explicitly, while implicitly wrapping around the host, and emulating it with reordered priority - the current plugin is first in the list.
Such a model enables a dumb plugin to work quite happily with others, even those which may take its role. The only rule it needs to keep is that it accesses its data structures using $self-self>, and not $self, because $self is the context object.
A more complex plugin, aware that it may not be peerless, could explicitly ask for the default (host defined) methods it calls, instead of its own. It can request to call a method on the plugin which succeeds it or precedes it in a certain methods stack.
Additionally, by gaining access to the host object a plugin could implement a pipeline of calls quite easily, as described above. All it must do is call $self-host->stack($method)> and iterate that omitting itself.
The interface aims to be simple enough to be flexible, trying for the minimum it needs to define to be useful, and creating workarounds for the limitations this minimum imposes.
The implementation is by no means optimized. I doubt its fast, but I dont really care. Its supposed to create a nice framework for a large application, which needs to be modular.
<<lessSYNOPSIS
# if you want working examples, read basic.t in the distribution
# i dont know what kind of a synopsis would be useful for this.
my $host = new Object::Meta::Plugin::Host;
eval { $host->method() }; # should die
$host->plug($plugin); # $plugin defines method
$host->plug($another); # $another defines method and another
# $another supplied the following, since it was plugged in later
$host->method();
$host->another($argument);
$host->unplug($another);
$host->method(); # now $plugins method is used
Object::Meta::Plugin::Host is an implementation of a plugin host, as described in Object::Meta::Plugin.
The host is not just simply a merged hash. It is designed to allow various plugins to provide similar capabilities - methods with conflicting namespace. Conflicting namespaces can coexist, and take precedence over one another. A possible scenario is to have various plugins for an image processor, which all define the method "process". They are all installed, ordered as the effect should be taken out, and finally atop them all a plugin which wraps them into a pipeline is set.
When a plugins method is entered it receives, instead of the host object, a context object, particular to itself. It allows it access to its host, its sibling plugins, and so forth explicitly, while implicitly wrapping around the host, and emulating it with reordered priority - the current plugin is first in the list.
Such a model enables a dumb plugin to work quite happily with others, even those which may take its role. The only rule it needs to keep is that it accesses its data structures using $self-self>, and not $self, because $self is the context object.
A more complex plugin, aware that it may not be peerless, could explicitly ask for the default (host defined) methods it calls, instead of its own. It can request to call a method on the plugin which succeeds it or precedes it in a certain methods stack.
Additionally, by gaining access to the host object a plugin could implement a pipeline of calls quite easily, as described above. All it must do is call $self-host->stack($method)> and iterate that omitting itself.
The interface aims to be simple enough to be flexible, trying for the minimum it needs to define to be useful, and creating workarounds for the limitations this minimum imposes.
The implementation is by no means optimized. I doubt its fast, but I dont really care. Its supposed to create a nice framework for a large application, which needs to be modular.
Download (0.017MB)
Added: 2006-11-01 License: Perl Artistic License Price:
1088 downloads
Xlogmaster 1.6.1
Xlogmaster is a log files processor. more>>
The Xlogmaster allows comfortable and fast control of the complete system status by offering an easy and comfortable way to process logfiles, status-giving devices or running programs to get a certain information.
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
<<lessAll 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
Download (0.67MB)
Added: 2005-09-16 License: GPL (GNU General Public License) Price:
1499 downloads
benzo 0.3
Benzo is a blabberbot written in python. more>>
Benzo is a blabberbot written in python. His means of generating text is a Markov Chain- an algorithm that takes english text as input, and generates output (when addressed) based on statistics gathered from the input text. At least thats what its used for here.
Just a few notes about version 1.0:
1) The implementation of persistence is quite sloppy- the entire brain is loaded into memory on startup and flushed to disk at set intervals - which amounts to an eventuallly large memory footprint and a sizeable CPU hit as the brain is deserialized/serialized. Future versions will be DBM/SQL based, and not have this limitation.
2) The module interface is not cleanly defined yet- so expect cusomizations made now to break in future versions.
3) Ditto for the config file.
4) Ditto for the User DB.
If all that hasnt discouraged you, set the bot loose on your favorite IRC channel. Let him sit and learn for awhile before announcing his presence, or else hell just repeat stuff.
<<lessJust a few notes about version 1.0:
1) The implementation of persistence is quite sloppy- the entire brain is loaded into memory on startup and flushed to disk at set intervals - which amounts to an eventuallly large memory footprint and a sizeable CPU hit as the brain is deserialized/serialized. Future versions will be DBM/SQL based, and not have this limitation.
2) The module interface is not cleanly defined yet- so expect cusomizations made now to break in future versions.
3) Ditto for the config file.
4) Ditto for the User DB.
If all that hasnt discouraged you, set the bot loose on your favorite IRC channel. Let him sit and learn for awhile before announcing his presence, or else hell just repeat stuff.
Download (0.040MB)
Added: 2006-06-19 License: GPL (GNU General Public License) Price:
1225 downloads
GNU Motti 2.5.0.4
GNU Motti is a simple multiplayer networked strategy game. more>>
GNU Motti project is a simple multiplayer networked strategy game.
The objective of the game is to conquer enemy capitals by occupying and encircling their territories.
The game map is an array of square cells.
GNU Motti is a simple strategy game where you try to conquer opponents capitals by occupying and encircling their territories. It can be played by two or up to 31 players. The game has interfaces both for curses and for X. Its able to open multiple displays over network for network play.
Please note that motti is a GNU program.
This project has been somewhat poorly logged, mostly because Ive started it as a novice programmer and have neglected many things. Ive redesigned major parts of the game at least three times and used bare Xlib. Ive spent more time making this than it would really have deserved. I hope you enjoy the game.
Enhancements:
- Compatible with DESTDIR Install/Uninstall
<<lessThe objective of the game is to conquer enemy capitals by occupying and encircling their territories.
The game map is an array of square cells.
GNU Motti is a simple strategy game where you try to conquer opponents capitals by occupying and encircling their territories. It can be played by two or up to 31 players. The game has interfaces both for curses and for X. Its able to open multiple displays over network for network play.
Please note that motti is a GNU program.
This project has been somewhat poorly logged, mostly because Ive started it as a novice programmer and have neglected many things. Ive redesigned major parts of the game at least three times and used bare Xlib. Ive spent more time making this than it would really have deserved. I hope you enjoy the game.
Enhancements:
- Compatible with DESTDIR Install/Uninstall
Download (0.15MB)
Added: 2007-01-12 License: GPL (GNU General Public License) Price:
1015 downloads
The Analysis & Reconstruction Sound Engine 0.1
Analysis & Reconstruction Sound Engine is a program that analyses a sound file into a spectrogram. more>>
The Analysis & Reconstruction Sound Engine also known as ARSE, is a program that analyses a sound file into a spectrogram and is able to synthetise this spectrogram, or any other user-created image, back into a sound.
The ARSE consists in two main parts, a spectrographer with a base-2 logarithmic frequency scale, and a spectrogram synthetiser.
Unlike most spectrographers which are based on STFTs and perform the analysis by cutting the signal into small time slices to analyse these slices in the frequency domain, the ARSE is based on a filter bank followed by envelope detection, which means that the signal is cut into small frequency-domain slices, and then analysed in the time domain.
The filter bank is, as of now, made up with overlapping bandpass FIR filters defined logarithmically. Once the original signal is filtered with the filter bank, each resulting signal is sent to envelope detection.
Envelope detection in the ARSE isnt based on a Hilbert transform and peak detection, as its usually done. To achieve envelope detection, we first perform a FFT on the signal, zero-pad the beginning of the signal in the frequency domain according to a user-defined setting, then we perform an IFFT, and, now in the time domain, we turn every negative sample into a positive one, and we low-pass filter (and eventually decimate) the signal according to the same user-defined setting as we previously used.
For instance, lets say we have a signal with a sampling frequency of 44,100 Hz, and that we want to obtain an envelope for it which sampling frequency would be 100 Hz. Once we perform the FFT, we add enough zeroes in the frequency domain at the beginning of our signal so that every frequency component shifts by 50 Hz (100 Hz divided by two, it will later appear obvious why), and we perform an IFFT. Our signal now has a sampling frequency of 44,200 Hz (44,100 + 100 Hz), and the original signal which previously spanned from 0 Hz to 22,050 Hz now spans from 50 Hz to 22,100 Hz.
Now we turn every time-domain sample into its absolute value by turning every negative sample into a positive one. To perform this on a signal means that, for example, a sine wave of a certain frequency would become a signal which periodicity would be twice that frequency. Once we low-pass filter that signal to twice that frequency we obtain that signals envelope. In our case, now that we have obtained the absolute values for our signal, since the periodicity of a sine at the lowest frequency - 50 Hz - would now be 100 Hz, we only low-pass filter our signal at 100 Hz to obtain the original signals envelope. We can now decimate the signal to a sample rate of 100 Hz.
The resulting envelope for each frequency band makes the horizontal lines of the image representing the spectrogram. The amplitude of the envelopes translate linearly into intensity in the image.
The spectrogram synthetiser is based on modulation using horizontal lines of the image as envelopes. Each horizontal line is upsampled to the sampling rate of the desired final signals sampling rate, and is then modulated with, depending on the synthetisation mode chosen by the user, sines matching to the central frequency each horizontal line represents, or noise filtered through the filter bank.
Enhancements:
- Replaced fixed phase sine generation with random phase sine generation
- Changed the PRNG
- Removed the unused code
- Removed every call of nearbyint() due to compatibility issues
- Included the necessary files in order to make using ./configure && make && make install
<<lessThe ARSE consists in two main parts, a spectrographer with a base-2 logarithmic frequency scale, and a spectrogram synthetiser.
Unlike most spectrographers which are based on STFTs and perform the analysis by cutting the signal into small time slices to analyse these slices in the frequency domain, the ARSE is based on a filter bank followed by envelope detection, which means that the signal is cut into small frequency-domain slices, and then analysed in the time domain.
The filter bank is, as of now, made up with overlapping bandpass FIR filters defined logarithmically. Once the original signal is filtered with the filter bank, each resulting signal is sent to envelope detection.
Envelope detection in the ARSE isnt based on a Hilbert transform and peak detection, as its usually done. To achieve envelope detection, we first perform a FFT on the signal, zero-pad the beginning of the signal in the frequency domain according to a user-defined setting, then we perform an IFFT, and, now in the time domain, we turn every negative sample into a positive one, and we low-pass filter (and eventually decimate) the signal according to the same user-defined setting as we previously used.
For instance, lets say we have a signal with a sampling frequency of 44,100 Hz, and that we want to obtain an envelope for it which sampling frequency would be 100 Hz. Once we perform the FFT, we add enough zeroes in the frequency domain at the beginning of our signal so that every frequency component shifts by 50 Hz (100 Hz divided by two, it will later appear obvious why), and we perform an IFFT. Our signal now has a sampling frequency of 44,200 Hz (44,100 + 100 Hz), and the original signal which previously spanned from 0 Hz to 22,050 Hz now spans from 50 Hz to 22,100 Hz.
Now we turn every time-domain sample into its absolute value by turning every negative sample into a positive one. To perform this on a signal means that, for example, a sine wave of a certain frequency would become a signal which periodicity would be twice that frequency. Once we low-pass filter that signal to twice that frequency we obtain that signals envelope. In our case, now that we have obtained the absolute values for our signal, since the periodicity of a sine at the lowest frequency - 50 Hz - would now be 100 Hz, we only low-pass filter our signal at 100 Hz to obtain the original signals envelope. We can now decimate the signal to a sample rate of 100 Hz.
The resulting envelope for each frequency band makes the horizontal lines of the image representing the spectrogram. The amplitude of the envelopes translate linearly into intensity in the image.
The spectrogram synthetiser is based on modulation using horizontal lines of the image as envelopes. Each horizontal line is upsampled to the sampling rate of the desired final signals sampling rate, and is then modulated with, depending on the synthetisation mode chosen by the user, sines matching to the central frequency each horizontal line represents, or noise filtered through the filter bank.
Enhancements:
- Replaced fixed phase sine generation with random phase sine generation
- Changed the PRNG
- Removed the unused code
- Removed every call of nearbyint() due to compatibility issues
- Included the necessary files in order to make using ./configure && make && make install
Download (0.68MB)
Added: 2007-05-29 License: GPL (GNU General Public License) Price:
883 downloads
GMP compiler 1.0.0
GMP compiler tool simplifies the use of GMP, the GNU multiple precision library. more>>
GMP compiler tool simplifies the use of GMP, the GNU multiple precision library. It scans a C source file for specially marked GMPS arithmetic expressions and replaces them with plain C.
The abbreviation gmpc stands for GMP compiler, or alternatively GMPS-to-C compiler. GMPS arithmetic expressions are straightforward infix expressions which transparently support the special types mpq_t, mpz_t and mpf_t as defined by GMP. GMPS means, rather unimaginatively, `GMP script.
No dependencies are added to the resulting C source, so there is no need to include additional header files or link with special libraries other than GMP.
Invoking gmpc
To translate a .gmpc file to C source, at least the input and output files must be given. The most concise invocation would look like this:
gmpc -o foo.c foo.gmpc
This will translate foo.gmpc into foo.c.
It is highly recommended to enable all warnings with the -Wall switch:
gmpc -Wall -o foo.gmpc foo.c
Other switches can be used to change the default behaviour of gmpc. They are listed in the following sections.
Enhancements:
- Added support for C-like compound assignments, increment and decrement operators.
- Fixed an assignment precedence bug.
- Temporary variables and constants are grouped together to make generated code more readable.
- Added Doxygen comments and configuration file.
<<lessThe abbreviation gmpc stands for GMP compiler, or alternatively GMPS-to-C compiler. GMPS arithmetic expressions are straightforward infix expressions which transparently support the special types mpq_t, mpz_t and mpf_t as defined by GMP. GMPS means, rather unimaginatively, `GMP script.
No dependencies are added to the resulting C source, so there is no need to include additional header files or link with special libraries other than GMP.
Invoking gmpc
To translate a .gmpc file to C source, at least the input and output files must be given. The most concise invocation would look like this:
gmpc -o foo.c foo.gmpc
This will translate foo.gmpc into foo.c.
It is highly recommended to enable all warnings with the -Wall switch:
gmpc -Wall -o foo.gmpc foo.c
Other switches can be used to change the default behaviour of gmpc. They are listed in the following sections.
Enhancements:
- Added support for C-like compound assignments, increment and decrement operators.
- Fixed an assignment precedence bug.
- Temporary variables and constants are grouped together to make generated code more readable.
- Added Doxygen comments and configuration file.
Download (0.27MB)
Added: 2006-12-25 License: GPL (GNU General Public License) Price:
1044 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 yblagulous means poorly defined 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