www/blog.hillion.co.uk/posts/index.html
2024-01-13 14:16:56 +00:00

13 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html><html lang=en dir=auto><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><title>Posts | Jake Hillion</title><meta name=keywords content><meta name=description content="Posts - Jake Hillion"><meta name=author content="Jake Hillion"><link rel=canonical href=https://blog.hillion.co.uk/posts/><link crossorigin=anonymous href=/assets/css/stylesheet.min.48a18943c2fc15c38a372b8dde1f5e5dc0bc64fa6cb90f5a817d2f8c76b7f3ae.css integrity="sha256-SKGJQ8L8FcOKNyuN3h9eXcC8ZPpsuQ9agX0vjHa3864=" rel="preload stylesheet" as=style><link rel=icon href=https://blog.hillion.co.uk/favicon.ico><link rel=icon type=image/png sizes=16x16 href=https://blog.hillion.co.uk/favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href=https://blog.hillion.co.uk/favicon-32x32.png><link rel=apple-touch-icon href=https://blog.hillion.co.uk/apple-touch-icon.png><link rel=mask-icon href=https://blog.hillion.co.uk/safari-pinned-tab.svg><meta name=theme-color content="#2e2e33"><meta name=msapplication-TileColor content="#2e2e33"><link rel=alternate type=application/rss+xml href=https://blog.hillion.co.uk/posts/index.xml><noscript><style>#theme-toggle,.top-link{display:none}</style><style>@media(prefers-color-scheme:dark){:root{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--hljs-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--theme)}.list:not(.dark)::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-thumb{border-color:var(--theme)}}</style></noscript><script async src="https://www.googletagmanager.com/gtag/js?id=G-4CXXF49E7M"></script>
<script>var doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-4CXXF49E7M",{anonymize_ip:!1})}</script><meta property="og:title" content="Posts"><meta property="og:description" content="Jake Hillion's Blog"><meta property="og:type" content="website"><meta property="og:url" content="https://blog.hillion.co.uk/posts/"><meta property="og:site_name" content="Jake Hillion"><meta name=twitter:card content="summary"><meta name=twitter:title content="Posts"><meta name=twitter:description content="Jake Hillion's Blog"><script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Posts","item":"https://blog.hillion.co.uk/posts/"}]}</script></head><body class=list id=top><script>localStorage.getItem("pref-theme")==="dark"?document.body.classList.add("dark"):localStorage.getItem("pref-theme")==="light"?document.body.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches&&document.body.classList.add("dark")</script><header class=header><nav class=nav><div class=logo><a href=https://blog.hillion.co.uk/ accesskey=h title="Jake Hillion (Alt + H)">Jake Hillion</a>
<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://blog.hillion.co.uk/categories/ title=categories><span>categories</span></a></li><li><a href=https://blog.hillion.co.uk/tags/ title=tags><span>tags</span></a></li></ul></nav></header><main class=main><header class=page-header><div class=breadcrumbs><a href=https://blog.hillion.co.uk/>Home</a></div><h1>Posts</h1></header><article class=post-entry><header class=entry-header><h2>Void Processes: Minimising privilege by default</h2></header><section class=entry-content><p>Recently I concluded the work on my Part III (M.Eng) dissertation. This was on Void Processes, a mechanism to statically distribute fine-grained privilege to application processes on Linux.
My dissertation is available here. I plan to make a series of posts over the next few weeks documenting my findings in smaller snippets, particularly the experience of voiding mount namespaces. In the future, I hope to produce some work which increases the performance of creating empty namespaces....</p></section><footer class=entry-footer><span title='2022-06-06 14:00:00 +0100 +0100'>June 6, 2022</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;Jake Hillion</footer><a class=entry-link aria-label="post link to Void Processes: Minimising privilege by default" href=https://blog.hillion.co.uk/posts/void-processes/dissertation/></a></article><article class=post-entry><header class=entry-header><h2>Jake's Weekly - 2nd May 2022</h2></header><section class=entry-content><p>Research Project Dissertation draft A block of progress on the stuff learnt so far and how each of the namespaces can be modified to create a void. The work is available here on Overleaf (permissions required), here on Gitea (no permissions required), and a current draft is available here.
Finished Table 1 (history of namespaces).
I havent mentioned it in the write up but this was horrible to firstly find the answers to and secondly to cite....</p></section><footer class=entry-footer><span title='2022-05-02 11:00:00 +0000 UTC'>May 2, 2022</span>&nbsp;·&nbsp;5 min&nbsp;·&nbsp;Jake Hillion</footer><a class=entry-link aria-label="post link to Jake's Weekly - 2nd May 2022" href=https://blog.hillion.co.uk/posts/weekly-05-02/></a></article><article class=post-entry><header class=entry-header><h2>Jake's Weekly - 25th April 2022</h2></header><section class=entry-content><p>Research Project Dissertation draft A block of progress on the stuff learnt so far and how each of the namespaces can be modified to create a void. The work is available here on Overleaf (permissions required), here on Gitea (no permissions required), and a current draft is available here.
Finished Table 1 (history of namespaces).
I havent mentioned it in the write up but this was horrible to firstly find the answers to and secondly to cite....</p></section><footer class=entry-footer><span title='2022-04-25 11:00:00 +0000 UTC'>April 25, 2022</span>&nbsp;·&nbsp;5 min&nbsp;·&nbsp;Jake Hillion</footer><a class=entry-link aria-label="post link to Jake's Weekly - 25th April 2022" href=https://blog.hillion.co.uk/posts/weekly-2022-04-25/></a></article><article class=post-entry><header class=entry-header><h2>Jake's Weekly - 28th March 2022</h2></header><section class=entry-content><p>Research Project Programming Built a new VoidBuilder struct to better align with how creating a void is described in the writing (void.rs).
A new builder describes a complete Linux void. Methods allow you to make it less of a void as you see fit. This aligns well with the structure in the write up. Creating a void first then adding only precisely what is needed to it. Its also a much higher level API thats object oriented....</p></section><footer class=entry-footer><span title='2022-03-28 11:00:00 +0000 UTC'>March 28, 2022</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;Jake Hillion</footer><a class=entry-link aria-label="post link to Jake's Weekly - 28th March 2022" href=https://blog.hillion.co.uk/posts/weekly-2022-03-28/></a></article><article class=post-entry><header class=entry-header><h2>Chia Database Torrents 🌱👨‍💻🌐</h2></header><section class=entry-content><p>Having trouble keeping your Chia database in sync? Database corruption leading to days or weeks of syncing? These Chia database torrents might help you out.
I had the same problem myself, and tried to backup the database file like I would most things. Unfortunately it snapshots and deduplicates incredibly poorly, as much of the file changes almost immediately after restarting. Given that I cant be the only one having these problems, I extended my backup script to create torrents of the database when I snapshot it....</p></section><footer class=entry-footer><span title='2022-03-22 13:00:00 +0000 UTC'>March 22, 2022</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;Jake Hillion</footer><a class=entry-link aria-label="post link to Chia Database Torrents 🌱👨‍💻🌐" href=https://blog.hillion.co.uk/posts/chia-db-torrents/></a></article><footer class=page-footer><nav class=pagination><a class=next href=https://blog.hillion.co.uk/posts/page/2/>Next Page »</a></nav></footer></main><footer class=footer><span>&copy; 2024 <a href=https://blog.hillion.co.uk/>Jake Hillion</a></span>
<span>Powered by
<a href=https://gohugo.io/ rel="noopener noreferrer" target=_blank>Hugo</a> &
<a href=https://git.io/hugopapermod rel=noopener target=_blank>PaperMod</a></span></footer><a href=#top aria-label="go to top" title="Go to Top (Alt + G)" class=top-link id=top-link accesskey=g><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentcolor"><path d="M12 6H0l6-6z"/></svg></a><script>let menu=document.getElementById("menu");menu&&(menu.scrollLeft=localStorage.getItem("menu-scroll-position"),menu.onscroll=function(){localStorage.setItem("menu-scroll-position",menu.scrollLeft)}),document.querySelectorAll('a[href^="#"]').forEach(e=>{e.addEventListener("click",function(e){e.preventDefault();var t=this.getAttribute("href").substr(1);window.matchMedia("(prefers-reduced-motion: reduce)").matches?document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView():document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView({behavior:"smooth"}),t==="top"?history.replaceState(null,null," "):history.pushState(null,null,`#${t}`)})})</script><script>var mybutton=document.getElementById("top-link");window.onscroll=function(){document.body.scrollTop>800||document.documentElement.scrollTop>800?(mybutton.style.visibility="visible",mybutton.style.opacity="1"):(mybutton.style.visibility="hidden",mybutton.style.opacity="0")}</script><script>document.getElementById("theme-toggle").addEventListener("click",()=>{document.body.className.includes("dark")?(document.body.classList.remove("dark"),localStorage.setItem("pref-theme","light")):(document.body.classList.add("dark"),localStorage.setItem("pref-theme","dark"))})</script></body></html>