Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
294 commits
Select commit Hold shift + click to select a range
69bac6b
Merge branch 'master' into principle/fallacies-distributed-computing
jlozovei Aug 6, 2019
0a84ce4
Translate tr.md via GitLocalize (#139)
umutphp Aug 7, 2019
1a279a6
Add The Dilbert Principle and The Peter Principle (#76)
markiv Aug 12, 2019
afaef60
chore: formatting/reading-list/see-also (#141)
dwmkerr Aug 12, 2019
ed6f5a8
chore: add some notes on sharing on social media
dwmkerr Aug 13, 2019
519f803
Merge branch 'master' of github.com:dwmkerr/hacker-laws
dwmkerr Aug 13, 2019
1b2aa6b
Translate tr.md via GitLocalize (#143)
umutphp Aug 16, 2019
ecd2325
Translate tr.md via GitLocalize (#146)
umutphp Aug 21, 2019
9c35a7f
Conflicts (occured after merge of PR #146) fixed (#147)
umutphp Aug 22, 2019
cedeedf
Added Cunningham's Law (#149)
jonbackhaus Sep 23, 2019
697e4c8
refactor: add the quote for cunningham's law
dwmkerr Sep 23, 2019
3b819bd
Cunningham's Law (#151)
umutphp Sep 25, 2019
1137e97
feat: the kiss principle #20 (#150)
aloisdg Oct 7, 2019
9bfe700
chore: tweak wording of KISS slightly
dwmkerr Oct 7, 2019
a2d9f61
Translate tr.md via GitLocalize (#152)
gitlocalize-app[bot] Oct 23, 2019
c7d2f24
feat: add funding details.
dwmkerr Oct 28, 2019
4dca535
Update FUNDING.yml
dwmkerr Oct 28, 2019
52f394e
docs: add sponsorship link
dwmkerr Oct 29, 2019
c3e84fd
feat: add partial translation for Brazil
dwmkerr Oct 29, 2019
ac1ffb6
Merge pull request #154 from dwmkerr/feat/brasil-translation
dwmkerr Oct 29, 2019
88de618
chore: fix capitalisation and spacing
dwmkerr Oct 29, 2019
19e69c4
Merge pull request #138 from jonbackhaus/reed-metcalfe
dwmkerr Oct 29, 2019
60f23e8
chore: remove extraneous spacing
dwmkerr Oct 29, 2019
7c8932e
chore: remove duplicated translation link
dwmkerr Oct 29, 2019
91e898e
Translate tr.md via GitLocalize
umutphp Oct 29, 2019
7b385e7
Translate tr.md via GitLocalize
mt-gitlocalize Oct 29, 2019
2af6370
Merge pull request #155 from dwmkerr/gitlocalize-9715
dwmkerr Oct 30, 2019
f033737
Added Wheaton's Law.
Oct 30, 2019
cec24ef
Verbiage updates to better adhere to guidelines.
Oct 30, 2019
c0136b4
Merge pull request #156 from MrRyansan/master
dwmkerr Nov 7, 2019
9e78cc6
chore: fix typo and add citation
dwmkerr Nov 7, 2019
2359148
Merge pull request #140 from jlozovei/principle/fallacies-distributed…
dwmkerr Nov 7, 2019
8d3be57
chore: minor edits to the fallacies of distributed computing
dwmkerr Nov 7, 2019
3c99adb
Translate tr.md via GitLocalize
umutphp Nov 7, 2019
486f814
Translate tr.md via GitLocalize
mt-gitlocalize Nov 7, 2019
b599ef6
Merge pull request #161 from dwmkerr/gitlocalize-9766
dwmkerr Nov 7, 2019
ff45779
added Goodhart's Law on metrics
michalkaptur Nov 7, 2019
98fa2e4
Add Linus's Law
Nov 13, 2019
f67e1dd
Minor update
Nov 13, 2019
5f4fb69
Leave the ToC link
Nov 13, 2019
cea8f2a
Merge pull request #162 from michalkaptur/goodhart_law
dwmkerr Nov 22, 2019
29d65cb
chore: put Goodheart's law in alphabetic position
dwmkerr Nov 22, 2019
5d3081e
Translate tr.md via GitLocalize
umutphp Nov 22, 2019
cc0592a
Translate tr.md via GitLocalize
mt-gitlocalize Nov 22, 2019
0394a5b
Merge pull request #176 from dwmkerr/gitlocalize-9929
dwmkerr Nov 22, 2019
344d063
Fix typo
Nov 22, 2019
fd3d8d3
add Spanish translation
manuel-rubio Nov 22, 2019
ce197c6
Fix inverted author name for The Dilbert Principle
sowings13 Nov 22, 2019
d4a63a4
Update README grammar: effecting -> affecting
domdomegg Nov 22, 2019
39a1e82
Merge pull request #178 from higgydotcom/patch-1
dwmkerr Nov 23, 2019
b0b8880
Merge pull request #184 from domdomegg/patch-1
dwmkerr Nov 23, 2019
933e7aa
Add Chesterson's Fence
aetiusflavius Nov 23, 2019
d812cd7
Clean up wording
aetiusflavius Nov 23, 2019
10245b9
Translate tr.md via GitLocalize
umutphp Nov 23, 2019
02e5a87
Translate tr.md via GitLocalize
gitlocalize-app[bot] Nov 23, 2019
75a1c38
Translate tr.md via GitLocalize
mt-gitlocalize Nov 23, 2019
3ec65ad
Merge pull request #186 from dwmkerr/gitlocalize-9950
dwmkerr Nov 24, 2019
5fe0145
Merge pull request #182 from sowings13/patch-1
dwmkerr Nov 24, 2019
732e804
Merge pull request #179 from manuel-rubio/master
dwmkerr Nov 25, 2019
b247e97
Mention "yak shaving"
wzel Nov 27, 2019
2169292
Merge pull request #188 from wzel/yak-shaving
dwmkerr Nov 28, 2019
005b253
Translate tr.md via GitLocalize
umutphp Nov 28, 2019
99afa42
Translate tr.md via GitLocalize
gitlocalize-app[bot] Nov 28, 2019
81a58d7
Merge pull request #190 from dwmkerr/gitlocalize-9993
dwmkerr Nov 28, 2019
ce46da4
minifix readme
VacariGabriel Dec 2, 2019
dff177b
Merge pull request #192 from VacariGabriel/master
dwmkerr Dec 2, 2019
d2e5bf7
feat: update to CC-BY-SA license
dwmkerr Dec 6, 2019
84372ce
docs: minor update of style guidelines
dwmkerr Dec 10, 2019
1e9ed95
chore: make the amdahls law image a little smaller
dwmkerr Dec 10, 2019
f30c653
Merge pull request #193 from dwmkerr/refactor/smaller-image
dwmkerr Dec 10, 2019
0269774
chore: even smaller amdahls law image
dwmkerr Dec 10, 2019
7c305a0
feat: The Broken Windows Theory
dwmkerr Dec 10, 2019
ca5bf2b
Merge pull request #194 from dwmkerr/feat/broken-window-theory
dwmkerr Dec 10, 2019
8ba2d2d
Translate tr.md via GitLocalize
umutphp Dec 10, 2019
37f0570
Translate tr.md via GitLocalize
gitlocalize-app[bot] Dec 10, 2019
e032b2f
Translate tr.md via GitLocalize
mt-gitlocalize Dec 10, 2019
a94adc0
Merge pull request #195 from dwmkerr/gitlocalize-10116
dwmkerr Dec 11, 2019
97d358a
Update the definition of Linus law after the feedback of @dvmkerr
Dec 11, 2019
fbcf9b2
Occam's Razor
aaasko Dec 14, 2019
e469051
Merge pull request #197 from aaasko/master
dwmkerr Jan 7, 2020
ea4fd85
chore: minor tweak of occam's razor text
dwmkerr Jan 7, 2020
b0376a4
Relations between Postel and Hyrums
ioggstream Jan 16, 2020
428c780
Merge pull request #199 from ioggstream/patch-1
dwmkerr Jan 17, 2020
8d736c0
fix: broken link to hyrum's law and unneeded newline
dwmkerr Jan 17, 2020
d3c4a9a
Add Shirky Principle
BoltzmannBrain Jan 24, 2020
e652fbd
Fix:Broken link to wiki page of The Fallacies of Distributed Computing
1t1e1 Jan 31, 2020
0c431df
Add Kernighan's law
dathanb Jan 31, 2020
5b5bbe7
Merge pull request #203 from 1t1e1/master
dwmkerr Feb 3, 2020
8990899
docs: add gitlocalise badge
dwmkerr Feb 11, 2020
7844165
Merge pull request #206 from dwmkerr/docs/localise-badge
dwmkerr Feb 11, 2020
3293f3d
Merge pull request #204 from dathanb/kernighans-law
dwmkerr Feb 17, 2020
05f21b3
chore: add Kernighan's law to TOC
dwmkerr Feb 17, 2020
f423817
fix a few copy errors
RichMorin Feb 17, 2020
c9b56ed
Fixed typo
jbednar Feb 17, 2020
2f0b2e0
Fix typo in es-ES.md
gponsu Feb 18, 2020
aaa4e8a
Merge pull request #210 from jbednar/master
dwmkerr Feb 18, 2020
892801c
fix existing pt-BR.md
FellerAilton Feb 18, 2020
4d5ad3c
Add nuance to the reference to Yak Shaving
douglasnaphas Feb 18, 2020
fc2a780
Merge pull request #207 from RichMorin/patch-1
dwmkerr Feb 19, 2020
9c76b32
Update README.md
lucanos Feb 19, 2020
1c8d0a0
Update tr.md
hkutluay Feb 19, 2020
6455755
typo correction
hkutluay Feb 19, 2020
69fe45e
Fixed wrong url on link
germangamboa95 Feb 19, 2020
f15fbd7
Merge pull request #232 from germangamboa95/patch-1
dwmkerr Feb 20, 2020
dfb4f7c
Merge pull request #222 from douglasnaphas/patch-1
dwmkerr Feb 21, 2020
66f32c6
Merge pull request #220 from FellerAilton/patch-2
dwmkerr Feb 21, 2020
7ccf4cf
wip: add more details on translations and moderators
dwmkerr Feb 21, 2020
fe02c76
Merge branch 'master' of github.com:dwmkerr/hacker-laws into feat/tra…
dwmkerr Feb 21, 2020
f0b03bf
Create lv-LV.md
iegik Feb 21, 2020
8b10abf
Update lv-LV.md
iegik Feb 21, 2020
ba67d4c
Update lv-LV.md
iegik Feb 21, 2020
94f6db7
Update lv-LV.md
iegik Feb 21, 2020
2d241be
Merge pull request #235 from iegik/patch-1
dwmkerr Feb 22, 2020
517055e
Merge pull request #226 from hkutluay/master
dwmkerr Feb 22, 2020
3ec3839
Rename lv-LV.md to lv.md
iegik Feb 22, 2020
9303e59
Merge pull request #238 from iegik/patch-2
dwmkerr Feb 22, 2020
d206f28
Update lv.md
iegik Feb 22, 2020
592474f
Add Tip of the Day as a related project (#229)
darekkay Feb 23, 2020
9c122f1
Merge pull request #239 from iegik/feat/latvian-translation
dwmkerr Feb 24, 2020
1efe234
Merge branch 'master' into feat/translators
dwmkerr Feb 24, 2020
1c074f5
feat: add latvian links
dwmkerr Feb 24, 2020
c7ff964
Update lv.md
iegik Feb 24, 2020
1366809
Update lv.md
iegik Feb 24, 2020
27bd930
Merge pull request #244 from iegik/feat/latvian-translation
dwmkerr Feb 25, 2020
d453041
chore: fix link in pr template
dwmkerr Feb 25, 2020
7f3bd2d
Merge pull request #243 from darekkay/related-projects
dwmkerr Feb 25, 2020
bdfa3f7
Update lv.md
iegik Feb 25, 2020
b721582
Related projects section added, small fixes
iegik Feb 25, 2020
b9eeb6d
Merge pull request #246 from iegik/feat/latvian-translation
dwmkerr Feb 25, 2020
a889b7e
Merge branch 'master' into feat/translators
dwmkerr Feb 25, 2020
9e5ca94
Merge pull request #234 from dwmkerr/feat/translators
dwmkerr Feb 25, 2020
2e503b7
add bahasa indonesia translations
arywidiantara Mar 1, 2020
0d9bacd
Translate tr.md via GitLocalize
umutphp Mar 2, 2020
baa17d5
Merge pull request #254 from dwmkerr/gitlocalize-11086
dwmkerr Mar 3, 2020
4aa0a6b
Translate fr.md via GitLocalize
KevinBockelandt Mar 6, 2020
b4860b0
Merge pull request #255 from dwmkerr/gitlocalize-11127
dwmkerr Mar 9, 2020
6e8de22
Merge branch 'master' of github.com:arywidiantara/hacker-laws into fe…
arywidiantara Mar 9, 2020
12dde19
feat: add link to hacker laws CLI
dwmkerr Mar 15, 2020
b65de7a
Translate tr.md via GitLocalize
umutphp Mar 15, 2020
824ab3d
Translate tr.md via GitLocalize
gitlocalize-app[bot] Mar 15, 2020
1064951
Merge pull request #256 from dwmkerr/gitlocalize-11227
dwmkerr Mar 15, 2020
3e1f28e
fix a few typos
KevinBockelandt Mar 15, 2020
09d1690
Merge pull request #257 from KevinBockelandt/fix-typos
dwmkerr Mar 17, 2020
7b29e14
feat(laws): Added 90-9-1 principle also know as the 1% rule (#258)
puremana Mar 23, 2020
47e7290
refactor(laws): 90-9-1 to top of list (i.e. alphabetic), simplify
dwmkerr Mar 23, 2020
c41282a
Translate 90-9-1 Rule (#259)
gitlocalize-app[bot] Mar 23, 2020
05aec7b
Update pt-BR translation
eugenioamn Mar 26, 2020
acf30d1
Merge pull request #264 from eugenioamn/master
dwmkerr Mar 27, 2020
39d587f
docs: add Eugênio Moreira as a moderator for pt-BR
dwmkerr Apr 6, 2020
86acac9
Merge pull request #267 from dwmkerr/docs/add-br-moderator
dwmkerr Apr 6, 2020
7db80f8
feat: Add the Law of Demeter. (#228)
brunns Apr 8, 2020
c942f4f
refactor: move law of demeter to 'laws'
dwmkerr Apr 8, 2020
883b008
feat: add jp translation (#268)
freddiefujiwara Apr 9, 2020
9d31b77
docs: clean up list of translations
dwmkerr Apr 9, 2020
290bfec
Fix: apply Japan flag
yanamura Apr 12, 2020
6043af9
Merge pull request #270 from yanamura/jp-flag
dwmkerr Apr 13, 2020
013ca17
Translate tr.md via GitLocalize
umutphp Apr 22, 2020
85ac4b3
Translate tr.md via GitLocalize
gitlocalize-app[bot] Apr 22, 2020
c644e58
Merge pull request #271 from dwmkerr/gitlocalize-11471
dwmkerr Apr 27, 2020
7baaef2
Merge pull request #253 from arywidiantara/feature/translating-to-bahasa
dwmkerr May 12, 2020
07d9294
docs: link to indonesian
dwmkerr May 12, 2020
bd2c4db
Merge pull request #272 from dwmkerr/docs/link-to-indonesian
dwmkerr May 12, 2020
c1eacb1
Merge pull request #224 from lucanos/lucanos-add-deadseaeffect
dwmkerr May 12, 2020
df26a6c
chore: tweak wording for dead sea effect
dwmkerr May 12, 2020
5e7da27
Translate tr.md via GitLocalize
umutphp May 12, 2020
04e19cc
Translate tr.md via GitLocalize
gitlocalize-app[bot] May 12, 2020
eeb1f15
Merge pull request #273 from dwmkerr/gitlocalize-11703
dwmkerr May 13, 2020
037c93b
Add moderation citation to The Robustness Principle
puremana May 19, 2020
b19bb1d
Merge pull request #274 from puremana/the-robustness-principle-extended
dwmkerr May 20, 2020
b549472
chore: readability of open-closed example
dwmkerr May 20, 2020
4f705e9
Merge pull request #275 from dwmkerr/fix/readability-of-open-closed-p…
dwmkerr May 20, 2020
89b7e51
feat: CAP theorem (Brewer's Theorem)
dwmkerr May 27, 2020
40ec0e7
Merge pull request #278 from dwmkerr/feat/cap-theorem
dwmkerr May 27, 2020
7e17b04
Translate tr.md via GitLocalize
umutphp May 27, 2020
9dbb6eb
Translate tr.md via GitLocalize
gitlocalize-app[bot] May 27, 2020
2a15a0b
feat: update translations list
jlozovei May 27, 2020
38e456a
feat: translate key words
jlozovei May 27, 2020
2f16db1
feat: translate related projects section
jlozovei May 27, 2020
199f7dc
feat: translate reading list section
jlozovei May 27, 2020
da6f108
feat: add translation for laws in english
jlozovei May 27, 2020
75fd0d4
feat: add translation to principles in english
jlozovei May 27, 2020
7a948c9
feat: update internal references
jlozovei May 27, 2020
c41d3f9
feat: update license year
jlozovei May 27, 2020
25181c9
Merge pull request #279 from dwmkerr/gitlocalize-11936
dwmkerr May 28, 2020
a377efa
Merge pull request #280 from jlozovei/feat/pt-br
dwmkerr May 28, 2020
565cd98
chore: add real-world example - google cloud spanner
dwmkerr Jun 2, 2020
3379413
Translate tr.md via GitLocalize
umutphp Jun 3, 2020
f064566
Translate tr.md via GitLocalize
gitlocalize-app[bot] Jun 3, 2020
ab96e93
Merge pull request #281 from dwmkerr/gitlocalize-11991
dwmkerr Jun 4, 2020
9de3067
Adding Fitts Law
puremana Jun 4, 2020
6e99a8f
Merge pull request #215 from gponsu/patch-1
dwmkerr Jun 5, 2020
d35ded2
Remove submodule
puremana Jun 5, 2020
ba46cde
Merge pull request #282 from puremana/add-fitts-law
dwmkerr Jun 5, 2020
5e51e08
chore: more info on Fitts' law, closes #245
dwmkerr Jun 5, 2020
ec3e66b
chore: add image attribution
dwmkerr Jun 5, 2020
4aebcfb
Translate tr.md via GitLocalize
gitlocalize-app[bot] Jun 5, 2020
51158b2
Translate tr.md via GitLocalize
umutphp Jun 5, 2020
43cead6
Merge pull request #283 from dwmkerr/gitlocalize-12001
dwmkerr Jun 9, 2020
006d776
chore: update spotify wording
dwmkerr Jun 9, 2020
6e52e0b
Add Hick's law
puremana Jun 9, 2020
ea81e19
Merge pull request #284 from puremana/hicks-law
dwmkerr Jun 10, 2020
9eb0294
chore: update TOC
dwmkerr Jun 10, 2020
f51990e
chore: added a simple script to create the ebook
dwmkerr Jun 10, 2020
abd0df9
chore: build the frontmatter programmatically
dwmkerr Jun 10, 2020
4f8da77
Translate tr.md via GitLocalize
umutphp Jun 10, 2020
786ed55
Translate tr.md via GitLocalize
gitlocalize-app[bot] Jun 10, 2020
7af3c2d
Merge pull request #285 from dwmkerr/gitlocalize-12048
dwmkerr Jun 11, 2020
f06b64a
Reading list - SICP
rogermarlow Jun 20, 2020
5e57095
Typo
rogermarlow Jun 20, 2020
639465c
Merge pull request #287 from rogermarlow/book/scip
dwmkerr Jun 21, 2020
491ace1
Merge pull request #167 from WOSPM/master
dwmkerr Jun 22, 2020
a387e3f
docs: update wording for linus' law
dwmkerr Jun 22, 2020
700e57f
chore: remove unneeded file
dwmkerr Jun 24, 2020
c21a067
feat: add an 'online resources' section
dwmkerr Jun 30, 2020
cbbfdbb
Merge branch 'master' of https://github.com/aetiusflavius/hacker-laws…
dwmkerr Jun 30, 2020
f03d9a5
Merge branch 'aetiusflavius-master'
dwmkerr Jun 30, 2020
2c29ebe
Two pizza rule and adding complete graph illustration
puremana Jul 7, 2020
ea84113
Fix bahasa indonesia link
rafedramzi Jul 18, 2020
a5236c0
Merge pull request #297 from rafedramzi/patch-1
dwmkerr Jul 18, 2020
e10a96d
docs: add link to the Changelog Podcast
dwmkerr Jul 20, 2020
4128946
Fixed grammar in Fitts' Law and TFoDC
adambricelis Jul 28, 2020
c6c5d6d
Merge pull request #299 from adambricelis/master
dwmkerr Aug 4, 2020
442a63a
docs: fix typo
dwmkerr Aug 4, 2020
30008f1
Merge pull request #292 from puremana/two-pizza-rule
dwmkerr Aug 26, 2020
5a11b27
chore: tweak wording on the two pizza rule
dwmkerr Aug 26, 2020
abaca31
chore: add 'the' to two pizza rule
dwmkerr Aug 26, 2020
46a017a
Merge pull request #201 from BoltzmannBrain/patch-1
dwmkerr Sep 9, 2020
b6bd7b1
chore: slight rewording of the shirky principle
dwmkerr Sep 9, 2020
4dd35e1
Remove a link that leads to some advertisement
i3anaan Sep 21, 2020
93dec16
feat: all models are wrong
dwmkerr Sep 23, 2020
c187957
Merge pull request #311 from i3anaan/patch-1
dwmkerr Sep 23, 2020
3ef9a54
docs: add the 'hacker laws' github action to the 'related projects'
dwmkerr Sep 28, 2020
50e2f2e
build: release ebook when version tag is pushed
dwmkerr Sep 30, 2020
0bf80bf
build: version number and date in e-book
dwmkerr Oct 1, 2020
0c35525
chore: add ebook link
dwmkerr Oct 1, 2020
d8df460
docs: note on ebook creation
dwmkerr Oct 1, 2020
7b341fc
fix: Fix section's links (#317)
leocaraballo Oct 13, 2020
3dbc237
feat: Dunning Kruger Effect
akashchandwani Oct 17, 2020
2cd30d0
Add explaination and real world example
akashchandwani Oct 18, 2020
a07ab62
chore: Remove whitespace (#319)
Oct 21, 2020
015d251
feat: add ukranian language to README (#320)
dwmkerr Oct 26, 2020
bc041db
Updated the link concerning software entropy (#322)
rednafi Nov 12, 2020
7da3edd
Added blockquote for the text from wikipedia
akashchandwani Nov 19, 2020
34c38d8
feat: Dunning-Kruger Effect (#318)
dwmkerr Dec 3, 2020
887b9d3
refactor: refine the content on the dunning-kruger effect
dwmkerr Dec 3, 2020
9bf87e4
Change in "The Two Pizza Rule"
franciscogaluppo Dec 9, 2020
ddfa99d
Merge pull request #328 from franciscogaluppo/minor-change
dwmkerr Dec 10, 2020
96aade1
chore: update contributor guidelines
dwmkerr Feb 23, 2021
15bc98a
Add few corrections to French translation
Leyka Mar 28, 2021
8152d6f
Merge pull request #340 from Leyka/french-fix
dwmkerr Mar 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Support 'GitHub Sponsors' funding.
github: dwmkerr
31 changes: 30 additions & 1 deletion .github/contributing.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Contributing Guidelines

<!-- vim-markdown-toc GFM -->

* [Goal of the Project](#goal-of-the-project)
* [Example Law: The Law of Leaky Abstractions](#example-law-the-law-of-leaky-abstractions)
* [Localisation](#localisation)
* [How do I know if a law is relevant?](#how-do-i-know-if-a-law-is-relevant)
* [How do I know if a law is 'well known' enough?](#how-do-i-know-if-a-law-is-well-known-enough)

<!-- vim-markdown-toc -->

## Goal of the Project

The goal of this project is to have a set of _concise_ definitions to laws, principles, methodologies and patterns which hackers will find useful. They should be:

1. Short - one or two paragraphs.
Expand All @@ -17,12 +29,13 @@ Some other tips:
- Be careful not to copy-and-paste content (unless it is explicitly quoted), as it might violate copyright.
- Include hyperlinks to referenced material.
- Do not advocate for the law, or aim to be opinionated on the correctness or incorrectness of the law, as this repository is simply the descriptions and links.
- Avoid 'you' when writing. For example, prefer "This law suggests refactoring should be avoided when..." rather than "you should avoid refactoring when...". This keeps the style slightly more formal and avoids seeming like advocation of a law.

An example law is shown below, which covers most of the key points:

---

### The Law of Leaky Abstractions
## Example Law: The Law of Leaky Abstractions

[The Law of Leaky Abstractions on Joel on Software](https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/)

Expand All @@ -45,3 +58,19 @@ See also:
Real-world examples:

- [Photoshop Slow Startup](https://forums.adobe.com/thread/376152) - an issue I encountered in the past. Photoshop would be slow to startup, sometimes taking minutes. It seems the issue was that on startup it reads some information about the current default printer. However, if that printer is actually a network printer, this could take an extremely long time. The _abstraction_ of a network printer being presented to the system similar to a local printer caused an issue for users in poor connectivity situations.

## Localisation

We are currently using [GitLocalize](https://gitlocalize.com) to handle translations. This provides features to make it easier for people to manage translations as changes come in:

![GitLocalize Screenshot](../images/gitlocalize.png)

This is still work in progress - if you would like to be a maintainer for a language just open an issue to get in touch!

## How do I know if a law is relevant?

In general, it should be reasonably applicable to the world of computer sciences, IT or coding in general.

## How do I know if a law is 'well known' enough?

A good test is 'If I search for it on Google, will I find it in the first few results?'.
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Please double check the items below!

- [ ] I have read the [Contributor Guidelines](./.github/contributing.md).
- [ ] I have read the [Contributor Guidelines](https://github.com/dwmkerr/hacker-laws/blob/master/.github/contributing.md).
- [ ] I have not directly copied text from another location (unless explicitly indicated as a quote) or violated copyright.
- [ ] I have linked to the original Law.
- [ ] I have quote the law (if possible) and the author's name (if possible).
Expand Down
43 changes: 43 additions & 0 deletions .github/workflows/build-on-pull-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This pipeline builds the PDF ebook on any pull request to master.
name: "Build PDF"
on:
pull_request:
branches:
- master

jobs:
prepare-pdf:
# Focal Fossa. Please don't use 'latest' tags, it's an anti-pattern.
runs-on: ubuntu-20.04
steps:
# Checkout the code.
- name: Checkout
uses: actions/checkout@v2

# Set a descriptive version. For PRs it'll be the short sha.
- name: Set Version
id: set_version
run: echo ::set-output name=VERSION::$(git rev-parse --short HEAD)

# Prepare the content files.
- name: Prepare Content
run: ./scripts/prepare-markdown-for-ebook.sh ${{ steps.set_version.outputs.VERSION }}

# Create a PDF from the prepared markdown.
- name: Prepare PDF
uses: docker://pandoc/latex:2.9
with:
args: "-V toc-title:\"Table Of Contents\" --toc --pdf-engine=pdflatex --standalone --output hacker-laws.pdf hacker-laws.md"

# Publish the PDF and intermediate markdown as an artifact.
- name: Publish PDF Artifact
uses: actions/upload-artifact@master
with:
name: hacker-laws.pdf
path: hacker-laws.pdf

- name: Publish Intermiediate Markdown Artifact
uses: actions/upload-artifact@master
with:
name: hacker-laws.md
path: hacker-laws.md
69 changes: 69 additions & 0 deletions .github/workflows/release-on-tag.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# This pipeline builds the PDF ebook on any tag starting with 'v'.
name: "Create Release"
on:
push:
tags:
- 'v*'

jobs:
prepare-pdf:
# Focal Fossa. Please don't use 'latest' tags, it's an anti-pattern.
runs-on: ubuntu-20.04
steps:
# Checkout the code.
- name: Checkout
uses: actions/checkout@v2

# Set a descriptive version. For PRs it'll be the short sha.
- name: Set Version
id: set_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}

# Prepare the content files.
- name: Prepare Content
run: ./scripts/prepare-markdown-for-ebook.sh ${{ steps.set_version.outputs.VERSION }}

# Create a PDF from the prepared markdown.
- name: Prepare PDF
uses: docker://pandoc/latex:2.9
with:
args: "-V toc-title:\"Table Of Contents\" --toc --pdf-engine=pdflatex --standalone --output hacker-laws.pdf hacker-laws.md"

# Publish the PDF artifact.
- name: Publish PDF Artifacts
uses: actions/upload-artifact@master
with:
name: hacker-laws.pdf
path: hacker-laws.pdf

release:
needs: prepare-pdf
runs-on: ubuntu-20.04
steps:
- name: Download artifact
uses: actions/download-artifact@v2
with:
name: hacker-laws.pdf

- name: Create Release
id: create-release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
body: |
Hacker Laws E-Book
draft: false
prerelease: false

- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create-release.outputs.upload_url }}
asset_path: ./hacker-laws.pdf
asset_name: hacker-laws.pdf
asset_content_type: application/pdf
1 change: 0 additions & 1 deletion CONTRIBUTORS.md

This file was deleted.

Loading