Meet Carla Shroder's New Favorite GUI-Textmode Hybrid Shell, Xiki 176
New submitter trogdoro (3716731) writes with an excerpt from Linux Cookbook author Carla Schroder's enthusiastic introduction to what looks like a tempting tool, combining elements of GUI and text-mode interfaces: Command-line lovers, allow me to introduce you to Xiki, the incredibly interactive, flexible, and revolutionary command shell. I do not use the word "revolutionary" lightly. The command shell has not advanced all that much since the ancient days of Unix. Xiki is a giant leap forward. If you're looking for the Next Big Thing in FOSS, Xiki is it. It's not the first tool meant to combine text and graphic interface, but from the screencast demo, Xiki looks like it gets a lot of things right.
Oberon? (Score:4, Interesting)
Re: (Score:2)
Re: (Score:2)
Re:Oberon? (Score:5, Informative)
His point is: learn to fucking spell "Oberyn"
That is an uncivil response to a simple error.
Re: (Score:2)
Next Big Thing! (Score:2)
That phrase in particular is a pretty serious red flag. It is an obvious attempt to gain publicity and/or investment for something which is nothing particularly novel or new or useful.
If I'm wrong, and the thing is actually practical, please, don't use idiotic tired red-flag buzzwords like that. It turns smart investors off.
Re: (Score:2)
Practical? Take a look:
https://www.youtube.com/watch?... [youtube.com]
It looks like it just recognizes bash commands and dumps their output into the text buffer. You can then cut and paste it! You can even 'edit' the output: the example shows `df` returning 22% room free on the disk, and the user 'edits' it to 42%. Sounds practical, no?
For those already on VIM: Prefix your commands with `:r!` and VIM will already do this. Granted, you already need to know that `:` starts a command, `!` runs a Bash command, and prefixing
Re: (Score:2)
For those already on VIM: [...]
I already do something similar in VIM, and xiki is far from been the same as ":r!". You probably should watch the first screencast [xiki.org].
The xiki thing is basically a Ruby shell, with built-in free-form text editor. But primarily it is a wrapper around the Ruby. Thus it limits its appeal to mostly Ruby users and developers.
The concept is definitely interesting. It basically brings back to CLI some capabilities that many have given up to GUIs. Adding something like this to an editor like VIM is definitely poss
Re: (Score:2)
Thank you. I've watched the screencast but I really do fail to see any utility in Xiki, only novelty. Can you describe something that Xiki can do that cannot be done with `:r!`? I would really love to add Xiki to my toolbox if it is useful, but I fail to see that.
Re: (Score:2)
Can you describe something that Xiki can do that cannot be done with `:r!`?
I can't. Because I do not use Xiki. I use something much simpler coded in VIM.
But the paradigm as I use it, in VIM terms: the command and the output are kept in the same editor window. You can apply exiting VIM functions to both - commands and output. You can save and load both at the same time - since in the essence it is an ordinary text file. With a special ':g//' I can rerun all the statements in file at once. Or I can selectively rerun only particular ones by the mask. I can ':w' and it is all made p
Re: (Score:2)
Xiki, being a cross of Ruby and a text editor, apparently does more: it recognizes and presents as interactive not only the shell commands, but also the file system hierarchy, the Ruby code, the SQL statements, the CSS, the HTML, and probably more.
I dunno about the rest, but for filesystem browsing you can use vim :e on a directory which vim will then let you navigate
Re: (Score:2)
I dunno about the rest, but for filesystem browsing you can use vim :e on a directory which vim will then let you navigate
Well, you really have to try it first to understand the difference.
Browsing a directory in VIM - ':E' - shows you the content of directory in a buffer. What xiki demo shows is more of ^X^F (because you edit the path right in the editor window, with the rest of your text) but allowing you to actually dynamically run ^X^F on different parts of the dir/file name, changing content of the window accordingly. IOW, while ':E' is a dedicated browser, xiki does something like ^X^F to allow to edit/browse/etc inlin
Re: (Score:2)
I dunno about the rest, but for filesystem browsing you can use vim :e on a directory which vim will then let you navigate
Well, you really have to try it first to understand the difference.
Browsing a directory in VIM - ':E' - shows you the content of directory in a buffer. What xiki demo shows is more of ^X^F (because you edit the path right in the editor window, with the rest of your text) but allowing you to actually dynamically run ^X^F on different parts of the dir/file name, changing content of the window accordingly. IOW, while ':E' is a dedicated browser, xiki does something like ^X^F to allow to edit/browse/etc inline, right in the middle of the text file, at any time when you need it.
And that's where the "innovation" comes. The tools to do all the things exist. But they all have different (and typically graphical) user interfaces. Xiki/etc try to combine the tools by putting them into an text editor, and making their output interactive and/or ready to be fed to the another tool. Because despite all the chrome, the basic nature of the content of the editor's window doesn't change: it is plain text. Commands are just text lines. Output are just text lines. It all becomes alive when special macro is run, which looks at the current line and tries to decide what to do with it.
Another way to look at it, and the way I often use my VIM hack, is that the same text file serves dual purpose: it is at the same time the script and the output of the script. The script and its output are interleaved. (That for example allows a very nice minor perk: rerun any command, flip between undo/redo and see the differences between then and now.)
I've used emacs for that (editing 'uneditable' things in the buffer and then re-executing). See my post above - handy link here [slashdot.org]
Re: (Score:2)
I've used emacs for that (editing 'uneditable' things in the buffer and then re-executing). See my post above - handy link here [slashdot.org]
OK. You completely miss the point.
Emacs' shell wrapper is just that: shell wrapper. Typing anywhere but at command prompt makes no sense. Command goes at the bottom. Output after it. Command at the bottom. Output. Rinse and repeat. You can't have (a) commands/outputs out of order, (b) non-shell commands or (c) re-execute in-place part of output as command.
Probably you simply never met with such problems so it is hard for you to even realize where from I'm (and apparently authors of xiki are) coming.
Re: (Score:2)
Emacs' shell wrapper is just that: shell wrapper. Typing anywhere but at command prompt makes no sense. Command goes at the bottom. Output after it. Command at the bottom. Output. Rinse and repeat. You can't have (a) commands/outputs out of order, (b) non-shell commands or (c) re-execute in-place part of output as command.
Well, perhaps my emacs is broken then, because it lets me type anywhere and accepts the line as a command upon pressing enter. I can also scroll up and position the cursor on any line in the emacs window and press enter and it will accept that line as a command to execute, even if that line was not a command previously but the output of a command.
Probably you simply never met with such problems so it is hard for you to even realize where from I'm (and apparently authors of xiki are) coming.
I'm afraid you are correct - I simply cannot see anything in that video which I cannot also do using a shell from emacs, and I'm way too lazy to make and post a vi
Re: (Score:2)
Thank you. I've watched the screencast but I really do fail to see any utility in Xiki, only novelty. Can you describe something that Xiki can do that cannot be done with `:r!`? I would really love to add Xiki to my toolbox if it is useful, but I fail to see that.
If you want something better than :r! in vim, use emacs as a shell. I used emacs as a shell for years - you can cut-n-paste (multiple buffers), use the mouse to mark regions, save the entire session as a file, load a previously used session, search back, search forward, edit previous commands before running them, edit the output of previous commands (and then run them), execute the odd elisp expression (need a calculator quickly? It's built in), surf the web, read/send email, read usenet (or read slashdot),
Re: (Score:2, Insightful)
Yawn; wake me when I can get the code from github.
Did you even look? It takes two seconds of scanning TFA to find the github page.
Re: (Score:2)
Ruby is a wonderful language for [...] mobile devices, like phones, tablets, smart watches, smart glasses, and all the "Internet of things" that the buzzspeakers are so excited about.
It's hard to take a 'reviewer' seriously when they make goofs of such epic proportions, such as these. This blogger is obviously unaware that the IoT devices (along with a lot of the 'smart' devices) aren't going to be able to run ruby crap.
Not convinced (Score:5, Interesting)
I believe the tradeoff of CLI is between working more efficiently (by typing commands and not having to use your mouse too often to interrupt your flow)
and a steeper learning curve (learn commands and their params, config file locations and their syntax etc.).
This shell seems to provide a lot of features that most of the people are not interested in, or already use specialized tools for those tasks. It is unclear to me why would one prefer to use such a shell to execute SQL or modify the DOM of a webpage rather than spawn a full-featured querying tool, respectively Firebug.
Their syntax coloring looks pretty poor, and they seem to ask you to "double-click" whenever you want to do anything. I am currently using terminator + fish, which I can highly recommend. It makes me way more productive, has very interesting completion features and uses a really large number of colors to make things more easily distinguishable.
The fact that you can move things around is quite cool, but I don't see any significant advantages, although I've only watched the first ~6 mins of video. Can someone competent perhaps voice his opinion on what does this bring?
Re:Not convinced (Score:5, Interesting)
It is unclear to me why would one prefer to use such a shell to execute SQL or modify the DOM of a webpage rather than spawn a full-featured querying tool, respectively Firebug.
Some people are concerned that "traditional" specialized tools have uncomposable interfaces. There seems to be some convergence between this and the Hopscotch interface [bracha.org] pioneered by Gilad Bracha. I believe that the aim of both, despite the two being different in approach, is to ultimately give you the tools to make your own (specialized) interfaces on the fly, rather than to force you into having to deal with multitudes of specialized large windows and to constantly "hunt" for UI elements or displays in a lot of noise.
Re:Not convinced (Score:5, Interesting)
"the tradeoff of CLI is between working more efficiently (by typing commands and not having to use your mouse too often to interrupt your flow)
and a steeper learning curve (learn commands and their params, config file locations and their syntax etc.)."
Solution: use natural language to tell the computer what you want to do. "Copy myfile.txt to mydirectory." "Change my password from old to new." "Change the file permissions on myfile.txt so anyone can read or write to it."
Re: (Score:3, Funny)
Solution: use natural language to tell the computer what you want to do. "Copy myfile.txt to mydirectory." "Change my password from old to new." "Change the file permissions on myfile.txt so anyone can read or write to it."
first you have to say "OK Google" (or "hey SIRI" if you're a hiptard)
Re: (Score:2)
first you have to say "OK Google" (or "hey SIRI" if you're a hiptard)
Honestly, all things considered "Siri" is far less obnoxious to say than "OK Google" in my books.
Re: Not convinced (Score:2)
Google makes it clear you're talking to a corporation, Apple forces you to anthropomorphize your machine. Match goes to Google.
Re: (Score:2)
Google makes it clear you're talking to a corporation
Yeah, and that's part of the problem right there. I don't want to be talking to a corp... 90% of what I'd consider using voice for shouldn't need internet. I'd like voice-recognition on, but give it no internet access.
Make calls, answer calls, add stuff to calendar, send a text, look up a contact, etc... nothing should need to go to google.
And I'd be ok adding a keyword "bing" or "google" to any search that specifically needed to go there.
e.g. hey phone,
Re: (Score:2)
it's also good when I'm walking and want to shoot a quick text message "text Frank I'm running 10
Re:Not convinced (Score:4, Insightful)
I am skeptical to the idea tbh. For commonly used commands the effort of learning them is relatively small and the rewards are great (if I ever had to type "change the permissions such that" instead of "chmod" I would just give up and use GUI) .
Re:Not convinced (Score:5, Interesting)
Please read Robert Heinlein's The Number of the Beast and then tell me if you still think natural language is appropriate to command computers.
The use of natural language to interact with Star Trek: The Next Generation's computer has an extremely powerful appeal. I read Heinlein's novel prior to the debut of STTNG and I was still impressed by the latter, but my belief in the feasibility of the idea is greatly tempered by the former.
Re: (Score:2)
Re: (Score:3)
which quickly gets tiresome because of how much text you end up typing.
instead of: /dir/
passwd
cp myfile.txt
chmod 777 myfile.txt
Re:Not convinced (Score:5, Insightful)
Solution: use natural language to tell the computer what you want to do.
Because we all know that all programmers do is follow the requirements document from the client, which never requires any clarification/investigation/analysis/follow-up/etc.
Re: Not convinced (Score:2)
Natural language is both ambiguous and unprecise.
Converting it to a programming language forces you to be specific about what you really want.
Re: (Score:2)
> Natural language is both ambiguous and unprecise.
Imprecise?
No, (ambiguous && !precise).
Re: (Score:2)
I'm all for the natural language approach. I'm holding off til I can say something like "give me a histogram of all occurences of this regex across all files in subdirectory X....". Til that time it's a pipeline of grep/sort/uniq.
Re: (Score:2)
Solution: use natural language to tell the computer what you want to do.
It's hard to wreck a nice beach.
Re:Not convinced (Score:4, Interesting)
A CLI is simpler and more regular than natural language, and succeeds in allowing complex instructions to be expressed in few words.
Re: (Score:2)
I was writing on my notepad when I put the baby in the playpen to calm her down. Then I discovered the pen was not working.
Natural language can be pretty vague. Talk to a programmer who takes down a ISP router with a misplaced semicolon on how strict they can be. Computers are not smart enough yet to do true natural language. When Watson can answer every single question, maybe.
Re:Not convinced (Score:5, Insightful)
Solution: use natural language
Interesting idea. ten to one, you would get a great lesson in how ambiguous "natural language" is. A language that does not distinguish between inclusive and exclusive OR, has no rules for resolving the order/priority of ANDs and ORs when both occur in a clause, and which has a rather cavalier approach to NOT ("Isn't the door open?" is likely to mean "I think the door is open" rather than "Is the door closed?") may not be the ideal medium for communicating your wishes to a box.
Re: (Score:2)
Interesting idea. ten to one, you would get a great lesson in how ambiguous "natural language" is. A language that does not distinguish between inclusive and exclusive OR, has no rules for resolving the order/priority of ANDs and ORs when both occur in a clause, and which has a rather cavalier approach to NOT ("Isn't the door open?" is likely to mean "I think the door is open" rather than "Is the door closed?") may not be the ideal medium for communicating your wishes to a box.
Humans can distinguish such ambiguous language constructs. For example: "I once saw a deer riding my bicycle." Although there are at least two ways to interpret the sentence, only one makes sense in nearly all contexts. Now since I am able to figure it out, it stands to reason that sufficiently intelligent algorithm can do the same.
Worst case scenario, if the language interpreter cannot figure it out, it does what humans do in the same situation: it asks for clarification.
Re: (Score:2)
Humans can distinguish such ambiguous language constructs. For example: "I once saw a deer riding my bicycle." Although there are at least two ways to interpret the sentence, only one makes sense in nearly all contexts. Now since I am able to figure it out,
No, you haven't.
it stands to reason that sufficiently intelligent algorithm can do the same.
Well, you thought that I meant "I was out on my bicycle when I saw a deer", but what I actually meant was "I was in my yard when a deer rode past on my bicycle". How the hell can you be sure that I meant the former and not the latter?
Worst case scenario, if the language interpreter cannot figure it out, it does what humans do in the same situation: it asks for clarification.
Nope, wrong again - worst case scenario is that the language interpreter does not figure it out, and doesn't realise that it hasn't figured it out!. Best case scenario in case of errors is the interpreter managing to figure out that it got the incorrect meaning.
Re: (Score:2)
What would a human do?
A human would likely recognize the ambiguity, and wait until there's a point in which enough context is provided to disambiguate. For example, "I once saw a deer riding my bicycle. I then slowed my bicycle in order to slow down and see the deer more closely." Or, "I once saw a deer riding my bicycle. But it crashed because deer don't know how to ride bicycles."
If the context is never clarified, the human would probably accept the most reasonable explanation, that "riding my bicycle
Re: (Score:2)
The human would ask for clarity.
The computer can be built to do the same as the human in any of these cases.
No, it can't. In order to ask for clarity it first has to recognise that there is a 0.00000000000000000000000000000000001% chance of ambiguity. This would result in it always asking for clarity. A human is allowed to make mistakes in comprehension because the producer of the sentence might recognise that there was incorrect understanding. Then again, they might not. The computer doesn't have the luxury of taking the chance that there is no ambiguity.
Put differently - the human assumes that the other human
Re: (Score:2)
Put differently - the human assumes that the other human will understand him or ask for clarification. Sometimes they are wrong in this assumption but no harm is done. With a computer: if the human takes the chance that the computer understands him OR will ask for clarification and the computer assumes a different meaning then there will be hell to pay.
Why? Why does the human get to slide but the computer doesn't?
Re: (Score:2)
Re: (Score:2)
1) Why does the ability to understand natural language have anything to do with intelligence in other areas? A natural language parser won't necessarily have a clue how to track moving objects or how to play chess.
2) What does intelligence have to do with ethics? Saying "Humans are intelligent beings and humans should not be enslaved, thus intelligent beings should not be enslaved", is like saying "Mario is a plumber and Mario is a game, therefore plumbers are games."
Re: (Score:3, Funny)
Re: (Score:2)
I'll repeat myself: Since I am able to figure it out, it stands to reason that sufficiently intelligent algorithm can do the same.
Re: (Score:2)
I'll repeat myself: Since I am able to figure it out, it stands to reason that sufficiently intelligent algorithm can do the same.
I'll repeat myself too: You haven't figured it out, you're only convinced that you have. How can you know that I'm not saying "All fruit have the same trajectory as a banana?".
Your problem is probably lack of interaction with the real world. Go to court some day and watch proceedings of a trial - there is no such thing that a sentence is "obvious". In even the most trivial of defences the defence attorney is going to argue, sometimes successfully, that a much structured and mostly unambiguous piece of legis
Re: (Score:2)
We're not talking about writing laws. Laws are written by one group of people, applied by a different group, and interpreted by yet a different group of people. Imperative commands executed immediately are different because the interpreter can directly interact with the writer, and (again repeating myself):
if the language interpreter cannot figure it out, it does what humans do in the same situation: it asks for clarification.
Re: (Score:2)
No.
ithkuil (Score:3)
"natural langauges" are too imprecise. Even native speakers often get confused talking to each other. It's just that most people don't notice the back and forth with clarifying questions since it comes "naturally". It seems that for any high level of natural language processing a fully sentient AI would be needed for the interpreter.
An interesting experiment might be to use ithkuil [ithkuil.net] for the UI at first to reduce ambiguity and imprecision. That might make it easier to gauge how much AI would ultimately
Re: (Score:2)
We used to think something like a simple text web search was "too impercise" and you needed a hierarchical organization or semantic web to organize information on the Internet...
When the domain is restricted natural language can be quite sufficient- SHRDLU had a workable natural language system in the 1960s, and the relevant Siri/Android solutions today are quite up to the task of creating and copying logical objects, selection by attribute, transformation...
Re: (Score:2)
I am currently using terminator + fish, which I can highly recommend. It makes me way more productive, has very interesting completion features and uses a really large number of colors to make things more easily distinguishable.
you say that your terminal interface makes you more productive, and yet here you are commenting on slashdot. which one is it?
Re:Not convinced (Score:5, Insightful)
Other advantages of a CLI:
1. You can save the sequence of commands in a script, edit the script, and re-run it later, perhaps on different computers.
2. You can run commands in a remote SSH session.
3. You are learning skills that are applicable across a wide variety of Unix-like OSes.
4. You are learning to use powerful and flexible tools that can be piped together to automate complex tasks.
Re:Not convinced (Score:5, Insightful)
And also something I came to value when working in industry and developing both cli and GUI admin tools for telecoms equipment:
You can easily document, email and (to a lesser extent) talk about a cli. A GUI not so much. When you've tried to walk someone through finding the hidden option in a GUI over the phone for the tenth time you're ready to tear your hair out. With a cli you can just email some commands and that's that. Documenting a GUI invariably devolved to a lot of screenshots which makes any workflow tens of pages long, instead of ten lines of commands which you then have ample space to explain and comment on. It's also much easier to read and follow along as you're e.g. installing, than leafing through screenshot after screenshot.
Re: (Score:2)
This and lars_stefan's reply are right on. Its amazing how often I've worked my way through scripting a sequence of shell commands that gives me the result I want, then I either save it as a shell script for later, or execute it on a remote machine or send it to a colleague by E-mail with "run this to find out who's E-mail is clogging the pipes" or something.
Re:Not convinced (Score:5, Interesting)
I believe the tradeoff of CLI is between working more efficiently (by typing commands and not having to use your mouse too often to interrupt your flow)
and a steeper learning curve (learn commands and their params, config file locations and their syntax etc.).
For me, the primary benefit of a CLI, when presented by a decent shell, is the flexibility and power of being able to write and run tiny programs whenever it helps.
A CLI not backed by a decent shell is miserable, as was demonstrated by ms-dos.
Re:Not convinced (Score:4, Funny)
And what can't be done with a .bat file?
Every time I have to write a .bat file, I consider whether it would be more comfortable to stab myself with a fork. After I am done, the answer is always that I'd rather have stabbed myself with a fork.
Re: (Score:2)
And what can't be done with a .bat file?
Every time I have to write a .bat file, I consider whether it would be more comfortable to stab myself with a fork. After I am done, the answer is always that I'd rather have stabbed myself with a fork.
If someone asks you to write a .bat file you should tell them to go fork them selves into a background process.
Re:Not convinced (Score:4, Interesting)
No, it didn't.
Tab completion made it okay. DOSShell just helped to make things less painful to re-run something that was run in the past. And that's assuming that you already ran DOSShell in the past.
Of course, that didn't come along to consumer-targeted operating systems until after the turn of the century, and by then MS-DOS was just a bundled component of some product named after a graphical interface.
For those who wanted a decent shell before then, JP Software's 4DOS was the best option. Those who had a copy of certain versions of Norton software may have been familiar with this product by the name NDOS. These products provided more functionality and were able to use less of the most scarce categorization of memory.
Regarding what can't be done with a .bat file, the answer is: nothing. After all, a batch file could run LoadLin which could load Linux. However, what couldn't be done without a batch file if you weren't relying on external executable files? A lot. Getting user input comes to mind.
I'm fully aware of what can be done with batch files. For fun, I wrote a virus in batch, targeting a specific computer lab so that the software would spread among floppy disks from one machine to another, infecting both hard drives and floppies. The software even backed up changed files (like AutoExec.bat), and checked for a parameter to run a cleaning subroutine that would restore the unaffected files. Despite such accomplishments, I never felt like Batch was a versatile as, well, anything else I've used, including BASIC. User input and conditions were not easily handled.
Re: (Score:2)
Which is where cygwin comes in. Microsoft sees this and answers it with powershell, which I don't mind actually, and fits in ok with the iterations sh has gone through.
Otherwise you are back to stabbing yourself with a fork.
Re: (Score:3)
Agree. I watched the "can your shell do this?" video and saw nothing that I would want a shell to do.
He built a shell that does cool things he wants? Great. I could build a shell that does neat things I want it to, but I don't think anyone else would want to download it.
Re: (Score:3)
I for one am constantly aching for a CLI that can play musical notes. It's an essential feature and one I cannot possibly do without.
Re: (Score:3)
I believe the tradeoff of CLI is between working more efficiently (by typing commands and not having to use your mouse too often to interrupt your flow)
If they did it right, one should be able to navigate entirely using the keyboard, the mouse being optional.
Welcome to Macintosh Programmers Workshop, 1985 (Score:3, Interesting)
The "commands everywhere, hit enter to resample them" existed back then for macintosh programmers Workshop, as many developers will remember. Basically there were no need for real 'scripts', you could type commands, hit 'enter' then hit 'undo' and 'enter' again to re-run it, and yes you could 'execute' anything you selected.
That was the only use I had for the 'enter' key of the numeric keypad of the old mac's keyboard in fact.
So, revolutionary... hmmm. I also reimplemented JUST that as a text-input extension quite a few years ago for OSx, where I could do pretty much exactly that from any text editor on the mac, like SubEthaEdit etc.
Re:Welcome to Macintosh Programmers Workshop, 1985 (Score:5, Interesting)
Commodore (Score:3)
The "commands everywhere, hit enter to resample them" existed back then for macintosh programmers Workshop
The Commodore interface was like that too.
Re: (Score:2)
Or, or: CTRL+R and keyup.
If you take away the mouse in this newfangled interface, I bet CTRL+R and keyup require fewer keystrokes on average than moving the cursor to the command you want to re-run. Granted, CTRL+R and keyup could be slightly less destructive in certain cases, but other than that they're pretty much perfect.
Re: (Score:3)
But go back in time further and people were experimenting with graphical interfaces combined with a CLI. Even the Smalltalk 80 systems could be said to be an integration of graphical interface with a command line (the command line being the "workspace" window). And of course Lisp machines and their combined graphics with a more conventional CLI.
It's sort of like the history of computing is completely blank to people before the introduction of PC and Macintosh. Or maybe it's Babbage and Lady Lovelace, the
Xiki Sucks.. (Score:2, Interesting)
..Because it does not support vim. Also, what problems does it solve exactly?
Re:Xiki Sucks.. (Score:5, Informative)
Also I went through a phase of doing most of this inside vim anyway. It was a time when I was doing a lot of string manipulation in bash with long complex pipelines and I needed to explicitly show the state / track the output of each component.
In vim you just need to keep a :r! at the beginning of each command line, to execute just check that you are in command mode with esc then select the cmd line and middle click to execute, allows piping in results by selecting the input and dropping the r to get :!. There is no support for custom hit regions for the mouse, but in compensation it works everywhere already.
If you already use vim, then having access to vim motions and commands to edit output makes for a surprisingly good shell.
Re: (Score:2)
It is yet another attempt by Rails developers to construct a web app IDE that squares with their idealism.
Re: (Score:2)
yes.. the references to javascript and ruby are dead giveaways. I don't want javascript or ruby anywhere near my command line.
No kidding. (Score:2)
Shell scripts work but talk about awful languages to work in for anything remotely complex.
Too many security issues. (Score:5, Insightful)
Onions have layers...shells have layers? (Score:2)
So, lemme see if I have this right.
This is a new take on a shell.
...which is run from within my editor of choice, emacs.
...which I run in a shell.
...which I run from an xterm, which I spawn in the gui.
Or, maybe, I run it in a browser.
...which I spawn from an icon in Gnome.
I'm not seeing how this is a Good Thing.
Re:Onions have layers...shells have layers? (Score:4, Funny)
You seem to be confused about the program that emacs is replacing. It is not replacing vi, it is replacing init. Once you realize that, you will find it perfectly natural to run your shell inside Emacs.
don't need, already have emacs. (Score:2)
Emacs does all this, or at least what I need from it, but without the weird interface. Or maybe with a weirder interface.
what if you could.... (Score:5, Insightful)
nut kick the guy who keeps asking "what if you could...." in the screencast? That got annoying real fast.
Re: (Score:2)
What's old is new again ... (Score:4, Interesting)
MPW did something similar, only they used their own command set. This had a unique benefit: the output from MPW utilities often included commands that could be executed by clicking on the line with your mouse and pressing enter. It worked very well since the utilities themselves generated those executable commands, and users could extend upon the system with their own utilities. (MPW was a development environment after all.)
Here's the thing though, Xiki cannot do that because its trying to use existing Unix utilities and development tools. While the output from that software is usually intended to be used by other software (e.g. via pipes), it is rarely intended to be used by the shell itself. That means Xiki needs to understand how to interact with each piece of software. As a result, it will end up being an unwieldy mess of plugins and unsupported commands.
Don't get me wrong. The Xiki demos were doing some pretty neat and fairly useful stuff. In that sense, it is a success. The problem is that you'll never be able to use the full power of the metaphor because the software that it interacts with was never designed to interact in the way Xiki needs it to.
Re: (Score:3)
This was something done with Lisp Machines as well. Symbolics Inc with their Genera operating system combined CLI with the GUI, and you could get a list of valid command options and then either click on the option you want or just type it in.
Re:What's old is new again ... (Score:5, Informative)
Re: (Score:2)
Sounds interesting. Will be on the lookout for it.
Re: (Score:2)
MPW - that brings back some good memories. What a great development environment. Crunchy CLI-based power and scriptability wrapped in chewy GUI editing and ease-of-use. I miss using that every day.
Was skeptical, but... (Score:2)
The whole point of a shell (Score:2)
The whole point of a shell is to not need the mouse. Keyboarding is inherently faster than mousing -- you're using 8 fingers, not one pointer -- especially if you're a touch typist.
Being able to put your commands in a script for re-execution is an added bonus.
Re: (Score:2)
The whole approach reminds me of a "graphical programming" tool for web interfaces that I used a few years back. While I was intrigued to try something new, I soon realized it was the slowest and clumsiest means of programming I had ever used, and just as prone to errors (though not syntax errors -- but those are but a small fraction of the mistakes programmers make, especially with any decent syntax highlighting editor.)
Re: (Score:2)
I doubt it is as slow as LabView :(
Never go full GUI.
Once you go past anything that can be flowcharted on a single A4/letter sheet of paper you end up with lines crossing both over and under so it becomes a "write only" program that is not easily debugged and difficult for anyone other than the original writer/drawer to understand.
Re: (Score:2)
I remember asking a Mac user years ago why he loved his Mac so much and he said 'because of the keyboard shortcuts, I can work so much faster'.
Re: (Score:2)
I can type a copy of whatever I want to paste far more quickly than I can shift my hand to do it with the mouse, or I can use these little features offered by control keys like ^V and ^C. The mouse is a crutch.
Oh, hey, someone invented Plan 9 (Score:2)
Glad to see that things I was hearing about back in college, and used to experiment with Unix ports of in the early 90s, and which were also found in the pre-OSX Mac dev environment, are being reinvented as though they were new.
Reminds me of iPython notebook (Score:2)
This reminds me of iPython notebook [ipython.org]. It allows to run/re-run python commands and display either text or graphics. You can also insert "formated comments", save a session, and share it. It's now reaching a good maturity, and is becoming a kind of "python" killer apps for scientists.
As a side note, in addition to Python, it accepts shell commands, when preceding them with a !, to it could even replace a normal shell.
What if... (Score:2)
Hurray for CLI improvements! (Score:2)
I like what Xiki is shooting for and look forward to trying it out. I have a similar interest in finding new ways to interact with a command shell. One such feature would be a shell and simple commands (in the Unix spirit) that natively work with URI resources rather than simply (local) file handles and sockets. My attempts to achieve this over the past 5 years has resulted in what I call IOVAR [iovar.com] (hosted on Google Code and iovar.com), a BASH-like shell for the web written in Java and currently running in Tomc
Doug Engelbart did this in 1968 (Score:2)
If you watch Doug's demo in its entirety, you can't help but see the similarities to this new project:
http://www.1968demo.org/ [1968demo.org]
Re:Ho.. hum (Score:5, Informative)
Re: (Score:3)
Re: (Score:2)
is Tricky
but worth a clicky
Re: (Score:2)
yes, i just saw this in one of the two videos on kickstarter.
it lets you manually filter the output of ls for example.
greetings, eMBee.