Elektrine lite

← Feed

@jk@mastodon.social

Post #2232168

2023-09-17 09:14 UTC

think about how many amazing things computers could be doing that they're not because the people programming them think like this. think of all the useful, beautiful, and meaningful patterns and arrangements of data the world is missing because a smart and talented person is nevertheless trying to solve a problem as if it was a rubix cube, finding that one of the sides never lines up, and throwing the thing in the trash rather than suffering the indignity of accepting the chaos of reality

Replies (13)

  • @cpsdqs@icosahedron.website 2023-09-17 09:34

    @jk@mastodon.social i feel like this is a type of ‘shipping the org chart,’ except the org chart is technical internals that are being exposed to users, who do not care and would simply like the feature to work. adn they are right but that’s also not a reason to give up on nice code… code can be nice as long as it doesn’t compromise

    Open ##2232169

  • @afeinman@wandering.shop 2023-09-17 10:54

    . @jk@mastodon.social So, this has been my day job for the last 15ish years--talking devs down from the brink of "but a complete solution is not theoretically possible!" to "here's a compromise that satisfies user needs". I used to call it UX but now I am not so sure.

    Open ##2232170

  • @tomw@mastodon.social 2023-09-17 11:24

    @jk@mastodon.social I think this is at the root of the reason why any "real" (full time, not some kind of generalist like me) programmer absolutely cannot stand my code. It's like the very opposite: all shaped around the contours of some messy real-world problem and elegance or consistency be damned.

    Open ##2232186

  • @dog@shrike.club 2023-09-17 11:53

    @jk@mastodon.social I agree with this enormously though. It's true that the concept of 'best practices' are useful on large teams, but a lot of those practices are heavily mired in a corporate context of customers and delivery, with the idea you will pick up an existing codebase and leave it for someone else. The only advantage is scale, and what is that scale really for when software is finished? Software development will never reach its full potential while its philosophy is in the grasps of business.

    Open ##2232193

  • @0xC01DC0FFEE@bytearray.eu 2023-09-17 12:28

    @jk@mastodon.social finding philosophical insight in a decade old VLC media player forum thread is... well, something

    Open ##2232195

  • @joshbal4@m.fa.gl 2023-09-17 12:36

    @jk@mastodon.social I think it’s simpler than that: a fundamental aim of the VLC project is to support literally every media codec ever, and behave the same across all of them. Therefore it ends up with the lowest common denominator of supported features for those codecs.

    Open ##2232196

  • @jplebreton@mastodon.social 2023-09-17 16:37

    @jk@mastodon.social and the thing is, all software ultimately exists within "the chaos of reality". there is basically no computer program you could write that wouldn't be subject to some arbitrary need from the human beings using it. the idea of perfect code (which is different from the idea of an algorithm that perfectly describes something) is a childish illusion and philosophically nonsensical, like the idea of a perfect sentence.

    Open ##2232198

  • @Macroz@fosstodon.org 2023-09-17 18:25

    @jk@mastodon.social I don' t think it's nice to criticize the dev so. I think you are missing a lot of nuance of what it means to maintain software and blame a "hostile dev". I think more people should have a clear product vision and stick to it. Not accumulate all sorts of hastily created, half-working features that are to the detriment of maintenance. In commercially created software, someone pays the dev to take the shit. In open source usually no. A similar "response from a dev" https://gist.github.com/richhickey/1563cddea1002958f96e7ba9519972d9

    Open ##2232200

  • @zop@7td.org 2023-09-17 19:14

    @jk@mastodon.social perfect is the enemy of good enough.

    Open ##2232204

  • @heinragas@mublog.nl 2023-09-18 07:50

    @jk@mastodon.social But VLC already deals with all of the chaos of reality: they play every single video format! That is no small feat. They do it without the need of external codec packs, cross-platform. That is an amazing feat of engineering. To me, that is the _core_ "value proposition" of VLC. And that means that the software cannot (natively) implement anything that violates that core value proposition. If it doesn't work for all video formats, it doesn't belong in VLC. 1/

    Open ##2232205

  • @jk@mastodon.social The developer did explain that he could try to make a version of backwards seek that works with some video formats and not for others and that this idea was incompatible with his philosophy for the application, which is that it would work the same with all formats that it accepts. There is a plugin for VLC that enables the "close enough" backwards seek that a user suggested the developer include with the base VLC. & given that it is FOSS someone could fork it and implement that. I think the most instructive thing is the social dynamic at play here between a put-upon & perhaps a little snobby developer and a user base that doesn't want to understand the philosophical difference. It's the same social dynamic between people who won't switch away from Twitter use Mastodon because they believe it's too difficult to use, and the people who deride others for feeling that way. The user doesn't know about algorithmic complexity or the limitations of why it's hard to implement and they should not be expected to be. The developer needed to step back and issue a statement about it and invite others to contribute to the code base if they can, rather than debating them and getting all mad that users were telling him he came off snobby. The result was him refusing to work on the problem at all, which is probably the worst result possible.

    Open ##2232219

  • @cian@post.lurk.org 2023-09-19 00:44

    @jk@mastodon.social Conversely think of all the amazing things that computers aren't doing because the designers decided to try and make a piece of software do absolutely everything, rather than compromising the software in certain ways but making it possible to actually ship *something*.

    Open ##2232220

  • @oreolek@icosahedron.website 2023-09-19 02:59

    @jk@mastodon.social it's a great thread but why do you say it's about perfection? MPEG-TS is still common and unreliable format that can play nice and completely break in the same file, this is the land of no sane expectations. If you use the seek feature you'll just see moving blocks for a while.

    Open ##2232221