From 68924702adfa628bad828e3ecbc067d814ad8f95 Mon Sep 17 00:00:00 2001 From: jamesroutley Date: Fri, 27 Dec 2024 17:14:06 +0000 Subject: [PATCH] Build website (automatic) --- docs/index.html | 18 +-- docs/log.txt | 81 +++++++------- ...rch-idea-false-statements-in-e-graphs.html | 2 +- .../does-current-ai-represent-a-dead-end.html | 4 +- ...lf-automated-emails-to-practice-dutch.html | 4 +- docs/posts/into-cps-never-to-return.html | 31 ++++-- ...r-a-modern-commutative-diagram-editor.html | 20 ++-- ...w-science-of-controlling-lucid-dreams.html | 22 ---- .../the-trap-of-i-am-not-an-extrovert.html | 103 ++++++++++++++++++ docs/posts/weeknotes-28.html | 2 +- .../what-s-making-me-happy-2024-12-21.html | 4 +- 11 files changed, 194 insertions(+), 97 deletions(-) delete mode 100644 docs/posts/the-new-science-of-controlling-lucid-dreams.html create mode 100644 docs/posts/the-trap-of-i-am-not-an-extrovert.html diff --git a/docs/index.html b/docs/index.html index 986ae04af2e..4f649b2a837 100644 --- a/docs/index.html +++ b/docs/index.html @@ -35,15 +35,6 @@

News

-
  • - The new science of controlling lucid dreams (www.scientificamerican.com) -
  • - - - - - -
  • I send myself automated emails to practice Dutch (github.com)
  • @@ -188,6 +179,15 @@

    News

    +
  • + The trap of "I am not an extrovert" (orkohunter.net) +
  • + + + + + +
  • LFFS: Simplicity vs Efficiency (bytes.zone)
  • diff --git a/docs/log.txt b/docs/log.txt index 8dcbca44a66..859c4dc06e4 100644 --- a/docs/log.txt +++ b/docs/log.txt @@ -1,40 +1,41 @@ -2024/12/27 16:19:35 error parsing https://themargins.substack.com/feed.xml: http error: 403 Forbidden -2024/12/27 16:19:35 Fetched posts from https://themargins.substack.com/feed.xml, took 92.106944ms -2024/12/27 16:19:35 error parsing https://highgrowthengineering.substack.com/feed: http error: 403 Forbidden -2024/12/27 16:19:35 Fetched posts from https://highgrowthengineering.substack.com/feed, took 92.391108ms -2024/12/27 16:19:35 error parsing https://mikehudack.substack.com/feed: http error: 403 Forbidden -2024/12/27 16:19:35 Fetched posts from https://mikehudack.substack.com/feed, took 105.443556ms -2024/12/27 16:19:35 Fetched posts from https://macwright.com/rss.xml, took 173.356168ms -2024/12/27 16:19:35 Fetched posts from https://www.benkuhn.net/index.xml, took 174.919025ms -2024/12/27 16:19:35 Fetched posts from https://twobithistory.org/feed.xml, took 182.234043ms -2024/12/27 16:19:35 Fetched posts from https://www.slowernews.com/rss.xml, took 224.118799ms -2024/12/27 16:19:35 Fetched posts from https://jvns.ca/atom.xml, took 258.542921ms -2024/12/27 16:19:35 Fetched posts from https://rachelbythebay.com/w/atom.xml, took 268.567774ms -2024/12/27 16:19:35 Fetched posts from https://www.wildlondon.org.uk/blog/all/rss.xml, took 292.292736ms -2024/12/27 16:19:35 Fetched posts from https://routley.io/reserialised/great-expectations/2022-08-24/index.xml, took 322.243712ms -2024/12/27 16:19:35 Fetched posts from https://anewsletter.alisoneroman.com/feed, took 342.673888ms -2024/12/27 16:19:35 Fetched posts from https://scattered-thoughts.net/rss.xml, took 352.513821ms -2024/12/27 16:19:35 Fetched posts from https://danluu.com/atom.xml, took 394.341505ms -2024/12/27 16:19:35 Fetched posts from https://joy.recurse.com/feed.atom, took 448.077652ms -2024/12/27 16:19:35 Fetched posts from https://blog.golang.org/feed.atom?format=xml, took 518.046692ms -2024/12/27 16:19:36 Fetched posts from https://blog.veitheller.de/feed.rss, took 918.897194ms -2024/12/27 16:19:36 Fetched posts from https://solar.lowtechmagazine.com/feeds/all-en.atom.xml, took 1.270626207s -2024/12/27 16:19:36 Fetched posts from http://tonsky.me/blog/atom.xml, took 1.540953436s -2024/12/27 16:19:36 Fetched posts from https://commoncog.com/blog/rss/, took 1.581587984s -2024/12/27 16:19:37 Content still empty after HTML reader: http://openai.com/index/why-our-structure-must-evolve-to-advance-our-mission -2024/12/27 16:19:37 Content still empty after HTML reader: https://vrklovespaper.substack.com/p/software-for-stationery-lovers -2024/12/27 16:19:38 Get "https://eyeondesign.aiga.org/why-did-so-many-mid-century-designers-make-childrens-books/": tls: failed to verify certificate: x509: certificate signed by unknown authority -2024/12/27 16:19:38 Content still empty after HTML reader: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision -2024/12/27 16:19:39 Fetched posts from https://gochugarugirl.com/feed/, took 3.694939226s -2024/12/27 16:19:39 Content still empty after HTML reader: https://www.cell.com/device/fulltext/S2666-9986(24)00583-0?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS2666998624005830%3Fshowall%3Dtrue -2024/12/27 16:19:40 Content still empty after HTML reader: https://ghostty.org/ -2024/12/27 16:19:40 Content still empty after HTML reader: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp -2024/12/27 16:19:41 Fetched posts from https://hnrss.org/frontpage?points=50, took 5.814511053s -2024/12/27 16:19:42 Fetched posts from https://blaggregator.recurse.com/atom.xml?token=4c4c4e40044244aab4a36e681dfb8fb0, took 7.601968653s -2024/12/27 16:19:42 Skipping writing post, no content: http://openai.com/index/why-our-structure-must-evolve-to-advance-our-mission -2024/12/27 16:19:42 Skipping writing post, no content: https://www.cell.com/device/fulltext/S2666-9986(24)00583-0?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS2666998624005830%3Fshowall%3Dtrue -2024/12/27 16:19:42 Skipping writing post, no content: https://ghostty.org/ -2024/12/27 16:19:42 Skipping writing post, no content: https://vrklovespaper.substack.com/p/software-for-stationery-lovers -2024/12/27 16:19:42 Skipping writing post, no content: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision -2024/12/27 16:19:42 Skipping writing post, no content: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp -2024/12/27 16:19:42 Templated 37 posts, took 5.647657ms +2024/12/27 17:13:36 error parsing https://highgrowthengineering.substack.com/feed: http error: 403 Forbidden +2024/12/27 17:13:36 Fetched posts from https://highgrowthengineering.substack.com/feed, took 53.389758ms +2024/12/27 17:13:36 Fetched posts from https://macwright.com/rss.xml, took 57.1302ms +2024/12/27 17:13:36 error parsing https://mikehudack.substack.com/feed: http error: 403 Forbidden +2024/12/27 17:13:36 Fetched posts from https://mikehudack.substack.com/feed, took 57.245166ms +2024/12/27 17:13:36 error parsing https://themargins.substack.com/feed.xml: http error: 403 Forbidden +2024/12/27 17:13:36 Fetched posts from https://themargins.substack.com/feed.xml, took 63.609381ms +2024/12/27 17:13:36 Fetched posts from https://www.slowernews.com/rss.xml, took 115.957353ms +2024/12/27 17:13:36 Fetched posts from https://jvns.ca/atom.xml, took 148.445316ms +2024/12/27 17:13:36 Fetched posts from https://www.benkuhn.net/index.xml, took 162.166399ms +2024/12/27 17:13:36 Fetched posts from https://routley.io/reserialised/great-expectations/2022-08-24/index.xml, took 171.955365ms +2024/12/27 17:13:36 Fetched posts from https://twobithistory.org/feed.xml, took 176.474462ms +2024/12/27 17:13:36 Fetched posts from https://anewsletter.alisoneroman.com/feed, took 196.79704ms +2024/12/27 17:13:36 Fetched posts from https://joy.recurse.com/feed.atom, took 262.362621ms +2024/12/27 17:13:36 Fetched posts from https://scattered-thoughts.net/rss.xml, took 332.114325ms +2024/12/27 17:13:36 Fetched posts from https://blog.golang.org/feed.atom?format=xml, took 345.30341ms +2024/12/27 17:13:36 Fetched posts from https://danluu.com/atom.xml, took 356.564239ms +2024/12/27 17:13:36 Fetched posts from https://www.wildlondon.org.uk/blog/all/rss.xml, took 391.369813ms +2024/12/27 17:13:36 Fetched posts from https://blog.veitheller.de/feed.rss, took 677.00762ms +2024/12/27 17:13:37 Content still empty after HTML reader: https://vrklovespaper.substack.com/p/software-for-stationery-lovers +2024/12/27 17:13:37 Fetched posts from https://solar.lowtechmagazine.com/feeds/all-en.atom.xml, took 874.837915ms +2024/12/27 17:13:37 Fetched posts from http://tonsky.me/blog/atom.xml, took 969.03638ms +2024/12/27 17:13:37 Content still empty after HTML reader: http://openai.com/index/why-our-structure-must-evolve-to-advance-our-mission +2024/12/27 17:13:37 Content still empty after HTML reader: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision +2024/12/27 17:13:37 Get "https://eyeondesign.aiga.org/why-did-so-many-mid-century-designers-make-childrens-books/": tls: failed to verify certificate: x509: certificate signed by unknown authority +2024/12/27 17:13:38 Fetched posts from https://commoncog.com/blog/rss/, took 1.860476748s +2024/12/27 17:13:38 Content still empty after HTML reader: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp +2024/12/27 17:13:38 Content still empty after HTML reader: https://www.cell.com/device/fulltext/S2666-9986(24)00583-0?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS2666998624005830%3Fshowall%3Dtrue +2024/12/27 17:13:39 Fetched posts from https://gochugarugirl.com/feed/, took 2.93725792s +2024/12/27 17:13:39 Content still empty after HTML reader: https://ghostty.org/ +2024/12/27 17:13:40 Fetched posts from https://blaggregator.recurse.com/atom.xml?token=4c4c4e40044244aab4a36e681dfb8fb0, took 4.188897366s +2024/12/27 17:13:40 Fetched posts from https://hnrss.org/frontpage?points=50, took 4.455470706s +2024/12/27 17:14:06 error parsing https://rachelbythebay.com/w/atom.xml: Get "https://rachelbythebay.com/w/atom.xml": dial tcp 216.218.228.215:443: i/o timeout +2024/12/27 17:14:06 Fetched posts from https://rachelbythebay.com/w/atom.xml, took 30.006288625s +2024/12/27 17:14:06 Skipping writing post, no content: http://openai.com/index/why-our-structure-must-evolve-to-advance-our-mission +2024/12/27 17:14:06 Skipping writing post, no content: https://www.cell.com/device/fulltext/S2666-9986(24)00583-0?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS2666998624005830%3Fshowall%3Dtrue +2024/12/27 17:14:06 Skipping writing post, no content: https://ghostty.org/ +2024/12/27 17:14:06 Skipping writing post, no content: https://vrklovespaper.substack.com/p/software-for-stationery-lovers +2024/12/27 17:14:06 Skipping writing post, no content: https://todaythings.substack.com/p/to-acquire-a-goshawk-is-a-major-decision +2024/12/27 17:14:06 Skipping writing post, no content: http://tinylogger.com/max/wnTJ9xu3fw5UiXLp +2024/12/27 17:14:06 Templated 37 posts, took 6.282244ms diff --git a/docs/posts/bad-research-idea-false-statements-in-e-graphs.html b/docs/posts/bad-research-idea-false-statements-in-e-graphs.html index 95063e89ac2..6ef76b0838c 100644 --- a/docs/posts/bad-research-idea-false-statements-in-e-graphs.html +++ b/docs/posts/bad-research-idea-false-statements-in-e-graphs.html @@ -23,7 +23,7 @@

    bad research idea: false statements in e-graphs

    OK after much squinting at the progression of rewrite rules... I think I have found an example of where the logic goes wrong.

    Can you spot the error?

    -Screenshot 2024-12-23 at 10 06 52 PM +Screenshot 2024-12-23 at 10 06 52 PM

    The issue here is that the empty int list TupleInt.EMPTY is unified with TupleInt(0, partial(lambda i, self, j: Int.if_(j == self.length(), i, self[j])), 101, TupleInt.empty) aka TupleInt(0, lambda j: Int.if_(j == 0, 101, TupleInt.EMPTY[j])))

    Now let's say we do a naive index the empty list like TupleInt.EMPTY[0]. We could say this incorrect, or how we can represent it is that it unifies with Int.NEVER. But it can show up in the e-graph, because in if_ conditionals, the false branch can end up doing indexing that is not allowed. So we want it to not mess things up.

    And in this case then, it will evaluate to (lambda j: Int.if_(j == 0, 101, TupleInt.EMPTY[j])))(0) which is Int.if_(0 == 0, 101, TupleInt.EMPTY[0])) which is 101... So then what we get is that 101 is unified with Int.NEVER which... isn't good! Is really bad! Because it means all numbers can be unified together basically, i.e. false is true whatever.

    diff --git a/docs/posts/does-current-ai-represent-a-dead-end.html b/docs/posts/does-current-ai-represent-a-dead-end.html index 7e4b6655a7d..d08d8dbe594 100644 --- a/docs/posts/does-current-ai-represent-a-dead-end.html +++ b/docs/posts/does-current-ai-represent-a-dead-end.html @@ -44,12 +44,12 @@

    What can I do to resolve this?

    - Cloudflare Ray ID: 8f8aa21829149e64 + Cloudflare Ray ID: 8f8af1354ecec599 Your IP: - 20.172.29.19 + 172.200.199.196 Performance & security by Cloudflare diff --git a/docs/posts/i-send-myself-automated-emails-to-practice-dutch.html b/docs/posts/i-send-myself-automated-emails-to-practice-dutch.html index 663e3c09e67..56ecafc14d9 100644 --- a/docs/posts/i-send-myself-automated-emails-to-practice-dutch.html +++ b/docs/posts/i-send-myself-automated-emails-to-practice-dutch.html @@ -20,13 +20,13 @@

    I send myself automated emails to practice Dutch

    This project automates the daily delivery of an email containing three C1-level Dutch words, their English translations, and example sentences. The email looks like this:

    -

    Screenshot of email

    +

    Screenshot of email

    I created this project because I couldn't find a suitable app to help me build a C1-level Dutch vocabulary. I discovered that ChatGPT provides good word suggestions and decided to automate the process. Additionally, I know that I check emails more consistently than apps, making this method more effective for learning.

    This project also provided an opportunity to refresh my skills in Terraform and Python.

    A CloudWatch Event Rule triggers a Lambda each morning at 7:00. The Lambda retrieves all previously sent Dutch words from DynamoDB. It then retrieves three new words from ChatGPT, stores them in DynamoDB, and sends them to SES. SES delivers them to the end user's email.

    -

    Picture of architecture

    +

    Picture of architecture

    To deploy this project, ensure the following tools and configurations are in place:

    diff --git a/docs/posts/into-cps-never-to-return.html b/docs/posts/into-cps-never-to-return.html index c235f52601d..09ba6f44599 100644 --- a/docs/posts/into-cps-never-to-return.html +++ b/docs/posts/into-cps-never-to-return.html @@ -308,7 +308,7 @@

    How do I…?

    * alphatisation gives you SSA-like --> - +

    Meta-continuations

    Now, you might have noticed that we’re giving names to a lot of trivial expressions—unnecessary cont forms used like let bindings. Why name the @@ -443,7 +443,7 @@

    To C, perchance to dream

    You can generate naive C code pretty directly from CPS. The fun and cont forms become top-level C functions. In order to support closures, you need to do free variable analysis and allocate closure structures for each. -(See also the approach in scrapscript in the section called +(See also the approach in scrapscript in the section called “functions”.) Then you can do a very generic calling convention where you pass closures around. Unfortunately, this is not very efficient and doesn’t guarantee tail-call elimination.

    @@ -497,21 +497,21 @@

    Acknowledgements

    See also

      -
    • No-Brainer CPS Conversion (PDF) by Davis, +
    • No-Brainer CPS Conversion (PDF) by Davis, Meehan, and Shivers
    • -
    • Richard Kelsey has a nice paper (PDF) on +
    • Richard Kelsey has a nice paper (PDF) on transforming CPS to SSA form. Unfortunately, I have tried to implement it and it is not as simple as it looks. I think I’m missing something.
    • Scheme implementation of naive CPS and hybrid/meta-continuations by Matt Might
    • 90 minute Scheme to C compiler with slide deck (PDF) by Marc Feeley
    • -
    • The Orbit paper (PDF) which lays out a bunch of +
    • The Orbit paper (PDF) which lays out a bunch of interesting optimizations. It’s very terse.
    • scheme2c by Joel Bartlett
    • -
    • PreScheme (PDF) by Richard Kelsey which lets you +
    • PreScheme (PDF) by Richard Kelsey which lets you write your compiler and runtime not in C but in a low-level Scheme-like language
    • -
    • ParentheC (PDF), which I should read at some +
    • ParentheC (PDF), which I should read at some point, and implementation
    • Appel’s Compiling with Continuations
    • An algorithm for optimal lambda calculus reduction by Lamping, which @@ -529,7 +529,22 @@

      See also

      - +
      +
        +
      1. +

        Earlier this year, my grandmother mentioned offhand that she was +getting brunch with the Plotkins. I, midway through a course by Olin +Shivers on compiling functional programming languages, did a double take. +Surely she couldn’t mean… but yep, apparently my grandmother and Gordon +Plotkin are friends! 

        +
      2. +
      3. +

        It’s a several-line change to the compiler to handle +multiple parameters but for this post it’s just noise so I leave it as an +exercise. 

        +
      4. +
      +
    diff --git a/docs/posts/quiver-a-modern-commutative-diagram-editor.html b/docs/posts/quiver-a-modern-commutative-diagram-editor.html index 2eccd14fc4e..2676a1107ca 100644 --- a/docs/posts/quiver-a-modern-commutative-diagram-editor.html +++ b/docs/posts/quiver-a-modern-commutative-diagram-editor.html @@ -18,7 +18,7 @@

    Quiver: A Modern Commutative Diagram Editor

    -

    quiver

    +

    quiver

    quiver is a modern, graphical editor for commutative and pasting diagrams, capable of rendering high-quality diagrams for screen viewing, and exporting to LaTeX via tikz-cd.

    Creating and modifying diagrams with quiver is orders of magnitude faster than writing the @@ -27,23 +27,23 @@

    Quiver: A Modern Commutative Diagram Editor

    quiver features an efficient, intuitive interface for creating complex commutative diagrams and pasting diagrams. It's easy to draw diagrams involving pullbacks and pushouts,

    -

    Pullback

    +

    Pullback

    adjunctions,

    -

    Adjunction

    +

    Adjunction

    and higher cells.

    -

    3-cell

    +

    3-cell

    Object placement is based on a flexible grid that resizes according to the size of the labels.

    -

    Flexible grid

    -

    Arrow styles

    +

    Flexible grid

    +

    Arrow styles

    There is a wide range of composable arrow styles.

    -

    Colours

    +

    Colours

    And full use of colour for labels and arrows.

    -

    Screenshot mode

    +

    Screenshot mode

    quiver is intended to look good for screenshots, as well as to export LaTeX that looks as close as possible to the original diagram.

    -

    Keyboard hints

    +

    Keyboard hints

    Diagrams may be created and modified using either the mouse, by clicking and dragging, or using the keyboard, with a complete set of keyboard shortcuts for performing any action.

    -

    Export to LaTeX

    +

    Export to LaTeX

    When you export diagrams to LaTeX, quiver will embed a link to the diagram, which will allow you to return to it later if you decide it needs to be modified, or to share it with others.

    diff --git a/docs/posts/the-new-science-of-controlling-lucid-dreams.html b/docs/posts/the-new-science-of-controlling-lucid-dreams.html deleted file mode 100644 index 42333ff9b2f..00000000000 --- a/docs/posts/the-new-science-of-controlling-lucid-dreams.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - James Routley | Feed - - - - Back - Original -

    The new science of controlling lucid dreams

    - -

    I routinely control my own dreams. During a recent episode, in my dream laboratory, my experience went like this: I was asleep on a twin mattress in the dark lab room, wrapped in a cozy duvet and a blanket of silence. But I felt like I was awake. The sensation of being watched hung over me. Experimenters two rooms over peered at me through an infrared camera mounted on the wall. Electrodes on my scalp sent them signals about my brain waves. I opened my eyes—at least I thought I did—and sighed. Little specks of pink dust hovered in front of me. I examined them curiously. “Oh,” I then thought, realizing I was asleep, “this is a dream.”

    In my dream I sat up slowly, my body feeling heavy. In reality I lay silently and moved my eyes left to right behind my closed eyelids. This signal, which I had learned to make through practice, was tracked by the electrodes and told the experimenters I was lucid: asleep yet aware I was dreaming. I remembered the task they had given me before I went to sleep: summon a dream character. I called out for my grandmother, and moments later simple black-and-white photographs of her appeared, shape-shifting and vague. I could sense her presence, a connection, a warmth rolling along my spine. It was a simple and meaningful dream that soon faded into a pleasant awakening.

    Once I was awake, the scientists at the Dream Engineering Lab I direct at the University of Montreal asked me, through the intercom, about my perception of characters, any interactions with them and how they affected my mood on awakening. Even in her unusual forms, my grandmother had felt real, as if she had her own thoughts, feelings and agency. Reports from other dreamers often reflect similar sensations—the result of the brain’s striking ability in sleep to create realistic avatars we can interact with. Researchers suspect that these dreamy social scenarios help us learn how to interact with people in waking life.


    On supporting science journalism

    If you're enjoying this article, consider supporting our award-winning journalism by subscribing. By purchasing a subscription you are helping to ensure the future of impactful stories about the discoveries and ideas shaping our world today.


    Many people have had lucid dreams. Typically you are immersed in an experience, then something seems “off,” and you realize you are actually dreaming. Often people wake up right after they become lucid, but with practice you can learn how to remain lucid and try to direct what happens. In the lab we can prime sleepers to have lucid dreams by waking them and then prompting them as they fall back asleep. At home you can try waking up and visualizing a lucid dream (most effectively in the early morning), creating a strong intention to become lucid before falling asleep again.

    In the past few years scientists have discovered that while someone is having a lucid dream, they can communicate with an experimenter in a control room, and that person can communicate with the dreamer, giving them instructions to do something within the dream. In a landmark paper published in 2021 in Current Biology, researchers in the U.S., the Netherlands, France and Germany provided evidence of two-way, real-time communication during lucid dreams. At two locations researchers presented spoken math problems to sleeping participants, who accurately computed the correct solution. When one team asked, “What is eight minus six?” the dreamers answered with two left-right eye movements. Another team asked yes-or-no questions, and lucid dreamers frowned to indicate “no” and smiled for “yes,” with their movements recorded by electrodes around their eyebrows and mouth.

    Sleep researchers are now using emerging technologies to interface directly with the dreaming mind. Meanwhile neuroimaging studies are revealing the unique patterns of brain activity that arise during lucid dreaming. This research could lead to wearable devices programmed with algorithms that detect opportune moments to induce lucidity in people as they sleep. As researchers, we are excited about this possibility because directing, or “engineering,” a dream may allow people to reduce the severity or frequency of nightmares, improve sleep quality and morning mood, and even enhance general health and well-being.


    Scientists have known that lucid dreams are real since the late 1970s. In 1980 Stephen LaBerge, then a Ph.D. student at Stanford University, published a paper about the side-to-side eye-signaling method that proved lucidity’s existence. Experts went on to demonstrate that lucid dreamers could control their breathing patterns and muscle twitches, which provided ways for them to communicate with the awake world. Imaging studies revealed more wakelike activity in the brain during lucid dreams than nonlucid dreams. This momentum culminated in the first Dream x Engineering Workshop at the Massachusetts Institute of Technology Media Laboratory, which I led in 2019. LaBerge was there, along with 50 dream scientists from around the world. For two days we explored how we might engineer dreams. We focused on using new technologies to induce lucid dreams in novices and exploring the brain basis and health benefits of lucid dreaming on a larger scale.

    Since then, many more researchers have become interested; progress has been quick and revealing. Investigators working in more than a dozen countries have learned how to induce and record lucid dreams with wearable devices and even use the techniques to treat nightmares, insomnia, and other sleep problems.

    Lucid dreamers can communicate with people in the waking world by making eye movements, frowning or clenching their hands.

    Treating nightmares is an important goal because they are linked to all manner of psychiatric and sleep disorders, including addiction, psychosis, narcolepsy and insomnia, as well as higher risks for anxiety, depression and suicide. The perils are especially relevant for people with post-­traumatic stress disorder who experience nightmares, which for more than half of PTSD patients replay traumatic events again and again, potentially retraumatizing them each time. PTSD sufferers with severe nightmares have more acute symptoms and a fourfold greater risk of suicide compared with people with PTSD who don’t experience such dreams.

    In a recent study, 49 PTSD patients from nine countries who had long histories of traumatic nightmares attended a week-long virtual workshop with lucid dreaming expert, trainer and author Charlie Morley. To learn how to induce lucid dreams that might heal, participants imagined positive versions of their nightmares in which they engaged curiously with the dream or with threatening dream characters. One patient reported calling out into the dreamscape, “Dreamer, heal my body!” She then experienced roaring in her ears as her body vibrated forcefully. Another patient asked to meet and befriend her anxiety, which led to the emergence of a giant, golden lozenge that evoked her amazement and gratitude. After just one week of training, all the participants had reduced their PTSD symptoms. They also recalled fewer nightmares.

    Laboratory studies have yielded similar results. One person with weekly nightmares took part in a study led by one of my lab members, Remington Mallett. While sleeping in an enclosed lab bedroom with more than a dozen electrodes pasted on her scalp and face, this young woman had a nightmare. She dreamed she was in a church parking lot, and an approaching group of people with pitchforks was chanting, “Die, die, die.” She realized she was asleep and dreaming in the lab and that the experimenter was watching from the other room. She gave a left-right eye signal, knowing the experimenter would wake her up. She later said, “In the dream I was aware that you [the experimenters] were there and reachable.” She gave the signal because she knew it would get her out of the dream, and it did. Her nightmare frequency decreased after this lab visit, and four weeks later it was still lower than it had been before the experiment.

    Even just the moment of becoming lucid can sometimes bring immediate relief from a nightmare because you realize you are dreaming and that there is no real danger—similar to the relief we feel when we wake up from a nightmare and realize it was just a dream. Often when people become lucid during a nightmare, they decide to simply wake up—an immediate solution. Closing and opening your eyes repeatedly is another way to intentionally wake up from a dream, which could be useful during nightmares when at home, outside a lab.

    Lucid dreaming could improve sleep health more generally. For example, we now know that people with insomnia have more unpleasant dreams than sound sleepers, including dreams in which they feel like they are awake and are worrying about not sleeping. In one recent study, insomnia patients underwent two weeks of lucid-­dream training that included setting presleep intentions of becoming lucid and visualizing the kind of lucid dream they wanted to have. These practices led to less severe insomnia and less frequent anxiety and depressive symptoms in participants over time. It could be that the increased lucidity made them more aware of the fact that they were asleep, thereby improving their subjective sense of sleep quality. It’s also likely that lucid dreaming made their dreams more pleasant; my team and other researchers have shown numerous times that both lucid and positive dreams are associated with better sleep quality, mood and restfulness after waking.


    To improve dream engineering, we need to have a clearer understanding of what is happening in the brain during lucid dreams. Recent work in sleep and neuro­science labs is revealing the brain patterns involved.

    Our most vivid dreaming takes place during rapid-eye-movement, or REM, sleep—the light phase of sleep when the brain is most active and wakelike, especially when close to the time that a person would usually get up. Lucidity may enhance one of the main functions of REM sleep: to refresh connections between the prefrontal cortex, where our brains control our thoughts and decisions, and the amygdala, where they generate our emotions. Sleep helps us control our emotions every day. When REM sleep is disrupted, the prefrontal cortex becomes less effective at regulating arousal both during sleep and during the subsequent day. This creates a vicious cycle for people with nightmares and insomnia: a night of poor sleep is followed by a worse mood and decreased defenses against stress the next day, leading to another night of disturbed sleep, and so on.

    In contrast, lucid dreaming is associated with increased activation in the prefrontal cortex. To have stable lucid dreams, you need to remain calm and attentive, or you will probably wake up from excitement. Maintaining self-control seems to be central to having positive lucid-dream experiences, resolving nightmares, and boosting creativity and mood. That was the conclusion of a recent study by Mallett, who surveyed 400 posts on Reddit to identify exactly when and how lucid dreams are helpful for improving mental health.

    We’re learning that the real mental health benefits of lucid dreaming seem to come when dreamers can direct the content. Maintaining self-control in dreams is a bit of a learned skill. Similar to mindfulness, the dreamer must practice remaining both calm and focused while in an unpredictable and unstable dream. People can then learn to control dreams by using tricks of attention such as opening and closing their eyes and expecting, or even commanding, an object such as the Eiffel Tower to appear. This skill most likely relies on specific patterns of neural activation and on cognitive practice. To be at once an actor in and director of a lucid dream requires delicate cognitive control and flexibility, but expert lucid dreamers—people who have lucid dreams at least weekly—would probably say “control” is not the most accurate term. It’s more of an improvisation, a balancing act of guiding the dream toward desired content while allowing it to arise spontaneously—like a jazz musician suggesting a rhythm or melody but also listening and adjusting to what the other musicians are playing.

    To better understand how this improvisation happens, my colleague Catherine Duclos is studying the basic brain patterns of lucid dreaming in expert lucid dreamers in our Montreal lab. The volunteers sleep normally for the first half of the night, but in the early morning experimenters awaken them to place a cap on their head that is used for electroencephalogram (EEG) tests. The cap has 128 electrodes—many more than are typically used in sleep studies. After about 30 minutes, when all the electrodes are well positioned, the subjects return to sleep, intending to have a lucid dream.

    Once Duclos has identified patterns of brain-wave activity that occur only in lucid dreams, she can use that information in the lab to try to directly enhance lucidity and control by augmenting activation in the cortex with electrical brain stimulation. After decades of characterizing sleep as an “offline” brain process, scientists now view the sleeping brain as “entrainable”—it is malleable and can be controlled through external stimulation. By applying an electric current of a specific wavelength to the scalp, scientists can modulate the rhythm of the sleeping brain to make brain waves faster and more wakelike in REM sleep or slower as they are in deep sleep.

    One woman having a nightmare produced a left-right eye signal, knowing a researcher watching her would wake her up.

    Duclos plans to use transcranial alternating-current stimulation (tACS) to shape brain rhythms so that they are more similar to those in lucid dreams, based on the patterns she finds in the dreams she is recording now. Researchers in prior studies have also attempted to use tACS to induce lucid dreams, with mixed results. We hope the increased resolution of high-density EEG will help.

    Another study of expert lucid dreamers will also help clarify how cognitive control works in a lucid dream. Tobi Matzek, one of my Ph.D. students and an expert lucid dreamer, spent four nights in our lab being recorded by EEG. Each night, as early morning approached, we awakened her and presented a 20-minute instruction over speakers in the bedroom, training her to pay attention to what she was experiencing after we woke her and to maintain this awareness when sleeping. She then fell back asleep and became lucid repeatedly. She used control strategies such as calling out requests for desired characters in the dream. In one instance, Matzek said she called for “God to appear as a perceivable form,” and an emerging ball of white light brought with it feelings of euphoria. She awoke in awe.

    Matzek had eight lucid dreams, in which she summoned dream figures whom she perceived as having higher levels of self-­control and independent thoughts than typical dream characters. (Her dreams described in this article were presented at a recent conference.) This study is showing us how our sleeping brain creates dream characters and just how meaningful fictional and at times otherworldly social scenarios can feel. Lucid dreamers who can conjure up characters rate these dreams as more positive and mystical than other dreams. It’s possible that lucid dreams could create opportunities to visit with lost loved ones, spiritual teachers, or family and friends, but so far we know little about how to generate such experiences or how they might impact waking life.

    Matzek and other expert lucid dreamers sometimes ask big questions during their dreams. One night Matzek asked, “Can I experience the creation of the universe?” and she dreamed of being “immersed in outer space, surrounded by stars and planets and other huge celestial objects.... The darkness of space is deep and rich, and every planet and star is superbright.” At one point she felt overwhelmed by the vastness, but a spiritual presence helped her stay calm. The end result, she says, was “absolutely breathtaking.” She felt weightless and was “slowly spinning head over heels as I take in everything around me. Many [stars] are brown and red, and it’s like they’re all glowing. I know that I am actually seeing the universe uncreated, back in time.” Understanding what’s happening inside the brain during these altered states of consciousness could reveal how to induce such mystical experiences on demand.

    Dreams are ephemeral, but they feel real and impactful because the brain and body experience them as real. Brain imaging shows that our dreams are read as “real” in the sensorimotor cortex. When we dream of clenching a fist, the motor cortex becomes more active, and muscles in the forearm twitch. Dreaming is the ultimate reality simulator.

    Because the body experiences physical reality in sleep, we can use visual cues, sounds, and other sensations—pressure, temperature, vibration—to sculpt the dreamworld. In my lab we use flashing lights or beeping sounds during presleep lucidity training. As we did for Matzek, we wake up participants in the early morning and pursue a 20-minute training: while they lie in bed with their eyes closed, a recorded voice instructs them to remain self-aware and to pay attention to their ongoing sensory experiences. We present the flashing lights and beeping alongside this tracking so the sensory cues will serve as reminders to remain lucid.

    When participants go back to sleep, we present the cues again during REM sleep to “reactivate” the associated mind state. Fifty percent of the time, participants have a lucid dream—a higher rate than without the cues. Beeping sounds played during sleep caused one person to dream of shopping in a supermarket: “I was just putting things in my trolley, and I could hear the beeping, and it was like I was getting loads of messages on my phone telling me what to buy in Tesco ... things like, ‘Buy some biscuits.’” The cues made their way into the dream and served as reminders to become lucid.

    Dream engineers around the world, such as Daniel Erlacher and Emma Peters of the Institute of Sport Science at Bern University in Switzerland, are exploring new types of sensory stimuli to more reliably induce lucid dreams. These cues include subtle vibrations that could be delivered by a wearable headband or smart ring, little electric pulses that cause muscles to twitch, or vestibular stimulation—an electric current sent behind the ears that induces sensations of falling or spinning. These sensations might be more easily detectable by dreamers than flashing lights and beeping sounds, perhaps because dreams already have so much competing visual and auditory content.

    Lucid dreamers can communicate with people in the waking world by controlling their sleeping bodies. In addition to making deliberate eye movements, lucid dreamers can frown, clench their hands or control their breathing, and scientists can record all of this in the lab. They can measure respiration with a belt around the torso that detects expansion and contraction of the lungs or with a little sensor on the lip that can track the flow of air in and out of the nose. Kristoffer Appel of the Institute of Sleep and Dream Technologies in Germany has even decoded word messages from lucid dreamers. The dreamers held their thumb out in front of their face, traced letters, and followed the movement of their thumb with their eyes. Dreamers could say, with their eye movements, “Hello, dream.” We are learning to converse with lucid dreamers, getting ever more complex messages into and out of the sleeping brain and body to direct and record dreams in real time.


    I expect that the mental health applications of lucid dreaming will grow. Achilleas Pavlou and Alejandra Montemayor Garcia of the University of Nicosia Medical School in Cyprus are developing wearable devices programmed with machine-learning algorithms to detect when nightmares are occurring based on bio-­signals such as brain activity, breathing and heart rate. My team, along with collaborators at the Donders Institute in the Netherlands and the IMT School for Advanced Studies in Lucca, Italy, is testing a simple EEG headband that can detect REM sleep and deliver the kinds of sensory cues I mentioned earlier to induce lucid dreams. If successful, such dream aids could be made widely available at home. Headbands and watches could help people call for help to escape nightmares—or just help them induce lucid dreams or direct the content for more satisfying dreams.

    People could also use these tools simply to have exotic recreational experiences. In 2024 Adam Haar, who recently finished a postdoctoral fellowship at M.I.T., and artist Carsten Höller created an exhibit in a museum in Basel, Switzerland, that welcomed overnight visitors. A bed on six robotic legs created a rocking motion before and during sleep, while a fly agaric mushroom sculpture spun above the bed. In the liminal space before sleep onset, the dreamer was reminded to dream of flying, and rocking motions and flashing red light from the installation seeped through their body and eyelids.

    These stimuli were replayed at various moments throughout the night, and the sleeper was then awakened for dream reports. One visitor noted visions of “floating on the sea ... and climbing inside the squishy stalk of a giant mushroom from the bottom and being engulfed in its gravityless squishy innards,” even of being buffeted up from the ground on the wind. In the weeks after, this woman reported “countless flight-adjacent or weightlessness dreams,” such as “gliding in the air along miles of zip line through a Swiss-looking city.”

    For lucid dreamers, flying is one of the most sought-after and euphoric experiences. In a 2020 study led by Claudia Picard-Deland of the University of Montreal’s Dream and Nightmare Laboratory, participants used a virtual-reality flight simulation prior to taking a nap and then recorded their dreams for two weeks at home. Playing in the virtual-reality environment for just 15 minutes led to an eightfold increase in flying dreams. And even though the study was not designed to induce lucidity, the experimenters found that flying dreams elevated it. One participant had their first-ever lucid dream: “I succeeded to make myself float a little, then once I realized that it worked, that I had control, I put my hands just like Iron Man at my sides.... I heard a big boom and a constant noise, as if I had plane propellers at the ends of my arms, and I accelerated so fast I couldn’t believe it. I screamed with joy as loud as I could.” The participant marveled at “the quantity of detail of physical sensations that I felt from flying, the intense acceleration, the wind,” as well as seeing, from above, a beautiful city from the future.

    Other gadgets may not be far off. Haar developed Dormio during his Ph.D. work at M.I.T. It is basically a glove with sensors that can measure muscle flexion, heart rate and electrical skin activity, all of which change as you drift off to sleep. When Dormio detects that you’ve just fallen asleep, it gives a spoken prompt to influence what you dream about. After a couple of minutes, it wakes you up to recall imagery, and if you follow this process several times, you can engineer brief dreams that have content you desire.

    Nathan Whitmore of the M.I.T. Media Lab has developed a phone app to deliver voice training for lucid dreaming, paired with auditory cues presented again during sleep. Initial results with more than 100 participants showed that presleep training brought on lucid dreams. Ken Paller of Northwestern University and Mallett have discovered EEG signatures that seem to precede the onset of lucidity. Such measures could lead to algorithms that detect opportune moments to deliver sensory cues and induce lucid dreams. Pair these with a flying game prior to sleep, and you might be in for a fun night.

    - - diff --git a/docs/posts/the-trap-of-i-am-not-an-extrovert.html b/docs/posts/the-trap-of-i-am-not-an-extrovert.html new file mode 100644 index 00000000000..79b994260ae --- /dev/null +++ b/docs/posts/the-trap-of-i-am-not-an-extrovert.html @@ -0,0 +1,103 @@ + + + + + + + James Routley | Feed + + + + Back + Original +

    The trap of "I am not an extrovert"

    + +

    + + + + + + banner + + +

    +

    It was one of those farewell dinners we had hosted back in college. I was in the third year. I was surrounded by two junior batches and two senior batches in the same party. And being the elected governor of the club, my job was to ensure that the younger ones learn and have a good time with the seniors.

    +

    On this one particular night, a lot of people were bonding, and it was amazing. But then I saw this young boy sitting in the corner by himself. Let’s call him Aditya. It was a bit dark and Aditya was trying to just get by, unnoticed. He looked overwhelmed and disinterested. I went up to him with a big smile and a lot of kindness, and said - “Hey man, what’s up? Why don’t you approach and talk to a few here? They are friendly, you know. You like Open Source, so maybe talk to that guy (pointing to a senior of mine) and ask him how he got started.”.

    +

    His response that day still echoes in my ear. It felt like a voice coming out of a closed heart. And my words had fallen flat on him. He said, with a smirk, “I am not an extrovert”.

    +

    I looked into his eyes and saw the disgust for everyone in the room. Aditya was a proud introvert, as I like to call them. Little did he know that most people in that club were introverts, true nerds. They would rather sit in front of the computer than go out during the yearly college social fest. Yet, Aditya thought he is unique and does not belong there. Later that year, Aditya left the club.

    +

    I have met a lot of Adityas in life. They sit quietly in one group, but are the loudest in another. They use introversion as an excuse to not grow. What they don’t realize is - everyone is an introvert and everyone is an extrovert. It’s often an unconscious choice we make. For some, it is easy and natural, for some it takes a bit more effort.

    +

    Be an extrovert at work

    +

    In the traditional meaning, everyone should be an extrovert at work. But there are two big challenges with this. First, people don’t know what that means. Does being an extrovert at work mean you need to shout “Good morning!” to everyone like a human alarm clock? No, but if you want to try, let me know how that works out. Does it mean I should be shouting in every single meeting? Does it mean I get to speak the most in conversations?

    +

    The second challenge is the misconception that communication should be natural and effortless. While the reality is, it takes effort to communicate and drains energy for everyone. Most speakers and developer advocates (I have been one) often enjoy the calmness when the meeting gets over. People don’t realize everyone is putting in some effort, even though it may not feel that way.

    +

    It’s a skill, learn and practice it like a skill

    +

    Let me start by saying that work is not a social club. Everything you do at work is part of work. Talking to your colleagues about their life? It’s part of work. You are building relationships which will help you out sometime later. No matter what role you play, you will always have to communicate and collaborate with others. If this is something you disagree with, you should go back to the drawing board and think deeply.

    +

    Allow me to paint you a picture. Ram and Shyam are two senior engineers in a team. (I could have picked more modern characters, but in this world, Ram and Shyam are such classy names, how can I not pick them?!)

    +

    + + + + + + ramandshyam + + +

    +

    Ram has been writing code for five years. He likes to sit in a cave and do his work. He has often rescued the team in situations with critical bugs. However, he’s a bit shy and doesn’t like to share what he is working upon. He’d rather disappear for a week to finish the work than collaborate with others. As a result, he is less visible to his colleagues and leadership.

    +

    Shyam has also been writing code for five years. You wouldn’t call him a genius like Ram, but he asks excellent questions. Not trying to be intentionally difficult, but he likes to ensure that everyone is on the same page. He likes to break down his 5 days of work, in smaller chunks and often invites others to collaborate with him. He’s good at being transparent and delegating. Likewise, he’s always excited to do a demo and talk about his work with colleagues from different teams. As a result, he is more visible to everyone around him.

    +

    The manager likes both equally. But when the budget is tight and he or she has to promote only one of them, everyone favors Shyam slightly more than Ram. Natural biases.

    +

    Ram learns about Shyam’s promotion and feels a bit disappointed. He goes back home and says to himself “I am not an extrovert”, consoles himself and moves on with life.

    +

    You can find these Rams and Shyams in almost every group in the world. The biggest misconception that Rams have is that they think communication skills can’t be learned.

    +

    It needs to be treated as a necessary skill. It has a direct impact on you, your family and your career. Why wouldn’t you do what brings more prosperity back home?

    +

    Being outspoken does not mean Fast Thinking

    +

    If you haven’t heard the concept of “Fast thinking” vs “Slow thinking”, you should check out Thinking Fast and Slow. Here’s a summary anyway.

    +

    Our brains have two modes when it comes to making decisions. There is a fast part of the brain which makes most of the day-to-day decisions in an autopilot mode. For example, when brushing teeth, you don’t plan out what quadrant of the teeth you should begin with. It all just happens while you think about the delicious breakfast you’ll be having later.

    +

    Slow thinking requires significantly higher energy, but is responsible for most of the learning and high quality work that you produce. Since fast thinking requires less energy, the brain ideally wants to do everything in this mode.

    +

    + + + + + + quadrants + + +

    +

    This graph is mostly inspired by engineers, but it applies to any high skilled labor or someone in R&D. People like working with others who collaborate with them. But they also prefer those who think deeply when it’s needed.

    +

    While the concept of fast and slow thinking helps us understand the mental energy required for thoughtful collaboration, it also ties into another dynamic we often see - the frontbencher vibes.

    +

    Frontbencher vibes

    +

    While the diagram above represents my subjective view of the world, I do want to address the “Outspoken” and “Fast thinker” category of people who emit the frontbencher vibes. They are the ones to always raise their hand when someone says “does anyone have a question?” There is a desire to learn and grow, but also a hidden desire to be seen. They often do not care what others think of them.

    +

    I sometimes emit frontbencher vibes myself. But there is a thin line in being a frontbencher and being an annoying human being. I usually shut up when I sense that I am being the annoying one in the room. It’s one of the most difficult social skills that I have found in life.

    +

    Be an introvert in real life friendships

    +

    Some of you might be thinking “This extrovert doesn’t understand what it is like to be an introvert”. Let me disprove that. A while ago, I wrote about BFS vs DFS in friendships. It’s inspired by the concepts of Breadth-first search and Depth-first search when traversing trees. Most long-lasting friendships are often two introverts talking to each other and exploring each other’s depths. As I grow older, I realize it’s rare and precious. Making friends gets harder and harder as you age.

    +

    DFS friendships are like diving deep into a conversation about life at 3 AM. BFS friendships? More like, “So, how’s the weather?” ten times over. Both have their charm.

    +

    If you read the article or know me personally, you’ll realize that I am an extrovert on camera, but an introvert in real life. I find this lifestyle fascinating. Most high-growth people I know closely are like this.

    +

    Your mileage will vary

    +

    You can always find people who are more extroverted or introverted than you. Instead of hiding behind some sort of pride in a personality trait, you should recognize the necessary skills and learn them, especially at work. That being said, slow thinking and collaboration goes a long way.

    + + diff --git a/docs/posts/weeknotes-28.html b/docs/posts/weeknotes-28.html index bb79bd97431..67c67dd66de 100644 --- a/docs/posts/weeknotes-28.html +++ b/docs/posts/weeknotes-28.html @@ -68,7 +68,7 @@

    Weeknotes #28

  • i feel like i'm really clear on what i want this year without a big chunk of planning, but i also want conflicting things e.g. fancy sleeve tattoo vs. saving a big emergency fund.
  • since i guess i won't write another thing on here weeknotes wise till after xmas i hope you all have a fantastic one if you celebrate, and a great day otherwise too! happy solstice for tomorrow, even if you don't celebrate it too (brighter days are coming, northern hemisphere! the hateful sun is going back in her cage, southern hemisphere!) xo
  • -

    Last updated 6 days, 16 hours ago

    +

    Last updated 6 days, 17 hours ago


    If you liked this post, please message, email, or follow me online, check out my work in progress, share this post or subscribe to my posts by RSS!

    diff --git a/docs/posts/what-s-making-me-happy-2024-12-21.html b/docs/posts/what-s-making-me-happy-2024-12-21.html index e7242d54b41..87666162cc4 100644 --- a/docs/posts/what-s-making-me-happy-2024-12-21.html +++ b/docs/posts/what-s-making-me-happy-2024-12-21.html @@ -17,7 +17,7 @@ Original

    What's making me happy 2024-12-21

    -

    Ugh, totally failed at getting these #happy posts out. But here is one more post before the year is over. Some of these links are from recent, and some are from drafts I created but never published.

    +

    Ugh, totally failed at getting these #happy posts out. But here is one more post before the year is over. Some of these links are from recent, and some are from drafts I created but never published.

    Listening