News for hackers. Stuff that matters.
Re:DevOps is a failure by stathibus on Sunday June 26, 2022 @05:16PM (#31888050)
My classic C programmer curmudgeon take is that the root of the problem, as with everything else in this industry, is bad software built on top of bad software built on top of bad software... and on it goes.

The systems in your 2022 world are hard to test and maintain because they are bad, and the tools we built to test and maintain them are largely built on the same foundational ideas and technologies, so they are even worse.

We're going to have to rip everything back down to the foundation in order to make progress beyond finger-pointing (X is DevOps but Y is software engineering and Z is IT admin).

Re:DevOps is a failure by arinlen on Sunday June 26, 2022 @08:16PM (#31889318)
> My classic C programmer curmudgeon take is that the root of the problem, as with everything else in this industry, is bad software built on top of bad software built on top of bad software... and on it goes.

No, not really. Nowadays things are way way better than how they were a decade ago. Nowadays you can get pipelines that build and test on multiple target platforms with a dozen or so lines of code, and things run so well that they became reliable infrastructure integrated with your prod system.

Back then you had none of this, and had to pay the salary for a "build engineer" who worked like a wizard stirring a cauldron just to get a single production build out of the door.

Re:DevOps is a failure by hinkley on Monday June 27, 2022 @12:39AM (#31890641)
I’ve been cultivating this opinion that it’s the other way around. In any other domain, few people use crap tools to make something amazing, and I think it comes down to what you surround yourself with informs what you make.

We need better tools if we want better things.

Re:DevOps is a failure by rthille on Monday June 27, 2022 @02:28PM (#31898635)
Back in the late 90's I worked on a system that shipped on 4 different chip architectures, 4 different (unix-based) operating systems, dealt with different endianness and was more reliable and easier to understand. And it was more responsive to users with 1990's hardware than stuff is today. :shrug:
Re:DevOps is a failure by blueflow on Monday June 27, 2022 @04:45AM (#31892023)
The bad things are still around in your infra even if you manage to never see them because you only see the "dozens lines of code" at the front.
Re:DevOps is a failure by mrjin on Monday June 27, 2022 @07:04AM (#31892872)
Someone who really buys that "dozens lines of code" will definitely has no idea what kind of complexity it was about.
Re:DevOps is a failure by mrjin on Monday June 27, 2022 @06:54AM (#31892792)
Oh sure. Can you try to set up ANY CI pipelines to make it more or less working, don't worry about "pipelines that build and test on multiple target platforms" and get back to share with us your experiences?
Re:DevOps is a failure by allarm on Tuesday June 28, 2022 @01:30AM (#31904433)
What exactly do you want to hear? Not op, but I’ve been doing it for some time.
Re:DevOps is a failure by mrjin on Tuesday June 28, 2022 @05:29AM (#31905799)
How much code did you write to get it barely working all by yourself? Or you were just working on top of someone else's work? I did it a couple of times, it was never something like "dozens lines of code".
Re:DevOps is a failure by dasz on Sunday June 26, 2022 @07:16PM (#31889021)
I don't think we need to muddy the water by saying bad software. Just write the word software. It's multiple layers upon layers. This isn't automatically bad.

There's so much more going on. I don't know if the complexity is all required but we're doing more now. There's just more going on. That's how it is. We need the abstractions. Maybe not all of them. But we need more abstractions and tools running now. There's so much to manage.

I don't see us reducing this complexity that much other than consolidation and some simplification to clean things as they get sorted further. But there is still a need for the layers. It's not 2005. Things are more complex.

The nearest analogy is would you like to code everything in line numbered BASIC or would you like to do it using some modern equivalent? Even with the additional layers there has been real progress in the tools. Improvements across a multitude of metrics. It's not all complexity for the sake of complexity.

Smile. It's another stage of progress. The old mess will fall away. At the next stage what we see as an improvement now will be the next stage's mess. There's a whole slew of problems that will need even newer tools.

We haven't even scratched the surface of the automation we'll require in ten years time.

Re:DevOps is a failure by theflyinghorse on Sunday June 26, 2022 @05:27PM (#31888162)
What software is bad precisely? The modern browsers? The tools we use to build modern browser apps? Perhaps your gripe is with something else entirely, like modern databases? Or is it the OS that you don't like?

Really not sure what you're commenting about here

Re:DevOps is a failure by metadat on Monday June 27, 2022 @12:33AM (#31890617)
Some people feel anything not written or created by them is "bad".

It doesn't matter to me who turned the wrench, but in my career I've encountered these types where it's only good enough if it's theirs. And IMHO their output is generally quite atrocious. Root cause: Psychological issues.

Re:DevOps is a failure by hinkley on Monday June 27, 2022 @12:40AM (#31890647)
Shit most of the stuff I write is bad too.

What’s missing a lot is empathy, and that takes slowing down and observing.

Re:DevOps is a failure by patrick451 on Monday June 27, 2022 @02:30AM (#31891272)
We have way too much empathy for bad software. Honestly, it's almost all total shit. If my care was as bad as the median level of software, it would last 30 days and then be broken down in my driveway until the scrapper hauls it off.
Re:DevOps is a failure by kaba0 on Monday June 27, 2022 @05:14AM (#31892221)
What part of the stack you think of? Because my experience is that the underlying stuff Just Works^TM. Sure, it does have the occasional hiccup, but 1 out of 1000, it is some higher level tool that has a bug.

Just to share the terminology, under underlying stuff I mean the linux kernel, the JVM, etc, while higher level stuff could be certain build tools (khm, looking at you npm), and of course end user tools that are unfortunately way too buggy. Like I have a hard time listing end user applications where I didn’t notice a bug yet.

Re:DevOps is a failure by hinkley on Monday June 27, 2022 @01:16PM (#31897632)
I feel like there's an opportunity missed here with the transition to clustering for us to build a small kernel for running simple services and moving things over to run on top of these things.

Give me a tight, highly coherent API, with a culture of avoiding feature factory work. At least get "Make it work, make it right, make it fast" to not skip "make it right" anymore. That's sort of the core illness in software today.

Open source doesn't have to be pushed by business concerns. There's a degree of regulatory capture, but the biggest problem is that we just don't know any better. We repeat what we see, and make sure our own pain points are handled. I've seen this play out in API design where an awful API is introduced, and each person who fixes it only fixes 20% of the pain, and so it's 10 years before we get from a mediocre library to one you could actually call 'good', because nobody made 'good', they made better than better than better than ridiculous.

Re:DevOps is a failure by metadat on Monday June 27, 2022 @01:46AM (#31890984)
The sad part is when encountering this situation and the person who you wish could develop some empathy is completely unreachable and hostile. Terminal.
Re:DevOps is a failure by hinkley on Monday June 27, 2022 @01:55AM (#31891047)
It’s fine. Works as expected. Closed due to no activity for 30 days. File a PR if you’re so smart.
Re:DevOps is a failure by metadat on Monday June 27, 2022 @02:29AM (#31891265)
I wish I got to work with you everyday!

In my past at $medalyaorwherever it was a fucking nightmare everyday, the Architect wouldn't let the PR close.

Re:DevOps is a failure by hinkley on Monday June 27, 2022 @01:12PM (#31897557)
Honestly it's not always a gift to have someone point out to you the 'movie continuity errors' to you all the time.

I tell my boss you want 2-3 people like me on the project. If everyone was like me we'd make each other miserable. I have worked on trying to frame these things in a positive manner. Unfortunately the guy who would have been the best mentor in that regard went into semi-retirement.

Re:DevOps is a failure by Godel_unicode on Sunday June 26, 2022 @06:44PM (#31888824)
They said that the world is bad software on top of bad software, so it’s not one thing. It’s everything being bad and working around everything else being bad.
Re:DevOps is a failure by arinlen on Sunday June 26, 2022 @08:20PM (#31889340)
> They said that the world is bad software on top of bad software, so it’s not one thing.

I don't know about OP, but I personally feel like software like GCC/clang/MSVC and Debian/Ubuntu and Docker and SSH and Git are pretty great, and were never better.

Heck, the whole dotnet ecosystem is turning some significant problems in developer experience into at most minor nuisances.

Even Firefox+Chrome are stellar, and extremely solid as-is.

Where exactly is this bad software OP is talking about?

Re:DevOps is a failure by happymellon on Monday June 27, 2022 @01:13AM (#31890796)
In my experience it's the custom scripts in an attempt to separate infra from developers.

If you are using one of the major cloud providers and instead of just using a native IaC scripts, you have decided that it would be better if the developers only had access to your custom kubernetes operators to manage their infrastructure then you are the problem.

If you are using a deployment pipeline that developers have zero involvement in, and they just "import your Jenkins scripts" then you are the problem.

If you are using major cloud provider and rather than just using their managed kubernetes, you have decided to deploy your own, then the chances are that you are the problem.

Rarely have these approaches ever been stable, in my 20+ year experience they have never been stable. And they are the reason that "real DevOps" came along because developers could do a better job with less downtime if people actually engaged them.

Re:DevOps is a failure by voidfunc on Sunday June 26, 2022 @08:03PM (#31889250)
Yea but they didn’t explain why its bad. Software devs complaining about “bad software” is basically an industry trope at this point but often it just means “Its too complex and I don’t understand why that complexity is probably necessary” or “Its not written the way I would have written it”.
Re:DevOps is a failure by cshenton on Sunday June 26, 2022 @07:14PM (#31889007)
Why not all of the above?
Re:DevOps is a failure by 1vuio0pswjnm7 on Sunday June 26, 2022 @08:01PM (#31889242)
To whom does "we" refer. The classic C programmer curmudgeon. Those commenting on HN frequently use the term "we" but reading HN one can see that, amongst those commenting, there is a divergence of opinions about software. Who is "we".

Asking prospective "DevOps", "software engineer" and "IT admin" candidates to program in C is an effective way to weed out those who are not truly capable of writing "good" software. It is easy to find mistakes and expose the incompetent. That may offend the incompetent who believe they are "good" programmers. Thus there are new programming languages created every year, more people using them to write "bad" software, and more people who feel emboldened to attack C as the source of problems, instead of "bad" programmers.

C is truth serum. It is difficult for people programming in C to pretend they are "good" programmmers. They will be found out. It is funny how people on HN attack the language for exposing so many "bad" programmers. Under this theory, programmers are absolved of all responsibility for their mistakes. The language is at fault. "Good" programmers do not blame languages for their own mistakes.

IMHO, there is sometimes a benefit to languages that make it more difficult, not easier, to create and sustain Rube Goldberg complexity. Not to mention languages that compile to smaller, faster programs. "Programmer productivity" is ambiguous. For example, it could be a positive for a programmer trying to justify the expense their salary presents to an employer or it could be a negative to people who are forced to use an ever-increasing quantity of "bad" software. It could be a positive to a programmer who wants to keep implementing new "features" or it could be a negative to a software user who dislikes "feature creep".

The dichotomy of good versus bad software is such a subjective topic that the term "we" really needs to be defined. Different groups of people have different interests and therefore different opinions.

Re:DevOps is a failure by mlyle on Sunday June 26, 2022 @08:10PM (#31889280)
Hey, I've written more C code than anything else and was generally considered pretty competent.

> The language is at fault. "Good" programmers do not blame languages for their mistakes.

I also know that my time to get something functional in higher level languages is often 10x less, and my probability of having very subtle bugs to hunt is much lower.

There's a super-weird tradeoff here. There's all kinds of modern, high-level techniques that improve programmer productivity and reliability of bigger systems.. They convert people who can't be productive C programmers into doing OK work.

But they're also slow and a bit opaque in how they work. And it's really easy to run out of performance and have to do exotic things to get them to scale, in which case you have to build bigger systems still and cede a lot of those advantages.

Whereas, if you write to the metal, you can get a lot of performance out of a single large computer.

Re:DevOps is a failure by jen20 on Sunday June 26, 2022 @09:19PM (#31889648)
Reminder that even absolute expert C programmers can get better performance from completely naive Rust than optimised C: [1].

[1]: http://dtrace.org/blogs/bmc/2018/09/28/the-relative-performa...

Re:DevOps is a failure by mlyle on Sunday June 26, 2022 @10:28PM (#31889987)
I kinda knew this comment would show up. It's completely irrelevant / orthogonal to what I'm saying. But I knew someone would have to beat their favorite horse :D

Yes, Rust may have somewhat better programmer productivity than C, but it's not really at a massively higher level of abstraction.

Re:DevOps is a failure by jen20 on Monday June 27, 2022 @04:05AM (#31891811)
Not requiring pointer arithmetic in a day-to-day basis and having a proper module system absolutely puts it at a higher level of abstraction.
Re:DevOps is a failure by kaba0 on Monday June 27, 2022 @05:27AM (#31892314)
That truth serum sure has a long list of memory vulnerabilities causing tremendous amount of damage.

Come on, C is not an exceptional language from any point of view. It just pretends that everything is a fast PDP-11, and thanks to the insane amount of work and mental gymnastics done by the compiler, it will output good code. It has shitty abstractability that hinders performance if anything (just look at the small string optimizations done by C++) and hurts maintainability and productivity. At least it should have a proper macro system, but preprocessor macros are just a disgusting hack.

It is if not outright a “bad language”, it should definitely be left behind outside of maintaining the litany of programs written in it, and one should start new programs in either managed languages (if absolute control over the hardware is not required), or at least in C++ or Rust.

Re:DevOps is a failure by 1vuio0pswjnm7 on Wednesday July 06, 2022 @09:07PM (#32008858)
Interpreters for popular languages such as Perl, Python, Ruby, etc. are all written in C. The original Go compiler was written in C. Even the people developing Rust used Flex and Bison when trying to formalise a grammar.

The question is whether C is useful. For example, in building things from the ground up. Or vetting programmers.

Another way to vet programmers is to observe how many negatives they try to cram into their sentences. For example, "Not being... doesn't... non-popular."

If they are unable to make clear, concise, positive statements the same deficiency is likely to carry over to writing programs.

Re:DevOps is a failure by 1vuio0pswjnm7 on Tuesday June 28, 2022 @11:30PM (#31916149)
UNIX and C are still being taught at Stanford.

https://web.stanford.edu/class/archive/cs/cs107/cs107.1222

Re:DevOps is a failure by kaba0 on Wednesday June 29, 2022 @02:54AM (#31917254)
Not being an exceptional language doesn’t make it non-popular. There is plenty of programs written in it and certain domains are simply 100% C (particularly operating systems)
Re:DevOps is a failure by vinyl7 on Sunday June 26, 2022 @06:28PM (#31888733)
The reason is this: To make money in a gold rush, sell shovels.

Everyone wants to bank on the software craze, and so everyone develops pointless middleware solutions.

Re:DevOps is a failure by drpyser22 on Sunday June 26, 2022 @06:53PM (#31888883)
That's a bit disingenuous to actual engineers trying to solve problems and genuinely believing their solution can make things better.

Also, looking at principles over tooling, DevOps has a lot to offer that trivially make sense.

Re:DevOps is a failure by pjmlp on Monday June 27, 2022 @01:18AM (#31890814)
You're forgetting the conferences, books, trainings, consulting gigs.
Re:DevOps is a failure by phillipcarter on Sunday June 26, 2022 @05:47PM (#31888361)
Talk about a low-effort take on the state of modern software. You know what’s also “just bad”? Most systems software written in C.
Re:DevOps is a failure by no-dr-onboard on Monday June 27, 2022 @12:37AM (#31890635)
I was put off by the low effort take as well.

Personally, I’ve worked through having this mindset myself. I “grew” up with the C and tots descendant family of languages. I wrote shellcode in C and ASM as an exploit dev. I later learned python and now ruby, arguably some of the most abstracted languages.

At each iteration I openly opined at how “C would let me do X without the handcuffs I put myself in by using Language Y”. It’s really just senseless complaining. There is a reason why someone chose Ruby over PHP. PHP over pascal, Pascal over Ada and so on. The point is, to scoff at the product as a bystander is just immature. Throwing shade on an entire industry based off some weird pet purist outlook is just immature :/.

Of course, the irony here is that this type of mindset is no different from the apprentice carpenter who scoffs at every new house he walks through that he didn’t build. It’s no different from the wine snob who cringes at what his mom puts out when company is over. It’s no different from the tens of submissions HN accumulated in a week with something of the tune “I rewrote X in Rust”.

Re:DevOps is a failure by stathibus on Sunday June 26, 2022 @11:00PM (#31890152)
We could do a case study or something, but that would be a blog post or a book, not an HN comment. How much effort are you looking for here?
Re:DevOps is a failure by bitwize on Sunday June 26, 2022 @06:21PM (#31888685)
Your classic C programmer take comes from a time and place where servers were pets and nobody had to, or could, scale very big.

The fact is that businesses either are or are converting to cloud-first because why incur the risks of maintaining the one special-snowflake server that runs your business when you can turn a crank and spin up as many instances as you need -- theoretically very many as you take on more customers and transactions and need to handle the load? And ypu can just restart them if they go down?

Stop thinking technology and start thinking BUSINESS. The cloud may be more janky and complicated than what you're used to but it serves the business's needs better.

Re:DevOps is a failure by jacquesm on Sunday June 26, 2022 @06:46PM (#31888836)
Lots of companies excel at playing big business without actually being a big business (or having a remote chance of becoming one). They simply lug around the kind of infrastructure that might be suitable for a company ten times their size. Ironically, it isn't rare that that extra infrastructure and the cost and effort to maintain it limit them in the marketplace.
Re:DevOps is a failure by lelanthran on Monday June 27, 2022 @04:07AM (#31891822)
> The fact is that businesses either are or are converting to cloud-first because why incur the risks of maintaining the one special-snowflake server that runs your business when you can turn a crank and spin up as many instances as you need -- theoretically very many as you take on more customers and transactions and need to handle the load? And ypu can just restart them if they go down?

I'm pretty certain you can do the same with software written in C (or any other language) without resorting to AWS/Azure/GCP/etc.

You can do the same cranking on your own hardware, except you keep the hardware after the peak has passed and you need to plan for the peak.

Or, you can simply get a DO droplet, and crank out as many new instances as you need, and turn them off when you don't, with software written in C (or anything else).

There's no need to go all-in on the AWS/Azure/GCP solution, with the ability to orchestrate instances as cattle, when you have, at peak, 3 instances[1].

[1]If you wrote your software in C, or Rust, or Go instead of Python, or Ruby, you could potentially get away with fewer instances than you need, thereby reducing to treating the system as a system of pets because there are so few of them.

Re:DevOps is a failure by oblio on Sunday June 26, 2022 @07:34PM (#31889117)
> We're going to have to rip everything back down to the foundation in order to make progress beyond finger-pointing (X is DevOps but Y is software engineering and Z is IT admin).

1. Never going to happen unless everything collapses, which is extremely unlikely.

2. We are progressing. AR, VR, GPUs with raytracing, complex web applications and global services, global cloud, etc.

Re:DevOps is a failure by posnet on Sunday June 26, 2022 @07:12PM (#31888993)
You are not alone in thinking that, see 'The Thirty Million Line' talk by Casey Muratori.

(Long, but worth it, assuming you haven't seen it already)

https://www.youtube.com/watch?v=kZRE7HIO3vk

Re:DevOps is a failure by anothernewdude on Sunday June 26, 2022 @06:01PM (#31888502)
Expecting all software in a properly written stack to be "good" is a particularly bad take, and one that leads to brittle software. Best to accept reality, deal with it and move on.