478 karma · joined July 20, 2019
And I actually tried to go back to my mum phone this summer, she had an old unused Samsung Galaxy J3 (Android 5).
I only installed Telegram and Whatsapp.
It's totally doable but it's really slow. The positive thing is that most of the apps stopped working for Android 5. So even if I wanted to install them I cannot.
Unfortunately nobody uses in my area nothing else but discord, telegram and whatsapp so I feel I don't want to be completely disconnected that way.
I was thinking that, well, I could actually just wait to be in front of a laptop also for telegram and whatsapp but it seemed too much.
So I’m curious to see how this will we actually implemented.
(We also have Kafka topics where you can consume all the sources in your storage but that gives other problems so I’m not completely negative on giving a single point where you can aggregate data)
At work we have a use case like: well we create the data layer that you can query the way you want and the field you want with many clients involved. So like an API where you can make composable queries.
To me that sounds like an API with query parameters, do we really need to use GraphQL?
Let's see!
Then there are plenty of company that offer as a service to hire for you in the other countries removing you from the hassle of figuring out the technicalities of other countries.
Also, you probably never dated an Eastern woman, they are not weak at all :)
I was in the team handling flight research and I was adding some special rules for the markup engine.
While adding this new feature I noticed there was an instance of class getting initialized directly in a method, no dependency injection, and it was really hard to test this way since you could not fake this object.
The purpose of this object was to generate an hash for the request.
So I naturally let the IDE extract the dependency like I did many many times.
It was a really small feature and the part of the code was really old so nobody really knew all the secrets. Code review went quite ok so I just deployed it on our 65 servers.
And that's when I actually learned what a lock does on your CPU.
The flight search engine was usually hit by 350 search/s and on our dashboard I could see our CPU being constant 100%.
And that's how I learned that that class included a library that, a creation creates one write lock, and whenever you get the call to generate the hash you will use that lock.
So 350 req/s on a server were sharing only one lock.
Luckily we liked observability as a concept so production was down for less than 5 minutes and that's how I discovered why that class wasn't injected.
Eventually I had to remove that class because conceptually, without sharing the lock you would not get unique hashes but turns out that there was a workaround in place by using the name of the server and added to the hash...
Anyway that's when I caused my company to get silenced by flight metasearch engines across the world because we didn't respond for 5 minutes.
The next two hours our flight business people needed to call all our partners to unlock us.
It would have naturally happened in 6 hours but that was a lot of lost money.