7 ms·
Modern software development is cancer
- simooooo 10y agoAny other opinions on the systems debacle?
- SFJulie 10y agoYes. Why we do web? Because lazy sysadmins blocked all but http. But we still need to communicate. Let's do udp like streams on top of tcp. And may be we need to open firewalls still to make A&B communicate without going through a Central stuff C to have no SPOF. Let's invent STUN a way to trick firewalls into opening an incoming transmission behing a FW. Our security seems broken. Indeed. What do we do? We put more broken stuff on the web like JWT/OAUTH. And the STUN bite into your security? Either ignore it or use a «DPI» proxy. But it breaks the purpose of secured communications and still does not solves the problem, and breaks TLS. Wait we have IPSEC in IPv6, no matter that cryptographically it is considered weak, it is by default in windows, PS4, and we have open source server... that are buggy as hell with root rights. Maybe PGP, SSH, roll your won crypto? Good idea, no users know how to use them correctly, devops included... And what about the multiplication of passwords and credentials? Let's use broken application with root rights and bugs to serve as a wallet that has a good UI, or an good enough application no one can use because of the restrictions? Money is based on trust. The real harm that can happen to IT is to lose the trust of the customers, hence its value.
- deleted 10y ago[deleted]
- zaptheimpaler 10y agoHere is what i think is a more balanced view - software devs now have more say/power because they are valuable/rare. More people are working on more complex software, which means a dev background becomes more important to effectively plan/manage it. They are using the power to direct resources to things they care about that were neglected in the past - one of them is surely software quality, because in a "product-driven" company, managers don't care about technical debt and will whip you to work on a shitty codebase regardless of how demotivating it is. In many cases being more dev-driven has saved time and money for the business in the long run. Even if that didnt happen sometimes, you know what, devs are people too and given the chance to improve their working conditions, they did. I'm personally pretty fucking happy about that.
- xMajedz 10y agoi agree with you, but in the fact that fedora uses a experimental software(wayland) is not user friendly
- steinuil 10y agoWayland works pretty well now, it's just lacking software support. And even that's not much of a problem, because you can run X clients inside it with XWayland. It is not strictly "experimental software" at this point. Also, Fedora is the "bleeding edge" distribution of Red Hat and is purposefully usen as testing bed for new features, like in this case Wayland. So if you're using Fedora and don't like Wayland, systemd and other such "experimental software", maybe you should stop using Fedora. (That's not to say I like Red Hat or what it is doing to the Linux community by forcefully pushing whatever they want to be the default on every Linux distro out there.)
- fleg 10y agoDoes Red Hat force Arch or Ubuntu to use systemd or Wayland?
- hubert123 10y agoRegarding systemd: I guess I like the systemctl commandline interface, I wasnt around for the alternatives. (if there were any?) I like that part of systemd. I like the fairly easy to write service files. I'm not sure how it relates to booting an OS though. Regarding programming languages: I think we absolutely need better programming languages, they are all still a joke to me. Rust sounded like the perfect language but then we all know what happened, same as c++. Personally I'm always surprised when somebody makes a new language and doesn't include a debugger or intellisense. It must be only me but it just shows a general disrespect or unawareness for me, the user you want to attract. You actually expect me to be productive with your language without them? C'mon. > Essentially, people who write code are just glorified digital welders Yep, that's actually what I think as well. Most programmers just don't think about the higher end goal, usability in the greater context of the OS or interaction design, simplicity, or even whether alternatives exist. They just see a job to do and they do it - often badly actually. Honestly, it's not just about software development though but that's what I know best. E.g the first Apple iPhone comes to mind: Finally a product that was truly just good. In basically every single way, designed for the user. It was beautiful. Github comes to mind, it just worked. Immediately and it solved a need. Before we had sourceforge. Facebook was similar in my opinion, although the situation is more complex there. > What should have been done - whip the developers into submission, force them to create a backward-compatible framework that supports everything, and make backend changes that do not affect the user in any way. That's how product-driven development is done Haha, somebody speaks from experience. Yeah that's actually how it is done in enterprise development in my limited experience. You just have to be backwards compatible, end of story. Don't care how it's done, just do it. > Why did smartphones succeed? Because they allowed a common person to do the same things they did on the PC cheaper and faster Yep, and also because it allowed the common person to be connected while not having to sit hunched over at a PC. The internet and the PC are clearly great things but people want to live their lives and be connected. With smartphones they get to have both. Personally I will never agree with these weird "wow look at how sad all those people are, staring at their smartphones". I remind myself of the pictures of people in the 1900s where everyone at the train station was hunched over their newspapers.
- pitaj 10y ago> then we all know what happened What happened?
- nallerooth 10y ago> They will destroy the old framework, put in place a new and undefined one, 99% of all extensions will die, and even more people will abandon the browser, because add-ons are the chief reason why people stick with Firefox. The WebExtension API is "undefined"? 1. https://developer.mozilla.org/en-US/Add-ons/WebExtensions https://developer.mozilla.org/en-US/Add-ons/WebExtensions 2. https://developer.chrome.com/extensions/api_index https://developer.chrome.com/extensions/api_index 3. https://arewewebextensionsyet.com/ https://arewewebextensionsyet.com/ To name a few sources.
- Latty 10y agoI'm going to give the benefit of the doubt and say this article is designed to be from the point of view of the user and to imply that you simply shouldn't get carried away with new systems, because they don't provide inherant value. However, the author doesn't write that clearly (except maybe right at the end), and instead comes across as "I don't get the value of this, so I'm going to claim it has none." PulseAudio gave me a ton - individual volument control for aplications, routing different devices to different applications easily, routing audio over a network, etc... Likewise, most of the examples provide some value. Everyone just has hatred for it because Ubuntu rolled it out too early when it was still not very stable, and people still remember it as this buggy problematic thing, even though it's been rock-solid for years, in my experience. The Firefox example is the most stupid - they are moving to a shared standard with other browers precicely to get away from the issue of every browser having their own standard. To me, this just reads as another "Wah, things are changing and I want everything to stay the same". Suck it up. Yes, often developers make or use new things just because we like learning and exploring. That doesn't mean new things can't do something it would be excessively hard to do in the old thing. It's about weighing up the cost/reward. Again, I'm probably being too hard on the article - it does kind of make this point at the end, but in my opinion ends up making the point of "fear new!" instead of the more nuanced point of "address the cost to your user of using something new before using it" that I think it's actually trying to make.
- pzone 10y agoYou're not being too hard on the article. The hatred for Wayland is especially pointless. The author claims that Wayland "has nothing to do with the vast industry out there" because servers don't run graphically, completely ignorant of the embedded Linux market (where the "monitor + keyboard + mouse" X paradigm is most broken) and other major driving forces behind Wayland. Yes modern software libraries are inconvenient because they change a lot and constantly break. But that's not a new thing, it's been a problem as long as software libraries have existed.
- cyberpunk 10y agoOff topic but I'm really not sure what wayland is supposed to give me that I don't already have? Do you have some insights here? Personally, my Linux laptop is finally rock solid graphically after a decade of pain and the idea of replacing a stack that took so long to mature is unappealing to me in the extreme.
- mrbrowning 10y agoAlain Ducasse recommends allowing a hot take fresh off the pan to cool for half as long as it's been cooked, so I guess I'll open this back up in about two and a half minutes.
- pjc50 10y agoNot a fan of the "X is cancer" framing. The valid point buried in all this is that software seems to have a shark-like nature; it's either moving forward or "dead". There is a lot of change for the sake of change, and everyone who's got comfortable in a niche really hates forced change. This is understandable in paid software when you only get paid for new features. It's less obvious in Free software unless you really do consider reputation-as-currency.
- Boothroid 10y agoThis articulates a lot of what I've felt in recent years. Here's this syntactically ugly new feature that allows you to save a few lines of code and obfuscates meaning from lesser mortals! Hey let's dispense with those tired old curly brackets and use indentation instead! Let's make a simple scripting language, and then extend it so that it becomes as complex and indecipherable as C++! Hey wouldn't it be a great idea to have a server that runs JavaScript! Try staying up to date when you have to work with a complex suite that tries to run everywhere and jumps on every passing bandwagon. You will then understand why the 'stuff changes, suck it up' argument isn't always valid. At times these days I try to get something done and discover the tools I have at my disposal are just poorly written crap on top of incompatible crap on top of indecipherable crap. No I don't want to use your stupid Jupyter notebook! Just give me the frigging source and a readme! So much stupid and unnecessary complication. I wish I'd just learnt C.
- ricardobeat 10y agoSorry, but how would C solve your problems? If that's the only thing holding you back, go for it, you can learn it in a few weeks. You won't be able to magically write a data analysis engine or high-concurrency server better than the tools you are complaining about though, in any reasonable amount of time. I think you, like the author, are severely underestimating the gigantic clusterfuck that is writing programs today, and how that would not be solved by merely avoiding writing new code.
- Boothroid 10y agoI have done bits of C/C++ and enjoyed it. Thing is I'm more than a decade invested now in geo so a few weeks isn't really enough to reach a similar level. If I were to start all over again I might think about embedded/EE hence C. My post was only half serious really, but I do get frustrated that there seems to be a 'because we can' attitude prevalent, and you just end up with more complexity. I used to thrive on geeking out but these days I just want to get stuff built. More and more I'm finding the tech working against me.
- jhall1468 10y ago
- bruce_one 10y agoIn a similar vein to "focus on one db and truly exploid its features" (vs an orm); I think targeting a systemd-aimed architecture/deployment can actually be quite neat and powerful. (I don't use it on desktop, but server based it can be quite neat (imo/ime) :-) ) Being that, for some situations, I truly do believe systemd is better than old school init (I think similar for s6/runit/etc too (ie they're better than sysvinit))
- Digit-Al 10y agoDoes anyone else find it ironic that the author finishes with "I'm paying, I'm the boss" when all of his examples apart from Windows are free?
- hatsunearu 10y agoWhy is he ripping on tabs on top? Seems like a bizarre point to make in an otherwise sound argument.
- Boothroid 10y agoYeah would've been better to at least understand why these are supposed to be so awful.
- JdeBP 10y agoThat supposed block diagram of systemd is taken from the Wikipedia article on systemd, where for the past two and a bit years there has been an explanation that it is not a block diagram of systemd.
- replete 10y agoCalling out some obvious real world issues there, but also kinda shitting all over some good ideas and innovations that have improved things, like containers. A better title would be "The Mother Of All Moans" Zzzzz