[HN Gopher] Text Is the Universal Interface ___________________________________________________________________ Text Is the Universal Interface Author : marban Score : 99 points Date : 2022-10-02 03:14 UTC (3 days ago) (HTM) web link (scale.com) (TXT) w3m dump (scale.com) | asim wrote: | The idea is inherently very romantic and alluring for developers: | the unix philosophy. Arguably yes, it makes total sense, but the | difference is that the tools to both develop software and combine | them via unix pipes made that a beautiful and simple experience. | I don't think AI and language models are there yet. Ultimately we | have to move beyond the text just slightly to passing some | structured data, because then we can pipe it not between | processes, but actual APIs and services. | | In the end a model likely ends up being deployed upon a set of | APIs with a textual interface for the end user. Command and | control system with built in intelligence. Adept + Inflection are | likely the thing that get us there, but it's more likely google | develops it first or has because effectively Google Search is a | text box that's being piped into AI at this very moment to give | you the answers you're looking for. It's only a matter of time | before that turns into buying, calling, creating, processing or | ordering whatever you want too. | blueflow wrote: | Console/Shell? Learn once, use forever. Graphical GUI? Re-learn | your interface every 5 years (or even shorter) when the some | company decides it needs to change. | gw99 wrote: | I can never remember all the flags and syntax. Also I hate | writing parsers all day which is what you really have to do | with text interfaces. UIs are discoverable. | | There are some compromises in the middle somewhere. I'm liking | Apple Shortcuts when it fits the problem domain I am within. | blueflow wrote: | I do forget flags as well, quite often. But instead disliking | the console for it, i open the a manual with `man command- | name` and use the '/' and 'n' keys to search for that option | with good success so far. | | I do get mad tho when a program doesn't have a manpage. | spc476 wrote: | It depends upon the command line interface. A Cisco router | CLI is very discoverable. Sitting at the prompt, hit '?' and | get a list of commands. Type the command, then '?', get a | list of options. At each point in typing out the command, you | can always get a list of what you can type next. And even | better, you only have to type enough to distinguish from | multiple commands/options. So 'show interface Ethernet/0' and | 'sh in Eth/0' are the same command. | | And on Unix, there's always the man command. Also, most | commands will repond to "command -h" or "command --help", but | yes, it's a far cry from the Cisco router command line. | gw99 wrote: | Oh god no I was a CCNA. IOS is horrible. | | manpages aren't always that great. Unless they are on a BSD | derivative... | | PowerShell had some good ideas about making commands | discoverable but the nuances and implementation really | killed it for me. | the-printer wrote: | I for one endorse a general, casual and technical re-emphasis | on the shell. That and a pastiche of Die Neue Typographie but | geared toward GUIs. | pjfin123 wrote: | Almost anything can be modeled as a translation of one sequence | of character to another sequence of text characters. | andirk wrote: | Down to right before machine code, isn't it all just strings of | characters aka strings of bytes aka strings representing | assembly commands and values? | TheRealNGenius wrote: | [deleted] | dkjaudyeqooe wrote: | Text is universal because it's language, but it's not always the | optimum interface. | | Try pointing to a person deep in a large crowd versus using | language. Language is also inexact and open to interpretation. | Often simpler "direct" interfaces are more effective. | bryanrasmussen wrote: | no text is near universal because it's language | | >Often simpler "direct" interfaces are more effective. | | and can probably be used by people who cannot use text or | language. | Ruq wrote: | History repeats itself. | f1shy wrote: | Could you say more about it? Do you mean, we are going back to | text based terminal? Sorry. Cannot follow. | jrm4 wrote: | In a sense. | | I'd argue the first major interface "breakthrough" after the | iPhone was Siri/Alexa et al. | whoisthemachine wrote: | > Seeing these quite disparate tasks being tamed under one | unlikely roof, we have to ask - what other difficult problems can | simply be transcribed into text and asked to an oracular software | intelligence? McIlroy must be smiling somewhere. | | This quote gave me pause about the entire article. It sounds like | they're talking about some long gone philosopher, but according | to Wikipedia, Douglas McIlroy, while old, is still kicking [0], | and might be able to provide his own impression on the idea that | large language models have any relation to the Unix philosophy, | without anyone projecting their own beliefs onto him. | | [0] https://en.wikipedia.org/wiki/Douglas_McIlroy | naillo wrote: | As a visual thinker I actually feel really limited by all these | text interfaces. I hear a lot of people with aphantasia in this | space though (sama, emad) so for them anything other than this | idea is probably unthinkable but personally it really doesn't | feel like the panacea that others make it out to be. | widowlark wrote: | really loving that the first thing in this article is a photo | owenpalmer wrote: | Text is a very high level construct. I wouldn't call it | universal. | falcolas wrote: | Define text. Pure ASCII or Unicode? If Unicode, how much Unicode | should be allowed? How do you identify the end of a Unicode text | stream, other than closing the input stream (or explicitly | waiting for a out-of-band signal like a form submission)? | mjevans wrote: | 8 bit clean octet transfer; any interpretation of value and/or | protocol other than an out of band end of stream / termination | is up to the programs involved. | | Is that a valid UTF-8 encoded JSON? Formatted newline | delimitated record sets? Some formatting of data no one's | thought up yet? Dunno, unless the program is instructed to do a | specific thing with / to the data don't care. | eimrine wrote: | > define text | | Text interface is any non-GUI? | mostlylurks wrote: | There are many more types of interfaces than GUIs and text- | based interfaces. Voice user interfaces (VUIs), for instance, | which have become commonplace in recent years, especially | with virtual assistants like Alexa or Siri. | jrm4 wrote: | VUI's are just text interfaces with a different input | system and more error checking. They implement operations | that give you convenience in exchange for versatility. | mostlylurks wrote: | Even if the two types of interfaces share strong | similarities in their most commonplace usage, they are | nevertheless accessed through two distinct mediums (from | which they get their names (TUI / VUI)). Text is not | speech, and speech is not text, and the possibility space | of what can be realistically (in a human-friendly manner) | provided as input or output on each is quite different. | On VUIs, for instance, you can do things like query for a | song by humming it [0], which would be very difficult to | provide a purely textual alternative for for use in a | TUI, whereas text-based interfaces make it easier to do | things like looking at large swathes of structured | content or copypasting a long piece of text to use as | input. | | [0]: https://blog.google/products/search/hum-to-search/ | falcolas wrote: | GUIs can have representations of text, and text input fields | though... | f1shy wrote: | Where is the line between GUI and TUI? Or TUI and CLI? | | Also, where does a system like Genera fits? Was it CLI, TUI | or GUI?! | rcoveson wrote: | > Define text. | | UTF-8 for all new projects. | | > If Unicode, how much Unicode should be allowed? | | I think the question is more like "how much should be | supported", which is project dependent. If it's just a question | of "allowance" then the answer is probably "all of it". If | you're a UTF-8 processor, you shouldn't go out of your way to | discard or disallow certain codepoints without a good reason. | | > How do you identify the end of a Unicode text stream, other | than closing the input stream (or explicitly waiting for a out- | of-band signal like a form submission)? | | I think the UNIX-y answer here is "end of text stream" and | "closed stream" are the same. But if you do want to wrap text | streams in another text stream you have a couple options: HTTP | uses Content-Length and Content-Encoding: chunked (length- | prefixing), while programming and markup languages use | delimiter characters which must be escaped in the inner stream. | | What you definitely should not do is, amusingly, what C does: | Reserve a text character (NUL) to use as a delimiter, and hope | that character doesn't appear in your content. | jrm4 wrote: | "Define text" is a pretty good question, but "ASCII" v. | "Unicode" is frankly one of those _deeply_ nerdy things that | won 't matter much at all in the grand scheme of all of this. | | I suspect those familiar with pre-computer | languages/linguistics would be able to come up with a pretty | good working definition here, but something like "communication | systems that utilize a relatively small number of repeating | symbols to convey meaning, often associated with | vocalizations?" | akira2501 wrote: | > How do you identify the end of a Unicode text stream | | "Why not just a zero byte?" | falcolas wrote: | You'd need 4 of them to avoid ambiguity. The C string | delineation model has a lot of issues we probably don't want | to keep. :) | rmasters wrote: | In some encodings? One zero is sufficient for UTF-8. | every wrote: | "Pure" ASCII would be 7-bit US-ASCII derived directly from the | teletypewriter command set. It consists of exactly 128 | character codes, of which roughly 30% are unprintable. Anything | beyond that, such as code page 437, are not "pure". It should | also be noted that the first 128 character codes of UTF-8 are | "pure" 7-bit US-ASCII... | anotheronebites wrote: | ASCII and unicode are subtly different things. | | you should compare ASCII with one of the UTF encodings of | unicode. | | the 'unicode' for ASCII's would be just the english alphabet | extended with digits and a few more special control characters. | falcolas wrote: | Constraining Unicode encodings to a fewer than 4 bytes means | we limit how many countries can use text interfaces in their | language. Or how much data from those countries can be passed | between programs. | blueflow wrote: | We do not have enough countries to fill up all that space. | For UTF-8 with a 4-byte restriction, less than 18% of the | available space is currently allocated to blocks. | giantrobot wrote: | That's what the GP is saying. You can't really tell _a | priori_ what encoding to use for a stream of "text" (bytes). | Without some sort of metadata about the stream you just have | to guess. Convention will help you make an informed guess but | it's not guaranteed to be correct. Then stuff breaks in | unexpected and stupid ways. | VyseofArcadia wrote: | Did no one read beyond the first paragraph? | | This is an article about the effectiveness of large language | models, which have learned to do tasks beyond regurgitating text | despite only having been trained to regurgitate text. | | As long as you are able to describe the task as a text stream and | are ok with having a text stream as output, GPT-3 might actually | be able to do the task with just a couple of examples as context. | I saw a talk at Black Hat about using GPT-3 as a spam filter. | Because GPT-3 has trained on so much spam, it knows what spam | looks like. It just needs a couple of examples, and off it goes. | | > The most complicated reasoning programs in the world can be | defined as a textual I/O stream to a leviathan living on some | technology company's servers. | | The references to the UNIX philosophy feel a bit tacked on, | honestly. Probably just there to grab attention. | verisimilitudes wrote: | I did; it's a shitty article that tries to connect the | braindead UNIX _philosophy_ to neural network nonsense. Of | course, this is more than enough to reach the front page of | _Hacker News_. | comfypotato wrote: | I lost interest in the article itself, but I'm currently down | a rabbit hole of one of its links [1]. It's the webpage of | some random (random to me that is) person, but it has quite a | bit of content (and links to other content). I consider this | find a win! | | [1] http://www.catb.org/~esr/ | foooobaba wrote: | When I was 12 I followed ESR's guide on "how to become a | hacker". I wanted to learn hacking but didn't know where to | start or have anyone to ask. Started with html then c++ and | using linux. For me, it's probably one of the most | important things I read, because it ultimately altered the | trajectory of my whole life. | | http://www.catb.org/~esr/faqs/hacker-howto.html | 0x445442 wrote: | ESR is random to you? Oh youngling, much to learn you have. | [deleted] | [deleted] | stinkytaco wrote: | It briefly discusses DALL-E and imagine models near the end, | which seems to paper over a big part research in AI right now, | but that also wasn't the point of the article, which is fair. | What I find interesting is that this reminds me how AI is being | trained on a very narrow set of human inputs. Images, text, | possibly some video, but there's a huge amount of data | governing human behavior that is none of those things. Facial | expressions, body language, tone, diet, environment, etc. etc. | etc. I'm sure it's coming, but it feels a long way off. | zwieback wrote: | The answer is "no, nobody read the article". | ackfoobar wrote: | The by-line caught my eye. The author is the roon that coined the | terms "wordcel" and "shape rotator". | merlincorey wrote: | So are you a wordcel or a shape rotator, apparently aka | mathcel? [0] | | [0] https://knowyourmeme.com/memes/cultures/wordcel-shape- | rotato... | TedKroft wrote: | verisimilitudes wrote: | > Computer software came to maturity in the late 1960s. | | Fucking idiots. | rdlw wrote: | Computer software came to maturity in 2017 with the release of | Fortnite. | rckrd wrote: | Maybe images are the universal interface. With some of the | advancements in ML, we have different decoders: image-to-text | (OCR), layout information (object recognition), and other | metadata (formatting, fonts, etc.). | | Now, with diffusion-based models like Stable Diffusion and | DALL-E, we have an encoder - text-to-image. | | Natural analogy to how humans perceive the world and how we've | designed our own human-computer interfaces. | | [0] https://matt-rickard.com/screenshots-as-the-universal-api [1] | https://twitter.com/mattrickard/status/1577321709350268928 ___________________________________________________________________ (page generated 2022-10-05 23:00 UTC)