predictive programing
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 28
Archimedes 0.0.4
GNU Archimedes is the GNU package for the design and simulation of submicron semiconductor devices. more>>
GNU Archimedes is the GNU package for the design and simulation of submicron semiconductor devices. Archimedes is a 2D Fast Monte Carlo simulator which can take into account all the relevant quantum effects, thank to the implementation of the Bohm effective potential method.
The physics and geometry of a general device is introduced by typing a simple script, which makes, in this sense, GNU Archimedes a powerfull tool for the simulation of quite general semiconductor devices.
In the present release, GNU Archimedes is able to simulate electrons and heavy holes in Silicon and GaAs (Gamma and L-valleys) devices (holes are simulated by means of a simplified MEP model), and in the next release, which is in preparation, it will be able to make simulations in 1D, 2D and 3D (this release will be delivered as soon as possible).
The Scientifical and Industrial Motivations
In today semiconductor technology, the miniaturization of devices is more and more progressing. In this context, it is easy to see that numerical simulations play an important role at every level of device manufacture. In fact, the cost of designing and physically constructing prototypes for VLSI semiconductor devices is very high and without the availability of advanced simulators the efforts for devices miniaturization would, likely, be brought to a halt. From assessing the performance of individual transistors, to circuits and systems, and, consequently, with the promise of improved device performance, industries are encouraged to keep on miniaturizing with lower manufacture costs.
But, unfortunately, such simulations are not whithout their challenges... A first consequence of device miniaturization is that simulations of submicron semicondutor devices requires advanced transport models. Because of the presence of very high and rapidly varying electric field, phenomena occur which cannot be described by means of the well-known drift-diffusion models, which do not incorporate energy as a dynamical variable.
That is why some generalization has been sought in order to obtain more physically accurate models, like energy-transport and hydrodynamical models. The energy-transport models which are implemented in commercial simulators are based on phenomenological constitutive equations for the particle flux and energy flux depending on a set of parameters which are fitted to homogeneous bulk material Monte Carlo simulations. So, this is not, certainly, a satisfactory physical description of the internal electronic dynamics in a semiconductor device.
As current device technologies quickly approach the scales whereby quantum effects due to strong confinement of carriers and direct source-drain tunneling will begin to dominate, new simulation techniques are required in order to fully understand and acurately simulate the physics behind the technology operation.
Of all the simulation methods currently employed, ensemble Monte Carlo has always been, both in the accademic and industrial community, the most vigorous and trusted method for device simulation, as it is proven to be reliable and predictive, as one can easily see from the vast bibliography on this subject.
However, as Monte Carlo relies on the particle nature of the electron (in fact we consider an electron like a biliard ball), quantum effects associated with the wave-like nature of electrons cannot fully incorporated into the actual simulators, i.e. the ensemble Monte Carlo have to be lightly (or strongly, it depends on the point of view and on the methods implemented...) modified to take into account the quantum effects, at least at a first order of approximation, which is certainly enough to take into account correctly all the relevant quantum effects present in the present-day semiconductor devices (till 2015 probably...). In order to take into account the wave-like nature of electrons we use a recently introduced quantum theory, the so-called Bohm effective potential theory.
So it is challenging and very interesting to develop such a code for 2D quantum submicron semiconductor devices. This is why I have decided to implement this code, but these are not the only motivations...
The Ethical Motivations
The very sad situation you quickly observe working in a semiconductor industry, but also in all places in which researches about semiconductor devices are made, the only codes for simulation you can find are not free and are proprietary codes.
That is a very bad situation because, at the present time, if you need to develop your own code for the purpose of simulating a device it is IMPOSSIBLE to obtain an advanced one in a short time, and, trust me, this is EXTREMELY BAD for scientific research... (Immagine if you had to re-discover the Newtonian laws every time you need them...) So, you can find a huge amount of papers describing a lot of numerical methods for simulating, in a very advanced way, semiconductor devices (even in the quantum case), but nobody will give you a code on which you can construct your own method (with the unlikely exception that at least one of the programmers is a friend of yours :) ).
Even worst, if you are a semiconductor device designer and you want to simulate "realistically" a new device, you have to pay (trust me, at very high costs!) a BINARY (just a binary and not the code!) from some well-known software industry. This binary will certainly have some bugs (because it is coded by humans which are not perfect...) and you will never have the possibility of fix them on your own. Of course, you can write to the software house and tell them that there is a bug, but, how many time do you will wait for a new release without those bugs? I dont think it will be a short time...
My impression is that, after a long research on the Web for a Free Software dealing with advanced 2D semiconductor device simulation, there was not a free code for the purpose of semiconductor devices simulation (i mean under GPL license). To be sure about it, I asked to the great Richard Stallman (by mail) if it will be worth to do a code like this and he encouraged me to code it, because there wasnt a code like this as free. So I decided to write this code..
<<lessThe physics and geometry of a general device is introduced by typing a simple script, which makes, in this sense, GNU Archimedes a powerfull tool for the simulation of quite general semiconductor devices.
In the present release, GNU Archimedes is able to simulate electrons and heavy holes in Silicon and GaAs (Gamma and L-valleys) devices (holes are simulated by means of a simplified MEP model), and in the next release, which is in preparation, it will be able to make simulations in 1D, 2D and 3D (this release will be delivered as soon as possible).
The Scientifical and Industrial Motivations
In today semiconductor technology, the miniaturization of devices is more and more progressing. In this context, it is easy to see that numerical simulations play an important role at every level of device manufacture. In fact, the cost of designing and physically constructing prototypes for VLSI semiconductor devices is very high and without the availability of advanced simulators the efforts for devices miniaturization would, likely, be brought to a halt. From assessing the performance of individual transistors, to circuits and systems, and, consequently, with the promise of improved device performance, industries are encouraged to keep on miniaturizing with lower manufacture costs.
But, unfortunately, such simulations are not whithout their challenges... A first consequence of device miniaturization is that simulations of submicron semicondutor devices requires advanced transport models. Because of the presence of very high and rapidly varying electric field, phenomena occur which cannot be described by means of the well-known drift-diffusion models, which do not incorporate energy as a dynamical variable.
That is why some generalization has been sought in order to obtain more physically accurate models, like energy-transport and hydrodynamical models. The energy-transport models which are implemented in commercial simulators are based on phenomenological constitutive equations for the particle flux and energy flux depending on a set of parameters which are fitted to homogeneous bulk material Monte Carlo simulations. So, this is not, certainly, a satisfactory physical description of the internal electronic dynamics in a semiconductor device.
As current device technologies quickly approach the scales whereby quantum effects due to strong confinement of carriers and direct source-drain tunneling will begin to dominate, new simulation techniques are required in order to fully understand and acurately simulate the physics behind the technology operation.
Of all the simulation methods currently employed, ensemble Monte Carlo has always been, both in the accademic and industrial community, the most vigorous and trusted method for device simulation, as it is proven to be reliable and predictive, as one can easily see from the vast bibliography on this subject.
However, as Monte Carlo relies on the particle nature of the electron (in fact we consider an electron like a biliard ball), quantum effects associated with the wave-like nature of electrons cannot fully incorporated into the actual simulators, i.e. the ensemble Monte Carlo have to be lightly (or strongly, it depends on the point of view and on the methods implemented...) modified to take into account the quantum effects, at least at a first order of approximation, which is certainly enough to take into account correctly all the relevant quantum effects present in the present-day semiconductor devices (till 2015 probably...). In order to take into account the wave-like nature of electrons we use a recently introduced quantum theory, the so-called Bohm effective potential theory.
So it is challenging and very interesting to develop such a code for 2D quantum submicron semiconductor devices. This is why I have decided to implement this code, but these are not the only motivations...
The Ethical Motivations
The very sad situation you quickly observe working in a semiconductor industry, but also in all places in which researches about semiconductor devices are made, the only codes for simulation you can find are not free and are proprietary codes.
That is a very bad situation because, at the present time, if you need to develop your own code for the purpose of simulating a device it is IMPOSSIBLE to obtain an advanced one in a short time, and, trust me, this is EXTREMELY BAD for scientific research... (Immagine if you had to re-discover the Newtonian laws every time you need them...) So, you can find a huge amount of papers describing a lot of numerical methods for simulating, in a very advanced way, semiconductor devices (even in the quantum case), but nobody will give you a code on which you can construct your own method (with the unlikely exception that at least one of the programmers is a friend of yours :) ).
Even worst, if you are a semiconductor device designer and you want to simulate "realistically" a new device, you have to pay (trust me, at very high costs!) a BINARY (just a binary and not the code!) from some well-known software industry. This binary will certainly have some bugs (because it is coded by humans which are not perfect...) and you will never have the possibility of fix them on your own. Of course, you can write to the software house and tell them that there is a bug, but, how many time do you will wait for a new release without those bugs? I dont think it will be a short time...
My impression is that, after a long research on the Web for a Free Software dealing with advanced 2D semiconductor device simulation, there was not a free code for the purpose of semiconductor devices simulation (i mean under GPL license). To be sure about it, I asked to the great Richard Stallman (by mail) if it will be worth to do a code like this and he encouraged me to code it, because there wasnt a code like this as free. So I decided to write this code..
Download (0.57MB)
Added: 2006-06-07 License: GPL (GNU General Public License) Price:
712 downloads
Python rope 0.6.1
Python rope is a Python IDE. more>>
rope is a Python IDE. Python ropes main goal is to provide features like auto-completion, refactorings, content assistance, and outlines.
Refactoring: In recent years refactoring has become a basic task of everyday programing, specially in java community. In the agile programing methodologies, like Extreme Programing, Refactoring is one of the core practices.
Some IDEs support some basic refactorings like PyDev (which uses bicycle repair man). These IDEs have a limited set of refactorings and fail when doing refactorings that need to know the type of objects in the source code (specially for relatively large projects). rope tries to provide a rich set of refactorings. Some of the refactorings require type inferencing which is described later.
Auto Completion: One of the basic features of modern IDEs is the availability of auto-completion. Some Python IDEs have auto-completion support but in a limited form. Since the type of many variables cannot be deduced from simple analysis of the source code. Auto-completing modules names, class names, static methods, class methods, function names and variable names are easy. But auto-completing the methods and attributes of an object is hard. Because the IDE needs to know the type of the object that cannot be achieved easily most of the time in dynamic languages. rope uses Type Inferencing algorithms to solve this problem.
Type Inferencing: One disadvantage of dynamic languages like python is that you cannot know the type of variables by a simple analysis of program source code most of the time. Knowing the type of variables is very essential for providing many of the refactorings and auto-completions. rope will use type inferencing to overcome this problem.
Static type inferencing uses program source code to guess the type of objects. But type inferencing python programs is very hard. There have been some attempts though not very successful (examples: psycho: only str and int types, StarKiller: wasnt released and ShedSkin: good but limited). They where mostly directed at speeding up python programs by transforming its code to other typed languages rather than building IDEs. Such algorithms might be helpful.
There is another approach toward type inferencing. That is the analysis of running programs. This dynamic approach records the types variables are assigned to during the program execution. Although this approach is a lot easier to implement than the alternative, it is limited. Only the parts of the program that are executed are analyzed. If developers write unit tests and use test driven development this approach works very well.
<<lessRefactoring: In recent years refactoring has become a basic task of everyday programing, specially in java community. In the agile programing methodologies, like Extreme Programing, Refactoring is one of the core practices.
Some IDEs support some basic refactorings like PyDev (which uses bicycle repair man). These IDEs have a limited set of refactorings and fail when doing refactorings that need to know the type of objects in the source code (specially for relatively large projects). rope tries to provide a rich set of refactorings. Some of the refactorings require type inferencing which is described later.
Auto Completion: One of the basic features of modern IDEs is the availability of auto-completion. Some Python IDEs have auto-completion support but in a limited form. Since the type of many variables cannot be deduced from simple analysis of the source code. Auto-completing modules names, class names, static methods, class methods, function names and variable names are easy. But auto-completing the methods and attributes of an object is hard. Because the IDE needs to know the type of the object that cannot be achieved easily most of the time in dynamic languages. rope uses Type Inferencing algorithms to solve this problem.
Type Inferencing: One disadvantage of dynamic languages like python is that you cannot know the type of variables by a simple analysis of program source code most of the time. Knowing the type of variables is very essential for providing many of the refactorings and auto-completions. rope will use type inferencing to overcome this problem.
Static type inferencing uses program source code to guess the type of objects. But type inferencing python programs is very hard. There have been some attempts though not very successful (examples: psycho: only str and int types, StarKiller: wasnt released and ShedSkin: good but limited). They where mostly directed at speeding up python programs by transforming its code to other typed languages rather than building IDEs. Such algorithms might be helpful.
There is another approach toward type inferencing. That is the analysis of running programs. This dynamic approach records the types variables are assigned to during the program execution. Although this approach is a lot easier to implement than the alternative, it is limited. Only the parts of the program that are executed are analyzed. If developers write unit tests and use test driven development this approach works very well.
Download (MB)
Added: 2007-08-20 License: GPL (GNU General Public License) Price:
797 downloads
KXplayer 0.2 pre1
KXplayer is a very simple media player, based on xine. more>>
KXplayer is a very simple media player, based on xine. Its my hobby-project - just a way to get a better knowledge of KDEs internals.
Besides I wanted to learn programming C++ and since I believe the best way to learn programing is to write a program, I just made my mind to write a multimedia player.
Since it is a player, this word had to be in present in the title. The K and X appered there because of KDE (interface) and XINE (backend).
I took the decision to write a player because I needed one. I needed a good media player for KDE (something like XMMS with KDE inderface), which would be working as reliably as possible.
At present my PC is a 750MHz Duron with 128MB RAM and its almost imposible to work in OpenOffice.org and listen to MP3/OGG at the same time. Running XMMS and OpenOffice 1.x together on my Mandrake results in sound fragmentation.
For some time Ive been using boombox (you can find it in kde-apps). It is based on xine and I found it working better than xmms - almost no fragmentation. Unfortunately boomboxs interface is a bit strange (IMHO) and its not saving the equalizer settings (very annoying).
<<lessBesides I wanted to learn programming C++ and since I believe the best way to learn programing is to write a program, I just made my mind to write a multimedia player.
Since it is a player, this word had to be in present in the title. The K and X appered there because of KDE (interface) and XINE (backend).
I took the decision to write a player because I needed one. I needed a good media player for KDE (something like XMMS with KDE inderface), which would be working as reliably as possible.
At present my PC is a 750MHz Duron with 128MB RAM and its almost imposible to work in OpenOffice.org and listen to MP3/OGG at the same time. Running XMMS and OpenOffice 1.x together on my Mandrake results in sound fragmentation.
For some time Ive been using boombox (you can find it in kde-apps). It is based on xine and I found it working better than xmms - almost no fragmentation. Unfortunately boomboxs interface is a bit strange (IMHO) and its not saving the equalizer settings (very annoying).
Download (0.57MB)
Added: 2005-06-14 License: GPL (GNU General Public License) Price:
1595 downloads
astGUIclient 2.0.3
astGUIclient is a GUI client application for the Asterisk open-source PBX. more>>
astGUIclient is a GUI client application for the Asterisk open-source PBX.
This is a suite of programs that are designed to interact with the Asterisk Open-Source PBX Phone system at a client computer level to extend the functionality of your phone and system.
The suite of software is designed to work with an Asterisk system that has Zap(T1/E1/PSTN),IAX or SIP trunks and SIP/IAX/Zap phones.
The main GUI application, astGUIclient, is a set of PHP web-based scripts utilizing Javascript and XMLHTTPRequest functions that work through a browser to give real-time information and functionality with nothing more than an internet browser on the client computer.
Another component included with the astGUIclient package is the VICIDIAL auto-dialer. This is a list dialer(another real-time web-client) that can be added to Asterisk and is highly configurable with detailed logging. VICIDIAL can dial one-call-at-a-time or you can put it in auto-dial mode and it acts as a predictive dialer. VICIDIAL also can function as an ACD for inbound calls or for Closer calls coming from VICIDIAL fronters and even allows for remote agents that may only have a phone.
The software suite also includes a from-scratch software installation document, full English and Spanish versions of the web-clients and admin pages, and the Asterisk Central Queue System(ACQS) which allows for optimized and streamlined Asterisk integration.
This group of applications is designed to run on top of just about any version of Asterisk so no messing around with the Asterisk source code is necessary. For more information see the system requirements. astGUIclient is not an Asterisk configuration utility, it is an end-user Graphical User Interface.
All astGUIclient software elements are distributed freely through the GPL with no warranty.
Main features:
- Grabs live call info from a DB updated every second
- Displays live status of users phones and Zap/IAX/SIP/Local channels
- Allows calls to be placed from GUI and directed to phone
- Allows intrasystem calls at the click of a button
- Allows call recording at the click of a button
- Allows conference calling of up to 6 channels through GUI
- Administrative Hangup of any live Zap/IAX/SIP/Local channel
- Administrative Hijack of any live Zap/IAX/SIP/Local channel
- Administrative switch user function
- Call Parking sends calls to park ext and then redirects to phone ext
- CallerID popup with buttons to open custom web pages
- Voicemail display and button to go right to check voicemail
- Allows Blind listening of calls on Zap channels
- Allows Blind transfers of calls to specific voicemail boxes
- Allows Blind transfers of calls to intrasystem extensions
- Allows Blind transfers of calls to external numbers
Additional Features available only in the web version:
- More than 6 channels in the conference room
- Send to Voicemail directly from the inbound call popup window
- All client phone connections are shown not just the first
- Allows transfers to conferences
- Call parking with callerID
<<lessThis is a suite of programs that are designed to interact with the Asterisk Open-Source PBX Phone system at a client computer level to extend the functionality of your phone and system.
The suite of software is designed to work with an Asterisk system that has Zap(T1/E1/PSTN),IAX or SIP trunks and SIP/IAX/Zap phones.
The main GUI application, astGUIclient, is a set of PHP web-based scripts utilizing Javascript and XMLHTTPRequest functions that work through a browser to give real-time information and functionality with nothing more than an internet browser on the client computer.
Another component included with the astGUIclient package is the VICIDIAL auto-dialer. This is a list dialer(another real-time web-client) that can be added to Asterisk and is highly configurable with detailed logging. VICIDIAL can dial one-call-at-a-time or you can put it in auto-dial mode and it acts as a predictive dialer. VICIDIAL also can function as an ACD for inbound calls or for Closer calls coming from VICIDIAL fronters and even allows for remote agents that may only have a phone.
The software suite also includes a from-scratch software installation document, full English and Spanish versions of the web-clients and admin pages, and the Asterisk Central Queue System(ACQS) which allows for optimized and streamlined Asterisk integration.
This group of applications is designed to run on top of just about any version of Asterisk so no messing around with the Asterisk source code is necessary. For more information see the system requirements. astGUIclient is not an Asterisk configuration utility, it is an end-user Graphical User Interface.
All astGUIclient software elements are distributed freely through the GPL with no warranty.
Main features:
- Grabs live call info from a DB updated every second
- Displays live status of users phones and Zap/IAX/SIP/Local channels
- Allows calls to be placed from GUI and directed to phone
- Allows intrasystem calls at the click of a button
- Allows call recording at the click of a button
- Allows conference calling of up to 6 channels through GUI
- Administrative Hangup of any live Zap/IAX/SIP/Local channel
- Administrative Hijack of any live Zap/IAX/SIP/Local channel
- Administrative switch user function
- Call Parking sends calls to park ext and then redirects to phone ext
- CallerID popup with buttons to open custom web pages
- Voicemail display and button to go right to check voicemail
- Allows Blind listening of calls on Zap channels
- Allows Blind transfers of calls to specific voicemail boxes
- Allows Blind transfers of calls to intrasystem extensions
- Allows Blind transfers of calls to external numbers
Additional Features available only in the web version:
- More than 6 channels in the conference room
- Send to Voicemail directly from the inbound call popup window
- All client phone connections are shown not just the first
- Allows transfers to conferences
- Call parking with callerID
Download (2.3MB)
Added: 2007-04-27 License: GPL (GNU General Public License) Price:
563 downloads
Aeromys 0.5.0
Aeromys is a webmail application designed for extremely fast access to email through the web. more>>
Aeromys is a webmail application designed for extremely fast access to email through the web. An interesting feature of the aplication is that it caches the messages from the server before user requested it.
I had the idea for Aeromys several years ago when I was thinking about how PHP was essentially an inappropriate technology for writing a web application. I like to make the distinction between a web site, and a web application. A web site is what you are looking at right now, it displays information and can be navigated. It is by nature in page-form. However, an application is different. It takes much more processing and more overhead. This is the problem I saw with most web applications written in PHP. They were slow, not because of a flaw in their design or poor implementation, but simply because of the nature of HTTP and PHP.
As I got to thinking about it, I realized that the application server model is much more appropriate. Application servers have been in use for quite a while, they are not a new or novel concept. However, as Ill show later, some of the things Im trying to do with Aeromys are new to the webmail domain, and are pretty exciting.
Another inherent problem with using PHP for web applications is that there is a lot of down time. PHP can only run after a user has requested a page. That is, Apache will spawn the PHP process, parse the PHP script, and execute it. All this time, the user is waiting on the other end. Delays of even a second are noticed. In a webmail application, these kind of delays are common because the PHP process must connect out to the IMAP server, which takes time.
Enter Aeromys. Aeromys has a webmail daemon (webmaild) that is constantly running in the background. This daemon keeps track of the users who have logged into the system and keeps their IMAP connections alive between page loads. Also, while the user is reading his or her email, this daemon takes advantage of the down time and pre-fetches information that it thinks will be requested for the next page load. This is what I call "predictive caching." When the user makes the next page request, hopefully the information required for building that page will have already been cached and can be displayed instantly.
This semester (Spring 2005), I am working on Aeromys as an independant study project under Dr. Peter Wurman at North Carolina State University in Raleigh, NC. It is my hope to continue this work on through as my masters thesis and possibly a doctoral dissertation. So I have a personal vested interest in this project.
Enhancements:
- Added basic sorting method
- Switched back-end libraries from c-client to libEtPan
- Improved interactive mode
- Improved logging and debugging capabilities
- Fixed several crash bugs
<<lessI had the idea for Aeromys several years ago when I was thinking about how PHP was essentially an inappropriate technology for writing a web application. I like to make the distinction between a web site, and a web application. A web site is what you are looking at right now, it displays information and can be navigated. It is by nature in page-form. However, an application is different. It takes much more processing and more overhead. This is the problem I saw with most web applications written in PHP. They were slow, not because of a flaw in their design or poor implementation, but simply because of the nature of HTTP and PHP.
As I got to thinking about it, I realized that the application server model is much more appropriate. Application servers have been in use for quite a while, they are not a new or novel concept. However, as Ill show later, some of the things Im trying to do with Aeromys are new to the webmail domain, and are pretty exciting.
Another inherent problem with using PHP for web applications is that there is a lot of down time. PHP can only run after a user has requested a page. That is, Apache will spawn the PHP process, parse the PHP script, and execute it. All this time, the user is waiting on the other end. Delays of even a second are noticed. In a webmail application, these kind of delays are common because the PHP process must connect out to the IMAP server, which takes time.
Enter Aeromys. Aeromys has a webmail daemon (webmaild) that is constantly running in the background. This daemon keeps track of the users who have logged into the system and keeps their IMAP connections alive between page loads. Also, while the user is reading his or her email, this daemon takes advantage of the down time and pre-fetches information that it thinks will be requested for the next page load. This is what I call "predictive caching." When the user makes the next page request, hopefully the information required for building that page will have already been cached and can be displayed instantly.
This semester (Spring 2005), I am working on Aeromys as an independant study project under Dr. Peter Wurman at North Carolina State University in Raleigh, NC. It is my hope to continue this work on through as my masters thesis and possibly a doctoral dissertation. So I have a personal vested interest in this project.
Enhancements:
- Added basic sorting method
- Switched back-end libraries from c-client to libEtPan
- Improved interactive mode
- Improved logging and debugging capabilities
- Fixed several crash bugs
Download (0.010MB)
Added: 2006-06-09 License: GPL (GNU General Public License) Price:
1233 downloads
VICS-II 0.92.6
VICS-II project is the next generation of VICS, which was originally developed by Fujio Izumi and Ruben A. more>>
VICS-II project is the next generation of VICS, which was originally developed by Fujio Izumi and Ruben A. Dilanian as a part of VENUS. VENUS stands for Visualization of Electron/NUclear densities and Structures.
They started VENUS project in mid 2001. Although basic features were almost completed when I first knew about VENUS at the end of 2003, early version of VICS/VEND had serious performance issues and could not run well on my PC. So I started checking the sources and tried to fix it.
I committed some fixes to them but could not fix all issues because some of them are originated in programing model and some are originated in toolkit itself. At the end of June 2004, one of the main developer Dilanian leaved the project and both VICS and VEND became unlikely to continue its progress.
Then I decided to create new programs from scratch using some of original code and new toolkit called wxWidgets.
VICS-II runs on Windows, Mac OS X, Linux, and is contributed free of charge for non-commercial users.
The VENUS package comprises four independent programs:
- VICS: VIsualization of Crystal Structures
- VEND: Visualization of Electron/Nuclear Densities
- PRIMA: PRactice Iterative MEM Analyses
- ALBA: After Le Bail Analysis
<<lessThey started VENUS project in mid 2001. Although basic features were almost completed when I first knew about VENUS at the end of 2003, early version of VICS/VEND had serious performance issues and could not run well on my PC. So I started checking the sources and tried to fix it.
I committed some fixes to them but could not fix all issues because some of them are originated in programing model and some are originated in toolkit itself. At the end of June 2004, one of the main developer Dilanian leaved the project and both VICS and VEND became unlikely to continue its progress.
Then I decided to create new programs from scratch using some of original code and new toolkit called wxWidgets.
VICS-II runs on Windows, Mac OS X, Linux, and is contributed free of charge for non-commercial users.
The VENUS package comprises four independent programs:
- VICS: VIsualization of Crystal Structures
- VEND: Visualization of Electron/Nuclear Densities
- PRIMA: PRactice Iterative MEM Analyses
- ALBA: After Le Bail Analysis
Download (2.0MB)
Added: 2006-08-11 License: Free for non-commercial use Price:
1174 downloads
JGachine 0.1.0
JGachine project is a Java game machine/engine/browser. more>>
JGachine project is a Java game machine/engine/browser.
JGachine is a networked game engine for 2D multi-player (networked) games.
It is written in Java and C++.
The games themselves are written in pure Java and can be loaded via the network.
Main features:
- easy game programing for beginners
- a game machine/engine/browser
- one client for multiple games
- you only write the game server (though the server may send bytecode to the client)
- secure client (though executing bytecode from the server
- writing multiplayer networked games within 2 hours
- portable
- try to allow output device independent games
- device independent coordinates
- help with different/changing aspect ratios
<<lessJGachine is a networked game engine for 2D multi-player (networked) games.
It is written in Java and C++.
The games themselves are written in pure Java and can be loaded via the network.
Main features:
- easy game programing for beginners
- a game machine/engine/browser
- one client for multiple games
- you only write the game server (though the server may send bytecode to the client)
- secure client (though executing bytecode from the server
- writing multiplayer networked games within 2 hours
- portable
- try to allow output device independent games
- device independent coordinates
- help with different/changing aspect ratios
Download (0.41MB)
Added: 2006-10-25 License: GPL (GNU General Public License) Price:
1094 downloads
getID3() 2.0.0b4
getID3() is a PHP4 script that extracts useful information from MP3s & other multimedia file formats. more>>
getID3() is a PHP4 script that extracts useful information from MP3s & other multimedia file formats:
Tag formats:
- ID3v1 (v1.0 & v1.1)
- ID3v2 (v2.2, v2.3 & v2.4)
- APE tags (v1 & v2)
- (Ogg) VorbisComment
- Lyrics3 (v1 & v2)
Lossy Audio-only formats:
- MP3, MP2, MP1 (MPEG-1, layer III/II/I audio, including Fraunhofer, Xing and LAME VBR/CBR headers)
- Ogg Vorbis
- Musepack / MPEGplus
- AAC & MP4
- AC-3
- RealAudio
- VQF
- Speex
Lossless Audio-only formats:
- WAV (including extended chunks such as BWF and CART)
- AIFF (Audio Interchange File Format)
- Monkeys Audio
- FLAC & OggFLAC
- LA (Lossless Audio)
- OptimFROG
- WavPack
- TTA
- LPAC (Lossless Predictive Audio Compressor)
- Bonk
- LiteWave
- Shorten
- RKAU
- Apple Lossless Audio Codec
- RealAudio Lossless
- CD-audio (*.cda)
- NeXT/Sun .au
- Creative .voc
- AVR (Audio Visual Research)
- MIDI
Audio-Video formats:
- AVI
- ASF (ASF, Windows Media Audio, Windows Media Video)
- MPEG-1 & MPEG-2
- Quicktime
- RealVideo
- NSV (Nullsoft Streaming Video)
Graphic formats:
- JPG
- PNG
- GIF
- BMP (Windows & OS/2)
- TIFF
- SWF (Flash)
- PhotoCD
Data formats:
- ZIP
- TAR
- GZIP
- ISO 9660 (CD-ROM image)
- SZIP
getID3() can write:
- ID3v1 (v1 & v1.1)
- ID3v2 (v2.3, v2.4)
- APE (v2)
- Ogg Vorbis comments
- FLAC comments
Whats New in 1.7.7 Stable Release:
- All 1.x bugfixes have been ported from getID3() 1.7.2 to 1.7.7
<<lessTag formats:
- ID3v1 (v1.0 & v1.1)
- ID3v2 (v2.2, v2.3 & v2.4)
- APE tags (v1 & v2)
- (Ogg) VorbisComment
- Lyrics3 (v1 & v2)
Lossy Audio-only formats:
- MP3, MP2, MP1 (MPEG-1, layer III/II/I audio, including Fraunhofer, Xing and LAME VBR/CBR headers)
- Ogg Vorbis
- Musepack / MPEGplus
- AAC & MP4
- AC-3
- RealAudio
- VQF
- Speex
Lossless Audio-only formats:
- WAV (including extended chunks such as BWF and CART)
- AIFF (Audio Interchange File Format)
- Monkeys Audio
- FLAC & OggFLAC
- LA (Lossless Audio)
- OptimFROG
- WavPack
- TTA
- LPAC (Lossless Predictive Audio Compressor)
- Bonk
- LiteWave
- Shorten
- RKAU
- Apple Lossless Audio Codec
- RealAudio Lossless
- CD-audio (*.cda)
- NeXT/Sun .au
- Creative .voc
- AVR (Audio Visual Research)
- MIDI
Audio-Video formats:
- AVI
- ASF (ASF, Windows Media Audio, Windows Media Video)
- MPEG-1 & MPEG-2
- Quicktime
- RealVideo
- NSV (Nullsoft Streaming Video)
Graphic formats:
- JPG
- PNG
- GIF
- BMP (Windows & OS/2)
- TIFF
- SWF (Flash)
- PhotoCD
Data formats:
- ZIP
- TAR
- GZIP
- ISO 9660 (CD-ROM image)
- SZIP
getID3() can write:
- ID3v1 (v1 & v1.1)
- ID3v2 (v2.3, v2.4)
- APE (v2)
- Ogg Vorbis comments
- FLAC comments
Whats New in 1.7.7 Stable Release:
- All 1.x bugfixes have been ported from getID3() 1.7.2 to 1.7.7
Download (0.35MB)
Added: 2007-02-13 License: GPL (GNU General Public License) Price:
987 downloads
Audio::Data 1.029
Audio::Data is a module for representing audio data to perl. more>>
Audio::Data is a module for representing audio data to perl.
SYNOPSIS
use Audio::Data;
my $audio = Audio::Data->new(rate => , ...);
$audio->method(...)
$audio OP ...
Audio::Data represents audio data to perl in a fairly compact and efficient manner using C via XS to hold data as a C array of float values. The use of float avoids many issues with dynamic range, and typical float has 24-bit mantissa so quantization noise should be acceptable. Many machines have floating point hardware these days, and in such cases operations on float should be as fast or faster than some kind of "scaled integer".
Nominally data is expected to be between +1.0 and -1.0 - although only code which interacts with outside world (reading/writing files or devices) really cares.
It can also represent elements (samples) which are "complex numbers" which simplifies many Digital Signal Processing methods.
Methods
The interface is object-oriented, and provides the methods below.
$audio = Audio::Data->new([method => value ...])
The "constructor" - takes a list of method/value pairs and calls $audio->method(value) on the object in order. Typically first "method" will be rate to set sampling rate of the object.
$rate = $audio->rate
Get sampling rate of object.
$audio->rate($newrate)
Set sampling rate of the object. If object contains existing data it is re-sampled to the new rate. (Code to do this was derived from a now dated version of sox.)
$audio->comment($string)
Sets simple string comment associated with data.
$string = $audio->comment
Get the comment
$time = $audio->duration
Return duration of object (in seconds).
$time = $audio->samples
Return number of samples in the object.
@data = $audio->data
Return data as list of values - not recommended for large data.
$audio->data(@data)
Sets elements from @data.
$audio->length($N)
Set number of samples to $N - tuncating or padding with zeros (silence).
($max,$min) = $audio->bounds([$start_time[,$end_time]])
Returns a list of two values representing the limits of the values between the two times if $end_time isnt specified it defaults to the duration of the object, and if start time isnt specified it defaults to zero.
$copy = $audio->clone
Creates copy of data carrying over sample rate and complex-ness of data.
$slice = $audio->timerange($start_time,$end_time);
Returns a time-slice between specified times.
$audio->Load($fh)
Reads Sun/NeXT .au data from the perl file handle (which should have binmode() applied to it.)
This will eventually change - to allow it to load other formats and perhaps to return list of Audio::Data objects to represnt multiple channels (e.g. stereo).
$audio->Save($fh[,$comment])
Write a Sun/NeXT .au file to perl file handle. $comment if specified is used as the comment.
$audio->tone($freq,$dur,$amp);
Append a sinusoidal tone of specified freqency (in Hz) and duration (in seconds), and peak amplitude $amp.
$audio->silence($dur);
Append a period of 0 value of specified duration.
$audio->noise($dur,$amp);
Append burst of (white) noise of specified duration and peak amplitude.
$window = $audio->hamming($SIZE,$start_sample[,$k])
Returns a "raised cosine window" sample of $SIZE samples starting at specified sample. If $k is specified it overrides the default value of 0.46 (e.g. a value of 0.5 would give a Hanning window as opposed to a Hamming window.)
windowed = ((1.0-k)+k*cos(x*PI))
$freq = $audio->fft($SIZE)
$time = $freq->ifft($SIZE);
Perform a Fast Fourier Transform (or its inverse). (Note that in general result of these methods have complex numbers as the elements. $SIZE should be a power-of-two (if it isnt next larger power of two is used). Data is padded with zeros as necessary to get to $SIZE samples.
@values = $audio->amplitude([$N[,$count]])
Return values of amplitude for sample $N..$N+$count inclusive. if $N is not specified it defaults to zero. If $count is not specified it defaults to 1 for scalar context and rest-of-data in array context.
@values = $audio->dB([$N[,$count]])
Return amplitude - in deci-Bells. (0dB is 1/2**15 i.e. least detectable value to 16-bit device.) Defaults as for amplitude.
@values = $audio->phase([$N [,$count]])
Return Phase - (if data are real returns 0). Defaults as for amplitude.
$diff = $audio->difference
Returns the first difference between successive elements of the data - so result is one sample shorter. This is a simple high-pass filter and is much used to remove DC offsets.
$Avalues = $audio->lpc($NUM_POLES,[$auto [,$refl]])
Perform Linear Predictive Coding analysis of $audio and return coefficents of resulting All-Pole filter. 0th Element is not a filter coefficent (there is no A[0] in such a filter) - but is a measure of the "error" in the matching process. $auto is an output argument and returns computed autocorrelation. $refl is also output and are so-called reflection coefficents used in "lattice" realization of the filter. (Code for this lifted from "Festival" speech systems speech_tools.)
$auto = $audio->autocorrelation($LENGTH)
Returns an (unscaled) autocorrelation function - can be used to cause peaks when data is periodic - and is used as a precursor to LPC analysis.
<<lessSYNOPSIS
use Audio::Data;
my $audio = Audio::Data->new(rate => , ...);
$audio->method(...)
$audio OP ...
Audio::Data represents audio data to perl in a fairly compact and efficient manner using C via XS to hold data as a C array of float values. The use of float avoids many issues with dynamic range, and typical float has 24-bit mantissa so quantization noise should be acceptable. Many machines have floating point hardware these days, and in such cases operations on float should be as fast or faster than some kind of "scaled integer".
Nominally data is expected to be between +1.0 and -1.0 - although only code which interacts with outside world (reading/writing files or devices) really cares.
It can also represent elements (samples) which are "complex numbers" which simplifies many Digital Signal Processing methods.
Methods
The interface is object-oriented, and provides the methods below.
$audio = Audio::Data->new([method => value ...])
The "constructor" - takes a list of method/value pairs and calls $audio->method(value) on the object in order. Typically first "method" will be rate to set sampling rate of the object.
$rate = $audio->rate
Get sampling rate of object.
$audio->rate($newrate)
Set sampling rate of the object. If object contains existing data it is re-sampled to the new rate. (Code to do this was derived from a now dated version of sox.)
$audio->comment($string)
Sets simple string comment associated with data.
$string = $audio->comment
Get the comment
$time = $audio->duration
Return duration of object (in seconds).
$time = $audio->samples
Return number of samples in the object.
@data = $audio->data
Return data as list of values - not recommended for large data.
$audio->data(@data)
Sets elements from @data.
$audio->length($N)
Set number of samples to $N - tuncating or padding with zeros (silence).
($max,$min) = $audio->bounds([$start_time[,$end_time]])
Returns a list of two values representing the limits of the values between the two times if $end_time isnt specified it defaults to the duration of the object, and if start time isnt specified it defaults to zero.
$copy = $audio->clone
Creates copy of data carrying over sample rate and complex-ness of data.
$slice = $audio->timerange($start_time,$end_time);
Returns a time-slice between specified times.
$audio->Load($fh)
Reads Sun/NeXT .au data from the perl file handle (which should have binmode() applied to it.)
This will eventually change - to allow it to load other formats and perhaps to return list of Audio::Data objects to represnt multiple channels (e.g. stereo).
$audio->Save($fh[,$comment])
Write a Sun/NeXT .au file to perl file handle. $comment if specified is used as the comment.
$audio->tone($freq,$dur,$amp);
Append a sinusoidal tone of specified freqency (in Hz) and duration (in seconds), and peak amplitude $amp.
$audio->silence($dur);
Append a period of 0 value of specified duration.
$audio->noise($dur,$amp);
Append burst of (white) noise of specified duration and peak amplitude.
$window = $audio->hamming($SIZE,$start_sample[,$k])
Returns a "raised cosine window" sample of $SIZE samples starting at specified sample. If $k is specified it overrides the default value of 0.46 (e.g. a value of 0.5 would give a Hanning window as opposed to a Hamming window.)
windowed = ((1.0-k)+k*cos(x*PI))
$freq = $audio->fft($SIZE)
$time = $freq->ifft($SIZE);
Perform a Fast Fourier Transform (or its inverse). (Note that in general result of these methods have complex numbers as the elements. $SIZE should be a power-of-two (if it isnt next larger power of two is used). Data is padded with zeros as necessary to get to $SIZE samples.
@values = $audio->amplitude([$N[,$count]])
Return values of amplitude for sample $N..$N+$count inclusive. if $N is not specified it defaults to zero. If $count is not specified it defaults to 1 for scalar context and rest-of-data in array context.
@values = $audio->dB([$N[,$count]])
Return amplitude - in deci-Bells. (0dB is 1/2**15 i.e. least detectable value to 16-bit device.) Defaults as for amplitude.
@values = $audio->phase([$N [,$count]])
Return Phase - (if data are real returns 0). Defaults as for amplitude.
$diff = $audio->difference
Returns the first difference between successive elements of the data - so result is one sample shorter. This is a simple high-pass filter and is much used to remove DC offsets.
$Avalues = $audio->lpc($NUM_POLES,[$auto [,$refl]])
Perform Linear Predictive Coding analysis of $audio and return coefficents of resulting All-Pole filter. 0th Element is not a filter coefficent (there is no A[0] in such a filter) - but is a measure of the "error" in the matching process. $auto is an output argument and returns computed autocorrelation. $refl is also output and are so-called reflection coefficents used in "lattice" realization of the filter. (Code for this lifted from "Festival" speech systems speech_tools.)
$auto = $audio->autocorrelation($LENGTH)
Returns an (unscaled) autocorrelation function - can be used to cause peaks when data is periodic - and is used as a precursor to LPC analysis.
Download (0.086MB)
Added: 2006-06-19 License: GPL (GNU General Public License) Price:
1222 downloads
FrAid 1.4
FrAid is an interface to Java for math processing and a complete Matlab-like system. more>>
- An interface to the Java programming language
- interfaces Java with a small programming language (same name, FrAid) so mathematical equations, formulas, etc. could be used within your Java code. This could be applied to large number of problems where symbolyc mathematical data needs to be processed - numerical computations, symbolic computations, graphic visualization, imaging, CAD, ... From this prospective the FrAid stand alone system could be viewed as an example of what could be done using FrAid as an interface to Java. The rest is up to your needs and imagination...
- A standalone application
- it is a completely selfsufficient system which provides flexible and extensible programming environment utilizing the FrAid programming language. You can use the existing scripts, functions and environments for mathematical computations, vizualization, batch processing and more. It is not meant to be a general scripting tool but in certain contexts it can be used as one.
- The FrAid programing language
- could be used independently (main programming language, like the in FrAid the standalone system) or as an interface to a larger system (even outside the Java context);
Components:
- a parser/interpreter for the FrAid programming language;
- a dynamic symbol table used by the interpreter - could be loaded/unloaded/changed in run time;
- a GraphicsPanel for visualizing graphics - 2D, double precision "infinite" zooming and scrolling, saves to JPEG and PNG in any resolution/size;
- a SettingsEditor for editing serialized Java classes (XML or regular) - maintains all FrAid settings, could be used for (almost) anything Java serialized;
- a simple MIDI panel for converting numeric sequences to MIDI + play/record capability;
- highly flexible IO subsystem, providing run time redirection and various logging options.
<<less- interfaces Java with a small programming language (same name, FrAid) so mathematical equations, formulas, etc. could be used within your Java code. This could be applied to large number of problems where symbolyc mathematical data needs to be processed - numerical computations, symbolic computations, graphic visualization, imaging, CAD, ... From this prospective the FrAid stand alone system could be viewed as an example of what could be done using FrAid as an interface to Java. The rest is up to your needs and imagination...
- A standalone application
- it is a completely selfsufficient system which provides flexible and extensible programming environment utilizing the FrAid programming language. You can use the existing scripts, functions and environments for mathematical computations, vizualization, batch processing and more. It is not meant to be a general scripting tool but in certain contexts it can be used as one.
- The FrAid programing language
- could be used independently (main programming language, like the in FrAid the standalone system) or as an interface to a larger system (even outside the Java context);
Components:
- a parser/interpreter for the FrAid programming language;
- a dynamic symbol table used by the interpreter - could be loaded/unloaded/changed in run time;
- a GraphicsPanel for visualizing graphics - 2D, double precision "infinite" zooming and scrolling, saves to JPEG and PNG in any resolution/size;
- a SettingsEditor for editing serialized Java classes (XML or regular) - maintains all FrAid settings, could be used for (almost) anything Java serialized;
- a simple MIDI panel for converting numeric sequences to MIDI + play/record capability;
- highly flexible IO subsystem, providing run time redirection and various logging options.
Download (1.4MB)
Added: 2006-07-08 License: GPL (GNU General Public License) Price:
1204 downloads
Tersus 0.8
Tersus is a visual programing platform that lets you create enterprise Web applications easily. more>> <<less
Download (18MB)
Added: 2005-09-21 License: GPL (GNU General Public License) Price:
1493 downloads
Tuxanci 0.11
Tuxanci is a multiplatform game, inspired by well-known czech game Bulanci more>>
Tuxanci is a multiplatform game, inspired by well-known czech game Bulanci (by the SleepTeam Labs team). The game is distributed under the GNU GPL license.
As a programing language for this project we have chosen C. Everything that has anything to do with graphics, sound or fonts, handle the SDL, SDL_image, SDL_mixer and SDL_ttf libraries, all of them distributed also as open source, exactly under GNU LGPL license.
The game
All graphics in both menu and game are original, altough we try to keep the similarity with Bulanci, at both controls and levels.
The menu environment is simple. All you need to set up a game is to choose players name, select a level (map) and go on. In future, we all hope there will be many other things you could set, though the current state is quite easy to use, dont you think so?
Controls
First player (the left side):
W -- move up
S -- move down
A -- move left
D -- move right
< Tab > -- use active weapon (shoot, put the mine, ...)
Second player (the right side):
Up array -- move up
Down array -- move down
Left array -- move left
Right array -- move right
0 (on the numeric keyboard) -- use active weapon (shoot, put the mine, ...)
Enhancements:
- fixed memory leaks
- bug fix, the program sometimes got frozen when Tux collided with a mine
- bug fix, Tux sometimes appeared on the same place
- when Tux teleports, it shows up after some time
- shoot from a pipe gets out after some time
- started commenting the source code (in *.h files)
<<lessAs a programing language for this project we have chosen C. Everything that has anything to do with graphics, sound or fonts, handle the SDL, SDL_image, SDL_mixer and SDL_ttf libraries, all of them distributed also as open source, exactly under GNU LGPL license.
The game
All graphics in both menu and game are original, altough we try to keep the similarity with Bulanci, at both controls and levels.
The menu environment is simple. All you need to set up a game is to choose players name, select a level (map) and go on. In future, we all hope there will be many other things you could set, though the current state is quite easy to use, dont you think so?
Controls
First player (the left side):
W -- move up
S -- move down
A -- move left
D -- move right
< Tab > -- use active weapon (shoot, put the mine, ...)
Second player (the right side):
Up array -- move up
Down array -- move down
Left array -- move left
Right array -- move right
0 (on the numeric keyboard) -- use active weapon (shoot, put the mine, ...)
Enhancements:
- fixed memory leaks
- bug fix, the program sometimes got frozen when Tux collided with a mine
- bug fix, Tux sometimes appeared on the same place
- when Tux teleports, it shows up after some time
- shoot from a pipe gets out after some time
- started commenting the source code (in *.h files)
Download (1.4MB)
Added: 2007-04-06 License: Freeware Price:
938 downloads
phpWebApp 1.3
phpWebApp is an application framework which makes easy and simple the task of building PHP web applications. more>>
phpWebApp is an application framework which makes easy and simple the task of building PHP web applications based on relational databases. It separates the task of designing and changing the layout of the application from the task of implementing the logic of the application, by using XML templates that are an extension of XHTML.
The project also simplifies the task of implementing the logic of the application by offering an event based programming model. In addition, phpWebApp tries to offer modularity and code reusability to the community of webApp developers.
Main features:
- The framework separates the layout from the logic of the application, so a graphical designer can easily improve the layout of the application without getting messed with the logic and without having to understand it. It makes easier the work of both the graphical designer and the programer. This also facilitates an iterative and incremental development approach for web application projects.
- The framework gives the possibility to divide a page into several parts which can be used in other pages as well. This makes the user interface of the application (the layout, the graphical part) more structured and easier to understand and maintain and makes easier the work of the graphical designer.
- The framework looks at web applications from a new point of view. From this point of view, a web application is a state machine, which can be represented and described by one or more statechart diagrams. Each page of the application that is displayed, represents the application in a certain state. Clicking to a link causes a transition to another state of the application. This simplifies the design and the implementation of web applications. Later, if this point of view is formalised and elaborated enough, it may provide the theoretical bases for automatic code generation of web applications from state chart diagrams (e.g. from UML state chart diagrams), and for reverse engineering.
- The framework supports an event based programing model. When a transition from one state of the application to another happens, it may trigger an event as well, which is handled by a function (event handler). This makes the logic of the application easy to build, understand and maintain, and makes easy the work of the web programer.
- The framework gives to the web programers the possibility to create independent web components (called WebBox-es) which have their own user interface (graphical design), client side behaviour, server side behaviour, states, events, event handlers, etc. These components can be very easily reused in other web applications and thus provide code reusability to web programers. This means that if you have constructed something once, you dont have to re-construct it again when you need it another time, but use it ready.
- The framework brings closer the client-side and the server-side logic of a web application. E.g. the session variables (which are usually used to keep the state of various parts of the application), are available and can be accessed both on client side and on server side.
- The framework makes the interaction with the database almost database independent. This means that in case that you decide to change the database on which your application is based (e.g. switching from MySQL to Oracle), then the application itself doesnt need to be changed at all, it will work all the same.
Enhancements:
- Bugfixes and some improvements in documentation were made.
<<lessThe project also simplifies the task of implementing the logic of the application by offering an event based programming model. In addition, phpWebApp tries to offer modularity and code reusability to the community of webApp developers.
Main features:
- The framework separates the layout from the logic of the application, so a graphical designer can easily improve the layout of the application without getting messed with the logic and without having to understand it. It makes easier the work of both the graphical designer and the programer. This also facilitates an iterative and incremental development approach for web application projects.
- The framework gives the possibility to divide a page into several parts which can be used in other pages as well. This makes the user interface of the application (the layout, the graphical part) more structured and easier to understand and maintain and makes easier the work of the graphical designer.
- The framework looks at web applications from a new point of view. From this point of view, a web application is a state machine, which can be represented and described by one or more statechart diagrams. Each page of the application that is displayed, represents the application in a certain state. Clicking to a link causes a transition to another state of the application. This simplifies the design and the implementation of web applications. Later, if this point of view is formalised and elaborated enough, it may provide the theoretical bases for automatic code generation of web applications from state chart diagrams (e.g. from UML state chart diagrams), and for reverse engineering.
- The framework supports an event based programing model. When a transition from one state of the application to another happens, it may trigger an event as well, which is handled by a function (event handler). This makes the logic of the application easy to build, understand and maintain, and makes easy the work of the web programer.
- The framework gives to the web programers the possibility to create independent web components (called WebBox-es) which have their own user interface (graphical design), client side behaviour, server side behaviour, states, events, event handlers, etc. These components can be very easily reused in other web applications and thus provide code reusability to web programers. This means that if you have constructed something once, you dont have to re-construct it again when you need it another time, but use it ready.
- The framework brings closer the client-side and the server-side logic of a web application. E.g. the session variables (which are usually used to keep the state of various parts of the application), are available and can be accessed both on client side and on server side.
- The framework makes the interaction with the database almost database independent. This means that in case that you decide to change the database on which your application is based (e.g. switching from MySQL to Oracle), then the application itself doesnt need to be changed at all, it will work all the same.
Enhancements:
- Bugfixes and some improvements in documentation were made.
Download (2.1MB)
Added: 2007-07-20 License: GPL (GNU General Public License) Price:
827 downloads
mod_highlight 0.1.0
mod_highlight provdes syntax highlighting as an Apache 2.0 Filter Module. more>>
mod_highlight is an Apache module provides syntax highlighting. By Embeding the Colorer-Take5 library the module can process just about any programing language.
<<less Download (1.7MB)
Added: 2006-05-15 License: The Apache License 2.0 Price:
1257 downloads
Test::STDmaker 0.23
Test::STDmaker is a Perl module to generate test scripts, demo scripts from a test description short hand. more>>
Test::STDmaker is a Perl module to generate test scripts, demo scripts from a test description short hand.
SYNOPSIS
#######
# Procedural (subroutine) interface
#
use Test::STDmake qw(find_t_roots get_data perl_command);
@t_path = find_t_paths()
$date = get_date();
$myperl = perl_command();
#####
# Class interface
#
use Test::STDmaker
$std = new Test::STDmaker( @options ); # From File::Maker
$success = $std->check_db($std_pm);
@t_path = $std->find_t_paths()
$date = $std->get_date();
$myperl = $std->perl_command();
$std->tmake( @targets, %options );
$std->tmake( @targets );
$std->tmake( %options );
######
# Internal (Private) Methods
#
$success = $std->build($std_driver_class);
$success = $std->generate();
$success = $std->print($file_out);
The Test::STDmaker program module provides the following capabilities:
Automate Perl related programming needed to create a test script resulting in reduction of time and cost.
Translate a short hand Software Test Description (STD) file into a Perl test script that eventually makes use of the Test module.
Translate the sort hand STD data file into a Perl demo script that demonstrates the features of the the module under test.
Provide in the POD of a STD file information required by a Military/Federal Government Software Test Description (STD) document that may easily be index and accessed by automated Test software. ISO, British Military require most of the same information, US agencies such as the FAA. The difference is that ISO, British Military do not dictate detail format. US agencies such as FAA will generally tailor down the DOD required formats.
Thus, there is an extremely wide variation in the format of the same information among ISO certified comericial activities and militaries other than US. Once the information is in a POD, different translators may format nearly exactly as dictated by the end user, whether it is the US DOD, ISO certified commericial activity, British Military or whoever. By being able to provide the most demanding, which is usually US DOD, the capabilities are there for all the others.
The Test::STDmaker package relieves the designer and developer from the burden of filling out word processor boiler plate templates (whether run-off, Word, or vi), counting oks, providing documentation examples, tracing tests to test requirments, making sure it is in the proper corporate, ISO or military format, and other such extremely time consuming, boring, development support tasks. Instead the designers and developers need only to fill in a form using a test description short hand. The Test::STDmaker will take it from there and automatically and quickly generate the desired test scripts, demo scripts, and test description documents.
Look at the economics. It does not make economically sense to have expensive talent do this work. In does not even make economically sense to take a bright 16 year, at mimimum wage and have him manually count oks. Perl can count those oks much much cheaper and it is so easily to automated with Perl. And something like this were you are doing it year in and year out, the saving are enormous. To a program manager or contract officer, this is what programming and computers are all about, saving money and increasing productivity, not object oriented oriented programing, gotos or other such things.
The Test::STDmaker class package automates the generation of Software Test Descriptions (STD) Plain Old Documentation (POD), test scripts, demonstrations scripts and the execution of the generated test scripts and demonstration scripts. It will automatically insert the output from the demonstration script into the POD -headx Demonstration section of the file being tested.
<<lessSYNOPSIS
#######
# Procedural (subroutine) interface
#
use Test::STDmake qw(find_t_roots get_data perl_command);
@t_path = find_t_paths()
$date = get_date();
$myperl = perl_command();
#####
# Class interface
#
use Test::STDmaker
$std = new Test::STDmaker( @options ); # From File::Maker
$success = $std->check_db($std_pm);
@t_path = $std->find_t_paths()
$date = $std->get_date();
$myperl = $std->perl_command();
$std->tmake( @targets, %options );
$std->tmake( @targets );
$std->tmake( %options );
######
# Internal (Private) Methods
#
$success = $std->build($std_driver_class);
$success = $std->generate();
$success = $std->print($file_out);
The Test::STDmaker program module provides the following capabilities:
Automate Perl related programming needed to create a test script resulting in reduction of time and cost.
Translate a short hand Software Test Description (STD) file into a Perl test script that eventually makes use of the Test module.
Translate the sort hand STD data file into a Perl demo script that demonstrates the features of the the module under test.
Provide in the POD of a STD file information required by a Military/Federal Government Software Test Description (STD) document that may easily be index and accessed by automated Test software. ISO, British Military require most of the same information, US agencies such as the FAA. The difference is that ISO, British Military do not dictate detail format. US agencies such as FAA will generally tailor down the DOD required formats.
Thus, there is an extremely wide variation in the format of the same information among ISO certified comericial activities and militaries other than US. Once the information is in a POD, different translators may format nearly exactly as dictated by the end user, whether it is the US DOD, ISO certified commericial activity, British Military or whoever. By being able to provide the most demanding, which is usually US DOD, the capabilities are there for all the others.
The Test::STDmaker package relieves the designer and developer from the burden of filling out word processor boiler plate templates (whether run-off, Word, or vi), counting oks, providing documentation examples, tracing tests to test requirments, making sure it is in the proper corporate, ISO or military format, and other such extremely time consuming, boring, development support tasks. Instead the designers and developers need only to fill in a form using a test description short hand. The Test::STDmaker will take it from there and automatically and quickly generate the desired test scripts, demo scripts, and test description documents.
Look at the economics. It does not make economically sense to have expensive talent do this work. In does not even make economically sense to take a bright 16 year, at mimimum wage and have him manually count oks. Perl can count those oks much much cheaper and it is so easily to automated with Perl. And something like this were you are doing it year in and year out, the saving are enormous. To a program manager or contract officer, this is what programming and computers are all about, saving money and increasing productivity, not object oriented oriented programing, gotos or other such things.
The Test::STDmaker class package automates the generation of Software Test Descriptions (STD) Plain Old Documentation (POD), test scripts, demonstrations scripts and the execution of the generated test scripts and demonstration scripts. It will automatically insert the output from the demonstration script into the POD -headx Demonstration section of the file being tested.
Download (0.13MB)
Added: 2007-01-11 License: Perl Artistic License Price:
1016 downloads
Secleted [ 0 ] software to compare
- Page: 1 of 2
- 1
- 2
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above predictive programing 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