Digital Garden

This Dendron vault of tech knowledge is organized according to domains and their sub-domains, along with specific implementation of those domains.

For instance, Git itself is a domain. Sub-domains of Git would include topics like commit, tags, reflog etc., while implementations of each of those could be cli, strat (strategies), inner (inner workings), and so on.

The goal of the wiki is to present data in a manner that is from the perspective of a querying user. Here, a user is a programmer wanting to get key information from a specific domain. For instance, if a user wants to use postgres functions and hasn't done them in a while, they should be able to query postgres.functions to see basic implementations, as well as common patterns that have been employed in the past.

This wiki has been written with myself in mind. While learning each of these domains, I have been sensitive to the "aha" moments and have noted down my insights as they arose. I have refrained from capturing information that I considered obvious or otherwise non-beneficial to my own understanding.

As a result, I have allowed myself to use potentially arcane concepts to help explain others. For example, in my note on unit testing, I have made reference to the microservices note. The ability to analogize between different concepts captured in different notes allows an opportunity to build strong generalized understandings. Given that you'd have to understand microservices to be able to draw that same parallel that I've already drawn, these links won't work for everyone. Since these notes are written for myself, I have been fine with taking these liberties and leaning on them heavily.

What I hope to gain from this wiki is the ability to step away from any given domain for a long period of time, and be able to be passably useful for whatever my goals are within a short period of time. Of course this is all vague sounding, and really depends on the domain along with the ends I am trying to reach.

To achieve this, the system should be steadfast to:

  • be able to put information in relatively easily, without too much thought required to its location. While location is important, Dendron makes it easy to relocate notes, if it becomes apparent that a different place makes more sense.
  • be able to extract the information that is needed, meaning there is a high-degree in confidence in the location of the information. The idea is that information loses a large amount of its value when it is unfindable. Therefore, a relatively strict ideology should be used when determining where a piece of information belongs.
    • Some concepts might realistically belong to multiple domains. For instance, the concept of access modifiers can be found in both C# and Typescript. Therefore, this note should be abstracted to a common place, such as OOP.

This Dendron notebook is the sister vault to the general Second Brain.

Tags

Throughout the garden, I have made use of tags, which give semantic meaning to the pieces of information.

  • ex. - Denotes an example of the preceding piece of information
  • spec: - Specifies that the preceding information has some degree of speculation to it, and may not be 100% factual. Ideally this gets clarified over time as my understanding develops. I try to go back after I have better understood the topic and clear out the notes of spec: tags
  • anal: - Denotes an analogy of the preceding information. When I can, I attempt to link concepts to others that I have previously learned.
  • mn: - Denotes a mnemonic
  • expl: - Denotes an explanation

Resources

UE (Unexamined) Resources

Often, I come across sources of information that I believe to be high-quality. They may be recommendations or found in some other way. No matter their origin, I may be in a position where I don't have the time to fully examine them (and properly extract notes), or I may not require the information at that moment in time. In cases like these, I will add reference to a section of the note called UE Resources. The idea is that in the future when I am ready to examine them, I have a list of resources that I can start with. This is an alternative strategy to compiling browser bookmarks, which I've found can quickly become untenable.

E (Examined) Resources

Once a resource has been thoroughly examined and has been mined for notes, it will be moved from UE Resources to E Resources. This is to indicate that (in my own estimation), there is nothing more to be gained from the resource that is not already in the note.

Resources

This heading is for inexhaustible resources.

  • A prime example would be a quality website that continually posts articles. - Another example would be a tool, such as software that measures frequencies in a room to help acoustically treat it.

Children
  1. *Arrs
  2. .NET
  3. API
  4. Alfred
  5. Android
  6. Apache
  7. Apache Flink
  8. Apollo
  9. Arduino
  10. Auth
  11. Aws
  12. Axios
  13. Azure
  14. Babel
  15. Binary
  16. BitTorrent
  17. Bitcoin
  18. Blockchain
  19. Browser
  20. C
  21. C#
  22. CAN
  23. CGI (Common Gateway Interface)
  24. CMS
  25. CSS (Cascading Style Sheets)
  26. Caddy
  27. Chatgpt
  28. Cloudflare
  29. CouchDB
  30. Crypt
  31. Cryptocurrency
  32. DB
  33. DBeaver
  34. DNS
  35. Data
  36. Datadog
  37. Debugging
  38. Dendron
  39. Deploy
  40. DevOps
  41. Development Process
  42. Docker
  43. Documentation
  44. Elastic Search
  45. Email
  46. Ember
  47. Enzyme
  48. Esbuild
  49. Eslint
  50. Express
  51. Fastlane
  52. Filesystem
  53. Firebase
  54. Formik
  55. Game
  56. General
  57. Git
  58. GitHub
  59. GitLab
  60. Go
  61. Gradle
  62. Graphics
  63. Graphile Migrate
  64. Graphile Worker
  65. Graphql
  66. HTML
  67. HTTPS
  68. Hardware Components
  69. Homebrew
  70. Intellij
  71. JSON
  72. JSON Schema
  73. Java
  74. Javascript
  75. Jekyll
  76. Jest
  77. Jupyter
  78. K6
  79. K8s
  80. Kafka
  81. Karabiner Elements
  82. Kibana
  83. LSP (Language Server Protocol)
  84. Lerna
  85. Linter
  86. Linux
  87. Mac
  88. Machine Learning
  89. Markdown
  90. Maven
  91. Memory
  92. Mobile
  93. Mongo
  94. Mongoose
  95. Mysql
  96. NAS (Network-attached Storage)
  97. Nestjs
  98. Network
  99. Nextjs
  100. Nginx
  101. Ngrok
  102. Nosql
  103. OS
  104. Objection
  105. Open API
  106. Opentracing
  107. PDF
  108. Paradigm
  109. Pg Xl
  110. Philosophy
  111. Postgraphile
  112. Postgres
  113. Presenting
  114. Product Design
  115. Protocol
  116. Python
  117. Pytorch
  118. RSS Feed
  119. Ramda
  120. Raspberry Pi
  121. React Native
  122. React Query
  123. Redis
  124. Redux
  125. Regex
  126. Retool
  127. Ruby
  128. Rust
  129. Rxjs
  130. SDK
  131. SQL
  132. Sanity
  133. Security
  134. Segment
  135. Serverless Framework
  136. Shell
  137. Sketch
  138. Spring
  139. Sqlite
  140. Storage
  141. Stripe
  142. Styled Components
  143. Svelte
  144. Svg
  145. Synology
  146. Tailscale
  147. Terraform
  148. Testing
  149. Third Party
  150. Tmux
  151. TypeGraphql
  152. Typescript
  153. Unified Modeling Language (UML)
  154. Unity
  155. Unix
  156. Usenet
  157. Vim
  158. Virtual Machine
  159. Vscode
  160. WatermelonDB
  161. Web
  162. Webpack
  163. Webserver
  164. Xcode
  165. YML
  166. Yarn
  167. Zookeeper
  168. iOS