Live data from Hacker News

A plain-text file format for todos and check lists

github.com

71–80 of 115 posts

Re: A plain-text file format for todos and check lists

#71
post #56

Earlier quoted context omitted.

> - doesn't support UTF-8 checkbox emoji That's a good thing. Its also unicode, not utf-8. Your plugin can display it with a unicode character. Having a simple ASCII char set helps portability _a lot_. No benefit in supporting unicode code points. > - doesn't support nested lists If you can tick all items within a nested list, why bother writing it with dedicated TODO items? Additionally, you can just create more fil…

Sticking to ASCII in this day and age is nice and fun if English is your mother tongue, but it's a big middle finger to the rest of the world. Please don't.

>>if English is your mother tongue

"mother or preferred"

-- I don't disagree with your basic point, but I like to be included :). There's a Lot of us around whose native / mother tongue is not English, but we prefer it for computing tasks (and frequently gaming / movies / entertainment too - Forums are littered with folks complaining of having to "enjoy" a horrible localized version of something, instead of the original English)

Re: A plain-text file format for todos and check lists

#72
post #20
post #5

Why use this over orgmode?

do you use orgmode outside of emacs? I tried a port to vscode once and it was not usable.

Org is becoming more accessible outside of Emacs. A handful of us are working on it.

I built two apps for iOS:

https://flathabits.com

https://plainorg.com

There are other org-based tools out there.

https://BrainTool.org

https://logseq.com

https://orgzly.com

https://beorg.app

https://easyorgmode.com

https://organice.200ok.ch

https://orgro.org

Re: A plain-text file format for todos and check lists

#73

I like that specification. I've used something similar for many years. I code my task list into a text file using a single character to show status: . This is a pending/idle task item, and normal priority _ Task is pending/idle, and low priority (the "someday" tasks) ! This is a pending/idle task item, and high priority (fix today/soon) * Currently working on this item # Task was completed X Task was cancelled > Task…

> grep and sort tasks to make sense of things

This.

grep + sort + awk = unbelievable single person task management effectiveness. And it was right under my nose all the while.

I've dumbed my version even further, I just use numbers. every line starting with 1 is highest Priority and so on.

another important piece i needed was a pointer to where i last left off. I just use double underscores "__". next time just open and search for 2 underscores and start right off.

Works everywhere.

Re: A plain-text file format for todos and check lists

#75
I like it and have used a similar homegrown solution for years.

I’d love to switch to a better supported one, but please: work in progress is obviously […]

Not ... but the actual … character which takes the same horizontal space as X on monospaced fonts.

Maybe use it as a second option?

Nice work, thanks for sharing.

Re: A plain-text file format for todos and check lists

#78

I like it and have used a similar homegrown solution for years. I’d love to switch to a better supported one, but please: work in progress is obviously […] Not ... but the actual … character which takes the same horizontal space as X on monospaced fonts. Maybe use it as a second option? Nice work, thanks for sharing.

That character is not directly on keyboards, so it requires additional, OS-specific knowledge to type it.

Re: A plain-text file format for todos and check lists

#80
> Letter: a character from the Unicode Letter category (L)

This definition is insufficient for many scripts, such as Indic scripts. My name “Chris” is written in Telugu as “క్రిస్”: letter ka, sign virama (which suppresses the inherent vowel, and also joins the next letter and vowel sign as a conjunct in this instance, as part of the same syllable—if you didn’t want that, you’d insert a ZERO-WIDTH NON-JOINER and get క్ రి [minus the space, HN turned by ZWNJ into a space :/] instead of క్రి), letter ra, vowel sign i, letter sa, sign virama (which this time just suppresses the inherent vowel). Six code points, of which three are Other_Letter (part of Letter) and three Nonspacing_Mark (part of Mark, not Letter).

Unicode’s Letter general category is almost never what you want. To begin with, you should instead use the “Alphabetic” property, which examination of https://www.unicode.org/reports/tr44/#Alphabetic and https://www.unicode.org/reports/tr44/#GC_Values_Table shows to be a superset of Letter, adding the Letter_Number (Nl) general category and the Other_Lowercase, Other_Uppercase and Other_Alphabetic properties.

But actually, even Alphabetic isn’t quite the right tool: some scripts don’t separate words with non-alphabetical characters, and some scripts use non-alphabetical characters in the middle of words (e.g. ZWJ and ZWNJ in Indic texts, or apostrophes in English). For most correct results, I believe you actually need to get into full text segmentation to find word breaks, as defined in UAX #29 https://www.unicode.org/reports/tr29/>.

As usual: language is fiendishly complicated.

The other definitions are a strange mixture. Digit is ASCII-only, which makes sense for due date, but is inconsistent with Unicode letters elsewhere.

> The tag name MUST only contain letters, digits, or the characters _ or -. It MUST be treated as case-insensitive.

This is somewhat poorly defined, and I’m confident that from such a definition you’ll get multiple incompatible implementations. I would say that you probably want to specify something based on Unicode’s caseless matching; see https://www.unicode.org/versions/Unicode14.0.0/ch05.pdf#G217... which will give you much to read and despair of ever understanding. (The whole two and a bit pages of that subsection are worth reading. And I wouldn’t complain if you decided it was worth reading a lot more of the Unicode spec.)

But in this place, I don’t think you actually want letters/digits/_/- anyway. I think that for tag names you’d do better with using UAX #31 https://www.unicode.org/reports/tr31/> identifiers of some form. Note its optional medial characters (how you’d add -), its “hashtag identifiers”, and its remarks on case folding.

Post reply on HN