Live data from Hacker News

Xiki: An amazing shell

techcrunch.com

51–60 of 130 posts

Re: Xiki: An amazing shell

#51

I need it. Anything similar already available?

Native Oberon.

No, I'm kidding, but Native Oberon is pretty much this as a (research) operating system; the interface is a bunch of text editor panes, you type out commands and run them by middle-clicking on them, commands tend to produce output in the form of further commands you can run, and you can save these panes as files at any time.

It's almost like a generalised version of the core operating system shown in The Mother Of All Demos.

Re: Xiki: An amazing shell

#52
post #34

These alternative shells always get me really excited, until I try them out. Then the drawbacks become immediately and very painfully obvious: - Some are extremely slow, especially those that rely on complete webservers / node.js / whatever as a backend - Memory-hungry. I've got an average of about 30 terminals open at all times. 50 Mb per terminal really is a bit too much. 10 Mb is the upper limit on what a single t…

Wow, an average of 30 terminals at all times? Just out of curiosity... what for exactly? Real-time monitoring?

I always have at least that many too. Not for real-time monitoring, just a large number of projects and threads of thought, many of which last for weeks or months. I do this for everything: I just totalled up all my currently open terminals, browser tabs, documents, etc., and got to over 700, and it's only that low because I've restarted a couple of times recently....

Re: Xiki: An amazing shell

#53
post #25
post #16

Earlier quoted context omitted.

What features would you like to see in a Unix-like shell that are not available?

I think passing around real objects instead of character strings is cool. It's less brittle, and you don't have to have an ad-hoc and flawed parser at every step.

ksh allows you to define and return types - their declarations are very close to those of C++.

Re: Xiki: An amazing shell

#54
Supporting 2 new text editors or IDEs: 4 months (likely Vim and Sublime, but it depends on what everyone votes for - also which one is implemented first depends on the votes)

--> Please all vote for Vim :)

Re: Xiki: An amazing shell

#55

Earlier quoted context omitted.

No, objects. Non-text. Real data. Plus methods. Read a PowerShell primer to better understand this. PowerShell is geniusly designed and horribly implemented, so there's little point actually using it, but UNIX could really really use some of its ideas.

It's impossible to “redesign” shell fundamentals in Unix because it will be incompatible with all other old-style utilies. And classic pipes are not so bad as PS evangelists saying. PS “objects” are basically .Net objects and you can't easily write python or perl applications compatible with PS features.

> It's impossible to “redesign” shell fundamentals in Unix because it will be incompatible with all other old-style utilies.

This is not true. In fact, despite its many flaws, PowerShell did solve this particular one: any object stream can also be rendered as a string. This is exactly what happens when you just type `ls` into a PowerShell window.

I can completely imagine that a UNIX `ls` implementation would return a stream of objects (not necessarily .NET objects - just some runtime's native object format) that, when called .toString() on, would return exactly the same textual output as common UNIX `ls`. Then, you'd need a way to differentiate between two pipes. Maybe with syntax (i.e. | for string pipes, [] for object pipes, whatever) or maybe through magic ("hey, these two processes both have the capability to pipe objects instead of characters, let's tie them together as objects" somewhere at the shell level). I'm not sure how feasible either are, but I'm sure you can imagine that this problem could be solved. Then, if the shell sees that whichever process accepts the output of `ls` doesn't understand objects, just text, then it calls `.toString` on every object and renders that to oldschool character stdout.

Re: Xiki: An amazing shell

#56

Earlier quoted context omitted.

No, objects. Non-text. Real data. Plus methods. Read a PowerShell primer to better understand this. PowerShell is geniusly designed and horribly implemented, so there's little point actually using it, but UNIX could really really use some of its ideas.

It's impossible to “redesign” shell fundamentals in Unix because it will be incompatible with all other old-style utilies. And classic pipes are not so bad as PS evangelists saying. PS “objects” are basically .Net objects and you can't easily write python or perl applications compatible with PS features.

Colin Walters tried with Hotwire Shell [1]. However, it has been abandoned for years.

1: http://blog.verbum.org/2008/03/23/hotwire-hypershell-0-721-r...

Re: Xiki: An amazing shell

#57
post #25

Earlier quoted context omitted.

I think passing around real objects instead of character strings is cool. It's less brittle, and you don't have to have an ad-hoc and flawed parser at every step.

Something like a Python/Ruby/whatever REPL with shell functions? Something like 'ls' would return an array of objects describing files, like: def name(text): return lambda file: file.name.find(text) > -1 ls().filter(name('.txt')) but less clunky?

> Something like 'ls' would return an array of objects describing files

You probably think of type-safe pipes similar to Go channels.

Re: Xiki: An amazing shell

#58
post #8

I quite like fish and have been using it painlessly for nearly 6 months now. I wish fish included an actual programming language that could replace bash scripts, but the sane advice from fish devs is to use a real programming language instead of bash or another shell script. Other than that I've become quite dependent on the nice autocomplete and suggestions from fish. It just works and I never have to deal with any…

Fish is interesting and grows on you but suffers from a number of showstopper bugs (e.g [0]) that prevent me from using it.

[0]: https://github.com/fish-shell/fish-shell/issues/1374

Re: Xiki: An amazing shell

#59
post #34

These alternative shells always get me really excited, until I try them out. Then the drawbacks become immediately and very painfully obvious: - Some are extremely slow, especially those that rely on complete webservers / node.js / whatever as a backend - Memory-hungry. I've got an average of about 30 terminals open at all times. 50 Mb per terminal really is a bit too much. 10 Mb is the upper limit on what a single t…

You have some good points. Please try Xiki and let us know what you think. -The Internet.

Re: Xiki: An amazing shell

#60
The visual file navigation looks like it would be a real step down. If I already know the directory I'm navigating to, it would almost certainly be less keystrokes to cd [first letter of first directory]/[first letter of second], etc. If I wanted to visually navigate files, I'd use Finder.
Post reply on HN