the scary thing about #Plan9 is when in file formats it has stuff like:

file: refers to a file
some-special-string: does a special thing

and that just invites the problem of someone using some-special-string as a file name

pls, anyone who does #programming
do not ever do anything like this
keep your formal grammars unambiguous

if you do not, Ada Lovelace will come down from Programmer Heaven and smite you

@Shamar idk, read it in some manpage the other day, not sure which
but similar problems apply to a lot of the system, eg. how basically nothing can handle spaces in file names

(hot take, $ifs should only contain tab and newline, or better yet, there should be no $ifs)

@Shamar this isn't really a Plan 9 specific problem, but it's one of those things that mess up an otherwise nice system


To be honest I don't know why one could need spaces in file names.

I should probably forbid them in at kernel level

@Shamar @grainloom

a concrete example is my music library. why should i need to do special formatting on artist, album, and track names? a path like ~/Music/mix/Goldroom/Otoño Mix 2014.mp3is perfectly acceptable imo


Nice example. 😉

Use underscore.
If you like to SEE space instead of underscore into you file manager GUI configure your file manager GUI that way.

But since files are acted upon through commands in a textual interface that use spaces, spaces should not be allowed.


@Shamar @xj9 This is the same argument people (used to) use to defend ASCII-only systems. :blobshrug:



Actually if you completely remove text from computers, you won't have such problems with spaces.

As an alternative one might consider to replace the space with a different character in the input of textual interfaces (aka shells).


@Shamar @xj9
Or just.... force users to use string literals for strings? And let unquoted strings mean something else?

I mean, you can't seriously say "but that's harder to learn" when we have just demonstrated how many problems it leads to.

If kids can learn Python in a week, programmers can bear with a teeeensy bit more syntax in their shells.


String literals mean escape rules.

And sometimes they are hard to get right for programmers too.

Every single time programmers are too shy to impose a simple restriction to users' input (or customers' will), they add to the pile of crap another source of complexity.


Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves. A STEM-oriented instance.

An inclusive free speech instance.
All cultures and opinions welcome.
Explicit hate speech and harassment strictly forbidden.
We federate with all servers: we don't block any servers.