1<!DOCTYPE html> <html> <head> <title>Search · Francesco Pira</title> <meta http-equiv="Content-Type" content="text/html" charset="utf-8"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="HandheldFriendly" content="True"> <meta name="MobileOptimized" content="320"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="sitemap" type="application/xml" title="Sitemap" href="https://fpira.com/sitemap.xml"> <link href="https://github.com/pirafrank" rel="me"> <link href="https://linkedin.com/in/pirafrank" rel="me"> <link href="https://mastodon.social/@pirafrank" rel="me"> <link rel="pgpkey alternate" type="application/pgp-keys" href="https://fpira.com/pgp.txt"> <link rel="pingback" href="https://webmention.io/fpira.com/xmlrpc"> <link rel="webmention" href="https://webmention.io/fpira.com/webmention"> <link rel="shortcut icon" type="image/x-icon" href="/assets/favicons/favicon.png"/> <link rel="icon" type="image/x-icon" href="/assets/favicons/favicon.png"/> <link rel="manifest" href="/manifest.json"> <link rel="icon" href="/assets/icons/fp/rounded/icon-152x152.png"> <meta name="theme-color" content="#333333"/> <meta name="mobile-web-app-capable" content="yes"/> <meta name="apple-mobile-web-app-capable" content="yes"/> <meta name="apple-mobile-web-app-status-bar-style" content="default"/> <meta name="apple-mobile-web-app-title" content="Francesco Pira"/> <link rel="apple-touch-icon" href="/assets/icons/fp/blue/icon-152x152.png"/> <meta name="msapplication-TileImage" content="/assets/icons/fp/blue/icon-152x152.png"/> <meta name="msapplication-TileColor" content="#3344aa"/> <meta name="lightning" content="[email protected]"/> <link rel="alternate" type="application/rss+xml" title="RSS - Francesco Pira - Curious mind. Rust & AI builder. I shape my own tools." href="https://fpira.com/feed.xml"/> <link rel="alternate" type="application/atom+xml" title="Atom - Francesco Pira - Curious mind. Rust & AI builder. I shape my own tools." href="https://fpira.com/atom.xml"/> <link rel="alternate" type="application/feed+json" title="JSON Feed - Francesco Pira - Curious mind. Rust & AI builder. I shape my own tools." href="https://fpira.com/feed.json"/> <!--[if lt IE 9]>
1<script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
1<![endif]--> <link rel="stylesheet" type="text/css" href="/style.css"/> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/fontawesome.min.css"> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/solid.min.css"> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/brands.min.css"> <link rel="stylesheet" href="/assets/pages/search.css" media="screen" type="text/css"> <link rel="stylesheet" href="/assets/vendor/glightbox/glightbox.min.css" media="print" onload="this.media='all'"/>
1<script type="text/javascript" src="/assets/js/menu-avatar-fix.js" defer></script>
1
1<script type="text/javascript" src="/assets/vendor/jquery/jquery-1.x.min.js" defer></script>
1
1<script type="text/javascript" src="/assets/vendor/velocity/velocity.min.js" defer></script>
1
1<script type="text/javascript" src="/assets/js/page_anchors.js" defer></script>
1
1<script type="text/javascript" src="/assets/js/sharing-buttons.js" defer></script>
1
1<script src="/service-worker-register.js"></script>
1
1<script>window.si=window.si||function(){(window.siq=window.siq||[]).push(arguments)};</script>
1
1<script defer src="/_vercel/speed-insights/script.js"></script>
1 <meta name="description" content="Curious mind. Rust & AI builder. I shape my own tools."/> <link rel="canonical" href="https://fpira.com/search/"> <meta name="author" content="Francesco Pira"/> <meta property="og:title" content="Search - Francesco Pira"/> <meta name="twitter:title" content="Search - Francesco Pira"/> <meta property="og:description" content="Curious mind. Rust & AI builder. I shape my own tools."/> <meta name="twitter:description" content="Curious mind. Rust & AI builder. I shape my own tools."/> <meta property="og:url" content="https://fpira.com/search/"/> <meta name="twitter:url" content="https://fpira.com/search/"/> <meta property="og:site_name" content="Francesco Pira"/> <meta name="twitter:site" content="@pirafrank"/> <meta property="og:locale" content="en_US"> <meta property="og:type" content="article"/> <meta name="twitter:card" content="summary"/> <meta property="og:image" content="https://fpira.com/assets/images/og_image.png"/> <meta name="twitter:image" content="https://fpira.com/assets/images/og_image.png"/>
1<script type="application/ld+json"> 2 { 3 "@context": "http://schema.org", 4 5 "@type": "WebPage", 6 7 8 "name": "Francesco Pira", 9 10 11 "headline": "Search - Francesco Pira", 12 13 14 "image": "https://fpira.com/assets/images/og_image.png", 15 16 17 18 "description": "Curious mind. Rust & AI builder. I shape my own tools.", 19 20 21 "logo": "https://fpira.com/assets/icons/fp/blue/icon-242x242.png", 22 23 24 "sameAs": ["https://github.com/pirafrank","https://mastodon.social/@pirafrank","https://www.linkedin.com/in/pirafrank"], 25 26 "url": "https://fpira.com/search/" 27 } 28 </script>
28
28<script async defer data-website-id="dd99d256-b452-4862-9e24-368d551c1551" src="https://umami-pirafrank.vercel.app/umami.js"></script>
28 </head> <body> <noscript> <div class="no-script"> <p> <b>Oops! No JavaScript!</b> So what? Please, <a href="/help/no-javascript">read here</a>. </p> </div> </noscript> <div class="wrapper-masthead"> <div class="container"> <header class="masthead clearfix"> <div id="top"> <span class="site-name"><a href="/">Francesco Pira</a></span> <span class="searchIcon mobile-hidden"> <a href="/search"><img src="/assets/icons/search.png"></a> </span> <input type="checkbox" id="nav-toggle" class="nav-toggle"> <label for="nav-toggle" class="hamburger-menu"> <div class="bar"></div> <div class="bar"></div> <div class="bar"></div> </label> <span class="nav" id="mobile-nav"> <a href="/blog">BLOG</a> <a href="/projects">PROJECTS</a> <a href="/about">ABOUT</a> <a href="/contacts">CONTACTS</a> <a class="searchIcon desktop-hidden smallscreen-hidden" href="/search"><img src="/assets/icons/search.png"></a> </span> <div class="nav-overlay"></div> </div> </header> </div> </div> <div class="big_container"> <main id="main" class="container reading_container"> <article class="page"> <div class="page-title"> <h1>Search</h1> </div> <div class="entry"> <hr style="margin-bottom: 1.5em;"> <div class="big_container"> <div class="container"> <br> <div class="center"> <div id="search-searchbar"></div> </div> <div class="post-list" id="search-hits"></div> </div> </div>
28<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/instantsearch.min.js" integrity="sha384-EtEQyqoKtrBSat8+V0eTyycfmdkEHHzKesnWrc2VPnKAcD8PJw8HKAWKsK/QnGT+" crossorigin="anonymous"></script>
28
28<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min.js" integrity="sha384-kOzY9L5wBXCCeXrHKAMsNCiXCP+c9gu/TfMTC+vTjH542f0KEPZdw69IG2d4khx/" crossorigin="anonymous"></script>
28 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/instantsearch.min.css" integrity="sha384-3pqpjew6zqJsw9mdIpd6FVJvuFuacqOpSXwAifQ9iHE4keUyghetuuJDGFoTNhfn" crossorigin="anonymous"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/instantsearch-theme-algolia.min.css" integrity="sha384-VzUGdSDk+HLoSg+ptudZxGZyaFVN7q7Eqh7QaUU19cWL2fK0kyz1belH38z7MbcZ" crossorigin="anonymous"> <base href="">
28<script>const search=instantsearch({appId:"UYX4VWZEEN",apiKey:"2e769ad6db81137ccf2e4e23d59f13cd",indexName:"fpiracom_algolia_index"}),hitTemplate=function(e){let a="";e.date&&(a=moment.unix(e.date).format("MMMM D, YYYY"));let s=`${e.url}#${e.anchor}`;const t=e._highlightResult.title.value;let i="";e._highlightResult.headings&&(i=e._highlightResult.headings.map(e=>`# <span class="post-breadcrumb">${e.value}</span>`).join(" > "));return`\n <div class="post-item">\n <h2 class="post-height"><a class="post-link" href="${s}">${t}</a></h2>\n <a href="${s}" class="post-breadcrumbs">${i}</a>\n <div class="post-snippet">${e._highlightResult.html.value}</div>\n <span class="post-meta">${a}</span>\n </div>\n `};search.addWidget(instantsearch.widgets.searchBox({container:"#search-searchbar",placeholder:"Search into posts...",poweredBy:!0})),search.addWidget(instantsearch.widgets.hits({container:"#search-hits",templates:{item:hitTemplate}})),search.start();</script>
28 <style>.ais-search-box{max-width:100%;margin-bottom:15px}.post-item{margin-bottom:30px}.post-height{line-height:100%}.post-link{font-size:24px;font-family:'Merriweather',serif}.post-link .ais-Highlight{font-style:normal;background:#fef8c0}.post-breadcrumbs{color:#424242;display:block}.post-breadcrumb{font-size:18px;color:#424242}.post-breadcrumb .ais-Highlight{font-weight:normal;font-style:normal;background:#fef8c0}.post-snippet .ais-Highlight{font-style:normal;font-weight:normal;background:#fef8c0}.post-snippet img{display:none}</style> </div> </article> </main> </div> <div class="wrapper-footer"> <div class="container reading_container"> <br> <div class="social-icons social-icons-medium center" id="footer-social"> <a href="https://github.com/pirafrank" alt="GitHub" title="GitHub" target="_blank" rel="noopener noreferrer"><i class="fa-brands fa-github"></i></a> <a href="https://linkedin.com/in/pirafrank" alt="LinkedIn" title="LinkedIn" target="_blank" rel="noopener noreferrer"><i class="fa-brands fa-linkedin"></i></a> <a href="https://mastodon.social/@pirafrank" alt="mastodon" title="Mastodon" target="_blank" rel="noopener noreferrer"><i class="fa-brands fa-mastodon"></i></a> <a href="https://bsky.app/profile/pirafrank.bsky.social" alt="bluesky" title="bluesky" target="_blank" rel="noopener noreferrer"><i class="fa-brands fa-bluesky"></i></a> <a href="https://t.me/pirafrank" alt="telegram" title="telegram" target="_blank" rel="noopener noreferrer"><i class="fa-brands fa-telegram"></i></a> <a href="https://threads.net/@pirafrank" alt="threads" title="Threads" target="_blank" rel="noopener noreferrer"><i class="fa-brands fa-threads"></i></a> <a href="https://twitter.com/pirafrank" alt="X (formerly Twitter)" title="X (formerly Twitter)" target="_blank" rel="noopener noreferrer"><i class="fa-brands fa-x-twitter"></i></a> <a href="/feed.xml" alt="RSS feed" title="RSS feed"><i class="fa-solid fa-square-rss"></i></a> </div> <footer> <div class="footer-links"> <div class="container section group"> <div class="col span_4_of_12"> <p> </p> <ul> <li><a href="/code/">Tools and Utilities</a></li> <li><a href="/security/">Security Resources</a></li> <br> </ul> </div> <div class="col span_4_of_12"> <p> </p> <ul> <li><a href="/contacts#verify-my-identity">Identity proofs</a></li> <li><a href="/quotes">Inspiring quotes</a></li> <br> </ul> </div> <div class="col span_4_of_12"> <p> </p> <ul> <li><a href="/about-blog-comments/">About blog comments</a></li> <li><a href="/terms">Terms and policies</a></li> <br> <li class="darkmode-ignore"> <b></ ></b> with ⤠in Sicily.</li> </ul> </div> </div> </div> </footer> </div> </div>
28<script src="/assets/vendor/glightbox/glightbox.min.js"></script>
28
28<script type="text/javascript">const lightbox=GLightbox({touchNavigation:!0,loop:!0,autoplayVideos:!0});</script>
28
28<script src="/assets/vendor/darkmode/darkmode-js.min.js"></script>
28
28<script>var dmOptions={right:"unset",left:"32px",time:"0.3s",backgroundColor:"#fff",buttonColorDark:"#353535",buttonColorLight:"#fff",buttonColorDark:"#353535",saveInCookies:!0,label:"\ud83c\udf13",autoMatchOsTheme:!0};new Darkmode(dmOptions).showWidget();</script>
vendor: 100 bytes, line 28
28 <script defer src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon='{"token": "
28dc9f863da2fe48788d94228c140bd56d
vendor: 15 bytes, line 28
28" }'></script>
28</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.