www/blog.hillion.co.uk/posts/index.html

13 lines
11 KiB
HTML
Raw Normal View History

2023-01-07 22:30:40 +00:00
<!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.
2024-01-13 14:16:56 +00:00
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>
2023-01-07 22:30:40 +00:00
<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>