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