current: openchallenge 2/2003, implementations
Would you like to be notified when new items are added to this category? Subscribe here.
- Hiveconf [LGPL]
Posted Jun 27, by < anonymous >
"Hiveconf is a system for storing configuration data in
key-value pairs. It works in a manner similiar to the
Windows registry and GConf. Configuration data can be
retrieved and modified using a simple API, and data is
stored using different backends. The default backend uses a
text file format that is similiar to smb.conf or Windows
This is a submission for the "Universal
Configurator" challenge. The recommendtations are not
fulfilled, though: I do not use XML, and there is no GUI
The implementation needs some more work, but I
believe that the concept might be a long-term solution to
the entire problem of "UNIX configuration".
Hiveconf homepage is http://www.lysator.liu.se/~astrand/projects/hiveconf/
candidates for openchallenge 1/2003, implementations
- CodeWorker [LGPL]
Posted Mar 31, by < codeworker at free dot fr>
CodeWorker is a scripting language (distributed under LGPL at
http://codeworker.free.fr) devoted to manipulate many aspects of generative programming as easy and intuitive as
Generative programming is a software engineering approach for producing
reusable, tailor-made, evolvable and reliable IT systems with a high level
of automation. One of the main remarkable advantages of generative programming
is about implementing application code automatically after restricting human
interventions to the essentials.
The scripting language adapts its syntax to the subject it has to handle:
- an extended-BNF syntax (declarative part of the language) for recognizing
the format of the specifications to parse,
- a procedural language for manipulating easily parse trees (the only structured type admitted by 'CodeWorker'), strings, files and directories,
- a JSP-like syntax (imperative part of the language), which facilitates the writing of template-based code generation.
Thanks to this syntax adaptation, the scripting language is able to easily:
- acquire any kind of specification of the IT system to produce (often XML
but not necessary),
- generate source code in a classical way (as Rational ROSE), managing
protected areas of text that accept hand-typed code,
- expand a source file like the class-wizard of Visual C++ (generated text is inserted at specified markers),
- translate from a format to another (LaTeX to HTML, XSL to CodeWorker, ... no limit),
- transform a source file (to instrument a source file with profiling features, ...).
These tasks are executed in a straightforward process, with no
binding to an external programming language and with no translation of requirements specification.
It avoids a heavy hybrid process, such as ANTLR -> C++/Java -> XML ->
XSL -> source files.
XSL has some limitations due to its strongly declarative nature, and
processing a non-simple generation may require a merging with a procedural
language (Java if Xt is used to do the XSL transformation, for
instance) that includes another binding.
The chapter "Getting started" offers to discover the scripting language at
- gash - gPLed audio streaming hash [GPL].
Posted Mar 3 2003, by < ryan at ryanflynn dot com >
This submission is a response to the challenge on creating a Robust Audio hash
Gash chops a wav file into chunks and outputs information
describing the relationships between neighboring chunks.
This method allows files that are not binary compatible to
produce similiar output. File-specific attributes like total
length and relative volume do not factor into the output.
This stream of relationships can be displayed in several
simple ways and stored into a file, database, etc. A second
program compares two streams looking for significant areas
of overlap and returns a score. So far I've only tested on
song data, but this method should work for any audio file,
provided a long enough sample or high enough level of
Project homepage is at http://www.parseerror.com/gash/
archive: openchallenge 3/2002, implementations
Here is the list of candidates for openchallenge 3/2002, implementations category. The winners were announced Janury 15 2003.
- RabbIT proxy [BSD license]
Posted Nov 26 2002, by < robo at khelekore dot org >
This submission is a response to the challenge on Smart HTTP Proxy.
RabbIT is a web proxy that speeds up over slow links. It can compress resources with gzip, convert images to low quality jpegs, remove background images and some advertising. RabbIT has a flexible and extensible system to handle resources based on mime type. RabbIT has a cache for the (modified and unmodified) resources. RabbIT has good HTTP/1.1 compliance with support for persistent connections (both client and server side). RabbIT supports user authentication and proxy chaining. RabbIT is written in java and should work on all java/1.1 compatible devices.
[Project homepage and downloads]
- zipproxy [GPL]
Posted Nov 21 2002, by < jvariny at pobox dot sk. >
This submission is a response to the the challenge on Smart HTTP Proxy.
The software was originally released before the challenge was posted on Openchallenge. ziproxy is a forwarding (non-caching) proxy that gzips text and HTML files, and reduces the size of images by converting them to low quality JPEGs. It is intended to increase the speed for dial-up Internet connections. Most browsers support gzipped content, so Web pages appear as normal, but as they are only a fraction of their original page size, pages are much quicker to load. Even for browsers that don't support it, hints how to overcome it using SSH port forwarding are included. Images are reduced in size by an average of one third, with only marginal visible image quality loss. It should be used with inetd/xinetd, but if you can't use them, a simple replacement "netd" is provided.
[Download: ziproxy-1.1.tar.gz] [readme.txt]
- Linux driver for Synaptics cPad [GPL]
Posted Nov 18 2002, by < rob at inpharmatica dot co dot uk >
This implementation is a solution for this challenge.
This is a driver with a user space access program for the
Synaptics cPad. the software enables the user to turn the
backlight on/off, turn the lcd on/off, and write images to
the LCD display, and enables the middle mouse button (the
last one was the reason for starting the project!). I did
not know there was a challenge until receiving an e-mail on
the subject this morning, but I shall be happy to mention
the submitter in the source code. the current (and still
improving) version is available at http://www.janerob.com/rob/ts5100/cPad.
- pGina [GPL].
Posted Nov 5 2002, by Nathan Yocom <nate at yocom dot org>
The short description: pGina is a GPL'd
replacement for the authentication portion of Windows
2000/XP . Why replace that portion of the OS? Because we
hate not having choices. So pGina uses plugins to achieve
user authentication via ANY number of means (ala LDAP, NIS,
The long description: As it stands, the
Microsoft Windows 2000 client operating system only provides
a single method of user authentication. This method calls
for the availability of a machine running the Microsoft
Windows 2000 Server operating system. While this method may
work very well in several situations, it does not work at
all in others. Should someone be looking to bring the
Windows 2000 operating system into an environment where user
authentication is currently being handled by something other
than a Windows 2000 server, it is an extremely difficult
task to allow for this single method of authentication.
For instance, should an administrator wish to use an
existing Unix server, and its existing base of users, to
authenticate access to Windows 2000 machines there are few
options. The methods employed may range from using a Windows
2000 server for authentication and having the administrator
maintain identical lists of usernames/passwords on each
server, to using Samba to emulate a Windows NT 4 Server.
However, each method has its drawbacks and limitations.
Ideally the administrator should be able to setup a standard
naming service, such as NIS (Network Information Services)
or LDAP (Lightweight Directory Access Protocol), on ANY type
of server and have all clients, regardless of OS revision,
access that single repository.
However, Microsoft does
allow for customization of its client access and
authentication methods through the interface specifications
and details of their GINA (Graphical Identification aNd
Authentication) dynamic link library. This library is a
replaceable DLL component that is loaded by the Winlogon
executable. The GINA implements the authentication policy of
the interactive logon model and is expected to perform all
identification and authentication user interactions.
Through the creation of a substitute GINA that can
dynamically load plugins, where a plugin can be created to
use ANY method of authentication, we propose that it is
possible to systematically, and simply, provide for the
authentication and login of a user via many different
methods. Thereby, we are simplifying the provided GINA
interface, and providing the skeleton code necessary to
quickly and easily implement many different methods of user
authentication. Once a plugin has been created for any
particular authentication method, it can quickly and easily
be installed on multiple machines and even provided for
other users and institutions, without the need for an
in-depth understanding of the Windows logon process or its
[Project homepage], [Downloads]
Archive: 2|2002 (old format, when looking at this, remember that visits to this site have went expontential since then)