<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <title>Apache Tcl Presentations</title>
    <link rel="stylesheet" href="../style.css">
  </head>
  <body>
    <? title ?>

    <table class="main">
	<tr>
	  <? include [file join .. newnav.html] ?>

	  <td valign="top">
	    <p>
	      Tcl presentations on line.  These presentations are made
	      with HTML, style sheets, and mod_dtcl.  This means they
	      are very portable (although a modern browser that
	      handles style sheets is necessary), and you can use them
	      from a networked computer, with just a browser!
	    </p>
	    <p>
	      The presentations are released under the Apache Software
	      License, which means you need to give credit if you use
	      these - but please feel free to take them, modify,
	      redistribute, or otherwise do as you wish.
	    </p>
	    <ul>
	      <li>Tcl Presentation: <a href="tcl/">(live)</a><br>
		Presentation on the Tcl programming language and the Tk toolkit.
	      </li>
	      <li>
		Apache Tcl Presentation: <a
		  href="apache-tcl/">(live)</a><br>

		The present and future of Apache Tcl, and why Tcl is
		such a logical fit for doing web content.
	      </li>
	      <li>Rivet Presentation: <a href="rivet">(live)</a><br>

		About Rivet, the successor to mod_dtcl and NeoWebScript.
	      </li>
	    </ul>
	  </td>
	</tr>
    </table>
    <? powered ?>
  </body>
</html>
