What do people use Tiddlywiki for?

@Charlie_Veniot , your BAM intrigues me. Why write a basic interpreter in TW? What’s its use case? Is this for someone to learn programming or are you attached to basic in some way?

I ask because apart from TW, I mainly program in Xojo, which grew out of RealBASIC. It uses enhanced basic enveloped in a modern GUI and allows delivery across Mac, Win and iOS from the one code set.

Bobj

The goals/benefits of BAM:

The ability to program in BASIC without installing any software (all you need is a modern standards-compliant web browser)

  • So, in regards to requirements: BAM is OS-agnostic and device-agnostic.

Put BAM where you want it and personalize it to any degree

  • Put it on the web to use it from any online device
  • Store it locally to use it offline
  • i.e. manage/store/use it in whatever way any TiddlyWiki can be managed/stored/used

The ability to share programs with an audience without any special requirements other than having a standards-compliant web browser

  • So, in regards to requirements: BAM is again OS-agnostic and device-agostic
  • A shared program is small, as it is (via TW’s Transclusion prowess) exported as a single HTML file that contains only the BASIC program bound to the BASIC transpiler
  • Example program: Keijzer Graph
  • The small exported program can be emailed, can be put on a static web server, can be stored locally (for offline use), can be embedded in any other Web page (with iframe HTML elements)

Primary use cases

  • hobby programming (I.e. particularly for the children of the 70’s / 80’s and liked programming in BASIC on those home computers), whether you want to program in good old “unstructured” BASIC or “structured” BASIC, and whether or not you want to make use of some BAM-specific features
  • teaching fundamental programming concepts/constructs/elements with a language (BASIC) that isn’t cluttered with annoying distractions
  • creating self-contained “Web gadgets” in BASIC (because you either cannot stand the “usual suspect” programming languages for “Web gadgets”, or you could not be bothered to learn those other languages, or because you simply have a soft-spot for BASIC.)
  • Example: Digital Clock

Constraints

  • BAM is not meant for “web-programming” (at most, you can create a small “Web gadget” that at most interacts with input from a user, but it will not interact with Web servers or anything outside of the BASIC program)
  • BAM programs cannot interact with local file systems; however, a BAM program hosted in a TiddlyWiki instance can interact with that TiddlyWiki via local storage AND/OR parameters passed from TiddlyWiki to the BAM program (causing the BASIC program to restart via the TW refresh mechanism)

BAM is really useful for giving old BASIC programs (old-school BASIC games, for example) a new lease on life, and is really good for graphics programming (or any kind of program that does not deal with a local file system, I.e. using files for input and/or output.)

That’s it, I think…

I think most people here know I use TW for genealogy. I called it “The Memory Keeper” (MK) because my grandmother kept her family history in a cardboard box labelled “The Memory Keeper.” Though I designed it for personal genealogy research, it can be used for so much more. I have used it for other kinds of history research (wars, city histories), course studies, and a personal knowledge base. MK can be configured to support custom data entities, integrating them into the existing set. So I have a “Recipe Keeper,” a “Music Keeper,” and a Software Change Management solution to track corporate software. I also use the Memory Keeper for documentation. For example, the documentation of the Memory Keeper.

The Memory Keeper - A Personal Research Tool — v1.0.03 Adventures in Genealogy Research

New interactive charting…

4 Likes

Oh, by the way …

The interpreter (well, really a transpiler: the BASIC program is compiled to JavaScript at run-time) is a fork of wwwBASIC.js (JavaScript code that will convert a BASIC program to JavaScript.)

The TiddlyWiki that is BAM provides an IDE to create, edit, manage, export BASIC programs. Every BASIC program exists in a tiddler.

To run a program, TiddlyWiki opens a “console window” tiddler in a new window, and it generates HTML that is displayed as source HTML in an iframe. That source HTML is a Transclusion of a skeleton HTML document (stored in a tiddler) which also has the JavaScript code for wwwBASIC, and placeholders in that document are replaced with the BASIC program and configuration settings for that program.

TiddlyWiki being everything in one single file, the TiddlyWiki instance that is BAM has everything in it to be a BASIC programming environment: the IDE, tools, repository of BASIC programs, personal preferences.

All that to be said: TW does not handle interpretation of a BASIC program. wwwBASIC (my fork of it) does the job of “Transpiling”. TW acts as a host (or “platform”?) of everything needed for BAM to “be”.

1 Like

Thanks @Charlie_Veniot that is really interesting

Bobj

Actually, a better question would be, What don’t I use TiddlyWiki for?

TiddlyWiki is the engine of my academic life. I have lots of other uses (bills, recipes, trip-planning, gift ideas, nature-learning-notes, etc.), but those may not be so distinctive. So here’s a tour of some of my public-facing wikis, mostly aimed at students.

Every course I teach has a TiddlyWIki for students. My first student-directed TiddlyWiki project, reasoningwell, is from 2005 (and I keep it served up just as a nostalgia TWC site). The most developed one, intro to ethics, has had a TiddlyWiki continuously available to students since 2008 (TW Classic for most of that time, of course). What you can’t see, in the public-facing version, is that the site opens up student-specific tiddlers when it’s viewed from within the moodle LMS (university’s password-authenticated learning management system). Students can see feedback that’s specific to them, as well as an overview of their progress on a couple of the ongoing assignment-challenges. Some pretty convoluted techniques offer decent-enough privacy protections (so that confidential student info is not on display for other students, though they can still see other students’ “microessay” assignments plus my feedback on them). Meanwhile other data-design decisions reduce the meaningfulness of the information a savvy web visitor would be able to extract (even if they were looking at the whole JSON source).

Another wiki offers “coaching” for writing projects, including explanation and examples for various bits of writing-clarity feedback I find myself giving to students on essays. It’s not specific to any one course, but serves as a common resource in connection with writing assignments. (I have a compact permalink structure so I can email a student with a link that opens up exactly the set of tiddlers that corresponds to the common feedback points I’ve flaggod on a particular submitted piece of writing.) Just for fun, another wiki I’ve made is intended specifically for learners of English who want to figure out how expressions like “figure out” (or “keep up” or “get along”) work in English. It’s called phrasal-verbs. The fun of that site: It has links to pop song lyrics (with audio iframes) to illustrate many of these phrases (“Carry On My Wayward Son”; “Never Gonna Give You Up”; “Walk on by” etc.)

As mentioned in a recent post here, a bibliographic wiki is under continual development. It’s based on the bibtex (JSON) standard, and it serves as the hub for all the books and articles that I have in my personal collection, as well as others that I reference in my research (also done with TiddlyWiki, but not for public consumption) and/or teaching. For this wiki, I’ve been developing functions that allow for “common sense” parsing of fields that are actally somewhat complicated — specifically names (where variants of the same name may appear in records imported from different sources). It also showcases a variation on Jeremy’s custom-story-river cascade “fan” template, applied here to book cover images. As noted in a recent thread, the tiddlers for all books and articles I deal with live in this wiki, but can be automatically (based on a filter) “imported” into the content-area-specific wikis I’m using for a class or research project. This workflow ensures that biblio-specific content has one authoritative source.

(I also use TiddlyWiki as the engine of every academic conference presentation and guest lecture, though these wikis tends to be work in progress that is not public. It’s fantastic to be able, in a Q&A, to pull up full info on any related source, as well as lots of second-tier tiddlers that were cut from the main presentation but which elaborate on a point or delve into future questions, etc. Unlike PowerPoint, a TiddlyWiki presentation tool doesn’t lock me into a linear path, and responds to css makeovers with grace and actual fun.)

On a different wavelength (in terms of public-facing informational wiki-types that may be distinctively “mine”) — here’s a compendium of video resources for aikido, developed while studying for my shodan test a few years ago. It uses custom dynamic table templates so that we can see a huge graphic chart of how each of the basic “attacks” we study (columns) might be met with particular techniques of response (rows) — with links to video demonstrations by various teachers in the corresponding cell. It’s not actively mantained, so some of the actual video links have gone missing (as tends to happen with media hosted by others), but you can still see how the concept works.

OK, and of course any TiddlyWiki geek has TiddlyWikis about TiddlyWiki. In addition to the banner-image contest archive, there’s one for google fonts (intended to make it super-simple for visitors to compare the fonts, test them, and get fonts up and running in your own wiki), and the quick-demo site which is just my personal (occasionally talk.tiddlywiki-facing) repository for tips and tricks, half-baked experiments, and a few personal best-practices rants.

9 Likes

Just like other posters, it’s nothing too fancy:

  • a big “main knowledge base” wiki
  • a TODO list and tracker of recurring tasks that makes use of Projectify
  • a collection of strictly TiddlyWiki knowledge structured as a “private wannabe black wizard spellbook” that collects wisdom and recipes from TiddlyWiki docs, GrokTiddlyWiki and this forum
  • a wiki that contains bundles of tiddlers with custom settings for different use cases (they get imported into new wikis)

I am also planning to use TiddlyWiki for much more:

  • improving my understanding of chess by self studying, but unfortunately the chess plugin went dormant and I lack both spare time and JavaScript/wikitext knowledge to implement the features I want
  • structuring the [quite big] list of my favorite books, so far it’s just a Calibre database dump with no annotations
  • same for music and maybe movies (but I expect AI to soon kill both of these, much faster than engines are killing “human chess”)
  • a couple of other things that I don’t remember right now, but they are certainly written in a forgotten todo list item somewhere :laughing:

But I’ll take the liberty to slightly slide away from the topic and write WHY I ended using TIddlyWiki.

My first digital notes were a single text file. Eventually I switched to multiple text files spread across a directory tree. At some point the flat text inside the text files started to get structured into paragraphs/lists.

The next level of evolution was discovering trees. In text files the simplest way to implement them was to use nested lists.

Being a Vim user, eventually I discovered https://vim-voom.github.io and started to use it for managing the text files.

After a couple of years I’ve realized that plain text lacks an essential feature provided by markup - hyperlinking. I discovered Leo's Home Page which is essentially a tree managing outliner, but allows node clones, effectively turning the tree into a graph.

Then Markdown gained traction, I switched to wikis like everyone, used GitHub - vimwiki/vimwiki: Personal Wiki for Vim, used the built-in wiki of Fossil: A Coherent Software Configuration Management System . All great pieces of software until my requirements grew up because I changed my personal threat model.

I decided that all my personal data has to be stored encrypted only. I switched to Full Disk Encryption on computer, started to use LUKS containers for data transfers across the network… then my desktop died and I remained with a non-rooted Android phone. That’s when I realized that my files already have to be encrypted themselves, so I could use them on such a device. Besides providing a very flexible query language (superior to Full Text Search) that could be applied to tiddlers, TiddlyWiki also offered full single file wiki encryption, and backwards compatibility with my previous workflows, since I could always export the encrypted single file wiki to a one-file-per-tiddler scenario driven by Node.js running on a FDE computer (if only Node.js and full featured GUI browsers could still work on VERY OLD computers, because I still have one of those, and it’s still functional, but alas)

2 Likes

World domination.
…Just kidding. Well, not really.
The question comes up a lot. I’d say: I use it to store things. Passwords, accounts, addresses, phone numbers, snippets of text.
And then, I use it for lists. Only 5 months 'till Christmas.

1 Like
  • Language creation / conlanging
  • writing several books - each TW with notes on a particular topic
  • a general notes / idea location - zettelkasten-y, for stuff I havent ffigure out / decided where to put it yet, for ideas that are still under exploration at a basic stage, etc.
  • worldbuilding
  • notes/ resources for various hobbies - lists of meanings, resources, thoughts, etc.
2 Likes

No, sorry. I’m much too wordy for that. :wink:

21 months ago I described a substantial documentation project done in TW and then listed a number of other things I’d been doing in TW:

Since then, I’ve also started a number of other projects:

  • A TW version of my town’s charter
  • A wiki to serve as a combination of website and administrative tool for the chess club at GigantiCorp, where I work. That is behind corporate walls, but I do have a somewhat anonymized copy of an older version.
  • The wiki, Tiddlywiki for SQL Developers
  • A number of version of the Christian Bible as single-wiki documents, with every book, chapter, and verse in tiddlers of their own. First I did the King James Version and then started building out a mechanism to create multiple versions. Currently this includes six versions, four in English and two in Spanish
  • Another wiki to store the policies for the Regional School Board of which I’m a member
  • And every now and then I work on my Bullshit Bingo wiki, skewering corporate-speak

Now, of this second batch, only the town charter can be considered anything like complete.

Interestingly, there is nothing here about a personal journal. Not only that, almost all my wikis are for other people, instead of (or as well as) for myself.

6 Likes

I have three work wiki’s. The Primary one is used to share information with the team. It includes guides on how to do certain tasks, information on how the things we support work, incident case studies usually around the strange and difficult to deal with problems that occur. My second one is a rough notes wiki designed for myself and once I’ve tidied things up enough and written it so others can understand I transfer it to the main one. The third is information related to myself and the job that is not team related. Sometimes copies of important emails I’ve received.

For Home the main wiki I use is my Journal Wiki which I’ve split into three separate single wiki’s for now for accessible reasons on my phone. The 'child wiki’s I port over the last days worth of changes to the main one on a regular (usually daily) basis. The child wiki’s catalogue my media library and track activities and appointments. The main one have daily entries along with articles on specific topics, or events. I spend and awful lot of personal time on these three wikis and often think I’ve gone a little overboard on it but this is where I’ve learned the most regarding the features of Tiddlywiki.

I also have a journal regarding my house which I started when my offer to the house was first accepted. It contains information such as event history of the house, furniture details, suppliers and contact information.

I have a family tree wiki which I hope to integrate with journal wiki at some point. There is also a contact one that contains contact information of friends and former colleagues. I have a few creative writing project wiki’s which are mostly my own. I have one archiving the stories, poems and other creative works a colleague who has since passed away shared with me via email over the years.

When Chat-GTP first arrived I started a ‘Conversations-With-AI’ wiki to record my interactions with it and other AI systems but I’ve never subscribed to any of those services and seldom use them any more.

In preparations for holidays (vacations) I usually create (or modify) a wiki that will contain my flight and hotel information as well as information on the places I hope/ plan to visit.

There’s a number of others I seldom use at the moment, often based on ones that others in the community has shared (such as Projectify and Tekan).

2 Likes

I first used TiddlyWiki for personal notes, but quickly started using it for more diverse use

I currently have multiple local TiddlyWiki :

  • one for all background information and planning for a book I am writing
  • one to store articles and information I find on the internet for personal use or for my production of scientific mediation videos.
  • one to store ideas of conversions and tutorials for Warhammer.
  • one for testing modifications and custom scripts before I send them to more important TiddlyWiki. It also store the aforementioned custom scripts for later re-use.

I also use TiddlyWiki to create some “tools” :

  • one for managing my army list for Warhammer 40k and create custom cards for units and armies in crusade mode. (currently on hold due to a lack of interest)
  • one for managing type 1 diabetes treatment : carbohydrate calculation for your meal and recalculation of your insulin ratio (I’m currently debugging it and plan to make it available for anyone who need it). I had put a test version here, but it was quite unfinished : https://tiddlydiabby-test.tiddlyhost.com/

And I am also promoting TiddlyWiki internally at my job and around me, to our political deciders and public organism. I had two success :

  • At my job, we are discussing using it to store information about our ongoing projects. I am currently customizing a TiddlyWiki to test it out.
  • Also, as part of a project of the EU commission, we had to create a database of available public funding programs available for local companies who need help for their digital transition. I convinced them to use TiddlyWiki instead of paying a service provider for a wordpress blog. Sadly, it’s quite empty as most public funding programs it displayed were cut-off this year. It’s available online at this address (in french) : Financer la Transition Numérique — un service proposé par le LVDH
3 Likes

I use TiddlyWiki for… everything!

  • personal knowledge base and notes
  • a way to generate my personal webpage through a “Public” tag. This lets me generate the wiki with things I want to share, and keep the rest of the wiki private. This includes an RSS feed using @saqimtiaz’s code here Has anyone generated an RSS feed from TiddlyWiki?
  • to back a custom sidebar on my computer, with shortcut links, weather radar, etc.
  • to power my phone / tablet wallpaper with similar information
3 Likes

I use Tiddlywiki for:

  • Knowledge base for engineering with latex everywhere, sometimes personal notes;
  • An interactive translation of the Advanced Dungeons & Dragons books, featuring extensive links, transclusions, and custom CSS (I’m extremely proud of the CSS work).

jumps up and down excitedly link?!

Oh let me count the ways :slight_smile: though compared to some of the answers mine seem positively pedestrian!

I have an engineering textbook

A student notebook which I will update with Evans formula plugin and one academic year (maybe this one) push onto my students.

I have a curriculum planning wiki which I need to plan more with.

And a prod it and see what breaks wiki for trying out plugins and wikitext :slight_smile:

2 Likes

Right. Every time I’ve had a leadership role on a committee, practically the first thing I do is to set up a TiddlyWiki with all of the bylaws, handbooks, and other regulatory text that’s out there, freelinked and filled out with metadata. Then the same wiki gets incoming communications and requests, agendas and meeting minutes, roles and terms of members, annual reports, etc. How anyone handles running an organization without TiddlyWiki, I do not know. :smirk:

2 Likes

I can share, it’s not a problem but it’s in Brazilian Portuguese :sweat_smile:

I just need to wipe some personal notes

2 Likes

I use TiddlyWiki…

…to keep track of information I need to have on hand for work
…as a to do list
…for taking notes on reading
…for processing the brainstorming which I write by hand
…for tracking my reading progress across my books
…to produce web materials at Índice central — giffmex.org/b/, some as static htmls
…for the website for my wife and me https://giffmex.org
…for experimenting with new things produced by everyone here
…for documenting how to do things in TiddlyWiki, here: Documenting TW — a non-linear personal web notebook

2 Likes

1 — To understand you too.

2 — To do most everything that a bachelor might in a frugal situation.