The abstraction is provide better UX. Anyone will have to write stuff over telnet to provide chained requests, variables, assertions, etc. Once you do that, you basically get a reimplementation of hurl.
- First charge needs a AFA and it will setup a mandate
- Subsequent charges will use that mandate and work without 2FA
- Cardholders need to be notified in advance of a debit and be given an option to cancel
What's breaking now for most services is handling the third part
Default block placement policy chose datanodes randomly for new blocks. This change selects 2 datanodes randomly and picks the one with lower used disk space.
This has been my approach thus far. The place where I work allows for practical applications of this (scaling systems to millions of requests per second, having no downtime operations, doing BCP/DR, etc.)
2 things on this
- Learning by doing sometimes feels like spending time on discovering things that would have been obvious given the right resources to look at
- It's still easier for non-functional aspects of system where there can be quicker feedback. The more abstract part to me is functional design of large systems
For e.g., there are great resources for more "basic" patterns (on Java design patterns, Effective Java, Clean Code, etc.). Are there such resources for roles beyond SSE?
I wrote a lot of code for payments processing at an Indian e-commerce shop & see/make it scale from 100s of QPS to ~200k QPS. Just having the code paths exercised by so many people over a day gives me joy.
One change that I will not forget that made the highest "perceived" impact with a one line change. The payments flow was at a different domain the rest of the site. This meant the users incurred a fresh set of DNS lookup, TCP connection establishment & a SSL handshake cost. The change was to load a "pixel" image from the payments domain a page before. It dropped the first call latency from 550ms to 100ms :-)
Hangouts Chat is such a botched launch. It is backwards compatible with single user chat and not group chats. It effectively ensures that people cannot completely migrate to it. The overhead of keeping 2 apps and getting the same notification twice was too much - ended up going back to classic Hangouts.
I built https://utils.foo last week. Client side only + ads free. Idea is to keep adding more utils to it, but keep it client side only.