[3810] in linux-announce channel archive

home help back first fref pref prev next nref lref last post

Linux-Announce Digest #102

daemon@ATHENA.MIT.EDU (Digestifier)
Wed Mar 20 16:25:05 2002

Message-ID: <20020320211304.2848.qmail@senator-bedfellow.mit.edu>
From: Digestifier <Linux-Announce-Request@senator-bedfellow.mit.edu>
To: Linux-Announce@senator-bedfellow.mit.edu
Reply-To: Linux-Announce@senator-bedfellow.mit.edu
Date:     Wed, 20 Mar 2002 16:13:02 EST

Linux-Announce Digest #102, Volume #4          Wed, 20 Mar 2002 16:13:02 EST

Contents:
  HTML.Template.java (Frederick Noronha)
  Learning Assembly Language under Linux just got easy ("Randall Hyde")
  [SLUG] Suncoast LUG Meetings ("Paul M. Foster")
  The Book of SAX, released by No Starch Press (Amanda Staab)
  Linux Users Groups Becoming Global ("AMLUG Webteam")
  Meta-CVS (Kaz Kylheku)
  Linux version of HLA (High Level Assembler) now available! ("Randall Hyde")

----------------------------------------------------------------------------

From: Frederick Noronha <fred@bytesforall.org>
Subject: HTML.Template.java
Date: Wed, 20 Mar 2002 13:26:32 CST

>From Philip S Tellis <philip.tellis@iname.com>

========== Forwarded message ==========

hi, just thought I'd let you know about developments on my contributions 
to the OSI.

I've started a new project - HTML.Template.java.  This is a templating 
system for servlet writers.  It is based on the HTML::Template perl 
module written by Sam Tregar.  The purpose of the module is to separate 
code from design - which is so important in software development.  The 
project aims to be 100% compatible with HTML::Template and not include 
any extra features.  Ideally, we'd like to use the same templates for 
our perl and java programs.

You can check out the project homepage at 
http://html-tmpl-java.sourceforge.net/

the code is distributed under either the GPL or the Artistic licence.


Apart from that project that I run completely, I'm also contributing to 
the everybuddy project.  Everybuddy is an instant messenger client for 
MSN, Yahoo, AOL, ICQ, Jabber and more.  The new modular structure means 
that anyone can write a module for a new service and plug it in.  You 
don't even have to restart everybuddy for that.

My contribution involves a lot of work to the currently unmaintained 
yahoo code.  I've added an option for invisible logins (a must for 
people like me who get bombarded with chat requests the moment i appear 
online).  I've also added code to authorise add contact requests, and 
fixed a few bugs that were present initially and cause eb to either 
crash or hang.

You can see the everybuddy homepage at http://www.everybuddy.com/.  It 
hasn't been updated in a while.

I've also contributed code to the namazu project.  namazu is a search 
engine that uses a full text index, ie, no database required.  This is 
ideal in situations where you have a small website, and don't need a 
database.  There's no point installing a database server only for your 
search engine.  Namazu helps out here.  Namazu is a Japanese project 
(namazu is the japanese word for catfish).  You can see the namazu 
project at http://www.namazu.org/

My contributions include adding code for running the search through 
server side includes and passing the index name through the PATH_INFO 
variable instead of a query string (this helped in integrating it with 
mailman).

These two are officially part of the namazu tree (the second one will 
make it into 2.1).

I've also developed a namazu add-on that handles stopwords and synonyms.  
If you've used google, you'll have seen stop words before.  Basically, 
there's no point searching for words like `a, to, the, it' which occur 
in almost every document present.  A stop list is a list of all such 
words, and my code basically eliminates them from the search.

The synonym part was developed as part of our work at NCST.  While 
analysing search patterns, (the search is mainly used by students at 
NCST), I noticed three things.

- people entered questions.
  eg: When is the CST exam?
      How much are the fees for G-level?
      etc.
- people can't spell
- people used alternate terms (synonyms :) for words on the pages
  eg: technical assistant instead of technical associate
     
  or `umbrella words' - that covered a broad range.
  eg: oops for oopj, oopc and oops
      adbms for dbms, rdbms, odbms and adbms

naturally, the exact match search would return zero results in most 
cases.  this wasn't the kind of service we wanted to provide (I'll get 
to the kind we wanted later).

so, I developed the synonyms add-on, which basically replaces words with 
their alternatives.

so, I have things like this:

when /when|da(te|y)|time|sun|mon(th)?|tue|wed|thu|fri|sat|week/
where /where|place|centre|location/
conducted /conduct|held/
qualification /qualif|require|score/
begin /begin|start/
oops /oop[cjs]/
adbms /[a-z]dbms|advance database/
assistantship /associate/
assistant /ass(ociate|istant)/
assistanceship /associate/
cursors /curses/
collage /college/


the word on the left is what is to be replaced, the regex on the right 
is what it is replaced with.

so, if someone searches for `when', we actually search for when or day 
or date or time or sun, mon, tue..., week, month.

similarly for the others.

the last two you see are common spelling mistakes specific to our 
domain.

For the linux users group, I have other synonyms, eg:

indianization /(indian|local)i[sz]ation/


these two patches are useful to a few people, but the namazu developers 
have decided not to include them in the main tree yet.  We do however 
make them available to anyone who wants them under the terms of namazu 
itself (GPL).

Our ultimate goal in this kind of a search system is to build a system 
(Sandesh) that will answer student queries by email.  A student sends in 
a standard query to some staff (sometimes they even send it to the 
director!).  The staff will forward the mail to Sandesh.  Sandesh in 
turn will analyse the mail, and look for text that looks like a 
question or something the student wants to know.  It will then generate 
a search string, and pass it on to our search engine.  The search engine 
will return a list of pages, that Sandesh will look at, and return clips 
from the page that match the query.

This is good for cases where we have FAQs on a single page (in fact, the 
perldoc -q method comes to mind).

As far as the official open source projects from NCST goes, I guess I 
should just go ahead and tell you what they are.

The first one (that we're sure of releasing) is a web based calendar.  
It was made primarily for scheduling courses over the web, so students 
could check up on their classes.  The design was extensible, and we 
managed to use it for different options, even sending out birthday 
wishes for staff in our department.

We're now planning on releasing it part by part.  Each part would be 
usable on its own for different projects.  The first that will be 
released is the Calendar perl module.  This is nothing but an 
abstraction around the unix cal program.  It provides an abstract 
object oriented interface to cal for perl programmers.  Additionally, it 
has hooks to attach text to each date.  This will be used in conjunction 
with a Schedule class that will populate the Calendar with events.

The only delay right now is in setting up a download server in NCST (or 
at least in India) to host these.  We had initially planned on 
sourceforge, and I even created the account there, but then their terms 
of service changed, and we decided not to go ahead.  The next option was 
savannah from gnu, but at this time we decided that it would be good to 
have a server in India itself.

Well, hope you find this information useful.

Philip

-- 
One uses power by grasping it lightly.  To grasp with too much force is to be 
taken over by power, thus becoming its victim.

-Bene Gesserit Axiom


Visit my webpage at http://www.ncst.ernet.in/~philip/
Read my writings at http://www.ncst.ernet.in/~philip/writings/

  MSN  philiptellis                         Yahoo!  philiptellis
  AIM  philiptellis                         ICQ     129711328

##########################################################################
# Send submissions for comp.os.linux.announce to: cola@stump.algebra.com #
# PLEASE remember a short description of the software and the LOCATION.  #
# This group is archived at http://stump.algebra.com/~cola/              #
##########################################################################


------------------------------

From: "Randall Hyde" <rhyde@cs.ucr.edu>
Subject: Learning Assembly Language under Linux just got easy
Date: Wed, 20 Mar 2002 13:26:32 CST

The reknown text "The Art of Assembly Language
Programmng" has just been made available in a
special Linux edition!

The "Art of Assembly" is a 1,500 page University-level
assembly language programming text that covers
x86 assembly language programming from the beginning
to advanced levels.  It is available as an e-text from
http://webster.cs.ucr.edu.  You may download a free
copy for your personal use (I do allow college instructors
to use the text with their courses, including posting a local
copy on their machines, but I do request that such instructors
send me an email to get copyright clearance first).

The "Art of Assembly" has been written specifically for those
who know a high level language like C/C++, Java, Modula-2,
Pascal/Delphi/Kylix, etc.  It employs the High Level Assembler
(HLA) which is also freely available on Webster.  HLA runs on
both Linux and Windows, so students can develop homework
assignments under either OS at home and deliver their projects
on the "other" OS at school.  Carefully written HLA programs
will run under either OS with nothing more than a recompile.
Therefore, those who learn assembly programming with
"Art of Assembly" under Linux will be able to immediately apply
their skills to Windows (and vice-versa).

HLA includes (and "Art of Assembly" employs) a very full-featured
Standard Library package containing hundreds of very useful
assembly language functions, macros, data declarations, and
other source code.  The Standard Library is portable across Linux
and Windows, so calls to the standard library work under both
OSes.  The "Art of Assembly" employs the HLA Standard Library
to let its readers learn to write code that is portable across the
two OSes.

HLA also includes a special "Linux" module containing constants,
data types, prototypes, and wrapper functions that allow HLA
programmers to make Linux system calls (obviously, such calls
are not portable across OSes).

For more information on HLA and the "Art of Assembly" text,
please check out Webster at the following URL:
http://webster.cs.ucr.edu

If you are a College/University instructor, there are a couple of
essays concerning teaching assembly language programming
on Webster than you may find useful.
Randy Hyde


##########################################################################
# Send submissions for comp.os.linux.announce to: cola@stump.algebra.com #
# PLEASE remember a short description of the software and the LOCATION.  #
# This group is archived at http://stump.algebra.com/~cola/              #
##########################################################################


------------------------------

From: "Paul M. Foster" <paulf@quillandmouse.com>
Subject: [SLUG] Suncoast LUG Meetings
Date: Wed, 20 Mar 2002 13:26:32 CST


                     *************************************
                     * Suncoast Linux Users Group (SLUG) *
                     *        Meeting Schedule           *
                     *************************************


BRANDON II ***********************************************      

     21 March 19:00-21:00 Brandon
     (third Thursday  of each month)
     Computer Advantage Store
     217 Brandon Town Center Drive
     Brandon, FL

     See http://www.suncoastlug.org/meetings.html#BrandonII for directions.

DUNEDIN **************************************************

     23 March 10:00-12:00 Dunedin
     (fourth Saturday of each month)
     Dunedin Public Library,
     223 Douglas Ave.,
     Community Room A.
     Dunedin, FL

     See http://www.suncoastlug.org/meetings.html#dunedin for directions.

SARASOTA *************************************************

     26 March 19:00-21:00 Sarasota
     (fourth Tuesday of each month)
     Certification Inc.
     2033 Wood St Suite 220
     Sarasota, FL

     See http://www.suncoastlug.org/meetings.html#sarasota for directions.

BRANDON **************************************************

     4 April 20:00-22:00 Brandon
     (first Thursday  of each month)
     Brandon Barnes & Noble
     Brandon Town Center
     Brandon, FL

     See http://www.suncoastlug.org/meetings.html#Brandon for directions.


NEW PORT RICHEY ******************************************

     6 April 13:00-15:00 New Port Richey
     (first Saturday of each month)
     New Port Richey Public Library
     (second level meeting rooms)
     5939 Main St.
     New Port Richey, FL

     See http://www.suncoastlug.org/meetings.html#npr for directions.


TAMPA ****************************************************

     10 April 19:00-21:00 Tampa
     (second Wednesday of each month)
     PricewaterhouseCoopers -- Room 684
     3109 W. Dr. Martin Luther King Jr, Blvd
     Lakepointe I Building
     Tampa, FL 33607

     See http://www.suncoastlug.org/meetings.html#tampa for directions.

***********************************************************

ACTIVITIES:

     Meetings include:

     1) Presentation: As indicated.

     2) Question & Answer Session.

     3) Raffle and free stuff!

     Bring your boxes, questions, problems, and plenty of good cheer!
     (And don't forget to start your installs early!)

##########################################################################
# Send submissions for comp.os.linux.announce to: cola@stump.algebra.com #
# PLEASE remember a short description of the software and the LOCATION.  #
# This group is archived at http://stump.algebra.com/~cola/              #
##########################################################################


------------------------------

From: Amanda Staab<amanda@nostarch.com>
Subject: The Book of SAX, released by No Starch Press
Date: Wed, 20 Mar 2002 13:26:56 CST
Reply-To: amanda@nostarch.com


For Immediate Release
March 20th, 2002
For a review copy, cover art, or an interview with the authors, contact Amanda Staab at amanda@nostarch.com or 415-863-9900.

NEW BOOK TEACHES HOW TO USE SAX TO BUILD HIGH PERFORMANCE XML APPLICATIONS

San Francisco, CA--XML has become an industry standard for everything from transmitting invoices to drawing pictures. And while there are many different APIs for working with XML documents, the Simple API for XML (SAX) is the leader for event-driven XML processing. Used by open source projects like Apache and by corporate users like Sun, IBM, Oracle, and Microsoft, SAX provides users with an economical, high-performance interface to XML documents. "Under the covers of most 'higher-level' XML API's, you'll find SAX as the driving force," says W. Scott Means, co-author of THE BOOK OF SAX (No Starch Press, $39.95 US, http://www.nostarch.com/?sax). "SAX is one of the best kept secrets of XML."

Popular, useful, and efficient, SAX still has little documentation for developers who need to write SAX applications. "We wrote this book to fill the gap in documentation and explain the benefits of SAX to the developer community," says Michael A. Bodie, co-author. The resulting book is a comprehensive tutorial and reference for SAX 2.0. Bodie and Means teach readers how to develop a fully functioning SAX application as well as a complete, non-validating XML 1.0 parser that implements the SAX 2.0 API. "The book is organized to progressively introduce the most commonly used features of SAX very early on," says Means. Numerous examples show readers how to use SAX to solve XML parsing problems that are almost impossible to address with tree-based technologies-including real-time parsing, very large documents, and high-performance applications. 

Bodie and Means teach readers how to:
* Get a SAX 2.0 application up and running quickly
* Parse large XML documents without draining a computer's resources 
* Handle errors, work with InputSources, and capture DTD information 
* Use the namespace facilities added to SAX 2.0
* Build an XML parser using support classes provided in the SAX 2.0 API
* Migrate applications and parsers from SAX 1.0 to SAX 2.0

THE BOOK OF SAX is a complete tutorial and reference, written by experienced XML authors. The book also includes the Microsoft MSXML 3.0 API reference. 

ABOUT THE AUTHORS
W. Scott Means has been a professional software developer since 1988 and was one of the original developers of OS/2 1.1 and Windows NT. He is the author of Strategic XML (Sams), co-author of XML in a Nutshell (O'Reilly), and is currently the CEO of Enterprise Web Machines (www.enterprisewebmachines.com). 

Michael A. Bodie has been a software developer for 15 years. A former member of the engineering staff of the Superconducting Super Collider, he has consulted for top Fortune 100 companies, including NCR, Motorola, Georgia-Pacific, and FleetBoston Financial. He is currently the Chief Architect for Enterprise Web Machines.

ADDITIONAL RESOURCES
* Look at the book's table of contents at http://www.nostarch.com/?sax_toc
* For more information about SAX, see http://www.saxproject.org/

The Book of SAX: The Simple API for XML
By W. Scott Means and Michael A. Bodie
ISBN 1-886411-77-8, 432 pages, $29.95 ($44.95 Cdn)
Publication Date: April 2002
800-420-7240
http://www.nostarch.com

About No Starch Press
Founded in 1994, No Starch Press, Inc. is an independent publishing company committed to producing readable, information-packed computer books that make a difference. We focus on Open Source, Web development, computer security, programming tools, and alternative operating systems. 

###

____
To be removed from this list, reply with "Remove" in your message.

##########################################################################
# Send submissions for comp.os.linux.announce to: cola@stump.algebra.com #
# PLEASE remember a short description of the software and the LOCATION.  #
# This group is archived at http://stump.algebra.com/~cola/              #
##########################################################################


------------------------------

From: "AMLUG Webteam" <webmaster@amlug.org>
Subject: Linux Users Groups Becoming Global
Date: Wed, 20 Mar 2002 13:26:47 CST

Linux Users Groups are no longer restricted to a specific region of the
world and are becoming global. The first Global Linux Users Group has been
counted by the LUG counter project.

AMLUG is the first listed global Linux Users group listed on the Linux Users
Group Counter.
For more details see http://lugww.counter.li.org/groups.cms?&cc=99&rc=99

AMLUG has a website at http://www.amlug.org or to contact us email
webmaster@amlug.org

AMLUG Webteam
webmaster@amlug.org







##########################################################################
# Send submissions for comp.os.linux.announce to: cola@stump.algebra.com #
# PLEASE remember a short description of the software and the LOCATION.  #
# This group is archived at http://stump.algebra.com/~cola/              #
##########################################################################


------------------------------

Date: Wed, 20 Mar 2002 13:26:47 CST
From: Kaz Kylheku <kaz@ashi.footprints.net>
Subject: Meta-CVS

Meta-CVS is a version control system layered on CVS. It uses CVS to
store an alternate representation of the file set, allowing for
directory structure versioning, and also for the avoidance of certain
CVS problems related to adding and removing files. Meta-CVS uses the
CVS client interface only; nothing needs to be set up on a CVS
repository server (the exception to this is the CVS-to-Meta-CVS
conversion command, which must be run over a repository directory).

Requirements:

        - GNU/Linux with glibc2
        - CLISP built with glibc2 bindings (see installation).
        - /dev/urandom device
        - CVS
        - RCS (needed only by CVS-to-Meta-CVS repository conversion
          command which is under construction as of Meta-CVS 0.9).

Home page: http://users.footprints.net/~kaz/mcvs.html

Meta-CVS has a command syntax similar to CVS. It doesn't have a
counterpart for every CVS operation; you still need CVS to perform
certain administrative tasks. Knowledge of CVS is required.

Renaming and rearranging files in Meta-CVS is straightforward; there is a
``mcvs mv'' command which behaves similarly to POSIX mv, except that
the user is never required to create directories (there isn't 
any ``mcvs mkdir'').

It's possible to branch the directory structure, and in general to work
on it in parallel. The structure is represented as a text file, in
which it is straightforward to resolve conflicts. The ``mcvs update''
command is capable of receiving directory structure changes from the
repository and incorporating them into your local structure by
physically rearranging your local files. If conflicts occur, the
rearrangement is deferred until you resolve them. And of course a
directory structure is tagged as part of a baseline configuration;
checking out an old release retrieves the old directory structure.

Meta-CVS keeps track of file types. It has a recursive add operation
which will first identify up any new suffixes which occur among the
added files, and allow you to specify how CVS keyword expansion will be
handled for file type. A text editor is automatically invoked if
necessary to edit the assignment.

Some troublesome CVS corner cases which are intelligently avoided by
Meta-CVS are:

- Two or more concurrent adds of the same file.
- Removal of file by one user that is being edited by another.
- Removal of file by cvs rm, then resurrection by cvs add, using
  a different keyword expansion mode.

##########################################################################
# Send submissions for comp.os.linux.announce to: cola@stump.algebra.com #
# PLEASE remember a short description of the software and the LOCATION.  #
# This group is archived at http://stump.algebra.com/~cola/              #
##########################################################################


------------------------------

From: "Randall Hyde" <rhyde@cs.ucr.edu>
Subject: Linux version of HLA (High Level Assembler) now available!
Date: Wed, 20 Mar 2002 13:26:01 CST

That's right!
HLA v1.32 runs under both Windows and Linux.
Best of all, (well-written) HLA programs will compile
and run on either operating system unchanged!
(Who says assembly language can't be portable?)

You can download a Linux or Windows (or both) version
of HLA v1.32 from
http://webster.cs.ucr.edu

HLA, the High Level Assembler, is a powerful x86 assembly
language that supports a Pascal/C/Modula-2-like syntax
that makes learning and using assembly language very easy.
Although originally written as a tool to teach assembly
language programming to University Students, HLA's
advanced features make it a natural for advanced assembly
language programmers as well.

The HLA package includes the "HLA Standard Library" a package
of hundreds of functions, macro, data declarations, and other HLA
code, that makes assembly language programming trivial.
The HLA Standard Library is available for Linux and Windows,
so code that calls the HLA Standard Library is portable between
the two OSes.

A Linux edition of "The Art of Assembly Language Programming"
provides the perfect text for beginners who know a high level
programming language and want to learn assembly language
programming under Linux.  You can find "Art of Asm" at the
Web URL above.

In addition to the 1,500 pages appearing in the "Art of Asm,"
the HLA package also includes over 500 pages of documentation,
articles, and other information related to HLA programming.

Programs written in HLA are far more readable than programs
written in traditional assembly language.  For example, here
is the ubiquitous "Hello World" program written in HLA:

program HelloWorld;
#include( "stdlib.hhf" )
begin HelloWorld;

    stdout.put( "Hello World" nl );

end HelloWorld;

No, this doesn't look at all like assembly language, but that's
because it's such a trivial program (just invokes a macro
in the HLA Standard Library).  Here's a more practical example
that actually has some recognizable machine instructions in it:

program DemoRecursion;
#include( "stdlib.hhf" );

var
 myfib:int32;


 /*
 ** Compute fibonocci sequence (digusting, slow, way )
 ** using a recursive call.
 */

 procedure fib( n:int32 ); @nodisplay;
 begin fib;

  if( n <= 2 ) then

       mov( 1, eax );

  else

     mov( n, eax );  // Compute fib( n-1 );
     dec( eax );
     fib( eax );
     push( eax );  // Save result of fib(n-1);

     mov( n, eax );  // Compute fib( n-2 );
     sub( 2, eax );
     fib( eax );
     add( [esp], eax ); // Add fib(n-1) and fib(n-2)
     add( 4, esp );  // Clean up stack.

   endif;

 end fib;

begin DemoRecursion;

   mov( 0, myfib );
   while( myfib < 10 ) do

      fib( myfib );
      stdout.put( "fib(", myfib, ") = ", (type int32 eax ), nl );
      inc( myfib );

   endwhile;

end DemoRecursion;

For die-hard assembly fans, don't get the impression that
you have to use statements like "IF" and "WHILE" in an
HLA program.  HLA also allows CMPs and conditional
jumps if you prefer to write your assembly code the old fashioned
way.

HLA is totally free (i.e., public domain) and is available in
executable and source form.  HLA was written using Flex/Bison/C
and a few lines of assembly code (HLA).

Don't let the version number fool you.
HLA has been around since 1999 and "v1.32" signifies that
HLA has gone through 32 revisions since version 1.0
(the build counter is in excess of 5000 builds as this is
being written).  While HLA v1.x is a prototype for the
HLA language, it has found use on some very major projects
(including the implementation of HLA v2.0 currently underway).
While HLA certainly isn't "defect-free," it has had several years
of use and has achieved a level of quality few public domain
programs ever achieve.

##########################################################################
# Send submissions for comp.os.linux.announce to: cola@stump.algebra.com #
# PLEASE remember a short description of the software and the LOCATION.  #
# This group is archived at http://stump.algebra.com/~cola/              #
##########################################################################


------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: Linux-Announce-Request@NEWS-DIGESTS.MIT.EDU

You can submit announcements to be moderated via:

    Internet: linux-announce@NEWS.ORNL.GOV

Linux may be obtained via one of these FTP sites:
    ftp.funet.fi				pub/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Announce Digest
******************************

home help back first fref pref prev next nref lref last post