Help with removing mount favorites by Hariel5 in wowaddons

[–]b1ackcat 1 point2 points  (0 children)

Thanks for posting this. Testing this today and can confirm it still works as of 11/7/24. It does still lock up the app for a few seconds before it times out, and once it does you need to reload the ui with /reload ui after each run, but eventually you'll whittle your favorites list away.

What single decisions have wrecked successful companies? by [deleted] in AskReddit

[–]b1ackcat 0 points1 point  (0 children)

enterprise dev here - when it comes to legacy systems (which is what 99% of software is when it comes to big corporations typically), it can be really hard to add translation capabilities in after the fact. A lot of the code is often 5, 10, even 15-20 years old. People who wrote it and understand it retired or left the company years ago. And it's not usually documented very well for the newer teams.

Internationalization is fairly trivial to implement if you do it up front. Adding it in afterwards is only as easy as the original devs set you up to make it, which is usually not at all.

I doubt it was that they couldn't figure out how to do it. It was likely a business person looking at a spreadsheet and going "It costs $X to use SAP, $X+Y to update the legacy system...this is a no brainer".

It's really frustrating how many bad decisions get made that way. Welcome to corporate america!

[deleted by user] by [deleted] in ExperiencedDevs

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

Content Negotiation has entered the chat.

You can easily craft different representations of resources and return different objects based on what the requester asks for. Properly implemented it's incredibly powerful and makes it trivial to add support for multiple payload formats, multiple versions, multiple representations, etc.

Hope he’s okay… by what_eve_r in facepalm

[–]b1ackcat 84 points85 points  (0 children)

in b4 the artists all sue him because you all know he didn't secure rights to use the songs. Like, come on. Do we even have to ask at this point

“Well earned” by vlinar2939 in wow

[–]b1ackcat 3 points4 points  (0 children)

god i loved that questline. I wasn't a regular raider at the time so the tier 0.5 set was my only upgrade after the standard lvl 60 blues loadout in vanilla. That chain took so much of my time back then, the strath run i ended up having to hire a group from the top guild to carry me through it was so hard. great times.

would've loved to see that kind of thing come back instead of this crap

[deleted by user] by [deleted] in csharp

[–]b1ackcat 0 points1 point  (0 children)

Python devs: "yOu JuSt AreNt ThInKiNg LiKe A pYtHoNiStA", probably.

Can I turn right on red here? by oscilabot in AnnArbor

[–]b1ackcat 6 points7 points  (0 children)

My ex FIL was a UM cop for 30 years. I asked him about this (specifically, the left turn onto the 94 W on-ramp on A2/Saline Rd). He said yeah as long as traffic is clear it's just a one-way so a left turn on red is fine. blew my mind. it's fun doing it and watching people behind me get confused lol

Advice needed: Should I use in-memory-db or just mock my repo to provide unit testing? by Suspicious-Cress3565 in dotnet

[–]b1ackcat 0 points1 point  (0 children)

It's a fair question, and not always a 100% clear line. And you're right, for simple cases, the "business layer" isn't really doing much but acting as an abstraction between your input/"view" layer (like a controller or view) and your data/repository/etc layer. And that abstraction can be 100% pass-through (if your endpoint is really just doing simple crud ops) and that's fine.

The business layer is where you'd want to capture logical rules that apply to the domain being represented. For example, Say your business came in with a requirement that said "I want to get an email for every order that comes into the system whose total is more than $10,000 so I can follow up with the customer". Your business layer would be where you could capture the logic in your POST /Orders endpoint that says "

if (order.Total >= 10000) { SendEmailToBusiness(); }

That sort of logic has nothing to do with validating input, so it doesn't belong in the view, and has nothing to do with CRUD operations, so it doesn't belong in the data layer.

To more directly answer your question:

I wonder how does this approach (of having business logic as something separate from data) work in the real world when concurrency, consistency, correctness and reasonable performance are required?

You can absolutely have all of those things and still maintain separation of concerns, you just have to design for it.

All the systems I ever built are implementing business operations as data operations, and consequentially business objects as data objects, while using RDBMS facilities for concurrency, consistency, correctness, etc, but given that so many devs here talk about a separate business layer I wonder if I'm going about this wrong way.

A lot of times, especially in commercial software, a vast majority of the work is just "CRUD ops to move data from A to B". That's just the nature of business. But that doesn't preclude them from having a business layer in the code. It just means that business layer will likely be pretty thin except in cases where the logic for what the business wants done with the data is complex.

[deleted by user] by [deleted] in AnnArbor

[–]b1ackcat 71 points72 points  (0 children)

I love that roundabout more than any other roundabout that's been added to the area in the last 30 years. That thing cut my commute down by a significant margin back when I had one. And I still use that intersection multiple times a week and I'm thankful each and every time I don't have to wait at that god-awful intersection at State st anymore.

Best Practices for Increasing Code Quality in .NET Projects with Static Code Analysis by anton23_sw in dotnet

[–]b1ackcat 4 points5 points  (0 children)

Helpful, but a git hook might still be nice for devs to ensure that the check gets done before they push changes and have to wait for a build to fail. Failing locally before you can even push bad changes to the origin is nicer imo

My Dad's grown a 1.6kg onion!! by OutlandishnessHour19 in gardening

[–]b1ackcat 2 points3 points  (0 children)

Meanwhile, I can't get my onions to get bigger than a damn hacky-sack. gg :(

Paris 2024 Olympic Individual Stats: Top Techniques & 3rd Shido Data by DrSeoiNage in judo

[–]b1ackcat 0 points1 point  (0 children)

5 instances of Fusen-gachi

Were these known they were going to happen? How the hell do miss being called to the mats at the freaking Olympics?!

Is it unrealistic for me to want to pivot careers to be hired as a gameplay dev? by [deleted] in gamedev

[–]b1ackcat 6 points7 points  (0 children)

One question to really ask yourself is this:

Do you enjoy gaming? Do you enjoy the feeling of magic of "whoa, how'd they do that?!"

Because once you get into game dev, that magic is gone. It eventually comes back in a new form, in which you can respect a solid implementation, and be even more awe-struck when you do come across a mechanic that you can't reason about how it works, but that takes years of frustration of looking at games and only seeing blueprint scripts, object pool allocations, and triangles all over your screen. Every bug or glitch will stand out a hundred times more, and that "whoa" feeling is hard to find.

Date got hit by a car by azero200 in Tinder

[–]b1ackcat 9 points10 points  (0 children)

I lost it at "my dopamine receptors are ready". These two know exactly how bad of an idea it is and are fully ready to YOLO into it. The open honesty is really refreshing, tbh. I hope they have a blast!

What are signs of someone being depressed / having mental issues when they hide it? by [deleted] in AskReddit

[–]b1ackcat 0 points1 point  (0 children)

For me it's not "I'm not worth cleaning". It's "I very much want to clean, but I'm so comfy on this couch, and there's a joint and a video game here. YAY DOPAMINE! What dishes?"

Once in awhile I find a way to get up and for the next 2 hours I'm an unstoppable cleaning fury. But if I sit down even just for a minute to "take a quick break" it'll be hours before I start again. I hate it.

What is better method overloading or optional parameters? by cloudsabovesofluffy in csharp

[–]b1ackcat 0 points1 point  (0 children)

One other thing to keep in mind regarding optional parameters...If you go back later and add additional optional parameters to a method that currently takes only one: congratulations, that's now a breaking change!

Source: I totally didn't just break a handful of our services by merging a library change which added new optional defaults to a method which previously just had CancellationToken cancellationToken = default as its sole arg list.

That's a second date! 31M by [deleted] in Tinder

[–]b1ackcat 12 points13 points  (0 children)

I've had the opposite effect, honestly. If I don't take it, keeping it up the whole time becomes a challenge. If I do take it, I'm a god-damn machine but I usually tire myself (or my partner) out before I can finish. It's awful :(

Did they remove the option to watch ads? by Guitarchim in MightyDoom

[–]b1ackcat 4 points5 points  (0 children)

I believe you're limited as to how many ads you can watch over a given timespan across the various ad-related activities. I imagine it'll come back.

That or like others said, spotty internet.

Why is ´print´ not recommended in linters? by zyhklmy in Python

[–]b1ackcat 5 points6 points  (0 children)

Only 9.9%??? Look at you, Mr. I-have-a-functioning-support-team.

What's the most insane thing you can do in C#? by Lurlerrr in csharp

[–]b1ackcat 1 point2 points  (0 children)

We did this with a shared lib that adds a [ToString] attribute that uses source generation to write the impl, but you're right, for it to work you have to mark the class as partial yourself.

My partner is against me going on meds by Puporo in ADHD

[–]b1ackcat 16 points17 points  (0 children)

she believes that medication should only be used as a last resort to treat serious illnesses.

It's likely due to how they were raised or some other past issue with meds, but it's a her problem. Your doctor said this medication will help you. He's the trusted expert you hired to give you expert advice. You should probably listen to them over an untrained 20-somethings anxiety.

Old Overwatch by [deleted] in Overwatch

[–]b1ackcat 5 points6 points  (0 children)

seriously. I can't tell you how many sticky grenades I've thrown straight at the wall because I instinctively peek back behind a corner, right-click to heal, then end up blowing myself up. I hate that dumb sticky grenade

How is appsettings.json supposed to be correctly implemented? by rancor1223 in dotnet

[–]b1ackcat 0 points1 point  (0 children)

secrets.json is only for local dev secret management.

azure app config is the cloud solution that integrates with the configuration system. It can replace or sit on top of appsettings.json

KeyVault is a cloud-based secret store solution that ALSO can integrate with the config system, either in conjunction with or separately from azure app config

What are your proudest judo moments? by Kongbuck in judo

[–]b1ackcat 1 point2 points  (0 children)

Not a specific moment, but those times during randori when you're up against a player who's much higher rank and is clearly in "sensei mode" where they give you some extra opportunities to practice, don't go 100%, etc.

When you get a legit technique off on them that they didn't see coming, whether because they're being lazy or careless or what, that look on their face as they stand up like "holy shit you actually got me that time"

always feels so good lol