3 ms·
I understand the blog post here is about suc, and it is acknowledged immediately and honestly that the headline is slightly misleading, but there's an important
by anonym29 3y ago
I understand the blog post here is about suc, and it is acknowledged immediately and honestly that the headline is slightly misleading, but there's an important message here that ultimately has nothing to do with suc.
Almost all modern software is bloated to hell. The idea that one would need 1.7 million LoC for a rich chat server is absurd. To paraphrase Bill Gates, I don't think I could "spend" that many lines of code on a rich chat server if I tried.
Kudos not for simply calling attention to the problem, not for simply proposing an alternative, but for reminding people that the wheel need not be reinvented - cleverly implementing existing systems & subsystems to utilize their properties (e.g. ssh for authentication and encryption) in a manner that meets the intentions of those properties but not the originally imagined purpose of the system or subsystem is as good an example of the hacker ethos as any, and the software world would benefit immensely to draw from this concept. Lower costs, shorter development timeframes, and less engineering hours wasted rewriting functionally identical code is good for the developer, good for the company doing the developing, good for the end user, and ultimately good for humanity.
I wish to see a lot more of this kind of creative destruction and will try to implement such clever techniques in future projects myself.
- photonerd 3y agoWhile I agree in principle, a lot of the bloat is due to trying to have one codebase for a lot of different platforms. This is generally a good ideas as it increases the speed you can ship & reduces the size of the org. But there’s a big trade off: complexity & abstraction. The higher level your abstractions the worse it gets too. So it’s not without reason.
- jesuspiece 3y agoalso to make it user friendly. I know we're on HN so we're all tech people but this is super nerdy stuff lol. This would never get mass adoption like tools like Slack have that work across multiple platforms, including mobile
- linschn 3y agoYeah, mobile is tough. Termux works, but not as a comfortable experience as whatsapp. I'll see what I can cook up. Indeed, multiplatform is very very costly.
- lolinder 3y agoFWIW, most of the TypeScript lines of code are in the E2E tests[0] and the webapp dir [1], which, as the name suggests, contains "the client code for the Mattermost web app". So we should really only be counting lines of Go code. [0] https://github.com/mattermost/mattermost/tree/master/e2e-tests https://github.com/mattermost/mattermost/tree/master/e2e-tes... [1] https://github.com/mattermost/mattermost/tree/master/webapp https://github.com/mattermost/mattermost/tree/master/webapp
- linschn 3y agoI'll edit the article accordingly, thanks for looking into it.
- bandrami 3y agoI once was in a meeting about which web authentication framework to use for a site that ran so long because of bikeshedding that I implemented during the meeting and demoed at the end a solution based on the fact that HTTP already provides an authentication facility.
- simfree 3y agoHTTP basic auth? It works well on everything except iOS.
- Gigachad 3y agoHTTP auth is vastly insufficient for most use cases. You are missing passwords resetting, 2FA, bot/abuse detection, and probably a whole collection of other stuff. I’m also not sure if passwords manager extensions can prefill them. As well as the fact that the login form is only 1% of what an auth library does.
- simonjgreen 3y agoThey didn't actually say they used basic Auth :) (although it's a reasonable assumption) I think the principal here is not reinventing wheels.
- linschn 3y agoI want to thank you sincerely for capturing the sentiment of the piece. This is exactly what I had in mind and I'm genuinely happy you were able to get that from the text :)