• 0 Posts
  • 95 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle


  • You should consider if you really want to integrate your application super tightly with the HTTP protocol.

    Will it always be used exclusively over a REST-ful HTTP API that you control, and it has exactly one hop to the client, or passes through hops that can be trusted to never alter the HTTP metadata significantly? In that case you can afford to make HTTP codes semantically relevant for your app.

    But maybe you need to pass data through multiple different types of layers and different mechanisms (socket protocols, pub-sub, file storage etc.) In that case you want all your semantics to be independent from any form of transport.


  • It’s a perfectly fine way of doing things as long as it’s consistent and the spec is clear.

    HTTP is a transport layer. You don’t have to use its codes for your application layer. It’s often done that way but it’s not the only way.

    In the example above the transport layer is saying “OK I’ve delivered your output” which is technically correct. It’s not concerned with logical errors inside what it was transporting, just with the delivery itself.







  • This whole debacle is a festival of stupidity:

    • It’s a personal project that taxes the sole maintainer disproportionately.
    • Millions of idiots use it blindly and end up building elaborate software on it. https://xkcd.com/2347/
    • I’ll bet you 99.99% of those idiots use it only for ip.isPrivate(), which you can write yourself in 5 minutes.
    • The CVE is a non-issue (who the fuck would call a function that takes string notation with hex numbers?)
    • Appealing and reverting or downgrading CVEs is super complicated.

    At this point the maintainer is fucked no matter what they do, so archiving the project and telling everybody to fuck off right back was really the only sane thing to do.





  • If you were 100% specific you would be effectively writing the code yourself. But you don’t want that, so you’re not 100% specific, so it makes up the difference. The result will include an unspecified percentage of code that does not fit what you wanted.

    It’s like code Yahtzee, you keep re-rolling this dice and that dice but never quite manage to get the exact combination you need.

    There’s an old saying about computers, they don’t do what you want them to do, they do what you tell them to do. They can’t do what you don’t tell them to do.






  • 60M total but divided among 40 counties makes 1.5M variations per county and the capital city (which is its own county, like Berlin) went over that.

    I looked it up and Bucharest actually has only a 1.7M population so… I think it’s understandable that nobody expected an almost 1:1 person-to-car ratio. Exactly why and how they reached that crazy ratio I have no idea. 😆

    Told you it’s a crazy rabbit hole.