Hacker News new | past | comments | ask | show | jobs | submit login

As the commenter on your SO post has mentioned, they are not actually the same thing. Pipes are a much lower level concept than these OSX services. Of course you could implement them on linux, and you might even want to use pipes to do it, but its not a terribly interesting problem. Really its just GUI design, not a unix thing at all.



Maybe my question was framed wrong.

If I ask about how a OSX-like services framework may be created, what is the answer ? For example, there are OSX services that remove spaces from text or even summarize paragraphs. IMHO, some of them are contextual - some services only show up as active when you copy a URL, etc.

They seem pretty nifty and I always wondered why Linux doesnt have something like this.


Unix pipes are just unnamed FIFOs, that's it. You are free to implement "OSX Services" in linux if you want, and you could use unnamed FIFOs in your implementation, but they are unrelated concepts. You could also implement the idea with any other form of IPC, it hardly matters.

Furthermore, Linux doesn't have them because, unlike pipes, this isn't a feature that should be provided by kernels. If you wanted to add them to Gnome or KDE, I'm sure you could with minimal trouble.


I think you will find something very similar in Plan9 land - lookup plumber http://doc.cat-v.org/plan_9/4th_edition/papers/plumb. Since plan9 from userspace is available under linux, it may be possible to do something with it.


You keep asking the same question repeatedly, hoping that some magic combination of words will lead to a different answer.

http://blogs.msdn.com/b/oldnewthing/archive/2009/01/20/93411...

UNIX pipes are only a tiny bit like OS X Services from a user's perspective. They are nothing alike from a program's perspective.

As others have said, UNIX pipes simply connect one program's standard output to another program's standard input. That's all. It uses the exact same mechanism that would otherwise show information to you and accept input from you.

OS X Services are a completely different, proprietary thing. It works via the 'Pasteboard' which is rather like a secondary clipboard. Apple created a specific interface which must be recognized by a program in order to supply OS X Services with data. This interface is wholly unrelated to the rest of the program's interfaces.

OS X Services are much more akin to something that you would build on Windows using COM, like a Windows Explorer Shell Extension.

If you wanted to recreate OS X Services on Linux, you would have to define some sort of new interface for exchanging data between applications, then convince developers around the world to add the new API into their programs.


thanks.

FYI - My question changed from the similarity of pipes and services to just thinking about how something like services could be implemented on Linux. I did take a look at GnuStep Services, but is it the way someone would have done, if starting from a clean slate ? Powershell has a "pipeline" as well which works at object level. Again, it may not be the same thing as pipes or services implementation-wise, but it is conceptually relevant.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: