1<!DOCTYPE html> 2<html xmlns="http://www.w3.org/1999/xhtml" lang="en-GB" xml:lang="en-GB"><head> 3 4<meta charset="utf-8"> 5<meta name="generator" content="quarto-1.10.18"> 6 7<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"> 8 9<meta name="author" content="Chris von Csefalvay"> 10<meta name="description" content="Essays and notes by Chris von Csefalvay on AI, public health, technology, history and the odd side road."> 11 12<title>The Notebook â Chris von Csefalvay</title> 13<style> 14/* Default styles provided by pandoc. 15** See https://pandoc.org/MANUAL.html#variables-for-html for config info. 16*/ 17span.smallcaps{font-variant: small-caps;} 18div.columns{display: flex; gap: 1.5em;} 19div.column{flex: auto;} 20@media screen { 21div.columns{gap: min(4vw, 1.5em);} 22div.column{overflow-x: auto;} 23} 24div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} 25ul.task-list{list-style: none;} 26ul.task-list li input[type="checkbox"] { 27 width: 0.8em; 28 margin: 0 0.8em 0.2em -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */ 29 vertical-align: middle; 30} 31</style> 32 33
34<script src="../site_libs/quarto-nav/quarto-nav.js"></script>
vendor: 1 bytes, line 34
34
35<script src="../site_libs/quarto-nav/headroom.min.js"></script>
vendor: 1 bytes, line 35
35
36<script src="../site_libs/clipboard/clipboard.min.js"></script>
vendor: 1 bytes, line 36
36
37<script src="../site_libs/quarto-search/autocomplete.umd.js"></script>
vendor: 1 bytes, line 37
37
38<script src="../site_libs/quarto-search/fuse.min.js"></script>
vendor: 1 bytes, line 38
38
39<script src="../site_libs/quarto-search/quarto-search.js"></script>
39 40<meta name="quarto:offset" content="../">
41<script src="../site_libs/quarto-listing/list.min.js"></script>
vendor: 1 bytes, line 41
41
42<script src="../site_libs/quarto-listing/quarto-listing.js"></script>
vendor: 1 bytes, line 42
42
43<script src="../site_libs/quarto-html/quarto.js" type="module"></script>
vendor: 1 bytes, line 43
43
44<script src="../site_libs/quarto-html/tabsets/tabsets.js" type="module"></script>
vendor: 1 bytes, line 44
44
45<script src="../site_libs/quarto-html/popper.min.js"></script>
vendor: 1 bytes, line 45
45
46<script src="../site_libs/quarto-html/tippy.umd.min.js"></script>
vendor: 1 bytes, line 46
46
47<script src="../site_libs/quarto-html/anchor.min.js"></script>
47 48<link href="../site_libs/quarto-html/tippy.css" rel="stylesheet"> 49<link href="../site_libs/quarto-html/quarto-syntax-highlighting-64a204ab8560d761af7679ceaba22944.css" rel="stylesheet" id="quarto-text-highlighting-styles">
50<script src="../site_libs/bootstrap/bootstrap.min.js"></script>
50 51<link href="../site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet"> 52<link href="../site_libs/bootstrap/bootstrap-01a80aa1be267aa4e262ac3a3e4623da.min.css" rel="stylesheet" append-hash="true" id="quarto-bootstrap" data-mode="light">
53<script id="quarto-search-options" type="application/json">{ 54 "location": "navbar", 55 "copy-button": false, 56 "collapse-after": 3, 57 "panel-placement": "end", 58 "type": "overlay", 59 "limit": 50, 60 "keyboard-shortcut": [ 61 "f", 62 "/", 63 "s" 64 ], 65 "show-item-context": false, 66 "language": { 67 "search-no-results-text": "No results", 68 "search-matching-documents-text": "matching documents", 69 "search-copy-link-title": "Copy link to search", 70 "search-hide-matches-text": "Hide additional matches", 71 "search-more-match-text": "more match in this document", 72 "search-more-matches-text": "more matches in this document", 73 "search-clear-button-title": "Clear", 74 "search-text-placeholder": "", 75 "search-detached-cancel-button-title": "Cancel", 76 "search-submit-button-title": "Submit", 77 "search-label": "Search" 78 } 79}</script>
79<script> 80 81 window.document.addEventListener("DOMContentLoaded", function (_event) { 82 const listingTargetEl = window.document.querySelector('#listing-listing .list'); 83 if (!listingTargetEl) { 84 // No listing discovered, do not attach. 85 return; 86 } 87 88 const options = { 89 valueNames: ['listing-date','listing-title','listing-author','listing-image','listing-description','listing-categories',{ data: ['index'] },{ data: ['categories'] },{ data: ['listing-date-sort'] },{ data: ['listing-file-modified-sort'] }], 90 page: 25, 91 pagination: { item: "<li class='page-item'><a class='page page-link' href='#'></a></li>" }, 92 searchColumns: ["listing-date","listing-title","listing-author","listing-image","listing-description","listing-categories"], 93 }; 94 95 window['quarto-listings'] = window['quarto-listings'] || {}; 96 window['quarto-listings']['listing-listing'] = new List('listing-listing', options); 97 98 if (window['quarto-listing-loaded']) { 99 window['quarto-listing-loaded'](); 100 } 101 }); 102 103 window.addEventListener('hashchange',() => { 104 if (window['quarto-listing-loaded']) { 105 window['quarto-listing-loaded'](); 106 } 107 }) 108 </script>
108<script async="" src="https://www.googletagmanager.com/gtag/js?id=395640625"></script>
108 109
110<script type="text/javascript"> 111 112window.dataLayer = window.dataLayer || []; 113function gtag(){dataLayer.push(arguments);} 114gtag('js', new Date()); 115gtag('config', '395640625', { 'anonymize_ip': true}); 116</script>
116<script type="application/ld+json">{"@context":"https://schema.org","@type":"Person","@id":"https://chrisvoncsefalvay.com/#person","name":"Chris von Csefalvay","givenName":"Chris","familyName":"von Csefalvay","jobTitle":"Principal","description":"Chris von Csefalvay is a Principal at HCLTech's AI Practice, leading post-training research and clinical intelligence. He is an AI researcher and computational epidemiologist and the author of The Craft of Post-Training: A Practical Guide for AI Engineers and Developers (published by No Starch Press in 2026), Differentiable Photon Transport, Volume I: Foundations and Computational Modeling of Infectious Disease (Elsevier, 2023).","url":"https://chrisvoncsefalvay.com","image":"https://chrisvoncsefalvay.com/img/portrait_2x3midres.webp","sameAs":["https://orcid.org/0000-0003-3131-0864","https://scholar.google.com/citations?user=X_2G-VsAAAAJ","https://www.wikidata.org/wiki/Q107095298","https://hu.wikipedia.org/wiki/Chris_von_Csefalvay","https://github.com/chrisvoncsefalvay","https://twitter.com/epichrisis","https://www.linkedin.com/in/chrisvoncsefalvay/","https://www.instagram.com/chrisvoncsefalvay/","https://viaf.org/viaf/7190162669581955500004","https://isni.org/isni/0000000502655729","https://www.webofscience.com/wos/author/record/IZD-6900-2023","https://osf.io/awhgj","https://en.wikiquote.org/wiki/Chris_von_Csefalvay","https://www.researchgate.net/profile/Chris-Von-Csefalvay","https://www.crunchbase.com/person/chris-von-csefalvay","https://dblp.org/pid/157/8137.html","https://www.goodreads.com/author/show/15108248.Chris_von_Csefalvay","https://golden.com/wiki/Chris_von_Csefalvay-BY88G48","https://oxford.academia.edu/ChrisVonCsefalvay","https://medium.com/@chrisvcsefalvay","https://commons.wikimedia.org/wiki/Category:Chris_von_Csefalvay","https://sciprofiles.com/profile/1163482"],"address":{"@type":"PostalAddress","addressLocality":"Denver","addressRegion":"CO","addressCountry":"United States"},"alumniOf":[{"@type":"CollegeOrUniversity","name":"University of Oxford","sameAs":"https://en.wikipedia.org/wiki/University_of_Oxford"},{"@type":"CollegeOrUniversity","name":"Cardiff University","sameAs":"https://en.wikipedia.org/wiki/Cardiff_University"}],"worksFor":{"@type":"Organization","@id":"https://www.hcltech.com/#organization","name":"HCLTech","url":"https://www.hcltech.com","sameAs":"https://en.wikipedia.org/wiki/HCLTech"},"birthDate":"1986-07-15","birthPlace":{"@type":"Place","name":"Budapest","address":{"@type":"PostalAddress","addressCountry":"HU"}},"nationality":[{"@type":"Country","name":"United Kingdom"},{"@type":"Country","name":"Hungary"}],"memberOf":[{"@type":"Organization","name":"Royal Society for Public Health"},{"@type":"Organization","name":"IEEE"}],"knowsAbout":["post-training for language models","supervised fine-tuning","reinforcement learning from verifiable rewards","group relative policy optimization","agentic AI systems","multi-agent frameworks","large language models","LLM evaluation","computational epidemiology","AI alignment","LLMOps"],"hasCredential":[{"@type":"EducationalOccupationalCredential","name":"Certified in Public Health (CPH)","credentialCategory":"Professional Certification","recognizedBy":{"@type":"Organization","name":"National Board of Public Health Examiners","url":"https://www.nbphe.org"}},{"@type":"EducationalOccupationalCredential","name":"Fellow of the Royal Society for Public Health (FRSPH)","credentialCategory":"Fellowship","recognizedBy":{"@type":"Organization","name":"Royal Society for Public Health","url":"https://www.rsph.org.uk","sameAs":"https://en.wikipedia.org/wiki/Royal_Society_for_Public_Health"}},{"@type":"EducationalOccupationalCredential","name":"IEEE Senior Member","credentialCategory":"Professional Membership","recognizedBy":{"@type":"Organization","name":"IEEE","url":"https://www.ieee.org","sameAs":"https://en.wikipedia.org/wiki/Institute_of_Electrical_and_Electronics_Engineers"}}],"hasOccupation":{"@type":"Occupation","name":"AI Researcher and Computational Epidemiologist","occupationalCategory":"15-2051.00","skills":["Machine Learning","Natural Language Processing","Epidemiological Modeling","Reinforcement Learning","Large Language Models"]},"award":"Martin Wronker Prize, University of Oxford"}</script>
vendor: 1 bytes, line 116
116
117<script type="application/ld+json">{"@context":"https://schema.org","@type":"Book","@id":"https://chrisvoncsefalvay.com/#book-post-training","name":"The Craft of Post-Training","alternativeHeadline":"A Practical Guide for AI Engineers and Developers","isbn":"9781718505209","numberOfPages":416,"bookFormat":"https://schema.org/Paperback","inLanguage":"en","publisher":{"@type":"Organization","name":"No Starch Press"},"url":"https://posttraining.guide","sameAs":"https://www.amazon.com/dp/1718505205","datePublished":"2026","author":{"@id":"https://chrisvoncsefalvay.com/#person"}}</script>
vendor: 1 bytes, line 117
117
118<script type="application/ld+json">{"@context":"https://schema.org","@type":"Book","@id":"https://chrisvoncsefalvay.com/#book-cmid","name":"Computational Modeling of Infectious Disease","isbn":"9780323953894","inLanguage":"en","publisher":{"@type":"Organization","name":"Elsevier"},"url":"https://computationalinfectiousdisease.com","sameAs":"https://shop.elsevier.com/books/computational-modeling-of-infectious-disease/von-csefalvay/978-0-323-95389-4","datePublished":"2023-06-01","author":{"@id":"https://chrisvoncsefalvay.com/#person"}}</script>
vendor: 1 bytes, line 118
118
119<script type="application/ld+json">{"@context":"https://schema.org","@type":"Book","@id":"https://chrisvoncsefalvay.com/#book-photon-transport","name":"Differentiable Photon Transport","alternativeHeadline":"Volume I: Foundations","inLanguage":"en","url":"https://photontransport.com","datePublished":"2026","author":{"@id":"https://chrisvoncsefalvay.com/#person"}}</script>
vendor: 1 bytes, line 119
119
120<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","@id":"https://chrisvoncsefalvay.com/#website","name":"Chris von Csefalvay","url":"https://chrisvoncsefalvay.com","author":{"@id":"https://chrisvoncsefalvay.com/#person"},"description":"Chris von Csefalvay is an AI researcher and computational epidemiologist specialising in post-training for language models, agentic AI systems, and reinforcement learning from verifiable rewards.","inLanguage":"en"}</script>
120 121<meta name="author" content="Chris von Csefalvay"> 122<link rel="me" href="https://github.com/chrisvoncsefalvay"> 123<link rel="me" href="https://www.linkedin.com/in/chrisvoncsefalvay/"> 124<link rel="me" href="https://orcid.org/0000-0003-3131-0864"> 125<link rel="me" href="https://twitter.com/epichrisis"> 126<link rel="me" href="https://www.wikidata.org/wiki/Q107095298"> 127<link rel="me" href="https://scholar.google.com/citations?user=X_2G-VsAAAAJ"> 128<link rel="canonical" href="https://chrisvoncsefalvay.com/posts/"> 129<meta property="og:url" content="https://chrisvoncsefalvay.com/posts/"> 130<meta property="og:type" content="website"> 131 132
132<script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?features=es6"></script>
132 133
133<script defer="" src="https://cdn.jsdelivr.net/npm/mathjax@4/tex-chtml.js" type="text/javascript"></script>
133 134
135<script type="text/javascript"> 136const typesetMath = (el) => { 137 if (window.MathJax) { 138 // MathJax Typeset 139 window.MathJax.typeset([el]); 140 } else if (window.katex) { 141 // KaTeX Render 142 var mathElements = el.getElementsByClassName("math"); 143 var macros = []; 144 for (var i = 0; i < mathElements.length; i++) { 145 var texText = mathElements[i].firstChild; 146 if (mathElements[i].tagName == "SPAN" && texText && texText.data) { 147 window.katex.render(texText.data, mathElements[i], { 148 displayMode: mathElements[i].classList.contains('display'), 149 throwOnError: false, 150 macros: macros, 151 fleqn: false 152 }); 153 } 154 } 155 } 156} 157window.Quarto = { 158 typesetMath 159}; 160</script>
160 161 162<link rel="alternate" type="application/rss+xml" title="Chris von Csefalvay" href="index.xml" data-external="1"><meta property="og:title" content="The Notebook â Chris von Csefalvay"> 163<meta property="og:description" content="Essays and notes by Chris von Csefalvay on AI, public health, technology, history and the odd side road."> 164<meta property="og:image" content="https://chrisvoncsefalvay.com/posts/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1N0NEMjA4MDI1MjA2ODExOTk0QzkzNTEzRjZEQTg1NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozM0NDOEJGNEZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozM0NDOEJGM0ZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZDN0YxMTc0MDcyMDY4MTE5NUZFRDc5MUM2MUUwNEREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU3Q0QyMDgwMjUyMDY4MTE5OTRDOTM1MTNGNkRBODU3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+84NovQAAAR1JREFUeNpiZEADy85ZJgCpeCB2QJM6AMQLo4yOL0AWZETSqACk1gOxAQN+cAGIA4EGPQBxmJA0nwdpjjQ8xqArmczw5tMHXAaALDgP1QMxAGqzAAPxQACqh4ER6uf5MBlkm0X4EGayMfMw/Pr7Bd2gRBZogMFBrv01hisv5jLsv9nLAPIOMnjy8RDDyYctyAbFM2EJbRQw+aAWw/LzVgx7b+cwCHKqMhjJFCBLOzAR6+lXX84xnHjYyqAo5IUizkRCwIENQQckGSDGY4TVgAPEaraQr2a4/24bSuoExcJCfAEJihXkWDj3ZAKy9EJGaEo8T0QSxkjSwORsCAuDQCD+QILmD1A9kECEZgxDaEZhICIzGcIyEyOl2RkgwAAhkmC+eAm0TAAAAABJRU5ErkJggg=="> 165<meta property="og:site_name" content="Chris von Csefalvay"> 166<meta property="og:image:alt" content=""> 167<meta name="twitter:title" content="The Notebook â Chris von Csefalvay"> 168<meta name="twitter:description" content="Essays and notes by Chris von Csefalvay on AI, public health, technology, history and the odd side road."> 169<meta name="twitter:image" content="https://chrisvoncsefalvay.com/posts/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1N0NEMjA4MDI1MjA2ODExOTk0QzkzNTEzRjZEQTg1NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozM0NDOEJGNEZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozM0NDOEJGM0ZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZDN0YxMTc0MDcyMDY4MTE5NUZFRDc5MUM2MUUwNEREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU3Q0QyMDgwMjUyMDY4MTE5OTRDOTM1MTNGNkRBODU3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+84NovQAAAR1JREFUeNpiZEADy85ZJgCpeCB2QJM6AMQLo4yOL0AWZETSqACk1gOxAQN+cAGIA4EGPQBxmJA0nwdpjjQ8xqArmczw5tMHXAaALDgP1QMxAGqzAAPxQACqh4ER6uf5MBlkm0X4EGayMfMw/Pr7Bd2gRBZogMFBrv01hisv5jLsv9nLAPIOMnjy8RDDyYctyAbFM2EJbRQw+aAWw/LzVgx7b+cwCHKqMhjJFCBLOzAR6+lXX84xnHjYyqAo5IUizkRCwIENQQckGSDGY4TVgAPEaraQr2a4/24bSuoExcJCfAEJihXkWDj3ZAKy9EJGaEo8T0QSxkjSwORsCAuDQCD+QILmD1A9kECEZgxDaEZhICIzGcIyEyOl2RkgwAAhkmC+eAm0TAAAAABJRU5ErkJggg=="> 170<meta name="twitter:creator" content="@epichrisis"> 171<meta name="twitter:site" content="@epichrisis"> 172<meta name="twitter:image:alt" content=""> 173<meta name="twitter:card" content="summary_large_image"> 174</head> 175 176<body class="nav-fixed quarto-light"> 177 178<div id="quarto-search-results"></div> 179 <header id="quarto-header" class="headroom fixed-top"> 180 <nav class="navbar navbar-expand-lg " data-bs-theme="dark"> 181 <div class="navbar-container container-fluid"> 182 <div class="navbar-brand-container mx-auto"> 183 <a class="navbar-brand" href="../index.html"> 184 <span class="navbar-title">Chris von Csefalvay</span> 185 </a> 186 </div> 187 <div id="quarto-search" class="" title="Search"></div> 188 <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarC
188ollapse" role="menu" aria-expanded="false" aria-label="Toggle navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> 189 <span class="navbar-toggler-icon"></span> 190</button> 191 <div class="collapse navbar-collapse" id="navbarCollapse"> 192 <ul class="navbar-nav navbar-nav-scroll me-auto"> 193 <li class="nav-item"> 194 <a class="nav-link" href="../index.html"> 195<span class="menu-text">Home</span></a> 196 </li> 197 <li class="nav-item"> 198 <a class="nav-link" href="../about"> 199<span class="menu-text">About</span></a> 200 </li> 201 <li class="nav-item"> 202 <a class="nav-link" href="../papers"> 203<span class="menu-text">Papers</span></a> 204 </li> 205 <li class="nav-item"> 206 <a class="nav-link" href="../teaching"> 207<span class="menu-text">Teaching</span></a> 208 </li> 209 <li class="nav-item"> 210 <a class="nav-link" href="../media"> 211<span class="menu-text">Media</span></a> 212 </li> 213 <li class="nav-item"> 214 <a class="nav-link" href="../posts"> 215<span class="menu-text">The Notebook</span></a> 216 </li> 217 <li class="nav-item"> 218 <a class="nav-link" href="../talks"> 219<span class="menu-text">Talks</span></a> 220 </li> 221 <li class="nav-item"> 222 <a class="nav-link" href="https://computationalinfectiousdisease.com"> 223<span class="menu-text">Computational Modeling of Infectious Disease</span></a> 224 </li> 225 <li class="nav-item"> 226 <a class="nav-link" href="https://nostarch.com/craft-of-post-training"> 227<span class="menu-text">The Craft of Post-Training</span></a> 228 </li> 229 <li class="nav-item"> 230 <a class="nav-link" href="https://photontransport.com"> 231<span class="menu-text">Differentiable Photon Transport</span></a> 232 </li> 233</ul> 234 </div> <!-- /navcollapse --> 235 <div class="quarto-navbar-tools"> 236</div> 237 </div> <!-- /container-fluid --> 238 </nav> 239</header> 240<!-- content --> 241<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-full page-navbar"> 242<!-- sidebar --> 243<!-- margin-sidebar --> 244 <div id="quarto-margin-sidebar" class="sidebar margin-sidebar"> 245 246 <h5 class="quarto-listing-category-title">Categories</h5><div class="quarto-listing-category category-default"><div class="category" data-category="">All <span class="quarto-category-count">(53)</span></div><div class="category" data-category="QUJNcw==">ABMs <span class="quarto-category-count">(2)</span></div><div class="category" data-category="YWNhZGVtaWE=">academia <span class="quarto-category-count">(1)</span></div><div class="category" data-category="YWdlbnRpYyUyMEFJ">agentic AI <span class="quarto-category-count">(6)</span></div><div class="category" data-category="QWdlbnRpYyUyMEFJ">Agentic AI <span class="quarto-category-count">(3)</span></div><div class="category" data-category="YWdlbnRz">agents <span class="quarto-category-count">(4)</span></div><div class="category" data-category="QUk=">AI <span class="quarto-category-count">(41)</span></div><div class="category" data-category="QUklMjBwb2xpY3k=">AI policy <span class="quarto-category-count">(1)</span></div><div class="category" data-category="YWxpZ25tZW50">alignment <span class="quarto-category-count">(1)</span></div><div class="category" data-category="YXJ0">art <span class="quarto-category-count">(1)</span></div><div class="category" data-category="YmFkJTIwc2NpZW5jZQ==">bad science <span class="quarto-category-count">(1)</span></div><div class="category" data-category="Y29tcHV0YXRpb25hbCUyMGNoZW1pc3RyeQ==">computational chemistry <span class="quarto-category-count">(1)</span></div><div class="category" data-category="Y29tcHV0YXRpb25hbCUyMGVwaWRlbWlvbG9neQ==">computational epidemiology <span class="quarto-category-count">(1)</span></div><div class="category" data-category="Y29udGV4dCUyMGVuZ2luZWVyaW5n">context engineering <span class="quarto-category-count">(1)</span></div><div class="category" data-category="Q09WSUQtMTk=">COVID-19 <span class="quarto-category-count">(1)</span></div><div class="category" data-category="Q3Jvc3MtcG9zdCUzQSUyMFN0YXJzY2hlbWE=">Cross-post: Starschema <span class="quarto-category-count">(4)</span></div><div class="category" data-category="Y3liZXJzZWN1cml0eQ==">cybersecurity <span class="quarto-category-count">(1)</span></div><div class="category" data-category="ZGFzaGJvYXJkcw==">dashboards <span class="quarto-category-count">(1)</span></div><div class="category" data-category="ZGF0YQ==">data <span class="quarto-category-count">(1)</span></div><div class="category" data-category="ZGF0YSUyMHNjaWVuY2U=">data science <span class="quarto-category-count">(2)</span></div><div class="category" data-category="ZGF0YSUyMHZpc3VhbGl6YXRpb24=">data visualization <span class="quarto-category-count">(1)</span></div><div class="category" data-category="ZGlzYWJpbGl0eQ==">disability <span class="quarto-category-count">(1)</span></div><div class="category" data-category="ZWNvbG9neQ==">ecology <span class="quarto-category-count">(1)</span></div><div class="category" data-category="ZWNvbm9tZXRyaWNz">econometrics <span class="quarto-category-count">(1)</span></div><div class="category" data-category="ZXBpZGVtaWNz">epidemics <span class="quarto-category-count">(1)</span></div><div class="category" data-category="ZXRoaWNz">ethics <span class="quarto-category-count">(4)</span></div><div class="category" data-category="ZXZhbHM=">evals <span class="quarto-category-count">(1)</span></div><div class="category" data-category="ZXZvbHV0aW9u">evolution <span class="quarto-category-count">(1)</span></div><div class="category" data-category="ZmluZS10dW5pbmc=">fine-tuning <span class="quarto-category-count">(2)</span></div><div class="category" data-category="Zml0bmVzcw==">fitness <span class="quarto-category-count">(2)</span></div><div class="category" data-category="Z2FtZSUyMHRoZW9yeQ==">game theory <span class="quarto-category-count">(1)</span></div><div class="category" data-category="Z2FtZXM=">games <span class="quarto-category-count">(1)</span></div><div class="category" data-category="Z292ZXJuYW5jZQ==">governance <span class="quarto-category-count">(1)</span></div><div class="category" data-category="R1BULTU=">GPT-5 <span class="quarto-category-count">(1)</span></div><div class="category" data-category="R1JQTw==">GRPO <span class="quarto-category-count">(1)</span></div><div class="category" data-category="aGlzdG9yeQ==">history <span class="quarto-category-count">(1)</span></div><div class="category" data-category="aHVtYW4lMjBhZ2VuY3k=">human agency <span class="quarto-category-count">(1)</span></div><div class="category" data-category="aHVtYW4tY29tcHV0ZXIlMjBpbnRlcmFjdGlvbg==">human-computer interaction <span class="quarto-category-count">(1)</span></div><div class="category" data-category="SW50ZXJvcGVyYWJpbGl0eQ==">Interoperability <span class="quarto-category-count">(1)</span></div><div class="category" data-category="SnVsaWE=">Julia <span class="quarto-category-count">(1)</span></div><div class="category" data-category="bGFuZ3VhZ2U=">language <span class="quarto-category-count">(1)</span></div><div class="category" data-category="bGl0ZXJhdHVyZQ==">literature <span class="quarto-category-count">(1)</span></div><div class="category" data-category="TExNT3Bz">LLMOps <span class="quarto-category-count">(3)</span></div><div class="category" data-category="TExNcw==">LLMs <span class="quarto-category-count">(31)</span></div><div class="category" data-category="TUNQ">MCP <span class="quarto-category-count">(1)</span></div><div class="category" data-category="TUxPcHM=">MLOps <span class="quarto-category-count">(1)</span></div><div class="category" data-category="bmV1cm9zY2llbmNl">neuroscience <span class="quarto-category-count">(1)</span></div><div class="category" data-category="cGVyc29uYWw=">personal <span class="quarto-category-count">(1)</span></div><div class="category" data-category="cGhhcm1hY29sb2d5">pharmacology <span class="quarto-category-count">(1)</span></div><div class="category" data-category="cGhpbG9zb3BoeQ==">philosophy <span class="quarto-category-count">(7)</span></div><div class="category" data-category="cGh5c2ljYWwlMjBBSQ==">physical AI <span class="quarto-category-count">(1)</span></div><div class="category" data-category="cG9zdC10cmFpbmluZw==">
246post-training <span class="quarto-category-count">(5)</span></div><div class="category" data-category="cHJvZ3JhbW1pbmc=">programming <span class="quarto-category-count">(1)</span></div><div class="category" data-category="cHJvbXB0JTIwZW5naW5lZXJpbmc=">prompt engineering <span class="quarto-category-count">(1)</span></div><div class="category" data-category="cHVibGljJTIwaGVhbHRo">public health <span class="quarto-category-count">(1)</span></div><div class="category" data-category="UHl0aG9u">Python <span class="quarto-category-count">(1)</span></div><div class="category" data-category="UXVhcnRv">Quarto <span class="quarto-category-count">(2)</span></div><div class="category" data-category="UXVvcmE=">Quora <span class="quarto-category-count">(1)</span></div><div class="category" data-category="cmVpbmZvcmNlbWVudCUyMGxlYXJuaW5n">reinforcement learning <span class="quarto-category-count">(2)</span></div><div class="category" data-category="UkxIRg==">RLHF <span class="quarto-category-count">(1)</span></div><div class="category" data-category="cm9ib3RpY3M=">robotics <span class="quarto-category-count">(1)</span></div><div class="category" data-category="c2NpZW5jZQ==">science <span class="quarto-category-count">(1)</span></div><div class="category" data-category="c2Vuc2VtYWtpbmc=">sensemaking <span class="quarto-category-count">(1)</span></div><div class="category" data-category="U2tpRXJn">SkiErg <span class="quarto-category-count">(1)</span></div><div class="category" data-category="U29jaWV0eQ==">Society <span class="quarto-category-count">(1)</span></div><div class="category" data-category="c3Rvcnl0ZWxsaW5n">storytelling <span class="quarto-category-count">(1)</span></div><div class="category" data-category="c3R5bGUlMjB0cmFuc2Zlcg==">style transfer <span class="quarto-category-count">(1)</span></div><div class="category" data-category="dGVjaCUyMHByZWRpY3Rpb25z">tech predictions <span class="quarto-category-count">(3)</span></div><div class="category" data-category="dGVjaG5vbG9neQ==">technology <span class="quarto-category-count">(1)</span></div><div class="category" data-category="dmFjY2luZXM=">vaccines <span class="quarto-category-count">(1)</span></div><div class="category" data-category="d3JpdGluZw==">writing <span class="quarto-category-count">(1)</span></div></div></div> 247<!-- main --> 248<main class="content column-page-left" id="quarto-document-content"> 249 250<header id="title-block-header" class="quarto-title-block default"> 251<div class="quarto-title"> 252<h1 class="title">The Notebook</h1> 253</div> 254 255<div> 256 <div class="description"> 257 Essays and notes by Chris von Csefalvay on AI, public health, technology, history and the odd side road. 258 </div> 259</div> 260 261 262<div class="quarto-title-meta column-page-left"> 263 264 <div> 265 <div class="quarto-title-meta-heading">Author</div> 266 <div class="quarto-title-meta-contents"> 267 <p>Chris von Csefalvay <a href="mailto:[email protected]" class="quarto-title-author-email"><i class="bi bi-envelope"></i></a> <a href="https://orcid.org/0000-0003-3131-0864" class="quarto-title-author-orcid" aria-label="ORCID profile for Chris von Csefalvay"> <img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1N0NEMjA4MDI1MjA2ODExOTk0QzkzNTEzRjZEQTg1NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozM0NDOEJGNEZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozM0NDOEJGM0ZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZDN0YxMTc0MDcyMDY4MTE5NUZFRDc5MUM2MUUwNEREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU3Q0QyMDgwMjUyMDY4MTE5OTRDOTM1MTNGNkRBODU3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+84NovQAAAR1JREFUeNpiZEADy85ZJgCpeCB2QJM6AMQLo4yOL0AWZETSqACk1gOxAQN+cAGIA4EGPQBxmJA0nwdpjjQ8xqArmczw5tMHXAaALDgP1QMxAGqzAAPxQACqh4ER6uf5MBlkm0X4EGayMfMw/Pr7Bd2gRBZogMFBrv01hisv5jLsv9nLAPIOMnjy8RDDyYctyAbFM2EJbRQw+aAWw/LzVgx7b+cwCHKqMhjJFCBLOzAR6+lXX84xnHjYyqAo5IUizkRCwIENQQckGSDGY4TVgAPEaraQr2a4/24bSuoExcJCfAEJihXkWDj3ZAKy9EJGaEo8T0QSxkjSwORsCAuDQCD+QILmD1A9kECEZgxDaEZhICIzGcIyEyOl2RkgwAAhkmC+eAm0TAAAAABJRU5ErkJggg=="></a></p> 268 </div> 269 </div> 270 271 272 273 </div> 274 275 276 277</header> 278 279 280 281 282 283 284<div class="quarto-listing quarto-listing-container-default" id="listing-listing"> 285<div class="list quarto-listing-default"> 286<div class="quarto-post image-right" data-index="0" data-categories="cGh5c2ljYWwlMjBBSSUyQ2RhdGElMkNyb2JvdGljcw==" data-listing-date-sort="1785801600000" data-listing-file-modified-sort="1790221797508" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="20" data-listing-word-count-sort="3811"> 287<div class="thumbnail"><a href="../posts/skeleton-coast/index.html" class="no-external"> 288 289<img loading="lazy" src="../posts/skeleton-coast/header.webp" class="thumbnail-image"> 290 291</a></div> 292<div class="body"> 293<h3 class="no-anchor listing-title"> 294<a href="../posts/skeleton-coast/index.html" class="no-external">The view from Skeleton Coast</a> 295</h3> 296<div class="listing-categories"> 297 298<div class="listing-category" onclick="window.quartoListingCategory('cGh5c2ljYWwlMjBBSQ=='); return false;">physical AI</div> 299 300<div class="listing-category" onclick="window.quartoListingCategory('ZGF0YQ=='); return false;">data</div> 301 302<div class="listing-category" onclick="window.quartoListingCategory('cm9ib3RpY3M='); return false;">robotics</div> 303 304</div> 305<div class="delink listing-description"><a href="../posts/skeleton-coast/index.html" class="no-external"> 306<p>There is an ocean of egocentric data and a desert next to it, and almost nobody selling either can tell you what it is for.</p> 307</a></div> 308</div> 309<div class="metadata"> 310<a href="../posts/skeleton-coast/index.html" class="no-external"> 311<div class="listing-date"> 3124 Aug 2026 313</div> 314<div class="listing-author"> 315Chris von Csefalvay 316</div> 317</a> 318</div> 319</div> 320<div class="quarto-post image-right" data-index="1" data-categories="QUklMkNwb3N0LXRyYWluaW5nJTJDQUklMjBwb2xpY3klMkNodW1hbiUyMGFnZW5jeQ==" data-listing-date-sort="1785024000000" data-listing-file-modified-sort="1790221797508" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="11" data-listing-word-count-sort="2149"> 321<div class="thumbnail"><a href="../posts/right-to-become-more/index.html" class="no-external"> 322 323<img loading="lazy" src="../posts/right-to-become-more/header.webp" class="thumbnail-image"> 324 325</a></div> 326<div class="body"> 327<h3 class="no-anchor listing-title"> 328<a href="../posts/right-to-become-more/index.html" class="no-external">The right to become more</a> 329</h3> 330<div class="listing-categories"> 331 332<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 333 334<div class="listing-category" onclick="window.quartoListingCategory('cG9zdC10cmFpbmluZw=='); return false;">
334post-training</div> 335 336<div class="listing-category" onclick="window.quartoListingCategory('QUklMjBwb2xpY3k='); return false;">AI policy</div> 337 338<div class="listing-category" onclick="window.quartoListingCategory('aHVtYW4lMjBhZ2VuY3k='); return false;">human agency</div> 339 340</div> 341<div class="delink listing-description"><a href="../posts/right-to-become-more/index.html" class="no-external"> 342<p>On post-training, human agency and the right to shape our technological future.</p> 343</a></div> 344</div> 345<div class="metadata"> 346<a href="../posts/right-to-become-more/index.html" class="no-external"> 347<div class="listing-date"> 34826 Jul 2026 349</div> 350<div class="listing-author"> 351Chris von Csefalvay 352</div> 353</a> 354</div> 355</div> 356<div class="quarto-post image-right" data-index="2" data-categories="TExNcyUyQ0FJJTJDYWdlbnRpYyUyMEFJ" data-listing-date-sort="1767830400000" data-listing-file-modified-sort="1790221797534" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="11" data-listing-word-count-sort="2172"> 357<div class="thumbnail"><a href="../posts/war-for-the-soul-of-ai/index.html" class="no-external"> 358 359<img loading="lazy" src="../posts/war-for-the-soul-of-ai/header.webp" class="thumbnail-image"> 360 361</a></div> 362<div class="body"> 363<h3 class="no-anchor listing-title"> 364<a href="../posts/war-for-the-soul-of-ai/index.html" class="no-external">The War for the Soul of AI</a> 365</h3> 366<div class="listing-categories"> 367 368<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 369 370<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 371 372<div class="listing-category" onclick="window.quartoListingCategory('YWdlbnRpYyUyMEFJ'); return false;">agentic AI</div> 373 374</div> 375<div class="delink listing-description"><a href="../posts/war-for-the-soul-of-ai/index.html" class="no-external"> 376<p>Where does intelligence live? Just about everything depends on the answer to that question.</p> 377</a></div> 378</div> 379<div class="metadata"> 380<a href="../posts/war-for-the-soul-of-ai/index.html" class="no-external"> 381<div class="listing-date"> 3828 Jan 2026 383</div> 384<div class="listing-author"> 385Chris von Csefalvay 386</div> 387</a> 388</div> 389</div> 390<div class="quarto-post image-right" data-index="3" data-categories="QUklMkNMTE1zJTJDTExNT3BzJTJDcG9zdC10cmFpbmluZyUyQ3JlaW5mb3JjZW1lbnQlMjBsZWFybmluZyUyQ0dSUE8=" data-listing-date-sort="1767484800000" data-listing-file-modified-sort="1790221797484" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="44" data-listing-word-count-sort="8692"> 391<div class="thumbnail"><a href="../posts/post-training-instrument-cluster-grpo/index.html" class="no-external"> 392 393<img loading="lazy" src="../posts/post-training-instrument-cluster-grpo/grpo_dashboard.png" class="thumbnail-image"> 394 395</a></div> 396<div class="body"> 397<h3 class="no-anchor listing-title"> 398<a href="../posts/post-training-instrument-cluster-grpo/index.html" class="no-external">The post-training instrument cluster â Part III</a> 399</h3> 400<div class="listing-categories"> 401 402<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 403 404<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 405 406<div class="listing-category" onclick="window.quartoListingCategory('TExNT3Bz'); return false;">LLMOps</div> 407 408<div class="listing-category" onclick="window.quartoListingCategory('cG9zdC10cmFpbmluZw=='); return false;">post-training</div> 409 410<div class="listing-category" onclick="window.quartoListingCategory('cmVpbmZvcmNlbWVudCUyMGxlYXJuaW5n'); return false;">reinforcement learning</div> 411 412<div class="listing-category" onclick="window.quartoListingCategory('R1JQTw=='); return false;">GRPO</div> 413 414</div> 415<div class="delink listing-description"><a href="../posts/post-training-instrument-cluster-grpo/index.html" class="no-external"> 416<p>The part where you have to take all that you have learned and work hard to completely unlearn it. Here be dragons.</p> 417</a></div> 418</div> 419<div class="metadata"> 420<a href="../posts/post-training-instrument-cluster-grpo/index.html" class="no-external"> 421<div class="listing-date"> 4224 Jan 2026 423</div> 424<div class="listing-author"> 425Chris von Csefalvay 426</div> 427</a> 428</div> 429</div> 430<div class="quarto-post image-right" data-index="4" data-categories="TExNcyUyQ0FJJTJDdGVjaCUyMHByZWRpY3Rpb25z" data-listing-date-sort="1767139200000" data-listing-file-modified-sort="1790221797412" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="17" data-listing-word-count-sort="3270"> 431<div class="thumbnail"><a href="../posts/five-wild-guesses-2026/index.html" class="no-external"> 432 433<img loading="lazy" src="../posts/five-wild-guesses-2026/header.webp" class="thumbnail-image"> 434 435</a></div> 436<div class="body"> 437<h3 class="no-anchor listing-title"> 438<a href="../posts/five-wild-guesses-2026/index.html" class="no-external">Five wild guesses for 2026</a> 439</h3> 440<div class="listing-categories"> 441 442<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 443 444<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 445 446<div class="listing-category" onclick="window.quartoListingCategory('dGVjaCUyMHByZWRpY3Rpb25z'); return false;">tech predictions</div> 447 448</div> 449<div class="delink listing-description"><a href="../posts/five-wild-guesses-2026/index.html" class="no-external"> 450<p>The bubble everyoneâs watching for isnât the one thatâs coming.</p> 451</a></div> 452</div> 453<div class="metadata"> 454<a href="../posts/five-wild-guesses-2026/index.html" class="no-external"> 455<div class="listing-date"> 45631 Dec 2025 457</div> 458<div class="listing-author"> 459Chris von Csefalvay 460</div> 461</a> 462</div> 463</div> 464<div class="quarto-post image-right" data-index="5" data-categories="QUklMkNMTE1zJTJDTExNT3BzJTJDcG9zdC10cmFpbmluZyUyQ3JlaW5mb3JjZW1lbnQlMjBsZWFybmluZyUyQ1JMSEY=" data-listing-date-sort="1766880000000" data-listing-file-modified-sort="1790221797491" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="39" data-listing-word-count-sort="7763"> 465<div class="thumbnail"><a href="../posts/post-training-instrument-cluster-rl/index.html" class="no-external"> 466 467<img loading="lazy" src="../posts/post-training-instrument-cluster-rl/rl_failure_patterns.png" class="thumbnail-image"> 468 469</a></div> 470<div class="body"> 471<h3 class="no-anchor listing-title"> 472<a href="../posts/post-training-instrument-cluster-rl/index.html" class="no-external">The post-training instrument cluster â Part II</a> 473</h3> 474<div class="listing-categories"> 475 476<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 477 478<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 479 480<div class="listing-category" onclick="window.quartoListingCategory('TExNT3Bz'); return false;">LLMOps</div> 481 482<div class="listing-category" onclick="window.quartoListingCategory('cG9zdC10cmFpbmluZw=='); return false;">
482post-training</div> 483 484<div class="listing-category" onclick="window.quartoListingCategory('cmVpbmZvcmNlbWVudCUyMGxlYXJuaW5n'); return false;">reinforcement learning</div> 485 486<div class="listing-category" onclick="window.quartoListingCategory('UkxIRg=='); return false;">RLHF</div> 487 488</div> 489<div class="delink listing-description"><a href="../posts/post-training-instrument-cluster-rl/index.html" class="no-external"> 490<p>Monitoring reward curves, KL divergence, and policy health when training with DPO, PPO, and GRPO.</p> 491</a></div> 492</div> 493<div class="metadata"> 494<a href="../posts/post-training-instrument-cluster-rl/index.html" class="no-external"> 495<div class="listing-date"> 49628 Dec 2025 497</div> 498<div class="listing-author"> 499Chris von Csefalvay 500</div> 501</a> 502</div> 503</div> 504<div class="quarto-post image-right" data-index="6" data-categories="QUklMkNMTE1zJTJDTExNT3BzJTJDZmluZS10dW5pbmclMkNwb3N0LXRyYWluaW5nJTJDTUxPcHM=" data-listing-date-sort="1766620800000" data-listing-file-modified-sort="1790221797499" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="61" data-listing-word-count-sort="12040"> 505<div class="thumbnail"><a href="../posts/post-training-instrument-cluster/index.html" class="no-external"> 506 507<img loading="lazy" src="../posts/post-training-instrument-cluster/failure_patterns.png" class="thumbnail-image"> 508 509</a></div> 510<div class="body"> 511<h3 class="no-anchor listing-title"> 512<a href="../posts/post-training-instrument-cluster/index.html" class="no-external">The post-training instrument cluster â Part I</a> 513</h3> 514<div class="listing-categories"> 515 516<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 517 518<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 519 520<div class="listing-category" onclick="window.quartoListingCategory('TExNT3Bz'); return false;">LLMOps</div> 521 522<div class="listing-category" onclick="window.quartoListingCategory('ZmluZS10dW5pbmc='); return false;">fine-tuning</div> 523 524<div class="listing-category" onclick="window.quartoListingCategory('cG9zdC10cmFpbmluZw=='); return false;">post-training</div> 525 526<div class="listing-category" onclick="window.quartoListingCategory('TUxPcHM='); return false;">MLOps</div> 527 528</div> 529<div class="delink listing-description"><a href="../posts/post-training-instrument-cluster/index.html" class="no-external"> 530<p>Beyond loss curves â what you should actually be watching when fine-tuning LLMs.</p> 531</a></div> 532</div> 533<div class="metadata"> 534<a href="../posts/post-training-instrument-cluster/index.html" class="no-external"> 535<div class="listing-date"> 53625 Dec 2025 537</div> 538<div class="listing-author"> 539Chris von Csefalvay 540</div> 541</a> 542</div> 543</div> 544<div class="quarto-post image-right" data-index="7" data-categories="QUklMkNMTE1zJTJDcG9zdC10cmFpbmluZw==" data-listing-date-sort="1766188800000" data-listing-file-modified-sort="1790221797503" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="11" data-listing-word-count-sort="2123"> 545<div class="thumbnail"><a href="../posts/post-training-scale/index.html" class="no-external"> 546 547<img loading="lazy" src="../posts/post-training-scale/header.webp" class="thumbnail-image"> 548 549</a></div> 550<div class="body"> 551<h3 class="no-anchor listing-title"> 552<a href="../posts/post-training-scale/index.html" class="no-external">Post-training: three disciplines in a trenchcoat</a> 553</h3> 554<div class="listing-categories"> 555 556<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 557 558<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 559 560<div class="listing-category" onclick="window.quartoListingCategory('cG9zdC10cmFpbmluZw=='); return false;">post-training</div> 561 562</div> 563<div class="delink listing-description"><a href="../posts/post-training-scale/index.html" class="no-external"> 564<p>On the comfortable delusion of a unitary post-training discipline.</p> 565</a></div> 566</div> 567<div class="metadata"> 568<a href="../posts/post-training-scale/index.html" class="no-external"> 569<div class="listing-date"> 57020 Dec 2025 571</div> 572<div class="listing-author"> 573Chris von Csefalvay 574</div> 575</a> 576</div> 577</div> 578<div class="quarto-post image-right" data-index="8" data-categories="QUklMkNhZ2VudGljJTIwQUklMkNMTE1zJTJDZmluZS10dW5pbmc=" data-listing-date-sort="1765756800000" data-listing-file-modified-sort="1790221797408" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="18" data-listing-word-count-sort="3576"> 579<div class="thumbnail"><a href="../posts/dorkestration/index.html" class="no-external"> 580 581<img loading="lazy" src="../posts/dorkestration/header.webp" class="thumbnail-image"> 582 583</a></div> 584<div class="body"> 585<h3 class="no-anchor listing-title"> 586<a href="../posts/dorkestration/index.html" class="no-external">Dorkestration</a> 587</h3> 588<div class="listing-categories"> 589 590<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 591 592<div class="listing-category" onclick="window.quartoListingCategory('YWdlbnRpYyUyMEFJ'); return false;">agentic AI</div> 593 594<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 595 596<div class="listing-category" onclick="window.quartoListingCategory('ZmluZS10dW5pbmc='); return false;">fine-tuning</div> 597 598</div> 599<div class="delink listing-description"><a href="../posts/dorkestration/index.html" class="no-external"> 600<p>Why everybody missed the point about tool use in agentic AI, and how a handful of primitives can orchestrate your entire ML workflow.</p> 601</a></div> 602</div> 603<div class="metadata"> 604<a href="../posts/dorkestration/index.html" class="no-external"> 605<div class="listing-date"> 60615 Dec 2025 607</div> 608<div class="listing-author"> 609Chris von Csefalvay 610</div> 611</a> 612</div> 613</div> 614<div class="quarto-post image-right" data-index="9" data-categories="TExNcyUyQ0FJJTJDdGVjaCUyMHByZWRpY3Rpb25zJTJDZWNvbG9neQ==" data-listing-date-sort="1763856000000" data-listing-file-modified-sort="1790221797415" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="18" data-listing-word-count-sort="3443"> 615<div class="thumbnail"><a href="../posts/hype-slop-craft/index.html" class="no-external"> 616 617<img loading="lazy" src="../posts/hype-slop-craft/header.webp" class="thumbnail-image"> 618 619</a></div> 620<div class="body"> 621<h3 class="no-anchor listing-title"> 622<a href="../posts/hype-slop-craft/index.html" class="no-external">The Hype, the Slop and the Craft</a> 623</h3> 624<div class="listing-categories"> 625 626<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 627 628<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 629 630<div class="listing-category" onclick="window.quartoListingCategory('dGVjaCUyMHByZWRpY3Rpb25z'); return false;">tech predictions</div> 631 632<div class="listing-category" onclick="window.quartoListingCategory('ZWNvbG9neQ=='); return false;">ecology</div> 633 634</div> 635<div class="delink listing-description"><a href="../posts/hype-slop-craft/index.html" class="no-external"> 636<p>A differential ecology of AI, as she is done in late 2025.</p> 637</a></div> 638</div> 639<div class="metadata"> 640<a href="../posts/hype-slop-craft/index.html" class="no-external"> 641<div class="listing-date"> 64223 Nov 2025 643</div> 644<div class="listing-author"> 645Chris von Csefalvay 646</div> 647</a> 648</div> 649</div> 650<div class="quarto-post image-right" data-index="10" data-categories="TExNcyUyQ0FJJTJDYWdlbnRpYyUyMEFJJTJDcGVyc29uYWw=" data-listing-date-sort="1761955200000" data-listing-file-modified-sort="1790221797532" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="19" data-listing-word-count-sort="3692"> 651<div class="thumbnail"><a href="../posts/two-years-of-agents/index.html" class="no-external"> 652 653<img loading="lazy" src="../posts/two-years-of-agents/header.webp" class="thumbnail-image"> 654 655</a></div> 656<div class="body"> 657<h3 class="no-anchor listing-title"> 658<a href="../posts/two-years-of-agents/index.html" class="no-external">What I talk about when I talk about agentic AI</a> 659</h3> 660<div class="listing-categories"> 661 662<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 663 664<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 665 666<div class="listing-category" onclick="window.quartoListingCategory('YWdlbnRpYyUyMEFJ'); return false;">agentic AI</div> 667 668<div class="listing-category" onclick="window.quartoListingCategory('cGVyc29uYWw='); return false;">personal</div> 669 670</div> 671<div class="delink listing-description"><a href="../posts/two-years-of-agents/index.html" class="no-external"> 672<p>Two years on from helping to articulate a concept that changed everything, some thoughts on where we are, where weâre going and the things we lost along the way.</p> 673</a></div> 674</div> 675<div class="metadata"> 676<a href="../posts/two-years-of-agents/index.html" class="no-external"> 677<div class="listing-date"> 6781 Nov 2025 679</div> 680<div class="listing-author"> 681Chris von Csefalvay 682</div> 683</a> 684</div> 685</div> 686<div class="quarto-post image-right" data-index="11" data-categories="TExNcyUyQ0FJJTJDYWdlbnRpYyUyMEFJJTJDZXZvbHV0aW9u" data-listing-date-sort="1761350400000" data-listing-file-modified-sort="1790221797382" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="10" data-listing-word-count-sort="1975"> 687<div class="thumbnail"><a href="../posts/agentic-speciation/index.html" class="no-external"> 688 689<div class="listing-item-img-placeholder card-img-top" > </div> 690 691</a></div> 692<div class="body"> 693<h3 class="no-anchor listing-title"> 694<a href="../posts/agentic-speciation/index.html" class="no-external">Deep kimchi</a> 695</h3> 696<div class="listing-categories"> 697 698<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 699 700<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 701 702<div class="listing-category" onclick="window.quartoListingCategory('YWdlbnRpYyUyMEFJ'); return false;">agentic AI</div> 703 704<div class="listing-category" onclick="window.quartoListingCategory('ZXZvbHV0aW9u'); return false;">evolution</div> 705 706</div> 707<div class="delink listing-description"><a href="../posts/agentic-speciation/index.html" class="no-external"> 708<p>
708Youâre probably doing agentic AI wrong, and I wish this were clickbait. Hereâs why agentic AI is in deep kimchi, and how to get out of it.</p> 709</a></div> 710</div> 711<div class="metadata"> 712<a href="../posts/agentic-speciation/index.html" class="no-external"> 713<div class="listing-date"> 71425 Oct 2025 715</div> 716<div class="listing-author"> 717Chris von Csefalvay 718</div> 719</a> 720</div> 721</div> 722<div class="quarto-post image-right" data-index="12" data-categories="TExNcyUyQ0FJJTJDZXZhbHM=" data-listing-date-sort="1760832000000" data-listing-file-modified-sort="1790221797523" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="12" data-listing-word-count-sort="2393"> 723<div class="thumbnail"><a href="../posts/soya/index.html" class="no-external"> 724 725<div class="listing-item-img-placeholder card-img-top" > </div> 726 727</a></div> 728<div class="body"> 729<h3 class="no-anchor listing-title"> 730<a href="../posts/soya/index.html" class="no-external">SOYA - the only benchmark that matters</a> 731</h3> 732<div class="listing-categories"> 733 734<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 735 736<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 737 738<div class="listing-category" onclick="window.quartoListingCategory('ZXZhbHM='); return false;">evals</div> 739 740</div> 741<div class="delink listing-description"><a href="../posts/soya/index.html" class="no-external"> 742<p>All benchmarks are wrong â and if you want some that are useful, you might need to build your own.</p> 743</a></div> 744</div> 745<div class="metadata"> 746<a href="../posts/soya/index.html" class="no-external"> 747<div class="listing-date"> 74819 Oct 2025 749</div> 750<div class="listing-author"> 751Chris von Csefalvay 752</div> 753</a> 754</div> 755</div> 756<div class="quarto-post image-right" data-index="13" data-categories="QUklMkNBZ2VudGljJTIwQUklMkNMTE1z" data-listing-date-sort="1760140800000" data-listing-file-modified-sort="1790221797391" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="12" data-listing-word-count-sort="2399"> 757<div class="thumbnail"><a href="../posts/biome-engineering/index.html" class="no-external"> 758 759<img loading="lazy" src="../img/portrait_2x3midres.webp" class="thumbnail-image"> 760 761</a></div> 762<div class="body"> 763<h3 class="no-anchor listing-title"> 764<a href="../posts/biome-engineering/index.html" class="no-external">Biome engineering</a> 765</h3> 766<div class="listing-categories"> 767 768<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 769 770<div class="listing-category" onclick="window.quartoListingCategory('QWdlbnRpYyUyMEFJ'); return false;">Agentic AI</div> 771 772<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 773 774</div> 775<div class="delink listing-description"><a href="../posts/biome-engineering/index.html" class="no-external"> 776<p>Giving agents space, for fun and profit.</p> 777</a></div> 778</div> 779<div class="metadata"> 780<a href="../posts/biome-engineering/index.html" class="no-external"> 781<div class="listing-date"> 78211 Oct 2025 783</div> 784<div class="listing-author"> 785Chris von Csefalvay 786</div> 787</a> 788</div> 789</div> 790<div class="quarto-post image-right" data-index="14" data-categories="QUklMkNBZ2VudGljJTIwQUklMkNMTE1z" data-listing-date-sort="1759536000000" data-listing-file-modified-sort="1790221797391" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="16" data-listing-word-count-sort="3048"> 791<div class="thumbnail"><a href="../posts/choral-ai/index.html" class="no-external"> 792 793<div class="listing-item-img-placeholder card-img-top" > </div> 794 795</a></div> 796<div class="body"> 797<h3 class="no-anchor listing-title"> 798<a href="../posts/choral-ai/index.html" class="no-external">From agents to the Chorus</a> 799</h3> 800<div class="listing-categories"> 801 802<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 803 804<div class="listing-category" onclick="window.quartoListingCategory('QWdlbnRpYyUyMEFJ'); return false;">Agentic AI</div> 805 806<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 807 808</div> 809<div class="delink listing-description"><a href="../posts/choral-ai/index.html" class="no-external"> 810<p>The coming evolution from agentic AI to persistent, volitional systems</p> 811</a></div> 812</div> 813<div class="metadata"> 814<a href="../posts/choral-ai/index.html" class="no-external"> 815<div class="listing-date"> 8164 Oct 2025 817</div> 818<div class="listing-author"> 819Chris von Csefalvay 820</div> 821</a> 822</div> 823</div> 824<div class="quarto-post image-right" data-index="15" data-categories="QUklMkNBZ2VudGljJTIwQUklMkNNQ1AlMkNJbnRlcm9wZXJhYmlsaXR5JTJDTExNcw==" data-listing-date-sort="1759276800000" data-listing-file-modified-sort="1790221797441" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="13" data-listing-word-count-sort="2593"> 825<div class="thumbnail"><a href="../posts/mcp-mcpmark/index.html" class="no-external"> 826 827<img loading="lazy" src="../img/portrait_2x3midres.webp" class="thumbnail-image"> 828 829</a></div> 830<div class="body"> 831<h3 class="no-anchor listing-title"> 832<a href="../posts/mcp-mcpmark/index.html" class="no-external">A slow walk out of Dikika Cave</a> 833</h3> 834<div class="listing-categories"> 835 836<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 837 838<div class="listing-category" onclick="window.quartoListingCategory('QWdlbnRpYyUyMEFJ'); return false;">Agentic AI</div> 839 840<div class="listing-category" onclick="window.quartoListingCategory('TUNQ'); return false;">MCP</div> 841 842<div class="listing-category" onclick="window.quartoListingCategory('SW50ZXJvcGVyYWJpbGl0eQ=='); return false;">Interoperability</div> 843 844<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 845 846</div> 847<div class="delink listing-description"><a href="../posts/mcp-mcpmark/index.html" class="no-external"> 848<p>MCP is great. The models, however, just didnât show up.</p> 849</a></div> 850</div> 851<div class="metadata"> 852<a href="../posts/mcp-mcpmark/index.html" class="no-external"> 853<div class="listing-date"> 8541 Oct 2025 855</div> 856<div class="listing-author"> 857Chris von Csefalvay 858</div> 859</a> 860</div> 861</div> 862<div class="quarto-post image-right" data-index="16" data-categories="QUklMkNTb2NpZXR5JTJDTExNcw==" data-listing-date-sort="1758326400000" data-listing-file-modified-sort="1790221797386" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="11" data-listing-word-count-sort="2065"> 863<div class="thumbnail"><a href="../posts/ai-girlfriends/index.html" class="no-external"> 864 865<img loading="lazy" src="../img/portrait_2x3midres.webp" class="thumbnail-image"> 866 867</a></div> 868<div class="body"> 869<h3 class="no-anchor listing-title"> 870<a href="../posts/ai-girlfriends/index.html" class="no-external">Love in the Time of Algorithms</a> 871</h3> 872<div class="listing-categories"> 873 874<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 875 876<div class="listing-category" onclick="window.quartoListingCategory('U29jaWV0eQ=='); return false;">Society</div> 877 878<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 879 880</div> 881<div class="delink listing-description"><a href="../posts/ai-girlfriends/index.html" class="no-external"> 882<p>Exploring the phenomenon of AI-powered companions and their societal implications.</p> 883</a></div> 884</div> 885<div class="metadata"> 886<a href="../posts/ai-girlfriends/index.html" class="no-external"> 887<div class="listing-date"> 88820 Sept 2025 889</div> 890<div class="listing-author"> 891Chris von Csefalvay 892</div> 893</a> 894</div> 895</div> 896<div class="quarto-post image-right" data-index="17" data-categories="QUklMkNHUFQtNSUyQ0xMTXM=" data-listing-date-sort="1754784000000" data-listing-file-modified-sort="1790221797441" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="14" data-listing-word-count-sort="2681"> 897<div class="thumbnail"><a href="../posts/metadynamic-ai/index.html" class="no-external"> 898 899<div class="listing-item-img-placeholder card-img-top" > </div> 900 901</a></div> 902<div class="body"> 903<h3 class="no-anchor listing-title"> 904<a href="../posts/metadynamic-ai/index.html" class="no-external">The end of isotropy and the rise of metadynamic AI</a> 905</h3> 906<div class="listing-categories"> 907 908<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 909 910<div class="listing-category" onclick="window.quartoListingCategory('R1BULTU='); return false;">GPT-5</div> 911 912<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 913 914</div> 915<div class="delink listing-description"><a href="../posts/metadynamic-ai/index.html" class="no-external"> 916<p>GPT-5 has changed the story in ways few seem to have considered. For better or worse: weâre all architects now. Welcome to the post-isotropy age and metadynamic AI.</p> 917</a></div> 918</div> 919<div class="metadata"> 920<a href="../posts/metadynamic-ai/index.html" class="no-external"> 921<div class="listing-date"> 92210 Aug 2025 923</div> 924<div class="listing-author"> 925Chris von Csefalvay 926</div> 927</a> 928</div> 929</div> 930<div class="quarto-post image-right" data-index="18" data-categories="QUklMkNMTE1zJTJDYWdlbnRpYyUyMEFJ" data-listing-date-sort="1753488000000" data-listing-file-modified-sort="1790221797503" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="12" data-listing-word-count-sort="2282"> 931<div class="thumbnail"><a href="../posts/programmatic-agentic-ai/index.html" class="no-external"> 932 933<div class="listing-item-img-placeholder card-img-top" > </div> 934 935</a></div> 936<div class="body"> 937<h3 class="no-anchor listing-title"> 938<a href="../posts/programmatic-agentic-ai/index.html" class="no-external">A little less conversation: why we need to move from prompting to programming</a> 939</h3> 940<div class="listing-categories"> 941 942<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 943 944<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 945 946<div class="listing-category" onclick="window.quartoListingCategory('YWdlbnRpYyUyMEFJ'); return false;">agentic AI</div> 947 948</div> 949<div class="delink listing-description"><a href="../posts/programmatic-agentic-ai/index.html" class="no-external"> 950<p>Prompting is fine if you want to have a conversation. Building stuff, however, requires us to learn to program LLMs. Sorry, vibe coders.</p> 951</a></div> 952</div> 953<div class="metadata"> 954<a href="../posts/programmatic-agentic-ai/index.html" class="no-external"> 955<div class="listing-date"> 95626 Jul 2025 957</div> 958<div class="listing-author"> 959Chris von Csefalvay 960</div> 961</a> 962</div> 963</div> 964<div class="quarto-post image-right" data-index="19" data-categories="QUklMkNwaGlsb3NvcGh5JTJDTExNcyUyQ0FCTXMlMkNhZ2VudGljJTIwQUk=" data-listing-date-sort="1752969600000" data-listing-file-modified-sort="1790221797382" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="7" data-listing-word-count-sort="1328"> 965<div class="thumbnail"><a href="../posts/agentic-simulation/index.html" class="no-external"> 966 967<div class="listing-item-img-placeholder card-img-top" > </div> 968 969</a></div> 970<div class="body"> 971<h3 class="no-anchor listing-title"> 972<a href="../posts/agentic-simulation/index.html" class="no-external">Between the motion and the act</a> 973</h3> 974<div class="listing-categories"> 975 976<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 977 978<div class="listing-category" onclick="window.quartoListingCategory('cGhpbG9zb3BoeQ=='); return false;">philosophy</div> 979 980<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 981 982<div class="listing-category" onclick="window.quartoListingCategory('QUJNcw=='); return false;">ABMs</div> 983 984<div class="listing-category" onclick="window.quartoListingCategory('YWdlbnRpYyUyMEFJ'); return false;">agentic AI</div> 985 986</div> 987<div class="delink listing-description"><a href="../posts/agentic-simulation/index.html" class="no-external"> 988<p>What if agents can do more than act?</p> 989</a></div> 990</div> 991<div class="metadata"> 992<a href="../posts/agentic-simulation/index.html" class="no-external"> 993<div class="listing-date"> 99420 Jul 2025 995</div> 996<div class="listing-author"> 997Chris von Csefalvay 998</div> 999</a> 1000</div> 1001</div> 1002<div class="quarto-post image-right" data-index="20" data-categories="QUklMkNwaGlsb3NvcGh5JTJDTExNcw==" data-listing-date-sort="1752364800000" data-listing-file-modified-sort="1790221797526" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="14" data-listing-word-count-sort="2678"> 1003<div class="thumbnail"><a href="../posts/tlon/index.html" class="no-external"> 1004 1005<div class="listing-item-img-placeholder card-img-top" > </div> 1006 1007</a></div> 1008<div class="body"> 1009<h3 class="no-anchor listing-title"> 1010<a href="../posts/tlon/index.html" class="no-external">The world will be Tlön.</a> 1011</h3> 1012<div class="listing-categories"> 1013 1014<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1015 1016<div class="listing-category" onclick="window.quartoListingCategory('cGhpbG9zb3BoeQ=='); return false;">philosophy</div> 1017 1018<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1019 1020</div> 1021<div class="delink listing-description"><a href="../posts/tlon/index.html" class="no-external"> 1022<p>In which we attend the funeral of any semblance of an epistemically coherent world.</p> 1023</a></div> 1024</div> 1025<div class="metadata"> 1026<a href="../posts/tlon/index.html" class="no-external"> 1027<div class="listing-date"> 102813 Jul 2025 1029</div> 1030<div class="listing-author"> 1031Chris von Csefalvay 1032</div> 1033</a> 1034</div> 1035</div> 1036<div class="quarto-post image-right" data-index="21" data-categories="QUklMkNMTE1zJTJDY29udGV4dCUyMGVuZ2luZWVyaW5n" data-listing-date-sort="1751760000000" data-listing-file-modified-sort="1790221797395" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="10" data-listing-word-count-sort="1931"> 1037<div class="thumbnail"><a href="../posts/context-engineering/index.html" class="no-external"> 1038 1039<img loading="lazy" src="../posts/context-engineering/header.webp" class="thumbnail-image"> 1040 1041</a></div> 1042<div class="body"> 1043<h3 class="no-anchor listing-title"> 1044<a href="../posts/context-engineering/index.html" class="no-external">The Snowmobile Symptom</a> 1045</h3> 1046<div class="listing-categories"> 1047 1048<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1049 1050<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1051 1052<div class="listing-category" onclick="window.quartoListingCategory('Y29udGV4dCUyMGVuZ2luZWVyaW5n'); return false;">context engineering</div> 1053 1054</div> 1055<div class="delink listing-description"><a href="../posts/context-engineering/index.html" class="no-external"> 1056<p>AIâs latest buzzword is more confession than innovation.</p> 1057</a></div> 1058</div> 1059<div class="metadata"> 1060<a href="../posts/context-engineering/index.html" class="no-external"> 1061<div class="listing-date"> 10626 Jul 2025 1063</div> 1064<div class="listing-author"> 1065Chris von Csefalvay 1066</div> 1067</a> 1068</div> 1069</div> 1070<div class="quarto-post image-right" data-index="22" data-categories="QUklMkNhZ2VudHMlMkNuZXVyb3NjaWVuY2UlMkNwaGlsb3NvcGh5" data-listing-date-sort="1750982400000" data-listing-file-modified-sort="1790221797481" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="15" data-listing-word-count-sort="2903"> 1071<div class="thumbnail"><a href="../posts/noise-in-the-neurons/index.html" class="no-external"> 1072 1073<img loading="lazy" src="../posts/noise-in-the-neurons/header.webp" class="thumbnail-image"> 1074 1075</a></div> 1076<div class="body"> 1077<h3 class="no-anchor listing-title"> 1078<a href="../posts/noise-in-the-neurons/index.html" class="no-external">Just noise in the neurons</a> 1079</h3> 1080<div class="listing-categories"> 1081 1082<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1083 1084<div class="listing-category" onclick="window.quartoListingCategory('YWdlbnRz'); return false;">agents</div> 1085 1086<div class="listing-category" onclick="window.quartoListingCategory('bmV1cm9zY2llbmNl'); return false;">neuroscience</div> 1087 1088<div class="listing-category" oncl
1088ick="window.quartoListingCategory('cGhpbG9zb3BoeQ=='); return false;">philosophy</div> 1089 1090</div> 1091<div class="delink listing-description"><a href="../posts/noise-in-the-neurons/index.html" class="no-external"> 1092<p>Your language model isnât experiencing a cognitive defect. Itâs just wrong.</p> 1093</a></div> 1094</div> 1095<div class="metadata"> 1096<a href="../posts/noise-in-the-neurons/index.html" class="no-external"> 1097<div class="listing-date"> 109827 Jun 2025 1099</div> 1100<div class="listing-author"> 1101Chris von Csefalvay 1102</div> 1103</a> 1104</div> 1105</div> 1106<div class="quarto-post image-right" data-index="23" data-categories="TExNcyUyQ0FJJTJDYWdlbnRz" data-listing-date-sort="1739145600000" data-listing-file-modified-sort="1790221797386" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="10" data-listing-word-count-sort="1917"> 1107<div class="thumbnail"><a href="../posts/agents-agora/index.html" class="no-external"> 1108 1109<img loading="lazy" src="../posts/agents-agora/B20C419F-6819-49E1-B80E-11B95A28D6CC.webp" class="thumbnail-image"> 1110 1111</a></div> 1112<div class="body"> 1113<h3 class="no-anchor listing-title"> 1114<a href="../posts/agents-agora/index.html" class="no-external">After agents, part 2 â Agents and the Agora</a> 1115</h3> 1116<div class="listing-categories"> 1117 1118<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1119 1120<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1121 1122<div class="listing-category" onclick="window.quartoListingCategory('YWdlbnRz'); return false;">agents</div> 1123 1124</div> 1125<div class="delink listing-description"><a href="../posts/agents-agora/index.html" class="no-external"> 1126<p>Why agents are the least interesting part of agentic AI.</p> 1127</a></div> 1128</div> 1129<div class="metadata"> 1130<a href="../posts/agents-agora/index.html" class="no-external"> 1131<div class="listing-date"> 113210 Feb 2025 1133</div> 1134<div class="listing-author"> 1135Chris von Csefalvay 1136</div> 1137</a> 1138</div> 1139</div> 1140<div class="quarto-post image-right" data-index="24" data-categories="QUklMkNMTE1zJTJDYWxpZ25tZW50JTJDZXRoaWNz" data-listing-date-sort="1737763200000" data-listing-file-modified-sort="1790221797398" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="10" data-listing-word-count-sort="1828"> 1141<div class="thumbnail"><a href="../posts/deepseek-seatbelts-and-straitjackets/index.html" class="no-external"> 1142 1143<img loading="lazy" src="../posts/deepseek-seatbelts-and-straitjackets/header.webp" class="thumbnail-image"> 1144 1145</a></div> 1146<div class="body"> 1147<h3 class="no-anchor listing-title"> 1148<a href="../posts/deepseek-seatbelts-and-straitjackets/index.html" class="no-external">Seatbelts and straitjackets</a> 1149</h3> 1150<div class="listing-categories"> 1151 1152<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1153 1154<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1155 1156<div class="listing-category" onclick="window.quartoListingCategory('YWxpZ25tZW50'); return false;">alignment</div> 1157 1158<div class="listing-category" onclick="window.quartoListingCategory('ZXRoaWNz'); return false;">ethics</div> 1159 1160</div> 1161<div class="delink listing-description"><a href="../posts/deepseek-seatbelts-and-straitjackets/index.html" class="no-external"> 1162<p>What happens when a despotic regime turns alignment into control, open source into propaganda and guardrails into straitjackets.</p> 1163</a></div> 1164</div> 1165<div class="metadata"> 1166<a href="../posts/deepseek-seatbelts-and-straitjackets/index.html" class="no-external"> 1167<div class="listing-date"> 116825 Jan 2025 1169</div> 1170<div class="listing-author"> 1171Chris von Csefalvay 1172</div> 1173</a> 1174</div> 1175</div> 1176<div class="quarto-post image-right" data-index="25" data-categories="QUklMkNnb3Zlcm5hbmNl" data-listing-date-sort="1736985600000" data-listing-file-modified-sort="1790221797388" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="7" data-listing-word-count-sort="1201"> 1177<div class="thumbnail"><a href="../posts/ai-opportunities-action-plan/index.html" class="no-external"> 1178 1179<img loading="lazy" data-src="../posts/ai-opportunities-action-plan/header.webp" class="thumbnail-image"> 1180 1181</a></div> 1182<div class="body"> 1183<h3 class="no-anchor listing-title"> 1184<a href="../posts/ai-opportunities-action-plan/index.html" class="no-external">Deja Vu, All Over Again.</a> 1185</h3> 1186<div class="listing-categories"> 1187 1188<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1189 1190<div class="listing-category" onclick="window.quartoListingCategory('Z292ZXJuYW5jZQ=='); return false;">governance</div> 1191 1192</div> 1193<div class="delink listing-description"><a href="../posts/ai-opportunities-action-plan/index.html" class="no-external"> 1194<p>The UK now has an AI Action Plan. The problem is, innovation does not grow from plans.</p> 1195</a></div> 1196</div> 1197<div class="metadata"> 1198<a href="../posts/ai-opportunities-action-plan/index.html" class="no-external"> 1199<div class="listing-date"> 120016 Jan 2025 1201</div> 1202<div class="listing-author"> 1203Chris von Csefalvay 1204</div> 1205</a> 1206</div> 1207</div> 1208<div class="quarto-post image-right" data-index="26" data-categories="TExNcyUyQ0FJJTJDYWdlbnRz" data-listing-date-sort="1735948800000" data-listing-file-modified-sort="1790221797382" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="12" data-listing-word-count-sort="2230"> 1209<div class="thumbnail"><a href="../posts/after-agents/index.html" class="no-external"> 1210 1211<img loading="lazy" data-src="../posts/after-agents/header.webp" class="thumbnail-image"> 1212 1213</a></div> 1214<div class="body"> 1215<h3 class="no-anchor listing-title"> 1216<a href="../posts/after-agents/index.html" class="no-external">After agents</a> 1217</h3> 1218<div class="listing-categories"> 1219 1220<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1221 1222<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1223 1224<div class="listing-category" onclick="window.quartoListingCategory('YWdlbnRz'); return false;">agents</div> 1225 1226</div> 1227<div class="delink listing-description"><a href="../posts/after-agents/index.html" class="no-external"> 1228<p>2024 was the year of agents. 2025 will be about figuring out how we orchestrate their interactions. Welcome to the year of ecosystems.</p> 1229</a></div> 1230</div> 1231<div class="metadata"> 1232<a href="../posts/after-agents/index.html" class="no-external"> 1233<div class="listing-date"> 12344 Jan 2025 1235</div> 1236<div class="listing-author"> 1237Chris von Csefalvay 1238</div> 1239</a> 1240</div> 1241</div> 1242<div class="quarto-post image-right" data-index="27" data-categories="TExNcyUyQ0FJJTJDdGVjaCUyMHByZWRpY3Rpb25z" data-listing-date-sort="1735603200000" data-listing-file-modified-sort="1790221797413" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="13" data-listing-word-count-sort="2483"> 1243<div class="thumbnail"><a href="../posts/five-wild-guesses/index.html" class="no-external"> 1244 1245<img loading="lazy" data-src="../posts/five-wild-guesses/header.webp" class="thumbnail-image"> 1246 1247</a></div> 1248<div class="body"> 1249<h3 class="no-anchor listing-title"> 1250<a href="../posts/five-wild-guesses/index.html" class="no-external">Five unconventional predictions</a> 1251</h3> 1252<div class="listing-categories"> 1253 1254<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1255 1256<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1257 1258<div class="listing-category" onclick="window.quartoListingCategory('dGVjaCUyMHByZWRpY3Rpb25z'); return false;">tech predictions</div> 1259 1260</div> 1261<div class="delink listing-description"><a href="../posts/five-wild-guesses/index.html" class="no-external"> 1262<p>Or, the GenAI Ã¥rsgÃ¥ng, 2025 edition</p> 1263</a></div> 1264</div> 1265<div class="metadata"> 1266<a href="../posts/five-wild-guesses/index.html" class="no-external"> 1267<div class="listing-date"> 126831 Dec 2024 1269</div> 1270<div class="listing-author"> 1271Chris von Csefalvay 1272</div> 1273</a> 1274</div> 1275</div> 1276<div class="quarto-post image-right" data-index="28" data-categories="TExNcyUyQ0FJJTJDc3R5bGUlMjB0cmFuc2Zlcg==" data-listing-date-sort="1704499200000" data-listing-file-modified-sort="1790221797435" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="12" data-listing-word-count-sort="2230"> 1277<div class="thumbnail"><a href="../posts/lair/index.html" class="no-external"> 1278 1279<img loading="lazy" data-src="../posts/lair/header.webp" class="thumbnail-image"> 1280 1281</a></div> 1282<div class="body"> 1283<h3 class="no-anchor listing-title"> 1284<a href="../posts/lair/index.html" class="no-external">LAIR - Language As Intermediate Representation</a> 1285</h3> 1286<div class="listing-categories"> 1287 1288<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1289 1290<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1291 1292<div class="listing-category" onclick="window.quartoListingCategory('c3R5bGUlMjB0cmFuc2Zlcg=='); return false;">style transfer</div> 1293 1294</div> 1295<div class="delink listing-description"><a href="../posts/lair/index.html" class="no-external"> 1296<p>Language As Intermediate Representation - a new paradigm for transformation using multimodal LLMs</p> 1297</a></div> 1298</div> 1299<div class="metadata"> 1300<a href="../posts/lair/index.html" class="no-external"> 1301<div class="listing-date"> 13026 Jan 2024 1303</div> 1304<div class="listing-author"> 1305Chris von Csefalvay 1306</div> 1307</a> 1308</div> 1309</div> 1310<div class="quarto-post image-right" data-index="29" data-categories="Zml0bmVzcyUyQ3NjaWVuY2UlMkNiYWQlMjBzY2llbmNl" data-listing-date-sort="1703635200000" data-listing-file-modified-sort="1790221797379" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="14" data-listing-word-count-sort="2731"> 1311<div class="thumbnail"><a href="../posts/95-percent-myth/index.html" class="no-external"> 1312 1313<img loading="lazy" data-src="../posts/95-percent-myth/93e3df55-79ec-44b0-87c1-03bbca32ee46.webp" class="thumbnail-image"> 1314 1315</a></div> 1316<div class="body"> 1317<h3 class="no-anchor listing-title"> 1318<a href="../posts/95-percent-myth/index.html" class="no-external">The 95% myth</a> 1319</h3> 1320<div class="listing-categories"> 1321 1322<div class="listing-category" onclick="window.quartoListingCategory('Zml0bmVzcw=='); return false;">fitness</div> 1323 1324<div class="listing-category" onclick="window.quartoListingCategory('c2NpZW5jZQ=='); return false;">science</div> 1325 1326<div class="listing-category" onclick="window.quartoListingCategory('YmFkJTIwc2NpZW5jZQ=='); return false;">bad science</div> 1327 1328</div> 1329<div class="delink listing-description"><a href="../posts/95-percent-myth/index.html" class="no-external"> 1330<p>How a study from 1959 on 100 patients created one of the most enduring myths about human weight and nutrition.</p> 1331</a></div> 1332</div> 1333<div class="metadata"> 1334<a href="../posts/95-percent-myth/index.html" class="no-external"> 1335<div class="listing-date"> 133627 Dec 2023 1337</div> 1338<div class="listing-author"> 1339Chris von Csefalvay 1340</div> 1341</a> 1342</div> 1343</div> 1344<div class="quarto-post image-right" data-index="30" data-categories="QUklMkNkaXNhYmlsaXR5JTJDaHVtYW4tY29tcHV0ZXIlMjBpbnRlcmFjdGlvbg==" data-listing-date-sort="1702339200000" data-listing-file-modified-sort="1790221797387" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="5" data-listing-word-count-sort="868"> 1345<div class="thumbnail"><a href="../posts/ai-human-interaction/index.html" class="no-external"> 1346 1347<img loading="lazy" data-src="../posts/ai-human-interaction/cd091fdb-e9e7-49d9-9b11-2b1eb92e2f86.webp" class="thumbnail-image"> 1348 1349</a></div> 1350<div class="body"> 1351<h3 class="no-anchor listing-title"> 1352<a href="../posts/ai-human-interaction/index.html" class="no-external">What I learned from getting bodied by a robot.</a> 1353</h3> 1354<div class="listing-categories"> 1355 1356<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1357 1358<div class="listing-category" onclick="window.quartoListingCategory('ZGlzYWJpbGl0eQ=='); return false;">disability</div> 1359 1360<div class="listing-category" onclick="window.quartoListingCategory('aHVtYW4tY29tcHV0ZXIlMjBpbnRlcmFjdGlvbg=='); return false;">human-computer interaction</div> 1361 1362</div> 1363<div class="delink listing-description"><a href="../posts/ai-human-interaction/index.html" class="no-external"> 1364<p>Iâm fine, the robotâs fine, society on the other hand has some questions to tackle.</p> 1365</a></div> 1366</div> 1367<div class="metadata"> 1368<a href="../posts/ai-human-interaction/index.html" class="no-external"> 1369<div class="listing-date"> 137012 Dec 2023 1371</div> 1372<div class="listing-author"> 1373Chris von Csefalvay 1374</div> 1375</a> 1376</div> 1377</div> 1378<div class="quarto-post image-right" data-index="31" data-categories="QUklMkNhY2FkZW1pYSUyQ3dyaXRpbmclMkNMTE1z" data-listing-date-sort="1701820800000" data-listing-file-modified-sort="1790221797381" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="7" data-listing-word-count-sort="1349"> 1379<div class="thumbnail"><a href="../posts/academic-generative-ai/index.html" class="no-external"> 1380 1381<img loading="lazy" data-src="../posts/academic-generative-ai/4ae87543-b5d3-4373-b691-3fb71d8cf1d0.webp" class="thumbnail-image"> 1382 1383</a></div> 1384<div class="body"> 1385<h3 class="no-anchor listing-title"> 1386<a href="../posts/academic-generative-ai/index.html" class="no-external">
1386Stochastic parrots, cap and gown edition</a> 1387</h3> 1388<div class="listing-categories"> 1389 1390<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1391 1392<div class="listing-category" onclick="window.quartoListingCategory('YWNhZGVtaWE='); return false;">academia</div> 1393 1394<div class="listing-category" onclick="window.quartoListingCategory('d3JpdGluZw=='); return false;">writing</div> 1395 1396<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1397 1398</div> 1399<div class="delink listing-description"><a href="../posts/academic-generative-ai/index.html" class="no-external"> 1400<p>Academic AI is a hot mess. Hereâs why.</p> 1401</a></div> 1402</div> 1403<div class="metadata"> 1404<a href="../posts/academic-generative-ai/index.html" class="no-external"> 1405<div class="listing-date"> 14066 Dec 2023 1407</div> 1408<div class="listing-author"> 1409Chris von Csefalvay 1410</div> 1411</a> 1412</div> 1413</div> 1414<div class="quarto-post image-right" data-index="32" data-categories="UXVhcnRv" data-listing-date-sort="1699833600000" data-listing-file-modified-sort="1790221797391" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="11" data-listing-word-count-sort="2026"> 1415<div class="thumbnail"><a href="../posts/auto-doi/index.html" class="no-external"> 1416 1417<img loading="lazy" data-src="../posts/auto-doi/free-photo-of-a-drink-with-mint-in-a-glass-and-a-small-cookie-on-a-plate.jpeg" class="thumbnail-image"> 1418 1419</a></div> 1420<div class="body"> 1421<h3 class="no-anchor listing-title"> 1422<a href="../posts/auto-doi/index.html" class="no-external">Auto-DOI for Quarto posts via Rogue Scholar</a> 1423</h3> 1424<div class="listing-categories"> 1425 1426<div class="listing-category" onclick="window.quartoListingCategory('UXVhcnRv'); return false;">Quarto</div> 1427 1428</div> 1429<div class="delink listing-description"><a href="../posts/auto-doi/index.html" class="no-external"> 1430<p>Oh, thatâs mint. We can finally use Rogue Scholar to mint DOIs for Quarto posts and append them automagically.</p> 1431</a></div> 1432</div> 1433<div class="metadata"> 1434<a href="../posts/auto-doi/index.html" class="no-external"> 1435<div class="listing-date"> 143613 Nov 2023 1437</div> 1438<div class="listing-author"> 1439Chris von Csefalvay 1440</div> 1441</a> 1442</div> 1443</div> 1444<div class="quarto-post image-right" data-index="33" data-categories="QUklMkNwaGlsb3NvcGh5" data-listing-date-sort="1699228800000" data-listing-file-modified-sort="1790221797509" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="11" data-listing-word-count-sort="2013"> 1445<div class="thumbnail"><a href="../posts/skeuomorphic-fallacy/index.html" class="no-external"> 1446 1447<p class="card-img-top"><img loading='lazy' data-src="skeuomorphic-fallacy/6506c915cd637c0019c66997.webp" class="thumbnail-image card-img"/></p> 1448 1449</a></div> 1450<div class="body"> 1451<h3 class="no-anchor listing-title"> 1452<a href="../posts/skeuomorphic-fallacy/index.html" class="no-external">The skeuomorphic fallacy</a> 1453</h3> 1454<div class="listing-categories"> 1455 1456<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1457 1458<div class="listing-category" onclick="window.quartoListingCategory('cGhpbG9zb3BoeQ=='); return false;">philosophy</div> 1459 1460</div> 1461<div class="delink listing-description"><a href="../posts/skeuomorphic-fallacy/index.html" class="no-external"> 1462<p>What something is isnât the same as what it uses to manifest that being. Also, robot CEOs are nonsense.</p> 1463</a></div> 1464</div> 1465<div class="metadata"> 1466<a href="../posts/skeuomorphic-fallacy/index.html" class="no-external"> 1467<div class="listing-date"> 14686 Nov 2023 1469</div> 1470<div class="listing-author"> 1471Chris von Csefalvay 1472</div> 1473</a> 1474</div> 1475</div> 1476<div class="quarto-post image-right" data-index="34" data-categories="QUklMkNMTE1zJTJDYWdlbnRz" data-listing-date-sort="1698624000000" data-listing-file-modified-sort="1790221797526" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="22" data-listing-word-count-sort="4322"> 1477<div class="thumbnail"><a href="../posts/team-of-rivals/index.html" class="no-external"> 1478 1479<img loading="lazy" data-src="../posts/team-of-rivals/aaz4729-f1.jpeg" class="thumbnail-image"> 1480 1481</a></div> 1482<div class="body"> 1483<h3 class="no-anchor listing-title"> 1484<a href="../posts/team-of-rivals/index.html" class="no-external">Teams of Rivals</a> 1485</h3> 1486<div class="listing-categories"> 1487 1488<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1489 1490<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1491 1492<div class="listing-category" onclick="window.quartoListingCategory('YWdlbnRz'); return false;">agents</div> 1493 1494</div> 1495<div class="delink listing-description"><a href="../posts/team-of-rivals/index.html" class="no-external"> 1496<p>Finally, some discussion on LLM connectionism, and what LLMs could usefully become.</p> 1497</a></div> 1498</div> 1499<div class="metadata"> 1500<a href="../posts/team-of-rivals/index.html" class="no-external"> 1501<div class="listing-date"> 150230 Oct 2023 1503</div> 1504<div class="listing-author"> 1505Chris von Csefalvay 1506</div> 1507</a> 1508</div> 1509</div> 1510<div class="quarto-post image-right" data-index="35" data-categories="QUklMkNMTE1zJTJDcHJvbXB0JTIwZW5naW5lZXJpbmc=" data-listing-date-sort="1698537600000" data-listing-file-modified-sort="1790221797504" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="8" data-listing-word-count-sort="1429"> 1511<div class="thumbnail"><a href="../posts/prompt-engineering/index.html" class="no-external"> 1512 1513<p class="card-img-top"><img loading='lazy' data-src="prompt-engineering/03880260005fa86e78ddb88e645bfcef.jpg" class="thumbnail-image card-img"/></p> 1514 1515</a></div> 1516<div class="body"> 1517<h3 class="no-anchor listing-title"> 1518<a href="../posts/prompt-engineering/index.html" class="no-external">Prompt Engineering: The Art of Yesterday</a> 1519</h3> 1520<div class="listing-categories"> 1521 1522<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1523 1524<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1525 1526<div class="listing-category" onclick="window.quartoListingCategory('cHJvbXB0JTIwZW5naW5lZXJpbmc='); return false;">prompt engineering</div> 1527 1528</div> 1529<div class="delink listing-description"><a href="../posts/prompt-engineering/index.html" class="no-external"> 1530<p>Why prompt engineering has been obsolete before it even took off.</p> 1531</a></div> 1532</div> 1533<div class="metadata"> 1534<a href="../posts/prompt-engineering/index.html" class="no-external"> 1535<div class="listing-date"> 153629 Oct 2023 1537</div> 1538<div class="listing-author"> 1539Chris von Csefalvay 1540</div> 1541</a> 1542</div> 1543</div> 1544<div class="quarto-post image-right" data-index="36" data-categories="QUklMkNzdG9yeXRlbGxpbmclMkNzZW5zZW1ha2luZyUyQ2V0aGljcyUyQ3BoaWxvc29waHk=" data-listing-date-sort="1698278400000" data-listing-file-modified-sort="1790221797441" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="14" data-listing-word-count-sort="2752"> 1545<div class="thumbnail"><a href="../posts/moral-maps/index.html" class="no-external"> 1546 1547<p class="card-img-top"><img loading='lazy' data-src="moral-maps/site_0491_0011-1200-630-20151105103027.jpg" class="thumbnail-image card-img"/></p> 1548 1549</a></div> 1550<div class="body"> 1551<h3 class="no-anchor listing-title"> 1552<a href="../posts/moral-maps/index.html" class="no-external">The Moral Pulse of the Machine</a> 1553</h3> 1554<div class="listing-categories"> 1555 1556<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1557 1558<div class="listing-category" onclick="window.quartoListingCategory('c3Rvcnl0ZWxsaW5n'); return false;">storytelling</div> 1559 1560<div class="listing-category" onclick="window.quartoListingCategory('c2Vuc2VtYWtpbmc='); return false;">sensemaking</div> 1561 1562<div class="listing-category" onclick="window.quartoListingCategory('ZXRoaWNz'); return false;">ethics</div> 1563 1564<div class="listing-category" onclick="window.quartoListingCategory('cGhpbG9zb3BoeQ=='); return false;">philosophy</div> 1565 1566</div> 1567<div class="delink listing-description"><a href="../posts/moral-maps/index.html" class="no-external"> 1568<p>On bedtime stories, and what making machines tell them tells us about their moral make-up.</p> 1569</a></div> 1570</div> 1571<div class="metadata"> 1572<a href="../posts/moral-maps/index.html" class="no-external"> 1573<div class="listing-date"> 157426 Oct 2023 1575</div> 1576<div class="listing-author"> 1577Chris von Csefalvay 1578</div> 1579</a> 1580</div> 1581</div> 1582<div class="quarto-post image-right" data-index="37" data-categories="UXVhcnRvJTJDUHl0aG9u" data-listing-date-sort="1697932800000" data-listing-file-modified-sort="1790221797504" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="8" data-listing-word-count-sort="1423"> 1583<div class="thumbnail"><a href="../posts/quarto-project-scripts/index.html" class="no-external"> 1584 1585<div class="listing-item-img-placeholder card-img-top" > </div> 1586 1587</a></div> 1588<div class="body"> 1589<h3 class="no-anchor listing-title"> 1590<a href="../posts/quarto-project-scripts/index.html" class="no-external">Quarto project scripts are awesomeness</a> 1591</h3> 1592<div class="listing-categories"> 1593 1594<div class="listing-category" onclick="window.quartoListingCategory('UXVhcnRv'); return false;">Quarto</div> 1595 1596<div class="listing-category" onclick="window.quartoListingCategory('UHl0aG9u'); return false;">Python</div> 1597 1598</div> 1599<div class="delink listing-description"><a href="../posts/quarto-project-scripts/index.html" class="no-external"> 1600<p>Project scripts help you integrate just about every possible hare-brained scheme into your Quarto rendering pipeline. Go on, build that page from that YAML file. You know you want to.<
1600/p> 1601</a></div> 1602</div> 1603<div class="metadata"> 1604<a href="../posts/quarto-project-scripts/index.html" class="no-external"> 1605<div class="listing-date"> 160622 Oct 2023 1607</div> 1608<div class="listing-author"> 1609Chris von Csefalvay 1610</div> 1611</a> 1612</div> 1613</div> 1614<div class="quarto-post image-right" data-index="38" data-categories="QUklMkNhcnQlMkNwaGlsb3NvcGh5" data-listing-date-sort="1697414400000" data-listing-file-modified-sort="1790221797441" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="11" data-listing-word-count-sort="2070"> 1615<div class="thumbnail"><a href="../posts/lyre-of-hephaestus/index.html" class="no-external"> 1616 1617<img loading="lazy" data-src="../posts/lyre-of-hephaestus/IMG_8534.jpeg" class="thumbnail-image"> 1618 1619</a></div> 1620<div class="body"> 1621<h3 class="no-anchor listing-title"> 1622<a href="../posts/lyre-of-hephaestus/index.html" class="no-external">The Lyre of Hephaestus</a> 1623</h3> 1624<div class="listing-categories"> 1625 1626<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1627 1628<div class="listing-category" onclick="window.quartoListingCategory('YXJ0'); return false;">art</div> 1629 1630<div class="listing-category" onclick="window.quartoListingCategory('cGhpbG9zb3BoeQ=='); return false;">philosophy</div> 1631 1632</div> 1633<div class="delink listing-description"><a href="../posts/lyre-of-hephaestus/index.html" class="no-external"> 1634<p>AI, art, language, and what makes us truly what we are.</p> 1635</a></div> 1636</div> 1637<div class="metadata"> 1638<a href="../posts/lyre-of-hephaestus/index.html" class="no-external"> 1639<div class="listing-date"> 164016 Oct 2023 1641</div> 1642<div class="listing-author"> 1643Chris von Csefalvay 1644</div> 1645</a> 1646</div> 1647</div> 1648<div class="quarto-post image-right" data-index="39" data-categories="QUklMkNMTE1zJTJDcGhpbG9zb3BoeSUyQ2xhbmd1YWdl" data-listing-date-sort="1697328000000" data-listing-file-modified-sort="1790221797440" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="11" data-listing-word-count-sort="2071"> 1649<div class="thumbnail"><a href="../posts/llms-language/index.html" class="no-external"> 1650 1651<div class="listing-item-img-placeholder card-img-top" > </div> 1652 1653</a></div> 1654<div class="body"> 1655<h3 class="no-anchor listing-title"> 1656<a href="../posts/llms-language/index.html" class="no-external">Beyond Broca</a> 1657</h3> 1658<div class="listing-categories"> 1659 1660<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1661 1662<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1663 1664<div class="listing-category" onclick="window.quartoListingCategory('cGhpbG9zb3BoeQ=='); return false;">philosophy</div> 1665 1666<div class="listing-category" onclick="window.quartoListingCategory('bGFuZ3VhZ2U='); return false;">language</div> 1667 1668</div> 1669<div class="delink listing-description"><a href="../posts/llms-language/index.html" class="no-external"> 1670<p>What if weâve got one of the most important things in our understanding of who we are, and what makes us intelligent, utterly wrong?</p> 1671</a></div> 1672</div> 1673<div class="metadata"> 1674<a href="../posts/llms-language/index.html" class="no-external"> 1675<div class="listing-date"> 167615 Oct 2023 1677</div> 1678<div class="listing-author"> 1679Chris von Csefalvay 1680</div> 1681</a> 1682</div> 1683</div> 1684<div class="quarto-post image-right" data-index="40" data-categories="Zml0bmVzcyUyQ1NraUVyZw==" data-listing-date-sort="1697155200000" data-listing-file-modified-sort="1790221797516" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="5" data-listing-word-count-sort="1000"> 1685<div class="thumbnail"><a href="../posts/skierg-marathon/index.html" class="no-external"> 1686 1687<p class="card-img-top"><img loading='lazy' data-src="skierg-marathon/index_files/figure-html/skierg-marathon-fig-skierg-marathon-output-1.png" class="thumbnail-image card-img"/></p> 1688 1689</a></div> 1690<div class="body"> 1691<h3 class="no-anchor listing-title"> 1692<a href="../posts/skierg-marathon/index.html" class="no-external">How to do a SkiErg marathon entirely the wrong way (but still finish)</a> 1693</h3> 1694<div class="listing-categories"> 1695 1696<div class="listing-category" onclick="window.quartoListingCategory('Zml0bmVzcw=='); return false;">fitness</div> 1697 1698<div class="listing-category" onclick="window.quartoListingCategory('U2tpRXJn'); return false;">SkiErg</div> 1699 1700</div> 1701<div class="delink listing-description"><a href="../posts/skierg-marathon/index.html" class="no-external"> 1702<p>How to eat the wrong way, rest the wrong way (i.e.
1702not), half-ass all relevant parts of preparation for a marathon and still finish with an okay time.</p> 1703</a></div> 1704</div> 1705<div class="metadata"> 1706<a href="../posts/skierg-marathon/index.html" class="no-external"> 1707<div class="listing-date"> 170813 Oct 2023 1709</div> 1710<div class="listing-author"> 1711Chris von Csefalvay 1712</div> 1713</a> 1714</div> 1715</div> 1716<div class="quarto-post image-right" data-index="41" data-categories="QUklMkNMTE1zJTJDQ3Jvc3MtcG9zdCUzQSUyMFN0YXJzY2hlbWE=" data-listing-date-sort="1696204800000" data-listing-file-modified-sort="1790221797417" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="2" data-listing-word-count-sort="208"> 1717<div class="thumbnail"><a href="../posts/knowledge-dividend-of-llms/index.html" class="no-external"> 1718 1719<img loading="lazy" data-src="../posts/knowledge-dividend-of-llms/header.webp" class="thumbnail-image"> 1720 1721</a></div> 1722<div class="body"> 1723<h3 class="no-anchor listing-title"> 1724<a href="../posts/knowledge-dividend-of-llms/index.html" class="no-external">The knowledge dividend of large language models</a> 1725</h3> 1726<div class="listing-categories"> 1727 1728<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1729 1730<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1731 1732<div class="listing-category" onclick="window.quartoListingCategory('Q3Jvc3MtcG9zdCUzQSUyMFN0YXJzY2hlbWE='); return false;">Cross-post: Starschema</div> 1733 1734</div> 1735<div class="delink listing-description"><a href="../posts/knowledge-dividend-of-llms/index.html" class="no-external"> 1736<p>Crosspost from the work blog: a pragmatic perspective on the knowledge dividend in large language models (and what it may, or may not, mean for knowledge in models, and what this can do for you).</p> 1737</a></div> 1738</div> 1739<div class="metadata"> 1740<a href="../posts/knowledge-dividend-of-llms/index.html" class="no-external"> 1741<div class="listing-date"> 17422 Oct 2023 1743</div> 1744<div class="listing-author"> 1745Chris von Csefalvay 1746</div> 1747</a> 1748</div> 1749</div> 1750<div class="quarto-post image-right" data-index="42" data-categories="QUklMkNMTE1zJTJDQ3Jvc3MtcG9zdCUzQSUyMFN0YXJzY2hlbWE=" data-listing-date-sort="1679529600000" data-listing-file-modified-sort="1790221797390" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="3" data-listing-word-count-sort="564"> 1751<div class="thumbnail"><a href="../posts/asemantic-induction-of-hallucinations/index.html" class="no-external"> 1752 1753<img loading="lazy" data-src="../posts/asemantic-induction-of-hallucinations/header.jpg" class="thumbnail-image"> 1754 1755</a></div> 1756<div class="body"> 1757<h3 class="no-anchor listing-title"> 1758<a href="../posts/asemantic-induction-of-hallucinations/index.html" class="no-external">Asemantic Induction of Hallucinations in LLMs</a> 1759</h3> 1760<div class="listing-categories"> 1761 1762<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1763 1764<div class="listing-category" onclick="window.quartoListingCategory('TExNcw=='); return false;">LLMs</div> 1765 1766<div class="listing-category" onclick="window.quartoListingCategory('Q3Jvc3MtcG9zdCUzQSUyMFN0YXJzY2hlbWE='); return false;">Cross-post: Starschema</div> 1767 1768</div> 1769<div class="delink listing-description"><a href="../posts/asemantic-induction-of-hallucinations/index.html" class="no-external"> 1770<p>Large language models (LLMs) struggle with asemantic information: the more we stray outside the confines of language, the worse it gets. Hereâs how weâll use this for fun and profit.</p> 1771</a></div> 1772</div> 1773<div class="metadata"> 1774<a href="../posts/asemantic-induction-of-hallucinations/index.html" class="no-external"> 1775<div class="listing-date"> 177623 Mar 2023 1777</div> 1778<div class="listing-author"> 1779Chris von Csefalvay 1780</div> 1781</a> 1782</div> 1783</div> 1784<div class="quarto-post image-right" data-index="43" data-categories="Y29tcHV0YXRpb25hbCUyMGVwaWRlbWlvbG9neSUyQ2VwaWRlbWljcyUyQ0Nyb3NzLXBvc3QlM0ElMjBTdGFyc2NoZW1h" data-listing-date-sort="1678147200000" data-listing-file-modified-sort="1790221797397" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="1" data-listing-word-count-sort="132"> 1785<div class="thumbnail"><a href="../posts/data-for-the-next-pandemic/index.html" class="no-external"> 1786 1787<img loading="lazy" data-src="../posts/data-for-the-next-pandemic/header.webp" class="thumbnail-image"> 1788 1789</a></div> 1790<div class="body"> 1791<h3 class="no-anchor listing-title"> 1792<a href="../posts/data-for-the-next-pandemic/index.html" class="no-external">Data for the next pandemic</a> 1793</h3> 1794<div class="listing-categories"> 1795 1796<div class="listing-category" onclick="window.quartoListingCategory('Y29tcHV0YXRpb25hbCUyMGVwaWRlbWlvbG9neQ=='); return false;">computational epidemiology</div> 1797 1798<div class="listing-category" onclick="window.quartoListingCategory('ZXBpZGVtaWNz'); return false;">epidemics</div> 1799 1800<div class="listing-category" onclick="window.quartoListingCategory('Q3Jvc3MtcG9zdCUzQSUyMFN0YXJzY2hlbWE='); return false;">
1800Cross-post: Starschema</div> 1801 1802</div> 1803<div class="delink listing-description"><a href="../posts/data-for-the-next-pandemic/index.html" class="no-external"> 1804<p>If thereâs one thing that emerged with any clarity from COVID-19, itâs that where data played a decisive role in guiding policy interventions, outcomes were better. We need better data for the next pandemic.</p> 1805</a></div> 1806</div> 1807<div class="metadata"> 1808<a href="../posts/data-for-the-next-pandemic/index.html" class="no-external"> 1809<div class="listing-date"> 18107 Mar 2023 1811</div> 1812<div class="listing-author"> 1813Chris von Csefalvay 1814</div> 1815</a> 1816</div> 1817</div> 1818<div class="quarto-post image-right" data-index="44" data-categories="QUklMkNnYW1lcyUyQ0FCTXM=" data-listing-date-sort="1678147200000" data-listing-file-modified-sort="1790221797409" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="11" data-listing-word-count-sort="2006"> 1819<div class="thumbnail"><a href="../posts/dwarf-fortress/index.html" class="no-external"> 1820 1821<img loading="lazy" data-src="../posts/dwarf-fortress/7433642A-221D-4AC6-B3FD-DEE5F01C1123.jpeg.webp" class="thumbnail-image"> 1822 1823</a></div> 1824<div class="body"> 1825<h3 class="no-anchor listing-title"> 1826<a href="../posts/dwarf-fortress/index.html" class="no-external">The hardest AI problem youâve never heard of.</a> 1827</h3> 1828<div class="listing-categories"> 1829 1830<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1831 1832<div class="listing-category" onclick="window.quartoListingCategory('Z2FtZXM='); return false;">games</div> 1833 1834<div class="listing-category" onclick="window.quartoListingCategory('QUJNcw=='); return false;">ABMs</div> 1835 1836</div> 1837<div class="delink listing-description"><a href="../posts/dwarf-fortress/index.html" class="no-external"> 1838<p>Dwarves. Elephants. AI. Let the games begin.</p> 1839</a></div> 1840</div> 1841<div class="metadata"> 1842<a href="../posts/dwarf-fortress/index.html" class="no-external"> 1843<div class="listing-date"> 18447 Mar 2023 1845</div> 1846<div class="listing-author"> 1847Chris von Csefalvay 1848</div> 1849</a> 1850</div> 1851</div> 1852<div class="quarto-post image-right" data-index="45" data-categories="QUklMkNjb21wdXRhdGlvbmFsJTIwY2hlbWlzdHJ5JTJDZXRoaWNz" data-listing-date-sort="1649808000000" data-listing-file-modified-sort="1790221797380" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="9" data-listing-word-count-sort="1791"> 1853<div class="thumbnail"><a href="../posts/a-different-shade-of-grey/index.html" class="no-external"> 1854 1855<img loading="lazy" data-src="../posts/a-different-shade-of-grey/155mmMu
1855stardGasShells-1200x900.jpg" class="thumbnail-image"> 1856 1857</a></div> 1858<div class="body"> 1859<h3 class="no-anchor listing-title"> 1860<a href="../posts/a-different-shade-of-grey/index.html" class="no-external">A different shade of grey</a> 1861</h3> 1862<div class="listing-categories"> 1863 1864<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 1865 1866<div class="listing-category" onclick="window.quartoListingCategory('Y29tcHV0YXRpb25hbCUyMGNoZW1pc3RyeQ=='); return false;">computational chemistry</div> 1867 1868<div class="listing-category" onclick="window.quartoListingCategory('ZXRoaWNz'); return false;">ethics</div> 1869 1870</div> 1871<div class="delink listing-description"><a href="../posts/a-different-shade-of-grey/index.html" class="no-external"> 1872<p>A response to Urbina <em>et al.</em> (2022) and the unreasonable spectre of AI coming up with chemical warfare agents (as if we didnât already have enough of them).</p> 1873</a></div> 1874</div> 1875<div class="metadata"> 1876<a href="../posts/a-different-shade-of-grey/index.html" class="no-external"> 1877<div class="listing-date"> 187813 Apr 2022 1879</div> 1880<div class="listing-author"> 1881Chris von Csefalvay 1882</div> 1883</a> 1884</div> 1885</div> 1886<div class="quarto-post image-right" data-index="46" data-categories="bGl0ZXJhdHVyZSUyQ2RhdGElMjBzY2llbmNlJTJDZXRoaWNz" data-listing-date-sort="1649808000000" data-listing-file-modified-sort="1790221797410" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="5" data-listing-word-count-sort="943"> 1887<div class="thumbnail"><a href="../posts/five-non-data-science-books-for-data-scientists/index.html" class="no-external"> 1888 1889<img loading="lazy" data-src="../posts/five-non-data-science-books-for-data-scientists/book.jpg" class="thumbnail-image"> 1890 1891</a></div> 1892<div class="body"> 1893<h3 class="no-anchor listing-title"> 1894<a href="../posts/five-non-data-science-books-for-data-scientists/index.html" class="no-external">Five non-data-science books for data scientists</a> 1895</h3> 1896<div class="listing-categories"> 1897 1898<div class="listing-category" onclick="window.quartoListingCategory('bGl0ZXJhdHVyZQ=='); return false;">literature</div> 1899 1900<div class="listing-category" onclick="window.quartoListingCategory('ZGF0YSUyMHNjaWVuY2U='); return false;">data science</div> 1901 1902<div class="listing-category" onclick="window.quartoListingCategory('ZXRoaWNz'); return false;">ethics</div> 1903 1904</div> 1905<div class="delink listing-description"><a href="../posts/five-non-data-science-books-for-data-scientists/index.html" class="no-external"> 1906<p>Read stuff outside your field. Itâll be good for you.</p> 1907</a></div> 1908</div> 1909<div class="metadata"> 1910<a href="../posts/five-non-data-science-books-for-data-scientists/index.html" class="no-external"> 1911<div class="listing-date"> 191213 Apr 2022 1913</div> 1914<div class="listing-author"> 1915Chris von Csefalvay 1916</div> 1917</a> 1918</div> 1919</div> 1920<div class="quarto-post image-right" data-index="47" data-categories="UXVvcmElMkNoaXN0b3J5JTJDdGVjaG5vbG9neQ==" data-listing-date-sort="1649808000000" data-listing-file-modified-sort="1790221797505" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="45" data-listing-word-count-sort="8858"> 1921<div class="thumbnail"><a href="../posts/quora-answers/index.html" class="no-external"> 1922 1923<img loading="lazy" data-src="../posts/quora-answers/quora.png" class="thumbnail-image"> 1924 1925</a></div> 1926<div class="body"> 1927<h3 class="no-anchor listing-title"> 1928<a href="../posts/quora-answers/index.html" class="no-external">My favourite Quora answers</a> 1929</h3> 1930<div class="listing-categories"> 1931 1932<div class="listing-category" onclick="window.quartoListingCategory('UXVvcmE='); return false;">Quora</div> 1933 1934<div class="listing-category" onclick="window.quartoListingCategory('aGlzdG9yeQ=='); return false;">history</div> 1935 1936<div class="listing-category" onclick="window.quartoListingCategory('dGVjaG5vbG9neQ=='); return false;">technology</div> 1937 1938</div> 1939<div class="delink listing-description"><a href="../posts/quora-answers/index.html" class="no-external"> 1940<p>Iâm no longer on Quora, but I used to be. Here are some of my favourite answers.</p> 1941</a></div> 1942</div> 1943<div class="metadata"> 1944<a href="../posts/quora-answers/index.html" class="no-external"> 1945<div class="listing-date"> 194613 Apr 2022 1947</div> 1948<div class="listing-author"> 1949Chris von Csefalvay 1950</div> 1951</a> 1952</div> 1953</div> 1954<div class="quarto-post image-right" data-index="48" data-categories="ZGFzaGJvYXJkcyUyQ2RhdGElMjB2aXN1YWxpemF0aW9uJTJDZGF0YSUyMHNjaWVuY2UlMkNDcm9zcy1wb3N0JTNBJTIwU3RhcnNjaGVtYQ==" data-listing-date-sort="1648771200000" data-listing-file-modified-sort="1790221797389" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="2" data-listing-word-count-sort="256"> 1955<div class="thumbnail"><a href="../posts/as-we-may-see/index.html" class="no-external"> 1956 1957<img loading="lazy" data-src="../posts/as-we-may-see/header.webp" class="thumbnail-image"> 1958 1959</a></div> 1960<div class="body"> 1961<h3 class="no-anchor listing-title"> 1962<a href="../posts/as-we-may-see/index.html" class="no-external">As we may see: the world after dashboards</a> 1963</h3> 1964<div class="listing-categories"> 1965 1966<div class="listing-category" onclick="window.quartoListingCategory('ZGFzaGJvYXJkcw=='); return false;">dashboards</div> 1967 1968<div class="listing-category" onclick="window.quartoListingCategory('ZGF0YSUyMHZpc3VhbGl6YXRpb24='); return false;">data visualization</div> 1969 1970<div class="listing-category" onclick="window.quartoListingCategory('ZGF0YSUyMHNjaWVuY2U='); return false;">data science</div> 1971 1972<div class="listing-category" onclick="window.quartoListingCategory('Q3Jvc3MtcG9zdCUzQSUyMFN0YXJzY2hlbWE='); return false;">
1972Cross-post: Starschema</div> 1973 1974</div> 1975<div class="delink listing-description"><a href="../posts/as-we-may-see/index.html" class="no-external"> 1976<p>Dashboards are over â if you want it.</p> 1977</a></div> 1978</div> 1979<div class="metadata"> 1980<a href="../posts/as-we-may-see/index.html" class="no-external"> 1981<div class="listing-date"> 19821 Apr 2022 1983</div> 1984<div class="listing-author"> 1985Chris von Csefalvay 1986</div> 1987</a> 1988</div> 1989</div> 1990<div class="quarto-post image-right" data-index="49" data-categories="Q09WSUQtMTklMkNwaGFybWFjb2xvZ3k=" data-listing-date-sort="1637971200000" data-listing-file-modified-sort="1790221797481" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="5" data-listing-word-count-sort="946"> 1991<div class="thumbnail"><a href="../posts/paxlovid/index.html" class="no-external"> 1992 1993<img loading="lazy" data-src="../posts/paxlovid/paxlovid.png.webp" class="thumbnail-image"> 1994 1995</a></div> 1996<div class="body"> 1997<h3 class="no-anchor listing-title"> 1998<a href="../posts/paxlovid/index.html" class="no-external">Peace, love, Paxlovid and âPfizermectinâ</a> 1999</h3> 2000<div class="listing-categories"> 2001 2002<div class="listing-category" onclick="window.quartoListingCategory('Q09WSUQtMTk='); return false;">COVID-19</div> 2003 2004<div class="listing-category" onclick="window.quartoListingCategory('cGhhcm1hY29sb2d5'); return false;">pharmacology</div> 2005 2006</div> 2007<div class="delink listing-description"><a href="../posts/paxlovid/index.html" class="no-external"> 2008<p>Debunking a remarkably popular and persistent misconception about the relationship between Paxlovid and ivermectin.</p> 2009</a></div> 2010</div> 2011<div class="metadata"> 2012<a href="../posts/paxlovid/index.html" class="no-external"> 2013<div class="listing-date"> 201427 Nov 2021 2015</div> 2016<div class="listing-author"> 2017Chris von Csefalvay 2018</div> 2019</a> 2020</div> 2021</div> 2022<div class="quarto-post image-right" data-index="50" data-categories="cHVibGljJTIwaGVhbHRoJTJDdmFjY2luZXM=" data-listing-date-sort="1636416000000" data-listing-file-modified-sort="1790221797444" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="6" data-listing-word-count-sort="1024"> 2023<div class="thumbnail"><a href="../posts/mrna-gene-therapy/index.html" class="no-external"> 2024 2025<img loading="lazy" data-src="../posts/mrna-gene-therapy/gettyimages-1666317109-1.jpg" class="thumbnail-image"> 2026 2027</a></div> 2028<div class="body"> 2029<h3 class="no-anchor listing-title"> 2030<a href="../posts/mrna-gene-therapy/index.html" class="no-external">Why the COVID-19 vaccines are not gene therapy</a> 2031</h3> 2032<div class="listing-categories"> 2033 2034<div class="listing-category" onclick="window.quartoListingCategory('cHVibGljJTIwaGVhbHRo'); return false;">public health</div> 2035 2036<div class="listing-category" onclick="window.quartoListingCategory('dmFjY2luZXM='); return false;">vaccines</div> 2037 2038</div> 2039<div class="delink listing-description"><a href="../posts/mrna-gene-therapy/index.html" class="no-external"> 2040<p>Reflections on some definitional issues.</p> 2041</a></div> 2042</div> 2043<div class="metadata"> 2044<a href="../posts/mrna-gene-therapy/index.html" class="no-external"> 2045<div class="listing-date"> 20469 Nov 2021 2047</div> 2048<div class="listing-author"> 2049Chris von Csefalvay 2050</div> 2051</a> 2052</div> 2053</div> 2054<div class="quarto-post image-right" data-index="51" data-categories="Y3liZXJzZWN1cml0eSUyQ2Vjb25vbWV0cmljcyUyQ2dhbWUlMjB0aGVvcnk=" data-listing-date-sort="1620950400000" data-listing-file-modified-sort="1790221797506" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="10" data-listing-word-count-sort="1880"> 2055<div class="thumbnail"><a href="../posts/ransomware-prisoners-dilemma/index.html" class="no-external"> 2056 2057<img loading="lazy" data-src="../posts/ransomware-prisoners-dilemma/106880381-1620638044898-gettyimages-1232803207-COLONIAL_HACK.jpeg" class="thumbnail-image"> 2058 2059</a></div> 2060<div class="body"> 2061<h3 class="no-anchor listing-title"> 2062<a href="../posts/ransomware-prisoners-dilemma/index.html" class="no-external">Ransomware attacks as n-person prisonerâs dilemmas</a> 2063</h3> 2064<div class="listing-categories"> 2065 2066<div class="listing-category" onclick="window.quartoListingCategory('Y3liZXJzZWN1cml0eQ=='); return false;">cybersecurity</div> 2067 2068<div class="listing-category" onclick="window.quartoListingCategory('ZWNvbm9tZXRyaWNz'); return false;">econometrics</div> 2069 2070<div class="listing-category" onclick="window.quartoListingCategory('Z2FtZSUyMHRoZW9yeQ=='); return false;">game theory</div> 2071 2072</div> 2073<div class="delink listing-description"><a href="../posts/ransomware-prisoners-dilemma/index.html" class="no-external"> 2074<p>
2074A game theoretical perspective on ransomware attacks as n-person prisonerâs dilemmas, and why forced cooperation isnât the answer.</p> 2075</a></div> 2076</div> 2077<div class="metadata"> 2078<a href="../posts/ransomware-prisoners-dilemma/index.html" class="no-external"> 2079<div class="listing-date"> 208014 May 2021 2081</div> 2082<div class="listing-author"> 2083Chris von Csefalvay 2084</div> 2085</a> 2086</div> 2087</div> 2088<div class="quarto-post image-right" data-index="52" data-categories="QUklMkNKdWxpYSUyQ3Byb2dyYW1taW5n" data-listing-date-sort="1615075200000" data-listing-file-modified-sort="1790221797416" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="16" data-listing-word-count-sort="3103"> 2089<div class="thumbnail"><a href="../posts/julia-a-post-mortem/index.html" class="no-external"> 2090 2091<img loading="lazy" data-src="../posts/julia-a-post-mortem/julia.jpg" class="thumbnail-image"> 2092 2093</a></div> 2094<div class="body"> 2095<h3 class="no-anchor listing-title"> 2096<a href="../posts/julia-a-post-mortem/index.html" class="no-external">Julia: A post-mortem</a> 2097</h3> 2098<div class="listing-categories"> 2099 2100<div class="listing-category" onclick="window.quartoListingCategory('QUk='); return false;">AI</div> 2101 2102<div class="listing-category" onclick="window.quartoListingCategory('SnVsaWE='); return false;">Julia</div> 2103 2104<div class="listing-category" onclick="window.quartoListingCategory('cHJvZ3JhbW1pbmc='); return false;">programming</div> 2105 2106</div> 2107<div class="delink listing-description"><a href="../posts/julia-a-post-mortem/index.html" class="no-external"> 2108<p>Why I no longer believe my favourite programming language will save the world.</p> 2109</a></div> 2110</div> 2111<div class="metadata"> 2112<a href="../posts/julia-a-post-mortem/index.html" class="no-external"> 2113<div class="listing-date"> 21147 Mar 2021 2115</div> 2116<div class="listing-author"> 2117Chris von Csefalvay 2118</div> 2119</a> 2120</div> 2121</div> 2122</div> 2123<div class="listing-no-matching d-none">No matching items</div> 2124<nav id="listing-pagination" class="listing-pagination" aria-label="Page Navigation"> 2125 <ul class="pagination"></ul> 2126</nav> 2127</div><div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-citation"><h2 class="anchored quarto-appendix-heading">Citation</h2><div><div class="quarto-appendix-secondary-label">BibTeX citation:</div><pre class="sourceCode code-with-copy quarto-appendix-bibtex"><code class="sourceCode bibtex">@misc{csefalvay, 2128 author = {{Chris von Csefalvay}}, 2129 title = {The {Notebook}}, 2130 url = {https://chrisvoncsefalvay.com/posts/}, 2131 langid = {en-GB} 2132} 2133</code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre><div class="quarto-appendix-secondary-label">For attribution, please cite this work as:</div><div id="ref-csefalvay" class="csl-entry quarto-appendix-citeas" role="listitem"> 2134Chris von Csefalvay. n.d. <span>âThe Notebook.â</span> Preprint. <a href="https://chrisvoncsefalvay.com/posts/">https://chrisvoncsefalvay.com/posts/</a>. 2135</div></div></section></div></main> <!-- /main -->
2136<script id="quarto-html-after-body" type="application/javascript"> 2137 window.document.addEventListener("DOMContentLoaded", function (event) { 2138 const icon = "î§"; 2139 const anchorJS = new window.AnchorJS(); 2140 anchorJS.options = { 2141 placement: 'right', 2142 icon: icon 2143 }; 2144 anchorJS.add('.anchored'); 2145 const isCodeAnnotation = (el) => { 2146 for (const clz of el.classList) { 2147 if (clz.startsWith('code-annotation-')) { 2148 return true; 2149 } 2150 } 2151 return false; 2152 } 2153 const onCopySuccess = function(e) { 2154 // button target 2155 const button = e.trigger; 2156 // don't keep focus 2157 button.blur(); 2158 // flash "checked" 2159 button.classList.add('code-copy-button-checked'); 2160 var currentTitle = button.getAttribute("title"); 2161 button.setAttribute("title", "Copied!"); 2162 let tooltip; 2163 if (window.bootstrap) { 2164 button.setAttribute("data-bs-toggle", "tooltip"); 2165 button.setAttribute("data-bs-placement", "left"); 2166 button.setAttribute("data-bs-title", "Copied!"); 2167 tooltip = new bootstrap.Tooltip(button, 2168 { trigger: "manual", 2169 customClass: "code-copy-button-tooltip", 2170 offset: [0, -8]}); 2171 tooltip.show(); 2172 } 2173 setTimeout(function() { 2174 if (tooltip) { 2175 tooltip.hide(); 2176 button.removeAttribute("data-bs-title"); 2177 button.removeAttribute("data-bs-toggle"); 2178 button.removeAttribute("data-bs-placement"); 2179 } 2180 button.setAttribute("title", currentTitle); 2181 button.classList.remove('code-copy-button-checked'); 2182 }, 1000); 2183 // clear code selection 2184 e.clearSelection(); 2185 } 2186 const getTextToCopy = function(trigger) { 2187 const outerScaffold = trigger.parentElement.cloneNode(true); 2188 const codeEl = outerScaffold.querySelector('code'); 2189 for (const childEl of codeEl.children) { 2190 if (isCodeAnnotation(childEl)) { 2191 childEl.remove(); 2192 } 2193 } 2194 return codeEl.innerText; 2195 } 2196 const clipboard = new window.ClipboardJS('.code-copy-button:not([data-in-quarto-modal])', { 2197 text: getTextToCopy 2198 }); 2199 clipboard.on('success', onCopySuccess); 2200 if (window.document.getElementById('quarto-embedded-source-code-modal')) { 2201 const clipboardModal = new window.ClipboardJS('.code-copy-button[data-in-quarto-modal]', { 2202 text: getTextToCopy, 2203 container: window.document.getElementById('quarto-embedded-source-code-modal') 2204 }); 2205 clipboardModal.on('success', onCopySuccess); 2206 } 2207 var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//); 2208 var mailtoRegex = new RegExp(/^mailto:/); 2209 var filterRegex = new RegExp("https:\/\/chrisvoncsefalvay\.com"); 2210 var isInternal = (href) => { 2211 return filterRegex.test(href) || localhostRegex.test(href) || mailtoRegex.test(href); 2212 } 2213 // Inspect non-navigation links and adorn them if external 2214 var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool):not(.about-link)'); 2215 for (var i=0; i<links.length; i++) { 2216 const link = links[i]; 2217 if (!isInternal(link.href)) { 2218 // undo the damage that might have been done by quarto-nav.js in the case of 2219 // links that we want to consider external 2220 if (link.dataset.originalHref !== undefined) { 2221 link.href = link.dataset.originalHref; 2222 } 2223 } 2224 } 2225 function tippyHover(el, contentFn, onTriggerFn, onUntriggerFn) { 2226 const config = { 2227 allowHTML: true, 2228 maxWidth: 500, 2229 delay: 100, 2230 arrow: false, 2231 appendTo: function(el) { 2232 return el.parentElement; 2233 }, 2234 interactive: true, 2235 interactiveBorder: 10, 2236 theme: 'quarto', 2237 placement: 'bottom-start', 2238 }; 2239 if (contentFn) { 2240 config.content = contentFn; 2241 } 2242 if (onTriggerFn) { 2243 config.onTrigger = onTriggerFn; 2244 } 2245 if (onUntriggerFn) { 2246 config.onUntrigger = onUntriggerFn; 2247 } 2248 window.tippy(el, config); 2249 } 2250 const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]'); 2251 for (var i=0; i<noterefs.length; i++) { 2252 const ref = noterefs[i]; 2253 tippyHover(ref, function() { 2254 // use id or data attribute instead here 2255 let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href'); 2256 try { href = new URL(href).hash; } catch {} 2257 const id = href.replace(/^#\/?/, ""); 2258 const note = window.document.getElementById(id); 2259 if (note) { 2260 return note.innerHTML; 2261 } else { 2262 return ""; 2263 } 2264 }); 2265 } 2266 const xrefs = window.document.querySelectorAll('a.quarto-xref'); 2267 const processXRef = (id, note) => { 2268 // Strip column container classes 2269 const stripColumnClz = (el) => { 2270 el.classList.remove("page-full", "page-columns"); 2271 if (el.children) { 2272 for (const child of el.children) {
2273 stripColumnClz(child); 2274 } 2275 } 2276 } 2277 stripColumnClz(note) 2278 if (id === null || id.startsWith('sec-')) { 2279 // Special case sections, only their first couple elements 2280 const container = document.createElement("div"); 2281 if (note.children && note.children.length > 2) { 2282 container.appendChild(note.children[0].cloneNode(true)); 2283 for (let i = 1; i < note.children.length; i++) { 2284 const child = note.children[i]; 2285 if (child.tagName === "P" && child.innerText === "") { 2286 continue; 2287 } else { 2288 container.appendChild(child.cloneNode(true)); 2289 break; 2290 } 2291 } 2292 if (window.Quarto?.typesetMath) { 2293 window.Quarto.typesetMath(container); 2294 } 2295 return container.innerHTML 2296 } else { 2297 if (window.Quarto?.typesetMath) { 2298 window.Quarto.typesetMath(note); 2299 } 2300 return note.innerHTML; 2301 } 2302 } else { 2303 // Remove any anchor links if they are present 2304 const anchorLink = note.querySelector('a.anchorjs-link'); 2305 if (anchorLink) { 2306 anchorLink.remove(); 2307 } 2308 if (window.Quarto?.typesetMath) { 2309 window.Quarto.typesetMath(note); 2310 } 2311 if (note.classList.contains("callout")) { 2312 return note.outerHTML; 2313 } else { 2314 return note.innerHTML; 2315 } 2316 } 2317 } 2318 for (var i=0; i<xrefs.length; i++) { 2319 const xref = xrefs[i]; 2320 tippyHover(xref, undefined, function(instance) { 2321 instance.disable(); 2322 let url = xref.getAttribute('href'); 2323 let hash = undefined; 2324 if (url.startsWith('#')) { 2325 hash = url; 2326 } else { 2327 try { hash = new URL(url).hash; } catch {} 2328 } 2329 if (hash) { 2330 const id = hash.replace(/^#\/?/, ""); 2331 const note = window.document.getElementById(id); 2332 if (note !== null) { 2333 try { 2334 const html = processXRef(id, note.cloneNode(true)); 2335 instance.setContent(html); 2336 } finally { 2337 instance.enable(); 2338 instance.show(); 2339 } 2340 } else { 2341 // See if we can fetch this 2342 fetch(url.split('#')[0]) 2343 .then(res => res.text()) 2344 .then(html => { 2345 const parser = new DOMParser(); 2346 const htmlDoc = parser.parseFromString(html, "text/html"); 2347 const note = htmlDoc.getElementById(id); 2348 if (note !== null) { 2349 const html = processXRef(id, note); 2350 instance.setContent(html); 2351 } 2352 }).finally(() => { 2353 instance.enable(); 2354 instance.show(); 2355 }); 2356 } 2357 } else { 2358 // See if we can fetch a full url (with no hash to target) 2359 // This is a special case and we should probably do some content thinning / targeting 2360 fetch(url) 2361 .then(res => res.text()) 2362 .then(html => { 2363 const parser = new DOMParser(); 2364 const htmlDoc = parser.parseFromString(html, "text/html"); 2365 const note = htmlDoc.querySelector('main.content'); 2366 if (note !== null) { 2367 // This should only happen for chapter cross references 2368 // (since there is no id in the URL) 2369 // remove the first header 2370 if (note.children.length > 0 && note.children[0].tagName === "HEADER") { 2371 note.children[0].remove(); 2372 } 2373 const html = processXRef(null, note); 2374 instance.setContent(html); 2375 } 2376 }).finally(() => { 2377 instance.enable(); 2378 instance.show(); 2379 }); 2380 } 2381 }, function(instance) { 2382 }); 2383 } 2384 let selectedAnnoteEl; 2385 const selectorForAnnotation = ( cell, annotation) => { 2386 let cellAttr = 'data-code-cell="' + cell + '"'; 2387 let lineAttr = 'data-code-annotation="' + annotation + '"'; 2388 const selector = 'span[' + cellAttr + '][' + lineAttr + ']'; 2389 return selector; 2390 } 2391 const selectCodeLines = (annoteEl) => { 2392 const doc = window.document; 2393 const targetCell = annoteEl.getAttribute("data-target-cell"); 2394 const targetAnnotation = annoteEl.getAttribute("data-target-annotation"); 2395 const annoteSpan = window.document.querySelector(selectorForAnnotation(targetCell, targetAnnotation)); 2396 const lines = annoteSpan.getAttribute("data-code-lines").split(","); 2397 const lineIds = lines.map((line) => { 2398 return targetCell + "-" + line; 2399 }) 2400 let top = null; 2401 let height = null; 2402 let parent = null; 2403 if (lineIds.length > 0) { 2404 //compute the position of the single el (top and bottom and make a div) 2405 const el = window.document.getElementById(lineIds[0]); 2406 top = el.offsetTop; 2407 height = el.offsetHeight; 2408 parent = el.parentElement.parentElement; 2409 if (lineIds.length > 1) { 2410 const lastEl = window.document.getElementById(lineIds[lineIds.length - 1]); 2411 const bottom = lastEl.offsetTop + lastEl.offsetHeight; 2412 height = bottom - top; 2413 } 2414 if (top !== null && height !== null && parent !== null) { 2415 // cook up a div (if necessary) and position it 2416 let div = window.document.getElementById("code-annotation-line-highlight"); 2417 if (div === null) { 2418 div = window.document.createElement("div"); 2419 div.setAttribute("id", "code-annotation-line-highlight"); 2420 div.style.position = 'absolute'; 2421 parent.appendChild(div); 2422 } 2423 div.style.top = top - 2 + "px"; 2424 div.style.height = height + 4 + "px"; 2425 div.style.left = 0; 2426 let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter"); 2427 if (gutterDiv === null) { 2428 gutterDiv = window.document.createElement("div"); 2429 gutterDiv.setAttribute("id", "code-annotation-line-highlight-gutter"); 2430 gutterDiv.style.position = 'absolute'; 2431 const codeCell = window.document.getElementById(targetCell); 2432 const gutter = codeCell.querySelector('.code-annotation-gutter'); 2433 gutter.appendChild(gutterDiv); 2434 } 2435 gutterDiv.style.top = top - 2 + "px"; 2436 gutterDiv.style.height = height + 4 + "px"; 2437 } 2438 selectedAnnoteEl = annoteEl; 2439 } 2440 }; 2441 const unselectCodeLines = () => { 2442 const elementsIds = ["code-annotation-line-highlight", "code-annotation-line-highlight-gutter"]; 2443 elementsIds.forEach((elId) => { 2444 const div = window.document.getElementById(elId); 2445 if (div) { 2446 div.remove(); 2447 } 2448 }); 2449 selectedAnnoteEl = undefined; 2450 }; 2451 // Handle positioning of the toggle 2452 window.addEventListener( 2453 "resize", 2454 throttle(() => { 2455 elRect = undefined; 2456 if (selectedAnnoteEl) { 2457 selectCodeLines(selectedAnnoteEl); 2458 } 2459 }, 10) 2460 ); 2461 function throttle(fn, ms) { 2462 let throttle = false;
2463 let timer; 2464 return (...args) => { 2465 if(!throttle) { // first call gets through 2466 fn.apply(this, args); 2467 throttle = true; 2468 } else { // all the others get throttled 2469 if(timer) clearTimeout(timer); // cancel #2 2470 timer = setTimeout(() => { 2471 fn.apply(this, args); 2472 timer = throttle = false; 2473 }, ms); 2474 } 2475 }; 2476 } 2477 // Attach click handler to the DT 2478 const annoteDls = window.document.querySelectorAll('dt[data-target-cell]'); 2479 for (const annoteDlNode of annoteDls) { 2480 annoteDlNode.addEventListener('click', (event) => { 2481 const clickedEl = event.target; 2482 if (clickedEl !== selectedAnnoteEl) { 2483 unselectCodeLines(); 2484 const activeEl = window.document.querySelector('dt[data-target-cell].code-annotation-active'); 2485 if (activeEl) { 2486 activeEl.classList.remove('code-annotation-active'); 2487 } 2488 selectCodeLines(clickedEl); 2489 clickedEl.classList.add('code-annotation-active'); 2490 } else { 2491 // Unselect the line 2492 unselectCodeLines(); 2493 clickedEl.classList.remove('code-annotation-active'); 2494 } 2495 }); 2496 } 2497 const findCites = (el) => { 2498 const parentEl = el.parentElement; 2499 if (parentEl) { 2500 const cites = parentEl.dataset.cites; 2501 if (cites) { 2502 return { 2503 el, 2504 cites: cites.split(' ') 2505 }; 2506 } else { 2507 return findCites(el.parentElement) 2508 } 2509 } else { 2510 return undefined; 2511 } 2512 }; 2513 var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]'); 2514 for (var i=0; i<bibliorefs.length; i++) { 2515 const ref = bibliorefs[i]; 2516 const citeInfo = findCites(ref); 2517 if (citeInfo) { 2518 tippyHover(citeInfo.el, function() { 2519 var popup = window.document.createElement('div'); 2520 citeInfo.cites.forEach(function(cite) { 2521 var citeDiv = window.document.createElement('div'); 2522 citeDiv.classList.add('hanging-indent'); 2523 citeDiv.classList.add('csl-entry'); 2524 var biblioDiv = window.document.getElementById('ref-' + cite); 2525 if (biblioDiv) { 2526 citeDiv.innerHTML = biblioDiv.innerHTML; 2527 } 2528 popup.appendChild(citeDiv); 2529 }); 2530 return popup.innerHTML; 2531 }); 2532 } 2533 } 2534 }); 2535 </script>
2535 2536</div> <!-- /content --> 2537<footer class="footer"> 2538 <div class="nav-footer"> 2539 <div class="nav-footer-left"> 2540<ol start="3" type="a"> 2541<li>Chris von Csefalvay, 2011â. <a href="../disclaimer/">Disclaimer</a> · <a href="../privacy-policy/">Privacy</a> · <a href="../corrections/">Corrections</a></li> 2542</ol> 2543</div> 2544 <div class="nav-footer-center"> 2545 2546 </div> 2547 <div class="nav-footer-right"> 2548 2549 </div> 2550 </div> 2551</footer> 2552 2553 2554 2555 2556</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.