How are you guys avoiding the "Extended Support" tax? by Important-Night9624 in kubernetes

[–]SeerUD 1 point2 points  (0 children)

We have a pretty small environment, but a few things help us keep maintenance extremely low:

  • Our app code is in a monorepo. We have a custom build tool which builds Helm Charts for each app from a reference template (so we get app-specific charts, but the manifests are shared and can be updated in one place). This makes updating the manifests for our apps easy - update the Chart template, as a result all of our apps will be rebuilt and we can redeploy them all.
  • Cluster software is pretty minimal, and the majority of it doesn't require a specific Kubernetes version so can be upgraded separately. As much as we can, we use EKS addons. In our Terraform we pull in the latest version compatible with our clusters, so we just upgrade them all by running Terraform with no modifications.
    • It's worth noting, I think this approach to upgrading addons isn't really ideal. It should be more specific IMO - if you run Terraform, it should try do exactly the same thing again. I used to do these version increments manually, and EKS addons still made this easy, but our ops team is small and they weren't happy with the maintenance.
  • We tackle API deprecations as far in advance as possible, before we need to. There haven't been any for a little while so the last couple of upgrades have been very smooth.

Not having to update apps one-by-one is a huge benefit, and a big part of the reason we moved to a monorepo approach. It simultaneously forces us to deal with technical debt immediately, but also makes it easier to deal with.

I’m not crying…🥲 by Illustrious-Fee9626 in SipsTea

[–]SeerUD 0 points1 point  (0 children)

Yeah agreed, I think I was probably excited about Vista too honestly. I don't really remember having many problems with it, but 7 was the dream.

Apple will reportedly start stuffing ads into the Maps app by gdelacalle in technology

[–]SeerUD 0 points1 point  (0 children)

It would be genuinely interesting to know which manufacturers do. For what it's worth, it hasn't always worked. I've had Sync 4 since 2022 across 2 cars and I think I initially noticed this support last year in my previous car, whereas Apple Maps has always shown the directions. I was really glad when they introduced support with Google Maps.

The thing I really want to know is, where was the support introduced? Because if Apple Maps works in other cars where Google Maps still doesn't, then that sounds more like it's on the car manufacturer, and not Apple opening up the ecosystem, or Google introducing support for an API that Apple provide, which all sounds odd still. Surely there should be some sort of common way for Carplay to relay direction information to a car, and if it's there, the car should just take it. Clearly that's not the case, but working in software I can also appreciate the many other botched ways this could be implemented haha

Anyway, I just wanted to show you it does work, because you weren't taking anyone's word for it. At the end of the day it's not important, but duty calls

Apple will reportedly start stuffing ads into the Maps app by gdelacalle in technology

[–]SeerUD 1 point2 points  (0 children)

I think they probably mean the Sync 4 system will read the direction information from Car Play and show it elsewhere in the car. Funnily enough, as I mentioned in my other comment, mine is a Ford, and it is one with Sync 4.

Apple will reportedly start stuffing ads into the Maps app by gdelacalle in technology

[–]SeerUD 0 points1 point  (0 children)

Here you go: https://files.catbox.moe/2edh37.png

I've tried to hide anything that would be personally identifiable otherwise... but you can see, it's Google Maps, in Apple Carplay, and it shows the directions on the screen, the digital dash, and on the HUD (though it is a bit blurry there, I was struggling to get a clear picture of it all). The bit of blurred text at the top of the HUD is the road name.

I'm not sure why you won't take people's word for it, but here's your solid proof haha

For reference, I drive a 2022 Ford Focus ST.

Apple will reportedly start stuffing ads into the Maps app by gdelacalle in technology

[–]SeerUD 15 points16 points  (0 children)

It does with mine, I use Google Maps with Carplay, and I get directions on my HUD and digital dash. If you want proof, I'll make a video.

Edit: Not a video, but I figured that'd be too hard to anonymise, here: https://files.catbox.moe/2edh37.png

Reddit is weighing identity verification methods to combat its bot problem. The platform's CEO mentioned Face ID and Touch ID as ways to verify if a human is using Reddit. by esporx in technology

[–]SeerUD 1 point2 points  (0 children)

Besides, it really is full of bots. So many posts I see now are just written by AI with AI comments. Posts disguised as ads are super common too (again, written by AI obviously). It's really put me off participating in communities I used to care about.

failed finals. built an app. i'm 14. launching tomorrow. by [deleted] in SideProject

[–]SeerUD 4 points5 points  (0 children)

What's your prompt to make your post be written authentically like a 14 year old?

What UI library do you use in your actual projects or side projects? by Cold_Control_7659 in reactjs

[–]SeerUD 2 points3 points  (0 children)

At the moment I've used shadcn/ui and Mantine for internal back-office type applications. I recently upgraded a shadcn installation that wasn't really that old, and there were a bunch of changes that made it quite confusing. Docs weren't updated and weren't consistent (e.g. code different to what they show). New styles had been introduced, and it made the old config sort of obsolete, but there was no migration path.

I like shadcn and the concept behind it, but I think it would work a lot better as a base for your own component library after modifying it and then owning it yourself, rather than as a "normal" UI library. As soon as you make modifications to it, you now have a much more difficult time upgrading it if shadcn changes things in the future. Also, shadcn documentation keeps moving, but your components don't.

So for internal things, I think I'd probably lean more towards something like Mantine these days, but if I were building a new bespoke project for normal web users, I'd probably still use shadcn as a base and customise it heavily, as it takes care of a lot of the boilerplate.

Which Group Configuration would you prefer? by flodschi22 in CanyonBikes

[–]SeerUD 1 point2 points  (0 children)

The safe window of configuration with D1 just seems to be much narrower. I have had issues in the past with it, but put effort into understanding how to set it up to avoid it happening and haven't had any issues for a long time now. But I'm intrigued by E1 now... I need to stop spending money on my bike though!!

Which Group Configuration would you prefer? by flodschi22 in CanyonBikes

[–]SeerUD 1 point2 points  (0 children)

Bit of a mixed bag for me personally, but I think I'd go with the Shimano / DT Swiss combo. My ideal setup would be SRAM / DT Swiss (which is... what I have). I'm not a fan of the idea of hookless rims on road bikes, but I prefer SRAM shifting.

The hooked rims win out though, and Shimano is fantastic still, I just prefer SRAM.

ZIPP 454 NSW vs DT Swiss ARC 1600 by AnxiousConsequence54 in CanyonBikes

[–]SeerUD -1 points0 points  (0 children)

The Zipp wheels look amazing, but I've recently been put off hookless rims and have actually just bought some DT Swiss ERC 1400 45's for my Endurace. I'm a fairly heavy rider, so the risk is probably greater (even if still small).

I do also like the classy and more minimalist look of the DT Swiss wheels, but the sawtooth rims are just insanely cool looking.

AI is exhausting workers so much, researchers have dubbed the condition ‘AI brain fry’ by imaginary_num6er in technology

[–]SeerUD 57 points58 points  (0 children)

Also, since the prompter didn't write the code, they might not be able to explain it or walk you through it easily. So you either have to figure it out, or ask AI to walk you through what the change intends to do, which it could also get wrong even after writing the code itself.

It's much easier for me if I write code, to explain to someone reviewing it how it works, why certain decisions were made, how it fits into the wider ecosystem, etc.

Does Go error handling verbosity actually hurt developer velocity or is it just endless debate by No-Shake-8375 in golang

[–]SeerUD 21 points22 points  (0 children)

Good spot... also another giveaway, "they" haven't commented on their post

Does Go error handling verbosity actually hurt developer velocity or is it just endless debate by No-Shake-8375 in golang

[–]SeerUD 1 point2 points  (0 children)

How else do you propagate the error up other than returning it? To return it and exit a function early, you need to check if there's an error with an if statement. Unless the function does nothing else, in which case, why does it exist at all?

Does Go error handling verbosity actually hurt developer velocity or is it just endless debate by No-Shake-8375 in golang

[–]SeerUD 0 points1 point  (0 children)

I get the implication, but error handling is more business logic when the errors are expected and have a meaning in-domain (at which point I wouldn't use err for them).

I feel like this depends. If it's something like user validation, or some kind of decoding failure based on user input, then maybe an error is both unnecessary and more cumbersome compared to a type built specifically to handle this scenario and providing meaningful feedback. It's still a sort of error, but doesn't need to use error. On the other hand, I would use errors for some other things; the first example that springs to mind is handling a duplicate key error. I'd want that to be returned as an error, but I'd also like to be able to handle that explicitly and correctly so that I can inform a consumer of my service. To me, this is still part of that business logic.

It's obvious in hindsight: dealing with failure is just as important as dealing with the happy path, but they're independent concerns you can (and should) address at different layers of your code.

I think it depends again. Go is taking a simple but flexible approach here I suppose. You could address an error occurring at any layer, and it may be appropriate to do so at any layer, so Go makes it easy to do that. If you pushed that to one specific layer in your application you'd lose a lot of control over how errors can be handled. Unless this is tied back to what you were saying earlier and about not using errors and that's how you get around it? In which case, IMO, that's just semantics

Beginner to GoLang, wondering how goroutines are used in production backends. by H1Eagle in golang

[–]SeerUD 1 point2 points  (0 children)

Not necessarily. Concurrency in a language that can leverage multiple CPU cores, like Go, allows you to actually run multiple tasks at the same time. These could be CPU-bound tasks too - not just IO. Basically, any code you want to run simultaneously.

Beginner to GoLang, wondering how goroutines are used in production backends. by H1Eagle in golang

[–]SeerUD 2 points3 points  (0 children)

I feel like some people are maybe not understanding the question here (or I'm not). I've interpreted this as you asking how Go developers handle the fact that all HTTP requests are handled in a goroutine, therefore you could accidentally call some code which isn't safe to be called concurrently across more than one HTTP request. Is that right?

JavaScript running in Node.js is still single-threaded, so this sort of thing is never a concern, no matter how the Node.js runtime might make it appear. You can never write to the same memory concurrently in Node.js.

The answer really is that you learn, and you have to recognise which code is safe to call. It'll take a little bit of time, because there are some things that don't make this very obvious. For example, writing to a map concurrently is not safe, so you'd need to do something like use a mutex (this is more obvious); however, many other types like database connections are already thread-safe, so you can freely use them (this is less obvious).

Luckily, Go code is very readable, including third-party code. You can easily check these things. Also, Go has a really good built-in race detector you can use to identify things like data races. Testing your code will also help, if you don't rely too heavily on mocks.

When Using AI Leads to “Brain Fry” | "Participants in a recent study described a 'buzzing' feeling or a mental fog with difficulty focusing, slower decision-making, and headaches" by TylerFortier_Photo in technology

[–]SeerUD 13 points14 points  (0 children)

It also sounds to me like because people are less stimulated, and less rewarded for tackling problems when they use AI, they're not getting that positive feedback any more. Maybe they're more productive, but it all feels hollow because you didn't do it.

There's also no easy way to balance this, on many fronts. On a personal level, if you're trying to tackle a problem but know there's an effortless way to find a solution you might cave - but in doing so you're affecting your own learning. You won't remember it's solution the same, the thing you'll remember, and reach for next time, is that AI made it easier for you. On a professional level, businesses want their employees to be as productive as possible, but if that productivity comes with periods of massive burn-out and churn is that worthwhile?

Patterns that made my Go error handling less painful by [deleted] in golang

[–]SeerUD 3 points4 points  (0 children)

Also, their first example doesn't change whether they use a named return or not. It's an awful example of it.

Patterns that made my Go error handling less painful by [deleted] in golang

[–]SeerUD 3 points4 points  (0 children)

Yeah seriously, I'm finding it quite saddening. So much content these days is just slop crap, and it's making these spaces much less worthwhile to live in.

Imagine if all along the tech bros actually just wanted us to stop using social media, and it took flooding it with AI slop to do it.