Create
New Algorithm
Generally, an algorithm is a procedure for finding the solution to a particular problem in
a finite amount of time. In Siafoo, an algorithm is a description of such a procedure in a
language independent way. Attached snippets can provide different implementations of the algorithm.
Attached articles can provide more information about an algorithm, including its structure,
its performance, and the motivation behind it.
New Article
A Siafoo article can be any sort of technical publication or text. The content can be pretty much
anything: a benchmark for a given system configuration, a tutorial for creating or configuring software,
or a detailed technical description of a new system, method, protocol or structure. The tone can be
colloquial or formal, vague or detailed. Siafoo articles are written in a customized version
of reStructuredText. reST is a flexible, lightweight, industry standard markup
language. We have expanded the existing set of reST directives with some custom Siafoo ones that allow for
embedding of snippets and other code inside each article. Snippets embedded inside an article
will always display the latest version and a link to the snippet object itself.
New Group
A Siafoo group is closer to a Unix group than to the group objects found on many social
networking websites. Like users, groups can own other objects and their
members can be assigned the same rights as the owner of the objects. For example, a group of people
collaborating on a 3D rendering engine can create a Siafoo group that will own any code snippets they
exchange, any articles they write together, or any libraries with other useful code they maintain. In this way,
everyone in the group has equal access rights to the resources.
New Library
A Siafoo library is a collection of algorithms, articles, and snippets. Typically the items in a library
have some commonality, but obviously that is not a requirement as each user is free to choose what they put in
their libraries. You are free to create as many libraries as you want and populate them with whatever
you like.
New Snippet
A Siafoo snippet is a piece of (nearly) self-contained source code that performs a useful
function. It doesn't have to be an entire file or program, just a bit of code that does
something specific. The source code is highlighted based on the selected language and is
assigned a license
(i.e. Public Domain, BSD, MIT, etc.). Snippets keep track of their references in libraries and articles.
Users can search for snippets matching certain languages and licenses or by many other criteria. Your profile
can display various metrics about your snippets.