diff options
author | Leonardo Santiago <[email protected]> | 2024-06-01 15:25:15 -0300 |
---|---|---|
committer | Leonardo Santiago <[email protected]> | 2024-06-01 15:25:15 -0300 |
commit | 735b245871d94cb6ace8913cd1370b02b5aeb28b (patch) | |
tree | 10d9e97d553a5059513a34a5f2b09ae8e9a0dab0 /public/posts | |
parent | 31bc6a2f54d86a4978be063f5e614881c625c597 (diff) |
remove old theme, use bearblog theme instead
Diffstat (limited to 'public/posts')
-rw-r--r-- | public/posts/correctness-is-all-you-need/index.html | 750 | ||||
-rw-r--r-- | public/posts/index.html | 691 | ||||
-rw-r--r-- | public/posts/index.xml | 22 | ||||
-rw-r--r-- | public/posts/page/1/index.html | 10 | ||||
-rw-r--r-- | public/posts/software-correctness/index.html | 821 |
5 files changed, 0 insertions, 2294 deletions
diff --git a/public/posts/correctness-is-all-you-need/index.html b/public/posts/correctness-is-all-you-need/index.html deleted file mode 100644 index ae904b3..0000000 --- a/public/posts/correctness-is-all-you-need/index.html +++ /dev/null @@ -1,750 +0,0 @@ -<!DOCTYPE html> -<html lang="en" dir="ltr" class="scroll-smooth" data-default-appearance="dark" - data-auto-appearance="true"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script> - <meta charset="utf-8" /> - - <meta http-equiv="content-language" content="en" /> - - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta http-equiv="X-UA-Compatible" content="ie=edge" /> - - <title>correctness is all you need · lowest case</title> - <meta name="title" content="correctness is all you need · lowest case" /> - - - <meta name="keywords" content="coq, rust, " /> - - - <link rel="canonical" href="http://localhost:1313/posts/correctness-is-all-you-need/" /> - - - - - - - - - - - <link type="text/css" rel="stylesheet" href="/css/main.bundle.min.81c7ce66608dd0b86aa3e571076f8794993d50f0d4a5b153013edfc28642a93c4104edfdc604558908c3624b8e99386757d81f1bf8c4452c6220cf4c63970408.css" - integrity="sha512-gcfOZmCN0Lhqo+VxB2+HlJk9UPDUpbFTAT7fwoZCqTxBBO39xgRViQjDYkuOmThnV9gfG/jERSxiIM9MY5cECA==" /> - - - <script type="text/javascript" src="/js/appearance.min.516a16745bea5a9bd011138d254cc0fd3973cd55ce6e15f3dec763e7c7c2c7448f8fe7b54cca811cb821b0c7e12cd161caace1dd794ac3d34d40937cbcc9ee12.js" - integrity="sha512-UWoWdFvqWpvQERONJUzA/TlzzVXObhXz3sdj58fCx0SPj+e1TMqBHLghsMfhLNFhyqzh3XlKw9NNQJN8vMnuEg=="></script> - - - - - - - - - - <script defer type="text/javascript" id="script-bundle" src="/js/main.bundle.min.b36dda9ec4ec11e967fd341e7d57b8c484ac7a39f8f329f7bcf7ce4812569de8607db866a086d4789956ac0b74967e251c9a566d94d469dd28b8787fed4f46f5.js" - integrity="sha512-s23ansTsEeln/TQefVe4xISsejn48yn3vPfOSBJWnehgfbhmoIbUeJlWrAt0ln4lHJpWbZTUad0ouHh/7U9G9Q==" data-copy="" data-copied=""></script> - - - <script src="/js/zoom.min.js"></script> - - - - <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> - <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> - <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> - <link rel="manifest" href="/site.webmanifest" /> - - - - - - - - <meta property="og:url" content="http://localhost:1313/posts/correctness-is-all-you-need/"> - <meta property="og:site_name" content="lowest case"> - <meta property="og:title" content="correctness is all you need"> - <meta property="og:description" content="&gt;&gt;&gt; 0."> - <meta property="og:locale" content="en"> - <meta property="og:type" content="article"> - <meta property="article:section" content="posts"> - <meta property="article:published_time" content="2024-05-09T23:35:32-03:00"> - <meta property="article:modified_time" content="2024-05-09T23:35:32-03:00"> - <meta property="article:tag" content="coq"> - <meta property="article:tag" content="rust"> - - <meta name="twitter:card" content="summary"><meta name="twitter:title" content="correctness is all you need"> -<meta name="twitter:description" content=">>> 0."> - - - <script type="application/ld+json"> - [{ - "@context": "https://schema.org", - "@type": "Article", - "articleSection": "posts", - "name": "correctness is all you need", - "headline": "correctness is all you need", - - "abstract": "\u0026gt;\u0026gt;\u0026gt; 0.", - "inLanguage": "en", - "url" : "http:\/\/localhost:1313\/posts\/correctness-is-all-you-need\/", - "author" : { - "@type": "Person", - "name": "leonardo santiago" - }, - "copyrightYear": "2024", - "dateCreated": "2024-05-09T23:35:32-03:00", - "datePublished": "2024-05-09T23:35:32-03:00", - - "dateModified": "2024-05-09T23:35:32-03:00", - - "keywords": ["coq","rust"], - - "mainEntityOfPage": "true", - "wordCount": "169" - }] - </script> - - - - - <meta name="author" content="leonardo santiago" /> - - - - <link href="mailto:[email protected]" rel="me" /> - - - <link href="https://github.com/o-santi" rel="me" /> - - - <link href="https://gitlab.com/o-santi" rel="me" /> - - - <link href="https://www.linkedin.com/in/leonardo-ribeiro-santiago/" rel="me" /> - - - <link href="https://t.me/osanti4" rel="me" /> - - - <link href="https://twitter.com/o-santi" rel="me" /> - - - - - -<script src="/lib/jquery/jquery.slim.min.js" integrity=""></script> - - - - - - - - - - - - - - - - - - - - - - - - - - - - <meta name="theme-color"/> - - -</head> -<body - class="flex flex-col h-screen px-6 m-auto text-lg leading-7 max-w-7xl bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral sm:px-14 md:px-24 lg:px-32"> - <div id="the-top" class="absolute flex self-center"> - <a class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600" - href="#main-content"><span - class="font-bold text-primary-600 ltr:pr-2 rtl:pl-2 dark:text-primary-400">↓</span>skip to main content</a> - </div> - - - <div style="padding-left:0;padding-right:0;padding-top:2px;padding-bottom:3px" - class="main-menu flex items-center justify-between px-4 py-6 sm:px-6 md:justify-start space-x-3"> - - <div class="flex flex-1 items-center justify-between"> - <nav class="flex space-x-3"> - - - <a href="/" class="text-base font-medium text-gray-500 hover:text-gray-900">lowest case</a> - - - </nav> - <nav class="hidden md:flex items-center space-x-5 md:ml-12 h-12"> - - - - - <a href="" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-base font-medium" title=""> - about - </p> -</a> - - - - - <a href="/posts/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-base font-medium" title=""> - blog - </p> -</a> - - - - - <a href="/tags/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-base font-medium" title=""> - tags - </p> -</a> - - - - - - - - - - <button id="search-button" aria-label="Search" class="text-base hover:text-primary-600 dark:hover:text-primary-400" - title=""> - - - <span class="relative block icon"> - <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg> - - </span> - - - </button> - - - - - - <div - class="ltr:mr-14 rtl:ml-14 flex items-center"> - <button id="appearance-switcher" aria-label="Dark mode switcher" type="button" class="text-base hover:text-primary-600 dark:hover:text-primary-400"> - <div class="flex items-center justify-center dark:hidden"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg> - - </span> - - - </div> - <div class="items-center justify-center hidden dark:flex"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg> - - </span> - - - </div> - </button> - </div> - - - </nav> - <div class="flex md:hidden items-center space-x-5 md:ml-12 h-12"> - - <span></span> - - - - - - <button id="search-button-mobile" aria-label="Search" class="text-base hover:text-primary-600 dark:hover:text-primary-400" - title=""> - - - <span class="relative block icon"> - <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg> - - </span> - - - </button> - - - - - <button id="appearance-switcher-mobile" aria-label="Dark mode switcher" type="button" class="text-base hover:text-primary-600 dark:hover:text-primary-400" style="margin-right:5px"> - <div class="flex items-center justify-center dark:hidden"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg> - - </span> - - - </div> - <div class="items-center justify-center hidden dark:flex"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg> - - </span> - - - </div> - </button> - - - </div> - </div> - <div class="-my-2 -mr-2 md:hidden"> - - <label id="menu-button" for="menu-controller" class="block"> - <input type="checkbox" id="menu-controller" class="hidden" /> - - <div class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.33 14.33 64 32 64H416C433.7 64 448 78.33 448 96C448 113.7 433.7 128 416 128H32C14.33 128 0 113.7 0 96zM0 256C0 238.3 14.33 224 32 224H416C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288H32C14.33 288 0 273.7 0 256zM416 448H32C14.33 448 0 433.7 0 416C0 398.3 14.33 384 32 384H416C433.7 384 448 398.3 448 416C448 433.7 433.7 448 416 448z"/></svg> - - </span> - - - </div> - <div id="menu-wrapper" style="padding-top:5px;" - class="fixed inset-0 z-30 invisible w-screen h-screen m-0 overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100/50 backdrop-blur-sm dark:bg-neutral-900/50"> - <ul - class="flex space-y-2 mt-3 flex-col items-end w-full px-6 py-6 mx-auto overflow-visible list-none ltr:text-right rtl:text-left max-w-7xl"> - - <li> - <span - class="cursor-pointer inline-block align-text-bottom hover:text-primary-600 dark:hover:text-primary-400"> - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg> - - </span> - -</span> - </li> - - - - - <li class="mt-1"> - <a href="" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-bg font-bg" title=""> - about - </p> - </a> -</li> - - - - - - - <li class="mt-1"> - <a href="/posts/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-bg font-bg" title=""> - blog - </p> - </a> -</li> - - - - - - - <li class="mt-1"> - <a href="/tags/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-bg font-bg" title=""> - tags - </p> - </a> -</li> - - - - - - </ul> - - - - </div> - </label> - </div> -</div> - - - - -<script> - (function () { - var $mainmenu = $('.main-menu'); - var path = window.location.pathname; - $mainmenu.find('a[href="' + path + '"]').each(function (i, e) { - $(e).children('p').addClass('active'); - }); - })(); -</script> - - - - <div class="relative flex flex-col grow"> - <main id="main-content" class="grow"> - - - -<article> - - - <header id="single_header" class="mt-5 max-w-prose"> - - <ol class="text-sm text-neutral-500 dark:text-neutral-400 print:hidden"> - - - - - - - <li class="inline hidden"> - <a - class="hover:underline decoration-neutral-300 dark:underline-neutral-600" - href="/" - >lowest case</a - ><span class="px-1 text-primary-500">/</span> - </li> - - - <li class="inline "> - <a - class="hover:underline decoration-neutral-300 dark:underline-neutral-600" - href="/posts/" - >posts</a - ><span class="px-1 text-primary-500">/</span> - </li> - - - <li class="inline hidden"> - <a - class="hover:underline decoration-neutral-300 dark:underline-neutral-600" - href="/posts/correctness-is-all-you-need/" - >correctness is all you need</a - ><span class="px-1 text-primary-500">/</span> - </li> - -</ol> - - - - <h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral"> - correctness is all you need - </h1> - <div class="mt-1 mb-6 text-base text-neutral-500 dark:text-neutral-400 print:hidden"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<div class="flex flex-row flex-wrap items-center"> - - - <time datetime="2024-05-09 23:35:32 -0300 -03">9 May 2024</time><span class="px-2 text-primary-500">·</span><span title="reading time">1 min</span> - - - - -</div> - - - - - -<div class="flex flex-row flex-wrap items-center"> - - - - - - - - - - - - - <span style="margin-top:0.5rem" class="mr-2" onclick="window.open("/tags/coq/",'_self');"> - <span class="flex" style="cursor: pointer;"> - <span class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"> - coq - </span> -</span> - </span> - - <span style="margin-top:0.5rem" class="mr-2" onclick="window.open("/tags/rust/",'_self');"> - <span class="flex" style="cursor: pointer;"> - <span class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"> - rust - </span> -</span> - </span> - - - - -</div> - - - - </div> - - - - - - - - - - - - - - - - - - - - </header> - - <section class="flex flex-col max-w-full mt-0 prose dark:prose-invert lg:flex-row"> - - - - <div class="min-w-0 min-h-0 max-w-fit"> - - - - - <div class="article-content max-w-prose mb-20"> - <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">>>></span> <span class="mf">0.1</span> <span class="o">+</span> <span class="mf">0.2</span> -</span></span><span class="line"><span class="cl"><span class="mf">0.30000000000000004</span> -</span></span></code></pre></div><p>which of course is an annoying encounter for the unitiated in floats, but there’s a much bigger problem, that usually isn’t noticed at all until much later, that float addition itself isn’t even associative:</p> -<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="o">>>></span> <span class="p">(</span><span class="mf">0.1</span> <span class="o">+</span> <span class="mf">0.2</span><span class="p">)</span> <span class="o">+</span> <span class="mf">0.3</span> -</span></span><span class="line"><span class="cl"><span class="mf">0.6000000000000001</span> -</span></span><span class="line"><span class="cl"><span class="o">>>></span> <span class="mf">0.1</span> <span class="o">+</span> <span class="p">(</span><span class="mf">0.2</span> <span class="o">+</span> <span class="mf">0.3</span><span class="p">)</span> -</span></span><span class="line"><span class="cl"><span class="mf">0.6</span> -</span></span><span class="line"><span class="cl"><span class="o">>>></span> <span class="mf">0.1</span> <span class="o">+</span> <span class="p">(</span><span class="mf">0.2</span> <span class="o">+</span> <span class="mf">0.3</span><span class="p">)</span> <span class="o">==</span> <span class="p">(</span><span class="mf">0.1</span> <span class="o">+</span> <span class="mf">0.2</span><span class="p">)</span> <span class="o">+</span> <span class="mf">0.3</span> -</span></span><span class="line"><span class="cl"><span class="kc">False</span> -</span></span><span class="line"><span class="cl"><span class="o">>>></span> -</span></span></code></pre></div><p>and this is a problem, because associativity is a big underlying assumption that we commonly have for numbers, when, for example, summing a list in reverse. other common pitfalls include:</p> -<ul> -<li>not all numbers have an additive inverse, ie. for some number <code>n</code>, <code>n + (-n) != n</code>.</li> -<li>not all numbers different than 0 have a multiplicative inverse, ie. for some number <code>n</code>, <code>n / n != 1</code>.</li> -<li>addition is not commutative, ie. for numbers <code>a</code> <code>b</code>, <code>a + b != b + a</code>.</li> -</ul> -<p>and the list goes you on, you get the idea. this usually isn’t thought of the main problems in</p> - - </div> - - - - - - - - </div> - - - - - - - - - <script> - var oid = "views_posts\/correctness-is-all-you-need.md" - var oid_likes = "likes_posts\/correctness-is-all-you-need.md" - </script> - - - - <script type="text/javascript" src="/js/page.min.b06a29d42a4ed16787978e2eee1e8c797b7698db2bc14ccee78f5c80ac566fc996190a73ad80a5e987558474b20b96fa38f7d85b405f165ff72b7b163c5ad11b.js" integrity="sha512-sGop1CpO0WeHl44u7h6MeXt2mNsrwUzO549cgKxWb8mWGQpzrYCl6YdVhHSyC5b6OPfYW0BfFl/3K3sWPFrRGw=="></script> - - </section> - <footer class="pt-8 max-w-prose print:hidden"> - - - - - - - </footer> -</article> - - <div id="top-scroller" class="pointer-events-none absolute top-[110vh] bottom-0 w-12 ltr:right-0 rtl:left-0"> - <a href="#the-top" - class="pointer-events-auto sticky top-[calc(100vh-5.5rem)] flex h-12 w-12 mb-16 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400" - aria-label="scroll to top" title="scroll to top"> - ↑ - </a> -</div> - </main><footer id="site-footer" class="py-10 print:hidden"> - - - - - <div class="flex items-center justify-between"> - - - - <p class="text-sm text-neutral-500 dark:text-neutral-400"> - © - 2024 - leonardo santiago - </p> - - - - - <p class="text-xs text-neutral-500 dark:text-neutral-400"> - - - powered by <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" - href="https://gohugo.io/" target="_blank" rel="noopener noreferrer">Hugo</a> & <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" - href="https://blowfish.page/" target="_blank" rel="noopener noreferrer">Blowfish</a> - </p> - - - </div> - <script> - - mediumZoom(document.querySelectorAll("img:not(.nozoom)"), { - margin: 24, - background: 'rgba(0,0,0,0.5)', - scrollOffset: 0, - }) - - </script> - - - <script type="text/javascript" src="/js/process.min.62060bb247f4de2b6dde45903668fefb68d792f365587605177b1227c0cf43588701edaca0cb40e2c8e2789bd5ce67c1d2a215b9fb258c3496a7cd25e7cb5fdf.js" integrity="sha512-YgYLskf03itt3kWQNmj++2jXkvNlWHYFF3sSJ8DPQ1iHAe2soMtA4sjieJvVzmfB0qIVufsljDSWp80l58tf3w=="></script> - - -</footer><div - id="search-wrapper" - class="invisible fixed inset-0 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh]" - data-url="http://localhost:1313/" - style="z-index:500" -> - <div - id="search-modal" - class="flex flex-col w-full max-w-3xl min-h-0 mx-auto border rounded-md shadow-lg top-20 border-neutral-200 bg-neutral dark:border-neutral-700 dark:bg-neutral-800" - > - <header class="relative z-10 flex items-center justify-between flex-none px-2"> - <form class="flex items-center flex-auto min-w-0"> - <div class="flex items-center justify-center w-8 h-8 text-neutral-400"> - - - <span class="relative block icon"> - <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg> - - </span> - - - </div> - <input - type="search" - id="search-query" - class="flex flex-auto h-12 mx-1 bg-transparent appearance-none focus:outline-dotted focus:outline-2 focus:outline-transparent" - placeholder="cearch" - tabindex="0" - /> - </form> - <button - id="close-search-button" - class="flex items-center justify-center w-8 h-8 text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400" - title="close (Esc)" - > - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg> - - </span> - - - </button> - </header> - <section class="flex-auto px-2 overflow-auto"> - <ul id="search-results"> - - </ul> - </section> - </div> -</div> - - </div> -</body> - -</html> diff --git a/public/posts/index.html b/public/posts/index.html deleted file mode 100644 index 154bba7..0000000 --- a/public/posts/index.html +++ /dev/null @@ -1,691 +0,0 @@ -<!DOCTYPE html> -<html lang="en" dir="ltr" class="scroll-smooth" data-default-appearance="dark" - data-auto-appearance="true"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script> - <meta charset="utf-8" /> - - <meta http-equiv="content-language" content="en" /> - - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta http-equiv="X-UA-Compatible" content="ie=edge" /> - - <title>posts · lowest case</title> - <meta name="title" content="posts · lowest case" /> - - - - - - <link rel="canonical" href="http://localhost:1313/posts/" /> - - <link rel="alternate" type="application/rss+xml" href="/posts/index.xml" title="lowest case" /> - - - - - - - - - - - <link type="text/css" rel="stylesheet" href="/css/main.bundle.min.81c7ce66608dd0b86aa3e571076f8794993d50f0d4a5b153013edfc28642a93c4104edfdc604558908c3624b8e99386757d81f1bf8c4452c6220cf4c63970408.css" - integrity="sha512-gcfOZmCN0Lhqo+VxB2+HlJk9UPDUpbFTAT7fwoZCqTxBBO39xgRViQjDYkuOmThnV9gfG/jERSxiIM9MY5cECA==" /> - - - <script type="text/javascript" src="/js/appearance.min.516a16745bea5a9bd011138d254cc0fd3973cd55ce6e15f3dec763e7c7c2c7448f8fe7b54cca811cb821b0c7e12cd161caace1dd794ac3d34d40937cbcc9ee12.js" - integrity="sha512-UWoWdFvqWpvQERONJUzA/TlzzVXObhXz3sdj58fCx0SPj+e1TMqBHLghsMfhLNFhyqzh3XlKw9NNQJN8vMnuEg=="></script> - - - - - - - - - - <script defer type="text/javascript" id="script-bundle" src="/js/main.bundle.min.b36dda9ec4ec11e967fd341e7d57b8c484ac7a39f8f329f7bcf7ce4812569de8607db866a086d4789956ac0b74967e251c9a566d94d469dd28b8787fed4f46f5.js" - integrity="sha512-s23ansTsEeln/TQefVe4xISsejn48yn3vPfOSBJWnehgfbhmoIbUeJlWrAt0ln4lHJpWbZTUad0ouHh/7U9G9Q==" data-copy="" data-copied=""></script> - - - <script src="/js/zoom.min.js"></script> - - - - <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> - <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> - <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> - <link rel="manifest" href="/site.webmanifest" /> - - - - - - - - <meta property="og:url" content="http://localhost:1313/posts/"> - <meta property="og:site_name" content="lowest case"> - <meta property="og:title" content="posts"> - <meta property="og:locale" content="en"> - <meta property="og:type" content="website"> - - <meta name="twitter:card" content="summary"><meta name="twitter:title" content="posts"> -<meta name="twitter:description" content=""> - - - - - - - <meta name="author" content="leonardo santiago" /> - - - - <link href="mailto:[email protected]" rel="me" /> - - - <link href="https://github.com/o-santi" rel="me" /> - - - <link href="https://gitlab.com/o-santi" rel="me" /> - - - <link href="https://www.linkedin.com/in/leonardo-ribeiro-santiago/" rel="me" /> - - - <link href="https://t.me/osanti4" rel="me" /> - - - <link href="https://twitter.com/o-santi" rel="me" /> - - - - - -<script src="/lib/jquery/jquery.slim.min.js" integrity=""></script> - - - - - - - - - - - - - - - - - - - - - - - - - - - - <meta name="theme-color"/> - - -</head> -<body - class="flex flex-col h-screen px-6 m-auto text-lg leading-7 max-w-7xl bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral sm:px-14 md:px-24 lg:px-32"> - <div id="the-top" class="absolute flex self-center"> - <a class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600" - href="#main-content"><span - class="font-bold text-primary-600 ltr:pr-2 rtl:pl-2 dark:text-primary-400">↓</span>skip to main content</a> - </div> - - - <div style="padding-left:0;padding-right:0;padding-top:2px;padding-bottom:3px" - class="main-menu flex items-center justify-between px-4 py-6 sm:px-6 md:justify-start space-x-3"> - - <div class="flex flex-1 items-center justify-between"> - <nav class="flex space-x-3"> - - - <a href="/" class="text-base font-medium text-gray-500 hover:text-gray-900">lowest case</a> - - - </nav> - <nav class="hidden md:flex items-center space-x-5 md:ml-12 h-12"> - - - - - <a href="" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-base font-medium" title=""> - about - </p> -</a> - - - - - <a href="/posts/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-base font-medium" title=""> - blog - </p> -</a> - - - - - <a href="/tags/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-base font-medium" title=""> - tags - </p> -</a> - - - - - - - - - - <button id="search-button" aria-label="Search" class="text-base hover:text-primary-600 dark:hover:text-primary-400" - title=""> - - - <span class="relative block icon"> - <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg> - - </span> - - - </button> - - - - - - <div - class="ltr:mr-14 rtl:ml-14 flex items-center"> - <button id="appearance-switcher" aria-label="Dark mode switcher" type="button" class="text-base hover:text-primary-600 dark:hover:text-primary-400"> - <div class="flex items-center justify-center dark:hidden"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg> - - </span> - - - </div> - <div class="items-center justify-center hidden dark:flex"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg> - - </span> - - - </div> - </button> - </div> - - - </nav> - <div class="flex md:hidden items-center space-x-5 md:ml-12 h-12"> - - <span></span> - - - - - - <button id="search-button-mobile" aria-label="Search" class="text-base hover:text-primary-600 dark:hover:text-primary-400" - title=""> - - - <span class="relative block icon"> - <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg> - - </span> - - - </button> - - - - - <button id="appearance-switcher-mobile" aria-label="Dark mode switcher" type="button" class="text-base hover:text-primary-600 dark:hover:text-primary-400" style="margin-right:5px"> - <div class="flex items-center justify-center dark:hidden"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg> - - </span> - - - </div> - <div class="items-center justify-center hidden dark:flex"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg> - - </span> - - - </div> - </button> - - - </div> - </div> - <div class="-my-2 -mr-2 md:hidden"> - - <label id="menu-button" for="menu-controller" class="block"> - <input type="checkbox" id="menu-controller" class="hidden" /> - - <div class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.33 14.33 64 32 64H416C433.7 64 448 78.33 448 96C448 113.7 433.7 128 416 128H32C14.33 128 0 113.7 0 96zM0 256C0 238.3 14.33 224 32 224H416C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288H32C14.33 288 0 273.7 0 256zM416 448H32C14.33 448 0 433.7 0 416C0 398.3 14.33 384 32 384H416C433.7 384 448 398.3 448 416C448 433.7 433.7 448 416 448z"/></svg> - - </span> - - - </div> - <div id="menu-wrapper" style="padding-top:5px;" - class="fixed inset-0 z-30 invisible w-screen h-screen m-0 overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100/50 backdrop-blur-sm dark:bg-neutral-900/50"> - <ul - class="flex space-y-2 mt-3 flex-col items-end w-full px-6 py-6 mx-auto overflow-visible list-none ltr:text-right rtl:text-left max-w-7xl"> - - <li> - <span - class="cursor-pointer inline-block align-text-bottom hover:text-primary-600 dark:hover:text-primary-400"> - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg> - - </span> - -</span> - </li> - - - - - <li class="mt-1"> - <a href="" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-bg font-bg" title=""> - about - </p> - </a> -</li> - - - - - - - <li class="mt-1"> - <a href="/posts/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-bg font-bg" title=""> - blog - </p> - </a> -</li> - - - - - - - <li class="mt-1"> - <a href="/tags/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-bg font-bg" title=""> - tags - </p> - </a> -</li> - - - - - - </ul> - - - - </div> - </label> - </div> -</div> - - - - -<script> - (function () { - var $mainmenu = $('.main-menu'); - var path = window.location.pathname; - $mainmenu.find('a[href="' + path + '"]').each(function (i, e) { - $(e).children('p').addClass('active'); - }); - })(); -</script> - - - - <div class="relative flex flex-col grow"> - <main id="main-content" class="grow"> - - - - <header> - - <h1 class="mt-5 text-4xl font-extrabold text-neutral-900 dark:text-neutral">posts</h1> - <div class="mt-1 mb-2 text-base text-neutral-500 dark:text-neutral-400 print:hidden"> - - - - - - - - - - - - - - - - - - - - - - -<div class="flex flex-row flex-wrap items-center"> - - -</div> - - - </div> - - - - - <script type="text/javascript" src="/js/page.min.b06a29d42a4ed16787978e2eee1e8c797b7698db2bc14ccee78f5c80ac566fc996190a73ad80a5e987558474b20b96fa38f7d85b405f165ff72b7b163c5ad11b.js" integrity="sha512-sGop1CpO0WeHl44u7h6MeXt2mNsrwUzO549cgKxWb8mWGQpzrYCl6YdVhHSyC5b6OPfYW0BfFl/3K3sWPFrRGw=="></script> - </header> - <section class="mt-0 prose flex max-w-full flex-col dark:prose-invert lg:flex-row"> - - <div class="min-w-0 min-h-0 max-w-prose"> - - </div> - - - - - </section> - - - - - - - - - <section class="space-y-10 w-full"> - - - <h2 class="mt-12 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300"> - 2024 - </h2> - - - - - - - - - - - - - - - - - - - - - - - - - - <a class="flex flex-wrap article " href="/posts/correctness-is-all-you-need/"> - <div class=" mt-3 md:mt-0"> - <div class="items-center text-left text-xl font-semibold"> - - <div class="font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral" - href="/posts/correctness-is-all-you-need/">correctness is all you need</div> - - - - </div> - <div class="text-sm text-neutral-500 dark:text-neutral-400"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<div class="flex flex-row flex-wrap items-center"> - - - <time datetime="2024-05-09 23:35:32 -0300 -03">9 May 2024</time><span class="px-2 text-primary-500">·</span><span title="reading time">1 min</span> - - - - -</div> - - - - - -<div class="flex flex-row flex-wrap items-center"> - - - - - - - - - - - - - <span style="margin-top:0.5rem" class="mr-2" onclick="window.open("/tags/coq/",'_self');"> - <span class="flex" style="cursor: pointer;"> - <span class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"> - coq - </span> -</span> - </span> - - <span style="margin-top:0.5rem" class="mr-2" onclick="window.open("/tags/rust/",'_self');"> - <span class="flex" style="cursor: pointer;"> - <span class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"> - rust - </span> -</span> - </span> - - - - -</div> - - - - </div> - - </div> - </a> - - - </section> - - - - - - - - - - </main><footer id="site-footer" class="py-10 print:hidden"> - - - - - <div class="flex items-center justify-between"> - - - - <p class="text-sm text-neutral-500 dark:text-neutral-400"> - © - 2024 - leonardo santiago - </p> - - - - - <p class="text-xs text-neutral-500 dark:text-neutral-400"> - - - powered by <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" - href="https://gohugo.io/" target="_blank" rel="noopener noreferrer">Hugo</a> & <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" - href="https://blowfish.page/" target="_blank" rel="noopener noreferrer">Blowfish</a> - </p> - - - </div> - <script> - - mediumZoom(document.querySelectorAll("img:not(.nozoom)"), { - margin: 24, - background: 'rgba(0,0,0,0.5)', - scrollOffset: 0, - }) - - </script> - - - <script type="text/javascript" src="/js/process.min.62060bb247f4de2b6dde45903668fefb68d792f365587605177b1227c0cf43588701edaca0cb40e2c8e2789bd5ce67c1d2a215b9fb258c3496a7cd25e7cb5fdf.js" integrity="sha512-YgYLskf03itt3kWQNmj++2jXkvNlWHYFF3sSJ8DPQ1iHAe2soMtA4sjieJvVzmfB0qIVufsljDSWp80l58tf3w=="></script> - - -</footer><div - id="search-wrapper" - class="invisible fixed inset-0 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh]" - data-url="http://localhost:1313/" - style="z-index:500" -> - <div - id="search-modal" - class="flex flex-col w-full max-w-3xl min-h-0 mx-auto border rounded-md shadow-lg top-20 border-neutral-200 bg-neutral dark:border-neutral-700 dark:bg-neutral-800" - > - <header class="relative z-10 flex items-center justify-between flex-none px-2"> - <form class="flex items-center flex-auto min-w-0"> - <div class="flex items-center justify-center w-8 h-8 text-neutral-400"> - - - <span class="relative block icon"> - <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg> - - </span> - - - </div> - <input - type="search" - id="search-query" - class="flex flex-auto h-12 mx-1 bg-transparent appearance-none focus:outline-dotted focus:outline-2 focus:outline-transparent" - placeholder="cearch" - tabindex="0" - /> - </form> - <button - id="close-search-button" - class="flex items-center justify-center w-8 h-8 text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400" - title="close (Esc)" - > - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg> - - </span> - - - </button> - </header> - <section class="flex-auto px-2 overflow-auto"> - <ul id="search-results"> - - </ul> - </section> - </div> -</div> - - </div> -</body> - -</html> diff --git a/public/posts/index.xml b/public/posts/index.xml deleted file mode 100644 index 104d58d..0000000 --- a/public/posts/index.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>posts on lowest case</title> - <link>http://localhost:1313/posts/</link> - <description>Recent content in posts on lowest case</description> - <generator>Hugo -- gohugo.io</generator> - <language>en</language> - <copyright>© 2024 leonardo santiago</copyright> - <lastBuildDate>Thu, 09 May 2024 23:35:32 -0300</lastBuildDate><atom:link href="http://localhost:1313/posts/index.xml" rel="self" type="application/rss+xml" /> - <item> - <title>correctness is all you need</title> - <link>http://localhost:1313/posts/correctness-is-all-you-need/</link> - <pubDate>Thu, 09 May 2024 23:35:32 -0300</pubDate> - - <guid>http://localhost:1313/posts/correctness-is-all-you-need/</guid> - <description>&gt;&gt;&gt; 0.</description> - - </item> - - </channel> -</rss> diff --git a/public/posts/page/1/index.html b/public/posts/page/1/index.html deleted file mode 100644 index 3e3304d..0000000 --- a/public/posts/page/1/index.html +++ /dev/null @@ -1,10 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <title>http://localhost:1313/posts/</title> - <link rel="canonical" href="http://localhost:1313/posts/"> - <meta name="robots" content="noindex"> - <meta charset="utf-8"> - <meta http-equiv="refresh" content="0; url=http://localhost:1313/posts/"> - </head> -</html> diff --git a/public/posts/software-correctness/index.html b/public/posts/software-correctness/index.html deleted file mode 100644 index 5a495c1..0000000 --- a/public/posts/software-correctness/index.html +++ /dev/null @@ -1,821 +0,0 @@ -<!DOCTYPE html> -<html lang="en" dir="ltr" class="scroll-smooth" data-default-appearance="dark" - data-auto-appearance="true"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script> - <meta charset="utf-8" /> - - <meta http-equiv="content-language" content="en" /> - - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta http-equiv="X-UA-Compatible" content="ie=edge" /> - - <title>correctness is all you need · lowest case</title> - <meta name="title" content="correctness is all you need · lowest case" /> - - - <meta name="keywords" content="coq, rust, " /> - - - <link rel="canonical" href="http://localhost:1313/posts/software-correctness/" /> - - - - - - - - - - - <link type="text/css" rel="stylesheet" href="/css/main.bundle.min.81c7ce66608dd0b86aa3e571076f8794993d50f0d4a5b153013edfc28642a93c4104edfdc604558908c3624b8e99386757d81f1bf8c4452c6220cf4c63970408.css" - integrity="sha512-gcfOZmCN0Lhqo+VxB2+HlJk9UPDUpbFTAT7fwoZCqTxBBO39xgRViQjDYkuOmThnV9gfG/jERSxiIM9MY5cECA==" /> - - - <script type="text/javascript" src="/js/appearance.min.516a16745bea5a9bd011138d254cc0fd3973cd55ce6e15f3dec763e7c7c2c7448f8fe7b54cca811cb821b0c7e12cd161caace1dd794ac3d34d40937cbcc9ee12.js" - integrity="sha512-UWoWdFvqWpvQERONJUzA/TlzzVXObhXz3sdj58fCx0SPj+e1TMqBHLghsMfhLNFhyqzh3XlKw9NNQJN8vMnuEg=="></script> - - - - - - - - - - <script defer type="text/javascript" id="script-bundle" src="/js/main.bundle.min.b36dda9ec4ec11e967fd341e7d57b8c484ac7a39f8f329f7bcf7ce4812569de8607db866a086d4789956ac0b74967e251c9a566d94d469dd28b8787fed4f46f5.js" - integrity="sha512-s23ansTsEeln/TQefVe4xISsejn48yn3vPfOSBJWnehgfbhmoIbUeJlWrAt0ln4lHJpWbZTUad0ouHh/7U9G9Q==" data-copy="" data-copied=""></script> - - - <script src="/js/zoom.min.js"></script> - - - - <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> - <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> - <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> - <link rel="manifest" href="/site.webmanifest" /> - - - - - - - - <meta property="og:url" content="http://localhost:1313/posts/software-correctness/"> - <meta property="og:site_name" content="lowest case"> - <meta property="og:title" content="correctness is all you need"> - <meta property="og:description" content="you&rsquo;re using the pythegorean theorem?"> - <meta property="og:locale" content="en"> - <meta property="og:type" content="article"> - <meta property="article:section" content="posts"> - <meta property="article:published_time" content="2024-05-01T11:44:59-03:00"> - <meta property="article:modified_time" content="2024-05-01T11:44:59-03:00"> - <meta property="article:tag" content="coq"> - <meta property="article:tag" content="rust"> - - <meta name="twitter:card" content="summary"><meta name="twitter:title" content="correctness is all you need"> -<meta name="twitter:description" content="you’re using the pythegorean theorem?"> - - - <script type="application/ld+json"> - [{ - "@context": "https://schema.org", - "@type": "Article", - "articleSection": "posts", - "name": "correctness is all you need", - "headline": "correctness is all you need", - - "abstract": "you\u0026rsquo;re using the pythegorean theorem?", - "inLanguage": "en", - "url" : "http:\/\/localhost:1313\/posts\/software-correctness\/", - "author" : { - "@type": "Person", - "name": "leonardo santiago" - }, - "copyrightYear": "2024", - "dateCreated": "2024-05-01T11:44:59-03:00", - "datePublished": "2024-05-01T11:44:59-03:00", - - "dateModified": "2024-05-01T11:44:59-03:00", - - "keywords": ["coq","rust"], - - "mainEntityOfPage": "true", - "wordCount": "66" - }] - </script> - - - - - <meta name="author" content="leonardo santiago" /> - - - - <link href="mailto:[email protected]" rel="me" /> - - - <link href="https://github.com/o-santi" rel="me" /> - - - <link href="https://gitlab.com/o-santi" rel="me" /> - - - <link href="https://www.linkedin.com/in/leonardo-ribeiro-santiago/" rel="me" /> - - - <link href="https://t.me/osanti4" rel="me" /> - - - <link href="https://twitter.com/o-santi" rel="me" /> - - - - - -<script src="/lib/jquery/jquery.slim.min.js" integrity=""></script> - - - - - - - - - - - - - - - - - - - - - - - - - - - - <meta name="theme-color"/> - - -</head> -<body - class="flex flex-col h-screen px-6 m-auto text-lg leading-7 max-w-7xl bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral sm:px-14 md:px-24 lg:px-32"> - <div id="the-top" class="absolute flex self-center"> - <a class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600" - href="#main-content"><span - class="font-bold text-primary-600 ltr:pr-2 rtl:pl-2 dark:text-primary-400">↓</span>skip to main content</a> - </div> - - - <div style="padding-left:0;padding-right:0;padding-top:2px;padding-bottom:3px" - class="main-menu flex items-center justify-between px-4 py-6 sm:px-6 md:justify-start space-x-3"> - - <div class="flex flex-1 items-center justify-between"> - <nav class="flex space-x-3"> - - - <a href="/" class="text-base font-medium text-gray-500 hover:text-gray-900">lowest case</a> - - - </nav> - <nav class="hidden md:flex items-center space-x-5 md:ml-12 h-12"> - - - - - <a href="/about/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-base font-medium" title=""> - about - </p> -</a> - - - - - <a href="/posts/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-base font-medium" title=""> - blog - </p> -</a> - - - - - <a href="/tags/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-base font-medium" title=""> - tags - </p> -</a> - - - - - - - - - - <button id="search-button" aria-label="Search" class="text-base hover:text-primary-600 dark:hover:text-primary-400" - title=""> - - - <span class="relative block icon"> - <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg> - - </span> - - - </button> - - - - - - <div - class="ltr:mr-14 rtl:ml-14 flex items-center"> - <button id="appearance-switcher" aria-label="Dark mode switcher" type="button" class="text-base hover:text-primary-600 dark:hover:text-primary-400"> - <div class="flex items-center justify-center dark:hidden"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg> - - </span> - - - </div> - <div class="items-center justify-center hidden dark:flex"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg> - - </span> - - - </div> - </button> - </div> - - - </nav> - <div class="flex md:hidden items-center space-x-5 md:ml-12 h-12"> - - <span></span> - - - - - - <button id="search-button-mobile" aria-label="Search" class="text-base hover:text-primary-600 dark:hover:text-primary-400" - title=""> - - - <span class="relative block icon"> - <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg> - - </span> - - - </button> - - - - - <button id="appearance-switcher-mobile" aria-label="Dark mode switcher" type="button" class="text-base hover:text-primary-600 dark:hover:text-primary-400" style="margin-right:5px"> - <div class="flex items-center justify-center dark:hidden"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg> - - </span> - - - </div> - <div class="items-center justify-center hidden dark:flex"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg> - - </span> - - - </div> - </button> - - - </div> - </div> - <div class="-my-2 -mr-2 md:hidden"> - - <label id="menu-button" for="menu-controller" class="block"> - <input type="checkbox" id="menu-controller" class="hidden" /> - - <div class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"> - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.33 14.33 64 32 64H416C433.7 64 448 78.33 448 96C448 113.7 433.7 128 416 128H32C14.33 128 0 113.7 0 96zM0 256C0 238.3 14.33 224 32 224H416C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288H32C14.33 288 0 273.7 0 256zM416 448H32C14.33 448 0 433.7 0 416C0 398.3 14.33 384 32 384H416C433.7 384 448 398.3 448 416C448 433.7 433.7 448 416 448z"/></svg> - - </span> - - - </div> - <div id="menu-wrapper" style="padding-top:5px;" - class="fixed inset-0 z-30 invisible w-screen h-screen m-0 overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100/50 backdrop-blur-sm dark:bg-neutral-900/50"> - <ul - class="flex space-y-2 mt-3 flex-col items-end w-full px-6 py-6 mx-auto overflow-visible list-none ltr:text-right rtl:text-left max-w-7xl"> - - <li> - <span - class="cursor-pointer inline-block align-text-bottom hover:text-primary-600 dark:hover:text-primary-400"> - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg> - - </span> - -</span> - </li> - - - - - <li class="mt-1"> - <a href="/about/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-bg font-bg" title=""> - about - </p> - </a> -</li> - - - - - - - <li class="mt-1"> - <a href="/posts/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-bg font-bg" title=""> - blog - </p> - </a> -</li> - - - - - - - <li class="mt-1"> - <a href="/tags/" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400"> - - <p class="text-bg font-bg" title=""> - tags - </p> - </a> -</li> - - - - - - </ul> - - - - </div> - </label> - </div> -</div> - - - - -<script> - (function () { - var $mainmenu = $('.main-menu'); - var path = window.location.pathname; - $mainmenu.find('a[href="' + path + '"]').each(function (i, e) { - $(e).children('p').addClass('active'); - }); - })(); -</script> - - - - <div class="relative flex flex-col grow"> - <main id="main-content" class="grow"> - - - -<article> - - - <header id="single_header" class="mt-5 max-w-prose"> - - <ol class="text-sm text-neutral-500 dark:text-neutral-400 print:hidden"> - - - - - - - <li class="inline hidden"> - <a - class="hover:underline decoration-neutral-300 dark:underline-neutral-600" - href="/" - >lowest case</a - ><span class="px-1 text-primary-500">/</span> - </li> - - - <li class="inline "> - <a - class="hover:underline decoration-neutral-300 dark:underline-neutral-600" - href="/posts/" - >posts</a - ><span class="px-1 text-primary-500">/</span> - </li> - - - <li class="inline hidden"> - <a - class="hover:underline decoration-neutral-300 dark:underline-neutral-600" - href="/posts/software-correctness/" - >correctness is all you need</a - ><span class="px-1 text-primary-500">/</span> - </li> - -</ol> - - - - <h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral"> - correctness is all you need - </h1> - <div class="mt-1 mb-6 text-base text-neutral-500 dark:text-neutral-400 print:hidden"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<div class="flex flex-row flex-wrap items-center"> - - - <time datetime="2024-05-01 11:44:59 -0300 -03">1 May 2024</time><span class="px-2 text-primary-500">·</span><span title="reading time">1 min</span> - - - - -</div> - - - - - -<div class="flex flex-row flex-wrap items-center"> - - - - - - - - - - - - - <span style="margin-top:0.5rem" class="mr-2" onclick="window.open("/tags/coq/",'_self');"> - <span class="flex" style="cursor: pointer;"> - <span class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"> - coq - </span> -</span> - </span> - - <span style="margin-top:0.5rem" class="mr-2" onclick="window.open("/tags/rust/",'_self');"> - <span class="flex" style="cursor: pointer;"> - <span class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"> - rust - </span> -</span> - </span> - - - - -</div> - - - - </div> - - - - - - - - - - - - - - - - - - - - </header> - - <section class="flex flex-col max-w-full mt-0 prose dark:prose-invert lg:flex-row"> - - <div - class="order-first lg:ml-auto px-0 lg:order-last ltr:lg:pl-8 rtl:lg:pr-8"> - <div class="toc ltr:pl-5 rtl:pr-5 print:hidden lg:sticky lg:top-10"> - - <details open class="toc-right mt-0 overflow-hidden rounded-lg ltr:-ml-5 ltr:pl-5 rtl:-mr-5 rtl:pr-5 hidden lg:block"> - <summary - class="block py-1 text-lg font-semibold cursor-pointer bg-neutral-100 text-neutral-800 ltr:-ml-5 ltr:pl-5 rtl:-mr-5 rtl:pr-5 dark:bg-neutral-700 dark:text-neutral-100 lg:hidden"> - table of contents - </summary> - <div - class="min-w-[220px] py-2 border-dotted border-neutral-300 ltr:-ml-5 ltr:border-l ltr:pl-5 rtl:-mr-5 rtl:border-r rtl:pr-5 dark:border-neutral-600"> - <nav id="TableOfContents"> - <ul> - <li><a href="#taxonomy-of-bugs">taxonomy of bugs</a></li> - </ul> -</nav> - </div> -</details> -<details class="toc-inside mt-0 overflow-hidden rounded-lg ltr:-ml-5 ltr:pl-5 rtl:-mr-5 rtl:pr-5 lg:hidden"> - <summary - class="py-1 text-lg font-semibold cursor-pointer bg-neutral-100 text-neutral-800 ltr:-ml-5 ltr:pl-5 rtl:-mr-5 rtl:pr-5 dark:bg-neutral-700 dark:text-neutral-100 lg:hidden"> - table of contents - </summary> - <div - class="py-2 border-dotted border-neutral-300 ltr:-ml-5 ltr:border-l ltr:pl-5 rtl:-mr-5 rtl:border-r rtl:pr-5 dark:border-neutral-600"> - <nav id="TableOfContents"> - <ul> - <li><a href="#taxonomy-of-bugs">taxonomy of bugs</a></li> - </ul> -</nav> - </div> -</details> - - </div> - </div> - - - <div class="min-w-0 min-h-0 max-w-fit"> - - - - - <div class="article-content max-w-prose mb-20"> - <blockquote> -<p>you’re using the pythegorean theorem? that old unmaintained crap?</p> -</blockquote> -<p>said no one, ever. the pythegorean theorem is treated as a mathematical foundation, that needs no questioning and that will always work. however, that couldn’t be more different from the way we treat modern software, ie. afraid of upgrading, avoiding unmaintained projects, and having to deal with constant breakage of upstream packages. why?</p> - - -<h2 class="relative group">taxonomy of bugs - <div id="taxonomy-of-bugs" class="anchor"></div> - - <span - class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100"> - <a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" - style="text-decoration-line: none !important;" href="#taxonomy-of-bugs" aria-label="anchor">#</a> - </span> - -</h2> - - </div> - - - - - - - - </div> - - - - - - - - - <script> - var oid = "views_posts\/software-correctness.md" - var oid_likes = "likes_posts\/software-correctness.md" - </script> - - - - <script type="text/javascript" src="/js/page.min.b06a29d42a4ed16787978e2eee1e8c797b7698db2bc14ccee78f5c80ac566fc996190a73ad80a5e987558474b20b96fa38f7d85b405f165ff72b7b163c5ad11b.js" integrity="sha512-sGop1CpO0WeHl44u7h6MeXt2mNsrwUzO549cgKxWb8mWGQpzrYCl6YdVhHSyC5b6OPfYW0BfFl/3K3sWPFrRGw=="></script> - - </section> - <footer class="pt-8 max-w-prose print:hidden"> - - - - - - - <div class="pt-8"> - <hr class="border-dotted border-neutral-300 dark:border-neutral-600" /> - <div class="flex justify-between pt-3"> - <span> - - </span> - <span> - - <a class="flex text-right group ml-3" href="/posts/correctness-is-all-you-need/"> - <span class="flex flex-col"> - <span - class="mt-[0.1rem] leading-6 group-hover:underline group-hover:decoration-primary-500" - >correctness is all you need</span - > - <span class="mt-[0.1rem] text-xs text-neutral-500 dark:text-neutral-400"> - - <time datetime="2024-05-01 11:45:13 -0300 -03">1 May 2024</time> - - </span> - </span> - <span - class="ml-3 text-neutral-700 group-hover:text-primary-600 ltr:inline rtl:hidden dark:text-neutral dark:group-hover:text-primary-400" - >→</span - > - <span - class="mr-3 text-neutral-700 group-hover:text-primary-600 ltr:hidden rtl:inline dark:text-neutral dark:group-hover:text-primary-400" - >←</span - > - </a> - - </span> - </div> - </div> - - - - - </footer> -</article> - - <div id="top-scroller" class="pointer-events-none absolute top-[110vh] bottom-0 w-12 ltr:right-0 rtl:left-0"> - <a href="#the-top" - class="pointer-events-auto sticky top-[calc(100vh-5.5rem)] flex h-12 w-12 mb-16 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400" - aria-label="scroll to top" title="scroll to top"> - ↑ - </a> -</div> - </main><footer id="site-footer" class="py-10 print:hidden"> - - - - - <div class="flex items-center justify-between"> - - - - <p class="text-sm text-neutral-500 dark:text-neutral-400"> - © - 2024 - leonardo santiago - </p> - - - - - <p class="text-xs text-neutral-500 dark:text-neutral-400"> - - - powered by <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" - href="https://gohugo.io/" target="_blank" rel="noopener noreferrer">Hugo</a> & <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" - href="https://blowfish.page/" target="_blank" rel="noopener noreferrer">Blowfish</a> - </p> - - - </div> - <script> - - mediumZoom(document.querySelectorAll("img:not(.nozoom)"), { - margin: 24, - background: 'rgba(0,0,0,0.5)', - scrollOffset: 0, - }) - - </script> - - - <script type="text/javascript" src="/js/process.min.62060bb247f4de2b6dde45903668fefb68d792f365587605177b1227c0cf43588701edaca0cb40e2c8e2789bd5ce67c1d2a215b9fb258c3496a7cd25e7cb5fdf.js" integrity="sha512-YgYLskf03itt3kWQNmj++2jXkvNlWHYFF3sSJ8DPQ1iHAe2soMtA4sjieJvVzmfB0qIVufsljDSWp80l58tf3w=="></script> - - -</footer><div - id="search-wrapper" - class="invisible fixed inset-0 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh]" - data-url="http://localhost:1313/" - style="z-index:500" -> - <div - id="search-modal" - class="flex flex-col w-full max-w-3xl min-h-0 mx-auto border rounded-md shadow-lg top-20 border-neutral-200 bg-neutral dark:border-neutral-700 dark:bg-neutral-800" - > - <header class="relative z-10 flex items-center justify-between flex-none px-2"> - <form class="flex items-center flex-auto min-w-0"> - <div class="flex items-center justify-center w-8 h-8 text-neutral-400"> - - - <span class="relative block icon"> - <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg> - - </span> - - - </div> - <input - type="search" - id="search-query" - class="flex flex-auto h-12 mx-1 bg-transparent appearance-none focus:outline-dotted focus:outline-2 focus:outline-transparent" - placeholder="cearch" - tabindex="0" - /> - </form> - <button - id="close-search-button" - class="flex items-center justify-center w-8 h-8 text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400" - title="close (Esc)" - > - - - <span class="relative block icon"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg> - - </span> - - - </button> - </header> - <section class="flex-auto px-2 overflow-auto"> - <ul id="search-results"> - - </ul> - </section> - </div> -</div> - - </div> -</body> - -</html> |