There is also a more recent example of Arthur Whitney writing a C compiler in <250 lines of C. Remarkable how productive a programmer can be when he chooses not to overcomplicate.
I created EncryptedGist [1][2] to cover part of this use case. It gets me Vim backed by GitHub Gists on any machine I happen to be working on. Adding localStorage would be easy [3], but undesirable for my main purpose - I do not want any of my personal information remaining on the machine.
Edit: And just in case it wasn't obvious, I prefer to maintain my todo list/logs/notes/projects/bookmarks in a single plaintext file. Grows about 30k lines/year. Vim search/grep and some basic structuring/naming conventions go a long way.
Top of the file is my todo list with priority order of top 3 tasks. Next is a 'Waiting For' list. Last is a 'Projects' list for longer term, high-level categories. This fits on a single screen. Completed tasks, meeting notes, logs, bookmarks, etc., go below in chronological order and are all associated with a date. This system has worked well for the last decade or so with minor changes.
Microsoft solves this with RMS for Individuals: https://portal.aadrm.com/ (also called the RMS Sharing App, now getting rebranded to Azure Information Protection).
The recipient's identity is the key to opening the content - no need to communicate anything out-of-band. Depending on the file format chosen, you get DRM features limiting granular actions on the file beyond view/edit.
To open the protected files, your recipients will have to download/install the (free) app from Microsoft. This is generally pretty painless.
Definitely worth checking out, especially good for consultants' workflows.
I had the same need as SDEES (https://news.ycombinator.com/item?id=12441302), so I created a zero-install, client-side encrypted, browser-based editor using SJCL+CodeMirror in Vim mode.
I had the same need, so I created a zero-install, client-side encrypted, browser-based editor using SJCL+CodeMirror in Vim mode: https://github.com/srpeck/encryptedgist
I had previously built similar games using other technologies, but found developing in q to be far faster, even given the more primitive debugging capabilities.
I understand that this is a relatively small example, but building it was enough to convince me the APL/k/q approach is useful beyond its supposed niche.
I wrote a web-based MMO with the goal that players would augment their experience by enhancing their client (potentially allowing a single player to control 10s of units RTS-style) as well as writing AI/bots to help them. The game can be played entirely by bots (this is how I tested it during development). Interestingly, the game balance and mechanics are such that a skilled solo hero can take on large numbers of bots and win (see this gameplay GIF: https://github.com/srpeck/kchess/blob/gh-pages/docs/kchess.g...).
"Compared to other "password keeper" programs, CryptoTE does not force any structure upon your data: it works with plain ASCII text and does not require you to fill in grids, key-value attributes, descriptions etc. Encryption is transparently performed..."
This is the reason I wrote Encrypted (https://github.com/srpeck/encrypted) - a single 21KB HTML file plaintext editor that uses SJCL to encrypt all data persisted to localStorage or disk. As a consultant I am often provided a work machine that I cannot install anything on - but there is guaranteed to be a browser.
My standard response is "What is the pay range? Who is the client?" to the recruiter emails. The recruiters that get back to you generally mean business. Because of this, I have a huge amount of data on contract rates now. Also, a good side effect is that at least someone is telling them their rates are too low. Hope it helps another consultant down the line...
Also: https://hn.algolia.com/?query=http:%2F%2Fkparc.com%2Fq4%2Fre...