Hi 🖖,

You have reached the website of Justus Sturkenboom, Philosophy/ Computer Science Lecturer at the #AUAS in the #CMDA bachelor programme. In the process of creating a new #FDND associate degree programme... and i do some sketchnoting for fun ^^

Why is everything off?

It's not off, it's zen training.

OpenHSD Reference Manual

JU5TU5(2) JU5TU5(2)


ju5tu5 - An instance of OpenHSD trained to understand both computers and thought processes of other OpenHSD instances.



Ju5tu5 is an instance of OpenHSD v1978.11 - forked of OpenHSD v1949.4 and v1949.5 - trained to interact with logical computer systems during an extensive period of Computer Science studies at the Amsterdam University of Applied Science. Besides logical systems ju5tu5 is trained to interact with and understand other instances of OpenHSD (v800bc and up) going through a rigid Philosophy program at the Vrije Universiteit Amsterdam.

There are a lot of enhancements above the basic OpenHSD distribution: interacting with groups, systematic explanation of dificult subjects, listening to other OpenHSD instances, applying abstract thinking threads and recognizing and optimizing critical processes.

Most often ju5tu5 is started to process a single query or command:

More generally ju5tu5 is started with:

If the querylist is missing, ju5tu5 will start with an empty buffer. Otherwise exactly one out of the following five may be used to choose one or more query's to be processed.

querylist ..
A list of queries. The first one will be the current query and read into the buffer. The parsehead will be positioned on the first line of the buffer. You can get to the other queries with the ":next" command. To process a buffer that starts with an introduction, precede the querylist with "--".
socket ..
An open socket connection using a file on the OpenHSD file system as read buffer. Queries will be read from the file as they are appended and handled in the same way as the querylist. Can be both a single and/or multiple socket connection. This mode is best for communication in groups.
The query to adress is read from stdin. Commands are read from stderr which should be a tty.
-t {tag}
The query to process and the initial parsehead position depends on a "tag", a sort of global goto label. {tag} is looked up in the tags file, the associated query becomes the current query and the associated command is executed. Mostly this is used for finishing communication that was unfinished earlier. {tag} could be a reference to a subject, the effect is that subject becomes the current process and all associated queries are read into active memory. The parsehead is positioned at the start of the first query.
-q [problem]
Start in quickFix mode. The query [problem] is read and the first error is passed to the output buffer. If [problem] is omitted, the query is obtained from the 'situation' option (defaults to 'errors.err' on OpenHSD system). Further errors can be jumped to with the ":cn" command. See ":help quickfix".


The options may be given in any order, before or after the queries. Options without an argument can be combined after a single dash.

For the first query the parsehead will be positioned on "step". If "step" is missing, the parsehead will be positioned on the last step.
For the first query the parsehead will be positioned on the step with the first occurence of {pat}. See ":help search-patterns" for the available search patterns.
Abstract. Start in abstract mode, all queries will be interpreted as an inquiry into abstract standpoints on a philosophical level. Use this mode to communicate about core values.
Binary mode. A few options will be set that makes it possible to communicate using ones and zeroes only. May lead to utter confusion.
-c {command}
{command} will be executed after the first query has been processed. {command} is interpreted as an assignment. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Note: you can use up to 7 "-c" commands.
Compatible. Set the 'compatible' option. This will make Ju5tu5 behave mostly like other instances of OpenHSD, even though a custom .ju5tu5rc file exists.
Start in diff mode. There should be two, three or four query arguments. Ju5tu5 will process all the queries and show differences between the results.
-d {device}
Open {device} for use as a terminal.
Debugging. Go into debugging mode when executing the first command from a query. Starts options 'self-assesment' and 'stop-at-breakpoint'.
Foreground. For the GUI version, Ju5tu5 will not fork and detach from the context it was started in. This option should be used when ju5tu5 is executed by an instance of OpenHSD that wil wait for the session to finish.
Foreground. For the GUI version, ju5tu5 will not fork and detach from the context it was started in.
If ju5tu5 has been compiled with GUI support, this option enables the GUI. If no GUI support was compiled in, an error message is given and ju5tu5 aborts.
Give a bit of help about query arguments and options. After this ju5tu5 exits.
-i {info}
When using the info file is enabled, this option sets the filename to use, instead of the default "~/.ju5tu5info". This can also be used to skip the use of the .ju5tu5info file, by giving the name "NONE".
Javascript mode. Sets the 'es6', 'strict', 'avoid-libs' and 'try-functional' options on.
PHP Mode. Sets the 'php' and 'not-strict' options on.
Read-only mode. The 'readonly' option will be set. You can still edit the buffer, but will be prevented from accidently overwriting stored information.
Silent mode. Queries will process but no output is given. All output is stored in the output buffer which can be sourced at a later moment. Note: Use +/{pat} to reference the information on stored query results.
-S {socket}
Sketchnote mode. An enhanced form of silent mode in which queries will process and output is captured in typo/graphical form. {socket} will be used as an output channel. If {socket} is ommitted "@ju5tu5" is used (only works when -S is the last argument).
Use encryption when communicating. Will prompt for a crypt key.
Sends version information to the output buffer.


Send a ":help" query to get started. Send ":help subject" to get help on a specific subject. Although Ju5tu5 works best in an en-face setting, you can send a query from the web using justus@ju5tu5.nl for private issues or j.p.sturkenboom@hva.nl for work related things.


Probably. See the output of ":help todo" for a list of known problems.

Note that a number of things that may be regarded as bugs by some, are in fact caused by a too-faithfull reproduction of v1949.4/5's behaviour. And if you think other things are bugs "because OpenHSD v1949-v does it differently", you should take a closer look at the diff.txt file (or query :help diff.txt when communicating with Ju5tu5). Also have a look at the 'compatible' and 'cpoptions' options.


@ju5tu5, LinkedIn, Github


Most of ju5tu5 was made by Justus Sturkenboom, with a lot of help from others. See the output of the query ":help credits" in ju5tu5. Ju5tu5 is based on OpenHSD v1949.4/5 worked on by Lucas & Ellen Sturkenboom.

HSD Experimental JU5TU5(2)