Preferences

cpburns2009
Joined 1,047 karma

  1. It really depends on the third party service.

    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.

  2. 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.
  3. They're developed by a billion dollar corp riding on their past success from when they challenged the leader of that time, Microsoft.
  4. 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.
  5. It's strange you're so adamant to label Brave adware while dismissing concerns that Firefox engages in very similar "adware" practices.
  6. Brave. It's a Chromium fork with a built-in ad blocker that's equivalent to uBlock Origin. It works great on Android too.
  7. The new tab ads can be disabled with 2 clicks.
  8. 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.
  9. (1) AI. (2) "Trust". (3) AI. I agree with the GP's statement: "we are doomed".
  10. 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.
  11. Mozilla's new CEO has nothing to do with US Tech Force.
  12. Finishing up adding support for optional regex engines to my Python file path matching library.
  13. He's really into trains right now so he's going to love it.
  14. I'm sure you know, but for those who don't know: "Little People" is a Fisher-Price brand of American-chibi-style figurines. They're basically the kids version of Funko Pops. I got my son the Fellowship of the Ring set.
  15. A wooden train set for my toddler-aged son.
  16. Python's decision to make dict keys ordered in the spec was a mistake. It may be the best implementation so far, but it eliminates potential improvements in the future.
  17. I get it in Brave as well.
  18. If you really need lock-free generation, you can use an alternate generator that uses new random bits for every submillisecond id. That's what the `ulid-py` library for Python does by default instead of incrementing the random bits.
  19. > I need to remind that it has a sequential ID generation mode in its spec which is prone to conflicts on multi-threads, processes or hosts which kills the purpose of a "universal" identifier.

    Can you expand on how this can actually cause a problem? My understanding is different processes and hosts should never conflict because of the 80 bits of random data. The only way I can conceive of a conflict is multiple threads using the same non-thread-safe generator during the same millisecond.

This user hasn’t submitted anything.