[0] https://pointieststick.com/2025/03/10/personal-and-professio...
427 karma · joined March 9, 2017
[0] https://pointieststick.com/2025/03/10/personal-and-professio...
It sounds like Nate is set on starting a conventional company, and that should be fine. The previous company apparently never made financial sense so it also doesn’t work to just continue that model directly and so things and people get cut. It can be both hard to communicate and to hear, doubly so when you’re emotionally invested. That’s why IMO it’s important to separate your self worth from your job at some level, for your own mental wellbeing.
It's pretty insane, so I'll state it again: To have a company connect to my SaaS via SAML, I as the SaaS provider have to pay my auth provider $X,000 per year for the privilege. Not counting the base enterprise tier pricing for the auth solution itself. So then I have to roll my own solution if I want to provide it for free, and I get the joy of supporting the long tail of broken SAML implementations on both the service and identity provider sides. For free. In a perfect world SSO wouldn't be a shitshow and everyone could have it for free, unfortunately that is not this world.
Business travel right now is non-existent and many companies are finding that things still work just fine without it and will not return to previous spend levels.
If you're building SaaS, go ahead and take that SaaStr article as gospel (and a lot of their other writing as well). Maybe you're a special unicorn where it doesn't apply, but most likely you aren't.
I have (a lot of) component code that will never be converted to hooks. Can I rely on you not to flake out and pull an Angular on me?
We have two projects, one using class components and one using hooks, and working on the class components one is unexciting, straightforward, sometimes repetitious, but never confusing. When writing hooks on the other hand it's constant gotchas; can't do that here, didn't memoize this, can't call that within this, etc. fuzzing until it works as Reacts expects. And then the bloody thing still renders on every frame. Back to the drawing board to figure out the right magic incantation. Probably memoize a few more layers, ugh.
The banks are doing jack shit in terms of useful work except shoveling application's SBA's way, with the SBA being the ultimate approver of the loan anyway! Bank are just in middle and limiting applications to their existing customers for no good reason whatsoever.
I think you're overestimating Google's sophistication.
I disagree that companies that pay a dividend by definition have a buffer. If the income plummets (like in non-essential retail at the moment), they have no hypothetical dividend buffer to fall back on, that if not paid out would keep them in business.
If the company chooses to pay out said buffer as dividends, it's to the benefit of shareholders. That's completely fine, market working as intended! But they shouldn't then be able to turn around and get state aid because the lack of said buffer now makes their company non-viable, at least not without restrictions like the Danes are imposing (no future dividends). To do otherwise incentivizes creating these fragile bufferless companies, and puts companies that do have a buffer at a competitive disadvantage.
What Denmark is doing, is saying you can get some aid to help your company, but going forward you must pay us (the society who supports you) back before you pay your investors. Unfortunately the dividend restriction period is capped at two years, while it should really be for an indefinite time.
This makes perfect sense, otherwise it's a textbook case of socializing the losses and privatizing the profit. Paying dividends (and stock buybacks) is a trade-off that companies make, that makes the company less resilient. Risk/reward needs to work in both ways, both in terms of gains as well as losses.
Companies registered in tax-havens should have no business applying for EU or US aid. I would say, simply barring them doesn't go far enough. If one did apply while being simultaneously registered in the EU/US and any tax haven, that is fraud and should result in jail time.
Even in cases where the IdP supports both SAML & OIDC, I see almost no one choosing to use OIDC (a case of the devil you know?). The only real users of OIDC in an enterprise setting I see as a service provider, is G Suite businesses.
It does work for the basic use cases, so I would still consider that an better option than rolling your own for the average service provider.
I have a theory that one reason we don't see many your-SAML-implementation-is-completely-broken reports is precisely because it's a gated enterprise feature, so few independent security researchers have the access or ability to poke and prod at them outside of private penetration tests.
I'm however speaking from the point of view of the service provider (the SaaS app) and about SAML in particular. I feel that the addition of SAML into a given service is a net-negative from that service's security point of view. It's a large additional complex attack surface, many open source SAML libraries that I've reviewed have a history (and in some cases open issues right now) of "pants on head" type of security errors. A popular library in use right now, has a known race condition where it gets confused if there are concurrent SAML requests happening.
And that's just the libraries. Then you have to use them correctly. The libraries do the absolute minimum checking since they don't have the context, you have to add a laundry list of your own checks to them. Just recently there was a HN article about taking SAML assertions posted to provider A and re-using them on provider B, where clearly the most basic of checks aren't in place at all. There's all kinds of confused-deputy type of problems I believe most service providers don't think about at all. And that was an easily offline checked attribute, I believe if you'd start to check how many services correctly implement even the basic "inResponseTo" check on SP-initiated flows (which requires a distributed cache on the service provider side), you'd find they don't.
Instead of directly bolting SAML into your app, I think a FOSS implementation of an independently running service is the way to go. You run the battle tested open source service (locally / in your cloud), it accepts the SAML assertions and mints something sane like JWTs which can easily be consumed by the service providers, isolating the entire thing from your core app and allowing it be used with any stack. E.g. essentially an open source locally deployed Okta. Doesn't even need to do any user management, just focus on rock solid interoperability and forward all decision making to the actual app server.
SAML on the other hand is different for each organization. Providers pay Auth0 and the like to have developers on staff who know the pitfalls and quirks of ADFS 3.0 on Windows Server 2012 R2, so they don't have to. Dealing with a single Okta as IdP integration is like the absolute best-case scenario there is. There is also zero consistency in what actual data IdPs returns out of the box to the SPs, so now you're walking the customer's admin through setting up the proper attribute mappings, etc.
I also very much disagree that SAML is a net security benefit, at least directly. It's for convenience, top-down visibility and control into what people are using, de-provisioning services, onboarding and offboarding users at scale etc. e.g. problems that only big companies have. Many SAML implementations are just as likely to add truck-sized security holes to the service provider when done poorly, and a lot of them are done poorly.
If you as a SaaS provider outsource your SAML integration to a third party provider like Okta or Auth0, the auth provider pricing is immediately on a "call us" tier, with a per-federation pricing in the low four figures for each company connecting via SAML. Let me just state that again, to have company X connect to my SaaS via SAML, I as the SaaS provider have to pay my auth provider $X,000 per year for the privilege, not counting the base enterprise tier pricing for the auth.