Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot Mniot

  • 2 Posts
  • 31 Comments
Joined 2 months ago
cake
Cake day: March 10th, 2025

help-circle
rss

  • To someone watching network traffic, a VPN connection looks like two machines exchanging encrypted packets. You can’t see the actual data inside the packet, but you can see all the metadata (who it’s addressed to, how big it is, whether its TCP or UDP, when it’s sent). From the metadata, you can make guesses about the content and VPN would be pretty easy to guess.

    When sending a packet over the Internet, there’s two parts of the address: the IP address and the port. The IP address is a specific Internet location, blocks of IP addresses are owned by groups (who owns what is public info) and there are many services that do geo-ip mappings. So if you’re connecting to an IP address that belongs to a known VPN provider, that’s easy.

    The second part of the address is the port-number. Servers choose port-numbers to listen to and the common convention is to use well-known ports. So, for example, HTTPS traffic is on port 443. If you see a computer making a lot of requests to port 443, even though the traffic is encrypted we can guess that they’re browsing the web. Wikipedia has a list (which is incomplete because new software can be written at any time and make up a new port that it prefers) and you can see lots of VPN software on there. If you’re connecting to a port that’s known to be used by VPN software, we can guess that you’re using VPN software.

    Once you’re running VPN software on an unknown machine and have configured it to use a non-standard port, it’s a bit harder to tell what’s happening, but it’s still possible to make a pretty confident guess. Some VPN setups use “split-tunnel” where some traffic goes over VPN and some over the public Internet. (This is most common in corporate use where private company traffic goes in the tunnel, but browsing Lemmy would go over public.) Sometimes, DNS doesn’t go through the VPN which is a big give-away: you looked up “foo.com” and sent traffic to 172.67.137.159. Then you looked up “bar.org” and sent traffic to the same 172.67.137.159. Odds are that thing is a VPN (or other proxy).

    Finally, you can just look at more complex patterns in the traffic. If you’re interested, you could install Wireshark or just run tcpdump and watch your own network traffic. Basic web-browsing is very visible: you send a small request (“HTTP GET /index.html”) and you get a much bigger response back. Then you send a flurry of smaller requests for all the page elements and get a bunch of bigger responses. Then there’s a huuuuge pause. Different protocols will have different shapes (a MOBA game would probably show more even traffic back-and-forth).

    You wouldn’t be able to be absolutely confident with this, but over enough time and people you can get very close. Or you can just be a bit aggressive and incorrectly mark things as VPNs.


  • Responsibility lies with “The Democrats” (some sort of far away secret group that I can’t influence) and not with any American. If those Democrats can’t give me my perfect candidate, then I’ll just give up and let the fascists win. Also, I can’t figure out why they won’t do this–my ideal liberal candidate would appeal to the majority of Americans!






  • It’s a funny post, but a serious point. The Europe of my childhood was different countries all very different from the US. But over time American media and algorithmic dominance are eroding things toward being America with accents. And what will you get for throwing away that cultural identity? Americans will still sneer at Europe.

    I think a trickier question is: if Europe ought to retain its own identity, then shouldn’t each European country retain its own identity instead of banding together as “Europe”.










  • it is agnostic of cloud providers: you can use it to deploy infrastructure to multiple providers

    Nicely put. I frequently see the first part of this sentence and not the second. (Maybe I only pay attention to the first part and then disappoint myself…)

    Terraform/Tofu allow me to use the same basic syntax and to have one project that controls AWS/GCP/K8s/my home servers, but I cannot use it to describe “a running server process” and just deploy that on any of those places. Instead I’d need to have like aws_beanstalk_service { ... } and gcp_application { ... } and kubernetes_manifest { ... } and systemd_service { ... } and the contents of those blocks would be totally different (and I’d need a bunch of different ancillary blocks for each of those).


  • The job market is not terrible. But there is a frustrating thing where a “senior” developer with 3 years of experience will get tons of recruiter-spam offering them $200k+ positions, while a junior developer (your position) will get ghosted when you apply for a job that’s offering to pay $50k. So it can feel demoralizing because people you see as your peers are having a very different experience. (And if you go in some circles the FOMO just never stops; people telling you you’re wasting your life not being a Meta dev getting $800k TComp or founding a unicorn start-up…)

    You say you enjoyed programming, which sure sounds to me like you could enjoy getting paid to do it. But it’s easy to overwork yourself because your boss says that real developers pull 80-hour weeks. Or burn out because it’s so frustrating to watch bad decisions ruin your good work. If you can find the right balance of caring and not caring, you can make good money and enjoy your job.

    And it only takes a year or two to get rid of the “junior developer” label and then jobs are a lot easier. (Others have said that the market is bad. And it is bad compared to how it was in, like, 2020. But it’s still a very good market all things considered.)