lxhome/coh.md

88 lines
3.4 KiB
Markdown

---
layout: page
theme: dark
title: Code Of Honor
permalink: /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
* Don't betray your code of honor.
* Defend your Bushido way.
* Live life as a Honorable Man.
* Don't lie.
* Honesty takes courage.
* Don't talk without a knowledge to support it.
* "Don't argue with the crazy guy".
* Always follow your sense of Justice
* Feel the pain of others.
* Always put your self in people's shoe before making any decision.
* A simple smile goes a long way.
* There's 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
## Programming
* 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.
* It's 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 shouldn't 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:
* Dependant systems
* Network
* External storage
* Database
* "The Cloud"
## Trading Checklist
* TBD
## Contribute to the Code Of Honor
If you found these codes useful and like to share your values with me, you're welcome to create a PR
on [the repository](https://gitlab.com/lxsameer/lxhome).