reader_1000
Joined 15 years ago
Joined 15 years ago
Isn't it everyone using multiple cloud providers nowadays? Why are they affected by single cloud provider outage?
Languages with stack traces gives this to you for free, in Go, you need to implement it every time. OK, you may be disciplined developer where you always augment the error with the details but not all the team members have the same discipline.
Also the best thing about stack traces is that it gives you the path to the error. If the error is happened in a method that is called from multiple places, with stack traces, you immediately know the call path.
I worked as a sysadmin/SRE style for many years and I had to solve many problems, so I have plenty of experience in troubleshooting and problem solving. When I worked with stack traces, solving easy problems was taking only 1-2 minutes because the problems were obvious, but with Go, even easy problems takes more time because some people just don't augment the errors and use same error messages which makes it a detective work to solve it.
Also my father used to use the feature of announcing outgoing calls when call is made by Siri, they removed it and I saw that many blind people also used to use this feature. I don't know what they thought while removing this feature.
Yes, building a solid project with boring technology that delivers real business value sounds good in theory but not so good when applying for a new job. Maybe it can help after you somehow manage to pass some initial screening.
[1] https://arstechnica.com/information-technology/2013/12/gmail... [2] https://news.ycombinator.com/item?id=6896378
If order of message processing matters, then Kafka is better suited then AMQP. For example, In a distributed application for money transfers, if AMQP used, message order will be lost and some problems will occur in the following scenario:
User A with an accound of $1000 makes order for two transfers T1 ($600) and T2 ($500)
- Rabbit delivers T1 to server1, before processing message, server1 enters a full GC.
- Rabbit delivers T2 to server2 and server2 processes message immediately, now User A's account have $500
- Server1 resumes its life after the end of GC, but fails to process T1 since account's balance is less than required amount.
However, it is T2 that should have failed because User A ordered T1 first and T2 after.In Kafka, when user account identifier is used for partitioning key, all User A's messages will be processed by same consumer (i.e server1), so even if server1 enters a full GC, that is OK, since T2 will be processed after T1.
Not exactly. When viewed in desktop browser, photo upload is not avaiable and you need to use developer tools to simulate mobile web browser view which is a workaround. Also, even in mobile web, you cannot upload more than one photo, even though this functionality exists in the app. These are very fundamental features of instagram, I think these are not so complex to implement in web versions.