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

  • 1 Post
  • 21 Comments
Joined 3 months ago
cake
Cake day: March 10th, 2025

help-circle

  • I don’t understand how you think this works.

    If I say, “now we have robots that can build a car from scratch!” the automakers will be salivating. But if my robot actually cannot build a car, then I don’t think it’s going to cause mass layoffs.

    Many of the big software companies are doing mass layoffs. It’s not because AI has taken over the jobs. They always hired extra people as a form of anti-competitiveness. Now they’re doing layoffs to drive salaries down. That sucks and tech workers would be smart to unionize (we won’t). But I don’t see any radical shift in the industry.


  • To be honest, you sound like you’re only just starting to learn to code.

    Will coding forever belong to humans? No. Is the current generative-AI technology going to replace coders? Also no.

    The reaction you see is frustration because it’s obvious to anyone with decent skill that AI isn’t up to the challenge, but it’s not obvious to people who don’t have that skill and so we now spend a lot of time telling bosses “no, that’s not actually correct”.

    Someone else referenced Microsoft’s public work with Copilot. Here’s Copilot making 13 PRs over 5 days and only 4 ever get merged you might think “30% success is pretty good!” But compare that with human-generated PRs and you can see that 30% fucking sucks. And that’s not even looking inside the PR where the bot wastes everyone’s time making tons of mistakes. It’s just a terrible coworker and instead of getting fired they’re getting an award for top performer.



  • 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.




  • I don’t know. I might say “Matrix” and run a private server? But that’s a bunch of IT work. It’s attractive to use a SaaS because you don’t have to do any long-term planning or hiring; just pay Slack a crazy amount of money and it all works.

    Corps also like a commercial paid service because they get a contract with an SLA (even if it’s rare to actually get anything from these SLAs).




  • 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.)


  • I have no idea how well it works in reality, but I can imagine the Lifetime Pass being a good business model for them: only the most enthusiastic user will pay for 3 years up front (lifetime currently costs 3x the yearly). So when they get a Lifetime pass they’re getting 3 years paid up front and an evangelist who will probably tell their friends about Plex. If that Lifetime subscriber gets even one person to sign up for a yearly sub who otherwise wouldn’t have, then Plex came out ahead.





  • Changing jobs carries a lot of risks:

    • Many Americans live paycheck-to-paycheck and cannot afford to quit their bad job before looking for another
    • American healthcare system means that if you are between jobs and anyone in your family gets seriously sick/injured then you will be in medical debt for the rest of your life
    • For many people, there are few jobs available. Maybe the other jobs pay too poorly for them to live on
    • As discussed, employees aren’t given slack-time, so they can’t search for a new job while at work
    • Because they’re exhausted, they can’t search for a new job while not at work
    • Amazon isn’t the worst place to work. Your next job might be worse! (Small businesses in the USA are exempt from many rules and effectively-exempt from many more.)


  • The row limitation seems, to me, like an actually-good thing. Excel is for data where you might conceivably scroll up and down looking at it and 1M is definitely beyond the ability of a human even to just skim looking for something different.

    An older version of Excel could only handle 64k rows and I had a client who wanted large amounts of data in Excel format. “Oh sorry, it’s a Microsoft limitation,” I was thrilled to say. “I have no choice but to give you a useful summarization of the data instead of 800k rows (each 1000 columns wide) of raw data.”


  • Actual UML-according-to-some-books is old and unpopular now. I think C4 is taking its place, in that I’ve seen architect-types ask for it. More generally, I really like PlantUML and the prettier-looking Mermaid which both allow me to code diagrams using a text document.

    Yeah, I agree: academia gets people expecting to go, “give me 2x Visitor Pattern, then 1 Builder Pattern, then as many Divide and Conquers as you need to reach the end”. It can be nice to have a name for things, but most of the time I’m asking for, “see how the setup, actual work, and cleanup are nicely divided up? Do like that.” Or, “let’s put all the related endpoints in the same file.”