From df770c37c9f62edd24262ef8224fd5c507de4918 Mon Sep 17 00:00:00 2001 From: Zachary Billman Date: Wed, 26 Feb 2025 20:07:41 -0500 Subject: [PATCH] Remove abberrant lines at the top of the page! --- layouts/partials/extend_head.html | 4 +-- public/404.html | 6 ++--- ...d6dd0e00cd0327f8ac83fbff028c3327c851fc.css | 7 ++++++ ...cca5b463a9b9b52d2b8ebc67c07e5532beba3c.css | 7 ++++++ public/categories/birding/index.html | 6 ++--- public/categories/coffee/index.html | 6 ++--- public/categories/index.html | 6 ++--- public/categories/science/index.html | 6 ++--- public/categories/selfhosting/index.html | 6 ++--- public/fonts/VictorMono-Bold.ttf | Bin 0 -> 207184 bytes public/fonts/VictorMono-BoldItalic.ttf | Bin 0 -> 256064 bytes public/fonts/VictorMono-Italic.ttf | Bin 0 -> 245568 bytes public/fonts/VictorMono-Medium.ttf | Bin 0 -> 203788 bytes public/fonts/VictorMono-MediumItalic.ttf | Bin 0 -> 252844 bytes public/fonts/VictorMono-Regular.ttf | Bin 0 -> 201740 bytes public/index.html | 6 ++--- public/index.json | 2 +- public/posts/about-me/index.html | 6 ++--- public/posts/index.html | 6 ++--- .../posts/my-selfhosting-journey/index.html | 6 ++--- .../posts/roasting-coffee-at-home/index.html | 23 +++--------------- .../index.html | 6 ++--- .../the-uncommon-yellowthroat/index.html | 23 +++--------------- .../posts/zpb-current-selfhosted/index.html | 6 ++--- public/search/index.html | 6 ++--- public/tags/birding/index.html | 6 ++--- public/tags/coffee/index.html | 6 ++--- public/tags/foss/index.html | 6 ++--- public/tags/index.html | 6 ++--- public/tags/masonfarm/index.html | 6 ++--- public/tags/science/index.html | 6 ++--- public/tags/selfhosting/index.html | 6 ++--- public/tags/yellowthroat/index.html | 6 ++--- 33 files changed, 86 insertions(+), 106 deletions(-) create mode 100644 public/assets/css/stylesheet.213f7b63ba5ab081b21f97e5bed6dd0e00cd0327f8ac83fbff028c3327c851fc.css create mode 100644 public/assets/css/stylesheet.7edecfa683a100b2deb122bbb4cca5b463a9b9b52d2b8ebc67c07e5532beba3c.css create mode 100755 public/fonts/VictorMono-Bold.ttf create mode 100755 public/fonts/VictorMono-BoldItalic.ttf create mode 100755 public/fonts/VictorMono-Italic.ttf create mode 100755 public/fonts/VictorMono-Medium.ttf create mode 100755 public/fonts/VictorMono-MediumItalic.ttf create mode 100755 public/fonts/VictorMono-Regular.ttf diff --git a/layouts/partials/extend_head.html b/layouts/partials/extend_head.html index d9de7d2..23f4509 100644 --- a/layouts/partials/extend_head.html +++ b/layouts/partials/extend_head.html @@ -1,7 +1,7 @@ -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/404.html b/public/404.html index 0465c69..6afb9e9 100644 --- a/public/404.html +++ b/public/404.html @@ -10,7 +10,7 @@ - + @@ -27,10 +27,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/assets/css/stylesheet.213f7b63ba5ab081b21f97e5bed6dd0e00cd0327f8ac83fbff028c3327c851fc.css b/public/assets/css/stylesheet.213f7b63ba5ab081b21f97e5bed6dd0e00cd0327f8ac83fbff028c3327c851fc.css new file mode 100644 index 0000000..e81465f --- /dev/null +++ b/public/assets/css/stylesheet.213f7b63ba5ab081b21f97e5bed6dd0e00cd0327f8ac83fbff028c3327c851fc.css @@ -0,0 +1,7 @@ +/* + PaperMod v8+ + License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE + Copyright (c) 2020 nanxiaobei and adityatelange + Copyright (c) 2021-2025 adityatelange +*/ +:root{--gap:24px;--content-gap:20px;--nav-width:1024px;--main-width:720px;--header-height:60px;--footer-height:60px;--radius:8px;--theme:rgb(255, 255, 255);--entry:rgb(255, 255, 255);--primary:rgb(30, 30, 30);--secondary:rgb(108, 108, 108);--tertiary:rgb(214, 214, 214);--content:rgb(31, 31, 31);--code-block-bg:rgb(28, 29, 33);--code-bg:rgb(245, 245, 245);--border:rgb(238, 238, 238)}.dark{--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);--code-block-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--code-bg)}.dark.list{background:var(--theme)}*,::after,::before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;overflow-y:scroll;-webkit-text-size-adjust:100%;text-size-adjust:100%}a,button,body,h1,h2,h3,h4,h5,h6{color:var(--primary)}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;font-size:18px;line-height:1.6;word-break:break-word;background:var(--theme)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section,table{display:block}h1,h2,h3,h4,h5,h6{line-height:1.2}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}ul{padding:0}a{text-decoration:none}body,figure,ul{margin:0}table{width:100%;border-collapse:collapse;border-spacing:0;overflow-x:auto;word-break:keep-all}button,input,textarea{padding:0;font:inherit;background:0 0;border:0}input,textarea{outline:0}button,input[type=button],input[type=submit]{cursor:pointer}input:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 50px var(--theme)inset}img{display:block;max-width:100%}.not-found{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;height:80%;font-size:160px;font-weight:700}.archive-posts{width:100%;font-size:16px}.archive-year{margin-top:40px}.archive-year:not(:last-of-type){border-bottom:2px solid var(--border)}.archive-month{display:flex;align-items:flex-start;padding:10px 0}.archive-month-header{margin:25px 0;width:200px}.archive-month:not(:last-of-type){border-bottom:1px solid var(--border)}.archive-entry{position:relative;padding:5px;margin:10px 0}.archive-entry-title{margin:5px 0;font-weight:400}.archive-count,.archive-meta{color:var(--secondary);font-size:14px}.footer,.top-link{font-size:12px;color:var(--secondary)}.footer{max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:calc((var(--footer-height) - var(--gap))/2)var(--gap);text-align:center;line-height:24px}.footer span{margin-inline-start:1px;margin-inline-end:1px}.footer span:last-child{white-space:nowrap}.footer a{color:inherit;border-bottom:1px solid var(--secondary)}.footer a:hover{border-bottom:1px solid var(--primary)}.top-link{visibility:hidden;position:fixed;bottom:60px;right:30px;z-index:99;background:var(--tertiary);width:42px;height:42px;padding:12px;border-radius:64px;transition:visibility .5s,opacity .8s linear}.top-link,.top-link svg{filter:drop-shadow(0 0 0 var(--theme))}.footer a:hover,.top-link:hover{color:var(--primary)}.top-link:focus,#theme-toggle:focus{outline:0}.nav{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:calc(var(--nav-width) + var(--gap) * 2);margin-inline-start:auto;margin-inline-end:auto;line-height:var(--header-height)}.nav a{display:block}.logo,#menu{display:flex;margin:auto var(--gap)}.logo{flex-wrap:inherit}.logo a{font-size:24px;font-weight:700}.logo a img,.logo a svg{display:inline;vertical-align:middle;pointer-events:none;transform:translate(0,-10%);border-radius:6px;margin-inline-end:8px}button#theme-toggle{font-size:26px;margin:auto 4px}body.dark #moon{vertical-align:middle;display:none}body:not(.dark) #sun{display:none}#menu{list-style:none;word-break:keep-all;overflow-x:auto;white-space:nowrap}#menu li+li{margin-inline-start:var(--gap)}#menu a{font-size:16px}#menu .active{font-weight:500;border-bottom:2px solid}.lang-switch li,.lang-switch ul,.logo-switches{display:inline-flex;margin:auto 4px}.lang-switch{display:flex;flex-wrap:inherit}.lang-switch a{margin:auto 3px;font-size:16px;font-weight:500}.logo-switches{flex-wrap:inherit}.main{position:relative;min-height:calc(100vh - var(--header-height) - var(--footer-height));max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:var(--gap)}.page-header h1{font-size:40px}.pagination{display:flex}.pagination a{color:var(--theme);font-size:13px;line-height:36px;background:var(--primary);border-radius:calc(36px/2);padding:0 16px}.pagination .next{margin-inline-start:auto}.social-icons a{display:inline-flex;padding:10px}.social-icons a svg{height:26px;width:26px}code{direction:ltr}div.highlight,pre{position:relative}.copy-code{display:none;position:absolute;top:4px;right:4px;color:rgba(255,255,255,.8);background:rgba(78,78,78,.8);border-radius:var(--radius);padding:0 5px;font-size:14px;user-select:none}div.highlight:hover .copy-code,pre:hover .copy-code{display:block}.first-entry{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:320px;margin:var(--gap)0 calc(var(--gap) * 2)}.first-entry .entry-header{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.first-entry .entry-header h1{font-size:34px;line-height:1.3}.first-entry .entry-content{margin:14px 0;font-size:16px;-webkit-line-clamp:3}.first-entry .entry-footer{font-size:14px}.home-info .entry-content{-webkit-line-clamp:unset}.post-entry{position:relative;margin-bottom:var(--gap);padding:var(--gap);background:var(--entry);border-radius:var(--radius);transition:transform .1s;border:1px solid var(--border)}.post-entry:active{transform:scale(.96)}.tag-entry .entry-cover{display:none}.entry-header h2{font-size:24px;line-height:1.3}.entry-content{margin:8px 0;color:var(--secondary);font-size:14px;line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.entry-footer{color:var(--secondary);font-size:13px}.entry-link{position:absolute;left:0;right:0;top:0;bottom:0}.entry-hint{color:var(--secondary)}.entry-hint-parent{display:flex;justify-content:space-between}.entry-cover{font-size:14px;margin-bottom:var(--gap);text-align:center}.entry-cover img{border-radius:var(--radius);pointer-events:none;width:100%;height:auto}.entry-cover a{color:var(--secondary);box-shadow:0 1px 0 var(--primary)}.page-header,.post-header{margin:24px auto var(--content-gap)}.post-title{margin-bottom:2px;font-size:40px}.post-description{margin-top:10px;margin-bottom:5px}.post-meta,.breadcrumbs{color:var(--secondary);font-size:14px;display:flex;flex-wrap:wrap}.post-meta .i18n_list li{display:inline-flex;list-style:none;margin:auto 3px;box-shadow:0 1px 0 var(--secondary)}.breadcrumbs a{font-size:16px}.post-content{color:var(--content)}.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin:24px 0 16px}.post-content h1{margin:40px auto 32px;font-size:40px}.post-content h2{margin:32px auto 24px;font-size:32px}.post-content h3{font-size:24px}.post-content h4{font-size:16px}.post-content h5{font-size:14px}.post-content h6{font-size:12px}.post-content a,.toc a:hover{box-shadow:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.post-content a code{margin:auto 0;border-radius:0;box-shadow:0 -1px 0 var(--primary)inset}.post-content del{text-decoration:line-through}.post-content dl,.post-content ol,.post-content p,.post-content figure,.post-content ul{margin-bottom:var(--content-gap)}.post-content ol,.post-content ul{padding-inline-start:20px}.post-content li{margin-top:5px}.post-content li p{margin-bottom:0}.post-content dl{display:flex;flex-wrap:wrap;margin:0}.post-content dt{width:25%;font-weight:700}.post-content dd{width:75%;margin-inline-start:0;padding-inline-start:10px}.post-content dd~dd,.post-content dt~dt{margin-top:10px}.post-content table{margin-bottom:var(--content-gap)}.post-content table th,.post-content table:not(.highlighttable,.highlight table,.gist .highlight) td{min-width:80px;padding:8px 5px;line-height:1.5;border-bottom:1px solid var(--border)}.post-content table th{text-align:start}.post-content table:not(.highlighttable) td code:only-child{margin:auto 0}.post-content .highlight table{border-radius:var(--radius)}.post-content .highlight:not(table){margin:10px auto;background:var(--code-block-bg)!important;border-radius:var(--radius);direction:ltr}.post-content li>.highlight{margin-inline-end:0}.post-content ul pre{margin-inline-start:calc(var(--gap) * -2)}.post-content .highlight pre{margin:0}.post-content .highlighttable{table-layout:fixed}.post-content .highlighttable td:first-child{width:40px}.post-content .highlighttable td .linenodiv{padding-inline-end:0!important}.post-content .highlighttable td .highlight,.post-content .highlighttable td .linenodiv pre{margin-bottom:0}.post-content code{margin:auto 4px;padding:4px 6px;font-size:.78em;line-height:1.5;background:var(--code-bg);border-radius:2px}.post-content pre code{display:grid;margin:auto 0;padding:10px;color:#d5d5d6;background:var(--code-block-bg)!important;border-radius:var(--radius);overflow-x:auto;word-break:break-all}.post-content blockquote{margin:20px 0;padding:0 14px;border-inline-start:3px solid var(--primary)}.post-content hr{margin:30px 0;height:2px;background:var(--tertiary);border:0}.post-content iframe{max-width:100%}.post-content img{border-radius:4px;margin:1rem 0}.post-content img[src*="#center"]{margin:1rem auto}.post-content figure.align-center{text-align:center}.post-content figure>figcaption{color:var(--primary);font-size:16px;font-weight:700;margin:8px 0 16px}.post-content figure>figcaption>p{color:var(--secondary);font-size:14px;font-weight:400}.toc{margin:0 2px 40px;border:1px solid var(--border);background:var(--code-bg);border-radius:var(--radius);padding:.4em}.dark .toc{background:var(--entry)}.toc details summary{cursor:zoom-in;margin-inline-start:10px;user-select:none}.toc details[open] summary{cursor:zoom-out}.toc .details{display:inline;font-weight:500}.toc .inner{margin:5px 20px 0;padding:0 10px;opacity:.9}.toc li ul{margin-inline-start:var(--gap)}.toc summary:focus{outline:0}.post-footer{margin-top:56px}.post-footer>*{margin-bottom:10px}.post-tags{display:flex;flex-wrap:wrap;gap:10px}.post-tags li{display:inline-block}.post-tags a,.share-buttons,.paginav{border-radius:var(--radius);background:var(--code-bg);border:1px solid var(--border)}.post-tags a{display:block;padding:0 14px;color:var(--secondary);font-size:14px;line-height:34px;background:var(--code-bg)}.post-tags a:hover,.paginav a:hover{background:var(--border)}.share-buttons{padding:10px;display:flex;justify-content:center;overflow-x:auto;gap:10px}.share-buttons li,.share-buttons a{display:inline-flex}.share-buttons a:not(:last-of-type){margin-inline-end:12px}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{display:inline-flex;color:var(--secondary);margin-inline-start:8px;font-weight:500;user-select:none}.paginav{display:flex;line-height:30px}.paginav a{padding-inline-start:14px;padding-inline-end:14px;border-radius:var(--radius)}.paginav .title{letter-spacing:1px;text-transform:uppercase;font-size:small;color:var(--secondary)}.paginav .prev,.paginav .next{width:50%}.paginav span:hover:not(.title){box-shadow:0 1px}.paginav .next{margin-inline-start:auto;text-align:right}[dir=rtl] .paginav .next{text-align:left}h1>a>svg{display:inline}img.in-text{display:inline;margin:auto}.buttons,.main .profile{display:flex;justify-content:center}.main .profile{align-items:center;min-height:calc(100vh - var(--header-height) - var(--footer-height) - (var(--gap) * 2));text-align:center}.profile .profile_inner{display:flex;flex-direction:column;align-items:center;gap:10px}.profile img{border-radius:50%}.buttons{flex-wrap:wrap;max-width:400px}.button{background:var(--tertiary);border-radius:var(--radius);margin:8px;padding:6px;transition:transform .1s}.button-inner{padding:0 8px}.button:active{transform:scale(.96)}#searchbox input{padding:4px 10px;width:100%;color:var(--primary);font-weight:700;border:2px solid var(--tertiary);border-radius:var(--radius)}#searchbox input:focus{border-color:var(--secondary)}#searchResults li{list-style:none;border-radius:var(--radius);padding:10px;margin:10px 0;position:relative;font-weight:500}#searchResults{margin:10px 0;width:100%}#searchResults li:active{transition:transform .1s;transform:scale(.98)}#searchResults a{position:absolute;width:100%;height:100%;top:0;left:0;outline:none}#searchResults .focus{transform:scale(.98);border:2px solid var(--tertiary)}.terms-tags li{display:inline-block;margin:10px;font-weight:500}.terms-tags a{display:block;padding:3px 10px;background:var(--tertiary);border-radius:6px;transition:transform .1s}.terms-tags a:active{background:var(--tertiary);transform:scale(.96)}.bg{color:#cad3f5;background-color:#24273a}.chroma{color:#cad3f5;background-color:#24273a}.chroma .x{}.chroma .err{color:#ed8796}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#474733}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8087a2}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8087a2}.chroma .line{display:flex}.chroma .k{color:#c6a0f6}.chroma .kc{color:#f5a97f}.chroma .kd{color:#ed8796}.chroma .kn{color:#8bd5ca}.chroma .kp{color:#c6a0f6}.chroma .kr{color:#c6a0f6}.chroma .kt{color:#ed8796}.chroma .n{}.chroma .na{color:#8aadf4}.chroma .nb{color:#91d7e3}.chroma .bp{color:#91d7e3}.chroma .nc{color:#eed49f}.chroma .no{color:#eed49f}.chroma .nd{color:#8aadf4;font-weight:700}.chroma .ni{color:#8bd5ca}.chroma .ne{color:#f5a97f}.chroma .nf{color:#8aadf4}.chroma .fm{color:#8aadf4}.chroma .nl{color:#91d7e3}.chroma .nn{color:#f5a97f}.chroma .nx{}.chroma .py{color:#f5a97f}.chroma .nt{color:#c6a0f6}.chroma .nv{color:#f4dbd6}.chroma .vc{color:#f4dbd6}.chroma .vg{color:#f4dbd6}.chroma .vi{color:#f4dbd6}.chroma .vm{color:#f4dbd6}.chroma .l{}.chroma .ld{}.chroma .s{color:#a6da95}.chroma .sa{color:#ed8796}.chroma .sb{color:#a6da95}.chroma .sc{color:#a6da95}.chroma .dl{color:#8aadf4}.chroma .sd{color:#6e738d}.chroma .s2{color:#a6da95}.chroma .se{color:#8aadf4}.chroma .sh{color:#6e738d}.chroma .si{color:#a6da95}.chroma .sx{color:#a6da95}.chroma .sr{color:#8bd5ca}.chroma .s1{color:#a6da95}.chroma .ss{color:#a6da95}.chroma .m{color:#f5a97f}.chroma .mb{color:#f5a97f}.chroma .mf{color:#f5a97f}.chroma .mh{color:#f5a97f}.chroma .mi{color:#f5a97f}.chroma .il{color:#f5a97f}.chroma .mo{color:#f5a97f}.chroma .o{color:#91d7e3;font-weight:700}.chroma .ow{color:#91d7e3;font-weight:700}.chroma .p{}.chroma .c{color:#6e738d;font-style:italic}.chroma .ch{color:#6e738d;font-style:italic}.chroma .cm{color:#6e738d;font-style:italic}.chroma .c1{color:#6e738d;font-style:italic}.chroma .cs{color:#6e738d;font-style:italic}.chroma .cp{color:#6e738d;font-style:italic}.chroma .cpf{color:#6e738d;font-weight:700;font-style:italic}.chroma .g{}.chroma .gd{color:#ed8796;background-color:#363a4f}.chroma .ge{font-style:italic}.chroma .gr{color:#ed8796}.chroma .gh{color:#f5a97f;font-weight:700}.chroma .gi{color:#a6da95;background-color:#363a4f}.chroma .go{}.chroma .gp{}.chroma .gs{font-weight:700}.chroma .gu{color:#f5a97f;font-weight:700}.chroma .gt{color:#ed8796}.chroma .gl{text-decoration:underline}.chroma .w{}.chroma{background-color:unset!important}.chroma .hl{display:flex}.chroma .lnt{padding:0 0 0 12px}.highlight pre.chroma code{padding:8px 0}.highlight pre.chroma .line .cl,.chroma .ln{padding:0 10px}.chroma .lntd:last-of-type{width:100%}::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-track{background:var(--code-bg)}::-webkit-scrollbar-thumb{background:var(--tertiary);border:5px solid var(--theme);border-radius:var(--radius)}.list:not(.dark)::-webkit-scrollbar-thumb{border:5px solid var(--code-bg)}::-webkit-scrollbar-thumb:hover{background:var(--secondary)}::-webkit-scrollbar:not(.highlighttable,.highlight table,.gist .highlight){background:var(--theme)}.post-content .highlighttable td .highlight pre code::-webkit-scrollbar{display:none}.post-content :not(table) ::-webkit-scrollbar-thumb{border:2px solid var(--code-block-bg);background:#717175}.post-content :not(table) ::-webkit-scrollbar-thumb:hover{background:#a3a3a5}.gist table::-webkit-scrollbar-thumb{border:2px solid #fff;background:#adadad}.gist table::-webkit-scrollbar-thumb:hover{background:#707070}.post-content table::-webkit-scrollbar-thumb{border-width:2px}@media screen and (min-width:768px){::-webkit-scrollbar{width:19px;height:11px}}@media screen and (max-width:768px){:root{--gap:14px}.profile img{transform:scale(.85)}.first-entry{min-height:260px}.archive-month{flex-direction:column}.archive-year{margin-top:20px}.footer{padding:calc((var(--footer-height) - var(--gap) - 10px)/2)var(--gap)}}@media screen and (max-width:900px){.list .top-link{transform:translateY(-5rem)}}@media screen and (max-width:340px){.share-buttons{justify-content:unset}}@media(prefers-reduced-motion){.terms-tags a:active,.button:active,.post-entry:active,.top-link,#searchResults .focus,#searchResults li:active{transform:none}}.marginnote,.sidenote{font-size:80%;position:relative}@media(min-width:1080px){.marginnote,.sidenote{float:right;clear:right;margin-right:-23vw;text-align:left;top:-3rem;width:20vw;margin-top:1rem}}@media(max-width:1080px){.marginnote,.sidenote{float:right;text-align:left;width:100%;margin:1rem 0;padding-left:5%}}body{counter-reset:sidenote-counter}.sidenote-number{counter-increment:sidenote-counter}.sidenote::before{content:counter(sidenote-counter)".";position:relative;vertical-align:baseline;font-size:.9em;font-weight:700}.sidenote-number::after{content:counter(sidenote-counter);vertical-align:super;font-size:.7em;font-weight:700;margin-right:.5rem}@font-face{font-family:gentiumbookplus;src:url(/fonts/GentiumBookPlus-Bold.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:gentiumbookplus;src:url(/fonts/GentiumBookPlus-Regular.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:gentiumbookplus;src:url(/fonts/GentiumBookPlus-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic}@font-face{font-family:gentiumbookplus;src:url(/fonts/GentiumBookPlus-Italic.ttf)format("truetype");font-weight:400;font-style:italic}@font-face{font-family:TT2020;src:url(/fonts/TT2020StyleB-Regular.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:TT2020;src:url(/fonts/TT2020StyleB-Italic.ttf)format("truetype");font-weight:700;font-style:italic}@font-face{font-family:TT2020;src:url(/fonts/TT2020StyleE-Regular.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:TT2020;src:url(/fonts/TT2020StyleE-Italic.ttf)format("truetype");font-weight:400;font-style:italic}@font-face{font-family:JuliaMonoNerdFont;src:url(/fonts/JuliaMonoNerdFont-ExtraBold.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:JuliaMonoNerdFont;src:url(/fonts/JuliaMonoNerdFont-ExtraBoldItalic.ttf)format("truetype");font-weight:700;font-style:italic}@font-face{font-family:JuliaMonoNerdFont;src:url(/fonts/JuliaMonoNerdFont-Regular.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:JuliaMonoNerdFont;src:url(/fonts/JuliaMonoNerdFont-Italic.ttf)format("truetype");font-weight:400;font-style:italic}@font-face{font-family:VictorMono;src:url(/fonts/VictorMono-Bold.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:VictorMono;src:url(/fonts/VictorMono-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic}@font-face{font-family:VictorMono;src:url(/fonts/VictorMono-Regular.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:VictorMono;src:url(/fonts/VictorMono-Italic.ttf)format("truetype");font-weight:400;font-style:italic}body{font-family:victormono;font-size:22px;line-height:1.4}.entry-content{font-size:18px}.entry-header h2{font-size:28px}.logo a{font-size:30px}#top{font-family:gentiumbookplus}.main .profile_inner{font-family:victormono}.buttons{font-family:gentiumbookplus}#menu a{font-size:20px;font-weight:700;font-style:italic}.post-meta,.breadcrumbs a{font-size:20px}h1,h2,h3,h4,h5,h6{font-family:gentiumbookplus}p{font-family:victormono} \ No newline at end of file diff --git a/public/assets/css/stylesheet.7edecfa683a100b2deb122bbb4cca5b463a9b9b52d2b8ebc67c07e5532beba3c.css b/public/assets/css/stylesheet.7edecfa683a100b2deb122bbb4cca5b463a9b9b52d2b8ebc67c07e5532beba3c.css new file mode 100644 index 0000000..14f97b0 --- /dev/null +++ b/public/assets/css/stylesheet.7edecfa683a100b2deb122bbb4cca5b463a9b9b52d2b8ebc67c07e5532beba3c.css @@ -0,0 +1,7 @@ +/* + PaperMod v8+ + License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE + Copyright (c) 2020 nanxiaobei and adityatelange + Copyright (c) 2021-2025 adityatelange +*/ +:root{--gap:24px;--content-gap:20px;--nav-width:1024px;--main-width:720px;--header-height:60px;--footer-height:60px;--radius:8px;--theme:rgb(255, 255, 255);--entry:rgb(255, 255, 255);--primary:rgb(30, 30, 30);--secondary:rgb(108, 108, 108);--tertiary:rgb(214, 214, 214);--content:rgb(31, 31, 31);--code-block-bg:rgb(28, 29, 33);--code-bg:rgb(245, 245, 245);--border:rgb(238, 238, 238)}.dark{--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);--code-block-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--code-bg)}.dark.list{background:var(--theme)}*,::after,::before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;overflow-y:scroll;-webkit-text-size-adjust:100%;text-size-adjust:100%}a,button,body,h1,h2,h3,h4,h5,h6{color:var(--primary)}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;font-size:18px;line-height:1.6;word-break:break-word;background:var(--theme)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section,table{display:block}h1,h2,h3,h4,h5,h6{line-height:1.2}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}ul{padding:0}a{text-decoration:none}body,figure,ul{margin:0}table{width:100%;border-collapse:collapse;border-spacing:0;overflow-x:auto;word-break:keep-all}button,input,textarea{padding:0;font:inherit;background:0 0;border:0}input,textarea{outline:0}button,input[type=button],input[type=submit]{cursor:pointer}input:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 50px var(--theme)inset}img{display:block;max-width:100%}.not-found{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;height:80%;font-size:160px;font-weight:700}.archive-posts{width:100%;font-size:16px}.archive-year{margin-top:40px}.archive-year:not(:last-of-type){border-bottom:2px solid var(--border)}.archive-month{display:flex;align-items:flex-start;padding:10px 0}.archive-month-header{margin:25px 0;width:200px}.archive-month:not(:last-of-type){border-bottom:1px solid var(--border)}.archive-entry{position:relative;padding:5px;margin:10px 0}.archive-entry-title{margin:5px 0;font-weight:400}.archive-count,.archive-meta{color:var(--secondary);font-size:14px}.footer,.top-link{font-size:12px;color:var(--secondary)}.footer{max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:calc((var(--footer-height) - var(--gap))/2)var(--gap);text-align:center;line-height:24px}.footer span{margin-inline-start:1px;margin-inline-end:1px}.footer span:last-child{white-space:nowrap}.footer a{color:inherit;border-bottom:1px solid var(--secondary)}.footer a:hover{border-bottom:1px solid var(--primary)}.top-link{visibility:hidden;position:fixed;bottom:60px;right:30px;z-index:99;background:var(--tertiary);width:42px;height:42px;padding:12px;border-radius:64px;transition:visibility .5s,opacity .8s linear}.top-link,.top-link svg{filter:drop-shadow(0 0 0 var(--theme))}.footer a:hover,.top-link:hover{color:var(--primary)}.top-link:focus,#theme-toggle:focus{outline:0}.nav{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:calc(var(--nav-width) + var(--gap) * 2);margin-inline-start:auto;margin-inline-end:auto;line-height:var(--header-height)}.nav a{display:block}.logo,#menu{display:flex;margin:auto var(--gap)}.logo{flex-wrap:inherit}.logo a{font-size:24px;font-weight:700}.logo a img,.logo a svg{display:inline;vertical-align:middle;pointer-events:none;transform:translate(0,-10%);border-radius:6px;margin-inline-end:8px}button#theme-toggle{font-size:26px;margin:auto 4px}body.dark #moon{vertical-align:middle;display:none}body:not(.dark) #sun{display:none}#menu{list-style:none;word-break:keep-all;overflow-x:auto;white-space:nowrap}#menu li+li{margin-inline-start:var(--gap)}#menu a{font-size:16px}#menu .active{font-weight:500;border-bottom:2px solid}.lang-switch li,.lang-switch ul,.logo-switches{display:inline-flex;margin:auto 4px}.lang-switch{display:flex;flex-wrap:inherit}.lang-switch a{margin:auto 3px;font-size:16px;font-weight:500}.logo-switches{flex-wrap:inherit}.main{position:relative;min-height:calc(100vh - var(--header-height) - var(--footer-height));max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:var(--gap)}.page-header h1{font-size:40px}.pagination{display:flex}.pagination a{color:var(--theme);font-size:13px;line-height:36px;background:var(--primary);border-radius:calc(36px/2);padding:0 16px}.pagination .next{margin-inline-start:auto}.social-icons a{display:inline-flex;padding:10px}.social-icons a svg{height:26px;width:26px}code{direction:ltr}div.highlight,pre{position:relative}.copy-code{display:none;position:absolute;top:4px;right:4px;color:rgba(255,255,255,.8);background:rgba(78,78,78,.8);border-radius:var(--radius);padding:0 5px;font-size:14px;user-select:none}div.highlight:hover .copy-code,pre:hover .copy-code{display:block}.first-entry{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:320px;margin:var(--gap)0 calc(var(--gap) * 2)}.first-entry .entry-header{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.first-entry .entry-header h1{font-size:34px;line-height:1.3}.first-entry .entry-content{margin:14px 0;font-size:16px;-webkit-line-clamp:3}.first-entry .entry-footer{font-size:14px}.home-info .entry-content{-webkit-line-clamp:unset}.post-entry{position:relative;margin-bottom:var(--gap);padding:var(--gap);background:var(--entry);border-radius:var(--radius);transition:transform .1s;border:1px solid var(--border)}.post-entry:active{transform:scale(.96)}.tag-entry .entry-cover{display:none}.entry-header h2{font-size:24px;line-height:1.3}.entry-content{margin:8px 0;color:var(--secondary);font-size:14px;line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.entry-footer{color:var(--secondary);font-size:13px}.entry-link{position:absolute;left:0;right:0;top:0;bottom:0}.entry-hint{color:var(--secondary)}.entry-hint-parent{display:flex;justify-content:space-between}.entry-cover{font-size:14px;margin-bottom:var(--gap);text-align:center}.entry-cover img{border-radius:var(--radius);pointer-events:none;width:100%;height:auto}.entry-cover a{color:var(--secondary);box-shadow:0 1px 0 var(--primary)}.page-header,.post-header{margin:24px auto var(--content-gap)}.post-title{margin-bottom:2px;font-size:40px}.post-description{margin-top:10px;margin-bottom:5px}.post-meta,.breadcrumbs{color:var(--secondary);font-size:14px;display:flex;flex-wrap:wrap}.post-meta .i18n_list li{display:inline-flex;list-style:none;margin:auto 3px;box-shadow:0 1px 0 var(--secondary)}.breadcrumbs a{font-size:16px}.post-content{color:var(--content)}.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin:24px 0 16px}.post-content h1{margin:40px auto 32px;font-size:40px}.post-content h2{margin:32px auto 24px;font-size:32px}.post-content h3{font-size:24px}.post-content h4{font-size:16px}.post-content h5{font-size:14px}.post-content h6{font-size:12px}.post-content a,.toc a:hover{box-shadow:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.post-content a code{margin:auto 0;border-radius:0;box-shadow:0 -1px 0 var(--primary)inset}.post-content del{text-decoration:line-through}.post-content dl,.post-content ol,.post-content p,.post-content figure,.post-content ul{margin-bottom:var(--content-gap)}.post-content ol,.post-content ul{padding-inline-start:20px}.post-content li{margin-top:5px}.post-content li p{margin-bottom:0}.post-content dl{display:flex;flex-wrap:wrap;margin:0}.post-content dt{width:25%;font-weight:700}.post-content dd{width:75%;margin-inline-start:0;padding-inline-start:10px}.post-content dd~dd,.post-content dt~dt{margin-top:10px}.post-content table{margin-bottom:var(--content-gap)}.post-content table th,.post-content table:not(.highlighttable,.highlight table,.gist .highlight) td{min-width:80px;padding:8px 5px;line-height:1.5;border-bottom:1px solid var(--border)}.post-content table th{text-align:start}.post-content table:not(.highlighttable) td code:only-child{margin:auto 0}.post-content .highlight table{border-radius:var(--radius)}.post-content .highlight:not(table){margin:10px auto;background:var(--code-block-bg)!important;border-radius:var(--radius);direction:ltr}.post-content li>.highlight{margin-inline-end:0}.post-content ul pre{margin-inline-start:calc(var(--gap) * -2)}.post-content .highlight pre{margin:0}.post-content .highlighttable{table-layout:fixed}.post-content .highlighttable td:first-child{width:40px}.post-content .highlighttable td .linenodiv{padding-inline-end:0!important}.post-content .highlighttable td .highlight,.post-content .highlighttable td .linenodiv pre{margin-bottom:0}.post-content code{margin:auto 4px;padding:4px 6px;font-size:.78em;line-height:1.5;background:var(--code-bg);border-radius:2px}.post-content pre code{display:grid;margin:auto 0;padding:10px;color:#d5d5d6;background:var(--code-block-bg)!important;border-radius:var(--radius);overflow-x:auto;word-break:break-all}.post-content blockquote{margin:20px 0;padding:0 14px;border-inline-start:3px solid var(--primary)}.post-content hr{margin:30px 0;height:2px;background:var(--tertiary);border:0}.post-content iframe{max-width:100%}.post-content img{border-radius:4px;margin:1rem 0}.post-content img[src*="#center"]{margin:1rem auto}.post-content figure.align-center{text-align:center}.post-content figure>figcaption{color:var(--primary);font-size:16px;font-weight:700;margin:8px 0 16px}.post-content figure>figcaption>p{color:var(--secondary);font-size:14px;font-weight:400}.toc{margin:0 2px 40px;border:1px solid var(--border);background:var(--code-bg);border-radius:var(--radius);padding:.4em}.dark .toc{background:var(--entry)}.toc details summary{cursor:zoom-in;margin-inline-start:10px;user-select:none}.toc details[open] summary{cursor:zoom-out}.toc .details{display:inline;font-weight:500}.toc .inner{margin:5px 20px 0;padding:0 10px;opacity:.9}.toc li ul{margin-inline-start:var(--gap)}.toc summary:focus{outline:0}.post-footer{margin-top:56px}.post-footer>*{margin-bottom:10px}.post-tags{display:flex;flex-wrap:wrap;gap:10px}.post-tags li{display:inline-block}.post-tags a,.share-buttons,.paginav{border-radius:var(--radius);background:var(--code-bg);border:1px solid var(--border)}.post-tags a{display:block;padding:0 14px;color:var(--secondary);font-size:14px;line-height:34px;background:var(--code-bg)}.post-tags a:hover,.paginav a:hover{background:var(--border)}.share-buttons{padding:10px;display:flex;justify-content:center;overflow-x:auto;gap:10px}.share-buttons li,.share-buttons a{display:inline-flex}.share-buttons a:not(:last-of-type){margin-inline-end:12px}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{display:inline-flex;color:var(--secondary);margin-inline-start:8px;font-weight:500;user-select:none}.paginav{display:flex;line-height:30px}.paginav a{padding-inline-start:14px;padding-inline-end:14px;border-radius:var(--radius)}.paginav .title{letter-spacing:1px;text-transform:uppercase;font-size:small;color:var(--secondary)}.paginav .prev,.paginav .next{width:50%}.paginav span:hover:not(.title){box-shadow:0 1px}.paginav .next{margin-inline-start:auto;text-align:right}[dir=rtl] .paginav .next{text-align:left}h1>a>svg{display:inline}img.in-text{display:inline;margin:auto}.buttons,.main .profile{display:flex;justify-content:center}.main .profile{align-items:center;min-height:calc(100vh - var(--header-height) - var(--footer-height) - (var(--gap) * 2));text-align:center}.profile .profile_inner{display:flex;flex-direction:column;align-items:center;gap:10px}.profile img{border-radius:50%}.buttons{flex-wrap:wrap;max-width:400px}.button{background:var(--tertiary);border-radius:var(--radius);margin:8px;padding:6px;transition:transform .1s}.button-inner{padding:0 8px}.button:active{transform:scale(.96)}#searchbox input{padding:4px 10px;width:100%;color:var(--primary);font-weight:700;border:2px solid var(--tertiary);border-radius:var(--radius)}#searchbox input:focus{border-color:var(--secondary)}#searchResults li{list-style:none;border-radius:var(--radius);padding:10px;margin:10px 0;position:relative;font-weight:500}#searchResults{margin:10px 0;width:100%}#searchResults li:active{transition:transform .1s;transform:scale(.98)}#searchResults a{position:absolute;width:100%;height:100%;top:0;left:0;outline:none}#searchResults .focus{transform:scale(.98);border:2px solid var(--tertiary)}.terms-tags li{display:inline-block;margin:10px;font-weight:500}.terms-tags a{display:block;padding:3px 10px;background:var(--tertiary);border-radius:6px;transition:transform .1s}.terms-tags a:active{background:var(--tertiary);transform:scale(.96)}.bg{color:#cad3f5;background-color:#24273a}.chroma{color:#cad3f5;background-color:#24273a}.chroma .x{}.chroma .err{color:#ed8796}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#474733}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8087a2}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8087a2}.chroma .line{display:flex}.chroma .k{color:#c6a0f6}.chroma .kc{color:#f5a97f}.chroma .kd{color:#ed8796}.chroma .kn{color:#8bd5ca}.chroma .kp{color:#c6a0f6}.chroma .kr{color:#c6a0f6}.chroma .kt{color:#ed8796}.chroma .n{}.chroma .na{color:#8aadf4}.chroma .nb{color:#91d7e3}.chroma .bp{color:#91d7e3}.chroma .nc{color:#eed49f}.chroma .no{color:#eed49f}.chroma .nd{color:#8aadf4;font-weight:700}.chroma .ni{color:#8bd5ca}.chroma .ne{color:#f5a97f}.chroma .nf{color:#8aadf4}.chroma .fm{color:#8aadf4}.chroma .nl{color:#91d7e3}.chroma .nn{color:#f5a97f}.chroma .nx{}.chroma .py{color:#f5a97f}.chroma .nt{color:#c6a0f6}.chroma .nv{color:#f4dbd6}.chroma .vc{color:#f4dbd6}.chroma .vg{color:#f4dbd6}.chroma .vi{color:#f4dbd6}.chroma .vm{color:#f4dbd6}.chroma .l{}.chroma .ld{}.chroma .s{color:#a6da95}.chroma .sa{color:#ed8796}.chroma .sb{color:#a6da95}.chroma .sc{color:#a6da95}.chroma .dl{color:#8aadf4}.chroma .sd{color:#6e738d}.chroma .s2{color:#a6da95}.chroma .se{color:#8aadf4}.chroma .sh{color:#6e738d}.chroma .si{color:#a6da95}.chroma .sx{color:#a6da95}.chroma .sr{color:#8bd5ca}.chroma .s1{color:#a6da95}.chroma .ss{color:#a6da95}.chroma .m{color:#f5a97f}.chroma .mb{color:#f5a97f}.chroma .mf{color:#f5a97f}.chroma .mh{color:#f5a97f}.chroma .mi{color:#f5a97f}.chroma .il{color:#f5a97f}.chroma .mo{color:#f5a97f}.chroma .o{color:#91d7e3;font-weight:700}.chroma .ow{color:#91d7e3;font-weight:700}.chroma .p{}.chroma .c{color:#6e738d;font-style:italic}.chroma .ch{color:#6e738d;font-style:italic}.chroma .cm{color:#6e738d;font-style:italic}.chroma .c1{color:#6e738d;font-style:italic}.chroma .cs{color:#6e738d;font-style:italic}.chroma .cp{color:#6e738d;font-style:italic}.chroma .cpf{color:#6e738d;font-weight:700;font-style:italic}.chroma .g{}.chroma .gd{color:#ed8796;background-color:#363a4f}.chroma .ge{font-style:italic}.chroma .gr{color:#ed8796}.chroma .gh{color:#f5a97f;font-weight:700}.chroma .gi{color:#a6da95;background-color:#363a4f}.chroma .go{}.chroma .gp{}.chroma .gs{font-weight:700}.chroma .gu{color:#f5a97f;font-weight:700}.chroma .gt{color:#ed8796}.chroma .gl{text-decoration:underline}.chroma .w{}.chroma{background-color:unset!important}.chroma .hl{display:flex}.chroma .lnt{padding:0 0 0 12px}.highlight pre.chroma code{padding:8px 0}.highlight pre.chroma .line .cl,.chroma .ln{padding:0 10px}.chroma .lntd:last-of-type{width:100%}::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-track{background:var(--code-bg)}::-webkit-scrollbar-thumb{background:var(--tertiary);border:5px solid var(--theme);border-radius:var(--radius)}.list:not(.dark)::-webkit-scrollbar-thumb{border:5px solid var(--code-bg)}::-webkit-scrollbar-thumb:hover{background:var(--secondary)}::-webkit-scrollbar:not(.highlighttable,.highlight table,.gist .highlight){background:var(--theme)}.post-content .highlighttable td .highlight pre code::-webkit-scrollbar{display:none}.post-content :not(table) ::-webkit-scrollbar-thumb{border:2px solid var(--code-block-bg);background:#717175}.post-content :not(table) ::-webkit-scrollbar-thumb:hover{background:#a3a3a5}.gist table::-webkit-scrollbar-thumb{border:2px solid #fff;background:#adadad}.gist table::-webkit-scrollbar-thumb:hover{background:#707070}.post-content table::-webkit-scrollbar-thumb{border-width:2px}@media screen and (min-width:768px){::-webkit-scrollbar{width:19px;height:11px}}@media screen and (max-width:768px){:root{--gap:14px}.profile img{transform:scale(.85)}.first-entry{min-height:260px}.archive-month{flex-direction:column}.archive-year{margin-top:20px}.footer{padding:calc((var(--footer-height) - var(--gap) - 10px)/2)var(--gap)}}@media screen and (max-width:900px){.list .top-link{transform:translateY(-5rem)}}@media screen and (max-width:340px){.share-buttons{justify-content:unset}}@media(prefers-reduced-motion){.terms-tags a:active,.button:active,.post-entry:active,.top-link,#searchResults .focus,#searchResults li:active{transform:none}}.marginnote,.sidenote{font-size:80%;position:relative}@media(min-width:1080px){.marginnote,.sidenote{float:right;clear:right;margin-right:-23vw;text-align:left;top:-3rem;width:20vw;margin-top:1rem}}@media(max-width:1080px){.marginnote,.sidenote{float:right;text-align:left;width:100%;margin:1rem 0;padding-left:5%}}body{counter-reset:sidenote-counter}.sidenote-number{counter-increment:sidenote-counter}.sidenote::before{content:counter(sidenote-counter)".";position:relative;vertical-align:baseline;font-size:.9em;font-weight:700}.sidenote-number::after{content:counter(sidenote-counter);vertical-align:super;font-size:.7em;font-weight:700;margin-right:.5rem}@font-face{font-family:gentiumbookplus;src:url(/fonts/GentiumBookPlus-Bold.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:gentiumbookplus;src:url(/fonts/GentiumBookPlus-Regular.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:gentiumbookplus;src:url(/fonts/GentiumBookPlus-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic}@font-face{font-family:gentiumbookplus;src:url(/fonts/GentiumBookPlus-Italic.ttf)format("truetype");font-weight:400;font-style:italic}@font-face{font-family:TT2020;src:url(/fonts/TT2020StyleB-Regular.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:TT2020;src:url(/fonts/TT2020StyleB-Italic.ttf)format("truetype");font-weight:700;font-style:italic}@font-face{font-family:TT2020;src:url(/fonts/TT2020StyleE-Regular.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:TT2020;src:url(/fonts/TT2020StyleE-Italic.ttf)format("truetype");font-weight:400;font-style:italic}@font-face{font-family:JuliaMonoNerdFont;src:url(/fonts/JuliaMonoNerdFont-ExtraBold.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:JuliaMonoNerdFont;src:url(/fonts/JuliaMonoNerdFont-ExtraBoldItalic.ttf)format("truetype");font-weight:700;font-style:italic}@font-face{font-family:JuliaMonoNerdFont;src:url(/fonts/JuliaMonoNerdFont-Regular.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:JuliaMonoNerdFont;src:url(/fonts/JuliaMonoNerdFont-Italic.ttf)format("truetype");font-weight:400;font-style:italic}@font-face{font-family:VictorMono;src:url(/fonts/VictorMono-Bold.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:VictorMono;src:url(/fonts/VictorMono-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic}@font-face{font-family:VictorMono;src:url(/fonts/VictorMono-Medium.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:VictorMono;src:url(/fonts/VictorMono-MediumItalic.ttf)format("truetype");font-weight:400;font-style:italic}body{font-family:victormono;font-size:22px;line-height:1.4}.entry-content{font-size:18px}.entry-header h2{font-size:28px}.logo a{font-size:30px}#top{font-family:gentiumbookplus}.main .profile_inner{font-family:victormono}.buttons{font-family:gentiumbookplus}#menu a{font-size:20px;font-weight:700;font-style:italic}.post-meta,.breadcrumbs a{font-size:20px}h1,h2,h3,h4,h5,h6{font-family:gentiumbookplus}p{font-family:victormono} \ No newline at end of file diff --git a/public/categories/birding/index.html b/public/categories/birding/index.html index 03ab3fa..82397a5 100644 --- a/public/categories/birding/index.html +++ b/public/categories/birding/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/categories/coffee/index.html b/public/categories/coffee/index.html index dee846e..a323cad 100644 --- a/public/categories/coffee/index.html +++ b/public/categories/coffee/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/categories/index.html b/public/categories/index.html index 5d00d6d..da2c0ad 100644 --- a/public/categories/index.html +++ b/public/categories/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/categories/science/index.html b/public/categories/science/index.html index a6c5cb0..87b4a94 100644 --- a/public/categories/science/index.html +++ b/public/categories/science/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/categories/selfhosting/index.html b/public/categories/selfhosting/index.html index 7072074..7046d00 100644 --- a/public/categories/selfhosting/index.html +++ b/public/categories/selfhosting/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/fonts/VictorMono-Bold.ttf b/public/fonts/VictorMono-Bold.ttf new file mode 100755 index 0000000000000000000000000000000000000000..7a5af63e4327644e3333709d68c54bbca907bf9e GIT binary patch literal 207184 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�Hbvog~%s@r&lYJvJ|ZeO}5 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

_? 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
  • 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
    ^hxQn4L>)1S^B#49q9)Re>nYg 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 literal 0 HcmV?d00001 diff --git a/public/fonts/VictorMono-Medium.ttf b/public/fonts/VictorMono-Medium.ttf new file mode 100755 index 0000000000000000000000000000000000000000..6286656f49e393a08538d14c1cf4d7a6b5c878a2 GIT binary patch literal 203788 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%0D&IEA;@c)UeA^_* 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

    2-9w57c%|RBmO~jqg4- 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 literal 0 HcmV?d00001 diff --git a/public/fonts/VictorMono-MediumItalic.ttf b/public/fonts/VictorMono-MediumItalic.ttf new file mode 100755 index 0000000000000000000000000000000000000000..a0b158968862595d4e7d70ac8f497f52723554a3 GIT binary patch literal 252844 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 literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html index 2de13a8..aa83f0e 100644 --- a/public/index.html +++ b/public/index.html @@ -11,7 +11,7 @@ - + @@ -30,10 +30,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/index.json b/public/index.json index df39fc6..01fb7ac 100644 --- a/public/index.json +++ b/public/index.json @@ -1 +1 @@ -[{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade.\nI bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade.\nI bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade.\nI bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade.\nI bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade.\nI bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade. I bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade. I bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade. I bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade. I bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade. I bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade. I bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade. I bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade. I bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."},{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade. I bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."}] \ No newline at end of file +[{"content":"Welcome to my site! My name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke. This move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused. This makes for very interesting basketball viewing parties with my Duke friends!\nMy research and scientific interests. I am broadly interested in innate immunology. I am in the 4th year of my PhD studying the host-pathogen interaction between the intracellular fungus Histoplasma capsulatum and macrophages. There are many unstudied curiosities regarding the innate immune response to Histoplasma spp. and other intracellular fungi that I think are quite interesting. Stay tuned, hopefully there is a major breakthrough to report here someday.\nHobbies I may write about. Besides my science, I am interested in birding, baking sourdough bread (I swear I began years before the pandemic, though hearing of people baking bread brings me joy no matter when they first began!), board games, roasting coffee, and self-hosting free and open source software. Over the course of the pandemic, I have learned how to maintain a basic suite of services on a server I rent that have replaced my need for Google Photos and Google Drive. I\u0026rsquo;m hoping to be able to move away from these platforms entirely soon. I think they provide a great service, but at a substantial cost to privacy. Hopefully more to be said about my thoughts on FOSS soon! I also transitioned my old, (and quite frankly, embarassingly slow) managed Wordpress site with this lean, static site made in Hugo that I host myself. Now that I have mangled together some CSS to get my precious sidenotes up and running again, I\u0026rsquo;m ready to begin putting some ideas to paper. I love marginalia. I\u0026rsquo;m not sure if this is unique to me, but I seem to get caught up in parenthetical / tangential thoughts very often, and I think using an Edward Tufte-esque sidenote is a great way for me to communicate in this way without distracting the reader too much. It seems marginalia such as this have been used throughout history, so perhaps it is normal, but most people can keep their thoughts focused better than me. The implementation I use is inspired by the Tufte CSS project and largely taken from this incredibly helpful post found at scripter.co. I\u0026rsquo;m quite proud of my progress in administering my server and self-hosting useful services.\nThe future of this site. On this site I plan to post updates about my journey through med school, grad school, and self-hosting I would like to share with the world. I have been helped immensely by many others\u0026rsquo; advice and I hope to impart similar tips to others someday. I suspect most posts will be about much lighter fare, like whatever hobbies tickle my fancy at the time.\n","permalink":"https://www.zacharybillman.com/posts/about-me/","summary":"\u003ch2 id=\"welcome-to-my-site\"\u003eWelcome to my site!\u003c/h2\u003e\n\u003cp\u003eMy name is Zachary Billman. I\u0026rsquo;m an MD-PhD student at UNC Chapel Hill in Ed Miao\u0026rsquo;s lab. The curious reader may be thinking: \u0026ldquo;But Zach, Ed Miao\u0026rsquo;s lab is at Duke now! What does that make you?\u0026rdquo; What an astute question! I am a card-carrying UNC Microbiology and Immunology student who happens to have all of their research take place at Duke.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis move was quite a trial, especially when compounded with the onset of the pandemic. I suspect my research timeline suffered, though this is an extremely minor inconvenience compared to the tragedy the pandemic caused.\n\u003c/small\u003e\u003c/span\u003e\nThis makes for very interesting basketball viewing parties with my Duke friends!\u003c/p\u003e","title":"About me. 👋"},{"content":"I, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID. Dare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter. My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\nI\u0026rsquo;m not sure where this idea was planted into my brain. I don\u0026rsquo;t think I know anyone who roasts their own beans, and I certainly didn\u0026rsquo;t know how. I didn\u0026rsquo;t even drink coffee regularly until after college! I guess that extra time on the computer sent me down a rabbithole I have yet to emerge from.\nFirst, I want to preface the following with a disclaimer: This is not a detailed guide about how to roast your own coffee. If you are interested, I recommend checking out the How To Roast Your Own Coffee guide at Sweet Maria\u0026rsquo;s as a starting point. There is also the /r/roasting subreddit if that is your cup of tea. My only warning is there will be a lot of smoke. Roast your coffee outside, for Pete\u0026rsquo;s sake!\nIt all started with a trusty popcorn popper. There are a few things you want when you roast coffee:\nAir hot enough to roast coffee Remove the chaff from the beans Turns out that a classic popcorn popper fits the bill, as long as it has an upwards airflow and doesn\u0026rsquo;t let the chaff fall into the heating element. There is a bit of a cult following for the West Bend Poppery 2 model, but that one seemed a bit pricey, so I settled for a very capable popper from Nostalgia.\nFigure 1: I got a good bit of milage out of my popcorn popper. If you are interested in roasting your own coffee I would give it a whirl.\nThings were simple back then. I still bought most of the coffee I drank, but I roasted enough to enjoy some freshly roasted coffee as an occasional treat. I ordered 10 pounds of green beans from Sweet Maria\u0026rsquo;s and life was good.\nThen I became a bit of a coffee snob.\nI could only roast 100 grams of coffee at a time in the popcorn popper, which is only enough for one pot of coffee in the morning for me. So it was time to upgrade. I bought the SR800 fluid bed roaster, which upped my roasting capacity and gave me finer control on temperature and airflow. Suffice to say my roasts improved a lot! At this point, I would consider my coffee good enough to sell at a farmer\u0026rsquo;s market to break even.\nIf you ever find yourself on a coffee roasting forum and bring up the SR800, someone is bound to bring up the famous RazzoRoasting extension tube. If you look for advice for how to use the SR800, I swear it\u0026rsquo;s assumed that you have this very specific accessory. \u0026hellip;And so I bought one.\nDon\u0026rsquo;t worry, that is the extent of all of my coffee spending (for now). I am a very satisfied coffee roaster now. Check out this quick series of images going from the green beans to a nearly finished product! I can spend about 45 minutes and go from nothing to nearly 2 pounds of roasted beans, enough for about a week and a half of coffee. Not bad! The only downside is that now I feel like I need to buy coffee from local roasters to get my fix. There are certainly crueler fates.\nAs a sign off, I will share something that surprised me about coffee roasting. When I roast coffee, the most important cue to determine if the coffee is roasted is the sound. That\u0026rsquo;s right, not the color, not the smell, but the sound. When heating up a coffee bean, the water trapped inside eventually bursts out of the bean in a rapid expansion. This is called \u0026ldquo;first crack\u0026rdquo;, and indicates that the coffee is roasted enough to be drinkable. The expansion also releases the chaff from the bean. If you continue heating up the bean, you will eventually reach \u0026ldquo;second crack\u0026rdquo;. I think a solid medium roast is taken out just before second crack, so I try to take my coffee out to this point and it hasn\u0026rsquo;t proved me wrong yet.\nHappy coffee-ing! \u0026#x2615;\n","permalink":"https://www.zacharybillman.com/posts/roasting-coffee-at-home/","summary":"\u003cp\u003eI, like many others, picked up a new hobby during the pandemic. Other people\u0026rsquo;s hobbies may bring them joy. This could be for many reasons. There is the joy of creating something from scratch. You can revel in your thriftiness. You can embrace the pride when you recognize that your creation is on par (or better!) than what you can buy. I feel like these are embodied in the sourdough craze that caught fire early on in COVID.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nDare I say that I did this before it was cool? \u0026#x1f60e; I baked two loaves of bread almost every weekend through med school. Maybe I should bring that back, it\u0026rsquo;s been a while since I brought out the ole\u0026rsquo; starter.\n\u003c/small\u003e\u003c/span\u003e\nMy pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I\u0026rsquo;ve started roasting my own coffee at home.\u003c/p\u003e","title":"Roasting coffee at home. ☕"},{"content":"It is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\nBehold the power of RSS! Most websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). Mine has one right here! These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\nThere are a plethora of RSS feed aggregators you can pick from manage your feeds. I have previously used Feedly and Inoreader, which are great free solutions, but have moved on to selfhosting my own instance of FreshRSS.\nAfter making an account at your friendly local RSS feed aggregator, you can add whatever feeds your heart desires. To find a journal\u0026rsquo;s rss feed, I often just search \u0026ldquo;$JOURNAL_NAME rss feed\u0026rdquo; and poke around until I find something that looks right. Most of the aggregators will test the feed out first to make sure that you are trying to add a legitimate one. Here are a few of the heavy hitters to get you started:\nhttp://feeds.nature.com/nature/rss/current https://www.science.org/rss/express.xml https://www.cell.com/cell/inpress.rss Nothing like a constant stream of Cell, Science, and Nature to make your project feel like a real winner, eh?\nHere is what my own site looks like.\nFigure 1: My current FreshRSS setup. On the left I have my feeds separated into folders. In the middle you can see the titles of papers that appear in my feed.\nAnd after I hit J to move to the first item in the feed.\nFigure 2: With a title selected, you can see the abstract and authors.\nAfter collecting all of your desired RSS feeds, you cannot forego your responsibility of actually reading them! Most RSS feed aggregators have shortcuts to move through titles quickly (Typically J to move on to the next one and K to move up.) They always seem to use vi keybindings. A bunch of computer nerds have really cornered the keybinding market. I have let them take over my computing life. Each morning when I get into the lab, I quickly set up something, then head to my desk to hit J until the counter reaches zero.\nBut what about my very specific field? You can subscribe to all of the journals you want, but that doesn\u0026rsquo;t make the papers with your specific interests pop out. Fortunately, the NIH has this exact circumstance in mind.\nWhen you make a new search on PubMed you might notice the \u0026ldquo;Create RSS\u0026rdquo; button. Give it a click, then you will have a personal link you can add to your favorite RSS feed aggregator.\nFigure 3: Somehow I never noticed this button until I needed it.\nThis changed the game for me for keeping up with papers. Unfortunately, it doesn\u0026rsquo;t solve the problem of library management, or actually getting around to reading the papers you care about. I will leave library management as an exercise for the interested reader. Here\u0026rsquo;s a tip, the best solution uses the Zotero citation manager. Bonus points for using Zotfile for renaming your PDFs and Better BibTex for Zotero. \u0026#x1f609; I hope this helps you get your eyeballs on that science you crave. If you have solved the problem of accruing papers to read faster than you read them, let me know.\n","permalink":"https://www.zacharybillman.com/posts/rss-feeds-to-find-science-papers/","summary":"\u003cp\u003eIt is an age-old question: how can one keep up with the continuous output of science? I remember at the beginning of my PhD struggling to figure out how anyone found out when a new paper came out. \u0026#x1f635; Did they sit on nature.com and spam the refresh button? Did they know when each journal released their latest issue?\u003c/p\u003e\n\u003ch2 id=\"behold-the-power-of-rss\"\u003eBehold the power of RSS!\u003c/h2\u003e\n\u003cp\u003eMost websites have a page that contains information about each subpage in a computer-readable format called RSS (Really Simple Syndication). \u003ca href=\"https://zacharybillman.com/index.xml\"\u003eMine has one right here!\u003c/a\u003e These pages can be parsed by a number of RSS feed aggregators. The way these pages are set up make it such that they add any new information hosted at that domain. This is useful in the science world because you can find the RSS feed of a given journal, subscribe to it, then have every new article published online be delivered right to you.\u003c/p\u003e","title":"Using RSS feeds to keep on top of science."},{"content":"My interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s a real possibility that Facebook has cached my account, ready to spin it back up in case I try to login again. The ads served to me were too accurate for my liking. This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it\u0026rsquo;s AI, and Facebook uses (at least) Instagram photos to train it\u0026rsquo;s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\nInitially, I lurked on forums like /r/privacy to learn what I could do to avoid big-tech\u0026rsquo;s watchful eye. There were numerous comments along the lines of: \u0026ldquo;The only way to be in control of your data is to self-host your services.\u0026rdquo; I had no idea what this meant! Hard to believe that less than a year later, I learned to use (and love) Linux as my primary OS, and have happily replaced Google Photos, Google Drive and other services with my own self-hosted alternatives. Self-hosting, I have since learned, is when you run useful programs from your own computer. By doing so, you have complete knowledge of where and how your data is stored and how it is being used. It has the additional effect of being a bottomless time sink.\nTo begin, I needed an always-on computer to run these useful programs. I began with a humble Raspberry Pi.\nFigure 1: My humble Raspberry Pi and it\u0026rsquo;s hard drive. This dude currently tirelessly runs the excellent Adguard Home and downloads a backup of my data every night.\nThese are tiny, but capable computers that are great for fiddling with. The projects people develop for these are amazing and diverse. With RPi in hand, I began with the ambitious project of replacing Google Drive with Nextcloud. After much frustration with a bare metal installation, I found the NextcloudPi project. Surprisingly, it went pretty okay! At first, I was intimidated by Linux defaults, but over time I grew to appreciate, and indeed, prefer Linux as an operating system. My decision to use Linux over Windows/MacOS is because it is free and open source software (FOSS). This is a topic for a different post, but I think using FOSS when possible is a moral imperative of sorts. I used Nextcloud strictly from my home for a few months, without the ability to connect to it from the internet, to test the self-hosting waters. My first true cloud replacement spun up once I decided to access this lil\u0026rsquo; guy from the internet. To do so, I purchased a domain (not the one this site is hosted on) and pointed it to the IP of my house. I forwarded the appropriate ports of my router to the RPi.\nThis is when the real exploration began. I was able to access my files and images using Nextcloud, but the photo viewing service left something to be desired. No problem, why not spin up an instance of Photoprism? I use RSS feeds to keep on top of the latest science in the journals relevant to my field using Feedly. Why not host my own RSS feed aggregator so I can subscribe to as many feeds as I desire?\nThis cycle continued, and I accrued many cool applications, but in the back of my mind I worried about opening up my home network to the internet. I also struggled to run some programs because the RPi uses the arm64 architecture, and most services are written with amd64 in mind. These two forces eventually convinced me to purchase a server where I could manage all of my services remotely. Some would say that not owning the hardware that is running your own services is not \u0026ldquo;true\u0026rdquo; self-hosting. I think this is needlessly exclusive. Let everyone self host, dangit! Someday, when I have more stable internet and a more permanent home, I hope to host everything from my own home, but until then, I\u0026rsquo;m extremely pleased with my current stack. And that is where I am now. I happily host numerous services on my virtual private server that entirely replace Google Photos, Google Drive and GitHub for me. Even better, there are specialized services that fill a need I never realized I had. What\u0026rsquo;s more, if I ever want to spin up a new service, all I have to do is add it to my to docker-compose file and it will be up within minutes. What a world!\nI thought about making this into a \u0026ldquo;guide\u0026rdquo; style post. I nixed that idea because, quite frankly, I feel like I don\u0026rsquo;t know what I\u0026rsquo;m doing. I am really happy with my setup, but I don\u0026rsquo;t feel like I have the authority to tell people how to administer their own services. If you are interested, allow me to point you toward the guide that really got me rolling: Ultimate Traefik Docker Compose Guide.\nFor those of you wondering what I am currently hosting, check out my current list at the link and let me know what you think!\n","permalink":"https://www.zacharybillman.com/posts/my-selfhosting-journey/","summary":"\u003cp\u003eMy interest in self-hosting began in my with my interests in internet privacy. Plastered all over the internet are stories about how much Google, Facebook and Amazon know about you. I deleted my Facebook account years ago, and I\u0026rsquo;m too paranoid to go back to the site because there\u0026rsquo;s \u003ca href=\"https://www.reddit.com/r/privacy/comments/6nmjfh/facebook_account_fully_recovered_3_years_after/\"\u003ea real possibility that Facebook has cached my account, ready to spin it back up\u003c/a\u003e in case I try to login again. The ads served to me were too accurate for my liking.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nThis is despite almost never clicking on them!\n\u003c/small\u003e\u003c/span\u003e\nI have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that \u003ca href=\"https://www.theverge.com/2020/11/11/21559930/google-train-ai-photos-image-labelling-app-android-update\"\u003eGoogle uses the labels you add to Photos to train it\u0026rsquo;s AI\u003c/a\u003e, and \u003ca href=\"https://ai.facebook.com/blog/seer-the-start-of-a-more-powerful-flexible-and-accessible-era-for-computer-vision/\"\u003eFacebook uses (at least) Instagram photos to train it\u0026rsquo;s AI\u003c/a\u003e. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data.\u003c/p\u003e","title":"My selfhosting journey."},{"content":"N.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\nSeafile\nThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\nPhotoprism\nNextcloud\u0026rsquo;s implementation of photo management was a bit clumsy for my tastes, so I began on a hunt for a more feature complete option. I was very lucky to stumble upon Photoprism early on in my self hosting journey. I am a proud supporter of this project. It brings a ton to the table, and doesn\u0026rsquo;t leave me missing Google Photos one bit. It is also actively developed. For instance, as of 2022-07-02, there was a recent update that improved scrolling a ton, which was one of my remaining quibbles with it\u0026rsquo;s functionality. Some people complain that it doesn\u0026rsquo;t scale up for libraries of 10,000+ photos, but my 2000 photo library works swimmingly. On my phone, I use the Folder Sync app to automatically send any pictures I take on my phone to the Photoprism imports folder. Within 15 minutes of snapping a photo, it is there on my Photoprism instance. I highly recommend giving it a go.\nMealie\nI have to admit that the name leaves something to be desired. Fortunately, the service itself doesn\u0026rsquo;t fall short. Mealie is a recipe management application. It is able to parse your favorite recipe websites to create immortalized versions of the recipe. This helps fight detestable link rot that plagues the internet. It allows you to edit ingredient amounts, make comments about what you would change next time, and plan out your weekly meals. It helps that it is beautiful and intuitive to use. If only I could get my partner to use it\u0026hellip; I want to go on the record here and say that I think it is sensible that she doesn\u0026rsquo;t trust my self hosted services that much. In the early days of my self hosting journey, let\u0026rsquo;s just say that the up-time of my services were extremely finicky. I like to think they are more permanent now, especially because I am hosting everything on a VPS, but I certainly cannot compete with the stability of Google and Amazon. (Or pretty much any other paid service for that matter.) \u0026#x1f609;\nGitea\nGitea is a community managed, lightweight code hosting solution written in Go. I use it to manage my data analysis (using privite repos) and even host the source code for this very website! Using Gitea has given me the surface level introduction to the behemoth that is git. Fortunately, that is all I need. Once I have removed any senitive data (like passwords, etc.) I will make my docker-compose file public. The docker-compose file is where I determine which services I pick to host, and how to configure them to my liking. Hopefully someone will find this useful.\nSyncthing\nIf I could only tell someone to self host a single service, I would have to pick Syncthing. It is a continuous file synchronization program, which means it keeps a specific file or folder the same between any device running Syncthing. I use it to keep my password database and my org-mode notes Now org-mode might be the biggest rabbithole of them all, and definitely the topic for another blog post. I use it to manage my TODO list, my lab notebook, my shopping lists, write this blog, and maintain my Zettelkasten note database. It is an immensely powerful tool. up to date between all of my devices. With Syncthing, all of my data is stored on my own devices and encrypted in transit.\nFreshRSS\nI keep up to date on the science in my field by subscribing to relevant RSS feeds. Yet another topic to write a post about. This really changed the game for my ability to keep on top of the latest research. 2022-07-14 Update: post complete! Check it out here. FreshRSS replaced Feedly for me, as I ran up against the number of feeds I could subscribe to on a free account. Also, when self hosting, I can save as many articles as my heart desires (even if I will never look at them again \u0026#x1f635; ).\nWallabag\nRemember Pocket for Firefox? (Yes, I know it still exists, okay?) Give Wallabag a spin, it is great for storing articles you want to read later. I set up FreshRSS to save articles to my Wallabag instance to keep for later.\nChangeDetection\nNow this is a fun one! ChangeDetection.io is a service that loads a webpage and checks to see if something has changed since the last time. This might not sound useful at first, but I recently used this to check for when a hot item for my new coffee roasting hobby was back in stock. I got an email the other day to let me know it was in stock. Pretty cool!\nHugo\nHugo is the static site generator I use to make this here blog! I was amazed at how much more response my site was using Hugo compare to when I paid a company to host a WordPress site. I\u0026rsquo;m sure WordPress could be fast, but I just wanted a barebones, pure html experience, and Hugo made it easy.\nCommento++\nYou may have noticed that I have some pretty snazzy comments sections on my site. I initially used Disqus, which you may recognize from a ton of sites around the internet, but didn\u0026rsquo;t like how it would serve ads through my comments section, and provided sign-ins using Google/Facebook/Twitter. I wanted to serve the simplest comments section I could, that still gave me the ability to migrate the comments to wherever I decide to keep my server. Go ahead and use the anonymous comment button, fill in your name, and you are off to the races.\nAuthelia\nThere are a few services I host that I really want to lock down. For these services, Authelia is great. It puts up a \u0026ldquo;Enter the 6 digit code on your phone\u0026rdquo; style 2 factor authentication in front of the services I choose. Or, if you follow the guide here, you can have it send you a DUO push, just like you are one of the big hitters out there. I feel much more secure with Authelia in front of Adminer, Traefik, and Portainer.\nBoring stuff that allows everything else to work!\nPostgreSQL database MariaDB database Traefik reverse proxy Umami privacy respecting site analytics Portainer for docker container management Redis in-memory data store Adminer database management traefik-socket-proxy to prevent pesky backdoors to my server! ","permalink":"https://www.zacharybillman.com/posts/zpb-current-selfhosted/","summary":"\u003cp\u003e\u003cem\u003eN.B.: I hope to add screenshots for each of these eventually. For now, I hope links to each services\u0026rsquo; website will suffice.\u003c/em\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.seafile.com/en/home/\"\u003eSeafile\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is a great tool for managing files. I moved to this from Nextcloud because I am of the philosophy that I would prefer services that do one thing excellently instead of many things well. Nextcloud is an incredible Office365 replacement, but I found myself using a fraction of what it was capable of providing. Enter Seafile. It is cloud file syncing with a robust encryption implementation, just what the doctor ordered.\u003c/p\u003e","title":"What I'm currently selfhosting."},{"content":"My partner and I took a trip to the Mason Farm Biological Reserve the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\nI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had. Normally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their iconic call. I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\nThese images have been compressed quite a bit for a lighter internet footprint. These have all been resized to 25% of their original size. If you would like the full sized images, let me know and I will send you a link!\n","permalink":"https://www.zacharybillman.com/posts/the-uncommon-yellowthroat/","summary":"\u003cp\u003eMy partner and I took a trip to the \u003ca href=\"https://ncbg.unc.edu/visit/mason-farm-biological-reserve/\"\u003eMason Farm Biological Reserve\u003c/a\u003e the other day, and what a glorious day it was. This year, I\u0026rsquo;ve been quite busy in the lab, and missed a lot of the early spring warbler season, so I was very excited by the opportunity to check out the old stomping grounds.\u003c/p\u003e\n\u003cp\u003eI brought the camera with me despite the fact we were going to be there around midday when the birds are much less active. I\u0026rsquo;m glad I did, because I got the best look at a common yellowthroat I\u0026rsquo;ve ever had.\n\u003cspan class=\"sidenote-number\"\u003e\u003csmall class=\"sidenote\"\u003e\nNormally these guys are flighty, staying close to the ground in small brush or tall grasses, but this one was putting on a proper show for the mating season. Even when you get a glimpse of one, it is usually just that, as they have jumped away before you can pull out the camera, taunting you with their \u003ca href=\"https://ebird.org/species/comyel#Modal-playlist\"\u003eiconic call\u003c/a\u003e.\n\u003c/small\u003e\u003c/span\u003e\nI was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake.\u003c/p\u003e","title":"The (un)common yellowthroat."}] \ No newline at end of file diff --git a/public/posts/about-me/index.html b/public/posts/about-me/index.html index a6f9877..b1beff5 100644 --- a/public/posts/about-me/index.html +++ b/public/posts/about-me/index.html @@ -15,7 +15,7 @@ This move was quite a trial, especially when compounded with the onset of the pa This makes for very interesting basketball viewing parties with my Duke friends!"> - + @@ -32,10 +32,10 @@ This makes for very interesting basketball viewing parties with my Duke friends! } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/posts/index.html b/public/posts/index.html index cbe3330..61680c6 100644 --- a/public/posts/index.html +++ b/public/posts/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/posts/my-selfhosting-journey/index.html b/public/posts/my-selfhosting-journey/index.html index 72e1374..93f1ff0 100644 --- a/public/posts/my-selfhosting-journey/index.html +++ b/public/posts/my-selfhosting-journey/index.html @@ -14,7 +14,7 @@ This is despite almost never clicking on them! I have become convinced of the idea that, if you are not paying for the product, you are the product. From this assumption, it follows that anywhere I trust with my data that I am not paying for (like Google Drive, Google Photos, Dropbox, Facebook, Twitter) is using my data to earn money. We know that Google uses the labels you add to Photos to train it’s AI, and Facebook uses (at least) Instagram photos to train it’s AI. For some, the value proposition of allowing a company to use your data for a useful service in return is an acceptable one. I find this to be a reasonable stance, but I took my growing interest in internet privacy as a chance to learn about how I can take control of my data."> - + @@ -31,10 +31,10 @@ I have become convinced of the idea that, if you are not paying for the product, } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/posts/roasting-coffee-at-home/index.html b/public/posts/roasting-coffee-at-home/index.html index c105ab5..1a8ed8b 100644 --- a/public/posts/roasting-coffee-at-home/index.html +++ b/public/posts/roasting-coffee-at-home/index.html @@ -14,7 +14,7 @@ Dare I say that I did this before it was cool? 😎 I baked two loaves of b My pandemic hobby is similar, but different in that it often feels like a chore, costs more money, and often turns out worse than what I can buy. Of course, I am talking about how I’ve started roasting my own coffee at home."> - + @@ -31,10 +31,10 @@ My pandemic hobby is similar, but different in that it often feels like a chore, } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + @@ -259,23 +259,6 @@ I bought the SR800 - - - - - - - - - - - - - - - - - -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/posts/the-uncommon-yellowthroat/index.html b/public/posts/the-uncommon-yellowthroat/index.html index e09b168..24fda88 100644 --- a/public/posts/the-uncommon-yellowthroat/index.html +++ b/public/posts/the-uncommon-yellowthroat/index.html @@ -15,7 +15,7 @@ Normally these guys are flighty, staying close to the ground in small brush or t I was very pleased to capture a few choice shots of the bird. Hopefully there are more to come. While we were out, I also got a nice picture of a hermit thrush and a king snake."> - + @@ -32,10 +32,10 @@ I was very pleased to capture a few choice shots of the bird. Hopefully there ar } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + @@ -244,23 +244,6 @@ I was very pleased to capture a few choice shots of the bird. Hopefully there ar - - - - - - - - - - - - - - - - - -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/search/index.html b/public/search/index.html index da9e4e7..45628b6 100644 --- a/public/search/index.html +++ b/public/search/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/tags/birding/index.html b/public/tags/birding/index.html index 5d65dce..9fb9ab5 100644 --- a/public/tags/birding/index.html +++ b/public/tags/birding/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/tags/coffee/index.html b/public/tags/coffee/index.html index f206ad7..3958160 100644 --- a/public/tags/coffee/index.html +++ b/public/tags/coffee/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/tags/foss/index.html b/public/tags/foss/index.html index aee063e..923085e 100644 --- a/public/tags/foss/index.html +++ b/public/tags/foss/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/tags/index.html b/public/tags/index.html index ed28157..08f8ab4 100644 --- a/public/tags/index.html +++ b/public/tags/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/tags/masonfarm/index.html b/public/tags/masonfarm/index.html index 87c519b..acc9b97 100644 --- a/public/tags/masonfarm/index.html +++ b/public/tags/masonfarm/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/tags/science/index.html b/public/tags/science/index.html index 385bf0c..fe89e75 100644 --- a/public/tags/science/index.html +++ b/public/tags/science/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/tags/selfhosting/index.html b/public/tags/selfhosting/index.html index e473570..0cf6eb2 100644 --- a/public/tags/selfhosting/index.html +++ b/public/tags/selfhosting/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ + diff --git a/public/tags/yellowthroat/index.html b/public/tags/yellowthroat/index.html index 9167a03..eaeaf49 100644 --- a/public/tags/yellowthroat/index.html +++ b/public/tags/yellowthroat/index.html @@ -10,7 +10,7 @@ - + @@ -28,10 +28,10 @@ } -/* Umami site analysis */ + -/*Made the dang shortcode gallery work! */ +