Hacker News new | past | comments | ask | show | jobs | submit login
Atom (atom.io)
1475 points by hswolff on Feb 26, 2014 | hide | past | favorite | 641 comments



From "The Zen of Programming":

------

Hearing a disturbance, the master programmer went into the novice's cubicle.

"Curse these personal computers!" cried the novice in anger, "To make them do anything I must use three or even four editing programs. Sometimes I get so confused that I erase entire files. This is truly intolerable!"

The master programmer stared at the novice. "And what would you do to remedy this state of affairs?" he asked.

The novice thought for a moment. "I will design a new editing program," he said, "a program that will replace all these others."

Suddenly the master struck the novice on the side of his head. It was not a heavy blow, but the novice was nonetheless surprised. "What did you do that for?" exclaimed the novice.

"I have no wish to learn another editing program," said the master.

And suddenly the novice was enlightened.


> Sometimes I get so confused that I erase entire files

OT, but just this week my wife did something that really got me thinking about how far computers haven't come in terms of usability.

I heard her say "O crap" from behind her macbook, and out of habit I came to assist.

For some reason unknown to both of us, she had pasted the text of an email into a document called "thesis.docx", and then saved it.

The text was completely unrelated to "thesis.docx", which of course was not backed up.

Now, I love my wife deeply. And she is no fool. On the contrary, she is a graduate student.

Moreover, I completely understand how something like this can happen. We have two small children, and it was the end of the day. It is just too much to expect of the human mind that one should not say something one doesn't mean.

I felt guilty on behalf of my profession that this was the best we had to offer. Microsoft word on a macbook, and your penultimate version of a file is not backed up. It truly is intolerable.

So, while I have had some of my greatest highs using emacs macros, I somehow feel that the brilliant tooling made by developers for developers never quite percolates into userland.


Sometimes I am boiling a stew, and while I am preparing another dish on the side, for some unknown reason I put the raw eggs on the stew instead of the fry pan.

Pans have been there for centuries, and there is nothing preventing me from throwing stuff in the wrong place, nor undo the eggs in the stew. It's so intolerable, and I feel so ashamed and guilty on behalf of all the pan makers.

Not. We are in a field where we can prevent a lot more stuff to happen than in the real world (and the real world is soooo broken...). We should try our best to make the state of usability and fool-proofness advance as much as we can, and surely there must already be something that would help your wife's case. But we should also be more realistic when voicing expectations.


No, no, no. This is why reasoning by analogy can lead you astray. We have enough control over the world of software that the problem described above should not exist. This control does not exist in the real world, but it does in software.


Do we have enough control over software to make it impossible for someone to delete something and make it unrecoverable when they will later realize they should not have done so?


Not impossible, no. But we absolutely have enough control over software to make it highly improbable for someone to accidentally delete something important and make it unrecoverable.


I don't think he's voicing an expectation so much as lamenting a pervasive and realistically solvable, or at the very least approachable problem.


His problem (or his wife's) is solvable, even right now. She could use time machine, dropbox works as well, using a versionning system would also work, she could switch to an editor that supports infinte undos, dozens of other solutions exist.

But all these require preparation, settings and some care. It could get better, even 'magical', but it would be an achievement that should not be taken for granted.

Btw we could make a pan for stew that checks if you are adding eggs to it, but no one would want the tradeoffs IMO.


> "thesis.docx", which of course was not backed up.

Something I find hard to belive from a woman whose husband is reading hacker news.

'thesis' and 'not backed up' are forbidden to appear in the same sentense by "the Universe(tm)". This law is enforced by _always_ deleting the contents of 'thesis'.


> Microsoft word on a macbook, and your penultimate version of a file is not backed up.

From that sentence, I interpreted it as the latest version of the thesis was not backed up, and that she may have lost several days' work.


Vim persistent undo solves this problem:

http://vimdoc.sourceforge.net/htmldoc/undo.html#undo-persist...

...I'm sure Word will catch up eventually.


Emacs autobackups (which are on by default) would have also helped here.


Exactly, and the fact that previous / older editors (and operating systems) have solved this "problem" supports the Zen Master parable.


Not in this case. If you accidentally `:w! thesis.txt`, persistent undo isn't going to help you.


Clipboard manager. Set to record X selections too. That does it for me. Every bit of text I select is copied to clipboard, just below the value currently held there. In this case I'd have the full content of the docx file as a second item in my clipboard manager list with an email as a first one. I set the size of the clipboard items list to 500, just in case.

I couldn't live without some kind of clipboard manager. It was Ditto on Windows and klipper now on Linux. Dunno about Mac OS, but I bet there is something with similar functionality. It adds another layer of protection to Ctrl-Z everywhere and undo-tree-mode in Emacs. As a programmer I deal with text all the time and I need to be able to recover as much as possible if I make a mistake and this (clipboard manager + undo-tree + version control + normal undo) is the most robust system I could find.


Re: OS X clipboard/pasteboard manager.

I've used ClipMenu [1] for years after using Jumpcut [2] as far back as 2003.

[1: http://www.clipmenu.com ] [2: http://jumpcut.sourceforge.net ]


I actually have some scripts which take textual snapshots of all my open non-idle terminal windows every 10 seconds.

This has saved my butt a number of times.


For this purpose I set very large history in tmux and I almost never use terminal outside tmux anyway. The panes and windows in my tmux are very long-lived, but when I decide to close one I need to go through it's history and manually extract interesting/important bits. It's annoying and automating this would be really nice though.


Seems to me that a clipboard manager as a solution is indicative of how this type of a problem comes up in the first place...


Works for me. Across multiple vim sessions. Unless, you mean a new file thesis.txt, in which case the old file is untouched.


Time Machine is perhaps the most elegant, least intrusive backup software ever. And it's free with OS X. I can't recommend it highly enough, especially for someone in your wife's position.


To belabor the obvious: Time Machine saves old versions for you even if you don't have a separate backup disk, subject to available disk space.


I literally just discovered this when using a terminal and navigating to /Volumes and seeing the /Volumes/MobileBackup.

Hopefully I never have to use it, but pretty cool none the less.


VMS file versions solved that problem in the late 70ies. We are not learning anything from out history as a profession.


I'm a loyal unix guy but as a millenial without much actual hands-on experience with VMS I always love to hear anecdotes like that :) The first time I read about it was in Clifford Stoll's Cuckoo's Egg where it seemed as if there was constant competition between UNIX/VMS folks over which was the more sophisticated/elegant operating system - mostly good hearted competition of a more civilized age of course ;) I vividly remember the one encounter I had with it's weird shell where I had to re-configure an application running on an Alpha machine which had a consecutive uptime of something like 12 years...

One of humanity's biggest enemies to progress are "Not invented here" and the cult of youth. It's often better to start with a blank slate ("being ignorant") because amongst other things like simply having a different perspective (worth 100 IQ points ~Alan Key) it helps with actually starting to build something. Eventually though we should still be aware of what we as a collective have learned already.

To be fair I think Github folks should know their history so this project might be one of the exceptions - looking forward to it! <3


How do you differentiate "the cult of youth" from "it is better to start from a blank slate"?

Side note: Neither of the two issues you mentioned are "one of humanity's biggest enemies to progress."


I guess it boils down to respect - for both sides, young and old. Thanks for the compiler error ;)


being ignorant

"Ignorance is Strength" (1984)


Only in the same sense that public-key cryptography in the 1990s solved the problem of secure electronic communication between two parties. Creating the technology is on big hurdle; getting enough people to adopt it so that it's actually useful is sometimes a bigger hurdle.


I wouldn't say "solved", as it's still pretty easy to accidentally overwrite old versions, but it was a step in the right direction. VMS is full of good ideas that never went anywhere.


Netware too, but that was in the eighties.


I like DragonflyBSD. It versions everything by default. (But no one uses DragonflyBSD of course.)


+1 for VMS.... so good, but so proprietary & doomed to extinction... so unfortunate.


Amen brother. Tragic that we haven't even good back to the 80s


Btrfs and ZFS would have helped, too.


It's not her fault. One should be able to undo file system changes. Bell Labs solved this long ago by storing every file version forever http://en.wikipedia.org/wiki/Fossil_(file_system) Storage is cheap


No, storage is not cheap! It may be if you're only counting files like "thesis.docx" that involves directly the user, but in reality we have a lot of programs that do automatic file operations and that would be nothing but storage trashing not to count the performance handicap.


Sure I'm talking about user generated data. Other bits are just cache or temp, easy to recreate.


"Microsoft word on a macbook, and your penultimate version of a file is not backed up."

Your comments makes me think that neither you nor your wife knew about tracking changes in office documents: http://office.microsoft.com/en-us/word-help/track-changes-wh...

But then considering that the unfortunate loss of data happened after an already lengthy sequence of manual actions, I wouldn't be surprised if the "o crap" would come after a longer sequence that involves disabling whatever should have been prevented the unpleasant events. I'm sorry for the loss, but I don't find my profession responsible more than I would find a car designer/engineer responsible for a car accident caused by driver's deficient attention.


Although really software should be idiot friendly and default to not letting you delete stuff by accident. As an aside I've managed to delete my code more than once in a similar manner in PyScripter which makes me feel rather silly but is quite easily done.


As mentioned time machine is a great feature, but doesn't OS X auto save files you're working on with its versions? You might want to double check that it hasn't got past versions saved.


Except that Microsoft Mac software neither follows OS X conventions (e.g. putting Office system files in the user's doc dir) nor implements many of the important features (e.g. leveraging the automatic file versioning introduced three years ago in OS X Lion).


The current version of Office Mac predates Lion, which is probably why it doesn't use Lion features.


The file revision history is - to the best of my knowledge - an OS X API that applications have to use (opt in). I don't think it comes "for free" with an OS upgrade, unless you mean Time Machine.


How exactly can he check it? As a user of another OS, I'm asking to learn how this feature actually works.


It's easy. Right there in the File menu near the Save command is Revert To, which leads to a submenu with Previous Save and Browse All Versions... options. The latter uses the slick Time Machine UI (http://support.apple.com/kb/ht4753).

Except, per my other comment, Microsoft doesn't bother writing Mac software that works like Mac software. It's kind of like running Java desktop software (actually worse)... neither native feel nor integrated with the OS like other Mac apps.


As you say "Microsoft doesn't bother writing" and his girlfriend uses MS Word on OS X if I understood. Can she then use that feature to recover her work after she had done the "Save" from the MS Word or not?


No, she's probably not going to be able to recover her lost work. What OP and others are trying to point out is that OS X has support for saving revisions to documents if application developers (like Microsoft) would just take advantage of it.


What did you do? Was her whole thesis gone??


I would like to recommend http://crashplan.com. It is set and forget online backup that keeps versions!

Inexpensive and truly unlimited storage. Windows, OSX, and Linux too!


It's a daily backup, so no it doesn't keep versions. Nice try crashplan employee...


I believe the default crashplan setting is 15-minutely. It saved me and my from the described situation many times.


You'd need something like ElephantFS whose presmise was precisely this. Modern file systems still don't protect user's data the way they should.

http://shiftleft.com/mirrors/www.hpl.hp.com/personal/Alistai...

Why even give users control of the data? No, that should rest squarely with the file system and ait should never delete things unless it is running out of space.


Even worse, Mac apps are trending towars the "save as you go" model of Google Docs, which has the one advantage of you don't lose your work if an app crashes but if you started editing the wrong document, or make some changes and then change your mind and want to revert back to the last saved version you are tearing your hair out. The latter happens to me much more often.


Assuming the app has implemented the new saving model correctly, it will also keep a history of every version:

File > Revert To > Browse all versions


Indeed - the OS X model fixes (to some extent) the problem in question, not exacerbates it.


As evident from the comments above, one of OS X's biggest weak points is feature discoverability.

I love how OS X stays out of your way, but most regular users never get to take advantage of greater complexity. You have to be in the mindset of one of 'us' (reading every update to Apple's PR) to get a handle on everything OS X can do.


Hardly, it was well advertised when Lion came out.


Exactly. If you got your first Mac post 10.7 (and you're the average user) you've got no idea you have such a feature.

Maybe you find it one day trolling through the menubar. Maybe you don't.


My 6-year old version of Word 2008 has an option to always make a backup of the previous version when saving, which (unfortunately in this case) is off by default.


I'm using dropbox for document backups. Just edit your files inside your dropbox folder and your documents will be versioned.


Same here. As well as Time Machine. Just in case Dropbox ever breaks.


When I started working on my thesis, I immediately set up my entire document directory for it to be in Dropbox. At the time I paid extra for versioning but now I think it'd built into even the basic model. This also saved my friend when she was in writeup and someone stole her Macbook.


Not sure if this will help regarding change tracking in MS Word...

http://office.microsoft.com/en-us/word-help/track-changes-wh...


Why wasn't she using versions?

http://support.apple.com/kb/PH14378


> It is just too much to expect of the human mind that one should not say something one doesn't mean.

Careful, that is quite a slippery slope...


Cmd z?


She probably had closed the file before the "o crap". Undo does no good there.


Then this really isn't a usability issue, if you replace the entire contents of a document with the clipboard, then click or shortcut to save, then click or shortcut to quit the application, that's really a human issue. It's too many steps to be labelled as a usability problem.

⌘-Z should have been adequate.


> "that's really a human issue ... ⌘-Z should have been adequate."

I hope you don't work in usability.

I've made exactly the mistake described, several times. When making small changes to a bunch of files, it's common to go through the whole open-edit-save-close sequence in a few seconds, and if you've got a few things open and someone's talking to you, it's easy to fuck up.


Whether it's a human issue or a software issue it could still be solved by better software.


> In other words, always blame the software.

> I get it, but the convenience of things like ZFS and Time Machine have a cost. It takes time to implement such things and they take resources. And even then a failure is possible.

You need to weigh the development cost of a feature against the cost to the user of not having it times the number of users. It is usually cheaper to make the software do the tricky stuff than to make your users do it.


In other words, always blame the software.

I get it, but the convenience of things like ZFS and Time Machine have a cost. It takes time to implement such things and they take resources. And even then a failure is possible.

E.g. you decide to do some kind of Garbage Collect on a HD, because you lack disk space and you don't want to buy a disk, but you forgot to backup a file you deleted a month ago.


I'd break it into two categories. There's software that expects you to be an expert.

Then there's software that's designed to allow lay-people to get stuff done with the promise that it will hide the nasty things of the world from them.

Microsoft Word really is the perfect example of this. The main use-case it's built around is being a lovely place for a new user to write and print a small document. It captures users from this simple use-case, and then tries to upsell them to large document and multi-user scenarios with madness like mail-merge wizards and sharepoint.

The promise of Microsoft Word is to bring functionality to users while shielding them from the nasty realities of the world. It's reasonable to be vicious about it when it fails to protect the user from themselves.


If the computer remembered every modification of every document, then users would be protected from incidents like this.


What about when they accidently release private information because the information was at some point in the software. I'd rather a single backup system like time machine than every application reinventing the wheel with all the bugs that entails.


Yes, but in that case we would be talking about yet another privacy issue here.


That's why it should be the file system storing backups, not the document itself.

One should also consider a logarithmic decrease in backups: while I'm writing, a backup of the state a few seconds ago is useful, but I don't need every second from weeks ago. Say the system keeps a backup of every few seconds for the last few minutes, every few minutes for the last few hours, every few hours for the last few days, every few days for the last few weeks, every few weeks for the last few months, every few months for the last few years--the odds are then pretty good that I'd be able to revert to a version I find useful, but not requiring an awful lot of versions.

Back of the envelope: 5 versions/minute for 5 minutes = 25 versions; 4 versions/hour for 8 hours = 24 versions; 3 versions/day for seven days = 21 versions; 4 versions/week for four weeks = 16 versions; 1 version/month for 4 years = 48 versions, so a grand total of 134 previous versions of a document, which really isn't that much space, particularly assuming efficient differencing algorithms.


Dropbox!


Still a privacy issue.


I wrote software to handle this a long time ago never got off the ground www.foldertrack.com


Doesn't Word store old data in the .docx, for things like revision diffs and to make saving quicker? Unless the filesize is really small, there might be a way to extract the previous data... Maybe that was only in the old .doc format, though.


ummm.. if you didn't do it then, i suppose it's already too late, but ctrl-z (i guess that's option-z on a mac?)


"Now, I love my wife deeply. And she is no fool. On the contrary, she is a graduate student."

No offense, to you or your wife, but this statement is hilarious for several reasons!


Could that also be interpreted as:

------

Hearing a disturbance, the master programmer went into the novice's cubicle.

"Curse these search engines!" cried the novice in anger, "To find anything I must scroll through three or even four pages of results.

Sometimes I get so confused that I just give up. This is truly intolerable!"

The master programmer stared at the novice. "And what would you do to remedy this state of affairs?" he asked.

The novice thought for a moment. "I will design a new search engine," he said, "a search engine that will replace all these others."

Suddenly the master struck the novice on the side of his head. It was not a heavy blow, but the novice was nonetheless surprised.

"What did you do that for?" exclaimed the novice.

"I have no wish learn another search engine," said the master.

The novice packed his bags, left and went on to create Google, which gives him exactly the results he's looking for.

While his former master was left sifting through multiple pages of results on (insert other search engine here).

One day the master stumbled upon Google and the master was enlightened.


learning the facets, quirks and customisations of a text editor can't really be likened to the 'pick-up and go' model like a search engine.


Google UI is basically the same as the rest. Can't compare learning a professional tool to that of lay infotainment service.


I think the first assertion is simply untrue, and without it the rest is nonsense. You don't need to learn how to use multiple editors to do anything.

I suppose there are some languages/environments that are somewhat tied to certain editors (java and eclipse, C# and visual studio, objective-C and xcode), but that's not what is proposed here. It's a general purpose programmer's editor that anyone can use for anything. Are you really upset that it's being written? Why do you think you'll have to learn it?


I think it's also worth mentioning that Atom, like Sublime, looks straight-forward out of the box. You don't need to learn much to be productive. It doesn't have the learning curve of vim/emacs, but it's more powerful than Sublime/Notepad++/Gedit etc.

Also, I don't think anyone needs more than one general purpose text editor like vim or Sublime or Notepad++, and possibly a full-featured IDE like IntelliJ or Visual Studio. If there's a counter-argument, I'd like to read it.


tbh with you i've used both omnisharp and eclim with vim.

you get full IDE features as well as refactoring inside of vim. for most things you can use vim as a full featured IDE these days.

well for refactoring you might have a few issues on, say, c++ and objective-c

[] http://eclim.org

[] https://github.com/nosami/Omnisharp


The solution for n competing standards is n + 1 competing standards.[0]

[0] https://xkcd.com/927/


If the master thinks that the human race has reached the absolute pinnacle of human/machine interfacing for text editing after just a few short decades of trying then he needs to go away and have a little sit down and a think about where he went wrong in life.


Nah man, you're not enlightened. He's not saying don't build a new editor, just that you had better think long and hard before you decide to foist another learning curve on the world, and act like you're doing it a favor.

Also, https://xkcd.com/927/


Nobody foists a text editor on anybody, they live or die on their merits as a text editor. And besides, where would the world be know without people trying to make things better? The master's wisdom is weak in this case! I strike him on the side of his head! Slap!


It's a fair point, but by this rationale no new DBs or PLs should be made. Most of these die off or become niche, the ones that really become fundamental are few and far between. This idea that we have to drop everything and go "learn" this new thing is bogus. Folks in tech often seem to buy into the hype of some new technology all too easily, riding the wave of excitement. So their shouldn't be any concerns, of "yet another editor”.

BTW, I'm not saying this won't be successful! It looks interesting and I am excited, GitHub does great work, but you keep it in perspective.


somewhate relevent: https://xkcd.com/927/


I love learning new things! If it's better then I am more than happy to learn it, otherwise we'd all still be using EDT...

This "master programmer" need to stop abusing his novices, stop resting on his laurels and get back to some learning.


It's interesting that people keep using the word "better" when it comes to new editors/languages/frameworks/etc, yet as an industry we have very little evidence to proof it.

I've been doing this programming thing since the 80's, and the only thing I've seen that has really made software development better have been better practices.

Maybe we should first review our definition of "better" before we label something with it. Too often it's used as a synonym for "ooh, shiny!".

Having said that, Atom looks nice and shiny.


Nonsense, you didn't even have CVS in the 80's.


Maybe not, but I'd take pass-the-floppy over AccuRev or Perforce any day.

Yeah, git and its kin are really nice, but the expensive version control systems I've been required to use in enterprise settings are awful. So awful that many people actually just email source files back and forth so they don't have to deal with it.

So, version control has made things better in some areas. But enterprise version control feels more like a step back to me. AccuRev has literally stolen entire mornings from me because what should have been a simple two-minute check-in took almost 3 hours to complete and was interactive! Yay!


That's a shame. All the enterprise places I've worked so far have used Subversion (whether officially or not).


Hence the name.


we all have far less time than it would require to learn all of the interesting things. Once you get good with an editor your time is much better spent learning a new data structure, algorithm, language paradigm, etc than learning a new editor.


Thats maybe true for the vims and emacses of the world, but these new editors come with a fancy pants thing called a GUI. These GUI thingys adhere to certain standards and customs that are set by the OS. I do some web development work from time to time and therefore I have multiple browsers installed on my machine. I can switch between them without having to dig through a manual! I have to learn hardly anything!


I don't know how long Emacs has had a GUI, but it's at least 20 years.

I don't remember what the graphical capabilities of GNU Emacs are like, as I only use the command line version, but XEmacs at least also has extensive support for bitmaps graphics in buffers that far exceeds most of these "new editors".


GNU emacs can show bitmap images. I'm on the latest version 24.x and just tried it out, so I'm not sure when it was added.


It's hard to track down when it was introduced, but it looks like there was at least some bitmap support as far back as Emacs 18, which predates the XEmacs split and indicates that at least basic support may date back to 1986.


You aren't using your editor in the sense that most people here are talking about if you don't have to learn anything.


As others have pointed out, Emacs has a GUI. But the fact that you didn't know this might suggest that the GUI part of Emacs isn't integrally linked to the killer features of Emacs.

Learning tools like Emacs is for many a matter of productivity. If you want productivity, you want to streamline your most commonly used actions. Streamlining things in an editor will probably mean to use keybindings, since you're using the keyboard to input text anyway. Then you have to memorize the keybindings (or: your fingers have to), and you have to practice using it to the point that it actually becomes more productive than whatever previous routine you had - you have to fight your old habits.

Building these habits is what takes time. The fact that Emacs has a GUI helps with feedback and discoverability, not that much with building habits. When you have finally built these habits, only then can you know if you are more productive. If you aren't you might have to unlearn a lot of your habits (for example by learning modal text editing).

- Written in my Emacs


I was all ready to be skeptical and everything... but this could actually be amazing.

I currently use Chocolat for code editing, which is beautifully elegant and I love it, but there are 25 little tiny things that I really wish I could fix. I file issues, but the developers rightly have their own priorities. It's closed-source, but even if it were open source, I'm not about to learn how to use XCode and Objective C and figure out how to compile and whatnot.

But if Atom is ultimately just a big collection of straight-up node.js files, and anyone can go in at any time to change a line here or there -- and it's in JavaScript, so it couldn't be easier for programmers in general -- and there's no compilation step or anything -- then it's almost a fundamental paradigm shift for what desktop software could be.

It already makes me dream of a word processor I could hack like that, or a music player. Just by opening up a text editor. It's an inspiring thought.


> and there's no compilation step or anything -- then it's almost a fundamental paradigm shift for what desktop software could be. > It already makes me dream of a word processor I could hack like that, or a music player. Just by opening up a text editor. It's an inspiring thought.

Not to rain on your parade or anything, but you can already do this with Emacs, not to mention that Emacs is free, open source software. Atom is not only not open source but their readme says it won't even be free after the beta.

Emacs has been around for almost 40 years, and because it's FOSS it will be around for at least another 40. Editors like Atom come and go.


Oh what, it's not open source? The little interest I had in this just evaporated. I would definitely be interested in something like Emacs built on modern technologies, but Emacs is already there and quite good. I feel like something like this could be neat, just because far more people know HTML/JS than Elisp, but if it's not open source that kills my enthusiasm for the project.



Checkout lighttable.el

https://github.com/Fuco1/litable


Nice. I was able to read and understand the whole implementation on my phone.

Of course, thanks to Apple, I can't load and eval it, but I will take it for a spin when I get to a machine. :)


Brackets (http://brackets.io/) is another option - it's MIT-licensed, and also written in JavaScript.


True, but it's a question of accessibility.

Far more people can program in JavaScript than Lisp, and far more people use GUI desktop software that follows traditional GUI user-interface paradigms, than do things inside their terminal. (Edit: or terminal-style buffers/frames.)

So that's why my statement was limited to what "desktop software" could be. :) I mean, I use LibreOffice, which is FOSS, but I am never going to touch its code in a million years. The cost-to-benefit ratio is too high. But Atom makes doing that sound almost trivial. That's the paradigm shift.


> That's the paradigm shift.

You can make desktop apps in Python, Ruby, Tcl, hell even PHP for a long time now. No compilation needed.

Whether this works effectively or not comes rests almost entirely on how good their architecture is. "Hackable" doesn't mean anything if the codebase is a coupled mess. Given GH's pedigree, I don't expect that this is the case; which means there will be some ramp-up time learning the various subsystems.

Desktop apps aren't things that you can cram into this week's hipster JS framework.


Redcar is a TextMate compatible editor in Ruby (JRuby).

http://redcareditor.com/

But like all editors, they have to have some clear advantages and a community, or it's not a viable option.


Yes, Redcar is pretty cool! This is an inspiring talk on how to hack on it - even though I'm still mostly using vim/sublime it was pretty eye opening to me, rubies all the way down:

Crafting iOS Dev Tools in Redcar - Delisa Mason (#inspect 2013)

https://vimeo.com/69745309


I don't follow. These hipster JS frameworks have to work well on phones and various inconsistent browsers. Targeting the desktop and one JS environment seems feasible.


Emacs is GUI desktop software. Few people use it in a terminal.

Also, people didn't born knowing Javascript. They learnt it. And one could argue that Lisp is just as easy to learn, if not easier.


I'm sure the emacs GUI runs great on your macbook, but for people who live on remove linux servers day in and day out, trust me they are using emacs in the terminal.


That or they're using tramp to ssh in to the remote machine and edit that way.


Actually it doesn't run great. It's so clunky you might as well just run it in the terminal.


I mostly agree with that although I think it's also kind of irrelevant in a practical sense because many programmers already have to know javascript for their work so you get a lot more people who can contribute right away.

Aside from that -- lisp or javascript as the extension language, I'd love to see a brand-new extensible editor like emacs just to have a shot at changing terminology and some of the APIs. Emacs terminology is a little off-putting because it was invented before the GUIs were widely adopted so it doesn't map that well. I also find some of the APIs a bit weird, but that could just be me.


It's true that a lot of people work with Javascript, but honestly I wouldn't say that they can contribute to anything right away. A lot of these people don't know more than

  $('#element').hide();
In fact, I would wager that there are more potential contributors to Emacs than there are to Atom.


But if someone just wants to customize their text editor, $('#element').hide();, or something not orders of magnitude more complex, would actually be useful.


That's totally exaggerating. Anyone who is that green to code is probably not even thinking extending their editor yet, and any working programmer has picked up more than enough JS in their to be able to write and understand far more than that line.

Plus, Emacs is a ghost town anyway. You're going to run into the problem that there are not bodies willing to use the editor, let alone extend it.


Yeah, it's definitely true that a large percentage of people who "know" javascript have about that much knowledge. But still, if you look at absolute numbers of people who can make a function and write a for loop in JS, it's still going to dwarf the number of people who can loop and write a defun in elisp.


What'd be cool is an editor that had LLVM IR as a low-level extension language. At runtime, it'd JIT your plugin, and go.


Have you seen Light Table? Go check it out!


Good point!


Most emacs users I know alias emacs to emacs-nw, or install emacs-nox.

Myself included (:


Most emacs users I know don't. Myself included.


I have it aliased but for some reason I still add -nw every time I open it. Silly muscle memory.


Yup. Terminals ahoy.


> people didn't born knowing Javascript. They learnt it. And one could argue that Lisp is just as easy to learn

Just about everyone here knows javascript. Almost know one here knows Lisp, make your own conclusions.


You do realize this site was written in Lisp?


Unless the authors of the software behind HN make up a large portion of its comment contributors, I don't see the relevance.


Where did you get that impression from?


* Almost know one here knows Lisp, make your own conclusions.

nor English it seems :)


Still waiting for someone to correct the GP...

"No one is born knowing JS" or "No one was born..."


Looks like timmm isn't a native English speaker, should his command of English be more important than his message?

There are languages where "to be born" is one verb and it makes it reasonable to make the mistake and think that in english it would be the same: "to born".


I apologize if i came off as snarky. I was trying every bit not to. I didn't correct it immediately, but when i saw another user correcting, I added my own correction to his comment.

Btw, English isn't my first language either, so please do not see this as "arrogant English speaker wants everyone to speak his language". In fact, my mother tongue is far far different from english (we dont even have a common script!)


Emacs has pull down menus, cut and paste, CUA bindings, displays graphics, plays sounds...

WTF do you mean by "terminal-style buffers/frames?"


I don't mean to sound hipster or anything but I prefer software with native look-n-feel on the platform I'm using.

I tried Emacs on OS X (proglang on Coursera asks students to use it for editing SML), gave it a couple of hours and switched back to Sublime.

I understand I missed all its glory and power but at least Sublime scrolls like OS X apps scroll, has shortcuts like OS X apps and looks like a OS X app.

But then again, I understand why you might think this is a fool's position. I'm okay with that.


you ain't going to get native look and feel from atom.


Scrolling in WebKit is native, scrolling in Emacs isn't.


so write ruby or python for vim then.

not saying vim doesn't have it shortcomings, but people always forget that a scripting language for random app xyz still means you have to learn it's grammar. just like people who use ruby motion have to painfully learn that in the end while it looks like ruby it's still cocoa.


All programmers end up either learning or rewriting Lisp.


Just because people can program in Javascript doesn't mean they will be able to easily modify the code. Complicated code is complicated in any language, and Javascript in particular allows to write completely incomprehensible code that even pros would have trouble with. In addition, you'd still have to learn all the necessary APIs which might be harder than learning a new language.


Paradigm shift? I don't know, I've been writing desktop software in JavaScript for years now, it has its place but it also has big disadvantages yet, especially with accesibility stuff, which comes free if you use the stuff your OS offers for free.


  Atom is not only not open source but ...
Do you have a source for this? I'd be very disappointed to hear that if it were true.

EDIT: It appears that this isn't true. From a GitHub employee in freenode/##atom:

  <jonrohan> EvanDotPro: it will be open source, and other platforms, when it's out of beta
  <chance> jonrohan: where are you getting that information?
  <jonrohan> chance: i work at github


From Tom Preston-Warner: http://discuss.atom.io/t/why-is-atom-closed-source/82/8

> Atom won't be closed source, but it won't be open source either. It will be somewhere inbetween, making it easy for us to charge for Atom while still making the source available under a restrictive license so you can see how everything works. We haven't finalized exactly how this will work yet. We will have full details ready for the official launch.

Either jonrohan is misinformed, or he's using a rather tortured definition of "open source" - even the Open Source Initiative would disagree with that usage[0].

I must say, I'm a bit disappointed by the fact that Github doesn't seem to be on the same page internally about this; it's a rather important piece of information.

[0]http://opensource.org/definition


> not only open source

That means the opposite of what you thought it did :)


It was

> not only not


> Atom is free during the beta period.

Where does it say it won't be free after the beta period?


Well, one can only assume, based on the wording they use here:

https://github.com/atom/welcome/blob/master/lib/welcome.md

> Atom is free during the beta period.


This reminds me of one of Mitch Hedberg's more famous jokes: "I used to do drugs. I still do, but I used to, too."


How refreshing, a correct usage of "the exception that proves the rule"!


And there goes four hours of my night to wikipedia


One can assume that, but that's not what it says. The statement that the editor is free during beta could mean "we haven't figured out whether to sell it after the beta, sell services around it, or develop integration with our other services and keep it free to enhance our overall value proposition."


Atom won't be closed source, but it won't be open source either. It will be somewhere inbetween, making it easy for us to charge for Atom while still making the source available under a restrictive license so you can see how everything works. We haven't finalized exactly how this will work yet. We will have full details ready for the official launch.

> http://discuss.atom.io/t/why-is-atom-closed-source/82/9


It's funny you say that, because as the only full time-ish developer of Chocolat, I could really use a lot of help!

There's ~600 open issues, my personal todo list alone is several years' worth of work. Too much for one man.

---

People make too much of open vs closed source. The real distinction is individual-lead vs committee-written.

TextMate, Sublime and Vim are good editors. But they are also Allan, Jon and Bram. Writing an editor requires good taste, accumulated experience, and a certain disregard for users' feelings.

You need someone who cares about the editor. Without that, you get a program where everything is wrong, but nobody ever bothers to fix it.

This is however a blessing and a curse. If the author can't financially support themselves, the editor will die. If the author becomes a millionaire, the editor will die. Thankfully, I'm still poor.

---

What are the 25 little things, by the way?


Haha, too much work indeed. :) I'm not going to list all 25 here, but I'd say the biggest three are definitely issues #1157 (this is HUGE, add a pref option please!!), #1369 (please!), and #1451/1417 (constantly crashing).

But overall, it's still just the most beautiful and elegant editor. :) Thanks for it!


Never heard of Chocolat before - but it is a very attractive OS X app!


Have you looked at Adobe Brackets? It's basically that, open-sourced today. Or look at node-webkit if you only want the app framework without the editor. The biggest downside I see right now is HUGE binaries (100+MB) because you're bundling a browser in your exe.


Browsers are 100+MB?


>> and it's in JavaScript, so it couldn't be easier for programmers in general

Because JavaScript is magically easier than any other programming language ever invented.

Even if this were true, it still wouldn't help an expert Objective C programmer with no JS experience hack on Atom.

Your bias is showing.


Adobe has been working on Brackets for a while, and it's essentially the exact same concept.


> But if Atom is ultimately just a big collection of straight-up node.js files, and anyone can go in at any time to change a line here or there -- and it's in JavaScript, so it couldn't be easier for programmers in general -- and there's no compilation step or anything -- then it's almost a fundamental paradigm shift for what desktop software could be.

http://discuss.atom.io/t/atom-is-so-powerful-that-it-blows-m...

> How I felt after that? I felt awesome. I had only installed Atom minutes ago. I didn't even had to think to fix my problem. All the knowledge I needed was already in my head! It was simple as editing a webpage. TL;DR: Atom allowed me to fix one simple problem – that I still encounter in most text editors nowadays – in seconds. What about yours?


You are so on-the-money about Chocolat. I love it except for the things that drive me crazy. I've been trying to love Sublime Text lately. Even though I see the benefits, I see the un-Mac-like-ness of it even more.


It's a benefit if your team uses a mix of Mac/Linux/Windows.


Oh don't get me wrong. The benefits are potentially huge. But it's also frustrating because I have decades of muscle memory built up that doesn't always work with Sublime.


I'm with you. I'm an Emacs user, which ostensibly has a similar design philosophy (open source, with powerful extensibility from a full-blown programming language), but Emacs Lisp has a lot of baggage and is nowhere near as widely used as JavaScript. I also find the Emacs community disjointed and hard to navigate and participate in. Ultimately, assuming that the underlying design decisions of Atom are reasonable, its success will depend on the community that develops (double meaning intended) around it. It could be great.


> Emacs Lisp has a lot of baggage and is nowhere near as widely used as JavaScript

Back in the 90ies, when I started using Emacs, Elisp had a lot of baggage and was nowhere near as widely used as Perl.

I'm still using Emacs.


That is also one of the ideas behind Light Table.


> A hackable text editor for the 21st century

I'll fix: A proprietary (unhackable) text editor that only runs on OS X.

I imagine that web developers will drool over this.


> A proprietary (unhackable) text editor

I developed some packages for HomeSite in the 90s. When HomeSite was integrated into Dreamweaver and development ceased, I realized that I had wasted my time developing HomeSite packages and that I should never again devote my time to extending closed-source software. Emacs has served me well ever since.


And it reports data to Google... http://atom.io/packages/metrics


But in fairness, they've fully listed the data being collected. I'm actually very comfortable with them collecting these metrics (though I'm glad there's a way to turn it off just the same).

- A unique identifier that is generated by computing the SHA-1 of the machine's MAC address. - The screen width and height - The version of Atom being used - The name of each item opened in a pane such as EditorView, SettingsView, and MarkdownPreviewView - The amount of time the current window was open for - The amount of time the current window to took to load - The amount of time the app took to launch


I'm almost comfortable with the choice of metrics, except for:

>> The name of each item opened in a pane such as EditorView, SettingsView, and MarkdownPreviewView <<

Why would they need to know my filenames?


I _think_ they're talking about the actual 'atoms' - that is the editor components. So the data that will be sent to google is 'EditorView is open', not 'EditorView contains these files'.

I might be wrong though.


You're absolutely right. We don't track individual filenames or data.


"If you do not want this information reported, disable this package from the Metrics section of the Settings view (cmd-,)."


Why should I have to opt out of metric gathering in a freaking text editor??


Because they made the program. So it's their decision.

If you want a program that turns this off by default, please feel free to create your own program with this feature disabled.


It's their decision to track their own users by default. It's anyone's decision to criticize them for their decision. That's healthy and much more efficient than for everyone to start creating their own text editors, payment systems, airlines or poultry farms.

I for one am more than fed up with hunting down and keeping up-to-date with settings for tracking "features" in every single piece of software I use.


And it's my decision not to use it. Why would I want a non-free (as in beer and speech) editor which reports data to Google, only works on Mac, and lacks any unique features? I don't understand the hype created on HN about it...


> please feel free to create your own program with this feature disabled.

I could do that very easily, if Atom were FOSS.


FAIL. A text editor with this default is just wrong.


Lots of assumptions here.


Where are you getting this from? I can see all the source at https://github.com/atom. Every repo I checked has the MIT license.


From Tom Preston-Warner himself: http://discuss.atom.io/t/why-is-atom-closed-source/82/8

> Atom won't be closed source, but it won't be open source either. It will be somewhere inbetween, making it easy for us to charge for Atom while still making the source available under a restrictive license so you can see how everything works. We haven't finalized exactly how this will work yet. We will have full details ready for the official launch.

However one tries to soften that language, that translates to a proprietary license of any standard definition of "proprietary"[0]

[0] It actually sounds rather similar to the old proprietary license that Microsoft used to use (not sure if they still do anymore).


Wow, this is worse than I thought.

If the source code is proprietary but GitHub accepts PRs from users, it means that users will be tricked into doing free work for GitHub and have no copyright claim on their work. From the discussion you linked, it seems that many people are happy about this unfortunate situation.


Can you build a fully functional version of Atom just from those repos?

To compare, Apple releases source code for some components, but they definitely don't distribute "/System/Library/Extensions/Dont Steal Mac OS X.kext".


I thought that file was a joke until I checked it and it actually exists. For those (like me) wondering what it does: http://en.wikipedia.org/wiki/Apple%E2%80%93Intel_architectur...


Oh my, "DSMOS has arrived" line (and subsequent freeze) is gonna haunt me for years.


The source of the actual editor isn't public.


From IRC: <EvanDotPro> it will be open source, and other platforms, when it's out of beta


There's real opportunity here for Github and I hope they take it.

Why is the basic workflow of the modern-day programmer split over multiple tools and over multiple systems?

Aspects of Github could be modularised and added to the editor while still keeping the underlying tool simple and this could change our user experience for the better.

Imagine flipping through your pull requests in the text editor and then seeing your friends comments and code reviews appear on top.

Imagine an issue being created on Github and the file(s) referenced instantly glowing.

This opens doors to thinking about the engineering workflow in a new holistic manner.


Why is seeing your friends comments and code reviews in the text editor any better than seeing them in the browser? Are we becoming this lazy? or this busy?


This is pretty shortsighted. It's not the simple case of "what you can already do with two tools" that we should be thinking about. It's that stuff that you can't even imagine was possible until it integrated, in the same place, and with a good user experience.

You'll have information that's right in front of your eyes where before, the tiniest wall of separation was barrier enough to make it inaccessible or out of mind. Things will become the same, instead of just both being in the same place. This is the essence of good UX, and it has nothing to do with this specific case, but it will emerge from simple cases like this. First two things coexist, then they share, then they become one.

For a while, the iPhone was just a phone and a computer. People even said the same exact thing you just did: "why is having a phone and a palm pilot in one device any better than having them separate?" Then they started sharing features, the internet became pervasively accessible. Then everything started sharing data and features. And now we can't imagine them separate, and we have an entirely new class of thing that came out of it that basically enabled a revolution.

Eventually programming could be the same. Programmers probably have the highest tolerance I know of for compartmentalization of tasks and poor interaction design and data visualization: they are extremely intelligent and have the ability to tie things together in their heads and break down tasks and tools ad hoc. But when you don't have to do that, when programming becomes easier and more fluid, things will start happening that simply couldn't before.

We can only dream of the kinds of advancements in our tools that are yet to come.


i see people saying less context switches. but isn't this the exact opposite? it's way more context switches?

isn't this the same as having our mails popup up notifications every so often or your gmail aggregating twitter and Facebook, because people thought it would make them more productive


You're creating a strawman. I can't see why Github would make the mistake you believe they'd make as they don't have the self-interest that Facebook and Twitter have in killing your focus with an onslaught of notifications.

I think you could expect all forms of notification to be hidden by default.

It would actually likely improve your ability to concentrate. You would be able to switch into another mode of a developers workflow without needing to context-switch onto an often focus-distracting browser.

Anyway, my core point was that there are a combination of features that allow the creation of a new holistic programming experience. I am not arguing its correctness and I am not arguing that it would suit everybody. :)


Exactly - making context switches cheaper isn't very helpful if you're doing so at the expense of making context switches more frequent[0].

[0] and easier to do "by accident"


This is a silly argument. You're all assuming this type of integration will be have the UI quality of your dishwasher.

Of course context switches and irrelevant information will be distracting if done poorly. This is a UX challenge—not a reason to abandon the idea.

Having the focus you need during concentrated tasks such as coding, while also enabling the integration of other tasks—such as high-level team context awareness and collaboration—is the key design challenge. Done well, it would be a killer app.

Done poorly, as with anything, it will fail miserably.

Programmers have a poor reputation for UI design prowess, and programmers tools are sadly usually made by programmers, and thus carry the same reputation. Very few amalgam programmer/designers exist to bridge the gap of motivation and ability to design a better toolset. But they do exist.

Let's be optimistic, shall we?


They're not quite the same. Those are push-notifications. Push/pull is orthogonal to what application you use for which purposes, especially if you have a desktop were you get such push notifications thrown at your peripheral vision no matter what application you're in.


Potentially fewer context switches and interruptions? I know for me the browser is a potential landmine of distraction, it might be handy to be able to limit that.


I think somewhere along the way we lost sight what context switching really is. Just because you put a different activity in the same tool doesn't mean there's not a context switch when you move to that activity.

Do you really think there's not a context switch when you change from writing and thinking about your own code to reviewing pull requests and comments?

There may be benefits to integrating extra functionality, but let's not imagine there's no cost to changing your mode of operation just because it's in the same tool.


Minimising context switching is a big part of improving programmer productivity, as I'm sure you're aware. This may not seem like much, but large increases in productivity can be achieved through small increases building up; every little helps.

Plus, it's cool.


I think you confused context switching with app switching. Yes having Github activity in the text editor means less app switching, but you are still context switching; from writing code to reading comment, which is the real productivity killer. Why not just add gmail to that text editor while we're at it and save ourselves some time?


Same reason there exist plugins to integrate Git status & diff in Sublime: it's useful for some of us.


IDEs, while they have fallen out of favor somewhat in the web development community, offer such a "holistic" development experience already - complete with deep integration into GitHub, in some instances.


I think you miss the point.

Being modularised allows the basic user experience to be kept very simple. It does not need to grow into something like an IDE. Hell, according to Packages [0] even tools like find-and-replace have been modularised so I do not think it follows that Github would carelessly decide to create a big ball of mud!

And additionally this tool has removed barriers that previously existed before.

Since it was created by Github they will be able to expose APIs to create features which are currently not possible.

Likewise the UI being implemented with WebKit means that the user interface can tightly represent what a user is used to seeing at different stages of their development process.

You might have read "The Design of Everyday Things" [1] before. There are certain elements which you need to control to create a good user experience: (1) discoverability, (2) feedback, (3) the conceptual model, (4) affordances, (5) signifiers, and (6) mappings. Without ease in changing the UI, and the possibility that Github will have self-interest in exposing extra APIs, it would be a lot more difficult to control for each of these.

It's just an opportunity to try new ideas. I'm not suggesting that this would be preferable to everybody.

[0] http://atom.io/packages

[1] http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...


"Being modularised allows the basic user experience to be kept very simple."

The basic user experience does not exist; or rather it is trivially basic in any text editor. What's important is the advanced user experience, and it simply doesn't exist yet. For instance, Python support amounts to syntax highlighting; nothing compared to python-mode and elpy in Emacs, or PyDev in Eclipse.

There's also a large gap between the promise of "Full-featured, right out of the box" and offering fundamental functionality like settings-view and command-palette as extension packages.

What Atom has to offer, currently, is a bloated abuse of web technology with little appeal beyond Javascript hipsters.

This project has years of hard work ahead to begin competing with Emacs and Vim in some niches; hard work that isn't going to happen because it's proprietary software, and contributors will prefer the open source text editors.


> Since it was created by Github they will be able to expose APIs to create features which are currently not possible.

You're probably right, but even if this is not the case, they will at least hopefully have a better understanding of how to use the APIs well, given how often they work on and with their own APIs.


> There's real opportunity here for Github and I hope they take it.

I think the philosophy here is that there is a real opportunity and they hope that you take it (or someone in the community). They're creating a highly-hackable editor and their API allows access to everything you've asked for.

They're going to build a ton of add-ons too, but they want the community to build a lot of this stuff. The most creative product team in the world can't match millions of developers solving their own problems, so rather than try to build the perfect product for everyone, they're building the most flexible product for everyone to mold into what they need.


My hope is that the core of Atom isn't so bloated with GitHub integration and that integration is optionally available through the plugin management system. I'm of the type who prefers to use the text editor just for code and other tools for source control and project management.


>> that integration is optionally available through the plugin management system

Given that even find-and-replace [0] exists as a module I think you have nothing to worry about.

[0] http://atom.io/packages/find-and-replace


> Aspects of Github could be modularised and added to the editor while still keeping the underlying tool simple and this could change our user experience for the better.

This is essentially what we've done with some Rational tools (such as Team Concert) using by defining a set of loose-coupled RESTful capabilities for tool-based integrated, called OSLC http://open-services.net It has the nice quality, if adopted, as being able to link to you own issue tracker hosted elsewhere (bugzilla, jira, etc), CI, end-user need management, etc.

Atom has some limitations, I could see where OSLC and ActivityStreams would be a bit more interesting.


> Why is the basic workflow of the modern-day programmer split over multiple tools and over multiple systems?

I disagree that this is a problem.

Replace "programmer" with any other profession, and you'll see it's universally silly.


The more I see new editors floating around, the more I'm sticking to VIm. I am getting old, or it's a just a survival instinct.

On the other hand, the more the better, but we have already too many editors around.


I've sworn by SublimeText until now. And Atom is getting released during a time when I'm increasingly learning to love console-only computing. I envision a day when I can travel the world with a cheap laptop/chromebook and do all my coding remotely via SSH.. and Vim is very much at the core of that dream.

Now I just have to master it.


Try using the Vim plugin (Vintage or the newer one, Vintageous) with Sublime. That way, you can gradually get used to modal editing.

I worked like that for 8-10 months then made the switch to Vim. I've gotten so used to modal editing (not to mention window management etc.) by then, that I didn't even skip a beat.


This was my strategy when I switched from TextMate to Sublime a few years ago, the plan being to make the full switch to vim in a few months.

Sublime never gave me a reason to go all the way, though :p


I was like that while using ST2. But then better plugins started appearing for ST3 (the aforementioned Vintageous being one of them) so I switched to ST3.

But it crashed constantly; also, by that time the Vim emulation was really hurting me. The dot command was anemic, tabs were interfering with splits etc.

All in all, Vim was calling me, haha.


I've never though about that! But it sounds great! A question though... I don't know how much though you actually have put into this, but I'm curious. What do you consider a cheap computer?

I do all my coding (though it mainly web, which arguably might need less resources than other languages) in a medium tier pc. It's a lenovo B590 with an i3, 8GB RAM. It's not exceedingly fast but with two windows of chrome, 20 tabs each, 5 or 6 instances of PHPStorm open, and all the usual programs (email clients, dropbox, chats, etc) it still feels quite snappy.

The cost here in Austria was around 650€ or so in total, maybe less (I'm not quite sure now because I upgraded it little by little).

My question is if your plans are set around a dirt cheap machine that you "wouldn't care at all" if it gets stolen, lost or broken... Or something more in the lower middle class where you'd have to be careful not to lose one per month, but you could still run most of the stuff you'd actually need for local development.

This question arises mainly for my concern is greater about not having a working reasonable internet connectivity hence making it difficult to work over ssh, rather than the laptop getting stolen or broken.


> two windows of chrome, 20 tabs each, 5 or 6 instances of PHPStorm open

Jesus Christ, that sounds excessive.

Vim can be run well off of a $35 Raspberry Pie if that means anything to you. That machine has 512 MB of RAM. Basically every laptop will be able to handle it just fine.


Theoretically yes, practically it will be slow, but it's no the CPU/RAM it's the SD card (poor I/O speed) that slows down VIM on embedded devices. You have to disable swapping, you could load your current working dir to RAM and them write a script to save the data elsewhere but that's dangerous for production.

So the best device to run vim IMHO it's still a top-notch SSD-based laptop. A chromebook (intel-based to avoid other sort of issues) would be a better bet.


Yep, works just fine on my $200 Acer chromebook.


Don't dream it - be it.

I work this way most of the time now, regardless of which machine I am currently using: http://blog.schwuk.com/2014/01/15/chromebook-plus-digitaloce...


Here's a really interesting post about that: http://yieldthought.com/post/12239282034/swapped-my-macbook-...


https://github.com/fatih/subvim - unfortunately "Linux version is on the todo list, I'll work on it asap"


I do that currently, but using the local graphical editor. I just mount the ssh path to my local FS using Expandrive. It's not free but I can recommend it.


To be fair, an editor built on open web technologies could also be at the core of a dream to travel the world with a Chromebook.


If vim works great for you, then rock on! We can't have too many editors, though. Bad ones will fail to gain traction, and it's always good to get new ideas and modern techniques out there.


I am very excited about this, I love the Github team and this looks like a great tool.

My only question is -- why should I switch to this from Sublime Text? Are there specific use cases it handles better out of the box, or is it more of a modular base that will be expected to grow and outfeature ST2/3's seasoned plugin economy? I am very happy with Sublime Text now, but I would be willing to switch if either it gained a lot of traction, or could do stuff that I couldn't do with Sublime.


In practice, the ST3 API is extremely limiting and poorly implemented. The docs are both lacking and dated (read incorrect). It is trivial to crash ST3 by making the incorrect sequence of correct API calls. It is also common to resort to polling the editor to make up for other deficiencies. The API also only allows for extremely limited UI choices forcing highly unintuitive interfaces on end users. The ST3 runtime also features such gems as not shipping the ssl module on linux (while ST2 stripped out even more stuff).

I also expect NPM to be much better in practice than the sublime package manager which frequently ships broken code. JS is a better choice than python for async code which will make writing plugins easier.

Furthermore, ST is 3 people who largely ignore all feedback from the community regarding bugs and features. It won't be hard to out compete ST in the long run.


I don't know if I'd call it extremely limiting… there are some places I'd like to see more accessibility. However, I've built some pretty extensive stuff with it.

I would love to see ssl compiled in - I believe the reason Jon currently doesn't is that it would require building on at least 6 different machines to cover 0.9.8 and 1.0.0 (libssl.so.10 and libssl.so.1.0.0) for x86/x64 plus a customized version of ssl.py.


where on earth would a professional software developer find SIX different machines to run builds on??


Indeed. I tried to implement a fast project switcher plugin at one point; ie., a plugin to quickly switch to another window by autocompleting its project name, like super+P (instead of having to cycle windows or use the window menu, both of which are poor UIs when you have anything more than two windows open). But the API doesn't support focusing windows. You can switch focus to a different buffer in an arbitrary window, but it won't make the window itself active. I reported the limitation in the forums. Never got a response. Didn't surprise me; I have reported a bunch of other problems, hardly any of which received Jon Skinner's attention.


I've been using ST2 a lot recently and while I really like it, feature wise, I've had horrible issues with documentation. The big issue is that it doesn't seem to meaningfully exist, especially if you're looking to quickly start modifying things and creating new functionality. Maybe I missed the boat on it somewhere, but it's a nightmare to find anything out about it that isn't pretty simple. I've ended up doing a lot of digging through the keybindings, experimenting with random keywords, and reading other peoples code to get things to work. While that in and of itself is a learning experience (and there's something to be said about reading other code), it's hard to rftm when there's not really an m.

I guess it may be that my google-fu is just sucking lately, but the docs situation seems bad after a few weeks of using it. If I'm wrong and anyone has any suggestions, let me know and I'd really like to check them out.


This is dead accurate. I'm a huge fan of Sublime, but their API/documentation is an atrocity. As much as I love my current Sublime setup, if there were an editor with a well documented API for writing custom plugins I would switch in an instant.


Check out http://atom.io/docs/api/v0.60.0/api/. I've played around a bit in the beta. Debugging with the webkit inspector is nice.


What do you mean polling the editor? Are there any examples of plugins that do that?


I am a co-founder of floobits- https://floobits.com/about. We build support for real time collaboration into existing editors. I chiefly work on our editor integrations.

In terms of ease of development, the order goes like this: IntelliJ ~ Emacs > Sublime ~ Ace >> Vim. In terms of community and support, the former ordering is also true.

POLLING:

Here we are trying to get the Window, from the Sublime API. Sometimes it doesn't exist (even when windows are open). There is no reliable API to tell us when new ones are made or when old ones go away. Presumably, post_window_command (http://www.sublimetext.com/docs/3/api_reference.html#sublime...) would fire off with a close command, but this function has never worked.

https://github.com/Floobits/floobits-sublime/blob/master/flo...

Here is another quick hack polling the editor to know when its safe to call the sublime API: https://github.com/Floobits/floobits-sublime/blob/master/flo...

Here is a yet anther example needed for functionality and using callbacks to keep sublime from crashing: https://github.com/Floobits/floobits-sublime/blob/master/flo...

Here is another example of pure craziness forced on us by ST3. We need to patch Views, but ignore our own patches (locally) so we don't form an echo loop. We also need to move the cursor so it doesn't jump. Sublime deals with these changes so poorly, we are forced to jump through hoops. In contrast- emacs/vim/intellij are basically fine just dumping on the entire buffer.

https://github.com/Floobits/floobits-sublime/blob/master/flo...


I believe the main benefit is that it is much easier to customize/change/tweak.


I don't see a reason to take that as a given. This uses node, ST uses python. Sublime plugins have a huge amount of power and python is certainly not terrible to work in.


I've been playing with it for a few minutes now, and it's definitely the case that it's easier to tweak. Not because of the underlying language, but because they expose so much of what's available through a GUI.

I'm blown away by how cool this is. I'm just really hoping for good Vim keybindings and I will pay good money for this once it's out of beta.


A good VIM keybinding plugin is a must for me as well. The one available for LightTable, for instance, simply wasn't sufficient IMO. I can't specifically remember what it lacked, but it was enough to throw me off.

Vintage mode in ST2/3 isn't perfect, but it's pretty solid.

Atom looks interesting. I really look forward to trying it out.


Agreed. Nothing beats evil-mode in Emacs, as far as I'm concerned. That's a model for other vim emulation layers to follow IMO.


Don't hear as many folks talking about emacs in evil mode. I tried that out for a bit, and I'm not really sure why I didn't stick with it. I used it a few months. I always liked the modal nature of vim and the operator/motion sequences, but I'm a fan of lisp/emacs and remember enjoying how emacs was put together more, from a modification standpoint (I don't remember any of it now)

I'll have to try that out again


Yeah, Vintage mode was okay. I liked the Vintageous plugin a bit better but even that left me wishing for Vim some of the time (more time to adapt might've helped).

Other than that, it seems like an incredibly well-designed editor. Really looking forward to seeing what happens to it now that it's out in the open.


You may have found it already, but there is: https://github.com/atom/vim-mode


Yup, saw it and looking forward to trying it (haven't yet). But just reading through the description made it clear it wasn't quite ready yet.


written in Coffeescript? Oh God how did we get to this...poor old Vim...


Lots of work to be done in the vim department: https://github.com/atom/vim-mode


You've been playing with it? How did you get your hands on a copy?


I signed up for an invite less than 1 min after I saw the first mention of it on twitter (https://twitter.com/defunkt/status/438789450147979264) and received the invite maybe 15 minutes or so after that.

I was given 3 invites, I gave away 2 but I'll give the third to the first person to email me. (EDIT: gave away the last one)

Doesn't seem like they're keeping too tight of a lid on it, but I guess we'll see. It seems like it can be freely passed around; I think they're just trying to gauge interest since it won't be free after the beta period.


It's also open source, so maybe we'll see some creative hacking to the core.


Look downthread, the core is not open source.


Ugh. :(


This appears to be free. ST is free but makes me feel bad about not paying for it every few saves.


Only for now https://github.com/atom/welcome/blob/master/lib/welcome.md

    Atom is free during the beta period.


I'm guessing they might include this as a feature with private repositories.


That's because ST is not free.


I like sublime, but my primary computer has an ARM processor and there is no sublime port. The sublime developers have stated that they don't have the bandwidth to handle an ARM port, and that's fair. But I find it difficult to justify paying for a license, when I can only use the editor ~25% of the time. An editor that is sublime-like and works everywhere would be awesome. I can't tell if atom has this, but a hosted version would also be cool, allowing users to hop on the service and do some quick work when on unfamiliar machines.


'Primary computer is ARM' - and you are a developer? I'm genuinely curious about your setup & work.


I do fair amount of work on my Chromebook, granted I work mostly with Rails apps, so I can just connect to my server and do my stuff over SSH


Chromebook?


Yup, the Samsung model. Use it for most of my work. I've got an old clunker that is x86, but that thing is showing it's age so only use it when it's absolutely necessary (when there is no ARM port for an application i need, for example). The battery life and weight/size of the chromebook are really awesome. Using crouton to run an OS is pretty painless, although you do run into a few bugs every now and then. Also, the hard drive needs to be supplemented with and SD card. But for the most part, works as good as a MacBook Air for a quarter of the price.


Metrics is an interesting package. It reports usage stats to Google Analytics, referenced by a hash of the machine's MAC address:

http://atom.io/packages/metrics


Good catch. I really shouldn't have any more of a problem with a desktop app tracking me than I do a web app but for some reason I do. I guess because I can always use Disconnect in the browser and I can't with Atom. I guess the fact that it is open about it is a positive thing, though.


It sounds like you can disable Metrics in the settings.


Some apps ask on install if you agree to share usage data. I can't say how Atom handles it, but it sounds like you're in unless you modify the config.

BTW, I'm less concerned and more just surprised to see Google Analytics used like this. I guess it really is the blurring of the lines between desktop and browser-based apps.

Maybe this GA usage is not unique, but it's new to me.


> it sounds like you're in unless you modify the config.

You are, though it's mentioned on the very first screen that pops up when you open the app: https://github.com/atom/welcome/blob/master/lib/welcome.md


I think that's fair for a beta app where they really need the data to tighten things up. It would be nice if metrics became opt-in post-beta, though.


It's unique, and extremely sketchy to be pushing desktop data to Google, without prior explicit user approval.


You can.


Why should I care about a Google key-logger with a bundled text editor? Also, if github were a real player, they would do their own user tracking rather than giving Google their data.


To help us improve the editor, Atom sends usage information to Google Analytics. See [atom/metrics](https://github.com/atom/metrics) for details.

More data going to Google without opting in first? Bummer.


    echo '
    127.0.0.1 ssl.google-analytics.com
    127.0.0.1 www.google-analytics.com
    127.0.0.1 google-analytics.com' >> /etc/hosts


and remove it whenever i want to access GA !?


Why are you using GA if you hate GA?


I wanna track stats of my websites; not be tracked by the code editor.


Don't be a hypocrite. Tracking is tracking is tracking and it's as wrong when you do it as it is for anybody else. Show your users some respect and value their privacy.


From the page you link to: If you do not want this information reported, disable this package from the Metrics section of the Settings view (cmd-,).


I suppose that's why skennedy writes "without opting in first". What you describe is called "opt out", it's the opposite of opt in.


I know it's a stretch, but technically, you are opting in by downloading and running the program, and therefor accepting some sort of privacy policy or ToS.


See, I never get the tinfoil hat crowd.

Are any of us so self-important, that we think our usage stats for a text editor are some kind of top-secret data?

I mean, come on - it's a text editor - I edit my scratchpad and my coding projects on it.

If any of the stuff I had was that top-secret, I'd be doing it in a digital clean-room, with an airgap. And I'd actually have top-secret clearance.

How many of us here actually have top secret clearance? I'd bet very few...lol. And I doubt they'd be posting here, or admit it.

My list of text files I have open is quite frankly, is not that interesting. I don't really care if Google wants to mine it. Or if Github finds out I edit a document called "Lolcat images" fifteen times a day. I seriously doubt any Githubber is going to be sitting there, pouring through logs looking for salacious information about the documents I edit...


Some people with lives "not that interesting" don't want to give up their privacy. Some of us even understand that there is no such thing as "anonymous statistics".

It's not about a big government spying conspiracy. It's about basic privacy and not giving out data about yourself that you don't want to give out.

There are also enormous trust implications.


Hmm - but let's take your idea and think it through to it's completion.

It's fine to say, oh but the privacy! But that in itself isn't an argument. It's just an appeal to emotion, with no facts.

What do you think will happen if Github has usage data on how you use their text editor?

Or what do you think will happen if Google knows what websites you search for?

These aren't rhetorical questions - I'm actually curious what scenarios people actually think will play out.

I find it unlikely that Google/Github would publicly publish that information on their websites. I also find it unlikely that an individual person would ever view your data.

What other scenarios do you believe will happen?

Now, if the government were involved, that's a completely different kettle of fish.


I don't think you honestly want to know "what scenarios people actually think will play out" and that you question this way solely for the sake of argument. I think you have your mind made up and would rather snark at people that have an opposing opinion.

That being said, it's no stretch to understand that some people just don't want to volunteer personal information especially originating from software.

There are enormous trust implications with any sort of software that phones home for any reason. And if the software source code isn't publicly auditable it can be impossible to actually verify what information is being sent from your machine. I personally don't think it's possible to actually trust closed source software. I don't care that it's socially normal to ignore your personal computing privacy. I care about mine.


Well, no - you assuming it's rhetorical when I clearly stated it's not is snarky....

As I said, there were two scenarios that I outlined which were unlikely - Google/Github posting my text editor usage publicly on their website, linked to my name, and employees of those companies individually trawling through.

The scenario of them mining for trends in the data, in order to improve the software, I'm perfectly fine with.

The scenario of the government being involved - I agree that's bad - however, we haven't seen any indications that is true for the wide public.

Can you actually come up with any other scenarios that are both 1. probably and 2. worrying?


You don't understand, it's not about "probably" it's about absolute. Just because a 3rd party probably won't do anything that could harm me doesn't mean that I should trust them for any reason. This is one of the main points of the free in free software.

It's not about tin-foil hats or being uptight, it's about my-personal-data-privacy and network-user-best-privacy-practices.

At this point, you either don't get it, or you don't think I should have the right to absolute data privacy if and purely because I want it.


Are you suggesting that it's OK for a private company to collect any data they wish? Do you feel this collection must be disclosed to be proper, or is it OK to just do it? Would "OK" data collection include keyboard logging, password and account info collection, video (camera) and audio collection?

If you do draw a line somewhere -- anywhere, really -- then I'd suggest you're just like everyone else who thinks that privacy is a right and it can be violated. You just draw the line in a different place.

If you really do think that any kind of data collection whatsoever is fine, then I'd just say I don't think many people would feel comfortable with that, not even serious law-and-order types. You're entitled to give away your own rights, but not mine.


Lol, strawman argument much?

This is Github collecting usage metrics for their text editor. It should be fairly obvious to any programmer why they're collecting this information - it's to improve the product (which they will probably then sell).

The other thing is, Github is doing this in aggregate, and de-personalised.

But can you think of a single reason why a company like Github would want to collect, as you say, my password information, or webcam shots of me?

Apart from the stupid amount of bandwidth and storage they'd need to transmit and store webcam footage from all their users - what exactly could they gain from this?

What's the business case? How exactly would it make more people pony up money for Github subscription?

Since that's sort of their goal - to make money.

People seem to think there's some grand Illumati global conspiracy going on. There really isn't.

It's actually a lot simpler - this is capitalism, and companies exist to make money (within the bounds of the law).

If it makes them money, they'll probably do it.

If it doesn't, and it's "evil" they won't just do it for kicks of being evil. There needs to be a business case.

Somebody has to justify to their manager, who will then justify to their manager, why something will add value. Surely you've experienced this?

Now, I draw the line at the law, really - so if companies are fraudulently charging things to my credit card, or threatening to shoot me if I don't buy their product - yeah, that's illegal and I don't like that.

But if they're operating within the bounds of the law, or even if they're just being annoying and shoving ads in my face, I'll either put up with it, to use the service, or just use a different service.

As I said in a parent comment - the government is a completely different kettle of fish. However, companies are pretty easy to see through - their motives are, at least on a general level, pretty well defined.


"It should be fairly obvious to any programmer why they're collecting this information" - It's also fairly obvious to any programmer how this can be abused.

"The other thing is, Github is doing this in aggregate, and de-personalised." - THEY SAY.

"What's the business case? How exactly would it make more people pony up money for Github subscription?" - Companies can and do use any information gained about you to build a profile about you. They use this profile to do things like target you ads as well as sell your profile to other companies.

"People seem to think there's some grand Illumati global conspiracy going on." - No we don't, this is about basic privacy best practices.

"If it makes them money, they'll probably do it." - Exactly.

"There needs to be a business case." - There is always a business case. "Business Case" is an abstract concept.

"Now, I draw the line at the law" - The law is an enormous grey area. Essentially you haven't drawn a line. What you've argued is against identity theft and violent threats, not privacy protection.

"But if they're operating within the bounds of the law" - In a democratic society, these things are for us - the society - to decide and change. If you don't agree with the bounds of the law then it is your duty to act accordingly. Arguments like, "as long as it's not breaking the law" have very little use in a democracy.

"government is a completely different kettle of fish" - The government can secretly subpoena these companies for any information.

"companies are pretty easy to see through" - That makes no sense. I get what you're saying, they're trying to make money. There is no one size fits all strategy for making money and businesses do what some people consider "the wrong thing" all the time in effort to just make money.

-----------------------------------------------

People here are concerned about basic privacy best practices, not companies making money or governments spying. No one here is worried about some grand conspiracy. There is absolutely nothing wrong with not wanting software that is running on your own personal machine to send statistics about you to a third party whether they are purported to be anonymous or not. It's unfortunate that the societal norm is to turn a blind eye to these basic best practices, but it doesn't mean that those of us that still respect them should too.

The concept is this: Trusting closed source software is not something I want to do.

Not: Github is going to fuck me in the ass if I let them see my usage statistics.


> It's fine to say, oh but the privacy! But that in itself isn't an argument. It's just an appeal to emotion, with no facts.

How about: I don't like to be watched. That's a fact, though I'm sure you'll dismiss it as an appeal to emotion.


Do you actually think somebody at Github/Google is individually watching you?

As individual data points, I doubt we're that interesting.

It's like NetFlix knowing what movies I watch.

I doubt any single NetFlix employee could give two cents that Victor in Australia likes watching Once Upon A Time. (Awesome show, btw).

However, if I watch Once Upon A Time, and I also watch XYZ, and then other people do the same, maybe they get to improve their algorithm. Woot to them.

Maybe Github want to know what features get used. Or what performance issues people are experiencing.

Maybe it's definitions, but I don't consider this watching - they want to know what we do as an aggregate, but it's not like there's a little imp beside me watching me as I type.

(Although I get how some people might feel that way, if it's just a black box to them).


Also, you do realize that no one is worried about whether "somebody at Github/Google is individually watching you." Unless of course they have an ex-lover at Github/Google.

These organizations, and those capable of secretly subpoenaing them, have software and very fast computers that do the watching. And it's not watching, it's profile building.

I'm not saying that this editor's phoning home of usage statistics is resulting in you being on the no-fly list, but you're argument is missing the point.


Well, let's take your argument, and think it through to it's completion.

What do you think they will do when they have built a profile of you?

Actually, I don't think it's even a huge secret that companies have profiles of customers/users.

Google has a profile of you - and they build targeted ads. I don't see that as particularly evil - Gmail is ad-supported, and I'd rather those ads were relevant to me, rather than endless adds for Cialis (I have no idea what that even is), or for formal dresses or hair extensions.

Github probably has a profile of me - they use it to recommend repos they think I'll be interested in, and keep me coming back to the site.

Microsoft undoubtedly has a profile of me, Yahoo has a profile of me.

Even my supermarket, if I bothered to sign up to their rewards scheme, would have a profile of me.

My credit card company has a profile of me.

All of this is public knowledge - in fact, I think it's better that this stuff is out there, companies acknowledge it and people are aware of it.

Anyhow - to the point - what will happen when these companies, who sell products and services, have profiles of you?

To me - the likely outcome is - they will try to target you better, and get you to buy more products/services.

Can you think of any other likely scenarios?


Thank you, you expressed my sentiments on this issue. :)


I just don't understand why people downvote you. It's quite stupid to downvote someone who is merely pointing out facts.

Google analytic is everywhere. If you don't want Github to track you, then don't use it. So if people fear Google, then should Github do the tracking on its own? Then all the sudden Github is not evil anymore. But look: github has your repository, your code. If you have a private repo, github still owns the source code in their data store. So in the end, privacy on Github? Minimal.

And you know what? Github itself has been using Google analytic for years. And now we are complaining about Google collecting data?

If you care about privacy, you shouldn't even be using Github. If you care about your privacy, you should never give up your true IP, your true identity on the Internet.


> Google analytic is everywhere. If you don't want Github to track you, then don't use it. So if people fear Google, then should Github do the tracking on its own? Then all the sudden Github is not evil anymore.

First, it is not "evil", it's just an invasion of privacy. Yes, if GitHub did their own tracking I wouldn't have a problem with it. What I don't want is one company that knows everything I do online and that's why I have a problem with GA. That GitHub tracks my activity on GitHub is completely acceptable.

> And you know what? Github itself has been using Google analytic for years. And now we are complaining about Google collecting data?

I can block GA in my browser, so this doesn't concern me. Using privacy invading tracking scripts all you want, I'll just block them. Can't really do the same in a desktop text editor.


So it's either all or nothing? It's possible to concede some privacy in some aspects of work/life while trying to retain it in another. Even though you have a Github account doesn't mean that all your code is on Github. You might not have remotely close to all the work you do in an editor on Github, at least if you're the kind of person who's more comfortable in your favorite editor than in a word-processor. People have been power users of editors for decades without needing the cloud or a remote, third party service in order to use them.


I was addressing the reaction. Github has been using GA for years and AFAIK there is no way to opt out via Github account settings. Atom is not something you use on Github; it's a desktop application. If you install a browser, you have the option to NOT send data to the browser vendor, but most people choose to use the default settings. I don't see why we have to think auto opt-in is bad or a bummer. Github even makes it explicit that you can disable GA (or whatever metric software they are using in Atom) in Atom and atom's opt out option is 100x better than Google Plus integration.


Obviously your life is more interesting than you think given that so many people eagerly want to track it.


Err, did you just agree with me? Lol.

My premise is that my life isn't that interesting, and if Github wants to track how I use their product, then sure.

Heck, if they send me a survey, and I can be bothered, I'd probably even fill it in with - this is how I use your editor, this is how you can improve it (in my opinion).

If they can just collect that information for free, with no effort on my part, sure.


...

No? I don't see how what I said agrees with you in any way.


Hmm, re-reading your earlier comment again, it actually doesn't seem to make sense after all...

Who wants to eagerly track my life? I'm confused what you mean here.

Is GitHub meant to be "eagerly" tracking my life? As far as I'm aware, and what I stated was - they seem to be mining for usage data.

It's the same way that www.github.com has GA enabled, to see what pages people go to.

Is my life more interesting that I think? =)

That would be pretty cool, but as far as I'm aware, I'm not some super-special VIP...haha.


No mention of supported platforms, but the documentation refers to keyboard shortcuts like "cmd-shift-P". This isn't Mac-only, is it?


Of course it's crossplatform. It works on OSX Mavericks and Snow Leapard!


Currently only OSX support, win32 is being worked on, I imagine cross platform will be achieved shortly.


OS X and win32 does not equal cross platform.


It shouldn't take long given that it's developed in JavaScript.


Just like how a Java application works on all platforms!


Hahah, fair point! It's different and you know it ;)


I've seen reference to win32 in the settings.


No, just normal developer monoculturalism. Same as showing only Mac screenshots that is common, or showing your website inside a Macbook, etc.


The most common cause of people showing websites inside a Macbook is that the graphic designer is using a Mac and Apple provides some pretty nice high resolution tiffs of all its products.


To be fair, would most people know what super-shift-P means?

That said, it would be fairly simple to have a variable for super that resolves to ctrl/cmd on other platforms, the same way that most download pages nowadays infer your platform and show you the binary you most likely want.


If you're writing software, you know what the super key is.


I... I do?


It's the one you put the tux or beastie sticker on.


I've always wanted to show mockups in alternate non mac devices, but they tend to be ugly.


Are they? Really? Apple made you think that they are ugly, while not.


I just got an email inviting me to download the beta. The only download link in there is a button labelled "Download For Mac".


Can you share the file ?


Argh, I want an invite! =)

Any tricks for getting one?


trick #1 is to put some email address in your profile!


me too – I think my email address is there


An invite would be nice, if anyone is willing.


It's built on node-webkit and chromium, which technically works on Windows, OSX and Linux. Do you seriously think they would make an OSX only editor when there's already so many that work on all platforms?


The download is only available for Mac today, but we are working on the Linux and Windows builds.


EAGERLY awaiting that Windows build. And if I can't get a Windows build, I'm going to go out and buy a Macbook Pro just to use this IDE.


Why do you choose to use Windows today?


Cheaper hardware, Steam (and other games in general), testing on the platform used by a majority of our users, and more customization available than OS X, for starters.


“testing on the platform used by a majority of our users”

This.


I think that's also why patio11 doesn't use a Mac, If If Guess Correctly.


Why would you not


Because I'm a gamer.


gotcha, cool


dat troll


purposefully tried to say it in a way that wouldn't seem like I was trolling. Alas, this comment came up anyway.


Any chance for ChromeOS support?


It's most likely not possible until there's a "hosted atom" you connect to with your browser. ChromeOS is /just/ a web browser and won't run node, which Atom uses to do its processing.


It will depend on which node features/packages are essential, but it could probably be hacked together (possibly entirely using Atom's modular design, e.g. replace the standard file IO parts with browser-friendly ones like LocalStorage and the HTML5 File API).

Also: https://github.com/substack/node-browserify


ChromeOS (rather, Chromebooks) can run more-featured Linux distros like Ubuntu, ArchLinux.


The OP asked for ChromeOS support, not Chromebook


@Downvoters: Please do your homework[0] before downvoting. If you genuinely think my comment deserved downvotes, at least afford me the courtesy of an explanation.

[0]: https://github.com/dnschneid/crouton


You can make offline apps for ChromeOS/Chrome


You can make offline webapps for ChromeOS. Node will not run on ChromeOS.


Putting in my +1 for a ChromeOS option.


That... would be interesting.


Linux, please!


looking forward to b a linux build


Linux and Windows builds?? WHEN?? this month??


I think we should start a new line of thought in the development community - linux first. :(


Windows +1. Staring the words 'coming soon', I'm like HOW SOON IS IT!!


I hope you will not want administrative rights to install the program.


I hope it can available on windous builds.


A Chrome wepbapp would be great!


Linux Build??....waiting for it


sources are released? i guess making own linux build would be faster :D


Linux +1


I want to try it!


really?


good


No, it's a desktop app, presumably embedded inside node-webkit or something similar.


If it is inside node-webkit, I'll be curious to see how they got native windows menus support. There are some pretty serious bugs in NW's handling of windows native menus.


Right, and if they've been working on it for x years then they presumably started earlier, perhaps a custom fork of chrome.


Directly from the "Taking the web native" section on the page:

>Atom is a desktop application based on web technologies.


And 5 years ago, everything was Windows centric. Things change.


On the homepage, it says

> Like other desktop apps, it has its own icon in the dock

it looks like it's osx oriented.


I'm certainly getting that feeling.


I'm really sad to see that they totally blew it.

The performance of a webapp with the accessibility of a desktop app. Not to mention that it's closed source. This is a tremendous step backwards.

Looking at the implementation of the open sourced packages is discouraging as well. It looks like they are using a Backbone inspired jQuery infested nightmare of clientside MVC.

Maybe my bitterness comes from the fact that I've already been down that road and it leads to a bad place.

Here's an editor that has deep Github integration, runs in the browser, and self hosts: http://www.danielx.net/editor

Maybe I just live too far in the future.


I would wait until I actually try the product instead of calling quits. And jQuery/Backbone is not an infested nightmare MVC. It's beautiful modular javascript.


> beautiful

> javascript

Choose one.


Apparently this was almost 6 years in the making. https://twitter.com/defunkt/status/438791340222971904


Wow - I didn't even think node.js was that old. It will be interesting to see its genesis. The first git commit for node appears to have been on Feb 16, 2009:

    commit 9d7895c567e8f38abfff35da1b6d6d6a0a06f9aa
    Author: Ryan <ry@tinyclouds.org>
    Date:   Mon Feb 16 01:02:00 2009 +0100

    add dependencies


I'm guessing the Atom project was WAY different back then, and has probably gone through several ground-up re-writes.


It probably started out as a Rails app, but then Node came along.

Gotta keep it relevant!


I wonder how long Atom has been usable. Chris stopped updating his Emacs packages in 2012.[1][2]

[1] https://github.com/defunkt/coffee-mode/commits/master?page=7

[2] https://github.com/defunkt/textmate.el/commits/master



"Our goal is a zero-compromise combination of hackability and usability"

I can see a huge compromise in hackability - its core is closed source.


Imagine Linus had used that sort of license for git. There would be no github, no nothing. I don't get it. Take for free, build a million dollar business and then make your own stuff closed...


Github folks are awesome mostly. I'd have imagined they would have made it a liberal license if they could.

But they are the venture invested company now. Need to show returns 10 to 100x the investment in a few years.


Unfortunately, that's most companies.


I've just had play around with the beta. It looks like it's using a version of CodeMirror 4 (as it has multiple ranges). Fairly fast but it doesn't match Sublime Text just yet

Initial impressions: it's early days but this thing is just oozing for customisation. The fact it's written in JS means writing packages is pretty simple compared to Python for ST; we're going to see TONNES of addons for it. I can already think of 2-3 I'd like to build.

The one thing that really excites me is how people getting into programming could start off with a pretty basic editor and add and write packages as they hone their skills, ending with something incredible powerful and tailored to them. In fact I'd really love to see a super customised starter version for children / beginners that acts as a learning aid as well as a text editor.

No doubt there's going to be haters in the vim / emacs / ST / insert favourite editor here camp but I really hope this works out for the Github guys (and I have a feeling it will).


Fwiw, Brackets (http://brackets.io) supports a similar degree of customization since it's also written in JS/HTML, uses CodeMirror, and offers lots of extensibility APIs. And it's MIT-licensed. Writing an extension is as easy as this: https://github.com/adobe/brackets/wiki/Simple-"Hello-World"-...


Looks like in Atom you can just inspect elements of the editor and change them right there. In Brackets if you want to change the font of the editor then you have to write an extension or search for the CSS file of the editor which is barely editable with Brackets because it's slows down with the somewhat bigger CSS file, syntax highlight stops at the half of the file and searching was extremely slow for me in this big file.


You can open dev tools on either of these editors, but in both cases you're not making permanent changes to the source that will stick around the next time you launch the app.

Hacking the minified source isn't going to be fun no matter what, but if you clone Brackets from git the original LESS files are very easy to modify. Or you could just write a three line extension (https://github.com/adobe/brackets/wiki/Customize-Your-Code-F...) to adjust the CSS without modifying the core at all. That flexibility is the advantage of building on the web tech stack (an advantage shared by Brackets, Light Table, and Atom alike).


When I first saw Brackets, I was surprised to see it come out of Adobe. I had no idea that they did any open-source work, especially considering their product portfolio.


> Initial impressions: it's early days but this thing is just oozing for customisation. The fact it's written in JS means writing packages is pretty simple compared to Python for ST; we're going to see TONNES of addons for it. I can already think of 2-3 I'd like to build.

This isn't why it's going to be popular for plugin development though. Sublime plugins are Python, which isn't that hard to learn.

Atom's plugins are worth looking forward to if the API is more extensive than Sublime. There is too much you can't do in Sublime Text plugin authoring.


> This isn't why it's going to be popular for plugin development though. Sublime plugins are Python, which isn't that hard to learn.

Agreed, but Javascript has many more developers who know JS over Python. From my initial glance at the docs the learning curve for package development isn't too steep either.


What makes you think it's using CodeMirror? My impression is that they implemented their own editor component from scratch.


Turns out it's going to be payware, closed-source only while the rest of their community gets to build and support it. http://discuss.atom.io/t/why-is-atom-closed-source/82/9

But who's going to buy an editor that can't even open a 1 MiB file? http://discuss.atom.io/t/unable-to-open-files-more-than-1mb/...

Moreover, besides code posers and managers, who is going to throw away all their knowledge and time configuring the editor they were using?


I was the one who reported the 1 Mb file issue...

I mean, it looks nice - but I'm a bit undecided about the whole proprietary code project thing.

If it was open-source, we might actually be able to see if there was some silly hardcoded limit in there - heck, we could even submit a patch and do a pull request.

That, and the blatant ripping off of Sublime Text's interface.

It's bad enough they don't put the source itself on Github, but they aren't even using Github's issue tracker for the project - or heck, any other issue tracker as all.

So we're resorting to filing bug reports on a discussion forum...shakes head.

Hopefully Github will come through, and sort things out.

I have no objections to paying for an editor - heck, Sublime is $70 - but with this being closed source, and Brackets.io being more mature, and open-source, not sure what the attraction is.


Brackets is focussed on frontend webdev only. You might wanna try LightTable.


beta.

Closed beta, that too.


A common thread or line of argument that I find when reading about new editors is their out-of-the-box ease of use compared to Emacs and Vim. For example, a quote from the Atom blog:

>Sublime and TextMate offer convenience but only limited extensibility. On the other end of the spectrum, Emacs and Vim offer extreme flexibility, but they aren't very approachable and can only be customized with special-purpose scripting languages.

It doesn't seem like they (and many others) are denying that Emacs and Vim are excellent editors. Why is ease of use such an important issue for text editors? Emacs isn't terribly difficult to use, but if my livelihood and the majority of my time is tied to what tools I use, then it's worth the investment of time. I don't think I've met an Emacs user who has put in the effort of learning Elisp and customizing Emacs to their liking ever deny the benefits of learning it in the first place. Yes, it's a pain in the ass initially. I quit Emacs twice before I became determined to stop whining and spend quality time learning about tooling.

There is no doubt that Emacs has a steep learning curve and perhaps that's because its developers have a higher expectation of its users. I would argue that these expectations are easily matched by the capabilities of a competent programmer.


There is no reason why "editing plain text" should be anything other than immediately intuitive. Advanced, time-saving features, like multi-cursors or regexp-based find-and-replace, can and should be progressively revealed through normal use of the software.

This ludditic reverence for user-hostile text editors is one of the more perplexing and frustrating things about our industry.


> There is no reason why "editing plain text" should be anything other than immediately intuitive.

Are you suggesting that it isn't in Emacs?

Well, I remember using Emacs for the first time. It opened up and I started editing the opened file. I saved the file from the file menu (which also showed me the shortcut for saving the file the next time I have to save something). Done. Now, this is exactly what a novice would do with notepad.

I found that many people 'demonize' Emacs just because they found it unfamiliar. Sure it's unfamiliar. For about a day. Then, it's just as familiar as any other user interface. I now used Emacs for, well, the shell, the dired and wdired, multiple cursors, keyboard macros, project-wide grepping and everything in between. Getting familiar with the editor was a great thing to have done, however unfamiliar it was in the beginning.

With the benefit of hindsight, I can truly say that learning how to properly use a text editor, especially one so powerful as Emacs, is the one thing the any programmer absolutely must do. So, even if the editor isn't "anything other than immediately intuitive", it's still a good idea to wrap your head around the non-intuitive things.


    > Are you suggesting that it isn't in Emacs?
Yes, of course. Emacs is obviously and inarguably not immediately intuitive.


Ah, but you forget to provide a reason to support your claim unlike me, who presented a basic use case which in fact refutes your claim (in the last comment).

> Emacs is obviously and inarguably not immediately intuitive.

"obviously" : I find it anything but obvious. "inarguably": Really? So it can't even be argued? Well, I don't know what to say to that.


What is immediately intuitive about anything a programmer does on their machine? I assume you have used a Unix shell, right? Was there anything immediately intuitive about that? You've probably done some programming, so was there anything immediately intuitive about your programming language?


You press the key labeled 'X' in the keyboard, and an X shows up in the screen. Can't be more intuitive than that.


How so? Unlike vim, you can just type stuff in and it works.


Editing plain text is in fact very easy. Structured text requires a little more logic, however. Ultimately, you could use emacs in the exact way one would use notepad++ and be none the wiser to the rich customizations under the hood. If thats your bag of tea, drink it.


> This ludditic reverence for user-hostile text editors is one of the more perplexing and frustrating things about our industry.

I feel the same way about our industry's enslavement to faddishness.


It could be really great. I wonder if Jon Skinner knew, and said to himself "Welp, I might as well stop with Sublime". However, Sublime is (mostly) blazingly fast. I don't expect this from a node based app, especially in Windows. And: I didn't see it under Features, but Atom definitely needs the command palette from Sublime baked into core. Only if it's core, plugin authors will set their hooks correctly from the beginning. Or even better, there might be a flexible command api that exposes each plugin's commands from the start and can be extended too. -> edit: the readme says it has Command Palette. Great! Also, since the term is identical with Sublime Text, I wonder if there's more to it than inspiration.


I would pay for a $10 a month subscription/support contract to Sublime if it was Open Sourced... properly where the community can get involved in the development.

This coming along scares me that an already tenuous situation around the future of Sublime Text may implode due to this new editor... and it isnt even open source. I'd rather build my own highly customised GUI+CLI macvim/emacs with both python and JS plugin backends than switch from one closed source editor to another just because its new and uses Node... I dont normally swear on hacker news ... but fuck that shit.


before you jump to writing your own text editor from scratch, consider contributing to textadept. it's about half the text editor that sublimetext is, but it's lua based, already exists, and it is totally open source.


You do know that v8 is generally much much much faster than cpython, don't you?


Although, most of the Sublime core is in C/C++ as far as I know. And it's using native drawing, not webkit. Will be interesting to see how the performance compares.


sublime is using opengl to render every glype. Its speed will blow anything out of the water. Open 2MB text will be highlighted and colored in an instant. I wonder how could webkit achieve that.


My suspicion is sublime's speed has very little to do with its rendering method and a lot more to do with its I/O philosophy. Because, let's be honest, there is no way OpenGL can make loading a 50mb file into memory significantly faster than plain rendering.


and v8 has its ass handed to it vs the mozilla engine when running asm.js code... and there is pypy... and c extentions... and WHO CARES.

It is fast enough for every job I've ever thrown at it... Do you only want there to be one programming language or something.?


You're missing the point. The point is, for some reason a bunch of people have their expectations of Javascript performance set 10-15 years out of date.


Nice to see some innovate architecture for an editor but this product launch reminds me to product launches from Apple or Google: it doesn't matter what product or feature is shown, there is always tons of premature praise.

If an unknown third party came up with Atom it would have never gotten that attention.

ST3 is a very good product viewed from any angle and VIM either—it will be hard to beat these reference products. I love Node/npm and again the stack sounds great but I don't know if this stack will be much easier to extend than something like ST3 or VIM.

What I have seen from a product perspective on the Atom landing page does not blow me away, not at all. And it is wether free nor open source.

But it's from Github and that's reason enough to vote it up.


As was speculated in the other thread the beta looks like it will be closed, there's a "request and invite" form on the page.

Others noted that the source mentioned "free during beta", I certainly hope that's not the case and it's truly FOSS. Sublime Text development has slowed significantly recently and the community can't continue to drive it since it's closed.

Funnily enough, Sublime Text was born out of Textmate development slowing, and I can't seem to shake that vibe here too.


If you want an open-source text editor based on Node.js, Light Table might interest you.

(Light Table itself is written in ClojureScript, which is a bit idiosyncratic, but it's hardly worse than Elisp, and anyway you can write plugins in normal JavaScript.)


Or Brackets: http://brackets.io


I can't tell from this page whether it's open source -- I hope it is.


From ##atom IRC:

<DouweM> kevinsawicki: is the actual core going to be OS?

<kevinsawicki> DouweM: not during the beta

<tyOverby> How is atom both invite-only and open source at the same time?

<avidal> tyOverby: the engine isn't open source (or at least yet)


Welp, makes that decision easy. Not making the most important tool in my toolbox one that I can't hack to my liking.


Agree. It's a tough decision for them -- I'm sure the "Hot New Text Editor" market has a decent chunk of money associated with it. But it's pretty hard to commit to a text editor that you can't open up and recompile.

EDIT: Plus, if an editor is going to join the ranks of vim and emacs in history (something which neither Sublime nor TextMate are on track to do) it has to be open source. Anything else and it's just another product.


I agree on the open source nature. However if this editor treats github as a first class citizen (while being free/open) then it does have value to github. This is especially the case for new github features introduced in the future.


There are very few people who would opt in to a editor for everything only to use it with Github. Most of the world's developers don't even have a Github account.

Tools work in a strange way. I recently saw a whole team of embedded developers use TextPad. They haven't heard of anything called 'vim' or 'emacs'. From their perspective its either a vendor supplied IDE or TextPad. One of them was even startled to see this shiny new thing called 'Sublime Text' when I was using it. He went out with enthusiasm, but was hardly able to convince any one to use it.


There will always be outliers.

A code editor with first class prominent Github support is more likely to encourage creating Github accounts - it would just work. Compare to regular code editors which require jumping through various hoops (typically having to find relevant plugins, install them on all machines/users, and then figure out how to use them as they are extensions not core).

A pitch of "if you use this editor then all the team's work is automatically synchronized and available" is a very powerful sell.


TextMate 2 is GPL. It just isn't multiplatform. Yet. I think there was some work to make it run on GNUStep, but I may be mistaken.


But in some degree you can't hack the heart of Emacs and Vim as well: its too complicated.


There are open source text editors of all levels of "easy to grasp". I've contributed to one myself. With Atom I simply don't have the option, and that's unacceptable as a professional in this craft.


I agree, I'm just saying that if some capable people decide to stop working on Emacs, it would die. So sometimes I prefer a paid product because there is incentive to continue working on it. (Ok, not that the karma/love one gets for working on Emacs isn't good enough).


Vim is available on all (relevant) operating systems. Vim doesn't require an invite.

Not for me. I do like to give new editors a try (fell deeply in love with LightTable just a short while ago), but OS X as main platform and yet another closed editor?


I'm really hoping they make it completely open source with service-optional business model, they core needs to be open or it will have the same problems as every other closed source editor.


Usually if you don't see "free" or "open source" mentioned on the main page it means it's not going to be either of these two (or at least that it hasn't been decided yet).


At the least seems like there will be a paid version: https://github.com/atom/welcome/blob/master/lib/welcome.md


"free during beta" doesn't always imply "paid on launch" and I'd be surprised if the basic editor was paid. Github certainly doesn't need the cash and usage is oxygen.



Yes, there are lots of packages but the editor core isn't posted there, as far as I can tell.


Just cause you can see the source, doesn't mean it's Open Source.


I don't like how it looks like Sublime text... couldn't they have designed something new?


As the designer who worked on the main interface for Sublime Text 2, it does irk me that it looks so similar. They had carte blanche to create a wonderful new interface and they mostly just copied Sublime Text. The go-to anything menu looks especially similar. https://t.co/5YxVbZcVcK


Just wondering, do you know how to code? What are your day to day tools as a designer?


The Atom team is recruiting I see. -.^


Yeah, been building websites and webapps since the 90s and Mac/iOS apps since 2010. Daily tools are Photoshop, Xcode and Sublime Text.


The find/replace panel seems xerox'ed too


The tabs are the thing that reminds me most of ST but they are practically just Chrome's tabs -- everything else isn't particularly distinctive and seems standard for a text editor.


But the very first thought is "wow, it's exactly the same look as Sublime Text", not JetBrains product, not Eclipse, not even Visual Studio, so they definitely were completely inspired by Sublime in particular.


True; but if you were making a text editor today, with the whole flat UI trend and minimalism being so prevalent, the sublime UI is actually very intuitive. It's just that sublime got to it first, in my opinion.


Text editors appear to be approaching a design ideal. At least, for the ways we currently use them.


Sublime text looks a lot like textmate to me, just darker.


> Emacs and Vim offer extreme flexibility, but they aren't very approachable and can only be customized with special-purpose scripting languages.

Only? I can point to a large number of Python, Ruby and Perl plugins for Vim. Unless they are considering those special-purpose and nodejs is the only truly flexible scripting language.



> we've open-sourced over 80 of the libraries

Some of them look quite interesting already.


Atom is a cargo cult.

Atom is eventually a dead end. They are paying lip service to eventually partially opensourcing it.

It is the opposite direction of the magic of git, which enables easy sharing and collaboration.

Beware the promise of later opensourcing of projects. Without an early commitment, the developers of atom will invariably include proprietary software to ease development which will preclude later opensourcing.

You are better off taking the hard road and investing your time in tools that are not cargo cults.


Apparently github will be charging for it and it will not be fully open source.

http://discuss.atom.io/t/why-is-atom-closed-source/82/9


I've been observing the reactions to this over several communities and I find it all to be rather interesting! [ Warning; meta comment incoming ]

http://www.reddit.com/r/programming/comments/1z0ykn/atom_lau...

Almost every single comment is negative, dismissive, one liners filled with half truths and very few child comments seek to rectify any misinformation or support a discussion.

The first and by far most-upvoted with a 700 point margin.

>I must be out of touch with modern development. I don't understand the thought process that leads people to be excited about a closed source, node.js text editor that reports your usage to Google.

It suggests the user simply scanned over other comments, glanced at atom's site and proceeded to regurgitate karma bait. I suppose it says a lot about the attention span of these people as there are also highly voted "tl;dr" request comments.

A perfect example of misinformation:

>[ unquietwiki 70 points] Isn't Brackets this already? Node.js/Chromium app with plugin support? > --- [ MrSenorSan 67 points] yup, but atom is not open source yay! wait a min... > --- [ kmeisthax 17 points ] Yes, but with Atom, you have the priviledge of paying GitHub money for a software product in a market with numerous competent free and Free Software options.

The supply of vitriol is unending.

It was the same with the /g/ thread, though surprisingly not quite as bad.

http://archive.rebeccablacktech.com/g/thread/S40550074

My point is, stay classy Hacker News. While you may even have similar opinions with these communities, the reception in this thread has been far more exciting and you put effort into your discussions. The contrast is massive, and especially interesting considering this is one the highest upvoted articles on HN, sitting alongside Neovim. suggesting we desperately want to replace our editors.


Eclipse is massively modifiable but everyone hates it because of bloat. You see this kind of thing starts off with good intentions and then all the plugin madness gets going and suddenly everyone gets revolted and charges off to embrace the next great "lightweight" editor.


This might make developing on chromebook viable.


You already can, just load up a crosh window and enter your chroot. Take your pick of vim or emacs or whatever other console editor. Or, if you're enterprising, you can run a window manager on the same X display and use any GUI editor, but the integration is a bit wacky.


Nitrous.IO already did that.


There's already many, many ways to do this and it works fine for me on (primarily) web development.


THIS.


Wow. Lost karma because I'm enthusiastic about something? Neutral, I'd understand... but downvotes? Really? I've seen even more plain and simple comments get upvotes. You folks are a fickle bunch.


Seems like quite a weird priority for GitHub to dedicate resources into creating Yet Another Text Editor.

I don't know, I can't see how this is a priority for them...


Github has iPad-based robots that allow remote workers to wonder about their SF office. Obviously, that $100m VC money has to be spent on ~something~.

Compared to that, a text editor is a mere bagatelle.


Even if they don't commercially benefit from it, a better editor will help their devs.

As for how it could commercially benefit them: similar to how Chrome benefits Google.


So it's light table without Chris Granger, for better or worse..


LightTable has its own philosophy: http://www.chris-granger.com/2013/01/24/the-ide-as-data/ Sounds pretty different from Atom's modules... I guess.


Light Table is a great project, but it's all in closurescript -.- This is a big obstacle to people wanting to edit/customize/write their own plugins


It's really sad that learning a new language is considered "a big obstacle." An average programmer should be able to pick up nearly any new computing language quite easily.


Depends, is not like some who have code in a Imperative, OOP paradigm, is gonna learn a functional language in no time.


The language itself is actually very simple and writing plugins for lighttable is the opposite of complex, there are amazing tutorials floating around the web. The whole process is simply just manipulating sets of data, it's all about adding and removing triggers.

This said, you can also write lighttable plugins in javascript.


And this one is all in Coffeescript... so there is still a niche for an editor in Javascript!


The "space-pen" part of this deserves separate attention:

http://atom.github.io/space-pen/

I bet this space-pen DOM DSL would mix well with the React virtual-DOM approach.


So how much is written in Javascript? Won't that performance pale in comparison to, say, Sublime which is written in C++?

Or are just the plugins/extensions written in Javascript while the core editor is in C or C++?

Obligatory: People who got a beta invite, anyone feeling generous and want to give me one? (As I understand it, when you're invited you get a few to hand out, too.)


Sublime is written in Python.

I'd imagine, all of this is written in Javascript and compiled/rendered with v8.


Sublime is written in C++, the plugins are written in Python.


I wish it was open source. We need a modern, good looking, libre text editor.


There is LightTable, also you can even make Emacs or Vim as "good looking" as this if you give them so tweak.


So, they want people to contribute writing plugins so they can turn-around and make money off the plugin ecosystem by selling atom?

Seems transparently under-handed to me.


Can I use it online? That would be the killer feature for me, being able to code on anyone's computer in a second. Currently it's basically the only thing stopping me from being able to pick up anyone's computer and use it as I use my own.


Guessing no, because of the Node.js plugin architecture ("need to call into C or C++?", "full access to the filesystem"). Really only the UI seems to be done in WebKit.


From a quick glance it looks like its architected the same as Light Table (Local node server that accesses the file system and a decoupled UI that connects over http and uses WebKit). If it works like that it could run in the browser. Not so easily from anywhere though


I believe that's the point -- it's web based.


Nope: "Atom is a desktop application based on web technologies." So it's using node.js internally, but it's not actually a webapp.


Brackets does the same, which is frustrating as platforms like FirefoxOS and ChromeOS emerge.

It'd be nice to see the backend be a drop-in replaceable API so it works just as well hosted in a browser/on a Chromebook/in a NodeJS process.


Fyi, the Brackets file IO layer is indeed drop-in replaceable: https://github.com/adobe/brackets/wiki/File-System-Implement.... The core team only maintains the standard desktop file IO backend, but others can be swapped in.

That's only one piece of making an editor run in-browser and cross-browser of course, but it's an important piece.

Also -- there are actually a couple ChromeOS ports of Brackets out there already (such as Tailor - https://chrome.google.com/webstore/detail/tailor/mfakmoghean...), but I'm nto sure if any of them are being actively maintained.



Tried it a month or so ago. Couldn't get Vim keybindings working well. Hands don't work without it anymore :/


Nitrous.io is pretty decent...


Thanks to Atom not being really free software and people here suggesting it a lot I give LightTable a try. I'm an emacs user but I like experimenting different foss editors and LighTable + emacs keybindings plugin is a really nice and beautiful tool.

Couldn't get it to work on Debian Wheezy yet (GLIBC_2.15 not found)* but worked on a Windows machine at work so I'm testing it there. I'll get back to linux later. Looking forward for v1.0. :)

* It seems to be a known issue: https://github.com/LightTable/LightTable/issues/972


I find it interesting that there is little to no conversation about the integration with git. In one of the the screenshots I saw a branch name and icon in the bottom status bar. I assume this is an important motivation for GitHub.


Looks like Sublime Text but with a ton of resource-consuming shit I'll never use, which itself is similar to the reason I stopped using Sublime Text. I'll sick with vim, thanks.


Atom team, if you're reading this, I have a big feature request that would make this far, far greater than just another editor.

Pair editing.

Specifically, having the ability to pair two editors over a network and edit the same set of files.

Lots of other editors do this, but here's the key: Each editor keeps its own settings and environment.

I'm a vim guy. I can set up my Atom to be vimlike. My buddy, the Emacs (heretic!) guy, can set up his Atom the way he likes, and we can work in harmony.

That's all I want.


Floobits.


That is to say, https://floobits.com/ appears to already do this.


It's ironic that you're unable to commit code from within Atom. Apart from that there are a couple of things that I feel can be added.

- Soft undo for multiple selections.

- Search settings since the panel is overwhelming.

- Markdown preview should be updated live?

- I really miss Go To Anything from Sublime Text 3.

- You should be able to select the syntax highlighting from the status bar.

- Inline preview of audio, SVG (toggle?) and fonts? That would be rad.

- Syncing of settings using GitHub settings?

But other than that this is really good progress!


Commit is not needed if the next version includes a dropbox-like sync to your github repo.

I'm pretty sure it's one of the reasons to come up with its own desktop editor (that later can be also used online) -- to bridge the gap.


Looking forward to this. The fact that it's all JavaScript/Node based makes this particularly attracting for me. I haven't really been able to hack on ST2/3 because I'm not that proficient in Python and never found the time to properly dig into it. The repositories look great, really hope it'll live up to the expectations.

That being said, anyone with a spare invite? :) Ta.


First let me say that I've used only vim and emacs for the last 5+ years that I have been a daily coder.

I'm extremely comfortable with vim. I can cruise seemingly at light speed and have just never been able to find a text editor which offered the same level of productivity when jumping back and forth between the mouse/trackpad and keyboard.

However I just couldn't resist the urge to try out a new text editor that was created by github and thankfully I scored an invite from someone on twitter.

I've only had the thing open for about 10 minutes and already I'm impressed.

It allows me to write in markdown, save the file, render the markdown into markup, and then launch the webkit dev tools to inspect the rendered DOM.[0]

Do other modern text editors such as Sublime Text allow you to render the markup and then inspect the DOM with browser dev tools? If not that alone seems like a pretty good innovation.

More Info: [0] https://pbs.twimg.com/media/BhdTeedCcAARgYV.jpg:large


A competitor to Sublime is a great thing. Sublime is great and I love it, but we need more teams like Github building editors that make sense.

Thanks Github!


It's called vim.


I think he means that we need editors that are powerful AND easy to use.

Seems like vim isn't really for someone like me (I haven't studied PhD level computer science and I don't write compilers and/or lisp interpreters in my spare time for fun).


I taught Linux Admin courses before I graduated high school, and the first order was learning vim. If you have a mac, 'vimtutor' is available to you.

vim has nothing to do with PhD-level CS or writing compilers and/or lisp interpreters. The Emacs community might fit that stereotype a little more but really not much more.

Vi (vim being 'vi improved') is great because it works on basically any terminal. It works with my iPad's keyboard and with a teletype terminal from the 70s or 80s, as well as a normal PC keyboard. Emacs has similar brags.

The terminal's not going anywhere and if you like keyboard shortcuts, knowing five or ten that will work on any keyboard in existence for an editor that is on most unix systems you'll find has some value.


I was being a smartass, which was uncalled for. Sorry, Angersock!

Also, I do have a mac, so maybe I'll check out vimtutor.

My point is that I'm very new to programming, and it's so much easier for me to load up Sublime Text and start getting work done. At least for now, learning vim would be something that get's in the way of learning/making. It also doesn't seem like the benefits would outweigh the cost.


I started using vim when I had first started to learn to program. I'd say give it a shot if for no other reason than it's an interesting paradigm shift, and can be really effective.

I'd say give Vintage mode on sublime a shot. It does the basic keybindings/motions of vim and will give you an idea of whether or not you might be interested in it. It's also nice because in insert mode it's basically just normal sublime, so you can just switch back to that if you get frustrated.

Are you on linux, osx, windows, or something else?

If you use vim/vintage mode, remap capslock to be escape.

This took me forever to figure out, for whatever reason, but if you're on windows, the easiest thing to do is get autohotkey [1] and write a script with one line:

Capslock::Escape

You can compile that to a portable binary and use it anywhere as well. It's really straight forward.

I also added two keybindings to make Alt+movement to add cursors above and below: { "keys": ["alt+k"], "command": "select_lines", "args": {"forward": false} }, { "keys": ["alt+j"], "command": "select_lines", "args": {"forward": true} },

It doesn't always interact naturally with vintage/vim mode, though, but that was just a personal preference.

[1] http://www.autohotkey.com/


> Vi (vim being 'vi improved') is great because it works on basically any terminal.

Then one day you're riding herd on a flock of zLinux images and troubleshooting boot problems through a 3270 terminal with (s)ed as your only friends.


wow, thanks for the heads up on vimtutor! I've attempted the Emacs tutorial several times and I think this is a lot easier to learn.

We'll see if one of these console editors finally sticks.


Writing a Lisp interpreter isn't that hard and can be fun!


I think you are biased. I've seen countless PhD-less, unixbeard-less people use vim. And emacs...


Not to get on vim tangent but it's very easy to learn vim slowly. If you use a gui like MacVim you can still use cmd+s to save, etc. and use it like a normal editor. The only thing you are really required to know is the difference between normal and insert modes.


Yeah, I understand what you're saying. It's just hard for me to justify (to myself) learning vim (or emacs, or vi, or whatever) when I can just load up Sublime Text and start working on something.

Put another way: working with Sublime Text and Adobe Brackets is a good experience for me... There's nothing that screams out at me "Man, this sucks, I need to go learn vim."


Fair enough, can't blame you for that. If you ever start wanting to administer your own servers, being handy with vim is nice as you can quickly make changes on an ssh server.


Vim is hardly a requirement to manage a server, and the amount of changes required live on a server should be approaching zero - apps should never be written on the server and even config files etc should be handled by some form of config management - chef, puppet, debian config packages, etc


You don't need to do those things to use vim. It just has a kind of steep learning curve -- one that has to do with just getting used to its keybindings (ie, nothing to do with PhD level cs or writing compilers).


I was being a smartass, which wasn't fair to angersocks.

My point is that I can load up Sublime Text or Brackets or this (maybe?) and work in a very efficient way.


Vim is actualy pretty easy to use, the learning process is not hard at all you could just go through the vim tutorial that comes with and you will in good shape in no time.


I'm sure it's not terrible to use, but I'm not sure it's worth it for a caveman like me to put time into learning it. Sublime Text and Brackets already work very efficiently and allow me to focus on getting things done.

Of course, PHP people probably said the same thing when Rails came out. The difference is that current GUI editors are already very advanced. I'm skeptical that I would get any efficiency boost from vim (at least anytime soon).


You would, but i am agree with you is not for everyone.


you misspelled 'emacs'


How did you come to this conclusion?


What's the difference between this and Emacs?


Less features, less open source, probably slower, more Javascript.


Agree.


One reason I like using Emacs is that I can run it in a terminal - e.g. over ssh. I am skeptical I'll be able to do that with Atom (without using X forwarding).

On top of that I can be up and running with Emacs on a fresh install of just about any linux distro: install via the distro's package manager, drop in my configs, done.


The big difference from my perspective is that Atom isn't currently FOSS. Other than that, the maturity of the emacs ecosystem is both one of its greatest features and a bit of a curse.


The non-FOSS part is the part that bothers me the most. Maybe bothers is too strong a word. It's just hard for me to get into a text editor without knowing that the community could pick it up and run with it, if the originator dropped it.

Not sure if that's an unfounded fear, but I don't want to invest time customizing a platform and writing plugins when it could close shop in a second. I suppose I could say that about a lot of things I do customize, but it's hard when the FOSS text editor world is so rich.


40 years of legacy decisions can be a huge weight on a project, but reinventing a newer, rounder wheel has pitfalls as well. I'd love to say 'I want a modern version of emacs' (or, in my case, vim), but I'd be terrified that I'd end up with a TextMate2-style second system syndrome.

It looks like the GH guys have worked around this problem quite well, and I'm looking forward to begging, borrowing, and then just begging again if I get a chance to try it out.


This is a text editor.


You can use Emacs to build a kind of text editor.


It doesn't lose selection when scrolling.


butterfly mode


Can this work at all without an internet connection? Can it work offline?


It is a desktop app, so yes.


This sounds like a very promising tool. I'm really excited to hear all of the talk about extensibility.

One thing that is conspicuously absent is any mention of it being open source. I can certainly appreciate that Github is for-profit, but I would love to have a clearer idea of how free / not-free this tool will be when it is publicly available.


Maybe it's not true of all JavaScript GUI apps, but almost all the ones I tried are hecka sluggish for things like drag+drop. I could see that being a problem with tabs in this case. Plus I'm concerned about the CPU on my poor little MBP, Chrome usually eats it all the way up, is that somehow mitigated in Atom?


I will switch to this if it is as good as Sublime Text, but with a more open API. Sublime Text's API is too restricted, and there's a ton of things I want in Sublime Text that IDEs have.. but I don't want a full-blown IDE.

Take the overall diff bar of most IDEs for example (Jetbrains, Netbeans, etc.). I want that in Sublime/Atom. There is a plug-in for Sublime to show diffs per line, but no way to manipulate the mini-map to show diffs at a glance.

http://blog.jetbrains.com/pycharm/files/2013/12/2.png

Edit:

See, this is inferior and what Sublime Text already has: http://atom.io/packages/git-diff

What's superior is a full-blown diff bar overview of the file.



Does it have emacs emulation?


I'd think it's not a requirement for OSS (look at textmate, sublime) but as new comers hit the store it would be nice to know it beforehand and have an expectation of what would come. Since for people writing addons it would be a decision-maker.

What most people wouldn't like to see are yearly subscriptions of another editor or paid upgrade every 18-month. I could personally bear with textmate and sublime for their current licensing (personal => works on as many computers I have - which I have at least 4)

For OSS ones, we have the traditional ones like emacs, vim, eclipse, and newer ones like brackets (which also sold as paid editor as Edge Code CC), lighttable or google's half-baked collide.


Sublime has 'limited extensibility'? Package Manager lists over 2000 packages. And what about Brackets? This looks very similar - editor built with web tech. http://brackets.io/



Bracket is built on top of Code Mirror. It never feels like a native editor. If Atom is using a Webkit renderer for core editor part, I'm not gonna switch from Sublime anytime soon


Light Table is build on Node-Webkit and it feels pretty good most of the time. (Opening folders is the only spot I've found where it's like, "Wait, something is a little off here.")


My experience with Light Table isn't that fortunate, even moving the cursor through some lines feels sluggish and not great.


I think, in the long run -3 to 5 years-, Jon Skinner -Sublime Text- will be leading, like now. I can clearly see his passion and investment in his product.

People at GitHub are also great, well funded, but this is not their core product. Do they have a leader -I don't know if they have or not- who will be focusing only on this product and keep up with jskinner?

I am sure Atom will be around for long years, as well as Sublime Text. Thanks to GitHub, I am looking forward to give it a try.


> in the long run -3 to 5 years-, Jon Skinner -Sublime Text- will be leading

As an Emacs user, I find it funny to hear 3-5 years be referred to as "the long run".

Also, Sublime Text won't be leading until it has a package with more features than Org mode. ;-)


actually I was expecting a comment on that one :) don't you think the time frame narrows on predicting the future on topics like these -web, desktop or mobile applications-?

I am not arguing that Sublime Text is the best -because I am not that pro-, but I can assure you it is hot right now, all around the world. It may be wrong, but all cs students and developers I personally know in 4-5 countries use it, like it. Most of the online courses tell their students to use it. It is highly recommended, all over the web.

The word is spreading.

http://www.google.com/trends/explore#q=%2Fm%2F01yp0m%2C%20%2...


It could be a matter of scratching your own itch: they're likely to write a lot of code and perhaps they were not satisfied with any of the existing one, and the instinctive solution for us devs it to make your dream software when none fit :)


I hope that this spurs Jon on to continue working on Sublime Text and start to be more transparent with what development is ongoing etc. See the forums for recent outcries.


And fix the bus factor.


I thought this was an open source project, but when I read FAQ beta version is only out for OSX and they talk about charging for it so it probably wont be open source.


You know, I'm usually very skeptical of web apps, but building a text editor in WebKit actually seems like a really good idea. Everything a browser should be good at — text display, scripting, styling — also applies to text editors. You don't really have to worry about complex UI, animation, or user input. You also get remote access almost for free.

What other text-centric apps can be made better by a browser framework? Maybe the terminal?


So why is every text editor I have ever seen embedded in a website an abomination?

> text display, scripting, styling

The only thing that really matters is scripting. Every serious editor has solved displaying text and styling since ages and those two points aren't even that important in programming languages. All you want is a syntax aware highlighting. Maybe underlines and a little bold here and there.

Scripting is the really hard part. There are many flavors, languages, APIs to chose from. Just because you now can script things in <hip-language-of-the-day>, the problem isn't solved. My editor uses a lisp dialect and I'm perfectly happy with it, not because of the language choice but the APIs and amount of integration.

One thing that is incredibly important for text editors is speed: something web engines are notoriously bad at.


> So why is every text editor I have ever seen embedded in a website an abomination?

Because most websites use contenteditable for their rich text editors, which is horrible to deal with. It's not standardized, it gives developers very little control, and its output and capabilities vary a lot from browser to browser.

Web rich text editors that don't suck - e.g. Google Docs - bypass the browser's support for rich text editing entirely. This makes them usable, but it also means everything has to be implemented from scratch, so the code is complex. AFAIK there are no general purpose rich text editors built like this that are open source or even licensable.

There are some pretty good non-contenteditable code editors, though. Presumably Atom will be built in this style.


  "Every serious editor has solved displaying text and styling since ages ago..."
Sure, but why reinvent the wheel? In this case, Github is leveraging a technology specifically optimized for text and styling. They don't have to maintain it, and they get a lot of cutting-edge optimizations for free. It also gives them the freedom to do some crazy things that would otherwise be very difficult — see Light Table.

  "...and those two points aren't even that important in programming languages."
I disagree. Efficient text display and presentation in a text editor are very important, at least for me. Not that scripting is any less important, but it looks like Github has that front covered as well. (Then again, I've never been a heavy vim or emacs user. I guess I'm what you might call a "filthy casual".)

  "One thing that is incredibly important for text editors is speed: something web engines are notoriously bad at."
I was under the impression that web engines are really good at text when there's not a lot of other crazy nonsense going on. Guess we'll see!

  "So why is every text editor I have ever seen embedded in a website an abomination?"
My guess is going (partially) native and using Node.js will make the experience a whole lot better.


HTML's not good at windows, apps, doesn't have any sort of concept of a widget and has the kind of layout rules you'd have a tough time beating if you were sitting there trying to be deliberately malicious to future programmers.

It's not a good idea, but given the abysmal state that desktop apps seem to be in at the moment[1], it's probably the least bad idea.

[1] Been about 5 years since I did a desktop app, but if anything they look to be getting worse. WPF, flop. Flex, flop. GTK+ looks poo. If I had to do a cross platform desktop app, I wouldn't even know where to start.


I agree with you, but I don't think most of those things are really vital for a great text editor. For the most part, it's just a giant window with your text in it, maybe a sidebar or two. Most of the magic happens under the hood. That's why I think this is a good idea.

Dunno about cross-platform app development, but Cocoa on OSX is pretty nice. QT isn't bad either, from what I've tried.


The editor looks good. I'm more excited about the fact that this is a good looking desktop app, built using, what are normally considered, web technologies.


For me, this might be the killer feature: http://atom.io/packages/vim-mode


Light Table has it, as well as emacs - both using tools that are not specific to LT.


That is my only concern, and i hope that doesn't disappoint me :).


Can you edit files while offline? Or do you need to be always-connected? (i.e. this is an actual web service)

I couldn't find mention anywhere about offline abilities.


There is no online component. So yes, you can edit offline.


More online editors...

Check out Brackets (http://brackets.io/) and Eclipse Orion (http://eclipse.org/orion/) who both have been trying to build fully open editing experiences. There are more out there but those come to mind.

Would be nice if more people started working together on these things...


Mojombo[0] commented[1] that it won't be either closed or open source, but "somewhere inbetween" to make it easy for them to charge for it.

[0] https://github.com/mojombo

[1] http://discuss.atom.io/t/why-is-atom-closed-source/82/9


I hate to say it, but honestly, I think Atom is probably going to be my next full-time editor. The purist in me hates the idea of running such a powerful rendering engine inside a desktop app, but all desktop GUI toolkits have proven that they really really suck at text editing (I've tried almost all of them). This is probably the best way forward.


When I saw a screenshot, I was put off by the ugly tabs. So I made a theme for flat tabs[1]. You can install it by going to Install Themes in the app and searching for "flat". It's called "Atom Dark Flat UI".

[1]: http://atom.io/packages/atom-dark-flat-ui


Heads up: The image on the package page is broken


Thanks, should be fixed now. Seems like a caching issue on Atom's end (probably github-pages related).


You rock – those tabs were driving me crazy.


Last thing I need is another editor. Having said that, I will for sure examine and give a fair chance to anything you produce.

I am a vim user, I recently learned a lot of power moves in SublimeText and this is my go-to editor now. Making me use anything else would be super difficult but not impossible. Price is not the issue.


So this it yet another web base text editor like Brackets and LT, one have it's "live-reload" feature the other his "live-code-evaluation", and which is the selling point for this?. Going throught the website it just give me the idea that is a what i mentioned before.


I'm willing to bet anything that just like Sublime was FOSS cloned to Lime (https://github.com/limetext/lime), this as well will be cloned as FOSS, if it is any good, that is.

Subatom seems like a great project title :)


Bespin, Skywriter, Ace, Brackets… now Atom. Everybody seems to be having the same idea: that browser based technologies are the future for code editors.

I for one am more enticed by the possibility of a WebKit frontend, with a NeoVim core and a libuv backend. Finally, Vim as an embeddable library.


Where's the emacs keybindings repo and the paredit-clone repo? Am I gonna have to write them?


I see people saying they get into the beta within 15 minutes of signing up, but I still haven't gotten one and I signed up day 1. Anybody have an extra invite they're willing to spare? Email in profile. It'd be much appreciated!


I just played with atom for the last 2+ hours.

It is kinda cool, but holy shit is it slow. Editing a plugin requires a reload. A reload is a good 2-4 seconds on my 4 year old mbp.

The vim-mode is very incomplete and very buggy. Granted that should get a lot better in time.


It may have to do what ST3 did and queue loading of plugins after startup, instead of all at once before the editor is "usable". If they do that it could start up nice and fast in theory, though we obviously don't know what else it's trying to do yet.


If you're looking for an invite, there are lots of people offering and requesting invites on IRC:

http://webchat.freenode.net/?channels=##atom


I use github and do a fair amount of Ruby, but I can't say I find Atom to provide enough benefit to move from a native option. I would have to see it used in more example cases to make that leap.


I've been wanting, for a long time, to be able to have custom UIs to websites (just like how video games do it). If this is a step in that direction for github, I will be very, very happy.


So... it's like Emacs but based on Javascript rather than Lisp?


To try out Atom:

https://gist.github.com/anonymous/9265315

Then visit the resulting link output by curl. You're welcome.


Can somebody tell me how to run/install the editor? Thanks.


It's in private beta right now.


Having used it for the past couple hours, it looks great! It is pretty intuitive, snappy, and looks great. I'm definitely looking forward to using it more.


I exclusively use Sublime Text editor for some time now. But this Atom editor by GitHub is very interesting. Will definantly try it.


Is it just me or do most of the new IDEs tend to focus around front-end technology?

Would love to see some innovation on the Ruby editor front.


I haven't used this but if it's comparable to text mate and sublime, you should stop calling it an IDE.


Would be slower than this.


Am lost. Where do I download it from? I do not see any link. Or is it an online based editor? Will it work on Windows?


Invite. Offline. Not yet.


Granted they started this effort a while ago but would be pretty boss if hypothetically they built this on Dart


I was hoping Github will offer a one stop shop for Online Editor via Atom and Communication via Gitter.

Looks like i was wrong.


Screenshot on front page of site made me think of Sublimetext immediately, which is not a bad thing at all.


Wait, so now I have to deal with all the shittiness of the web stack in order to develop a native app?


The new, dominant and universal front end/back end/desktop app all round programming language. JavaScript :(


Will it have vim key bindings? My fingers have vim wired in and that's not going to change.


I hope that it doesn't suffer from the same text redering issuies that LT nad Brackets has.


This isn't the best thing since sliced bread. It's better than sliced bread.


All right, but no invitation responses are coming back. Ho to download Atom?


Interesting, this has been in development since sometime in November of 2013


I wonder if it will have similar performance issues like Brackets does.


Hopefully this will run on arm, which is something SublimeText does not


It needs a LaTeX plugin!


Has anyone got a spare invite? davfuc at gmail dot com Thanks


If anyone wants to spare me an invite - him {at} ian [d0t] sh


At first glance the UI seems 'inspired' by Sublime


Guess I will have to break down and learn vim... no invite


What framework is Atom using? chromiumembedded or appjs?


looks cool, i really enjoy gedit with all the dev plugins and theme customization etc. Will def try this out to see how it compares


What is web based core? Does it run on Chrome?


wow, there are 2,078 lines of (unminified) css styling this page. Nice page though. Can't wait to try out the editor.


Someone explain Atom to me like I'm 5?


Yet Another File Editor. This one's made by Github which the kids love to use on their Macbook Pros hacking some Ruby.


When did web dev become the only dev?


When you started frequenting Hacker News ;).

(I really need a lobste.rs invite...)


this looks fantastic! i've been wanting a reason to pick up a cheap chromebook.


It won't run on a Chromebook.


Source?


Only works on mac and windows, no Linux port.


You seem to oddly out of the loop here. Atom has been released for Mac only (private beta that too.) Linux, Windows builds are coming up, by their own admission. (My source? IRC and Discuss from atom.io footer.)

Besides, for the tech purported to be behind Atom: node-webkit, There would be no additional costs or efforts required to get it running on Linux.


lol , since when ChromeOs can run desktop apps?


If it is, as it appears, node + node-webkit, it might not be all that hard to build a web version, particularly one for Chrome/ChromeOS, since it would mostly be an app written to run on the same JS engine used in Chrome that already uses Chromium for its UI.


Gross.

The moment that their new editor provides some piece of Github functionality that isn't exposed to an open API is the moment that we need to bail, en masse.

We've already killed Freshmeat and Sourceforge for turning lame, this shouldn't be hard.


how is this not a blatant ripoff of sublime text??


Can it send email?


Finally.


sochinquixabeira@gmail.com


My Poe's Law detector is itching uncomfortably right now.

Really, was anybody asking for all this?



so this is Brackets aka Bones on steroids ?


That's great things !


No thanks, I'll stick with jEdit.




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

Search: