<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.okws.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.okws.org/feed.php">
        <title>OKWS okws</title>
        <description></description>
        <link>http://www.okws.org/</link>
        <image rdf:resource="http://www.okws.org/lib/images/favicon.ico" />
       <dc:date>2010-09-09T09:55:29+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:aarr&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:configure&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:dict&amp;rev=1272037356&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:dmalloc&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:example.c&amp;rev=1221655237&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:features&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:installing&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:interal&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:international&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:libasync&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:newfeatures3&amp;rev=1270082994&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:obtaining&amp;rev=1270229775&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:okws_config&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:oldinstall&amp;rev=1241715687&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:pub&amp;rev=1272043181&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:pub2&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:pub3&amp;rev=1258040404&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:publications&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:releaseplan&amp;rev=1269982731&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:requirements&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:serviceipc&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:sfslite&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:sponsorship&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:static&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:style&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:tame&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:todo&amp;rev=1269982412&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:tutorial&amp;rev=1272041753&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:unwrap&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:update-1.0&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:users&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=okws:zbuf&amp;rev=1282248453&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.okws.org/lib/images/favicon.ico">
        <title>OKWS</title>
        <link>http://www.okws.org/</link>
        <url>http://www.okws.org/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:aarr&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:aarr</title>
        <link>http://www.okws.org/doku.php?id=okws:aarr&amp;rev=1282248453&amp;do=diff</link>
        <description>Name/value dictionaries used mainly in the publishing system.</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:configure&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:configure</title>
        <link>http://www.okws.org/doku.php?id=okws:configure&amp;rev=1282248453&amp;do=diff</link>
        <description></description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:dict&amp;rev=1272037356&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-04-23T15:42:36+00:00</dc:date>
        <title>okws:dict</title>
        <link>http://www.okws.org/doku.php?id=okws:dict&amp;rev=1272037356&amp;do=diff</link>
        <description>See libpub/pub3expr.h and look for the class expr_dict_t.  These are OKWS dictionaries that are used to make dictionaries of name-value pairs, in which the names are tips and the values are generic pub3 expressions (pub3::expr_t's.)</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:dmalloc&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:dmalloc</title>
        <link>http://www.okws.org/doku.php?id=okws:dmalloc&amp;rev=1282248453&amp;do=diff</link>
        <description>Dmalloc is a very handy malloc debugging library by Gray Watson, available in the sfslite-dbg and okws-dbg ports supported by OKWS on FreeBSD, and other other platforms when compiling from source.

How To Use Dmalloc With OKWS


Dmalloc is useful for tracking down memory corruptions such as double-frees, access-after-free, access-unitilized-data and so on.  It also helps to find memory leaks. To use dmalloc, first make sure you're linked against the libraries, by either installing the ports desc…</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:example.c&amp;rev=1221655237&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-09-17T12:40:37+00:00</dc:date>
        <title>okws:example.c</title>
        <link>http://www.okws.org/doku.php?id=okws:example.c&amp;rev=1221655237&amp;do=diff</link>
        <description>namespace RPC {

  program MY_PROG {
    version MY_VERSION {
      
      res_t MY_FUNC(arg_t) = 1;

    } = 2;
  } = 1;
};

tamed void window_rpc (vec&lt;args_t&gt; arg, evb_t ev)
{
  tvars {
    vec&lt;clnt_stat&gt; stat;
    vec&lt;res_t&gt; res;
    vec&lt;size_t&gt; slots;
    size_t window (10);
    rendezvous_t&lt;size_t&gt; rv;
    size_t id;
    bool rc (true);
  }

  stat.setsize (window);
  res.setsize (window);
  for (size_t i = 0; i &lt; window; i++) { slots.push_back (i); }

  while (arg.size () &amp;&amp; slots.size () …</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:features&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:features</title>
        <link>http://www.okws.org/doku.php?id=okws:features&amp;rev=1282248453&amp;do=diff</link>
        <description>OKWS allows developers to program their Web applications in C++, a compiled and strongly-typed language. We realize that many features of Perl or Python make them seem better-suited to Web programming, but OKWS makes compiled, fast, secure code easy for programmers. It provides:</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:installing&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:installing</title>
        <link>http://www.okws.org/doku.php?id=okws:installing&amp;rev=1282248453&amp;do=diff</link>
        <description>FreeBSD


Update 12/26/06 I've stopped maintaining the FreeBSD ports, so these directions are temporarily out of date.

How Ports Used to Work


We have started the process of pushing OKWS build files into the FreeBSD main ports tree, but for now, we offer a simple script to patch your ports tree to build OKWS:</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:interal&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:interal</title>
        <link>http://www.okws.org/doku.php?id=okws:interal&amp;rev=1282248453&amp;do=diff</link>
        <description></description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:international&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:international</title>
        <link>http://www.okws.org/doku.php?id=okws:international&amp;rev=1282248453&amp;do=diff</link>
        <description>11:45:07) max: ok, there are two classes that are important
(11:45:28) max: actually not even
(11:45:42) max: if you look at test2/unit/static.T in okws1.0
(11:45:55) max: in the ::process function, there's a call to set_localizer
(11:46:07) max: a localizer is an object that runs internal to the publishing system
(11:46:24) max: when the publishing system is looking for a content page, it builds up a little search path
(11:46:41) max: if you supply a localizer, it can add an additional file to …</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:libasync&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:libasync</title>
        <link>http://www.okws.org/doku.php?id=okws:libasync&amp;rev=1282248453&amp;do=diff</link>
        <description>The SFS programming library, made available via a stripped down distribution called sfslite.</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:newfeatures3&amp;rev=1270082994&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-04-01T00:49:54+00:00</dc:date>
        <title>okws:newfeatures3</title>
        <link>http://www.okws.org/doku.php?id=okws:newfeatures3&amp;rev=1270082994&amp;do=diff</link>
        <description>Outline

	*  Scoping --- ''globals'', ''locals'' and ''universals''
	*  Lambdas and Functions
	*  New Control Structures
	*  Heredoc!


Next</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:obtaining&amp;rev=1270229775&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-04-02T17:36:15+00:00</dc:date>
        <title>okws:obtaining</title>
        <link>http://www.okws.org/doku.php?id=okws:obtaining&amp;rev=1270229775&amp;do=diff</link>
        <description>As part of our ToDo list, we intend to distribution OKWS as ports/packages for various platforms.  For now, we rely on the old-fashioned methods:


Anonymous Subversion


The best way to obtain OKWS is from anonymous subversion access:

% svn co svn://svn2.okws.org/ok/okws2/devel/3.0 okws-3.0
Source Releases
Date Release Name Size Description9/26/05okws-0.2.tar.gz534K0.2 Release6/12/06okws-1.0.tar.gz785K1.0 Release1/16/09okws-1.3.0.tar.gz1.0M1.3 Release3/15/09okws-1.4.0.tar.gz1.0M1.4 Release</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:okws_config&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:okws_config</title>
        <link>http://www.okws.org/doku.php?id=okws:okws_config&amp;rev=1282248453&amp;do=diff</link>
        <description>The main configuration file for the OKWS system.  Read in by okld on startup.</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:oldinstall&amp;rev=1241715687&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-05-07T17:01:27+00:00</dc:date>
        <title>okws:oldinstall</title>
        <link>http://www.okws.org/doku.php?id=okws:oldinstall&amp;rev=1241715687&amp;do=diff</link>
        <description>At present, OKWS services are built on top of the SFS libraries. To build OKWS services on your machine, you'll first need a reasonable installation of SFS, an installation of the OKWS core services and libraries, and finally, a development directory that allows you to build and link against the OKWS libraries. This document will step through the key points of this installation process, and will also detail some common configuration options.</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:pub&amp;rev=1272043181&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-04-23T17:19:41+00:00</dc:date>
        <title>okws:pub</title>
        <link>http://www.okws.org/doku.php?id=okws:pub&amp;rev=1272043181&amp;do=diff</link>
        <description>The OKWS &quot;Pub&quot; Language


The OKWS publishing system is a way for programmers to separate their C++ code and their HTML, and to keep the HTML on the file system where it's most convenient to manage.  There are two sides to this system, then:


	*  C++ bindings - in your OKWS services, you'll use these to read HTML templates off the file system, parse them, and publish them.  
	*  The templates themselves - OKWS templates look a lot like HTML, JS, CSS, or whatever else you're trying to publish, b…</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:pub2&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:pub2</title>
        <link>http://www.okws.org/doku.php?id=okws:pub2&amp;rev=1282248453&amp;do=diff</link>
        <description>OKWS pubbing is now versioned up to pub3.  pub3 is backwards compatible with pub2, but much of the syntax has newer, shorter alternatives, so read the new spec.

Pub Protocol v2


The OKWS publishing system is a way for programmers to separate their C++ code and their HTML, and to keep the HTML on the file system where it's most convenient to manage.  There are two sides to this system, then.  On the one hand there are C++ bindings for reading HTML templates off the file system, and parsing them…</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:pub3&amp;rev=1258040404&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-11-12T15:40:04+00:00</dc:date>
        <title>okws:pub3</title>
        <link>http://www.okws.org/doku.php?id=okws:pub3&amp;rev=1258040404&amp;do=diff</link>
        <description>Pub Protocol v3 a.k.a Pub3


The OKWS publishing system is a way for programmers to separate their C++ code and their HTML, and to keep the HTML on the file system where it's most convenient to manage.  There are two sides to this system, then:


	*  C++ bindings - in your OKWS services, you'll use these to read HTML templates off the file system, parse them, and publish them.  
	*  The templates themselves - OKWS templates look a lot like HTML, JS, CSS, or whatever else you're trying to publish…</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:publications&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:publications</title>
        <link>http://www.okws.org/doku.php?id=okws:publications&amp;rev=1282248453&amp;do=diff</link>
        <description>*  Building Secure High-Performance Web Services With OKWS
Maxwell Krohn
Proceedings of the 2004 USENIX Annual Technical Conference (USENIX '04)
Boston, MA, June 2004. [ ps, ps.gz, pdf ]

	*  Building Fast and Secure Web Services with OKWS
Maxwell Krohn, advised by M. Frans Kaashoek
September 2005. [ ps, ps.gz, pdf ]</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:releaseplan&amp;rev=1269982731&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-30T20:58:51+00:00</dc:date>
        <title>okws:releaseplan</title>
        <link>http://www.okws.org/doku.php?id=okws:releaseplan&amp;rev=1269982731&amp;do=diff</link>
        <description>Release 3.0, Spring 2010

	*  Pure Pub3 interiors
	*  Lambdas / pub3-pure functions
	*  blocks pub3-functions in C++
	*  globals/locals/universals namespaces
	*  COW-mechanics worked out for pub syntax tree
	*  stripped a lot of cruft out 

Release 3.1, Summer 2010

	*  JSON-RPC?</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:requirements&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:requirements</title>
        <link>http://www.okws.org/doku.php?id=okws:requirements&amp;rev=1282248453&amp;do=diff</link>
        <description></description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:serviceipc&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:serviceipc</title>
        <link>http://www.okws.org/doku.php?id=okws:serviceipc&amp;rev=1282248453&amp;do=diff</link>
        <description>When communication across services is required, a simple API is available via RPC.  

One-Way Communication


The best-tested, most stable way to do this is with one-way communication, via the CUSTOM1 RPC interface.  This is, a client in one service makes an RPC to servers in different services.  The servers respond with a status code, and a combined status code is sent back to the calling client.  Note that there is no way for the servers to communicate back to the client, but they could, in tu…</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:sfslite&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:sfslite</title>
        <link>http://www.okws.org/doku.php?id=okws:sfslite&amp;rev=1282248453&amp;do=diff</link>
        <description>This page moved to here</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:sponsorship&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:sponsorship</title>
        <link>http://www.okws.org/doku.php?id=okws:sponsorship&amp;rev=1282248453&amp;do=diff</link>
        <description>OKWS was partially funded by the DARPA Composable High Assurance Trusted Systems program (BAA #01-24), under contract #N66001-01-1-8927.</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:static&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:static</title>
        <link>http://www.okws.org/doku.php?id=okws:static&amp;rev=1282248453&amp;do=diff</link>
        <description>As you may or may not have noticed, okws.org runs on the Apache Web Server. (We've also recently ported okws.org to a PHP-based Wiki, which is really cool software.) Unlike typical Web servers, OKWS is specialized for dynamic content and is not well-suited to serving files from disk. Sites that use OKWS therefore rely on typical Web servers (such as Apache) to serve images and other static content. In the OKWS paper, we argue that the separation of static and dynamic content across multiple mach…</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:style&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:style</title>
        <link>http://www.okws.org/doku.php?id=okws:style&amp;rev=1282248453&amp;do=diff</link>
        <description>Most of the work in an OKWS service is done inside a class that inherits from okclnt_t.  Assume a trivial class derived from okclnt_t and also a related class direved from oksrvc_t:


  class oksrvc_foo_t : public oksrvc_t {
  public:
    oksrvc_foo_t (int argc, char *argv[]) : oksrvc_t (argc, argv) {}
    okclnt_t *make_newclnt (ptr&lt;ahttpcon&gt; x);
  };

  class okclnt_foo_t : public okclnt_t {
  public:
    okclnt_foo_t (ptr&lt;ahttpcon&gt; x, oksrvc_foo_t *v)
      : okclnt_t (x, o), _foo_service (v)…</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:tame&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:tame</title>
        <link>http://www.okws.org/doku.php?id=okws:tame&amp;rev=1282248453&amp;do=diff</link>
        <description>Tame v1 is supported in sfslite version 0.8.  As of sfslite version 1, we've migrated to Tame v2,
documentation for which is available here.


tame is a generic tool for simplifying libasync programming,
useful with OKWS, but also for any other libasync-based
application.  It is available under the sfslite distribution.
tame is a simple C++-level rewriter.  Input files look a lot like
regular C++ files, with some small modifications.  Output files are
standard C++ files that are then compiled an…</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:todo&amp;rev=1269982412&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-30T20:53:32+00:00</dc:date>
        <title>okws:todo</title>
        <link>http://www.okws.org/doku.php?id=okws:todo&amp;rev=1269982412&amp;do=diff</link>
        <description>List of requested features/bugfixes/upgrades to make OKWS more stable and usable. See the release plan for more release details and plans.

Maintenance and Installation
Who When What Status MK9/13/05Write a simple oknewmod utility that sets up a skeleton development directory.  Should keep template files in /usr/local/share/okws or thereabouts.NoneMK9/18/05Installing py-sfs does not respect the 'install-prefix' for libpyarpc. I'm not really sure if this is a bug, since it just uses whatever SFS …</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:tutorial&amp;rev=1272041753&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-04-23T16:55:53+00:00</dc:date>
        <title>okws:tutorial</title>
        <link>http://www.okws.org/doku.php?id=okws:tutorial&amp;rev=1272041753&amp;do=diff</link>
        <description>The gameplan for building and running a new service with OKWS is as follows:


	*  Make a new standalone Unix executable that will be the Web service.  The executable needs to follow the OKWS protocol for receving new connections from the demultiplexer, and also for interacting with the OKWS publishing system.  Though it's possible to do this from scratch, it's much easier to use our supplied C++ libraries.
	*  Install your new executable in the right place. If running OKWS as an unprivileged us…</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:unwrap&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:unwrap</title>
        <link>http://www.okws.org/doku.php?id=okws:unwrap&amp;rev=1282248453&amp;do=diff</link>
        <description>The unwrap tool is deprecated!  The new version of unwrap is called tame and is much improved.  Please check it out.

unwrap is a generic tool for simplying libasync programming, useful with OKWS, but also for any other libasync-based application.  It is available under the sfslite distribution.  unwrp is a simple C++-level rewriter.  Input files look a lot like regular C++ files, with some small modifications.  Output files are standard C++ files that are then compiled and linked against the li…</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:update-1.0&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:update-1.0</title>
        <link>http://www.okws.org/doku.php?id=okws:update-1.0&amp;rev=1282248453&amp;do=diff</link>
        <description>If you've just upgraded from OKWS version 0.2 to version 1.0, you'll need to follow these brief directions on how to smooth the upgrade:

Configuration Files

Location change


Though you scan still dump your config file in the old /etc/sfs/okws_config, OKWS1.0 and above prefer them in /usr/local/etc/okws/okws_config, and we recommend you put them there. The same goes for pub_config; we recommend the file location /usr/local/etc/okws/pub_config.</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:users&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:users</title>
        <link>http://www.okws.org/doku.php?id=okws:users&amp;rev=1282248453&amp;do=diff</link>
        <description>*  Ok Cupid: Free Online Matching
		*  Movie-Madness.org
		*  Addgene: Plasmid Repository For Life Sciences</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=okws:zbuf&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>okws:zbuf</title>
        <link>http://www.okws.org/doku.php?id=okws:zbuf&amp;rev=1282248453&amp;do=diff</link>
        <description>zbuf is a class defined in libpub/zstr.h that OKWS uses a a buffer, that implements an intelligent gzip algorithm on data in the buffer.  In particular, caches as much of the computation as possible, based on pre-gzipped chunks of incoming data.</description>
    </item>
</rdf:RDF>
