Changelog
June 2, 2026
fix: link
Updated
- Motivation When Studying
Show diff
diff --git a/src/content/docs/writing/motivation_when_studying.md b/src/content/docs/writing/motivation_when_studying.md index 3b1823c..959a16b 100644 --- a/src/content/docs/writing/motivation_when_studying.md +++ b/src/content/docs/writing/motivation_when_studying.md @@ -1,17 +1,17 @@ --- title: Motivation when Studying --- - Students fail when they are not motivated - When they don't see the meaning in their work[^1] - When they can't connect it to their goals[^2] - - When they lack [freedom](/writing/autonomy-in-work) + - When they lack [freedom](/writing/autonomy_in_work) - Motivation comes best from enjoying your work - Turn the writing everything and thinking about process in to a hobby - The book says artists and scientists are essentially information hobbyists. - Think Rivers Cuomo [^1]: Balduf, Megan. “Underachievement Among College Students.” Journal of Advanced Academics 20, no. 2 (February 2009): 274–94. <https://doi.org/10.1177/1932202X0902000204>. [^2]: Glynn, Shawn M., Gita Taasoobshirazi, and Peggy Brickman. “Science Motivation Questionnaire: Construct Validation with Nonscience Majors.” *Journal of Research in Science Teaching* 46, no. 2 (February 2009): 127–46. <https://doi.org/10.1002/tea.20267>.
docs: what we resist persists
Added
Updated
- Levenshtein Distance
Show diff
diff --git a/src/content/docs/programming/algorithms/levenshtein-distance.md b/src/content/docs/programming/algorithms/levenshtein-distance.md index 2df5023..d421e1d 100644 --- a/src/content/docs/programming/algorithms/levenshtein-distance.md +++ b/src/content/docs/programming/algorithms/levenshtein-distance.md @@ -24,54 +24,55 @@ Distance: `3` ## Dynamic Programming Let `d[i][j]` be the edit distance between: - the first `i` characters of string `a` - the first `j` characters of string `b` Base cases: ```text d[0][j] = j d[i][0] = i ``` Those mean an empty string needs `j` insertions to become a prefix of length -`j`, and a prefix of length `i` needs `i` deletions to become empty.[^1][^2] +`j`, and a prefix of length `i` needs `i` deletions to become empty.[^1] -Recurrence: +Recurrence[^2]: ```py cost = 0 if a[i - 1] == b[j - 1] else 1 d[i][j] = min( d[i - 1][j] + 1, # delete d[i][j - 1] + 1, # insert d[i - 1][j - 1] + cost # substitute or match ) ``` The answer is `d[len(a)][len(b)]`. ## Complexity For strings of length `m` and `n`: - time: `O(mn)` - memory: `O(mn)` with the full table - memory: `O(min(m, n))` if only the previous row is kept Use the full table when you need the edit script. Use row compression when you only need the distance. ## Use Case Levenshtein distance is useful for: - spell correction - fuzzy search - typo tolerance - approximate matching - comparing biological or symbolic sequences [^1]: V. I. Levenshtein, "Binary Codes Capable of Correcting Deletions, Insertions, and Reversals", 1966 English translation of the 1965 Russian paper. <https://nymity.ch/sybilhunting/pdf/Levenshtein1966a.pdf> + [^2]: Robert A. Wagner and Michael J. Fischer, "The String-to-String Correction Problem", Journal of the ACM, 1974. - Motivation When Studying
Show diff
diff --git a/src/content/docs/writing/motivation_when_studying.md b/src/content/docs/writing/motivation_when_studying.md index 74b4a14..3b1823c 100644 --- a/src/content/docs/writing/motivation_when_studying.md +++ b/src/content/docs/writing/motivation_when_studying.md @@ -1,16 +1,17 @@ --- title: Motivation when Studying --- - Students fail when they are not motivated - - When they don't see the meaning in their work[^1] - - When they can't connect it to their goals[^2] - - When they lack [[Autonomy in Work|freedom]] + - When they don't see the meaning in their work[^1] + - When they can't connect it to their goals[^2] + - When they lack [freedom](/writing/autonomy-in-work) - Motivation comes best from enjoying your work - - Turn the writing everything and thinking about process in to a hobby - - The book says artists and scientists are essentially information hobbyists. - - Think Rivers Cuomo + - Turn the writing everything and thinking about process in to a hobby + - The book says artists and scientists are essentially information hobbyists. + - Think Rivers Cuomo [^1]: Balduf, Megan. “Underachievement Among College Students.” Journal of Advanced Academics 20, no. 2 (February 2009): 274–94. <https://doi.org/10.1177/1932202X0902000204>. -[^2]: Glynn, Shawn M., Gita Taasoobshirazi, and Peggy Brickman. “Science Motivation Questionnaire: Construct Validation with Nonscience Majors.” _Journal of Research in Science Teaching_ 46, no. 2 (February 2009): 127–46. <https://doi.org/10.1002/tea.20267>. + +[^2]: Glynn, Shawn M., Gita Taasoobshirazi, and Peggy Brickman. “Science Motivation Questionnaire: Construct Validation with Nonscience Majors.” *Journal of Research in Science Teaching* 46, no. 2 (February 2009): 127–46. <https://doi.org/10.1002/tea.20267>.
June 1, 2026
docs: direnv note
Added
Updated
- Engineering
Show diff
diff --git a/src/content/docs/engineering/index.md b/src/content/docs/engineering/index.md index b528bd5..797ea1c 100644 --- a/src/content/docs/engineering/index.md +++ b/src/content/docs/engineering/index.md @@ -1,10 +1,6 @@ --- title: Engineering -sidebar: - badge: - text: Start - variant: note --- Notes on Software Engineering as an industry and various tools and practices that are used. - Home
Show diff
diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index e885f8c..ba37340 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -1,17 +1,17 @@ --- -title: Owais' Places +title: Welcome description: desertthunder's digital garden homepage --- Hi! My name is Owais and this is my digital garden. It's a collection of notes I've taken on topics that interest me. This includes a lot of engineering and programming notes that I've taken (and continue to take) throughout my career and while working on personal projects. My hope is that someone learns something new or finds some wisdom that resonates with them. Digital gardens fascinated me for a long time. I miss the days of stumbling upon the [odd personal site](https://tilde.town/~dozens/sofa/) and want to be a part of bringing that back. I've tried keeping gardens in various iterations with tools like notion and even google drive, but nothing has been quite as consistent as a combination of [Obsidian](https://obsidian.md/) on my phone, [Neovim](https://neovim.io/) on my computer, and [Astro](https://astro.build/) for publishing. - Programming
Show diff
diff --git a/src/content/docs/programming/index.md b/src/content/docs/programming/index.md index 4720e5f..e093a0d 100644 --- a/src/content/docs/programming/index.md +++ b/src/content/docs/programming/index.md @@ -1,30 +1,23 @@ --- title: On Programming -sidebar: - badge: - text: Start - variant: note - --- This will contain notes related to programming languages I've "learned" or am learning. Can you ever really know a programming language top to bottom unless you wrote it? ## Proficiencies +Updated June 2026 + - TypeScript - Python - Java - Ruby - Go - -## Languages to Learn - -As of May 2024, these are languages that are on my radar to learn: - -- C++ +- Dart - Elixir +- Gleam - Rust -- Elm - - or Gleam +- F# +- OCaml
May 31, 2026
docs: BEAM me up
Added
May 29, 2026
docs: add Levenshtein distance algorithm notes
Added
May 26, 2026
docs: atproto oauth spec notes
Updated
- Atproto
Show diff
diff --git a/src/content/docs/engineering/atproto/index.md b/src/content/docs/engineering/atproto/index.md index 1311215..41487f0 100644 --- a/src/content/docs/engineering/atproto/index.md +++ b/src/content/docs/engineering/atproto/index.md @@ -28,83 +28,84 @@ The AT Protocol uses a layered architecture: └─────────────────────────────────────────────────┘ ``` ### Identity - **DIDs (Decentralized Identifiers)**: Persistent identifiers (e.g., `did:plc:abc123`) that remain stable across server migrations. - **Handles**: Human-readable names (e.g., `@alice.bsky.social`) that resolve to DIDs via DNS or HTTP. ### Personal Data Servers (PDS) Every user's data lives in a **Personal Data Server**. A PDS: - Stores the user's repository (a signed, Merkle-tree-based data structure). -- Handles authentication and authorization. +- Handles [OAuth authentication and authorization](/engineering/atproto/oauth). - Syncs data to relays and indexers. ### Relay (BGS) Relays aggregate data from many PDSs into a unified firehose, enabling: - Efficient indexing for search and discovery. - Feed generators to access content across the network. ### App View An **App View** consumes the firehose and provides application-specific APIs. For example, the Bluesky app view provides the social networking experience. ## Data Model ### Repositories A **repository** is a user's complete data store, structured as a [Merkle Search Tree (MST)](/engineering/atproto/mst). - **Records**: Individual data items (posts, likes, follows) stored as [DAG-CBOR](/engineering/atproto/cbor). - **Collections**: Namespaced groups of records (e.g., `app.bsky.feed.post`). - **Commits**: Signed snapshots of the repository state. ### Lexicons **Lexicons** are JSON schemas that define: - Record types and their fields. - XRPC methods (HTTP-like RPC calls). - Subscriptions for real-time data. Example Lexicon ID: `app.bsky.feed.post` ### AT-URIs Records are addressed using **AT-URIs**: ```sh at://did:plc:abc123/app.bsky.feed.post/3jqw2f7 ``` Format: `at://<authority>/<collection>/<rkey>` ## Key Technologies -| Component | Purpose | -| -------------------------------------------- | ----------------------------------------------- | +| Component | Purpose | +| ------------------------------------- | ----------------------------------------------- | | [DAG-CBOR](/engineering/atproto/cbor) | Canonical binary serialization format | | [MST](/engineering/atproto/mst) | Content-addressed, verifiable key-value storage | | [CAR](/engineering/atproto/car) | Archive format for repository export/sync | -| CIDs | Content identifiers linking to any data block | -| XRPC | HTTP-based RPC protocol for API calls | +| CIDs | Content identifiers linking to any data block | +| XRPC | HTTP-based RPC protocol for API calls | +| [OAuth](/engineering/atproto/oauth) | Client authorization and account authentication | ## Sync & Federation ### Repo Sync Repositories are synchronized using: 1. **`com.atproto.sync.getRepo`**: Full repository export as a [CAR file](/engineering/atproto/car). 2. **`com.atproto.sync.subscribeRepos`**: Real-time firehose of commits across the network. ### Event Stream The firehose emits events: - **Commit**: New or updated records.
May 25, 2026
refactor: migrate remaining mkdocs material directives to Asides from starlight
Added
Moved / renamed
- Indestructible from Indestructible
- Shoshin from Shoshin
- Diataxis from Diataxis
Removed
- Done
- Submodality
May 20, 2026
docs: strategy pattern
Added
May 17, 2026
feat: update description
Updated
- Home
Show diff
diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index 0d2eae4..e885f8c 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -1,40 +1,26 @@ --- -title: Desert Thunder's Digital Garden +title: Owais' Places description: desertthunder's digital garden homepage --- -import { Aside } from '@astrojs/starlight/components'; - -<Aside type="caution" title="Currently Remodeling 🚧"> - I've very recently migrated this site from `mkdocs` to `astro/starlight` - and am in the process of updating all of my notes. Please bear with me as - some admonitions/callouts will be broken. You'll see a lot of `!!! info`, - `!!! quote`, or `::: info`, `::: quote` etc. They'll be changed to be more - like this block. - - Some links will also be broken. -</Aside> - Hi! My name is Owais and this is my digital garden. It's a collection of notes I've taken on topics that interest me. This includes a lot of engineering and -programming notes that I've taken throughout my career and while working on -personal projects. My hope is that someone learns something new or finds some -wisdom that resonates with them. +programming notes that I've taken (and continue to take) throughout my career +and while working on personal projects. My hope is that someone learns something +new or finds some wisdom that resonates with them. -Digital gardens have been fascinating for me for a long time. I miss the days -of stumbling upon [information on an odd personal site](https://tilde.town/~dozens/sofa/) -on the internet and want to be a part of bringing that back. I've tried keeping -gardens in various iterations with tools like notion and even google drive, but -nothing has been quite as consistent as a combination of some plaintext editor -(VSCode & now Neovim) or -"[Knowledge IDE](https://dev.to/envoy_/obsidian-an-ide-for-your-brain-1bn7)" -like Obsidian. +Digital gardens fascinated me for a long time. I miss the days of stumbling upon +the [odd personal site](https://tilde.town/~dozens/sofa/) and want to be a part of +bringing that back. I've tried keeping gardens in various iterations with tools +like notion and even google drive, but nothing has been quite as consistent as a +combination of [Obsidian](https://obsidian.md/) on my phone, [Neovim](https://neovim.io/) +on my computer, and [Astro](https://astro.build/) for publishing. ## Inspiration -Top of the list is definitely the [Blue Book](https://lyz-code.github.io/blue-book/). -After starting a new python project and activating my virtual environment, I -pretty much always install mkdocs with the material theme. That site, while also -having some fantastic information, reminded me that I can just use mkdocs. +Top of the list is definitely the [Blue Book](https://lyz-code.github.io/blue-book/) +and the writing of [Maggie Appleton](https://maggieappleton.com/). She wrote a +phenomenal [essay](https://maggieappleton.com/garden-history) on the history & ethos +of digital gardens. Also, take a look at my notes on [cultivating](/writing/cultivation) a garden.
docs: structuring css
Added
May 16, 2026
docs: mirror info civics essay
Added
- Blockchain.png
- Centralization Graphs.png
- Committee Of Five Presenting The Declaration Of Independence To Congress.jpg
- Constitution.jpg
- Eth.png
- Gnu.png
- John Locke.jpg
- July Revolution.jpg
- King George Iii.jpg
- P2p.png
- Proposed Tag.png
- Pubkey.gif
- Putneydebates.jpg
- Separation Of Powers.jpg
- Statue Of Liberty.png
- Information Civics
- Patterns
May 11, 2026
docs: golden tests
Added
May 7, 2026
docs: di
Added
docs: add constellation notes
Added
chore: adjust base url
Updated
- Books
Show diff
diff --git a/src/content/docs/books.md b/src/content/docs/books.md index 85fadc0..39758a6 100644 --- a/src/content/docs/books.md +++ b/src/content/docs/books.md @@ -1,12 +1,12 @@ --- title: Books sidebar: badge: text: Start Here variant: success --- Links to notes I've taken on books. -1. [How to Take Smart Notes](/garden/writing/book-ahrens-2017) -2. [How to Be Perfect](/garden/philosophy/book-schur-2023) +1. [How to Take Smart Notes](/writing/book-ahrens-2017) +2. [How to Be Perfect](/philosophy/book-schur-2023) - Atproto
Show diff
diff --git a/src/content/docs/engineering/atproto/index.md b/src/content/docs/engineering/atproto/index.md index 7e1e465..1311215 100644 --- a/src/content/docs/engineering/atproto/index.md +++ b/src/content/docs/engineering/atproto/index.md @@ -46,73 +46,73 @@ A PDS: ### Relay (BGS) Relays aggregate data from many PDSs into a unified firehose, enabling: - Efficient indexing for search and discovery. - Feed generators to access content across the network. ### App View An **App View** consumes the firehose and provides application-specific APIs. For example, the Bluesky app view provides the social networking experience. ## Data Model ### Repositories -A **repository** is a user's complete data store, structured as a [Merkle Search Tree (MST)](/garden/engineering/atproto/mst). +A **repository** is a user's complete data store, structured as a [Merkle Search Tree (MST)](/engineering/atproto/mst). -- **Records**: Individual data items (posts, likes, follows) stored as [DAG-CBOR](/garden/engineering/atproto/cbor). +- **Records**: Individual data items (posts, likes, follows) stored as [DAG-CBOR](/engineering/atproto/cbor). - **Collections**: Namespaced groups of records (e.g., `app.bsky.feed.post`). - **Commits**: Signed snapshots of the repository state. ### Lexicons **Lexicons** are JSON schemas that define: - Record types and their fields. - XRPC methods (HTTP-like RPC calls). - Subscriptions for real-time data. Example Lexicon ID: `app.bsky.feed.post` ### AT-URIs Records are addressed using **AT-URIs**: ```sh at://did:plc:abc123/app.bsky.feed.post/3jqw2f7 ``` Format: `at://<authority>/<collection>/<rkey>` ## Key Technologies | Component | Purpose | | -------------------------------------------- | ----------------------------------------------- | -| [DAG-CBOR](/garden/engineering/atproto/cbor) | Canonical binary serialization format | -| [MST](/garden/engineering/atproto/mst) | Content-addressed, verifiable key-value storage | -| [CAR](/garden/engineering/atproto/car) | Archive format for repository export/sync | +| [DAG-CBOR](/engineering/atproto/cbor) | Canonical binary serialization format | +| [MST](/engineering/atproto/mst) | Content-addressed, verifiable key-value storage | +| [CAR](/engineering/atproto/car) | Archive format for repository export/sync | | CIDs | Content identifiers linking to any data block | | XRPC | HTTP-based RPC protocol for API calls | ## Sync & Federation ### Repo Sync Repositories are synchronized using: -1. **`com.atproto.sync.getRepo`**: Full repository export as a [CAR file](/garden/engineering/atproto/car). +1. **`com.atproto.sync.getRepo`**: Full repository export as a [CAR file](/engineering/atproto/car). 2. **`com.atproto.sync.subscribeRepos`**: Real-time firehose of commits across the network. ### Event Stream The firehose emits events: - **Commit**: New or updated records. - **Handle**: Handle changes. - **Identity**: DID document updates. - **Tombstone**: Account deletions. ## References - Official protocol specifications covering identity, data, and networking layers. [AT Protocol Specification](https://atproto.com/specs) - Home
Show diff
diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index 4e65215..0d2eae4 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -25,16 +25,16 @@ Digital gardens have been fascinating for me for a long time. I miss the days of stumbling upon [information on an odd personal site](https://tilde.town/~dozens/sofa/) on the internet and want to be a part of bringing that back. I've tried keeping gardens in various iterations with tools like notion and even google drive, but nothing has been quite as consistent as a combination of some plaintext editor (VSCode & now Neovim) or "[Knowledge IDE](https://dev.to/envoy_/obsidian-an-ide-for-your-brain-1bn7)" like Obsidian. ## Inspiration Top of the list is definitely the [Blue Book](https://lyz-code.github.io/blue-book/). After starting a new python project and activating my virtual environment, I pretty much always install mkdocs with the material theme. That site, while also having some fantastic information, reminded me that I can just use mkdocs. -Also, take a look at my notes on [cultivating](/garden/writing/cultivation) a garden. +Also, take a look at my notes on [cultivating](/writing/cultivation) a garden. - Aristotle Problem
Show diff
diff --git a/src/content/docs/philosophy/aristotle-problem.md b/src/content/docs/philosophy/aristotle-problem.md index 1e4cdab..1b58c8b 100644 --- a/src/content/docs/philosophy/aristotle-problem.md +++ b/src/content/docs/philosophy/aristotle-problem.md @@ -5,16 +5,16 @@ title: Aristotle's Problem Domain Aristotle's problem domain was trying to define[^1] what makes a person good: 1. What **qualities** they ought to have? 2. How much should they have? 3. Is everyone capable of having them? 4. How do we get them? 5. What does having them look like? - The end goal is happiness (eudaimonia/flourishing) - To do so we need virtues (things that make us good at being human) - We're born with potential to get virtues - And a natural aptitude towards some - We become virtuous by doing virtuous things (habitual) [^1]: Schur, Michael. How to Be Perfect: A Foolproof Guide to Making the Correct Moral Decision in Every Situation You Ever Encounter Anywhere on Earth, Forever. -First Simon&Schuster hardcover edition, Simon & Schuster, 2022. ([source](/garden/philosophy/book-schur-2023)) +First Simon&Schuster hardcover edition, Simon & Schuster, 2022. ([source](/philosophy/book-schur-2023)) - Bentham Scale
Show diff
diff --git a/src/content/docs/philosophy/bentham-scale.md b/src/content/docs/philosophy/bentham-scale.md index e08af64..896fe3a 100644 --- a/src/content/docs/philosophy/bentham-scale.md +++ b/src/content/docs/philosophy/bentham-scale.md @@ -1,17 +1,17 @@ --- title: Bentham's Scale --- - Intensity - Duration - Certainty - Propinquity (how soon it will happen) - Fecundity (how much pleasure) - Purity ($\frac{Pleasure}{Pain}$) - Extent (how many people benefit) - If you're acting publicly, spread as much pleasure you can ## Backlinks -1. [How to Be Perfect](/garden/philosophy/book-schur-2023) -2. [The Trolly Problem](/garden/philosophy/trolley-problem) +1. [How to Be Perfect](/philosophy/book-schur-2023) +2. [The Trolly Problem](/philosophy/trolley-problem) - Book Schur 2023
Show diff
diff --git a/src/content/docs/philosophy/book-schur-2023.mdx b/src/content/docs/philosophy/book-schur-2023.mdx index cda3c7b..7ac570f 100644 --- a/src/content/docs/philosophy/book-schur-2023.mdx +++ b/src/content/docs/philosophy/book-schur-2023.mdx @@ -12,57 +12,57 @@ Written by the venerable Michael Schur, creator of Parks & Recreation and of cou <Aside type="tip" title="Ethical Dilemma? Ask yourself..." icon='star'> 1. What are we doing? 2. Why are we doing it? 3. Is there something we could do that’s better? 4. Why is it better? </Aside> --- Everything has an ethical undercurrent and everything we do affects somebody Failure in trying to do the right thing is inevitable - But trying means we care Virtue ethics - what makes a person good or bad? - - [Aristotle](/garden/philosophy/aristotle-problem) wrestled with this + - [Aristotle](/philosophy/aristotle-problem) wrestled with this Brilliant instructors and wise friends are very important The Golden mean/goldilocks rule is that there is a spectrum that is like a see saw for virtues. If we veer to far towards one extreme, the see saw becomes imbalanced. - *ex.* Mildness is the golden mean of anger - Very challenging to define An excess of a virtue can harm the people around you If we don't take stock of our virtues, we can find ourselves moving towards extremes and these aspects can "calcify." As you practice, it becomes effortless - Schur talks about how Steve Carrell & Amy Poehler were like that with their comedy The closer we get to a golden mean, the easier it is to find others. - Examples include kindness and generosity Religious zealots ignore cruelty as it is not a slight against god Knowledge is how we escape cruelty --- <Aside type="note" title="The Trolley Problem" icon='information'> Do you let the trolley kill five workers ahead of you or do you switch to the other track and let one worker die? - Read more here: [link](/garden/philosophy/trolley-problem) + Read more here: [link](/philosophy/trolley-problem) --- by Philippa Foot </Aside> ## Quotes <Aside type="note" title="Hope" icon="open-book"> With enough work, no one is doomed to be forever deprived of magnanimity or courage or any other desirable quality, the way I’m doomed to get lost every time I walk around a parking garage looking for my car.[^1] </Aside> --- - Heuristic
Show diff
diff --git a/src/content/docs/philosophy/heuristic.md b/src/content/docs/philosophy/heuristic.md index 9990964..52e8d59 100644 --- a/src/content/docs/philosophy/heuristic.md +++ b/src/content/docs/philosophy/heuristic.md @@ -1,10 +1,10 @@ --- title: Heuristic --- # Heuristic - Enter an input and get an output (philosophical algorithm or function). - Gives us a rule of thumb for a certain scenario,[^1] as a guideline for our behavior -[^1]: [How to Be Perfect](/garden/philosophy/book-schur-2023) +[^1]: [How to Be Perfect](/philosophy/book-schur-2023) - Trolley Problem
Show diff
diff --git a/src/content/docs/philosophy/trolley-problem.md b/src/content/docs/philosophy/trolley-problem.md index 7021f29..e940eb5 100644 --- a/src/content/docs/philosophy/trolley-problem.md +++ b/src/content/docs/philosophy/trolley-problem.md @@ -1,24 +1,24 @@ --- title: The Trolley Problem --- - The problems arise when circumstances change - What if we're at a station with the lever and don't have the same amount of information? - What if we know someone on the tracks? - What if we push someone over a bridge to slow down the train and save everyone on the tracks? - Utilitarianism - Branch of consequentialism (only thing that matters is results) - The best action is what makes people the most happy (greatest happiness principle) - Developed by British philosophers Bentham (wanted himself studied and preserved after death) and Mill (had a rough childhood -- [Bentham's Scale](/garden/philosophy/bentham-scale) is a way to quantify pleasure & pain (hedons & dolors - happiness points & sadness demerits) +- [Bentham's Scale](/philosophy/bentham-scale) is a way to quantify pleasure & pain (hedons & dolors - happiness points & sadness demerits) - Utilitarians believe all people's happiness matters equally - Correlation does not imply causation - Humans don't often know the consequences of their actions - Most human actions don't have all the information - before or after - Critiques of utilitarianism center on the wide differences between everybody's pleasure and pain - When our actions can cause pain and suffering as a result, utilitarianism fails to take into account our integrity - Advantage of utilitarianism is a straightforward distribution (those in need get the most) ## Source/Backlink -[How to Be Perfect](/garden/philosophy/book-schur-2023) +[How to Be Perfect](/philosophy/book-schur-2023) - Hindley Milner
Show diff
diff --git a/src/content/docs/programming/functional_programming/hindley_milner.md b/src/content/docs/programming/functional_programming/hindley_milner.md index d8454fe..f3c9100 100644 --- a/src/content/docs/programming/functional_programming/hindley_milner.md +++ b/src/content/docs/programming/functional_programming/hindley_milner.md @@ -176,27 +176,27 @@ with Γ mapping variables to schemes. The important rules (up to `let`) are: - infer `Γ ⊢ e₁ : τ₁`, `Γ ⊢ e₂ : τ₂`, - assert `τ₁` must be `τ₂ -> β` for fresh `β`, - unify `τ₁` with `τ₂ -> β`, giving substitution `S`, - result type is `S β`. 4. **Let**: For `let x = e₁ in e₂`: - infer `Γ ⊢ e₁ : τ₁`, - generalize `τ₁` to `σ = Gen(Γ, τ₁)`, - infer `Γ, x:σ ⊢ e₂ : τ₂`, - result type is `τ₂`. ## Algorithm W -See [Algorithm W](/garden/programming/functional_programming/algo-w) +See [Algorithm W](/programming/functional_programming/algo-w) ## Further Reading 1. Bernstein, Max. “Damas-Hindley-Milner Inference Two Ways.” Max Bernstein, 15 Oct. 2024, <https://bernsteinbear.com/blog/type-inference/>. 2. Diehl, Stephen. "Hindley-Milner Inference" Write You a Haskell. <https://smunix.github.io/dev.stephendiehl.com/fun/006_hindley_milner.html>. 3. Tuhola, Henri. Hindley-Milner Type System/Algorithm W Study. <https://boxbase.org//entries/2018/mar/5/hindley-milner>. 4. Hazelden, Phil. A Reckless Introduction to Hindley-Milner Type Inference. <https://reasonableapproximation.net/2019/05/05/hindley-milner.html>. [^1]: <https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system> "Hindley–Milner type system" [^2]: <https://www.cs.tufts.edu/~nr/cs257/archive/martin-odersky/hmx.pdf> "Type Inference with Constrained Types" [^3]: <https://people.eecs.berkeley.edu/~necula/Papers/DamasMilnerAlgoW.pdf> "Principal type-schemes for functional programs" - Autonomy In Work
Show diff
diff --git a/src/content/docs/writing/autonomy_in_work.md b/src/content/docs/writing/autonomy_in_work.md index 31eae5a..ea96df5 100644 --- a/src/content/docs/writing/autonomy_in_work.md +++ b/src/content/docs/writing/autonomy_in_work.md @@ -1,9 +1,9 @@ --- title: Autonomy in Work --- This occurs when we are able to break down our work in to small chunks and steer it in a direction that is most interesting to us. This removes the need for us to use willpower to get things done.[^ref] -[^ref]: [How to Take Smart Notes](/garden/writing/book-ahrens-2017) - P. 138 +[^ref]: [How to Take Smart Notes](/writing/book-ahrens-2017) - P. 138 - Book Ahrens 2017
Show diff
diff --git a/src/content/docs/writing/book-ahrens-2017.mdx b/src/content/docs/writing/book-ahrens-2017.mdx index 4e39ff5..19e6041 100644 --- a/src/content/docs/writing/book-ahrens-2017.mdx +++ b/src/content/docs/writing/book-ahrens-2017.mdx @@ -1,103 +1,103 @@ --- title: How to Take Smart Notes --- import { Aside } from '@astrojs/starlight/components'; Two-Slip boxes in one markdown file: note and reference - notes extend and relate to other notes, not in isolation (one note can exist in different contexts - basically, we can understand how different ideas[^1]) -Read, Think, Understand - then write your note (woops) - we have to [write to externalize our ideas](/garden/writing/write_to_learn) +Read, Think, Understand - then write your note (woops) - we have to [write to externalize our ideas](/writing/write_to_learn) Life requires context switching, and notes with an index can help me pick up where I left off in the thought process. This is important for my work, as I am a knowledge worker Strip the workflow of everything that can be considered unimportant (I should probably stop using Notion for note taking - only as content management) The author advises that we always have the tools at hand - pen & paper (anything to capture with) A journal is a "graveyard for thoughts", the slip box should be for notes[^2] Asking yourself what you should learn is a useless question - it's easier to do things with a clear view of the destination - Deliberate practice helps us become better at making this journey[^3] > Nothing counts other than writing. The main goal[^4] of notes is to convey the truth (publishable insight) Note types: Fleeting, Permanent, Project (-specific) In order to find a topic, you need to have studied a subject - This makes me think of an old interview of Alexisonfire, where George says to make music, you have to listen to music. > By focusing on what is interesting and keeping written track of *your own intellectual development*, > topics, questions and arguments will emerge from the material without force. Rewarding work starts the positive feedback loop - Writing provides the feedback portion (we're forced to assess if we're understanding the material) -[Mere Exposure Effect](/garden/writing/mere_exposure_effect): If we do something a lot, we *think* we're good at it, even if we're not +[Mere Exposure Effect](/writing/mere_exposure_effect): If we do something a lot, we *think* we're good at it, even if we're not Focused attention is not very long. New technology damages our ability to practice sustained attention (where we work on one thing at a time) Creativity requires keeping an open mind and being able to switch to a narrow, analytical approach Memo-ize memories - group in to bundles, rather than discrete facts "Mind Like Water" - get knowledge out of our short term memory Willpower is like muscles - requires rest and gets exhausted quickly but can be strengthened Hand writing facilitates understanding because it is slow - college students have to understand what they hear rather than copy it down Shorter, in your own words allows us to focus on patterns, frames, and categories of an excerpt Re-reading breeds familiarity, writing forces us to confront misunderstanding - Cramming is for short term retention, not for learning The brain prioritizes comfort and its own happiness (like ego in The Power of Now) - Writing was Richard Feynman's thinking process (think outside your brain) -Forgetting can sometimes be [done by our minds](/garden/writing/active_inhibition) as a filter so we don't get flooded with memories and associations (think join models in SQL) +Forgetting can sometimes be [done by our minds](/writing/active_inhibition) as a filter so we don't get flooded with memories and associations (think join models in SQL) Memory can be measured by storage and retrieval strength - Storage strength can't be improved Linking is key! - Keep an eye towards other notes and contexts such that you can build the matrix around things you're interested in -Contradictions, paradoxes and problems help us reassess pre-existing knowledge stored in the slip-box (corrects for the [Feature Positive Effect](/garden/writing/feature_positive_effect)) +Contradictions, paradoxes and problems help us reassess pre-existing knowledge stored in the slip-box (corrects for the [Feature Positive Effect](/writing/feature_positive_effect)) Remember that the slip-box is just a tool[^5] -[Worldly Wisdom](/garden/writing/worldly_wisdom): hanging life experiences on mental models +[Worldly Wisdom](/writing/worldly_wisdom): hanging life experiences on mental models Spaced repitition and active recall are important for information retention. One idea per permanent note - place limits so that they stay concise. - Structure (experiment) and restrictions (assess what is important) are necessary for creativity The brain prioritizes information that is recently acquired and with emotions attached to it Evolution works by trial & error, not planning[^6] -- [Motivation](/garden/writing/motivation_when_studying) is relational (students must identify with and see the purpose of their work) - - And be [free](/garden/writing/autonomy_in_work) +- [Motivation](/writing/motivation_when_studying) is relational (students must identify with and see the purpose of their work) + - And be [free](/writing/autonomy_in_work) Athletes are more motivated when they imagine the training it takes to win.[^7] Build new habits to replace old ones, don't force old habits away - - The [goal of learning](/garden/writing/goal_of_learning) is to evolve + - The [goal of learning](/writing/goal_of_learning) is to evolve ## My Routine/Takeaways Keep a pen & paper handy at all times (if anything, just to avoid opening your phone when in the middle of a book) Abandon the notion of making perfect notes. Do you think the multicolored shit people made in college is something that would have helped you? Why not just make art instead? When processing notes, open up the source with anything you've highlighted - *ex. the Kindle notes & highlights for this book* Many of my attitudes towards learning are not conducive to learning, but to accomplishing a very specific task. Turn the writing everything and thinking about process in to a hobby [^1]: Page 20 - Goal Of Learning
Show diff
diff --git a/src/content/docs/writing/goal_of_learning.md b/src/content/docs/writing/goal_of_learning.md index c26e9fa..3bb72e6 100644 --- a/src/content/docs/writing/goal_of_learning.md +++ b/src/content/docs/writing/goal_of_learning.md @@ -1,9 +1,9 @@ --- title: Goal of Learning --- > The goal of learning is not to accumulate knowledge but about becoming a different person with a different way of thinking. The author is trying to say[^1] that we learn to grow, not collect. -[^1]: [How to Take Smart Notes](/garden/writing/book-ahrens-2017) +[^1]: [How to Take Smart Notes](/writing/book-ahrens-2017) - On Writing
Show diff
diff --git a/src/content/docs/writing/on_writing.md b/src/content/docs/writing/on_writing.md index 1cfdf25..86d07c0 100644 --- a/src/content/docs/writing/on_writing.md +++ b/src/content/docs/writing/on_writing.md @@ -1,14 +1,14 @@ --- title: On Writing sidebar: order: 1 badge: text: Start variant: note --- This section has notes about topics related to writing stories and educational material. It includes information about creating a site like this, and the backbone of my notes, writing to learn and using a zettlekasten system. -Here's a seed: [On Cultivating a Digital Garden](/garden/writing/cultivation) +Here's a seed: [On Cultivating a Digital Garden](/writing/cultivation) - Write To Learn
Show diff
diff --git a/src/content/docs/writing/write_to_learn.md b/src/content/docs/writing/write_to_learn.md index 873dfbe..553b59e 100644 --- a/src/content/docs/writing/write_to_learn.md +++ b/src/content/docs/writing/write_to_learn.md @@ -1,14 +1,14 @@ --- title: Write to Learn --- When you write as you learn, you create a tangible outcome out of what you've read.[^ref] I think what inhibits me is that I want everything to be perfect and pristine, when in reality it's the substance that matters. Notes can be messy and disorganized, so long as you understand what you're putting in your brain. - Write down *anything* you think is helpful to understanding or need to remember - When you process, then you can create perfection (the structure is important) -[^ref]: [How to Take Smart Notes](/garden/writing/book-ahrens-2017) +[^ref]: [How to Take Smart Notes](/writing/book-ahrens-2017)