PyRoom — distraction free writing
pyroom.org
pyroom.org
clean darkroom
and with menu
http://www.amazon.com/Etymotic-Research-Portable-Earphones-B...
35db of isolation. You basically can't hear anything, which is nice when you need to work somewhere noisy, or want to listen to music on an airplane. It's infinitely better than noise cancellation.
I'll probably give those a go, first, but if they do not suffice, these look worth trying, and at about $120 are within my price range (as opposed th the $300 plus that I've seen for some other items).
As you say, though, these work via passive blocking and not active cancellation. Some time ago, I came across an explanation by an audio engineer claiming that cancellation will never work fully with headphones. Even if the processing is fast enough, he argued, the distances involved between the speaker and eardrum just won't permit it. Perhaps this was in combination with the inertia and therefore delay in the speaker elements; I no longer recall fully.
When people state "wear canceling headphones", I've never yet seen the statement backed up with a real / real world use case.
EDIT: I guess/imagine it might be more a matter of the location of the microphone that drives the noise cancellation, than that of the speakers. Although I do seem to recall also something about the limitations imposed by pressure waves operating in such a small, confined space.
I know I'm not the only one facing this problem of environmental noise as distraction, although I may be towards the extreme end. If and when I find a solution like this that really works for me, it will be for me one of if not the most effective workspace "hacks" in my toolkit.
Edit: or in-terminal emacs ;) iTerm for Mac OS X has a nice full-screen mode
I would forever be your e-servant if you know how to do that. I'm sure I could figure out some hack, but it's just something I'd rather not work on.
(defun fullscreen ()
(interactive)
(let (f w l r cb b)
(setq cb (current-buffer))
(setq b (switch-to-buffer "*NOSUCHBUFFER*")) ;Temp buffer otherwise
(setq f (make-frame '((fullscreen . fullboth)))) ;settings don't take effect
(select-frame-set-input-focus f)
(setq w (frame-width f))
(setq l (/ (- w 80) 2))
(setq r (- w (+ l 80)))
(seq-default left-margin-width l
right-margin-width r)
(delete-other-frames f) ;Only one main window
(kill-buffer b) ;Kill temp buffer - now original buffer will get new margins
(switch-to-buffer cb)))
(defun fullscreen-off ()
(interactive)
(let (f cb b p)
(setq cb (current-buffer))
(setq b (switch-to-buffer "*NOSUCHBUFFER*")) ;Temp buffer
(setq-default left-margin-width nil
right-margin-width nil)
(kill-buffer b)
(delete-other-frames (make-frame))
(switch-to-buffer cb)))Awesome helps because sometimes you really do need to switch to another application (a terminal or browser) while writing. With Awesome you can switch between applications without seeing anything else. Be sure to turn off the Awesome status bar and the emacs menu bar for maximum immersion.
Also, it's nice to use a web browser like Conky that makes random browsing less convenient.
Why? It's not a programming editor. And, judging by the other comments, programmers don't want this, as they can get pretty much the same layout in Emacs.
Change the name and start using a better font for prose and you've got yourself a much larger and more suitable audience.