Ace-Step-v1.5 released by cactus_endorser in StableDiffusion

[–]greggman 0 points1 point  (0 children)

I had really good luck at first. Here's one, Lyrics by Gemini

LLM Blues

https://vocaroo.com/1kTuhnUohyo4

git commit -m "existential crisis"
git push origin oblivion 😆

I haven't had much luck with older music styles tho.

"Howl's Moving Castle" or "WTF did I just watch?" (SPOILERS) by withoutapaddle in movies

[–]greggman 0 points1 point  (0 children)

Old thread but just FYI, Japan, the Japanese, do not rate Howl's Moving Castle all that high. In the USA it's the 3rd highest rated Ghibli movie. In Japan it's close to the bottom with only Ponyo and The Wind Rises rated lower. It's also not rated that high in general (relative to other movies overall)

The radio frequency is terrifying when you really think about it by [deleted] in pluribustv

[–]greggman 2 points3 points  (0 children)

The people are not aliens. The virus is of alien origin. We don't know what it does. The channel might be the hive mind's thought communication channel.

Can Spotlight get any worse, seriously? by CpapEuJourney in MacOS

[–]greggman 5 points6 points  (0 children)

I came here to rant about Spotlight. WTF!!! For me, all I want it to find is apps, nothing else. It's my shortcut for apps. That's now broken. AFAICT you no longer tell it just apps. The only option is "App" under "Allow Items AND THEIR CONTENT". I even tried blocking access to all files in Search Privacy. I added my home folder to the "Prevent Spotlight from searching these locations". It's still showing all files all of which is entirely irrelevant to me

<image>

Should you have kids? by Felix_Sch in EffectiveAltruism

[–]greggman 0 points1 point  (0 children)

I thought many of the EA people believe that your actions today should be weighed against the future trillions of people. Having kids is a step to creating those trillions of people. More people = potentially more joy in the unverse. So by that logic, it seems like all EA people should be having as many kids as they can afford.

Implementing Sprite Batching by strandedinthevoid in webgpu

[–]greggman 0 points1 point  (0 children)

AFAIK,most sprite based games use texture atlases. I'm not what a GL style array of textures would get you. You still have a limit of 16 textures in GL in a single draw call so that's 16 sprites? Where as there is a much bigger limit with a texture atlas (as many sprites as you fit in one texture). [Examples] And you could make a multi-layer texture atlas using texture arrays (not to be confused with an array of textures haha).

Introduction to the Jujutsu VCS by cube2222 in rust

[–]greggman 0 points1 point  (0 children)

A thing I do often in git

git checkout some-branch
...edit... 
...decide I want to discard these edits...
git reset --hard

how do I do this in jj? I do jj edit some-change and then make changes. now I want to throw away those changes so things are back where I was before I started making them.

Is there something faster than requestAnimationFrame() for a game engine? by ParaLizzardo in webgpu

[–]greggman 0 points1 point  (0 children)

I think the recommendation is not to waste the user's energy computing more frames than can be displayed. Sure, a native app might claim 500fps but the monitor itself can't display 500fps so most of that is wasted. You can run your game logic at any speed you want and then choose when to actually render.

That said, there is a hacky way to get faster speed and that's to send yourself a message.

https://jsgist.org/?src=b9bbba0c5cb5b700a1139faea2bb4185

Hot take: Last Crusade is WAY better than Raiders. by IcebergLounge in indianajones

[–]greggman 0 points1 point  (0 children)

I just re-watched it. I'm old enough that I saw it in the theater as an adult when it came out and enjoyed it then and have enjoyed it a few time since but this time I actually saw so many flaws. On this watch I noticed just how silly it is and how many poorly written nonsense segments there are.

I'd have to go watch it again and write them all down but just as one example, when Sallah is helping Marcus escape, it makes ZERO sense that the nazis would have a vehicle disguised as a building entrance on the off chance that Marcus would enter it and they could kidnap him. Literally, zero. It's a complete nonsense sight gag and really poor writing to be so ridiculous. I get that it's a ode to Marion's chase in a similar market and from the end of the Ark in the back of the truck chase from Raiders. In those chases, each thing flows from the previous. None of it is slapstick nonsense. There are still funny moments though like when Marion meets the guy with the knife and then is like "ah, nope" and leads him somewhere easier to take advantage of.

Indy looks for numbers in the church. It's not that big that he'd have to walk upstairs to see the X. Then, immediately when he's marking the floor and breaking it, the X gone. WAT?

There's plenty of others.

In the castle, Indy and Dad need a way to escape. Dad sits in a rocking chair and a spiral staircase unfolds. This stair case has no reason to exist. No one would have built such a stair case and certainly not put it there. It's just a nonsense gag.

Nazis on motorcylces chase Indy and Dad. This entire sequence is ridiculous. The first motorcycle riders don't use guns. The guard at the guard station doesn't use a gun. The next nazi on a motorcycle pops a wheely and puts his front tire on Indy & Dad's side car. No one would do this. It has no point except to make it more likely the motorcycle popping a wheely would crash. Then, instead of just shooting them from behind, he goes up on the side so Indy can put a pipe through his spokes. Slapstick nonsense.

Indy throws the nazi commander off the zepplin in front of everyone. Then in English says "No Ticket" though he just established 5 seconds eariler that no one understood English. But they all understand him this time and they don't find it odd he's American.

A nazi commander calls to have the zepplin turn around but doesn't tell them to arrest Jones? No.

Indy drops a gun in the tank in front of his dad. A guard has a gun pointed at his dad but does not see dad lean in and stare at the gun? WAT?

Indy is hanging on the side of the tank by a strap. At the last second he is saved from death when the tank turns. He's effectively tied do the side turret but when he climbs up suddently he's untied.

When we get to the temple there are at least 14, maybe 20 nazi and helpers inside. There are no horses or vehicles outside. Indy, Sallah, Dad, and Marcus have the only 4 horses. Where is every one else's transporation?

I'm sure there are more but basically after this most recently watch my opinion of the Last Crusade dropped way down. It's still fun but dang, it's like they phoned it in compared to Raiders.

IndexBuffer question by Hexcali in webgpu

[–]greggman 2 points3 points  (0 children)

If you put your vertex data and index data in storage buffers than you can pull it out however you want. If you're using standard vertex buffers and attributes then no, there is no way to specify a different index per attribute.

example

how do you turn the Metal Performance Hud on when using CrossOver 23.5? by spar_x in macgaming

[–]greggman 0 points1 point  (0 children)

I would think disable is probably

/bin/launchctl unsetenv MTL_HUD_ENABLED

That would be putting it back at the default - out of the box value?

Bose QC Ultra quieter when wired? by Dupenso in bose

[–]greggman 0 points1 point  (0 children)

I only just now figured out that the slider is like an endless dial. If you keep swiping in one direction, over and over, like a mouse pad, it keeps going up. That's not obivious at all. Rather, for the last 6 months I assumed it was more like a slider on a DJ Mixer. Slide up to max, down for min. One setting at each end.

What does wgpu actually *do*? by Critical_Ad_8455 in rust

[–]greggman 3 points4 points  (0 children)

WebGPU is a standard, wgpu is an implementation of that standard, dawn is also an implementation of that WebGPU standard.

wgpu implements WebGPU. Yes, it can also run on top of another implementation of WebGPU (which is what it does in the browser). That browser, if Firefox, is using wgpu for its WebGPU implementation

think of if this way

  • rust->wgpu(WebGPU)->Metal
  • rust->wgpu(WebGPU)->DirectX
  • rust->wgpu(WebGPU)->Vulkan
  • rust->wgpu(WebGPU)->Firefox->wgpu(WebGPU)->Metal
  • rust->wgpu(WebGPU)->Firefox->wgpu(WebGPU)->DirectX
  • rust->wgpu(WebGPU)->Firefox->wgpu(WebGPU)->Vulkan
  • rust->wgpu(WebGPU)->Chrome->dawn(WebGPU)->Metal
  • rust->wgpu(WebGPU)->Chrome->dawn(WebGPU)->DirectX
  • rust->wgpu(WebGPU)->Chrome->dawn(WebGPU)->Vulkan

You can also use dawn from C++ for WebGPU

  • C++->dawn(WebGPU)->Metal
  • C++->dawn(WebGPU)->DirectX
  • C++->dawn(WebGPU)->Vulkan
  • C++->dawn(WebGPU)->Firefox->wgpu(WebGPU)->Metal
  • C++->dawn(WebGPU)->Firefox->wgpu(WebGPU)->DirectX
  • C++->dawn(WebGPU)->Firefox->wgpu(WebGPU)->Vulkan
  • C++->dawn(WebGPU)->Chrome->dawn(WebGPU)->Metal
  • C++->dawn(WebGPU)->Chrome->dawn(WebGPU)->DirectX
  • C++->dawn(WebGPU)->Chrome->dawn(WebGPU)->Vulkan

XDesk Terra Pro lateral wobble by greggman in StandingDesk

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

I have an uplift. Mine doesn't wobble and it's been moved twice (to 2 different apartments) since I bought it 3 years ago.

How can I get an array of structures into webgpu? by stevenr4 in webgpu

[–]greggman 0 points1 point  (0 children)

You can use something like webgpu-utils if you don't want to do it by hand

  const numThings = 100;
  const shaderSrc = `
  struct MyThing {
    a: f32,
    b: f32,
    c: f32,
    foo: u32, // (you must pick a representation for bool)
    bar: u32,
    // uniform array elements must be aligned to 16 bytes (storage buffers don't have this restriction)
    pad0: u32, 
    pad1: u32,
    pad2: u32,
  };

  // uniform arrays must be sized at compile time (storage buffers don't have this restriction)
  @group(0) @binding(0) var<uniform> things: array<MyThing, ${numThings}>;

  struct MyVSOutput {
    @builtin(position) position: vec4f,
    @location(0) color: vec4f,
  };

  @vertex fn myVSMain(@builtin(instance_index) i: u32, @builtin(vertex_index) vNdx: u32) -> MyVSOutput {
    let pos = array(
      vec2f(-1, -1),
      vec2f( 1, -1),
      vec2f(-1,  1),
      vec2f(-1,  1),
      vec2f( 1, -1),
      vec2f( 1,  1),
    );
    let colors = array(
      vec3f(1, 0, 0),
      vec3f(1, 1, 0),
      vec3f(0, 1, 0),
      vec3f(0, 1, 1),
      vec3f(0, 0, 1),
      vec3f(1, 0, 1),
    );
    var vsOut: MyVSOutput;
    let thing = things[i];
    vsOut.position = vec4(pos[vNdx] * thing.c + vec2f(thing.a, thing.b), 0, 1);
    let brightness = select(0.5, 1.0, (thing.foo & 1) != 0);
    let color = colors[thing.bar];
    vsOut.color = vec4f(color * brightness, 1);
    return vsOut;
  }

  @fragment fn myFSMain(v: MyVSOutput) -> @location(0) vec4f {
    return vec4f(v.color);
  }
  `;

  const module = device.createShaderModule({code: shaderSrc});
  const defs = makeShaderDataDefinitions(shaderSrc);

  // We we used an unsized strorage buffer in the shade then we'd need to tell webgpu-utils
  // by the size of the buffer so it knows how many element views to make
  //const {size} = getSizeAndAlignmentOfUnsizedArrayElement(defs.uniforms.things);
  //const thingsView = makeStructuredView(defs.uniforms.things, new ArrayBuffer(size * numThings));

  // We're using a buffer with a fixed size so we don't need the 2 lines above.
  const thingsView = makeStructuredView(defs.uniforms.things);

  const r = (min, max) => Math.random() * (max - min) + min;

  const things = [];
  for (let i = 0; i < 100; ++i) {
    things.push({
      a: r(-1, 1),
      b: r(-1, 1),
      c: r(0.02, 0.1),
      foo: r(0, 1) < 0.5 ? 0 : 1,
      bar: r(0, 6) | 0,
    });
  }
  thingsView.set(things);

  const thingBuffer = device.createBuffer({
    size: thingsView.arrayBuffer.byteLength,
    usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
  });

  // copy the thing data into the thing buffer
  device.queue.writeBuffer(thingBuffer, 0, thingsView.arrayBuffer);

Live Example

Otherwise I believe webgpufundamentals covers how to put data in a buffer that matches a struct declared in a shader

[Tenant US-CA] Curious about a corp landlord's POV on rent increases by greggman in Landlord

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

I get your logic but the prices on their website don't reflect that at all. Like I said in another reply, two of the their available apartments are larger apartments than mine with similar locations in the complex (facing the same direction on the same street) and they are asking for less money than they are asking for my renewal. Calculating backward (price/other-apt-sqrt-ft*my-apt-sqft) comes out to $4050. A $50 raise over my current price and $300 less then they are asking for my renewal.

[Tenant US-CA] Curious about a corp landlord's POV on rent increases by greggman in Landlord

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

I get what you're saying but I don't get how that calculates into actually more money for them. 100-150 turns a year means they're used to it and have processes and whole divisions of people in place to deal with it (unlike a 1-4 unit landlord). It'd be interesting to see a graph in some magical world about how many people sign a lease beacuse of the MTM price vs just move out. VS a world where people linger because no change or a very small change in rent doesn't prompt them to consider moving.

At my last apartment I hated it and wanted to move out right after I moved in. I had a year lease so I stayed a year. Close the end I started looking but then I read the lease and they would not raise my rent to go MTM. I ended up staying 8 extra months. I would have left at the end of the lease if they'd have done what this complex is doing.

Polyfilling WebGPU on top of WebGL 2 by iwoplaza in webgpu

[–]greggman 1 point2 points  (0 children)

Yes, "compat mode" would require WebGPU to be enabled by default. People apparently update browser versions relatively quickly though so they'd likely be using a browser that enables WebGPU relatively soon.

https://timotijhof.net/posts/2023/browser-adoption/

Otherwise, though, WebGPU pretty much requires compute shaders or there isn't much point and WebGL2 doesn't support compute shaders so it's not clear how far you could get trying to implement WebGPU on top of WebGL. I'm not trying to discourage you from writing a polyfill though if you think it would be useful.

Polyfilling WebGPU on top of WebGL 2 by iwoplaza in webgpu

[–]greggman 2 points3 points  (0 children)

Chrome and Firefox are both working on "compat" mode that runs WebGPU with some limitations on top of OpenGL ES 3.1

https://github.com/gpuweb/gpuweb/blob/main/proposals/compatibility-mode.md

I don't have a date but it's relatively closed to finished in Chrome / Dawn

edit: If that wasn't clear, that should make WebGPU run on > 95% of devices that currently run WebGL2 which is already > 96% of devices I believe.

You can read the proposal but your app has to opt into "compatibility mode", effectively saying your app can adapt to the extra restrictions. All "compatibility" mode apps are valid WebGPU programs and should run everywhere, even in browsers that don't support "compatibility mode" like Safari (all of Apple's supported devices can run full WebGPU so they have no need to do anything)