27:18Gemini 4 Hydrogen: Cheaper Tokens, More Expensive Answers?
Nov 13, 2026 · YouTube
18:40ERNIE 5.5 Flash Preview vs GLM 5.3 Flash: Baidu's new model is very impressive!
Nov 11, 2026 · YouTube
36:22Fable 5.2 robbing me blind, plus: Nex AGI's N2.6 vs GLM 5.3 Flash
Nov 11, 2026 · YouTube
14:03Gemini 4 Carbon: Can it handle my challenges? (First look with one-shot coding tests)
Nov 10, 2026 · YouTube
47:51Ranking major U.S. Open-Weights Models. (Where does Ripple 65B fit in?)
Nov 6, 2026 · YouTube
10:57"Crouton Alpha": the latest super-efficient coding model by Meta?
Nov 3, 2026 · YouTube
38:58Testing Particle-1: a post-trained DeepSeek V4.1 Flash specializing in coding and efficiency
Oct 28, 2026 · YouTube
22:14GPT-6.1 Terra Pro vs Terra: How Much Better Is Pro?
Oct 27, 2026 · YouTube
29:55Kimi K3.1 Pro Looked Incredible. Then I Kept Testing.
Oct 26, 2026 · YouTube
31:28Is this company reselling GPT Sol 6.1 at a loss (for non-agentic/text-only)?🤔 Is this sustainable?
Oct 20, 2026 · YouTube
17:58Nemotron 3.5 Super VL vs Opus 5.5: Testing NVIDIA’s new coding juggernaut
Oct 15, 2026 · YouTube
16:04Testing a *massive* new open-weights model 🤯: Muse Spark Open (vs. Nemotron, Opus 5.5, and more)
Oct 15, 2026 · YouTube
16:43Gemini 4 Argon: Great 🐈 Animation, but a broken escalator. (Coding challenge vs Opus 5.5, Sol 6.1)
Oct 13, 2026 · YouTube
16:37Meta's new "Muse Wonder" AI is impressive... but can it compete with Anthropic's models?
Oct 12, 2026 · YouTube
11:12WOW... Haiku 5.5 is very impressive. RIP OpenAI?
Oct 7, 2026 · YouTube
22:47Mistral Large 4 Is Cheap. But Is It Good Enough to Compete?
Oct 6, 2026 · YouTube
22:02Is Pareto 26.10 Preview Just Routing to GPT Sol? I Tested It Against Sol 6.1 Pro
Oct 1, 2026 · YouTube
11:22I Tested Sonnet 5.5 Against Opus 5.5. Is It Actually Cheaper?
Sep 28, 2026 · YouTube
30:00Did Elon Musk's team "train the gay away"... and make Grok 4.7 worse?
Sep 26, 2026 · YouTube
19:21I Tested the Stealth "Space Bunny Alpha" Model Before It Went Offline
Sep 23, 2026 · YouTube
10:58So... how much better is Claude Opus 5.5 vs. GPT-6 Sol, really?
Sep 23, 2026 · YouTube
9:38Claude Opus 5.5... the BEST new model for coding!! 🤩
Sep 22, 2026 · YouTube
29:00Grok 4.7: improved, but GLM 5.3 FlashX beat it anyway (benchmark against Gemini, Sol, etc.)
Sep 22, 2026 · YouTube
You make short animated pieces for the web.
Build me a single HTML page: a bird, breakdancing.
data: URIs are fine.localStorage, sessionStorage, cookies or indexedDB — sandboxed frame, they throw.html block.Two sentences: what the bird is, and the look you went for.
The single fenced html block.
Three bullets.
A small round-breasted orange bird with folded wings and quick feet. I went for chunky vector-bird energy rather than realistic anatomy.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bird Breakdance</title>
<style>
html,body{margin:0;height:100%;overflow:hidden;background:#0b1020;font-family:system-ui,sans-serif;}
canvas{display:block;width:100vw;height:100vh;}
#ui{position:fixed;left:12px;bottom:12px;display:flex;gap:8px;align-items:center;background:rgba(10,14,28,.75);padding:8px 10px;border-radius:12px;color:#e8ecff;font-size:14px;backdrop-filter:blur(4px);}
#ui label{display:flex;align-items:center;gap:6px;}
#ui input[type=range]{width:140px;}
#ui button{background:#1d2a4a;color:#eaf0ff;border:1px solid #3b4f8a;border-radius:8px;padding:6px 10px;font:inherit;cursor:pointer;}
#ui button.active{background:#3b82f6;color:#06122e;border-color:#60a5fa;}
</style>
</head>
<body>
<canvas id="c"></canvas>
<div id="ui">
<label>BPM <input id="bpm" type="range" min="60" max="200" value="100"></label>
<label>Bounce <input id="bounce" type="range" min="0.4" max="2" step="0.05" value="1"></label>
<button data-move="toprock">Toprock</button>
<button data-move="freeze">Freeze</button>
<button data-move="six">Six Step</button>
<button data-move="spin">Headspin</button>
</div>
<script>
const canvas = document.getElementById('c');
const ctx = canvas.getContext('2d');
let W=0,H=0, groundY=0, baseX=0;
function resize(){ W=canvas.width=innerWidth; H=canvas.height=innerHeight; groundY=H*0.78; baseX=W*0.5; }
addEventListener('resize', resize);
resize();
let t0 = performance.now();
let elapsed = 0;
let bounceAmt = 1;
let bpm = 100;
let currentMove = null;
let moveStartElapsed = 0;
const moveDefs = [
{name:'toprock', beats:4, fn: poseToprock},
{name:'freeze', beats:4, fn: poseFreeze},
{name:'six', beats:5, fn: poseSix},
{name:'spin', beats:5, fn: poseSpin},
{name:'freeze2', beats:4, fn: poseFreeze},
];
const totalBeats = 22;
function poseToprock(lt){
const beat = 60/bpm;
const bounceH = bounceAmt*34;
const y = groundY - bounceH*(0.5 - 0.5*Math.cos(2*Math.PI*lt/0.7));
const phase = (lt % beat)/beat;
const shift = bounceAmt*20;
const x = baseX - Math.sin(Math.PI*phase)*shift;
const rot = Math.sin(Math.PI*phase)*0.15;
const wingL = -0.4 - 0.8*Math.sin(2*Math.PI*lt/0.25);
const wingR = -0.4 - 0.8*Math.sin(2*Math.PI*lt/0.25 + 0.4);
return {x, y, rot, wingL, wingR, legSwing:0, freezePose:false};
}
function poseFreeze(lt){
return {x: baseX, y: groundY, rot: 0, wingL: 0.2, wingR: -0.2, legSwing:0, freezePose:true};
}
function poseSix(lt){
const beat = 60/bpm;
const bounceH = bounceAmt*18;
const y = groundY - bounceH*(0.5 - 0.5*Math.cos(2*Math.PI*lt/0.5));
const step = Math.floor(lt/beat) % 2;
const x = baseX + (step===0 ? -bounceAmt*12 : bounceAmt*12);
const rot = step===0 ? -0.2 : 0.2;
const wingL = -0.2 - 0.3*Math.sin(2*Math.PI*lt/0.4);
const wingR = -0.2 - 0.3*Math.sin(2*Math.PI*lt/0.4 + 0.3);
const legSwing = Math.sin(2*Math.PI*lt/beat)*0.6;
return {x, y, rot, wingL, wingR, legSwing, freezePose:false};
}
function poseSpin(lt){
const dur = 60/bpm*5;
const rot = (lt/dur)*Math.PI*6;
const y = groundY - bounceAmt*12*(0.5 - 0.5*Math.cos(2*Math.PI*lt/0.3));
const x = baseX - Math.sin(lt*6)*6;
const wingL = 0.1;
const wingR = -0.1;
const legSwing = Math.sin(2*Math.PI*lt/0.2)*0.8;
return {x, y, rot, wingL, wingR, legSwing, freezePose:false};
}
function getPose(){
if(currentMove){
const def = moveDefs.find(m=>m.name===currentMove);
const lt = Math.max(0, elapsed - moveStartElapsed);
return def.fn(lt);
}
const beat = 60/bpm;
const beatPos = (elapsed/beat) % totalBeats;
let acc = 0;
for(const def of moveDefs){
const dur = def.beats*beat;
if(beatPos < acc + dur){
const lt = beatPos - acc;
return def.fn(lt);
}
acc += dur;
}
return poseFreeze(0);
}
function drawBird(p){
ctx.save();
ctx.translate(p.x, p.y);
ctx.rotate(p.rot);
ctx.fillStyle = '#f6a15c';
ctx.strokeStyle = '#8a4b1f';
ctx.lineWidth = 2;
ctx.beginPath(); ctx.ellipse(0,-16,17,13,0,0,Math.PI*2); ctx.fill(); ctx.stroke();
ctx.fillStyle = '#ffe3c2';
ctx.beginPath(); ctx.ellipse(0,-14,10,8,0,0,Math.PI*2); ctx.fill();
ctx.save(); ctx.translate(-5,-18); ctx.rotate(p.wingL); ctx.fillStyle='#e07b39'; ctx.beginPath(); ctx.ellipse(0,0,8,11,0,0,Math.PI*2); ctx.fill(); ctx.stroke(); ctx.restore();
ctx.save(); ctx.translate(5,-18); ctx.rotate(p.wingR); ctx.fillStyle='#e07b39'; ctx.beginPath(); ctx.ellipse(0,0,8,11,0,0,Math.PI*2); ctx.fill(); ctx.stroke(); ctx.restore();
ctx.fillStyle = '#222';
ctx.beginPath(); ctx.arc(8,-20,3.2,0,Math.PI*2); ctx.fill();
ctx.fillStyle = '#d1495b';
ctx.beginPath(); ctx.moveTo(13,-19); ctx.lineTo(20,-17); ctx.lineTo(13,-15); ctx.closePath(); ctx.fill();
ctx.strokeStyle = '#5b3a29';
ctx.lineWidth = 2;
ctx.beginPath();
if(p.freezePose){
ctx.moveTo(-5,-9); ctx.lineTo(-2,0);
ctx.moveTo(5,-9); ctx.lineTo(2,0);
} else {
const s = p.legSwing || 0;
ctx.moveTo(-5,-9); ctx.lineTo(-5+s,0);
ctx.moveTo(5,-9); ctx.lineTo(5-s,0);
}
ctx.stroke();
ctx.beginPath();
ctx.moveTo(-2,0); ctx.lineTo(0,2);
ctx.moveTo(2,0); ctx.lineTo(0,2);
ctx.stroke();
ctx.restore();
}
function animate(now){
elapsed = (now - t0)/1000;
const pose = getPose();
ctx.fillStyle = '#0b1020';
ctx.fillRect(0,0,W,H);
ctx.strokeStyle = '#2a3a5f';
ctx.lineWidth = 2;
ctx.beginPath(); ctx.moveTo(0,groundY); ctx.lineTo(W,groundY); ctx.stroke();
drawBird(pose);
requestAnimationFrame(animate);
}
requestAnimationFrame(animate);
document.getElementById('bpm').addEventListener('input', e=>{
bpm = parseFloat(e.target.value);
});
document.getElementById('bounce').addEventListener('input', e=>{
bounceAmt = parseFloat(e.target.value);
});
document.querySelectorAll('#ui button').forEach(btn=>{
btn.addEventListener('click', ()=>{
currentMove = btn.dataset.move;
moveStartElapsed = (performance.now() - t0)/1000;
});
});
</script>
</body>
</html>