55 Matching Annotations
  1. Sep 2023
    1. Expression-Oriented ClojureScript code

      It's a syntactical inversion of the imperative statement oriented javascript code.

    1. In this example, whenever a contact is changed, we replace the map modeling that contact entirely. When it comes time to render to the virtual DOM, the ContactList is going to re-render, because the contacts list is now a new object entirely.

      Pretty much the basic pattern you'll use.

      A change in data warrants a change in the map.

    2. Consider this: we are writing a contact management app, and we have a ContactList component that contains ContactListItem components. These components are all backed by a list of contacts and should re-render whenever a contact changes.

      EXACTLY. Remember the interface for grouping and categorizing unstructured data (in the impetuous case, the design metrics)

  2. Dec 2021
    1. single-line macros being redefined

      Single line macros can be re-defined, and the macro last definition used is the one that will be expanded in all the following slots.

    2. Single-line macros are defined using the %define preprocessor directive
    3. The preprocessor collapses all lines which end with a backslash (\) character into a single line.
  3. Oct 2021
    1. What we need, in order to live well, is a proper appreciation of the way in which such goods as friendship, pleasure, virtue, honor and wealth fit together as a whole. In order to apply that general understanding to particular cases, we must acquire, through proper upbringing and habits, the ability to see, on each occasion, which course of action is best supported by reasons. Therefore practical wisdom, as he conceives it, cannot be acquired solely by learning general rules.

      Where's the middle ground? Or perhaps the discourse will reveal him to focus on just that.

    1. Org-roam’s Design Principle


    2. Appendix D Variable Index
    3. Appendix C Function Index
    4. mathpix.el uses Mathpix’s API to convert clips into latex equations:


    5. org-roam-dailies-goto-next-note
    6. org-roam-dailies-goto-previous-note
    7. org-roam-dailies-find-directory
    8. org-roam-dailies-goto-date
    9. org-roam-dailies-capture-date
    10. org-roam-dailies-goto-yesterday
    11. org-roam-dailies-capture-yesterday
    12. org-roam-dailies-goto-today
    13. org-roam-dailies-capture-today
    14. org-roam-dailies provides these interactive functions:

      Org-roam-dailies functions!

    15. org-roam-dailies-directory
    16. org-roam-dailies-capture-templates
    17. For org-roam-dailies to work, you need to define two variables: Variable: org-roam-dailies-directory Path to daily-notes. This path is relative to org-roam-directory. Variable: org-roam-dailies-capture-templates Capture templates for daily-notes in Org-roam.

      Bare minimum for journaling

    18. Org-roam provides journaling capabilities akin to Org-journal with org-roam-dailies.
    19. Org-roam provides basic graphing capabilities to explore interconnections between notes, in org-roam-graph. This is done by performing SQL queries and generating images using Graphviz. The graph can also be navigated: see Roam Protocol.
    20. 8.2 Titles and Aliases

      How tf can I use this for automation?

    21. 9 Citations
    22. 13 The Templating System
    23. 13.2 Org-roam Template Expansion


    24. If foo is a function, foo is called with the current node as its argument. Else if org-roam-node-foo is a function, foo is called with the current node as its argument. The org-roam-node- prefix defines many of Org-roam’s node accessors such as org-roam-node-title and org-roam-node-level. Else look up org-roam-capture--info for foo. This is an internal variable that is set before the capture process begins. If none of the above applies, read a string using completing-read. Org-roam also provides the ${foo=default_val} syntax, where if a default value is provided, will be the initial value for the foo key during minibuffer completion.

      Click here to get a handle on the behavior of the expansions in multiple context.

    25. Org-roam provides the ${foo} syntax for substituting variables with known strings. ${foo}’s substitution is performed as follows:

      Org-roam Template has expansions with similar syntax to yasnippet!

    26. Org-roam’s templates are specified by org-roam-capture-templates
    27. Org-roam capture templates are incompatible with org-capture templates.
    28. To use this, create the following bookmarklet in your browser:

      ** For roam-ref

    29. This protocol finds or creates a new note with a given ROAM_REFS:

      Protocol 2!

    30. Org-roam provides extensions for capturing content from external applications such as the browser, via org-protocol.

      This simplifies things, won't have to use develop using the dbus spec initially.

    31. To enable Org-roam’s protocol extensions, simply add the following to your init file:
    32. To test that you have the handler setup and registered properly from the command line you can run:
    33. To create encrypted files, simply add the .gpg extension in your Org-roam capture templates. For example:
    34. Emacs has support for creating and editing encrypted gpg files, and Org-roam need not provide additional tooling.

      Cool, and with capture templates, I can probably get sophisticated if I need to. Question is, how essential is it to encrypt everything??

    35. Completions for Org-roam are provided via completion-at-point. Org-roam currently provides completions in two scenarios: When within an Org bracket link Anywhere

      What exactly is this???

      Going to have to come back to this at a later time and figure out what a "completion" is, although it's probably functions as expected.

    36. Extension developers may be interested in retrieving the citations within their notes. This information can be found within the citation table of the Org-roam database.
    37. It is common to use take reference notes for academic papers. To designate the node to be the canonical node for the academic paper, we can use its unique citation key:

      Useful tool for linking a bunch of disparate notes on a single paper.

    38. Org-roam attempts to load both the org-ref and org-cite package when indexing files, so no further setup from the user is required for citation support.
    39. You may assign multiple refs to a single node, for example when you want multiple papers in a series to share the same note, or an article has a citation key and a URL at the same time.
    40. org-roam-alias-remove
    41. For users that prefer using a side-window for the org-roam buffer, the following example configuration should provide a good starting point:
    42. To assign an alias to a node, add the “ROAM_ALIASES” property to the node:
    43. Nodes can also have multiple aliases. Aliases allow searching for nodes via an alternative name.
    44. Org-roam caches most of the standard Org properties. The full list now includes: outline level todo state priority scheduled deadline tags
    45. org-roam-buffer-display-dedicated: Launch an Org-roam buffer for a specific node without visiting its file. Unlike org-roam-buffer-toggle you can have multiple such buffers and their content won’t be automatically replaced with a new node at point.
    46. org-roam-buffer-toggle: Launch an Org-roam buffer that tracks the node currently at point. This means that the content of the buffer changes as the point is moved, if necessary.
    47. org-roam-buffer-display-dedicated
    48. org-roam-buffer-toggle