Archive for May 28, 2021

Friday, May 28, 2021

Uber’s Crazy YOLO App Rewrite

Gergely Orosz (via Hacker News):

The mobile platform team has been working on the project for a few months, coming up with RIBs, a new architecture we’re using for the project. For the program teams - the ones building features -, the work started a few weeks ago. We have less than 3 months: the rewrite needs to be done by 16 September. Every last screen of the old app will not only be ported, but re-imagined, UX and workflows changed.


I tell him we cannot make the deadline. Not unless we cut the scope, push back the timeline, or add more people. Ideally, all three. He says we’ll see what we can do.


The pace of work is still excruciatingly slow. Tooling is a major issue: compiling the app from scratch takes 25-30 minutes on iOS and around 10 on Android. Landing a change to master can take hours and hours, due to to the long-running test suite, the merge conflicts thanks to the large number of changes and flakey UI tests.


None of us know for sure what the app release strategy will be until a week before launch. Then it’s confirmed. We’re going YOLO.

They wanted to release a combined app that included both the old and new versions, so they could do a gradual rollout, but it wouldn’t fit under the 100 MB App Store cap for cellular downloads.

Considering the circumstances, the launch was a roaring success. Very few critical bugs were found: which was impressive, considering the YOLO release and how little time we had to test.


Helix took a huge toll on most people. A few people quit during the project, but the majority of resignation notices came after we shipped the app. Many people did not even stick around a few months for March bonuses.


Using curl for Telnet Testing

Rich Trouton:

As part of introducing macOS High Sierra, Apple removed the telnet tool from macOS. This was part of Apple’s overall effort to improve security, as telnet does not use encryption and its traffic can be intercepted and read. However, telnet did (and does) serve a useful function as a quick way to check if it is possible to connect to a remote server on a particular port.

While there are alternative tools available for this task (like netcat), it’s also possible to still create a telnet connection on macOS using another tool: curl

Figma and the Num Lock Quasimode


In short, pressing Shift+2 using one key worked, but pressing Shift+2 using the numeric keypad key didn’t.

Curiously, the bug only happened on Windows, and not on a Mac.


Pressing Num Lock over and over again to switch between the modes would be slow, infuriating, and flow-reducing…


The solution: you could hold Shift and press the arrow/numeric key to quickly reverse its current mode.


The shortcut from MS-DOS was preserved in code through all the versions of Windows, from 1.0 all the way to 10!