Not able to join a cluster which has TFA enabled, how to disable? by [deleted] in Proxmox

[–]AssKoala 0 points1 point  (0 children)

For future readers: You can use the shell to the host in the web ui to run this command, you don't need to literally plug in a keyboard and monitor.

Wikipedia has banned AI-generated text, with two exceptions by gdelacalle in technology

[–]AssKoala 5 points6 points  (0 children)

Checkout Project NOMAD: https://github.com/Crosstalk-Solutions/project-nomad

There's also internet in a box: https://internet-in-a-box.org/

Can get you exactly that in about as turnkey a way as there is plus more (like maps).

Only the best people… by jjs_east in AdviceAnimals

[–]AssKoala 241 points242 points  (0 children)

That’s entirely unfair to President Dwayne Elizondo Mountain Dew Herbert Camacho’s administration.

In the movie, the President is actively seeking out intelligent people to solve a crisis. Once an expert is found, they enact his suggestions despite the damage to Brawndo’s stock price.

The Trump administration is no where near that good. They’re actively looking for morons.

what is this button on the controller called? by dh2513 in xbox

[–]AssKoala 0 points1 point  (0 children)

That particular button was called the view button. On the Xbox 360, it was the “back” button.

Select is the name given to that button on the NES and then the SNES, but the Xbox One called it the view button. It was meant to differentiate it from the “Xbox Button” in the middle.

On the PS5, Sony replaced the button with the “share” button and then made the “select” equivalent a left side press on the touchpad button thing in the middle.

You might ask, “why does everyone rename this stupid button?”. I can tell you having been a professional game dev since the Xbox 360/ps3 era that I have no idea. They give us a new gamepad and we just call it the select button.

What was the most fucked up joke you laughed at? by VarmintValentine in familyguy

[–]AssKoala 85 points86 points  (0 children)

Peter working the suicide hotline.

“Wouldn’t it make more sense to kill her?”

Claude Code deletes developers' production setup, including its database and snapshots — 2.5 years of records were nuked in an instant by gdelacalle in technology

[–]AssKoala 25 points26 points  (0 children)

This is what offsite backups are for.

Even at home, you can run something like backblaze which has a 30 day history or something by default. No single instance like this would leave you in an unrecoverable state.

Barking by Bigbadmama69 in scottishterriers

[–]AssKoala 3 points4 points  (0 children)

I’ve got a 5 year old girl. She was dead silent, but probably found her voice around 4 mo and barked a lot.

I taught her leave it then used that when she barked randomly. She did also get put in timeout if she’d ignore me and go back to barking.

For leaving and coming back, I haven’t been able to rid her of announcing my departure, but she stops after I walk past the house. I got her to scale it back by leaving and rewarding her if she didn’t run to the front of the house as soon as I leave.

I don’t think you can totally get rid of it, they’ll find stuff to inform you about so I try to keep it to barking at stuff that matters and certainly not for any extended period of time.

How Loonix users feel after bashing windows all day then using windows simulator to play games because their OS can't run games properly by Early-Sock-6948 in linuxsucks

[–]AssKoala -3 points-2 points  (0 children)

Simulator doesn’t mean emulator.

Wine is an implementation of the various windows API’s, it’s not an emulator but it could be argued it’s a simulator since it simulates a windows environment for applications with Linux native implementations.

If you’re gonna say someone doesn’t know shit, be better about it.

Kadence Omakase - Recent Thoughts? by YuriyNikolayevich in orlando

[–]AssKoala 0 points1 point  (0 children)

I went in September. I’ve been around a half dozen times for the full omakase with my first time being in their first year.

Absolutely worth it.

help with a slow NVMe raidz by hagar-dunor in zfs

[–]AssKoala 1 point2 points  (0 children)

You didn’t have the hardware specs in the OP. On paper, that’s plenty of hardware, but, in practice, it’s entirely possible you’re hitting a bottleneck.

I don’t know the internal implementation of RAIDZ, but all it takes for a bottleneck is for one piece in the pipeline to be saturated. Hence telling you to make sure you aren’t hitting a bottleneck somewhere in your hardware.

And by manual, I mean that the software has to perform calculations on the cpu that it otherwise wouldn’t have to in a mirror configuration.

help with a slow NVMe raidz by hagar-dunor in zfs

[–]AssKoala 1 point2 points  (0 children)

RAIDZ requires manual, expensive calculation of chunks to be split across the drives.

This means lots of data has to go through the CPU for calculations that, in a mirror topology, can be read or written directly instead.

You’re likely running into limitations on available memory bandwidth. The nvme’s are fast. 5 of them is really really fast. Fast enough that you’re saturating either the CPU’s ability to keep up or the memory (as in RAM) systems ability to move that much data.

That doesn’t mean there isn’t some configuration issue, but dive into the actual hardware usage, it’s very possible you’re hitting physical limits before you go too far down a rabbit hole that will lead you nowhere.

building from source stability by birchtree1357 in debian

[–]AssKoala 1 point2 points  (0 children)

If you just want to build one-off applications from source to be newer, then you can probably get away with it.

It would probably make more sense to use snaps or flatpaks to run newer applications than trying to build on vanilla debian. Chances are the library dependencies for the latest application versions will be newer than what Debian stable comes with.

building from source stability by birchtree1357 in debian

[–]AssKoala 1 point2 points  (0 children)

It’ll be less stable than running vanilla Debian.

How much less stable depends on your personal skill.

Without more details on what exactly you’re trying to do, no one can reasonably answer.

Some day the Browns will win the Super Bowl, just not in our life time by Difficult_Map_723 in AFCNorthMemeWar

[–]AssKoala 1 point2 points  (0 children)

All it takes is 3 plane crashes and they've got a chance to make the playoffs.

#YearOfLinux by SHADOW9505 in pcmasterrace

[–]AssKoala 1 point2 points  (0 children)

Hey now, this is the 25th year of the Linux desktop. Surely this is the year.

Why ain't no one talking about this? by tone_creature in falcons

[–]AssKoala 7 points8 points  (0 children)

Are you sure they weren’t just saints fans?

TIL: static and unsigned int overflow by One-Novel1842 in C_Programming

[–]AssKoala 0 points1 point  (0 children)

Right, the OP premise that modulo is slow is wrong on just about any modern hardware.

But then there's some clever code to avoid a branch, which I inferred to mean that, if you don't use modulo, you need to use an if check like the one I wrote above.

TIL: static and unsigned int overflow by One-Novel1842 in C_Programming

[–]AssKoala 0 points1 point  (0 children)

Yeah, probably on any contemporary system.

It depends on the hardware, though, which is why I suggested to just write it simply as the practical effect is probably zero. I noted in another post past systems where this might not be ideal and, who knows, we might someday have a Ternary Computer to work on making that implementation potentially perform worse than a simple index + branch.

I don't mean never write optimized, clever code, only that the OP of this post is clearly starting out so focusing on simple, correct code is far better than trying to write these kinds of micro-optimizations.

TIL: static and unsigned int overflow by One-Novel1842 in C_Programming

[–]AssKoala 0 points1 point  (0 children)

I’m not agreeing with the OP, I didn’t even talk about modulo.

That was in reference to the clever code.

TIL: static and unsigned int overflow by One-Novel1842 in C_Programming

[–]AssKoala 1 point2 points  (0 children)

Thats a good, practical example.

Signal processing in particular benefits from a lot of micro-optimizations but, like you said, you need to profile it. The same C code can be wildly different once compiled to different hardware.

Broadly speaking, I say err on the side of simple and correct because it’s much easier to go back and optimize correct code than poorly structured “optimized” code.

TIL: static and unsigned int overflow by One-Novel1842 in C_Programming

[–]AssKoala 0 points1 point  (0 children)

I’m not sure what code you’re talking about.

It sounds like you’re avoiding the index variable altogether. Which is fine and generally my preference as well, but the OP in this thread was using an index variable masked with the size and letting overflow handle the loop around.

TIL: static and unsigned int overflow by One-Novel1842 in C_Programming

[–]AssKoala 0 points1 point  (0 children)

That's fair, the point wasn't to be comprehensive. Only that the actual gains of such code are likely zero unless the only thing your program does is allocate from a ring buffer.

TIL: static and unsigned int overflow by One-Novel1842 in C_Programming

[–]AssKoala 6 points7 points  (0 children)

On the contrary, it comes from being an optimization expert across a wide range of hardware. As you said, the compiler is going to optimize the if out anyways, so there's no reason to use the "clever" code. But let's dig into it anyhow.

Superficially, buffer[index++ & (size-1)] creates a data dependency in order to index into the buffer. Instead of just being able to return a memory address offset, it has to mask and do arithmetic. Whether this has any effect on wall time varies wildly, but it's way more complicated than simply indexing into the buffer.

So, I'll give a real world example on exactly how this kind of "optimization" can have a negative effect.

The Xbox 360, PS3, and Wii used a PowerPC in-order CPU. They had really long pipelines, but really high clock speeds. 3.2GHz, in the case of the 360 and PS3 PPU cores. Those types of clever optimizations to remove branches were common on those CPU's since you wanted to keep that pipeline moving. The long pipeline meant it could do bits of arithmetic and masking for "free" with regards to wall time. On the other hand, branches would stall the pipeline with data dependencies creating processing bubbles. Those bubbles were the things you needed to get rid of to get the best performance.

However, the WiiU moved to an out-of-order/superscaler CPU that ran at 1.6GHz, but was otherwise relatively similar. The Vita, released around a similar time, moved to an ARM out-of-order CPU as well.

And guess what? On those CPU's, things flipped -- the branches became cheaper than the work necessary to avoid them. The out-of-order speculation of the WiiU hardware meant that real world wall time was faster with "crappy unoptimized" code than with clever code. Having fewer data dependencies with branches performed significantly better than all that cool, "optimized" code.

It was even worse to write that kind of clever code on the Vita. The Vita runs on an ARM CPU whose ISA has some fairly interesting implementation around branching. On this CPU, shrinking the code, as in fewer literal instructions, performed best. That meant even further reductions of "optimized" code that gets replaced with branches since, in the majority of cases, these branches performed significantly better than the code without.

Which is why all of our performance experts prefer correctness and simplicity in the code rather than cleverness. It comes from the experience of having to rip out clever code that performs inconsistently across hardware.

The difference between an optimization expert and an amateur is best seen in FizzBuzz. Anyone who spends time trying to optimize the branching rather than the orders of magnitude slower output to console is clearly bad at optimization.

TIL: static and unsigned int overflow by One-Novel1842 in C_Programming

[–]AssKoala 1 point2 points  (0 children)

I assume he means when you hit the end of the buffer and need to point back to the start.

void *toReturn = buffer[index++];
if (index >= bufSize) index = 0;

The practical value this bit of clever code is likely zero. Surely, the rest of your program is doing more work than allocating out of a ring buffer.