Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Emacs Live (2013) (overtone.github.io)
114 points by sndean on June 22, 2016 | hide | past | favorite | 43 comments


Given that Emacs Live has received new interest over here - I've just pushed a new release - v1.0beta28. This has support for all the latest Clojure goodies as well as many other lib updates :-)

Simply do a git pull from ~/.emacs.d to update


The screenshots in the README.md on GitHub - at least for me - stopped displaying. Just FYI.


Here is a PR to fix this issue: https://github.com/overtone/emacs-live/pull/238 .


Also worth checking out is Sam Aaron's current project, Sonic-Pi: http://sonic-pi.net


Sam Aaron is so inspirational to see in person - so focused on achieving something of cultural significance (teaching a generating to code by drawing them into music-via-code), so effective in his mission. I can't recommend enough seeing him, or having uk as a keynote speaker, or having him as an amazing dj at your conference.

Sonic-pi (and overtone, which was my first intro to this stuff) is a wonderful piece of creative software on its own, but combined with a human it's really a new form of art.


Totally agree, this is great stuff. Every school could have a "music programming lab" with inexpensive Sonic Pi workstations. They are easy to mass produce. I hope teams of parents get together and fund these for their local schools. I put together my own from a Pi 2 and mostly spare parts.

    Pi 2, case, power supply (Adafruit $65 shipped)
    8g Micro SD w/ Raspian Linux  (spare parts)
    Keyboard, Mouse        (spare parts)
    Speakers or headphones (spare parts)
    HDMI, Ethernet cables  (spare parts)
    Monitor                (just used my TV)
You can also run Sonic-Pi on a PC/Mac, which would let some kids continue their explorations outside of the lab.


Speaking of funding, Sam has a Patreon page to support his amazing work (and transitively the children learning to code with his tools). It's definitely worth supporting with a few quid a month at https://patreon.com/samaaron


Rolling Stone thinks very highly of Sonic Pi -

"The shadowy DJ sets, knob-tweaking noise and fogbank ambient of many Moogfest performers was completely demystified and turned into simple numbers and letters that you could see in action. Dubbed "the live coding synth for everyone," it truly seemed less like a performance and more like an invitation to code your own adventure."

http://www.rollingstone.com/music/live-reviews/moogfest-2016...


Wow, really happy that you shared this - a friend and I were looking for something just like this!



I absolutely want to love Spacemacs, it's beautiful, highly functional and relatively easy to transition to as a Vim user.

Every time I try it though I just can't get indentation detection to work at all. For the amount of functionality built in I'd really expect that to be built in or easy to configure. Having Emacs control indentation with the TAB key drives me insane too, I'd just like to control it myself.

For developers who work over a range of different projects with different indentation styles, that sort of functionality is essential. dtrt-indent seems like it should solve the detection issue but I've had very little success getting it to reliably work.


This is where it helps to have a little emacs foo. spacemacs does not entirely remove that need, ime.

In your .spacemacs there's a function dotspacemacs/user-config. That runs _after_ spacemacs loads and inits all its layers. It's a good place to configure all the various modes in ways that the layer may not have exposed. Regarding indent, I have this kind of thing:

  ;; tab for indent, me like
  (define-key prog-mode-map (kbd "<tab>") 'indent-for-tab-command)
  (setq web-mode-markup-indent-offset 2)
  (setq web-mode-css-indent-offset 2)
  (setq web-mode-code-indent-offset 2)
  (setq css-indent-offset 2)
  (setq-default js-indent-level 2)
but for any given mode, you can find the variables to set, usually involving the word 'offset' and go from there. You can also use the customize feature -- space colon customize.

I've really found emacs and spacemacs worth the effort, but there definitely is effort.


FWIW, I've had better mileage out of `dtrt-indent` by increasing the `dtrt-indent-min-quality` option to `90.0`, which has the heuristics a tad more strict in choosing the correct indentation. However, there are still cases where the wrong choice is made and fixing is extremely annoying.

I've been using Spacemacs for about 3 months now, moving from Sublime Text, and while the initial experience was mixed, there are things that I just couldn't do without (project management felt weird at first, but now feels seamless, the fact you can edit over SSH transparently etc).

There are still many pain points, such as the sub-standard multiple cursor implementation (with `evil-mc`, `iedit` isn't much better) or the fragmented and incomplete tagging implementation (GNU Global doesn't support everything and generating isn't transparent, though `dumb-jump` is being implemented which may help).

However, I feel that both Emacs and Spacemacs have very strong foundations and extremely vibrant communities, and am confident a lot of the pain points (at least the ones that aren't architecture-related) will be fixed given enough time. Spacemacs is well on its way for a new major release, which should fix a few things.


Your `dtrt-indent-min-quality` tip has essentially solved my indentation detection issues, thanks!

I've never really been a fan of multiple cursors, Vim users tend to use macros to solve this. It's a highly valuable thing to learn and practise.


> Having Emacs control indentation with the TAB key drives me insane too, I'd just like to control it myself.

Thats what the space key is for. Also emacs controlling tabs is the liberating genius of python dev in emacs.


For python development i started to really like the tab jumping in spacemacs always sets me in the right position based on level.

Came from vim as well and i wont go back. Spacemacs just fuses both vim / emacs world together seamlessly.

All important keystrokes are the same across languages which is nice.

Cant see me leaving the emacs-evil world anytime soon.


FYI: You can take over the indent hooks to make them do whatever you want, in the major programming modes. For a while in js2-mode, I had my own indent hook to get around something it was doing weirdly. More importantly you can of course rebind or unbind tab (or all indent functions!) to your heart's content. Through a combo of custom indent functions and .dir-locals.el files in each project, I've been able to navigate between space/tabs projects with different indent styles.


I used Emacs Live for quite some time. Then tried https://github.com/bbatsov/prelude because I couldn't get Emacs Live work with the most recent CIDER (clojure environment). I have been using that ever since.


If you check out the most recent release (as of 40 mins ago) you should see that Emacs Live now includes the most recent CIDER. You just need to include the following in your ~/.lein/profiles.clj

{:user {:plugins [[cider/cider-nrepl "0.12.0"] [refactor-nrepl "2.2.0"]]}}


The most recent CIDER should auto-inject those dependencies for you on cider-jack-in.


I'll be another voice for prelude. It really is a nearly-perfect emacs setup (other than guru-mode, which I find annoying, and having to set up a few projectile/helm related things by hand). I've grown to love the zenburn theme, too — it's extremely relaxing on the eyes.

I highly recommend prelude to anyone who's not coming from vim (for them, I recommend spacemacs).


I'm also a huge prelude fan. Very easy to get helm, projectile, and cider working. I've used spacemacs (love the theme), emacs live (love the theme), Steve Purecell's emacs config, emacs starter kit, and others.

I settled on prelude because it is the most like a "vanilla" emacs installation (unlike spacemacs), and is easily extensible.


That's unfortunate that CIDER doesn't behave with it. I was curious about this because I'm currently using my own tweaked version of the Brave Clojure config, and it's woefully out of date and attempting to update it just broke everything.


Hadn't seen prelude, looks good, I liked spacemacs but I don't like VIM bindings this looks like a good alternative.


The installation instructions tell me to curl a script straight into bash. Isn't this rather dangerous?


Dangerous compared to what?

./configure && make && sudo make install?

apt install xxxxxx?

Downloading and running an exe?

pip install git+https://github.com/somerandorepo/package-name-seems-legit.gi...

You download and run arbitrary code without reviewing it all the time. Why does this specific method seem more dangerous to you than any other?



http://overtone.github.io/emacs-live/doc-installation.html

Preferred installation is just cloning it yourself.


You can look at the script first to see what it does


That doesn't always work, and is still quite dangerous in the (abstract), usually your other programmers are friendly, but you should definitely be careful about it.

Proof of concept: https://jordaneldredge.com/blog/one-way-curl-pipe-sh-install...


The idea is that you download the script, read through the downloaded file, then run the downloaded file. Obviously if you download it two different times the server can serve you two different versions.


Ah interesting, thanks for sharing that


I tried emacs Live and found it way to distracting to use for development work. It's like having an MTV video on your screen while you code.


I used emacs-live for development for a while. The color scheme is just horrible, however, emacs-live did a good job of showing me what was possible with emacs.


If you don't like the default color scheme try Gandalf. It's a little more subdued and "normal".


Hope to see some cool music made in Overtone being shared in this thread!


I use Extempore by Andrew Sorensen, which grew out of his Impromptu work [1]. It is a livecoding environment with its own language xtlang (vs. Clojure on the VM for Overtone). Watch some of his videos linked on the site, or on YouTube. Pretty incredible.

Lately, I realized I am not much of a livecoder in the same respect that I am not a performing musician. I have now picked up Euterpea again, a Haskell-based livecoding environment that you can compose at the signal or note level, but it is not really suited for live performance [2].

Grace, an all-in-one download, multi-platform, scheme-based music coding environment based upon Common Music (CM) is a great way to start without having to do much setup. It has great tutorials and samples in the menu under Help [3].

Livecoding is definitely more popular overseas than in the U.S. although there was recently an algorave in NY this year.

[1] http://extempore.moso.com.au/ [2] http://haskell.cs.yale.edu/euterpea/ [3] http://commonmusic.sourceforge.net


Can you experiment with non-western tuning systems (e.g. just intonation, etc) with any of these?


You can with Sonic Pi which supports a number of different tuning systems.


Please compare it to Spacemacs. The page mentions Prelude and StarterKit (both in the 2k stars), where Spacemacs much more popular (7k+ stars).

I'm really curious why they did not contribute to Spacemacs and decided to start yet another effort.


Spacemacs didn't exist way back when I started Emacs Live :-)


Fair enough!


Is this the way to go for Clojure? I've been using prelude (I wrote a 270 page book published by Packt in emacs org mode!) emacs is amazing




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: