ahead of time
High Performance Linpack 1.0a
High Performance Linpack is a highly parallel, high performance benchmarking tool. more>>
The algorithm used by HPL can be summarized by the following keywords: Two-dimensional block-cyclic data distribution - Right-looking variant of the LU factorization with row partial pivoting featuring multiple look-ahead depths - Recursive panel factorization with pivot search and column broadcast combined - Various virtual panel broadcast topologies - bandwidth reducing swap-broadcast algorithm - backward substitution with look-ahead of depth 1.
The HPL package provides a testing and timing program to quantify the accuracy of the obtained solution as well as the time it took to compute it. The best performance achievable by this software on your system depends on a large variety of factors.
Nonetheless, with some restrictive assumptions on the interconnection network, the algorithm described here and its attached implementation are scalable in the sense that their parallel efficiency is maintained constant with respect to the per processor memory usage.
The HPL software package requires the availibility on your system of an implementation of the Message Passing Interface MPI (1.1 compliant). An implementation of either the Basic Linear Algebra Subprograms BLAS or the Vector Signal Image Processing Library VSIPL is also needed. Machine-specific as well as generic implementations of MPI, the BLAS and VSIPL are available for a large variety of systems.
Ovm 03.11.10
Ovm is a real-time Java virtual machine. more>>
This VM can (and currently must) be specialized to a particular application. Ovm is currently able generate virtual machines for ordinary Java programs, and programs written to the Real-time Specification for Java.
Main features:
- dynamic loading - Like many ahead-of-time compilers for real-time/embedded systems, the Ovm does not support dynamic loading of classes. In the future we expect to support this via some form of mixed-mode operation and/or using the JIT compiler.
- weak references and finalization - There is no support for weak references and heap finalizers are never run. Finalizers for objects allocated in RTSJ scoped memory are run.
- Non-core JDK APIs that rely on native code - Ovm does not support the AWT and other APIs that are non-core. Ovm depends on GNU Classpath for all of the JDK APIs, but must provide its own special code to replace all native calls.
- JNI support - Ovm does not support JNI and it is not planned at the present. Much native code is replaced in Ovm by Java code operating in what we term the "executive domain". There are ways to provide additional native code support but there are highly specialized and not intended for general application use.
Code using dynamic loading, native calls or finalizers will need to be adapted to work with Ovm.
The implementation of the real-time APIs is also incomplete - see the package.html file in src/syslib/user/ovm_realtime/javax/realtime for details.
This is a BETA release. Ovm still has known bugs that can lead to unexpected behavior, especially when migrating large applications to Ovm.
Usage
Ovm is regularly tested on Linux/x86, Linux/ppc, and OS X/ppc. The JIT only works on x86. Ovm requires a Sun, IBM, or Apple release of Java 1.4 and gcc 3.x to build. 256 MB of main memory are also required, 1 GB are recommended.
In order to run Java applications under Ovm, it is strongly recommended that you compile the applications against Ovms version of the JDK (which is based on GNU classpath). This is the easiest way to ensure that you do not rely on library functionality that is not available. Instructions on how to compile Java code against the Ovm JDK are in the file TUTORIAL. The TUTORIAL also describes how to run the SPEC JVM and the real-time benchmarks.
Also note that all class files must have been compiled to the format defined by the javac -target 1.1 setting. This restriction will be removed in the future.
At this point in time, Ovm always requires whole-world compilation of the application. Ovm has three execution backends, an interpreter, a JIT and J2C which is a front-end to GCC. Both the interpreter and the JIT are intended to be used in conjunction with dynamic loading in the future. At this stage, building Ovm with these configurations is only useful for development purposes. All benchmarking should always be done with the J2C configuration with gcc-3.4.
Version restrictions:
- The Ovm program (gen-ovm), may very rarely hang after calling out to a subprocess. This appears to be a bug in Linux implemenations of Java 1.4, and occurs more frequently with Blackdown Java distributions than Sun. Ovm attempts to detect and work around the problem, but this code is extremely difficult to test. One simple trick that sometimes unhangs things is to stop the process (use -Z) and then restart it using fg.
joeq virtual machine 20030812
joeq virtual machine is a language-independent Java virtual machine implemented in Java. more>>
Joeq is entirely implemented in Java, leading to reliability, portability, maintainability, and efficiency. It is also language-independent, so code from any supported language can be seamlessly compiled, linked, and executed -- all dynamically.
Each component of the virtual machine is written to be independent with a general but well-defined interface, making it easy to experiment with new ideas.
Joeq is released as open source software, and is being used as a framework by researchers on five continents on topics ranging from automatic distributed virtual machines to whole-program pointer analysis.
Joeq is a virtual machine and compiler infrastructure designed to be a platform for research in compilation and virtual machine technologies. We had three main goals in designing the system. First and foremost, we wanted the system to be flexible. We are interested in a variety of compiler and virtual machine research topics, and we wanted a system that would not be specific to researching a particular area.
For example, we have interest in both static and dynamic compilation techniques, and in both type-safe and unsafe languages. We wanted a system that would be as open and general as possible, without sacrificing usability or performance.
Second, we wanted the system to be easy to experiment with. As its primary focus is research, it should be straightforward to prototype new ideas in the framework. With this in mind, we tried to make the system as modular as possible, so that each component is easily replaceable. Learning from our experience with Jalapeno, another virtual machine written in Java, we decided to implement the entire system in Java.
This makes it easy to quickly implement and prototype new ideas, and features like garbage collection and exception tracebacks ease debugging and improve productivity. Java, being a dynamic language, is also a good consumer for many of our dynamic compilation techniques; the fact that our dynamic compiler can compile the code of the virtual machine itself means that it can dynamically optimize the virtual machine code with respect to the application that is running on it. Javas object-oriented nature also facilitates modularity of the design and implementation.
Third, we wanted the system to be useful to a wide audience. The fact that the system is written in Java means that much of the system can be used on any platform that has an implementation of a Java virtual machine. The fact that Joeq supports popular input languages like Java, C, C++, Fortran, and even x86 binary code increases the scope of input programs. We released the system on the SourceForge web site as open source under the Library GNU Public License.
It has been picked up by researchers on five continents for various purposes, among them: automatic extraction of component interfaces, static whole-program pointer analysis, context-sensitive call graph construction, automatic distributed computation, versioned type systems for operating systems, sophisticated profiling of applications, advanced dynamic compilation techniques, system checkpointing, anomaly detection, secure execution platforms and autonomous systems. In addition, Joeq is now used as the basis of the Advanced Compilation Techniques class taught at Stanford University.
Joeq supports two modes of operation: native execution and hosted execution. In native execution, the Joeq code runs directly on the hardware. It uses its own run-time routines, thread package, garbage collector, etc. In hosted execution, the Joeq code runs on top of another virtual machine. Operations to access objects are translated into calls into the reflection library of the host virtual machine.
The user code that executes is identical, and only a small amount of functionality involving unsafe operations is not available when running in hosted execution mode. Hosted execution is useful for debugging purposes and when the underlying machine architecture is not yet directly supported by Joeq. We also use hosted execution mode to bootstrap the system and perform checkpointing, a technique for optimizing application startup times.
Joeq system consists of seven major parts:
- Front-end: Handles the loading and parsing of input files, such as Java class files, SUIF files, and binary object files.
- Compiler: A framework for performing analyses and optimizations on code. This includes the intermediate representation (IR) of our compiler.
- Back-end: Converts the compilers intermediate representation into native, executable code. This code can be output to an object file or written into memory to be executed. In addition, it generates metadata about the generated code, such as garbage collection maps and exception handling information.
- Interpreter: Directly interprets the various forms of compiler intermediate representations.
- Memory Manager: Organizes and manages memory. Joeq supports both explicitly-managed and garbage-collected memory.
- Dynamic: Provides profile data to the code analysis and optimization component, makes compilation policy decisions, and drives the dynamic compiler.
- Run-time Support: Provides runtime support for introspection, thread scheduling, synchronization, exception handling, interfacing to external code, and language-specific features such as dynamic type checking.
Time Sheets 7.0
Time Sheets are free linux timesheets for project tracking. more>>
Automate Project management, Billing and Payroll with your Free Web Employee Timesheets! Use your Free Web Timesheets to Discover secret profits in your business and ease billing now.
Automate Payroll with improved setup features. 100% web-based Linux Employee Timesheets program.
Main features:
User Interface
- Complete redesign including user-friendly organization and navigation
- Collapsible, customizable Toolbar with interactive calendar and timesheet status data
- Scrolling and single day display options for long periods that alleviate "wide" timesheet and compliance problems
- Dynamic, on-screen options to sort and display data in a variety of formats
Administrator Interface
- Ability to copy settings from existing users, projects, etc. for quick creation and set up of new items
- Access to all set up options on a single user or project creation screen
- Various types of reports consolidated and accessible under the main Reports tab
- Improved search, select and assign capabilities for automated approval plans, etc.
- Ability to search for, select and submit multiple timesheets for approval with a single click
- Improved Help menus and Sitemap that act as guides to the new navigation
Look and Feel
- Hierarchical tab navigation with the option to customize the color scheme
- Standard icons and page layout throughout the product
- Continued flexibility for branding and customizing the interface to fit organizational needs
Miscellaneous
- Leave request automation with supervisor review
- Manager reporting on all outstanding time off scheduled
- Option to subtotal by several different parameters in reports
- International character support
- Performance improvements via setting to limit number of items displayed in dropdown menus
- Advanced options for editing approved timesheets to meet specific auditing requirements
Time Manager 0.7.0
Time Manager is a CGI script that keeps track of how much time you have spent at work. more>>
Time Manager relies heavily on the Date::Manip module which has to be installed before running the script.
Enhancements:
- made a new monthly stats
- reversed change entry list
- actions like signon/off are now linked up with the main menu giving an action-status line at the bottom of the page.
- added some buttons where lists could get long (weekly stats)
ztk-tvguide 1a
ztk-tvguide is a Perl/Tk frontend to the XMLTV files available from labs.zap2it.com. more>>
This is a multi-threaded perl application, which will download and display concurrently.
INSTRUCTIONS
1. You need to go to http://labs.zap2it.com and sign up for an account. You need to use the xmltv developer certificate code C< ZYZM-TE5O-SBUT > (Letter O) to register. When registering, I have found it is better to NOT answer anything with a blank or zero. Always give a "true" answer.
After registering, you must set up your configuration, and choose your service provider, and personal channel selection. Write down your given username and password.
Your registration will be good for 3 months, and can be renewed after re-filling out the questionaire.
2. You must install the XMLTV module from http://membled.com/work/apps/xmltv/ It comes with a very nice README file explaining what you need to do. If you have already done Step(1) above, you will need to run your areas grabber script from the xmltv distribution. For North America it is tv_grab_na_dd You must run your grabber script once, to configure and setup your .xmltv directory and configuration....so.... tv_grab_na_dd --configure
Answer the questions, and select UTC as your default time. That way, you download files in UTC time, and the display program will convert it to local time.
After running --configure, you should have file ~/.xmltv/tv_grab_na_dd.conf with your channels and username. To make the downloading of new files run without prompting for a password, put your password in ~/.xmltv/tv_grab_na_dd.conf. Your file should look similar to this:
username: zentara
password: xc78vjk3n4
timezone: UTC
lineup: MI21648:-
channel: 46 AMC
channel: 45 ARTS
channel: 62 BET
3. Run the ztk-tvguide script. If you dont have any XML files downloaded it will prompt you to Download files at the first run. Just click the Download button, and you will be asked "how many days forward?" Today is day 0, so 8 will get you 1 week ahead. If you already have a file for that day, it will not be downloaded again. If you need to redownload it, for some odd reason, just delete it manually from the xml storage location, which is ~/.xmltv/ztk_tvguide/
The display program is multi-threaded, so you can download and browse at the same time. There are 2 display indicators, one for downloading, and one for converting the xml.
Enhancements:
- This release fixes a UTC-to-local time conversion problem.
- The script now relies on xmltvs downloader script (and configuration file) to adjust to local time.
- You may need to edit your xmltv configuration file tv_grab_na_dd.conf to adjust your timezone offset from UTC to local.
- It also fixes a bug which could cause cross-linking of programs across days.
wmBinClock 0.3
wmBinClock shows the actual system time as binary clock. more>>
Example:
+ + + + + +<<less
OCERA Real Time Ethernet 0.3.1
The ORTE is an implementation of the RTPS communication protocol defined by Real Time Innovations. more>>
RTPS is an application layer protocol targeted to the real-time communication area. It is built on top of a standard UDP stack.
This protocol is being submitted to the IETF as an informational RFC and has been adopted by the IDA group.
Yet Another Time Machine 0.4
Yet Another Time Machine is a command line Ogg Vorbis and MPEG audio player. more>>
Primary usage would be to listen (for example) to audio books at 150% tempo. This is still understandable and saves time, hence the name of the program.
The following audio encoding formats are supported:
- Ogg Vorbis
- Ogg Speex
- MPEG
- All formats supported by libsndfile (FLAC, WAV, AIFF, ...)
Enhancements:
- Version 0.4 adds support for libsndfile.
- There is also an undocumented gem, you can use < and > to slow down or speed up by 10%, and hitting SPACE can be used to pause playback.
RTDA 0.0.1
Real Time Data Acquisition for Industrial Automation. more>>
Klicker 1.04
Klicker is a KDE/QT based metronome. more>>
WR Time Tracker 1.2.4
WR Time Tracker is an open source, free web-based work time tracking system. It is simple and very easy to use. It allows you to create user logins and organize them in teams, create and modify projects and activities, input work time, generate reports and invoices and send them via e-mail. The system runs on FreeBSD, Linux, or Windows. Free hosting of this service is available for public at http://timetracker.wrconsulting.com in 23 languages. more>>
WR Time Tracker - WR Time Tracker is an open source, free web-based work time tracking system. It is simple and very easy to use. It allows you to create user logins and organize them in teams, create and modify projects and activities, input work time, generate reports and invoices and send them via e-mail. The system runs on FreeBSD, Linux, or Windows. Free hosting of this service is available for public at http://timetracker.wrconsulting.com. The system is available in 23 languages: English, Chinese (Traditional and Simplified), Czech, Danish, Dutch, Estonian, French, German, Hebrew, Hungarian, Icelandic, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Tamil, and Turkish.
Enhancements:
Version 1.2.4
Chinese Traditional and Chinese Simplified translations added. Code extended to support additional languages, the older ISO 639 language code is now obsolete. Browser-default option added to determine presentation language. Time duration and large time entries on "my time" page corrected.
Version 0.9.2
Czech translation added. Changed database structure update procedure v0.8-v0.9 in dbinstall.php by introducing a default NULL value for user language field (u_lang). This fixes the "unable to create user" problem with current latest MySQL version 5.1.30.
Version 0.8.1
Support for bi-directional languges.
Version 0.8
Minor updates to support the latest MySQL, PHP, and Apache. Corrected mysql.sql script (database creation) and some links.
Version 0.7
MySQL 5, PHP 5, Apache 2 support, lots of miscellaneous improvements.
System Requirements:None<<less
Multiple Time Sheets 4
Multiple Time Sheets is a simple tool to help you keep track of how many hours you work and for whom. more>>
It differs from most time-tracking software because its designed to work like paper that magically totals up hours.
Main features:
- Uses text files, requiring no database.
- Supports only one user per app, for simpler code.
- Sends and tracks invoices, and payments thereof.
- Features a rudimentary to-do list that displays your list as an outline.
- Sends you a backup of your data automatically.
- Assume the user prefers free-form data entry in text files rather than typing into forms.
- Uses the htmlMimeMail.php class by Richard Heye (phpguru.org).
- CSV and OPML exports of some data.
- Automatic hyperlinking from MTS to your favorite web-based software.
Enhancements:
- This release added a feature that replaces text patterns with links so that strings like "Bug 10" can link to a bug tracking application.
- CSV export was added for the timesheet along with OPML export for the to-do list.
Podracer 1.4
Podracer is a podcast downloader. more>>
Main features:
- Catchup feature updates the log without downloading all podcasts
- Run as a cron job to automatically receive podcasts
- Properly fails (with no error message for the sake of cron) if already running
- Download podcast enclosures of any file format
- Support for BitTorrent downloading and seeding of podcasts
- Configurable seed time management - seed torrents for an hour or a day
- Background torrent seeding continues after program ends and stops automatically
- System-wide and user-specific configuration
- User-specific subscription file and podcast download directories
- Commentable subscription file - go ahead and mark it up
- Fully configurable placement of files and directories
- Support for dynamic creation of download directories, i.e. based on date/time
- Appears in podcasters logs as a podcast receiver
- Automatic creation of m3u playlists
- User may request that m3u not be created
- Automatic removal of empty download directories
- Your suggestions...
Uppaal Timed Automata Parser Library 0.90
The UPPAAL Timed Automata Parser Library (libutap) is the parser library used by UPPAAL. more>>