About Siafoo Atom Feed 0

Siafoo is dedicated to sharing code and programming experience and learning from what others have shared. Siafoo is here to make coding less frustrating and to save you time.

Siafoo's philosophy can be summed up by two popular maxims. First, Don't Reinvent the Wheel. In other words, try to spend your time solving your problem instead of doing menial tasks. Second, Reduce, Reuse, and Recycle. Reduce the amount of code you write, reuse the code written by yourself or others, and recycle code that you no longer need.

Don't have any code to contribute? That's okay. You can still use your Siafoo account to find useful code and organize it into libraries, to improve other people's code, or simply to rate and comment on snippets and articles.

Want to experiment? Try the Siafoo reST Demo or the Siafoo Syntax Highlighting Demo.

1   Cool Features

1.1   The Homepage

The homepage has been designed to provide quick access to relevant information. When you're logged in, it looks something like this:


1.2   Snippets of Code

Post and share snippets of code, syntax highlighted in one of over 40 Supported Languages and their combinations.

Send snippets or embed them in your blog or webpage.

If you'd like, you can try out Siafoo's syntax highlighting (even without being logged in).


1.2.1   What is a Snippet?

Like an obscenity, a snippet can not be defined, but you'll know it when you see it. Some examples of snippets are:

  • Simple example code, like the snippets in our Hello World collection or the Java Basics library.
  • Scripts for automating your daily computer use, like this one liner for improving wget or this one for batch renaming of files.
  • Self contained pieces of code from that project you spent months writing as an undergrad and now there is little use for, so you are quickly falling into post-project depression.
  • One-file programs or libraries that are too small to warrant their own revision control system but are useful in themselves, like this Quick and dirty CSS Minifier.

1.3   Activity Stream

Stay up to date with changes on Siafoo by checking the activity stream page or by subscribing to the activity stream atom feed:


Activity streams are also available for each individual object.

1.4   Filters

Browse and search for code and information using our flexible filter system:


1.5   Libraries

Organize algorithms, articles, and snippets into libraries and access them quickly from the My Libraries nodule:


1.6   Algorithms

Look up or contribute the details of an algorithm. Or, post your implementation of an Algorithm.

1.7   Groups

On Siafoo, Groups are people too: they can own articles, snippets and libraries, allowing you to effectively collaborate with your colleagues using Unix-style permissions.

1.8   Access Controls

Each Siafoo object has access controls allowing you to specify who can view and edit your stuff. You can give permissions both to users and to groups.

Libraries and groups have even finer-grained controls. Both let you specify who can add items, and groups also let you specify who can join, invite members, or view the member list.

1.9   Version Control

Changes to all code, reST blocks, and other textual content are tracked under a simple version control system that allows for easy comparisons between versions.


1.10   reStructured Text

Write tutorials, white papers, and other articles in the powerful reStructured Text, with full support for text formatting, highlighted code blocks, flow graphs, LaTeX math, charts, and images. To give you some idea of what can be done, the page you are reading right now is written in reST.

You can give reST a quick whirl, even if you are not logged in, with the Siafoo reST demo.

1.10.1   Syntax Highlighted Code

Embed syntax highlighted code blocks directly in your reST documents:

# 's
1from copy import deepcopy
3def resetDefaults(f):
4 defaults = f.func_defaults
5 def resetter(*args, **kwds):
6 f.func_defaults = deepcopy(defaults)
7 return f(*args, **kwds)
8 resetter.__name__ = f.__name__
9 return resetter

You can also embed an existing snippet:

# 's
1print 'Hello World!'
This snippet is licensed under the Public Domain license

1.10.2   Flow Graphs

Create flow Flow Graphs using GraphViz, Graph:Easy or VCG syntax:

1.10.5   Full Screen Editor

Edit reStructuredText (and code) in a simple full-screen editor:


2   On Privacy

Siafoo has the utmost respect for your privacy. We try not to ask you for any personal information we don't need, and we have a huge number of privacy options so you can choose how other users and non-users see you on Siafoo.

We will never sell your information to anybody.

For more information (and a lot of legalese), read our full Privacy Policy.

3   About The Developers

Siafoo has been developed by just two of us, Stou and David, out of our homes. We're recent college grads who didn't really know what to do with our lives, but we saw a problem -- programming involves a lot of menial tasks and looking up information -- and decided we'd try to fix it. Don't think we did this on a whim, though: we're really committed to this site and you don't have to worry that it's going to stop getting maintained or disappear anytime soon. (You also don't have to worry that you're helping out an evil, faceless corporation by using this site.)

4   In Conclusion

We've worked hard on Siafoo, for you. While we might not be so arrogant to say we want to 'make the world a better place', we honestly want to make your lives easier. We think you'll enjoy the site and find it easy to use. If you're not already a member, we hope you'll consider joining Siafoo.