Live data from Hacker News

The Cognitive Style of Unix (2010)

blog.vivekhaldar.com

11–18 of 18 posts

Re: The Cognitive Style of Unix (2010)

#11

Earlier quoted context omitted.

This got me to thinking, I would totally learn APL on a phone app. If the custom keyboard could accommodate all the symbols, the "symbolic compression" vastly lowers resistance. They don't have to be large programs, either. Just enough to describe basic constructs, and maybe include some "programming pearls," puzzles, or poetry. The app could have ASCII symbols pop up, toast-like, as input is entered. Over time, the…

Haven't used it myself, but: https://news.ycombinator.com/item?id=38421095

Awesome, looks like the link there has many of the symbols to reference. Thank-you.

Re: The Cognitive Style of Unix (2010)

#12

For the sorts of things I do, a (hierarchical and potentially even non-DAG) symbolic formula* is both much smaller and more easily reproduced than a (necessarily linear) sequence of physical actions. Therefore I tend to write myself CLI tools, with the occasional output via a graphical window or a browser. Maybe this is why I don't have any voluntarily-installed apps on my phones? The phone form factor is suitable fo…

Does type theory fit into whatever definition of semantics you're using? It is certainly reaching some incredible heights of usability with tools like Lean and closer to the mainstream with functional languages like Haskell or compilers for Rust. Verification as a topic certainly expands beyond that, 'semantic solving' has been around for a long time and produces some fascinating things

Yeah, when I was trying to think of more recent examples type theory came to mind, but I think "structured programming" has had more bang for the buck so far...

Re: The Cognitive Style of Unix (2010)

#13

Earlier quoted context omitted.

Haven't used it myself, but: https://news.ycombinator.com/item?id=38421095

Awesome, looks like the link there has many of the symbols to reference. Thank-you.

You're welcome. https://dl.acm.org/doi/pdf/10.1145/1283920.1283935 has some phrases that may be interesting to start with, but note that this was Iverson's Turing Award lecture, and he uses a somewhat-functional definition style that —as far as I know— was a proposal but never shipped by any commercial APL.

Another source of interesting phrases: http://dfns.dyalog.com/sindx.htm (but note that here they're embedded in Dyalog's functional definition style; I don't have any clue if that site supports it even as an option)

Re: The Cognitive Style of Unix (2010)

#14
post #4

Earlier quoted context omitted.

This got me to thinking, I would totally learn APL on a phone app. If the custom keyboard could accommodate all the symbols, the "symbolic compression" vastly lowers resistance. They don't have to be large programs, either. Just enough to describe basic constructs, and maybe include some "programming pearls," puzzles, or poetry. The app could have ASCII symbols pop up, toast-like, as input is entered. Over time, the…

Replit's mobile app has a decent virtual trackpoint-like cursor widget. If you added an APL keyboard as you suggested, it might be a nice combination if you leave out their AI autocomplete. If you want to get extreme about input method minimalism, you might be able to remap Applejak[1]'s WASD / E input approach to swipe and tap gestures. 1. https://internet-janitor.itch.io/applejak (previously discussed here https://…

Interesting, Replit's widget does demonstrate how custom a UI component could be. Applejak's swipe and tap is definitely max minimal. Thank-you for these.

Between this and the comments¹ from 082349872349872², there's plenty of inspiration to go on.

¹ https://news.ycombinator.com/item?id=38581769

² https://news.ycombinator.com/item?id=38587775

Re: The Cognitive Style of Unix (2010)

#15

Earlier quoted context omitted.

Personally I find CLI to be great for this kind of "exploratory" work. Case in point: I recently had to plan a software upgrade for an AWS environment with zero documentation, accumulated over years by a defunct team without using IaC tools, or even much in the way of deployment infrastructure -- just a complete mess. My first order of business was to create read-only CLI credentials for myself, and spend time queryi…

What you're saying makes sense, and I think it highlights that these days the line between a CLI and a GUI is less clear than it once was. Specifically, if an interface allows you to organize things spatially on screen in a way that's meaningful to you (eg org-mode) then it's already well on its way to supporting the epistemic action I was referring to. To me, CLI means you enter a series of sequential commands and y…

I get what you mean, but I think its a little ridiculous to call a chronological sequence of commands and their output in an org-mode file with running commentary NOT a CLI session. I could have done essentially the same thing by recording my session using the "script" command and adding commentary by starting commands with #. If it was 1972, I could have just marked up the paper output of my ASR-33 session with pencil and stuck it in my notebook for later.

If this is "organizing things spatially on screen in a way that's meaningful to you" then I honestly don't know of a way of interacting with a computer that isn't that.

Re: The Cognitive Style of Unix (2010)

#16

Earlier quoted context omitted.

What you're saying makes sense, and I think it highlights that these days the line between a CLI and a GUI is less clear than it once was. Specifically, if an interface allows you to organize things spatially on screen in a way that's meaningful to you (eg org-mode) then it's already well on its way to supporting the epistemic action I was referring to. To me, CLI means you enter a series of sequential commands and y…

I get what you mean, but I think its a little ridiculous to call a chronological sequence of commands and their output in an org-mode file with running commentary NOT a CLI session. I could have done essentially the same thing by recording my session using the "script" command and adding commentary by starting commands with #. If it was 1972, I could have just marked up the paper output of my ASR-33 session with penc…

I mean, it seems like we agree more than you might realize, and only seem to differ on where the line should be drawn between CLI and GUI. I'll totally grant that the place I decided to draw the line was arbitrary. I don't know that that question has a right answer.

But the printer example is a great one. The value of printing the output is that then you can do things with it that help you think about it in ways that you couldn't do with the on screen interface. If you wanted to you could cut the paper up and rearrange it, draw diagrams etc.

There is a whole genre of interfaces, called Tangible User Interfaces or TUI, that is all about giving physical form to digital information and using physical objects / tokens to represent and modify information inside the computer. Here's a paper with an example task that's similar in many ways to the task in the paper in the original blog post.

https://www.cs.tufts.edu/~jacob/papers/chi02.pdf

So yeah, if an interface lets you organize things spatially in physical (or graphical) space, it can make you a lot more productive.

Re: The Cognitive Style of Unix (2010)

#17

Earlier quoted context omitted.

What you're saying makes sense, and I think it highlights that these days the line between a CLI and a GUI is less clear than it once was. Specifically, if an interface allows you to organize things spatially on screen in a way that's meaningful to you (eg org-mode) then it's already well on its way to supporting the epistemic action I was referring to. To me, CLI means you enter a series of sequential commands and y…

I get what you mean, but I think its a little ridiculous to call a chronological sequence of commands and their output in an org-mode file with running commentary NOT a CLI session. I could have done essentially the same thing by recording my session using the "script" command and adding commentary by starting commands with #. If it was 1972, I could have just marked up the paper output of my ASR-33 session with penc…

Forgot to mention that I use a CLI on a daily basis and think it's amazing for some tasks. So if my post came across as CLI == BAD!, that wasn't my intention

Re: The Cognitive Style of Unix (2010)

#18

Earlier quoted context omitted.

I get what you mean, but I think its a little ridiculous to call a chronological sequence of commands and their output in an org-mode file with running commentary NOT a CLI session. I could have done essentially the same thing by recording my session using the "script" command and adding commentary by starting commands with #. If it was 1972, I could have just marked up the paper output of my ASR-33 session with penc…

I mean, it seems like we agree more than you might realize, and only seem to differ on where the line should be drawn between CLI and GUI. I'll totally grant that the place I decided to draw the line was arbitrary. I don't know that that question has a right answer. But the printer example is a great one. The value of printing the output is that then you can do things with it that help you think about it in ways that…

Yeah definitely no hard feelings or anything, but again: In my opinion, if an ASR-33 teletype is a GUI, the term loses basically all meaning.

That said, you're right that physical paper is wonderful. I often find myself wishing for some way of moving easily between digital and paper representations of a problem I'm working on. The best I've come up with practically so far is heavy use of index cards and a scanner when I want to get things back into the digital realm. I think something like this could be slick and nice, but my current implementation is actually pretty clunky, so I tend only to do it during the initial phase of a new project -- print off all the info I think I'll need, grab a stack of index cards and a mechanical pencil, walk away from my workstation and sit down at the kitchen table to think and scribble, then scan in anything that needs scanning in and work the rest of the project digitally. I'd love to have the ability to move back and forth with less ceremony, but so far I haven't seen anything that would facilitate this.

I think the reMarkable (2?) tablet might be at least part of what I want, though I haven't had a chance to look into it very deeply. They probably also depend on a cloud service that could go up in smoke at any time, which I'd like to avoid for something super integral to my daily workflow.

Post reply on HN