Skip to content
Sven Nilsen edited this page Sep 20, 2015 · 5 revisions

The Piston project uses these labels in the issue tracker across all projects:

  • bug (#fc2929): This issue is or might be a bug. Bugs are relatively rare because Rust catches many classes of bugs at compile time, but there might be logical bugs or some weird things happening when interfacing with unsafe code.
  • discussion (#bfe5bf): This issue needs or wants discussion. Since there are many people working at the Piston project, we try to avoid stepping on each other toes. When you want to work on something, but uses an issue to write down things for yourself, you can remove the discussion label. If you want people to give some input, then you can add it back.
  • draft (#e11d21): This issue is under planning, and things to do is usually edited in the top comment. Issues that keeps track of other issues for larger task uses this label. It does not always mean that this should be done. Sometimes we do planning and then figure out something else should be done first or perhaps it needs more discussion.
  • easy (#fbca04): This issue does not requires little thinking to do. It might be a big task, but it should not require heavy mental activity to finish.
  • medium (#eb6420): This issue requires quite a bit thinking to do. If you don't know what you are doing, or having a bad day, then do something else.
  • hard (#5319e7): This issue requires a large amount of thinking to do. It should probably be broken down into medium or easy tasks. Perhaps it would be better spread it across some time. However, sometimes it is unavoidable...
  • information (#207de5): This issue contains information about design rationale, a write-up, or links to other sources that somebody mentioned. Using this label makes it easy to find by search.

Making progress by using the issue tracker

The issue tracker is very important for making progress. There are two major ways to optimize:

  1. Brain cycles (200 Hz).
  2. CPU/GPU cycles (2 000 000 000 Hz).

Brains are a lot slower than computers for sequential operations, therefore it is very important to consider this as an optimization.

To make progress, you need to spend brain cycles to reduce the amount of brain cycles required to get things done. A lot of brain cycles goes into making tasks possible.

The problem is usually figuring out how to do things.

Therefore, you are free to use the issue tracker as much as you want for "thinking aloud". Creating issues, editing comments, and working on drafts is just as important as the coding part.

Try to write down the overall goal, and break things down into easy tasks. The point is that when the planning is done, you don't have to spend as many brain cycles. This is why we use "easy", "medium" and "hard" for thinking, and not for the size of the task.

Clone this wiki locally