
Xiki: The Command Revolution - svm33
https://www.kickstarter.com/projects/xiki/xiki-the-command-revolution
======
sunir
I'll plant my lawn sign to lobby for support. I think this is such a
completely new way of running a shell it's worth investing in to see how far
it can get.

Maybe I am a computing retrofuturist, but I like anything that pushes towards
a Plan 9 / Smalltalk / Jef Raskin like dynamic, configurable, adaptable,
programmable, textual user interface.

Also, recognition is always better than recall. I hate the UNIXy command line.
I have limited brain capacity and I don't want to lard it down with knowing
that it's ssh -p but scp -P. If this can help with that, awesome.

~~~
mtdewcmu
>> ssh -p but scp -P

I hate inconsistent command line interfaces, too. If you type `ssh` it dumps
usage information. Most commands will respond to `command --help` (but not
ssh, irritatingly). Failing that, you can write shell functions to wrap your
own interfaces around commands -- I do this all the time.

~~~
sunir
Exactly, and I believe that Xiki is trying to make that flow much more
pleasant. :)

------
intull
Here's the github url for those who don't find the kickstarter helpful -
[https://github.com/trogdoro/xiki](https://github.com/trogdoro/xiki)

Xiki has been there for a couple of years at least, because I remember trying
it out more than a year back, had to install a _lot_ of dependencies!
Nevertheless, its an interesting project!

~~~
edb
Yes, me too. Sounds like creator wants to get on top of it and clean all that
up, so I hope this kickstarter succeeds. Great project and I want sublime
support! :) Backed.

~~~
trogdoro
Indeed! Thanks so much for the support!!

------
trogdoro
Hey! Project creator here! I'll answer all your questions here and try and
clear up the writing. Ask away.

~~~
edwintorok
Some things that are unclear:

1\. on kickstarter page: "getting Xiki working in other text editors, like
Sublime and Vim." on github: "It has a web interface, but runs best from a
Xiki-enabled text editor"

What is a Xiki-enabled text-editor, i.e. what text editors does it support
currently?

(FWIW I don't like web-based editors, so it is quite important that the text
editor is a real application. I edit blogposts/wikipages with vim and git too,
wherever possible, because I just have a feeling of uncertainty that if I
press the wrong thing / click the wrong place by accident the browser will
loose everything that I typed)

2\. security?

If anything can be a command then what happens if I open a malicious file? Do
I have to be careful where I click? What if they use Unicode tricks to
disguise the command?

3\. predictability

similar to #2: how can I know what will happen when I "run" something if
commands can be in any place, and interact with anything? Is there a way to
preview what the command would do, and what it would interact with?

4\. can I install as non-root?

I want to use the system ruby, and I want to try xiki without installing
anything as root (except system packages provided by the distribution). The
instructions on the github readme are confusing: it shows the sudo
instructions, and some rvm instructions, neither of which meet my simple
requirements.

I tried running 'bundle --path vendor/bundle', but it failed with an error:

    
    
       Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
    
        /usr/bin/ruby2.0 extconf.rb                                                                                                             
      mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
    
      Gem files will remain installed in /tmp/xiki/vendor/bundle/ruby/2.0.0/gems/json-1.8.1 for inspection.                                       
      Results logged to /tmp/xiki/vendor/bundle/ruby/2.0.0/gems/json-1.8.1/ext/json/ext/generator/gem_make.out                                    
      An error occurred while installing json (1.8.1), and Bundler cannot continue.
    

5\. why ruby?

I'm not a Ruby developer, but I might want to try Xiki. Or is Xiki intended
only for Ruby developers? But see #4 for the troubles I run into, it currently
looks like one needs to know how to debug Ruby's build system in order to run
your application.

~~~
trogdoro
1\. Currently supports Aquamacs and Emacs. "Xiki-enabled text editor" means a
text editor with a Xiki plugin installed. Which, in turn, means you can run
Xiki commands right from that text editor (or IDE).

2\. Yes, you need to be careful. Similar to being careful to which commands
you paste into your shell, and which .sh files and scripts you run and which
packages you install. It won't auto-run anything though. And since everything
is plaintext, it should help people to review for malicious intent. Maybe some
checking for special characters would be a good feature to add.

3\. There's no way to preview. If you don't know what a command will probably
do and don't trust the source, you probably shouldn't run it. There is a
keyboard shortcut for jumping to the source code though!

4\. Yes, you can run as non-root. The current version is a bit out of date,
and has a rough install process (the Kickstarter is all about improving that).
Currently you need ruby 1.9. I need to fix that soon - it probably won't be
hard.

5\. Ruby is a pretty decent language for manipulating text, and getting stuff
done quickly, so it's a good fit for Xiki. You can make a Xiki command via a
.py, .js, or .coffee file though, so you don't need to know ruby to make
commands!

------
tritri
Last year I went to a tech talk where the creator of Xiki was showing off the
product's features set. He has definitely put a lot of thought into it's
design, and Xiki improves a developers workflow once you get use to the
commands. I believe the creator also offered anyone who wanted to pair-program
with him a call; definitely wish I had jumped on that opportunity.

~~~
trogdoro
The offer is still open. Let's pair! :)

I want to pair with a bunch of people during the campaign. I think misc
pairing on open source projects is going to be a huge part of how we devs
connect with each other. What better way to get familiar with a project super
quickly than to pair with one of the core members. For the core members, the
benefits include motivation, getting fresh ideas, and getting perspectives
from new users.

------
tnorthcutt
My suggestion: lose the frantic, cheesy music in the video. It made watching
the video thoroughly unpleasant.

~~~
spir
Seconded. It's like you're telling me, "we don't believe in our product so
have some cheesy music to up the hype". Music was worst part. I was trying to
ponder your invention and failed.

Corollary: spend years working on product, ruin it with one stupid customer-
facing decision like annoying music. Talk about your one-percenter.

~~~
trogdoro
Sorry you don't like the music. I showed it to a bunch of people and they said
good things about the music.

The music was actually created via the xiki "piano" command (and then enhanced
with garage band). I was going to emphasize that but ran out of time... There
are 16 backers so far (and only a few are friends) so hopefully it hasn't
ruined it for everyone.

~~~
fredsted
I was also annoyed by the music. Way too many sounds going on. It's a nice
demo though, but the video would be better without the music.

Be careful about feedback from friends (or even just showing your stuff to
people IRL). Friends and family are often too nice to provide usable feedback.
On the internet, people will be brutally honest which is awesome when you want
to know of every single little defect with a product.

------
ToastyMallows
Am I the only one here that really liked the video and the concept of Xiki in
general? I thought it looked really interesting and I'm going to try it out
tonight on my laptop.

~~~
chazu
I've been psyched about this project since it was brought up a month or two
ago in a discussion about tree viewers here on HN. Its pretty compelling, even
if it may not integrate well into developers' workflows. Now I've just got to
find time to start using it...

------
ryanackley
What is xiki? Why does it bring the power of the command line to everyone?

The kickstarter page seems to assume I know what xiki is and why it's
different from say bash.

~~~
gojomo
I think it's struggling with the fact it's kind of a hard thing to pigeonhole
or label, and people may need to watch both videos, perhaps even with
pause/rewind, to perceive all its aspects.

There's overlap with IPython notebooks. There's command-aware autocompletion.
There's direct-two-way-manipulation of textual artifacts.

Maybe it could be thought of as an "MVC" IDE, but in pure-text, where familiar
Unixy commands can be the "VC" parts... and you don't so much "run" them once
but position them for re-use, and their output can be made directly editable
with effects on the original inputs. (As just one example, what if editing the
output of "ls -l" was enough to change permission bits, owners, or names of
files, or truncate them to a new length?)

It even reminds me a little of the Englebart "Mother of all Demos", in the
surprising/dangerous depth behind simple outline-menus.

Note I'm just assessing from the videos: I haven't used Xiki myself. If I were
using it, I think I might handle it like a loaded weapon: it seems powerful
enough to do a lot of filesystem damage in a few experimental keystrokes!

------
raju
Here is the Github repo -
[https://github.com/trogdoro/xiki](https://github.com/trogdoro/xiki) and the
official website - [http://xiki.org/](http://xiki.org/)

------
ori_b
This looks suprisingly like Acme ([http://plan9.bell-
labs.com/sources/plan9/sys/doc/acme/acme.p...](http://plan9.bell-
labs.com/sources/plan9/sys/doc/acme/acme.pdf))

~~~
fmoralesc
Yes, and the extensions are similar to what the plumber provides.

------
teh_klev
Some discussion about Xiki from around two years back:

[https://news.ycombinator.com/item?id=4512928](https://news.ycombinator.com/item?id=4512928)

I can see a use for this, especially for technical FAQ building, I do a lot of
that.

Not sure if this could ever be more than a power admin/developer tool. But
good luck anyway!

------
callesgg
Looks cool.

I am slightly concerned when it comes to security and "noobs" pasting commands
without getting stuff.

Think rm -f ~/

Would be great for stuff that is to unique(only happens once ever) to write
automated bash scripts for. The problem is that one might not know that in
advance, and suddenly one has to scripify it for real.

~~~
Fuzzwah
At least make it tense and exciting:

(((RANDOM%6)==0)) && rm -rf / || echo _Click_

------
krmtl
I get excited each time I see an attempt to improve the shell, e.g. Mosh [1]
and TermKit [2]. I believe that there is room for improvement. But I also
think that the UI itself might be in its best form because it is as simple as:
type the command, hit enter, get the result. And also equally important, its
very efficient.

I don't see that it can replace Bash but it can be useful in some cases. I
really liked the Git functionalities.

[1] [http://mosh.mit.edu/](http://mosh.mit.edu/) [2]
[https://github.com/unconed/TermKit](https://github.com/unconed/TermKit)

------
mtdewcmu
Issuing commands to a computer with a "mouse" \-- ridiculous! It will never
work.

More seriously-- why does this need funding? If the idea is clear enough and
people see a need for it, someone will help finish it or write their own
version as open source.

Having watched the second video, which is better, it looks to me like there
could be some good ideas here; but a lot of them could be implemented on their
own. Some could even be done with short shell functions in bash.

------
wanderer
I think Xiki might help me escape the editing environment of the shell and
REPLs provided via the shell (specifically the bash shell of Mac OS X
Terminal, and various Scheme REPLs.) I want to work just as I can in TextEdit,
or for that matter in the humble HTML textarea: put the cursor anywhere and
start typing or deleting. The Mac OS X program Eddie permits some of this.

------
slashnull
Using zsh convinced me that clever and dead-easy autocomplete and hinting is
what will save textual interfaces; I don't have precise metrics but it really
feels like pimp-slapping tab and ctrl-r all the time saves me a lot of typing.

This project seems to take that idea in a really cool direction.

Makes me want to try it.

------
obilgic
I watched the whole video, and I still have no idea how it would improve my
life compared to using bash...

~~~
gojomo
Try also the 'Older Video' further down the page; it may especially help those
familiar with usual shells/editors.

------
neonkiwi
Backed.

There's some negativity floating around here with regards to the video, but
I'm glad I watched it before reading the comments. The video clearly shows
what Craig has in mind for this tool, and the music gives some character too.
Best of luck with this campaign!

------
patkai
This made me cranky. "What if?" Why on earth would I want to juggle like this?

------
vertex-four
This looks like it brings the work of Native Oberon's TUI[0] to *nixes.
Awesome!

[0]
[http://www.ethoberon.ethz.ch/eve/NOVPC.png](http://www.ethoberon.ethz.ch/eve/NOVPC.png)

------
Shorel
The git navigation actually looks amazing.

------
krmtl
Is it supports SSH and curses applications (e.g. vim)? I didn't see it in the
videos.

~~~
chazu
There's an experimental web interface that's part of the project. I imagine
that an ncurses interface could be built on top of the xiki API in some
fashion, although I don't think that is really a use case that the creator has
envisioned per se.

------
aroman
Reminds me of
[https://github.com/unconed/TermKit](https://github.com/unconed/TermKit)

I really don't want or need this. It's solving a problem I don't have.

------
mcormier
Thanks but I'll stick with fish shell.
[http://fishshell.com/](http://fishshell.com/)

~~~
lechevalierd3on
It looks like it could be a lot more than what fish brings to a regular
terminal. Don't get me wrong I use fish everywhere nowadays but this good be
way more.

~~~
mcormier
Looks like. I have little faith that this guy will be able to implement it
from what I saw.

