• 1 Post
  • 22 Comments
Joined 1 year ago
cake
Cake day: June 18th, 2023

help-circle

  • My experience with maintaining open source projects (though mine are very much smaller) is that it’s quite similar to a business: you just have to deal with stakeholders and people who think they are stakeholders.

    I had all the same experience at work:

    • Some unknown person from an unrelated team contacted me because something that my team does not manage broke. I tried to help a few times and I suddenly became their personal IT support team.

    • Another time someone not even working at my company demanded that I drop everything and fix their problem, because my name appeared in 3rd parties libraries.

    It’s sad that open source authors don’t always receive the recognition that they deserve.








  • After many failed attempts at TDD, I realized/settled on test driven design, which is as simple as making sure what you’re writing can be tested. I don’t see writing the test first as a must, only good to have, but testable code is definitely a must.

    This approach is so much easier and useful in real situations, which is anything more complicated than foo/bar. Most of the time, just asking an engineer how they plan to test it will make all the difference. I don’t have to enforce my preference on anyone. I’m not restricting the team. I’m not creating a knowledge vacuum where only the seniors know how yo code and the juniors feel like they know nothing.

    Just think how you plan to test it, anyone can do that.




  • Let’s say YouTube has a video and 2 ads:

    1. The video is served from videos.example.tld/video.mp4.
    2. The first ads is served from videos.example.tld/ads/ads1.mp4.
    3. The second ads is served from ads.company.tld/ads2.mp4.

    PiHole will be able to block only (3) because DNS applies at domain level, as in videos.example.tld. DNS requests only send the domain part and re-use the response for all addresses using that domain.

    Browser extension, on the other hand, sees a request to .../ads... and block it since it handled each HTTP/S request and know the full URL.