PageSourceSearch

https://vedgie.net/writing/

html vedgie.net collected 2026-10-06 18:05:05 UTC 13,330 bytes, 481 lines download raw bytes

1
2<!doctype html>
3<html lang="en" class="no-js">
4  <head>
5    
6      <meta charset="utf-8">
7      <meta name="viewport" content="width=device-width,initial-scale=1">
8      
9        <meta name="description" content="Cale's homepage">
10      
11      
12      
13        <link rel="canonical" href="https://vedgie.net/writing/">
14      
15      
16        <link rel="prev" href="../media/">
17      
18      
19        <link rel="next" href="../reading/">
20      
21      
22      <link rel="icon" href="../static/icons/grass.svg">
23      <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
24    
25    
26      
27        <title>Writing - Vedgie Net</title>
28      
29    
30    
31      <link rel="stylesheet" href="../assets/stylesheets/main.7e37652d.min.css">
32      
33      
34
35
36    
37    
38      
39    
40    
41      
42        
43        
44        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
45        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
46        <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
47      
48    
49    
50      <link rel="stylesheet" href="../static/extra.css">
51    
52    
52<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
52
53    
54      
55  
56
57
58  
59  
60
61<script id="__analytics">function __md_analytics(){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config","G-TW5TXJBYF5"),document.addEventListener("DOMContentLoaded",(function(){document.forms.search&&document.forms.search.query.addEventListener("blur",(function(){this.value&&e("event","search",{search_term:this.value})}));document$.subscribe((function(){var t=document.forms.feedback;if(void 0!==t)for(var a of t.querySelectorAll("[type=submit]"))a.addEventListener("click",(function(a){a.preventDefault();var n=document.location.pathname,d=this.getAttribute("data-md-value");e("event","feedback",{page:n,data:d}),t.firstElementChild.disabled=!0;var r=t.querySelector(".md-feedback__note [data-md-value='"+d+"']");r&&(r.hidden=!1)})),t.hidden=!1})),location$.subscribe((function(t){e("config","G-TW5TXJBYF5",{page_path:t.pathname})}))}));var t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id=G-TW5TXJBYF5",document.getElementById("__analytics").insertAdjacentElement("afterEnd",t)}</script>
61
62  
63    
63<script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
63
64  
65
66    
67    
68    
69  </head>
70  
71  
72    <body dir="ltr">
73  
74    
75    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
76    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
77    <label class="md-overlay" for="__drawer"></label>
78    <div data-md-component="skip">
79      
80        
81        <a href="#darwin-machines" class="md-skip">
82          Skip to content
83        </a>
84      
85    </div>
86    <div data-md-component="announce">
87      
88    </div>
89    
90    
91      
92
93  
94
95<header class="md-header md-header--shadow" data-md-component="header">
96  <nav class="md-header__inner md-grid" aria-label="Header">
97    <a href=".." title="Vedgie Net" class="md-header__button md-logo" aria-label="Vedgie Net" data-md-component="logo">
98      
99  <img src="../static/icons/grass.svg" alt="logo">
100
101    </a>
102    <label class="md-header__button md-icon" for="__drawer">
103      
104      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
105    </label>
106    <div class="md-header__title" data-md-component="header-title">
107      <div class="md-header__ellipsis">
108        <div class="md-header__topic">
109          <span class="md-ellipsis">
110            Vedgie Net
111          </span>
112        </div>
113        <div class="md-header__topic" data-md-component="header-topic">
114          <span class="md-ellipsis">
115            
116              Writing
117            
118          </span>
119        </div>
120      </div>
121    </div>
122    
123    
124      
124<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
124
125    
126    
127    
128      
129      
130        <label class="md-header__button md-icon" for="__search">
131          
132          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
133        </label>
134        <div class="md-search" data-md-component="search" role="dialog">
135  <label class="md-search__overlay" for="__search"></label>
136  <div class="md-search__inner" role="search">
137    <form class="md-search__form" name="search">
138      <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
139      <label class="md-search__icon md-icon" for="__search">
140        
141        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
142        
143        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
144      </label>
145      <nav class="md-search__options" aria-label="Search">
146        
147        <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
148          
149          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
150        </button>
151      </nav>
152      
153    </form>
154    <div class="md-search__output">
155      <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
156        <div class="md-search-result" data-md-component="search-result">
157          <div class="md-search-result__meta">
158            Initializing search
159          </div>
160          <ol class="md-search-result__list" role="presentation"></ol>
161        </div>
162      </div>
163    </div>
164  </div>
165</div>
166      
167    
168    
169  </nav>
170  
171</header>
172    
173    <div class="md-container" data-md-component="container">
174      
175      
176        
177          
178        
179      
180      <main class="md-main" data-md-component="main">
181        <div class="md-main__inner md-grid">
182          
183            
184              
185              <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
186                <div class="md-sidebar__scrollwrap">
187                  <div class="md-sidebar__inner">
188                    
189
190
191
192<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
193  <label class="md-nav__title" for="__drawer">
194    <a href=".." title="Vedgie Net" class="md-nav__button md-logo" aria-label="Vedgie Net" data-md-component="logo">
195      
196  <img src="../static/icons/grass.svg" alt="logo">
197
198    </a>
199    Vedgie Net
200  </label>
201  
202  <ul class="md-nav__list" data-md-scrollfix>
203    
204      
205      
206  
207  
208  
209  
210    <li class="md-nav__item">
211      <a href=".." class="md-nav__link">
212        
213  
214  
215  <span class="md-ellipsis">
216    Home
217    
218  </span>
219  
220
221      </a>
222    </li>
223  
224
225    
226      
227      
228  
229  
230  
231  
232    <li class="md-nav__item">
233      <a href="../bio/" class="md-nav__link">
234        
235  
236  
237  <span class="md-ellipsis">
238    Bio
239    
240  </span>
241  
242
243      </a>
244    </li>
245  
246
247    
248      
249      
250  
251  
252  
253  
254    <li class="md-nav__item">
255      <a href="../media/" class="md-nav__link">
256        
257  
258  
259  <span class="md-ellipsis">
260    Media
261    
262  </span>
263  
264
265      </a>
266    </li>
267  
268
269    
270      
271      
272  
273  
274    
275  
276  
277  
278    <li class="md-nav__item md-nav__item--active">
279      
280      <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
281      
282      
283      
284        <label class="md-nav__link md-nav__link--active" for="__toc">
285          
286  
287  
288  <span class="md-ellipsis">
289    Writing
290    
291  </span>
292  
293
294          <span class="md-nav__icon md-icon"></span>
295        </label>
296      
297      <a href="./" class="md-nav__link md-nav__link--active">
298        
299  
300  
301  <span class="md-ellipsis">
302    Writing
303    
304  </span>
305  
306
307      </a>
308      
309        
310
311<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
312  
313  
314  
315  
316    <label class="md-nav__title" for="__toc">
317      <span class="md-nav__icon md-icon"></span>
318      Table of contents
319    </label>
320    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
321      
322        <li class="md-nav__item">
323  <a href="#darwin-machines" class="md-nav__link">
324    <span class="md-ellipsis">
325      Darwin Machines
326    </span>
327  </a>
328  
329</li>
330      
331    </ul>
332  
333</nav>
334      
335    </li>
336  
337
338    
339      
340      
341  
342  
343  
344  
345    <li class="md-nav__item">
346      <a href="../reading/" class="md-nav__link">
347        
348  
349  
350  <span class="md-ellipsis">
351    Reading
352    
353  </span>
354  
355
356      </a>
357    </li>
358  
359
360    
361  </ul>
362</nav>
363                  </div>
364                </div>
365              </div>
366            
367            
368              
369              <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
370                <div class="md-sidebar__scrollwrap">
371                  <div class="md-sidebar__inner">
372                    
373
374<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
375  
376  
377  
378  
379    <label class="md-nav__title" for="__toc">
380      <span class="md-nav__icon md-icon"></span>
381      Table of contents
382    </label>
383    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
384      
385        <li class="md-nav__item">
386  <a href="#darwin-machines" class="md-nav__link">
387    <span class="md-ellipsis">
388      Darwin Machines
389    </span>
390  </a>
391  
392</li>
393      
394    </ul>
395  
396</nav>
397                  </div>
398                </div>
399              </div>
400            
401          
402          
403            <div class="md-content" data-md-component="content">
404              <article class="md-content__inner md-typeset">
405                
406                  
407
408
409
410  <h1>Writing</h1>
411
412<style>
413.dates {
414    font-size: .7rem;
415    color: #8b949e;
416}
417
418hr {
419    background-color: #8b949e;
420    border: none;
421    height: 1px;
422}
423</style>
424<h2 id="darwin-machines"><a href="posts/darwin_machines/">Darwin Machines</a></h2>
425<div class="dates">Created: 2024-07-16</div>
426<p>Ramblings on William Calvin's theory of Darwin Machines.</p>
427<hr>
428
429
430
431
432
433
434
435
436
437  
438
439
440
441
442                
443              </article>
444            </div>
445          
446          
447<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
447
448        </div>
449        
450      </main>
451      
452        <footer class="md-footer">
453  
454  <div class="md-footer-meta md-typeset">
455    <div class="md-footer-meta__inner md-grid">
456      <div class="md-copyright">
457  
458  
459</div>
460      
461    </div>
462  </div>
463</footer>
464      
465    </div>
466    <div class="md-dialog" data-md-component="dialog">
467      <div class="md-dialog__inner md-typeset"></div>
468    </div>
469    
470    
471    
472      
473      
473<script id="__config" type="application/json">{"base": "..", "features": [], "search": "../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
473
474    
475    
476      
476<script src="../assets/javascripts/bundle.92b07e13.min.js"></script>
476
477      
478    
479  
479<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"17c99fc2b5814bfba20ebec944784bc7","r":1,"spa":2}' crossorigin="anonymous"></script>
479
480</body>
481</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.