From the description, it doesn't really seem to be full Tail Call Optimization, but only optimizes tail recursion. At least all the examples are about tail recursion, where the function calls itself in tail position, which can indeed easily be changed to a loop. Tail Call Optimization would mean it optimizes any function call in tail position. Typically you'd implement that with a trampoline, but it doesn't seem like this does that.
Edit: It's actually called out under limitations "No mutual recursion: Only direct self-recursion is optimized"
Delimited continuations are quite similar to effect systems that seem to be getting a lot of interest lately. So who knows, maybe they will become more mainstream in the future.
Dependant on strikes (assuming at the money, assuming naked short) you would still profit if it stayed the same, or went up a little in price. Selling options is also being short volatility, so the 'bet' is that less will happen than is expected and, in the case of selling calls, with a preference for happenings to be downward.
A downward move could also see volatility go up significantly and increase the value of the options you are short, especially longer dated options.
I recently read The Unaccountability Machine (which I can recommend btw), which mentions Stafford Beer's experiments with a computing pond. Who knows, maybe we'll control our factories with mushroom brains soon!
I'm kind of curious if it would be possible for it to use my own voice but decoupled from accent. I.e. could it translate a recording from my voice to a different accent but still with my voice. If so, I wonder if that makes it easier for accent training if you can hear yourself say things in a different accent.
That would be interesting for sure, but considering you don't hear yourself the same way someone else or a mic does, I'm not sure it would have the benefit you're expecting.
> IMHO the only questionable pilot decision here is to divert to Edinburgh rather than Manchester immediately. But this is somewhat understandable: first of all, dropping the passengers off at Edinburgh (an hour drive from Glasgow) is significantly less costly and less inconvenient than dropping them at Manchester (an overnight bus ride).
Yeah, as someone who knows next to nothing about airlines, but has seen these type of decisions in businesses, this was the thing that stood out to me. This is all pure speculation of course, but I'd be curious how clear it was that Edinburgh would also have a high risk of being unsuccessful and whether the pilots felt any pressure to try that anyway. E.g. are there consequences for pilots who cause delays for passengers?
I didn't realize it until I searched for it, but as a kid I did have one of those. An M.C. Escher one (a quick search found exactly the one [1]). My aunt got it for me when I was little and I was fascinated by it. Fond memories.
I'm not an expert on this, but the main difference with a CRDT like Automerge seems to be the server reconciliation. See for example this article [1]. Automerge handles concurrent insertions by using a sequence number and relying on an agreed ordering of agent ids when insertions are concurrent, while this scheme relies on the server to handle them in the order they come in.
The article mentions this:
> This contrasts with text-editing CRDTs, in which IDs are ordered for you by a fancy algorithm. That ordering algorithm is what differs between the numerous text-editing CRDTs, and it’s the complicated part of any CRDT paper; we get to avoid it entirely.
I can buy the idea that many apps have a central server anyway, so you can avoid the "fancy algorithm", though the server reconciliation requires undoing and replaying of local edits, so it's not 100% clear to me if that's much simpler.
I believe that Automerge internally stores all operations in an eventually consistent total order, which you can use as a substitute for the server in server reconciliation (cf. https://mattweidner.com/2025/05/21/text-without-crdts.html#d...). However, Automerge does not actually do that - instead it processes text operations using a traditional CRDT, RGA, probably because (as you point out) undoing and replaying ops is not trivial to implement.
Edit: It's actually called out under limitations "No mutual recursion: Only direct self-recursion is optimized"
reply