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