Emacs Cloud

I’m taking a vacation from my programming day job to fix Gnus/Emacs stuff.  As well as going to Utah.  But that’s finally over, and I’m Imageback on a couch in San Francisco.

I think I’ve covered the outstanding bugs now, so it’s time for new features.  Mah favourite.

First off: I’ve been meaning to implement “cloud” features for Gnus for yonks, but the right time never seemed to arrive.  But now it’s here!

Basically, my vision is that you’d open an Emacs on a totally fresh machine, say `M-x gnus’, answer a couple of questions, and then you have your entire setup on the new machine.

Using magic?  No.  Using Dropbox?  No.

Using IMAP.

Everybody has an IMAP account.  Somewhere.  Even if it’s only Gmail.

Basically, it should work like this:

There’s a special “*Emacs Cloud*” mailbox.  This contains a sequence of data chunks that will bring your Emacs/Gnus setup up-to-date.  There are base chunks, and there are incremental hunks.

The Emacs Cloud will cover a subset of the files needed: .gnus.el, News/*.SCORE, .authinfo, and .signature.  And perhaps a few more.  If you edit these files, they’ll be uploaded (in full) the next time you sync.  In addition, Gnus deltas are handled specially.  If you read a message in rec.arts.sf.written, a command to propagate that is added to a trace file that’s also uploaded.

The first time you ask Gnus to start clouding it up, it’ll upload all this data, in full, in a “base chunk”.  After this, only “incremental chunks” are uploaded.  When downloading, Gnus will download enough stuff to recreate the situation on the other side(s).  When the incremental chunks (cumulatively) become big enough that they’re bigger than a base chunk would be, a new base chunk is uploaded.

Before uploading anything, the entire chunk is compressed, encrypted (using symmetrical encryption), and then base64-encoded.

So, to return to the opening scenario: You’re on a fresh machine.  You say `M-x gnus’.  Gnus will then ask you “Do you wish to sync with the Emacs Cloud?”  You answer “yes”, and Gnus then asks you what the IMAP server is, what the IMAP user name and password are, and what the Emacs Cloud password is.  Gnus then connects to the IMAP server and downloads the data.  And there you are.

Later, during normal usage, Gnus will automatically detect updates done in other instances, and download/upload data as required.

So you get a kinda sorta virtual file system over IMAP.

Details to be decided: What kind of format to use for the chunks (something rnews-like?), and what encryption to use.  And…  er…  no, I think that’s it.

And then there’s only typing remaining and we’re done.  Unless I get a cold.  Then there’s procrastinating before starting to type.

Now, if somebody would just release an Android phone with a physical built-in keyboard, then I could just run Emacs natively on the phone, and read all mailing lists and blogs in Emacs.  And with eww, I’d never have to leave Emacs and actually use the horrible Android OS.

New Menu Fad Detected

Here in Utah, I have detected a new menu fad. I think. At least I can’t recall seeing this before anywhere:


So basically, they’re warning us that undercooked meat is dangerous. (And please no personal checks).

Ok… But I’m at a restaurant. I don’t want them to undercook my meat.

But there’s an asterisk. And what items are asterisked (that should be a word):


Err… meats… and mussels… and cheese… but cheese with meat…  And there’s bacon in the mussels!

They’re asterisking all meat dishes!  Which is (in Utah) basically all dishes.  Even the cheese and the mussels.

But not the potato chips.  Seems like a missed opportunity.

Anyway.  Is this just in Utah?  New law?  Did somebody get sick?

The wording on most menus is similar, but unclear.  “Undercooking your meat is baaad”.  But it doesn’t actually say “these are dishes that may contain undercooked meat, so if you die after eating them, it’s all your own fault”, which is probably what they mean.

America is so complicated.


Snowed Out In Vail!

Driving from Moab to Denver, it started snowing just past Vail. Going up a mountain pass.

When renting the car, I asked whether it had winter tires. He said “Sure! All-year radials!”

That apparently is rental car guy speak for “no”, and our car had like no traction and we stalled.


The view from the car on the tow truck

We were towed up to the top of the pass, and then we drove back to Vail, because the next pass is supposed to be even worse.

Longer vacation!  Yay!