Tiddlywiki – A non-linear personal web notebook
tiddlywiki.com
tiddlywiki.com
- Importing from Evernote (.enex files)
- Cross-platform support (Win/Lin/Mac) + Mobile apps (ios / Android)
- Synchronization (Dropbox, Onedrive, Nextcloud, WebDAV, Filesystem)
- Support for encryption
- Webclipper extension (for Firefox and Chrome)
- It's FOSS, with a number of active contributors on GitHub (https://github.com/laurent22/joplin). A good bus factor and no more dependence on the whims of private organizations.
- A command line interface
- Use of Markdown. Drag and drop support for files and media in the GUI.
There are still features of evernote I miss such as inline PDFs and audio recording
An additional benefit of using Emacs: the personal wiki can be integrated with my task-management system, which Org-Mode handles as well. Plus I can draft and edit at warp speed, having customized the native Emacs keybindings to suit me better.
Were I going to publish my wiki to the Web for others to use, I'd export the wiki to HTML with Org. But for now it's all personal.
I'm using Orgzly, but it only supports a subset of real Org-mode.
http://endlessparentheses.com/running-emacs-on-android.html
It runs Org fine, I've even used Spacemacs on Emacs runnning in Termux.
But it’s pretty slick. It’s now the app I turn to (not my calendar) when I’m wondering what I’m supposed to be doing today.
In addition, I have an AWS lambda endpoint which listens to a SES email hook. I send emails to the SES address which the hook then appends and schedules to org files on dropbox based on email content.
I started implementing a personal wiki using MediaWiki long time ago, trying to replicate the concept of Zettelkasten. But MediaWiki is a bit too heavy and complex, even if you use a SQLite backend. Furthermore, it doesn't compose with my editor and version control system of choice.
I think having a wiki is essential, as the deliverable of many tasks is just a knowledge bit you really want to record. It's interesting to see personal wikis are starting to show up in GitHub and GitLab. I wish both platforms improved their org-mode support to capitalize on this trend. We can all collectively benefit from open-sourced wikis in the same way we benefit from open code.
Getting into Org-mode, I would occasionally run into people who would say, "there's one right way to do this. You should be using Org-agenda view for all of your TODOs, you should be setting up tags with this specific system..." Over time, I have learned to ignore those people.
The main benefit of Org-mode is that it is really, really, stinking flexible. You should use whatever system you're most comfortable with (probably whatever you were using before with Markdown) and then slowly adapt features like auto-archiving TODOs, time-tracking, tags, Org-capture, as you need them.
You should look into them, because sometimes you see something cool like Org-capture and you're like, "woah, I could just hit one keypress, type in a sentence, and it'll get auto-filed for me based on the content." But let that "coolness" factor be the thing that guides you. Org-mode is really big and really adaptable, so if you try to grab everything in one go, you'll end up turning your notes into a chore again.
I started using Org-mode specifically because I hated having to adapt a very personal notetaking style to more rigid commercial apps. And my notetaking style evolves based on what I'm going through in life anyway. Org-mode allows it to be more rigid or more flexible based on life circumstances.
Org has fine hyperlinking, and equally fine searching -- including searches on headline tags and properties -- using regexps if desired. Underneath is the logical outline structure -- just like a website -- and the hierarchical inheritance of tags and properties.
Plus -- here's where Org is superior to a Web-based wiki IMO -- it's so easily refactored. When I started I had only a few top-level entries. Over time, I have accumulated hundreds of headlines and their accompanying body text. Multi-level structure emerged naturally, and continues to evolve.
Here are my top-level categories today:
1. Arts and Entertainment 2. Diet and Health 3. Household 4. Restaurant and Bars 5. Petronius.me (my household LAN) 6. Subscriptions 7. People and Me 8. Travel 9. Commonplace Book (quotes, links, and reading I've saved)
Org makes it easy to move things around and re-organize as needed: just cut a subtree and paste it to a new location in the hierarchy.
Org's linking make cross-references a cinch. Who was that person I met on this trip? Oh, here's a link to their personal entry in "People and Me". And that entry will link back to the trip in "Travel."
A headline's unique ID property guarantees that a link will never break, no matter how frequently or drastically you move things around.
* Org-files
#+BEGIN_SRC sh
for file in $(ls *.org)
do
echo "[[~/org/$file][$file]]"
done
#+END_SRCI am also using Org-Mode and Dropbox for the majority of my notes. I really like it. In particular, Orgzly for Android works great with this system, so check it out if you want mobile notes as well.
The problem is that I also like to take paper notes, and take videos/pictures of stuff, and scan documents, and download webpages. Org-mode kinda stinks for embedding external content that isn't text? As far as I can tell.
I can link to external content, and if I export to HTML it'll show up. But... I never export to HTML, because, as you probably already know, it's way easier to read notes in an editable format. I can turn on picture rending in Org-mode, but it's not responsive, and I can't crop the pictures or annotate them with a stylus, or do any of a dozen different things that I want to do.
What I've thought about is that I really just want the ability to render HTML/CSS inside of an Org-mode buffer, and ideally to be able to set up custom CSS classes that would be applied to every snippet. Just set up a quick region, write some helper functions to compile/render the HTML, etc...
I've been thinking for a while about taking some time off of work to just try and solve the problem. Is it already solved? I know that at one point people were looking into getting webkit embedded into buffers. Did that go anywhere? I guess you can build GTK widgets for Org-mode as well? But then you lose the ability to define custom styles on the fly.
B) Does it actually address the image problem? The config appears to be using the built in inline-images, which don't support responsive widths.
Even getting rid of responsive widths, simply embedding the image into the buffer isn't really good enough for handwritten notes -- you need at least the ability to crop/zoom.
;; Paste image to orgmode https://stackoverflow.com/questions/17435995/paste-an-image-on-clipboard-to-emacs-org-mode-file-without-saving-it
(defun my-org-screenshot ()
"Take a screenshot into a time stamped unique-named file in the
same directory as the org-buffer and insert a link to this file."
(interactive)
(org-display-inline-images)
(setq filename
(concat
(make-temp-name
(concat (file-name-nondirectory (buffer-file-name))
"_imgs/"
(format-time-string "%Y%m%d_%H%M%S_")) ) ".png"))
(unless (file-exists-p (file-name-directory filename))
(make-directory (file-name-directory filename)))
; take screenshot
(if (eq system-type 'darwin)
(call-process "screencapture" nil nil nil "-i" filename))
(if (eq system-type 'gnu/linux)
(call-process "import" nil nil nil filename))
; insert into file if correctly taken
(if (file-exists-p filename)
(insert (concat "[[file:" filename "]]"))))There's also https://github.com/alphapapa/org-web-tools/ for web snippets.
> Outline requires the following dependencies:
> Postgres >=9.5 > Redis > Slack developer application
The recent Facebook debacle should be example why.
The iOS, Android, and Electron/desktop app is open source, but the server-side environment is proprietary to Automattic. But, the app supports simple zip export of all your notes, which is nothing more than a directory full of plain text files and a JSON file representing the (optional) revision history. I believe the Automattic team operates the service for free because they use it as a testing ground for development frameworks that then cross over to Wordpress.com and other projects.
I tried spacemacs/org/gtd for a while but there was too much yakshaving, sync was hard and still no embedded images.
Is that an accurate concern?
So, now I have to think about the possibility of reverting back to org-mode after a couple of years of heavily using Evernote.
(I use org-mode, but that requires some investment …)
I find it much easier to use than Word. My colleagues were startled by it, but they mastered it now.
The only annoying thing are:
- we need to press 2 carriage return to go to the next line
- the markup languages are never standard. we use redmine with textile which is kinda compatible with TW, but not 100%
- a sane way to keep a wiki on something like Dropbox (at the time, the only way to have persistence was to disable browser security and allow JavaScript to write to disk directly) or
- a service to sync a wiki between machines
Has that changed nowadays?
I haven’t tidied it up for a public release, but feel free to try it out:
The great thing about TiddlyWiki is that you can easily move it somewhere else and edit from there because it is just a single file.
--
[0] - https://tiddlywiki.com/poster/images/TiddlyWiki_TiddlerPoste...
It sure is a really weird/fascinating design...
the fish is a tiddler [0], it's consuming a mess [several entangled lines] and excreting something unified and cohesive [single line].
[0]: https://en.wikipedia.org/wiki/Tiddler
('Tiddler' is perhaps BrEng slang? I'm British, and I'd say it's slang - especially when applied not to a fish, but to something or someone small - but I don't know how widespread it is.)
> A small fish, especially the three-spined stickleback
My wife, a neuroscientist researching three-spined stickleback, has never come across the term 'tiddler'. Midwestern US.
So, yes, I would say it is solitarily British slang.
At the time though, my only option was keeping it as a local file on a single machine - these days my home infrastructure is much more developed, and I think I might have more luck running it on a proper http server. Maybe I'll give it another shot.
1. Perfect recall. Every little detail I read in a book/blog/article stays with me. Makes it easy to synthesize results from multiple pieces across time, which is useful when you only have a casual interest in something. (I really like downloading the cool education images/GIFs and and inserting them in articles- otherwise I don't know where I'd keep them.)
2. Reveals what I don't know about a subject. For example, whenever I start off writing a new article on some topic, the first thing I write is a definition, e.g. "A cat is an animal that ...". The process of doing that often reveals gaps in my understanding.
3. It makes me better at asking questions when I'm trying to understand something. The analogy I like to make here is that learning a second language is harder than a third language, because after learning the second you know what you need to know to understand a language. But there's no reason that should be limited to languages and couldn't apply to all things, and things themselves. Some questions I like to ask are "What is the function/uses of this thing?" "What are the parts of this thing and how are they arranged?" "How do we make this thing?" "What's the history of this thing?" "What subtypes of this thing are there?"
The downside is that it dramatically slows down my reading speed, since I now feel I need to take detailed notes, and then I often have to reconcile them with notes on other things which can be time-consuming. Considering the number of books a person could realistically read in their lifetime is limited, it's unclear if it's worth the tradeoff.
I'm curious how other people think about remembering things, and if they have a system, what tools they use. It seems unsatisfying to me to read a book and realize I'll probably forget it in four years, yet most people seem content to do so.
If anyone is interested in the specific software I use, here's the Github project: https://github.com/Ceasar/Encyclopedia. It uses restructuedText (as opposed to Markdown) for the text. I edit them using Vim. All the files are stored in Dropbox so it gets synced between my devices. A simple Flask web server renders the pages in a prettier format.
Still very primitive compared to what it could potentially be, but combined with regular Unix command line tools it's worked fine for my needs. (I like the idea of a hacker-wiki by the way, more than something like this which comes out of the box. Seems like an personal wiki designed for a power user could be way more interesting.)
Holy shit. Make it public.
The idea is fantastic. I would love to have something like wikipedia but people have separate pages on topic.
Or, in other words, if you want to find everything written by given person, why not that easy it is doable - it was more doable back when blogs were more popular.
But if you want to find everything on given topic written by different people that's not such an easy task. I feel like it should be solved soon by machine learning and evolution of search engines, but you still have the problem of which authors (or inevitably bots) do you actually want to see. This can be solved with a global web of trust.
I think I'm at or near around 800 of these, and many are very short. But no matter how short they are, they are all there because they provided me or continue to provide me with needed leverage.
I keep the bulk of the information in markdown in a Dropbox folder and also occasionally try new methods. For example, for topics that will quickly benefit from hyperlinks, I developed a LibreOffice web template and a companion PHP script that indexes these files and inserts additional CSS, variables, JS, etc. when they are served up. For searching I like Regexxer a lot, but I also use grep quite a bit :-)
On my XFCE desktop are buttons for opening a random one of these files, and for opening a random journal entry to try to harvest new models, so to speak.
And there's some paper involved here too... Can't get away from it, because paper has its own special leverage points...
I'm not concerned about memory, knowing it's a special weakness of mine. If I'm working in a context where memory is super important, my energy is best spent moving to a more sustainable context. :-) Memory is a hobby for me, a side gig for memorizing pi, that kind of simple and fun thing.
Each model has different leverage points. Your comment, taken as part of a model of your psychology, provides leverage for understanding that part of my text was not well received by your psychology.
Regarding the hood, look at it this way: If you don't know much about cars, you might look at a simple toy car _without an opening hood_ and make assumptions about what happens in the front of the car. When you get a car where the hood opens, maybe all of a sudden you make a huge leap: There is stuff under here, and it does something. So at this point, maybe you start working on (by asking around, or reading), or building, a model with a working engine. Or even just a working dipstick, who knows. As the parts are revealed, the model gains leverage. Pretty soon you are able to run more advanced simulations and predict traffic dynamics, things like that. Or you change models and learn the leverage points of the tractor, or motorcycle. You begin to learn why a motorcycle is helpful and even necessary in some circumstances. Texts work the same way as they unfold. And there are also various text-creation methods that expose different leverage points. Reliance on charts and graphs, or emotive graphics, etc. All of it is helpful in some way, and maybe--like my original comment--low-leverage in other ways and for other people.
Anyway I hope that helps, but I know I'm still couching this in metaphor which isn't a high-leverage communications method for everyone. YMMV, which is what makes human psychology so cool.
(My PhD advisor used to say that a sign of learning isn't whether you remember something -- it's how quickly you can re-learn it. So I try to make it easy to find and re-learn things I need.)
Since I need to cite papers, I had to put together a system that can read BibTeX bibliographies and format them into references. I cobbled together a Hakyll config that uses Pandoc and KaTeX to turn Org files into HTML pages, with a simple chronological listing: https://www.refsmmat.com/notebooks/
I've found this useful for my own reference and to share with others -- if someone asks me about some topic I've read about, I can just send the notebook link with summary and citations.
I'd like a version that doesn't need separate BibTeX files (though that should be easy to solve with a couple scripts or some Emacs packages), and perhaps intelligent full-text search, but for the moment I like that it produces static HTML that will last forever.
Neither does keeping large amounts of well formatted documents privately. I can't hold myself accountable unless its public, and easily accessible with a search engine. Notes are primarily to break down topics and cement my understanding of it
Maybe this is just me but its pretty convenient to just type "name-of-article-you-made or name-of-video-you-made" on google and then get the files you've made.
Tiddlywiki's maintenance cost and learning curve / ability to create notes efficiently and effortlessly is not there to me. I've tried picking it up a dozen times in the last few year. A good notetaking app should get out of your way entirely, and only add a small cost of maintenance for the larger amounts of benefits you reap from it. Everything needs to be visible at a glance, with nothing hiding behind obscurity
Something like book reviews, you can write a review on goodreads to remember your opinions and thoughts were. You can bookmark things and use readwise to autosync and send you email reminders of things highlighted / quotes
Total recall might not even be possible. Information is relative. It transmits different messages to different people. Each of us is constantly changing, so the information also changes. Whatever thing that the information was at one time, that thing rots as soon as it's saved (same words, different thing.)
The rational brain likes to collect stuff and do busy work. Thank goodness for the emotional brain which gets tired, bored and concludes with "this is stupid" before nudging the rest of the brain to move on to something else.
Not sure what the point of my comment is. When I want to access information, I just Google it. Also, it's important to publish stuff. Get the work in front of people for feedback. If it's not paying some sort of rent (fighting off some other higher value of something to do) then it's just cargo-culting. Much better to pass the time by going outside to play and get in trouble like we did when we were South Park age.
In a previous job as a presales engineer, I kept notes of prospects and customers in a TiddlyWiki. When I left, I handed the file over to my replacement. He told me after a few years that the "wiki" was of great help to him.
Everything is plain text, has markdown support, apps on most platforms, ability to automate things for everyday use, and easier to use overall.
Also I just can’t stand the idea of “tiddlers”.
Glad to see it's still here.
That said, the list of literally 20 different ways of storing your Tiddlywiki data is user-hostile. Don't tell me that you have a Node server and a PHP server, just give me the easiest way to self-host, how to use Dropbox/Google Drive, or perhaps one more option. You can include a link to "other options", but don't put them front and center.
Even open-source tools that appeal to us nerds need some attention to marketing.
Live demo: https://calroc.github.io/HulloWurld/Hullo.html
Once you're seeing the page you have it all. Click the "Save..." button to keep a local copy with any edit you've made. If you right-click and "save page" you'll get the original content only.)
Repo is here: https://github.com/calroc/HulloWurld
It's just a simple experiment, nothing fancy.
This TiddlyWiki-variant stores documents in the browser (pouchdb) and can sync to a couchdb-server.
there is a newer version, but I think it's worse than the old one.
I use both. Cherrytree for all my daily notational needs.
I'm exploring vimwiki myself.
So basically Pinboard, but for pages of PDFs and other random scraps.
Devonthink on macOS/iOS will save text snippets and text annotations, into a searchable database.
Evernote has traditionally been marketed as a note-taking app but for me it is a personal database/encyclopaedia. The ease of finding anything without having to worry about structure or links (though I have a bit of both) is fantastic.
It's so bad that I am actively looking for alternatives, even though I'm dreading getting my highly-formatted data out in a usable form.
I am in the exact same position. Especially so after several senior execs left the Evernote company. I even work on a custom notes store (Django and mysql backed) to keep kopies of all my notes because I really see no real alternative with the search capabilities of Evernote. And no, OneNote is not the same (search wise)
https://screenshots.firefox.com/
Just for the browser (but that could include PDFs and other things), I think they aim for a workflow very similar to the one you envision.