Back to the talks Previous by track: Top 10 ways Hyperbole amps up Emacs Next by track: Parallel text replacement Track: General

Using Koutline for stream of thought journaling

Matthew Jorgensen (PlasmaStrike) -

Help wanted: main talk does not have captions

This talk does not have captions yet. Would you like to help caption this talk? You may be able to start with these autogenerated captions.

(If you want to work on this and you think it might take you a while, you can reserve this task by editing the page and adding volunteer="your-name date" or by e-mailing

Format: 7-min talk; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings

Duration: 06:44 minutes


I will talk about a nice journaling workflow I have developed using the Koutline, from the hyperbole package. I will showcase this workflow and describe what I like about Koutline and why I use it over other options like Org Mode and plain text.

About the speaker:

I have used Emacs for 10+ years and enjoyed some of the last EmacsConfs. To share back, I have decide to share a unique workflow I have developed, as well as challenging myself by learning how to make videos to learn some new skills along the way.


Questions and answers

  • Q: extremely interesting point about loss of concentration, i think with tools like that people who really work alot with text in an abstract matter could have enormous benefits doing it without being hypnotized by all the options, i have to rewatch the presentation again to see nuances, i also would like to see it written somewhere in a short conciese even maybe stream of conciousness mode. my question is i hope you don't plan to stop the development of this wonderful idea, thank you
    • A: A lot of people think tools like this and emacs vim are all about speed, However it is more about staying in flow state can change the types of thoughts you get. That is the bigger part to me.
  • Q:Do you tend to create outline structure while journalling, or after you have captured thoughts? Do you change the structure a lot while capturing it?
    • A: Whatever feels good at the time, Saying my day went good for reasons 1,2,3 is a natural ways of sharding my thoughts that maps well into outlins. Plus editing them later is always an option
      • The easy keybings for child, same level and parent cell makes it efficient enough for live journaling


Transcript (unedited)

Today I will share a nice workflow I have developed for stream of consciousness journaling. The goal of stream of consciousness journaling is to get your thoughts on the screen as effectively and efficiently as possible. These 2 features when combined reinforce each other and let you hear yourself think in a very efficient manner, increasing the number, quality, and types of thoughts you can get out of it. The tools I will be using for this are Emacs, KL line from the Hyperbolt package, centered cursor mode, Olivetti mode, and optionally, voice to text. Additionally, you can see my commands and key bindings on the right. I will start off by showing a typing demo about how my day went. There are certain functionalities for stream of consciousness journaling that are desired or detrimental to the process. Stream of thought functionalities, things I want. The ability to optionally use speech to text. I do this by using Nerdictation, a Python program. I am still experimenting with this as it changes the quality and types of thoughts you can get out of stream of consciousness journaling. I am still looking for better ways of doing this. The ability to easily organize and split off my thoughts by creating and manipulating outlines. Creating them in real time is needed for live journaling and allows for later editing really easily. I showed off some of these commands before. To just write words without worrying about format. To not worry about scrolling, I use centered cursor mode. To not worry about lines, I use the KOutline auto-filling functionality. To not worry about pressing Enter, and to have a nice looking journal with hard returns afterwards. Manually filling is needed with spacing when it is wrong. I do that with metaJ. Counterproductive functionality. Spell checking. While this is useful for editing, it is not useful for stream of consciousness journaling. Having this on or off conditionally while you are live journaling is a killer feature of Emacs. Reading slash editing the journal. Part of the value proposition of this is to listen to what you are thinking, so this is needed functionality. You cannot listen very well when you are speaking, and the converse is true as well. You cannot speak very well when you are listening, decreasing what you can get out of it. Features when editing or listening to your journal. Spell checking. I use the Spackage Spellfoo, but there are others. I use multiple panes to read and edit. I use a combination of follow mode and some of my custom functions. These are what I use right here. The ability to change the view specs of the document. Stuff like, toggling blank lines. Show the first heading of everything. You can also export the KOutline pages to HTML for other people to read or another way to look at it. Easy manipulation of cells. You use the Alt and arrow keys just like in Orm mode to delete cells easily. The ability to manually reformat KL9 cells in addition to auto formatting of the cells for when spacing looks off. MetaJ is nice, and auto-filling is also nice for having multiple pages. Why do I use these tools versus other common tools? K-Outline vs. Playtext Writing in outlines helps me easily structure my thoughts in a way that is easy to write, read, and edit. Org Mode vs. K-Outline Org Mode gives me lots of ways to structure my journal slash document. While this is great for a lot of things, for stream of consciousness journaling, this causes decision fatigue and loss of concentration. Types of questions I get when structuring an org-mode document? Do I keep everything in a heading or below the heading in paragraphs? How do I handle new lines? Do I just use visual line mode with no hard returns? Or if I make hard returns, on what line number do I do them? More visual line nodes in org-mode documents like a potential org ID in your property stores. While a lot of the above is really nice if you are making something like a website to present to other people, these features are counterproductive to stream-of-thought journaling. Org mode is also top-notch for other things such as GTD. I don't think org mode has bindings to create child, same-level, and parent cells. Centered cursor mode versus scroll lock mode built-in. Scroll lock mode changes its place when you move the cursor from the bottom or the top of the page. Centered cursor mode will reliably fix itself to the center when the cursor position is not there.

Questions or comments? Please e-mail

Back to the talks Previous by track: Top 10 ways Hyperbole amps up Emacs Next by track: Parallel text replacement Track: General