
Show HN: Ymacs - Emacs in the browser with Dropbox, GDrive, etc - tagx
http://tageorgiou.github.com/ymacs/
======
ajross
It's not emacs (I guess it's "an emacs"). It's an editor that does syntax
coloring, handles the core emacs keystrokes, and implements the subset of GNU
emacs functionality that the author uses in a routine manner.

Right off the bat, I hit the following speedbumps:

    
    
      + No replace-regexp
      + No set-fill-prefix (or it's unbound)
      + Default fill prefix detection doesn't work like GNU emacs (e.g. no
        way to fill a long paragraph with a prefix of "> " for quoting
        email)
      + No ispell-word (or any spell checker) on C-$
      + C-x b tab doesn't give me the list of buffers I expect
      + No keyboard navigability in file selection dialog!  I hit C-x C-f
        and end up in this weird web 2.0 world where I'm (no joke) prompted to
        "Drag files here".
    

So.. it's cute. But other than the author (or someone else willing to
reimplement the bits of emacs they need) I don't see to whom it's going to
appeal. Serious emacs users aren't the target demographic.

~~~
danielweber
C-k (the most useful command ever) is captured by my browser. Google Chrome.

~~~
slipperyp
In an effort not to totally derail the conversation I guess I'll mention that
nearly every browser is going to have some shortcut keys that would map to
common emacs functions that will get swallowed by the browser.

But what I'm really wondering: what makes you say C-k (kill-line) is the most
useful command ever? This is slightly inconvenient with basic Windows
shortcuts (shift+end ctrl+x, approximately). I tend to think one of the
functions which isn't trivially replicated in other environments is more
useful. Just curious...

~~~
danielweber
_what makes you say C-k (kill-line) is the most useful command ever_

A little bit of a joke, but it's based on a bias that the best thing you can
do to source code is make it smaller. To its ridiculous conclusion wiping out
every line leaves you with a program with no bugs. :)

------
rcfox
Posted 1 month ago: <http://news.ycombinator.com/item?id=4209091>

And 2 years ago: <http://news.ycombinator.com/item?id=1862442>

And 3 years ago: <http://news.ycombinator.com/item?id=962562>

...

~~~
jack-r-abbit
Wait... that first link in your list from a month ago... that was actually
forked to make the one for this thread. They appear to be identical. So if I
fork it, can I post it too like I made it? I don't get it. I'm guessing there
is some reason somewhere that makes this _not_ a rip off? What am I missing?

~~~
rcfox
In fact, it was forked about an hour ago, and the only changes seem to be the
gh-pages branch, and are pretty much summed up by:

    
    
        -    <title>Ymacs by brettcvz</title>
        +    <title>Ymacs by tageorgiou</title>

------
tagx
The core of the editor is YMacs (<http://www.ymacs.org/>).

I just integrated filepicker.io. The source is at
<https://github.com/tageorgiou/ymacs>

------
b0rsuk
I understand the technical challenge, but the Emacs-y way would be to run the
browser inside Emacs. Not the other way around.

------
osener
You might want to use "text/*" as the mimetype argument to filepicker.getFile
to filter out sources like webcam and Instagram.

~~~
theatrus2
I noticed it doesn't choke when you upload a binary to it, but sadly doesn't
have `hexl-mode` to do anything useful with it.

------
anaran
My feedback is targeted at the ymacs demos giving a better "first impression",
which at this point might be the only one allowed for many.

I am taking the time because that's the most emacsy (unintended bun)
experience I've had in a web editor and to me that is a compliment.

I had to "Load its own code!" and read it to jump over these brick walls:

* C-x C-b is undefined

* C-h gives me a chrome://chrome/history/ lesson, but that might be chrome's fault

* M-x sounds the bell (why?) but "that's all she wrote". Neiter ? nor SPC do more than insert themselves in the minibuffer. Reading sources I find M-x switch_to_buffer (C-x b) would work, if only by keyboard (the menu does not allow one to actually pick an entry).

Why not implement C-x C-b? Would it be that hard? Or just let it do what C-x b
does for now?

M-x ? and M-x SPC listing all available commands would be a big win too.

But a commad like M-x switch_to_buffer should not really be presented to an
emacs user, make that M-x switch-to-buffer, even if some internal mapping may
be needed.

This HN article links to <http://tageorgiou.github.com/ymacs/> and [Try Out]
there links to <http://tageorgiou.github.com/ymacs/demo/>

* It seems to have some character encoding issues in the modeline:

ymacs.frames[0].getModelineElement().innerHTML

"-- <b>test.js</b>Â&nbsp;Â&nbsp;49% of 1.35kÂ&nbsp;Â&nbsp;(13,3) "

[Live demo] at <http://www.ymacs.org/> links to <http://www.ymacs.org/demo/>

* Modeline looks good in this one:

ymacs.frames[0].getModelineElement().innerHTML

"-- <b>test.lisp</b> (1,0) "

brettcvz, mishoo, tomelam, keep up the good work, I really like this!

------
liyanchang
Pretty Cool. I hate having to download files from Dropbox just to upload again
when I need to save. I think this might do the trick.

EDIT: I just realized that it's not clear. I do use the client and it works
really well from my computer. It doesn't work very well from a computer lab.

~~~
ori_b
That's why dropbox app has an automatically synced folder. Just edit the files
there, and they'll automatically be uploaded.

That's the entire point of the dropbox model. It's a folder. That syncs
automatically. No crappy upload pages needed.

~~~
liyanchang
Ah. Sorry. I was talking about when I'm working in computer labs.
Unfortunately, I can't download the client. Comment edited.

------
abbot2
M-x doctor: No such command: doctor. You should just call that "yet another
online editor", really.

------
sukuriant
I am sad, there is no M-x tetris...

In seriousness, this is quite a cool attempt. For some reason, using an
international keyboard with the application prevents me from ever getting the
' character to appear. I'm not sure why this is the case.

------
Bootvis
Very nice! I was seriosuly missing something like this, especially for my org-
files. A few times a week I want to add or change something to my todo.org but
I can't because I'm at some corporate computer. At the moment I try to
remember and make my changes when I can, far from ideal.

My plan is to use parenscript to convert the org elisp code to Javascript and
provide some extra functionality such as document export through a webserver
running headless emacs. Any opinions on this idea? Could this be possible with
YMacs?

------
Estragon
Good start. What's the timeline for the elisp interpreter? :-)

~~~
mishoo
See <http://lisperator.net/slip/> ;-)

------
jack-r-abbit
Not working in my browser. When looking at the source I see it probably only
works in FF. But I also noticed you've included "ymacs-mode-markdown.js"
twice.

Edit... ok refreshed the page a few times and it seems to be working now.
Cool.

------
geogra4
Now how about Vim?

~~~
liyanchang
Saw something on HN a couple weeks ago. <http://mit.edu/~georgiou/www/vi/>

------
biomechanica
Wouldn't mind seeing Emacs ported to NaCl. That would be a fun project, I
think.

------
samuel1604
man great but control-w close the browser window not cool!

------
lefnire
mind blown

