reference implementation
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 2637
eXtensible Server Side Markup Language 1.0
eXtensible Server Side Markup Language is an XML-based language to streamline development of Web applications, etc. more>>
eXtensible Server Side Markup Language is based on XML and Struts technologies, and allows for an easy and streamlined creation of various technical and business rules with further implementation as Web services and interfaces.
It features the ability to define XML structures and ties such to actual Java code, conditional and flow processing logic, variable definition by value and reference, and logging both at class and custom component level.
<<lessIt features the ability to define XML structures and ties such to actual Java code, conditional and flow processing logic, variable definition by value and reference, and logging both at class and custom component level.
Download (0.018MB)
Added: 2005-04-03 License: Freely Distributable Price:
1672 downloads
JVending 1.3.10a
JVending is a P2P (JXTA) based mobile content provisioning system. more>>
JVending project bridges P2P networks and wireless delivery of content to mobile devices. Due to high latency of wireless connections, it is not practical to directly hook up the mobile devices to the peer network, so I have taken a different approach with JVending.
A user sets up a personal provisioning server on their PC and hooks it into the network. Through the P2P network, we create a federation of provisioning servers. The mobile devices use the federated provisioning servers as content portals.
JVending differs from P2P systems, such as Gnutella or "Project JXTA" reference implementation, in the following ways. JVending provides:
1. Catalog management
2. Device detection, which delivers the appropriate content based upon the type of browser or device
3. Web based browsing of content, so you can share with your friends on a wired or wireless network, after you have already collected the content.
4. The ability to search for and distribute packaged archives on the peer network.
5. Web links tying together the network.
6. PPG integration for pushing content to mobile devices.
For 2005 - 2006, the major goals of JVending (roughly in order of importance) are:
1. Expanding P2P support, including more in the area of wireless messaging (SMS)
2. JSR-124 compliance
3. Performance testing and monitoring capability
4. Multimedia server and J2ME support. This covers full integration between the MMS Client and the provisioning server.
Setting up the Environment
Follow these steps:
1. Make sure that you have J2SE 1.4.2 JDK installed. If not, go to http://java.sun.com/j2se/1.4.2/download.html and download and install the JDK (not JRE). I have not tested with J2SE 1.5 JDK, so it may or may not work with that version.
2. Download the jvending-standalone.zip file from the JVending project site.
3. Unzip the file into a directory of your choice, say /jvending
4. Set the JAVA_HOME environmental variable, depending on your OS. In windows, you can do this through the Control Panel/System/Advanced/Environmental Variable: JAVA_HOME =
EXAMPLE: JAVA_HOME=c:Programsj2sdk1.4.2_06
Starting JVending
1. Go to the bin directory and click on the run.bat (for windows) or run.sh for Unix.
2. The first time you start JVending, you will see a JXTA Configurator screen show up. Type in your user name and password/verify password. Click OK.
3. Wait 10 seconds for JVending to finish its startup sequence and then go to http://localhost:80/jvending/login. If you get a 404 error, wait a few more seconds and try again. Login ID/Password: admin/admin. Click "Submit Query" button. You will now see the JVending home page.
<<lessA user sets up a personal provisioning server on their PC and hooks it into the network. Through the P2P network, we create a federation of provisioning servers. The mobile devices use the federated provisioning servers as content portals.
JVending differs from P2P systems, such as Gnutella or "Project JXTA" reference implementation, in the following ways. JVending provides:
1. Catalog management
2. Device detection, which delivers the appropriate content based upon the type of browser or device
3. Web based browsing of content, so you can share with your friends on a wired or wireless network, after you have already collected the content.
4. The ability to search for and distribute packaged archives on the peer network.
5. Web links tying together the network.
6. PPG integration for pushing content to mobile devices.
For 2005 - 2006, the major goals of JVending (roughly in order of importance) are:
1. Expanding P2P support, including more in the area of wireless messaging (SMS)
2. JSR-124 compliance
3. Performance testing and monitoring capability
4. Multimedia server and J2ME support. This covers full integration between the MMS Client and the provisioning server.
Setting up the Environment
Follow these steps:
1. Make sure that you have J2SE 1.4.2 JDK installed. If not, go to http://java.sun.com/j2se/1.4.2/download.html and download and install the JDK (not JRE). I have not tested with J2SE 1.5 JDK, so it may or may not work with that version.
2. Download the jvending-standalone.zip file from the JVending project site.
3. Unzip the file into a directory of your choice, say /jvending
4. Set the JAVA_HOME environmental variable, depending on your OS. In windows, you can do this through the Control Panel/System/Advanced/Environmental Variable: JAVA_HOME =
EXAMPLE: JAVA_HOME=c:Programsj2sdk1.4.2_06
Starting JVending
1. Go to the bin directory and click on the run.bat (for windows) or run.sh for Unix.
2. The first time you start JVending, you will see a JXTA Configurator screen show up. Type in your user name and password/verify password. Click OK.
3. Wait 10 seconds for JVending to finish its startup sequence and then go to http://localhost:80/jvending/login. If you get a 404 error, wait a few more seconds and try again. Login ID/Password: admin/admin. Click "Submit Query" button. You will now see the JVending home page.
Download (18.4MB)
Added: 2005-04-20 License: LGPL (GNU Lesser General Public License) Price:
1649 downloads
Wireless Tools 27
The Wireless Tools is a set of tools allowing to manipulate the Linux Wireless Extensions. more>>
The Linux Wireless Extension and the Wireless Tools are an Open Source project sponsored by Hewlett Packard (through my contribution) since 1996, and build with the contribution of many Linux users all over the world.
The Wireless Extension (WE) is a generic API allowing a driver to expose to the user space configuration and statistics specific to common Wireless LANs. The beauty of it is that a single set of tool can support all the variations of Wireless LANs, regardless of their type (as long as the driver support Wireless Extension).
Another advantage is these parameters may be changed on the fly without restarting the driver (or Linux).
The Wireless Tools (WT) is a set of tools allowing to manipulate the Wireless Extensions. They use a textual interface and are rather crude, but aim to support the full Wireless Extension. There are many other tools you can use with Wireless Extensions, however Wireless Tools is the reference implementation.
iwconfig manipulate the basic wireless parameters
iwlist allow to initiate scanning and list frequencies, bit-rates, encryption keys...
iwspy allow to get per node link quality
iwpriv allow to manipulate the Wireless Extensions specific to a driver (private)
ifrename allow to name interfaces based on various static criteria
Most Linux distributions also have integrated Wireless Extensions support in their networking initialisation scripts, for easier boot-time configuration of wireless interfaces. They also include Wireless Tools as part of their standard packages.
Wireless configuration can also be done using the Hotplug scripts and distribution specific support, this enable the proper support of any removable wireless interface (Pcmcia, CardBus, USB...).
Any versions of the Pcmcia package offer the possibility to do wireless configuration of Pcmcia and Cardbus card through thefile wireless.opts. This allow to fully integrate wireless settings in the Pcmcia scheme mechansism. However, this method is now deprecated in favor of distribution specific methods.
Please note that the Wireless Tools (starting with version 19) supports fully IEEE 802.11 parameters and devices, support older style of devices and most proprietary protocols, and are prepared to handle HiperLan as well. More recent versions of course adds more 802.11 support.
But, unfortunately not all drivers support all these features...
<<lessThe Wireless Extension (WE) is a generic API allowing a driver to expose to the user space configuration and statistics specific to common Wireless LANs. The beauty of it is that a single set of tool can support all the variations of Wireless LANs, regardless of their type (as long as the driver support Wireless Extension).
Another advantage is these parameters may be changed on the fly without restarting the driver (or Linux).
The Wireless Tools (WT) is a set of tools allowing to manipulate the Wireless Extensions. They use a textual interface and are rather crude, but aim to support the full Wireless Extension. There are many other tools you can use with Wireless Extensions, however Wireless Tools is the reference implementation.
iwconfig manipulate the basic wireless parameters
iwlist allow to initiate scanning and list frequencies, bit-rates, encryption keys...
iwspy allow to get per node link quality
iwpriv allow to manipulate the Wireless Extensions specific to a driver (private)
ifrename allow to name interfaces based on various static criteria
Most Linux distributions also have integrated Wireless Extensions support in their networking initialisation scripts, for easier boot-time configuration of wireless interfaces. They also include Wireless Tools as part of their standard packages.
Wireless configuration can also be done using the Hotplug scripts and distribution specific support, this enable the proper support of any removable wireless interface (Pcmcia, CardBus, USB...).
Any versions of the Pcmcia package offer the possibility to do wireless configuration of Pcmcia and Cardbus card through thefile wireless.opts. This allow to fully integrate wireless settings in the Pcmcia scheme mechansism. However, this method is now deprecated in favor of distribution specific methods.
Please note that the Wireless Tools (starting with version 19) supports fully IEEE 802.11 parameters and devices, support older style of devices and most proprietary protocols, and are prepared to handle HiperLan as well. More recent versions of course adds more 802.11 support.
But, unfortunately not all drivers support all these features...
Download (0.18MB)
Added: 2005-10-18 License: GPL (GNU General Public License) Price:
1540 downloads
cdbxx 0.0.1 RC2
cdbxx is a small, STL-style C++ library for the TinyCDB implementation of Constant Database. more>>
cdbxx is a small STL style C++ library for TinyCDB implementation of Constant Database. It provides iterators, data adapters and high level interfaces for databases.
<<less Download (0.016MB)
Added: 2005-09-29 License: GPL (GNU General Public License) Price:
1485 downloads
Apache Pluto 1.0.1
Pluto is the reference implementation of the Java Portlet Specification (JSR-168). more>>
Pluto is the Reference Implementation of the Java Portlet Specfication. The current version of this specification is JSR 168.
Portlets are designed to run in the context of a portal. They are written to the Portlet API which are similar to the Servlet API.
In contrast to servlets, portlets may not do things like sending redirects or errors to browsers directly, forwarding requests or writing arbitrary markup to the output stream to assure that they don?t distract the portal web application which uses them.
Another difference compared to servlets is that portlets rely on portal specific infrastructure functions such as access to user profile information, standard interface for storing/retrieving persistent settings, getting client information, etc. Generally,
portlets are administrated more dynamically than servlets typically are.
A portlet container provides a runtime environment for portlets implemented according to the Portlet API. In this environment portlets can be instantiated, used and finally destroyed. The portlet container is not a stand-alone container like the servlet container; instead it is implemented as a thin layer on top of the servlet container and reuses the functionality provided by the servlet container.
Pluto serves as portlet container that implements the Portlet API and offers developers a working example platform from which they can test their portlets. However, its cumbersome to execute and test the portlet container without a driver, in this case, the portal.
Plutos simple portal component is built only on the portlet containers and the JSR 168s requirements. (In contrast, the more sophisticated, Jetspeed project concentrates on the portal itself rather than the portlet container, and considers requirements from other groups.)
Enhancements:
- Added Pluto 1.1 index page and basic documentation
- PLUTO 164: response contentType can change after getWriter()
- PLUTO 155: URL encoding in pluto 1.0.1-RC4 issue when using apache with jk2
- PLUTO 157: portlet.tld taglib is using jsp version 1.1. JSR168 spec requires JSP version 1.2
- PLUTO 152: Support maven deployment to a remote repository
- PLUTO 130: portlet:namespace fails inside JSTL c:set
- PLUTO-107: Admin portlet fails to add page. Hot deployment now supported.
- PLUTO-92: Deployer strips elements from web.xml (Deploy War Portlet)
<<lessPortlets are designed to run in the context of a portal. They are written to the Portlet API which are similar to the Servlet API.
In contrast to servlets, portlets may not do things like sending redirects or errors to browsers directly, forwarding requests or writing arbitrary markup to the output stream to assure that they don?t distract the portal web application which uses them.
Another difference compared to servlets is that portlets rely on portal specific infrastructure functions such as access to user profile information, standard interface for storing/retrieving persistent settings, getting client information, etc. Generally,
portlets are administrated more dynamically than servlets typically are.
A portlet container provides a runtime environment for portlets implemented according to the Portlet API. In this environment portlets can be instantiated, used and finally destroyed. The portlet container is not a stand-alone container like the servlet container; instead it is implemented as a thin layer on top of the servlet container and reuses the functionality provided by the servlet container.
Pluto serves as portlet container that implements the Portlet API and offers developers a working example platform from which they can test their portlets. However, its cumbersome to execute and test the portlet container without a driver, in this case, the portal.
Plutos simple portal component is built only on the portlet containers and the JSR 168s requirements. (In contrast, the more sophisticated, Jetspeed project concentrates on the portal itself rather than the portlet container, and considers requirements from other groups.)
Enhancements:
- Added Pluto 1.1 index page and basic documentation
- PLUTO 164: response contentType can change after getWriter()
- PLUTO 155: URL encoding in pluto 1.0.1-RC4 issue when using apache with jk2
- PLUTO 157: portlet.tld taglib is using jsp version 1.1. JSR168 spec requires JSP version 1.2
- PLUTO 152: Support maven deployment to a remote repository
- PLUTO 130: portlet:namespace fails inside JSTL c:set
- PLUTO-107: Admin portlet fails to add page. Hot deployment now supported.
- PLUTO-92: Deployer strips elements from web.xml (Deploy War Portlet)
Download (11.6MB)
Added: 2005-10-20 License: The Apache License 2.0 Price:
1471 downloads
aewm 1.3.1
aewm is a minimalist window manager for X11. more>>
aewm is a minimalist window manager for X11. It has no nifty features, but is light on resources and extremely simple in appearance.
It should eventually make a good reference implementation of the ICCCM. A few separate programs are included to handle running programs, switching between windows, etc.
aewm was based on 9wm, which has also inspired lwm, larswm, and w9wm. It has in turn inspired the following window managers:
Sapphire/aewm++ (defunct?)
alloywm
evilwm
maewm (defunct?)
Oroborus
phluid
swm
Clementine
WindowLab
YeahWM
Spook (defunct?)
wimpwm
Some other minimal WMs worth checking out are:
wm2
wmii (no relation!)
PLWM
YAWM (defunct?)
ratpoison
Anarchy
Ion
Enhancements:
- UTF-8 support was added, and various EWMH bugs were fixed.
<<lessIt should eventually make a good reference implementation of the ICCCM. A few separate programs are included to handle running programs, switching between windows, etc.
aewm was based on 9wm, which has also inspired lwm, larswm, and w9wm. It has in turn inspired the following window managers:
Sapphire/aewm++ (defunct?)
alloywm
evilwm
maewm (defunct?)
Oroborus
phluid
swm
Clementine
WindowLab
YeahWM
Spook (defunct?)
wimpwm
Some other minimal WMs worth checking out are:
wm2
wmii (no relation!)
PLWM
YAWM (defunct?)
ratpoison
Anarchy
Ion
Enhancements:
- UTF-8 support was added, and various EWMH bugs were fixed.
Download (0.049MB)
Added: 2005-10-31 License: MIT/X Consortium License Price:
1453 downloads
CATSRunner 20050922
CATSRunner is a unit testing framework. more>>
CATSRunner is a unit testing framework.
C Automated Testing System (CATS) and its associated test runner (Catsrunner) implement a unit testing framework that provides developers of C-based systems, including embedded systems, the capability to use the popular test driven development approach.
CATS supports embedded cross-platform development by working in conjunction with hardware abstraction layers. CATS also comes with a thin wrapper around arm-elf-gdbs host/target communication functions.
A reference implementation for the ARM-7 CPU core is provided.
Main features:
- Catsrunner was built from the ground up for cross-platform embedded software development.
- Its all written in ANSI C (yes, C++ can do more, but many embedded teams are using C).
- This software is actively maintained - we at Agile Rules built it for our own use.
- Its easy to add new target platforms. It builds now for PC and for ARM Evaluator7T board.
- Catsrunner supports Test Driven Development (and Behavior Driven Development).
- Catsrunner has been tested from its inception on real embedded hardware.
- Its been released under the GPL as open source software
Includes:
- CATS and Catsrunner
- Several other software modules that provide facilities often needed for embedded software development, and abstract hardware to aid easy porting to different architectures.
- A build framework capable of building all of the software in the distribution on different platforms.
- A sample application (appexample) using many of the modules as an example of how the software in the framework fits together.
- A template application (apptemplate), mostly empty, to use as a starting point for new applications added to the framework.
- Unit tests for all included modules and applications
<<lessC Automated Testing System (CATS) and its associated test runner (Catsrunner) implement a unit testing framework that provides developers of C-based systems, including embedded systems, the capability to use the popular test driven development approach.
CATS supports embedded cross-platform development by working in conjunction with hardware abstraction layers. CATS also comes with a thin wrapper around arm-elf-gdbs host/target communication functions.
A reference implementation for the ARM-7 CPU core is provided.
Main features:
- Catsrunner was built from the ground up for cross-platform embedded software development.
- Its all written in ANSI C (yes, C++ can do more, but many embedded teams are using C).
- This software is actively maintained - we at Agile Rules built it for our own use.
- Its easy to add new target platforms. It builds now for PC and for ARM Evaluator7T board.
- Catsrunner supports Test Driven Development (and Behavior Driven Development).
- Catsrunner has been tested from its inception on real embedded hardware.
- Its been released under the GPL as open source software
Includes:
- CATS and Catsrunner
- Several other software modules that provide facilities often needed for embedded software development, and abstract hardware to aid easy porting to different architectures.
- A build framework capable of building all of the software in the distribution on different platforms.
- A sample application (appexample) using many of the modules as an example of how the software in the framework fits together.
- A template application (apptemplate), mostly empty, to use as a starting point for new applications added to the framework.
- Unit tests for all included modules and applications
Download (2.2MB)
Added: 2005-12-09 License: GPL (GNU General Public License) Price:
1415 downloads
libmemory 0.0 Alpha1
libmemory library provides an implementation of M.M. Micheals Safe Memory Reclamation algorithm in C. more>>
libmemory library provides an implementation of M.M. Micheals Safe Memory Reclamation algorithm in C.
The Safe Memory Reclamation algorithm provides a convenient way to get rid of the so-called ABA problem in which a value changes from A to B back to A between reads.
If, for example, the value youre reading is a pointer and the memory to which it points is freed and re-allocated between two reads, what you do with the memory it points to in that time may result in mayhem.
The SMR algorithm prevents this by registering a "hazardous reference" to then pointer thus preventing the memory from being reclaimed while a reference exists.
The implementation is designed to fully implement the SMR algorithm without restricting the user to provide such information as the maximum number of threads used by the application or the batch size used by the algorithm.
It will run on any POSIX-compliant platform and uses the POSIX threads API for thread-local storage. It should, however, be a trivial effort to port this library to Windows.
<<lessThe Safe Memory Reclamation algorithm provides a convenient way to get rid of the so-called ABA problem in which a value changes from A to B back to A between reads.
If, for example, the value youre reading is a pointer and the memory to which it points is freed and re-allocated between two reads, what you do with the memory it points to in that time may result in mayhem.
The SMR algorithm prevents this by registering a "hazardous reference" to then pointer thus preventing the memory from being reclaimed while a reference exists.
The implementation is designed to fully implement the SMR algorithm without restricting the user to provide such information as the maximum number of threads used by the application or the batch size used by the algorithm.
It will run on any POSIX-compliant platform and uses the POSIX threads API for thread-local storage. It should, however, be a trivial effort to port this library to Windows.
Download (0.31MB)
Added: 2006-01-19 License: GPL (GNU General Public License) Price:
1374 downloads
Fast MD5 Implementation in Java 2.6.1
Fast MD5 Implementation in Java is a heavily optimized implementation of the MD5 hashing algorithm written in Java. more>>
Fast MD5 Implementation in Java is a heavily optimized implementation of the MD5 hashing algorithm written in Java.
Fast MD5 Implementation in Java includes an optional native method for even greater speed improvements.
How Fast Is It?
Short answer:Much faster than any other Java implementation that I have tested and (surprisingly) even faster than the native, non-Java MD5 implementation on some systems.
Long answer:First of all, it is important to note that the term "fast" is used here in relative terms. The implementation of the MD5 message digest algorithm available on this page is written in Java and is fast compared with other implementations written in Java, both because it is heavily optimized by itself and because there is an optional native method that makes it even faster when the platform supports it. How it compares to a sensible implementation written in a language, such as C, that is compiled directly to machine code, is heavily dependent upon how good of a job the JIT compiler in your JVM does in compiling the code or whether you are able to use the optional native method.
Enhancements:
- Martin West contributed a bug fix and some code refactoring to make all targets work out of the box in the Ant build file. Previously, the "dist" target did not work if the "docs" directory was not present.
<<lessFast MD5 Implementation in Java includes an optional native method for even greater speed improvements.
How Fast Is It?
Short answer:Much faster than any other Java implementation that I have tested and (surprisingly) even faster than the native, non-Java MD5 implementation on some systems.
Long answer:First of all, it is important to note that the term "fast" is used here in relative terms. The implementation of the MD5 message digest algorithm available on this page is written in Java and is fast compared with other implementations written in Java, both because it is heavily optimized by itself and because there is an optional native method that makes it even faster when the platform supports it. How it compares to a sensible implementation written in a language, such as C, that is compiled directly to machine code, is heavily dependent upon how good of a job the JIT compiler in your JVM does in compiling the code or whether you are able to use the optional native method.
Enhancements:
- Martin West contributed a bug fix and some code refactoring to make all targets work out of the box in the Ant build file. Previously, the "dist" target did not work if the "docs" directory was not present.
Download (0.073MB)
Added: 2006-03-06 License: LGPL (GNU Lesser General Public License) Price:
1350 downloads
nss_ldap 248
nss_ldap is an RFC 2307-compliant set of C library extensions. more>>
nss_ldap is an RFC 2307-compliant set of C library extensions.
The resolution of the entities defined in RFC 2307 is generally performed by a set of UNIX C library calls (such as getpwnam() to return the attributes of a user).
The nss_ldap module provides the means for Solaris and Linux workstations to this information (such as users, hosts, and groups) from LDAP directories.
The module is the reference implementation of RFC 2307, and has been studied by vendors such as Sun (who developed the original Name Service Switch interface).
Main features:
- Support for the RFC 2307/RFC 2307bis (including netgroups) as well as user-defined schema
- Common implementation across platforms
- Support for Kerberos and SSL authentication, integrity and privacy
- Configuration file compatibility with pam_ldap
- Bootstraps from the DNS using SRV records
- Support for AIX, glibc, IRS and ONC+ name service switches
- Support for RFC 2307bis groups (including nested groups)
- Specific Active Directory support including incremental retrieval of multi-valued attributes
- Directory-based authentication for platforms that lack PAM (AIX 4.3.3)
<<lessThe resolution of the entities defined in RFC 2307 is generally performed by a set of UNIX C library calls (such as getpwnam() to return the attributes of a user).
The nss_ldap module provides the means for Solaris and Linux workstations to this information (such as users, hosts, and groups) from LDAP directories.
The module is the reference implementation of RFC 2307, and has been studied by vendors such as Sun (who developed the original Name Service Switch interface).
Main features:
- Support for the RFC 2307/RFC 2307bis (including netgroups) as well as user-defined schema
- Common implementation across platforms
- Support for Kerberos and SSL authentication, integrity and privacy
- Configuration file compatibility with pam_ldap
- Bootstraps from the DNS using SRV records
- Support for AIX, glibc, IRS and ONC+ name service switches
- Support for RFC 2307bis groups (including nested groups)
- Specific Active Directory support including incremental retrieval of multi-valued attributes
- Directory-based authentication for platforms that lack PAM (AIX 4.3.3)
Download (0.23MB)
Added: 2006-02-15 License: LGPL (GNU Lesser General Public License) Price:
1349 downloads
x10 0.3.2
X10 is a new object-oriented, type-safe programming language for programming the next generation of high performance systems. more>>
X10 project is a new object-oriented, type-safe programming language for programming the next generation of high performance systems. X10 is designed and developed by IBM.
While developed in close contact with the designers of X10 at IBM there are significant differences in syntax and semantics between the (current) IBM prototype and language specification. Those differences arise primarily from the fact that the X10-XTC compiler attempts to implement what might be close to the (non-existant) 0.5 specification of the language, whereas the IBM reference implementation targets the 0.41 specification.
We hope that 0.5 will add operator overloading, generics and region types and thus the X10-XTC compiler is build trying to support these concepts.
Another key difference is that the current X10-XTC compiler does not support close integration of X10 code (however, Java code can be called using classes that are declared to be extern). On the technical side, the IBM compiler compiles X10 code to Java source code which is then compiled to Java bytecode by javac.
The XTC-X10 compiler produces Tucson IR which is currently interpreted by an interpreter written in Java (but is supposed to be compiled to C or native code in the future). The reason is that Tucson IR will hopefully be easier to compile and optimize compared with Java ASTs. As a result, equivalent X10 code should run slower with XTC-X10 today, but might run as fast as UPC code once we are a bit further along.
Enhancements:
- This release fixes some minor bugs in the code generator for atomic sections.
- The type checker was improved substantially and now works for simple distribution operations.
- In addition to the X10 compiler front-end and interpreter backend, a new backend that generates C code was started.
- The new C backend already supports constants, (virtual) calls, exceptions, branches, allocation, and get/put operations.
<<lessWhile developed in close contact with the designers of X10 at IBM there are significant differences in syntax and semantics between the (current) IBM prototype and language specification. Those differences arise primarily from the fact that the X10-XTC compiler attempts to implement what might be close to the (non-existant) 0.5 specification of the language, whereas the IBM reference implementation targets the 0.41 specification.
We hope that 0.5 will add operator overloading, generics and region types and thus the X10-XTC compiler is build trying to support these concepts.
Another key difference is that the current X10-XTC compiler does not support close integration of X10 code (however, Java code can be called using classes that are declared to be extern). On the technical side, the IBM compiler compiles X10 code to Java source code which is then compiled to Java bytecode by javac.
The XTC-X10 compiler produces Tucson IR which is currently interpreted by an interpreter written in Java (but is supposed to be compiled to C or native code in the future). The reason is that Tucson IR will hopefully be easier to compile and optimize compared with Java ASTs. As a result, equivalent X10 code should run slower with XTC-X10 today, but might run as fast as UPC code once we are a bit further along.
Enhancements:
- This release fixes some minor bugs in the code generator for atomic sections.
- The type checker was improved substantially and now works for simple distribution operations.
- In addition to the X10 compiler front-end and interpreter backend, a new backend that generates C code was started.
- The new C backend already supports constants, (virtual) calls, exceptions, branches, allocation, and get/put operations.
Download (8.1MB)
Added: 2006-02-22 License: GPL (GNU General Public License) Price:
1347 downloads
Buyasta 0.2
Buyasta is a MUD engine which provides a simple-to-use framework for constructing MUDs with the Python programming language. more>>
Buyasta is a MUD engine which provides a simple-to-use framework for constructing MUDs with the Python programming language.
Buyasta; an ancient Persian demon of laziness who tries to prevent people from working. He is one of the Daevas. (Encyclopedia Mythica)
Buyasta is also (yet another) MUD engine written in Python. The primary goal of this project is to provide a simple-to-use framework for constructing MUDs. Consequently, the Core library implements the bare functionality required for every multi-user environment (i.e. an engine, base objects, rooms, etc).
Why such minimalism? In my opinion, engineering something as complex as a virtual world should be a bottom up process. More often than not, implementors end up striping away most of a MUD distribution before proceeding on with actual development. With Buyasta Core, you wont have to. Just build on top of it.
Since Buyasta is more of a framework/library, a secondary goal (not secondary in priority though!) is to produce thorough API documentation and tutorials. We strive to make documentation a first class citizen of this project!
. . . Of course, I wouldnt be working on this if I didnt have my own delusions of grandeur - and my extensions to the core are also included in the source package.
Enhancements:
- This is a major update and reorganization; changes include command autocompletion, support for command permissions (and admin commands), object visibility rules, better prompt handling, a reference OLC implementation, (buyasta.ext.olc) and sample combat implementation (buyasta.ref.newbie).
<<lessBuyasta; an ancient Persian demon of laziness who tries to prevent people from working. He is one of the Daevas. (Encyclopedia Mythica)
Buyasta is also (yet another) MUD engine written in Python. The primary goal of this project is to provide a simple-to-use framework for constructing MUDs. Consequently, the Core library implements the bare functionality required for every multi-user environment (i.e. an engine, base objects, rooms, etc).
Why such minimalism? In my opinion, engineering something as complex as a virtual world should be a bottom up process. More often than not, implementors end up striping away most of a MUD distribution before proceeding on with actual development. With Buyasta Core, you wont have to. Just build on top of it.
Since Buyasta is more of a framework/library, a secondary goal (not secondary in priority though!) is to produce thorough API documentation and tutorials. We strive to make documentation a first class citizen of this project!
. . . Of course, I wouldnt be working on this if I didnt have my own delusions of grandeur - and my extensions to the core are also included in the source package.
Enhancements:
- This is a major update and reorganization; changes include command autocompletion, support for command permissions (and admin commands), object visibility rules, better prompt handling, a reference OLC implementation, (buyasta.ext.olc) and sample combat implementation (buyasta.ref.newbie).
Download (0.042MB)
Added: 2006-02-16 License: BSD License Price:
1345 downloads
cache4j 0.4
cache4j is a cache for Java objects with a simple API and fast implementation. more>>
cache4j library is a cache for Java objects with a simple API and fast implementation. It features in-memory caching, a design for a multi-threaded environment, both synchronized and blocking implementations, a choice of eviction algorithms (LFU, LRU, FIFO), and the choice of either hard or soft references for object storage.
Main features:
- in memory caching
- design for multithread environment
- two implementation: synchronized, blocking
- eviction algorithm LFU, LRU, FIFO
- for store object can use strong or soft reference
- available under the BSD license
Enhancements:
- Initial release of cache4j.
<<lessMain features:
- in memory caching
- design for multithread environment
- two implementation: synchronized, blocking
- eviction algorithm LFU, LRU, FIFO
- for store object can use strong or soft reference
- available under the BSD license
Enhancements:
- Initial release of cache4j.
Download (0.14MB)
Added: 2006-02-24 License: BSD License Price:
1339 downloads
Template Numerical Toolkit 1.26
Template Numerical Toolkit (TNT) is a collection of interfaces and reference implementations of numerical objects. more>>
Template Numerical Toolkit (TNT) is a collection of interfaces and reference implementations of numerical objects useful for scientific computing in C++.
The toolkit defines interfaces for basic data structures, such as multidimensional arrays and sparse matrices, commonly used in numerical applications. Template Numerical Toolkits goal is to provide reusable software components that address many of the portability and maintennace problems with C++ codes.
TNT provides a distinction between interfaces and implementations of TNT components. For example, there is a TNT interface for two-dimensional arrays which describes how individual elements are accessed and how certain information, such as the array dimensions, can be used in algorithms; however, there can be several implementations of such an interface: one that uses expression templates, or one that uses BLAS kernels, or another that is instrumented to provide debugging information.
By specifying only the interface, applications codes may utilize such algorithms, while giving library developers the greatest flexibility in employing optimization or portability strategies.
TNT Data Structures
- C-style arrays
- Fortran-style arrays
- Sparse Matrices
- Vector/Matrix
TNT utilities
- array I/O
- math routines (hypot(), sign(), etc.)
- Stopwatch class for timing measurements
Libraries that utilize TNT
- JAMA: a linear algebra library with QR, SVD, Cholesky and Eigenvector solvers.
- old (pre 1.0) TNT routines for LU, QR, and Eigenvalue problems
<<lessThe toolkit defines interfaces for basic data structures, such as multidimensional arrays and sparse matrices, commonly used in numerical applications. Template Numerical Toolkits goal is to provide reusable software components that address many of the portability and maintennace problems with C++ codes.
TNT provides a distinction between interfaces and implementations of TNT components. For example, there is a TNT interface for two-dimensional arrays which describes how individual elements are accessed and how certain information, such as the array dimensions, can be used in algorithms; however, there can be several implementations of such an interface: one that uses expression templates, or one that uses BLAS kernels, or another that is instrumented to provide debugging information.
By specifying only the interface, applications codes may utilize such algorithms, while giving library developers the greatest flexibility in employing optimization or portability strategies.
TNT Data Structures
- C-style arrays
- Fortran-style arrays
- Sparse Matrices
- Vector/Matrix
TNT utilities
- array I/O
- math routines (hypot(), sign(), etc.)
- Stopwatch class for timing measurements
Libraries that utilize TNT
- JAMA: a linear algebra library with QR, SVD, Cholesky and Eigenvector solvers.
- old (pre 1.0) TNT routines for LU, QR, and Eigenvalue problems
Download (0.028MB)
Added: 2006-03-30 License: Public Domain Price:
1308 downloads
Open Project Services 0.2
Open Project Services (OPS) is a project collaboration platform, integrating server components such as e-mail, calendaring. more>>
Open Project Services (OPS) is a project collaboration platform, integrating server components such as e-mail, calendaring, timesheets, documents, knowledge, etc. with standards complient clients. Open Project Services consists of a project server and a set of client extensions.
We are building a project collaboration platform. It consists of a project server that integrates with services needed within a project, e.g. e-mail, calendaring, timesheets, documents, knowledge, etc.
The project server is a Webservices hub based on Java (J2EE). The persistence layer for project information is LDAP. We use OpenLDAP now, but others should also be possible. The e-mail backend makes use of a standard IMAP server. Our reference implementation uses Courier.
We are building extensions/plugins for clients, making them OPS-enabled. We support e.g. Mozilla Thunderbird (XUL) and Squirrelmail (PHP) for e-mail clients. For the calendaring and timesheet components we have a Mozilla Sunbird extension (XUL).
In short: we are building a project collaboration environment on an OSS stack, enriching services with project information, using COTS clients/servers and open standards.
Enhancements:
- This release includes some changes to the underlying LDAP schema to make it possible to disable tasks when they are completed.
- To make use of this new feature, the Web services and the sunbird timesheet client have to be updated.
<<lessWe are building a project collaboration platform. It consists of a project server that integrates with services needed within a project, e.g. e-mail, calendaring, timesheets, documents, knowledge, etc.
The project server is a Webservices hub based on Java (J2EE). The persistence layer for project information is LDAP. We use OpenLDAP now, but others should also be possible. The e-mail backend makes use of a standard IMAP server. Our reference implementation uses Courier.
We are building extensions/plugins for clients, making them OPS-enabled. We support e.g. Mozilla Thunderbird (XUL) and Squirrelmail (PHP) for e-mail clients. For the calendaring and timesheet components we have a Mozilla Sunbird extension (XUL).
In short: we are building a project collaboration environment on an OSS stack, enriching services with project information, using COTS clients/servers and open standards.
Enhancements:
- This release includes some changes to the underlying LDAP schema to make it possible to disable tasks when they are completed.
- To make use of this new feature, the Web services and the sunbird timesheet client have to be updated.
Download (8.4MB)
Added: 2006-04-10 License: GPL (GNU General Public License) Price:
1302 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 reference implementation 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