
Turn your browser into a notepad with one line - bitsweet
https://coderwall.com/p/lhsrcq
======
tikhonj
This is what the _scratch_ (EDIT: read _scratch_ as * scratch * without the
spaces--is there any way to escape that properly on HN?) buffer is for in
Emacs, and I find it extremely useful. Also, unlike using a different tool, it
allows me to use all the Emacs-specific features I usually rely on. (For
example, I can easily type special characters like r₁ × r₂ ≈ r₃ using the TeX
mode.)

If you want more than one scratch buffer--which happens to me once in a while
--you can just create a new buffer with any name, and it will also do. New
buffers are in a different mode by default, but you can set it up to work
exactly the same way as _scratch_ if you want.

As another commenter pointed out, you can use the browser to evaluate
JavaScript. Emacs lets you do the same thing with elisp in the scratch buffer
by default: try entering in an elisp expression and pressing C-j.

Just a fun alternative to this trick for the Emacs users around here :).

~~~
lukes386
There's also a "scratch" plugin for vim that offers similar functionality:
<http://www.vim.org/scripts/script.php?script_id=664>

~~~
lomendil
For vim, I just open an unnamed buffer (:new). I think this is exactly the
same as the scratch buffer in emacs.

~~~
wfn
The only differences being, when you close vim, the scratch buffer does not
yield a save prompt, and also, if you open a scratch buffer, then close it,
and then reopen it again with :Scratch during the same vim session, any
leftover contents from before (but during that same vim session, of course)
will be restored, which is neat/convenient. :)

edit: misread your comment, thought you were comparing :new and :Scratch
(linked above), not emacs' scratch. Not sure about that one, but again, the
'reopen scratch -> find leftover contents' functionality is a neat thing.

~~~
dschep
:new | set buftype=nofile

------
simonsarris
Ah shoot. If Chrome allowed localStorage to be accessible from file:/// then
we could add save (CTRL+S) and automatic load using this:

    
    
        data:text/html,<html><script>window.onload=function(){var a=document.body;a.innerText=localStorage.mydoc;a.addEventListener("keydown",function(b){b.ctrlKey&&83==b.which&&(localStorage.mydoc=a.innerHTML,b.preventDefault())},!1)};</script><body contenteditable></body></html>
    

Firefox will save it to localStorage but clear the local storage afterwards.
Weird.

Oh well.

At least we can still turn our (Chrome) browsers into desktop calculators by
pressing CTRL+SHIFT+J!

(If you want the un-minified version of the code I wrote:
<http://jsfiddle.net/d5sGq/>)

~~~
jfaucett
That is so cool :). I just slapped together a (really) simple chrome ext for
opening up a new tab in "contenteditable" mode. It saves the contents into
localStorage, thats it for now :) Here it is if anyones interested
<https://github.com/jwaterfaucett/textpad>

~~~
zchr
Made it a chrome extension for an easier install.

[https://chrome.google.com/webstore/detail/textpad/edopaieiod...](https://chrome.google.com/webstore/detail/textpad/edopaieiodmddkbhpkfpjdlcjigacnkf)

~~~
cfontes
Thanks, works like a charm.

------
Cushman
For even more fun, turn your notepad into an interactive JavaScript
environment:

    
    
      data:text/html, <html contenteditable onkeyup="eval(this.innerText)">
    

Then you can upgrade it by pasting in something like this:

    
    
      this.onkeyup = function () {
        this.style.backgroundColor = 'white';
        try {
          eval(this.innerText);
        } catch (e) {
         this.style.backgroundColor = '#FFAAAA';
        } 
      }

~~~
shurcooL
Is there an equivalent to `this.onkeyup` for touch devices that don't generate
onkeyup events? Trying to make this work on an iPad, but I only have surface
knowledge of JS.

~~~
Cushman
Hmm... I only have an iPad simulator with me, but it works just pasting in
what I wrote above. Maybe something in your data URI is getting munged?

Keyup is used here rather than keypress (which fires only once for each down-
up event) since backspace won't fire keypress events, which is a nice thing to
have in a live environment. But I can't think of any environment which would
implement keypress and not keyup, or how one might work around not having key
events at all.

I did, however, discover that if you alert in mobile Safari (in simulation and
on my iPhone) on a backspace keydown, the keyup never gets through and it will
happily erase everything before the cursor.

~~~
shurcooL
You're right, it works fine with onkeyup. I tried pasting the URL directly
instead of opening from "other devices" and it worked. Thanks.

------
JacobIrwin
After some mix-and-matching of the awesome code snippets posted in the
comments, I came up with something easy on the eyes (with a nice little color
transition (for webkit-enabled browsers):

data:text/html, <html><head><link
href='[http://fonts.googleapis.com/css?family=Lato:100,200,300,400,...](http://fonts.googleapis.com/css?family=Lato:100,200,300,400,700,400italic,700italic)
rel='stylesheet' type='text/css'><style type="text/css"> html { font-family:
"Lato"; color:#e9e9e9; background-color:#222; } * { -webkit-transition: all
linear 1s; }</style></head><body contenteditable style="font-size:2.2em;line-
height:1.4;max-width:60rem;margin:0 auto;padding:4rem;">

~~~
stephth
Thank you. I've tweaked it to my preferences. I've gotten in the habit of
writing with a black on light grey monospaced font. Removing the web font
dependency (and the transition, again matter of taste) made the page snappier.

data:text/html, <html><head><style type="text/css"> html{background-
color:#CCCCCC;font-family: Monaco, Consolas, "Lucida Console", monospace;font-
size:14px;color:#424242;line-height:1.4;max-width:60rem;margin:0
auto;}body{background-color:#F0F1F1;padding:100px;}</style></head><body
contenteditable>Poop.</body></html>

~~~
drharris
Love this version. It's like writing on nice paper.

------
cooop
Forgive me for the shameless plug...but thought this might be useful for other
HNers and related to OP.

I put together a little project that uses the browsers localstorage so you can
jot notes down and come back to them, I find it useful as I'm always in the
browser, hope you do too: <http://a5.gg>

~~~
zevyoura
FYI local storage is not reliable, so you may want to think about a fallback,
or at least putting a disclaimer explaining that what you write will probably
but nitndefinitely still be there when you come back.

~~~
cooop
Good call. I intend it's use to be temporary for that reason e.g. quickly
scribble down a phone number/website/name etc to refer to asap.

~~~
zevyoura
Makes sense, and I like the simplicity of the design quite a bit. Maybe one
way to augment it would be to add a button that throws the content into a
gist/pastebin.something similar, so it could be more easily shared or
preserved? Of course, it's a fine line between that and having social media
buttons all over.

------
JonnieCache
Personally I'm more interested in the concept of typing gibberish to clear
your mind. What particular kind of gibberish? Doggerel verse? Blind keyboard
mashing?

~~~
mikebridgman
I often do an exercise that I've started referring to as a "brain dump".
Sometimes when I feel overwhelmed, for whatever reason, it helps to just
simply start typing. I start by just saying whatever is most present on my
mind, and each new thought starts on a new line. More often than not I end up
drilling down to some kind of inner conflict buried pretty deep in my mind.

What's really amazing is when seemingly unrelated stressful moments in your
life are revealed to be from the same source.

~~~
ChuckMcM
Apropos of nothing I believe this works because it frees up space in your
brain. Sometimes, when I'm trying to get too much done at once, I'm stressed
out by trying to keep to many things in the forefront of my thoughts at once.
When I get stuck like that I create a scratch pad document with three 'zones'

    
    
       Doing:
          stuff I'm working on right now
    
       ToDo:
          Stuff that I know needs to get done
    
       Done: 
         Stuff that is now done.
    

Start by dumping everything I'm thinking of in 'Todo' and pick one and put it
in Doing and while I'm in the middle of doing it when I think thoughts like
"oh and this should really do x" I add that to the Todo pile and go back to
doing. Each time I finish of the 'Doing' task I scan the todo list, move
anything I need to into Done and pull one up for the Doing pane.

By externalizing the bookkeeping of all the things I'm trying to keep straight
in my head I free up cycles to actually work on something.

~~~
jarel
Did you mean: <http://en.wikipedia.org/wiki/Kanban_board> ?

~~~
ChuckMcM
Nice! I hadn't actually seen that but that is exactly what I mean. Although
rather than help the team be more productive it's to let _me_ be more
productive :-)

~~~
ISL
<http://www.trello.com> ?

~~~
ChuckMcM
Yes, Trello does this pretty well. Not "switch to the buffer in vim" well :-)
but its a great tool. An iPad version would be cool.

------
e1ven
Very clever!

I set this as the default URL for new tabs.. Now, everytime I open a new tab,
I have a quick scratchpad for pasting/testing/etc.

~~~
muzzamike
That's a great idea, did you do it for Chrome? Seems like with Chrome it's
non-trivial to set the page for new tabs...

~~~
stephth
You can set it as the homepage (enableable in Settings). It adds an extra step
after opening a new page (either clicking on the home icon or shift-cmd-h) but
I prefer that to replacing the default Chrome page (with its Most visited and
Recently closed menus).

------
ernestipark
Nifty trick. To build on this, if you use chrome, add it as a search engine
with a special keyword so you can type in your URL bar something like "note +
<ENTER> \+ <TAB>" then you're in typing mode.

~~~
darxius
Yeah this is nifty. For the lazy:

Name: note

Keyword: note

URL: data:text/html, <textarea style="font-size: 1em; width: 100%; height:
100%; border: none; outline: none" autofocus /> %s

Of course, you could change the style of the URL. That's just what I defaulted
to.

~~~
franze
hi, here is my final version i use

    
    
      name: note
      keyword: n
    
      URL: data:text/html, <html><head><script>function placeCaretAtEnd(el) { el.focus(); if (typeof window.getSelection != "undefined" && typeof document.createRange != "undefined") { var range = document.createRange(); range.selectNodeContents(el); range.collapse(false); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); } else if (typeof document.body.createTextRange != "undefined") { var textRange = document.body.createTextRange(); textRange.moveToElementText(el); textRange.collapse(false); textRange.select(); } }</script><style> html{background-color:#CCCCCC;font-family: Monaco, Consolas, "Lucida Console", monospace;font-size:14px;color:#424242;line-height:1.4;max-width:60rem;margin:0 auto;}body{background-color:#F0F1F1;padding:100px;}</style></head><body contenteditable autofocus onload="placeCaretAtEnd(window.document.body);">we%20did%20this&nbsp;</body></html>
    

it uses the "paper" look and feed and sets the focus to the end of the
document so that you can just continue writing

------
ajross
> _Sometimes I just need to type garbage. Just to clear out my mind. Using
> editors to type such gibberish annoys me because it clutters my project
> workspace (I'm picky, I know)._

This is a hack and a workaround. The bug is clearly using an editor restricted
to editting files in a "Project Workspace". Yikes.

Everyone has their own workflow, and they're all insane (for myself, I have an
emacsclient wrapper that when called without a file will create a unique name
under ~/.emacsclient-scratch and edit that -- so I never lose anything I know
I was typing at one point). Still... this just seems like a really bad
solution. You get an "editor everywhere" but it's the default editor in your
browser. Ick. It's cute though.

~~~
zrail
That's a really good idea, thanks. I have `e` aliased to `emacsclient -nt` but
there's no reason why it couldn't make scratch files if not given an argument.

------
jnorthrop
That's pretty handy. In Chrome ctrl+b and ctrl+i bold and italics the text
respectively. If I can get bullets that could be a nice replacement for the
text editor I currently use for notes.

~~~
dbh937
At least on OS X, bullets are alt-8. Can't speak for any other OS. Looks like
this: •

------
darxius
Now I just need some javascript to listen for Ctrl+S and save it as a text
file in ~/Documents/scratchpads. Time to get crackin'

~~~
gruseom
How do you save stuff in files from the browser?

I've googled around about this a couple times and not found anything good, so
if anyone can point to some clear documentation I'd appreciate it.

~~~
mmastrac
I'm on mobile so I can write to much accompanying text, but start here:

<http://www.html5rocks.com/en/tutorials/file/filesystem/>

~~~
gruseom
Thanks to both of you. I'll check it out.

~~~
mrcoles
I don’t think that’s going to work, since the data URI is inherently local
(and only works on Chrome), and you can’t use the Chrome file-system API or
even localStorage when you're viewing a local file, unless chrome was opened
with `--allow-file-access-from-files`

------
Too
Nice gimmicky hack but not so practical.

Just pin notepad/your favorite editor to the taskbar(win7+) and open it with
win+shift+[whatever number that corresponds to the position you placed notepad
on the taskbar].

Much faster and much more powerful.

~~~
sturmeh
It's another window which isn't tab-bound to the browser.

~~~
dredmorbius
Oh, you're one of those Mac types.

You should still be able to navigate to that alternate app readily.

I find it easier to navigate to a clearly identifiable text editor session
(Linux) than try to track to a specific tab somewhere within my multiple
browser windows (on multiple workspaces ...).

------
shocks
Very cool.

I like this guys implementation too. <https://gist.github.com/4666256>

Perhaps an implementation with vim bindings support? :D

~~~
jey
I just use a hot key that launches a gvim instance...

------
donniezazen
750 Words[1] is a great tool for clearing your mind.

1\. <http://750words.com/>

~~~
WA
Interesting concept, but Facebook login + my (unique) real name (yes, there's
only one of me in the whole world) + unencrypted PRIVATE journal with
subconscious gibberish + possibly my email address = privacy hell.

I'd rather install this thing on my private webserver.

~~~
donniezazen
The analysis that 750 words does is very unique and interesting. You don't
have to connect it with Facebook or your real name. You may create an
anonymous account. Personal computer are very prone to failure. You will have
to save your information somewhere on the cloud. They all shady. It is a
compromise that you have to make based on your best judgement.

~~~
WA
Look, I wouldn't enter personal data anywhere on the internet. If I write 750
words a day, I write about personal things that could be clearly related to me
(by name or by my company name). I can't take that risk. Not because the guy
behind 750words is not trustable. I don't know him. But because I have no idea
whether or not his webserver is secure enough, whether or not he stores his
FTP password somewhere in plaintext on his mobile or his laptop.

It doesn't have to be him who is the weakest link in that security chain.

What I don't get from your posting is the second part. Personal computers
aren't prone to failure at all. I never had a single HDD crash. I backup my
data on a second HDD just in case. It's incredibly unlikely that my data is
going to be lost and that the cloud is the only solution for that.

So, there's clearly no compromise for me. Rule is: No cloud, no internet
service for private data. And heck, I don't even use any analytics software or
other software on my company website that I cannot self-host.

~~~
donniezazen
I see your problem and I agree with you. I think it's a complex issue. I am
afraid of not backing up. My hard drive or local server might fail and I would
like to keep a copy local and a copy offsite. All offsite vendors are somewhat
shady. At the end of the day, if you use computers connected to Internet, you
make yourself vulnerable of serious attacks. It is far from providing your
data yourself but point is security in a relative term. So, it comes down to
how sensitive is your data and how much you valve it.

------
TerraHertz
It's cute, but I can't help observing that we're what, 70 years into the
computer age, and there's still no ubiquitous, small, fast, clean text editor
present by default on all personal computers. (DO NOT speak to me of
Notepad.exe)

So discovering that 'by accident' web browsers can act as a simple (but huge,
bloated and feature-starved) text editor seems like a big deal.

Personally I keep a simple, tiny, old freeware editor called Editpad 3.4, on
every PC I use, accessed via desktop shortcut and 'right-click send-to'.

~~~
DougBTX
"all" is tricky, there isn't a standard command on all computers to list the
contents of a file, let alone edit. But even my WRT54G has vi installed on it,
and you can expect to find emacs and vim on almost any *nix.

------
mrcoles
I think the best part is how short and elegant it is.

I assume a lot of people won’t realize you can bookmark that URL since it
looks so weird. Also, once you’re bookmarking, you can cheat and put more
logic into the page. I made a slightly improved one with a dark background and
larger font (hard to post the link on HN, so on a separate page):

<http://mrcoles.com/one-line-browser-notepad-bookmark/>

~~~
shmerl
The second scratch+ doesn't work (Firefox 18.0.1).

This one works (# is breaking it really):

    
    
        data:text/html, <html><head><style>html,body{background:%23111;color:%23fff;font: normal 16px/24px "Helvetica Neue",helvetica,arial;}body{padding:24px 48px}</style></head><body contenteditable><script>document.body.focus();</script></body></html>

------
darxius
You know what's the most amazing about this? The amount of community
collaboration its driven. I saw this post when it was on the "new" page and
had no comments. Coming back a couple hours later, I can see tons of people
doing some tinkering on their own and sharing their finds back here.

I dunno, just something I noticed which I think is completely awesome and
indicative of the benefits of open-source and open-knowledge.

------
msoad
Bookmark this text editor I just made:

* Dark background * Tabs work as they suppose to!

<pre> data:text/html, <style>*{padding:0; margin:0}</style><textarea
style="font-size: 1.5em; width: 100%; height: 100%; border: none; outline:
none; background: #111; color: #eee; padding: 10px;" autofocus
onkeydown="if(event.which==9){ this.value += ' '; return false;}" /> </pre>

~~~
larrys
I like that.

Possible to add a button that brings up the save dialog in a particular
directory (as opposed to cmd-s and choose directory?) Or just the button (just
happen to prefer to cmd key myself)?

------
alpb
Looks more like Notepad with font face attribute.

data:text/html, <html contenteditable style='font-family: monospace'>

------
suyash
Beautiful...what other nifty things can you do except for making the element
'contenteditabe' ?

------
cunninghamd
I do this 2 ways:

1) I have a constant editor opened with a Notes.txt file, so I can save it.

2) I use Sublime Text 2 which maintains the state regardless of whether I've
saved the file or not, and is extremely cross platform.

------
robertomb
<http://dontpad.com> can help you guys! :)

Minimal and disposable browser notepad with friendly URLs being used to
save/password protect files.

------
dag11
The nicest thing about this is that you can CTRL+S save it as a .html file,
and then you can also CTRL+O load the file and it's still editable, and save
it again!

~~~
TerraHertz
Does not work in Opera. If you save as type: text, the text saves OK. But if
you save as html, the file just contains " &lt;html contenteditable&gt;"

Also, HOW to open an existing file while retaining 'contenteditable' mode?
Everything I try alters the URL field, so returning the browser to standard
display-only mode.

------
TerraHertz
It's about 10 years since I did any software development, and I only bother
with surface tracking of web-languages progress. So a lot of this is news to
me. Also maybe some of the posted 'improved versions' provide what I'd like
with this 'contenteditable' thing. It'll take a while to try them all.

Anyway...

So far I don't see one crucial feature: the ability to load an existing file,
and edit it. Am I stupidly missing something 'obvious'?

Being able to edit text and save, but not load existing documents and edit
them makes this a useless novelty.

I did notice one suggestion to load a doc then use a short js command to
switch to contenteditable. But that's not quite there.

Ideally, a browser could be made to work like this:

* Multiple ways to get it started: bookmark, desktop shortcut icon, url to public or private html page containing the config script. Once working like an editor it should stay that way, for multiple file load/saves and multiple tabs open.

* An 'open file' for any existing plaintext or html file, loaded from local filesystem (via file selector popup or bookmark) or the web (type known url or use bookmark).

* Ability to switch back and forth between three modes on the same document: raw plain ascii (no formatting), minimal formatting (B, I, U, bullets), and full html formated display.

* A document 'save as' as plain text (formatting stripped) or html, to the local filesystem, OR (best feature yet) anywhere with write enabled on a public or private web server.

* Nice if also handles encrypted load/save, so the doc is never in plaintext except on the local machine.

With that, the big name 'cloud' services can go take a leap. I could use my
own server(s), or ones I happened to trust. There is flatly no way I would
ever trust large enterprise cloud services.

Also, a tool like that which would allow editing on ANY machine with web
access and local file r/w enabled for the browser, would be very useful for...
things.

It always astonished me that browsers did not provide the capability to
natively edit the html they displayed. Such an obvious need, and you'd think
so simple to implement, that I'd concluded the absence of this ability had to
be a deliberate industry-wide agreed policy of capability avoidance. Which
means, for political reasons.

~~~
sesqu
The File API is still kind of poorly supported, but you could add that
depending on your browser (though you'd want to use an extension, since it'd
be a bit more code).

As for live-editing HTML, that's usually been considered out of scope for a
web browser, and been pushed to authoring or debugging programs. Chrome ships
with their developer console integrated, but IIRC Firefox still relies on
extensions.

~~~
aapl
Firefox now comes with a console, DOM inspector and JavaScript debugger out of
the box.

------
iandanforth
Slightly slower but I use this etherpad clone:

piratepad.net/[gibberishstring]

It's totally public though and there is no way to delete pads, so use with
caution.

------
drucken
Interestingly, NoScript addon for Firefox brings up the following message on
attempting the URL:

 _"javascript: and data: URIs typed or pasted in the address bar are disabled
to prevent social engineering attacks. Developers can enable them for testing
purposes by toggling the "noscript.allowURLBarJS" preference."_

------
natural219
I use Workflowy for this. In the url bar, I type:

    
    
      w <enter>
    

Or, if you're a a super-organized shortcut-type,

    
    
      w <enter> <esc> "@misc"
    

Bonus points -- combine with ctrl+T and ctrl+W for command-line-fu-like syntax
on whichever page you're currently browsing!

~~~
javajosh
I use workflowy too, but I'm not sure what you're talking about. `w <enter>`
is going to send you to the first site with w in the name (which in my case is
'wikipedia.com' - I have to type 'wor' for workflowy.com to be selected).

The `<esc> @misc` part also doesn't make sense. That just does a search for
tags, it doesn't put you in a mode to just write, which is what the OP's
solution does.

Last but not least, a little pro-tip for ya, since you like the command line
(or keyboard shortcuts as they are also called:) : Command-L puts the cursor
in the location bar. So you can do <cmd>+L w <enter>. Also, shift back to a
previous tab with cmd+shift+[ and +].

~~~
natural219
I'm simply describing my workflow -- Workflowy is easily my #1 "w", so that's
why this works for me. Probably not very helpful -- I just thought I'd
illustrate the "exact" same steps I take to achieve the same effect.

Same goes for "@misc". When I want to brain-dump some gibberish, as in the
OP's use case, the @misc tag contains a big dump of stuff that I generally
refine or delete later.

I don't know why I don't use ctrl+l -- i usually use ctrl+e or ctrl+k and then
backspace (why do these do the same thing in chrome?). But yeah, thanks for
the advice.

------
sergiotapia
This + Ruby syntax highlighting.

<https://gist.github.com/4666256>

~~~
minikomi
Thanks for this. Adding ace is a great idea!

~~~
jdkanani
<https://gist.github.com/4670615>

with support for Firefox 18 as well, and It comes with many languages and
themes.

------
homosaur
I'm actually surprised this link got this much traction, I actually thought
this was a thing that most developers were aware of. Shows you that you ought
to reconsider when disseminating information that you as a learned developer
think is "too basic" to bother writing about.

~~~
whichdan
To be fair, I knew nothing about contentEditable until I sat down and tried to
design my own RTE. It's actually very cool how little it takes to develop one
that works, and FontAwesome makes it even easier. I would definitely consider
it obscure.

As an aside, it's really interesting to look at the source for Ace[1]. It
doesn't use contentEditable, but certainly represents the sort of complexity
we'd need without contentEditable available.

[1] <http://ace.ajax.org>

------
symkat
I do this in terminals:

    
    
      cat > /dev/null
    

Type whatever you want, then control-D to end.

~~~
oftenwrong
That is a UUOC. This...

    
    
        > /dev/null
    

...does the same thing.

~~~
tedunangst
No, it doesn't. It just drops you to another shell prompt.

~~~
jasonm23
Not in zsh it doesn't. (tip: it's a zsh thing.)

~~~
tedunangst
oh, well, unspecified shell snippets are usually assumed to be some bourne
derivative, in which case the cat is necessary.

~~~
jasonm23
Agreed, just adding the caveat.

------
kenshiro_o
Awesome command. Now in Windows I won't have to do Start Key + R, then type
"notepad"...

The browser is the new OS!

------
Freestyler_3
I just hit F4 and click on my notepad. (opera) What's the advantage of this
guys way?

~~~
Tomis02
It's not an advantage, it's catching up.

------
ajanuary
So "data:text/html, " is the new "about:" to do some inline html? Useful to
know.

------
Skoofoo
The contenteditable element is neat for quickly turning HTML elements into a
notepad, but scripting custom functionality into it (creating a header after
pressing enter twice, etc.) was a huge pain in my experience.

------
iso-8859-1
In the summer of 2011 an infinite textarea was posted to HN. You'd be in
replace mode per default, and you could share it by URL. It would
automatically save. I'd be delighted if someone knows its name.

------
_quasimodo
I used to use a similar oneliner:

    
    
      data:text/html,<textarea style="height:99%;width:100%;" autofocus onfocus="this.value=localStorage['txt']" onchange="localStorage['txt']=this.value;">

------
taylorbuley
Now I just need to code up a quick "send to Gist" bookmarklet and I'm set.

------
ycuser
Nifty code. Nice to know trick. Personally the usefulness ends there. Folks
are adding in just about every little css,js goodies. Internet is an awesome
place to throw a stone and see it gather mass.

------
blisterpeanuts
Thanks for this nice trick. I have Emacs bound to ctrl-alt-E so can pop that
up whenever I need a scratch pad (Linux, obviously), but this is just cool.
I've bookmarked it.

~~~
dredmorbius
Vim for me, but same thing.

Actually, hotkey bindings: vim, terminal, root terminal, mail, web, and bc.

------
Nilzor
But... Why? I know he tried to justify it in his post, but to me, having a
save option FAR outweighs the "benefit" of having your notes in a browser.

~~~
jasonm23
It's almost like it's completely pointless... no?

Coming soon, find out what happens when you 20 GOTO 10!!!

------
gootik
That's a very clever hack! I've also been using this
<http://pencil.asleepysamurai.com/>

------
franze
i didn't know of contenteditable before, so 1000+1 thx. in my job i need to
scribble above existing pages like crazy, so i mashed together this
<https://news.ycombinator.com/item?id=5140200> \- a one liner / one unicode
icon bookmarklet to liveedit any page.

------
jaxb
There's a similar hack floating around:

javascript:document.body.contentEditable='true';document.designMode='on';void
0

(lets you edit currently loaded page.)

------
maskedinvader
if you want something more like this, chrome notepad [1] seems like a good app
that lets you sync notes across multiple devices using google account sync

1][https://chrome.google.com/webstore/detail/chrome-
notepad/ffb...](https://chrome.google.com/webstore/detail/chrome-
notepad/ffbhefmlcoihbjcmibbfkocmnaiacinp)

------
vette982
Extremely useful! I'm getting tired of opening Sublime, TextMate, or even
worse, Notes.app or Stickies.app.

------
shurcooL
I used to do WinKey+R whenever I needed to type or paste some plain text, when
I was using windows.

------
cfontes
We just need to port all Sublime 2 features( 3 maybe) to JS and add as onload
and I am set.

:D

------
PStamatiou
data:text/html, <html contenteditable><script>var t=prompt("what shall we name
this file?","new");document.title=t;</script>

^ you can now hit ctrl+s to save the file with a real name

------
jkd
polished version you can use <https://github.com/tholman/zenpen>

<http://zenpen.io/>

------
pla3rhat3r
This is the best post since Al Gore invented the internet!

------
anxrn
Very neat. Is there a way to only do plain text?

~~~
mmastrac
Try <textarea> instead of <html...

~~~
stevetursi
Thanks. Just expanded on that idea and did one of these: data:text/html,
<textarea style="border: 0px; width: 100%; height: 100%; background-color:
#F8F8F8">

------
malkia
Works on Safari, Chrome, Firefox, but not in IE

------
psteinweber
any ideas how to smartly send the written things to evernote? the webclipper
doesn't work.

~~~
epochwolf
Why don't you just log in to evernote and take a note there?

------
windsurfer
Does anyone else feel wary of typing _any_ data: URIs into their browser? It
might seem safe, but how can you know?

------
shaggyfrog
data:text/html, <html contenteditable>ATARI COMPUTER - MEMO PAD</html>

Ah, much better.

~~~
infinity
Yes :)

I have added some color:

data:text/html, <html contenteditable><body style='background-
color:rgb(0,81,129); color:rgb(93,180,227);font-family:monospace;font-
weight:bold'>ATARI COMPUTER - MEMO PAD</body></html>

------
sea6ear
This is really useful. Thanks.

------
nextstep
Works well on Mobile Safari.

------
icpmacdo
Very cool!

------
adjin
i bookmarked it as 'notes'

------
jQueryIsAwesome
In unrelated news coderwall.com really needs good syntax highlighting. Is
called CODERwall for God's sake.

------
IdealEthos
S.I.T. = Shit Is Tight

