← Back to context

Comment by egorfine

18 hours ago

> The constraint that ruined everything: It has to work on enterprise networks.

> You know what enterprise networks love? HTTP. HTTPS. Port 443. That’s it. That’s the list.

That's not enough.

Corporate networks also love to MITM their own workstations and reinterpret http traffic. So, no WebSockets and no Server-Side Events either, because their corporate firewall is a piece of software no one in the world wants and everyone in the world hates, including its own developers. Thus it only supports a subset of HTTP/1.1 and sometimes it likes to change the content while keeping Content-Length intact.

And you have to work around that, because IT dept of the corporation will never lift restrictions.

I wish I was kidding.

Back when I had a job at a big old corporation, a significant part of my value to the company was that I knew how to bypass their shitty MITM thing that broke tons of stuff, including our own software that we wrote. So I could solve a lot of problems people had that otherwise seemed intractable because IT was not allowed to disable it, and they didn't even understand the myriad ways it was breaking things.

> So, no WebSockets

The corporate firewall debate came up when we considered websockets at a previous company. Everyone has parroted the same information for so long that it was just assumed that websockets and corporate firewalls were going to cause us huge problems.

We went with websockets anyway and it was fine. Almost no traffic to the no-websockets fallback path, and the traffic that did arrive appeared to be from users with intermittent internet connections (cellular providers, foreign countries with poor internet).

I'm 100% sure there are still corporate firewalls out there blocking or breaking websocket connections, but it's not nearly the same problem in 2025 as it was in 2015.

If your product absolute must, no exceptions, work perfectly in every possible corporate environment then a fallback is necessary if you use websockets. I don't think it's a hard rule that websockets must be avoided due to corporate firewalls any more, though.

  • I've had to switch from SSE to WebSockets to navigate a corporate network (the entire SSE would have to close before the user received any of the response).

    Then we ran into a network where WebSockets were blocked, so we switched to streaming http.

    No trouble with streaming http using a standard content-type yet.

> And you have to work around that, because IT dept of the corporation will never lift restrictions.

Unless the corporation is 100% in-office, I’d wager they do in fact make exceptions - otherwise they wouldn’t have a working videoconferencing system.

The challenge is getting corporate insiders to like your product enough to get it through the exception process (a total hassle) when the firewall’s restrictions mean you can’t deliver a decent demo.

  • I think our corporate VPN doesn't send zoom video traffic through the VPN. As you enabled the VPN, you didn't see any dropped frames.

    Split tunnelling means the UDP packets just go through the normal internet.

Request URL has a query parameter with more than 64 characters? Fuck you.

Request lives for longer than 15 sec? Fuck you.

Request POSTs some JSON? Maybe fuck you just a little bit, when we find certain strings in the payload. We won't tell you which though.

They even break server-sent events (which is still my default for most interactive apps)

  • There are other ways to make server-sent events work.

    I try to remember many environments once likely supported Flash.

Corporate IT needs to die.

  • It's not corporate IT's fault, it's usually corporate leaderships fault who often cosplay leading technology and not understanding it.

    Wherever Tech is a first class citizen and seat at the corporate table, it can be different.

    • Believe me, the average Fortune 500 CEO does not know or care what “SSL MITM” is, or whether passwords should contain symbols and be changed monthly, or what the difference is between ‘VPN’ and ‘Zero Trust’.

      They delegate that stuff. To the corporate IT department.

      3 replies →

    • Sometimes they have checkboxes to tick in some compliance document and they must run the software that let them tick those checkboxes, no exceptions, because those compliances allow the company to be on the market. Regulatory captures, etc.

  • where else are you going to find customers that are so sticky it will take years for them to select another solution regardless of how crappy you are. that will staff teams to work around your failures. who, when faced with obvious evidence of the dysfunction of your product, will roundly blame themselves for not holding it properly. gaslight their own users. pay obscene amounts for support when all you provide is a voice mailbox that never gets emptied. will happily accept your estimate about the number of seats they need. when holding a retro about your failure will happily proclaim that there wasn't anything _they_ could have done, so case closed.

    • Oh yes you can absolutely profit off that but you have to be dead inside a little bit.

      And produce a piece of software no one in the world wants and everyone in the world hates. Yourself included.

  • I think the general idea/flow of things is "numbers go up, until $bubble explodes, and we built up smaller things from the ground up, making numbers go up, bloating go up, until $bubble explodes..." and then repeat that forever. Seems to be the end result of capitalism.

    If you wanna kill corporate IT, you have to kill capitalism first.

    • I’d say there’s nothing inherently capitalist about large and stupid bureaucracies (but I repeat myself) spending money in stupid ways. Military bureaucracies in capitalist countries do it. Military bureaucracies in socialist countries did it. Everything else in end-stage socialist countries did it too. I’m sorry, it’s not the capitalism—things’d be much easier if it were.

    • I don't believe that. I don't necessarily love capitalism (though I can't say I see very many realistic better alternatives either), but if HN is full of people who could do corporate IT better (read: sanely), then the conclusion is just that corporate IT is run by morons. Maybe that's because the corporate owners like morons, but nothing about capitalism inherently makes it so.

      6 replies →

At the same time, enterprise is where the revenue is.

  • Against all odds, you're right, that's where somehow revenue is being generated. IT idiocy notwithstanding.

    • Often, enterprises create moats and then profit from them.

      It's not usually IT idiocy, that usually comes from higher up cosplaying their inner tech visionaries.

>And you have to work around that, because IT dept of the corporation will never lift restrictions.

Because otherwise people do dumb stuff like pasting proprietary designs or PII into deepseek

  • Oh, they'll do that anyway, once they find the workaround (Oh... you can paste a credit card if you put periods instead of dashes! Oh... I have to save the file and do it from my phone! Oh... I'll upload it as a .txt file and change the extension on the server!)

    It's purely illusory security, that doesn't protect anything but does levy a constant performance tax on nearly every task.

    • >Oh, they'll do that anyway, once they find the workaround ...

      This is assuming the DLP service blocks the request, rather than doing something like logging it and reported to your manager and/or CIO.

      >It's purely illusory security, that doesn't protect anything but does levy a constant performance tax on nearly every task.

      Because you can't ask deepseek to extract some unstructured data for you? I'm not sure what the alternative is, just let everyone paste info into deepseek? If you found out that your data got leaked because some employee pasted some data into some random third party service, and that the company didn't have any policies/technological measures against it, would your response still be "yeah it's fine, it's purely illusory security"?