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

help-circle


  • The author clearly doesn’t realize that they still mock in their examples. I understand the annoyance with mocking away the complexity, however.

    To address your second claim - doing IO in tests does not mean testing IO.

    I test my file interactions by creating a set of temporary directories and files, invoking my code, and checking for outcomes. That way I can write my expectation before my implementation. This doesn’t test IO, merely utilizes it. The structure in temp that I create is still a mock of an expected work target.

    Very similarly I recently used a web server running in another thread to define expectations of API client’s behavior when dealing with a very ban-happy API. That web server is a mock that allowed me to clearly define expectations of rate limiting, ssl enforcement (it is a responsibility of an API client to initialize network client correctly), concurrency control during OAuth refreshes etc., without mocking away complexities of a network. Even better, due to mocking like that I was able to tinker with my network library choice without changing a single test.

    Mocks in the general sense that author defined them are inevitable if we write software in good faith - they express our understanding and expectation of a contract. Good mocks make as few claims as possible, however. A networking mock should sit in the network, for example, lest it makes implied claims about the network transport itself.


  • Teeth cannot produce enamel. Enamel is not a living tissue and it was produced by cells outside of the tooth in a coral-like manner. In order to grow a new tooth, you need it to be fully surrounded by specialized living tissue for the whole growth cycle.

    PS: I honestly expected something like this to come out of bioelectric computation research, but progress seems slower there. Or rather knowledge and techniques in other fields is reaching critical mass, giving us these advances.






  • If you use HTTPS, the attacker can still see what websites you connect to, they just can’t see what you are sending or receiving. So basically they can steal your browsing history, which defeats the purpose of a commercial VPN for many users.

    This is blatantly false. They can see IP addresses and ports of you connect to from IP packets, and hostnames from TLS negotiation phase (and DNS requests if you don’t use custom DNS settings). HTTP data is fully encrypted when using HTTPS.

    If exposing hostnames and IP addresses is dangerous, chances are that establishing a VPN connection is as dangerous.


  • Control of the DHCP server in the victim’s network is required for the attack to work.

    This is not a VPN vulnerability, but a lower level networking setup manipulation that negates naive VPN setups by instructing your OS to send traffic outside of VPN tunnel.

    In conclusion, if your VPN setup doesn’t include routing guards or an indirection layer, ISP controlled routers and public WiFis will make you drop out of the tunnel now that there’s a simple video instruction out there.







  • Please correct me if I’m wrong, but doesn’t this allow one to represent virtually any resource as a mail inbox/outbox with access through a generic mail app?

    I’m working with a specialized healthcare company right now, and this looks like a way to represent patient treatments data as an intuitive timeline of messages. With a local offline cache in case of outages. Security of local workstations is a weak point of course, but when is it not…



  • You’re showing your true imperialistic colors. “Let the empire pillage its colonies” and all that jazz.

    NATO was never an issue for Russia, and every time any kind of appeasement is attempted, Russia simply moves the goalposts and whines again.

    They did invade multiple countries, they invaded Ukraine twice, but you would rather see them occupy more territories and ruin more lives, as long as you can pretend that occupation by an openly genocidal regime is peace.