PageSourceSearch

https://7-bit.xyz/projects/

html 7-bit.xyz collected 2026-10-08 22:56:09 UTC 28,211 bytes, 19 lines download raw bytes

1<!doctype html><html lang=en dir=ltr class=scroll-smooth data-default-appearance=dark data-auto-appearance=false><head><meta charset=utf-8><meta http-equiv=content-language content="en"><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><title>Projects &#183; 7-bit.xyz</title><meta name=title content="Projects &#183; 7-bit.xyz"><meta name=description content="A blog a bit off. Sometimes written in english, a volte in italiano."><link rel=canonical href=https://7-bit.xyz/projects/><link rel=alternate type=application/rss+xml href=/projects/index.xml title=7-bit.xyz><link type=text/css rel=stylesheet href=/css/main.bundle.min.b363f537c7a7ceff7e14373347c39c4fc0d1613a6325f3d4fdc4ecba3d9a80c3800981302fe79597785c7468eddc0d069fc9f211ffad4e91bdc9bcab7f24e7da.css integrity="sha512-s2P1N8enzv9+FDczR8OcT8DRYTpjJfPU/cTsuj2agMOACYEwL+eVl3hcdGjt3A0Gn8nyEf+tTpG9ybyrfyTn2g==">
1<script type=text/javascript src=/js/appearance.min.516a16745bea5a9bd011138d254cc0fd3973cd55ce6e15f3dec763e7c7c2c7448f8fe7b54cca811cb821b0c7e12cd161caace1dd794ac3d34d40937cbcc9ee12.js integrity="sha512-UWoWdFvqWpvQERONJUzA/TlzzVXObhXz3sdj58fCx0SPj+e1TMqBHLghsMfhLNFhyqzh3XlKw9NNQJN8vMnuEg=="></script>
vendor: 1 bytes, line 1
1
2<script defer type=text/javascript id=script-bundle src=/js/main.bundle.min.3ddcf04f5b0d4c32f72e726d3c12eebccd8c3c9f9daa9a13414808895de0ae1e1cdddda6849680d5bd96dbb60d0b1e0b24c29f5c83e5631e55e7e6bc02015490.js integrity="sha512-PdzwT1sNTDL3LnJtPBLuvM2MPJ+dqpoTQUgIiV3grh4c3d2mhJaA1b2W27YNCx4LJMKfXIPlYx5V5+a8AgFUkA==" data-copy data-copied></script>
vendor: 1 bytes, line 2
2
3<script src=/js/zoom.min.js></script>
3
4<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:title" content="Projects"><meta property="og:description" content="A blog a bit off. Sometimes written in english, a volte in italiano."><meta property="og:type" content="website"><meta property="og:url" content="https://7-bit.xyz/projects/"><meta property="og:image" content="https://7-bit.xyz/projects/feature_remy_loz-3S0INpfREQc-unsplash.jpg"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="https://7-bit.xyz/projects/feature_remy_loz-3S0INpfREQc-unsplash.jpg"><meta name=twitter:title content="Projects"><meta name=twitter:description content="A blog a bit off. Sometimes written in english, a volte in italiano."><meta name=author content="Federico Zotti"><link href=mailto:[email protected] rel=me><link href=https://me.7-bit.xyz rel=me><link href=https://github.com/Fede-26 rel=me>
4<script src=/lib/jquery/jquery.slim.min.js integrity></script>
vendor: 1 bytes, line 4
4
5<script async src=https://analytics.umami.is/script.js data-website-id=b64257b2-aeca-41d6-9152-e5db736762d7></script>
5<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">&darr;</span>Skip to main content</a></div><div class=min-h-[148px]></div><div class="fixed inset-x-0 pl-[24px] pr-[24px]" style=z-index:100><div id=menu-blur class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom bg-neutral dark:bg-neutral-800"></div><div class="relative max-w-[64rem] ml-auto mr-auto"><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">7-bit.xyz</a></nav><nav class="hidden md:flex items-center space-x-5 md:ml-12 h-12"><a href=/about/ class="flex items-center"><p class="text-base font-medium text-gray-500 hover:text-gray-900" title=About>About</p></a><a href=/posts/ class="flex items-center"><p class="text-base font-medium text-gray-500 hover:text-gray-900" title="Blog's posts">All posts</p></a><a href=/projects/ class="flex items-center"><p class="text-base font-medium text-gray-500 hover:text-gray-900" title=Projects>Projects</p></a><a href=/guides/ class="flex items-center"><p class="text-base font-medium text-gray-500 hover:text-gray-900" title=Guides>Guides</p></a><a href=/notes/ class="flex items-center"><p class="text-base font-medium text-gray-500 hover:text-gray-900" title=Notes>Notes</p></a><div><div class="cursor-pointer flex items-center nested-menu"><a class="text-base font-medium text-gray-500 hover:text-gray-900" title>Languages</a>
6<span><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentcolor" aria-hidden="true"><path fill-rule="evenodd" d="M5.23 7.21a.75.75.0 011.06.02L10 11.168l3.71-3.938a.75.75.0 111.08 1.04l-4.25 4.5a.75.75.0 01-1.08.0l-4.25-4.5a.75.75.0 01.02-1.06z" clip-rule="evenodd"/></svg></span></span></div><div class="absolute menuhide"><div class="pt-2 p-5 mt-2 rounded-xl backdrop-blur shadow-2xl"><div class="flex flex-col space-y-3"><a href=/langs/english/ class="flex items-center"><p class="text-sm font-sm text-gray-500 hover:text-gray-900" title="English pages">English</p></a><a href=/langs/italian/ class="flex items-center"><p class="text-sm font-sm text-gray-500 hover:text-gray-900" title="Italian pages">Italian</p></a></div></div></div></div><button id=search-button aria-label=Search class="text-base hover:text-primary-600 dark:hover:text-primary-400 h-12" title>
7<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.7 405.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 cursor-pointer text-sm text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400"><button id=appearance-switcher aria-label="Dark mode switcher" type=button><div class="flex items-center justify-center h-12 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 256C32 132.2 132.3 32 255.8 32c11.36.0 29.7 1.668 40.9 3.746 9.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.3 9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480 132.1 480 32 379.6 32 256z"/></svg></span></div><div class="items-center justify-center hidden h-12 dark:flex"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
7<path fill="currentcolor" d="M256 159.1c-53.02.0-95.1 42.98-95.1 95.1s41.2 96.9 95.1 96.9 95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347l-63.2-91.9 63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89 164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6 12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256 2.74 347.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7 19.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-109 109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69.0-127.1-57.31-127.1-127.1.0-70.69 57.31-127.1 127.1-127.1S383.1 186.2 383.1 256c0 70.7-56.4 127.1-127.1 127.1z"/></svg></span></div></button></div></nav><div class="flex md:hidden items-center space-x-5 md:ml-12"><span></span>
8<button id=search-button-mobile aria-label=Search class="text-base hover:text-primary-600 dark:hover:text-primary-400" title>
9<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.7 405.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>
10<button id=appearance-switcher-mobile aria-label="Dark mode switcher" type=button style=margin-right:5px><div class="flex items-center justify-center h-12 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 256C32 132.2 132.3 32 255.8 32c11.36.0 29.7 1.668 40.9 3.746 9.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.3 9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480 132.1 480 32 379.6 32 256z"/></svg></span></div><div class="items-center justify-center hidden h-12 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.1s41.2 96.9 95.1 96.9 95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347l-63.2-91.9 63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89 164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6 12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256 2.74 347.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7 19.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-109 109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69.0-127.1-57.31-127.1-127.1.0-70.69 57.31-127.1 127.1-127.1S383.1 186.2 383.1 256c0 70.7-56.4 127.1-127.1 127.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 64H416c17.7.0 32 14.33 32 32 0 17.7-14.3 32-32 32H32C14.33 128 0 113.7.0 96zM0 256c0-17.7 14.33-32 32-32H416c17.7.0 32 14.3 32 32s-14.3 32-32 32H32c-17.67.0-32-14.3-32-32zM416 448H32c-17.67.0-32-14.3-32-32s14.33-32 32-32H416c17.7.0 32 14.3 32 32s-14.3 32-32 32z"/>
10</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.3 54.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"><p class="text-bg font-bg text-gray-500 hover:text-gray-900" title=About>About</p></a></li><li class=mt-1><a href=/posts/ class="flex items-center"><p class="text-bg font-bg text-gray-500 hover:text-gray-900" title="Blog's posts">All posts</p></a></li><li class=mt-1><a href=/projects/ class="flex items-center"><p class="text-bg font-bg text-gray-500 hover:text-gray-900" title=Projects>Projects</p></a></li><li class=mt-1><a href=/guides/ class="flex items-center"><p class="text-bg font-bg text-gray-500 hover:text-gray-900" title=Guides>Guides</p></a></li><li class=mt-1><a href=/notes/ class="flex items-center"><p class="text-bg font-bg text-gray-500 hover:text-gray-900" title=Notes>Notes</p></a></li><li class=mt-1><a class="flex items-center"><p class="text-bg font-bg text-gray-500 hover:text-gray-900" title>Languages</p><span><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentcolor" aria-hidden="true"><path fill-rule="evenodd" d="M5.23 7.21a.75.75.0 011.06.02L10 11.168l3.71-3.938a.75.75.0 111.08 1.04l-4.25 4.5a.75.75.0 01-1.08.0l-4.25-4.5a.75.75.0 01.02-1.06z" clip-rule="evenodd"/></svg></span></span></a></li><li class=mt-1><a href=/langs/english/ class="flex items-center"><p class="text-sm font-small text-gray-500 hover:text-gray-900" title="English pages">English</p></a></li><li class=mt-1><a href=/langs/italian/ class="flex items-center"><p class="text-sm font-small text-gray-500 hover:text-gray-900" title="Italian pages">Italian</p></a></li><li class=mb-2></li></ul></div></label></div></div></div></div>
10<script>window.addEventListener("scroll",function(){var t=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,n=document.getElementById("menu-blur");n.style.opacity=t/300})</script>
10<div class="relative flex flex-col grow"><main id=main-content class=grow><div id=hero class="h-[150px] md:h-[200px]"></div><div class="fixed inset-x-0 top-0 h-[800px] single_hero_background nozoom" style=background-image:url(/projects/feature_remy_loz-3S0INpfREQc-unsplash_hu3d03a01dcc18bc5be0e67db3d8d209a6_2272075_1200x0_resize_q75_box.jpg)><div class="absolute inset-0 bg-gradient-to-t from-neutral dark:from-neutral-800 to-transparent mix-blend-normal"></div><div class="absolute inset-0 opacity-60 bg-gradient-to-t from-neutral dark:from-neutral-800 to-neutral-100 dark:to-neutral-800 mix-blend-normal"></div></div><div id=background-blur class="fixed opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl"></div>
10<script>window.addEventListener("scroll",function(){var t=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,n=document.getElementById("background-blur");n.style.opacity=t/300})</script>
10<header><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=/>7-bit.xyz</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=/projects/>Projects</a><span class="px-1 text-primary-500">/</span></li></ol><h1 class="mt-5 text-4xl font-extrabold text-neutral-900 dark:text-neutral">Projects</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>
10<script>var oid="views_projects/_index.md",oid_likes="likes_projects/_index.md"</script>
10<script type=text/javascript src=/js/page.min.0e49973b4ad0a382c7c6012d8bff8226316642daabc4f8a20477bd08674f3da6e2fa993bc20ad4f51e7c5bb68e6f913a207a7c4fe37ea0e7b806894afce0a64e.js integrity="sha512-DkmXO0rQo4LHxgEti/+CJjFmQtqrxPiiBHe9CGdPPabi+pk7wgrU9R58W7aOb5E6IHp8T+N+oOe4BolK/OCmTg=="></script>
10</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"><p>These are some of my projects, with some documentation and history.</p><a class="!rounded-md bg-primary-600 px-4 py-2 !text-neutral !no-underline hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700" href=https://fede-26.github.io/portfolio target=_blank role=button>Portfolio</a></div></section><h2 class="mt-12 mb-3 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300">2023</h2><section class="w-full grid gap-4 sm:grid-cols-2 md:grid-cols-3"><a href=/projects/review-of-tnbh/ class=min-w-full><div class="min-h-full border border-neutral-200 dark:border-neutral-700 border-2 rounded overflow-hidden shadow-2xl relative backdrop-blur"><div class="w-full thumbnail_card nozoom" style=background-image:url(/projects/review-of-tnbh/featured_hu46b23000f93884c5d435f475bb2fce55_23399_600x0_resize_box_3.png)></div><div class="px-6 py-4"><div class="font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral" href=/projects/review-of-tnbh/>Review of: TNBH - Tim Numeri Brevi Helper</div><div class="text-sm text-neutral-500 dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><time datetime="2023-08-02 18:43:52 +0200 +0200">2 August 2023</time><span class="px-2 text-primary-500">&#183;</span><span>415 words</span><span class="px-2 text-primary-500">&#183;</span><span title="Reading time">2 mins</span></div><div class="flex flex-row flex-wrap items-center"></div></div></div><div class="px-6 pt-4 pb-2"></div></div></a><a href=https://github.com/fede-26/gameboy-emu target=_blank rel=external class=min-w-full><div class="min-h-full border border-neutral-200 dark:border-neutral-700 border-2 rounded overflow-hidden shadow-2xl relative backdrop-blur"><div class="w-full thumbnail_card nozoom" style=background-image:url(/projects/gameboy-emu/feature_ravi-palwe-LHK8D6VuItU-unsplash_hu3d03a01dcc18bc5be0e67db3d8d209a6_2596695_600x0_resize_q75_box.jpg)></div><div class="px-6 py-4"><div><div class="font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral">GameBoy emulator in Rust
11<span class="text-xs align-top cursor-default text-neutral-400 dark:text-neutral-500"><span class=rtl:hidden>&#8599;</span>
12<span class=ltr:hidden>&#8598;</span></span></div></div><div class="text-sm text-neutral-500 dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><time datetime="2023-04-02 00:00:00 +0000 UTC">2 April 2023</time></div><div class="flex flex-row flex-wrap items-center"></div></div></div><div class="px-6 pt-4 pb-2"></div></div></a><a href=https://github.com/fede-26/daniloh-rs target=_blank rel=external class=min-w-full><div class="min-h-full border border-neutral-200 dark:border-neutral-700 border-2 rounded overflow-hidden shadow-2xl relative backdrop-blur"><div class="w-full thumbnail_card nozoom" style=background-image:url(/projects/daniloh-rs/feature_screenshot_huce10f825019965bc29aaf1cd15d939d8_6406_600x0_resize_box_3.png)></div><div class="px-6 py-4"><div><div class="font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral">DANILOH: Fluid simulation in Rust
13<span class="text-xs align-top cursor-default text-neutral-400 dark:text-neutral-500"><span class=rtl:hidden>&#8599;</span>
14<span class=ltr:hidden>&#8598;</span></span></div></div><div class="text-sm text-neutral-500 dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><time datetime="2023-03-02 00:00:00 +0000 UTC">2 March 2023</time></div><div class="flex flex-row flex-wrap items-center"></div></div></div><div class="px-6 pt-4 pb-2"></div></div></a></section><h2 class="mt-12 mb-3 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300">2022</h2><section class="w-full grid gap-4 sm:grid-cols-2 md:grid-cols-3"><a href=/projects/syslogd-rust/ class=min-w-full><div class="min-h-full border border-neutral-200 dark:border-neutral-700 border-2 rounded overflow-hidden shadow-2xl relative backdrop-blur"><div class="w-full thumbnail_card nozoom" style=background-image:url(/projects/syslogd-rust/feature_mermaid-diagram-2023-08-01-191110_hu4a4f67e1937e5e3e5a1daf1fcb8f941f_49494_600x0_resize_box_3.png)></div><div class="px-6 py-4"><div class="font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral" href=/projects/syslogd-rust/>Syslogd server in Rust</div><div class="text-sm text-neutral-500 dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><time datetime="2022-12-24 00:00:00 +0000 UTC">24 December 2022</time><span class="px-2 text-primary-500">&#183;</span><span>363 words</span><span class="px-2 text-primary-500">&#183;</span><span title="Reading time">2 mins</span></div><div class="flex flex-row flex-wrap items-center"></div></div></div><div class="px-6 pt-4 pb-2"></div></div></a><a href=/projects/blog_os/ class=min-w-full><div class="min-h-full border border-neutral-200 dark:border-neutral-700 border-2 rounded overflow-hidden shadow-2xl relative backdrop-blur"><div class="w-full thumbnail_card nozoom" style=background-image:url(/projects/blog_os/feature_vishnu-mohanan-zs4gtT8thO
140-unsplash_hu3d03a01dcc18bc5be0e67db3d8d209a6_2128363_600x0_resize_q75_box.jpg)></div><div class="px-6 py-4"><div class="font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral" href=/projects/blog_os/>Operating System x86 in Rust</div><div class="text-sm text-neutral-500 dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><time datetime="2022-08-07 00:00:00 +0000 UTC">7 August 2022</time><span class="px-2 text-primary-500">&#183;</span><span>497 words</span><span class="px-2 text-primary-500">&#183;</span><span title="Reading time">3 mins</span></div><div class="flex flex-row flex-wrap items-center"></div></div></div><div class="px-6 pt-4 pb-2"></div></div></a><a href=https://github.com/fede-26/syslogd-go target=_blank rel=external class=min-w-full><div class="min-h-full border border-neutral-200 dark:border-neutral-700 border-2 rounded overflow-hidden shadow-2xl relative backdrop-blur"><div class="w-full thumbnail_card nozoom" style=background-image:url(/projects/syslogd-go/feature_mermaid-diagram-2023-08-01-191110_hu4a4f67e1937e5e3e5a1daf1fcb8f941f_55947_600x0_resize_box_3.png)></div><div class="px-6 py-4"><div><div class="font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral">Syslog server in Go
15<span class="text-xs align-top cursor-default text-neutral-400 dark:text-neutral-500"><span class=rtl:hidden>&#8599;</span>
16<span class=ltr:hidden>&#8598;</span></span></div></div><div class="text-sm text-neutral-500 dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><time datetime="2022-01-25 00:00:00 +0000 UTC">25 January 2022</time></div><div class="flex flex-row flex-wrap items-center"></div></div></div><div class="px-6 pt-4 pb-2"></div></div></a></section><h2 class="mt-12 mb-3 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300">2021</h2><section class="w-full grid gap-4 sm:grid-cols-2 md:grid-cols-3"><a href=https://github.com/fede-26/fluidoh target=_blank rel=external class=min-w-full><div class="min-h-full border border-neutral-200 dark:border-neutral-700 border-2 rounded overflow-hidden shadow-2xl relative backdrop-blur"><div class="w-full thumbnail_card nozoom" style=background-image:url(/projects/fluidoh/feature_screenshot-py_hu79a81c1b1375c09b025828278218c38c_3200_600x0_resize_box_3.png)></div><div class="px-6 py-4"><div><div class="font-bold text-xl text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral">FLUIDOH: Fluid simulation in Python
17<span class="text-xs align-top cursor-default text-neutral-400 dark:text-neutral-500"><span class=rtl:hidden>&#8599;</span>
18<span class=ltr:hidden>&#8598;</span></span></div></div><div class="text-sm text-neutral-500 dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><time datetime="2021-03-03 00:00:00 +0000 UTC">3 March 2021</time></div><div class="flex flex-row flex-wrap items-center"></div></div></div><div class="px-6 pt-4 pb-2"></div></div></a></section><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 backdrop-blur 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">&uarr;</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">Copy, <em>right?</em> 🤔 (CC BY-NC-SA 4.0)</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>
18<script>mediumZoom(document.querySelectorAll("img:not(.nozoom)"),{margin:24,background:"rgba(0,0,0,0.5)",scrollOffset:0})</script>
18<script type=text/javascript src=/js/process.min.35c1113bcc16c5a59bf031082f9e63822aa95280423881a7847a7ff33a16e6299ce6a840d9ef4e10d947e030a18f3f20359afb2ec0f35967484b9a9360ac3145.js integrity="sha512-NcERO8wWxaWb8DEIL55jgiqpUoBCOIGnhHp/8zoW5imc5qhA2e9OENlH4DChjz8gNZr7LsDzWWdIS5qTYKwxRQ=="></script>
18</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=https://7-bit.xyz/ 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.7 405.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=Search 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)">
19<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.3 54.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>

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.