auf.suno
Connector, geek, tech evangelist, libertarian, business enabler/angel, globetrotter, sportsman, agnostic, cosmopolitan, funny finch ...

This is the website of Markus Gattol. It is composed and driven exclusively by Open Source Software. The speciality of this website is that
it is seamlessly integrating into my daily working environment (Emacs + Python + MongoDB + Linux) which therefore means it becomes
a fully fledged and automatized publishing and communication platform. It will be under construction until 2012.

Open Source / Free Software, because freedom is in everyone's language ...
Frihed Svoboda Libertà Vrijheid เสรีภาพ Liberté Freiheit Cê̤ṳ-iù Ελευθερία Свобода חרות Bebas Libertada 自由
auf.suno
Website Sections
Home
FAQs
About Me
Weblog
Photo Albums
How to Contribute to this Website and its Contents
Status: Finished except for info on the mailing list bit which will arrive in September 2009.
Pagecode: T->1 A->SAml H->trsa[t,a,si,di]d[t,a,si,di] C->SA[ccceji]
Last changed: Friday 2010-09-03 [15:24 UTC]
Abstract:

This page provides information how to contribute to this website. This website provides access to all of its contents to anybody without any limitations for free (libre). This website has come to life because of the idealism and for practical purposes the author shares with many other open minded humans around the globe. Therefore, anybody should be able to add and/or correct the knowledge this website provides. The goal of this page is to explain how to do so for various kinds of persons (for those with deep inside computer knowledge and technical skills as well as for folks which have other talents, skills and knowledge e.g. philosophers, photographers, linguists, etc.) in a (and that is a crucial point) robust and time efficient way without imposing big amounts of management overhead for anyone actively involved in improving the website and its contents.
Table of Contents
Random Minds
The Solution
Contribute
Contributors Communication Channels
non-SCM Folks i.e. non Technicians
SCM Folks
The Pagecode Line

Random Minds

This page is in place because I find it extraordinary important that authors stay in contact and interact with their readership. I am not referring to bookfairs and the typical situation that goes on there — the author being praised by the crowd. I am not a king nor am I different from anybody else who visits my page so there should be no such king and crowd thing here. What I am referring to, is that the contact between some author and its readership is vital even if work is still in progress as with this platform/website — it is like with software — this platform will never be finished because there is always space for improvements.

Whenever folks have some constructive dialog with each another, the result reflects a dozen opinions and chances are quite big those might reflect the real truth of the matter (whatever that might be).

On a marginal note — that is exactly why I like my involvement with FOSS (Free and Open Source Software) so much. At its core, it is all about the community — together we have a multi-perspective view on the world which is superior one and a lot better one than any individual opinion/view could ever be.

Next to the social aspect, there are lots and lots of practical reasons why having good contact with each another is a good thing. For example, most authors focus on their writing i.e. content and not so much on 100% correct grammar, style or spelling when they initially write something down — quite likely there are typos and weird verbalization issues involved at that point. That stuff can be fixed later on by proofreading and the like.

Just take this platform for example. I am sure, I make a lot of typos even though I use pretty smart spelling software. Also, grammar ... I am sure there are sentences that might turn somebodies stomach etc. etc. But as I said, whenever some author suffers a mind explosion he does not care about spelling — he is busy++ with typing his minds into the computer before they vanish.

So, generally, whenever some author fosters good dialog with his readership and maybe the readership among itself — some call that a community — it certainly is a good thing.


The kind of dialog I am planning to have goes far beyond just meeting in some MUC (Multi User Chat) room or being an active member on a mailing list — in the end, if something has to be fixed (e.g. typo) someone has to do it. This takes time which is something which at least I am very spare/short with. In fact, being just me who has the powers to do changes to the website/platform would make me a single point of failure — those are bad bad bad. In case I got hit by a bus and have to stay at the hospital for 4 months or so, no typo could be fixed, no rephrasing could take place etc. Clearly, not acceptable (at least not to me).



The easier to understand Single Point of Failure version for the laymen: Using one device or communications line to perform a function. In order to ensure continuous operation, two or more devices or lines are used. Any computer or communications system that contains only one component to do a job creates a single point of failure. If that single component fails, there is no alternate one to take its place. (The Free Dictionary)

The Solution

Connector, geek, tech evangelist, business enabler and funny finch as I consider myself, I am going to provide means to avoid the nasty single point of failure thing. I am going to put technology in place that allows a bunch of people to work together on some project no matter where they are, who they are, what time it is and what I am busy with i.e. this is going to be a machine authority that oversees management of the platform development but acts by human applied rules. Wow! Sounds pretty much like some overlord-high-end

Well, actually, it is not ... Programmers use such things on a daily basis. Guess what? Yes, I am talking about an SCM (Software Configuration Management) system that I am going to put in place in order to gain all the nice benefits that its usage provides us with.

A successful [software] tool is one that was used to do something
undreamed of by its author.
                — S. C. Johnson

However, for the reader who reads that and does not have any clue (not even the slightest idea) what I am talking about, there is no need to worry or be scared. I am very well aware of the fact, that maybe ordinary people might visit my platform as well. Do I wish them to contribute as well? Of course! Here is why:

Specialization is for Insects.
      — Robert A. Heinlein

Coming together is a beginning;
    keeping together is progress;
        working together is success.
    — Unknown

Those two are enough good reasons. This platform of course, like a satellite circulates around his master (IT (Information Technology)) but I do not want to loose focus on general things and matters in life which might not be necessarily connected to technology or IT at all — life is simply so much more than electrical circuits, bits and bytes ...

Something good simply needs a lot of different people with different backgrounds and different opinions otherwise it is not worth putting time and effort into it since it might not be able to gain attention from anybody else than its creator. My experience is, that if you just let folks do, put some decent tools into place, let the process pick up self-reinforcing tendencies and provide a good legal and business framework, the outcome is almost anytime good if not overwhelmingly good. Because of that, what I want to avoid, even when the following verse focuses on programmers, is this:

Why are programmers non-productive?
Because their time is wasted in meetings.

Why are programmers rebellious?
Because the management interferes too much.

Why are the programmers resigning one by one?
Because they are burnt out.

Having worked for poor management, they no longer value their jobs.

                — Geoffrey James, "The Tao of Programming"

We do not want any burnout here nor do we want depressed folks. This platform is freedom and peace because I want so and because I have the powers (me/we, free software, own hardware, independent hosting location and last put not least financial independence) to guarantee it.

Contribute

Ok, so I want to allow folks to contribute since it is a desirable thing for both sides as we figured above. In fact it should almost work as if we would have a Wiki in place. The reason why I haven not chosen a Wiki can be read here.

The only question is, how can the laymen contribute? It is not going to be a problem for experienced folks since we are simply going to use GIT (= a random three-letter combination) as our SCM (Software Configuration Management) system.

Contributors Communication Channels

The channels are needed to foster contact amongst all contributors as well as between contributors and the readership.

IRC Channel

We have an IRC channel (#sunoano) at irc.freenode.net. Visit us there for real-time conversations. Those who need help with joining the IRC network, please go here to see how it is done.

Mailing List

For now, there is only the IRC channel and direct contact with me available. I will setup a mailing list in September 2009 — it will be for the sole purpose of collaboratoin amongst contributors and general knowledge exchange amongst and with the readership.

WRITEME

non-SCM Folks i.e. non Technicians

Well, the easiest thing to do is to stick to habits and technology anybody knows/possesses and is comfortable with. In fact, I am talking about plain and simple email. I think the assumption that anybody who can visit this platform is also able to use email is all right.

Normal folks (i.e. non technicians, non-programmers etc.) can simply copy paste some text from this website into their editor (even if it is super stupid Microsoft Word) alter the text (e.g. fix typos, rephrase) or they can write some new paragraphs or even whole sections or more. All they have to do when finished, is to get into touch with one of the SCM folks which might then put that improvements into the SCM system.

Yes, I know ... not ideal but since I have chosen not to use some Wiki but this setup and since no one can demand that usual folks do the uphill battle and learn the whole SCM thingy (although it certainly is possible — all it takes is a good online tutorial) it appears to be the simples and thus best solution to go with email.

Marginal Note: The funny thing is, I do have a bit experience here. I put a Wiki into place for some firms. Guess what happened? A few normal folks (non technicians) were actually editing the Wiki after a while and after they were trained how to do so, but ~70% where sending Please change this ... see Attachment to the other 30% via email ... Go figure ... ;-]
Bottom line is, normal folks are that much comfortable with email that they use it for anything (odd) even if you provide them with a decent/better tool for a particular task. Because of that, I think the email thingy is going to work just great for all great folks out there with skills and knowledge other than we hackers have. We need those skills and knowledge and am saying thanks in advance to any non-hacker out there who takes the burden to help with this website!

However, what is mandatory for anybody to know about who wants to contribute is what the pagecode line determines — no matter if he is a hacker, attorney, submarine captain, nurse, explorer, fashion model, news speaker, bartender, dentist, CEO (Chief Executive Officer), stripper, biologist, cap driver or pilot — he needs to know. Everybody is welcome! It does not matter who you are or what you look like and such things. What matters is what you say. There is equality here since we want to focus on progress ...

SCM Folks

There is an SCM (Software Configuration Management) system in place. In fact, the source code for the whole platform/website is kept in a GIT repository ... I think I do not need to mention what that means. Anybody who wants to contribute can clone the repository, work on his local branch and when done, push back changes to the official public branch.

How to use GIT for Contributing to this Platform

This is not about a person starting to host a project on GIThub, rather, it is about how people can use this infrastructure after it has been set up by the project founder already.

Basically, contributing to some project hosted at GIThub can be done in two ways

  • One can fork the project and edit it locally on his machine using his favorite editor (any editor will do), or
  • one can edit it online on GIThub, using the web interface
Start Contributing

Outlined below are the steps one should take in order to start contributing:

  1. Create an account on GIThub. It is necessary to provide a public SSH key to GIThub in order to do so. Go here to see how it is done.
  2. Fork my project (the source code for this website/platform that is) by clicking the fork button.
  3. Make your contributions/changes i.e. use one of the two outlined methods from above (edit locally or online).
  4. Send me a pull request by using the pull request button on your forked project. I will then review the changes and pull them into my local master branch and finally push them to GIThub again so the changes are available to anybody. This will also update the website/platform itself.

Here is a screencast in .ogg format that will show how it is done.

The Pagecode Line

The pagecode line is part of the functional concept for this platform. I conceived it because of the need for something that is

  • easy to use
  • easy to understand
  • individual to a particular page
  • easy and quick to edit/manage
  • extensible
  • in the right spot i.e. part of the Page Information Corner
  • naturally integrates into the page (at source code as well as at user level)
  • optional to use (just because all my pages have one, that does not mean it is mandatory; it can be omitted)

The remainder is now going to explain the encoding of the pagecode line in detail by providing a few examples at the end.

Tech Level

If we take a look at T->1 A->SAml H->trsa[t,a,si,di]d[t,a,si,di] C->SA[eji], we can see that there is a T->1 at the beginning. The T is short for Tech Level. There are four possible tech levels starting with 0 and going up to 3 which is also the highest (most complex) one.

  1. 0 determines that there is no tech speech at this page so it can be understood by anybody i.e. no formal or informal tech education necessary.
  2. 1 determines that there is a little tech speech at this page but anybody should be able to understand what the pages takes about from either the context or by gleaning at some other place or talking to folks which are considered experts on the matter.
  3. 2 is the next higher level and tells the reader that this page might not be understood in detail by non-programmers or non long-term users of Unix-like OSs (Operating Systems). However, a page marked T->2 might contain enough information that might be classified as T->0 or T->1 as well — it is just, since a page gets calssified by the most complex parts it covers it had been classified T->2. Bottom line is, anybody should try a T->2 classified page and see how far he gets.
  4. 3 is the highest possible tech level. It determines, that even technicians might not be able to understand the page contents if it is not their area of expertise the page talks about. Again, a T->3 classified page might as well contain content which by itself might classify as T->2 or even T->1 or lower — the highest level within a page determines the tech level that is given for the whole page.

The reason why this encoding is in place is because I wanted that folks know immediately with what they are dealing with so they can make instant decisions and do not waste their precious time. However, in the end it still is just an indicator and one can only be completely sure after he read the page.

Author(s)

This subsection explains how the transition from reader to contributor and further on to become an author works. Next to NAP (New Authors Process), it also explains the meaning of the Authors tag (A->).

NAP - New Authors Process

Folks need to become substantial contributors in the long-term in order to be become authors or I need to know them for their contributions to other FLOSS (Free/Libre Open Source Software) projects to be listed from the beginning.

If I do not know them, they first become contributors and then after a while the might become authors if they tend to contribute on a regular basis — I would like to handle this pretty much the same as the Debian NM (New Maintainers) process works.

Meaning of the Authors Tag

Again, we take a look at some random pagecode line e.g. T->1 A->SAml H->trsa[t,a,si,di]d[t,a,si,di]C->SA[eji]. We can see that there is a A->SAml. The A is short for Author respectively Authors since there may be more than one. The Authors tag (A->) does not just list the page author(s) but also their function with regards to the current page

m main author of a particular page
c co author (substantial contributions) to a particular page
l someone who takes over long-term maintenance for a particular page
Authors and their Initials

This subsection maps the initials from the author tag within the pagecode line (i.e. A->) to their full names. This table will get filled as more folks join the group of authors — you are welcome! If interested, just get in touch with me/us.

Initials Full Name
SA Suno Ano

Help / Contribute

The pagecode line T->1 A->SAml H->trsa[t,a,si,di]d[t,a,si,di]C->SA[eji] also has an H-> tag. This one is short for Help respectively Contribute tag. The tag code then goes like this:

Contribution Abbreviation Meaning Action
t typo fix typos
r rephrase rephrase (e.g. fix bad grammar) page contents i.e. sentences, paragraphs etc. No changes to original information/content itself!
s structure restructure a page e.g. swap/move around sections, paragraphs etc.
a add add some content type to the page (different types; see below)
d delete same as above but delete content

a and d have some additional extra meaning. It must be clear what kind of content one might add and/or delete.

Content Abbreviation Meaning
t text
a audio
si static image i.e. digital photography or sceenshot etc.
di dynamic image i.e. videos e.g. some some Last.fm or YouTube web widgets and the like

As an example

Pagecode Meaning
a[t] add text
d[a] delete audio
a[si,di] add static images and add dynamic images
d[t,a,si,di] delete text, audio, static images and dynamic images

If we also add typos, rephrasing and structuring in order to make it look like a real-world Help/Contribute tag (H->), it might look like this

Pagecode Meaning
tra[t]d[t] typo, rephrase, add [text], delete[text]
trsa[t,a,si]d[t] typo, rephrase, structure, add [text,audio,static images], delete[text]

It is simple, per default, anything is prohibited and only the pagecode which is explicitly listed in the pagecode line may allow the afore mentioned actions on a particular page thus the pagecode line T->1 A->SAml C->SA[eji] tells that no one should touch the page since there is no Help/Contribute tag (H->) in the pagecode line. However, it is unlikely for a page to be tagged this way since at least fixing typos should be permitted. This approach is generally known as whitelisting although more common with email/firewall setups and the like.

Contact

This sort of contact does not provide information about how contributors communicate with each another (they do this via CCC (Contributors Communication Channels) or ccc for short) but to tell the random reader, with regards to a particular page, if and how an author wants to be contacted by readers about the particular page.


While the simple fact that an author has its Contact tag (C->) in the pagecode line tells the reader he can get in touch with the author, the Contact tag also tells which sort of communication the author prefers and in which particular order.

For example, C->SA[ccc,e,j] determines the author Suno Ano wants to be contacted through contributor communication channels at first, second to ccc one might send email directly to Suno Ano or thirdly contact him via Jabber. If the reader chooses ccc, he would be talking to the whole contributor group (which is the best thing to do), e and j would be only directed to one particular author which might cause huge delays since the particular author might be on a journey for a long time period.

In other words, the order in which the communication are types listed are not random but determine the priority — starting with the highest at the left-hand side and ending at the lowest priority one at the outermost right.


The prerequisite for an author to put his Contact tag in the pagecode line and state more than just ccc is, he is listed at the contact page with all the information he puts in the tag i.e. for C->SA[ccc,e,j] the author Suno Ano must have his email address and Jabber ID on the contact page — no problem if he puts more than the things in the Contact tag onto the contact page e.g. also his Skype ID etc.

So, a Contact tag not just tells if some authors wants to be contacted but also in which way and what kind of communication he favors over others respectively he thinks might suit the matter best1.

There can be no Contact tag code for someone if he does not have an Authors tag (A->) tag belonging to a particular page as well i.e. only authors can have their contact tag in the pagecode line. As stated above, only folks who really care and contribute might become authors.

If not listed for a particular page with his Contact tag he does not want to get contacted even if he has his Authors tag in the pagecode line of a particular page. If he however decided that it might be a good idea to get inputs to a particular page from random readers directed to himself as well (since he is the author or one of the authors, he has the powers to do changes on the page) he might decide to put his Contact tag in the pagecode line. The following table shows some examples:

Pagecode Line Valid Comment
T->1 A->SAml,LNc H->trsa[t,a,si,di]d[t,a,si,di] C->SA[eji] yes Two authors, one decided to have a Contact tag as well.
T->1 A->SAml H->trsa[t,a,si,di]d[t,a,si,di] C->SA[eji],LN[e] no One author but two Contact tags.
T->1 A->SAm,LNcl,HBcl H->trsa[t,a,si,di]d[t,a,si,di] yes Three authors of which none decided he would like to be contacted by random readers (only within contributors group itself).
Communication Type Abbreviation Meaning
ccc Contributors Communication Channels
e Email
b Bulletin Board
j Jabber
i IRC (Internet Relay Chat)
o OpenWengo
s Skype
p Phone (mobile respectively land line)

Examples and their Explanations

Example 1
T->1 A->SAml H->trsa[t,a,si,di]d[t,a,si] C->SA[ccceji]
This page has a tech level of 1 which means it contains a little tech speech. There is only one author to this page. His name is Suno Ano which can be determined from his initials (SA). Suno is main author and has taken over long-term maintenance of this page (see Author(s) section above).
The author wants contributions to the page happen since there is a Contribute tag in place (H->). The contributions are as follows: contributors might fix typos, rephrase page contents, make changes to the structure, add text, add audio, add static images, add dynamic images. The author also thinks folks might delete things. Contributors might delete text and delete static images.
The author Suno Ano states he might be contacted by readers since his Contact tag is part of the pagecode line. He prefers to be contacted through contributors communication channels at first. If the reader does not feel comfortable with ccc he might try to contact Suno Ano via email at next. If for some reason email does not work or the reader feels not just uncomfortable with ccc but also with email he might try to contact Suno via Jabber at next. The last possibility if everything else fails/is no option to the reader, is to contact Suno via IRC.
Example 2
T->0 A->JIm,SAl H->tr C->SA[ccc],JI[ccc]
This page contains content with a tech level of 0 which is the lowest complexity possible i.e. the contents will be understood by anyone.
The page has two authors. John Ingmar (I just made up the name) is the main author. The second author is Suno Ano who has taken over long-term maintenance for the page but did not take part in major writings since he is no co-author as can be seen.
The authors agreed they would allow contributions to the page since they put the Contribute tag in place. Contributors are allowed to fix typos and rephrase the contents of the page but nothing more than that.
Both authors decided readers might contact them with regards to the particular page. In this case both have chosen to be contacted via contributors communication channels only.
Order of Appearance: The order of appearance of any tag or its tag code is without any meaning except for the order within the Contact tag which determines what kind of communication a particular author favors over others.
However, is makes life easier if all authors and contributors stick the current convention to start with the Tech Level tag followed by the Authors tag and so on. Same goes for stuff inside tags i.e. the tags code itself.
Example 3
T->3 A->SAml,TRc C->SA[e]
The page has a tech level of 3 which is considered highest possible complexity.
There are two authors. Suno Ano which is the main author and has also taken over long-term maintenance for the page. The second author has the initials TR (at this point one might look up the full name in the table above) and contributed to the page with substantial parts of content. TR has not taken over long-term maintenance for the particular page.
For whatever reason, the authors seem to have decided that they do not want folks to contribute to the page (no Contribute tag (H->) present ).
Only one of two authors (Suno Ano) would like to be contacted by random readers with regards to the particular page. He wants to be contacted via email.

1. One might argue that it might happen that there is some author which cannot be contacted in case he does not put his Contact tag into the pagecode line. Well, I could insist on that but I believe in free will. I am not going to impose strict rules on folks — I do not want that. In the end, I am responsible for the whole platform so I need to have an eye on things anyways.

Creative Commons License
The content of this site is licensed under Creative Commons Attribution-Share Alike 3.0 License.