So to recap, last week I decided to go back to the project that started off this newsletter, Fancynote. Being incredibly dim, I decided to do this right as things are kicking in gear with hyperlink.academy. That's why I'm just starting to write this newsletter, at 12:48AM. Alas.
What you're looking it is some very basic HTML that's generated from my very basic markup language.
It looks like this:
#[Fancynote]This is l[my https://awarm.space] first attempt at an environment and programming language for thinkingin. I'm calling it b[fancynote].##[Goals]The long term goal of fancynote is something approaching a i[maintainablewiki]. Sustainable digital gardening. A permaculture of thought.
You can read more about the language features in the note on the architecture.
If you're familiar with markdown you may be rolling your eyes right about now. This just looks like markdown with some extra brackets. But, there are a couple key differences here.
Basically, it's a very simple core you can build almost anything on top of!
This may all seem very pointless. After several hours of work3 I have a language that works in some ways worse than markdown. But! I have a language that I understand every line of. That's a pretty empowering feeling!
It enables a learning loop like no other, where you can be operating on one level (writing/notetaking), have an idea for a feature you wish you had (say, block level links), and jump right into implementing it. Of course this can be extremely dangerous to your productivity, but productivity isn't the reason to do any of this.
A much better reason is to have fun, and closely following, to explore interesting ideas. There's something lovely about a learning by taking notes with a notetaking tool you're building to learn.
With this loop, I want to slowly grow the things I can do with the language. There's a lot I'm interested in, as you can see in the todos note.
Two things I'm particularly excited for right now are making a repl and types.
A REPL is
read-evaluate-print-loop. Basically, it's a terminal tied to a
programming language. In particularly I'm interested in making an interactive
environment in which I can query and process my notes.
I've been using notion a lot lately to collaborate with others and it has some fantastic features for treating notes like a database. I was trying to imagine how you could acheive something similar with a text-only constraint and was having a really hard time until the aha moment. If you view each note file as a program, you could just load that program up in a REPL and interact with it! This is extremely loosely speced out, but I think there's something interesting here.
The other thing I want to tackle is types. Past readers may remember me gushing about types on prior occasions. If not, see: https://awarm.space/newsletter/14-databases-maps-and-manuals
Strong types and notes seems like a wierd combination, but I think they make a lot of sense. Notes span the gamut from loosely defined to extremely rigid, and a lot of the value in (re)writing them comes from moving between the two. Most often notetaking systems lean to the loose side as it's the more general one, but a sufficiently advanced typesystem should let you conciously choose where you want to be precise.
If you want to have a series of notes where every entry must have a certain shape, you should be able to do that. Likewise, if you want to have notes be loose and fit any structure that should work too!
Speaking of fitting any structure, as you may have noticed, this newsletter seems to be shifting focus. I used to have more musings and essay approaching things in here, and it seems it's now evolving into more of a work log, a [Working with the garage door up][https://notes.andymatuschak.org/Work_with_the_garage_door_up] type thing.
So I think I'll explicitly change things up a bit. Think of it like Season 2.
I might evolve this structure more as the weeks go on. I'd love to start linking out more to other people's interesting work, so it might make sense to create a space for that. Experiments abound!
By my newsletter next week I will:
Til then! Thank you for reading.