There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

programmer_humor

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

TangledHyphae , in C++

As someone who writes C++ every day for work, up to version C++20 now, I hate the incoming C++23 even more somehow. The idea of concepts, it just… gets worse and worse. Although structured binding in C++17 did actually help some with the syntax, to be fair.

JATtho , in Roses are red, violets are blue, everyone is using IPv6, why aren't you?

I’m actually bit sad that I had to move onto a ISP which has zero IPv6 support, as I previously did have IPv6. The last thing I did on that connection was to debug the hell out of my IPv6 code I had developed.

snugglebutt ,
@snugglebutt@lemmy.blahaj.zone avatar

I feel you, moved ISP maybe 3 months ago, only to find out I’m behind CGNAT and no IPv6…

sep ,

That should simply not be allowed. Cgnat for ipv4 is fine if they also provide proper ipv6

thenextguy , in Naming is hard

And we suck at it.

DaddleDew , in Corporate America is Just Office Space in Real Life

If you look back at the sci-fi movies that came out soon after lasers were invented, you could see that people had all sorts of crazy ideas of what a laser could be used to do and that a lot of them had absolutely no idea of what a laser really did. Ultimately, we’ve found out that most of those imagined uses were pure bullshit or extremely impractical, at least with the current state of the technology. It didn’t mean that the technology was useless. We ended up finding all sorts of useful purposes for it that they had never imagined, like disk players or barcode scanners. It only means that it took time for people to better understand what the real world applications of the new technology was and a lot of the initial assumptions were dead wrong.

AI is going through the same process. It will take time before the technology’s strengths and weaknesses are better understood by the masses so it can be better applied to more realistic uses. And for the commercialization of snake-oil applications for it remains confined to fringe markets.

nullPointer , in Corporate America is Just Office Space in Real Life

making them better would mean more work, stress and ill conceived requirements for the programmers. I’m more in favor of marketing thrashing about on their own.

MajorHavoc ,

I’m more in favor of marketing thrashing about on their own.

Lol. Me too. But let’s not say that part too loud, it’ll be nice if they don’t catch on, for awhile longer.

pkill ,
ruckblack , in I made this

Which is fine with me tbh because fuck sales. I’d never survive independently, because I’d tell the customer the truth. And the truth doesn’t sell. I don’t have the energy to lie about how everything is better than it actually is.

299792458ms , in My CSS ain't like the other developers...

As a Linux hobbyist this makes me feel so much better about myself.

jaybone ,

But how do you add borders to your terminal windows in GNOME?

tyler , in Programmer Pain Chart

I miss why… he was what everyone really needed, and the industry destroyed him. I haven’t seen anyone like him since.

Mikufan , in Saw 37 the software Dev

Do it in php and say its JavaScript, most people don’t even know that there is a difference.

xmunk ,

$facts

Anticorp , in What it's like to be a developer in 2024

Because Google decided years ago that relevancy is less important than profitability.

refalo ,

Who are they profiting off of? I have never clicked an ad in my entire life.

Anticorp ,

Doesn’t matter, billions of other people do, and they prioritize ads, and results with AdSense on the pages above relevancy. They’ll even show you shit results to keep you searching longer, which allows them to show you more ads.

refalo ,

Do they though? I don’t know a single person that has ever clicked on an ad. I know, sample size of one, but it just seems so basic to know not to click on them. Maybe those people really do exist. Sigh

Anticorp ,

Do you think Google has become one of the most powerful & profitable companies on the planet through a revenue model that doesn’t work? Of course people click them. If people didn’t click them then Google would have gone bankrupt decades ago. One thing I learned years ago is that I use the Internet very differently than an average person, and I constantly overestimate the intelligence and knowledge of the average person. Corporations bank on stupidity, because it’s abundant.

refalo ,

I have no idea how they make money, it never made sense to me. It still blows my mind to think there are that many people that click on ads, I just have a really hard time believing it still.

dan ,
@dan@upvote.au avatar

Some of the ads are charged by CPM (cost per 1000 impressions), meaning Google get paid just because people see the ads. That’s similar to how ads in traditional media are billed - TV, billboards, newspapers, etc.

Not all ads use CPM though. Some use CPC (cost per click) and some use CPA (cost per action).

tsonfeir , in Go vs Rust learning
@tsonfeir@lemm.ee avatar

Both of them apply to a senior level position.

apotheotic , in What it's like to be a developer in 2024

I don’t mean to sour the funny, because it is funny/sad indeed, but

If you know you want the info from the official docs, why not do a search that forces results from that site, or search just for the official docs and then find the page you’re after on the docs themselves?

amio ,

To be fair, back in the day you could get better results by relying on Google with site:foobar and the Boolean/"power user" stuff. A lot of built-in search boxes on sites were a bit dodgy, or at least less flexible than AND/OR/NOT and other "power user tricks".

Of course, these days those seem to be ignored wholesale and even "verbatim quotes" are an utter crapshoot, this was back when Google didn't fucking blow.

apotheotic ,

Nowadays I’m pretty sure stuff like site: foobar still works no? Idk I use ddg so I can’t say with certainty but I feel like “basic” power user stuff should still work right?

amio ,

"site" does work still, I think, just plus a lot of irrelevant drivel - standard Google fare, you see it on Youtube too.

I'd consider the most basic case to be, specifically, the "quotes for verbatim results", which definitely do not work anymore. Neither does + for a positively (hue hue) required term, a close second.

Evotech , (edited ) in Responsive Design Go Brrrr

Frontend devs stopped giving a shit about wide screens at like 24"

It’s just massive blank spaces seperating the work area and sides

Anticorp ,

My team cares, mostly because I make them care.

Tyrangle , in Let's do micro service

From my perspective the corporate obsession with microservices is a natural evolution from their ongoing obsession with Agile. One of the biggest consequences of Agile adoption I’ve seen has been the expectation of working prototypes within the first few months of development, even for large projects. For architects this could mean honing in on solutions in weeks that we would have had months to settle on in the past. Microservices are attractive in this context because they buy us flexibility without holding up development. Once we’ve identified the services that we’ll need, we can get scrum teams off and running on those services while working alongside them to figure out how they all fit together. Few other architectures give us that kind of flexibility.

All this is to say that if your current silver bullet introduces a unique set of problems, you shouldn’t be surprised if the solutions to those problems start to also look like silver bullets.

kibiz0r , in Let's do micro service

Microservices can be useful, but yeah working in a codebase where every little function ends up having to make a CAP Theorem trade-off is exhausting, and creates sooo many weird UX situations.

I’m sure tooling will mature over time to ease the pain of representing in-flight, rolling-back, undone, etc. states across an entire system, but right now it feels like doing reactive programming without observables.

And also just… not everything needs to scale like whoa. And they can scale in different ways: queue up-front, data replication afterwards, syncing ledgers of CRDTs… Scaling in-flight operations is often the worst option. But it feels familiar, so it’s often the default choice.

fruitycoder ,

Do you feel gitops tools like fleet/argocd/flux and kubernetes don’t cover most of the deployment/rollback and system state management problems so far?

kibiz0r ,

I’m talking about user interactions, not deployments.

In a monolith with a transactional data store, you can have a nice and clean atomic state transition from one complete, valid state to the next in a single request/response.

With a distributed system, you’ll often have scenarios where the component which receives the initial request can’t guarantee the final state of the system by the time it needs to produce a response.

If it did, it would spend most of its effort orchestrating other components. That would couple them together and be no more useful than a monolith, just with new and exciting failure modes. So really the best it can do is tell the client “Here’s a token you can use to check back on the state of this operation later”.

And because data is often partitioned between different services, you can end up having partially-applied state changes. This leaves the data in an otherwise-invalid state, which must be accounted for – simply because of an implementation detail, not because it’s semantically meaningful to the client.

In operations that have irreversible or non-idempotent external side-effects, this can be especially difficult to manage. You may want to allow the client to resume from immediately before or after the side-effect if there is a failure later on. Or you may want to schedule the side-effect, from the perspective of an earlier component in the chain, so that it happens even if a middle component fails (like the equivalent of a catch or finally block).

If you try to cut corners by representing these things as special cases where the later components send data back to earlier ones, you end up introducing cycles in the data flow of your microservices. And then you’re in for a world of hurt. It’s better if you can represent it as a finite state machine, from the perspective of some coordinator component that’s not part of the data flow itself. But that’s a ton of work.

It complicates every service that deals with it, and it gets really messy to just manage the data stores to track the state. And if you have queues and batching and throttling and everything else, along with granular permissions… Things can break. And they can break in really horrible ways, like infinitely sending the same data to an external service because the components keep tossing an event back to each other.

There are general patterns – like sagas, distributed transactions, and event-sourcing – which can… kind of ease this problem. But they’re fundamentally limited by the CAP Theorem. And there isn’t a universally-accepted clean way to implement them, so you’re pretty much doing it from scratch each time.

Don’t get me wrong. Sometimes “Here’s a token to check back later” and modeling interactions as a finite state machine rather than an all-or-nothing is the right call. Some interactions should work that way. But you should build them that way on purpose, not to work around the downsides of a cool buzzword you decided to play around with.

lemmyvore ,

I struggle to think of any code with real-world applications that doesn’t have to make CAP tradeoffs. The reason that often doesn’t seem to be the case is willful ignorance.

The only way you can have ACID in a monolith is if the data store is incorporated into the RAM when the code runs and the code is not interacting with any exterior system.

Typically the data store is external though and yes you can have atomic states in the data store but that doesn’t translate to your code. That’s CAP right there, between your code and your data running on two distinct systems.

fruitycoder ,

I mean I made be a novice on this but multi-state service in general sounds like a bad time. Isn’t the accepted best practice for a micro service program stateless operations and one state at most per service?

I mean its true for anything beyond a single threaded monolith right? Otherwise you just get apps that prentend to be asynchronous waiting on locks so they act totally synchronousaly.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • [email protected]
  • lifeLocal
  • goranko
  • All magazines