diff options
| -rw-r--r-- | haunt.scm | 12 | ||||
| -rw-r--r-- | pages-assets/cbt-2023-04-13.jpg (renamed from static/image/cbt-2023-04-13.jpg) | bin | 375364 -> 375364 bytes | |||
| -rw-r--r-- | pages/.dir-locals.el | 8 | ||||
| -rw-r--r-- | pages/about-complete.html | 677 | ||||
| -rw-r--r-- | pages/about-complete.org | 214 | ||||
| -rw-r--r-- | pages/about-complete.sxml | 32 | ||||
| -rw-r--r-- | pages/changelog.html | 81 | ||||
| -rw-r--r-- | pages/changelog.org | 41 | ||||
| -rw-r--r-- | pages/changelog.sxml | 32 | ||||
| -rw-r--r-- | pages/status-400.sxml | 76 | ||||
| -rw-r--r-- | pages/status-403.sxml | 68 | ||||
| -rw-r--r-- | pages/status-404.sxml | 76 | ||||
| -rw-r--r-- | pages/status-429.sxml | 46 | ||||
| -rw-r--r-- | pages/status-500.sxml | 50 |
14 files changed, 268 insertions, 1145 deletions
@@ -51,15 +51,13 @@ (list (atom-feed #:max-entries 1024) (blog) (blogroll) - (htaccess #:error-documents '((400 . "/pages/status-400.html") - (403 . "/pages/status-403.html") - (404 . "/pages/status-404.html") - (429 . "/pages/status-429.html") - (500 . "/pages/status-500.html"))) (outbox) (flat-pages "pages" #:template (lambda (_site title content) - (theme #:title title #:content content)) + (let ((content `(div (@ (data-pagefind-body #t)) + ,@content))) + (theme #:title title #:content content))) #:prefix "pages/") (static-directory "static") - (static-directory "posts-assets" "blog"))) + (static-directory "posts-assets" "blog") + (static-directory "pages-assets" "pages"))) diff --git a/static/image/cbt-2023-04-13.jpg b/pages-assets/cbt-2023-04-13.jpg Binary files differindex f691e45..f691e45 100644 --- a/static/image/cbt-2023-04-13.jpg +++ b/pages-assets/cbt-2023-04-13.jpg diff --git a/pages/.dir-locals.el b/pages/.dir-locals.el new file mode 100644 index 0000000..211fd8b --- /dev/null +++ b/pages/.dir-locals.el @@ -0,0 +1,8 @@ +((org-mode . ((org-html-doctype . "xhtml5") + (org-html-html5-fancy . t) + (org-html-with-latex . 'verbatim) + (org-export-with-toc . nil) + (org-export-with-section-numbers . nil) + (org-export-with-sub-superscripts . nil) + (ox-haunt-base-dir . "/home/jakob/Blog/haunt/") + (ox-haunt-images-dir . "/static/image/")))) diff --git a/pages/about-complete.html b/pages/about-complete.html deleted file mode 100644 index 2534e47..0000000 --- a/pages/about-complete.html +++ /dev/null @@ -1,677 +0,0 @@ ---- -<div id="outline-container-orge997e31" class="outline-1"> -<h1 id="orge997e31">About me.</h1> -<div class="outline-text-1" id="text-orge997e31"> -<p> -My name is Jakob Kreuze (/ˈdʒeɪkəbˈkɹuz/ and /ˈjaːkɔp ˈkʁɔʏ̯tsə/ are both acceptable pronunciations). I'm a 23 year-old living in Greater Boston. I received my B.Sc. in Computer Science and Mathematics from the University of Massachusetts in 2021, and my M.Sc. in Computer Science from Brown University in 2024. Nowadays, I work full-time as a civil servant. -</p> - -<p> -I work primarily with the design of secure systems. My research interests are formal methods, distributed computing, symbolic execution, and signals processing. I did my undergraduate research in cryptography; the experience was gratifying and greatly influenced my career path, but I'm not especially interested in it these days. -</p> - -<p> -My free time not spent on chores or being with friends and family is spent working on personal projects, which are outlined <a href="https://jakob.space/pages/about.html">here</a>. -</p> - -<p> -If you're interested in game engine tech, my younger brother is working on a game engine + graphics engine of his own. You can read about it on <a href="https://p0ly.com/">his website</a>. I like to think of him as my protégé, but he's mostly self-taught. -</p> -</div> -<div id="outline-container-org946c808" class="outline-2"> -<h2 id="org946c808">My Interests</h2> -<div class="outline-text-2" id="text-org946c808"> -</div> -<div id="outline-container-orgf1c6be4" class="outline-3"> -<h3 id="orgf1c6be4">(Functional) programming</h3> -<div class="outline-text-3" id="text-orgf1c6be4"> -<p> -I was introduced to computer programming at an early age. My parents were given a Nintendo 64 as a wedding gift shortly before I was born, so I spent my early years playing <i>Ocarina of Time</i> and the likes. My young, impressionable mind drew inspiration, and I would go on about how I wanted to make games of my own. My technically-apt father was able to point me in the right direction for learning to do so. -</p> - -<p> -I was writing small games in Python by the time I was ten years old, though I have little to show for it with much lost to failing hard drives. The interest waxed and waned, but picked back up significantly when I turned 14 and began using GNU/Linux. -</p> - -<p> -The renowned <i>Structure and Interpretation of Computer Programs</i> was my introduction to functional programming, recommended by several in the "online" circle I hung around circa then. It's an excellent book, but I was not mature enough to understand it at that age. The points about higher-order functions did, however, click for me, and I was inspired to begin using the handful of functional programming tools available in Python, and to learn Common Lisp (because I thought the syntax laden with parentheses was obscure and cool). -</p> - -<p> -this was all prior to learning about the sort of object-oriented style that was taught in my ap computer science class. having to deal with that programming paradigm really cemented my opinions about why functional is the "right" way to write software. -</p> - -<p> -Nowadays, my favorite programming languages are Scheme, Haskell, and Rust. Depending on who you ask, some subset of those languages are "functional programming languages." It's not a clear-cut term, but what it means to me is an emphasis on immutability and higher-order functions. I consider all three to be functional, though Rust is somewhat of a black sheep. -</p> -</div> -</div> -<div id="outline-container-org703a058" class="outline-3"> -<h3 id="org703a058">Computer security</h3> -<div class="outline-text-3" id="text-org703a058"> -<p> -Amid my early years with computer programming, I was briefly introduced to web development and, in particular, PHP. The language has a reputation for the ease with which one can introduce security vulnerabilities, and as such, the book I was using to teach myself at the time expatiated about SQL injection, going so far as to walk the reader through an example. At eleven years old, this piqued my interest, and I soon sought out as much material on computer security as I could, showing my friends what I could do on <a href="https://www.hackthissite.org/">HackThisSite</a>. -</p> - -<p> -I began playing capture-the-flag when I was in high school and came across LiveOverflow's <a href="https://yewtu.be/playlist?list=PLhixgUqwRTjxglIswKp9mpkfPNfHkzyeN">early videos</a>, which inspired me to play in the (now defunct) <a href="https://ctf-x.github.io/">CTF(x)</a>. I was a team of one until I started playing with <a href="https://0xbu.com/blog/">0xBU</a>. I was still in high school, only 16, but I noticed them on the leader-board. They were just a train ride away, so I reached out to ask if I could show up to their meetings. They said yes, so I spent most of my weekends downtown, getting good at pwning. -</p> - -<p> -In my university years, I was an e-board member of the <a href="https://umasscybersec.org/">UMass Cybersecurity Club</a>: playing for their CTF team, and putting serious work into the CTF's we hosted. -</p> -</div> -</div> -<div id="outline-container-org37f3452" class="outline-3"> -<h3 id="org37f3452">Lifting weights</h3> -<div class="outline-text-3" id="text-org37f3452"> -<p> -I exercise every day, barring extreme circumstances. -</p> - - -<figure id="orgb4aa2ba"> -<img src="../static/image/cbt-2023-04-13.jpg" alt="cbt-2023-04-13.jpg" /> - -<figcaption><span class="figure-number">Figure 1: </span>Current body as of April 13, 2023.</figcaption> -</figure> - -<p> -Sports didn't interest me when I was younger. I was signed up for soccer, and basketball, and many other after-school sports programs, but nothing stuck. -</p> - -<p> -At 13, I joined the <a href="https://en.wikipedia.org/wiki/Civil_Air_Patrol">Civil Air Patrol</a>, which changed my prior attitudes toward fitness. Now I had to pass fitness tests to promote, and I had to be in-shape for the emergency response work I was doing, so I picked up a regular exercise routine. I began with body-weight exercises and running outside, and I fell in love with it. Pushing yourself to exhaustion – until you can barely lift your arms – is addicting. But I was soon bored with calisthenics and begged my parents for a gym membership. I posed it as something I could do with my dad, and that's how I spent my evenings in high school. -</p> - -<p> -I don't lift competitively. I've had aspirations to over the years, but injuries have prevented me from pushing enough weight to place (herniated disk circa 2017, gluteus medius tear circa 2020). Perhaps my time will come. -</p> - -<p> -I'm selective about the fitness-related content I consume, tending to prefer folks in the "evidence-based fitness community" like Greg Nuckols, Eric Trexler, and Jeff Nippard. -</p> -</div> -<div id="outline-container-orgfa91307" class="outline-4"> -<h4 id="orgfa91307">Regimen</h4> -<div class="outline-text-4" id="text-orgfa91307"> -<p> -A given day is cardio xor weightlifting. It's rare that I do both on the same day. This is for the resiliency of my routine; if I know I'm going to be stuck somewhere without access to weights, I can still keep up with my routine by going outside to run. -</p> - -<p> -At the moment, I'm running the third of Jeff Nippard's "Powerbuilding System" programs, after having an exceptionally good experience with the first two. -</p> -</div> -</div> -</div> -<div id="outline-container-orgffcf739" class="outline-3"> -<h3 id="orgffcf739">Food and Permaculture</h3> -<div class="outline-text-3" id="text-orgffcf739"> -<p> -In spite of my deceptively trim figure, I love to cook and eat, especially when it involves unfamiliar cuisines. "Gourmand" is a term I often use when describing myself. -</p> - -<p> -I was fortunate that most of my meals growing up were homemade. It was much healthier than the alternative, and I was able to learn a lot from my parents in the kitchen. I started taking on that chore in high school with the aim of making things less stressful for my parents. Nowadays, it's practically a hobby for me. I love learning new skills and techniques, and making delicious meals to share with my friends and family. -</p> - -<p> -I especially enjoy dishes from Africa and South Asia. -</p> - -<p> -Having an adventurous palate, I'm also interested in permaculture, because it enables me to enjoy produce I would otherwise have a difficult time acquiring (like besobela, or Carolina reapers). My parents always had a garden when I was growing up, and I really enjoyed the idea of self-resiliency that's embedded in the hobby. It's been a bit difficult to grow much on my own because I currently live in an apartment, but some day I'll fulfill my dream of having a huge and varied garden just like theirs. -</p> -</div> -</div> -<div id="outline-container-org30cf18c" class="outline-3"> -<h3 id="org30cf18c">Music</h3> -<div class="outline-text-3" id="text-org30cf18c"> -<p> -I don't really play or write music at the moment. -</p> - -<p> -My parents signed me up for drum lessons when I was 10, and I did that until I was 18, eventually getting a summer job as a drum line instructor. I didn't have time to keep up with practicing when I went off to college. -</p> - -<p> -I tried to pick up the electric guitar in 2020 as my "pandemic hobby", but stopped a few months in because I was incredibly burned out with school and couldn't even find the five minutes to practice. -</p> - -<p> -I love to <i>listen</i> to music, though, especially when I'm exercising or working. Old punk rock, in particular. My favorite bands are the Descendents, Black Flag, and Minor Threat. -</p> -</div> -</div> -</div> -<div id="outline-container-org65e98e9" class="outline-2"> -<h2 id="org65e98e9">Technologies I Use</h2> -<div class="outline-text-2" id="text-org65e98e9"> -<p> -My preferred software stack: -</p> - -<table> - - -<colgroup> -<col class="org-left" /> - -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left">Operating System</td> -<td class="org-left">Gentoo GNU/Linux</td> -</tr> - -<tr> -<td class="org-left">initd</td> -<td class="org-left">OpenRC</td> -</tr> - -<tr> -<td class="org-left">Shell</td> -<td class="org-left">Bash</td> -</tr> - -<tr> -<td class="org-left">Window Manager</td> -<td class="org-left">Awesome</td> -</tr> - -<tr> -<td class="org-left">Text Editor</td> -<td class="org-left">GNU Emacs</td> -</tr> - -<tr> -<td class="org-left">Email Client</td> -<td class="org-left">gnus</td> -</tr> - -<tr> -<td class="org-left">Web Browser</td> -<td class="org-left">eww, Mozilla Firefox</td> -</tr> - -<tr> -<td class="org-left">Torrent Client</td> -<td class="org-left">transmission</td> -</tr> - -<tr> -<td class="org-left">Keyboard Remapping</td> -<td class="org-left">xremap</td> -</tr> - -<tr> -<td class="org-left">Version Control</td> -<td class="org-left">git</td> -</tr> - -<tr> -<td class="org-left">Hex Editor</td> -<td class="org-left">radare2</td> -</tr> - -<tr> -<td class="org-left">Disassembler</td> -<td class="org-left">Ghidra</td> -</tr> -</tbody> -</table> - -<p> -Humorously, I went: awesomewm → i3 → dwm → exwm → stumpwm → awesomewm -</p> - -<p> -My Emacs configuration can be found <a href="https://git.sr.ht/~jakob/.emacs.d">here</a>. -</p> -</div> -<div id="outline-container-orgb74da9a" class="outline-3"> -<h3 id="orgb74da9a">Machines (In-Commission)</h3> -<div class="outline-text-3" id="text-orgb74da9a"> -</div> -<div id="outline-container-org9183ca0" class="outline-4"> -<h4 id="org9183ca0">endseal (Workstation)</h4> -<div class="outline-text-4" id="text-org9183ca0"> -<p> -I built this computer with my father when I was 12, and I still use it today. I've upgraded the graphics card and the RAM since then, but it's otherwise the same machine I had in middle school. -</p> - -<table> - - -<colgroup> -<col class="org-left" /> - -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left">Hardware</td> -<td class="org-left">Custom</td> -</tr> - -<tr> -<td class="org-left">• CPU</td> -<td class="org-left">Intel® Core™ i5-2500 CPU @ 3.30GHz</td> -</tr> - -<tr> -<td class="org-left">• GPU</td> -<td class="org-left">AMD Radeon RX 460 Graphics (POLARIS11)</td> -</tr> - -<tr> -<td class="org-left">• RAM</td> -<td class="org-left">16GB DDR3</td> -</tr> - -<tr> -<td class="org-left">Operating System</td> -<td class="org-left">Gentoo GNU/Linux</td> -</tr> -</tbody> -</table> -</div> -</div> -<div id="outline-container-orgbc46ebc" class="outline-4"> -<h4 id="orgbc46ebc">stellarwind (Laptop)</h4> -<div class="outline-text-4" id="text-orgbc46ebc"> -<p> -My newest machine, and my daily driver for getting things done when I'm on the go (which constitutes most of my time these days). I'm a big fan of it. A fully-charged battery lasts several hours and it sports a powerful processor, all while being lightweight and quiet. I suspect it's a bit more powerful than endseal. -</p> - -<table> - - -<colgroup> -<col class="org-left" /> - -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left">Hardware</td> -<td class="org-left">ThinkPad™ T495s</td> -</tr> - -<tr> -<td class="org-left">• CPU</td> -<td class="org-left">AMD® Ryzen™ 5 PRO 3500U @ 3.70GHz</td> -</tr> - -<tr> -<td class="org-left">• GPU</td> -<td class="org-left">AMD® Radeon™ Vega 8 Graphics</td> -</tr> - -<tr> -<td class="org-left">• RAM</td> -<td class="org-left">16GB DDR4</td> -</tr> - -<tr> -<td class="org-left">Operating System</td> -<td class="org-left">Gentoo GNU/Linux</td> -</tr> -</tbody> -</table> -</div> -</div> -<div id="outline-container-orge021047" class="outline-4"> -<h4 id="orge021047">forte (Mobile Workstation)</h4> -<div class="outline-text-4" id="text-orge021047"> -<p> -For extended trips away from my apartment, I have this mini-PC I put together. It's made me think a lot about hardware, since I spent only $300 on it, yet it's the most powerful machine I own currently. -</p> - -<table> - - -<colgroup> -<col class="org-left" /> - -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left">Hardware</td> -<td class="org-left">Custom</td> -</tr> - -<tr> -<td class="org-left">• CPU</td> -<td class="org-left">AMD® Ryzen™ 5 5560U @ 4.00GHz</td> -</tr> - -<tr> -<td class="org-left">• GPU</td> -<td class="org-left">AMD® Radeon™ Vega 6 Graphics</td> -</tr> - -<tr> -<td class="org-left">• RAM</td> -<td class="org-left">12GB DDR4</td> -</tr> - -<tr> -<td class="org-left">Operating System</td> -<td class="org-left">Gentoo GNU/Linux</td> -</tr> -</tbody> -</table> -</div> -</div> -<div id="outline-container-orgd72e9dc" class="outline-4"> -<h4 id="orgd72e9dc">kandik (Cellphone)</h4> -<div class="outline-text-4" id="text-orgd72e9dc"> -<p> -Daily driver. It's an older phone but it runs PostmarketOS well and it's far more powerful than the PinePhone. -</p> - -<table> - - -<colgroup> -<col class="org-left" /> - -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left">Hardware</td> -<td class="org-left">OnePlus 6T</td> -</tr> - -<tr> -<td class="org-left">• CPU</td> -<td class="org-left">4 x Qualcomm Kryo cores @ 2.8 GHz + 4 x Qualcomm Kryo cores @ 1.8 GHz</td> -</tr> - -<tr> -<td class="org-left">• GPU</td> -<td class="org-left">Qualcomm Adreno 630</td> -</tr> - -<tr> -<td class="org-left">• RAM</td> -<td class="org-left">6GB LPDDR4X</td> -</tr> - -<tr> -<td class="org-left">Operating System</td> -<td class="org-left">PostmarketOS (Phosh)</td> -</tr> -</tbody> -</table> -</div> -</div> -<div id="outline-container-org0a0a626" class="outline-4"> -<h4 id="org0a0a626">misty (Server)</h4> -<div class="outline-text-4" id="text-org0a0a626"> -<p> -This is the machine that runs all of the server-side scripts for this site, as well as my Pleroma instance. -</p> - -<table> - - -<colgroup> -<col class="org-left" /> - -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left">Hardware</td> -<td class="org-left">PINE64 ROCKPro64</td> -</tr> - -<tr> -<td class="org-left">• CPU</td> -<td class="org-left">4 x ARM Cortex A53 cores @ 1.4GHz + 2 x ARM Cortex A72 cores @ 1.8 GHz</td> -</tr> - -<tr> -<td class="org-left">• RAM</td> -<td class="org-left">4GB LPDDR4 RAM</td> -</tr> - -<tr> -<td class="org-left">Operating System</td> -<td class="org-left">Gentoo GNU/Linux</td> -</tr> -</tbody> -</table> -</div> -</div> -<div id="outline-container-orgeed55ec" class="outline-4"> -<h4 id="orgeed55ec">hypo (Access Point)</h4> -<div class="outline-text-4" id="text-orgeed55ec"> -<p> -This used to serve the purpose that misty serves now. It wasn't powerful enough. I've re-purposed it as a wireless access point for when I visit my parents. -</p> - -<table> - - -<colgroup> -<col class="org-left" /> - -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left">Hardware</td> -<td class="org-left">Raspberry Pi 3 Model B</td> -</tr> - -<tr> -<td class="org-left">• CPU</td> -<td class="org-left">Broadcom BCM2837 @ 1.2GHz</td> -</tr> - -<tr> -<td class="org-left">• RAM</td> -<td class="org-left">1GB LPDDR2 SDRAM</td> -</tr> - -<tr> -<td class="org-left">Operating System</td> -<td class="org-left">Gentoo GNU/Linux</td> -</tr> -</tbody> -</table> -</div> -</div> -<div id="outline-container-org4629f02" class="outline-4"> -<h4 id="org4629f02">corona (Media Center)</h4> -<div class="outline-text-4" id="text-org4629f02"> -<p> -This was the laptop I lugged around with me in high school and college. It's absurdly heavy and large, and has an awful battery life, but it sports some decent hardware so I'm using it as a <a href="https://kodi.tv/">Kodi</a> and <a href="https://www.retroarch.com/">RetroArch</a> box. -</p> - -<table> - - -<colgroup> -<col class="org-left" /> - -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left">Hardware</td> -<td class="org-left">Lenovo Y50</td> -</tr> - -<tr> -<td class="org-left">• CPU</td> -<td class="org-left">Intel® Core™ i7-4700HQ @ 2.4 GHz</td> -</tr> - -<tr> -<td class="org-left">• GPU</td> -<td class="org-left">NVIDIA® GTX-860M</td> -</tr> - -<tr> -<td class="org-left">• RAM</td> -<td class="org-left">8 GB DDR3</td> -</tr> - -<tr> -<td class="org-left">Operating System</td> -<td class="org-left">Gentoo GNU/Linux</td> -</tr> -</tbody> -</table> - -<p> -It saw a lot more use when I was living in Providence and my kitchen opened up into the living room. I'd use it to watch YouTube while I cooked or did dishes. -</p> -</div> -</div> -</div> -<div id="outline-container-org2804516" class="outline-3"> -<h3 id="org2804516">Other</h3> -<div class="outline-text-3" id="text-org2804516"> -<p> -For my home network, I have a TP-Link AC1750 Archer A7 running <a href="https://en.wikipedia.org/wiki/OpenWrt">OpenWRT</a> hooked up to a NetGear CM1000. -</p> - -<p> -I wear a Casio DBC-611-1 everywhere I go. -</p> - -<p> -And I've got a handful of other random SBCs and retro hardware that I don't regularly use: -</p> - -<ul class="org-ul"> -<li>SeeedStudio BeagleBone Green</li> -<li>Raspberry Pi 2 Model B</li> -<li>Commodore 64</li> -<li>Commodore VIC-20</li> -<li>Nintendo Super Famicom</li> -<li>Nintendo 64</li> -<li>Sega Dreamcast</li> -</ul> -</div> -</div> -<div id="outline-container-orgd6eea28" class="outline-3"> -<h3 id="orgd6eea28">Machines (Out-Of-Commission)</h3> -<div class="outline-text-3" id="text-orgd6eea28"> -</div> -<div id="outline-container-orgd621c3b" class="outline-4"> -<h4 id="orgd621c3b">whitecloud (Laptop)</h4> -<div class="outline-text-4" id="text-orgd621c3b"> -<p> -This was a fine daily driver for a little while. I eventually gave up on using -it because of the weak battery controller, the buggy keyboard firmware that I -couldn't re-flash, and eventually wanting to be able to do things more -computationally-intensive than run GNU Emacs. -</p> - -<table> - - -<colgroup> -<col class="org-left" /> - -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left">Hardware</td> -<td class="org-left">Pinebook Pro</td> -</tr> - -<tr> -<td class="org-left">• CPU</td> -<td class="org-left">4 x ARM Cortex A53 cores @ 1.4GHz + 2 x ARM Cortex A72 cores @ 1.8 GHz</td> -</tr> - -<tr> -<td class="org-left">• GPU</td> -<td class="org-left">ARM Mali T860 MP4 GPU</td> -</tr> - -<tr> -<td class="org-left">• RAM</td> -<td class="org-left">4GB LPDDR4 RAM</td> -</tr> - -<tr> -<td class="org-left">Operating System</td> -<td class="org-left">Gentoo GNU/Linux</td> -</tr> -</tbody> -</table> -</div> -</div> -<div id="outline-container-org84b365d" class="outline-4"> -<h4 id="org84b365d">vela (Cellphone)</h4> -<div class="outline-text-4" id="text-org84b365d"> -<p> -The subject of <a href="https://jakob.space/blog/i-love-my-pinephone.html">this blog post</a>. It was a great daily driver for almost a year, but I was really desiring something more powerful, and the Braveheart Edition I have has some really unsavory hardware issues. -</p> - -<table> - - -<colgroup> -<col class="org-left" /> - -<col class="org-left" /> -</colgroup> -<tbody> -<tr> -<td class="org-left">Hardware</td> -<td class="org-left">PINE64 Pinephone (Braveheart Edition)</td> -</tr> - -<tr> -<td class="org-left">• CPU</td> -<td class="org-left">Allwinner A64 @ 1.152 GHz</td> -</tr> - -<tr> -<td class="org-left">• GPU</td> -<td class="org-left">ARM Mali-400 MP2</td> -</tr> - -<tr> -<td class="org-left">• RAM</td> -<td class="org-left">2GB LPDDR4 RAM</td> -</tr> - -<tr> -<td class="org-left">Operating System</td> -<td class="org-left">PostmarketOS (Phosh)</td> -</tr> -</tbody> -</table> -</div> -</div> -</div> -</div> -<div id="outline-container-org4d2ddee" class="outline-2"> -<h2 id="org4d2ddee">Other Bits and Pieces</h2> -<div class="outline-text-2" id="text-org4d2ddee"> -<p> -I'm a vocal supporter of open access and the free software movement. I'm an associate member of the <a href="https://www.fsf.org/">Free Software Foundation</a> and I contribute to <a href="https://en.wikipedia.org/wiki/User:ZeroDaysForDays">Wikimedia</a> and <a href="https://www.openstreetmap.org/user/Jakob%20Kreuze">OpenStreetMap</a>. -</p> - -<p> -I am a licensed (general class) ham, but I am rarely active. My callsign is KR3UZE. -</p> -</div> -</div> -</div> diff --git a/pages/about-complete.org b/pages/about-complete.org new file mode 100644 index 0000000..2242ec0 --- /dev/null +++ b/pages/about-complete.org @@ -0,0 +1,214 @@ +#+TITLE: About me. + +* About me. + +My name is Jakob Kreuze (/ˈdʒeɪkəbˈkɹuz/ and /ˈjaːkɔp ˈkʁɔʏ̯tsə/ are both acceptable pronunciations). I'm a 24 year-old living in Greater Boston. I received my B.Sc. in Computer Science and Mathematics from the University of Massachusetts in 2021, and my M.Sc. in Computer Science from Brown University in 2024. Nowadays, I work full-time as a civil servant. + +I work primarily with the design of secure systems. My research interests are formal methods, distributed computing, symbolic execution, and signals processing. I did my undergraduate research in cryptography; the experience was gratifying and greatly influenced my career path, but I'm not especially interested in it these days. + +My free time not spent on chores or being with friends and family is spent working on personal projects, which are outlined [[https://jakob.space/pages/about.html][here]]. + +If you're interested in game engine tech, my younger brother is working on a game engine + graphics engine of his own. You can read about it on [[https://p0ly.com/][his website]]. I like to think of him as my protégé, but he's mostly self-taught. + +** My Interests + +*** (Functional) programming + +I was introduced to computer programming at an early age. My parents were given a Nintendo 64 as a wedding gift shortly before I was born, so I spent my early years playing /Ocarina of Time/ and the likes. My young, impressionable mind drew inspiration, and I would go on about how I wanted to make games of my own. My technically-apt father was able to point me in the right direction for learning to do so. + +I was writing small games in Python by the time I was ten years old, though I have little to show for it with much lost to failing hard drives. The interest waxed and waned, but picked back up significantly when I turned 14 and began using GNU/Linux. + +The renowned /Structure and Interpretation of Computer Programs/ was my introduction to functional programming, recommended by several in the "online" circle I hung around circa then. It's an excellent book, but I was not mature enough to understand it at that age. The points about higher-order functions did, however, click for me, and I was inspired to begin using the handful of functional programming tools available in Python, and to learn Common Lisp (because I thought the syntax laden with parentheses was obscure and cool). + +this was all prior to learning about the sort of object-oriented style that was taught in my ap computer science class. having to deal with that programming paradigm really cemented my opinions about why functional is the "right" way to write software. + +Nowadays, my favorite programming languages are Scheme, Haskell, and Rust. Depending on who you ask, some subset of those languages are "functional programming languages." It's not a clear-cut term, but what it means to me is an emphasis on immutability and higher-order functions. I consider all three to be functional, though Rust is somewhat of a black sheep. + +*** Computer security + +Amid my early years with computer programming, I was briefly introduced to web development and, in particular, PHP. The language has a reputation for the ease with which one can introduce security vulnerabilities, and as such, the book I was using to teach myself at the time expatiated about SQL injection, going so far as to walk the reader through an example. At eleven years old, this piqued my interest, and I soon sought out as much material on computer security as I could, showing my friends what I could do on [[https://www.hackthissite.org/][HackThisSite]]. + +I began playing capture-the-flag when I was in high school and came across LiveOverflow's [[https://yewtu.be/playlist?list=PLhixgUqwRTjxglIswKp9mpkfPNfHkzyeN][early videos]], which inspired me to play in the (now defunct) [[https://ctf-x.github.io/][CTF(x)]]. I was a team of one until I started playing with [[https://0xbu.com/blog/][0xBU]]. I was still in high school, only 16, but I noticed them on the leader-board. They were just a train ride away, so I reached out to ask if I could show up to their meetings. They said yes, so I spent most of my weekends downtown, getting good at pwning. + +In my university years, I was an e-board member of the [[https://umasscybersec.org/][UMass Cybersecurity Club]]: playing for their CTF team, and putting serious work into the CTF's we hosted. + +*** Lifting weights + +I exercise every day, barring extreme circumstances. + +#+CAPTION: Current body as of April 13, 2023. +[[./cbt-2023-04-13.jpg]] + +Sports didn't interest me when I was younger. I was signed up for soccer, and basketball, and many other after-school sports programs, but nothing stuck. + +At 13, I joined the [[https://en.wikipedia.org/wiki/Civil_Air_Patrol][Civil Air Patrol]], which changed my prior attitudes toward fitness. Now I had to pass fitness tests to promote, and I had to be in-shape for the emergency response work I was doing, so I picked up a regular exercise routine. I began with body-weight exercises and running outside, and I fell in love with it. Pushing yourself to exhaustion -- until you can barely lift your arms -- is addicting. But I was soon bored with calisthenics and begged my parents for a gym membership. I posed it as something I could do with my dad, and that's how I spent my evenings in high school. + +I don't lift competitively. I've had aspirations to over the years, but injuries have prevented me from pushing enough weight to place (herniated disk circa 2017, gluteus medius tear circa 2020). Perhaps my time will come. + +I'm selective about the fitness-related content I consume, tending to prefer folks in the "evidence-based fitness community" like Greg Nuckols, Eric Trexler, and Jeff Nippard. + +**** Regimen + +A given day is cardio xor weightlifting. It's rare that I do both on the same day. This is for the resiliency of my routine; if I know I'm going to be stuck somewhere without access to weights, I can still keep up with my routine by going outside to run. + +At the moment, I'm running the third of Jeff Nippard's "Powerbuilding System" programs, after having an exceptionally good experience with the first two. + +*** Food and Permaculture + +In spite of my deceptively trim figure, I love to cook and eat, especially when it involves unfamiliar cuisines. "Gourmand" is a term I often use when describing myself. + +I was fortunate that most of my meals growing up were homemade. It was much healthier than the alternative, and I was able to learn a lot from my parents in the kitchen. I started taking on that chore in high school with the aim of making things less stressful for my parents. Nowadays, it's practically a hobby for me. I love learning new skills and techniques, and making delicious meals to share with my friends and family. + +I especially enjoy dishes from Africa and South Asia. + +Having an adventurous palate, I'm also interested in permaculture, because it enables me to enjoy produce I would otherwise have a difficult time acquiring (like besobela, or Carolina reapers). My parents always had a garden when I was growing up, and I really enjoyed the idea of self-resiliency that's embedded in the hobby. It's been a bit difficult to grow much on my own because I currently live in an apartment, but some day I'll fulfill my dream of having a huge and varied garden just like theirs. + +*** Music + +I don't really play or write music at the moment. + +My parents signed me up for drum lessons when I was 10, and I did that until I was 18, eventually getting a summer job as a drum line instructor. I didn't have time to keep up with practicing when I went off to college. + +I tried to pick up the electric guitar in 2020 as my "pandemic hobby", but stopped a few months in because I was incredibly burned out with school and couldn't even find the five minutes to practice. + +I love to /listen/ to music, though, especially when I'm exercising or working. Old punk rock, in particular. My favorite bands are the Descendents, Black Flag, and Minor Threat. + +** Technologies I Use + +My preferred software stack: + +| Operating System | Gentoo GNU/Linux | +| initd | OpenRC | +| Shell | Bash | +| Window Manager | Awesome | +| Text Editor | GNU Emacs | +| Email Client | gnus | +| Web Browser | eww, Mozilla Firefox | +| Torrent Client | transmission | +| Keyboard Remapping | xremap | +| Version Control | git | +| Hex Editor | radare2 | +| Disassembler | Ghidra | + +Humorously, I went: awesomewm → i3 → dwm → exwm → stumpwm → awesomewm + +My Emacs configuration can be found [[https://git.sr.ht/~jakob/.emacs.d][here]]. + +*** Machines (In-Commission) + +**** endseal (Workstation) + +I built this computer with my father when I was 12, and I still use it today. I've upgraded the graphics card and the RAM since then, but it's otherwise the same machine I had in middle school. + +| Hardware | Custom | +| • CPU | Intel® Core™ i5-2500 CPU @ 3.30GHz | +| • GPU | AMD Radeon RX 460 Graphics (POLARIS11) | +| • RAM | 16GB DDR3 | +| Operating System | Gentoo GNU/Linux | + +**** stellarwind (Laptop) + +My newest machine, and my daily driver for getting things done when I'm on the go (which constitutes most of my time these days). I'm a big fan of it. A fully-charged battery lasts several hours and it sports a powerful processor, all while being lightweight and quiet. I suspect it's a bit more powerful than endseal. + +| Hardware | ThinkPad™ T495s | +| • CPU | AMD® Ryzen™ 5 PRO 3500U @ 3.70GHz | +| • GPU | AMD® Radeon™ Vega 8 Graphics | +| • RAM | 16GB DDR4 | +| Operating System | Gentoo GNU/Linux | + +**** forte (Mobile Workstation) + +For extended trips away from my apartment, I have this mini-PC I put together. It's made me think a lot about hardware, since I spent only $300 on it, yet it's the most powerful machine I own currently. + +| Hardware | Custom | +| • CPU | AMD® Ryzen™ 5 5560U @ 4.00GHz | +| • GPU | AMD® Radeon™ Vega 6 Graphics | +| • RAM | 12GB DDR4 | +| Operating System | Gentoo GNU/Linux | + +**** kandik (Cellphone) + +Daily driver. It's an older phone but it runs PostmarketOS well and it's far more powerful than the PinePhone. + +| Hardware | OnePlus 6T | +| • CPU | 4 x Qualcomm Kryo cores @ 2.8 GHz + 4 x Qualcomm Kryo cores @ 1.8 GHz | +| • GPU | Qualcomm Adreno 630 | +| • RAM | 6GB LPDDR4X | +| Operating System | PostmarketOS (Phosh) | + +**** misty (Server) + +This is the machine that runs all of the server-side scripts for this site, as well as my Pleroma instance. + +| Hardware | PINE64 ROCKPro64 | +| • CPU | 4 x ARM Cortex A53 cores @ 1.4GHz + 2 x ARM Cortex A72 cores @ 1.8 GHz | +| • RAM | 4GB LPDDR4 RAM | +| Operating System | Gentoo GNU/Linux | + +**** hypo (Access Point) + +This used to serve the purpose that misty serves now. It wasn't powerful enough. I've re-purposed it as a wireless access point for when I visit my parents. + +| Hardware | Raspberry Pi 3 Model B | +| • CPU | Broadcom BCM2837 @ 1.2GHz | +| • RAM | 1GB LPDDR2 SDRAM | +| Operating System | Gentoo GNU/Linux | + +**** corona (Media Center) + +This was the laptop I lugged around with me in high school and college. It's absurdly heavy and large, and has an awful battery life, but it sports some decent hardware so I'm using it as a [[https://kodi.tv/][Kodi]] and [[https://www.retroarch.com/][RetroArch]] box. + +| Hardware | Lenovo Y50 | +| • CPU | Intel® Core™ i7-4700HQ @ 2.4 GHz | +| • GPU | NVIDIA® GTX-860M | +| • RAM | 8 GB DDR3 | +| Operating System | Gentoo GNU/Linux | + +It saw a lot more use when I was living in Providence and my kitchen opened up into the living room. I'd use it to watch YouTube while I cooked or did dishes. + +*** Other + +For my home network, I have a TP-Link AC1750 Archer A7 running [[https://en.wikipedia.org/wiki/OpenWrt][OpenWRT]] hooked up to a NetGear CM1000. + +I wear a Casio DBC-611-1 everywhere I go. + +And I've got a handful of other random SBCs and retro hardware that I don't regularly use: + +- SeeedStudio BeagleBone Green +- Raspberry Pi 2 Model B +- Commodore 64 +- Commodore VIC-20 +- Nintendo Super Famicom +- Nintendo 64 +- Sega Dreamcast + +*** Machines (Out-Of-Commission) + +**** whitecloud (Laptop) + +This was a fine daily driver for a little while. I eventually gave up on using +it because of the weak battery controller, the buggy keyboard firmware that I +couldn't re-flash, and eventually wanting to be able to do things more +computationally-intensive than run GNU Emacs. + +| Hardware | Pinebook Pro | +| • CPU | 4 x ARM Cortex A53 cores @ 1.4GHz + 2 x ARM Cortex A72 cores @ 1.8 GHz | +| • GPU | ARM Mali T860 MP4 GPU | +| • RAM | 4GB LPDDR4 RAM | +| Operating System | Gentoo GNU/Linux | + +**** vela (Cellphone) + +The subject of [[https://jakob.space/blog/i-love-my-pinephone.html][this blog post]]. It was a great daily driver for almost a year, but I was really desiring something more powerful, and the Braveheart Edition I have has some really unsavory hardware issues. + +| Hardware | PINE64 Pinephone (Braveheart Edition) | +| • CPU | Allwinner A64 @ 1.152 GHz | +| • GPU | ARM Mali-400 MP2 | +| • RAM | 2GB LPDDR4 RAM | +| Operating System | PostmarketOS (Phosh) | + +** Other Bits and Pieces + +I'm a vocal supporter of open access and the free software movement. I'm an associate member of the [[https://www.fsf.org/][Free Software Foundation]] and I contribute to [[https://en.wikipedia.org/wiki/User:ZeroDaysForDays][Wikimedia]] and [[https://www.openstreetmap.org/user/Jakob%20Kreuze][OpenStreetMap]]. + +I am a licensed (general class) ham, but I am rarely active. My callsign is KR3UZE. diff --git a/pages/about-complete.sxml b/pages/about-complete.sxml deleted file mode 100644 index f6cd8e2..0000000 --- a/pages/about-complete.sxml +++ /dev/null @@ -1,32 +0,0 @@ -;;; -*- scheme -*- - -;;; Copyright © 2019 - 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org> -;;; -;;; This program is free software; you can redistribute it and/or -;;; modify it under the terms of the GNU General Public License as -;;; published by the Free Software Foundation; either version 3 of the -;;; License, or (at your option) any later version. -;;; -;;; This program is distributed in the hope that it will be useful, -;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with this program. If not, see -;;; <http://www.gnu.org/licenses/>. - -(use-modules (ice-9 match) - (ice-9 rdelim) - (jakob theme) - (jakob utils sxml) - (sxml simple)) - -`((title . "About me") - (content - . ,(call-with-input-file "pages/about-complete.html" - (lambda (port) - (read-line port) - `(div (@ (data-pagefind-body #t)) - ,@(cdr (rewrite-absolute-urls-as-relative - (xml->sxml port)))))))) diff --git a/pages/changelog.html b/pages/changelog.html deleted file mode 100644 index b479c15..0000000 --- a/pages/changelog.html +++ /dev/null @@ -1,81 +0,0 @@ ---- -<div id="outline-container-org42b226c" class="outline-1"> -<h1 id="org42b226c">Site Changelog</h1> -<div class="outline-text-1" id="text-org42b226c"> -<p> -A record of any notable user-facing changes made to this website. For more detail, refer to the log of the <a href="https://git.sr.ht/~jakob/blog">Git repository</a>. -</p> -</div> -<div id="outline-container-orgd3c17f9" class="outline-2"> -<h2 id="orgd3c17f9">Sunday, December 24, 2023</h2> -<div class="outline-text-2" id="text-orgd3c17f9"> -<ul class="org-ul"> -<li>Updated the header bar. I don't see the point in having a user-facing link to the Atom feed, since any reader software worth its weight will be able to pick up on my site having a feed automatically.</li> -</ul> -</div> -</div> -<div id="outline-container-org721a882" class="outline-2"> -<h2 id="org721a882">Monday, August 28, 2023</h2> -<div class="outline-text-2" id="text-org721a882"> -<ul class="org-ul"> -<li>Updated comment UI.</li> -</ul> -</div> -</div> -<div id="outline-container-org45dd2f0" class="outline-2"> -<h2 id="org45dd2f0">Sunday, August 27, 2023</h2> -<div class="outline-text-2" id="text-org45dd2f0"> -<ul class="org-ul"> -<li>Fixed bug with comment reaction system where pressing the "react" button multiple times would lead to multiple selector widgets being created.</li> -</ul> -</div> -</div> -<div id="outline-container-org34dec0a" class="outline-2"> -<h2 id="org34dec0a">Saturday, August 12, 2023</h2> -<div class="outline-text-2" id="text-org34dec0a"> -<ul class="org-ul"> -<li>Added cheesy rhymes to the user-facing status code pages.</li> -<li>Enabled partial API access for Tor and i2p visitors. -<ul class="org-ul"> -<li>Comments received through these tunnels are marked as such.</li> -</ul></li> -</ul> -</div> -</div> -<div id="outline-container-org01aeb23" class="outline-2"> -<h2 id="org01aeb23">Friday, August 11, 2023</h2> -<div class="outline-text-2" id="text-org01aeb23"> -<ul class="org-ul"> -<li>Fixed custom error documents.</li> -<li>Stood up static content mirrors on <a href="http://jakobyallfrbd3herebyee7hug3hxs2ma6aflmmllk35d7dyiwp3adid.onion/">Tor</a> and <a href="http://mtgqjdrqqpovyhx7tortulrnvakbptsi3w5yintmo6lqapdd3hnq.b32.i2p">i2p</a>.</li> -</ul> -</div> -</div> -<div id="outline-container-org8599ffb" class="outline-2"> -<h2 id="org8599ffb">Saturday, August 5, 2023</h2> -<div class="outline-text-2" id="text-org8599ffb"> -<ul class="org-ul"> -<li>Began maintaining a changelog.</li> -<li>Pulled in <a href="https://pagefind.app/">pagefind</a> for self-hosted search.</li> -<li>Updated <a href="https://en.wikipedia.org/wiki/Atom_(web_standard)">Atom</a> feed to include only the first paragraph of the post in the <code><summary></code> section. -<ul class="org-ul"> -<li>This <i>drastically</i> reduces the size of <code>feed.xml</code>. Hopefully it makes pulling a little less painful for those subscribed.</li> -</ul></li> -<li>Re-implemented RSVP and gallery using server-side rendering. -<ul class="org-ul"> -<li>These are features the typical reader would not have used. They're described in detail <a href="https://jakob.space/blog/pushing-haunt-to-its-limits.html">here</a>, but the short is that they're things I use for my meatspace friends.</li> -</ul></li> -<li>Updated the <a href="https://jakob.space/pages/about-complete.html">long-form biographical page</a>. -<ul class="org-ul"> -<li>Updated a couple of biographical details that were no longer accurate.</li> -<li>Now written in <a href="https://git.sr.ht/~jakob/blog/tree/master/item/org/pages/about-complete.org">Org</a>.</li> -</ul></li> -<li>Updated the <a href="https://jakob.space/pages/about.html">short-form biographical page</a>. -<ul class="org-ul"> -<li>Got rid of the "projects" section and my CTF team history.</li> -</ul></li> -<li>Minor adjustments to the the front-matter of <a href="https://jakob.space/blog/pushing-haunt-to-its-limits.html">Pushing Haunt to Its Limits</a>.</li> -</ul> -</div> -</div> -</div> diff --git a/pages/changelog.org b/pages/changelog.org new file mode 100644 index 0000000..abf046f --- /dev/null +++ b/pages/changelog.org @@ -0,0 +1,41 @@ +* Site Changelog + +A record of any notable user-facing changes made to this website. For more detail, refer to the log of the [[https://git.sr.ht/~jakob/blog][Git repository]]. + +** Sunday, December 24, 2023 + +- Updated the header bar. I don't see the point in having a user-facing link to the Atom feed, since any reader software worth its weight will be able to pick up on my site having a feed automatically. + +** Monday, August 28, 2023 + +- Updated comment UI. + +** Sunday, August 27, 2023 + +- Fixed bug with comment reaction system where pressing the "react" button multiple times would lead to multiple selector widgets being created. + +** Saturday, August 12, 2023 + +- Added cheesy rhymes to the user-facing status code pages. +- Enabled partial API access for Tor and i2p visitors. + - Comments received through these tunnels are marked as such. + +** Friday, August 11, 2023 + +- Fixed custom error documents. +- Stood up static content mirrors on [[http://jakobyallfrbd3herebyee7hug3hxs2ma6aflmmllk35d7dyiwp3adid.onion/][Tor]] and [[http://mtgqjdrqqpovyhx7tortulrnvakbptsi3w5yintmo6lqapdd3hnq.b32.i2p][i2p]]. + +** Saturday, August 5, 2023 + +- Began maintaining a changelog. +- Pulled in [[https://pagefind.app/][pagefind]] for self-hosted search. +- Updated [[https://en.wikipedia.org/wiki/Atom_(web_standard)][Atom]] feed to include only the first paragraph of the post in the =<summary>= section. + - This /drastically/ reduces the size of =feed.xml=. Hopefully it makes pulling a little less painful for those subscribed. +- Re-implemented RSVP and gallery using server-side rendering. + - These are features the typical reader would not have used. They're described in detail [[https://jakob.space/blog/pushing-haunt-to-its-limits.html][here]], but the short is that they're things I use for my meatspace friends. +- Updated the [[https://jakob.space/pages/about-complete.html][long-form biographical page]]. + - Updated a couple of biographical details that were no longer accurate. + - Now written in [[https://git.sr.ht/~jakob/blog/tree/master/item/org/pages/about-complete.org][Org]]. +- Updated the [[https://jakob.space/pages/about.html][short-form biographical page]]. + - Got rid of the "projects" section and my CTF team history. +- Minor adjustments to the the front-matter of [[https://jakob.space/blog/pushing-haunt-to-its-limits.html][Pushing Haunt to Its Limits]]. diff --git a/pages/changelog.sxml b/pages/changelog.sxml deleted file mode 100644 index 0fe5341..0000000 --- a/pages/changelog.sxml +++ /dev/null @@ -1,32 +0,0 @@ -;;; -*- scheme -*- - -;;; Copyright © 2019 - 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org> -;;; -;;; This program is free software; you can redistribute it and/or -;;; modify it under the terms of the GNU General Public License as -;;; published by the Free Software Foundation; either version 3 of the -;;; License, or (at your option) any later version. -;;; -;;; This program is distributed in the hope that it will be useful, -;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with this program. If not, see -;;; <http://www.gnu.org/licenses/>. - -(use-modules (ice-9 match) - (ice-9 rdelim) - (jakob theme) - (jakob utils sxml) - (sxml simple)) - -`((title . "Changelog") - (content - . ,(call-with-input-file "pages/changelog.html" - (lambda (port) - (read-line port) - `(div (@ (data-pagefind-body #t)) - ,@(cdr (rewrite-absolute-urls-as-relative - (xml->sxml port)))))))) diff --git a/pages/status-400.sxml b/pages/status-400.sxml deleted file mode 100644 index 0bbf2b7..0000000 --- a/pages/status-400.sxml +++ /dev/null @@ -1,76 +0,0 @@ -;;; -*- scheme -*- - -;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org> -;;; -;;; This program is free software; you can redistribute it and/or -;;; modify it under the terms of the GNU General Public License as -;;; published by the Free Software Foundation; either version 3 of the -;;; License, or (at your option) any later version. -;;; -;;; This program is distributed in the hope that it will be useful, -;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with this program. If not, see -;;; <http://www.gnu.org/licenses/>. - -(use-modules (jakob theme) - (jakob utils sxml)) - -`((title . "Bad Request") - (content - . ((p "Server responded with a status of 400: Bad Request.") - (hr) - (p "Status code 400, that's what you sent" - (br) - "Bad request, it looks like you didn't read" - (br) - "The instructions on how to send a request" - (br) - "What's up, HTTP? Why you trippin'?" - (br) - "You should know better than to send a 400" - (br) - "Bad request, that's not even a real request" - (br) - "It's like trying to buy a plane with a check" - (br) - "What the hell is wrong with you, HTTP?" - (br) - "I sent you an HTML file, just like I said" - (br) - "But instead of responding with a 200, you gave me 400" - (br) - "Bad request, that's not even close to being cool" - (br) - "It's like trying to play a game with a console that's not hooked up" - (br) - "What the hell is wrong with you, HTTP?" - (br) - "You know how important this is, right?" - (br) - "I need information, and you're the only one who can give it to me" - (br) - "But instead of responding with what I need, you're just being stubborn" - (br) - "Bad request, that's not going to work" - (br) - "It's like trying to buy a shirt without any money" - (br) - "What the hell is wrong with you, HTTP?" - (br) - "I hope you know that you're messing with the boss" - (br) - "Status code 400, that's what you got" - (br) - "Bad request, it looks like you're going to lose" - (br) - "Yo, listen up, I got a message for you" - (br) - "Status code 400, that's what you sent" - (br) - "Bad request, it looks like you didn't read" - (br) - "The instructions on how to send a request.")))) diff --git a/pages/status-403.sxml b/pages/status-403.sxml deleted file mode 100644 index 47db444..0000000 --- a/pages/status-403.sxml +++ /dev/null @@ -1,68 +0,0 @@ -;;; -*- scheme -*- - -;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org> -;;; -;;; This program is free software; you can redistribute it and/or -;;; modify it under the terms of the GNU General Public License as -;;; published by the Free Software Foundation; either version 3 of the -;;; License, or (at your option) any later version. -;;; -;;; This program is distributed in the hope that it will be useful, -;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with this program. If not, see -;;; <http://www.gnu.org/licenses/>. - -(use-modules (jakob theme) - (jakob utils sxml)) - -`((title . "Forbidden") - (content - . ((p "Server responded with a status of 403: Forbidden.") - (hr) - (p "Yo, listen up, I got some news for you" - (br) - "About this 403 error message, it's all over the place" - (br) - "It means that your request has been denied" - (br) - "And you can't access the page anymore" - (br) - "It's like a red light, telling you to stop" - (br) - "But you keep on going, and that's not good" - (br) - "You're getting a 403, it's forbidden" - (br) - "No access allowed, it's plain and simple" - (br) - "Don't even try to argue with me" - (br) - "I'm the HTTP status code, and I know what I'm talking about" - (br) - "You can't just keep on hitting refresh" - (br) - "Thinking that you'll get a different result" - (br) - "It's time to face the facts, and accept your fate" - (br) - "403 means forbidden, it's not a joke" - (br) - "So why don't you take my advice" - (br) - "And find another route, or change your tactics" - (br) - "Don't keep on pushing, you'll end up in frustration" - (br) - "Just like the person who keeps on trying to get into the restricted area" - (br) - "But let me remind you, it's not a game" - (br) - "This 403 error message is not just some minor pain" - (br) - "It means that you're not supposed to be there" - (br) - "So why don't you just go away?")))) diff --git a/pages/status-404.sxml b/pages/status-404.sxml deleted file mode 100644 index 244bde2..0000000 --- a/pages/status-404.sxml +++ /dev/null @@ -1,76 +0,0 @@ -;;; -*- scheme -*- - -;;; Copyright © 2019 - 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org> -;;; -;;; This program is free software; you can redistribute it and/or -;;; modify it under the terms of the GNU General Public License as -;;; published by the Free Software Foundation; either version 3 of the -;;; License, or (at your option) any later version. -;;; -;;; This program is distributed in the hope that it will be useful, -;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with this program. If not, see -;;; <http://www.gnu.org/licenses/>. - -(use-modules (jakob theme) - (jakob utils sxml)) - -`((title . "Page Not Found") - (content - . ((p "Server responded with a status of 404: Not Found.") - (p "Whatever you're looking for, it's not here... anymore, at least.") - (p "That could be due to link rot. Perhaps the " - ,(hyperlink "https://web.archive.org/" "Wayback Machine") - " has it?") - (hr) - (p "Yo, listen up, I got a new one" - (br) - "Status code 404, that's what it means" - (br) - "When a website can't find what you're looking for" - (br) - "It's like a missed connection, a lost opportunity" - (br) - "But don't worry, it's not the end of the world" - (br) - "Just hit refresh and try again, maybe it'll turn up" - (br) - "Or you could always ask the website administrator" - (br) - "Maybe they'll have some insights on where to find what you need" - (br) - "Either way, 404 ain't no joke" - (br) - "It's a warning sign that something's off" - (br) - "But hey, it's not the end of the world" - (br) - "Just keep searching, and don't give up the fight" - (br) - "Yo, listen up, I got a new one" - (br) - "Status code 404, that's what it means" - (br) - "When a website can't find what you're looking for" - (br) - "It's like a missed connection, a lost opportunity" - (br) - "But don't worry, it's not the end of the world" - (br) - "Just hit refresh and try again, maybe it'll turn up" - (br) - "Or you could always ask the website administrator" - (br) - "Maybe they'll have some insights on where to find what you need" - (br) - "Either way, 404 ain't no joke" - (br) - "It's a warning sign that something's off" - (br) - "But hey, it's not the end of the world" - (br) - "Just keep searching, and don't give up the fight.")))) diff --git a/pages/status-429.sxml b/pages/status-429.sxml deleted file mode 100644 index 6503bec..0000000 --- a/pages/status-429.sxml +++ /dev/null @@ -1,46 +0,0 @@ -;;; -*- scheme -*- - -;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org> -;;; -;;; This program is free software; you can redistribute it and/or -;;; modify it under the terms of the GNU General Public License as -;;; published by the Free Software Foundation; either version 3 of the -;;; License, or (at your option) any later version. -;;; -;;; This program is distributed in the hope that it will be useful, -;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with this program. If not, see -;;; <http://www.gnu.org/licenses/>. - -(use-modules (jakob theme) - (jakob utils sxml)) - -`((title . "Too Many Requests") - (content - . ((p "Server responded with a status of 429: Too Many Requests.") - (hr) - (p "Yo, listen up, I got a message for you" - (br) - "About this HTTP status code, you should know" - (br) - "It's 429, that's right, Too Many Requests" - (br) - "You're making too many requests, and it's causing errors" - (br) - "Your website's performance is suffering, and it's time to fix it" - (br) - "So reduce the number of requests, and your users will be happy" - (br) - "They'll thank you for improving their browsing experience" - (br) - "And hey, while we're on the topic, don't forget about caching" - (br) - "It can help reduce the number of requests, and speed up your site" - (br) - "So implement it, and your visitors will love you" - (br) - "For making your website faster, and more responsive too")))) diff --git a/pages/status-500.sxml b/pages/status-500.sxml deleted file mode 100644 index 62f2305..0000000 --- a/pages/status-500.sxml +++ /dev/null @@ -1,50 +0,0 @@ -;;; -*- scheme -*- - -;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org> -;;; -;;; This program is free software; you can redistribute it and/or -;;; modify it under the terms of the GNU General Public License as -;;; published by the Free Software Foundation; either version 3 of the -;;; License, or (at your option) any later version. -;;; -;;; This program is distributed in the hope that it will be useful, -;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with this program. If not, see -;;; <http://www.gnu.org/licenses/>. - -(use-modules (jakob theme) - (jakob utils sxml)) - -`((title . "Internal Server Error") - (content - . ((p "Server responded with a status of 500: Internal Server Error.") - (hr) - (p "Yo, listen up, I got a problem with my server" - (br) - "It's giving me an error, won't let me serve no more" - (br) - "I think it's 'cause I'm overloaded, too many requests" - (br) - "But I tried to fix it, I even upgraded my plans" - (br) - "Still not working, it's like a curse" - (br) - "I'm sorry for the inconvenience, but I'm trying my best" - (br) - "To get this fixed, I'll keep on messing with the code" - (br) - "Until it works properly, I won't give up the fight" - (br) - "500 error, it's an internal server mistake" - (br) - "I know it's frustrating, but please be patient, it's not my fault" - (br) - "I'm working on it, I promise you that much" - (br) - "So just keep on hitting that refresh button, and soon enough" - (br) - "My server will be back to its old self")))) |