My niche might now be figured out. Capsicum discusses eliminating dual-coding by only being in the code, at the cost of potential static analysis. By using high-level language integrations, I think that my solution can achieve both being integral to the code and having a static description."><metaname=authorcontent="Jake Hillion"><linkrel=canonicalhref=https://blog.hillion.co.uk/posts/weekly-2022-03-14/><linkcrossorigin=anonymoushref=/assets/css/stylesheet.min.48a18943c2fc15c38a372b8dde1f5e5dc0bc64fa6cb90f5a817d2f8c76b7f3ae.cssintegrity="sha256-SKGJQ8L8FcOKNyuN3h9eXcC8ZPpsuQ9agX0vjHa3864="rel="preload stylesheet"as=style><scriptdefercrossorigin=anonymoussrc=/assets/js/highlight.min.b95bacdc39e37a332a9f883b1e78be4abc1fdca2bc1f2641f55e3cd3dabd4d61.jsintegrity="sha256-uVus3DnjejMqn4g7Hni+Srwf3KK8HyZB9V4809q9TWE="onload=hljs.initHighlightingOnLoad()></script>
<script>vardoNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];functiongtag(){dataLayer.push(arguments)}gtag("js",newDate),gtag("config","G-4CXXF49E7M",{anonymize_ip:!1})}</script><metaproperty="og:title"content="Jake's Weekly - 14th March 2022"><metaproperty="og:description"content="ResearchProjectReadCapsicum(Watsonetal.,2010)Ire-readthispaper,butinthecontextofmyproject’swork,itprovidedsomeincrediblyusefulinsight.I’velistedthemostimportanttakeawayshere,buttherearemore.
My niche might now be figured out. Capsicum discusses eliminating dual-coding by only being in the code, at the cost of potential static analysis. By using high-level language integrations, I think that my solution can achieve both being integral to the code and having a static description."><metaproperty="og:type"content="article"><metaproperty="og:url"content="https://blog.hillion.co.uk/posts/weekly-2022-03-14/"><metaproperty="article:section"content="posts"><metaproperty="article:published_time"content="2022-03-14T11:00:00+00:00"><metaproperty="article:modified_time"content="2022-03-14T11:00:00+00:00"><metaproperty="og:site_name"content="Jake Hillion"><metaname=twitter:cardcontent="summary"><metaname=twitter:titlecontent="Jake's Weekly - 14th March 2022"><metaname=twitter:descriptioncontent="ResearchProjectReadCapsicum(Watsonetal.,2010)Ire-readthispaper,butinthecontextofmyproject’swork,itprovidedsomeincrediblyusefulinsight.I’velistedthemostimportanttakeawayshere,buttherearemore.
My niche might now be figured out. Capsicum discusses eliminating dual-coding by only being in the code, at the cost of potential static analysis. By using high-level language integrations, I think that my solution can achieve both being integral to the code and having a static description."><scripttype=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Posts","item":"https://blog.hillion.co.uk/posts/"},{"@type":"ListItem","position":2,"name":"Jake's Weekly - 14th March 2022","item":"https://blog.hillion.co.uk/posts/weekly-2022-03-14/"}]}</script><scripttype=application/ld+json>{"@context":"https://schema.org","@type":"BlogPosting","headline":"Jake'sWeekly-14thMarch2022","name":"Jake\u0027sWeekly-14thMarch2022","description":"ResearchProjectReadCapsicum(Watsonetal.,2010)Ire-readthispaper,butinthecontextofmyproject\u0026rsquo;swork,itprovidedsomeincrediblyusefulinsight.I\u0026rsquo;velistedthemostimportanttakeawayshere,buttherearemore.\nMynichemightnowbefiguredout.Capsicumdiscusseseliminatingdual-codingbyonlybeinginthecode,atthecostofpotentialstaticanalysis.Byusinghigh-levellanguageintegrations,Ithinkthatmysolutioncanachievebothbeingintegraltothecodeandhavingastaticdescription.","keywords":[],"articleBody":"ResearchProjectReadCapsicum(Watsonetal.,2010)Ire-readthispaper,butinthecontextofmyproject’swork,itprovidedsomeincrediblyusefulinsight.I’velistedthemostimportanttakeawayshere,buttherearemore.\nMynichemightnowbefiguredout.Capsicumdiscusseseliminatingdual-codingbyonlybeinginthecode,atthecostofpotentialstaticanalysis.Byusinghigh-levellanguageintegrations,Ithinkthatmysolutioncanachievebothbeingintegraltothecodeandhavingastaticdescription.\nIshouldreplacemycpexamplewithmodifyinggzip.TheyrunintoverysimilarprivilegeseparationproblemsbutgzipisabitmoreinterestingandallowsforcomparisonwithCapsicumifitbecomesrelevant.\nManyofthefiguresalignwellwithwhatI’mtryingtoachieve.Learningfromsomeoftheseandcreatingsimilarformyprojectwilllikelybevaluable.\nTheoverallconclusionshereisthattheworkisfairlysimilarbuttakingadifferentapproach.Comparisonsareworthwhile.\nWroteanearlydissertationdraftI’vebeeninabitofaslumpandsomeoftheworkdirectionswerefeelingalittleaimless.Tocounteractthis,Ihavewrittenadissertationdraft(pre-alpha…).\nIntheACMpaperformat,asIhavebecomemostfamiliarwithreadingandreviewingpapersofthisformat.Thiswill(hopefully)allowmetoreviewmyownworkeffectively.\nWrotearelatedworksection.\nStarteddefiningathreatmodel,mayexpanditdependingonhowmuchroomisavailable.\nStarteddefiningtheuniquecontributionsofthisproject.\nWrotesomefilleronrelatedwork(containers,systemdandCapsicum).\nStartedcreatingfigures(thesearealsoveryalpha).\nWrotecodelistingsandtextasiffeaturesarefinished,tomotivatefinishingthefeatures.\nTheworkisavailablehereonOverleaf(permissionsrequired),hereonGitea(nopermissionsrequired),andacurrentdraftisavailablehere.\nUpNextThisupnextsectionisbuiltfromthegapsfoundwhenwritingmydraft.Thatis,thefeatureswhicharebestsuitedtomakethedissertationflowproperly.\nAnalysethedifferentfiledescriptorpassingmethodsandfinish§3.1withacomparison.\nFinishnetworking.AcleardesignforthisnowexistsinFigure2.\nWriteanoverridessystemforthespecification.E.g.aDNSservermightdefaulttoport53statically,butthereneedstobesomewaytomodifythiswhenexecutingtheapplication.Shouldbetrivial.WriteaverybasicTLSserver(perhapshelloworld)totakeadvantageofthisbeforemovingontotheproperTLSserver.Writeaprivilegeseparatedgzip.\nWorkingonthelanguagefrontendforRust(first)isgoingtobeextre
<spanclass=logo-switches><buttonid=theme-toggleaccesskey=ttitle="(Alt + T)"><svgid="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"><pathd="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svgid="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"><circlecx="12"cy="12"r="5"/><linex1="12"y1="1"x2="12"y2="3"/><linex1="12"y1="21"x2="12"y2="23"/><linex1="4.22"y1="4.22"x2="5.64"y2="5.64"/><linex1="18.36"y1="18.36"x2="19.78"y2="19.78"/><linex1="1"y1="12"x2="3"y2="12"/><linex1="21"y1="12"x2="23"y2="12"/><linex1="4.22"y1="19.78"x2="5.64"y2="18.36"/><linex1="18.36"y1="5.64"x2="19.78"y2="4.22"/></svg></button></span></div><ulid=menu><li><ahref=https://blog.hillion.co.uk/categories/title=categories><span>categories</span></a></li><li><ahref=https://blog.hillion.co.uk/tags/title=tags><span>tags</span></a></li></ul></nav></header><mainclass=main><articleclass=post-single><headerclass=post-header><divclass=breadcrumbs><ahref=https://blog.hillion.co.uk/>Home</a> » <ahref=https://blog.hillion.co.uk/posts/>Posts</a></div><h1class=post-title>Jake's Weekly - 14th March 2022</h1><divclass=post-meta><spantitle='2022-03-14 11:00:00 +0000 UTC'>March 14, 2022</span> · 3 min · Jake Hillion</div></header><divclass=post-content><h2id=research-project>Research Project<ahiddenclass=anchoraria-hidden=truehref=#research-project>#</a></h2><h3id=read-capsicum-watson-et-al-2010>Read Capsicum (Watson et al., 2010)<ahiddenclass=anchoraria-hidden=truehref=#read-capsicum-watson-et-al-2010>#</a></h3><p>I re-read this paper, but in the context of my project’s work, it provided some incredibly useful insight. I’ve listed the most important takeaways here, but there are more.</p><ul><li><p>My niche might now be figured out. Capsicum discusses eliminating dual-coding by only being in the code, at the cost of potential static analysis. By using high-level language integrations, I think that my solution can achieve both being integral to the code and having a static description.</p></li><li><p>I should replace my <code>cp</code> example with modifying <code>gzip</code>. They run into very similar privilege separation problems but <code>gzip</code> is a bit more interesting and allows for comparison with Capsicum if it becomes relevant.</p></li><li><p>Many of the figures align well with what I’m trying to achieve. Learning from some of these and creating similar for my project will likely be valuable.</p></li></ul><p>The overall conclusions here is that the work is fairly similar but taking a different approach. Comparisons are worthwhile.</p><h3id=wrote-an-early-dissertation-draft>Wrote an early dissertation draft<ahiddenclass=anchoraria-hidden=truehref=#wrote-an-early-dissertation-draft>#</a></h3><p>I’ve been in a bit of a slump and some of the work directions were feeling a little aimless. To counteract this, I have written a dissertation draft (pre-alpha…).</p><ul><li><p>In the ACM paper format, as I have become most familiar with reading and reviewing papers of this format. This will (hopefully) allow me to review my own work effectively.</p></li><li><p>Wrote a related work section.</p></li><li><p>Started defining a threat model, may expand it depending on how much room is available.</p></li><li><p>Started defining the unique contributions of this project.</p></li><li><p>Wrote some filler on related work (containers, systemd and Capsicum).</p></li><li><p>Started creating figures (these are also very alpha).</p></li><li><p>Wrote code listings and text as if features are finished, to motivate finishing the features.</p></li><li><p>The work is available <ahref=https://www.overleaf.com/project/6227c8e96fcdc06e56454f24>here</a> on Overleaf (permissions required), <ahref
<ahref=https://git.io/hugopapermodrel=noopenertarget=_blank>PaperMod</a></span></footer><ahref=#toparia-label="go to top"title="Go to Top (Alt + G)"class=top-linkid=top-linkaccesskey=g><svgxmlns="http://www.w3.org/2000/svg"viewBox="0 0 12 6"fill="currentcolor"><pathd="M12 6H0l6-6z"/></svg></a><script>letmenu=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();vart=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>varmybutton=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>