The larger context is that we're making a major change to how we create IDs for email and mailboxes over the JMAP protocol. The old IDs are a UUID for mailboxId and the first 25 chars of the sha1 of the message for the emailId, prefixed by an 'M'. The new IDs are the createdmodseq for the mailbox prefixed by a 'P' (these are pretty short for most users) and a reverse counter of nanoseconds of the message internaldate (delivery time) for the emailId. This gives good storage density for offline and good data locality in databases for the email listings.
You can see all the code for that in a handful of merge requests in the public cyrus-imapd repository on github at https://github.com/cyrusimap/cyrus-imapd/
Over the past few weeks, I've been helping out with the last bits of code modification, largely the changes on https://github.com/cyrusimap/cyrus-imapd/pull/5539 if you're interested.
This morning we rolled out a build which we'd tested extensively on our staging and staff servers, but missed that for older v19 mailboxes which hadn't been upgraded to v20, the code to check if messages belonged in a thread incorrectly marked them all as missing.
This made MOST emails appear missing for most customers, clearly a very bad situation.
We immediately rolled back, but in the hurry missed that an unrelated change to correct subject matching for some languages (Japanese users had reported the issue, but possibly others as well) had changed the thread version, so new threads then had failed reads (making some, though many fewer, messages appear blank in the UI). There were about 50 million attempts to read those values over 15,000 users, because our UI was keeping on retrying thinking it was just a temporary synchronisation issue because the previous request told it there was a Thread to fetch data for. Ouch. https://github.com/cyrusimap/cyrus-imapd/pull/5527 contains those changes.
Anyway, since the only difference between the old and new records was normalisation of subjects, I wrote a tiny patch to let the old code read the newer records and just deployed that, which made all the emails re-appear for everyone again. This is the one bit of code from all this which isn't in a public repo, but it's two lines of: if (version == 2) version = 1;
Meanwhile, the real bug is fixed https://github.com/cyrusimap/cyrus-imapd/pull/5553 And a test has been written to prove it: https://github.com/cyrusimap/cyrus-imapd/pull/5554
But we'll wait until Monday to upgrade again, when we have fresh eyes available to watch that it's OK.
...
P.S. this is almost entirely unrelated to the UI changes. The underlying reason we're doing these changes IS related to UI changes, it's there to make offline mode use storage more efficiently on your device because the IDs are smaller and provide better data locality, but the timing is purely coincidental. The Cyrus changes have been done almost exclusively by the team in the USA and the UI changes by the team in Australia, and our deploy timelines were not synchronised.
I've been a happy Fastmail customer for 11+ years and will continue to be so. Everyone wrote that their experience with FM support has been good, but I've been even luckier: until today I never needed support. One bug per decade is a great record.
I admit my second message was terse, but the correct social media response for a critical outage is "we're looking into it". Not "if you want support, go here".
Like I said, I do not have time to hunt for whatever support channels exist and file a ticket. I pay $50 a year so they can deliver a working product, including triaging their own issues.
And every month, the government claims unbelievably low inflation: 4.2% in May, 4.6% in June.
Recovery was very quick. I was 20/40 a few hours after surgery and 20/15 the following day (could have worked at computer, but took the day off). Pretty intense dry eyes initially, but eye drops helped and this improved over next couple months.
10 months later, vision is still great (though I expect my eyes to continue their normal progression). Halo-ing effects at night are stronger than I expected (believe they're related to pupil size + hole in center of lens), but I've mostly learned to ignore it (I also now prefer not to drive at night). Minor dry eyes but might try NAC supplement as suggested elsewhere in discussion.
I'd do it again in a heartbeat (hated dealing with contacts on camping trips) but wish I'd been more informed of halo-ing risks.
I contacted support to check if this had changed and not only did they confirm that there is no way to cancel online, I was told that this is actually for my benefit! This was conveyed with a lot of corporate-speak trying rationalize the decision (or just confuse me).
An organization being greedy is one thing, but I really don't appreciate being gaslit about it. It's too bad because I like their work, but I won't support these kinds of business practices.
Recently canceled and (from transcript) it took 18+ minutes chatting with an online rep. They made sure I knew all the various benefits (newsletters, podcasts, etc), offered me multiple price discounts, and insisted that I try a slimmed down experience ("Espresso") for a month before truly canceling. I'll never consider re-subscribing.
play -n -n --combine merge synth '24:00:00' brownnoise band -n 750 750 tremolo 50 1
If possible I'd like to replicate the brown noise preset used on this[2] site.If you come up with anything please let us know.
[1] https://www.cloudacm.com/?p=3145
[2] https://mynoise.net/NoiseMachines/whiteNoiseGenerator.php
play -c 2 --null synth brownnoise reverb bass 6 treble -3
It's close to the myNoise brown preset, IMO, if a little bass heavier. @media (prefers-color-scheme: dark) {
body { background-color: #444; color: #ccc; }
.entries a:hover { background-color: #666; }
.c00 { color: #ccc; }
a:link, .c00 a:link { color: #ddd; }
textarea { background-color: #555; color: #ddd; }
.pagetop { color: #ddd; }
.pagetop a { color: #eee !important; }
#hnmain > tbody:first-child > tr:first-child td { background-color: #630; }
}In-state tuition for a full-time (15 credits) student at Salt Lake Community College is currently ~2100 per semester. At Denver Community College, ~3000 per semester.
That seems "nearly free" from our perspective in the tech industry, but when I was a young adult making $13/hr it was a challenge.