Looks like it just the ace editor, a way to save / verify your code and a chrome plugin that lets you send you code to your arduino. Not sure about the 10 USD per month seems a tad expensive for that.
What would make it worthwhile is if there was some way to simulate the arudino (a list of popular model would be cool) such that I could write the code for the arduino in the browser then once I'm happy send it to the device.
That would definitely speed up development.
Ace handles syntax highlighting for really large files. It does this by only adding to the dom the nodes which are visible. Would a similar approach be possible with a spreadsheet?
I see you're enjoying CSS, but might I suggest a second lovely poison: JavaScript
​
⋋| ՞ ‸ ՞ |⋌
​
Since your blog is so code-focussed you might spring for one of the more serious "embedded code editor" js libraries (e.g. Ace).
You could apply a "no edit mode" or perhaps let people play around along with a "reset" button. More aspirational, it would set you up for interactive examples-you'd just need an interpreter!
It's just a good general-purpose text editor. Although, interestingly enough, both it and swiftstub.com are based on the Ace editor. Atom is pretty extensible, but until Swift itself gets Windows support, there's not much it could offer on that platform apart from syntax highlighting.
Cloud9 uses Ace editor, which uses DOM for rendering.
There was Bespin (Skywriter) in the past, which used canvas, but Ace superseded it.
> Skywriter/Bespin and Ace started as two independent projects both aiming to build a no compromise code editor component for the web. Bespin started as part of Mozilla Labs and was based on the <canvas> tag, while Ace is the editor component of Cloud9 IDE and uses the DOM for rendering. After the release of Ace at JSConf.eu 2010 in Berlin the Skywriter team decided to merge Ace with a simplified version of Skywriter's plugin system and some of Skywriter's extensibility points. All these changes have been merged back to Ace now, which supersedes Skywriter. Both Cloud9 IDE and Mozilla are actively developing and maintaining Ace.
Code blocks are like tenth on my list, behind dragging tabs out of the window to make new windows, and obviously Windows™ support. I'm still trying to figure out the best way to get code blocks to work with Ace. Right now, you can select some code and use Cmd+Enter to run a series of lines.
Code blocks would be so much better though.
You can check out AceEditor. It has multi-language support and you can define your own languages.
Even if you dont use it, it might give you some ideas how to approach this.
It's pretty advanced though and even uses web workers (I think) to allow faster parsing and syntax highlighting.
https://ace.c9.io/ I think they have a GitHub page too.
> I'd like an RStudio dedicated client app to talk to RStudio Server instances (not just Safari access)
Why? What's wrong with connecting through a browser? R Studio is a browser-based app anyway, both the editor and console panes are Ace editors.
You're correct on the other points though. iOS is simply too locked down to do much other than play Candy Crush.
This is the reason why I've moved to LiveCanvas web builder. What you are saying was pretty impossible for me to do before. Gutenberg was my first move, but I still wanted to put my hands on code with a real code editor with all common utilities (like find and replace, auto indent, error code alert...) .
It uses the https://ace.c9.io/ editor, a true joy for my HTML knowledge.
This page builder allows me to get a full control on any elements on the page from header to footer but it comes also with a useful WYSIWYG editor (eg to edit columns breakpoints), so you can add sections or block on the webpage with a click.
If you're confident with HTML and bootstrap give it a spin and you'll find a godsend for your skills.
Cone's playground borrowed some of its logic from Pony's playground, which borrowed from an earlier version of Rust's excellent playground. All of them use the Ace web editor as a key component.
To pay the gift forward, the code for Cone's playground is found in this repo. The server code is a small Ruby script, playcone.rb, which uses the thin Sinatra framework. The browser code is found in the /public/play folder.
to answer your question, the ace online editor that backs the cloud9 service has a vi mode. and you can embed that into anything. even a free github pages site.
but i feel like the better suggestion is running your own cheap vps that you ssh into remotely. you can spin it up at will and turn it off when you're done. with your own personal environment setup (shell, editor, etc). there are also lots of free shell hosts that fit this bill as well. all you'll need to do is bring your own ssh keys on an external drive.
Rails would be capable for something like this, but I’d recommend leaning on other tools to build the entire solution.
Rails could handle authentication serving the UI, and saving changes, but you may want to use Dropbox to expose the files to your web app so that it doesn’t need direct access to computer. That would also work well with omniauth-dropbox for logging in. Then you’ll need an editor like ACE (https://ace.c9.io) to actually edit the files.
It will work, you just need to find the right pieces to build it all.
Under the hood we're using ace which claims customizable key bindings with vim and emacs modes. We haven't yet begun to look into integrating those bits, but it looks very promising.
We cross-compiled the standard LaTeX compiler to JavaScript using emscripten, so all of the LaTeX typesetting happens right in the browser. Offline mode uses a service worker which helps us cache all of the resources needed to run the editor locally.
Thanks again!
No, not really, since:
you can only pass data you can marshall to JSON back and forward
the data you pass will be copied
In practice, web workers are only used for improved latency, not improved throughput.
For example, the ace editor uses it for its linters and syntax highlighting, often because these parsers are not written to 'play nice'. Their computation may take a few seconds, and you don't want the browser to be unresponsive for that amount of time.
It is easier to just do the work in a webworker than rewrite those code-bases to iteratively (on a setInterval) compute their final result.