Yeah, I don't see how Python is fundamentally different from JavaScript as far as dynamicism goes. Sure Python has operator overloading, but JavaScript would implement those as regular methods. Pyrhon's init & new aren't any more convoluted than JavaScript's constructors. Python may support multiple inheritance but method and attribute resolution just uses the MRO which is no different than JavaScript's prototype chain.
For service A, a 500 error may be common and you just need to try again, and a descriptive 400 error indicates the original request was actually handled. In these cases I'd log as a warning.
For service B, a 500 error may indicate the whole API is down, in which case I'd log a warning and not try any more requests for 5 minutes.
For service C, a 500 error may be an anomaly and treat it as hard error and log as error.
What's the difference between B and C? API being down seems like an anomaly.
Also, you can't know how frequently you'll get 500s at the time you're doing integration, so you'll have to go back after some time to revisit log severities. Which doesn't sound optimal.
Exactly. What’s worse is that if you have something like a web service that calls an external API, when that API goes down your log is going to be littered with errors and possibly even tracebacks which is just noise. If you set up a simple “email me on error” kind of service you will get as many emails as there were user requests.
In theory some sort of internal API status tracking thing would be better that has some heuristic of is the API up or down and the error rate. It should warn you when the API is down and when it comes back up. Logging could still show an error or a warning for each request but you don’t need to get an email about each one.
I forgot to mention that for service B, the API being down is a common, daily occurrence and does not last long. The behavior of services A-C is from my real world experience.
I do mean revisiting the log seventies as the behavior of the API becomes known. You start off treating every error as a hard error. As you learn the behavior of the API over time, you adjust the logging and error handling accordingly.
My only complaint about Firefox on Android is it's slow even with ad blocking. Chrome is noticeably faster. Brave gives you the best of both worlds: speed and ad blocking.
I love how quickly the goalpost moves from "No ads" to "Only opt in ads" to "Ads can be disabled with two clicks."
Quit coping and just admit it, Brave is adware. If you like it, that's cool, totally your choice. It's fast, performant adware. But it's adware all the same.
When we're talking about reasons to switch browsers, then saying they both have the same behavior is not whataboutism. It's extremely important context to the complaint.
My contributions tend to be reproducible bug reports, fixing typos in documentation, and the rare bug fix. I submit them usually because I'm actively trying to use a library or tool for a problem I have. I rarely try fixing a bug because I really don't want to waste a lot of time learning each project's testing framework. And I don't really have time to become a regular contributor to the many projects that would interest me.
It continues to amaze me how a company racking in over 500 million a year in revenue can continue to fail so spectacularly. With that income there's no reason they shouldn't be the leading browser. Doubling down on AI is only going to burn more money while they continue to lose market share.
Are you implying that the direct competitor, Chrome, is taking in the same or less? Chrome has a much larger staff (excluding the rest of Google), so I guess they must all be earning a small fraction of Mozilla staff salaries. Such dedicated people!
My point is Mozilla achieves practically nothing despite making half a billion ad dollars for free from Google. If Wikipedia's numbers are right, that's $730,000 per employee.
Ah, but your words say Mozilla should be doing more than nothing, they should in fact be winning:
> With that income there's no reason they shouldn't be the leading browser.
despite having less resources than their primary competitor.
Well, our primary competitor. I work for Mozilla. Which apparently means I'm making $730K. Maybe that's why I pay my house cleaner with a suitcase full of cash every week. Who isn't as happy about it as she could be, on account of not existing. Some people are picky about that.
I'd love to be growing our market share dramatically, since I put in a lot of work when I'm not on HN. Sadly I've been told that work is achieving practically nothing. I will point out that practically nothing does at least include still having enough sway in standards committees to hold the line against an ad-tech company whose incentives all push in the dystopic direction that everything is currently headed in. (Ok, maybe not fully holding the line...) If that stops being the case and Mozilla stops making a difference, then I believe I could still get a job elsewhere for a fair bit more than I'm currently making.
Oh wait, I forgot I'm already making $730K. Maybe not, then.
reply