Main > Free Download Search >

Free introduction to software for linux

introduction to

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 179
AI::Prolog::Introduction 0.739

AI::Prolog::Introduction 0.739


AI::Prolog::Introduction Perl module contains the what and the why of logic programming. more>>
AI::Prolog::Introduction Perl module contains the what and the why of logic programming.

You can skip this if you already know logic programming.

Note that most of this was pulled from my write-up about logic programming in Perl at http://www.perlmonks.org/?node_id=424075.

In Perl, generally you can append one list to another with this:

my @Z = (@X, @Y);

However, thats telling the language what to do. As sentient beings, we can look at that and infer more information. Given @Z and @X, we could infer @Y. Given just @Z, we could infer all combinations of @X and @Y that can be combined to form @Z.

Perl cannot do that. In logic programming, however, by defining what append() looks like, we get all of that other information.

In Prolog, it looks like this:

append([], X, X).
append([W|X],Y,[W|Z]) :- append(X,Y,Z).

(Theres actually often something called a "cut" after the first definition, but well keep this simple.)

What the above code says is "appending an empty list to a non-empty list yields the non-empty list." This is a boundary condition. Logic programs frequently require a careful analysis of boundary conditions to avoid infinite loops (similar to how recursive functions in Perl generally should have a terminating condition defined in them.)

The second line is where the bulk of the work gets done. In Prolog, to identify the head (first element) of a list and its tail (all elements except the first), we use the syntax [head|tail]. Since ":-" is read as "if" in Prolog, what this says if we want to concatenate (a,b,c) and (d,e,f):

Given a list with a head of W and a tail of X:

@list1 = qw/a b c/; (qw/a/ is W, the head, and qw/b c/ is X, the tail)

If its appended to list Y:

@Y = qw/d e f/;

We get a list with a head of W and a tail of Z:

@list2 = qw/a b c d e f/;

Only if X appended to Y forms Z:

X is qw/b c/. Y is qw/d e f/. Z is qw/b c d e f/.

<<less
Download (0.068MB)
Added: 2007-07-04 License: Perl Artistic License Price:
842 downloads
Infrared-HOWTO 3.7

Infrared-HOWTO 3.7


Infrared-HOWTO explains how to use the software provided by the Linux/IrDA project. more>>
Infrared-HOWTO explains how to use the software provided by the Linux/IrDA project.

The Infrared-HOWTO (formerly known as the IR-HOWTO) is an introduction to Linux and infrared devices and how to use the software provided by the Linux/IrDA project.

This package uses IrDA(TM) compliant standards.

Remote Control (RC) via infrared is not the aim of the project, though this topic is partly treated in the HOWTO.
<<less
Download (MB)
Added: 2006-10-03 License: (FDL) GNU Free Documentation License Price:
1121 downloads
MapGeneration Project 0.3.0

MapGeneration Project 0.3.0


MapGeneration Project is a project featuring a server and helper programs to collect GPS information. more>>
MapGeneration Project is a project featuring a server and helper programs to collect GPS information from various sources and to then automatically generate a continuously improved, time annotated road map.
Nowadays gps-receivers are quite cheap and many people use them for route planning in their cars. On the other hand updated maps for the route planing systems are relativly expansive, if available at all.
The idea is to collect the data that people have recorded with their gps-receivers and combine it into one freely available road map. Besides being cheap and always current this map would also contain actual driving time information: Route planning on such a map would not have to use road type based approximations to calculate the fasted route.
In the MapGeneration Project we implement such a program and the end user tools needed to access the data. At the moment we concentrate on two programs: The MapGenerator itself and the MapGeneratorGUI used to administer the generator.
The MapGenerator is a server that accepts incoming data via network and combines the received road information into one big map. As the map might become quite big a database is used as storage. The MapGeneratorGUI connects to this database and displays the map.
As the best way to understand a program is to use it we will now give a short introduction to using the program.
Enhancements:
New features
- (Server) New filter to detect gaps in the input traces.
- (Server) Calculates and outputs total length and time of processed traces.
- (Server) Added full support for more than one processing thread, 2 is default now.
Changes
- (Server) Rewrote TraceServer and TraceConnection to support commoncpp2 1.0.x.
- (Server) Server tries to bind to 127.0.0.1 if no interfaces are found.
- (Server) Added curvature as a criterion for merging -> much better merging!
- (Server) Improved avoidance of double processing of nodes.
- (Server) Moved parsing of traces into TraceFilter.
- (General) Added lots of new methods to handle distances, bearings and interpolation.
- (General) Configuration system supports boolean values.
- (Buildsys) Changed parameters to specify config files to --with-wx-config and --with-ccgnu2-config
Bugfixes
- (Server) Protected data handling between thread with mutexs.
- (GUI) Fixed some string literals for full unicode support.
- (General) Cache: Fixed all size calculations and the size handling system.
- (General) Raised requirements for wxWidgets to 2.6 (beta versions since 2.5.3 should work).
- (General) Some small fixes to build with commoncpp2 1.0.x.
<<less
Download (0.57MB)
Added: 2005-08-02 License: GPL (GNU General Public License) Price:
1543 downloads
IRCTree 0.10

IRCTree 0.10


IRCTree is a project which shows a tree representing the structure of an IRC network in ASCII. more>>
IRCTree is a project which shows a tree representing the structure of an IRC network in ASCII.

Introduction

IRCTree shows a tree in ascii format representing the structure of an
IRC network.

You need netcat (nc) for it to work.

Example uses

$ irctree irc.swipnet.se

Compiling

No need to compile, but you can copy it into /usr/local/bin with make install.
<<less
Download (0.008MB)
Added: 2007-04-20 License: GPL (GNU General Public License) Price:
919 downloads
Persistent::DBI 0.50

Persistent::DBI 0.50


Persistent::DBI is an Abstract Persistent Class implemented using a DBI Data Source. more>>
Persistent::DBI is an Abstract Persistent Class implemented using a DBI Data Source.

SYNOPSIS

### we are a subclass of ... ###
use Persistent::DBI;
@ISA = qw(Persistent::DBI);

ABSTRACT

This is an abstract class used by the Persistent framework of classes to implement persistence using DBI data stores. This class provides the methods and interface for implementing Persistent DBI classes. Refer to the Persistent
documentation for a very thorough introduction to using the Persistent
framework of classes.

This class is part of the Persistent DBI package which is available from:

http://www.bigsnow.org/persistent
ftp://ftp.bigsnow.org/pub/persistent

Before we get started describing the methods in detail, it should be noted that all error handling in this class is done with exceptions. So you should wrap an eval block around all of your code. Please see the Persistent documentation for more information on exception handling in Perl.

<<less
Download (0.010MB)
Added: 2007-05-19 License: Perl Artistic License Price:
889 downloads
Embperl::Intro 2.2.0

Embperl::Intro 2.2.0


Embperl::Intro is an introduction to Embperl. more>>
Embperl::Intro is an introduction to Embperl.

Embperl has started as a Perl module for simply embedding Perl into HTML and has grown to a full featured system to build dynamic content (not only) under mod_perl. The version 1.x focus on HTML documents, also it could be used for any sort of ascii files, and brings a lot of features especialy usefull in a web-environment. This features includes handling of form data and dynamic HTML tables/lists, session management and context sensitv escaping and unescaping. More over you can break up your documents in small reusable components/objects and build a object-oriented website out of such objects, by using inheritence and specificly overriding parts of the page. Also Embperl can cope with pages that are screw up by high-level HTML editors, so your designer can still use there favorite tool.

Embperl 2.0, which is a complete rewrite of the Embperl core, is not even much faster then 1.x, but adds new possibilities. You can extent or define your own syntax, thus giving the chance to trigger actions on certain tags or inventing your own tags (creating a taglib). It is much more modularized, so specific steps could be replaced by custom processor and more then one processor can act on a document before it goes to the browser (just like a Unix pipe). To enhances performance 2.0 indrocuces caching of the output or intermediate steps.

Due to this modularization, it is now possible, to replace Embperl parser by an XML parser and to do XML processing, for example by pluging in an XSLT processer in the processing pipeline. Embperl 2.0 can utilize libxml2 and libxslt for XML and XSLT processing.

All versions of Embperl can be used offline (as a normal CGI script or as a module from other Perl code), but its real power comes when running under mod_perl and Apache. Its directly integrated with Apache and mod_perl to achieve the best performance by directly using Apache functions and precompiling your code to avoid a recompile on every request.

<<less
Download (0.65MB)
Added: 2006-09-15 License: Perl Artistic License Price:
1134 downloads
XML::SAX::Intro 0.14

XML::SAX::Intro 0.14


XML::SAX::Intro is an Introduction to SAX Parsing with Perl. more>>
XML::SAX::Intro is an Introduction to SAX Parsing with Perl.

XML::SAX is a new way to work with XML Parsers in Perl. In this article well discuss why you should be using SAX, why you should be using XML::SAX, and well see some of the finer implementation details. The text below assumes some familiarity with callback, or push based parsing, but if you are unfamiliar with these techniques then a good place to start is Kip Hamptons excellent series of articles on XML.com.

Replacing XML::Parser

The de-facto way of parsing XML under perl is to use Larry Wall and Clark Coopers XML::Parser. This module is a Perl and XS wrapper around the expat XML parser library by James Clark. It has been a hugely successful project, but suffers from a couple of rather major flaws. Firstly it is a proprietary API, designed before the SAX API was conceived, which means that it is not easily replaceable by other streaming parsers. Secondly its callbacks are subrefs. This doesnt sound like much of an issue, but unfortunately leads to code like:

sub handle_start {
my ($e, $el, %attrs) = @_;
if ($el eq foo) {
$e->{inside_foo}++; # BAD! $e is an XML::Parser::Expat object.
}
}

As you can see, were using the $e object to hold our state information, which is a bad idea because we dont own that object - we didnt create it. Its an internal object of XML::Parser, that happens to be a hashref. We could all too easily overwrite XML::Parser internal state variables by using this, or Clark could change it to an array ref (not that he would, because it would break so much code, but he could).

The only way currently with XML::Parser to safely maintain state is to use a closure:

my $state = MyState->new();
$parser->setHandlers(Start => sub { handle_start($state, @_) });

This closure traps the $state variable, which now gets passed as the first parameter to your callback. Unfortunately very few people use this technique, as it is not documented in the XML::Parser POD files.

Another reason you might not want to use XML::Parser is because you need some feature that it doesnt provide (such as validation), or you might need to use a library that doesnt use expat, due to it not being installed on your system, or due to having a restrictive ISP. Using SAX allows you to work around these restrictions.

<<less
Download (0.057MB)
Added: 2006-09-12 License: Perl Artistic License Price:
1137 downloads
Embperl::IntroEmbperlObject 2.2.0

Embperl::IntroEmbperlObject 2.2.0


Embperl::IntroEmbperlObject is an introduction to EmbperlObject. more>>
Embperl::IntroEmbperlObject is an introduction to EmbperlObject.

This tutorial is intended as a complement to the Embperl documentation, not a replacement. We assume a basic familiarity with Apache, mod_perl, and Perl, and the Embperl documentation. No prior experience with EmbperlObject is assumed.

The real purpose here is to give a clearer idea of how EmbperlObject can help you to build large websites. We give example code which could serve as a starting template for your own projects, and hints about best practices which have come out of real experience using the toolkit. As always, there is more than one way to do it!

Since EmbperlObject is an evolving tool, it is likely that these design patterns will evolve over time, and it is recommended that the reader check back on the Embperl website for new versions from time to time.

<<less
Download (0.65MB)
Added: 2006-10-14 License: Perl Artistic License Price:
1105 downloads
SVK::Help::Intro 1.08

SVK::Help::Intro 1.08


SVK::Help::Intro is a introduction to svk. more>>
SVK::Help::Intro is a introduction to svk.

svk is an open source distributed version control system which is designed to interoperate with Subversion. Like other version control systems, it keeps track of each change you make to a project and allows you to maintain multiple parallel tracks of development. svk also has a number of powerful features which are rarely found in other version control systems.

svk has been designed from the ground up to support development models that are simple and intuitive for software developers. It has advanced smart branching and merging semantics that make it easy to maintain multiple parallel lines of development and painless to merge changes across branches. svks built in patch manager makes it easy for non-committers to share changes among themselves and with project maintainers.

svk provides powerful support for distributed development. Every svk client is capable of fully mirroring remote Subversion repositories so that you have full access to a projects history at any time, even when they are off the network or on the wrong side of a firewall. You can branch a remote project at any point in that projects history, whether or not you have write access to that projects repository. Later, you can integrate changes from the projects master server (usually with a single command) or push your branch up to another Subversion repository.

<<less
Download (0.26MB)
Added: 2006-10-30 License: GPL (GNU General Public License) Price:
1089 downloads
libredblack 1.3

libredblack 1.3


libredblack is a library to provide the RedBlack balanced tree searching and sorting algorithm. more>>
libredblack is a library to provide the RedBlack balanced tree searching and sorting algorithm.

The algorithm was taken from the book "Introduction to Algorithms" by Cormen, Leiserson & Rivest. Frankly I never entirely understood it, but it most definately works!

What is the problem with normal binary trees?: A standard binary tree only works well if the original data is provided in a random order (random in terms of the key being sorted on). If however the data is provided in order, then the tree becomes very un-balanced and searches degrade into nothing more than a linked list.

How is the RedBlack tree different?: The RedBlack tree acts in a way to keep the overall tree fairly balanced as new data is loaded in.

How does it work?: The tree is always organised such that it has the following properties:

Every node is either Red or Black.

A leaf node (a dummy empty node at the end of the tree) is always Black.
If a node is Red then its children are Black.

Every path from the root to a leaf contains the same number of Black nodes.
So from 3 & 4 above, we can see that the longest path (alternating Red and Black nodes) is only twice as long as the shortest path (all Black nodes). Thus the tree remains fairly balanced.

Great! How does it maintain those properties?: Ah, well, thats where I get a bit hazy. I know that it does this by adding Red nodes and then rotating the tree elements and changing the colours to sort out times when two Red nodes become parent-child (breaking rule 3).
<<less
Download (0.006MB)
Added: 2006-05-25 License: GPL (GNU General Public License) Price:
1248 downloads
CTF Beta2

CTF Beta2


CTF project is a multi-agent capture-the-flag framework for education. more>>
CTF project is a multi-agent capture-the-flag framework for education.
This project was started by Jason Rohrer during the fall of 2000 and was initially used to teach CS 472, Introduction to AI, at Cornell University.
A homework assignment was given that asked students to design a CTF agent for the framework.
Students in the class responded to the assignment with great enthusiasm, and many of their final agents far exceeded our expectations (one student group went so far as to design a genetic algorithm to evolve a team of agents).
CTF forces students to explore the issues surrounding agents that operate in a limited information environments.
The framework is flexible enough to allow almost any possible implementation of agent control, from the simplest reactive agents, to agents that query powerful knowledge bases, to neural network agents that are trained by back propagation or reinforcement methods.
When using this framework at Cornell, we left the assignment open-ended. However, you can use this framework in your own class to teach a specific agent control concept (by forcing every student to implement a reinforcement learning system, for example).
Main features:
- Runtime loading of agent classes-- plugging new agents into the framework is incredibly easy
- Runtime loading of obstacle maps
- Automatic round-robin tournament system
- Automatic grading-- an email-ready message is generated for each student team at the end of the tournament (a script for sending out the email messages is included); the point system can be completely configured
- Assignment handout-- click here to see an example of the instructions we handed out to students for CS 472 at Cornell
- Licensed under GPL-- if the framework doesnt work for you as is, you can improve it yourself
<<less
Download (0.11MB)
Added: 2006-10-30 License: GPL (GNU General Public License) Price:
1097 downloads
VirtualBox 1.4.0

VirtualBox 1.4.0


VirtualBox application is a family of powerful x86 virtualization products for enterprise as well as home use. more>>
VirtualBox application is a family of powerful x86 virtualization products for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product for enterprise customers, it is also the only professional solution that is freely available as Open Source Software under the terms of the GNU Public License (GPL). See "About VirtualBox" for an introduction; see "InnoTek" for more about our company.

Presently, VirtualBox runs on Windows and Linux 32-bit hosts and supports a large number of guest operating systems including but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista), DOS/Windows 3.x, Linux (2.4 and 2.6), and OpenBSD.

VirtualBox is being actively developed with frequent releases and has an ever growing list of features, supported guest operating systems and platforms it runs on. VirtualBox is a community effort backed by a dedicated company: everyone is encouraged to contribute while InnoTek ensures the product always meets professional quality criteria.

<<less
Download (13MB)
Added: 2007-06-06 License: Other/Proprietary License Price:
1147 downloads
CAELinux Beta 3b

CAELinux Beta 3b


CAELinux is a live DVD Linux distribution dedicated to computer aided engineering and finite element analysis. more>>
CAELinux is a live DVD Linux distribution dedicated to computer aided engineering and finite element analysis. Based on PcLinuxOs, it features a full software solution for professional 3D FE analysis from CAD geometry.
It includes the Salome 3D pre/post processor, Code_Aster non-linear/multi- physics FE solver, GMSH 3D pre/post processor, GNU Octave, Scilab, and more.
Enhancements:
- This version is principaly an OS update of the previous 3a version.
- The system was upgraded to the latest PCLinuxOs 0.93.
- The kernel was updated 2.6.16 Kernels for SMP and 4Gb were added.
- 3D drivers for Nvidia and ATI were added.
- Salome was updated to 3.2.2.
- Code-Aster was updated to STA9.0.
- Calculix was updated to 1.6.
- GMSH was updated to 2.0.
- Tutorials and an introduction video were added.
- The Code-Aster documentation has been translated to English.
<<less
Download (MB)
Added: 2007-04-15 License: GPL (GNU General Public License) Price:
565 downloads
Persistent::Oracle 0.50

Persistent::Oracle 0.50


Persistent::Oracle is a persistent class implemented using an Oracle database. more>>
Persistent::Oracle is a persistent class implemented using an Oracle database.

SYNOPSIS

use Persistent::Oracle;
use English; # import readable variable names like $EVAL_ERROR

eval { ### in case an exception is thrown ###

### allocate a persistent object ###
my $emp = new Persistent::Oracle(dbi:Oracle:ORCL,
scott, tiger, emp);

### define attributes of the object ###
$emp->add_attribute(empno, ID, Number, undef, 4);
$emp->add_attribute(ename, Persistent, VarChar, undef, 10);
$emp->add_attribute(job, Persistent, VarChar, undef, 9);
$emp->add_attribute(mgr, Persistent, Number, undef, 4);
$emp->add_attribute(hiredate, Persistent, DateTime, undef);
$emp->add_attribute(sal, Persistent, Number, undef, 7, 2);
$emp->add_attribute(comm, Persistent, Number, undef, 7, 2);
$emp->add_attribute(deptno, Persistent, Number, undef, 2);

### query the datastore for some objects ###
$emp->restore_where(qq{
sal > 1000 and
job = CLERK and
ename LIKE M%
}, "sal, ename");
while ($emp->restore_next()) {
printf "ename = %s, emp# = %s, sal = %s, hiredate = %sn",
$emp->ename, $emp->empno, $emp->sal, $emp->hiredate;
}
};

if ($EVAL_ERROR) { ### catch those exceptions! ###
print "An error occurred: $EVAL_ERRORn";
}

ABSTRACT

This is a Persistent class that uses an Oracle database table to store and retrieve objects. This class can be instantiated directly or subclassed. The methods described below are unique to this class, and all other methods that are provided by this class are documented in the Persistent documentation. The Persistent documentation has a very thorough introduction to using the Persistent framework of classes.

<<less
Download (0.011MB)
Added: 2007-05-19 License: Perl Artistic License Price:
889 downloads
The friendly interactive shell 1.22.3

The friendly interactive shell 1.22.3


The friendly interactive shell is a shell focused on interactive use, discoverability, and friendliness. more>>
The friendly interactive shell is a user friendly shell intended mostly for interactive use.
- If you want to see screenshots of fish in action, click here.
- If you are familiar with the basics of shells,read this page for a short introduction to fish.
- If you are dont know how to use a shell, read this page for a longer presentation on how to use fish.
<<less
Download (0.75MB)
Added: 2007-02-08 License: GPL (GNU General Public License) Price:
991 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5