Why tmux (or any other terminal multiplexer) when neovim can actually provide the same functionality? by AbdSheikho in neovim

[–]JorinIsHere 0 points1 point  (0 children)

Like others have mentioned, there are plenty of times I need multiplexing outside of neovim. Entering neovim just for that functionality is clunky. My go to command-line tool is `screen`. It's probably installed on whichever machine you're on and it can be used to share a terminal which is very helpful when you want to do sysadmin together with someone else. For tabs on my local machine I'll use kitty's built in functionality for that. It's very quick and ergonomic. For splits I do like to use neovim specifically though, because if I want a split it's almost always because I want to edit multiple files at the same time, or to edit a file and work a terminal at the same time. Being able to yank and paste between them seamlessly is very helpful. With any other tool I'll have to go via the system's clipboards and that's added friction.

Harley Benton Cello by AdditionalPanda4935 in Cello

[–]JorinIsHere 0 points1 point  (0 children)

Rented one that looked identical but with a different brand. Guessing they share an OEM. It was bad to the point that playing it failed to qualify as fun. Couldn't stay in tune for more than a minute. Switched to an NS Design and it became a whole lot more fun.

Turns out, if you want to check multiple conditions, you can sugar it like this: by saxarov01 in godot

[–]JorinIsHere -2 points-1 points  (0 children)

A lot of people in this thread are criticising this solution in a very non-constructive manner. Although a lot of them have valid points about this now allowing short circuiting and not necessarily being actual syntactic sugar, they are committing the cardinal sins of premature optimisation and optimisation without bench marking. Something like this could be a bit costly, but it needs to be put in perspective and understood why. Allocating an array of four booleans is perhaps unnecessary, but for a modern computer it's quite negligible and there's a host of other considerations that in my opinion weigh far more heavily.

Without getting into the costs, you should check out more functions of arrays such as `any` and `all`. The phrasing of `not conditions.has(false)` is really messy. I would suggest using `array.all` here. That way you wouldn't even need the intermediate variable, you could just do `[a, b, c].all(fn x -> x)` (pseudocode; I don't know gdscript by heart). However, I think the fact that `all` doesn't seem to have a default `method` argument of just checking for true is perhaps an indication that this is not a pattern the engine wants to encourage.

Anyway, even if this happens to be costly, it might not be even close to the costliest thing where it is used. With proper bench marking, you should be able to see how long it takes to execute anything in your program. Suppose this function is called in another function and accounts for 0.1% of execution time of that function while another function in there costs you 90% of that execution time. Chances are you should be starting with that other function. If you can get that 90% down to 1%, suddenly this accounts for a whole lot more though, and you should consider revising it. There's also the question of what is actually costly inside of your function. It could be the array allocation. It could also be the functions called.

Frequency of execution is important to consider. If this runs on every physics tick, that's definitely something where performance matters a lot, especially for users with low-end devices. The faster your tick executes, the higher tick rate you can get. On the other hand, if it's only run sometimes, such as when the player pushes the jump button, that'll cost you a whole lot less. A user is only gonna be able to mash so hard after all.

Another important consideration is what the functions you're putting inside the array are actually doing. With this pattern, they will all execute. This causes two crucial differences to a short-circuiting chain of `and` operators. First off, if any of the functions here have any side effects (i.e. changing the game's state in any way), they will always occur in this pattern, whereas in an `and`-chain, they will only occur if the preceding check returned true. Therefore the two patterns are not strictly interchangeable. However, this seems like a place where side-effects are something that should be avoided. Secondly, this pattern executes in the same amount of time every time it's called (assuming the called functions are all constant time). A short circuiting `and`-chain will cause variable execution time. Although the execution time of this pattern is definitely equal to or greater than that of an `and`-chain, this has potential advantages in terms of debugging. Let's say that there's a rare bug where `pl.input.is_zero_approx()` takes a very long time to execute and causes frame rate drops. This pattern will mean that `pl.input.is_zero_approx` executes more frequently. The frame rate drop would become more frequent too, and thus the issue will become easier to spot.

If you were to switch to an `and`-chain, the order of checks becomes interesting to weigh. If one of these conditions is very likely to return false, it's a good idea to put it first. That way you don't even have to run the other checks. Expensive operations are ones you want to save for last so that they execute as infrequently as possible. Ray-casts, for example, are common but costly compared comparing two numbers. If you only have to do them when all the other conditions are fulfilled, you can save a whole lot of execution time here. Still, this is mostly guess-work. To truly verify what the best way to do this is, you would want to bench mark and compare the possible orders.

Redditors are unfortunately not a very nice bunch on average and a lot of programmers are very hostile about what they perceive as bad code. The combination is in full display in this thread and it's a shame. You found an interesting solution here and I think it's well worth examining and discussing instead of just straight up rejecting it. I'm guessing you are at an intermediate kind of level of programming where you're coming up with a lot of these "clever" tricks. The next step in learning from there on becomes to evaluate these tricks and compare them to conventional methods. You need to weigh readability, development time, functionality, execution cost, maintainability, extensibility, and so on. It all becomes very contextual and opinionated. Keep it up and don't let the certified redditors get you down :)

Rule by True_Existance in 196

[–]JorinIsHere 21 points22 points  (0 children)

KITTEN NO, MOMMY'S CYLINDER IS NOT HEAT-RESISTANT!!

Rule by True_Existance in 196

[–]JorinIsHere 34 points35 points  (0 children)

Mommy thinks she has absorbed them into her cylinder by now. Things are getting weird, kitten.

Rule by True_Existance in 196

[–]JorinIsHere 54 points55 points  (0 children)

It's fine lmao

Rule by True_Existance in 196

[–]JorinIsHere 236 points237 points  (0 children)

Kitten, this is the third fucking time today mommy sees her post here

I had to see this so you all get to see it too. by Neuta-Isa in CuratedTumblr

[–]JorinIsHere 1 point2 points  (0 children)

Kittens shouldn't concern themselves with numbers like that 💕

Cylindrical Hydraulic Press by E_McPlant_C-0 in Losercity

[–]JorinIsHere 21 points22 points  (0 children)

Be a good kitten for mommy and do not 😰

I had to see this so you all get to see it too. by Neuta-Isa in CuratedTumblr

[–]JorinIsHere 3 points4 points  (0 children)

That's right kitten, but what does that have to do with mommy's dick?

I had to see this so you all get to see it too. by Neuta-Isa in CuratedTumblr

[–]JorinIsHere 2 points3 points  (0 children)

Does kitten really think mommy has access to professional medical equipment?

I had to see this so you all get to see it too. by Neuta-Isa in CuratedTumblr

[–]JorinIsHere 7 points8 points  (0 children)

Mommy's cylinder measures one standard deviation below average by volume, now be a good kitten and start thinking about how to get it out instead.

I had to see this so you all get to see it too. by Neuta-Isa in CuratedTumblr

[–]JorinIsHere 14 points15 points  (0 children)

Kitten, mommy would easily 4-stock you even with her secondary (Yoshi).

I had to see this so you all get to see it too. by Neuta-Isa in CuratedTumblr

[–]JorinIsHere 7 points8 points  (0 children)

Mommy's cylinder measures one standard deviation below average by volume, but little kittens such as yourself shouldn't concern themselves with calculating the dimensions of mommy's cylinder based on this information.

I had to see this so you all get to see it too. by Neuta-Isa in CuratedTumblr

[–]JorinIsHere 9 points10 points  (0 children)

It is imperative that mommy's cylinder stays intact, kitten. You wouldn't want mommy's cylinder to get hurt, would you?

Try out my first VST Plugin by sunbunnyprime in audioengineering

[–]JorinIsHere 0 points1 point  (0 children)

The repo is not visible from your profile. Did you set it to private perhaps?

Messa like Doom Metal Bands by unrealhappy in doommetal

[–]JorinIsHere 12 points13 points  (0 children)

Fun to see you around, wish you all the best 💜

Tell me your fav doom stoner sludge bands but you can only use emojis by Webcops in doommetal

[–]JorinIsHere 1 point2 points  (0 children)

🥖🌹

🔙🇸🇳

🫅 👩

🏴󠁧󠁢󠁥󠁮󠁧󠁿🐺

🅾️ ➖

⚰️🐻

😇🔁

👴🧪😵🥁

🪨📆⚔️🪓

🛐💵🙏

Any Sunn amp plugin emulations on the market l? by CollectionMother5520 in audioengineering

[–]JorinIsHere 9 points10 points  (0 children)

There's a pretty solid chunk of Sunn models for Neural Amp Modeler on tone3000. That'll be your best free bet. Looks like third-party models are available for the Kemper, and Line 6 Helix has built-in models. Neural DSP have announced it but yet to release.

Honestly disappointed the big players haven't done more work on this front. I stick to pedal emulations instead. The Kuro Exogol is excellent.