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.
The homepage has been designed to provide quick access to relevant information. When you're logged in, it looks something like this:
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).
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.
Activity streams are also available for each individual object.
Organize algorithms, articles, and snippets into libraries and access them quickly from the My Libraries nodule:
Look up or contribute the details of an algorithm. Or, post your implementation of an Algorithm.
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.
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.
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.
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.
Embed syntax highlighted code blocks directly in your reST documents:
1from copy import deepcopy
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:
Edit reStructuredText (and code) in a simple full-screen editor:
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.
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.)
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.