[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]

[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled
[[GNU_Free_Documentation_License|/fdl]]."]]"""]]

# scolobb

Sergiu Ivanov, interested non-student

Mail: <mailto:unlimitedscolobb@gmail.com>

Project: Namespace-based translator selection

---

## Current Task

Write the filesystem proxy for namespace-based translator selection (*nsmux*).

The code is at <http://github.com/scolobb/nsmux/tree/master>.

---

###Current Status

####DONE:

* The skeleton which mirrors the filesystem.

####TODO:
<<<<<<< HEAD:community/scolobb.mdwn

<<<<<<< HEAD:community/scolobb.mdwn
* Provide shadow nodes (modify the standard version of netfs_S_dir_lookup).
=======
* Implemented the propagation of a translator on all files belonging
  to directory 'dir' in the case of the following query: 'dir,,x'
  (might change, see the thing with "recursive wrappers")
>>>>>>> web commit by scolobb:community/scolobb.mdwn

<<<<<<< HEAD:community/scolobb.mdwn
* Create the generic filter translator.
=======
* Any translator can access the untranslated version of the node it is
  to be set upon by specifying the corresponding flags to the
  <lib>_startup routine, where <lib> is the name of the library used
  to create the translator.
>>>>>>> web commit by scolobb:community/scolobb.mdwn

* Create the translator '0' (providing the untranslated version of the
  node).

* Create the "recursive wrappers" for one-node translators.
=======
>>>>>>> web commit by scolobb:community/scolobb.mdwn

* Provide proxy nodes (modify the standard version of netfs_S_dir_lookup).

* Create the generic filtering translator.

* Create the translator '0' (providing the untranslated version of the
  node).

* Create the "recursive wrappers" for one-node translators.

* Create special translators for the main proxy so that its functionality
  should be complete.

* Refine the skeleton in several places so that it should become faster
  and more reliable.

* Kill bugs.

<<<<<<< HEAD:community/scolobb.mdwn
<<<<<<< HEAD:community/scolobb.mdwn
=======
>>>>>>> web commit by scolobb:community/scolobb.mdwn
* Integrate nsmux upstream.

<<<<<<< HEAD:community/scolobb.mdwn
=======
>>>>>>> web commit by scolobb:community/scolobb.mdwn
=======
>>>>>>> web commit by scolobb:community/scolobb.mdwn
* Solve the libtrivfs stacking issue.

<<<<<<< HEAD:community/scolobb.mdwn
<<<<<<< HEAD:community/scolobb.mdwn
=======
>>>>>>> web commit by scolobb:community/scolobb.mdwn
* Patch libnetfs (it does not support file_get_translator_cntl, for
  instance).
<<<<<<< HEAD:community/scolobb.mdwn
=======
* Patch libnetfs (?).
>>>>>>> web commit by scolobb:community/scolobb.mdwn
=======
>>>>>>> web commit by scolobb:community/scolobb.mdwn

---

###Progress

<<<<<<< HEAD:community/scolobb.mdwn
####6: Sun Aug 3 - ?:
=======
####6: Mon Aug 4 - ?
>>>>>>> web commit by scolobb:community/scolobb.mdwn

<<<<<<< HEAD:community/scolobb.mdwn
<<<<<<< HEAD:community/scolobb.mdwn
> Implement the shadow nodes.
=======
> Implemeting the proxy nodes.
>>>>>>> web commit by scolobb:community/scolobb.mdwn
=======
> Implementing the proxy nodes.
>>>>>>> web commit by scolobb:community/scolobb.mdwn

####5: Thu Jul 24 - Thu Jul 24:

> Created a *libnetfs*-based one-node translator, working exactly like the *libtrivfs*-based translator I had written before; the former, however, can be included in a translator stack.

####4: Tue Jul 22 - Thu Jul 24:

> Attempted to make a *libtrivfs*-based translator to be able to be stacked upon itself (to be able to receive a translator on top of itself, more exactly); attempted to   borrow some code from *libnetfs* but this didn't bring any results.

####3: Sun Jul 20 - Tue Jul 22:

> Implemented the possibility to propagate a translator on all files belonging to a directory 'dir' in the request of the type 'dir,,x/'.

####2: Thu Jul 17 - Fri Jul 18:

> Extended the lookup code in *nsmux* to allow for looking up nodes like 'file,,x' and added the possibility to escape the double-comma in the following way: ',,,'.

####1: Mon Jul 12 - Tue Jul 13:

> Implemented a simple *libtrivfs*-based translator to test the lookup code for *nsmux*.

####0: Sat Jul 12 - Sat Jul 12:

> Made small changes to the code of *filterfs* to fit the needs of *nsmux*.

---

## Completed Tasks

####2: Sat May 3 - Fri Jul 17:

> Write a translator that should filter the contents of the directory it is set on according to some property. The property can be an arbitrary command.

> The code is at <http://github.com/scolobb/filterfs/tree/master>.

####1: Mon Apr 28 - Wed Apr 30:

> Wrote a Python extension module in C for retreiving the uptime. The module is based on the code of *w*.

####0: Sun Apr 27:

> Followed the code of *dmesgd* (<http://www.bddebian.com/junk/dmesgd/>) kindly offered by **bddebian** and rewrote it from scratch as a tutorial.