From 008f525be35a9a2d5d94b15575fa4c2792fda187 Mon Sep 17 00:00:00 2001 From: David Gasquez Date: Mon, 17 Apr 2023 19:04:59 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Annual Review List.md | 2 +- Asynchronous Communications.md | 2 +- Blockchain.md | 2 +- Blogging.md | 2 +- COVID-19.md | 2 +- Capture, Organize, Synthesize.md | 2 +- Communication.md | 12 +- Company Knowledge Management.md | 26 ++-- Cooking.md | 4 +- Cryptocurrencies.md | 12 +- Curiosity.md | 2 +- Data/Analytics Engineering.md | 18 +-- Data/Dashboards.md | 2 +- Data/Data Culture.md | 116 +++++++++--------- Data/Data Engineering.md | 32 ++--- Data/Data Quality.md | 38 +++--- Data/Machine Learning.md | 2 +- Data/Metrics.md | 28 ++--- Data/Product Analytics.md | 4 +- Datathons.md | 26 ++-- Dogs.md | 24 ++-- Fallacies.md | 4 +- Feedback Loops.md | 2 +- Feedback.md | 14 +-- Fitness.md | 6 +- Future.md | 18 +-- Governance.md | 2 +- Health.md | 6 +- How To Do Hard Things.md | 12 +- IPFS.md | 4 +- Ideas.md | 2 +- Incentives.md | 2 +- Interesting Words.md | 2 +- Learning.md | 4 +- Life Advice.md | 2 +- Life Areas.md | 4 +- Life's Most Common Regrets.md | 4 +- Making Decisions.md | 6 +- Meditation.md | 4 +- Mental Health.md | 6 +- Mindfulness.md | 12 +- Network Effects.md | 10 +- News.md | 6 +- Nonviolent Communication.md | 2 +- Open Data.md | 180 ++++++++++++++-------------- Open Questions.md | 17 +-- Organizations.md | 4 +- Parenting.md | 10 +- Planning.md | 2 +- Politics.md | 24 ++-- Processes.md | 4 +- Productivity.md | 6 +- Programming.md | 2 +- Public Speaking.md | 2 +- README.md | 1 - Reducing Environmental Impact.md | 12 +- Remote Jobs.md | 12 +- Resolving Disagreement.md | 22 ++-- Signaling.md | 14 +-- Slack.md | 2 +- Sleep.md | 2 +- Social Games.md | 10 +- Social Media Issues.md | 18 +-- Stoicism.md | 4 +- Systems.md | 16 +-- Talking.md | 20 ++-- Teamwork.md | 36 +++--- The Four Laws of Behavior Change.md | 4 +- Themes.md | 4 +- Thinking.md | 4 +- Thought Experiments.md | 25 ++-- Time.md | 2 +- Values.md | 2 +- Web3.md | 22 ++-- Writing.md | 2 +- 75 files changed, 484 insertions(+), 493 deletions(-) diff --git a/Annual Review List.md b/Annual Review List.md index 0e0b9cc..7bf9067 100644 --- a/Annual Review List.md +++ b/Annual Review List.md @@ -1,6 +1,6 @@ # Annual Review List -- This Handbook. +- This [[README|handbook]]. - [Egoistic Altruism](https://youtu.be/rvskMHn0sqQ): A Selfish Argument for Making the World a Better Place. - [Optimistic Nihilism](https://youtu.be/MBRqu0YOH14): A great philosophy. - [The Tail End](https://waitbutwhy.com/2015/12/the-tail-end.html): You have limited time, and you should spend it wisely in things and with people you care about. diff --git a/Asynchronous Communications.md b/Asynchronous Communications.md index 28c4a76..aa51f64 100644 --- a/Asynchronous Communications.md +++ b/Asynchronous Communications.md @@ -7,7 +7,7 @@ - You can get into "Deep [[Focus]]" session without context switching that allows for better [[productivity]]. - You can work whenever, since you are not dependent on anyone immediately. - You'll have written records of everything. -- [Async communication](https://protocol.almanac.io/docs/async-work-ezPny9x7Q50QISL4UIUhB3PoURV0lgxP) takes more time but it enable better thinking. Learn to [[Asking Questions |ask better questions]] and [[Writing |write requests]]. +- [Async communication](https://protocol.almanac.io/docs/async-work-ezPny9x7Q50QISL4UIUhB3PoURV0lgxP) takes more time but it enable better thinking. Learn to[[Asking Questions|ask better questions]] and [[Writing|write requests]]. - The 4 components of a [great asynchronous message](https://protocol-labs.gitbook.io/launchpad-curriculum/launchpad-learning-resources/protocol-labs-network/os-stewardship#sync-comms): 1. Enough information to cover all follow-up questions. 2. A deadline. When do you need a response by? How urgent is it? Which task is being blocked right now? diff --git a/Blockchain.md b/Blockchain.md index 169b846..7a4036d 100644 --- a/Blockchain.md +++ b/Blockchain.md @@ -2,7 +2,7 @@ - [A blockchain is a decentralized [[Databases|database]]](https://www.youtube.com/watch?v=bBC-nXj3Ng4). - 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/). - - 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. + - 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. - 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). - Blockchains put the code in charge. - Blockchains allow permisionless innovation. diff --git a/Blogging.md b/Blogging.md index b98431a..2ea4444 100644 --- a/Blogging.md +++ b/Blogging.md @@ -27,4 +27,4 @@ 6. Reduce them to a tiny outline of the key points. 7. Post the outline. Trash the rest. - Reading is the inhale, writing is the exhale. Breathe. -- The more you create, the more ideas come yo you to continue creating. That's the creativity [[Feedback Loops |feedback loop]]. +- The more you create, the more ideas come yo you to continue creating. That's the creativity [[Feedback Loops|feedback loop]]. diff --git a/COVID-19.md b/COVID-19.md index da72313..8bf73d6 100644 --- a/COVID-19.md +++ b/COVID-19.md @@ -1,6 +1,6 @@ # COVID-19 -Most data around this crisis was incomplete, constantly evolving, and [[Politics |politically]] warped, making it near impossible to interpret without context from relevant experts, especially since fear was so prevalent. The goal was to try to think [[Thinking |critically]] and be understanding. +Most data around this crisis was incomplete, constantly evolving, and [[Politics|politically]] warped, making it near impossible to interpret without context from relevant experts, especially since fear was so prevalent. The goal was to try to think [[Thinking|critically]] and be understanding. - [Covid-19, your community, and you — a data science perspective](https://www.fast.ai/2020/03/09/coronavirus) - [Coronavirus Pandemic Statistics and Research](https://ourworldindata.org/coronavirus) diff --git a/Capture, Organize, Synthesize.md b/Capture, Organize, Synthesize.md index 7ffd07f..1148f0f 100644 --- a/Capture, Organize, Synthesize.md +++ b/Capture, Organize, Synthesize.md @@ -1,5 +1,5 @@ # Capture, Organize, Synthesize -- [Capture as much as possible](http://gordonbrander.com/pattern/capture-organize-synthesize/). Your thoughts are more valuable than paper. Externalize what you [[Learning |learn]]. Once [[Ideas]] are captured in a tangible form you can begin surveying and manipulating them. +- [Capture as much as possible](http://gordonbrander.com/pattern/capture-organize-synthesize/). Your thoughts are more valuable than paper. Externalize what you [[Learning|learn]]. Once [[Ideas]] are captured in a tangible form you can begin surveying and manipulating them. - Organize only after you capture. Filter, but don't delete irrelevant information. Computers are big enough to search and store everything. Make them manage it. - Synthesize into new meaning. Re-contextualize what you learn. This is the creative act. Experience becomes art, notes become a novel. diff --git a/Communication.md b/Communication.md index 7591a58..66fc02c 100644 --- a/Communication.md +++ b/Communication.md @@ -2,7 +2,7 @@ ![[Quotes#^a6f960]] -Communication is the science of transmitting knowledge to other humans. It goes by many names: debate, negotiation, [[Resolving Disagreement |discussion]], [[Talking |talking]], [[Learning |education]], [[listening]], and many more. Communication is a skill that is learnable. +Communication is the science of transmitting knowledge to other humans. It goes by many names: debate, negotiation, [[Resolving Disagreement |discussion]], [[Talking|talking]], [[Learning|education]], [[listening]], and many more. Communication is a skill that is learnable. **The person who tells the most compelling story wins**. Not the best idea. Just the story that catches people's attention and gets them to nod their heads. Tell people what they want to hear and you can be wrong indefinitely without penalty. [Crafting and telling stories is part of what makes humans humans](https://www.notboring.co/p/story-time). Stories let us coordinate across time and space. @@ -10,11 +10,11 @@ Communication is the science of transmitting knowledge to other humans. It goes - Whenever possible, communicate directly with those you're addressing rather than passing the message through intermediaries. - Communication between [a large group](https://twitter.com/RichRogers_/status/1159872097205805056) is hard. Noise in the processes might change the message and cause conflicts. Nuance is hard to convey in groups. - Some tips to simplify communications: - - Use a few bullet points to put attention on the main points you want to convey. - - Without going overboard, use a tasteful amount of graphic design (e.g: bolding one key sentence). - - Break up a giant nuanced block into sections. - - If something is critical, make it visual. -- If you want an answer, you have to [[Asking Questions |ask a question]]. People typically have a lot to say, but they'll volunteer little. + - Use a few bullet points to put attention on the main points you want to convey. + - Without going overboard, use a tasteful amount of graphic design (e.g: bolding one key sentence). + - Break up a giant nuanced block into sections. + - If something is critical, make it visual. +- If you want an answer, you have to[[Asking Questions|ask a question]]. People typically have a lot to say, but they'll volunteer little. ## Resources diff --git a/Company Knowledge Management.md b/Company Knowledge Management.md index 8ceb4e0..e667834 100644 --- a/Company Knowledge Management.md +++ b/Company Knowledge Management.md @@ -18,14 +18,14 @@ There are some basic principles and [[values]] that will make maintaining and ev ## Key Ideas - [[Documentation]] and PM can make a company 10x better. -- Have an opinionated way of doing internal documentation that works for your [[Organizations |organization]] and [[Culture]]. +- Have an opinionated way of doing internal documentation that works for your [[Organizations|organization]] and [[Culture]]. - Every employee should contribute. - Resources have owners, contributors, reviewers (similar to [[Git]] roles).One of the owner roles is to keep it up to date and consistent with the rest of the knowledge base. - Each kind of document has have an explicit place. A place for everything and everything in its place. - - Keep a source of truth and keep it up to date. When something is not relevant anymore, deprecate or delete it. All the documents should evolve. - - Avoid duplicating knowledge. For each question there is one and only one answer. + - Keep a source of truth and keep it up to date. When something is not relevant anymore, deprecate or delete it. All the documents should evolve. + - Avoid duplicating knowledge. For each question there is one and only one answer. - Link everything together. - - The documentation should have back links and block references to incentivize small chunks of atomic ideas. + - The documentation should have back links and block references to incentivize small chunks of atomic ideas. - When doing presentations, don't present slides, present the content of the [[Company Handbooks |company handbook]]. - Information should be easy to add (input) as well as easy to search and find (output) resulting in quick knowledge transfer between different employees. - [[Writing]] something in the wrong place is the same as not writing it. @@ -38,19 +38,19 @@ There are some basic principles and [[values]] that will make maintaining and ev - [[Design Docs]] should have an explicit place, also acting as an historical log. - [[Documentation]] should have a common entry point to increase discovery. Each team can have it’s own [[processes]] on top. - At a company level, each team documents differently. To make the most of that, grow the knowledge organically and locally, not top down. Each team should have its own permissionless and open way of working and should be made public to the rest of the company. That way they can evolve the system to fit their needs. Then, there is a standard protocol to share information between teams. - - The protocol serves as the team communications API. An abstraction over the inner works of the team that is common to all the other teams. - - E.g: Each team having a homepage README with links to their slack, ticket system and processes. - - Since the protocol is shared between apps, you can build different views on top of the knowledge and tasks via APIs. + - The protocol serves as the team communications API. An abstraction over the inner works of the team that is common to all the other teams. + - E.g: Each team having a homepage README with links to their slack, ticket system and processes. + - Since the protocol is shared between apps, you can build different views on top of the knowledge and tasks via APIs. - Add as much information to your tickets/issues as possible. If the tickets/issues are any good, you'll find relevant tickets with links and extra information. That makes easy to tell what is current vs. what is 3 years old. The approach is something like Kafka (a log of everything that happened) versus a database with the current state of the world. - [Every document you write can fall into one of two categories](https://clrcrl.com/2021/11/30/fighting-the-entropy-of-knowledge.html): - - Type 1: A point-in-time document, that should lose relevance at some point. e.g. meeting notes, feature specs that get completed, [[feedback]] that gets addressed - - Type 2: A source of truth document, that should be maintained over time, e.g. "How work gets done at". May also be referred to as "evergreen" content. + - Type 1: A point-in-time document, that should lose relevance at some point. e.g. meeting notes, feature specs that get completed, [[feedback]] that gets addressed + - Type 2: A source of truth document, that should be maintained over time, e.g. "How work gets done at". May also be referred to as "evergreen" content. - Keep some basic structure, but provide a good search. - You can connect everything to Slack (search engine powered by humans). - - Keeping information across N tools causes scattered information. - - E.g. Integrate Notion with Slack so search is done from there. - - [If Slack had access to your entire knowledge base, it could answer at least the most commonly asked questions automatically.](https://julian.digital/2020/11/20/chief-notion-officer/) - - Ask questions in public channels! If someone sends you a handbook link, that means you have the answer documented - they don't mean that you should have found that yourself or that this is the complete answer. If the answer to a question isn't documented, make a pull request to add it to the handbook in a place you have looked for it. + - Keeping information across N tools causes scattered information. + - E.g. Integrate Notion with Slack so search is done from there. + - [If Slack had access to your entire knowledge base, it could answer at least the most commonly asked questions automatically.](https://julian.digital/2020/11/20/chief-notion-officer/) + - Ask questions in public channels! If someone sends you a handbook link, that means you have the answer documented - they don't mean that you should have found that yourself or that this is the complete answer. If the answer to a question isn't documented, make a pull request to add it to the handbook in a place you have looked for it. ## Sharing Updates diff --git a/Cooking.md b/Cooking.md index 8431532..471f135 100644 --- a/Cooking.md +++ b/Cooking.md @@ -1,7 +1,5 @@ # Cooking -## Cooking - - When you have great ingredients, you can cook very simply and the food will be extraordinary because it tastes like what it is. Good cooking is no mystery. -- Experiment! The worst that could happen is that you don't like it. Cooking has a short [[Feedback Loops |feedback loop]]. Take risks and you'll get the payoffs. [[Learning |Learn]] from your mistakes until you succeed. +- Experiment! The worst that could happen is that you don't like it. Cooking has a short [[Feedback Loops|feedback loop]]. Take risks and you'll get the payoffs. [[Learning|Learn]] from your mistakes until you succeed. - [Learn to cook vegetables](https://www.youtube.com/watch?v=zKEwA__rOHk). diff --git a/Cryptocurrencies.md b/Cryptocurrencies.md index 5b60613..27c5ccd 100644 --- a/Cryptocurrencies.md +++ b/Cryptocurrencies.md @@ -1,12 +1,12 @@ # Cryptocurrencies -- Cryptocurrencies are a digital version of [[Finances |money]] protected by cryptography (Merkles Trees). - - Originally, currencies were actual precious metals, like gold and silver coins. For the sake of portability, these were replaced with bank notes. Pieces of paper which entitled the bearer to a certain quantity of precious metal if they presented them to the bank. That system is known as the gold standard. - - The gold standard was abandoned in the middle of the 20th century. Now we have "fiat money", which is money that has value simply because everyone agrees it has value. The biggest difference between 20 real dollars and 20 Monopoly dollars now is that you can use the real dollars to pay taxes. - - Now that we have an easy way to do consensus in the internet, cryptocurrencies are simply a digital version of money. When you buy Bitcoin you're using the Blockchain to tell it to everyone. If you're going to spend more than you have, everyone will be able to see it! +- Cryptocurrencies are a digital version of [[Finances|money]] protected by cryptography (Merkles Trees). + - Originally, currencies were actual precious metals, like gold and silver coins. For the sake of portability, these were replaced with bank notes. Pieces of paper which entitled the bearer to a certain quantity of precious metal if they presented them to the bank. That system is known as the gold standard. + - The gold standard was abandoned in the middle of the 20th century. Now we have "fiat money", which is money that has value simply because everyone agrees it has value. The biggest difference between 20 real dollars and 20 Monopoly dollars now is that you can use the real dollars to pay taxes. + - Now that we have an easy way to do consensus in the internet, cryptocurrencies are simply a digital version of money. When you buy Bitcoin you're using the Blockchain to tell it to everyone. If you're going to spend more than you have, everyone will be able to see it! - Proof of work is a mathematical problem that takes time to solve. Solving it proves that you've spent some time trying combinations until it worked. Proof of work creates scarcity. The blockchain knows that the miners are spending its time and resources on proving the mathematical puzzles. - Ethereum serves as a platform (Turing complete) to create (blockchain) apps the same way Android/iOS does on mobile. - - Its much more flexible than Bitcoin and that makes it riskier. + - Its much more flexible than Bitcoin and that makes it riskier. - Forks in blockchain act like genetic mutations. The users will apply pressure and protocols will evolve. You can fork cryptocurrencies, you can't do that with companies and that makes blockchains more resilient. - - Developers [[focus]] on designing great [[incentives]] for the system to make it through! + - Developers [[focus]] on designing great [[incentives]] for the system to make it through! - [[Blockchain]] automate/deprecates the "hubs". Instead of automating Uber drivers, they make drivers work with clients directly by removing Uber. diff --git a/Curiosity.md b/Curiosity.md index 419873e..a4bd4e9 100644 --- a/Curiosity.md +++ b/Curiosity.md @@ -2,7 +2,7 @@ ![[Quotes#^307613]] -- Never stop [[Learning |learning]], practice [[Thinking |rational]] thinking and internalize [[mental models]] and other concepts that will help you think more effectively. +- Never stop [[Learning|learning]], practice [[Thinking|rational]] thinking and internalize [[mental models]] and other concepts that will help you think more effectively. - Knowledge is a powerful tool. The more you [feel like a noob](http://paulgraham.com/noob.html), the better. Feeling stupid now is better than feeling stupid in 10 years. - [Reality has a surprising amount of detail](http://johnsalvatier.org/blog/2017/reality-has-a-surprising-amount-of-detail). Knowing more about the world makes you enjoy it more. [Understanding how music is made increases the pleasure you get from music](https://youtu.be/JbVfcZxfIZo). - Do stuff! Whatever is you work on, is worthwhile as long as you share your learnings. In the worst case, if your [[ideas]] don't work out, the community will learn why that approach doesn't make sense. diff --git a/Data/Analytics Engineering.md b/Data/Analytics Engineering.md index 8dc8826..57572d7 100644 --- a/Data/Analytics Engineering.md +++ b/Data/Analytics Engineering.md @@ -3,26 +3,26 @@ - Analytics engineering is the organization of an organization’s information. - [Real impact comes from continuous decision-making and implementing actions with feedback](https://news.ycombinator.com/item?id=22808006). - [Analytics is a mess](https://benn.substack.com/p/analytics-is-a-mess). Explicitly create separate workspaces for curated (production) and messy (experimental, not-yet-production) work. -- Reports are rarely read, and often forgotten. [[Data Culture |Decision-making involves getting data, summarizing and predicting ad then taking action]]. - - One of the best ways to communicate data is telling stories. Stories are more captative and present a coherent view around a topic. +- Reports are rarely read, and often forgotten. [[Data Culture|Decision-making involves getting data, summarizing and predicting ad then taking action]]. + - One of the best ways to communicate data is telling stories. Stories are more captative and present a coherent view around a topic. - [The analytics engineer workload is a lot like being a data librarian](https://www.youtube.com/watch?v=T0Z_ibd3Hx0). - - If you are running a library you have these books coming in and you have people who are looking for books on specific topics and you've got to figure out a way to organize all those books so that all those people can find what they need. There are many different ways to organize books, not just one perfect solution. A librarian is interested in helping people find the books that they're looking for but also discovering new books that they didn't realize that they were looking for. + - If you are running a library you have these books coming in and you have people who are looking for books on specific topics and you've got to figure out a way to organize all those books so that all those people can find what they need. There are many different ways to organize books, not just one perfect solution. A librarian is interested in helping people find the books that they're looking for but also discovering new books that they didn't realize that they were looking for. - [Analytics code should be version controlled, tested, modular and maintainable](https://www.getdbt.com/analytics-engineering/why/). - - Define all resources ([[Dashboards]] in YAML, Cohorts in SQL, ...) as code. - - Treat data the same way engineers treat code. That means CI/CD, tests, frequent PRs, ... + - Define all resources ([[Dashboards]] in YAML, Cohorts in SQL, ...) as code. + - Treat data the same way engineers treat code. That means CI/CD, tests, frequent PRs, ... - Use [[Data Request Template]] when getting questions. - Analytics work can be roughly split in two buckets: - 1. Building automated [[Systems]], from metrics to [[Dashboards]], to enable self-service use cases for business users. This is what we now typically call analytics engineering. - 2. Doing ad-hoc analyses, to answer some questions directly. + 1. Building automated [[Systems]], from metrics to [[Dashboards]], to enable self-service use cases for business users. This is what we now typically call analytics engineering. + 2. Doing ad-hoc analyses, to answer some questions directly. - Attach date to data team resources ([[Dashboards]], analysis, ...) so they exist as artifacts that were true at a certain point on time. - Make your modeling approach explicit (e.g. [Dimensional Modeling](https://youtu.be/lWPiSZf7-uQ)). - Modeling reality always get complex quickly. There are always small nuances, special conditions, things that changed, edge cases and, of course, errors. - Imagine your company today as a human society where only half the population can read (understand the data), one tenth can write (SQL queries), where half a dozen languages are spoken, and where most of the books ([[Dashboards]]/insight reports) in the library contain things that once were true but have since been outdated (but you don’t know which ones). Not a highly productive information ecosystem. -- [[Teamwork |Collaborate with your team]] and break down complex models into reusable pieces. +- [[Teamwork|Collaborate with your team]] and break down complex models into reusable pieces. - Domain knowledge is more important than your coding skills. - Working with data is like exploring the horizon. It changes as soon as you look it from a higher place (more data). - Reduce the areas where business logic can be injected, create “time to live” policies on last mile transforms, build a culture of standardizing + celebrating access to cross-functional codebases. - - People default to writing business logic in the tool they are most comfortable with. The best way for data teams to prevent sprawling business logic is not just to limit last mile transforms in other tools, but also to invite others into their tools. [This logic will be written, and if the data team gate-keeps, it will be written outside of their visibility](https://ian-macomber.medium.com/data-systems-tend-towards-production-be5a86f65561). If a data team can educate and encourage contributions to their codebase, they invite code to be written where it most belongs. + - People default to writing business logic in the tool they are most comfortable with. The best way for data teams to prevent sprawling business logic is not just to limit last mile transforms in other tools, but also to invite others into their tools. [This logic will be written, and if the data team gate-keeps, it will be written outside of their visibility](https://ian-macomber.medium.com/data-systems-tend-towards-production-be5a86f65561). If a data team can educate and encourage contributions to their codebase, they invite code to be written where it most belongs. - Modern data warehouses [might need new model design paradigms](https://github.com/ActivitySchema/ActivitySchema/blob/main/2.0.md). ## Resources diff --git a/Data/Dashboards.md b/Data/Dashboards.md index b940f2e..d0f58f5 100644 --- a/Data/Dashboards.md +++ b/Data/Dashboards.md @@ -43,7 +43,7 @@ The value is that now discussions are happening about the data. - Dashboards shouldn't be single-use - Ask this: - Can this new dashboard request be added into an existing one? - - What are you going to do differently by looking at the Dashboard? Focus on that [[Metrics |metric]] and add it to the main Dashboard + - What are you going to do differently by looking at the Dashboard? Focus on that [[Metrics|metric]] and add it to the main Dashboard - Beware of the death by 1,000 filters: After a dashboard had gone live, you'll be flooded with requests for new views, filters, fields, pages, everything - Dashboards are decision-making infrastructure, and infrastructure needs to be maintained. Be explicit about which Dashboards are disposable and add a TTL to them. - The numbers and charts on a dashboard very rarely have any direct personal meaning to the people using it. There's tons of other work to do, and unless that dashboard is directly tied to your performance or compensation, there are probably more important things to look at. People are more likely to check stock prices when they actually own (and thus benefit from) the stock. diff --git a/Data/Data Culture.md b/Data/Data Culture.md index 749ac74..4f22abf 100644 --- a/Data/Data Culture.md +++ b/Data/Data Culture.md @@ -1,98 +1,98 @@ # Data Culture - The data team needs to be focus on delivering insights and supporting decisions. The outcome of the data team are *decisions* and a *shared context across the organization* that makes coordination easier. - - Your goal as a data professional is to facilitate [[Making Decisions |decision making]]. - - Learning to drive decisions quickly, a bias to action, is a critical competency for an analyst. Every skill you learn – [[communication]], [[writing]], [[experimentation]], [[Metrics |metric design]] – supports this. - - If analysis is not actionable, it does not really matter. Analysis must drive to action. [Clear results won't spur action themselves](https://www.linkedin.com/posts/eric-weber-060397b7_data-analytics-machinelearning-activity-6675746028144205824-CQxW/). The organization needs to be ready to pivot when something isn't working. - - [Data's impact is tough to measure — it doesn't always translate to value](https://dfrieds.com/articles/data-science-reality-vs-expectations.html). - - The Data Team should be building and iterating the [Data Product](https://locallyoptimistic.com/post/run-your-data-team-like-a-product-team/). + - Your goal as a data professional is to facilitate [[Making Decisions |decision making]]. + - Learning to drive decisions quickly, a bias to action, is a critical competency for an analyst. Every skill you learn – [[communication]], [[writing]], [[experimentation]], [[Metrics|metric design]] – supports this. + - If analysis is not actionable, it does not really matter. Analysis must drive to action. [Clear results won't spur action themselves](https://www.linkedin.com/posts/eric-weber-060397b7_data-analytics-machinelearning-activity-6675746028144205824-CQxW/). The organization needs to be ready to pivot when something isn't working. + - [Data's impact is tough to measure — it doesn't always translate to value](https://dfrieds.com/articles/data-science-reality-vs-expectations.html). + - The Data Team should be building and iterating the [Data Product](https://locallyoptimistic.com/post/run-your-data-team-like-a-product-team/). - Data is fundamentally a collaborative design process rather than a tool, an analysis, or even a product. [Data works best when the entire feedback loop from ideation to production is an iterative process](https://pedram.substack.com/p/data-can-learn-from-design). - - [To get buy in, explain how the business could benefit from better data](https://youtu.be/Mlz1VwxZuDs) (e.g: more and better insights). Start small and show value. - - Run _[Purpose Meetings](https://www.avo.app/blog/tracking-the-right-product-metrics)_. These are 30 min meetings in which stakeholders, engineers and data align on the goal of a release and what is the best way to evaluate the impact and understand its success. Align on the goal, commit on metrics and design the data. - - Value of clear goals and expectations. Validate what you think your job is with your manager and stakeholders, repeatedly. + - [To get buy in, explain how the business could benefit from better data](https://youtu.be/Mlz1VwxZuDs) (e.g: more and better insights). Start small and show value. + - Run *[Purpose Meetings](https://www.avo.app/blog/tracking-the-right-product-metrics)*. These are 30 min meetings in which stakeholders, engineers and data align on the goal of a release and what is the best way to evaluate the impact and understand its success. Align on the goal, commit on metrics and design the data. + - Value of clear goals and expectations. Validate what you think your job is with your manager and stakeholders, repeatedly. - [While the output of your team is what you want to maximize, you'll need some indicators that will help guide you day-to-day](https://data-columns.hightouch.io/your-first-60-days-as-a-first-data-hire-weeks-3-4/). Decide what's important to you (test coverage, documentation missing, queries run, models created, ...), and generate some internal reports for yourself. - [Data teams should be a part of the business conversations from the beginning](https://cultivating-algos.stitchfix.com/). Get the data team involved early, have open discussions with them about the existing work, and how to prioritize new work against the existing backlog. Don’t accept new work without addressing the existing bottlenecks, and don’t accept new work without requirements. **Organizational [[politics]] matter way more than any data methods or technical knowledge**. - - Including data people in meetings causes happy accidents! - - The layout of the organization impacts time of the information to propagate and adds losses. - - The modern data team needs to have _real organizational power_—it needs to be able to say "no” and mean it. If your data team does not truly have the power to say no to stakeholders, it will get sent on all kinds of wild goose chases, be unproductive, experience employee churn, etc. - - Data should report to the CEO. Ideally at least with some weekly metrics split into (a) notable trends, (b) watching close, and (c) business as usual. - - If data is the most precious asset in a company, does it make sense to have only one team responsible for it? - - [People talk about data as the new oil but for most companies it’s a lot closer uranium](https://news.ycombinator.com/item?id=27781286). Hard to find people who can to handle or process it correctly, nontrivial security/liabilities if PII is involved, expensive to store and a generally underwhelming return on effort relative to the anticipated utility. - - [The pain in data teams come from needing to influence PMs/peers with having little control of them. Data teams need to become really great internal marketers/persuaders](https://anchor.fm/census/episodes/The-evolution-of-the-data-industry--data-jobs-w-Avo-CEO-and-Co-founder-Stefania-Olafsdottir-e16hu1l). That said, it shouldn't be the data team job to convince the organization to be data driven. That's not an effective way of spending resources. + - Including data people in meetings causes happy accidents! + - The layout of the organization impacts time of the information to propagate and adds losses. + - The modern data team needs to have *real organizational power*—it needs to be able to say "no” and mean it. If your data team does not truly have the power to say no to stakeholders, it will get sent on all kinds of wild goose chases, be unproductive, experience employee churn, etc. + - Data should report to the CEO. Ideally at least with some weekly metrics split into (a) notable trends, (b) watching close, and (c) business as usual. + - If data is the most precious asset in a company, does it make sense to have only one team responsible for it? + - [People talk about data as the new oil but for most companies it’s a lot closer uranium](https://news.ycombinator.com/item?id=27781286). Hard to find people who can to handle or process it correctly, nontrivial security/liabilities if PII is involved, expensive to store and a generally underwhelming return on effort relative to the anticipated utility. + - [The pain in data teams come from needing to influence PMs/peers with having little control of them. Data teams need to become really great internal marketers/persuaders](https://anchor.fm/census/episodes/The-evolution-of-the-data-industry--data-jobs-w-Avo-CEO-and-Co-founder-Stefania-Olafsdottir-e16hu1l). That said, it shouldn't be the data team job to convince the organization to be data driven. That's not an effective way of spending resources. - People problems are orders of magnitude more difficult to solve than data problems. - **Integrate data where the decision is made**. E.g: Google showing restaurant scores when you're looking something for dinner. - - Reduce the time to insights. If the data is already in the tool you're using, then there's zero time to insights. Provide a set of tools with the same data and let people choose depending on the goal. - - Data rarely moves fast enough across companies to enable data-informed decisions. + - Reduce the time to insights. If the data is already in the tool you're using, then there's zero time to insights. Provide a set of tools with the same data and let people choose depending on the goal. + - Data rarely moves fast enough across companies to enable data-informed decisions. - [Earning the authority to deny requests is one of the most important factors to running a world-class data team](https://twitter.com/teej_m/status/1420432376270782464) - Data professionals can build consensus as the company becomes more diverse. - Data systems can establish methods for understanding the world even as it becomes more complex. - Data literacy can create pathways for anyone to contribute equally to the organization's reality. -- Create a single space as the central place to post [[Data Request Template |data requests]]. -- Create a single space to [[Sharing Data Insights |share the results of analysis and decisions made based on them]]. - - Log changes so everyone can jump in and be aware of what’s going on. - - Log assumptions and lessons learned somewhere. This information should loop back into the data product. +- Create a single space as the central place to post [[Data Request Template|data requests]]. +- Create a single space to [[Sharing Data Insights|share the results of analysis and decisions made based on them]]. + - Log changes so everyone can jump in and be aware of what’s going on. + - Log assumptions and lessons learned somewhere. This information should loop back into the data product. - Make the warehouse the source of truth for all the teams. - - What data is Finance/HR/Marketing using to set their OKRs? Put that on the warehouse and model it. - - [[Metrics]] should be derived from the most realistic data sources. E.g: using internal databases instead of product tracking for "Users Created". + - What data is Finance/HR/Marketing using to set their OKRs? Put that on the warehouse and model it. + - [[Metrics]] should be derived from the most realistic data sources. E.g: using internal databases instead of product tracking for "Users Created". - Do you want better data? Hire people interested in data! - **When things are going well, no one cares about data**. The right time to present data is when things are starting to go bad. Use your early warning detection systems to understand when it looks like it's gonna be time for data to step in and save the day and then position data as a solution in the context of whatever meaning makes sense. The stakeholders are decision makers and they don't have a ton of time. They're looking to make decisions, they're looking to solve problems. - [So much of data work is about accumulating little bits of knowledge and building a shared context in your org so that it's possible to have the big, earth shattering revelations we all wish we could drive on a predictable schedule](https://twitter.com/imightbemary/status/1536368160961572864). - You won't have the best allocation of resources in a reactive team. Data teams need extra [[slack]]. [Balance user requests with actual needs](https://scientistemily.substack.com/p/product-management-skills-for-data). - How can we measure the data team impact? - - Making a [[Writing a Roadmap |roadmap]] can help you telling if you are hitting milestone deadlines or letting them slip. - - Embedded data team members need to help other teams build their roadmap too. - - Also, having a changelog ([do releases!](https://betterprogramming.pub/great-data-platforms-use-conventional-commits-51fc22a7417c)) will help show the team impact on the data product across time. -- [Push for a _centralization of the reporting structure_, but keeping the _work management decentralized_](https://erikbern.com/2021/07/07/the-data-team-a-short-story.html). + - Making a [[Writing a Roadmap|roadmap]] can help you telling if you are hitting milestone deadlines or letting them slip. + - Embedded data team members need to help other teams build their roadmap too. + - Also, having a changelog ([do releases!](https://betterprogramming.pub/great-data-platforms-use-conventional-commits-51fc22a7417c)) will help show the team impact on the data product across time. +- [Push for a *centralization of the reporting structure*, but keeping the *work management decentralized*](https://erikbern.com/2021/07/07/the-data-team-a-short-story.html). - Unify resources (datasets, entities, definitions, metrics). Have one source of truth for each one and make that clear to everyone. That source of truth needs heavy curation. Poor curation leads to confusion, distrust and…. lots of wasted effort. - - Aim to share the source of truth with the production code. Usually database information is better than tracking information. - - Data should be defined unambiguously in a single place. Anyone can look up definitions without confusion. - - If definition or business logic is changed, backfills should occur automatically and data remains up-to-date. -- [Organizations have _too much_ data. Without better ways of organizing it, large volumes of data are more overwhelming than useful.](https://towardsdatascience.com/good-data-citizenship-doesnt-work-265f13a37fa5) - - Use the questions people are asking to find data _hotspots_ and focus our energy on those. That means some corners of your data will be messy, and some concepts will go undocumented. Data is perennially broken and messy. **Embrace the mess**. - - Get excited when people ask questions. Embrace confusion and curiosity. Offer help. Be friendly. - - [Reality is complex and multidimensional and often difficult to comprehend](https://mobile.twitter.com/rahulj51/status/1485429967131639808). - - [Document data when it’s generated](https://davidsj.substack.com/p/the-data-chasm). Make it part of the process of adding a new event, table, or a replication job, when the change is already top of mind. If possible, embed it in the development process, and pester people when they don’t include the necessary updates. This shifts the burden of documentation upstream, making it part of the development cycle. -- To align stakeholders incentives with the data team, stakeholders should show their impact through data. This forces stakeholders to [[Product Analytics |plan tracking]] and think about metrics. + - Aim to share the source of truth with the production code. Usually database information is better than tracking information. + - Data should be defined unambiguously in a single place. Anyone can look up definitions without confusion. + - If definition or business logic is changed, backfills should occur automatically and data remains up-to-date. +- [Organizations have *too much* data. Without better ways of organizing it, large volumes of data are more overwhelming than useful.](https://towardsdatascience.com/good-data-citizenship-doesnt-work-265f13a37fa5) + - Use the questions people are asking to find data *hotspots* and focus our energy on those. That means some corners of your data will be messy, and some concepts will go undocumented. Data is perennially broken and messy. **Embrace the mess**. + - Get excited when people ask questions. Embrace confusion and curiosity. Offer help. Be friendly. + - [Reality is complex and multidimensional and often difficult to comprehend](https://mobile.twitter.com/rahulj51/status/1485429967131639808). + - [Document data when it’s generated](https://davidsj.substack.com/p/the-data-chasm). Make it part of the process of adding a new event, table, or a replication job, when the change is already top of mind. If possible, embed it in the development process, and pester people when they don’t include the necessary updates. This shifts the burden of documentation upstream, making it part of the development cycle. +- To align stakeholders incentives with the data team, stakeholders should show their impact through data. This forces stakeholders to [[Product Analytics|plan tracking]] and think about metrics. - [To achieve distribution, build for who your stakeholder truly is, not for the stakeholder you want them to be](https://ian-macomber.medium.com/launching-and-scaling-data-science-teams-three-years-later-f1fa6f25b4ae). - You should have something that answers the following questions: - - Is [[Data Quality |Data Correct]]? - - Is Data up to date? - - Is Data Accessible and Discoverable? - - Is Data Secure? + - Is [[Data Quality|Data Correct]]? + - Is Data up to date? + - Is Data Accessible and Discoverable? + - Is Data Secure? - [Good things come from a knowledge of what a system is doing and when it is doing it](https://buz.dev/blog/the-contract-powered-data-platform). - - Measure [[Data Quality]] to help set high standards for your data team. - - Only after measurement can you optimize cost. - - Only after timing can you make things faster. + - Measure [[Data Quality]] to help set high standards for your data team. + - Only after measurement can you optimize cost. + - Only after timing can you make things faster. - [Aim for a culture of celebrating measurable progress and learnings, versus celebrating shipping](https://erikbern.com/2021/07/07/the-data-team-a-short-story.html). - Align company on key actions. Every stakeholder should know how to explore that data. - Do pre-mortems. Where would we see the impact of *X* going wrong? Model that and plot it on a dashboard. - [Send surveys](https://docs.google.com/forms/d/e/1FAIpQLSfufs_0zOGlFiE6oqrdZU7xCi399CBYbIlZkAMe15GTRRcPZA/viewform) from time to time trying to get pain points and know where issues are. - - E.g: Do you have access to the data I need to make decisions in your role? + - E.g: Do you have access to the data I need to make decisions in your role? - [Bring the collaboration process inline with the assets to allow for better handoffs and feedback](https://pedram.substack.com/p/data-can-learn-from-design). - [Culture eats strategy (and tools) for breakfast](https://news.ycombinator.com/item?id=29062266). Until there’s a cultural mindset shift towards how companies value data and metadata, nothing will change. - - [Tools eat process for breakfast](https://benn.substack.com/p/the-product-is-the-process). No matter how much you blog about best practices, or how many talks you give about better ways to work, people will eventually find their way back into the behavioral grooves cut by the products they use (e.g: dbt, GitHub, ...). + - [Tools eat process for breakfast](https://benn.substack.com/p/the-product-is-the-process). No matter how much you blog about best practices, or how many talks you give about better ways to work, people will eventually find their way back into the behavioral grooves cut by the products they use (e.g: dbt, GitHub, ...). - Most of the work done in data is in an effort to **reduce entropy** — Model data to remove inaccuracies, turn commonly asked questions into self-serve reports, and funnel ad-hoc questions into a formalized request process. This kind of attitude the nature of data practitioners. In the case of driving decisions with data, **embrace the chaos**. - - [Navigating the chaos to arrive at a trustworthy recommendation is one of the most important jobs to be done.](https://roundup.getdbt.com/p/iterating-on-your-data-team). Decisions usually need to be taken faster and data analyst are [not invited to the table early enough](https://petrjanda.substack.com/p/bring-data-analyst-to-the-table). Again, be lean and iterate. - - Data is _not_ a “set it and forget it” kind of activity. Your dashboard _will_ get stale in less than six months. Your key metrics _will_ eventually have bad data in them. That machine learning model you spent all of last quarter developing _will_ **[drift](https://towardsdatascience.com/model-drift-in-machine-learning-models-8f7e7413b563)** from its original fit. The environment in which your business operates is constantly changing, and so will the product or service that your business delivers. As a result, what is knowable about your business, about your product or service, is constantly changing too. And fast. + - [Navigating the chaos to arrive at a trustworthy recommendation is one of the most important jobs to be done.](https://roundup.getdbt.com/p/iterating-on-your-data-team). Decisions usually need to be taken faster and data analyst are [not invited to the table early enough](https://petrjanda.substack.com/p/bring-data-analyst-to-the-table). Again, be lean and iterate. + - Data is *not* a “set it and forget it” kind of activity. Your dashboard *will* get stale in less than six months. Your key metrics *will* eventually have bad data in them. That machine learning model you spent all of last quarter developing *will* **[drift](https://towardsdatascience.com/model-drift-in-machine-learning-models-8f7e7413b563)** from its original fit. The environment in which your business operates is constantly changing, and so will the product or service that your business delivers. As a result, what is knowable about your business, about your product or service, is constantly changing too. And fast. - [Have regular cleanups and audits to keep data in check](https://www.avo.app/blog/data-literacy-why-people-dont-trust-data-tips-from-patreons-dir-of-data-science). They are crucial to keeping your data trust up to par. [Schedule time to delete stuff](https://twitter.com/EdDaWord/status/1532148425487097857). - We're moving from software consumers to data consumers. Data and BI will become more and more federated (you get data insights on your JIRA card without having to leave JIRA) - Over time, data literacy across organizations will become commonplace the same way typewriting has. [Most professionals, at all levels of the business, will be capable of generating their own insights without requiring a data team](https://roundup.getdbt.com/p/data-expertise-everywhere). - Data practitioners acknowledge that solid reporting is at the bottom of the data hierarchy of needs but few companies do even basic KPI reporting well. - - [Doing the fundamentals really well almost always exposes how little is actually understood about why things are happening. It’s uncomfortable for high performing people to acknowledge that your grip on the levers is slippery](https://twitter.com/gwenwindflower/status/1498822586255519744). + - [Doing the fundamentals really well almost always exposes how little is actually understood about why things are happening. It’s uncomfortable for high performing people to acknowledge that your grip on the levers is slippery](https://twitter.com/gwenwindflower/status/1498822586255519744). - [Data ownership is a hard problem](https://www.linkedin.com/posts/chad-sanderson_heres-why-data-ownership-is-an-incredibly-activity-6904107936533114880-gw8n/). Data is fundamentally generated by services (or front-end instrumentation) which is managed by engineers. CDC and other pipelines are built by data engineers. The delineation of ownership responsibilities is very rarely established, with each group wanting to push 'ownership' onto someone else so they can do the jobs they were hired for. - [Becoming a data-driven organization is a journey, which unfolds over time and requires critical thinking, human judgement, and experimentation](https://hbr.org/2022/02/why-becoming-a-data-driven-organization-is-so-hard). Fail fast, learn faster. - - [Path to create a data-driven organization](https://twitter.com/_abhisivasailam/status/1520274838450888704): - - 1. Get a well-placed leader with influence to message, model, and demand data-driven execution . - - 2. Hire/fire based on data aptitude and usage. - - 3. Create mechanisms that force analytical conversations. Sometimes there is no way around spending an afternoon breaking down metrics by different segments until you find The Thing. + - [Path to create a data-driven organization](https://twitter.com/_abhisivasailam/status/1520274838450888704): + - 1. Get a well-placed leader with influence to message, model, and demand data-driven execution . + - 2. Hire/fire based on data aptitude and usage. + - 3. Create mechanisms that force analytical conversations. Sometimes there is no way around spending an afternoon breaking down metrics by different segments until you find The Thing. - [Start small. Don't try to wrangle data for the entire company until you have the tools and process down for one team](https://data-columns.hightouch.io/your-first-60-days-as-a-first-data-hire-weeks-3-4/). - - Difficulty to work with data scales exponentially with size. + - Difficulty to work with data scales exponentially with size. - [Data is used largely to answer these questions](https://roundup.getdbt.com/p/bring-back-scenario-analysis): - - What already happened? Descriptive statistics. - - What will happen? Predictive statistics. - - What would happen if…? Scenario analysis. + - What already happened? Descriptive statistics. + - What will happen? Predictive statistics. + - What would happen if…? Scenario analysis. - [Differentiate analytics from data platform work. They are two different jobs, and expecting one to do the work of the other is a trap](https://twitter.com/jamesdensmore/status/1518998298111225857). - - Data Platform: data infra, pipelines, and a bit of data warehouse modeling - - Analytics: Making sense of data to guide decisions + - Data Platform: data infra, pipelines, and a bit of data warehouse modeling + - Analytics: Making sense of data to guide decisions - Make your [modeling technique](https://data-columns.hightouch.io/untitled-2/) explicit. - Have a documentation [entry-point for Data](https://github.com/mozilla/data-docs). diff --git a/Data/Data Engineering.md b/Data/Data Engineering.md index dda0701..575d6f5 100644 --- a/Data/Data Engineering.md +++ b/Data/Data Engineering.md @@ -1,10 +1,10 @@ # Data Engineering - Gather as much domain knowledge as possible. Technical knowledge is not enough. Then prioritize: - - **Fidelity:** how reliably can data be transferred and stored without corruption or loss? - - **Capacity:** how much data can be moved and how quickly? - - **Reliability:** how well can systems recover from outages and incidents? - - **Speed of execution:** how quickly can you get a new data source up and running? + - **Fidelity:** how reliably can data be transferred and stored without corruption or loss? + - **Capacity:** how much data can be moved and how quickly? + - **Reliability:** how well can systems recover from outages and incidents? + - **Speed of execution:** how quickly can you get a new data source up and running? - If it can be solved with SQL, stick to SQL. - A [consistent pattern](https://www.startdataengineering.com/post/design-patterns/) across your data pipelines helps devs communicate easily and understand code better. @@ -18,7 +18,7 @@ Systems tend towards production and data pipelines aren't an exception. Valuable - **Simplicity**: Each steps is easy to understand and modify. Rely on immutable data. Write only. No deletes. No updates. - **Reliability**: Errors in the pipelines can be recovered. Pipelines are monitored and tested. Data is saved in each step (storage is cheap) so it can be used later if needed. For example, adding a new column to a table can be done extracting the column from the intermediary data without having to query the data source. It is better to support 1 feature that works reliably and has a great UX than 2 that are unreliable or hard to use. One solid step is better than 2 finicky ones. -- **[[Modularity]]**: Steps are independent, declarative, and [[Idempotence |itempotent]]. This makes pipelines composable. +- **[[Modularity]]**: Steps are independent, declarative, and [[Idempotence|itempotent]]. This makes pipelines composable. - **Consistency**: Same conventions and design patterns across pipelines. If a failure is actionable by the user, clearly let them know what they can do. Schema on write. - **Efficiency**: Low event latency when needed. Easy to scale up and down. A user should not be able to configure something that will not work. - **Flexibility**: Steps change to conform data points. Changes don't stop the pipeline or losses data. Fail fast and upstream. @@ -27,27 +27,27 @@ Systems tend towards production and data pipelines aren't an exception. Valuable ```mermaid graph LR; - A-->B; - B-->D; - C-->D; + A-->B; + B-->D; + C-->D; ``` - In each step of the pipeline there are producers of data and consumers. Consumers can be also producers, e.g `B` is both consumer of `A`'s data and producer of `C`s data. - - Decouple producers and consumers adding a layer in between. That can be something as simple as a text file or complex as a [[Databases |database]]. + - Decouple producers and consumers adding a layer in between. That can be something as simple as a text file or complex as a [[Databases|database]]. - **Schemas changes**. Most of the time you won't be there at the exact time of the change so aim to save everything. - Ideally, the schema will evolve in a backward compatible way: - - Data types don't change in the same column. - - Columns are either deleted or added but never renamed. + - Data types don't change in the same column. + - Columns are either deleted or added but never renamed. - Create a few extra columns like `processed_at` or `schema_version`. - Generate stats to provide the operator with feedback. - Data coming from pipelines should be easily reproducible. If you want to re-run a process, you should ensure that it will produce always the same result. This can be achieved by enforcing the [Functional Data Engineering Paradigm](https://medium.com/@maximebeauchemin/functional-data-engineering-a-modern-paradigm-for-batch-data-processing-2327ec32c42a). - [Event Sourcing is a great pattern when implementing a new system since it couples state with business logic](https://youtu.be/XxKnTusccUM). - - State is a projection of history. Keep the history and reconstruct the state! + - State is a projection of history. Keep the history and reconstruct the state! - Embrace immutability: - - [Avoid states and mutable data. Functions should always yield the same result!](https://twitter.com/sbalnojan/status/1521477031405531136) - - Objects will be more thread safe inside a program. - - Easier to reason about the flow of a program. - - Easier to debug and troubleshoot problems. + - [Avoid states and mutable data. Functions should always yield the same result!](https://twitter.com/sbalnojan/status/1521477031405531136) + - Objects will be more thread safe inside a program. + - Easier to reason about the flow of a program. + - Easier to debug and troubleshoot problems. ## Great Blog Posts diff --git a/Data/Data Quality.md b/Data/Data Quality.md index 56ad635..e0bc7dc 100644 --- a/Data/Data Quality.md +++ b/Data/Data Quality.md @@ -1,32 +1,32 @@ # Data Quality - One of the biggest misconceptions about data is that **is correct** or it will be at some point. Data quality will always be an issue, defining metrics for data quality helps you know where you stand, improve over time, and align with your team. - - Log data quality issues so you can act on them. - - [We live in a messy world and as a result the data we collect and represent it are always going to be messy](https://twitter.com/KostasPardalis/status/1641122521775849497). + - Log data quality issues so you can act on them. + - [We live in a messy world and as a result the data we collect and represent it are always going to be messy](https://twitter.com/KostasPardalis/status/1641122521775849497). - Data quality [is a measurement of the value of data to the business, meaning it is dependent on the task trying to be accomplished](https://tayloramurphy.substack.com/p/data-quality). High quality data in one context can be low in another. - [Data issues are fractal](https://www.speedwins.tech/posts/some-words-with-nuria-ruiz#question-7). - [There are many common data quality problems already figured out](https://b-greve.gitbook.io/beginners-guide-to-clean-data/). - Incremental data quality improvements can lead to measurable value back to the business. That's what you should focus on and this is what's going to help you with convincing people to care about data quality. - Data quality is a team sport. Data is not the concern of just the DEs, ML Engs, Analysts etc. Data quality starts from the front-end. Did you check the JSON you sent on Rudderstack before merging that instrumentation PR? - A table might be quality enough for one consumer but not for the other consumer. -- [[Data Culture |Data is a product]] and that means that you can do postmortems (5 whys) and incident reports on data quality issues. +- [[Data Culture|Data is a product]] and that means that you can do postmortems (5 whys) and incident reports on data quality issues. - [There are two strategies to detect quality issues](https://towardsdatascience.com/data-observability-vs-data-testing-everything-you-need-to-know-6f3d7193b388): - - Data Testing. Involves checking `null` values, distributions, uniqueness, known invariants, etc. - - Data Observability. Since you can’t predict all the failure modes, you can use automated monitoring, alerting, and triaging to identify and evaluate data quality issues. + - Data Testing. Involves checking `null` values, distributions, uniqueness, known invariants, etc. + - Data Observability. Since you can’t predict all the failure modes, you can use automated monitoring, alerting, and triaging to identify and evaluate data quality issues. - Four categories of characteristics about your data form [the four pillars of Data Observability](https://www.metaplane.dev/blog/the-four-pillars-of-data-observability): - 1. The *Metrics* and *Metadata* pillars describe the internal characteristics of our data itself and its external characteristics - 2. The *Lineage* and *Logs* pillars describe internal dependencies within our data and its interactions with the external world data at any point in time. + 1. The *Metrics* and *Metadata* pillars describe the internal characteristics of our data itself and its external characteristics + 2. The *Lineage* and *Logs* pillars describe internal dependencies within our data and its interactions with the external world data at any point in time. - Data Quality has many dimensions: - - **Accuracy**: Does the data accurately describe the real world? - - **Completeness**: How completely does the data describe the real world? - - **Consistency**: Is the data internally consistent? - - **Privacy and security**: Is data being used in accordance with the intended level of privacy and secured against undesired access? - - **Freshness**: Does the data describe the real world right now? - - **Reliability**: Is the data regarded as true and credible by the stakeholders? Does it contain duplicates? - - **Usability**: Can be data be accessed and understood in a low-friction manner? - - **Validity**: Does the data conform to business rules or definitions? + - **Accuracy**: Does the data accurately describe the real world? + - **Completeness**: How completely does the data describe the real world? + - **Consistency**: Is the data internally consistent? + - **Privacy and security**: Is data being used in accordance with the intended level of privacy and secured against undesired access? + - **Freshness**: Does the data describe the real world right now? + - **Reliability**: Is the data regarded as true and credible by the stakeholders? Does it contain duplicates? + - **Usability**: Can be data be accessed and understood in a low-friction manner? + - **Validity**: Does the data conform to business rules or definitions? - You can use these [guiding principles to think about data quality](https://www.metaplane.dev/blog/data-quality-metrics-for-data-warehouses): - - **Start from the use-cases**: What are the most important use cases of data within your organization? - - **Identify the pain points**: Within those use cases, what data quality issues have caused the most trouble recently? - - **Connect to data quality dimensions** and **describe how to measure as metrics**: Of the causes of recent trouble, how do they relate to the previous data quality dimensions? - - **Make metrics digestible and actionable**: Lastly, how can we make those metrics useful? + - **Start from the use-cases**: What are the most important use cases of data within your organization? + - **Identify the pain points**: Within those use cases, what data quality issues have caused the most trouble recently? + - **Connect to data quality dimensions** and **describe how to measure as metrics**: Of the causes of recent trouble, how do they relate to the previous data quality dimensions? + - **Make metrics digestible and actionable**: Lastly, how can we make those metrics useful? diff --git a/Data/Machine Learning.md b/Data/Machine Learning.md index 4b033ca..ea0e6e0 100644 --- a/Data/Machine Learning.md +++ b/Data/Machine Learning.md @@ -10,7 +10,7 @@ 1. Make results (models, analysis, graphs, ...) reproducible (code, environment and data). Version your code, data and configuration. Make feature dependencies explicit in the code. Separate code from configuration. 1. Test every part of the system ([ML Test Score](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/aad9f93b86b7addfea4c419b9100c6cdd26cacea.pdf)): data (distributions, unexpected values, biases, ...). 1. Iterate. Deliver value first, then iterate. Go back to the first point and change one thing at a time. Machine Learning progress is nonlinear. It's really hard to tell in advance what's hard and what's easy. [Engineering projects generally move forward, but machine learning projects can completely stall. It's possible, even common, for a week spent on modeling data to result in no improvement whatsoever](https://medium.com/@l2k/why-are-machine-learning-projects-so-hard-to-manage-8e9b9cf49641). Track every experiment you do. [Keep a reverse-time sorted doc where we you bullet points of what ideas you've tried and how they've gone](https://operatorai.substack.com/p/why-do-we-write-machine-learning). Look for data flywheel, harnessing the power of user's generated data to rapidly improve the whole system. These are powerful [[Feedback Loops]]. Attempt a portfolio of approaches. -1. Explain your results in terms your audience cares about. [[Data Culture |Data is only useful as long as it's being used]]. +1. Explain your results in terms your audience cares about. [[Data Culture|Data is only useful as long as it's being used]]. These points are expanded with more details in courses like [Made With ML](https://madewithml.com/). diff --git a/Data/Metrics.md b/Data/Metrics.md index 1457665..206fdeb 100644 --- a/Data/Metrics.md +++ b/Data/Metrics.md @@ -10,11 +10,9 @@ - Common understanding of a metric matters more than the metric precision. That understanding requires some standardization (names, time spans, ...) and that needs [[Coordination]]. - Teams need to cooperate when defining metrics. - Organizations need three things related to metrics: - - 1. A [[Metrics |process for defining metrics]]. - 2. A single source of truth for the metrics. - 3. A way to get metrics to all systems. - + 1. A [[Metrics|process for defining metrics]]. + 2. A single source of truth for the metrics. + 3. A way to get metrics to all systems. - Product metrics allow measuring product progress and creating alignment in an outcome-oriented way. There are many product frameworks available to help us think about the right key things to track. Think about **[product metrics that matter](https://uxdesign.cc/product-metrics-that-matter-951b9e4d4eca)** for you. - Push a culture of metrics and goals as a source of learning, not promotions or success delegation. - Your job isn't to measure things. Your job is to change the product for the better — to create value for the customers in a viable way for the business. @@ -37,19 +35,13 @@ Remember that there are no objectively right answers. [There is no correct win r ## [Mistakes in Defining Metrics](https://brianbalfour.com/quick-takes/common-mistakes-defining-metrics) -1. Metrics before Strategy. Your metrics are a reflection of your strategy. They help answer, is the strategy working? Metrics without strategy is looking at a bunch of random numbers. Define the strategy before you define your metrics. -2. Definition Is More Important Than A Dashboard. People focus on "building a dashboard." Much more important is choosing which metrics are important and defining those metrics well. Defining is more complicated than people think... - -- There are many ways to define a retention metric depending on your product. Your dashboard is a method to communicate your metrics, which is important, but useless if you choose and define them poorly. - -3. Outputs vs Inputs. Most metrics like a retention metric or revenue metric are output metrics. These are metrics you should monitor. Giving output metrics to teams as [[Goals]] can be dangerous. They need to break them down into input metrics to make them actionable. - -- When output metrics are given as goals, teams can often focus on the wrong inputs or thrash between inputs. -- Focus on usage first (not revenue first). This is the most common version of outputs vs inputs. Usage creates revenue, revenue does not create usage. As a result, the most important metrics in terms of creating growth are not your revenue metrics, they are your usage metrics. - -4. Mixing Up Retention and Engagement. Retention and engagement are not the same things. Retention is binary. It answers the question, was this person active within my defined time period? Yes or no. Engagement is is depth. It answers the question, how active were they within the defined timed period? 0→N. Engagement is one of three major inputs into driving retention. -5. Customers vs Users. A customer and a user is not the same thing in most business models. A customer is defined as the person/group that is paying you. A user is a person using the product. - +- Metrics before Strategy. Your metrics are a reflection of your strategy. They help answer, is the strategy working? Metrics without strategy is looking at a bunch of random numbers. Define the strategy before you define your metrics. +- Definition Is More Important Than A Dashboard. People focus on "building a dashboard." Much more important is choosing which metrics are important and defining those metrics well. Defining is more complicated than people think... There are many ways to define a retention metric depending on your product. Your dashboard is a method to communicate your metrics, which is important, but useless if you choose and define them poorly. +- Outputs vs Inputs. Most metrics like a retention metric or revenue metric are output metrics. These are metrics you should monitor. Giving output metrics to teams as [[Goals]] can be dangerous. They need to break them down into input metrics to make them actionable. + - When output metrics are given as goals, teams can often focus on the wrong inputs or thrash between inputs. + - Focus on usage first (not revenue first). This is the most common version of outputs vs inputs. Usage creates revenue, revenue does not create usage. As a result, the most important metrics in terms of creating growth are not your revenue metrics, they are your usage metrics. +- Mixing Up Retention and Engagement. Retention and engagement are not the same things. Retention is binary. It answers the question, was this person active within my defined time period? Yes or no. Engagement is is depth. It answers the question, how active were they within the defined timed period? 0→N. Engagement is one of three major inputs into driving retention. +- Customers vs Users. A customer and a user is not the same thing in most business models. A customer is defined as the person/group that is paying you. A user is a person using the product. - In subscription products, oftentimes there are multiple users associated with a single customer. Or people are users before they are a customer. You need to separate the definition and language between these two things for teams to clearly act on them. ## Principles for a [Metrics Platform](https://medium.com/airbnb-engineering/airbnb-metric-computation-with-minerva-part-2-9afe6695b486) diff --git a/Data/Product Analytics.md b/Data/Product Analytics.md index f7c58fa..7d73e37 100644 --- a/Data/Product Analytics.md +++ b/Data/Product Analytics.md @@ -11,9 +11,9 @@ Product analytics can be defined as the way companies analyze what their users a - Data trust issues come when data producers and data consumers doesn't work together. Aim to shorten the data loop. E.g: [The feedback loop for the performance engineer is much faster and reliable (same person tracks and analyzes) than for the standard engineer that doesn't look at the data to see the impact they made with their changes](https://www.heavybit.com/library/podcasts/the-right-track/ep-8-defining-the-data-scientist-with-josh-wills-of-weavegrid/). - [Product Analytics is hard because when you instrument the events you don’t know what you want to analyze. When you analyze them you often didn’t capture what you want to measure](https://twitter.com/pedram_navid/status/1511362347490631782). Also, Ad-Blockers. - Even tracking is seen as an after-the-fact activity instead of something integrated into day-to-day design and development. - - No one gets promoted for doing a good tracking work. People get promoted for delivering features. + - No one gets promoted for doing a good tracking work. People get promoted for delivering features. - [Some of hard things](https://twitter.com/_MRogers/status/1511426752735760392): building a common nomenclature, knowing what exists, what's reusable/equivalent in new features, testing, aligning across different platforms... - Don't treat all events the same. Missing some data in key events is not great. [Keep in mind that many events are ephemeral](https://twitter.com/johncutlefish/status/1511596224964534278). -- [If a stakeholder wants to know if users behave a certain way you can apply this heuristic](https://twitter.com/teej_m/status/1456719714420289536): assume they do - what decision would we make? What's the risk of just making that decision now? Risk is low? Just make it. Risk is uncertain? Let's [[Experimentation |run an experiment]]. +- [If a stakeholder wants to know if users behave a certain way you can apply this heuristic](https://twitter.com/teej_m/status/1456719714420289536): assume they do - what decision would we make? What's the risk of just making that decision now? Risk is low? Just make it. Risk is uncertain? Let's [[Experimentation|run an experiment]]. - It doesn't make sense to release something if you can't tell how is performing! - Developers should be involved in analytics. They work on building things, they will want to know the impact. diff --git a/Datathons.md b/Datathons.md index d443648..e4f8f53 100644 --- a/Datathons.md +++ b/Datathons.md @@ -6,17 +6,13 @@ 2. Do a basic data exploration. Try to understand the problem and gather a sense of what can be important. 3. Get baseline model working. 4. Create `scikit-learn` compatible metric if needed. -5. Try different approaches for preprocessing (encodings, Deep Feature Synthesis, lags, aggregations, imputers, ...) - - If yopu're working as a group, split preprocessing feature generation between files. +5. Try different approaches for preprocessing (encodings, Deep Feature Synthesis, lags, aggregations, imputers, ...). If yopu're working as a group, split preprocessing feature generation between files. 6. Plot learning curves ([sklearn](https://scikit-learn.org/stable/modules/learning_curve.html) or [external tools](https://github.com/reiinakano/scikit-plot)) to avoid overfitting. 7. Tune hyper-parameters once you've settled on an specific approach. ([optuna](https://optuna.readthedocs.io/)). -8. Plot and visualize the predictions (histograms, random prediction, ...) to make sure they're doing as expected. - - Explain the predictions with [SHAP](https://github.com/slundberg/shap) -9. Think about what postprocessing heuristics can be done to improve or correct predictions. +8. Plot and visualize the predictions (histograms, random prediction, ...) to make sure they're doing as expected. Explain the predictions with [SHAP](https://github.com/slundberg/shap). +9. Think about what postprocessing heuristics can be done to improve or correct predictions. 10. [Stack](https://scikit-learn.org/stable/auto_examples/ensemble/plot_stack_predictors.html) classifiers ([example](https://www.kaggle.com/couyang/featuretools-sklearn-pipeline#ML-Pipeline)). -11. Try AutoML models: - - For tabular data: [TPOT](https://github.com/EpistasisLab/tpot), [AutoSklearn](https://github.com/automl/auto-sklearn), [AutoGluon](https://auto.gluon.ai/stable/index.html), Google AI Platform, [PyCaret](https://github.com/pycaret/pycaret), [Fast.ai](https://docs.fast.ai/), [Alex](https://github.com/Alex-Lekov/AutoML_Alex). - - For time series: [AtsPy](https://github.com/firmai/atspy), [DeepAR](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-recipe-deeparplus.html). +11. Try AutoML models. For tabular data: [TPOT](https://github.com/EpistasisLab/tpot), [AutoSklearn](https://github.com/automl/auto-sklearn), [AutoGluon](https://auto.gluon.ai/stable/index.html), Google AI Platform, [PyCaret](https://github.com/pycaret/pycaret), [Fast.ai](https://docs.fast.ai/), [Alex](https://github.com/Alex-Lekov/AutoML_Alex).For time series: [AtsPy](https://github.com/firmai/atspy), [DeepAR](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-recipe-deeparplus.html). ## Preprocessing Resources @@ -25,15 +21,15 @@ ### Scikit Learn Compatible Transformers - - [LEGO](https://github.com/koaning/scikit-lego) - - [Skoot](https://github.com/tgsmith61591/skoot) - - [Sktools](https://github.com/david26694/sktools) - - [Scikit-Learn Related Projects](https://scikit-learn.org/stable/related_projects.html). +- [LEGO](https://github.com/koaning/scikit-lego) +- [Skoot](https://github.com/tgsmith61591/skoot) +- [Sktools](https://github.com/david26694/sktools) +- [Scikit-Learn Related Projects](https://scikit-learn.org/stable/related_projects.html). -#### Other Compatible Tools +### Other Compatible Tools - - [Contributions repository](https://github.com/scikit-learn-contrib) - - [Awesome Scikit-Learn](https://github.com/fkromer/awesome-scikit-learn) +- [Contributions repository](https://github.com/scikit-learn-contrib) +- [Awesome Scikit-Learn](https://github.com/fkromer/awesome-scikit-learn) ## Time Series Resources diff --git a/Dogs.md b/Dogs.md index df7b80f..3c474b9 100644 --- a/Dogs.md +++ b/Dogs.md @@ -16,26 +16,28 @@ - [Reinforce being calm on different context](https://youtu.be/lLyiQODnR1s). This will make them listen to you in new places. - Understand [what can your dog eat](https://www.naturzoo.com/carteles-informativos-alimentos-adecuados-una-dieta-natural-perros/) and what they can't. -### Building Confidence +## Building Confidence - Don't force the dog to do what they don't want to do/aren't comfortable doing yet. Make every experience a positive one. - Put them in situations he can be successful in. Maybe it's finding a treat in plain sight at first and then slowly making it more difficult that they have to figure it out but not so hard that they gets frustrated and give up. - Let the dog make their decision and praise if its a good one. - Touch is a great trick to help them build confidence. -### Separation Anxiety: +## Separation Anxiety - Dogs have evolved to be with us all the time. - Change your [[Routine]] when leaving the house. - Don't make a big thing about you leaving. Do it in a calm way. - Create a leaving ritual: - 1. Make them relax in their crate. - 2. Give a treat and say bye. - 3. Leave the room. + + 1. Make them relax in their crate. + 2. Give a treat and say bye. + 3. Leave the room. + - Do small aproximations. Leave the room, then the house for a few moments, ... Go gradually. First minutes, then hours! - Try hard to create a positive association and be confident with being alone. -### Training Tips: +## Training Tips - Train in any situation possible (and is safe to do it). For the first 6-12 months, spend at least 20 minutes of formal training a day in short training sessions (1-3 min). - Work on focus with distractions and you'll have an excellent groundwork. @@ -54,14 +56,14 @@ - Add music to your training sessions to get it associated with positive rewards. - Train before eating so the rewards have more value and they are [more interested in the tricks](https://youtu.be/knYNa0U5QZU). - Movement builds drive. Be energetic in the training session. - - Use a soft voice to stabilize a behavior instead of repeating the command or using stay. Break orders with a release cue like OK. - - To increase dog interest in training, throw treats to get them more energized! + - Use a soft voice to stabilize a behavior instead of repeating the command or using stay. Break orders with a release cue like OK. + - To increase dog interest in training, throw treats to get them more energized! - If you find your dog isn't listening perfectly to an old cue, one strategy for dealing with that is to change the cue and work on reinforcing the new cue more carefully. To transfer a cue, give your _new_ cue then immediately follow it with the old cue and reward when the dog performs the behavior. - You can speed up a trick training it with toys. Also, you can add tricks in between "drop it" and "get it" to reinforce them. - Once the behavior is established, start to reinforce intermittently. - For clicker training the main loop is: click, pause, feed. Always feed after clicking! You can charge the clicker while playing [[Dogs#Training Games |training games]]. -#### Training Games +### Training Games - Stay with distractions. While your dog is still, move and run. Reward calmness. - Fetch with stay. Throw a toy and make your dog wait the signal to chase it. @@ -92,7 +94,7 @@ - Work on basic exercises (e.g: [calling your dog when you know its going to come](https://www.youtube.com/watch?v=SVJe2VgoYV4), [making them go through your legs](https://youtu.be/jdbZErtB9Ok), ...). - The key to a great recall is to [counter-condition the dog so it remains calm under all conditions](https://youtu.be/6uTgSr0acBo). Condition the dog to be relaxed around wild life and pay attention to you. - Give your dog access to what they want when they come back to you ([Premack Principle](https://www.akc.org/expert-advice/training/what-is-the-premack-principle-in-dog-training/)). If that's not an option, try to give them a great reward (or a combination like praise, food, petting and vocal inflection). - - Don't call your dog just to end his fun. If you do this it decreases the chance he/she will want to come back to you when called. Instead, recall often and treat without putting on the lead or ending the fun. + - Don't call your dog just to end his fun. If you do this it decreases the chance he/she will want to come back to you when called. Instead, recall often and treat without putting on the lead or ending the fun. - Don't repeat the cue many times. Recall should be a 100% reliable. - Try not to go towards your dog when working on recall. - Clap your hands while shouting your recall word in an excited, hyperactive voice. @@ -104,7 +106,7 @@ - White noise can help. - Cover the crate to reduce visual stimulation during the night. -### Resources +## Resources - [Dog Training Reddit Wiki](https://www.reddit.com/r/Dogtraining/wiki/index) - [Kikopup Youtube Channel](https://www.youtube.com/user/kikopup) diff --git a/Fallacies.md b/Fallacies.md index cc42feb..c7df68b 100644 --- a/Fallacies.md +++ b/Fallacies.md @@ -1,3 +1,5 @@ # Fallacies -A logical fallacy is a flaw in reasoning, a flaw in [[Thinking]]. Logical fallacies are like tricks or illusions of thought, and they're often sneakily used by politicians and the media to fool people. They are [tools](https://yourlogicalfallacyis.com/) designed to help us identify and call out dodgy logic wherever it may raise its ugly, incoherent head. +- A logical fallacy is a flaw in reasoning, a flaw in [[Thinking]]. +- Logical fallacies are like tricks or illusions of thought, and they're often sneakily used by politicians and the media to fool people. +- They are [tools](https://yourlogicalfallacyis.com/) designed to help us identify and call out dodgy logic wherever it may raise its ugly, incoherent head. diff --git a/Feedback Loops.md b/Feedback Loops.md index c8e77a5..86c5f56 100644 --- a/Feedback Loops.md +++ b/Feedback Loops.md @@ -4,7 +4,7 @@ - There are two types of feedback loops: positive and negative. - Positive feedback amplifies system output, resulting in growth or decline. - Negative feedback dampers output, stabilizes the system around an equilibrium point. -- **[[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. +- **[[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. - 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. - Feedback loops vary in their accuracy. - 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. diff --git a/Feedback.md b/Feedback.md index 9cf5d14..b91226b 100644 --- a/Feedback.md +++ b/Feedback.md @@ -16,7 +16,7 @@ Your goal is not to do what _you_ think is best, it's to help _others_. This inc - The only constant in the world is change. Be open to it and accept it with a smile. - Understand and accept that you will make mistakes. - Be mindful. Develop meta-awareness around the areas that you received feedback. - - Look for opportunities to _stop doing_ or _start doing_ critiqued behaviors. + - Look for opportunities to _stop doing_ or _start doing_ critiqued behaviors. ### Technical Feedback @@ -37,10 +37,10 @@ Your goal is not to do what _you_ think is best, it's to help _others_. This inc - Imagine what things feel like from the other perspective. - Criticize in private, praise in public. - You can use a [feedback model](https://jacobian.org/2021/apr/22/three-feedback-models/). These are behavioral and impact focused. - - Situation-Behavior-Impact: Describe the situation, then the action of the person and finally, the impact it had. - - Manager Tools Feedback Model: Ask for permission, describe the behavior and its impact, finally offer some potential alternatives. + - Situation-Behavior-Impact: Describe the situation, then the action of the person and finally, the impact it had. + - Manager Tools Feedback Model: Ask for permission, describe the behavior and its impact, finally offer some potential alternatives. - How to compose a successful critical commentary (_from_ [_Daniel Dennett_](https://en.wikipedia.org/wiki/Daniel_Dennett)): - - You should attempt to re-express your target's position so clearly, vividly, and fairly that your target says, _"Thanks, I wish I'd thought of putting it that way"_. - - You should list any points of agreement (if they are not matters of general or widespread agreement). - - You should mention anything you have learned from your target. - - Only then are you permitted to say so much as a word of rebuttal or criticism. + - You should attempt to re-express your target's position so clearly, vividly, and fairly that your target says, _"Thanks, I wish I'd thought of putting it that way"_. + - You should list any points of agreement (if they are not matters of general or widespread agreement). + - You should mention anything you have learned from your target. + - Only then are you permitted to say so much as a word of rebuttal or criticism. diff --git a/Fitness.md b/Fitness.md index 0aaa2d7..4c002e1 100644 --- a/Fitness.md +++ b/Fitness.md @@ -1,12 +1,12 @@ # Fitness -- Exercise helps make better use of the [[Nutrition |foods you are eating]] and produces the hormones you need to [[Thinking |think clearly]]. +- Exercise helps make better use of the [[Nutrition|foods you are eating]] and produces the hormones you need to [[Thinking|think clearly]]. - Your body is your vessel for life's journey - treat it accordingly. Fitness and [[Nutrition]] are the rising tide that floats all boats. They are multipliers for everything. - Never sit for prolonged times. Take breaks standing or walking around. - - [Going for a walk has lots benefits](https://www.betterhealth.vic.gov.au/health/healthyliving/walking-for-good-health). Around 30 minutes a day on most days of the week is a great way to improve or maintain your overall health. + - [Going for a walk has lots benefits](https://www.betterhealth.vic.gov.au/health/healthyliving/walking-for-good-health). Around 30 minutes a day on most days of the week is a great way to improve or maintain your overall health. - [Having more muscle mass will increase your metabolic rate and help you stay lean more time](https://youtu.be/IX7MZrgIycw). - Lifting weights makes you stronger and healthier, improves your posture, makes you less injury prone, and strengthens your bones. - - If you train for strength rest for at least 4 minutes before doing another set. + - If you train for strength rest for at least 4 minutes before doing another set. - Cardio helps stabilize hormone levels, improves endurance and recovery, helps the body fuel calories away from the fat cells and into the muscle, helps with weight maintenance, generally keeps you healthy, and finally burns calories. - For fat loss, HIIT is better than cardio. More muscle, higher metabolism. - Static stretching (any stretching done in place, holding for X number of seconds) should never be done before exercise. Instead, perform active movements simulating the exercise you are about to perform. diff --git a/Future.md b/Future.md index 6b4d9ea..2d5bf06 100644 --- a/Future.md +++ b/Future.md @@ -1,22 +1,22 @@ # Things that Might Look Weird in the Future -History teaches us that in 100 years from now [[Openness |some of the assumptions we believed will turn out to be wrong]]. A good question to ask is "What might we be wrong about today?". These are a few things that future humans might see as weird behavior: +History teaches us that in 100 years from now [[Openness|some of the assumptions we believed will turn out to be wrong]]. A good question to ask is "What might we be wrong about today?". These are a few things that future humans might see as weird behavior: - Eat animals. - Drive manually. - Give birth without advanced assistance. - Not caring for all the [animal suffering in the wild](https://longtermrisk.org/the-importance-of-wild-animal-suffering/). - - Nature is not safe! The default is suffering. The current mentality is that nature is good and disruptions from nature are bad. + - Nature is not safe! The default is suffering. The current mentality is that nature is good and disruptions from nature are bad. - The ignorance of Social Media and its [full impact on society](https://twitter.com/M_B_Petersen/status/1483457679800651787). - - Is "being bad for society" an emergent property of social networks as they grow? + - Is "being bad for society" an emergent property of social networks as they grow? - Voting Systems and not using more Prediction Markets in public. -- More experimentation around [[Politics |governance]]: - - Charter cities. - - [Holacracy](https://en.m.wikipedia.org/wiki/Holacracy). - - [[Decentralized Autonomous Organizations |Cooperatives/DAOs]]. +- More experimentation around [[Politics|governance]]: + - Charter cities. + - [Holacracy](https://en.m.wikipedia.org/wiki/Holacracy). + - [[Decentralized Autonomous Organizations |Cooperatives/DAOs]]. - Cities are friendly to humans & wildlife, not cars. - More experimentation around [[Learning]] and education (e.g: [teaching game theory](https://twitter.com/BoyanSlat/status/1469063939417907204) as a subject [in the modern curriculum](https://seths.blog/2021/09/the-modern-curriculum/)) - - More people aware of the trick our mind does to us ([Mind Field](https://www.youtube.com/playlist?list=PLZRRxQcaEjA4qyEuYfAMCazlL0vQDkIj2) and [The Story Of Us](https://waitbutwhy.com/2019/08/story-of-us.html)) as well as [how diverse humans are](https://youtu.be/fC5qucSk18w). - - More interactive explanations like the ones the awesome [Nicky Case]((https://ncase.me/) do! + - More people aware of the trick our mind does to us ([Mind Field](https://www.youtube.com/playlist?list=PLZRRxQcaEjA4qyEuYfAMCazlL0vQDkIj2) and [The Story Of Us](https://waitbutwhy.com/2019/08/story-of-us.html)) as well as [how diverse humans are](https://youtu.be/fC5qucSk18w). + - More interactive explanations like the ones the awesome [Nicky Case]((https://ncase.me/) do! - More concern around systems with weird incentives causing large amount of pain (Moloch). - Work valuation changes (plumbing more expensive than some software development) due to [Moravec's paradox](https://en.wikipedia.org/wiki/Moravec%27s_paradox). We will automate making a full app before a robot is able to master physical arms and legs like a 5 year old. diff --git a/Governance.md b/Governance.md index 041021b..089810b 100644 --- a/Governance.md +++ b/Governance.md @@ -1,6 +1,6 @@ # Governance -Governance is a tool an [[Organizations |organization]] uses to decide where power should reside and who gets to click on what button. This process places rails around operations, which helps an organization get from point A to point B more smoothly. +Governance is a tool an [[Organizations|organization]] uses to decide where power should reside and who gets to click on what button. This process places rails around operations, which helps an organization get from point A to point B more smoothly. - There is an idea that governance — public or corporate — [is driven by the self-interested effort of leaders to acquire and keep their power](https://fs.blog/the-dictators-handbook/). - [Governance means conflict](https://twitter.com/armaniferrante/status/1450878886535839745). It also means resolution. Accept the former, focus on the latter, via transparency. diff --git a/Health.md b/Health.md index cf13854..b92af4e 100644 --- a/Health.md +++ b/Health.md @@ -1,11 +1,11 @@ # Health -**How you live** affects **how long** and **how happy** you live. So, don't [maximize misery](https://www.youtube.com/watch?v=LO1mTELoj6o). Your health has an impact on everyone around you too. You get healthy, and more importantly stay healthy, by accumulating significant, but livable, [[Life Advice |improvements to your lifestyle over time]], and building on that. +**How you live** affects **how long** and **how happy** you live. So, don't [maximize misery](https://www.youtube.com/watch?v=LO1mTELoj6o). Your health has an impact on everyone around you too. You get healthy, and more importantly stay healthy, by accumulating significant, but livable, [[Life Advice|improvements to your lifestyle over time]], and building on that. - Run experiments and try new things. This will make you explore the world so you can exploit it later. Go for variety and surprise. Don’t keep doing the same thing. [Most things in life have diminishing marginal utility, so maximizing utility implies doing a lot of things a bit](https://twitter.com/mattsclancy/status/1415470466047827968). - [Algernon's Law](https://www.gwern.net/Drug-heuristics): your body is already mostly optimal, so adding more things is unlikely to have large positive effects unless there’s some really good reason. -- Although [[time]] is the ultimate resource, the lack of energy will always be the first limiting factor. Therefore prioritizing health (like it or not, you're a physical object), [[Sleep]], [[Fitness |exercise]], and other such aspects will always pay off far more than what you sacrifice on them. [These areas should take priority over anything else](https://www.lesswrong.com/posts/QTkij5fmPXPd7GD4Z/review-of-scott-adams-how-to-fail-at-almost-everything-and). -- Our bodies and minds are built to live in a tribe in 50,000BC, which leaves modern humans with a number of unfortunate traits (fixation with [[Social Media Issues |tribal-style social survival]], attracted to [[Nutrition |energy dense food]], ...). +- Although [[time]] is the ultimate resource, the lack of energy will always be the first limiting factor. Therefore prioritizing health (like it or not, you're a physical object), [[Sleep]], [[Fitness|exercise]], and other such aspects will always pay off far more than what you sacrifice on them. [These areas should take priority over anything else](https://www.lesswrong.com/posts/QTkij5fmPXPd7GD4Z/review-of-scott-adams-how-to-fail-at-almost-everything-and). +- Our bodies and minds are built to live in a tribe in 50,000BC, which leaves modern humans with a number of unfortunate traits (fixation with [[Social Media Issues|tribal-style social survival]], attracted to [[Nutrition|energy dense food]], ...). - Build [[Systems]] to take the right actions effortlessly through [[Habits]]. ## Blood Markers diff --git a/How To Do Hard Things.md b/How To Do Hard Things.md index c042bd9..4826afb 100644 --- a/How To Do Hard Things.md +++ b/How To Do Hard Things.md @@ -2,7 +2,7 @@ It's a useful [[Mental Models |conceptual framework]] for how to get better at things that you currently find difficult. Everything is hard before it is easy. [The day before something is a breakthrough, it's a stupid idea](https://www.drmaciver.com/2019/05/how-to-do-hard-things/). Doing hard things is mostly about having high expectations for yourself and getting used to being uncomfortable and the way to get started doing something difficult is to [dive in](https://mindingourway.com/dive-in-2/). -### The Single-Loop System +## The Single-Loop System Useful when you know what success looks like but cannot currently achieve it. @@ -10,13 +10,13 @@ Useful when you know what success looks like but cannot currently achieve it. 2. Modify the easy thing so that it is like the hard thing in exactly one way that you find hard. 3. Do the modified thing until it is no longer hard. 4. If you get stuck, do one of the following: - - Go back to step 3 and pick a different way in which the problem is hard. - - Recursively apply the general system for learning to do hard things to the thing you're stuck on. - - Go ask an expert or a rubber duck for advice. - - If you're still stuck after trying the first three, it's possible that you may have hit some sort of natural difficulty limit and may not be able to make progress. + - Go back to step 3 and pick a different way in which the problem is hard. + - Recursively apply the general system for learning to do hard things to the thing you're stuck on. + - Go ask an expert or a rubber duck for advice. + - If you're still stuck after trying the first three, it's possible that you may have hit some sort of natural difficulty limit and may not be able to make progress. 5. If the original hard thing is now easy, you're done. If not, go back to step 2. -### The Double-Loop System +## The Double-Loop System When you don't know what success looks like diff --git a/IPFS.md b/IPFS.md index 549e939..e994de5 100644 --- a/IPFS.md +++ b/IPFS.md @@ -1,7 +1,7 @@ # IPFS - It's a file system with [content based addressing](https://www.youtube.com/watch?v=5Uj6uR3fp-U). - - Files are automatically deduplicated. + - Files are automatically deduplicated. - Once something is added, it can't be changed anymore. - IPFS supports versioning using commits. - Keeping files available is a challenge. If the nodes storing a file go down, it'll disappear from the network. Filecoin can help with this adding incentives to the equation. @@ -13,7 +13,7 @@ - Everything is a node. Nodes have types. - The data structure is a Merkle Tree. - Makes easy to have interoperability of data. Useful for distributed databases. - - Bridges content addressing and distributed systems. + - Bridges content addressing and distributed systems. ## LibP2P diff --git a/Ideas.md b/Ideas.md index 4ea0283..e54277a 100644 --- a/Ideas.md +++ b/Ideas.md @@ -87,7 +87,7 @@ Instead of building the tool, we can start with a standard protocol and let othe - [[Federated Networks |Federate and open source current networks]] to improve communities. - [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. - We need a social network that does not cause divisiveness and negativity that is currently the natural by-product of optimizing for greater engagement. -- How can the network [[Incentives |incentivize]] healthy conversations and encourage nuanced [[Resolving Disagreement |discussions]]? +- How can the network [[Incentives|incentivize]] healthy conversations and encourage nuanced [[Resolving Disagreement |discussions]]? ### Web3 Recommendation Engine diff --git a/Incentives.md b/Incentives.md index 6962b70..0f7fe52 100644 --- a/Incentives.md +++ b/Incentives.md @@ -19,7 +19,7 @@ Behavior is hard to fix. When people say they've learned their lesson they under [A structure through which to create, evaluate, and adjust incentives.](https://mobile.twitter.com/SahilBloom/status/1434847309976702980) 1. **Objectives**. What does success look like? Without upfront deep thought on objectives, intelligent incentive design is impossible. -2. **Metrics**. Establish [[Metrics |metrics that you will measure to track success]]. Avoid the McNamara Fallacy—never choose metrics on the basis of what is easily measurable over what is meaningful. Identify a wish list of metrics with no regard for feasibility. Work backwards from there. +2. **Metrics**. Establish [[Metrics|metrics that you will measure to track success]]. Avoid the McNamara Fallacy—never choose metrics on the basis of what is easily measurable over what is meaningful. Identify a wish list of metrics with no regard for feasibility. Work backwards from there. 3. **Anti-Metrics**. Establish "anti-metrics" that you measure to track unintended consequences. Anti-metrics force you to consider whether your incentives are fixing one problem here, but creating another problem over there. 4. **Stakes & Effects**. Consider the stakes. If the failures are costly and the decisions hard to reverse, conduct a heavier analysis. 5. **Skin in the Game**. To avoid principal-agent problems, the incentive designer should have skin in the game. Never allow an incentive to be implemented where the creator participates in pleasure of the upside, but not the pain in the downside. Skin in the game improves outcomes. diff --git a/Interesting Words.md b/Interesting Words.md index 9f3cdba..49c62e8 100644 --- a/Interesting Words.md +++ b/Interesting Words.md @@ -2,4 +2,4 @@ - **Zeitgeist**: is a concept meaning "spirit of the age". It refers to an invisible agent or force dominating the characteristics of a given epoch in world history. - **Ethos**: is a Greek word meaning "character" that is used to describe the guiding beliefs or ideals that characterize a person, community, nation, or ideology. -- **Telos**: is a term used by philosopher Aristotle to refer to the full potential or inherent purpose or objective of a person or thing, similar to the notion of an [[Values |"end goal" or "raison d'être"]]. Moreover, it can be understood as the "supreme end of man's endeavor". +- **Telos**: is a term used by philosopher Aristotle to refer to the full potential or inherent purpose or objective of a person or thing, similar to the notion of an [[Values|"end goal" or "raison d'être"]]. Moreover, it can be understood as the "supreme end of man's endeavor". diff --git a/Learning.md b/Learning.md index 70e9499..2c831c1 100644 --- a/Learning.md +++ b/Learning.md @@ -3,7 +3,7 @@ - Learning is a process of [[Conceptual Compression]]. - Understand the base and build from it. First Principles Method. Seek the big picture understanding - focus on concepts not details. - Read about topics you care, observe the world around you and keep a beginner's mind (*shoshin*). -- Don't be afraid to [[Asking Questions |ask a question]] that may sound stupid because 99% of the time everyone else is thinking of the same question and is too embarrassed to ask it. +- Don't be afraid to[[Asking Questions|ask a question]] that may sound stupid because 99% of the time everyone else is thinking of the same question and is too embarrassed to ask it. - You can apply [The Feynman Technique](https://www.farnamstreetblog.com/2012/04/learn-anything-faster-with-the-feynman-technique/): 1. Identify the subject. 2. Teach it to a child. Use simple vocabulary and make it short. Keep questions and answers simple. @@ -14,7 +14,7 @@ - There are two categories of learning. [Mix them both to learn faster](https://www.joshwcomeau.com/blog/how-to-learn-stuff-quickly/). 1. **Guided:** Reading a tutorial, taking a course, watching a YouTube video. Anything where you're following a guide. 2. **Unguided:** Creating your own projects from scratch, extending a tutorial, looking things up in the docs. Anything where you aren't following a guide. -- Learn to [[Asking Questions |ask better questions]]. Distill what you know to figure out what part you're missing or which link is missing. +- Learn to[[Asking Questions|ask better questions]]. Distill what you know to figure out what part you're missing or which link is missing. - Learn by [[Writing]]: 1. Pick a topic. 2. Read and/or discuss with others (a bit). diff --git a/Life Advice.md b/Life Advice.md index a1e7744..254308e 100644 --- a/Life Advice.md +++ b/Life Advice.md @@ -18,7 +18,7 @@ If you listen to successful people talk about their approaches, remember that al - Keep it simple. - Build great memories. - Before you speak, let your words pass through three gates. At the first gate, ask yourself, "s it true?"" At the second gate ask, "Is it necessary?" At the third gate ask, "Is it kind?"" -- Elevate good behavior rather than punishing bad behavior, especially in [[Parenting |children]] and animals. +- Elevate good behavior rather than punishing bad behavior, especially in [[Parenting|children]] and animals. ## Resources diff --git a/Life Areas.md b/Life Areas.md index 69734ba..8f27e02 100644 --- a/Life Areas.md +++ b/Life Areas.md @@ -2,13 +2,13 @@ [Just as an airplane has wings, engines, windows, controls, and landing gear, your life has various components. Ignoring some of them is like trying to fly without wings.](https://alexvermeer.com/life-areas/) -1. Worldview and purpose. Do you have clarity as to your existence, purpose, and place in the universe? What is your [[Values |philosophy of life]]? +1. Worldview and purpose. Do you have clarity as to your existence, purpose, and place in the universe? What is your [[Values|philosophy of life]]? 2. Contribution and impact. How are you giving value to the world? How much impact does your existence have environmentally, socially, and cognitively? 3. Location and possessions. Are you tied to one location? Do you own lots of useless stuff? 4. [[Time]] and [[Finances]]. Do you have savings, investments, or assets? Do you have any debt? Do you know where you spend your money? 5. Career and [[Teamwork]]. Do you enjoy your work? Have you optimized your job? 6. Health and fitness. Do you exercise regularly? What is your overall energy level? What are your major health issues and susceptibilities? -7. Knowledge and [[Learning |education]]. Are you developing your mind and learning new things? What are your talents and skills? +7. Knowledge and [[Learning|education]]. Are you developing your mind and learning new things? What are your talents and skills? 8. [[Communication]]. Are you spreading ideas? Can you communicate effectively? Can you discuss difficult or controversial topics? 9. [[Relationships]]. Are you meeting new people? Are you taking care of people you love? Are you maintaining your friendships? 10. Emotions. What is your general feeling about life? Are you aware of your emotions as they are happening? How do you rate in terms of integrity, honesty, courage, etc.? diff --git a/Life's Most Common Regrets.md b/Life's Most Common Regrets.md index 51d2689..0658a58 100644 --- a/Life's Most Common Regrets.md +++ b/Life's Most Common Regrets.md @@ -4,8 +4,8 @@ [Regrets of the dying](https://bronnieware.com/blog/regrets-of-the-dying/): -1. I wish I'd had the courage to [[Mindfulness || live a life true to myself]], not the life others expected of me. +1. I wish I'd had the courage to [[Mindfulness|live a life true to myself]], not the life others expected of me. 2. I wish I didn't work so hard. -3. I wish I'd had the courage to [[Openness |express my feelings]]. +3. I wish I'd had the courage to [[Openness|express my feelings]]. 4. I wish I had stayed in touch with my friends. 5. I wish that I had let myself be happier. diff --git a/Making Decisions.md b/Making Decisions.md index 5fdccfd..6b35995 100644 --- a/Making Decisions.md +++ b/Making Decisions.md @@ -1,11 +1,11 @@ # Making Decisions -Decision making is the process we use to identify and choose alternatives, producing a final choice, which may or may not result in an action. It's basically a [[Problem Solving]] activity, and it can be more or less [[Thinking |rational or irrational]] based on the decision maker's [[Values]], beliefs, and (perceived) knowledge. +Decision making is the process we use to identify and choose alternatives, producing a final choice, which may or may not result in an action. It's basically a [[Problem Solving]] activity, and it can be more or less [[Thinking|rational or irrational]] based on the decision maker's [[Values]], beliefs, and (perceived) knowledge. - Living a good life depends on our ability to make good decisions constantly. - Not perceiving the world accurately makes us worse at making decisions. - The decisions you make fall into two categories: - - [[Focus |Prioritizing]] — Which path should you take first? + - [[Focus|Prioritizing]] — Which path should you take first? - Allocating — How much [[Focus|Attention]], [[Time]], and capital should you spend on this? - [Separate decisions into four possibilities based on the type of decision](https://fs.blog/2018/09/decision-matrix/): 1. Irreversible and inconsequential. @@ -18,7 +18,7 @@ Decision making is the process we use to identify and choose alternatives, produ - To maximize your long-term happiness, prioritize the projects you'd most regret not having pursued by the time you're old and looking back at your life. - Gather all the information you can. Then, schedule [[time]] to think deeply about it. Brain-dump your thoughts on the problem - what's going wrong, why is it inefficient? Try to understand it in as much detail as possible. - Learn from the mistakes of others. You can't live long enough to make them all yourself. - - Remember that too much information increases confidence not accuracy. Share all the information with other stakeholders. [[Openness |Transparency]] is key for group decisions. + - Remember that too much information increases confidence not accuracy. Share all the information with other stakeholders. [[Openness|Transparency]] is key for group decisions. - Most decisions should probably be made with somewhere around 70% of the information you wish you had. If you wait for 90%, in most cases, you're probably being slow. - [The fog of the future hides vital information](https://youtu.be/SVmEXdGqO-s). - If all options are similar take the harder one in the short term (_Hard decisions easy life, easy decisions, hard life_). diff --git a/Meditation.md b/Meditation.md index 3924f8b..16ca39c 100644 --- a/Meditation.md +++ b/Meditation.md @@ -5,9 +5,9 @@ - The goal of meditation is not to quit having thoughts, but to observe them, watch them without reacting and rationalizing them. This helps rewire the way your brain works similar to cognitive behavioral therapy. Typically, people who work towards this, have less anxiety and depression because they don't react to every thought they have, which gives them a greater control of their emotions. - In [[Programming]] terms, it defragments the hard drive and repairs errors in the OS. - Too many distractions lead to a heavy mind. -- Meditating is controlling [[Focus |attention]]. Everything is downstream attention. Practice [mindfulness meditation](https://youtu.be/hQo-CQzoW24) to improve your attention and noticing. +- Meditating is controlling [[Focus|attention]]. Everything is downstream attention. Practice [mindfulness meditation](https://youtu.be/hQo-CQzoW24) to improve your attention and noticing. -## How to Meditate: +## How to Meditate 1. Find a comfortable place to sit, and a posture that is both alert and relaxed at the same time. See if you can make the spine erect, without being too rigid. 2. Close your eyes (or leave them slightly open if you prefer), and take a few slow breaths. Take a few moments to loosen your body from your head to your toes, and take a few more deep breaths. Scan your body to see if you can find any other tension that you can release. diff --git a/Mental Health.md b/Mental Health.md index 3f91ac9..e673ef8 100644 --- a/Mental Health.md +++ b/Mental Health.md @@ -1,13 +1,13 @@ # Mental Health - When it comes to [mental health](https://jjbeshara.com/2020/06/04/mental-wealth/), our society approaches it like we did with physical health 50 years ago. We only think about it when something goes wrong. -- We benefit from approaching mental health like we invest in anything else in our lives ([[Finances]], [[Relationships]], careers, [[Fitness |physical health]], etc), where one builds wealth in this area by continuous, conscious investment. -- Be [[Mindfulness |grateful]] for all the people and things you have. Accept you're not in full control of your destiny. [Success depends on luck](https://youtu.be/3LopI4YeC4I). Luck is a function of surface area. More experiences generate more serendipity. +- We benefit from approaching mental health like we invest in anything else in our lives ([[Finances]], [[Relationships]], careers, [[Fitness|physical health]], etc), where one builds wealth in this area by continuous, conscious investment. +- Be [[Mindfulness|grateful]] for all the people and things you have. Accept you're not in full control of your destiny. [Success depends on luck](https://youtu.be/3LopI4YeC4I). Luck is a function of surface area. More experiences generate more serendipity. - Lots of little good things is the path to happiness. You want frequent boosts not rare big stuff. - Maintain strong social ties. Social [[Relationships]] boost happiness. Sharing amazing experiences with those closest to you is as good as it gets. - Be around nature. Have some houseplants as they improve mood. - If you have trouble reading internal signals, try [debugging yourself](https://philome.la/jace_harr/you-feel-like-shit-an-interactive-self-care-guide/play/index.html). - - Retrace your path to actions: Examine your behavior and identify the feeling. Ask yourself what story are you telling yourself that causes those emotions. Then, examine the facts and adjust the story to impact your emotions. + - Retrace your path to actions: Examine your behavior and identify the feeling. Ask yourself what story are you telling yourself that causes those emotions. Then, examine the facts and adjust the story to impact your emotions. ## Aversion diff --git a/Mindfulness.md b/Mindfulness.md index 7098e17..0ce3c23 100644 --- a/Mindfulness.md +++ b/Mindfulness.md @@ -1,17 +1,17 @@ # Mindfulness -- Enjoy Life. Enjoy people. Appreciate the fact that [you're alive](https://youtu.be/9D05ej8u-gU). Be grateful and [[Meditation |mindful]] about it. You take things for granted, and then they're gone. Don't wait to do things that matter, and savor the time you have. Be present and enjoy the moment as a child does. [Life is short](http://paulgraham.com/vb.html), [enjoy the silly bit in between](https://youtu.be/-mu780uB7mI). +- Enjoy Life. Enjoy people. Appreciate the fact that [you're alive](https://youtu.be/9D05ej8u-gU). Be grateful and [[Meditation|mindful]] about it. You take things for granted, and then they're gone. Don't wait to do things that matter, and savor the time you have. Be present and enjoy the moment as a child does. [Life is short](http://paulgraham.com/vb.html), [enjoy the silly bit in between](https://youtu.be/-mu780uB7mI). - [Humans quickly return to a relatively stable level of happiness despite major positive or negative events or life changes](https://en.wikipedia.org/wiki/Hedonic_treadmill). Optimize for tranquility in your life. - Make [[Time]] to reflect. Don't waste time doing anything by momentum if you don't enjoy it. Not doing something that isn't worth doing is a wonderful way to spend your [[Time]]. Look at the big picture and don't climb the current mountain out of inertia (ranks in business, status among friends, ...). [If you haven't done it already, schedule a day and time when you can realistically assess how you want your life to affect you and other people, and what you must change to better achieve this](https://www.lesswrong.com/posts/4psQW7vRwt7PE5Pnj/too-busy-to-think-about-life). -- One task at a time. [[Focus |No distractions]]. +- One task at a time. [[Focus|No distractions]]. - **KISS**. What would less/simple look like? - - When [[Communication |communicating]], do it in a clear and concise way. + - When [[Communication|communicating]], do it in a clear and concise way. - Sometimes, even if your intention is good, signal might turn into noise and won't be interpreted the way you expect. - When [[Problem Solving |facing a problem]], prefer a lean approach with a simple solution and built upon it. Re-framing problems will make easy to give simpler solutions. How would it look like if it was simple? - Remove friction. Focus on essentials. Complexity itself has costs. It makes life harder to manage, reduces our degrees of freedom, and so forth. Often people do not factor those costs into their decisions as they incrementally and inattentively complexify their lives. A person with the virtue of simplicity asks, of any decision they make, "does this make my life more complex, and if so is that worth it?" -- Live smarter, not harder. Don't complain about stuff you can easily fix, [[Automation |automate]], or delegate. Money can buy [[time]]. -- Keep Calm. Own and deal with your emotions. [[Stoicism |Focus on what you can control]]. Try to plan the possible outcomes and don't rush. -- Think, understand, and listen before [[Communication |communicating]]. +- Live smarter, not harder. Don't complain about stuff you can easily fix, [[Automation|automate]], or delegate. Money can buy [[time]]. +- Keep Calm. Own and deal with your emotions. [[Stoicism|Focus on what you can control]]. Try to plan the possible outcomes and don't rush. +- Think, understand, and listen before [[Communication|communicating]]. - Don't worry too much about things that won't matter to you or your loved ones in 10 years. - Assume positive intent. No one is your enemy, you're an NPC in their game. Everyone is the main character of their own movie (*sonder*). - Every person is inherently valuable independent of behavior and beliefs. Create safe spaces for people, and a dangerous space for ideas ([idea labs](https://twitter.com/waitbutwhy/status/1278035160454348800)). diff --git a/Network Effects.md b/Network Effects.md index a066438..44642a2 100644 --- a/Network Effects.md +++ b/Network Effects.md @@ -6,8 +6,8 @@ Networks rule our world. From the chemical reaction pathways inside a cell, to t Network [diffusion](https://meltingasphalt.com/interactive/going-critical/) is the way things move and spread, somewhat chaotically, across a network. For example: -- Infectious diseases jumping from host to host within a population -- Memes spreading across a follower graph on social media -- A wildfire breaking out across a landscape -- Ideas and practices diffusing through a [[Culture]] -- Neutrons cascading through a hunk of enriched uranium +- Infectious diseases jumping from host to host within a population +- Memes spreading across a follower graph on social media +- A wildfire breaking out across a landscape +- Ideas and practices diffusing through a [[Culture]] +- Neutrons cascading through a hunk of enriched uranium diff --git a/News.md b/News.md index c5248d7..59cff7c 100644 --- a/News.md +++ b/News.md @@ -3,13 +3,13 @@ - Portraying [a society where everyone hates each other](https://ncase.itch.io/wbwwb) is the most dangerous virus of all, because it becomes a self-fulfilling prophecy. Nothing spreads faster than anger. Especially anger in the specific format, ["Just look at how awful the people we hate are"](https://www.youtube.com/watch?v=rE3j_RHkqJc). - There is a hierarchy of "*interestingness*" that applies to the great information currents and media outlets that shape society as a whole. It's better to raise up [controversial topics than high impact one like charity](https://slatestarcodex.com/2014/12/17/the-toxoplasma-of-rage/). - [[Social Media Issues |Social and news media usually works against fixing the issues]] which most of us agree should be fixed. Instead they focus only on perpetuating the things which keep us all discussing, forever. -- [The amygdala (emotional core of the mind) is built to make us react to "threatening" information that doesn't fit into our worldview the same way we react to a predator. That's called the "Backfire Effect"](https://theoatmeal.com/comics/believe). Remember that [[Thinking |your worldview is not perfect]]! +- [The amygdala (emotional core of the mind) is built to make us react to "threatening" information that doesn't fit into our worldview the same way we react to a predator. That's called the "Backfire Effect"](https://theoatmeal.com/comics/believe). Remember that [[Thinking|your worldview is not perfect]]! - If our perceptions of reality are increasingly informed by media with other-than-truth motivations, we'll increasingly lose our handle on the truth. [We will be living in a state of split consciousness](https://sandhoefner.com/2019/01/27/on-disbelieving-atrocities/), being immune to thousands of deaths and concerned about the latest changes in your favorite team. - How many of the articles you read in the past 12 months actually led you to take useful actions? -- We're losing our ability to think together. Communities can only think when people talk and when they're free to say what they really think. As echo chambers grow larger and more intimidating, people inside them are afraid to defy the sacred narrative. And the more all-encompassing [[Politics |political]] identities become, the more topics turn from kickable machines to precious infants. Meanwhile, inter-group communication suffers even more, as opposing groups become totally unable to collaborate on [[ideas]]. +- We're losing our ability to think together. Communities can only think when people talk and when they're free to say what they really think. As echo chambers grow larger and more intimidating, people inside them are afraid to defy the sacred narrative. And the more all-encompassing [[Politics|political]] identities become, the more topics turn from kickable machines to precious infants. Meanwhile, inter-group communication suffers even more, as opposing groups become totally unable to collaborate on [[ideas]]. - A polarized country that isn't capable of building broad coalitions can't take forward steps—it can only self-inflict. - The news also bias the layperson's perception of risk. The very fact that bad events are rare these days, makes them newsworthy. With a large sample size, unusual tragedies happen daily, and they end up on the news nightly. For example, car crashed might cause more damage than other events like floodings or fires. - - News are [[Incentives |incentivized]] to cherry-pick stories that spread fast. For example, scam news. A scam is like a virus that converts trust into cynicism, but it's the news, in the name of keeping things entertaining and addictive, that distributes the virus across the whole country. + - News are [[Incentives|incentivized]] to cherry-pick stories that spread fast. For example, scam news. A scam is like a virus that converts trust into cynicism, but it's the news, in the name of keeping things entertaining and addictive, that distributes the virus across the whole country. - Media is business and business is for profit. The market is incentivizing bad media. Media is called on bias/inaccuracy only by their political foes, which isn't their audience. Audiences have to start pushing back on the media that shares their bias. - [News programs are, with the exception of a few non-profit or publicly funded ones, commercial enterprises designed to turn and maximize profit](https://www.mrmoneymustache.com/2013/10/01/the-low-information-diet/). - The profit comes from advertising, and advertising revenue is maximized by pulling the largest audience, holding their attention for the longest possible time, and putting them into the mental state most conducive to purchasing the products of the advertisers (which turns out to be helplessness and vulnerability). This is why the news always starts out with a sensationalist take on a topic of at least plausible national interest, takes a detour into truly horrific and depressing irrelevant tragedies is one that unfortunately crossed my screen when doing research for this article), then ends on an uplifting note with something like a defiant entrepreneur or a caring soup kitchen. An emotional roller-coaster ride every day of the week. They don't explore solutions. diff --git a/Nonviolent Communication.md b/Nonviolent Communication.md index 9e931ac..e43cece 100644 --- a/Nonviolent Communication.md +++ b/Nonviolent Communication.md @@ -2,7 +2,7 @@ [Nonviolent communication (NVC)](https://www.clearerthinking.org/post/2019/03/06/want-to-improve-your-relationships-try-nonviolent-communication-1) is a popular method of conflict resolution that privileges unbiased evidence and specificity. It is also a tool for thinking that may help improve the way you communicate, whether it be with family, friends, colleagues. -## The Four Steps: +## The Four Steps 1. **Observe Facts** - observe the specific facts that are affecting our wellbeing, and bring them up with the other person. 2. **Note Feelings** - introspect about what exactly we are feeling in response to what we've observed, and communicate these feelings. diff --git a/Open Data.md b/Open Data.md index 7c2bf4e..aa4d07c 100644 --- a/Open Data.md +++ b/Open Data.md @@ -16,7 +16,7 @@ The current landscape has a few problems: - **Hard to Search**. Datasets indexing is difficult since [there are many standards](https://xkcd.com/927/). - **No Collaboration**. No incentives exists for people to work on improving or curating datasets. -[Open Data can help organizations, scientist, and governments make better decisions](https://twitter.com/patrickc/status/1256987283141492736). Data is one of the best ways to learn about the world and [[Coordination |coordinate]] people. +[Open Data can help organizations, scientist, and governments make better decisions](https://twitter.com/patrickc/status/1256987283141492736). Data is one of the best ways to learn about the world and [[Coordination|coordinate]] people. Open protocols create open systems. Open code creates tools. **Open data creates open knowledge**. We need better tools, protocols, and mechanisms to improve the Open Data ecosystem. It should be easy to find, download, process, publish, and collaborate on open datasets. @@ -39,30 +39,30 @@ We could have a better ecosystem if we **collaborate on open standards**! So, le ## Design Principles - **Easy**. Create, curate and share datasets without friction. - - Data is useful only when used! Right now, we're not using most of humanity's datasets. That's not because they're not available but because they're hard to get. They're isolated in different places and formats. - - Pragmatism: published data is better than almost published one because something is missing. + - Data is useful only when used! Right now, we're not using most of humanity's datasets. That's not because they're not available but because they're hard to get. They're isolated in different places and formats. + - Pragmatism: published data is better than almost published one because something is missing. - **Versioned and Modular**. Data and metadata (e.g: `relation`) should be [updated, forked and discussed](https://github.com/jbenet/data/blob/master/dev/designdoc.md#data-hashes-and-refs) as code in version controlled repositories. - - Prime composability (e.g: [Arrow ecosystem](https://thenewstack.io/how-apache-arrow-is-changing-the-big-data-ecosystem/)) so tools/services can be swapped. - - Metadata as a first-class citizen. - - Git based approach collaboration. Adopt and integrate with `git` to reduce surface area. Build tooling to adapt revisions, tags, branches, issues, PRs to datasets. - - Provide a declarative way of defining the datasets schema and other meta-properties like _relations_ or _tests_. - - Support for integrating non-dataset files. A dataset could be linked to code, visualizations, pipelines, models, ... + - Prime composability (e.g: [Arrow ecosystem](https://thenewstack.io/how-apache-arrow-is-changing-the-big-data-ecosystem/)) so tools/services can be swapped. + - Metadata as a first-class citizen. + - Git based approach collaboration. Adopt and integrate with `git` to reduce surface area. Build tooling to adapt revisions, tags, branches, issues, PRs to datasets. + - Provide a declarative way of defining the datasets schema and other meta-properties like _relations_ or _tests_. + - Support for integrating non-dataset files. A dataset could be linked to code, visualizations, pipelines, models, ... - **Reproducible and Verifiable**. People should be able to trust the final datasets without having to recompute everything from scratch. In real life events are immutable, data should be too. Make datasets the center of the tooling like [software defined assets](https://dagster.io/blog/software-defined-assets). - - Thanks to immutability and content addressing, you can move backwards in time and run transformations or queries on how the dataset was at a certain point in time. + - Thanks to immutability and content addressing, you can move backwards in time and run transformations or queries on how the dataset was at a certain point in time. - **Permissionless**. Anyone should be able to add/update/fix datasets or their metadata. GitHub style collaboration, curation, and composability. - **Aligned Incentives**. Curators should have incentives to improve datasets. Data is messy after all, but a good set of incentives could make great datasets surface and reward contributors accordingly. - - [Bounties](https://www.dolthub.com/bounties) could be created to reward people that adds useful but missing datasets. - - Surfacing and creating great datasets should be rewarded. - - Curating the data provides compounding benefits for the entire community! - - Rewarding the datasets creators according to the usefulness. E.g: [CommonCrawl built an amazing repository](https://commoncrawl.org/) that OpenAI has used for their GPTs LLMs. Not sure how well CommonCrawl was compensated. + - [Bounties](https://www.dolthub.com/bounties) could be created to reward people that adds useful but missing datasets. + - Surfacing and creating great datasets should be rewarded. + - Curating the data provides compounding benefits for the entire community! + - Rewarding the datasets creators according to the usefulness. E.g: [CommonCrawl built an amazing repository](https://commoncrawl.org/) that OpenAI has used for their GPTs LLMs. Not sure how well CommonCrawl was compensated. - **Open Source and Decentralized**. Datasets should be stored in multiple places. - - Don't create yet another standard. Provide a way for people to integrate current indexers. Work on _adapters_ for different datasets sources. Similar to: - - [Foreign Data Wrappers in PostgreSQL](https://wiki.postgresql.org/wiki/Foreign_data_wrappers) - - [Trustfall](https://github.com/obi1kenobi/trustfall). - - Open source data integration projects like [Airbyte](https://airbyte.com/). They can used to build open data connectors making possible to replicate something from `$RANDOM_SOURCE` (e.g: spreadsheets, Ethereum Blocks, URL, ...) to any destination. - - Adapters are created by the community so data becomes connected. - - Integrate with the modern data stack to avoid reinventing the wheel. - - Decentralized the computation (where data lives) and then cache copies of the results (or aggregations) in CDNs. Most queries require only reading a small amount of data and going to be similar. + - Don't create yet another standard. Provide a way for people to integrate current indexers. Work on _adapters_ for different datasets sources. Similar to: + - [Foreign Data Wrappers in PostgreSQL](https://wiki.postgresql.org/wiki/Foreign_data_wrappers) + - [Trustfall](https://github.com/obi1kenobi/trustfall). + - Open source data integration projects like [Airbyte](https://airbyte.com/). They can used to build open data connectors making possible to replicate something from `$RANDOM_SOURCE` (e.g: spreadsheets, Ethereum Blocks, URL, ...) to any destination. + - Adapters are created by the community so data becomes connected. + - Integrate with the modern data stack to avoid reinventing the wheel. + - Decentralized the computation (where data lives) and then cache copies of the results (or aggregations) in CDNs. Most queries require only reading a small amount of data and going to be similar. ## Modules @@ -71,53 +71,53 @@ We could have a better ecosystem if we **collaborate on open standards**! So, le Package managers have been hailed among the most important innovations Linux brought to the computing industry. The activities of both publishers and users of datasets resemble those of authors and users of software packages. - **Distribution**. Decentralized. No central authority. Can work in a closed network. Cache/CDN friendly. - - A data package is an URI ([like in Deno](https://deno.land/manual@v1.31.2/examples/manage_dependencies)). You can import from an URL (`data add example.com/dataset.yml` or `data add example.com/hub_curated_datasets.yml`). - - As [Rufus Pollock puts it](https://datahub.io/docs/dms/notebook#go-modules-and-dependency-management-re-data-package-management-2020-05-16-rufuspollock), Keep it as simple as possible. Store the table location and schema and get me the data on the hard disk fast. + - A data package is an URI ([like in Deno](https://deno.land/manual@v1.31.2/examples/manage_dependencies)). You can import from an URL (`data add example.com/dataset.yml` or `data add example.com/hub_curated_datasets.yml`). + - As [Rufus Pollock puts it](https://datahub.io/docs/dms/notebook#go-modules-and-dependency-management-re-data-package-management-2020-05-16-rufuspollock), Keep it as simple as possible. Store the table location and schema and get me the data on the hard disk fast. - **Indexing**. Should be easy to list datasets matching a certain pattern or reading from a certain source. - - Datasets could be linked to a [[Open Data#Datafile |Datafile]]/`datapackage.yml` with description, default visualizations, WASM linked code... - - One repository, one dataset or catalog/hub. - - To avoid yet another open dataset portal, build adapters to integrate with other indexes. - - For example, bring all HF datasets by making a simple PR on their repository that generates a `datapackage.yml` reusing their parquet files. + - Datasets could be linked to a [[Open Data#Datafile |Datafile]]/`datapackage.yml` with description, default visualizations, WASM linked code... + - One repository, one dataset or catalog/hub. + - To avoid yet another open dataset portal, build adapters to integrate with other indexes. + - For example, bring all HF datasets by making a simple PR on their repository that generates a `datapackage.yml` reusing their parquet files. - **Formatting**. Datasets should be saved and exposed in multiple formats (CSV, Parquet, ...). Could be done via WASM transformations or in the fly when pulling data. The package manager should be **format and storage agnostic**. - **Social**. Allow users, organizations, stars, citations, attaching default visualizations (d3, [Vega](https://vega.github.io/), [Vegafusion](https://github.com/vegafusion/vegafusion/), and others), ... - - Importing datasets. Making possible to `data fork user/data`, improve something and publish the resulting dataset back (via something like a PR). - - Have issues and discussions close to the dataset. + - Importing datasets. Making possible to `data fork user/data`, improve something and publish the resulting dataset back (via something like a PR). + - Have issues and discussions close to the dataset. - **Extensible**. Users could extend the package resource (e.g: [Time Series Tabular Package inherits from Tabular Package](https://specs.frictionlessdata.io/tabular-data-package/)) and add better support for more specific kinds of data (geographical). - - Integrations could be built to ingest/publish data from other hubs (e.g: CKAN) + - Integrations could be built to ingest/publish data from other hubs (e.g: CKAN) ### Storage - **Permanence**. Each [version](https://tech.datopian.com/versioning/) should be permanent and accessible. -- **Versioning**. Should be able to manage *diffs* and *incremental changes* in a smart way. E.g: only storing the new added rows or updated columns. - - Should allow [automated harvesting of new data](https://tech.datopian.com/harvesting/) with sensors (external functions) or scheduled jobs. - - Each version is referenced by a hash. Git style. +- **Versioning**. Should be able to manage _diffs_ and _incremental changes_ in a smart way. E.g: only storing the new added rows or updated columns. + - Should allow [automated harvesting of new data](https://tech.datopian.com/harvesting/) with sensors (external functions) or scheduled jobs. + - Each version is referenced by a hash. Git style. - **Smart**. Use appropriate protocols for storing the data. E.g: rows/columns shouldn't be duplicated if they don't change. - - Think at the dataset level and not the file level. - - Tabular data could be partitioned to make it easier for future retrieval. + - Think at the dataset level and not the file level. + - Tabular data could be partitioned to make it easier for future retrieval. - **Immutability**. Never remove historical data. Data should be append only. - - Similar to how `git` deals with it. You could force the deletion of something in case that's needed, but not the default. + - Similar to how `git` deals with it. You could force the deletion of something in case that's needed, but not the default. - **Flexible**. Allow centralized ([S3](https://twitter.com/quiltdata/status/1569447878212591618), GCS, ...) and decentralized (IPFS, Hypercore, Torrent, ...) layers. - - As agnostic as possible, supporting many types of data; tables, geospatial, images, ... - - Can all datasets can be represented as tabular datasets? This will enable to run SQL (`select, groupbys, joins`) on top of them which might be the easier way to start collaborating. - - A dataset could have different formats derived from a common one. Represent all data as Arrow datasets, and build converters between that one format and all others. This is how Pandoc and LLVM work. The protocol could do the transformation (e.g: CSV to Parquet, JSON to Arrow, ...) automatically and some checks at the data level to verify they contain the same information. - - Datasets could be tagged from a library of types (e.g: `ip-adress`) and [conversion functions](https://github.com/jbenet/transformer) (`ip-to-country`). Given that the representation is common (Arrow), the transformations could be written in multiple languages. + - As agnostic as possible, supporting many types of data; tables, geospatial, images, ... + - Can all datasets can be represented as tabular datasets? This will enable to run SQL (`select, groupbys, joins`) on top of them which might be the easier way to start collaborating. + - A dataset could have different formats derived from a common one. Represent all data as Arrow datasets, and build converters between that one format and all others. This is how Pandoc and LLVM work. The protocol could do the transformation (e.g: CSV to Parquet, JSON to Arrow, ...) automatically and some checks at the data level to verify they contain the same information. + - Datasets could be tagged from a library of types (e.g: `ip-adress`) and [conversion functions](https://github.com/jbenet/transformer) (`ip-to-country`). Given that the representation is common (Arrow), the transformations could be written in multiple languages. ### Transformations - **Deterministic**. Packaged lambda style transformations (WASM/Docker). - - For tabular data, starting with just SQL might be great. - - Pyodite + DuckDB for transformations could cover a large area. - - Datasets could be derived by importing other datasets and applying deterministic transformations in the `Datafile`. Similar to Docker containers. That file will carry [Metadata, Lineage and even some defaults (visualizations, code, ...)](https://handbook.datalad.org/en/latest/basics/101-127-yoda.html) + - For tabular data, starting with just SQL might be great. + - Pyodite + DuckDB for transformations could cover a large area. + - Datasets could be derived by importing other datasets and applying deterministic transformations in the `Datafile`. Similar to Docker containers. That file will carry [Metadata, Lineage and even some defaults (visualizations, code, ...)](https://handbook.datalad.org/en/latest/basics/101-127-yoda.html) - **Declarative**. Everything should be defined as code. E.g: YAML files with the source datasets and the transformations. Similar to how Pachyderm/Kamu/Holium do. - - E.g: The tool ends up orchestrating containers that read/write from the storage layer, Pachyderm style. + - E.g: The tool ends up orchestrating containers that read/write from the storage layer, Pachyderm style. - **Environment agnostic**. Can be run locally and remotely. One machine or a cluster. Streaming or batch. - **Templated**. Having a repository/market of open transformations could empower a bunch of use cases ready to plug in to datasets: - - Detect outliers automatically on tabular data. - - Resize images. - - Normalize sound files. - - Detect suspicions records like a categorical variable value that only appears one time while others values appear many times. - - Enrich data smartly (Match and Augment pattern). If a matcher detects a date, the augmenter can add the day of week. If is something like a latitude and longitude, the augmenter adds country/city. [Some tools do this with closed source data](https://www.getcensus.com/blog/census-enrichment-third-party-data-enrichment-now-in-your-warehouse). - - [Templated validations to make sure datasets conform to certain standards](https://framework.frictionlessdata.io/docs/checks/baseline.html). + - Detect outliers automatically on tabular data. + - Resize images. + - Normalize sound files. + - Detect suspicions records like a categorical variable value that only appears one time while others values appear many times. + - Enrich data smartly (Match and Augment pattern). If a matcher detects a date, the augmenter can add the day of week. If is something like a latitude and longitude, the augmenter adds country/city. [Some tools do this with closed source data](https://www.getcensus.com/blog/census-enrichment-third-party-data-enrichment-now-in-your-warehouse). + - [Templated validations to make sure datasets conform to certain standards](https://framework.frictionlessdata.io/docs/checks/baseline.html). ### Visualizations @@ -134,26 +134,26 @@ _[Edit on Excalidraw](https://excalidraw.com/#json=RLkinyHZE-4Px_cl21UDI,z8D-l20 ## Extra Thoughts - [Making a SQL interface](https://twitter.com/josephjacks_/status/1492931290416365568) to query and mix these datasets could be a great step forward since it'll enable tooling like `dbt` to be used on top of it. **Data-as-code**. - - SQL should be enough for unlocking most part of the potential. E.g: joining Wikipedia data to Our World In Data. - - There are some [web3 DAOs already using `dbt` to improve data models](https://github.com/MetricsDAO/harmony_dbt/tree/main/models/metrics)! + - SQL should be enough for unlocking most part of the potential. E.g: joining Wikipedia data to Our World In Data. + - There are some [web3 DAOs already using `dbt` to improve data models](https://github.com/MetricsDAO/harmony_dbt/tree/main/models/metrics)! ## Open Questions - What would be a great use case to start with? - - Why should people use this vs doing their own thing? + - Why should people use this vs doing their own thing? - How can datasets be indexed? - What is the incentive for people to adopt it? - - [If everybody could converge to it, e.g: _"datapackage.json_" as a metadata and schema description standard, then, an ecosystem of utilities and libraries for processing data would take advantage of it](https://news.ycombinator.com/item?id=15346836). + - [If everybody could converge to it, e.g: _"datapackage.json_" as a metadata and schema description standard, then, an ecosystem of utilities and libraries for processing data would take advantage of it](https://news.ycombinator.com/item?id=15346836). - How can LLMs help "building bridges"? - - E.g: point a GPT wrapper to a GitHub repository and get the auto-generated `datapakage.json`. It should infer files, schema, and types and generate some metadata for us. Then, a "dataset package" can be anything the tool can crawl. - - [[Language Models Applications |LLMs can parse unstructured data (CSV) and also generate structure from any data source (scrapping websites)]] + - E.g: point a GPT wrapper to a GitHub repository and get the auto-generated `datapakage.json`. It should infer files, schema, and types and generate some metadata for us. Then, a "dataset package" can be anything the tool can crawl. + - [[Language Models Applications |LLMs can parse unstructured data (CSV) and also generate structure from any data source (scrapping websites)]] - How can we stream new data reliably? E.g: some datasets like Ethereum `blocks` are not static. - Is it possible to [mount large amount of data](https://rclone.org/commands/rclone_mount/) ([FUSE](https://github.com/datalad/datalad-fuse)) from a remote source and get it dynamically as needed? - Can new table formats play efficiently with IPFS? - - E.g: Running [`delta-rs`](https://github.com/delta-io/delta-rs) on top of IPFS. - - Parquet could be a great fit if we figure out how to deterministically serialize it and integrate with IPLD. + - E.g: Running [`delta-rs`](https://github.com/delta-io/delta-rs) on top of IPFS. + - Parquet could be a great fit if we figure out how to deterministically serialize it and integrate with IPLD. - How to work with private data? - - Homomorphic encription? + - Homomorphic encription? - How could something like [Ver](https://raulcastrofernandez.com/data-discovery-updates/) works? If you can envision the table you would like to have in front of you, i.e., you can write down the attributes you would like the table to contain, then the system will find it for you. ### Related Projects @@ -171,16 +171,16 @@ _[Edit on Excalidraw](https://excalidraw.com/#json=RLkinyHZE-4Px_cl21UDI,z8D-l20 - [Qri](https://qri.io/). An evolution of the classical open portals that added [[Decentralized Protocols]] (IPFS) and computing on top of the data. Sadly, [it came to an end early in 2022](https://qri.io/winding_down). - [Datalad](https://www.datalad.org/). [Extended to IPFS](https://kinshukk.github.io/posts/gsoc-summary-and-future-thoughts/). - - Is a [great tool](https://archive.fosdem.org/2020/schedule/event/open_research_datalad/) and uses Git Annex (distributed binary object tracking layer on top of git). - - Complicated to wrap your head around. Lots of different commands and concepts. On the other hand, it's very powerful and flexible. Git Annex is complex but powerful and flexible. - - The handbook is very good, but it's a lot of reading if you just want to test things out. + - Is a [great tool](https://archive.fosdem.org/2020/schedule/event/open_research_datalad/) and uses Git Annex (distributed binary object tracking layer on top of git). + - Complicated to wrap your head around. Lots of different commands and concepts. On the other hand, it's very powerful and flexible. Git Annex is complex but powerful and flexible. + - The handbook is very good, but it's a lot of reading if you just want to test things out. - [Huggingface Datasets](https://huggingface.co/docs/datasets). - [Quilt](https://github.com/quiltdata/quilt). - - Forces both Python and S3. + - Forces both Python and S3. - [Oxen](https://github.com/Oxen-AI/Oxen). - - Data is not accesible from other tools. - - [Docs](https://github.com/Oxen-AI/oxen-release#-oxen-release) are sparse. - - Definitely more in the Git for Data space than Dataset Package Manager. + - Data is not accesible from other tools. + - [Docs](https://github.com/Oxen-AI/oxen-release#-oxen-release) are sparse. + - Definitely more in the Git for Data space than Dataset Package Manager. - [Frictionless Data](https://frictionlessdata.io/projects/#software-and-standards). - [Datopian Data CLI](https://github.com/datopian/data-cli). Sucesor of [DPM](https://github.com/frictionlessdata/dpm-js). - [LakeFS](https://lakefs.io/blog/git-for-data/). More like Git for Data. @@ -193,8 +193,8 @@ _[Edit on Excalidraw](https://excalidraw.com/#json=RLkinyHZE-4Px_cl21UDI,z8D-l20 - [Splitgraph](https://github.com/splitgraph/sgr). - [Deep Lake](https://github.com/activeloopai/deeplake). - [Dim](https://github.com/c-3lab/dim). - - Hard to grok how to use it from the docs. - - Quite small surface area. You can basically install datasets from URLs, create new ones, or apply some kind of GPT3 transformation on top of them. + - Hard to grok how to use it from the docs. + - Quite small surface area. You can basically install datasets from URLs, create new ones, or apply some kind of GPT3 transformation on top of them. - [Juan Benet's data](https://github.com/jbenet/data). - [Colah's data](https://github.com/colah/data). - [Dolt](https://docs.dolthub.com/) is another interesting project in the space with some awesome data structures. They also [do data bounties](https://www.dolthub.com/repositories/dolthub/us-businesses)! @@ -249,17 +249,17 @@ After playing with [Rill Developer](https://github.com/rilldata/rill-developer), - Let me add local and remote datasets. Not just one as I'd like to join them later. - Let me plot it using Vega-Lite. Guide me through alternatives like [Vega's Voyager2](https://vega.github.io/voyager2/) does. - Use LLMs to improve the datasets and offer next steps: - - Get suggested transformations for certain columns. If it detect a date, extract day of the week. If it detects a string, `lower()` it... - - Get suggested plots. Given that it'll know both the column names and the types. Should be possible to create a prompt that returns some plot ideas and another that takes that and write the Vega-Lite code to make it work. - - Make it easy to query the data via Natural Language. + - Get suggested transformations for certain columns. If it detect a date, extract day of the week. If it detects a string, `lower()` it... + - Get suggested plots. Given that it'll know both the column names and the types. Should be possible to create a prompt that returns some plot ideas and another that takes that and write the Vega-Lite code to make it work. + - Make it easy to query the data via Natural Language. - Let me transform them with SQL ([DuckDB](https://duckdb.org/)) and Python ([JupyterLite](https://jupyterlite.readthedocs.io/en/latest/)). Similar to [Neptyne](https://neptyne.com/) but in the browser (WASM). - Let me save the plots in a separate space and give me a shareable URL encoded link. - - Local datasets could be shared using something like [Magic Wormhole](https://github.com/magic-wormhole/magic-wormhole) or a temporal storage service. + - Local datasets could be shared using something like [Magic Wormhole](https://github.com/magic-wormhole/magic-wormhole) or a temporal storage service. - Let me grab the state of the app (YAML/JSON, version control it, and generate static (to publish in GitHub Pages) and dynamic (hosted somewhere) dashboards from it. - - Similar to [evidence.dev](https://evidence.dev/) or [portal.js](https://portaljs.org/). + - Similar to [evidence.dev](https://evidence.dev/) or [portal.js](https://portaljs.org/). - It could also have "smart" data checks. Similar to [deepchecks](https://github.com/deepchecks/deepchecks) alerting for anomalies, outliers, noisy variables, ... - Given a large amount of [[Open Data]]. It could offer a way for people to upload their datasets [and get them augmented](https://subsets.io/). - - E.g: Upload a CSV with year and country and the tool could suggest GDP per Capita or population. + - E.g: Upload a CSV with year and country and the tool could suggest GDP per Capita or population. Could be an awesome front-end to explore [[Open Data]]. @@ -282,26 +282,26 @@ version: 1 description: "Some description" license: "MIT" documentation: - url: "somewhere.com" + url: "somewhere.com" source: - - name: "prod" - db: "psql:/...." + - name: "prod" + db: "psql:/...." pipeline: - - name: "Extract X" - type: image - image: docker/image:latest - cmd: "do something" + - name: "Extract X" + type: image + image: docker/image:latest + cmd: "do something" materializations: - - format: "Parquet" - location: "s3://....." - partition: "year" + - format: "Parquet" + location: "s3://....." + partition: "year" schema: - fields: - - name: "name" - type: "string" - description: "The name of the user" - - name: "year" - - description: "...." - primary_key: "country_name" + fields: + - name: "name" + type: "string" + description: "The name of the user" + - name: "year" + - description: "...." + primary_key: "country_name" metadata: "..." ``` diff --git a/Open Questions.md b/Open Questions.md index 25e4e2a..26e0ee6 100644 --- a/Open Questions.md +++ b/Open Questions.md @@ -1,17 +1,18 @@ # Open Questions -Some questions which I'm intrigued about and haven't researched enough to add their own entry on this handbook. Inspired by [Gwern Questions](https://www.gwern.net/Questions), [Patrick Collison](https://patrickcollison.com/questions) and [Alexey Guzey](https://guzey.com/personal/research-ideas/). +Some questions which I'm intrigued about and haven't researched enough to add their own entry on this handbook. +Inspired by [Gwern Questions](https://www.gwern.net/Questions), [Patrick Collison](https://patrickcollison.com/questions) and [Alexey Guzey](https://guzey.com/personal/research-ideas/). - [What is a good approach to effective education?](https://www.lesswrong.com/posts/mMKKsbxGiNirGjsA9/effective-children-education). - - Would it be better if we grouped kids by skill level instead of age? - - [What's the best way of teaching kids how to think?](https://news.ycombinator.com/item?id=24638756) - - [How can schools be optimized?](https://astralcodexten.substack.com/p/book-review-the-cult-of-smart) - - How does effective [[Parenting]] looks like? + - Would it be better if we grouped kids by skill level instead of age? + - [What's the best way of teaching kids how to think?](https://news.ycombinator.com/item?id=24638756) + - [How can schools be optimized?](https://astralcodexten.substack.com/p/book-review-the-cult-of-smart) + - How does effective [[Parenting]] looks like? - Is intelligence mostly innate? What can we do to improve it? - [Are nootropics useful?](https://www.gwern.net/Nootropics) - How can [Genetic Engineering](https://www.youtube.com/watch?v=jAhjPd4uNFY) do good and [how can it go badly](https://www.youtube.com/watch?v=n__42UNIhvU). - - What happens when we start [[DNA Genetic Testing and Analysis |tinkering with our genes after improving our health]]? + - What happens when we start [[DNA Genetic Testing and Analysis|tinkering with our genes after improving our health]]? - What would improve current public discussion platforms? -- [[Open Data |How can we improve the Open Data Ecosystem]]? - - Can Impact DAOs be formed around collecting and using data for good? +- [[Open Data|How can we improve the Open Data Ecosystem]]? + - Can Impact DAOs be formed around collecting and using data for good? - I feel most people recycle by inertia. We feel good doing something we've been told helps the planet. The reality might be the opposite since there is no data and transparency around that. What other topics are in the same state? diff --git a/Organizations.md b/Organizations.md index 65ea19d..e0f2e0c 100644 --- a/Organizations.md +++ b/Organizations.md @@ -5,7 +5,7 @@ - Split things up (teams, code, data) into smaller sets. - Make sure no one gets blocked. - Make things composable (e.g: UNIX). - - Make processes [[Idempotence|idempotent]] and [[Automation |automated]]. + - Make processes [[Idempotence|idempotent]] and [[Automation|automated]]. - [Put mechanisms that enable the organization to learn and adapt](https://www.remyevard.com/posts/2021/11/30/healthy-organizations.html). - _Culture, Coordination, and Capital_ are the foundation of your ability to have an impact on your mission. - A company may be looked as a combination of 3 things: @@ -56,7 +56,7 @@ - [When facing organizational problems do not; ignore them, give up, switch to a top down approach, involve more "lead people", rely on heroes or aim for perfection](https://komoroske.com/slime-mold/). - Periodically observe pain points that cost productivity, and task people to reduce them, thereby producing more compound leverage across the whole organization. - [In any organization, the people devoted to the benefit of the organization itself always get in control and those dedicated to the goals that the organization is supposed to accomplish have less and less influence, and sometimes are eliminated entirely](https://www.jerrypournelle.com/reports/jerryp/iron.html). -- Leaders in a healthy organization [[Communication |listen and communicate]]. +- Leaders in a healthy organization [[Communication|listen and communicate]]. - Organizations naturally move towards growth: more people, more systems, more conflicting worldviews. To facilitate action, communication systems _will_ be established. Make sure these are effective. - [Teams usually don't stop to think what (and why) things are working or not working](https://cutlefish.substack.com/p/tbm-952-when-nothingeverything-actually). Make time for that. - By [swinging the pendulum](https://twitter.com/BrandonMChu/status/1502312472644100105) and changing focus periodically, you accept more extreme (and clear) outcomes in the short term, but in the long term arrived at the middle ground you aim for. diff --git a/Parenting.md b/Parenting.md index 9c7c150..886d67d 100644 --- a/Parenting.md +++ b/Parenting.md @@ -5,13 +5,13 @@ - Treat children with respect. They are very smart, they just lack experience. If they "misbehave", talk to them and explain why this is not good. If you can't find an explanation, chances are you are wrong and you should reevaluate your position. - [Answer questions with **as much detail as they want**](https://www.lesswrong.com/posts/8gapy2nLy4wysXSGL/parenting-rules). - You're already doing reinforcement training. - - We already reinforce behavior all the time, including bad behavior, often without meaning to. So you might as well notice what you’re doing. - - Children train parents as well as the other way around. + - We already reinforce behavior all the time, including bad behavior, often without meaning to. So you might as well notice what you’re doing. + - Children train parents as well as the other way around. - [Instead of punishing bad behavior, the emphasis should be on noticing and reinforcing good behavior](https://www.lesswrong.com/posts/Cf2xxC3Yx9g6w7yXN/notes-from-don-t-shoot-the-dog). - [Be consistent](https://www.jefftk.com/p/predictable-parenting). Kids will have a predictable context to follow and are less stressed from the context being ambiguous. - - [If one parent starts to _parent_ and starts solving a situation, the other parent _should_ shut up and not intervene at all.](https://www.lesswrong.com/posts/BfP42fcnuMovbu5fe/grandpa-has-different-rules) The parent who started handling a situation also finishes. If the other parent disagrees on how this situation is handled, they still shut up and we sit down later without the kids, talk about it and try to harmonize our approaches. - - [Only saying things you're comfortable fully standing behind.](https://www.jefftk.com/p/how-to-parent-more-predictably) - - Consistency is important, but don't be afraid to adapt and change your approach if it's not working. + - [If one parent starts to _parent_ and starts solving a situation, the other parent _should_ shut up and not intervene at all.](https://www.lesswrong.com/posts/BfP42fcnuMovbu5fe/grandpa-has-different-rules) The parent who started handling a situation also finishes. If the other parent disagrees on how this situation is handled, they still shut up and we sit down later without the kids, talk about it and try to harmonize our approaches. + - [Only saying things you're comfortable fully standing behind.](https://www.jefftk.com/p/how-to-parent-more-predictably) + - Consistency is important, but don't be afraid to adapt and change your approach if it's not working. - Make sure to set boundaries and establish rules, but also be open to negotiation and compromise. - The parenting advice world is full of people who found something that worked for them and who then made the unwarranted conclusion that it is universal truth. - What works for one child may not work for another. It's important to be flexible and adjust your parenting style as needed to best support each child. diff --git a/Planning.md b/Planning.md index 04d0b12..0e50141 100644 --- a/Planning.md +++ b/Planning.md @@ -17,4 +17,4 @@ To help with planning, you should have these things: - [[Writing a Roadmap |Roadmap]]. A unified view of what the team is working towards shipping. - List of options. -No matter what the final plan is, [[Teamwork#^473cb4 |document it]] and you'll have a log of all the plans to reflect back on. +No matter what the final plan is, [[Teamwork#^473cb4|document it]] and you'll have a log of all the plans to reflect back on. diff --git a/Politics.md b/Politics.md index 3d4fe63..d5fa3aa 100644 --- a/Politics.md +++ b/Politics.md @@ -1,15 +1,15 @@ # Politics - To debate politics as in any other field, first gather information and then decide. [Think like a scientist](https://waitbutwhy.com/2019/09/thinking-ladder.html). -- Think of it as a [[Systems |complex system]]. Everything is related and has unexpected consequences. Don't miss-attribute systemic failures to scapegoats. - - The world is really complex, so we can't effectively model it. Therefore we should not just use the simple model where there is only one approach to [[Problem Solving |solving problems]]. - - If everyone hates the current system, who perpetuates it? Probably [[Incentives]]. - - [It's easier to blame people than systems](https://youtu.be/aPhrTOg1RUk). +- Think of it as a [[Systems|complex system]]. Everything is related and has unexpected consequences. Don't miss-attribute systemic failures to scapegoats. + - The world is really complex, so we can't effectively model it. Therefore we should not just use the simple model where there is only one approach to [[Problem Solving |solving problems]]. + - If everyone hates the current system, who perpetuates it? Probably [[Incentives]]. + - [It's easier to blame people than systems](https://youtu.be/aPhrTOg1RUk). - Politics is affected by the population psyche. During rough times, we lose some ability to think clearly as a group. - If you think politics is annoying, it's because you're privileged enough to not care about it. - Don't attach to any movement so it doesn't become part of [[Identity|your identity]]. [Arguments are soldiers](https://www.lesswrong.com/posts/9weLK2AJ9JEt2Tt8f/politics-is-the-mind-killer). Once you attach to one side, you must support all arguments of that side, and attack all arguments that appear to favor the enemy side. - Political ideologies are mostly wrong. For most issues it's makes a lot more sense to study the issue in detail than try to have an opinion based on pre-packaged ideology. It's better to discuss issues without invoking teams. - - Issues aren't binary. Political parties make it seem so to make it work with their political interests. When you spot a binary question, think if its really a binary one or it is much more nuanced. + - Issues aren't binary. Political parties make it seem so to make it work with their political interests. When you spot a binary question, think if its really a binary one or it is much more nuanced. - Some issues are not as important but are discussed much more times. The fact that some changes happens very gradually makes it hard for our brains that didn't evolve with subtle dangers in mind to realize the scope of the problem (e.g Climate Change vs terrorist attacks). [Sometimes, even if the issue is very simple to solve, its hard to discern its importance when every other issue is being raised as more important than the others](https://slatestarcodex.com/2017/11/30/book-review-inadequate-equilibria/). - Not all actions are equal. Some actions just validate your identify (arguing with someone online) and others don't seem right but make large differences (negotiating farm animals welfare). - We usually vote to whoever gives us simple (and probably wrong) solutions. @@ -17,23 +17,23 @@ - Groups that form around a goal can work better or worse, depending on how well the goal can be verified by the group. If you're forming a group based on [what percentage of your income are you willing to devote to altruism](https://www.effectivealtruism.org/), that's a really easy thing to monitor. - [Meritocracy isn't an "-ocracy" like democracy or autocracy, where people in wigs sit down to frame a constitution and decide how things should work. It's a dubious abstraction over the fact that people prefer to have jobs done well rather than poorly, and use their financial and social clout to make this happen](https://astralcodexten.substack.com/p/book-review-the-cult-of-smart). - [There's an imbalance between doing things and preventing things](https://astralcodexten.substack.com/p/ezra-klein-on-vetocracy). If a leader does something, and it's bad, then journalists will be on the scene to interview the victims of their failure, protesters can march against their abuses of power, etc. If a leader doesn't do something, and it would have been good, this is invisible except in rare cases. As the media becomes better at covering things, people become more outraged by abuses, we should expect the number of new policies that have large impact to go down. - - [[Problem Solving#^ec616e |When you observe or interact with a problem in any way, you can be blamed for it. At the very least, you are to blame for not doing more]]. + - [[Problem Solving#^ec616e |When you observe or interact with a problem in any way, you can be blamed for it. At the very least, you are to blame for not doing more]]. - [Processes that create durable change need to be bulldozery toward the status quo but protecting that change requires a vetocracy](https://vitalik.ca/general/2021/12/19/bullveto.html). There's some optimal rate at which such [[processes]] should happen; too much and there's chaos, not enough and there's stagnation. - Your perception of reality has probably been at least a little manipulated. Your opponents are behaving the way they are based on a perception of reality that's different from your own. - - What does this look/feel like to the people I don't know? + - What does this look/feel like to the people I don't know? - Everyone belongs to a tribe and underestimates how influential that tribe is on their thinking. Tribes reduce the ability to challenge ideas or diversify your views because no one wants to lose support of the tribe. Tribes are as self-interested as people, encouraging [[ideas]] and narratives that promote their survival. But they're exponentially more influential than any single person. So tribes are very effective at promoting views that aren't analytical or rational, and people loyal to their tribes are very poor at realizing it. - Utopia can't be planed from scratch! Push decisions to the edges (localism) where they have [[incentives]] to make good choices. - - A good counter argument is that people might not be educated enough to make the best decision and a centralized institution could do it much better for them (e.g: a government banning lead from most products is credited with the most significant global drop in crime rates in decades). + - A good counter argument is that people might not be educated enough to make the best decision and a centralized institution could do it much better for them (e.g: a government banning lead from most products is credited with the most significant global drop in crime rates in decades). - [Liberalism has a few big economic problems](https://slatestarcodex.com/2017/02/22/repost-the-non-libertarian-faq/); [[coordination]] issues (Moloch), irrationality and lack of information. - - You are not an individual self in the first place, you're an ecosystem of parts. It’s teamwork all the way down! + - You are not an individual self in the first place, you're an ecosystem of parts. It’s teamwork all the way down! - The costs of regulations are regressive: [much more easily absorbed by big companies than startups](https://slatestarcodex.com/2013/12/08/a-something-sort-of-like-left-libertarianism-ist-manifesto/). The problem with banning and regulating things is that it’s a blunt instrument. -- *Could laws be self corrected?* When a law is approved, If X is not archived in Y time, withdraw law. Many of the problems people worry about probably won't exist in 10 years. There are likely new problems you could never have guessed would come up. [When writing a policy, include a few internal facing failure signals and a few external facing failure signals that make clear the policy isn't working anymore](https://bellmar.medium.com/the-death-of-process-cdb0151a41fe) and might be better to revisit. +- _Could laws be self corrected?_ When a law is approved, If X is not archived in Y time, withdraw law. Many of the problems people worry about probably won't exist in 10 years. There are likely new problems you could never have guessed would come up. [When writing a policy, include a few internal facing failure signals and a few external facing failure signals that make clear the policy isn't working anymore](https://bellmar.medium.com/the-death-of-process-cdb0151a41fe) and might be better to revisit. - Sometimes the more important thing is not [[Making Decisions |better mechanisms for the final decision-making step]], but better mechanisms for [discussing and coordinating](https://twitter.com/VitalikButerin/status/1433396553591320578) what to propose (explore the space) in the first place. - We should be exploring alternatives ways of doing things. Right now we have mostly one type of political system, one type of voting system and one method of science funding for example. - [Communities die primarily by refusing to defend themselves](https://www.lesswrong.com/posts/tscc3e5eujrsEeFN4/well-kept-gardens-die-by-pacifism). Censorship and moderation might be required for a great community to continue existing. - Being good at politics doesn't mean being good at taking decisions that help your voters. [High-functioning sociopaths climb the ladder, so now the world's run mostly by sociopaths](https://www.ribbonfarm.com/2009/10/07/the-gervais-principle-or-the-office-according-to-the-office/). - Most of the time, political parties focus on how to collect more money (updating taxes) instead of how to use it more effectively. - - We don't know a lot about how the money is used and how to best optimize it. There's isn't too much attention around transparency of these movements. + - We don't know a lot about how the money is used and how to best optimize it. There's isn't too much attention around transparency of these movements. - Transparency in politics make it easier to understand the issues and the people who are making progress. E.g: There is no transparency around recycling, so its hard to measure any impact (positive or negative). - Absolute laws affect problems that are context dependent. The goal is to minimize misery. @@ -49,7 +49,7 @@ - [Charter Cities](https://youtu.be/mSHBma0Ithk). - [Quadratic Voting](http://ericposner.com/quadratic-voting/) and [Quadratic Funding](https://wtfisqf.com/). - - [Online Quadratic Voting](https://quadraticvote.co/). + - [Online Quadratic Voting](https://quadraticvote.co/). - [Georgism](https://astralcodexten.substack.com/p/your-book-review-progress-and-poverty). - [Prediction Markets](https://astralcodexten.substack.com/p/instead-of-pledging-to-change-the) as a tool for accountability. [FAQ](https://astralcodexten.substack.com/p/prediction-market-faq). - [Pol.is](https://pol.is/home). diff --git a/Processes.md b/Processes.md index dd3d0b0..ff2542b 100644 --- a/Processes.md +++ b/Processes.md @@ -21,8 +21,8 @@ When designing a process, look for these properties: - Flexible. Make if fluid enough to keep up with changes. [Loopholes will be abused](https://www.youtube.com/watch?v=dDYFiq1l5Dg) if the process can't change quickly enough to fix itself. - Low Friction. Simple processes are easier to understand and apply. [Trivial inconveniences usually have more implications than it seems](https://www.lesswrong.com/posts/reitXJgJXFzKpdKyd/beware-trivial-inconveniences). - Short [[Feedback Loops]]. Show the results as soon as you can. -- [[Idempotence |Idempotent]] processes are easy to manage +- [[Idempotence|Idempotent]] processes are easy to manage A process takes an input to produce an output. A group of processes can be view as a System. -_The only purpose of good process is to produce good outcomes._ A process is not good unless it produces good outcomes. +*The only purpose of good process is to produce good outcomes.* A process is not good unless it produces good outcomes. diff --git a/Productivity.md b/Productivity.md index 8e341c4..cef8b4c 100644 --- a/Productivity.md +++ b/Productivity.md @@ -4,12 +4,12 @@ - Done is better than perfect. - Do the worst thing first. Give yourself a reward once you're done. - Adopt a fixed volume approach to productivity. - - Tough choices are inevitable; focus on making them consciously and well. - - Create smaller chunks. This helps getting in the flow (find the right balance between the challenge of the activity and your own skills levels). + - Tough choices are inevitable; focus on making them consciously and well. + - Create smaller chunks. This helps getting in the flow (find the right balance between the challenge of the activity and your own skills levels). - Avoid multitasking. Focus on one big project at a time, and see it to completion before moving onto the next. - Leverage the power of positive pressure by publicly committing to your goals. - [Improve your environment](https://nesslabs.com/neuroscience-of-procrastination). Design your workspace in a way that minimizes distractions, whether physical or digital. - **What is optimal for me won't be optimal for you**. You'll have to experiment to find out what works best for you. -- [[Journaling |Keep a log]] of what happened each day. You can also add what you've learned! +- [[Journaling|Keep a log]] of what happened each day. You can also add what you've learned! - Create [[Checklist]] for repetitive processes. For example, a [[Checklist]] detailing all the task to do before ending the day. - "Where is the good knife?" If you're looking for your good X, you have bad Xs. Throw those out. diff --git a/Programming.md b/Programming.md index f88e2be..51111fb 100644 --- a/Programming.md +++ b/Programming.md @@ -63,7 +63,7 @@ A programmer should know [lots](http://programmer.97things.oreilly.com/wiki/inde - Discuss [trade-offs](https://twitter.com/kelseyhightower/status/774076482637312001), which you prefer, and reach a resolution. - [Every system eventually sucks](https://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/). Assume everything has bugs. - **Keep the [[Feedback Loops |iteration loop]] short**. - - Invest in tools to [[Automation |automate]] and improve the development cycle (CI, CD). Decreasing build times a few seconds actually saves a lot of time over time. Deploy often to make the loop end to end. If you need to do something manually more than twice, then write a tool for the third time. + - Invest in tools to [[Automation|automate]] and improve the development cycle (CI, CD). Decreasing build times a few seconds actually saves a lot of time over time. Deploy often to make the loop end to end. If you need to do something manually more than twice, then write a tool for the third time. - **Avoid implicit rules**. - Implicit rules should always be made explicit and shared with others or automated. Ideally, all processes should be written as code, stored, and versioned. Minimize the cognitive load imposed on your users. - The best way to understand something is to break it. The second best way is to rewrite it from scratch without using any external libraries. diff --git a/Public Speaking.md b/Public Speaking.md index 7e7231b..d35e140 100644 --- a/Public Speaking.md +++ b/Public Speaking.md @@ -7,7 +7,7 @@ Some great advice for [public speaking presentations](http://www.jilles.net/perm - Don't expose one bullet point of a list at a time. Your audience will ask to go back a slide or two, you end up half way in a build, or worse, with an empty slide. None of this is needed. - Don't just read the words on a page or sound like you’re delivering a memorized speech. - [The best talks are stories. The best stories involve repetition.](https://speakerdeck.com/holman/the-talk-on-talks) Tell a personal story to make your ideas more sticky. - - Adjust your tempo of speaking to match the urgency of the story. + - Adjust your tempo of speaking to match the urgency of the story. - Anticipate the audience’s skepticism and use it to your advantage. - Use fewer words. There is a place for details and context, but the most important is the actual message you want to get across. - Have a summary. Aim to have 3 big points/takeaways. diff --git a/README.md b/README.md index 30fdb7f..328e0c4 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ Personal bits of living knowledge, open for everyone. - 🗺️ Explore any topic you find interesting on the left sidebar. - 📣 [Reach out](https://davidgasquez.github.io/) if you want to chat! - --- _Photo by [Jan Kahánek](https://unsplash.com/@honza_kahanek) on [Unsplash](https://unsplash.com)_ diff --git a/Reducing Environmental Impact.md b/Reducing Environmental Impact.md index 3619347..4fbfd6f 100644 --- a/Reducing Environmental Impact.md +++ b/Reducing Environmental Impact.md @@ -13,9 +13,9 @@ - Donate to organizations that save (better than planting new) trees. - Reduce meat consumption. - Donate to birth control projects. -- [[Systems |Systemic problems need systemic solutions]]. We can't get there if everyone thinks they already "did their part" (turning off light switches, turning the thermostat down a degree, paper/metal straws, sorting recycling). - - [Individual actions aren't enough to improve the current state](https://www.youtube.com/watch?v=DYLWZPFEWTw). They give a false sense of progress [while not doing much progress](https://criticalscience.medium.com/climate-change-on-a-little-planet-b859721767d5). E.g: recycling doesn't seem to make a dent in climate change and [recycled plastics are often actively harmful, poisoning people or ending up in the sea](https://hwfo.substack.com/p/an-illustrated-guide-to-plastic-straws). Choices like your diet or how much you take the car have a much bigger impact. - - [By focusing on the individuals, we miss the much bigger problem of climate change.](https://youtu.be/RSgXcFdHxFI?list=WL). Around 70% of emissions come for 100 companies. Push governments to transform the economy so individuals don't have all the pressure. - - It's hard to make changes since climate change happens slowly and doesn't trigger our fight and fly response. We need [[Incentives]] that makes buying and using the good things the selfish thing to do. - - What's good for the individual is harming the collective and no one is going to concede because is not [[Thinking |rational]]. E.g: it's cheaper to buy an foul car than an electric one. - - Tesla is changing the incentives so even if you don't care about environmental change, you'd buy a Tesla. +- [[Systems|Systemic problems need systemic solutions]]. We can't get there if everyone thinks they already "did their part" (turning off light switches, turning the thermostat down a degree, paper/metal straws, sorting recycling). + - [Individual actions aren't enough to improve the current state](https://www.youtube.com/watch?v=DYLWZPFEWTw). They give a false sense of progress [while not doing much progress](https://criticalscience.medium.com/climate-change-on-a-little-planet-b859721767d5). E.g: recycling doesn't seem to make a dent in climate change and [recycled plastics are often actively harmful, poisoning people or ending up in the sea](https://hwfo.substack.com/p/an-illustrated-guide-to-plastic-straws). Choices like your diet or how much you take the car have a much bigger impact. + - [By focusing on the individuals, we miss the much bigger problem of climate change.](https://youtu.be/RSgXcFdHxFI?list=WL). Around 70% of emissions come for 100 companies. Push governments to transform the economy so individuals don't have all the pressure. + - It's hard to make changes since climate change happens slowly and doesn't trigger our fight and fly response. We need [[Incentives]] that makes buying and using the good things the selfish thing to do. + - What's good for the individual is harming the collective and no one is going to concede because is not [[Thinking|rational]]. E.g: it's cheaper to buy an foul car than an electric one. + - Tesla is changing the incentives so even if you don't care about environmental change, you'd buy a Tesla. diff --git a/Remote Jobs.md b/Remote Jobs.md index 7cc7baf..6412e80 100644 --- a/Remote Jobs.md +++ b/Remote Jobs.md @@ -1,8 +1,8 @@ # Remote Jobs - - [Remote Platforms List](https://docs.google.com/spreadsheets/d/1JfNAbUX_lN9K3MCNHO15GJtJ5qpk7H9Cl3xTBwv2FR8/htmlview) - Lots of websites with remote job offers. - - [Awesome Remote Job](https://github.com/lukasz-madon/awesome-remote-job) - A curated list of awesome remote working resources. - - [Remotive](https://remotive.io/) - Hand-screens live remote jobs from remote companies. - - [Outer Join](https://outerjoin.us/) - Remote jobs in data science. - - [Quickapply](https://quickapply.io/) - Apply to 80+ internships with one click. - - [Occuply](https://occuply.io/) - Apply to hundreds of jobs without ever answering the same question twice. +- [Remote Platforms List](https://docs.google.com/spreadsheets/d/1JfNAbUX_lN9K3MCNHO15GJtJ5qpk7H9Cl3xTBwv2FR8/htmlview) - Lots of websites with remote job offers. +- [Awesome Remote Job](https://github.com/lukasz-madon/awesome-remote-job) - A curated list of awesome remote working resources. +- [Remotive](https://remotive.io/) - Hand-screens live remote jobs from remote companies. +- [Outer Join](https://outerjoin.us/) - Remote jobs in data science. +- [Quickapply](https://quickapply.io/) - Apply to 80+ internships with one click. +- [Occuply](https://occuply.io/) - Apply to hundreds of jobs without ever answering the same question twice. diff --git a/Resolving Disagreement.md b/Resolving Disagreement.md index 882c2c0..5e65244 100644 --- a/Resolving Disagreement.md +++ b/Resolving Disagreement.md @@ -2,7 +2,7 @@ ![[Quotes#^448662]] -We should be arguing in a constructive fashion: treating arguments as an opportunity to [[Learning |expand knowledge]], finding points of disagreement, and collaborating towards a common truth. A few assumptions are required to have a successfully disagreement: +We should be arguing in a constructive fashion: treating arguments as an opportunity to [[Learning|expand knowledge]], finding points of disagreement, and collaborating towards a common truth. A few assumptions are required to have a successfully disagreement: - Epistemic humility. "It's possible that I might be the one who's wrong here". - Arguments are not soldiers. Most people go into debate with a war-like mentality, they feel they must fly the flag for all points that their side supports, regardless of how much they actually agree with them. @@ -16,19 +16,19 @@ We should be arguing in a constructive fashion: treating arguments as an opportu - If you debate it it right, you’ll end up respecting the other person. - [Sometimes, you'll end up with **high-level generators of disagreement**](https://slatestarcodex.com/2018/05/08/varieties-of-argumentative-experience/). It is what remains when everyone understands exactly what’s being argued, and agrees on what all the evidence says, but have vague and hard-to-define reasons for disagreeing anyway. - [Make disagreement fun](https://twitter.com/waitbutwhy/status/1461620476363612169): - - Your motivation for arguing is more "obsession with finding the truth" than "winning a competitive game". - - Adjust your conviction level to fit your knowledge of the topic. - - Attack my ideas, not people. Assume everyone is doing the same and don’t take disagreements personally. - - Never agree with me just for the sake of being agreeable. - - Acknowledge when you are wrong. + - Your motivation for arguing is more "obsession with finding the truth" than "winning a competitive game". + - Adjust your conviction level to fit your knowledge of the topic. + - Attack my ideas, not people. Assume everyone is doing the same and don’t take disagreements personally. + - Never agree with me just for the sake of being agreeable. + - Acknowledge when you are wrong. [Specific strategies we can employ to make sure a debate stays as constructive as possible](http://www.liamrosen.com/arguments.html): - - Let your opponent know exactly how strongly you feel about a certain argument. - - Find the [[Double Crux |crux]], the point where you and your opponent's argument intersect. - - Restate someone's point back to them to make sure you understood it correctly. This is called echoing and is more necessary for synchronous debates where information flows quickly. Not only does this make them feel heard, it also allows them the chance to clarify their beliefs. - - Leave your partner a line of retreat. - - Instead of taking on a weaker version of your opponent's argument, help the entire debate out by thinking of the best and most charitable version of your opponent's argument, then repeat it back to them to see if it makes sense. +- Let your opponent know exactly how strongly you feel about a certain argument. +- Find the [[Double Crux |crux]], the point where you and your opponent's argument intersect. +- Restate someone's point back to them to make sure you understood it correctly. This is called echoing and is more necessary for synchronous debates where information flows quickly. Not only does this make them feel heard, it also allows them the chance to clarify their beliefs. +- Leave your partner a line of retreat. +- Instead of taking on a weaker version of your opponent's argument, help the entire debate out by thinking of the best and most charitable version of your opponent's argument, then repeat it back to them to see if it makes sense. Make sure you're arguing efficiently. We feel the most compulsion to distinguish ourselves from people who are most similar to us. We spend a lot of energy attacking other groups who agree with us 90% but we fight over the remaining 10%. diff --git a/Signaling.md b/Signaling.md index 821bf30..5cdcc3a 100644 --- a/Signaling.md +++ b/Signaling.md @@ -2,11 +2,11 @@ - Signaling is [a method of conveying information among not-necessarily-trustworthy parties by performing an action which is more likely or less costly if the information is true than if it is not true](https://www.lesswrong.com/posts/KheBaeW8Pi7LwewoF/what-is-signaling-really). Because signals are often costly, they can sometimes lead to a depressing waste of resources, but in other cases they may be the only way to believably convey important information. - Most of our everyday actions can be traced back to some form of signaling or status seeking. - - A classic example of this would be a luxury watch: A Rolex isn't better at telling the time than a cheap Casio – but a Rolex signals something about its owner's economic power and thus their social standing. - - When signaling, the more expensive and useless the item is, the more effective it is as a signal. Although eyeglasses are expensive, they're a poor way to signal wealth because they're very useful; a person might get them not because they is very rich but because they really needs glasses. On the other hand, a large diamond is an excellent signal; no one needs a large diamond, so anybody who gets one anyway must have money to burn. -- Our brains deliberately hide this fact from us and others (self deception). Be [[Mindfulness |mindfull]] of your actions. + - A classic example of this would be a luxury watch: A Rolex isn't better at telling the time than a cheap Casio – but a Rolex signals something about its owner's economic power and thus their social standing. + - When signaling, the more expensive and useless the item is, the more effective it is as a signal. Although eyeglasses are expensive, they're a poor way to signal wealth because they're very useful; a person might get them not because they is very rich but because they really needs glasses. On the other hand, a large diamond is an excellent signal; no one needs a large diamond, so anybody who gets one anyway must have money to burn. +- Our brains deliberately hide this fact from us and others (self deception). Be [[Mindfulness|mindfull]] of your actions. - [Signaling can be broken down into different components](https://julian.digital/2020/03/28/signaling-as-a-service/): - - Signal Message: This is whatever (hidden) subtext you are trying to convey. - - Signal Distribution: The method of distributing the signal message. - - Signal Amplification: How do you make sure your message stand out? -- Software perfectly complements physical goods by distributing their signal messages at scale. Maximizing scale, however, prevents it from monetizing said distribution. This is why [[Social Media Issues |social media]] services are free to use. The added signaling value is solely captured by the physical products that are being shared. + - Signal Message: This is whatever (hidden) subtext you are trying to convey. + - Signal Distribution: The method of distributing the signal message. + - Signal Amplification: How do you make sure your message stand out? +- Software perfectly complements physical goods by distributing their signal messages at scale. Maximizing scale, however, prevents it from monetizing said distribution. This is why [[Social Media Issues|social media]] services are free to use. The added signaling value is solely captured by the physical products that are being shared. diff --git a/Slack.md b/Slack.md index a60584f..47669c8 100644 --- a/Slack.md +++ b/Slack.md @@ -12,7 +12,7 @@ - Any system that must pass information between multiple, tightly integrated subsystems, there is a well understood concept of maximum sustainable load. We know that number to be roughly 60% of maximum possible load for all systems. - [When solving a problem-you-don't-understand, slack gives you space for your shower thoughts to be in explore mode and go deeper instead of having to take action immediately](https://www.lesswrong.com/posts/fwSDKTZvraSdmwFsj/slack-gives-you-space-to-notice-reflect-on-subtle-things). -### Examples of Slack +## Examples - Money not budgeted for anything in particular, or which can easily be spent on something else instead, is financial slack. - [[Time]] not scheduled for anything in particular, or which can easily be rescheduled, is time slack. diff --git a/Sleep.md b/Sleep.md index 655bafb..56ef74d 100644 --- a/Sleep.md +++ b/Sleep.md @@ -4,7 +4,7 @@ - Don't use screens before sleep or right after waking up. - [Avoid sleep disruptors](https://alexvermeer.com/life-hacking/#sleep). Don't drink a lot of alcohol, don't eat large meals right before bed, don't have caffeine past mid-afternoon, don't watch super-intense movies right before bed, etc. - Spend the time to find the mattress, pillow, and sheets that work for you. -- [[Fitness |Exercise]]. +- [[Fitness|Exercise]]. - [Resting well is one of the highest compounding life habits](https://news.ycombinator.com/item?id=25582000). Makes everything else better. The better you rest, the more you enjoy life. - Sleep in a dark and cold room. To lower your body temperature you can take a bath before going to bed. - Don't stay in bed if you can't sleep. diff --git a/Social Games.md b/Social Games.md index 2accddc..20ad137 100644 --- a/Social Games.md +++ b/Social Games.md @@ -7,7 +7,7 @@ - [Diplomacy](https://play.google.com/store/apps/details?id=se.oort.diplicity). Also [Conspiracy](https://play.google.com/store/apps/details?id=com.badfrog.conspiracy.app), [Primacy](https://www.playprimacy.com/landing) and [Backstabbr](https://www.backstabbr.com/). - [The Schelling Game](https://www.lesswrong.com/posts/kM3Xd2mJeWtsGkgSW/the-schelling-game-a-k-a-the-coordination-game). Discern Schelling points among the group. - [Aumann Agreement Game](https://docs.google.com/document/d/1gCKURs0Xdnb8PQS54rckS4CJUp8kCklKs2KKi7xDZdA/edit#). Also possible to [play online](https://aumann.io/). - - [Calibration Questions](https://today.yougov.com/topics/politics/articles-reports/2022/03/15/americans-misestimate-small-subgroups-population). + - [Calibration Questions](https://today.yougov.com/topics/politics/articles-reports/2022/03/15/americans-misestimate-small-subgroups-population). - [Black Stories](https://detective-stories.com/). - [Stopots](https://stopots.com/es/). Choose a letter, think about things starting with it. - [Two Rooms and a Boom](https://boardgamegeek.com/boardgame/134352/two-rooms-and-boom). [Print and Play version](https://drive.google.com/drive/folders/1_jbxtyH0V0xACK_crdIbf-QMFv0aw7pr). @@ -18,7 +18,7 @@ - [Nomic](https://en.wikipedia.org/wiki/Nomic). - Randomz. Every person gets a random number (e.g from 0 to 100) and they have to say them in order. -### Card Games +## Card Games - [New Eleusis](https://web.archive.org/web/20190822201119/http://www.matuszek.org/eleusis1.html). - [Bartok](https://en.wikipedia.org/wiki/Bartok_(card_game)). @@ -28,7 +28,7 @@ - [Oh, Hell!](https://www.pagat.com/exact/ohhell.html) - [All Card Games](https://www.pagat.com/). A list of card games all around the world. -### RPGs +## RPGs - [Laser and Feelings](http://onesevendesign.com/lasers_and_feelings_rpg.pdf). Also [with hacks](https://writingalchemy.net/resources/lasers-and-feelings-hacks/)! - [Honey Heist](https://gshowitt.itch.io/honey-heist) @@ -37,7 +37,7 @@ - [Roll for Shoes](https://rollforshoes.com/) - [List of one page RPGs](https://www.reddit.com/r/rpg/comments/1vie0k/what_are_your_favorite_onepage_rpgs/) -### Online Platforms +## Online Platforms - [Netgames](https://netgames.io/). Social games for your phone. - [Rocket Crab](https://rocketcrab.com/). Party games for phones. @@ -45,7 +45,7 @@ - [Quicksplain](https://quicksplain.com/). Party trivia game for groups of 2 to 8 people that tests your knowledge on a variety of topics. - [Smart Cookie Trivia](https://www.smart-cookie-trivia.com/). Free, fun, challenging, multiplayer quizzes. -### Boardgames +## Boardgames - [Scythe](https://boardgamegeek.com/boardgame/169786/scythe) - [Res Arcana](https://boardgamegeek.com/boardgame/262712/res-arcana) diff --git a/Social Media Issues.md b/Social Media Issues.md index a348bad..fd5f540 100644 --- a/Social Media Issues.md +++ b/Social Media Issues.md @@ -2,13 +2,13 @@ -- Internet algorithms are [[Systems |complex profit-maximizing systems]] that want to spoon feed you whatever you're most likely to click on. This is a win-win, symbiotic relationship—until it's not. When the algorithm is luring in your primitive mind against you, the relationship is parasitic. [The algorithm will learn to show thing that will further confirm and strengthen your existing viewpoints](https://www.ted.com/talks/eli_pariser_beware_online_filter_bubbles). -- Each app is competing against the other apps. Only the apps that grains your [[Focus |attention]] continue. Over time, your attention is more and more hacked by these apps. All exist to sell your attention to advertisers. Each one has a team optimizing the attention hackin[]()g. +- Internet algorithms are [[Systems|complex profit-maximizing systems]] that want to spoon feed you whatever you're most likely to click on. This is a win-win, symbiotic relationship—until it's not. When the algorithm is luring in your primitive mind against you, the relationship is parasitic. [The algorithm will learn to show thing that will further confirm and strengthen your existing viewpoints](https://www.ted.com/talks/eli_pariser_beware_online_filter_bubbles). +- Each app is competing against the other apps. Only the apps that grains your [[Focus|attention]] continue. Over time, your attention is more and more hacked by these apps. All exist to sell your attention to advertisers. Each one has a team optimizing the attention hackin[]()g. - Social Media apps might be dangerous due to the amount of data they track. Data is not the new gold, it is the new oil, and it damages the social environment. [If you feel you are being watched, you change your behavior](https://www.socialcooling.com/). [Loss of privacy leads to loss of freedom](https://robindoherty.com/2016/01/06/nothing-to-hide.html). This may limit our desire to speak or think freely thus bring about “chilling effects” on [society—or social cooling](https://reasonandmeaning.com/2017/10/31/what-is-social-cooling/). - 1. Your data is collected and scored. - 2. Your digital reputation may affect your opportunities. - 3. People start changing their behavior to get better scores. - 4. As your weaknesses are mapped, you become increasingly transparent. + 1. Your data is collected and scored. + 2. Your digital reputation may affect your opportunities. + 3. People start changing their behavior to get better scores. + 4. As your weaknesses are mapped, you become increasingly transparent. - Most of our [[news]] feeds are insular networks made up of people who get their info from the same filter bubble we do. - Social media provides an unfortunate filter: it dumbs down complex information. [Ideas don't pass perfectly from one person to another. Like a game of Telephone, the message gets mutated with each re-telling so, over time, ideas "evolve" to be more catchy, copy-able, contagious.](https://ncase.me/crowds/) The fittest ideas doesn't need to be true. - These mechanics end up creating call-out culture where the way to make changes is to be as judgmental as possible about other people. [That is not activism, that is not bringing about change. If all you're doing is casting stones, you are probably not going to get that far](https://www.youtube.com/watch?v=qaHLd8de6nM). @@ -19,10 +19,10 @@ - Technology's constant interruptions and precisely-targeted distractions are taking a toll on our ability to think, to focus, to solve problems, and to be present with each other. - Social Media affects on our happiness, our self image, and our [[Mental Health]]. - While social networks claim to connect us, all too often they distract us from connecting with those directly in front of us, leaving many feeling both connected and socially isolated. - - Social media platforms are [[Incentives |incentivized]] to amplify the most engaging content, tilting public attention towards polarizing and often misleading content. By selling micro targeting to the highest bidder, they enable manipulative practices that undermine democracies around the world. + - Social media platforms are [[Incentives|incentivized]] to amplify the most engaging content, tilting public attention towards polarizing and often misleading content. By selling micro targeting to the highest bidder, they enable manipulative practices that undermine democracies around the world. - Any alternative social media company that grows to a sufficient size will have to embrace the evil tactics used by Facebook and Twitter in order to remain competitive in the market. It's all about profit for these companies, not about a better society. - - In the other hand, if social media companies were doing really bad things, we would hear ex-employees talk about these much more. + - In the other hand, if social media companies were doing really bad things, we would hear ex-employees talk about these much more. - You compare yourself with the best possible version of everyone else curated in their feeds. - Social Media companies have incentives to build echo chambers as that's one of the best ways to create engagement and keep users active. - [As a creator, Social Media companies use their filtering power to make money forcing people to pay to show the content to users](https://youtu.be/l9ZqXlHl65g). - - E.g. Instagram controls what shows and in which order it does to maximize time spent in app and make money. + - E.g. Instagram controls what shows and in which order it does to maximize time spent in app and make money. diff --git a/Stoicism.md b/Stoicism.md index 24c9502..022653f 100644 --- a/Stoicism.md +++ b/Stoicism.md @@ -4,8 +4,8 @@ - [Stoicism is a tool set that helps us direct our thoughts and actions in an unpredictable world](https://www.njlifehacks.com/what-is-stoicism-overview-definition-10-stoic-principles/). - It's not what happens to us but our reactions to it that matter. - Stoicism is known as a eudaimonistic theory, which means that the culmination of human endeavor or "end" (telos) is *eudaimonia*, meaning very roughly "happiness" or "flourishing". The Stoics defined this end as "living in agreement with nature". "Nature" is a complex and multivalent concept for the Stoics, and so their definition of the goal or final end of human striving is very rich. -- Stoicism teaches how to keep a calm and [[Thinking |rational]] mind no matter what happens to you and it helps you understand and focus on what you can control and not worry about and accept what you can't control. - - There are two circles; the circle of concern (what you worry about) and the circle of influence (what you can change). Focus on the overlapping part. +- Stoicism teaches how to keep a calm and [[Thinking|rational]] mind no matter what happens to you and it helps you understand and focus on what you can control and not worry about and accept what you can't control. + - There are two circles; the circle of concern (what you worry about) and the circle of influence (what you can change). Focus on the overlapping part. - We'd be crazy to want to face difficulty in life. But we'd be equally crazy to think that it isn't going to happen. Prepare for it and plan for the worst. The idea of premeditation of adversity is to repeatedly imagine potentially "bad" scenarios in advance, so that they will not catch you by surprise, and you'll be able to face them calmly and act according to virtue. - Stoic ideas inevitably lead to greater mindfulness. - Accept rather than fight every little thing. diff --git a/Systems.md b/Systems.md index 7b821a1..a8e0049 100644 --- a/Systems.md +++ b/Systems.md @@ -6,13 +6,13 @@ A system is anything with multiple parts that depend on each other. In other wor - [[Modularity]]. - Responsiveness. - - Know what the system is doing and make the [[Feedback Loops]] fast. + - Know what the system is doing and make the [[Feedback Loops]] fast. - [[Decentralized Protocols |Decentralized]]. - Permissionless. ## Changing Systems -To [change a system](https://intenseminimalism.com/2015/a-framework-for-thinking-about-systems-change/) you need vision, skills, [[Incentives |incentives]], resources and an action plan. Changing a [complex system](https://complexityexplained.github.io/) is hard and [even if the intention is good, the result might not](https://fs.blog/2013/10/iatrogenics/). +To [change a system](https://intenseminimalism.com/2015/a-framework-for-thinking-about-systems-change/) you need vision, skills, [[Incentives|incentives]], resources and an action plan. Changing a [complex system](https://complexityexplained.github.io/) is hard and [even if the intention is good, the result might not](https://fs.blog/2013/10/iatrogenics/). First, focus on [[Incentives]]. [Don't be angry at the people who are benefiting from a system, or at the system itself](https://news.ycombinator.com/item?id=22043088). Most just end up that way, the same way a river meanders towards the sea, or an electrical current tries to find ground. @@ -22,13 +22,13 @@ Keep in mind intervening in a system requires some kind of theory, some kind of Complex systems usually have [attractor landscapes](https://ncase.me/attractors/) that can be used to change it. [The world is richer and more complicated than we give it credit for](https://slatestarcodex.com/2017/03/16/book-review-seeing-like-a-state/). -A good approach to incrementally change a system (similar to [[Evolution |natural selection]]) is to: +A good approach to incrementally change a system (similar to [[Evolution|natural selection]]) is to: 1. Start by identifying the highest-leverage level to optimize at: Ask whether you're optimizing the machine or a cog within it. Complex systems might change in unexpected ways (butterfly effects). Minor differences in starting points make big differences on future states. 2. Begin optimizing the system by following the [Theory of Constraints](https://en.wikipedia.org/wiki/Theory_of_constraints): At any time, just one of a system's inputs is constraining its other inputs from achieving a greater total output. Make incremental changes. Alter the incentive landscape. [If you can make your system less miserable, make your system less miserable!](https://astralcodexten.substack.com/p/book-review-the-cult-of-smart) 3. Re-examine the system from the ground up. Get data. Take nothing but the proven, underlying principles as given. Work up from there to create something better. -**Don't aim for an ideal system. Build a set of [[processes]] and protocols that evolve to fit the environment over time. ** [Complex systems fail](https://how.complexsystems.fail/). +**Don't aim for an ideal system. Build a set of [[processes]] and protocols that evolve to fit the environment over time.** [Complex systems fail](https://how.complexsystems.fail/). If everyone agrees the current system doesn't work well, who perpetuates it? Some [systems with systemic/incentives failures are broken in multiple places so that no one actor can make them better](https://slatestarcodex.com/2014/07/30/meditations-on-moloch/), even though, in principle, some [magically coordinated action could move to a new stable state](https://equilibriabook.com/molochs-toolbox/). @@ -52,13 +52,13 @@ Remember, sometimes not doing something is better than doing it ([Primum non noc 2. Cases where decision-makers can't reliably learn the information they need to make decisions, even though someone else has that information. 3. Systems that are broken in multiple places so that no one actor can make them better, even though, in principle, some magically coordinated action could move to a new stable state. One systemic problem can often be overcome by one altruist in the right place. Two systemic problems are another matter entirely. -### Examples: +### Examples - Making the switch from not relying on prediction markets to relying on prediction markets is fraught, because it might embarrass the leadership of existing institutions by revealing that their professed estimates are not very credible. - There are several newly designed voting methods which are likely to be improvements over the current system, but most have seen limited, if any, uptake. - - It's difficult to change political systems from the outside. - - Within a two-party system, both benefit from first past the post voting, as they know they have a ~50% chance of winning each election, so there is no incentive for them to change from within. - - Proponents of voting reform have not yet been able to coordinate on which method they recommend. + - It's difficult to change political systems from the outside. + - Within a two-party system, both benefit from first past the post voting, as they know they have a ~50% chance of winning each election, so there is no incentive for them to change from within. + - Proponents of voting reform have not yet been able to coordinate on which method they recommend. - Ongoing over-fishing of ocean fish. Each individual fishery (and, at a higher level, each country) would prefer a world where everyone fishes a sustainable amount, rather than over-fishing and crashing the fish populations that they all rely upon, but without a centralized enforcement mechanism, they have no way of ensuring that the other fisheries (or countries) go along with them in cutting back on fishing, so unilaterally doing so would simply make them get out-competed by others. - Countries building up their militaries. Most of the use of sizable militaries is fighting against other militaries (and as a deterrent against such), so they are overall a negative-sum game. If countries all agreed to cut back their militaries, they would (for the most part) all benefit, but due to the competitive nature, there is a strong incentive to not cut back. - Using companies producing widgets as an example, each company might wish to fairly pay their workers, maintain a safe work environment, and not pollute the environment. However, other companies can gain an edge by sacrificing things in favor of producing more widgets (e.g. hiring more workers at cheaper wages). Thus, the principled company must make similar changes, or get out-competed. This can continue until the companies have all sacrificed everything they can in favor of more [[productivity]], even if all of them would have preferred to peacefully coexist with comfortable work conditions. diff --git a/Talking.md b/Talking.md index f20e264..a3fd72b 100644 --- a/Talking.md +++ b/Talking.md @@ -2,22 +2,22 @@ - Smile and look at the eyes. - Remove filler words. -- Speak with [[Openness |sincerity and passion]]. +- Speak with [[Openness|sincerity and passion]]. - Speak [slow](https://sive.rs/slow) and naturally. Your first reaction is usually outdated. Either it's an answer you came up with long ago and now use instead of thinking, or it's a knee-jerk emotional response to something in your past. - - Say "I don't know" more. - - Slow down when you are talking, don't try to play catch up between your mouth and your thoughts. + - Say "I don't know" more. + - Slow down when you are talking, don't try to play catch up between your mouth and your thoughts. - Aim to make liberal use of the _you_ pronoun. - No matter how correct you are, you won't get anywhere by making the other person feel stupid. Not being annoying is more important than being smart. Aim to make friends. [Friends are better than money. Almost anything money can do, friends can do better. In so many ways a friend with a boat is better than owning a boat](https://kk.org/thetechnium/68-bits-of-unsolicited-advice/). - Ask for help instead of demanding it. - [Say "yes, and..." (accept ideas and build on top of them). Make other people feel good. Be positive (optimistic language)](https://youtu.be/VhkcmN-CCYw). -- Favor interrogative-led questions over leading questions. A leading question attempts to get the [[Listening |listener]] to agree or disagree with a premise you feed to them. An interrogative-led question often begins with the words: who; where; what; when; why. "Did you like the movie?" vs "What did you think about the movie?". +- Favor interrogative-led questions over leading questions. A leading question attempts to get the [[Listening|listener]] to agree or disagree with a premise you feed to them. An interrogative-led question often begins with the words: who; where; what; when; why. "Did you like the movie?" vs "What did you think about the movie?". - Make [interesting questions](https://docs.google.com/document/d/1K_iFxFt9lh1i0mxKRIhOSd2e8X1LNvxnihbChKXhyOc/mobilebasic) to know people better. Use FORD (Family, Occupation, Recreation, Dreams) as fallback topics. - - What's the change you'd do to the current political system? - - Why hasn't happened? - - [[Thought Experiments]] - - Will you eat synthetic meat? - - [Things to argue about over the holidays instead of politics](https://dynomight.net/arguments/). + - What's the change you'd do to the current political system? + - Why hasn't happened? + - [[Thought Experiments]] + - Will you eat synthetic meat? + - [Things to argue about over the holidays instead of politics](https://dynomight.net/arguments/). - Remember people's names. Humans want to be significant. We strive for meaning. - Dishonest Flattery while effective in some cases, will destroy you long term. If you are unable to find a compliment about another human being that is truthful, you're not trying hard enough. -- In difficult conversations, keep in mind the ultimate purpose and [[Mindfulness |be calm]]. You don't need to win the conversation. Ensure safety. Control your emotions. +- In difficult conversations, keep in mind the ultimate purpose and [[Mindfulness|be calm]]. You don't need to win the conversation. Ensure safety. Control your emotions. - Share your facts as stories, not global facts. diff --git a/Teamwork.md b/Teamwork.md index 20c6d83..5399b26 100644 --- a/Teamwork.md +++ b/Teamwork.md @@ -1,11 +1,11 @@ # Teamwork - Explicitly define the [[values]] and desired [[culture]] of your team. -- 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]]. +- 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]]. - When coming up with a long-term vision is important to stay abstract. - Stick to defining components and keep concepts generic (cache, [[Databases]], algorithm, ...). Show how the components interact. - Define boundaries and limitations of each component. -- 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]]**. +- 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]]**. - To make everyone more productive and happy: **Make feedback loops fast**. [Some best practices](https://simonwillison.net/2022/Oct/1/software-engineering-practices/): - Tested, automated process for new development environments. - Automated preview environments. @@ -13,7 +13,7 @@ - Templates for new projects and components. - Mechanisms for creating test data. - Invest in [thoughtful logging](https://www.16elt.com/2023/01/06/logging-practices-I-follow/a). -- Create a [[Company Handbooks |handbook]] to store your [[Company Knowledge Management |company knowledge]]. Document: +- Create a [[Company Handbooks|handbook]] to store your [[Company Knowledge Management|company knowledge]]. Document: - [[Processes]]. Status updates, [[Design Docs]], [on-boarding docs/scripts](https://about.gitlab.com/blog/2020/02/10/lessons-learned-as-data-team-manager/), [[Checklist]], ... - Decisions. Context and rationale can be documented in a durable location. - Each team should [keep a changelog](https://keepachangelog.com/en/1.0.0/). [The company too](https://medium.com/linear-app/startups-write-changelogs-c6a1d2ff4820). ^473cb4 @@ -36,11 +36,9 @@ - Things you shouldn't have built that way. - Accidental complexity is a sum of all the shortcuts you have taken. Complexity attracts more complexity and compounds in a non-linear way. Every shortcut you take is an invitation to more shortcuts elsewhere. - When the context changes a lot, you can use [the blue tape technique](https://randsinrepose.com/archives/the-blue-tape-list/) to notice what is wrong with it: - - 1. Notice everything that feels off. - 2. Make a list of everything that feels off, no matter how big or small. - 3. Wait a bit, like a month, but address everything. - + 1. Notice everything that feels off. + 2. Make a list of everything that feels off, no matter how big or small. + 3. Wait a bit, like a month, but address everything. - This translates to ideas to review, tools to try, docs you want to write up, ... - Culture should incentive people to fix things outside their area. Encourage submitting Pull Requests that might be rejected. - Teams [need slack to absorb and adapt when unexpected things come up](https://www.neelnanda.io/blog/38-slack) and to prioritize the development of force multipliers (tooling and automation). @@ -60,22 +58,20 @@ - Ask people ["when do you think you'll get this done"](https://mobile.twitter.com/Carnage4Life/status/1438982223395393536), write it down and then follow up at that time. That makes teams more effective. - Every document must have a specific goal written at the top of it. - When building something: - - 1. Question everything. - 2. Remove more than you add. - 3. Optimize what works. - 4. Shorten iteration cycles. **[Boyd's Law of Iteration](https://blog.codinghorror.com/boyds-law-of-iteration/): speed of iteration beats quality of iteration**. - 5. [[Automation |Automate]] and keep standards. - + 1. Question everything. + 2. Remove more than you add. + 3. Optimize what works. + 4. Shorten iteration cycles. **[Boyd's Law of Iteration](https://blog.codinghorror.com/boyds-law-of-iteration/): speed of iteration beats quality of iteration**. + 5. [[Automation|Automate]] and keep standards. - Keep great global [[coordination]] and incentive local experimentation. - Being able to run small and compounding experiments (on the product or company [[processes]] and systems) is important. **Work smaller**. - [Some experiments won't work](https://www.lesswrong.com/posts/97LgacucCxmyjYiNT/the-archipelago-model-of-community-standards). But oftentimes it _feels_ like it wont work when in fact you just haven't stuck with it long enough for it to bear fruit. This is hard enough for _solo_ experiments. For group experiments, where not just one but _many_ people must all try a thing at once and _get good at it_, all it takes is a little defection to spiral into a mass exodus. - The group with the most power determine the system that reflect and reinforce their own way of thinking. Aim for inclusion. _Diversity is being invited to the party. Inclusion is being asked to dance and help organizing the party_. - [Brainstorm for questions first (explore). Then find the answers (exploit).](https://getpocket.com/explore/item/better-brainstorming) -- Strive for constructive conflict. Get people to [[Asking Questions |ask questions]]. Engage in passionate, unfiltered debate about what you need to do to succeed. -- Encourage to fail. Failing is good if the team [[Learning |learns]] from it! +- Strive for constructive conflict. Get people to[[Asking Questions|ask questions]]. Engage in passionate, unfiltered debate about what you need to do to succeed. +- Encourage to fail. Failing is good if the team [[Learning|learns]] from it! - Encourage effectiveness. Find ways to free up your time. -- Communication is a central part of working in teams. Prefer [[Asynchronous Communications]], use common [[Communication |communications]] techniques and be friendly. Trust and efficient communication has a big impact on team effectiveness. +- Communication is a central part of working in teams. Prefer [[Asynchronous Communications]], use common [[Communication|communications]] techniques and be friendly. Trust and efficient communication has a big impact on team effectiveness. - Have a primary [[Communication]] channel. - Use long-form [[Writing]], rather than [[Meetings]], speaking, and chatting. Speaking only helps who's in the room, [[Writing]] helps everyone. - Finish projects before starting more. @@ -98,13 +94,13 @@ - [Standards make it easy for new team members to onboard and enhance efficiency in the long run (removes micro-decisions)](https://seattledataguy.substack.com/p/setting-standards-for-your-data-team). - [Learned helplessness](https://en.wikipedia.org/wiki/Learned_helplessness) can happen in a team. Two of the main reasons of this [normalization of deviance](https://danluu.com/wat/): - The team needs to follow processes that have either been externally imposed, or internally imposed but no-one remembers exactly why. - - The sheer scale and/or complexity of how things work. There is truly no-one who understands the emergent behavior of the [[Systems |system]]. + - The sheer scale and/or complexity of how things work. There is truly no-one who understands the emergent behavior of the [[Systems|system]]. - E.g: Slow _boiling frog_ situations where existing tools have become ineffective but no one noticed. - [Act as if you might leave on short notice](https://jmmv.dev/2021/04/always-be-quitting.html). Document your knowledge, long-term plans, meetings, train people around you, empower other people, delegate and keep learning! - You have to put in more effort to make something appear effortless. Effortless, elegant performances are often the result of a large volume of effortful. Praise this instead of complex solutions. - Invisible work will happen. If you're doing it, make an effort to share and get credit for it. Build a narrative (story) for your work. Arm your manager and fight recency bias keeping track of all the things you've done. - As a manager, give problems to solve, not solutions. Make sure the team knows what they're working toward and that it has the resources needed to complete the work. -- Most software or processes should be opinionated. In increases [[Coordination |collaboration]]. Flexible processes lets everyone invent their own workflows, which eventually creates chaos as teams scale. +- Most software or processes should be opinionated. In increases [[Coordination|collaboration]]. Flexible processes lets everyone invent their own workflows, which eventually creates chaos as teams scale. - As teams scale, traditional approaches to decision making force a tradeoff between transparency and efficiency. - The easiest way to ensure everyone can understand the how and why of a decision is to adopt systems that, through their daily operation, ensure such context is automatically and readily available to those who might want it (and explicitly not only those who presently need it). - [Run 1:1s (one-on-ones)](https://erik.wiffin.com/posts/how-to-get-the-most-out-of-your-11s/). A recurring meeting with no set agenda between a manager and one of their reports. Don’t make it a status update (these should be async). Chat about anything bothering you, career growth or type work that is interesting for you. End it with actionable next steps. diff --git a/The Four Laws of Behavior Change.md b/The Four Laws of Behavior Change.md index 8917960..9cd9c6d 100644 --- a/The Four Laws of Behavior Change.md +++ b/The Four Laws of Behavior Change.md @@ -1,6 +1,6 @@ # The Four Laws of Behavior Change -- Any [[Habits |habit]] can be broken down into a [[Feedback Loops |feedback loop]] that involves four steps: cue, craving, response, and reward. +- Any [[Habits|habit]] can be broken down into a [[Feedback Loops |feedback loop]] that involves four steps: cue, craving, response, and reward. - The ultimate purpose of [[Habits]] is to solve the problems of life with as little energy and effort as possible. Once our [[Habits]] become automatic, we stop paying attention to what we are doing. ## Building Habits @@ -20,4 +20,4 @@ - Prime your environment to make future good habits easier and to increase friction for bad habits. 4. Make it satisfying. - Attach some immediate gratification to your habits that reinforce your desired [[Identity]]. - - The human brain evolved to [[Time |prioritize]] immediate rewards over delayed rewards. + - The human brain evolved to [[Time|prioritize]] immediate rewards over delayed rewards. diff --git a/Themes.md b/Themes.md index 23019a1..a349ee1 100644 --- a/Themes.md +++ b/Themes.md @@ -1,6 +1,6 @@ # Themes -To better accomplish positive life change, [give yourself a theme](https://youtu.be/NVGuFdX5guE). A theme will be easy to follow and will impact your [[Habits |daily actions]]. Without knowing where you want to go you just wonder. Resolutions give us the feeling of failure, themes gives us chances to apply them. A good theme can't fail. Themes don't have very defined [[Goals]]. +To better accomplish positive life change, [give yourself a theme](https://youtu.be/NVGuFdX5guE). A theme will be easy to follow and will impact your [[Habits|daily actions]]. Without knowing where you want to go you just wonder. Resolutions give us the feeling of failure, themes gives us chances to apply them. A good theme can't fail. Themes don't have very defined [[Goals]]. Just having a theme in your mind will change the way you think. You'll notice paths that weren't there before. Broad themes gives flexibility. Pick a broad directional idea that resonates with you and run with it. Themes can be as long or short as you need. These are some theme ideas: @@ -31,4 +31,4 @@ These are the 3 themes I try to keep in my at my home. - No bad knifes. - Make the right thing to do the easiest thing to do. -- Make easy to [[Automation |automate]] stuff. +- Make easy to [[Automation|automate]] stuff. diff --git a/Thinking.md b/Thinking.md index 2719329..4097c7d 100644 --- a/Thinking.md +++ b/Thinking.md @@ -14,7 +14,7 @@ - Believing you're rational makes it easier to fool yourself mistaking your intuitions with rational decision. - Stress test your ideas/assumptions/beliefs with experiments and facts as many times as possible. - Anything you know or do could be wrong. You get less dumb by saying things and getting feedback. [We all have crony beliefs](https://meltingasphalt.com/crony-beliefs/). From time to time, do a self-audit and figure out which ideas you've come to hold sacred and remind yourself that they're just ideas. - - A great way to do that is to [bet on everything](https://www.lesswrong.com/posts/ybYBCK9D7MZCcdArB/how-to-measure-anything) where you can or will find out the answer. Even if you're only testing yourself against one other person, it's a way of calibrating yourself to avoid both overconfidence and under-confidence, which will serve you in good stead emotionally when you try to do [[Fallacies |inadequacy reasoning]]. It'll also force you to do falsifiable predictions. + - A great way to do that is to [bet on everything](https://www.lesswrong.com/posts/ybYBCK9D7MZCcdArB/how-to-measure-anything) where you can or will find out the answer. Even if you're only testing yourself against one other person, it's a way of calibrating yourself to avoid both overconfidence and under-confidence, which will serve you in good stead emotionally when you try to do [[Fallacies|inadequacy reasoning]]. It'll also force you to do falsifiable predictions. - A tool to assign a percentage to a belief is [the equivalent bet test](https://www.lesswrong.com/posts/EtxTDPMXrbmpheiAt/how-the-equivalent-bet-test-actually-works). - Instead of thinking "I'm sure X is fake!", try to think in terms of probabilities. E.g: I think there's a 90% chance X is fake. Instead of thinking in terms of changing your mind, think in terms of updating your probabilities. [This mindset](https://astralcodexten.substack.com/p/book-review-the-scout-mindset) makes it easier to remember that it's not a question of winning or losing, but a question of being as accurate as possible. “Probability update” is less emotionally devastating than "I said X, but actually ~X, so I was wrong"). - You can try things to find out which ideas are right or wrong. It requires asking "What else would be true if this thing were true?" or "What would be different depending on whether X versus Y were true?". @@ -38,7 +38,7 @@ - [Motivated Reasoning or Soldier Mindset](https://youtu.be/w4RLfVxTGH4?list=WL): - You are fighting to make sure an argument wins. - You are fighting to make another argument lose. - - You are [[incentives |incentivized]] to believe something, or not to notice something, because of social or financial rewards or because it'd be physically inconvenient/annoying. + - You are [[incentives|incentivized]] to believe something, or not to notice something, because of social or financial rewards or because it'd be physically inconvenient/annoying. - You are [offended/angered/defensive/agitated](https://www.lesswrong.com/posts/yCWPkLi8wJvewPbEp/the-noncentral-fallacy-the-worst-argument-in-the-world). - You are afraid you'll lose something important if you lose a belief. - You are arguing about definitions of words instead of ideas. diff --git a/Thought Experiments.md b/Thought Experiments.md index 58322ae..11ebc58 100644 --- a/Thought Experiments.md +++ b/Thought Experiments.md @@ -2,21 +2,26 @@ > A thought experiment is a peek into the counterfactual world -A thought experiment is a device with which one performs an intentional, structured process of intellectual deliberation in order to speculate, within a specifiable [[Problem Solving |problem domain]], about potential consequences (or antecedents) for a designated antecedent (or consequent). +A thought experiment is a device with which one performs an intentional, structured process of intellectual deliberation in order to speculate, within a specifiable [[Problem Solving|problem domain]], about potential consequences (or antecedents) for a designated antecedent (or consequent). - Thought experiments enable us to explore for the purpose of thinking. They reveal our instinctive knowledge, allow us to predict implications and outcomes, and anticipate problems. -- You have to compare your reasoning to the way you _would have_ reasoned in a counterfactual world, a world in which your motivations were different—would you judge that politician's actions differently if he was in the opposite party? Would you consider that study's methodology sound if its conclusion supported your side? Try to _actually imagine_ the counterfactual scenario. Don't simply formulate a verbal question for yourself. Conjure up the counterfactual world, place yourself in it, and observe your reaction. Five useful thought experiments: - 1. **The double standard test**. Am I judging one person/group by a standard I wouldn't apply to another person/group? - 2. **The outsider test**. Imagine someone else stepped into your shoes—what do you expect they would do in your situation? Or imagine that _you're_ an outsider who just magically teleported into your body. - 3. **The conformity test**. If other people no longer held this view, would you still hold it? - 4. **The selective skeptic test**. Imagine this evidence supported the other side. How credible would you find it then? - 5. **The status quo bias test**. Imagine your current situation was no longer the status quo. Would you then actively choose it? +- You have to compare your reasoning to the way you _would have_ reasoned in a counterfactual world, a world in which your motivations were different—would you judge that politician's actions differently if he was in the opposite party? Would you consider that study's methodology sound if its conclusion supported your side? Try to _actually imagine_ the counterfactual scenario. Don't simply formulate a verbal question for yourself. Conjure up the counterfactual world, place yourself in it, and observe your reaction. - Thought experiments on their own can't tell you what's true or fair or what decision you should make. But they allow you to catch your brain in the act of motivated reasoning, and take that into account as you work to figure out what's true. -### Interesting Thought Experiments +## Useful Thought Experiments + +These thought experiments are useful for evaluating your beliefs and reasoning. They'll help your [[Thinking]]. + +- **The double standard test**. Am I judging one person/group by a standard I wouldn't apply to another person/group? +- **The outsider test**. Imagine someone else stepped into your shoes—what do you expect they would do in your situation? Or imagine that _you're_ an outsider who just magically teleported into your body. +- **The conformity test**. If other people no longer held this view, would you still hold it? +- **The selective skeptic test**. Imagine this evidence supported the other side. How credible would you find it then? +- **The status quo bias test**. Imagine your current situation was no longer the status quo. Would you then actively choose it? + +## Interesting Thought Experiments - [Experience Machine](https://en.m.wikipedia.org/wiki/Experience_machine). - [The iPhone Thought Experiment](https://waitbutwhy.com/table/iphone-thought-experiment). - Cryonics - - Is like getting to an hospital in the future - - What if you wake up in a dystopian future? + - Is like getting to an hospital in the future + - What if you wake up in a dystopian future? diff --git a/Time.md b/Time.md index 52f0baa..0305950 100644 --- a/Time.md +++ b/Time.md @@ -31,4 +31,4 @@ Time is the most valuable and least replaceable resource. Just like money, [time - The window of time we can expect things to remain the same is decreasing. Things change faster and faster. To save time we do "technology". [Technology gives us extra time and deeply affect how we live](https://youtu.be/zHL9GP_B30E). - Mortality is the main source of scarcity. If we had infinite time, we would be less concerned with whether something was faster. The reason speed has value is because time has value; the reason time has value is because human life has value, and lifespans are finite. [If you made lifespans much longer, you'd reduce the effective cost of everything](https://balajis.com/the-purpose-of-technology/). The ultimate purpose of technology is to eliminate mortality. - Spend money on experiences. -- [[Meditation |Calm down]], gain autonomy over your choices, and make better ones. +- [[Meditation|Calm down]], gain autonomy over your choices, and make better ones. diff --git a/Values.md b/Values.md index d8d5b6c..37d632f 100644 --- a/Values.md +++ b/Values.md @@ -4,4 +4,4 @@ You are what you do (eat, listen, read, watch). Not what you say, not what you believe, not how you vote, but what you spend your time on. -These are the values I try to stand for. **[[Curiosity |Curious]], [[Mindfulness |Mindful]] and [[Openness |Open]]**. +These are the values I try to stand for. **[[Curiosity|Curious]], [[Mindfulness|Mindful]] and [[Openness|Open]]**. diff --git a/Web3.md b/Web3.md index 6aa9a7a..e6d566d 100644 --- a/Web3.md +++ b/Web3.md @@ -1,6 +1,6 @@ # Web3 -- Web3 is much more than [[Blockchain]] and [[Cryptocurrencies]]. [It means building in public, new types of incentives, real ownership of digital property, internet-wide login / identity](https://ckarchive.com/b/p9ueh9hp409k), ... +- Web3 is theoretically more than [[Blockchain]] and [[Cryptocurrencies]]. [It means building in public, new types of incentives, real ownership of digital property, internet-wide login / identity](https://ckarchive.com/b/p9ueh9hp409k), ... - Key decisions associated with maintaining and updating cryptonetwork protocols. As with every human organization, aligning interests and beliefs among human participants to reach agreement is the goal of [[governance]]. - [In cryptonetworks, these decisions are made by the community, using open and transparent mechanisms](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e). DAOs don't need a boss! - Cryptocurrencies have the [[Incentives]] to keep the users happy since forking is an option. @@ -13,20 +13,20 @@ - [The Complete Guide to Full Stack Web3 Development](https://dev.to/dabit3/the-complete-guide-to-full-stack-web3-development-4g74) and the [Web3 stack](https://edgeandnode.com/blog/defining-the-web3-stack). - [Kernel Community](https://kernel.community/en/learn/). - Web3 native alternatives: - - [Trello](https://dework.xyz/). - - [Notion](https://www.clarity.so/). - - [Medium](https://mirror.xyz/dashboard). - - [Search](https://slate.host/). - - [Imgur](https://www.pinata.cloud/). - - [Netlify](https://fleek.co/). - - [Firebase](https://textile.io). - - [Dropbox](https://www.sliksafe.com/). [Another](https://files.chainsafe.io/). + - [Trello](https://dework.xyz/). + - [Notion](https://www.clarity.so/). + - [Medium](https://mirror.xyz/dashboard). + - [Search](https://slate.host/). + - [Imgur](https://www.pinata.cloud/). + - [Netlify](https://fleek.co/). + - [Firebase](https://textile.io). + - [Dropbox](https://www.sliksafe.com/). [Another](https://files.chainsafe.io/). ## Links - [Kernel](https://kernel.community/). An 8 week program covering crypto and web3. - [Crypto Canon](https://a16z.com/2018/02/10/crypto-readings-resources/) - Great list of crypto readings and resources. - - [Understanding Crypto](https://a16z.com/2020/04/30/explaining-crypto-from-a16z/)- Learn more about cryptocurrencies. + - [Understanding Crypto](https://a16z.com/2020/04/30/explaining-crypto-from-a16z/)- Learn more about cryptocurrencies. - [DAOs, A Canon](https://future.a16z.com/dao-canon/). Understand, build, and get involved with “decentralized autonomous organizations”. - [Trading View](https://www.tradingview.com/markets/cryptocurrencies/) - Crypto charts. - [Finematics](https://www.youtube.com/channel/UCh1ob28ceGdqohUnR7vBACA). Educational videos on DeFi (Decentralized Finance). @@ -77,7 +77,7 @@ - [Luabase](https://github.com/luabase) - [Digital Assets Examples](https://github.com/aws-samples/digital-assets-examples) -### Bounty Based Collaboration: +### Bounty Based Collaboration - [Bounties Network](https://bounties.network/) - Find freelancers and bounty programs for any task paid in any token on Ethereum. - [Open Bounty](https://openbounty.status.im/) - Bounty-based collaboration tool that plugs right into GitHub. diff --git a/Writing.md b/Writing.md index 5d4af25..41212bf 100644 --- a/Writing.md +++ b/Writing.md @@ -40,7 +40,7 @@ [If you have already written lots of concept-oriented atomic around the topic, your task is more like editing than composition. You can make an outline by shuffling the note titles, write notes on any missing material, and edit them together into a narrative.](https://notes.andymatuschak.org/z3PBVkZ2SvsAgFXkjHsycBeyS6Cw1QXf7kcD8) -Instead of having a task like “write an outline of the first chapter,” you have a task like “find notes which seem relevant.” Each step feels doable. +Instead of having a task like "write an outline of the first chapter" you have a task like "find notes which seem relevant" Each step feels doable. ## Starting Points