๐Ÿ“š Personal bits of knowledge

:art:

+46 -46
+1 -1
Blockchain.md
··· 1 1 # Blockchain 2 2 3 - - [A blockchain is a decentralized database](https://www.youtube.com/watch?v=bBC-nXj3Ng4). 3 + - [A blockchain is a decentralized [[Databases|database]]](https://www.youtube.com/watch?v=bBC-nXj3Ng4). 4 4 - Blockchain solve the Byzantine Generals Problem: [How do participants in a decentralized network communicate and coordinate with each other towards some action without relying on a trusted third-party?](https://a16z.com/2019/11/08/crypto-glossary/). 5 5 - Blockchains are "trustless". There are mechanisms in place by which all parties in the [[Systems |system]] can reach a consensus on what the canonical truth is. 6 6 - Power and trust is distributed (or shared) among the network's stakeholders (e.g. developers, miners, and consumers), rather than concentrated in a single individual or entity (e.g. banks, governments, and financial institutions).
+11 -11
Decentralized Protocols.md
··· 3 3 > Decentralization is the worst form of networking except all those other forms that have been tried. 4 4 5 5 - Decentralized protocols become [fat protocols](https://www.usv.com/writing/2016/08/fat-protocols/). 6 - - On the internet, the main protocols take care of communications (HTTPS, SSH, ...) and apps are built on top. These apps and services store our data in silos. These protocols are necessary but not valuable. Value is captured by the apps. 7 - - A great example of a modern open source protocol is [[IPFS]]. 8 - - Fat protocols will use tools like blockchain to store the data. With open protocols and decentralized data ([[Web3]]), apps are only the frontend of the services. 6 + - On the internet, the main protocols take care of communications (HTTPS, SSH, ...) and apps are built on top. These apps and services store our data in silos. These protocols are necessary but not valuable. Value is captured by the apps. 7 + - A great example of a modern open source protocol is [[IPFS]]. 8 + - Fat protocols will use tools like blockchain to store the data. With open protocols and decentralized data ([[Web3]]), apps are only the frontend of the services. 9 9 - [Protocol and Open Source Funding](https://youtu.be/few99D5WnRg?list=WL). It'll add to the current ways to to fund open source projects: 10 - - Consulting: open source the code, sell consulting. 11 - - Cloud: open source some code, but sell a closed source cloud complement. 12 - - [Community](https://mobile.twitter.com/balajis/status/1310101055816921090): open source all code, and issue a token or charge for access to the community. 13 - - Open Source projects would have a protocol. You could buy shares of Kubernetes, Tensorflow, ... or contribute to gain tokens. This [[incentives]] contributing and helping people. 14 - - [Many more](https://youtu.be/Axj8NJXnCN0)! 10 + - Consulting: open source the code, sell consulting. 11 + - Cloud: open source some code, but sell a closed source cloud complement. 12 + - [Community](https://mobile.twitter.com/balajis/status/1310101055816921090): open source all code, and issue a token or charge for access to the community. 13 + - Open Source projects would have a protocol. You could buy shares of Kubernetes, Tensorflow, ... or contribute to gain tokens. This [[incentives]] contributing and helping people. 14 + - [Many more](https://youtu.be/Axj8NJXnCN0)! 15 15 - [Moving to protocols, not platforms](https://knightcolumbia.org/content/protocols-not-platforms-a-technological-approach-to-free-speech), is an approach for free speech in the twenty-first century. Rather than relying on a "marketplace of [[ideas]]" within an individual platform โ€” which can be hijacked by those with malicious intentโ€”protocols could lead to a marketplace of ideals, where competition occurs to provide better services that minimize the impact of those with malicious intent, without cutting off their ability to speak entirely. 16 - - The fundamental power of the internet is its _interoperability_. It was born out of the ability of different networks to talk to each other using common protocols. The interoperability is what we've lost in the Web 2.0 era. Even such quintessential thing as a web API has no well defined standard or protocol, just a very vague concept of REST or RPC. We need commonly accepted standards and _decentralized_ protocols: for web APIs, for identity management, for message queuing, for web callbacks (webhooks), for online transactions, for semantic web and ontology, etc. 17 - - One wallet could allow you to login to any service. The wallets are your credentials. [[NFTs |Owning a thing]] could allow you to enter somewhere. 16 + - The fundamental power of the internet is its _interoperability_. It was born out of the ability of different networks to talk to each other using common protocols. The interoperability is what we've lost in the Web 2.0 era. Even such quintessential thing as a web API has no well defined standard or protocol, just a very vague concept of REST or RPC. We need commonly accepted standards and _decentralized_ protocols: for web APIs, for identity management, for message queuing, for web callbacks (webhooks), for online transactions, for semantic web and ontology, etc. 17 + - One wallet could allow you to login to any service. The wallets are your credentials. [[NFTs|Owning a thing]] could allow you to enter somewhere. 18 18 - [Open source protocols should favor composability over just about everything](https://youtu.be/TdBTJY-G8xs). Breaking big things into smaller things. This encourages experimentation at multiple levels. 19 19 - **Progressive decentralization optional centralization.** 20 - - A decentralized protocol can work with a centralized provider. It has the benefits of both (might be fast but no lock users in). 20 + - A decentralized protocol can work with a centralized provider. It has the benefits of both (might be fast but no lock users in). 21 21 - A major downside of decentralized protocols/networks is that they tend to perform poorly. Hubs are efficient.
+33 -33
Organizations.md
··· 2 2 3 3 - [Organizations are complex adaptive systems โ€” meaning that they consist of individual humans responding to a messy combination of social, cultural, and economic system incentives](https://commoncog.com/blog/org-design-skill/). 4 4 - Itโ€™s all about [[Coordination]]. [Coordination _adds complexity_ to your systems which make them harder to change and work with](https://itnext.io/the-origin-of-complexity-8ecb39130fc). We need more coordination when things get bigger, order matters and consistency is important. 5 - - Split things up (teams, code, data) into smaller sets. 6 - - Make sure no one gets blocked. 7 - - Make things composable (e.g: UNIX). 8 - - Make processes [[Idempotence |idempotent]] and [[Automation |automated]]. 9 - - [Put mechanisms that enable the organization to learn and adapt](https://www.remyevard.com/posts/2021/11/30/healthy-organizations.html). 5 + - Split things up (teams, code, data) into smaller sets. 6 + - Make sure no one gets blocked. 7 + - Make things composable (e.g: UNIX). 8 + - Make processes [[Idempotence|idempotent]] and [[Automation |automated]]. 9 + - [Put mechanisms that enable the organization to learn and adapt](https://www.remyevard.com/posts/2021/11/30/healthy-organizations.html). 10 10 - _Culture, Coordination, and Capital_ are the foundation of your ability to have an impact on your mission. 11 11 - A company may be looked as a combination of 3 things: 12 - - The people who work at the company. 13 - - The process the company uses to get work done. 14 - - The purpose for which the company exists. 12 + - The people who work at the company. 13 + - The process the company uses to get work done. 14 + - The purpose for which the company exists. 15 15 - The way people within a company do thingsโ€”how they communicate, how they create, how they decideโ€”is that company's operating system. 16 - - All organizations have their own way of doing things ([[Culture]]) and their own particular views of how the world should work (vision). 17 - - **Vision** is the change in the world you want to see. 18 - - **Mission** defines the approach that you will execute to make your vision a reality. The **strategy** further refines the mission into concrete steps. 19 - - There are two core processes that take place within any company: making decisions and doing work. 16 + - All organizations have their own way of doing things ([[Culture]]) and their own particular views of how the world should work (vision). 17 + - **Vision** is the change in the world you want to see. 18 + - **Mission** defines the approach that you will execute to make your vision a reality. The **strategy** further refines the mission into concrete steps. 19 + - There are two core processes that take place within any company: making decisions and doing work. 20 20 - Align [[incentives]]. Make the right thing to do the easiest thing to do. 21 21 - The layout of the organization impacts how many hops the information has to do. 22 - - With each hop, the information loses some signal and increases the noise it carries. 23 - - Someone should be the information hub (librarian). It helps connecting the dots that wouldn't otherwise get connected. 22 + - With each hop, the information loses some signal and increases the noise it carries. 23 + - Someone should be the information hub (librarian). It helps connecting the dots that wouldn't otherwise get connected. 24 24 - Standardized tasks and processes are the foundation for continuous improvement and employee empowerment. Beware of over standardizing or over processing (like optimization, you have to choose the right things to standardize, and the right things to leave untouched). 25 - - Standardization should be based on tooling and [[Automation]]. 26 - - Simple tools means more time building. 27 - - Investigate where (and how) [[processes]] and tasks could be automated, and understanding the costs of automating them. 25 + - Standardization should be based on tooling and [[Automation]]. 26 + - Simple tools means more time building. 27 + - Investigate where (and how) [[processes]] and tasks could be automated, and understanding the costs of automating them. 28 28 - Focus on minimizing entropy in the organizations. Simplify (Best process is no process, Meetings) and [[Focus]]. 29 29 - Beware of over-engineering your problems and killing initiatives with useless processes in the organization. Introduce processes one step at a time and making sure everyone is on the same page. 30 - - Once you have extra people and basically the same set of tasks at hand... sluggish ways of doing things and inefficiency are basically guaranteed. 31 - - The increase in levels is like a game of telephone and reduces the fidelity of the message/strategy/goal from executive down to line level team members. 32 - - Unnecessary details and unnecessary coordination makes the project much less attractive for great people. 30 + - Once you have extra people and basically the same set of tasks at hand... sluggish ways of doing things and inefficiency are basically guaranteed. 31 + - The increase in levels is like a game of telephone and reduces the fidelity of the message/strategy/goal from executive down to line level team members. 32 + - Unnecessary details and unnecessary coordination makes the project much less attractive for great people. 33 33 - People who notice a mistake should benefit from correcting it. 34 34 - Decision making should be pushed down the hierarchy to the practitioner. 35 35 - An organization exhibits risk aversion comparable to the most risk averse decision maker in the decision chain. 36 36 - Every business has an equation that describes how it generates revenue. Write it down and decompose it to better understand the relationships. [Don't try to optimize that number or it'll be gamed](https://www.fast.ai/2019/09/24/metrics/). Solve Problems, not [[metrics]]. When a measure becomes a target, it ceases to be a good measure. Not everything that counts can be measured, and not everything that can be measured counts. [The more important a metric is in social decision making, the more likely it is to be manipulated](https://en.wikipedia.org/wiki/Campbell%27s_law). 37 37 - [[Data Culture |Data]] can be valuable in helping you understand the world, test hypotheses, and move beyond gut instincts or hunches. [[Metrics]] can be useful when they are in their proper context and place. 38 - - Use data to identify friction points, and constantly experiment with changes to make things easier for you and your customers. 38 + - Use data to identify friction points, and constantly experiment with changes to make things easier for you and your customers. 39 39 - How does the [data-informed product loop look](https://cutlefish.substack.com/p/tbm-852-the-data-informed-product)? 40 - 1. Have a strategy. Most product strategies are too high level. They say everything and nothing at the same time. 41 - 2. Translate that into models. Don't go from insanely high-level business goals and metrics ([[Dashboards]]), straight to features on a [[Writing a Roadmap |roadmap]]. [Models help us fill that gap](https://cutlefish.substack.com/p/tbm-2553-persistent-models-vs-point). 42 - 3. Add minimally viable measurement. 43 - 4. Identify leverage points. 44 - 5. Explore options. 45 - 6. Run experiments. Update your view of things based on what you just learned, then you have sort of missed the point. 46 - 7. To get better at data-informed product you have to keep going around the loop. It takes practice (and psychological safety and support). 40 + 1. Have a strategy. Most product strategies are too high level. They say everything and nothing at the same time. 41 + 2. Translate that into models. Don't go from insanely high-level business goals and metrics ([[Dashboards]]), straight to features on a [[Writing a Roadmap |roadmap]]. [Models help us fill that gap](https://cutlefish.substack.com/p/tbm-2553-persistent-models-vs-point). 42 + 3. Add minimally viable measurement. 43 + 4. Identify leverage points. 44 + 5. Explore options. 45 + 6. Run experiments. Update your view of things based on what you just learned, then you have sort of missed the point. 46 + 7. To get better at data-informed product you have to keep going around the loop. It takes practice (and psychological safety and support). 47 47 - People within an organization commonly or typically give disproportionate weight to trivial issues (Law of triviality). 48 48 - Train employees well enough they could get another job, but treat them well enough so they never want to. 49 49 - [Apolitical](https://twitter.com/naval/status/1263322014372130817) work environment is hard to maintain. Choose your company battles and causes. 50 50 - Managers will hire more managers as the team scales and that creates new teams. Teams will fight to justify their existence. Beware of this build-up inertia. 51 - - [As organizations become less efficient / less effective, they need more and more managers to "manage" that inefficiency. This kicks off a wicked cycle, because they'll self-identify with managing a problem ... which reinforces it.](https://mobile.twitter.com/johncutlefish/status/1472669773410410504) 51 + - [As organizations become less efficient / less effective, they need more and more managers to "manage" that inefficiency. This kicks off a wicked cycle, because they'll self-identify with managing a problem ... which reinforces it.](https://mobile.twitter.com/johncutlefish/status/1472669773410410504) 52 52 - [The art of org design is essentially effective iteration towards form-context fit. You need four sub-skills to do effective iteration](https://commoncog.com/blog/org-design-skill/). To get good at org design, you need to build more accurate models of the people in your org, learn how they respond to [[incentives]], and in build enough power and credibility to get your org changes to take place. 53 53 - Transparency is a vital value. Transparency gets people to treat the company as their own. 54 54 - Adoption of new [[processes]] should _always_ take the step-by-step iteration process into account. You should _never_ think of it as a system to be adopted wholesale; you should always think โ€œhmm, this is a set of tools that seem to work for _some_ context; how do I know this works for mine?โ€ And then you should break those processes down to atomized pieces, and apply them by running smaller, more iterative tests. Understanding the original context is usually key to understanding if the processes have a shot at working when applied to your company. ··· 68 68 69 69 ### Startups 70 70 71 - - [Startup Playbook](https://playbook.samaltman.com/) - Some advice about startups from Sam Altman. 72 - - [Awesome Startup](https://github.com/KrishMunot/awesome-startup) - A curated list of awesome books, videos, courses and resources about making a startup. 73 - - [Startup School Resources](https://www.startupschool.org/library) - Startup resources from YCombinator. 74 - - [Make Handbook](https://makebook.io/) - Learn to bootstrap profitable startups the indie way. 71 + - [Startup Playbook](https://playbook.samaltman.com/) - Some advice about startups from Sam Altman. 72 + - [Awesome Startup](https://github.com/KrishMunot/awesome-startup) - A curated list of awesome books, videos, courses and resources about making a startup. 73 + - [Startup School Resources](https://www.startupschool.org/library) - Startup resources from YCombinator. 74 + - [Make Handbook](https://makebook.io/) - Learn to bootstrap profitable startups the indie way.
+1 -1
Teamwork.md
··· 3 3 - Explicitly define the [[values]] and desired [[culture]] of your team. 4 4 - Share a vision to make [loosely coupled, tightly aligned teams](https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/). Then, define the strategy with [[Writing Team Key Results |great key results]]. 5 5 - When coming up with a long-term vision is important to stay abstract. 6 - - Stick to defining components and keep concepts generic (cache, database, algorithm, ...). Show how the components interact. 6 + - Stick to defining components and keep concepts generic (cache, [[Databases]], algorithm, ...). Show how the components interact. 7 7 - Define boundaries and limitations of each component. 8 8 - Work in the open and [[Documentation |document]] everything. Transparency increases understanding and reduces synchronization challenges. **[Emulate Open Source projects](https://tomayko.com/blog/2012/adopt-an-open-source-process-constraints) and [[Remote Jobs |remote companies]]**. 9 9 - To make everyone more productive and happy: **Make feedback loops fast**. [Some best practices](https://simonwillison.net/2022/Oct/1/software-engineering-practices/):