···2233- If your product/tool/process documentation is not good enough, people will not use it.
44- The documentation for a project should live in the same repository as the code itself.
55- - Update documentation in lockstep when updating the codebase.
66- - Documentation should be **versioned**.
77- - Documentation changes should be reviewed in the same way as your code.
55+ - Update documentation in lockstep when updating the codebase.
66+ - Documentation should be **versioned**.
77+ - Documentation changes should be reviewed in the same way as your code.
88- [Documentation](https://diataxis.fr/) needs to include and be structured around its four different functions: [tutorials, how-to guides, technical reference and explanation](https://documentation.divio.com/introduction/). Each of them requires a distinct mode of writing.
99- - A tutorial is learning-oriented, allows the newcomer to get started, similar to a lesson. E.g: teaching a small child how to cook.
1010- - A how-to guide is goal-oriented, shows how to solve a specific problem with a series of steps. E.g: a recipe in a cookery book.
1111- - An explanation is understanding-oriented, provides background and context. E.g: an article on culinary social history.
1212- - A reference guide is information-oriented, describes the machinery and is accurate and complete. E.g: a reference encyclopedia article.
99+ - A tutorial is learning-oriented, allows the newcomer to get started, similar to a lesson. E.g: teaching a small child how to cook.
1010+ - A how-to guide is goal-oriented, shows how to solve a specific problem with a series of steps. E.g: a recipe in a cookery book.
1111+ - An explanation is understanding-oriented, provides background and context. E.g: an article on culinary social history.
1212+ - A reference guide is information-oriented, describes the machinery and is accurate and complete. E.g: a reference encyclopedia article.
1313- [If someone’s having to read your docs, it’s not "simple"](https://justsimply.dev/). Remove filler words.
1414- [Principles to keep in mind when writing documentation](https://mkaz.blog/misc/notes-on-technical-writing/).
1515- - The purpose of technical writing is to help users accomplish tasks as quickly and effectively as possible.
1616- - People learn by doing, prefer to be shown and not told.
1717- - Get users to their first success quickly.
1818- - There is more than one type of documentation.
1919- - [Use second person](https://developers.google.com/style/person): "you" rather than "we".
2020- - Keep it simple, write in plain language.
2121- - [Use active voice](https://developers.google.com/style/voice): make clear who's performing the action.
1515+ - The purpose of technical writing is to help users accomplish tasks as quickly and effectively as possible.
1616+ - People learn by doing, prefer to be shown and not told.
1717+ - Get users to their first success quickly.
1818+ - There is more than one type of documentation.
1919+ - [Use second person](https://developers.google.com/style/person): "you" rather than "we".
2020+ - Keep it simple, write in plain language.
2121+ - [Use active voice](https://developers.google.com/style/voice): make clear who's performing the action.
2222- [As you are working in a team, then you have to address the problem of shared understanding](https://surfingcomplexity.blog/2022/11/24/writing-docs-well-why-should-a-software-engineer-care/). This is where documentation come in.
23232424## Resources
+1-1
Engineering Process.md
···664. Submit the smallest item of work that makes sense. When creating an issue describe the smallest fix possible, put suggestions for enhancements in separate issues and link them.
775. Do not leave issues open for a long time, issues should be actionable and realistic. If an issue has been addressed or is not relevant anymore, close it. If someone disagrees, they can re-open it and explain what is still relevant.
886. If you complete part of an issue and need someone else to take the next step, re-assign the issue to that person.
99-7. When working on an issue, ask for [[Feedback]] from your peers. Try to get a [review](https://github.com/thoughtbot/guides/tree/master/code-review) of your work. Even a quick look could do it. If they suggest changes, you get the opportunity to improve. This promotes [[Git#How to make a good Pull Request |collaboration and advances everyone's]] skills.
99+7. When working on an issue, ask for [[Feedback]] from your peers. Try to get a [review](https://github.com/thoughtbot/guides/tree/master/code-review) of your work. Even a quick look could do it. If they suggest changes, you get the opportunity to improve. This promotes [[Git#How to Make a Good Pull Request|collaboration and advances everyone's]] skills.
+6-6
Feedback Loops.md
···2233- [Every action creates an equal and opposite reaction. **When reactions loop back to affect themselves, a feedback loop is created**.](https://fs.blog/2011/10/mental-model-feedback-loops/)
44- There are two types of feedback loops: positive and negative.
55- - Positive feedback amplifies system output, resulting in growth or decline.
66- - Negative feedback dampers output, stabilizes the system around an equilibrium point.
55+ - Positive feedback amplifies system output, resulting in growth or decline.
66+ - Negative feedback dampers output, stabilizes the system around an equilibrium point.
77- **[[Network Effects |Things are connected]]**. Changing one variable in a [[Systems |system]] will affect other variables in that system and other systems. This is important because it means that designers must not only consider particular elements of a design, but also their relation to the design as a whole and to the greater environment.
88- All complex [[systems]] are subject to positive and negative feedback loops whereby A causes B, which in turn influences A (and C), and so on – with higher-order effects frequently resulting from continual movement of the loop.
99- Feedback loops vary in their accuracy.
1010- - Accurate feedback means that it **reliably** and **clearly** tells you when you do something right. If you get the quadratic formula wrong, you can check the right formula and know what was wrong.
1111- - Inaccurate feedback loop means that the results of the evaluation phase are “**noisy**” and contain significant variance, so the next cycle will need to take that into account. E.g: playing bowls without a coach.
1212- - Learning under conditions of noisy data starts with world construction. Imagine a possible future, and repeat this to generate hundreds of possible future worlds. The main skills and resources required are creativity, [[slack]], and [equanimity](https://en.wikipedia.org/wiki/Equanimity). Creativity leads to a higher rate of idea generation and [[slack]] gives us more time to generate ideas. Equanimity is important because it allows us to persevere in the absence of tangible feedback.
1010+ - Accurate feedback means that it **reliably** and **clearly** tells you when you do something right. If you get the quadratic formula wrong, you can check the right formula and know what was wrong.
1111+ - Inaccurate feedback loop means that the results of the evaluation phase are “**noisy**” and contain significant variance, so the next cycle will need to take that into account. E.g: playing bowls without a coach.
1212+ - Learning under conditions of noisy data starts with world construction. Imagine a possible future, and repeat this to generate hundreds of possible future worlds. The main skills and resources required are creativity, [[slack]], and [equanimity](https://en.wikipedia.org/wiki/Equanimity). Creativity leads to a higher rate of idea generation and [[slack]] gives us more time to generate ideas. Equanimity is important because it allows us to persevere in the absence of tangible feedback.
1313- [The shorter and more accurate the feedback loop, the easier it is to learn](https://brianlui.dog/2020/05/10/beware-of-tight-feedback-loops/). The **tighter** your feedback loop, the better your work.
1414- - Fast and accurate loops might get you on a local maximum or might not work when the underlying system is noisy.
1414+ - Fast and accurate loops might get you on a local maximum or might not work when the underlying system is noisy.
15151616## Examples
1717
+5-5
Git.md
···23231. Include the purpose of the Pull Request.
24242. Provide an overview of why the work is taking place. Give a good background on why the change is happening.
25253. Be explicit about what feedback you want, if any: a quick pair of :eyes: on the code, discussion on the technical approach, critique on design, a review of copy.
2626- - [Explicitly list how to perform validation](https://www.brautaset.org/posts/levelling-up-pull-requests.html).
2626+ - [Explicitly list how to perform validation](https://www.brautaset.org/posts/levelling-up-pull-requests.html).
27274. [Offering feedback](https://mtlynch.io/human-code-reviews-1/)
2828- 1. Familiarize yourself with the context of the issue, and reasons why this Pull Request exists.
2929- 1. Ask, don't tell.
3030- 1. Explain your reasons why code should be changed.
3131- 1. Be aware of negative bias with online [[Communication]]. Can you use positive language as opposed to neutral?
2828+5. Familiarize yourself with the context of the issue, and reasons why this Pull Request exists.
2929+6. Ask, don't tell.
3030+7. Explain your reasons why code should be changed.
3131+8. Be aware of negative bias with online [[Communication]]. Can you use positive language as opposed to neutral?
32323333## Resources
3434
+4-4
Goals.md
···16161717## Interesting Goals
18181919-- Experiment with something you want to improve (A/B tests).
2020-- Reduce daily decisions.
2121-- [[Journaling |Journal]].
2222-- Delete one bad habit (e.g: no sugar).
1919+- Experiment with something you want to improve (A/B tests).
2020+- Reduce daily decisions.
2121+- [[Journaling|Journal]].
2222+- Delete one bad habit (e.g: no sugar).
+28-28
Ideas.md
···2233A few personal random ideas. A multitude of bad ideas is necessary for one good idea!
4455-### Key Properties of Ideas
55+## Key Properties of Ideas
6677- Timeless.
88- No replication costs.
99- Creates win-win situations.
1010- [[Network Effects]].
11111212-### Interesting Areas
1212+## Interesting Areas
13131414- [[Open Data]]
1515- [[Governance]]
···1818- [[Learning]]
1919- Science (biology, astrophysics, neuro, ...)
20202121-## Awesome Game
2121+### Awesome Game
22222323- Modular Approach. The idea is to have a main character and multiple shards to play. Each shard could implement a different rule set or genre.
2424- [[Modularity]] could also be implemented in the graphic side. You can choose the graphics pack you like just like another cosmetic.
2525- Player Driven Economy. Everything is made by players and traded for real life currency. The developers only get a fee for each trade. This makes the game fully F2P but also supports the developers.
2626- Companion Apps. Some tasks like trading or [[Planning]] could be done from a mobile device.
2727- Systems (items, skills, monsters, ...) could be affected by evolutionary processes.
2828- - Merging two skills could produce a new one (inheriting properties and perhaps with a small mutation)
2929- - Monsters will develop resistance against what's killing them.
3030- - Quests rewards will also change dynamically.
2828+ - Merging two skills could produce a new one (inheriting properties and perhaps with a small mutation)
2929+ - Monsters will develop resistance against what's killing them.
3030+ - Quests rewards will also change dynamically.
3131- Players can vote for the next patch changes with in game money. This way developers gets feedback on what's important.
3232- Could have a GPS RPG extension. Locations in the real world would be named similarly to the real place but with a twist given by a Neural Network.
3333- Factions can take control of a region and build new things there.
34343535-## Unconventional Changelogs
3535+### Unconventional Changelogs
36363737- What if each city or town had a changelog? What changed in the last _release_? Did it change a street direction or opened a new commerce?
3838- What if stores had a changelog? That'd mean price history for each product and also new products would be easier to find.
39394040-## Fake Currencies
4040+### Fake Currencies
41414242- A chores app where kids could earn a currency. This could be traded for rewards like going to the cinema or getting a new PC game.
43434444-## Open Knowledge
4444+### Open Knowledge
45454646- Research.
4747- - Each publication is a repository, where people can contribute to make corrections.
4747+ - Each publication is a repository, where people can contribute to make corrections.
4848- Distillation. Deeply digesting ideas, and putting them together into a framework of thinking.
4949- - Made by a small number of people with a strong vision and a deep investment in the article.
4949+ - Made by a small number of people with a strong vision and a deep investment in the article.
5050- Publication.
5151- - Should have different resolutions. E.g: Blog post for the general public, article for the scientific community, paper for the raw idea.
5151+ - Should have different resolutions. E.g: Blog post for the general public, article for the scientific community, paper for the raw idea.
52525353-## Personal Knowledge Base
5353+### Personal Knowledge Base
54545555A tool and framework to manage knowledge. This will allow compound learning and make it easier to discover new abstractions or connections between concepts. These are the key properties of my ideal PKB (could replace this handbook):
56565757- Simple, Open Source and multi-platform. Works offline and has a backup mechanism similar to [[Git]].
5858- Focus on capturing ideas and content as fast as possible.
5959- Should be managed as a graph:
6060- - Nodes are notes or smaller graphs. [Notes should be atomic, concept-oriented and densely linked](https://notes.andymatuschak.org/z4SDCZQeRo4xFEQ8H4qrSqd68ucpgE6LU155C).
6161- - Bidirectional links connecting nodes.
6262- - Nodes could have several parents (concepts).
6363- - Users can remix and connect ideas in multiple overlapping hierarchies.
6060+ - Nodes are notes or smaller graphs. [Notes should be atomic, concept-oriented and densely linked](https://notes.andymatuschak.org/z4SDCZQeRo4xFEQ8H4qrSqd68ucpgE6LU155C).
6161+ - Bidirectional links connecting nodes.
6262+ - Nodes could have several parents (concepts).
6363+ - Users can remix and connect ideas in multiple overlapping hierarchies.
6464- [Each concept could be linked to external content (video, book, audio)](https://www.notion.so/Models-bb0f4bfd3cd140b3a00cd955e61003f9).
6565- - Content should have tags (related concepts)
6565+ - Content should have tags (related concepts)
6666- Can be made public.
6767- Personal Knowledge bases can be personal [ontologies with similar core components (individuals, classes, attributes, relations, ...)](https://en.wikipedia.org/wiki/Ontology_components).
68686969Instead of building the tool, we can start with a standard protocol and let other tools (Roam, Notion, Obsidian) use that.
70707171-### Open Source Projects
7171+#### Open Source Projects
72727373- [Logseq](https://logseq.com/).
7474- [Dendron](https://www.dendron.so/).
7575- [Foam](https://foambubble.github.io/).
7676- [Noosphere](https://github.com/subconsciousnetwork/noosphere)
77777878-## City Discovery
7878+### City Discovery
79798080- Create an activity similar to a gymkhana mixed with escape room. Players have to solve riddles and puzzles while learning about the city and its history.
8181- There might be digital and real life puzzles.
8282- Clues might be scattered across many checkpoints with actors as "NPC"s to guide the players.
8383- For big and closed areas, set up a Photo Battle Royale. You're out in a park. Make a group chat and eliminate people by making photos of them. The goal is to collect trophies without being eliminated.
84848585-## Social Network Improvements
8585+### Social Network Improvements
86868787- [[Federated Networks |Federate and open source current networks]] to improve communities.
8888- - [The protocol should evolve differently for each community](https://youtu.be/P-2P3MSZrBM?t=5953). Communities will mix and match protocols (rules, monetization, rewarding, actions, [[governance]], ...) to make the protocol fit their network.
8888+ - [The protocol should evolve differently for each community](https://youtu.be/P-2P3MSZrBM?t=5953). Communities will mix and match protocols (rules, monetization, rewarding, actions, [[governance]], ...) to make the protocol fit their network.
8989- We need a social network that does not cause divisiveness and negativity that is currently the natural by-product of optimizing for greater engagement.
9090- How can the network [[Incentives |incentivize]] healthy conversations and encourage nuanced [[Resolving Disagreement |discussions]]?
91919292-## Web3 Recommendation Engine
9292+### Web3 Recommendation Engine
93939494- Since Ethereum wallets are public, you can get good data on which tokens people similar to you are holding.
9595- This might be useful to discover new assets.
96969797-## Web3 Data Pipelines
9797+### Web3 Data Pipelines
98989999- There is no Airbyte for blockchains.
100100- Everyone is reinventing the wheel, e.g: Dune does ETL, Flipside does it too, ...
101101102102-## Structured Company Changelog
102102+### Structured Company Changelog
103103104104-- Create and maintain a *Company Changelog* in a table (structured and parse-able format) so it can be fed to something like Mixpanel or joined to other datasets to do analysis.
104104+- Create and maintain a _Company Changelog_ in a table (structured and parse-able format) so it can be fed to something like Mixpanel or joined to other datasets to do analysis.
105105- Add data from other Sources:
106106- - Github PRs
107107- - OKRs
106106+ - Github PRs
107107+ - OKRs
108108- Use something like GitHub Releases to publish the changes and artifacts.
+3-3
Identity.md
···11# Identity
2233- [Maintain a very small identity](http://www.paulgraham.com/identity.html). The act of labeling yourself is the act of restricting yourself to what you think fits that label. Don't have opinions on everything. Avoid forming an opinion at all about things that are not evident. Do not affiliate your identity with anything extrinsic - such as a religion, political party, country, company, profession, [[Programming]] language, social class, etc.
44- - Identity can be helpful in some cases. When we identity as something aligned with our [[Values]] and that can self correct (e.g: rationalism), it encourages you to behave better!
55- - [Try to affiliate more strongly with the communities whose core beliefs would be less dangerous if they turned out to be wrong](https://economicsdetective.com/2016/10/identity-mind-killer/).
66- - Identity labels are a way of [[Conceptual Compression]]. They help you infer some things about people that identify as something.
44+ - Identity can be helpful in some cases. When we identity as something aligned with our [[Values]] and that can self correct (e.g: rationalism), it encourages you to behave better!
55+ - [Try to affiliate more strongly with the communities whose core beliefs would be less dangerous if they turned out to be wrong](https://economicsdetective.com/2016/10/identity-mind-killer/).
66+ - Identity labels are a way of [[Conceptual Compression]]. They help you infer some things about people that identify as something.
77- You're not your opinions. Don't define yourself by what you work on or what you hate. Once a belief becomes part of your identity, any evidence that threatens the belief is a personal attack.
88- The only constant in the world is that it changes. Identify as someone that changes their mind when the data changes!
+3-3
Incentives.md
···6677> _"Simple, clear purpose and principles give rise to complex and intelligent behavior. Complex rules and regulations give rise to simple and stupid behavior"._ Dee Hock.
8899-- To reach a [[Goals |goal]], reduce friction or increase incentives/rewards.
99+- To reach a [[Goals|goal]], reduce friction or increase incentives/rewards.
1010- To build better institutions, alter the incentive landscape. Great incentives create great outcomes.
1111- Humans are astonishingly bad at establishing incentives—we consistently invite manipulation and unintended consequences.
1212- You can’t force other people to change. You can, however, change just about everything else. And usually, that’s enough!
1313- Two types of incentives:
1414- - Intrinsic incentives are internal—created by self-interest or desire.
1515- - Extrinsic incentives are external—created by outside factors (reward, punishment).
1414+ - Intrinsic incentives are internal—created by self-interest or desire.
1515+ - Extrinsic incentives are external—created by outside factors (reward, punishment).
16161717## Incentive Framework
1818
+7-7
Journaling.md
···1010- [Journaling is a tool you can use to better manage your mental health](https://nesslabs.com/dear-diary).
1111- There are many methods. Start with a simple one like "What worked, what didn't, what's next".
1212- Weekly Review:
1313- - [Review what happened during the week](https://www.benkuhn.net/weekly/). How did the week go? Write down a list of topics to think about and take written notes on each topic as you think about them.
1414- - Review a set of recurrent prompts. Tweak them over time. For example:
1515- - Consistency at your core [[habits]] this week ([[Fitness]], [[Routine]], [[Productivity]], etc.). How can you tweak them to be more consistent or more useful?
1616- - What did you do this week that was a mistake and how can I avoid repeating it?
1717- - What would you like to accomplish next week?
1818- - Do you need to clarify something?
1919- - Which actions will you move closer to your [[goals]]?
1313+ - [Review what happened during the week](https://www.benkuhn.net/weekly/). How did the week go? Write down a list of topics to think about and take written notes on each topic as you think about them.
1414+ - Review a set of recurrent prompts. Tweak them over time. For example:
1515+ - Consistency at your core [[habits]] this week ([[Fitness]], [[Routine]], [[Productivity]], etc.). How can you tweak them to be more consistent or more useful?
1616+ - What did you do this week that was a mistake and how can I avoid repeating it?
1717+ - What would you like to accomplish next week?
1818+ - Do you need to clarify something?
1919+ - Which actions will you move closer to your [[goals]]?
+4-4
Meetings.md
···88- During the meeting, collect to-do’s, blockers/asks, and DRIs.
99- You can add [[Feedback]] as an agenda item, and ask the participants to take a few minutes to jot down feedback for the next meeting.
1010- When asking for a meeting, send a message with:
1111- 1. **Purpose.** State reason for meeting. Include necessary information, links, context, ...
1212- 2. **Duration.** State restrictions (i.e. "at least 30 min", "at most 50min").
1313- 3. **Date.** State restrictions (i.e. "must happen before Aug 8.")
1414- 4. **Suggestions.** Pick three reasonable choices given restrictions and suggest them up front.
1111+ 1. **Purpose.** State reason for meeting. Include necessary information, links, context, ...
1212+ 2. **Duration.** State restrictions (i.e. "at least 30 min", "at most 50min").
1313+ 3. **Date.** State restrictions (i.e. "must happen before Aug 8.")
1414+ 4. **Suggestions.** Pick three reasonable choices given restrictions and suggest them up front.
15151616## Update Meetings
1717
+3-3
Modularity.md
···2233Modularity is a property of [[Systems]]. It means:
4455- - Loosely coupling. Breaking a chair shouldn't break the dinner!
66- - Multiple parts that play well together. This allows systems to develop [[Emergence]].
77- - Dividing a large systems into multiple smaller competing ones will make them evolve different rule-set and will allow you to pick the best one.
55+- Loosely coupling. Breaking a chair shouldn't break the dinner!
66+- Multiple parts that play well together. This allows systems to develop [[Emergence]].
77+- Dividing a large systems into multiple smaller competing ones will make them evolve different rule-set and will allow you to pick the best one.