Live data from Hacker News

Dt: Duck tape for your Unix pipes

dt.plumbing

51–60 of 162 posts

Re: Dt: Duck tape for your Unix pipes

#51

This article links to https://en.wikipedia.org/wiki/Vesta_Stoudt , which links to https://en.m.wikipedia.org/wiki/Cotton_duck , which explains that the word "duck" here comes from the Dutch doek , or "linen canvas".

In Norwegian too, 'duk'. That's also called 'lerrets tape'

Re: Dt: Duck tape for your Unix pipes

#53

This article links to https://en.wikipedia.org/wiki/Vesta_Stoudt , which links to https://en.m.wikipedia.org/wiki/Cotton_duck , which explains that the word "duck" here comes from the Dutch doek , or "linen canvas".

The same cotton duck material is still used for old school Caradice cycle touring bags.

It's a nice waterproof alternative to oil based materials as the cotton swells when wet to seal its own seams.

https://carradice.co.uk/

Re: Dt: Duck tape for your Unix pipes

#54

It wasn’t mentioned on the landing page (I think) but is this a concatenative programming language?

It's stack based, like Forth and RPN. So 1 2 3 * + means something like

    push(1); push(2); push(3); multiply-top-of-the-stack(); add-top-of-the-stack();
So `status pls` means: call the function status (which leaves its results on the stack) and print the top of the stack with new-lines (multiple lines if it's an array).

Then `status upcase pls` would do something like the above, but it calls a "to uppercase" function before printing.

Re: Dt: Duck tape for your Unix pipes

#55
post #38

Earlier quoted context omitted.

Me too! The situation isn't helped by the registration of "Duck Tape" as a trademark for a specific brand of tape -- but that appears not to have happened until 1981, well after both names were in common use: https://trademarks.justia.com/733/00/duck-73300816.html

What an epic failure by the trademark office. That's as if a company had tried to trademark "Hammer" as a brand name for hammers, and the trademark office just said "Yeah, sure!"

You should check Windows. (Total Commander)

Re: Dt: Duck tape for your Unix pipes

#56
post #25

This article links to https://en.wikipedia.org/wiki/Vesta_Stoudt , which links to https://en.m.wikipedia.org/wiki/Cotton_duck , which explains that the word "duck" here comes from the Dutch doek , or "linen canvas".

TIL that " duck tape" is actually the correct/original version, and " duct tape" is a modern derivative. I had always assumed it was the other way round, and some people simply don't know what a duct is so they substitute a similar-sounding, more common word.

Sounds like “duck tape” is adhesive fabric tape (maybe water resistant?) and “duct tape” is shiny metal tape for connecting air ducting? And both names are used informally for either or both types of tape by most of the population?

And then so many people post “facts” about a clearly fuzzy issue and proceed to argue about who’s “right”. I’m getting real blegg/rube vibes from the whole argument here.

Re: Dt: Duck tape for your Unix pipes

#58

In my profressional life I have cause to work with Powershell a great deal, and I love the object oriented pipelines that it has. Being able to filter, sort, or transform properties of the objects passed over makes it much more straightforward to work with than bash et al.

I’m with you here. Once you get the hang of it you even miss the most awkward pipelines once they’re gone and you’re just passing around single dimensional strings.

The memory overhead with sets of objects and their properties vs vanilla strings is significant though and easy to bump up against when working with large data sets. Best to try to keep all of the processing for that dataset in a single pipeline if you can. But that’s tradeoffs.

Re: Dt: Duck tape for your Unix pipes

#59
post #30

Earlier quoted context omitted.

The Unix philosophy doesn't dictate any specific data format to interoperate between commands, besides this being data streams, and typically text. Commands are free to interpret these streams however they want, which is why this seems like "hodgepodge", but in no way were tools breaking any sort of promise. FWIW I've been using *nix machines for decades, and very rarely have I had the need to use structured data bet…

Null separators between fields is structured data. It might just be the simplest that can possibly work (because the null character is outside the normal data range for text, unlike the newline, which demonstrably doesn't work in that sense) but it is structure. A list structure, specifically. The world would be a much happier place if -print0 (or whatever) was universal, but no such luck.

> Null separators between fields is structured data. It might just be the simplest that can possibly work (because the null character is outside the normal data range for text, unlike the newline, which demonstrably doesn't work in that sense) but it is structure. A list structure, specifically.

Sometimes I daydream about a parallel universe in which the designers of Unix decided on record-oriented IO instead of stream-oriented IO.

If pipes were defined in terms of records as opposed to an unstructured byte stream, there'd be no need for a special character (whether newline or null) to separate records. How is in-band signalling in pipes any better than in-band signalling in telecommunications?

Re: Dt: Duck tape for your Unix pipes

#60
post #38

Earlier quoted context omitted.

Me too! The situation isn't helped by the registration of "Duck Tape" as a trademark for a specific brand of tape -- but that appears not to have happened until 1981, well after both names were in common use: https://trademarks.justia.com/733/00/duck-73300816.html

What an epic failure by the trademark office. That's as if a company had tried to trademark "Hammer" as a brand name for hammers, and the trademark office just said "Yeah, sure!"

They don’t check trademarks like they (are supposed to) do patents. You want a registration? Here you go. Now someone has to take it to court to see if it stands up.
Post reply on HN