lxhome/orgs/coh.org

3.5 KiB
Raw Blame History

Code of Honor

I always try to live by my code of honor. A man is nothing without his honor. “A sin is to betray your beliefs”.

Honorable life

  • Dont betray your code of honor.
  • Defend your Bushido way.
  • Live life as a Honorable Man.
  • Dont lie.
  • Honesty takes courage.
  • Dont talk without a knowledge to support it.
  • “Dont argue with the crazy guy”.
  • Always follow your sense of Justice
  • Feel the pain of others.
  • Always put your self in peoples shoe before making any decision.
  • A simple smile goes a long way.
  • Theres no honor in winning by cheating.
  • “If you fall down 7 times make sure to get up 8 times.”
  • Protect your promises.
  • “For a samurai everywhere is Japan.”
  • Holding back is disrespectful to your opponent.
  • Live life in your way.
  • “Respect is earned, not given”, So earn it.
  • “A man is much more than the job he holds and clothes he wears.”

Science

Truth is sought for its own sake … Finding the truth is difficult, and the road to it is rough. For the truths are plunged in obscurity … God, however, has not preserved the scientist from error and has not safeguarded science from shortcomings and faults. If this had been the case, scientists would not have disagreed upon any point of science… Therefore, the seeker after the truth is not one who studies the writings of the ancients and, following his natural disposition, puts his trust in them, but rather the one who suspects his faith in them and questions what he gathers from them, the one who submits to argument and demonstration, and not to the sayings of a human being whose nature is fraught with all kinds of imperfection and deficiency. Thus the duty of the man who investigates the writings of scientists, if learning the truth is his goal, is to make himself an enemy of all that he reads, and, applying his mind to the core and margins of its content, attack it from every side. He should also suspect himself as he performs his critical examination of it, so that he may avoid falling into either prejudice or leniency.

- Ibn al-Haytham

Software Engineering

  • Simplicity over Complexity
  • Simple first, then Easy
  • Abstraction, Abstraction, Abstraction
  • Put your conventions layer on top of a well written abstraction
  • Always choose a name for your variables which implies the variable content or usage.
  • Never ever use variable names such as x, a, b, etc.
  • Bugs before new features
  • Docs before new features

Library design

Major releases can contain backward incompatible changes. Its better to use a different code name instead of a major version number change to indicate that there going to be backward incompatible changes. Minor releases shouldnt break the dependency versions. E.g: X(0.6.0) depends on Python(3.5.x), X(0.7.0) should depends on the same version python

New Feature Checklist

  • Is it easy to extend the feature ?
  • Is it scalable ?
  • Is it easy to maintain ?
  • Is it well documented ?
  • Does it have the best possible performance ?
  • What about tests ?
  • Is it following the correct coding style ?

Resiliency Checklist

  • Things that might fail:

    • Dependent systems
    • Network
    • External storage
    • Database
    • “The Cloud”