Created
January 9, 2026 17:26
-
-
Save daaronr/2207b5a88a8fbd87804d0302dbb2581d to your computer and use it in GitHub Desktop.
Toby Ord's Intellectual Neighborhood - Interactive 3D visualization of researchers by semantic similarity to his themes (RL Scaling, X-Risk, Infinite Ethics)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Toby Ord's Intellectual Neighborhood</title> | |
| <script src="https://cdn.plot.ly/plotly-2.27.0.min.js"></script> | |
| <style> | |
| * { margin: 0; padding: 0; box-sizing: border-box; } | |
| body { | |
| font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |
| background: #0d1117; | |
| color: #e6edf3; | |
| min-height: 100vh; | |
| } | |
| .container { max-width: 1400px; margin: 0 auto; padding: 20px; } | |
| h1 { text-align: center; margin-bottom: 5px; font-size: 2em; } | |
| .subtitle { text-align: center; color: #8b949e; margin-bottom: 20px; } | |
| #plot3d { width: 100%; height: 600px; border-radius: 12px; background: #161b22; } | |
| .legend-box { | |
| background: #161b22; | |
| border-radius: 12px; | |
| padding: 20px; | |
| margin-top: 20px; | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); | |
| gap: 20px; | |
| } | |
| .legend-item { | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| padding: 10px; | |
| background: #21262d; | |
| border-radius: 8px; | |
| } | |
| .dot { | |
| width: 16px; | |
| height: 16px; | |
| border-radius: 50%; | |
| flex-shrink: 0; | |
| } | |
| .gold { background: #FFD700; } | |
| .red { background: #FF4444; } | |
| .orange { background: #FFA500; } | |
| .blue { background: #4682B4; } | |
| .insights { | |
| background: #161b22; | |
| border-radius: 12px; | |
| padding: 20px; | |
| margin-top: 20px; | |
| } | |
| .insights h3 { color: #58a6ff; margin-bottom: 15px; } | |
| .insight-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); | |
| gap: 15px; | |
| } | |
| .insight-card { | |
| background: #21262d; | |
| padding: 15px; | |
| border-radius: 8px; | |
| border-left: 3px solid; | |
| } | |
| .insight-card.rl { border-color: #00BFFF; } | |
| .insight-card.xrisk { border-color: #FF6B6B; } | |
| .insight-card.inf { border-color: #4ECDC4; } | |
| .insight-card h4 { margin-bottom: 10px; } | |
| .insight-card ul { margin-left: 20px; color: #8b949e; } | |
| .insight-card li { margin: 5px 0; } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="container"> | |
| <h1>Toby Ord's Intellectual Neighborhood</h1> | |
| <p class="subtitle">3D visualization of researchers by semantic similarity to his three main themes</p> | |
| <div id="plot3d"></div> | |
| <div class="legend-box"> | |
| <div class="legend-item"> | |
| <div class="dot gold"></div> | |
| <div><strong>Toby Ord</strong> - The reference point</div> | |
| </div> | |
| <div class="legend-item"> | |
| <div class="dot red"></div> | |
| <div><strong>All 3 themes</strong> - Rare multi-domain overlap (Kaj_Sotala)</div> | |
| </div> | |
| <div class="legend-item"> | |
| <div class="dot orange"></div> | |
| <div><strong>2 themes</strong> - Significant overlap (DragonGod, Cole Wyeth...)</div> | |
| </div> | |
| <div class="legend-item"> | |
| <div class="dot blue"></div> | |
| <div><strong>1 theme</strong> - Domain specialists</div> | |
| </div> | |
| </div> | |
| <div class="insights"> | |
| <h3>Key Insights</h3> | |
| <div class="insight-grid"> | |
| <div class="insight-card rl"> | |
| <h4 style="color: #00BFFF;">RL Scaling (Closest Match)</h4> | |
| <ul> | |
| <li><strong>1a3orn</strong> - "Parameter Scaling Comes for RL"</li> | |
| <li><strong>Pablo Villalobos</strong> - Training/inference compute tradeoffs</li> | |
| <li><strong>Matrice Jacobine</strong> - Does RL incentivize reasoning?</li> | |
| <li><strong>Ryan Kidd</strong> - Inference scaling safety implications</li> | |
| </ul> | |
| </div> | |
| <div class="insight-card xrisk"> | |
| <h4 style="color: #FF6B6B;">Existential Risk</h4> | |
| <ul> | |
| <li><strong>Kaj_Sotala</strong> - S-risks, long-term trajectories</li> | |
| <li><strong>DragonGod</strong> - X-risk and longtermism</li> | |
| <li><strong>fowlertm</strong> - Existential risk analysis</li> | |
| <li><strong>Nick Bostrom</strong> references throughout</li> | |
| </ul> | |
| </div> | |
| <div class="insight-card inf"> | |
| <h4 style="color: #4ECDC4;">Infinite Ethics</h4> | |
| <ul> | |
| <li><strong>Chris_Leong</strong> - "Surreal Decisions" summary</li> | |
| <li><strong>Cleo Nardo</strong> - Decision theory overlaps</li> | |
| <li><strong>Stuart_Armstrong</strong> - Bounded utility functions</li> | |
| <li>Pascal's wager/mugging discussions</li> | |
| </ul> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <script> | |
| // Data from ExoPriors Alignment Scry | |
| const data = [ | |
| ["Toby_Ord", 0.922, 0.5, 0.5], | |
| ["1a3orn", 0.857, 0.5, 0.5], | |
| ["Pablo Villalobos", 0.850, 0.5, 0.5], | |
| ["Matrice Jacobine", 0.832, 0.5, 0.5], | |
| ["Lukas Finnveden", 0.831, 0.5, 0.5], | |
| ["ryan_greenblatt", 0.821, 0.707, 0.5], | |
| ["Kaj_Sotala", 0.792, 0.818, 0.719], | |
| ["RogerDearnaley", 0.818, 0.5, 0.5], | |
| ["Ryan Kidd", 0.812, 0.5, 0.5], | |
| ["Nadav Brandes", 0.811, 0.5, 0.5], | |
| ["Cole Wyeth", 0.808, 0.709, 0.716], | |
| ["DragonGod", 0.792, 0.807, 0.715], | |
| ["eggsyntax", 0.805, 0.5, 0.5], | |
| ["Cleo Nardo", 0.803, 0.5, 0.730], | |
| ["Shmi", 0.800, 0.748, 0.5], | |
| ["fowlertm", 0.714, 0.800, 0.5], | |
| ["Rohin Shah", 0.796, 0.756, 0.5], | |
| ["Johannes Treutlein", 0.795, 0.750, 0.5], | |
| ["Zach Stein-Perlman", 0.795, 0.744, 0.5], | |
| ["Eric Drexler", 0.796, 0.5, 0.5], | |
| ["nostalgebraist", 0.795, 0.5, 0.5], | |
| ["Stuart_Armstrong", 0.78, 0.74, 0.68], | |
| ["Chris_Leong", 0.78, 0.5, 0.793], | |
| ]; | |
| // Process data | |
| const authors = data.map(d => d[0]); | |
| const rl = data.map(d => d[1]); | |
| const xrisk = data.map(d => d[2]); | |
| const inf = data.map(d => d[3]); | |
| // Assign colors and sizes | |
| const colors = []; | |
| const sizes = []; | |
| const texts = []; | |
| data.forEach((d, i) => { | |
| const author = d[0]; | |
| const themes = []; | |
| if (d[1] > 0.72) themes.push("RL"); | |
| if (d[2] > 0.72) themes.push("X-Risk"); | |
| if (d[3] > 0.70) themes.push("Infinite"); | |
| if (author === "Toby_Ord") { | |
| colors.push('#FFD700'); | |
| sizes.push(25); | |
| texts.push(author); | |
| } else if (themes.length === 3) { | |
| colors.push('#FF4444'); | |
| sizes.push(20); | |
| texts.push(author); | |
| } else if (themes.length === 2) { | |
| colors.push('#FFA500'); | |
| sizes.push(16); | |
| texts.push(author); | |
| } else if (d[1] > 0.83 || d[2] > 0.79) { | |
| colors.push('#4682B4'); | |
| sizes.push(12); | |
| texts.push(author); | |
| } else { | |
| colors.push('#4682B4'); | |
| sizes.push(10); | |
| texts.push(''); | |
| } | |
| }); | |
| // Create hover text | |
| const hoverTexts = data.map((d, i) => { | |
| const themes = []; | |
| if (d[1] > 0.72) themes.push("RL Scaling"); | |
| if (d[2] > 0.72) themes.push("X-Risk"); | |
| if (d[3] > 0.70) themes.push("Infinite Ethics"); | |
| return `<b>${d[0]}</b><br>` + | |
| `Themes: ${themes.length ? themes.join(', ') : 'Adjacent'}<br>` + | |
| `RL: ${d[1].toFixed(2)}<br>` + | |
| `X-Risk: ${d[2].toFixed(2)}<br>` + | |
| `Infinite: ${d[3].toFixed(2)}`; | |
| }); | |
| const trace = { | |
| x: rl, | |
| y: xrisk, | |
| z: inf, | |
| mode: 'markers+text', | |
| type: 'scatter3d', | |
| marker: { | |
| size: sizes, | |
| color: colors, | |
| opacity: 0.9, | |
| line: { width: 1, color: 'white' } | |
| }, | |
| text: texts, | |
| textposition: 'top center', | |
| textfont: { size: 10, color: 'white' }, | |
| hovertext: hoverTexts, | |
| hoverinfo: 'text' | |
| }; | |
| // Sweet spot marker | |
| const sweetSpot = { | |
| x: [1], | |
| y: [1], | |
| z: [1], | |
| mode: 'markers+text', | |
| type: 'scatter3d', | |
| marker: { | |
| size: 10, | |
| color: 'white', | |
| opacity: 0.4, | |
| symbol: 'diamond' | |
| }, | |
| text: ["Toby's Sweet Spot"], | |
| textposition: 'bottom center', | |
| textfont: { size: 9, color: 'rgba(255,255,255,0.6)' }, | |
| hoverinfo: 'skip', | |
| showlegend: false | |
| }; | |
| const layout = { | |
| scene: { | |
| xaxis: { | |
| title: { text: 'RL Scaling Similarity', font: { color: '#00BFFF' } }, | |
| range: [0.5, 1], | |
| gridcolor: 'rgba(255,255,255,0.1)', | |
| tickfont: { color: 'white' } | |
| }, | |
| yaxis: { | |
| title: { text: 'X-Risk Similarity', font: { color: '#FF6B6B' } }, | |
| range: [0.5, 1], | |
| gridcolor: 'rgba(255,255,255,0.1)', | |
| tickfont: { color: 'white' } | |
| }, | |
| zaxis: { | |
| title: { text: 'Infinite Ethics Similarity', font: { color: '#4ECDC4' } }, | |
| range: [0.5, 1], | |
| gridcolor: 'rgba(255,255,255,0.1)', | |
| tickfont: { color: 'white' } | |
| }, | |
| bgcolor: '#161b22', | |
| camera: { | |
| eye: { x: 1.8, y: 1.8, z: 1.3 } | |
| } | |
| }, | |
| paper_bgcolor: '#161b22', | |
| plot_bgcolor: '#161b22', | |
| margin: { l: 0, r: 0, t: 30, b: 0 }, | |
| showlegend: false | |
| }; | |
| Plotly.newPlot('plot3d', [trace, sweetSpot], layout, { | |
| responsive: true, | |
| displayModeBar: true, | |
| modeBarButtonsToRemove: ['toImage', 'sendDataToCloud'] | |
| }); | |
| </script> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment