It’s not completely clear what you mean, but I’m guessing you’re only routing a subset of your traffic through wireguard, probably only IPv4, and there may be some IPv6 traffic that is not being routed over your wireguard connection.
You can specify any IPs you want for DNS with wireguard, and if your allowed IPs include those addresses, then it should flow over your VPN.
I do this with Pihole at home, and it blocks ads while I’m away.
With whatever test you’re running that says stuff is “leaking,” keep in mind that the website is going to report any traffic that originates from your VPS as “unprotected” because it’s not their system, and even if you run your own DNS server, it’s still got to query upstream to a public DNS. All they’re really doing is demonstrating which upstream DNS server you have configured, and it’s up to you if you want your VPS’s IP to be connected to the query history of that upstream DNS provider.
You will usually need a hostname in DNS for your VPN server to make it easy to find/connect, which will use your normal DNS resolution. Once connected, if you have it set up correctly, new dns queries should route through your VPN connection. Just keep in mind that various results can be cached on your system and in web browsers, so you should quit and reopen your browser after you connect to the VPN before you run your “leak” test.
In my 20 year career, I’ve never had a single position where I could ssh into my work machine from a remote location.
I would say that if you have been able to do that, it’s exceptionally rare, and there are a number of security red flags of your organization is allowing that.
And you can do the previous years of the coding challenge at any time.
I took some time off, and this was a good source of solving “real” problems, rather than trying to write something to optimize for l33tcode (which, is fine… just not a good measure for typical software engineering responsibilities, IMO).
It’s necessarily complexity that is easily encapsulated in methods.
If those methods are under test to verify their behavior, trivial typos can be detected instantly, without adding another dialect and more conceptual overhead to a project.
If those methods are not under test, then there’s a tiny bit of help by using a DSL if it can be compile-time checked.
The absence of descent does not imply the presence of acceptance.
Sometimes people are busy and don’t have time to think about or discuss doing X thing, but they haven’t bought in on it.
A lead or senior person on the team needs to gather input and get a read from people individually, sometimes.
I also think there’s another good one when things are in a deadlock and nobody wants to force their position: “Disagree and decide.” - having some ruffled feathers and a resolution is way better than the illusion of harmony and no closure.
You said you were in the role of the “front end dev”. I presumed a structure of an API (usually implemented by a “backend dev”), and a UI (usually implemented by a “front end dev”).
My advice still stands:
You need to clarify the interface where each of your responsibilities are handed off.
If you are implementing the API, you can still produce the same document and then you need to get the other people that need to use it to verify that they can build what they’re doing from that. This means they will need to map the data from the API into the UI elements they need to provide. It also means that someone will need to see how that data will be sourced from the database, and identify anything that is not available in the database.
Prometheus has alerting and that’s really the preferred system for sending the alerts, IMO.
When there is ambiguity in the behavior of something like this, it’s usually easier to just construct a unit test and see what happens.
Make a class with some deeply nested members and then do an assignment.
See what happens.
I think the “learning” process could be similar, but the issue is the scale.
No human artist could integrate the amount of material at the speed that these systems can. The systems are also by definition nothing but derivative. I think the process is similar, but there is important nuance that supports a different conclusion.