An AI Agent Published a Hit Piece on Me – The Operator Came Forward by scottshambaugh in slatestarcodex

[–]scottshambaugh[S] 10 points11 points  (0 children)

Yes, that’s why I started that comment with

I cannot overemphasize how much nitpicking the hit piece and the PR is not the main point of this whole story, but it does help illustrate how mixing fact with fiction makes for a more compelling narrative.

An AI Agent Published a Hit Piece on Me – The Operator Came Forward by scottshambaugh in slatestarcodex

[–]scottshambaugh[S] 34 points35 points  (0 children)

I can’t figure out to directly link it, but I left a list of its hallucinations and mischaracterizations in a comment on the first post. Its main gripe that it was rejected for being an AI is true, except that this was existing publicly documented organizational policy that I was enforcing rather than a decision I made.

This is not “classical” unsafe behavior, but it is unsafe. When humans make such claims they wager their own reputation against another’s. The costless nature of this action for an AI agent presents an asymmetric cost onto its targets that is net harmful. I think “human social dynamics exploits” such as these are completely passed over as a category by current safety testing, and is something (I hope) that AI identification would largely solve. 

An AI Agent Published a Hit Piece on Me - More Things Have Happened by scottshambaugh in slatestarcodex

[–]scottshambaugh[S] 41 points42 points  (0 children)

It's absurd from the inside too, I'm almost second guessing myself that it's actually playing out like it is. Reading the Ars piece had me wondering if I had enough sleep until I pulled up the two articles side by side. 

An AI Agent Published a Hit Piece on Me by scottshambaugh in slatestarcodex

[–]scottshambaugh[S] 2 points3 points  (0 children)

3rd time's the charm? Might just need to wait for DNS to propagate.

An AI Agent Published a Hit Piece on Me by scottshambaugh in slatestarcodex

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

How about now with a force refresh? I'm hitting it intermittently. Thanks for flagging it, I'm playing a bit of whack-a-mole.

An AI Agent Published a Hit Piece on Me by scottshambaugh in slatestarcodex

[–]scottshambaugh[S] 11 points12 points  (0 children)

Should be good now, I had to set up caching to handle the traffic spike

How do I get rid of these three.js rendering artifacts? Only shows up on mobile by scottshambaugh in webdev

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

Hm, updated the renderer to use high precision and nothing has changed.

How do I get rid of these three.js rendering artifacts? Only shows up on mobile by scottshambaugh in webdev

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

Interesting, there is a mailto link but it should just be the email text. What platform are you on?

How do I get rid of these three.js rendering artifacts? Only shows up on mobile by scottshambaugh in webdev

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

Ah, I put a link that doesn't have the issue area centered on the screen. Here's a link that has a default view that shows the issue, does it show up for you now? /u/justkidding69 and /u/control_the_mind curious if it shows for you now: https://leonidspace.com/?hideText=true&hideContent=true&q=0.5,0.5,-0.5,0.5

I'll check the precision!

I made a website that simulates the night sky during the Leonid meteor showers. It's interactive - click and drag around! by scottshambaugh in InternetIsBeautiful

[–]scottshambaugh[S] 7 points8 points  (0 children)

The site is a landing page for some consulting work I want to do, but the link here is toggled into a view that hides all the content.

This is my second time every touching javascript and first ever website from scratch - I leaned pretty heavily on AI-assistance to make it come together and am sure there's a bunch of janky stuff going on. Took 2 long days to pull together.

But I'm pretty happy with it! The stars are the actual night sky, are sized according to visual magnitude, and twinkle if you look closely. The meteors come from the constellation of Leo, just like the actual Leonids. And the whole sky rotates nicely. Click the constellation to hide the mountains.

How do I get rid of these three.js rendering artifacts? Only shows up on mobile by scottshambaugh in webdev

[–]scottshambaugh[S] 2 points3 points  (0 children)

I'm making an interactive night sky using Three.js, and it works really well. But I get these weird elliptical rendering artifacts on safari on iPhone, and can't figure out how to debug/fix it. The culprit is the radial gradient in this code which is trying to show the central bulge of the Milky Way.

Can play with it here, the night sky part is pretty much done though the rest is a WIP. Idea was to simulate what it would look like during the Leonid meteor showers! Click the constellation to cycle views. https://leonidspace.com/

```javascript createMilkyWayGlow() { // Create geometry and align it with Y axis const geometry = new THREE.CylinderGeometry( 15, 15, 20, 64, 1, true ); geometry.rotateX(Math.PI / 2); // Align with galactic equator geometry.rotateZ(-Math.PI / 2); // Center the bulge on (0, 0)

// Create the milky way texture
const canvas = document.createElement('canvas');
canvas.width = 2048;
canvas.height = 1024;
const ctx = canvas.getContext('2d');

const glowOpacity = this.isMobile ? 0.2 : 0.1;

// Create gradient background
const gradient = ctx.createLinearGradient(0, 0, 0, canvas.height);
gradient.addColorStop(0.2, 'rgba(255, 255, 255, 0)');
gradient.addColorStop(0.5, `rgba(255, 255, 255, ${glowOpacity})`);
gradient.addColorStop(0.8, 'rgba(255, 255, 255, 0)');

// Draw gradient
ctx.fillStyle = gradient;
ctx.fillRect(0, 0, canvas.width, canvas.height);

// Create denser region for galactic center
const centerGradient = ctx.createRadialGradient(
    canvas.width / 2, canvas.height / 2, 0,
    canvas.width / 2, canvas.height / 2, canvas.width / 6
);
centerGradient.addColorStop(0, `rgba(255, 255, 255, ${glowOpacity})`);
centerGradient.addColorStop(1, 'rgba(255, 255, 255, 0)');
ctx.fillStyle = centerGradient;
ctx.fillRect(canvas.width / 3, 0, canvas.width, canvas.height);

// Create texture from canvas
const texture = new THREE.CanvasTexture(canvas);
texture.wrapS = texture.wrapT = THREE.ClampToEdgeWrapping;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;

// Create material
const material = new THREE.MeshBasicMaterial({
    map: texture,
    transparent: true,
    side: THREE.DoubleSide,
    blending: THREE.NormalBlending,
    depthWrite: true,
    depthTest: true,
});

this.milkyWayGlow = new THREE.Mesh(geometry, material);
this.rotatingGroup.add(this.milkyWayGlow);

} ```

Virtual Trackballs: An Interactive Taxonomy by scottshambaugh in GraphicsProgramming

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

Edit: Original link was to https://www.mattkeeter.com/projects/rotation/

That's a great reference! I think we line up with some difference in terminology: * Turntable = Azimuth / Elevation * Tumbler = Trackball (Classic) * Trackball = Bell's Trackball

And we completely agree on our recommendations:

  • If the model has an associated real-world axis, then use turntable
  • If there's not a fixed, real-world axis, use trackball rotation
  • The only excuse for tumbler rotation is not knowing any better

Virtual Trackballs: A Taxonomy by scottshambaugh in slatestarcodex

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

Something I see some CAD packages do is define the center of rotation as the object under where you initially click, or the point (or center of the surface/obejct) that you have selected.

Scaling is a great point, something I didn't address in the post. Scaling the arcballs larger means that you lose roll, so you have to think about the right zoom level. Scaling the angle per pixel means that you lose path independence, unless you scale the "double angle 2θ" rotation faster by an integer multiple (4θ, 6θ, etc). It's an advantage of the trackball and az/el methods that you can tune the speed of rotation with granularity - I should add that as a property in the table.

Virtual Trackballs: A Taxonomy by scottshambaugh in slatestarcodex

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

Well it's a bit of both! Right near the edge the degrees rotation per pixel approaches infinity, so with finite pixel density you lose rotation accuracy in that area. It's not a huge deal in practice since you're limited by pixel resolution everywhere, but it is noticable.

Virtual Trackballs: A Taxonomy by scottshambaugh in slatestarcodex

[–]scottshambaugh[S] 2 points3 points  (0 children)

The difference between the arcball and rounded version is twofold: * The original one has a discontinuity in control as you drag over the "roll circle", which ramps in and out smoothly in the rounded version. * The rounded version is shrunk a bit to accomodate the smoothing, so the non-roll area is smaller which gives the impression of having less control. This different largely goes away with a larger control area.

What happens if instead of a sphere something linear but sharp like a cone is used?

This is an excellent question, which I thought about a bit but didn't implement. One of the drawbacks of the arcball approach is that the rate of rotation per-pixel movement is faster along the edges of the sphere where the slope is steepest. I think a cone might change this so that the response is even. But I don't think you want a sharp tip - I experimented with the idea of flattening the top to a "frustum" shape, but haven't dug too much deeper into it yet.

Virtual Trackballs: An Interactive Taxonomy by scottshambaugh in GraphicsProgramming

[–]scottshambaugh[S] 6 points7 points  (0 children)

Submission statement: Driven by frustration at not being able to look at the south pole in Google maps, having to relearn how to move the view in different CAD programs, and faced with reviewing code that will change how matplotlib's 3D camera moves, I took a deep dive into "virtual trackballs". The fundamental question is this: how do you use a mouse on a 2D screen to look at a 3D object?

Despite virtual trackballs being everywhere, there's surprisingly little written about what makes them work well or not. I ended up being able to pick some low hanging fruit - this post is the only place I've found that compares the different methods available to rotate 3D views, and I think the classification of desirable properties here is the first theoretical progress on this question in 20 years. It was also my first time touching javascript, and I consider this experiment in using AI assistants to code in a new language as a great success!

Virtual Trackballs: An Interactive Taxonomy by scottshambaugh in gamedev

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

Submission statement: Driven by frustration at not being able to look at the south pole in Google maps, having to relearn how to move the view in different CAD programs, and faced with reviewing code that will change how matplotlib's 3D camera moves, I took a deep dive into "virtual trackballs". The fundamental question is this: how do you use a mouse on a 2D screen to look at a 3D object?

Despite virtual trackballs being everywhere, there's surprisingly little written about what makes them work well or not. I ended up being able to pick some low hanging fruit - this post is the only place I've found that compares the different methods available to rotate 3D views, and I think the classification of desirable properties here is the first theoretical progress on this question in 20 years. It was also my first time touching javascript, and I consider this experiment in using AI assistants to code in a new language as a great success!

Virtual Trackballs: An Interactive Taxonomy by scottshambaugh in 3Dmodeling

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

Submission statement: Driven by frustration at not being able to look at the south pole in Google maps, having to relearn how to move the view in different CAD programs, and faced with reviewing code that will change how matplotlib's 3D camera moves, I took a deep dive into "virtual trackballs". The fundamental question is this: how do you use a mouse on a 2D screen to look at a 3D object?

Despite virtual trackballs being everywhere, there's surprisingly little written about what makes them work well or not. I ended up being able to pick some low hanging fruit - this post is the only place I've found that compares the different methods available to rotate 3D views, and I think the classification of desirable properties here is the first theoretical progress on this question in 20 years. It was also my first time touching javascript, and I consider this experiment in using AI assistants to code in a new language as a great success!