Git Product home page Git Product logo

zerocracy.github.io's Introduction

jekyll Hits-of-Code Availability at SixNines

See zerocracy.com.

This is a static website powered by Jekyll. Every time you push something to the master branch, GitHub Pages re-publish the content to zerocracy.com.

How to contribute

Read these guidelines. Make sure you build is green before you contribute your pull request. You will need to have Ruby 2.3+ and Bundler installed. Then:

$ bundle update
$ bundle exec jekyll build

If it's clean and you don't see any error messages, submit your pull request.

To see how the site looks locally, run this:

$ bundle exec jekyll serve

Then, open the site in your browser via http://localhost:4000. Every time you change the content, Jekyll will re-build the site. You can make your changes on-fly.

zerocracy.github.io's People

Contributors

alhadhrami avatar amihaiemil avatar carlosmiranda-acn avatar g4s8 avatar llorllale avatar lrozenblyum avatar nqafield avatar rultor avatar ur5eet avatar vassilevsky avatar yegor256 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zerocracy.github.io's Issues

[Suggestion] Improve Election Algorithm by Specifying Tag/Label for Area of Task

Current State:

  • Any DEV will be assigned a project task if it satisfies the election algorithm .(§3)
  • If a DEV is not interested in the task, he can refuse it by paying 15 points. (§6)
    • The refusal can be for any reason. One of the possible reasons is that the DEV is not familiar with this area of the project (specific language, technology, etc.)

Assumption:

  • It is assumed that a project can cover more than one area (language, technology, etc.)

Proposed Idea:

Inspired from Yegor' answer to the question in this part of the video at 34:45, wouldn't it be better to use some sort of a tag/label to indicate "specialization" or "area of interest" or something like that?

Explanation:

For each project:

  • The ARC defines a list of tags for the project, like RUBY, HTML, etc.
  • Each DEV selects from the list of tags his own list of tags that would like to receive tasks related to (or chooses ANY for tasks with any tag)
  • The election algorithm includes the tags so that it looks for the DEVs who have the same tag as the task's tag (or an ANY tag)

For each task in the project:

  • When the ARC scopes in a new task, he should choose from the list of tags one or more tag that this task is related to, which will be used in the 0crat election algorithm

Rationale:

  • To avoid the time lost in refusing a task for DEVs who are not interested in this type of task in the first place
  • To motivate DEVs by presenting an improvement on the policy which will make them lose points less

Boost factor needs exaplanation

In §5:

  1. Why exactly is 2x equal to 30 minutes? Doesn't it depend on the job's fixed budget?

  2. What does a boost factor of 1x mean exactly?

blog

Let's create a blog

Possible typo

In policy.md:

  • We are broken (just kidding)

Someone probably meant broke (without money) as opposed to broken (not functional) but I could be wrong.

Correct bonus for quality in DEV tasks

According zerocracy/farm#1175 and #25 recent parameter changes in quality bonus calculations changed DEV cash task bonuses from 5 min to 2.4 min (2.4 = 8% from an 30 minute task). This is wrong, as stated in zerocracy/farm#1175 (comment) . I don't think that we are enforcing quality lowering by half the bonus for high quality; so this percentage must be corrected to at least the previous value (~16% or 4.8 min for a 30 min task). In the other hand, the point value is incorrect: it's now 38 points instead of 35.

90 days rule explanation required

I don't quite understand how this rule works. As for now it seems like they just vanished in 1 day all at once. So do we have some rolling seasons of reputation? For example if I earned 300 points throughout the winter they will be deducted to 0 points at the 1st of March? If so, what are the seasons and how are they calculated?

Or every award leave 90 days and they are deducted more smoothly? I actually would prefer to have it like that. So that if one person earned 300 points throughout the month he will loose reputation smoothly in next 90 days as every award will have it's own expiration date. But I can have a look at reputation and match it to current performance. That's not possible with seasoned style as in the start of new season all members will have 0 reputation.

Can't close actual jobs nor get new jobs

I have three open jobs, currently on hold: one is waiting for a new release so the reporter can see the results and close it; the other two have pending PRs, but no REV is assigned (because there are no REVs on the project, I guess) to it and no one is merging it, so I'm stuck with no pay and no posibility to get new jobs.

I could resign to the jobs but that would be unfair, as the changes are made and I would get a penalty.

I guess the problem is that the project is abandoned or something (although it has funds). I think the policy should contemplate this cases. Maybe the ARC or someone responsible for the project should be penalised or motivated to merge the pending PRs or take care of the situation somehow and don't let the project die while it has funds and jobs in progress.

FAQ for a new project

Today I added a new project to Zerocracy as a PO to try the onboarding process.

Mainly, I found one main issue: here it says that the PO should link the github project using a command on Slack, however this is not possible until the ARC bootstrap the project.

I find it pretty confusing actually and maybe the whole onboarding process should be revised, however for the moment it would be enough to clearly state that necessary passage on the FAQ.

Also, it is not specified in the FAQ that 0crat bot has to be added to the project as a collaborator

It's not clear how user actions affects reputation

§18 Policy says: "You may earn positive and negative points for doing good and bad things in the projects."
But it seems there's no explicit list of such things.

I think there should be separate policy paragraph with table of bonuses and punisments.

Job time budget is in contrast with the principle "pay for deliverables"

§4 Fixed Budget states: Each job has a fixed budget in minutes, which will be multiplied by your hourly rate and paid to you when the job is completed.

I think this is contrast with the general principle "pay for deliverables, not for time" (https://www.yegor256.com/2015/07/21/hourly-pay-modern-slavery.html)

If we assume the actual completion time is not important for each task (as it will be paid the same), why are we budgeting jobs in minutes?
I think budgeting for each job should be decoupled from its completion time and from the experience and role of the person who will complete it, and have instead a budget in $:

  • each developer will evaluate if the budget if enough for him to complete the job.
  • each developer can add new todos or tasks if he feels the budget cannot include all the work needed, during its completion, as foreseen in Puzzle Driven Development

We could say that a higher rate for senior developers is fair, because they are providing better solutions and code, maybe even faster. But in reality, with code reviews, we are trying to achieve the maximum possible quality in each piece of code. So it is more like senior developers are delegating the actual code production to other developers, but the value of final code is required to be the same. It just probably will take more time if it is delegated to a junior developer.

Let say it a job takes actually 2 hours in total (including coding and code reviews).
But should it be paid, let's say, 8$ (16$/hour * 30 minutes budget) in one case and 32$ (64$/hour * 30 minutes budget) in the other, while the final code quality is the same?

Shouldn't it be better to set a 32$ budget for the job?

Add this repo to Zerocracy project at 0crat

#This repository is a part of Zerocracy project and should be added to the 0crat. As @yegor256 asked to have QA rules proposals here: they are definitely improve the 0crat project. Or if you don't want to add this repo to 0crat - then you should state that here are only cosmetic issues, not the ones that affects the overall 0crat behavior an behavior of the people involved on that. (I'm talking about this change )

REV tasks should get bigger bonus for good quality than DEV tasks

After recent changes there is a constant 8% bonus for good quality of all tasks (DEV and REV) instead of constant 5mins. So the bonus now is 2.4min for DEV task and 1.2min for REV task.

REV task was hit the most 5min -> 1.2 min.

Because getting a good quality DEV task is very easy (there are much less restrictions - most common mistake is not addressing comments), but doing the same for REV tasks is harder. One has to find 3 bugs in the code that are not cosmetic.

As such I think that bonus for good REV task should be bigger - e.g. like previously 32% 33% (which would be ~5mins).

Negative point from mistake of students is sometime unfair

Basically, one of my student is now ARC and is assigning job manually for some reasons (most certainly for good reasons ;).

Everytime this happens, I get -15 or -20 points (5 for assigning to creator, 15 for manually assigning).

I believe there are mistakes that make sense to impact the mentor, but some others, like those ones, doesn't seem to.

Also, in terms of coherence, there are things that are quite unfair:

  1. Balance between mistakes and tuition
  • if my student does something good, I get 8% of what he does
  • if my student does something bad, I get 100% of what he does
  1. Lately I loose more than I gain even though I'm working positively for the system
  • a REV job give me 15 points
  • my student manually assigning a job give me -20 points

So:

  1. I wonder if we shouldn't restrict mistakes to some actions, not all
  2. Maybe we should rethink the value of mistake (not 100%) for the mentor

@yegor256 WDYT?

Flash messages' links are not link

As seen in this screenshot:
screen shot 2018-06-22 at 5 07 35 pm

Links appearing in flash messages are appearing as plain text and not links. This makes it difficult for a user to get to the information they need to fix their own problem.

Join only once a week

The policy should be updated according to zerocracy/farm#653 issue, after fix the user can send join request only once a week. Also 7 days value can be provided by id to be used in Par.

[Suggestion] Add 0crat.com link to FAQ and pages on Zerocracy.com

As a everyday user of Zerocracy, I want to have some starting point (like dashboard), where I can see my agenda, project board, statisitics, etc. (https://www.0crat.com/u/)

I think it's not obvious for new users how to get there, because of other domain (0crat.com instead of zerocracy.com). It took some effort for me to figure this out.

I propose to explicitly add link to 0crat as starting point to FAQ and also maybe add this link to footer in https://www.zerocracy.com

Assign Job Section of the Policy is Wrong

Part of it says:
"This operation is against our principles of automated task management, that’s why you will get 5 points every time you do this."
However it should say:
"This operation is against our principles of automated task management, that’s why you will get a 5 point penalty every time you do this."

For reference the section says:
"§19 “Assign Job.” You can manually assign any job to a user, just say assign @yegor256 (where instead of @yegor256 you put the GitHub login of the user) or assign the ticket to that user in your ticket tracking system. This operation is against our principles of automated task management, that’s why you will get 5 points every time you do this. If you assign a job to its reporter/creator, you will get an additional penalty of 15 points."

Pre release check for policy IDs

It's possible to release a policy with same IDs across the document, see this PR for example: #43

Let's add a check to verify that policy contains only unique IDs for paragraphs.

Specify when a performer can get 50% of their hourly rate for a job

It is not clear when a performer can get 50% of their hourly rate for a job.

E.g.:

0crat commented 6 days ago:

@0crat status (here)

@denis-konovalyenko This is what I know about this job in GFV03LPPY, as in §32:

The job #7 is in scope for 11days
The role is DEV
The job is assigned to @denis-konovalyenko/z for 11days
There is a monetary reward attached
@denis-konovalyenko/z will get 50% of their hourly rate for this job
The job has an impediment
The budget is 30 minutes/points
These users are banned and won't be assigned:
    @paulodamaso/z: This user reported the ticket
Job footprint (restricted area)

Group QA rule for easier referencing

For now QA rules are just listed one by one. It might be more clear to group them by the type:

  • Common rules - applicable for all type of tasks.
  • PR rules - applicable for PR only. This what REV should look at when reviewing the PR.
  • Issue rules - applicable for issues only. This what DEV should look at when working on issue.

Those grouping will be easier to track by QAs as well.

should bug reports be unique in given PR review?

I have a problem in zerocracy/datum#350 (comment)

I found 4 bugs, but of those bugs 2 were unique, the other two were the same problem but in another file. All of them were causing the test to behave incorrectly (failing the build for the wrong reason).
But if I wouldn't report the other 2 bugs, then PR creator might not fix this in another file (how would he know?) so the code quality would be worse, so what should I do? Report and don't get bonus? This makes the incentive to report lower.

Policy doesn't state if the bug reports should be unique.

QA Rule: Commit message should link an issue it is related to

Following discussion in this issue there should be added a rule that every commit message should reference the issue it is related to. This will increase project quality and having inconsistent commits messages will definitely decrease quality. Rule should affect code review on the PRs and REV will be forced to ask PR author to add those links for commit messages. It should sound something like this:

Every commit message is started with issue number it is related to and explains what was done.

Yoti bug with iPhone camera

It's important to use Yoti's own scanner, not iPhone's camera to share identity. There's an error every time I use iPhone camera (that runs Yoti).

[Suggestion] Add TOC Page Link to Pages Other Than Homepage

Current State:

When viewing any zerocracy.com page other than the homepage (i.e. FAQ, Policy, Terms) there is no link to directly go to How It Works? (toc) page

Proposed Idea:

Add a link in the top navigation bar (or footer) to point to the How It Works? (toc) page

Rationale:

A new visitor to the website might be lost trying to find the page, since it will require them to go to the homepage first and find the link there.

toc word selection

http://www.zerocracy.com/toc.html

Despite all the efforts, most software projects suffer from:

High labor costs
High and damaging turnover of personnel
Low maintainability

that phrase. "High labor costs". it's quite subjective, is it not?

from a relative perspective of my own, projects suffer from chiefly an issue of proper vision,
realism, patience, & lack of consequence for those that knowingly might be aware of those shortcomings & just simply decide to not give a sh*

the wording on the page somewhat leaves the list ambiguous for whom it is speaking to.

Resumes and invitation inconsisencies

Paragraph 1 states that a resume reviewer can deny or invite a user, and he gets +32 points for both.
But in the same paragraph it is stated that inviting a user is a -128 points. So a user that invites gets +32 - 128 = -96 points. So what's the point of getting those +32 points if it is later on neglected by taking back 128 points?

Disencourage reputation farming while on vacation and/or without assigned jobs?

Currently the Policy does not discriminate between the users who are being assigned jobs and who are not, in regards to their reputation rewards. I see a few problems with this, namely:

  • Such users without assigned jobs have the ‘luxury’ of being selective with the tasks they want to work on, and don’t have to deal with reputation risks associated with e.g. not delivering on time. This is unfair in relation to other users who are being assigned jobs and deal with such risks routinely.
  • Students may cheat the graduation process without having to learn to fit into project workflow and to deliver results on time properly, just by earning points required by §33 and §43 from vacation mode, or outside of being assigned to a project. This would be bound to result in ‘real’ projects having to deal with unmanageable members who waste time on jobs which could be assigned to more suitable members.

I propose adding a clause that would reduce (e.g. halve) the amount of points awarded to users on vacation and/or not having any assigned tasks for whatever ‘positive’ activity they do on the platform while so. However, if an user does have assigned jobs and is not on vacation, the amount of points rewarded for extra activity not associated with their current jobs would remain as usual.

QA policy is confusing about what job and performer is it is related to

Examples of confusions:

  1. Reading §42 “QA Rules.” and §31 “QA Bonus.” I thought all listed were applied to PR and Ticket as a whole. For example if "The code reviewer didn’t find any issues in the source code changes of a pull request and just accepted it;" as per §42 then both DEV and REV would receive no payment as per §31.
  2. You can see in comments at datum#294, StuporHero also got confusions due to current form these policies are written.

Suggestion to make the QA policy clearer: split these policy items separating by PR QA and ticket QA. Examples of changes using this mindset:

  1. the rule "The code reviewer didn’t find any issues in the source code changes of a pull request and just accepted it;" would be in the PR QA rules but not in ticket QA rules.
  2. Bonus for DEV would be explained in ticket QA bonus, while bonus for REV will be explained in PR QA bonus.

0crat bot doesn't accept Paypal emails on Slack

Hi there,

I tried to type this on Slack:

wallet paypal <email>

0crat answered:

Email address is not valid: `<email>`

I tried also another email address, registered with Paypal, same answer.
I checked for typos in the emails.
It worked on Telegram at the first time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.