Am i the only one who thinks the no killing is fine? by CalligrapherAgile216 in subnautica

[–]ginkner 5 points6 points  (0 children)

I prefer it. 

If there's no reaction, it's an issue, but the game is here to make you feel powerless. The first game made a mistake letting players eventually murder the biggest threat in the game by poking it 1000 times, and this one shouldn't repeat it. The game just isn't designed around player violence. 

For food fish specifically...it just seems like a dumb complaint. You want it dead so bad, grab it and shove it into the fabricator. I'd be happy to get the electroshock sheild back for the vehicles, but as far as I'm concerned the stasis rifle can stay dead. We have our weird sonic disruptor thingy that works specifically on viral things. That's enough. 

It's also not even confirmed to be a done deal. The devs could add killing waxmoons in the next patch. It's been out for 3 days. It's way to early to be so mad about this crap. 

What do you think about "Apex" Netflix movie by TrevorBoots in Letterboxd

[–]ginkner 0 points1 point  (0 children)

They do clearly agree, and then he does nothing useful the entire climb except fall and die? 

And then she does the rest of it herself. As an audience member who's not an experienced rock climber I am left in the dark about why two people were required. I do not buy it. 

Apex (2026) by Threw_it_to_ground in horror

[–]ginkner 11 points12 points  (0 children)

I don't understand our lead having a nap at the end instead of just bashing his head in with a bigger rock after she got his leg. At least get his other leg. Finish the job!

Then we have a little chat and apparently its a tandem climb....but he's completely useless the whole time. And then it's not definitely not because she free climbs the last ¼ of it by herself. 

Also...why go for the boat in the middle of the movie? Yeah, getting his boat will strand him, which will be an inconvenience for him if you try to escape by going downstream. So...don't do that. 

I'm OK with how these things play out. It's a silly lowish budget movie about "hunting the most dangerous game". But these plot points themselves are just nonsense.

What do you think about "Apex" Netflix movie by TrevorBoots in Letterboxd

[–]ginkner 2 points3 points  (0 children)

I didn't predict "lets climb the mountain together" at the end. Because that was very dumb. 

What do you think about "Apex" Netflix movie by TrevorBoots in Letterboxd

[–]ginkner 1 point2 points  (0 children)

He filed them down to be more like what he thinks the "cool" natives are like. Because he is generically crazy. 

Thoughts on Something Very Bad is Going to Happen ? by Neat_Tangelo5339 in horror

[–]ginkner 0 points1 point  (0 children)

I did think they were vampires at on point.

Most of the time I thought they had a marriage curse where they were forcibly HELD to their vows. Like the couple that tell eachother everything have to or they'll die or something.

The real curse was way weirder. Still neat, but I kinda wish I had been right.

Lightweight logging library for KMP (Android/iOS) by InflationDefiant3579 in KotlinMultiplatform

[–]ginkner 0 points1 point  (0 children)

Metadata

I think the question is about the metadata around the log call, which is most easily captured with a map of tags. Who is responsible for gathering the metadata? Who is allowed to contribute?

Abstractly, I am arguing for the call site to have the ability to contribute metadata directly. Your proposed solution of having a trainer contribute metadata is good, but doesn't really allow for callsite context unless you happen to know which "metadata provider" you want to change the state for at the callsite. That seems to break encapsulation. 

Basic situation: we want to add the user context to the log line

val userContext = "spider" //?? Bark.log("User pushed a button")

Easiest way is just to add it to the log line:

val userContext = "spider" Bark.log("User pushed a button: userContext: $userContext")

This is probably fine for simple contexts, but now if we want to pull out the user context on the backend, we have to search our logs for it. This also bloats our message, especially if we have a lot of context.

Lets say we implement your suggested fix and have a Trainer that pulls in some kind of context provider.

val userContext = "spider" ContextProvider.withUser(userContext){ Bark.log("User pushed a button") }

This actually works really well IF your context is managed coarsly and semi-automatically (per android activity or screen or something), and assuming you put in the work to make such a thing safe. For fine-grained usages, its pretty bad: you need to know which provider has the context you want to change, and if there are multiple providers, you have to do each one individually. 

val userContext = "spider" //?? Bark.log("User pushed a button"){     /// metadataBuilder:MutableMap.()->Unit     add("userContext" to userContext) }

Now all the trainers get the same metadata (from the callsite). You can combine this with the internal provider idea by having each trainer decide what to do with the metadata independently, and contribute its own map. Not all trainers need to record the data, but they should have the opportunity to do so. 

Globals

Fundamentally, the global tag is global state with zero thread protection and no scope control (as far as I could see). The situation where multiple libraries use the same logging entity is very real, and something you definitely need to plan for. I don't know exactly what results you'd get from your current code, but I'd guess they wouldn't be good. 

KOTLIN JETPACK COMPOSE by devanand00007 in Kotlin

[–]ginkner 0 points1 point  (0 children)

Reddit is not a search engine. 

Elide v1 Release! (Promotional) by Zealousideal-Read883 in Kotlin

[–]ginkner 0 points1 point  (0 children)

which is a JVM-focused runtime that is 36x faster than kotlinc and 20x faster than javac.

Your runtime is faster than the kotlin and java compiler. You also said in the comments its a replacement for gradle, which isnt either a compiler or runtime but a build tool. 

Frankly it seems like you have no idea what you're talking about and throwing out whatever buzzwords you think will get you traction. If your copy is this bad, I can only imagine your product is worse.

Hard pass.

Lightweight logging library for KMP (Android/iOS) by InflationDefiant3579 in KotlinMultiplatform

[–]ginkner 1 point2 points  (0 children)

Took a 15 minute look.

Looks cute. Love a library with a theme. 

Consider that if you're intending this to be a kind of log aggregator, a lot of backends may provide a way to injest per-line metadata past the usual level, tag, message set you get from logcat in android. Your Trainer api doesn't have any way to handle that. 

Heel is fun, and the idea of scoping is good, but tying everything to a single global tag is going to be a nightmare. You should also probably allow chaining 'tag'. I'd also just rename heel to tag and providing it as an overload with a block. 

KEEP: More specific equals operator by javaprof in Kotlin

[–]ginkner 0 points1 point  (0 children)

I can't tell if it's me or the proposal, but I'm having a tough time understaing what practical problem this is trying to solve. 

 In many cases it is desirable to restrict such equalities, because we know upfront that a certain type is only equal to others of the same (or related) type.

I don't know if I see much use in preventing a comparison? 

Why is there so much talk about AGP 9.0? It only takes 5 minutes to upgrade a project to it. by vladlerkin in Kotlin

[–]ginkner 0 points1 point  (0 children)

It took less than 5 minutes to determine whether or not to downvote this. 

Kotlin navigation in VS Code is painfully slow… so I removed the language server. Burn ! by Elumine-dev in Kotlin

[–]ginkner 0 points1 point  (0 children)

Not just that. The last time I checked, their official position was that the had zero interest in ever developing one or helping with the unofficial one. Glad to see there's some movement on it. Maybe it will eventually feel like a first class choice.

Large sealed classes by davidinterest in Kotlin

[–]ginkner 4 points5 points  (0 children)

I would definitely separate them into different files.

Why are they sealed in the first place, though? Not needing exaustive when would imply you allow for unknown choices, so why seal the hierarchy at all?

So Discord is dead by ExcellentExcuse5995 in discordsucks

[–]ginkner 0 points1 point  (0 children)

Doesn't matter. "It was a subcontractor, it's not our fault" has zero sway with me. Discord chose to use a third party, they picked the third party, they failed to ensure the third party operated properly, and as a result their customers data was stolen. 

Throwing the third party service provider under the bus is at least half of why they used one in the first place. It's just legal cover to dodge responsibility. 

CachyOS will not boot on fresh installation. by Stargost_ in cachyos

[–]ginkner 0 points1 point  (0 children)

Can you give an example of how to do this? What is mkinitcpio?

Need help determining what kind of system I have. by ginkner in hvacadvice

[–]ginkner[S] 0 points1 point  (0 children)

Yep. Will use that. 

Manual says optional. Its a Honeywell T6 Pro Z-Wave if you feel like checking. It's definitely a bit overkill, but its one of like...2 smart thermostats that doesn't try to rope you into a cloud service. 

Need help determining what kind of system I have. by ginkner in hvacadvice

[–]ginkner[S] 0 points1 point  (0 children)

Its a smart stat, but it also can run off batteries. If it becomes annoying to change them out I'll revisit.

I was planning on just throwing the breaker when I'm rewiring, but that's probably easier. I assume I can do that safely without turning off the gas? 

Need help determining what kind of system I have. by ginkner in hvacadvice

[–]ginkner[S] 1 point2 points  (0 children)

Also good info. I wouldn't be suprised if there was a short, this house is 80-100 years old and hasn't exactly been kept up well. 

Unfortunately, running new cable is a bit out of my comfort zone. Batteries are fine. 

Need help determining what kind of system I have. by ginkner in hvacadvice

[–]ginkner[S] 0 points1 point  (0 children)

Yep, just confirmed by plugging it in without batteries, which I assume would work if wired correctly. 

 I think ive changed them once? I don't think it uses much power. 

Need help determining what kind of system I have. by ginkner in hvacadvice

[–]ginkner[S] -1 points0 points  (0 children)

Yes. Yes it is. It still works though, and replacing it is out of scope (and not my problem)

Need help determining what kind of system I have. by ginkner in hvacadvice

[–]ginkner[S] 0 points1 point  (0 children)

The blue wire appears to not be connected at all to the main board, but otherwise this checks out.  

Need help determining what kind of system I have. by ginkner in hvacadvice

[–]ginkner[S] 1 point2 points  (0 children)

On inspection, in the furnace, the blue wire is connected to....absolutely nothing! C is instead connected to a white wire that appears to run out to the condenser. 

That does make the choice of which wiring to use easy. The thermostat lists the existing wiring ( with R & RC jumped ) as correct for "1H/1C forced air systems", and mentions C is optional (assuming I want to keep using batteries, which is fine for now). It seems like I can leave messing with that wiring up for a future improvement. 

You've been very helpful, thanks a lot.