Live data from Hacker News

Dt: Duck tape for your Unix pipes

dt.plumbing

61–70 of 162 posts

Re: Dt: Duck tape for your Unix pipes

#61
post #26

Earlier quoted context omitted.

Yeah which explains that duck tape is not for ducts (or pipes) since it's made of fabric. > She is often misattributed as the inventor of duct tape. However, numerous variations of adhesive cotton duck tape had existed for decades, nor did she invent the specific formulation of the popularized duct tape.

That is not what the thing you quoted says, or even correct. All duct tape is made of fabric and it is… well duct tape, so ducts were the intended use case when the name was created. Duct tape has kinda become a general term for all cloth-based tapes though, so you can indeed find duct tape not intended for ducts, but the fact the name was originally “duck tape” has nothing to do with that.

Nope, duct tape is for ducts and can't be made of cloth because the water would clearly seep through the cloth. There are strings in duct tape but not cloth.

The part I quoted says that duck tape is made of cloth and therefore is not duct tape.

I think people get confused because there is a brand of duct tape named Duck Tape. But even the Duck Tape packaging calls it a "duct tape".

Re: Dt: Duck tape for your Unix pipes

#62
post #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…

Got it cheers

Re: Dt: Duck tape for your Unix pipes

#64
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!"

Or like "Apple" as a brand name for... nevermind

Re: Dt: Duck tape for your Unix pipes

#65

Earlier quoted context omitted.

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 stre…

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

I would attack you with tea bags and waxed paper, if you tried to alter the timeline, and make this so.

On the other hand, I would happily sing your praises, if you invented another kind of pipe, to your specs, it sounds like a great additional.

Imagine combining the two, in one series of commands!

Re: Dt: Duck tape for your Unix pipes

#66
post #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…

While I think 'pl' and 'pls' for print line and print lines is probably an excellent choice overall I can't help but see 'pls' and try and parse it as an abbreviated INTERCAL.

Re: Dt: Duck tape for your Unix pipes

#67

Earlier quoted context omitted.

Presumably it's meant to be used when you're writing a shell script and you have some problem in front of you that would be trivial to solve in a real programming language and you find yourself saying a sentence starting with "I just wanna…" and rage-googling or asking ChatGPT or whatever.

> you have some problem in front of you that would be trivial to solve in a real programming language Which is the exact point in time when I solve the problem by using a real programming language.

Isn't that why Larry made perl? To avoid using a real programming language like awk? ;)

Re: Dt: Duck tape for your Unix pipes

#68

I don't really see why existing shell tools and scripting languages are missing, that this project provides. Especially if you consider the expressive range from, say, grep/bc/tr, through sed, through awk, to perl or python.

I write a lot of perl -e pipeline members for this sort of thing and I can absolutely see dt producing something that's easier to skim read for somebody who only really knows shell.

(I got sufficiently competent at perl before really noticing sed and awk existed that I'm pretty terrible at the latter two, so YMMV etc.)

Re: Dt: Duck tape for your Unix pipes

#69
post #38

Earlier quoted context omitted.

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!"

Or like "Apple" as a brand name for... nevermind

That's different. Apple as a trademark for a computer (or for a record company) is fine. Apple as a trademark for apples... not so.
Post reply on HN