Anonymous avatar Anonymous committed c91ed7c

WMLized stuff and removed some leftovers.

Comments (0)

Files changed (17)

vipe/abstraction/index.html

-<html>
-<head>
-<title>Cross-Platform Abstraction Libraries</title>
-</head>
-
-<body bgcolor="white">
-
-<h1>Cross-Platform Abstraction Libraries</h1>
-
-<p>
-Programming an application that can run both on UNIX and on Windows 32-bit
-(and optionally other platforms) can be very hard because of the fact that 
-the APIs of those platforms are substantially different. Luckily, 
-there are abstraction libraries with which a programmer can maintain a 
-very similar code, while focusing on writing the application itself.
-</p>
-
-<p>
-I will focus here on such libraries for C and C++. Higher level languages
-such as Perl, Python or Ruby usually provide an abstraction for such things
-within the language.
-</p>
-
-<h2>Data Structures</h2>
-
-<p>
-<a href="http://www.gtk.org/">GLib</a> - an ANSI C library that provides
-many useful classes. It is complete, but sometimes common useful programming
-practices (such as supplying a callback context argument) are ignored. It
-also tends to have non-optimized code. LGPLed.
-</p>
-
-<p>
-<a href="http://users.footprints.net/~kaz/kazlib.html">Kazlib</a> - Provides
-a Red-Black tree, a hash table and a linked list manager. An Open-Source
-License.
-</p>
-
-<p>
-<a href="http://www.sgi.com/tech/stl/">The C++ Standard Template Library</a>
- - Provides abstractions for many common data structures.
-</p>
-
-<p>
-<a href="http://www.msu.edu/user/pfaffben/avl/">The libavl Homepage</a> -
-Contains links to many implementations of balanced binary trees.
-</p>
-
-<p>
-<a href="http://ftpserver.bibliotech.net/freeware/c2lib/">C2Lib</a> -
-Library of Basics for C that contains a pool allocator, a Perl-like vector
-, hashes, Perl-like strings, and matrix and vector functions. LGPLed.
-</p>
-
-<h2>System-Services Abstractions</h2>
-
-<p>
-<a href="http://www.gtk.org/">GLib</a>
-</p>
-
-<p>
-<a href="http://apr.apache.org/">The Apache Portable Run-Time</a> - contains
-portable abstractions for many things, from memory allocation to threads.
-Apache Group License.
-</p>
-
-<p>
-<a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE - The Adaptive 
-Communication Environment</a> - a very comprehensive C++ library that provides 
-portable abstractions for almost anything a system gives you except GUI.
-Runs on UNIX, Win32 and many embedded operating-systems.
-</p>
-
-<p>
-<a href="http://zthread.sourceforge.net/">ZThreads</a> - a C++ library that
-abstracts UNIX and Win32 threads. LGPL.
-</p>
-
-<p>
-<a href="http://sources.redhat.com/pthreads-win32/">POSIX Threads for
-Win32</a> - an implementation of the POSIX threads (pthreads) API for Win32.
-LGPL.
-</p>
-
-<p>
-<a href="http://www.roguewave.com/products/sourcepro/core/">RogueWave's 
-SourcePro Core</a> - a commercial library that supplies C++ abstractions 
-for many system services.
-</p>
-
-<p>
-<a href="http://www.wxwindows.org/">wxBase</a> - a subset of the wxWindows
-library that can be used for multi-threading and the such. C++ and LGPLed.
-</p>
-
-<p>
-<a href="http://www.mozilla.org/projects/nspr/">The Netscape Portable
-Runtime (NSPR)</a> - an ANSI C library that abstracts Threads, sockets,
-files, data structures and many other goodies. Licensed under a 
-triple GPL, LGPL and MPL licensing.
-</p>
-
-<h2>Graphical User-Interface</h2>
-
-<p>
-<a href="http://www.wxwindows.org/">wxWindows</a> - a C++ cross-platform GUI
-library with Win32 and X-Windows Back-ends. LGPL.
-</p>
-
-<p>
-<a href="http://www.trolltech.com/">Qt</a> -  a C++ cross-platform GUI
-library with Win32 and X-Windows Back-ends. A very encompassing API. 
-Dually Licensed GPL/QPL for X-Windows and there's a binary only release 
-for Win32. Developing commercial applications with it will require a license
-from its vendor, Troll-Tech.
-</p>
-
-<p>
-<a href="http://www.xulplanet.com/">Mozilla's XUL</a> - a C++ cross-platform
-GUI library for X-Windows, Win32 and MacOS based on XML. Triply Licensed
-under the MPL, LGPL and GPL.
-</p>
-
-<p>
-<a href="http://www.bms-austria.com/projects/paragui/">ParaGUI</a> - a 
-GUI library based on the <a href="http://www.libsdl.org/">SDL</a> framework.
-LGPLed.
-</p>
-
-<p>
-<a href="http://www.borland.com/">Borland's VCL</a> - The GUI library behind
-Delphi and C++ Builder. Proprietary License, which is free for use for
-developing Open-Source Programs.
-</p>
-
-<p>
-<a href="http://www.fox-toolkit.org/">The FOX Toolkit</a> - a C++ toolkit
-that runs on UNIX, Windows and MacOS X. Renders its own controls, so does
-not have the system-wide native look and feel, but OTOH has a consistent 
-one across all platforms.
-</p>
-
-<p>
-<a href="http://www.geocities.com/SiliconValley/Vista/7184/guitool.html">
-A comprehensive lists of GUI libraries for X-Windows (and perhaps other
-systems)
-</a>
-</p>
-
-<h2>Multi-Media</h2>
-
-<p>
-<a href="http://www.libsdl.org/">SDL - The Simple DirectMedia Layer</a> -
-a comprehensive library that runs on Win32, BeOS and MacOS and several 
-flavours of UNIX. Has bindings to many other languages
-</p>
-
-<p>
-<a href="http://www.opengl.org/">OpenGL</a> - a portable library for
-3-D and 2-D graphics, that provides many graphics primitives. Has an 
-open-source LGPLed implementation titled <a href="http://www.mesa3d.org/">
-Mesa</a>.
-</p>
-
-<p>
-<a href="http://crystal.sourceforge.net/">Crystal Space</a> - a portable 
-library for managing a large number of objects in a three-dimensional world.
-</p>
-
-<p>
-<a href="http://www.sgi.com/software/inventor/">Open Inventor</a> - A
-library for managing objects and manipulators in 3-D Space. LGPL. Runs on
-Windows, Linux and IRIX.
-</p>
-
-<p>
-<a href="http://www.openal.org/home/">OpenAL</a> - a library for generating
-three-dimensional sound. LGPLed.
-</p>
-
-<p>
-<a href="http://plib.sourceforge.net/">PLib</a> - a suite of portable
-game libraries. LGPLed.
-</p>
-
-<p>
-<a href="http://www.clanlib.org/">ClanLib</a> - a portable C++ game
-SDK. LGPLed.
-</p>
-
-<h2>Database Access</h2>
-
-<p>
-<a href="http://www.microsoft.com/data/odbc/default.htm">ODBC</a>, 
-and <a href="http://www.unixodbc.org/">unixODBC</a> - a portable, but
-rather heavyweight database abstraction layer for C.
-</p>
-
-<p>
-<a href="http://directory.google.com/Top/Computers/Software/Operating_Systems/Linux/Projects/Data_Management/Databases/">
-Other Databases for Linux resources</a>
-</p>
-
-<p>
-<a href="http://www.gnome-db.org/">libgda</a> - a database abstraction
-library from the GNOME people.
-</p>
-
-
-<!----
-
-Multi-media:
-------------
-
-GUI:
-----
-
-Borland's VCL
-
-Databases:
-----------
-
-* ODBC, unixODBC, etc.
-* Gnome-DB - is it available for Windows?
-* 
-
---->
-
-</body>
-</html>

vipe/abstraction/index.html.wml

+#include '../template.wml'
+<subject "Cross-Platform Abstraction Libraries" />
+
+<p>
+Programming an application that can run both on UNIX and on Windows 32-bit
+(and optionally other platforms) can be very hard because of the fact that 
+the APIs of those platforms are substantially different. Luckily, 
+there are abstraction libraries with which a programmer can maintain a 
+very similar code, while focusing on writing the application itself.
+</p>
+
+<p>
+I will focus here on such libraries for C and C++. Higher level languages
+such as Perl, Python or Ruby usually provide an abstraction for such things
+within the language.
+</p>
+
+<h2>Data Structures</h2>
+
+<p>
+<a href="http://www.gtk.org/">GLib</a> - an ANSI C library that provides
+many useful classes. It is complete, but sometimes common useful programming
+practices (such as supplying a callback context argument) are ignored. It
+also tends to have non-optimized code. LGPLed.
+</p>
+
+<p>
+<a href="http://users.footprints.net/~kaz/kazlib.html">Kazlib</a> - Provides
+a Red-Black tree, a hash table and a linked list manager. An Open-Source
+License.
+</p>
+
+<p>
+<a href="http://www.sgi.com/tech/stl/">The C++ Standard Template Library</a>
+ - Provides abstractions for many common data structures.
+</p>
+
+<p>
+<a href="http://www.msu.edu/user/pfaffben/avl/">The libavl Homepage</a> -
+Contains links to many implementations of balanced binary trees.
+</p>
+
+<p>
+<a href="http://ftpserver.bibliotech.net/freeware/c2lib/">C2Lib</a> -
+Library of Basics for C that contains a pool allocator, a Perl-like vector
+, hashes, Perl-like strings, and matrix and vector functions. LGPLed.
+</p>
+
+<h2>System-Services Abstractions</h2>
+
+<p>
+<a href="http://www.gtk.org/">GLib</a>
+</p>
+
+<p>
+<a href="http://apr.apache.org/">The Apache Portable Run-Time</a> - contains
+portable abstractions for many things, from memory allocation to threads.
+Apache Group License.
+</p>
+
+<p>
+<a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE - The Adaptive 
+Communication Environment</a> - a very comprehensive C++ library that provides 
+portable abstractions for almost anything a system gives you except GUI.
+Runs on UNIX, Win32 and many embedded operating-systems.
+</p>
+
+<p>
+<a href="http://zthread.sourceforge.net/">ZThreads</a> - a C++ library that
+abstracts UNIX and Win32 threads. LGPL.
+</p>
+
+<p>
+<a href="http://sources.redhat.com/pthreads-win32/">POSIX Threads for
+Win32</a> - an implementation of the POSIX threads (pthreads) API for Win32.
+LGPL.
+</p>
+
+<p>
+<a href="http://www.roguewave.com/products/sourcepro/core/">RogueWave's 
+SourcePro Core</a> - a commercial library that supplies C++ abstractions 
+for many system services.
+</p>
+
+<p>
+<a href="http://www.wxwindows.org/">wxBase</a> - a subset of the wxWindows
+library that can be used for multi-threading and the such. C++ and LGPLed.
+</p>
+
+<p>
+<a href="http://www.mozilla.org/projects/nspr/">The Netscape Portable
+Runtime (NSPR)</a> - an ANSI C library that abstracts Threads, sockets,
+files, data structures and many other goodies. Licensed under a 
+triple GPL, LGPL and MPL licensing.
+</p>
+
+<h2>Graphical User-Interface</h2>
+
+<p>
+<a href="http://www.wxwindows.org/">wxWindows</a> - a C++ cross-platform GUI
+library with Win32 and X-Windows Back-ends. LGPL.
+</p>
+
+<p>
+<a href="http://www.trolltech.com/">Qt</a> -  a C++ cross-platform GUI
+library with Win32 and X-Windows Back-ends. A very encompassing API. 
+Dually Licensed GPL/QPL for X-Windows and there's a binary only release 
+for Win32. Developing commercial applications with it will require a license
+from its vendor, Troll-Tech.
+</p>
+
+<p>
+<a href="http://www.xulplanet.com/">Mozilla's XUL</a> - a C++ cross-platform
+GUI library for X-Windows, Win32 and MacOS based on XML. Triply Licensed
+under the MPL, LGPL and GPL.
+</p>
+
+<p>
+<a href="http://www.bms-austria.com/projects/paragui/">ParaGUI</a> - a 
+GUI library based on the <a href="http://www.libsdl.org/">SDL</a> framework.
+LGPLed.
+</p>
+
+<p>
+<a href="http://www.borland.com/">Borland's VCL</a> - The GUI library behind
+Delphi and C++ Builder. Proprietary License, which is free for use for
+developing Open-Source Programs.
+</p>
+
+<p>
+<a href="http://www.fox-toolkit.org/">The FOX Toolkit</a> - a C++ toolkit
+that runs on UNIX, Windows and MacOS X. Renders its own controls, so does
+not have the system-wide native look and feel, but OTOH has a consistent 
+one across all platforms.
+</p>
+
+<p>
+<a href="http://www.geocities.com/SiliconValley/Vista/7184/guitool.html">
+A comprehensive lists of GUI libraries for X-Windows (and perhaps other
+systems)
+</a>
+</p>
+
+<h2>Multi-Media</h2>
+
+<p>
+<a href="http://www.libsdl.org/">SDL - The Simple DirectMedia Layer</a> -
+a comprehensive library that runs on Win32, BeOS and MacOS and several 
+flavours of UNIX. Has bindings to many other languages
+</p>
+
+<p>
+<a href="http://www.opengl.org/">OpenGL</a> - a portable library for
+3-D and 2-D graphics, that provides many graphics primitives. Has an 
+open-source LGPLed implementation titled <a href="http://www.mesa3d.org/">
+Mesa</a>.
+</p>
+
+<p>
+<a href="http://crystal.sourceforge.net/">Crystal Space</a> - a portable 
+library for managing a large number of objects in a three-dimensional world.
+</p>
+
+<p>
+<a href="http://www.sgi.com/software/inventor/">Open Inventor</a> - A
+library for managing objects and manipulators in 3-D Space. LGPL. Runs on
+Windows, Linux and IRIX.
+</p>
+
+<p>
+<a href="http://www.openal.org/home/">OpenAL</a> - a library for generating
+three-dimensional sound. LGPLed.
+</p>
+
+<p>
+<a href="http://plib.sourceforge.net/">PLib</a> - a suite of portable
+game libraries. LGPLed.
+</p>
+
+<p>
+<a href="http://www.clanlib.org/">ClanLib</a> - a portable C++ game
+SDK. LGPLed.
+</p>
+
+<h2>Database Access</h2>
+
+<p>
+<a href="http://www.microsoft.com/data/odbc/default.htm">ODBC</a>, 
+and <a href="http://www.unixodbc.org/">unixODBC</a> - a portable, but
+rather heavyweight database abstraction layer for C.
+</p>
+
+<p>
+<a href="http://directory.google.com/Top/Computers/Software/Operating_Systems/Linux/Projects/Data_Management/Databases/">
+Other Databases for Linux resources</a>
+</p>
+
+<p>
+<a href="http://www.gnome-db.org/">libgda</a> - a database abstraction
+library from the GNOME people.
+</p>
+
+
+<!----
+
+Multi-media:
+------------
+
+GUI:
+----
+
+Borlands VCL
+
+Databases:
+----------
+
+* ODBC, unixODBC, etc.
+* Gnome-DB - is it available for Windows?
+* 
+
+--->
+

vipe/lecture/WebMetaLecture/index.html

-<html>
-<head>
-<title>WebMetaLecture - a lecture about WebMetaLanguage</title>
-<meta name="keywords" content="Website META Language HTML markup generation toolkit webdesign haifux haifa linux club shlomi fish WML" />
-</head>
-<body bgcolor="white">
-
-<h1>WebMetaLecture - a lecture about WebMetaLanguage</h1>
-
-<p>
-<a href="http://thewml.org/">WebMetaLanguage</a> is a versatile and 
-powerful framework for generating static HTML pages. Using it, one can
-easily maintain small, medium and large web-sites, and get his 
-web-designer's HTML job done.
-</p>
-
-<p>
-This lecture will serve as an introduction to the features of WML and its
-use.
-</p>
-
-<p>
-<a href="./slides/"><b>The Lecture Slides</b></a>
-</p>
-
-<p>
-<a href="WebMetaLecture-summary.txt">Summary for the lecture</a>
-</p>
-
-<p>
-<a href="WebMetaLecture-examples.tar.gz">Source and output of the
-examples</a>
-</p>
-
-</body>
-</html>

vipe/lecture/WebMetaLecture/index.html.wml

+#include '../template.wml'
+
+<subject "WebMetaLecture - a lecture about WebMetaLanguage" />
+
+<p>
+<a href="http://thewml.org/">WebMetaLanguage</a> is a versatile and 
+powerful framework for generating static HTML pages. Using it, one can
+easily maintain small, medium and large web-sites, and get his 
+web-designer's HTML job done.
+</p>
+
+<p>
+This lecture will serve as an introduction to the features of WML and its
+use.
+</p>
+
+<p>
+<a href="./slides/"><b>The Lecture Slides</b></a>
+</p>
+
+<p>
+<a href="WebMetaLecture-summary.txt">Summary for the lecture</a>
+</p>
+
+<p>
+<a href="WebMetaLecture-examples.tar.gz">Source and output of the
+examples</a>
+</p>
+

vipe/lm-solve/index.html

-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-     "DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<title>LM-Solve - a Logic Mazes Solver</title>
-</head>
-<body style="background-color:white">
-
-<h1>LM-Solve</h1>
-
-<p>
-LM-Solve is a set of solvers I wrote for the Logic Mazes featured on the 
-<a href="http://www.logicmazes.com/">Logic Mazes site</a>. They are written 
-in Perl and should be very portable.
-</p>
-
-
-<p>
-<a href="LM-Solve-0.6.0.tar.gz">
-<b>Download LM-Solve Version 0.6.0</b>
-</a>
-</p>
-
-<p>
-<a href="http://www.logicmazes.com/">The Logic Mazes Applets themselves</a>
-</p>
-
-<p>
-<a href="LM-Solve-layouts-0.6.0.tar.gz">Download Layouts
-for some of the puzzles on the site.</a> - I just supply them, but I am not
-their legal owner. If you write down others, please send them to me.
-</p>
-
-<p>
-<a href="http://www.iit.edu/~maxiori/apps/Theseus.html">The Original
-Applet for Theseus and the Minotaur</a>
-</p>
-
-<hr style="width:50%" />
-
-<h2>News</h2>
-
-<h3>15-Aug-2002</h3>
-
-<p>
-LM-Solve version 0.6.0 was released. This versions sports support for
-<a href="http://www.clickmazes.com/planks/ixplanks.htm">
-Planks in the Swamp Puzzles</a> (rectangular only), and can be built as 
-an RPM out of the box.
-</p>
-
-<h3>12-Jun-2002</h3>
-
-<p>
-LM-Solve version 0.4.0 was released. This version features support for three
-types of <a href="http://www.gjnem.demon.co.uk/newtilt/ixtilt2d.htm">tilt 
-mazes</a>: single goal, multiple goals, and <a
-href="http://www.gjnem.demon.co.uk/newtilt/ixtilt.htm">Red-Blue Tilt Puzzles
-</a>
-</p>
-
-<!--
-<h2>Development Version</h2>
-
-<p>
-<a href="LM-Solve-0.5.6.tar.gz">LM-Solve-0.5.6.tar.gz</a>
-</p>
-
-<p>
-<a href="LM-Solve-layouts-0.5.3.tar.gz">LM-Solve-layouts-0.5.3.tar.gz</a>
-</p>
--->
-
-<h2>Links</h2>
-
-<p>
-<a href="http://freshmeat.net/projects/lm-solve/">The Freshmeat Project's
-Record</a><br />
-<a href="http://lm-solve.bkbits.net/">The BitKeeper Repository</a>
-<br />
-</p>
-
-<p>
-<a href="http://www.logicmazes.com/">The Logic Mazes site</a><br />
-<a href="http://www.bardavid.com/">Yoah Bar-David's site</a> - contains
-applets for constructing and solving Alice Mazes and Minotaur Mazes.<br />
-<a href="http://www.clickmazes.com/">Andrea Glibert's Click-Mazes</a> -
-more mazes.<br />
-
-<br />
-<br />
-
-</p>
-
-
-<!--%start_bk2hp-->
-<p>
-<a href="http://t2.technion.ac.il/~shlomif/">
-<img src="../images/bk2hp.gif" alt="Back to my Homepage" style="border:0" />
-</a>
-</p>
-<!--%end_bk2hp-->
-
-<!--
-  <p>
-    <a href="http://validator.w3.org/check/referer"><img
-        src="http://www.w3.org/Icons/valid-xhtml10"
-        alt="Valid XHTML 1.0!" height="31" width="88" style="border:0" /></a>
-  </p>
--->
-
-</body>
-</html>

vipe/lm-solve/index.html.wml

+#include '../template.wml'
+
+<subject "LM-Solve - a Logic Mazes Solver" />
+
+<p>
+LM-Solve is a set of solvers I wrote for the Logic Mazes featured on the 
+<a href="http://www.logicmazes.com/">Logic Mazes site</a>. They are written 
+in Perl and should be very portable.
+</p>
+
+
+<p>
+<a href="LM-Solve-0.6.0.tar.gz">
+<b>Download LM-Solve Version 0.6.0</b>
+</a>
+</p>
+
+<p>
+<a href="http://www.logicmazes.com/">The Logic Mazes Applets themselves</a>
+</p>
+
+<p>
+<a href="LM-Solve-layouts-0.6.0.tar.gz">Download Layouts
+for some of the puzzles on the site.</a> - I just supply them, but I am not
+their legal owner. If you write down others, please send them to me.
+</p>
+
+<p>
+<a href="http://www.iit.edu/~maxiori/apps/Theseus.html">The Original
+Applet for Theseus and the Minotaur</a>
+</p>
+
+<hr style="width:50%" />
+
+<h2>News</h2>
+
+<h3>15-Aug-2002</h3>
+
+<p>
+LM-Solve version 0.6.0 was released. This versions sports support for
+<a href="http://www.clickmazes.com/planks/ixplanks.htm">
+Planks in the Swamp Puzzles</a> (rectangular only), and can be built as 
+an RPM out of the box.
+</p>
+
+<h3>12-Jun-2002</h3>
+
+<p>
+LM-Solve version 0.4.0 was released. This version features support for three
+types of <a href="http://www.gjnem.demon.co.uk/newtilt/ixtilt2d.htm">tilt 
+mazes</a>: single goal, multiple goals, and <a
+href="http://www.gjnem.demon.co.uk/newtilt/ixtilt.htm">Red-Blue Tilt Puzzles
+</a>
+</p>
+
+<!--
+<h2>Development Version</h2>
+
+<p>
+<a href="LM-Solve-0.5.6.tar.gz">LM-Solve-0.5.6.tar.gz</a>
+</p>
+
+<p>
+<a href="LM-Solve-layouts-0.5.3.tar.gz">LM-Solve-layouts-0.5.3.tar.gz</a>
+</p>
+-->
+
+<h2>Links</h2>
+
+<p>
+<a href="http://freshmeat.net/projects/lm-solve/">The Freshmeat Project's
+Record</a><br />
+<a href="http://lm-solve.bkbits.net/">The BitKeeper Repository</a>
+<br />
+</p>
+
+<p>
+<a href="http://www.logicmazes.com/">The Logic Mazes site</a><br />
+<a href="http://www.bardavid.com/">Yoah Bar-David's site</a> - contains
+applets for constructing and solving Alice Mazes and Minotaur Mazes.<br />
+<a href="http://www.clickmazes.com/">Andrea Glibert's Click-Mazes</a> -
+more mazes.<br />
+
+<br />
+<br />
+
+</p>
+
+

vipe/quadpres/index.html

-<html>
-<head>
-<title>QuaD-Pres</title>
-<link rel="StyleSheet" href="../style.css" type="text/css" />
-</head>
-<body>
-
-<h1>QuaD-Pres</h1>
-
-<p>
-QuaD-Pres stands for Quick and Dirty Presentations and is a set of perl
-scripts and modules that can generate HTML out of (surprise) HTML, and a
-file containing the logical structure of the lecture. Alternatively,
-<a href="http://thewml.org/">WebMetaLanguage</a> can be used to write the slides
-in style.
-</p>
-
-<p>
-To start using QuaD-Pres, download one of the examples here and modify it.
-</p>
-
-<p>
-You can find documentation and instructions in 
-<a href="../lecture/Quad-Pres/slides/">this lecture</a> I prepared.If you
-have any other questions contact me at 
-<a href="mailto:shlomif@vipe.technion.ac.il">
-shlomif@vipe.technion.ac.il
-</a>.
-</p>
-
-<h2>Features</h2>
-
-<ol>
-<li>
-Can work with <a href="http://thewml.org/">WebMetaLanguage</a> or without
-it.
-</li>
-<li>
-Organizes the lecture into a hierarchy of sections and subections.
-</li>
-<li>
-Generates tables of contents, and navigation links.
-</li>
-<li>
-Links to a common <a href="http://www.w3.org/Style/CSS/">CSS</a> StyleSheet.
-</li>
-<li>
-A common HTML header and footer.
-</li>
-<li>
-Non-WML input is a perfectly valid HTML.
-</li>
-<li>
-Non-WML slides can be rendered onto a web-server directory,
-a hard-disk directory or viewed by a dedicated CGI script. WML supports
-only the first option.
-</li>
-<li>
-Written in pure Perl and so is very portable.
-</li>
-<li>
-The generated code is compliant to XHTML 1.0 Strict.
-</li>
-</ol>
-
-<h2>Examples</h2>
-
-<p>
-A <a href="../lecture/Quad-Pres/Quad-Pres-Lecture-Slides.tar.gz">WebMetaLanguage 
-example</a>, which requires WML to be built.
-</p>
-
-<p>
-This file: <a href="perl_lecture2.tar.gz">perl_lecture2.tar.gz</a> contains
-the source code and the source for a sample (incomplete) lecture and all of
-its contents are distribted under the public domain.
-</p>
-
-<p>
-This file: <a href="gimp_lecture1.tar.gz">gimp_lecture1.tar.gz</a> contains
-the source code (which is more advanced that perl_lecture2), and a sample 
-lecture. Again, everything is public domain.
-</p>
-
-<p>You can see the final forms of sample lectures 
-<a href="http://vipe.technion.ac.il/~shlomif/lecture/">
-here</a>.
-</p>
-
-<p>
-<a href="http://t2.technion.ac.il/~shlomif/"><img src="../images/bk2hp.gif" alt="Back to my Homepage" style="border:0" /></a>
-</p>
-
-</body>
-</html>

vipe/quadpres/index.html.wml

+#include '../template.wml'
+<subject "Quad-Pres" />
+
+<p>
+Quad-Pres stands for "Quick and Dirty Presentations" and is a set of perl
+scripts and modules that can generate HTML out of (surprise) HTML, and a
+file containing the logical structure of the lecture. Alternatively,
+<a href="http://thewml.org/">WebMetaLanguage</a> can be used to write the slides
+in style.
+</p>
+
+<p>
+To start using Quad-Pres, download one of the examples here and modify it.
+</p>
+
+<p>
+You can find documentation and instructions in 
+<a href="../lecture/Quad-Pres/slides/">this lecture</a> I prepared.If you
+have any other questions contact me at 
+<a href="mailto:shlomif@vipe.technion.ac.il">
+shlomif@vipe.technion.ac.il
+</a>.
+</p>
+
+<h2>Features</h2>
+
+<ol>
+<li>
+Can work with <a href="http://thewml.org/">WebMetaLanguage</a> or without
+it.
+</li>
+<li>
+Organizes the lecture into a hierarchy of sections and subections.
+</li>
+<li>
+Generates tables of contents, and navigation links.
+</li>
+<li>
+Links to a common <a href="http://www.w3.org/Style/CSS/">CSS</a> StyleSheet.
+</li>
+<li>
+A common HTML header and footer.
+</li>
+<li>
+Non-WML input is a perfectly valid HTML.
+</li>
+<li>
+Non-WML slides can be rendered onto a web-server directory,
+a hard-disk directory or viewed by a dedicated CGI script. WML supports
+only the first option.
+</li>
+<li>
+Written in pure Perl and so is very portable.
+</li>
+<li>
+The generated code is compliant to XHTML 1.0 Strict.
+</li>
+</ol>
+
+<h2>Examples</h2>
+
+<p>
+A <a href="../lecture/Quad-Pres/Quad-Pres-Lecture-Slides.tar.gz">WebMetaLanguage 
+example</a>, which requires WML to be built.
+</p>
+
+<p>
+This file: <a href="perl_lecture2.tar.gz">perl_lecture2.tar.gz</a> contains
+the source code and the source for a sample (incomplete) lecture and all of
+its contents are distribted under the public domain.
+</p>
+
+<p>
+This file: <a href="gimp_lecture1.tar.gz">gimp_lecture1.tar.gz</a> contains
+the source code (which is more advanced that perl_lecture2), and a sample 
+lecture. Again, everything is public domain.
+</p>
+
+<p>You can see the final forms of sample lectures 
+<a href="http://vipe.technion.ac.il/~shlomif/lecture/">
+here</a>.
+</p>
+
+<p>
+<a href="http://t2.technion.ac.il/~shlomif/"><img src="../images/bk2hp.gif" alt="Back to my Homepage" style="border:0" /></a>
+</p>
+

vipe/rwlock/index.html

-<html>
-<head>
-<title>A First-Come First-Served Readers/Writers Lock</title>
-</head>
-
-<body bgcolor="white">
-
-<h1>A First-Come First-Served Readers/Writers Lock</h1>
-
-<h2><a href="./linux-kernel/">New! FCFS flock for the Linux Kernel</a></h2>
-
-<p>
-<a href="pthread_rwlock_fcfs-0.4.0.tar.gz">Download the stable version source code.</a>
-</p>
-
-<!--
-	Commented out until I have a new development version
-	
-<p>
-<a href="pthread_rwlock_fcfs-0.3.5.tar.gz">Development version</a>
-</p>
--->
-
-<p>
-This is a working implementation of a First-Come First-Served
-Readers/Writers lock for POSIX threads. It is well commented and documented
-so I believe it can also serve as a reference implementation for those
-who wish to implement such a mechanism for other platforms.
-</p>
-
-<h2>Todo List</h2>
-
-<ul>
-<li>Make an RPM SPEC/Debian Package etc.</li>
-<li>Port to Win32, ZThreads, etc.</li>
-</ul>
-
-<h2>Frequently Asked Questions</h2>
-
-<h3>What is a Readers/Writers Lock?</h3>
-
-<p>
-A Readers/Writers Lock (or RWLock for short) is a mechanism that allows an
-arbitrary number of readers or alternatively one writer to access a
-resource at any given time. It is useful in case writing may temporarily harm
-the integrity of the resource.
-</p>
-
-<h3>What is a First-Come First-Served RWLock?</h3>
-
-<p>
-Many RWLock implementations arbitrate the various readers and writers in a
-manner that may cause starvation of either readers or writers. For instance,
-a readers/writers lock that prefers readers may cause a writer to starve
-(i.e: wait for a very long time or indefinetly) if there are two and more
-competing readers.
-</p>
-
-<p>
-A First-Come First-Served (FCFS) RWLock solves this problem by making sure
-that the pending threads are served at the same order as the time of their
-arrival. Thus, starvation is eliminated assuming that a thread does not
-obtain the lock indefinetly (which in any case should not happen in a 
-well-designed system).
-</p>
-
-<h3>How does it make sure that's what going to happen?</h3>
-
-<p>
-By using a queue in which each element controls a pending thread. A detailed
-description of the algorithm can be found <a href="Scheme.txt">here</a> and
-naturally, there are also the comments in the code. If there's anything you
-don't understand, don't hesitate to 
-<a href="mailto:shlomif@vipe.technion.acil">contact me</a> 
-and ask.
-</p>
-
-<p>
-Recently, the algorithm was modified to pack several readers or several
-writers on the same queue element, which results in saving of condition
-variables. The new scheme for it (which is a bit more complex) can be found 
-<a href="Scheme_RLE.txt">here</a>.
-</p>
-
-<br>
-<br>
-
-<h2>Older Versions</h2>
-
-<p>
-<a href="pthread_rwlock_fcfs-0.2.0.tar.gz">Version 0.2.0</a>
-</p>
-
-
-<a href="http://t2.technion.ac.il/~shlomif/"><img src="../images/bk2hp.gif" alt="Back to my Homepage" border=0></a>
-
-</body>
-</html>

vipe/rwlock/index.html.wml

+#include '../template.wml'
+<subject "A First-Come First-Served Readers/Writers Lock" />
+
+<h2><a href="./linux-kernel/">New! FCFS flock for the Linux Kernel</a></h2>
+
+<p>
+<a href="pthread_rwlock_fcfs-0.4.0.tar.gz">Download the stable version source code.</a>
+</p>
+
+<!--
+	Commented out until I have a new development version
+	
+<p>
+<a href="pthread_rwlock_fcfs-0.3.5.tar.gz">Development version</a>
+</p>
+-->
+
+<p>
+This is a working implementation of a First-Come First-Served
+Readers/Writers lock for POSIX threads. It is well commented and documented
+so I believe it can also serve as a reference implementation for those
+who wish to implement such a mechanism for other platforms.
+</p>
+
+<h2>Todo List</h2>
+
+<ul>
+<li>Make an RPM SPEC/Debian Package etc.</li>
+<li>Port to Win32, ZThreads, etc.</li>
+</ul>
+
+<h2>Frequently Asked Questions</h2>
+
+<h3>What is a Readers/Writers Lock?</h3>
+
+<p>
+A Readers/Writers Lock (or RWLock for short) is a mechanism that allows an
+arbitrary number of readers or alternatively one writer to access a
+resource at any given time. It is useful in case writing may temporarily harm
+the integrity of the resource.
+</p>
+
+<h3>What is a First-Come First-Served RWLock?</h3>
+
+<p>
+Many RWLock implementations arbitrate the various readers and writers in a
+manner that may cause starvation of either readers or writers. For instance,
+a readers/writers lock that prefers readers may cause a writer to starve
+(i.e: wait for a very long time or indefinetly) if there are two and more
+competing readers.
+</p>
+
+<p>
+A First-Come First-Served (FCFS) RWLock solves this problem by making sure
+that the pending threads are served at the same order as the time of their
+arrival. Thus, starvation is eliminated assuming that a thread does not
+obtain the lock indefinetly (which in any case should not happen in a 
+well-designed system).
+</p>
+
+<h3>How does it make sure that's what going to happen?</h3>
+
+<p>
+By using a queue in which each element controls a pending thread. A detailed
+description of the algorithm can be found <a href="Scheme.txt">here</a> and
+naturally, there are also the comments in the code. If there's anything you
+don't understand, don't hesitate to 
+<a href="mailto:shlomif@vipe.technion.acil">contact me</a> 
+and ask.
+</p>
+
+<p>
+Recently, the algorithm was modified to pack several readers or several
+writers on the same queue element, which results in saving of condition
+variables. The new scheme for it (which is a bit more complex) can be found 
+<a href="Scheme_RLE.txt">here</a>.
+</p>
+
+<br />
+<br />
+
+<h2>Older Versions</h2>
+
+<p>
+<a href="pthread_rwlock_fcfs-0.2.0.tar.gz">Version 0.2.0</a>
+</p>
+

vipe/rwlock/linux-kernel/index.html

-<html>
-<head>
-<title>FCFS Behaviour for the Linux Kernel fcntl/flock Locks</title>
-</head>
-
-<body style="background-color : white">
-
-<h1>Linux Kernel FCFS fcntl/flock Locks</h1>
-
-<h2><a href="linux-fcfs-rwlock.patch">Download the Patch</a></h2>
-
-<p>
-I wrote this patch (it's actually very short) with a lot of help from
-Matthew Wilcox, who is the current maintainer of the filesystem locks
-logic in the Linux Kernel. It is made against linux-2.5.30 but should
-work with more recent or later versions.
-</p>
-
-<p>
-Without this patch, the Linux kernel discriminates against writers,
-and accepts readers into a lock in readers state even if there are
-pending writers. The <a href="test_flock.c">following 
-test program</a> can demonstrate the two behaviours (try running it as 
-<tt>test_flock 20 2</tt>).
-</p>
-
-</body>
-</html>

vipe/rwlock/linux-kernel/index.html.wml

+#include '../template.wml'
+
+<subject "Linux Kernel FCFS fcntl/flock Locks" />
+
+<h2><a href="linux-fcfs-rwlock.patch">Download the Patch</a></h2>
+
+<p>
+I wrote this patch (it's actually very short) with a lot of help from
+Matthew Wilcox, who is the current maintainer of the filesystem locks
+logic in the Linux Kernel. It is made against linux-2.5.30 but should
+work with more recent or later versions.
+</p>
+
+<p>
+Without this patch, the Linux kernel discriminates against writers,
+and accepts readers into a lock in readers state even if there are
+pending writers. The <a href="test_flock.c">following 
+test program</a> can demonstrate the two behaviours (try running it as 
+<tt>test_flock 20 2</tt>).
+</p>
+

vipe/seminars/club-admin.dia

-<?xml version="1.0"?>
-<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
-  <dia:diagramdata>
-    <dia:attribute name="background">
-      <dia:color val="#ffffff"/>
-    </dia:attribute>
-    <dia:attribute name="paper">
-      <dia:composite type="paper">
-        <dia:attribute name="name">
-          <dia:string>#A4#</dia:string>
-        </dia:attribute>
-        <dia:attribute name="tmargin">
-          <dia:real val="2.8222"/>
-        </dia:attribute>
-        <dia:attribute name="bmargin">
-          <dia:real val="2.8222"/>
-        </dia:attribute>
-        <dia:attribute name="lmargin">
-          <dia:real val="2.8222"/>
-        </dia:attribute>
-        <dia:attribute name="rmargin">
-          <dia:real val="2.8222"/>
-        </dia:attribute>
-        <dia:attribute name="is_portrait">
-          <dia:boolean val="false"/>
-        </dia:attribute>
-        <dia:attribute name="scaling">
-          <dia:real val="0.631915"/>
-        </dia:attribute>
-        <dia:attribute name="fitto">
-          <dia:boolean val="true"/>
-        </dia:attribute>
-        <dia:attribute name="fitwidth">
-          <dia:int val="1"/>
-        </dia:attribute>
-        <dia:attribute name="fitheight">
-          <dia:int val="1"/>
-        </dia:attribute>
-      </dia:composite>
-    </dia:attribute>
-    <dia:attribute name="grid">
-      <dia:composite type="grid">
-        <dia:attribute name="width_x">
-          <dia:real val="1"/>
-        </dia:attribute>
-        <dia:attribute name="width_y">
-          <dia:real val="1"/>
-        </dia:attribute>
-        <dia:attribute name="visible_x">
-          <dia:int val="1"/>
-        </dia:attribute>
-        <dia:attribute name="visible_y">
-          <dia:int val="1"/>
-        </dia:attribute>
-      </dia:composite>
-    </dia:attribute>
-    <dia:attribute name="guides">
-      <dia:composite type="guides">
-        <dia:attribute name="hguides"/>
-        <dia:attribute name="vguides"/>
-      </dia:composite>
-    </dia:attribute>
-  </dia:diagramdata>
-  <dia:layer name="Background" visible="true">
-    <dia:object type="UML - Class" version="0" id="O0">
-      <dia:attribute name="obj_pos">
-        <dia:point val="-2.74998,25.6154"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="-2.79998,25.5654;5.85682,28.4654"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="-2.74998,25.6154"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="8.5568"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="2.8"/>
-      </dia:attribute>
-      <dia:attribute name="name">
-        <dia:string>#Login#</dia:string>
-      </dia:attribute>
-      <dia:attribute name="stereotype">
-        <dia:string/>
-      </dia:attribute>
-      <dia:attribute name="abstract">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_attributes">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_operations">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="visible_attributes">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="visible_operations">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="foreground_color">
-        <dia:color val="#000000"/>
-      </dia:attribute>
-      <dia:attribute name="background_color">
-        <dia:color val="#ffffff"/>
-      </dia:attribute>
-      <dia:attribute name="attributes">
-        <dia:composite type="umlattribute">
-          <dia:attribute name="name">
-            <dia:string>#Change Password#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string>##</dia:string>
-          </dia:attribute>
-          <dia:attribute name="value">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="operations"/>
-      <dia:attribute name="template">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="templates"/>
-    </dia:object>
-    <dia:object type="UML - Class" version="0" id="O1">
-      <dia:attribute name="obj_pos">
-        <dia:point val="-2.94998,33.0654"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="-2.99998,33.0154;6.38402,35.3154"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="-2.94998,33.0654"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="9.284"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="2.2"/>
-      </dia:attribute>
-      <dia:attribute name="name">
-        <dia:string>#Submit Seminar#</dia:string>
-      </dia:attribute>
-      <dia:attribute name="stereotype">
-        <dia:string/>
-      </dia:attribute>
-      <dia:attribute name="abstract">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_attributes">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_operations">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="visible_attributes">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="visible_operations">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="foreground_color">
-        <dia:color val="#000000"/>
-      </dia:attribute>
-      <dia:attribute name="background_color">
-        <dia:color val="#ffffff"/>
-      </dia:attribute>
-      <dia:attribute name="attributes"/>
-      <dia:attribute name="operations"/>
-      <dia:attribute name="template">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="templates"/>
-    </dia:object>
-    <dia:object type="UML - Class" version="0" id="O2">
-      <dia:attribute name="obj_pos">
-        <dia:point val="9.90002,32.9767"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="9.85002,32.9267;19.234,37.2267"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="9.90002,32.9767"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="9.284"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="4.2"/>
-      </dia:attribute>
-      <dia:attribute name="name">
-        <dia:string>#Seminars' List#</dia:string>
-      </dia:attribute>
-      <dia:attribute name="stereotype">
-        <dia:string/>
-      </dia:attribute>
-      <dia:attribute name="abstract">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_attributes">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_operations">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="visible_attributes">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="visible_operations">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="foreground_color">
-        <dia:color val="#000000"/>
-      </dia:attribute>
-      <dia:attribute name="background_color">
-        <dia:color val="#ffffff"/>
-      </dia:attribute>
-      <dia:attribute name="attributes">
-        <dia:composite type="umlattribute">
-          <dia:attribute name="name">
-            <dia:string>#Club#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string>##</dia:string>
-          </dia:attribute>
-          <dia:attribute name="value">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="operations">
-        <dia:composite type="umloperation">
-          <dia:attribute name="name">
-            <dia:string>#Delete#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="parameters"/>
-        </dia:composite>
-        <dia:composite type="umloperation">
-          <dia:attribute name="name">
-            <dia:string>#Edit#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="parameters"/>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="template">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="templates"/>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O3">
-      <dia:attribute name="obj_pos">
-        <dia:point val="9.90002,33.6767"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="6.28404,32.9656;9.95,34.5652"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="9.90002,33.6767"/>
-        <dia:point val="6.33402,33.7654"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="3"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.8"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.8"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O2" connection="3"/>
-        <dia:connection handle="1" to="O1" connection="4"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="UML - Class" version="0" id="O4">
-      <dia:attribute name="obj_pos">
-        <dia:point val="10.4435,41.057"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="10.3935,41.007;18.5655,45.307"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="10.4435,41.057"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="8.072"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="4.2"/>
-      </dia:attribute>
-      <dia:attribute name="name">
-        <dia:string>#Edit Seminar#</dia:string>
-      </dia:attribute>
-      <dia:attribute name="stereotype">
-        <dia:string/>
-      </dia:attribute>
-      <dia:attribute name="abstract">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_attributes">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_operations">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="visible_attributes">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="visible_operations">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="foreground_color">
-        <dia:color val="#000000"/>
-      </dia:attribute>
-      <dia:attribute name="background_color">
-        <dia:color val="#ffffff"/>
-      </dia:attribute>
-      <dia:attribute name="attributes">
-        <dia:composite type="umlattribute">
-          <dia:attribute name="name">
-            <dia:string>#Seminar#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string>##</dia:string>
-          </dia:attribute>
-          <dia:attribute name="value">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="operations">
-        <dia:composite type="umloperation">
-          <dia:attribute name="name">
-            <dia:string>#Preview#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="parameters"/>
-        </dia:composite>
-        <dia:composite type="umloperation">
-          <dia:attribute name="name">
-            <dia:string>#Submit#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="parameters"/>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="template">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="templates"/>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O5">
-      <dia:attribute name="obj_pos">
-        <dia:point val="14.542,37.1767"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="13.6796,37.1267;15.2794,41.107"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="14.542,37.1767"/>
-        <dia:point val="14.4795,41.057"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="3"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.8"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.8"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O2" connection="6"/>
-        <dia:connection handle="1" to="O4" connection="1"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="UML - Class" version="0" id="O6">
-      <dia:attribute name="obj_pos">
-        <dia:point val="25.7338,33.0241"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="25.6838,32.9741;35.0678,38.8741"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="25.7338,33.0241"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="9.284"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="5.8"/>
-      </dia:attribute>
-      <dia:attribute name="name">
-        <dia:string>#Subjects' List#</dia:string>
-      </dia:attribute>
-      <dia:attribute name="stereotype">
-        <dia:string/>
-      </dia:attribute>
-      <dia:attribute name="abstract">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_attributes">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_operations">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="visible_attributes">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="visible_operations">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="foreground_color">
-        <dia:color val="#000000"/>
-      </dia:attribute>
-      <dia:attribute name="background_color">
-        <dia:color val="#ffffff"/>
-      </dia:attribute>
-      <dia:attribute name="attributes">
-        <dia:composite type="umlattribute">
-          <dia:attribute name="name">
-            <dia:string>#Club#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string>##</dia:string>
-          </dia:attribute>
-          <dia:attribute name="value">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="operations">
-        <dia:composite type="umloperation">
-          <dia:attribute name="name">
-            <dia:string>#Add#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="parameters"/>
-        </dia:composite>
-        <dia:composite type="umloperation">
-          <dia:attribute name="name">
-            <dia:string>#Edit#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="parameters"/>
-        </dia:composite>
-        <dia:composite type="umloperation">
-          <dia:attribute name="name">
-            <dia:string>#Disable#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="parameters"/>
-        </dia:composite>
-        <dia:composite type="umloperation">
-          <dia:attribute name="name">
-            <dia:string>#Enable#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="parameters"/>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="template">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="templates"/>
-    </dia:object>
-    <dia:object type="Standard - Arc" version="0" id="O7">
-      <dia:attribute name="obj_pos">
-        <dia:point val="5.84788,27.1406"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="5.80637,27.0773;14.9879,33.6409"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="5.84788,27.1406"/>
-        <dia:point val="14.542,32.9767"/>
-      </dia:attribute>
-      <dia:attribute name="curve_distance">
-        <dia:real val="-1.75399"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.8"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.8"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="1" to="O2" connection="1"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Text" version="0" id="O8">
-      <dia:attribute name="obj_pos">
-        <dia:point val="12.0301,23.392"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="2.0326,22.4256;21.9776,23.7256"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#Club-Admin Site Work-Flow#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font name="Courier"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="1.3"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="12.0301,23.392"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O9">
-      <dia:attribute name="obj_pos">
-        <dia:point val="19.184,33.6767"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="19.134,32.9241;25.7838,34.5241"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="19.184,33.6767"/>
-        <dia:point val="25.7338,33.7241"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="line_width">
-        <dia:real val="0.1"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.8"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.8"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O2" connection="4"/>
-        <dia:connection handle="1" to="O6" connection="3"/>
-      </dia:connections>
-    </dia:object>
-  </dia:layer>
-</dia:diagram>

vipe/seminars/index.html

-<html>
-<head>
-<title>File listing for </title>
-</head>
-<body bgcolor="#FFFFFF">
-<h1>File listing for </h1>
-<a href="club-admin.dia">club-admin.dia</a><br>
-<a href="index.html">index.html</a><br>
-<a href="read-only.dia">read-only.dia</a><br>
-<a href="site-admin.dia">site-admin.dia</a><br>
-<a href="spec.txt">spec.txt</a><br>
-</body>
-</html>

vipe/seminars/read-only.dia

-<?xml version="1.0"?>
-<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
-  <dia:diagramdata>
-    <dia:attribute name="background">
-      <dia:color val="#ffffff"/>
-    </dia:attribute>
-    <dia:attribute name="paper">
-      <dia:composite type="paper">
-        <dia:attribute name="name">
-          <dia:string>#A4#</dia:string>
-        </dia:attribute>
-        <dia:attribute name="tmargin">
-          <dia:real val="2.8222"/>
-        </dia:attribute>
-        <dia:attribute name="bmargin">
-          <dia:real val="2.8222"/>
-        </dia:attribute>
-        <dia:attribute name="lmargin">
-          <dia:real val="2.8222"/>
-        </dia:attribute>
-        <dia:attribute name="rmargin">
-          <dia:real val="2.8222"/>
-        </dia:attribute>
-        <dia:attribute name="is_portrait">
-          <dia:boolean val="false"/>
-        </dia:attribute>
-        <dia:attribute name="scaling">
-          <dia:real val="0.532705"/>
-        </dia:attribute>
-        <dia:attribute name="fitto">
-          <dia:boolean val="true"/>
-        </dia:attribute>
-        <dia:attribute name="fitwidth">
-          <dia:int val="1"/>
-        </dia:attribute>
-        <dia:attribute name="fitheight">
-          <dia:int val="1"/>
-        </dia:attribute>
-      </dia:composite>
-    </dia:attribute>
-    <dia:attribute name="grid">
-      <dia:composite type="grid">
-        <dia:attribute name="width_x">
-          <dia:real val="1"/>
-        </dia:attribute>
-        <dia:attribute name="width_y">
-          <dia:real val="1"/>
-        </dia:attribute>
-        <dia:attribute name="visible_x">
-          <dia:int val="1"/>
-        </dia:attribute>
-        <dia:attribute name="visible_y">
-          <dia:int val="1"/>
-        </dia:attribute>
-      </dia:composite>
-    </dia:attribute>
-    <dia:attribute name="guides">
-      <dia:composite type="guides">
-        <dia:attribute name="hguides"/>
-        <dia:attribute name="vguides"/>
-      </dia:composite>
-    </dia:attribute>
-  </dia:diagramdata>
-  <dia:layer name="Background" visible="true">
-    <dia:object type="Flowchart - Box" version="0" id="O0">
-      <dia:attribute name="obj_pos">
-        <dia:point val="-11.9919,-29.3794"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="-12.0419,-29.4294;-2.8919,-22.2794"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="-11.9919,-29.3794"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="9.05"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="7.05"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="padding">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#Opening Screen#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font name="Courier"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.8"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="-7.4669,-25.6597"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="UML - Class" version="0" id="O1">
-      <dia:attribute name="obj_pos">
-        <dia:point val="3.45807,-25.8794"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="3.40807,-25.9294;12.7921,-21.6294"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="3.45807,-25.8794"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="9.284"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="4.2"/>
-      </dia:attribute>
-      <dia:attribute name="name">
-        <dia:string>#Daily Calendar#</dia:string>
-      </dia:attribute>
-      <dia:attribute name="stereotype">
-        <dia:string/>
-      </dia:attribute>
-      <dia:attribute name="abstract">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_attributes">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_operations">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="visible_attributes">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="visible_operations">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="foreground_color">
-        <dia:color val="#000000"/>
-      </dia:attribute>
-      <dia:attribute name="background_color">
-        <dia:color val="#ffffff"/>
-      </dia:attribute>
-      <dia:attribute name="attributes">
-        <dia:composite type="umlattribute">
-          <dia:attribute name="name">
-            <dia:string>#next#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string>##</dia:string>
-          </dia:attribute>
-          <dia:attribute name="value">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-        </dia:composite>
-        <dia:composite type="umlattribute">
-          <dia:attribute name="name">
-            <dia:string>#prev#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string>##</dia:string>
-          </dia:attribute>
-          <dia:attribute name="value">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="operations">
-        <dia:composite type="umloperation">
-          <dia:attribute name="name">
-            <dia:string>#Seminar#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string/>
-          </dia:attribute>
-          <dia:attribute name="visibility">
-            <dia:enum val="0"/>
-          </dia:attribute>
-          <dia:attribute name="abstract">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="class_scope">
-            <dia:boolean val="false"/>
-          </dia:attribute>
-          <dia:attribute name="parameters"/>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="template">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="templates"/>
-    </dia:object>
-    <dia:object type="Standard - Arc" version="0" id="O2">
-      <dia:attribute name="obj_pos">
-        <dia:point val="7.40807,-21.8294"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="-0.795606,-23.2267;8.87609,-13.5932"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="7.40807,-21.8294"/>
-        <dia:point val="3.45807,-23.1794"/>
-      </dia:attribute>
-      <dia:attribute name="curve_distance">
-        <dia:real val="-9.0926"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow">
-        <dia:enum val="3"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow_length">
-        <dia:real val="0.8"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow_width">
-        <dia:real val="0.8"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="1" to="O1" connection="10"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="UML - Class" version="0" id="O3">
-      <dia:attribute name="obj_pos">
-        <dia:point val="18.1515,-25.7194"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="18.1015,-25.7694;28.0915,-21.4694"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="18.1515,-25.7194"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="9.89"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="4.2"/>
-      </dia:attribute>
-      <dia:attribute name="name">
-        <dia:string>#Weekly Calendar#</dia:string>
-      </dia:attribute>
-      <dia:attribute name="stereotype">
-        <dia:string/>
-      </dia:attribute>
-      <dia:attribute name="abstract">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_attributes">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="suppress_operations">
-        <dia:boolean val="false"/>
-      </dia:attribute>
-      <dia:attribute name="visible_attributes">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="visible_operations">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="foreground_color">
-        <dia:color val="#000000"/>
-      </dia:attribute>
-      <dia:attribute name="background_color">
-        <dia:color val="#ffffff"/>
-      </dia:attribute>
-      <dia:attribute name="attributes">
-        <dia:composite type="umlattribute">
-          <dia:attribute name="name">
-            <dia:string>#next#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="type">
-            <dia:string>##</dia:string>