📚 node [[2023 06 04]]
  • [[Flancia]]!
    • [[AG]]
    • [[Diego de la Hera]]
    • Planeé cuatro pomodoros por la revolución después de las 22, fueron mayormete de conversación y juego -- sin arrepentimientos.

Amanecí y llegamos a la tarde con alegría con [[AG]], y después comimos y caminamos con [[Diego]] y [[Dominic]].

  • How can a [[link]] be made between a [[new]] [[message]] and a message of an incumbent [[group]]? collapsed:: true
    • How often does an [[environmental]] [[trigger]] occur? How strong is the [[link]] between the [[message]] and the [[reminder]]?
      • How many links are there for any given [[cue]]? What will people connect to this thing? How many different answers would you get in [[association]] with this thing?
        • Pick cues that are [[near]] whatever you [[want]] someone to do, so it's easy for them to [[buy]] the [[product]] or [[service]] or [[act]].
          • [[When]] are people in a [[place]] to consider this thing? What is around them in that place? [[timing]]
          • Using environmental triggers to [[sell]] is equivalent to forming a [[trigger]] action [[plan]] for someone else.
  • What would give someone a sense of [[awe]]?
    • People share things that gave them a sense of [[awe]], as well as things that [[surprise]] or are of [[use]].
  • Sunday, 06/04/2023 ** 11:53 Website is almost there. Finishing a project feels so good. Once the build system and hot reloading is complete, I'll be able to seamlessly write content. After that, I'll start working on images and ways to feature my photo portfolio... maybe the project won't ever end.

Clojure really isn't useful here though. Fun but bad decision. JVM has slow start and doesn't really matter - we don't need to run cross-platform and the libraries we would use for that are implemented in many other languages. Should have used javascript - code would have run much faster. Clojure lost because it wasn't useful on the web.

Also, the stack traces are terrible... (I can't see any sort of program trace within my code? No syntax highlighting? What's up with that?). I'll wrap this project up but I'm feeling a strong rewrite it inclination. ** 13:45 Depending on a file means a few things things:

  • You want as much semantic information about that file as possible at compile time
  • You need to use information from the that file to build this one
  • You want to ensure that everything that that file needs is taken care of

Solution:

  • imports must be named
  • Build scripts return File objects, not write to disk
  • Pass a single argument to build scripts; it's an object that contains all of the named imports

This means that if you depend on any file, you'll have the information about what you need to make your current component run at any time. You'll know what you have to build in order to make that component work. References to that component will have a real, semantic connection to the component itself.

This also allows the file to be interpreted in different ways! I can assemble a list of imports dynamically, then use an interpreter to resolve them. I can use a compiler to set up everything statically. I can make 'meta-components' that transform other components to augment them in clear ways. Good solution. ** 14:01 Watched some tiktoks (reels lol) this morning. Really clever tricks with the soundtrack - some reels through subtle discord, snapchat, iMessage, etc... sounds on in the background to stimulate attention. Really devious strategy. I'm kind of afraid of watching these things now. ** 14:41 For the site - need a way to figure out remote dependencies! Both at access time and at build time. These are network requests. (:type network? :type https? something like that.)

(Live dependencies would be really cool...) ** 19:46

https://www.youtube.com/watch?v=Xa_fNuaSE_I: A good test for cross-platform software - would a top company rely on that software to build beautiful products? React Native, Flutter, QT, Xamarin...

The answer is no because there are so many stopgaps and edge cases between platfomrs that have to be healed over. That cross-platform challenge is so incredibly difficult. The APIs are just too high-level to build technology that interoperates! ** 20:28 No GC is necessary for fluid UI. A single GC pause in the wrong place can kill a fluid animation. This is why Apple is behind Swift - and why Swift apps feel so much more fluid than other web tools, even Java - Swift apps have fine-grained control over their memory, which allows them to make UI animations feel incredibly polished. Brilliant!

📖 stoas
⥱ context