Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Ambiance is a simple, but fully hackable code editor. It uses HTML and it's friends for rendering and nodejs for everything else.
I have being using vim as a primary editor for a long time & it's great! Although in a lot of cases it's being easier to start prototyping in jsfiddle or jsbin! It's just very often one needs small little hack to assist with a given task, but cost of doing is usually higher then the benefit. What if we could change that by dropping cost for quick hacks ?
More and more I find myself embedding web based code editors to empower myself with quick interactive loop when doing different experiments:
wisp is a language with macros that compiles to human-readable JavaScript. It's compiler is written in wisp itself, in this process of writing wisp compiler in wisp, it was extremely useful to have a live view of compiled JS as wisp code was typed. So I hacked up a small interactive page with an embedded editor displaying JS code that's being typed will compile too. Not to say that everyone now can try wisp right in the browser to get a taste of it.
Prose is an experimental take on Literate programming, where you basically write markdown with a some code blocks that can by in arbitrary languages. Languages are identified via shebang in head of code block. Most interestingly compiler is compiled to js from readme.md file written in prose. Using any editor to do this was really painful so I cooked up codemirror mode and simple page, to write compiler in.
Ambiance is code editor that uses HTML and it's friends for rendering and nodejs for everything else. This makes it as hackable as web is! Not only that, editor is just bunch of little plugins, editor component is provided by codemirror plugin, (BTW there is no reason not to have ace plugin that could be installed to replace it), that command line interface is provided by gcli plugin and even code that reads and writes files to disk is a plugin. And plugins are just an npm packages, wanna create one ? You got all the goods from npm wanna share just publish to npm!
There is several ways you can try this thing out, but be aware it's very unstable and far from being finished (any help is welcome BTW).
If you're a mac user you can just download .dmg
file.
Alternatively you can use node-webkit, to do that you'll need to first download a bulid.
Then download ambiance:
git clone https://github.com/Gozala/ambiance.git && cd ambiance
npm install
Finally ether run with node-webkit
nw .
Or make a bulid of your own.
All the credits got to an amazing open source projects without which this would not be possible:
nodejs, node-webkit, npm, codemirror, gcli
And to Svengraph who made beautiful icon with cc license that editor is using.
0.0.1 / 2012-07-16
FAQs
Ambiance editor
The npm package ambiance receives a total of 1 weekly downloads. As such, ambiance popularity was classified as not popular.
We found that ambiance demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.