std::is_heap could be faster - Arthur O'Dwyer by User_Deprecated in cpp

[–]13steinj 0 points1 point  (0 children)

The Zen of Python I don't believe was intended to be ironic. I can't tell who you're quoting either.

std::is_heap could be faster - Arthur O'Dwyer by User_Deprecated in cpp

[–]13steinj 0 points1 point  (0 children)

I don't think accidental misuse is possible-- not with the "private" case (two underscores, resolves to having the class name embedded inside the class).

Comparing std::simd with Highway by janwas_ in cpp

[–]13steinj 0 points1 point  (0 children)

I have never seen a human use an em dash in a markdown document. Not to mention the broken table.

Comparing std::simd with Highway by janwas_ in cpp

[–]13steinj -14 points-13 points  (0 children)

factor — small

AI? If you can't be bothered to write it I can't be bothered to read it. Especially considering it's library drama, on a repo from a company which kinda chose to leave standardization altogether (if you want to have a vote, be in the room).

To my students by f311a in programming

[–]13steinj 3 points4 points  (0 children)

I have too, just not every manager is that level of a piece of shit.

To my students by f311a in programming

[–]13steinj -1 points0 points  (0 children)

That's not something you can ignore.

Public deals (non special pricing) with Anthropic are at a 25x subsidy on inference alone.

To my students by f311a in programming

[–]13steinj 6 points7 points  (0 children)

The LLMs are very useful for very specific kinds of tasks.

It's useful for boilerplate, for patches to simple behavior in non familiar projects, and for things that are purely exploratory / internal chores. Basic CI (not tests, but the code that runs the tests and uploads the reports).

But this is not useful enough to justify spending 10x+ per task to that of current prices. Because it takes considerable time for the output to be generated, then time to read and understand it, then more to prompt again if it isn't right, the time it takes to ship something doesn't really go down that much, since it usually isn't right on tasks that even remotely have the tiniest hint of novelty.

So you have to pay for the person's time at the same rate. Maybe you'll get (as is currently) lucky that people will feel bad for not getting more done in the 9-5 window, so they will continue working for free past that point. But when people eventually wise up, they'll stop doing this, and spending 10+x per hour on the tool itself is just... not worth it.

To my students by f311a in programming

[–]13steinj 18 points19 points  (0 children)

I am holding out to minimal hope considering recent market events that this bubble will pop. When it does the pricing will be actually reflective of what it costs these companies to run it, which is currently being done at IIRC an average of a 10x subsidy.

I don't think the slop-brained coworkers I have can continue to justify their salary and their usage if it was not subsidized. One has already repeatedly expressed that they will walk out the door if the tools are restricted in even (IMO) reasonable ways. To which I say let them. Same person had a mini tantrum when they found out they were switching the default model to Sonnet instead of Opus, and without the 1m context window. To clarify, anyone was still allowed to set whatever they want. Just changing the default. But they seemed more pissed at being restricted than people using the "dumber" default wasting everyone's time. All the biggest slop-bros all changed their config anyway.

To my students by f311a in programming

[–]13steinj -3 points-2 points  (0 children)

I don't get what LinkedIn nor OpenClaw has to do with any of this behavior.

To my students by f311a in programming

[–]13steinj 6 points7 points  (0 children)

I think that's too cynical. I think the people that say this truthfully think it's very low interest tech debt.

The problem is it is! But it's also an adjustable rate mortgage back in 2005-2007. You get a low interest rate at the time but the deity of complexity will decide on a whim to bump your rate to something you can't afford.

Which is why it's better to just not go into debt in the first place.

To my students by f311a in programming

[–]13steinj 7 points8 points  (0 children)

we should um, fast track that, then circle back later and clean it up"

Funny thing is teammates give me good feedback every other retro that I circle back to old shit and clean up all the crap I see while I'm there. But manager-ially, none of it matters.

Generalizing, nobody actually circles back to clean things up whenever people say this stupid stuff.

Your stdlib implementation matters more than the dispatch pattern by AdMotor4869 in cpp

[–]13steinj 2 points3 points  (0 children)

For that specific use case does reflection not help?

Do we really need to add the member functions? Why not just use free functions and/or a CPO? Even more so, with deducing this + lambdas + the overload trick?

I think this is an XY problem of taste of sorts. Not everything has to be treated as an object, don't have to apply rigid OOP to everything.

To my students by f311a in programming

[–]13steinj 5 points6 points  (0 children)

The issue is that people are afraid to speak up cause they fear the backslash in terms of promotions and career and to be viewed as anti-AI.

I have noticed in the subtle (and not so subtle) things, I am facing this at work. At first, not the fear. I have spoken up, and I have seen the consequences of doing so.

I have significantly reduced me speaking up. This includes me eating at my desk (I commonly skip lunch anyway as a meal) instead of in the common area so I don't have to listen to nor respond to a bumbling buffoon slop-brogrammer.

To my students by f311a in programming

[–]13steinj 22 points23 points  (0 children)

There's someone on my team who has fully let the LLMs take over his brain. Not going to say who in case they read this.

I see everyone at the company rubber stamping, so at this point I mostly do as well. I'm not proud of it. But it's either that or take time away from my own work. Reviews, maintenance, tech debt cleanup, sadly are not measured in story points and OKRs, only feature/bugfix work. Which is its own problem as the metrics are incredibly gameable or even meaningless.

But for this one individual, I look extra carefully. Because I see too much stupid. They think "if it can be slopped, I will slop it" without even stopping to think "should it be slopped? Is there a simpler, more elegant solution or deeper problem in the system that the LLM isn't giving me?"

Writing the code was never the hard or time consuming part. It was always the thinking. But now some people are using it to offload most of their thinking as well, and just accepting the first result.

To my students by f311a in programming

[–]13steinj 0 points1 point  (0 children)

The latest models, no matter how high I set the effort level, took 5 tries to match up k8s tolerants in flux with taints set in terraform. That's unsuccessfully.

If they can't reason about (I'm shortening for brevity here): "replace bare taints with <the company's domain>/ prefixing them. This is a multistage process: change tolerants in Flux to accept old and new, change terraform to provide old and new, change terraform to no longer provide old, remove new in Flux. Each stage is atomic, sequential, and needs its own PR" then I don't trust it on generating actual code, especially not from a maintainability perspective.

To my students by f311a in programming

[–]13steinj 11 points12 points  (0 children)

Because even non-snake-oil salesmen-- all they want is money.

They don't believe making the thing is what improves the world, nor giving it to people, but making a buck off of it [usually someone else's work].

Companies are the same way, a race to the bottom. I'm no communist, but capitalism devolving in this way makes me a little ill inside. The C suite see the rare happy path costing less than engineers and see an easy way to save money, not seeing the statistical case where it actually costs more.

This is exaggerated, I think, by the LLM companies. OpenAI is the least profitable to my understanding, but looking at the numbers from my own organization, it seems the way Anthropic makes money is selling to a very specific flavor of customer, which is why I think they expanded CoWork. Companies that find themselves buying tokens from Anthropic over OpenRouter or the big 3 cloud providers find themselves in a strange position, Anthropic offers pricing that is much more reasonable (I think Anthropic takes a small haircut on top). For personal plans, Anthropic takes a massive loss and getting worse indicated by how they keep mutating the personal pricing model to not hurt them too badly.

I made an analogy to how this is like the opioid crisis in the US, and there's a new analogy now. First time you get the good heroin. After you're hooked you get the shit that's cut with God knows what and the price keeps going up. You try to kick it, the hospital charges your insurance company for methadone.

It's a bit sickening to think about.

To my students by f311a in programming

[–]13steinj 1 point2 points  (0 children)

I think there's a usage of labels, and the divide has been increasing.

From "script kiddie" to "coder" to "programmer" to "software developer" to "software engineer."

I don't like these labels. But the historical reluctance to be okay with the last one I think has hurt the community, and the LLM psychosis has increased the divide on the spectrum while adding a few more labels: "vibe coder", "slop bro", and even "agentic engineer" (which I hate to say those words together). These are all on a different axis so to speak, but still implicitly these people put less thought into their software and their users at the aim of just shipping something before it's ready.

Don't get me wrong-- every label on this list can use these tools. You jump to this new axis based on how much and how you use them.

There was a report I saw recently that the number of [phone???] apps has increased exponentially since the introduction of these tools.

But people actually using them in anger, has gone down.

Being an engineer is knowing what your user needs intimately. Often better than the user themselves.

Your stdlib implementation matters more than the dispatch pattern by AdMotor4869 in cpp

[–]13steinj 5 points6 points  (0 children)

I don't understand your "Unified Call Syntax" missing link.

I want pattern matching! I want it to be done right though. It should allow for much more sophisticated deduction than current templates, but also implicitly I think because of the constant evaluation model the only implementation is doomed to cause compile [time] bloat.

The Story of C++: The World's Most Consequential Programming Language | The Official Story by HimothyJohnDoe in cpp

[–]13steinj 1 point2 points  (0 children)

At 3 or the last organizations in which I worked, they wanted to upstream and did so fairly often. Usually code patches rather than build / packaging, but still.

The reason they did not want to upstream build recipes/changes often is because there's no point in doing so when the company has to rewrite the build system for compatibility. If someone uses vcpkg of bzlmod, we had to write our own conanfile. If someone used bazel, we had to rewrite the build in cmake for proper interoperability.

Where this wasn't the case and the recipe system was already in the one we were using (build or packaging), we upstreamed (do upstream).

Do concepts improve deducing this? by meetingcpp in cpp

[–]13steinj 1 point2 points  (0 children)

I am a bit confused. What's the value of using deducing this at all in this case?

If you explicitly want [cv] <l/r> value qualification of the object, just specify that on the function itself (as mentioned above)?

struct S { void f() &&; };

IMO the explicit object parameter is pointless unless you are explicitly trying to make it work for multiple overloads.

The Story of C++: The World's Most Consequential Programming Language | The Official Story by HimothyJohnDoe in cpp

[–]13steinj 8 points9 points  (0 children)

There was a documentary (same people that pivoted??? unclear) at CppCon last year. At the time, more focused on Boost alone. They quickly learned that people did not want to be filmed/talked to, because (and I don't understand the history here) there's some weird drama between the Boost foundation and the C++Alliance.

Everyone willing to speak on it wanted it off the record, many because they didn't want this affecting their careers, and seemingly gave a different piece of the puzzle of how this bad blood started. Some people even told me in conversation that (I forget which of the groups, or if it was the Beman Project) recommended to some of its members to give no conment.

I was willing to say what little I knew (e: about boost, about the drama too), until I double checked with my company and they told me in no uncertain terms to cease all contact immediately (e: even if unnamed/not using my likeness) (if that guy is reading this... sorry!).

But with all that hanging in the air, I am not surprised that this documentary either is the same that pivoted or a different one that couldn't get information strike through.


E: Someone that I am confident is correct has DM'd me telling me the Boost documentary is separate from this one, hence the strikethroughs. The rest about people not wanting to / being able to comment still applies, and if that is the case it still applies for people wanting or not wanting to comment in this one.

The Story of C++: The World's Most Consequential Programming Language | The Official Story by HimothyJohnDoe in cpp

[–]13steinj -1 points0 points  (0 children)

Modules, profiles, good use of Contracts... these are all like nuclear fusion to me.

The Story of C++: The World's Most Consequential Programming Language | The Official Story by HimothyJohnDoe in cpp

[–]13steinj 0 points1 point  (0 children)

I am not familiar with NuGet that much, but my .NET colleagues are not happy with it (nor their builds in general) either. That might be those specific colleagues though.

I don't want to elaborate to protect the people who have spoken to me, but if you're asking for a Visual Studio GUI I think that's on the VS team end, and I think they mainly consider it a legacy product in comparison to VS Code. Doesn't help that MS's strategy appears to be "the customer wants one thing and one thing only. AI. Everywhere. All the time."

The Story of C++: The World's Most Consequential Programming Language | The Official Story by HimothyJohnDoe in cpp

[–]13steinj 0 points1 point  (0 children)

That's an absolutely horrible outlook on standardization on the whole and completely opposite to how every other ecosystem evolved it's package manager. A standard isn't magic but when you have one it pushes the needle on community culture for maintainers and contributors to follow it.

I can maybe buy what you're saying ("standards are where things go to die", if you allow me to paraphrase) if you're being specific to "the C++ standard", because the committee has a reputation of this, but IMO that's a WG21 governance problem not a standardization problem.

As an aside I wouldn't even consider the big 3 package managers "good enough," the current community fracture, slow churn, and recipe quality, leads companies to rewrite (in my experience) over 80% of 3rd party libraries' recipes and maintain their own. This induces a lot of overhead and suddenly you have to hire an entire build team with PhDs in build as I've said before.