• 6 Posts
  • 71 Comments
Joined 1 year ago
cake
Cake day: June 14th, 2023

help-circle











  • In my opinion NAT is a hack that makes lot of things harder than they should be. STUN and TURN are services that are created because there is no easy way to connect two hosts between different NATs. UPnP for port forwarding is another. CG-NAT is even worse. I have heard of so many people having problems with it.

    Breadcast is messy. It is like screaming into a room and waiting for an answer. Multicast lets the computer decide if it wants and needs to listen to a specific group message.

    IPv4 didn’t have cidr from the beginning. They only had classes. IPv6 was designed with complex routing and sub routing in mind.









  • There is a whole field, that looks a bit like religion to me, about how to test right.

    I can tell you from experience that testing is a tool that can give confidence. There are a few new tools that can help. Mutation testing is one I know that can find bad tests.

    Integration tests can help find the most egregious errors that make your application crash.

    Not every getter needs a test but using unit tests while developing a feature can even save time because you don’t have to start the app and get to the point where the change happens and test by hand.

    A review can find some errors but human brains are not compilers it is hard to miss errors and the more you add to a review the easier it can get lost. The reviews can mostly help make sure that the code is more in line with the times style and that more than one person knows about the changes.

    You can’t find all mistakes all the time. That’s why it is very important to have a strategy to avert the worse and revert errors. If you develop a web app: backups, rolling deployments, revert procedures. And make sure everyone know how and try it at least once. These procedures can fail. Refine them trough failure.

    That is my experience from working in the field for a while. No tests is bad. Too many tests is a hassle. There will always be errors. Be prepared.