On this page:
mindstream
8.14

mindstream🔗

If you’ve ever created throwaway files named 1.txt or blah.py or test3.rkt to quickly write down some thoughts, try out a new idea, or prototype a new software tool, then you’ve already experienced the inconvenience of having to first come up with a name for these throwaway files, a small obstruction that is sometimes enough to snuff out that momentary creative spark that might have become a worthy conflagration. You’ve also probably experienced the cost of not creating such files, when just as the quick and anonymous freewriting session started to grow into something you’d want to keep around, an application error or computer crash caused you to lose it all and be more discouraged than when you began.

Regardless of what you’re trying to do, it begins with writing. Writing text, writing code, writing thoughts. Writing isn’t just a way to express yourself, but a way to think.

Mindstream removes the barriers so that you can start writing immediately, and so that you can feel secure enough to play with the things you write, knowing that you won’t ever lose anything you care about, and at the same time, never have to think again about the things that have served their purpose in the moment.

Mindstream is a lightweight tool that leaves most of the heavy lifting to other packages (including major modes) and technologies (such as Git). It simply uses these together to augment your existing workflows to fill an unmet need.

Every mindstream session begins from a template (an ordinary folder) that you provide, and evolves through the stages of your creative process. The session itself is stored as an ordinary folder in a unique Git repository at a temporary location on disk. This repository is versioned by commits representing your writing process bounded at natural points – by default, the points at which your buffer is saved (whether explicitly by you or implicitly on running a command like racket-run). In this way, Mindstream saves you the trouble of coming up with extraneous names (e.g. draft1.tex, draft2.tex, ..., draft_final2.tex, ...) and allows you to focus on the task at hand. You can save and load these sessions, too, and pick up right where you left off, allowing quick freewriting sessions to organically grow into robust creative works.

Typical uses of this package are for early stages of prototyping in a software project, or for exploratory programming to understand a new idea, tool, or technology. It’s also great for just taking quick notes or freewriting blog posts or content in authoring settings in general.

    1 Installation

    2 Usage

      2.1 Adding New Session Templates

      2.2 Saving Sessions

      2.3 Entering Sessions Even More Quickly

      2.4 Archiving Sessions

      2.5 Live Mode!

      2.6 Mindstream Anywhere

      2.7 Explore

    3 Customization

      3.1 Persistent Sessions

      3.2 Multiple Concurrent Anonymous Sessions

    4 Design

    5 Tips

      5.1 Magit

      5.2 Git-Timemachine

      5.3 Previewing

      5.4 Marking Significant Versions

      5.5 Choosing an Archive Path

        5.5.1 /var/tmp

        5.5.2 Home/tmp

      5.6 Organizing Sessions

    6 Acknowledgements

    7 Non-Ownership