Main > Free Download Search >

Free to operate software for linux

to operate

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1452
J Operating System

J Operating System


J Operating System is primarily intended for programmers. more>>
J Operating System is primarily intended for programmers.
Target Users:
- Hobbiests--You used to buy computers to do programming. They didnt do much else. Windows doesnt even come with a compiler, which is ironic since Bill Gates wrote BASIC. The "J" operating system is primarily intended for programmers. Ive attempted to lower the bar, so amateurs can contribute. I hope to recreate the dynamic environment that used to exist when the Commodore 64 was around and everyone was creating odd-ball software.
- Researchers--Im sure many lab researchers still use DOS because they have to interact with hardware, which is difficult with Windows.
Main features:
- No security! You can access all ports, memory and disk blocks to your hearts content. When youre working with your own computer, security just gets in the way and makes things slow--I hate anti-virus and anti-spyware because they just slow things down. When you know you dont have a risk, have no secrets and do regular back-ups, who needs security?
- Uniformity
- There is no virtual memory and everyone is on the same address-map. You can easily communicate between tasks, passing addresses. Addresses start at a base of zero and, essentually, segment registers are not used.
- There is basically one language to learn called "C+" which is a little more than "C", but less than "C++". You dont need to learn a scripting langauge because everything uses this syntax.
- There is an extension of ASCII called "J" rich text which allows colors, links, graphics and various widgets in your documents. This format is used in source code, documents, help, menus, etc.
- Support for compressed, encrypted and contiguous files.
- FAT32, FAT12 and ISO9660 filesystems.
- Blazing-fast compiler which can recompile everything in 5 seconds. It doesnt optimize.
- All source code is included and its still around a Meg.
Hardware:
- PS/2 mouse and keyboard
- VGA graphics
- Some hard drives. Must be on the primary or secondary IDE controller and support LBA28. Drives of 120Gig are the limit.
- Some CD-ROM/DVD drives, including burning.
- Some floppies. Just 1.44Meg and not all types.
- No USB support yet
- No network support yet
- ASCII printers on the parallel port are supported.
<<less
Download (1.1MB)
Added: 2005-12-29 License: GPL (GNU General Public License) Price:
1398 downloads
The Contiki Operating System 2.0

The Contiki Operating System 2.0


The Contiki Operating System is mostly known as an operating system for networked embedded systems. more>>
The Contiki Operating System is mostly known as an operating system for networked embedded systems. A few years ago, however, Contikis primary claim to fame was its Commodore 64 port.
With the help of JAC64, a Java-based C64 emulator developed by my colleague and fellow Contiki developer Joakim Eriksson, you can now experience the C64 port of Contiki 1.2-devel1 again, directly in your web browser!
Enhancements:
- Contiki now does dynamic run-time loading and linking of standard ELF files.
- Rime, a protocol stack designed for low-power radio communication, has been added.
- Cooja, a Java-based network simulator for Contiki is included.
- The build system has been reworked to allow for easy cross-compiling for many platforms.
- A new port for the Tmote Sky sensor board has been added.
<<less
Download (1.7MB)
Added: 2007-04-11 License: GPL (GNU General Public License) Price:
932 downloads
Iterator 0.03

Iterator 0.03


Iterator is a general-purpose iterator class. more>>
Iterator is a general-purpose iterator class.

SYNOPSIS

use Iterator;

# Making your own iterators from scratch:
$iterator = Iterator->new ( sub { code } );

# Accessing an iterators values in turn:
$next_value = $iterator->value();

# Is the iterator out of values?
$boolean = $iterator->is_exhausted();
$boolean = $iterator->isnt_exhausted();

# Within {code}, above:
Iterator::is_done(); # to signal end of sequence.

This module is meant to be the definitive implementation of iterators, as popularized by Mark Jason Dominuss lectures and recent book (Higher Order Perl, Morgan Kauffman, 2005).

An "iterator" is an object, represented as a code block that generates the "next value" of a sequence, and generally implemented as a closure. When you need a value to operate on, you pull it from the iterator. If it depends on other iterators, it pulls values from them when it needs to. Iterators can be chained together (see Iterator::Util for functions that help you do just that), queueing up work to be done but not actually doing it until a value is needed at the front end of the chain. At that time, one data value is pulled through the chain.

Contrast this with ordinary array processing, where you load or compute all of the input values at once, then loop over them in memory. Its analogous to the difference between looping over a file one line at a time, and reading the entire file into an array of lines before operating on it.

Iterator.pm provides a class that simplifies creation and use of these iterator objects. Other Iterator:: modules (see "SEE ALSO") provide many general-purpose and special-purpose iterator functions.

Some iterators are infinite (that is, they generate infinite sequences), and some are finite. When the end of a finite sequence is reached, the iterator code block should throw an exception of the type Iterator::X::Am_Now_Exhausted; this is usually done via the "is_done" function.. This will signal the Iterator class to mark the object as exhausted. The "is_exhausted" method will then return true, and the "isnt_exhausted" method will return false. Any further calls to the "value" method will throw an exception of the type Iterator::X::Exhausted.

Note that in many, many cases, you will not need to explicitly create an iterator; there are plenty of iterator generation and manipulation functions in the other associated modules. You can just plug them together like building blocks.

<<less
Download (0.022MB)
Added: 2007-05-18 License: Perl Artistic License Price:
889 downloads
Inferno Operating System 20060303

Inferno Operating System 20060303


Inferno is a compact operating system designed for building distributed and networked systems on a wide variety of devices. more>>
Inferno is a compact operating system designed for building distributed and networked systems on a wide variety of devices and platforms.
Inferno was originally developed at Bell Labs (the research division of Lucent Technologies).
Inferno Operating System is a well-designed, economical operating system particularly suitable for use in networked devices such as advanced telephones, hand-held devices, TV set-top boxes, and many other embedded applications.
Inferno can run in native mode on an embedded system or in emulation mode under many different operating systems. Inferno has many features in common with Plan 9.
Cross-Platform Portability
Inferno can run as a user application on top of an existing operating system or as a stand alone operating system. Most of the popular operating systems and processor architectures are supported:
Host Operating Systems:
- Windows NT/2000/XP
- Irix
- Linux
- MacOS X
- FreeBSD
- Solaris
- Plan 9
Supported Architectures:
- Intel x86 (386 & higher)
- Intel XScale
- IBM PowerPC
- ARM StrongARM (ARM & Thumb)
- Sun SPARC
Inferno also runs as a plug-in under Internet Explorer version 4 and higher. Each Inferno system presents an identical environment to the applications, irrespective of the underlying host OS or architecture, allowing the developer to work with a truly homogeneous environment across multiple different platforms.
Portable Applications
Inferno applications are written in Limbo, a modern, safe, modular, concurrent programming language with C-like syntax. It is more powerful than C but considerably easier to understand and debug than C++ or Java. Limbo code is compiled into architecture independent byte code which is then interpreted (or compiled on the fly) on the target processor. This means that any Inferno application will run identically on all Inferno platforms.
Transparent Resources
Inferno offers complete transparency of resources and data using a simple but powerful namespace system. By representing resources as files and having one standard communication protocol, resources such as data stores, services and external devices can easily be shared between Inferno systems. A resource interface may be imported to the local system and used by the applications without them knowing, or needing to know, whether it is local or remote.
Security
High level security is an important part of the Inferno system. By using one standard protocol for all network communication, security can be focused on one point and provided at a system level. Inferno offers full support for authenticated, encrypted connections using a certificate based user identification scheme and variety of algorithms including:
- IDEA, 56 bit DES, 40, 128 and 256 bit RC4 encryption algorithms
- MD4, MD5 and SHA secure hash algorithms
A Complete Solution
Inferno is not only an operating system, it is also a complete development environment, providing all the tools necessary for creating, testing and debugging the applications that run within it.
- Acme IDE: includes editor, shell, advanced pattern matching tools & more
- Fast Compiler: with full syntax and compile time type checking
- Graphical Debugger: with full stack trace for currently executing threads
- Powerful Shell: with sophisticated scripting capabilities
- UNIX like commands: including bind, grep, gzip, mount, ps, tar, yacc...
Enhancements:
- New licence terms (a `dual licence scheme allowing use as Free Software)
- Styx revision based on 9P2000, and consequent changes to Sys
- Authentication changes
- Improved colour graphics support, including compositing
- Scalable fonts using Freetype
- Revamped Tk implementation
- Window management moved out of Tk to a separate window manager in Limbo
- Limbo: exception handling and fixed-point
- Limbo: other possible changes
- Dis VM changes
- More commands and library modules
- Better network service configuration
- /net/dns served by host and native DNS resolver
- Hosted kernels configured from a parts list as for native kernels
- Signed modules
- Internet Explorer plug-in revised and in source form
- Expanded documentation
<<less
Download (57CrossPlMB)
Added: 2006-05-23 License: GPL (GNU General Public License) Price:
1258 downloads
OpenAI 0.2

OpenAI 0.2


OpenAI is an open source artificial intelligence package. more>>
The OpenAI site is centered around an Open Source project and community involving artificial intelligence. The term "Open Source" means that the source code for the project is available for free and can be used by others free of charge.

Artificial Intelligence refers to the general aim of intelligent computing, making machines think and learn. The project itself is the creation of a set of tools that are considered to be models of human intelligence. These tools are intended to be integrated into programs or used stand alone for research.

The project itself is geared toward developing a specification for AI related tools. The specification will allow these tools to operate in a modular fashion and be highly interoperable with other tools adhering to the specification.

OpenAI will also provide the details of the specification online as it develops so that the community can help in its creation by giving insight and criticism.

Technologies like XML and CORBA will be used for configuration, persistence and communication. Currently well be implementing all the tools in Java and C++, but will accept tools written in any language as long as they adhere to the OpenAI standard.
<<less
Download (0.14MB)
Added: 2005-04-01 License: BSD License Price:
1676 downloads
AutoLoader 5.63

AutoLoader 5.63


AutoLoader is a Perl module that can load subroutines only on demand. more>>
AutoLoader is a Perl module that can load subroutines only on demand.

SYNOPSIS

package Foo;
use AutoLoader AUTOLOAD; # import the default AUTOLOAD subroutine

package Bar;
use AutoLoader; # dont import AUTOLOAD, define our own
sub AUTOLOAD {
...
$AutoLoader::AUTOLOAD = "...";
goto &AutoLoader::AUTOLOAD;
}

The AutoLoader module works with the AutoSplit module and the __END__ token to defer the loading of some subroutines until they are used rather than loading them all at once.

To use AutoLoader, the author of a module has to place the definitions of subroutines to be autoloaded after an __END__ token. (See perldata.) The AutoSplit module can then be run manually to extract the definitions into individual files auto/funcname.al.

AutoLoader implements an AUTOLOAD subroutine. When an undefined subroutine in is called in a client module of AutoLoader, AutoLoaders AUTOLOAD subroutine attempts to locate the subroutine in a file with a name related to the location of the file from which the client module was read. As an example, if POSIX.pm is located in /usr/local/lib/perl5/POSIX.pm, AutoLoader will look for perl subroutines POSIX in /usr/local/lib/perl5/auto/POSIX/*.al, where the .al file has the same name as the subroutine, sans package. If such a file exists, AUTOLOAD will read and evaluate it, thus (presumably) defining the needed subroutine. AUTOLOAD will then goto the newly defined subroutine.
Once this process completes for a given function, it is defined, so future calls to the subroutine will bypass the AUTOLOAD mechanism.

Subroutine Stubs

In order for object method lookup and/or prototype checking to operate correctly even when methods have not yet been defined it is necessary to "forward declare" each subroutine (as in sub NAME;). See "SYNOPSIS" in perlsub. Such forward declaration creates "subroutine stubs", which are place holders with no code.

The AutoSplit and AutoLoader modules automate the creation of forward declarations. The AutoSplit module creates an index file containing forward declarations of all the AutoSplit subroutines. When the AutoLoader module is used it loads these declarations into its callers package.

Because of this mechanism it is important that AutoLoader is always used and not required.

Using AutoLoaders AUTOLOAD Subroutine

In order to use AutoLoaders AUTOLOAD subroutine you must explicitly import it:

use AutoLoader AUTOLOAD;

Overriding AutoLoaders AUTOLOAD Subroutine

Some modules, mainly extensions, provide their own AUTOLOAD subroutines. They typically need to check for some special cases (such as constants) and then fallback to AutoLoaders AUTOLOAD for the rest.

Such modules should not import AutoLoaders AUTOLOAD subroutine. Instead, they should define their own AUTOLOAD subroutines along these lines:

use AutoLoader;
use Carp;

sub AUTOLOAD {
my $sub = $AUTOLOAD;
(my $constname = $sub) =~ s/.*:://;
my $val = constant($constname, @_ ? $_[0] : 0);
if ($! != 0) {
if ($! =~ /Invalid/ || $!{EINVAL}) {
$AutoLoader::AUTOLOAD = $sub;
goto &AutoLoader::AUTOLOAD;
}
else {
croak "Your vendor has not defined constant $constname";
}
}
*$sub = sub { $val }; # same as: eval "sub $sub { $val }";
goto &$sub;
}

If any modules own AUTOLOAD subroutine has no need to fallback to the AutoLoaders AUTOLOAD subroutine (because it doesnt have any AutoSplit subroutines), then that module should not use AutoLoader at all.

Package Lexicals

Package lexicals declared with my in the main block of a package using AutoLoader will not be visible to auto-loaded subroutines, due to the fact that the given scope ends at the __END__ marker. A module using such variables as package globals will not work properly under the AutoLoader.

The vars pragma (see "vars" in perlmod) may be used in such situations as an alternative to explicitly qualifying all globals with the package namespace. Variables pre-declared with this pragma will be visible to any autoloaded routines (but will not be invisible outside the package, unfortunately).

Not Using AutoLoader

You can stop using AutoLoader by simply

no AutoLoader;

AutoLoader vs. SelfLoader

The AutoLoader is similar in purpose to SelfLoader: both delay the loading of subroutines.

SelfLoader uses the __DATA__ marker rather than __END__. While this avoids the use of a hierarchy of disk files and the associated open/close for each routine loaded, SelfLoader suffers a startup speed disadvantage in the one-time parsing of the lines after __DATA__, after which routines are cached. SelfLoader can also handle multiple packages in a file.

AutoLoader only reads code as it is requested, and in many cases should be faster, but requires a mechanism like AutoSplit be used to create the individual files. ExtUtils::MakeMaker will invoke AutoSplit automatically if AutoLoader is used in a module source file.

<<less
Download (0.016MB)
Added: 2007-05-14 License: Perl Artistic License Price:
894 downloads
DEX Extensible Operating System 1.035

DEX Extensible Operating System 1.035


DEX Extensible Operating System is an operating system specifically designed for educational and research use. more>>
DEX Extensible Operating System is an operating system specifically designed for educational and research use. DEX Extensible Operating System allows for the dynamic reconfiguration and customization of various system services using concepts found in extensible operating systems.
It aims to create an operating system design thats easy to understand while having features that are common in todays modern operating systems. Unlike other small operating systems, it is powerful enough to support simple applications that require multithreading and file management.
Its architectural design, with the help of Aspect-Oriented programming, enables easy modification and extensibility. It was developed in C and runs on PCs with 80386 processors or higher.
Enhancements:
- This version is released with a floppy image and the kernel source code.
- The release contains peformance enhancements, source code clean-ups, and a makefile for use with GNU make.
<<less
Download (0.48MB)
Added: 2006-08-22 License: GPL (GNU General Public License) Price:
1159 downloads
Hydrate 2.0

Hydrate 2.0


Hydrate is a tool that provides fast, efficient, and error-free transformation of data. more>>
Hydrate is a Java tool that provides for fast efficient and error-free transformation of data between three different representations: relational databases, objects in an object-oriented programming language and extended markup language (XML).
Each of these representations has its strengths and weaknesses as shown in the diagram below; but which should you use as a basis for your application design?
Hydrate relaxes some of the pressure on this decision by providing tools for moving data from one representation to another, guided by a master UML class representation of that data.
- You want to lay a domain object model view over an existing database or set of databases. Hydrate gives you the tools to design that model in UML and map your existing data to that model. Once in the object space, you can perform complex manipulations on the objects, calculate results and save information back to a relational cache for searching or reloading, as well as converting the results to XML for sending to downstream systems or transforming to a readable format for display.
- Your project involves taking various data files fed from external systems that you want to pull into an object model on your server before writing the results down to a fully relational database. You can now respond to requests from external systems by rehydrating the data from its relational form and sending it out as XML documents or transforming those documents to a readable format for display.
- You are building a data warehouse in which you have the broad specifications for the model, but want to provide for flexibility and adaptability for future unpredicted requests. Based on a core data model, Hydrate gives you the tools to create you database schema, and write information to it, but more significantly to subsequently lay a completely different object model perhaps aggregating some of the data over the top of that schema to process it in unforeseen ways.
- You need to integrate data from many different data sources in a highly performant manner. SQL permits you to read a huge data set a row at a time and perform running calculations and filtering on that data. But the performance pressures can lead to code that is highly coupled with the database and what do you do if you need to integrate data from elsewhere in order to complete your calculations? Hydrate permits you to operate in the object space and integrate information from other sources on-the-fly.
Main features:
- To integrate legacy and other data schemas over which you have little control. Map data from many different data sources into a single self-consistent in-memory model. Different parts of the same object, as well as different sub-populations of the same object type can be drawn from different data sources, different schemas and even different database architectures.
- Load, populate and connect up multiple object types from a single query. There is no limit to the number of object types that can be loaded from a single query, or to the complexity of the relationships that can be resolved between them. Objects read from a query are automatically merged into objects already in memory.
- Full control over the SQL that runs against the database (if you need it). Any SQL queries simultaneously from multiple JDBC drivers, even using database specific optimizations, as long as they returns a result set.
- Access and manipulate the same data through the rich and powerful XML toolset. Use the same meta data that describes your objects to easily read from, write to and validate any consistent XML schema. Use XML for display, data transmission or XSLT transformation. Load XML data back into objects.
- Highly optimized performance for reading and writing SQL and XML. Since native types are used and SQL chatter is non-existent, database performance is comparable with doing the mapping by hand. XML reading and writing uses SAX exclusively.
<<less
Download (7.0MB)
Added: 2006-06-04 License: LGPL (GNU Lesser General Public License) Price:
1240 downloads
Openwall tcb suite 1.0

Openwall tcb suite 1.0


Openwall tcb suite package contains core components of our tcb suite implementing the alternative password shadowing scheme. more>>
Openwall tcb suite package contains core components of our tcb suite implementing the alternative password shadowing scheme on Owl.

It is being made available separately from Owl primarily for use by other distributions. Note that you need to have the password hashing framework introduced with crypt_blowfish patched into glibc to compile and use this.

The package consists of three components: pam_tcb, libnss_tcb, and libtcb.
pam_tcb is a PAM module which supersedes pam_unix. It also implements the tcb password shadowing scheme.

The tcb scheme allows many core system utilities (passwd(1) being the primary example) to operate with little privilege. libnss_tcb is the accompanying NSS module. libtcb contains code shared by the PAM and NSS modules and is also used by user management tools on Owl due to our shadow suite patches.

<<less
Download (0.040MB)
Added: 2005-12-30 License: GPL (GNU General Public License) Price:
1395 downloads
Stone TCP/IP packet repeater 2.3c

Stone TCP/IP packet repeater 2.3c


Stone is an application layer TCP/IP packet repeater. more>>
Stone is an application layer TCP/IP packet repeater. It repeats TCP and UDP packets from the inside of a firewall to the outside or vice versa.

It is simple, supports OpenSSL for encrypting and decrypting packets, performing client and server verifications, and sending a substring of the subject of the certificate to the destination, can operate as an HTTP proxy, and performs POP to APOP conversion. It also supports IPv6 and can convert between IPv4 and IPv6 each other.

<<less
Download (0.082MB)
Added: 2006-09-30 License: GPL (GNU General Public License) Price:
1125 downloads
Iterator::IO 0.02

Iterator::IO 0.02


Iterator::IO is a Perl module with filesystem and stream iterators. more>>
Iterator::IO is a Perl module with filesystem and stream iterators.

SYNOPSIS

use Iterator::IO;

# Return the names of files in a directory (except . and ..)
$iter = idir_listing ($path);

# Return all the files in a directory tree, one at a time.
# Like File::Find, in slow motion.
$iter = idir_walk ($path);

# Return the lines of a file, one at a time.
$iter = ifile ($filename, %options);

# Return the lines of a file, in reverse order
$iter = ifile_reverse ($filename, %options);

This module provides filesystem and stream iterator functions. See the Iterator module for more information about how to use iterators.

FUNCTIONS

idir_listing

$iter = idir_listing ($path);

Iterator that returns the names of the files in the $path directory. If $path is omitted, defaults to the current directory. Does not return the . and .. files (under unix).

Requires IO::Dir and Cwd.

Example:

To return only certain files, combine this with an igrep:

$iter = igrep {-s && -M < 1} idir "/some/path";

(Returns non-empty files modified less than a day ago). (igrep) is defined in the Iterator::Util module).

idir_walk

$iter = idir_walk ($path);

Returns the files in a directory tree, one by one. Its sort of like File::Find in slow motion.

Requires IO::Dir and Cwd.

ifile

$iter = ifile ($filename, %options);

Opens a file, generates an iterator to return the lines of the file.
%options is a reference to a hash of options. Currently, two options are supported:

chomp

chomp => boolean indicates whether lines should be chomped before being returned by the iterator. The default is true.

$/

$/ => value specifies what string to use as the record separator. If not specified, the current value of $/ is used.

"rs" or "input_record_separator" may be used as option names instead of "$/", if you find that to be more readable. See the English module.

Option names are case-insensitive.

ifile requires IO::File.
ifile_reverse

$iter = ifile_reverse ($filename, %options);

Exactly the same as "ifile", but reads the lines of the file backwards.
The input_record_separator option values undef (slurp whole file) and scalar references (fixed-length records) are not currently supported.

INTERFACE CHANGE

In version 0.01 of Iterator::IO, the "ifile" and ifile_reverse functions accepted their options in a different manner. This has now changed to operate via a hash reference of options. The old way will still work, but is deprecated and will be removed in a future release.

EXPORTS

This module exports all function names to the callers namespace by default.

DIAGNOSTICS

Iterator::IO uses Exception::Class objects for throwing exceptions. If youre not familiar with Exception::Class, dont worry; these exception objects work just like $@ does with die and croak, but they are easier to work with if you are trapping errors.

See the Iterator module documentation for more information on how to trap and handle these exception objects.

Parameter Errors

Class: Iterator::X::Parameter_Error

You called an Iterator::IO function with one or more bad parameters. Since this is almost certainly a coding error, there is probably not much use in handling this sort of exception.

As a string, this exception provides a human-readable message about what the problem was.

Exhausted Iterators

Class: Iterator::X::Exhausted

You called value on an iterator that is exhausted; that is, there are no more values in the sequence to return.

As a string, this exception is "Iterator is exhausted."

I/O Errors

Class: Iterator::X::IO_Error

This exception is thrown when any sort of I/O error occurs; this only happens with the filesystem iterators.

This exception has one method, os_error, which returns the original $! that was trapped by the Iterator object.

As a string, this exception provides some human-readable information along with $!.

Internal Errors

Class: Iterator::X::Internal_Error

Something happened that I thought couldnt possibly happen. I would appreciate it if you could send me an email message detailing the circumstances of the error.

<<less
Download (0.014MB)
Added: 2007-04-27 License: Perl Artistic License Price:
910 downloads
One-Wire Weather 0.82.0

One-Wire Weather 0.82.0


One-Wire Weather is a client program for Dallas Semiconductor / AAG 1-wire weather station kits. more>>
One-Wire Weather is a client program for Dallas Semiconductor / AAG 1-wire weather station kits, providing a graphical (animated) display to monitor outside temperature, wind speed and direction, rainfall, and humidity.
Extra temperature sensors may be added. A 1-wire "hub" may be used for improved reliability and range. Weather data may be logged to CSV files, parsed to command line programs, sent to the Henriksen Windows client, or uploaded to Web servers at Dallas, The Weather Underground, and HAMweather.
Enhancements:
- Changes to libusb calls, to operate correctly with recent Linux kernels.
- Added facility for waveform slew/timing adjustment for DS2490.
- Locale now set to POSIX when creating output for wunderground, &c - so you can log e.g. with comma as decimal separator, but wunderground gets a full stop.
- Rain from a remote source is integrated for upload (but please could people check if this works for you).
- Initial support for DS2760 - e.g. AAG TAI8560 thermocouple adapter (but the thermocouple Voltage isnt interpreted yet).
- Added facility for placing control characters in parser strings, as C-style escape sequences.
- Added dailyrain statistic for wunderground uploads, &c.
- Implemented rapid update for wunderground.
<<less
Download (0.43MB)
Added: 2007-07-12 License: Artistic License Price:
844 downloads
Amiga Research Operating System 20060207

Amiga Research Operating System 20060207


Amiga Research Operating System (AROS) is a portable and free desktop operating system. more>>
Amiga Research Operating System (AROS) is a portable and free desktop operating system aiming at being compatible with AmigaOS 3.1, while improving on it in many areas. The source code is available under an open source license, which allows anyone to freely improve upon it.

Goals

The goals of the AROS project is it to create an OS which:

1. Is as compatible as possible with AmigaOS 3.1.
2. Can be ported to different kinds of hardware architectures and processors, such as x86, PowerPC, Alpha, Sparc, HPPA and other.
3. Should be binary compatible on Amiga and source compatible on any other hardware.
4. Can run as a standalone version which boots directly from hard disk and as an emulation which opens a window on an existing OS to develop software and run Amiga and native applications at the same time.
5. Improves upon the functionality of AmigaOS.

To reach this goal, we use a number of techniques. First of all, we make heavy use of the Internet. You can participate in our project even if you can write only one single OS function. The most current version of the source is accessible 24 hours per day and patches can be merged into it at any time. A small database with open tasks makes sure work is not duplicated.

History

Some time back in the year 1993, the situation for the Amiga looked somewhat worse than usual and some Amiga fans got together and discussed what should be done to increase the acceptance of our beloved machine. Immediately the main reason for the missing success of the Amiga became clear: it was propagation, or rather the lack thereof. The Amiga should get a more widespread basis to make it more attractive for everyone to use and to develop for. So plans were made to reach this goal. One of the plans was to fix the bugs of the AmigaOS, another was to make it an modern operating system. The AOS project was born.

But exactly what was a bug? And how should the bugs be fixed? What are the features a so-called modern OS must have? And how should they be implemented into the AmigaOS?

Two years later, people were still arguing about this and not even one line of code had been written (or at least no one had ever seen that code). Discussions were still of the pattern where someone stated that "we must have ..." and someone answered "read the old mails" or "this is impossible to do, because ..." which was shortly followed by "youre wrong because ..." and so on.

In the winter of 1995, Aaron Digulla got fed up with this situation and posted an RFC (request for comments) to the AOS mailing list in which I asked what the minimal common ground might be. Several options were given and the conclusion was that almost everyone would like to see an open OS which is compatible to AmigaOS 3.1 (kickstart 40.68) on which further discussions could be based upon to see what is possible and what is not.

So the work began and AROS was born.
<<less
Download (18.3MB)
Added: 2006-03-28 License: Other/Proprietary License with Source Price:
1310 downloads
Sauerbraten 2007_08_19

Sauerbraten 2007_08_19


Sauerbraten is an experimental engine based on Cube, can be seen as more>>
Sauerbraten is an experimental engine based on Cube, can be seen as "Next-Gen Cube", or "Cube 2". Much like cube, the aim of this engine is not to produce the most eyecandy possible, but rather allow map/geometry editing to be done dynamically in-game, and make map editing a lot of fun.

Sauerbraten has an even simpler world model than cube (fewer exceptions, just one kind of building block), is quicker to edit geometry with, yet allows for significantly greater class of shapes. One way to see the transition from Cube to Sauerbraten is to say Cube was a 2-directional heightfield (floor and ceiling), and Sauerbraten is a 6-directional heighfield (heighfields can be modeled in all 6 directions).

The world consists of an octree of deformable cubes. It being an octree has just one important effect: it allows the mapper to work at any scale, from large landscape areas to small architectural details. The octree is largely invisible to the mapper though, he can arbitrarily break up larger cubes or merge them, and the engine takes care of the rest.

The deformable cubes are geometric shapes made out of maximally 8 vertices. In its maximum size, it is a regular cube that fills the entire octree node it sits in, as minimum size all 8 vertices coincide which is to say the cube is "empty". Anywhere in between theres a variety of slanted cubes and wedge shapes that are possible to any degree and orientation, and together with neighbouring cubes can form any shape easily.

The editor is similar to the one in Cube but much easier / direct to use, as there arent all the different kinds of cubes to worry about. Here, you can simply "push and pull" geometry with your mousewheel in 6 directions, depending on the orientation of the surface you are looking at. Modifier keys allow you to influence single vertices on a cube, connected vertices touching multiple cubes, edges, faces and entire cubes. Selections can be made to operate on more primitives at once. Many complex shapes are quick and easy to make. It is definitely the most fun way to model architecture to date.

The internal representation of a deformable cube is very different from a vertex based representation, and is based on "edge spans" which allows the engine to represent any kind of shape uniformly in just 12 bytes. This means it can hold great amounts of geometry in memory and maps on disk are small. To render this kind of geometry, the engine goes through a process of converting the internal representation to vertices using plane intersections based on the edge ranges, culls coinciding faces, merges vertices etc. to arrive at something which renders efficiently by hardware and caches this in chunks based on the octree. This allows Sauerbraten a significantly higher polygon throughput than Cube while maintaining its ability to have dynamic geometry.

The current implementation inherents all the non-world geometry related code from Cube, and as such works without modification: entities, AI, gameplay, network, console/script. For the new code, rendering and editing are close to done, physics and lighting are working quite well, level loading/saving is complete, SP & MP work, but plenty of more advanced stuff like occlusion culling & LOD is missing.

UPDATE: Sauerbraten has now started as a Cube community Open Source Engine (& Game) project. It interesting for developers & mappers, but maybe not players yet (though SP & MP do work). If you are interested in checking it out, or even in contributing, I suggest you visit the forums (see below).

NEWS: may 24 2005 release with lightmaps and working MP/SP gameplay! download from sourceforge below.
<<less
Download (133.1MB)
Added: 2007-08-20 License: GPL (GNU General Public License) Price:
800 downloads
My Media System 1.0.8.4

My Media System 1.0.8.4


My Media System is a media system with you in control. more>>
My Media System is a media system with you in control. It lets other applications such as MPlayer, VDR, or Xine take care of what they respectively do best, and integrates them into one system, that is easy to understand and operate.

By combining their individual strength, you get the best of all worlds, in one media application.

MMS is easy to install, configure and use. Its even translated to 9 languages so there a good chance its available in your native tongue.

<<less
Download (2.4MB)
Added: 2007-06-08 License: GPL (GNU General Public License) Price:
872 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5