The TW Filter Syntax Documentation -- There is Room for Improvements

Here are some of my (a very confused newbie) points:

I feel like TW puts the computer in charge and I have to think for it, instead the other way around.
All those filters and transclusions with their peculiar syntax…

I realize that part of it all is programming, and programming requires an intent, and syntax to express that intent, but I haven’t felt this bad using something ‘scriptable’ in a while.
(I mostly do compiled languages)

Feels like I have to wipe this softwares mouth and butt all the time, even on the essentials…which many others have mastered, I have not.

So, it’s definetely a knowledge or skill issue on my part, but it just feels bad…and I find the documentation kind of unhelpful, too.

Even the companion thing “Grok Tiddlywiki” I find a bit bad.

Nothing seems to really explain the more, at least to me, immediately most important things, properly, or easily, or clearly.

For example.

Transclusion, templates and filters.
I sure don’t know if it’s possible to substitute a list filter by a template that does the filtering. It’s probably real easy but I don’t know it and I do “”“read”"" the documentation.

Starts at that “railroad” illustration system, I really do not like it. One of the critiques is that TW is allegedly stuck in the 90s… well I found 90s interfaces gaudy at worst, but they were functional… so I would say that that aspect is more “modern” where it requires some additional web programming framework knowledge.

Maybe this railroad system is used by many web development frameworks or packages, I never used em. This is pretty much my first ‘actual’ web application I use.

For example:
https://tiddlywiki.com/static/Filter%20Expression.html

For some reason, this, psychologically makes me unable to understand anything. I do think that I have the mental capabilities to understand this but I …practically cannot.

I’m not ‘super smart’ but I think I should be able to understand this, but the way it’s presented just goes in two eyes, out the ears without collecting much/any money while passing go.

I’m not an academic but I feel like one, who knows nothing about PC building and has to build a PC and suddenly even simple “Lego like” stuff is too complex, despite the brains in the head.

But I think I’m going too much on a tangent now.

It’s just so “fussy” why do I have to do so much work to get user fields being useful ,etc. I’m the computer here, I have to do everything…despite the many shorthands. I think the shorthands are lying to me and there isn’t actually any work done by the computer, I have to do it all.
It’s not computing anything. I’m computing my entire wiki and the program just renders it…and even that I kind of feel that I have to do some part of that.

And it’s so difficult too despite looking simple or being presented as simple. I don’t think I’d have gotten even my baby stuff done without this forum, had I been forced to only use the documentation.
My username is not random, I get cheesed big time trying to make heads or tails from it, but because I put documentation above ‘bothering people’ I spend too much time bashing my head against it, feeling stupid, asking for help here, getting excellent help, but also noticing that it’s always some little detail that tripped me up.

If TW is actually TinkeryWiki (which it actually seems to be) then I think that the examples should be overhauled and the entire ‘breadcrumb line’ involved in learning the system …reworked somehow.

If only I have this problem, then maybe not, but from my POV, it …it’s just bad.
It’s probably possible to access which posts and topics I made, so if you did that, you’d see that the same thing tripped me up twice, filter systax and the usage of brackets in it.

I followed the examples but they were either too kurt to be of any use, making it LOOK like I was doing the right thing, for example:

Variables in Filters

Variables can be accessed within Filters using angle brackets to quote the name:

[<varname>]

So I used just that in a filter, but it didn’t work, because …well I now know why it didn’t work but having to write the reasoning down …is not something I want to do right now. I wish I could point at the reason in the documentation but I can’t, not to my knowledge I cannot point to the things I was told by everyone in the thread.

And perhaps they couldn’t do either, and had to write explanatory posts, but I could be wrong.

And its so draining…draining yet frustrating at the same time.

Right now, despite having been told why my filter didn’t work only yesterday, and understanding what I was being told there, the scope of that solution seems very very narrow and tied to one of the contexts…contices TW uses.

I sure couldn’t ‘conceptualize’ a way to use a template as a list filter from it. Again, skill issue I’m sure but…
I just can’t.

<$list filter="[contains:worshipsGod<currentTiddler>!sort[at]]">
  <<currentTiddler>><br>
</$list>

works to generate a list of worshipers of a god, and saved as GodWorshiperList

But I don’t know how to use that as a filter for a list that either prints the output of that, or “None” in a table.
I could not intu…te? Intuite? it?

The solution to that, in my expectations can be anything from “You forgot a bracket, m8” to “TW in list mode expects this or that, and it’s done like this and the formatting is a bit different, and here are 3 ways to do it but they only work in this specific context unless you make em more generic and put them in a meta template shadow tiddler and mark them with a prefix and suffix”

Noone has given me an answer like that before, but I would not be surprised at one.

In reality I think I should make the table generator the template and have it use that filter to generate the text buuuuuuuuuuuuuuuuuuuuuuutttttttt…

I picked up in some promotional thing that “everything is a tiddler, and tiddlers do one thing well” and “it’s like unix, do one thing well” …but in that case, it’s not one tiddler doing one thing, it has to build a table and filter it, the filter is not another tiddler who specializes in it.

Etc.

(Also, don’t provide the anwer to that in here, I’ll make a topic about it later )

I’m so drained…which is low energy, unlike an anger that my username might suggest, but that’s the second state of TW usage…I will be mad again later, don’t worry.

P.S.:
I thought of a better way to express some of this:

I considered TW excellent when I first started it with the minimalist stuff, but Grok TW and the like are too good with the software and went into tinkerland too far, and they make it look it easy cause…I guess ultimately it is.

But that’s where my drainage started. On its own, without all the ‘simpleton stuff’ of the basic, ‘vanilla’ system of just using links and tags, its great…
Perhaps there should be an intermediate level, and I don’t consider “Grok TW” that. I got siren sang into craggy waters.

The allure of the table and the user field. My little raft smashed asunder on the shores.
But to the author…it’s nothing. it’s like frolickin through a meadow of flowers.

And so many of you can just frolick right along… perhaps you don’t even need the documentation and tuts anymore. I do…

2 Likes

Way too long of a post to read, not enough hours in a day.

If you’ve got questions about things you want to learn, you might have more luck if you keep things short and very focused.

If you have not done so, you should read everything, every little thing, in https://tiddlywiki.com/#TableOfContents.

Read a few times over if you can, and don’t worry about understanding everything you read. It is about having a full inventory (an awarness) of features/concepts/vocabulary/etc… Every time you cycle through everything in there, things will make sense: dots will be connected, blanks will be filled.

Then, you’ll be able to ask finely tuned questions (i.e. with a very focused scope). And any discussion will flow, if not immediately super-coherent, into coherence as the particular discussion progresses.

There is no way for me to know, but I’m left with the impression that you are trying to run before you’ve learned how to walk.

5 Likes

I think that’s a good advice. It’s not important to understand all the stuff from the beginning. Just to have seen it once and be able to remember later. “ahhhh, there was something”

You should try to find the “something” at tiddlywiki.com — But if you don’t, do not hesitate to ask here. We may know “something” :wink:

1 Like

TLDR:

a bunch of rambling that basically says: TiddlyWiki is a different sort of beast, especially for experienced programmers…

For those with time on their hands:

TW is definitely a “learn to walk before you run” type of program. Unless you really love reverse engineering, it’s hard to even pick apart existing solutions without a solid understand of the basics.

I had just started to wrap my head around some of the concepts beyond linking notes and making lists, when Grok TiddlyWiki was released. Perfect timing for me. I spent the time to read through, start to finish, and do the exercises. TW made so much more sense to me.

I really dove into learning TW when I was between jobs (thanks Covid :upside_down_face:) and I had more time available and I was thankful for the distraction.

RE: the railroad diagrams. I still don’t make much use of them. Having the parts spelled out in words was much helpful to me.

RE: being frustrated at TW. I’m pretty sure that as long as your name isn’t Eric Shulman, this will never go away, only be lessened with time and experience. At least if you want go beyond just links and transclusions—which was enough for me for the better part of 10 years. Adding and organizing personal or work notes into my personal wikis.

I doubt much of the above will be too relevant to you, someone who comes with previous programming experience, but may be you’ll feel slightly less angry with this:

You are definitely not the first programmer to come on board and be befuddled by the particular TW ways of doing things. In some ways, it seems like my lack of experience made it easier for me to deal with the program as I wasn’t fighting against hard-earned, but possibly contradictory, habits of other languages.

Hopefully you’ll stick around long enough to at least give TW a few chances to prove whether it can be useful to you in the long run.

2 Likes

@damit thank for sharing your perspective as we are always making use of new users impressions. A few quick points.

  • I feel your frustration although I have being involved with tiddlywiki more than a decade I did learn comming to it as an expierenced programer I actualy had to unlearn some things and relearn others.
  • It is healthy to negotiate new ways of thinking
  • as an open source community we all contribute to the health of tiddlywiki and if you stay with us you become a beneficiary as well as able to contribute. The state we are in is a result of past contributions both good and bad.
    • a boss in the past said to me “bring me any problem you want, but also bring me a possible solution, no matter how unsure you are”
  • please note.I think you are off topic because this one is about using tw as a note taking tool
1 Like

Ah, well, if I’m off topic with my admittedly a bit rambly post that is ultimately about commandeering TW then uhh…

I guess I cannot really easily comment on pros or cons for note taking with TW because I see no way to use TW without using it’s syntax and approaches it uses.

I’ll try tho …
Pro : One can enter notes into tiddlers, save them, and retrieve them. Therefore TW is a suitable note taking system.

1 Like

LOL - another one of “these” discussions…

I’m still using TW, still struggling with making it “smarter” BUT overall — every day I’m capturing all kinds of things as quick notes or carefully formatted multi-faceted things of interest — whether they be my thoughts, points read, or tasks for later (the ones that don’t need a reminder notification). @Alan_101 — similarly, note keeping more than note-taking.

I tinker with writing, was a graphic designer and front-end developer (retired), so for a while I used HTML/CSS in MAMP (offline) in a similar way that I now use TW, but that required more focus, so inevitably things were easier to scribble in a paper note. The piles of notes, lost in layers on my desk are now a thing of the past. OMG - I love the way everything gets organised using tags and list-filters.

@Damnit — oh yes, I recognise your pain. I pulled out of trying to understand the gobbledygook a couple of months ago, and let the dust settle.

If you’re a tinkerer, TW dangles a mighty big carrot, and if you’re not an experienced programmer, then it IS horribly frustrating to not be able to chomp down hard. I took a step back and just went with the TW parts I could use easily. I’m still using TW – because in it’s simplest form it is working well for my needs. And little-by-little a couple of things have started to sink-in and make sense.

@Damnit — even the Grok resource left me with questions… but every now and then I take another look at all the learning resources available, and a little more comprehension takes place, ie. yesterday I finally got a handle on embedded vs. external files. I’m ok with the fact that I’ll be the eternal noob. And I’m happy to talk “noob” with you any time if that helps.

LOL — I have to revoke Damnit’s “noob” status. After reading his/her other posts, they either know a lot more than they let on - or very bravely stabbing around in the dark using the “jargon”!

3 Likes

I just found out that you use the static version of the TW docs. To get all possibilities you should use the app: https://tiddlywiki.com/#Filter%20Step

-m

Well this highlights an important approach to TiddlyWiki or for that matter any effectively infinitely extensible subject area. Like the proverbial “how do you eat an elephant”. I frame TiddlyWiki as a “platform”, rather than a simple application, it is like learning about “a computer” or an “Operating System”.

  • I think TiddlyWiki is quite good at allowing simple use that extends to sophisticated use.
  • However this discussion suggests, there is possibly value in us packaging some documentation and learning materials that respect a step wise learning model. In a previous discussion, one idea that arose was to organise it into “coloured belts” like Judo and other martial arts.
  • Unless you can see a path to a deeper understanding in bite size portions it can be overwhelming. Thow into this mix, some novel and innovative approaches like tiddlywiki has, and the journey is intimidating.

TW-Schools ?
I’d love to help with something like this before I lose my total “noob” perspective (although I can’t imagine ever being a sophisticated user).

1 Like

I think a possible approach could be framed as “a ListWidget course”. It could cover a lot of ground, both to illustrate what lists are so it becomes clear why they’re such a huge deal in TW and it is a very natural lead in to filters, which almost is a part of the ListWidget anyway (not true but you know what I mean).

2 Likes

I wonder if people would pay for this?, I am presently not working and need income, and I have a lot to share about tiddlywiki, but earning money, am I dreaming?

  • Videos that run through on one aspect of tiddlywiki after the other
  • Subscribers
    • Nominate the next area to be done (once a $ threashold is reached)
    • Get early access and can critique and drive changes/updates
    • get code samples, tiddlers and code easter eggs
    • Can ask for content available to help them, eg recipie list of things to learn.
  • Top subscribers get followup zoom sessions
  • Community gets
    • selected content for free
    • some resulting code
    • additional examples and documentation for tiddlywiki.com
1 Like

There is, of course, only way to know for sure. But you could get an indication by making a poll.

I have brainstormed it a little just now, I could do a lot to make it compelling to subscribe, but also maintain a community contribution.

  • The question may be how much effort do I put into a first demonstration.
  • yes perhaps a poll as you say

A fair question. I don’t think I’d subscribe but I might pay for discrete tutorials that matched a need.
Dreaming? Yes… I can’t imagine that developing TW educational content could replace a day-job income.

A subscription implies ongoing content delivery — I don’t think that’s something I’d go for. Very hard to say without seeing a roadmap / learning path… defined lesson outcomes and context. i.e. “a ListWidget” tutorial that explains Why (for beginner, intermediate and advanced application), What (examples that demonstrate what is taking place), How (syntax explained for examples in various contexts), What-if (broader applications, troubleshooting, how to recognise alternative methods/steps).

thanks for your view point @Anakowi

  • Yes, my idea was more than one subscription, the simplest would be low priced and allow requests/questions with working solutions.
  • Larger subscriptions would entitle the user to ongoing services and face to face time.

I think this is what we want the community to develop, and could be an incidental output of work I do, but we could let people “commission” an area they have more difficulty with, especially if they don’t have time to do it themself.

  • I could also publish “research papers” which document something in a deep dive or technical (non javascript) subject.
  • This may include;
    • Root cause analysis
    • Expert advice for;
  • The person doing the commissioning the activity could then authorise an immediate sharing of the results with the community and be recognised for that.