@lenjaminbeonard@almonk@superlogical On the contrary we’re hard forcing everyone to expense a Duo even if they’re not maining it. I think it’s incredibly important to nail this.
The Rex iOS app testing program started today with external testers and includes dedicated iPad and Duo support. Lots of polish to go on this one, but excited to get this in the App Store soon (free).
@massimodeluisa@0xcached@expo Sorry I didn’t mean anything by it. Just that I don’t know if I should or shouldn’t cause I don’t know it. It might be great, I don’t know.
To explain the level of dedication we have to creating an exceptional iOS experience: @almonk made exact-size cardboard cutouts of the iPhone Duo in various shapes and carried it around London method acting how he'd use Rex to try to design the best thing we could without access to the real device.
The Rex iOS app testing program started today with external testers and includes dedicated iPad and Duo support. Lots of polish to go on this one, but excited to get this in the App Store soon (free).
@dusangran It has a fully custom Duo-specific layout, early still and lots of polish required as noted (across the board). @almonk walked around London with cardboard cutouts of the duo in various shapes trying to imagine how he'd use Rex on the go. lol.
After being on the waitlist for ~15 years, we got the call and are Lakers season ticket holders. My wife and I have been a huge Lakers fans our whole lives. Season tickets were always a dream. My wife and I felt really lucky at the opener last night. ❤️ The seats are alright. 😜
@rednafi At this stage, expect limitations, but a question I've asked everyone is: if you choose not to use it yet because its not good enough,I want to know why not.
@adilrc@johnternus I would accept a larger fee, too, as well as a higher burden of proof or tracking (e.g. that its going to a company, that it isn't resold, etc.). It sucks AS A USER that we have this chicken/egg problem. As a developer, it sucks for a lot of other reasons.
We invited 5,000 more people to the Rex macOS beta today, about 7,500 so far this week. Last week we only invited ~2500 in TOTAL. We're ramping up quickly. We've now invited ~15% of our total waitlist. We also started the Linux server testing program today with 100 people.
@serenatanng@tinkeredbyerwin@AITinkerers You can't do that when I stop you in person in a hallway, pull you into a meeting room with a whiteboard, and ask you right then and there. The whiteboard defense must happen in person with zero devices present.
The latest Rex preview release includes a very important subsystem I've been working on for weeks to enable full forwards+backwards API compatibility with clients and servers. This was gating the Linux test program and massively opening up the Mac test program.
We just invited another 1,000 (to Mac) and if it goes well this will step up considerably this week. The Linux test program will likely start this week (separate invite waves amongst existing testers).
The API compatibility system is super cool. At a high level:
Every API change is a rule on a JSON pointer (RFC 6901).
For each message, we compile all the rules between your version and ours into a trie keyed by JSON path tokens. This happens lazily since we don't want a full quadratic explosion (a message with N revisions has N possible chains of length 1 to N). We don't want to build N^2/2 trie nodes when most WON'T be visited.
Next, we wrote a custom recursive descent streaming JSON editor (forward-pass only). If a key doesn't match any subtree in the trie, we fast-path copy the full value onto the wire (nothing in it can possibly matter for compatibility).
Equal chains of changes are interned to the same pointer, so when we broadcast an event to many old clients, we translate it once per distinct chain, not once per client.
The result of all this plus some other work is that we simulated various shapes of 10,000 long revision chains (note: we're on revision 4 at the moment...) with pathological changes of various shapes and an upgrade costs about 35 _microseconds_ on a 20KB JSON body.
@djgrant_ Yep. Clients can of course do whatever they want but the design lends itself to the trie. We compile a set of declarative manifests with golden fixture examples for clients to verify conformance.