diff options
41 files changed, 134 insertions, 266 deletions
diff --git a/contact/index.php b/contact/index.php index 4e15b3d..5d1cc76 100644 --- a/contact/index.php +++ b/contact/index.php @@ -1,7 +1,7 @@ <?php -$title = "Contact Me"; include('../includes/head.php'); ?> +<h1>Contact Me</h1> <h2> <a href="mailto:atc@53hor.net">atc@53hor.net</a> @@ -30,3 +30,6 @@ You may read more in the <a href="https://www.gnupg.org/gph/en/manual/x56.html"> <p> If you want to hire me or have a business inquiry, here is a Google Voice number. Please understand that all calls and text messages are screened for spam by Google before I pick up. </p> +<?php +include('../includes/foot.php'); +?> @@ -12,16 +12,14 @@ <link>https://www.53hor.net</link> </image> <?php - if ($posts = glob('./posts/*.php')) { - $early = true; + $posts = scandir('./posts', SCANDIR_SORT_DESCENDING); + $posts = array_filter($posts, fn ($post) => !empty($post) && $post != '.' && $post != '..'); - foreach (array_reverse($posts) as $post) { - if (!empty($post) && $post != '.' && $post != '..') { - $post_name = explode('/', $post)[2]; - include($post); - printf('<item><link>https://www.53hor.net/posts/%s</link><title>%s</title></item>', $post_name, $title); - } - } + foreach ($posts as &$post) { + $title = str_replace('<h1>', '', fgets(fopen("./posts/$post", 'r'))); + $title = str_replace('</h1>', '', $title); + $post = str_replace('.php', '', $post); + printf('<item><link>https://www.53hor.net/posts/%s</link><title>%s</title></item>', $post, $title); } ?> </channel> diff --git a/hireme/index.php b/hireme/index.php index a7151b3..e366e32 100644 --- a/hireme/index.php +++ b/hireme/index.php @@ -1,7 +1,7 @@ <?php -$title = "Carpenter Tech"; include('../includes/head.php'); ?> +<h1 style="text-align: center;">Carpenter Tech</h1> <p> My name is Adam Carpenter and I am a freelance, general-purpose computer programmer. @@ -42,3 +42,6 @@ include('cv.html'); <p> <img src="https://nextcloud.53hor.net/index.php/s/zL2AJHwtCWLX2Eq/preview" /> </p> +<?php +include('../includes/foot.php'); +?> diff --git a/includes/foot.php b/includes/foot.php new file mode 100644 index 0000000..c128cc1 --- /dev/null +++ b/includes/foot.php @@ -0,0 +1,9 @@ +</article> +<hr /> + +<footer> + +</footer> +</body> + +</html> diff --git a/includes/head.php b/includes/head.php index ba16fb0..4b95e2f 100644 --- a/includes/head.php +++ b/includes/head.php @@ -200,13 +200,6 @@ <body> <?php - if (!isset($nav) || $nav) { - include('nav.php'); - } + include('nav.php'); ?> <article> - <?php - if (isset($title)) { - printf('<h1>%s</h1>', $title); - } - ?> diff --git a/includes/render_index.php b/includes/render_index.php new file mode 100644 index 0000000..d90627b --- /dev/null +++ b/includes/render_index.php @@ -0,0 +1,24 @@ +<header> + <noscript> + JavaScript? Where we're going we don't need JavaScript. + </noscript> +</header> + +<h1 style="text-align: center"> + The World Wide Web pages of Adam Carpenter (53hornet) +</h1> + +<ul> + <?php + $posts = scandir('./posts', SCANDIR_SORT_DESCENDING); + $posts = array_filter($posts, fn ($post) => !empty($post) && $post != '.' && $post != '..'); + #$posts = array_slice($posts, 0, 1000); + + foreach ($posts as &$post) { + $title = str_replace('h1', 'span', fgets(fopen("./posts/$post", 'r'))); + $date = str_split($post, 10)[0]; + $post = str_replace('.php', '', $post); + printf('<li> <code>%s</code> <a href="/%s">%s</a> </li>', $date, $post, $title); + } + ?> +</ul> @@ -1,31 +1,10 @@ <?php include('./includes/head.php'); -?> -<header> - <noscript> - JavaScript? Where we're going we don't need JavaScript. - </noscript> -</header> +if (($post = strtok($_SERVER['REQUEST_URI'], '/')) && !empty($post)) { + include("./posts/$post.php"); +} else { + include('./includes/render_index.php'); +} -<h1 style="text-align: center"> - The World Wide Web pages of Adam Carpenter (53hornet) -</h1> -<ul> - <?php - if ($posts = glob('./posts/*.php')) { - $early = true; - - foreach (array_reverse($posts) as $post) { - if (!empty($post) && $post != '.' && $post != '..') { - $post_name = explode('/', $post)[2]; - $date = implode('-', array_slice(explode('-', $post_name), 0, 3)); - include($post); - printf('<li> <code>%s</code> <a href="/%s">%s</a> </li>', $date, $post, $title); - } - } - } - ?> - <li><a href="https://www.53hor.net/posts/?C=M&O=A">All posts...</a></li> -</ul> -</article> +include('./includes/foot.php'); diff --git a/info/index.php b/info/index.php index 65b3f9b..a2ca53b 100644 --- a/info/index.php +++ b/info/index.php @@ -1,7 +1,7 @@ <?php -$title = "Info"; include('../includes/head.php'); ?> +<h1>Info</h1> <p> My name is <em>Adam Carpenter</em> (on some sites I'm @@ -93,3 +93,7 @@ include('../includes/head.php'); <a href="https://validator.w3.org/feed/check.cgi?url=https%3A//www.53hor.net/feed.php"><img src="https://nextcloud.53hor.net/index.php/s/Ly6CBibnCFA99Fz/preview" alt="[Valid RSS]" title="Validate my RSS feed" /></a> <img src="https://nextcloud.53hor.net/index.php/s/nKmSsrxa4LkRHdM/preview" /> + +<?php +include('../includes/foot.php'); +?> diff --git a/links/index.php b/links/index.php index a5cf83f..3012a69 100644 --- a/links/index.php +++ b/links/index.php @@ -1,8 +1,20 @@ <?php -$title = "Egress Links"; include('../includes/head.php'); ?> +<h1>Egress Links</h1> <p> If you're going to leave my site to go somewhere else on the web, I recommend linking out via one of these. This is my curated collection of awesome sites, resources, and online assets. </p> + +<h2>Automotive</h2> + +<h2>*nix</h2> + +<ul> + <li><a href="https://docs.freebsd.org/en/books/handbook/">FreeBSD Handbook</a></li> +</ul> + +<?php +include('../includes/foot.php'); +?> diff --git a/payments/index.php b/payments/index.php index 9a7d037..cb6c58f 100644 --- a/payments/index.php +++ b/payments/index.php @@ -1,5 +1,4 @@ <?php -$title = "Payments"; include('./includes/head.php'); ?> diff --git a/posts/2019-04-06-why-have-a-website-in-2019.php b/posts/2019-04-06-why-have-a-website-in-2019.php index b49d049..3e7d15b 100644 --- a/posts/2019-04-06-why-have-a-website-in-2019.php +++ b/posts/2019-04-06-why-have-a-website-in-2019.php @@ -1,10 +1,5 @@ -<?php -$title = "Why Have a Web Site in 2019?"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Why Have a Web Site in 2019?</h1> + <blockquote> Adam, why on earth do you have a website? Wait... Is this a diff --git a/posts/2019-06-07-how-to-start-and-drive-a-hudson-hornet.php b/posts/2019-06-07-how-to-start-and-drive-a-hudson-hornet.php index 53e0f40..20bfb9c 100644 --- a/posts/2019-06-07-how-to-start-and-drive-a-hudson-hornet.php +++ b/posts/2019-06-07-how-to-start-and-drive-a-hudson-hornet.php @@ -1,10 +1,5 @@ -<?php -$title = "How to Start and Drive a Hudson Hornet"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>How to Start and Drive a Hudson Hornet</h1> + <p class="description"> My understanding is there are a lot of people out there for whom driving diff --git a/posts/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.php b/posts/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.php index 34685de..6e3d9eb 100644 --- a/posts/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.php +++ b/posts/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.php @@ -1,10 +1,5 @@ -<?php -$title = "Offloading GoPro Footage the Easy Way!"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Offloading GoPro Footage the Easy Way!</h1> + <p> Transferring files off of most cameras to a Linux computer isn't all diff --git a/posts/2019-07-04-yabs-yet-another-bad-shop.php b/posts/2019-07-04-yabs-yet-another-bad-shop.php index 9594369..9b684b5 100644 --- a/posts/2019-07-04-yabs-yet-another-bad-shop.php +++ b/posts/2019-07-04-yabs-yet-another-bad-shop.php @@ -1,10 +1,5 @@ -<?php -$title = "YABS: Yet Another Bad Shop"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>YABS: Yet Another Bad Shop</h1> + <p> Today I received a text message from a local mechanic/auto shop asking me to leave them a Google review. It was an automated message from a diff --git a/posts/2019-07-21-dancing-the-shag-and-the-new-lion-king.php b/posts/2019-07-21-dancing-the-shag-and-the-new-lion-king.php index bdced0a..02da9b2 100644 --- a/posts/2019-07-21-dancing-the-shag-and-the-new-lion-king.php +++ b/posts/2019-07-21-dancing-the-shag-and-the-new-lion-king.php @@ -1,10 +1,5 @@ -<?php -$title = "Dancing the Shag and The [New] Lion Ling"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Dancing the Shag and The [New] Lion Ling</h1> + <p> Not all of my posts are huge, and they probably shouldn't be. Amy and I had a really great time yesterday at Two Left Feet Dance Studio, diff --git a/posts/2019-07-28-i-finally-found-a-drink-i-like.php b/posts/2019-07-28-i-finally-found-a-drink-i-like.php index a73de9e..9e6d5a0 100644 --- a/posts/2019-07-28-i-finally-found-a-drink-i-like.php +++ b/posts/2019-07-28-i-finally-found-a-drink-i-like.php @@ -1,10 +1,5 @@ -<?php -$title = "Finally Found a Drink I Like"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Finally Found a Drink I Like</h1> + <p> Anyone who knows me even slightly well probably knows that I don't drink. And it's not out of moral obligation or anything like that. I diff --git a/posts/2019-08-11-marrying-my-best-friend.php b/posts/2019-08-11-marrying-my-best-friend.php index 83bde5b..ac18e55 100644 --- a/posts/2019-08-11-marrying-my-best-friend.php +++ b/posts/2019-08-11-marrying-my-best-friend.php @@ -1,11 +1,5 @@ -<?php -$title = "I Married My Best Friend!"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> <h1>I Married My Best Friend!</h1> + <p> It was an inexplicable mixture of joy and butterflies getting to marry my best friend. It was truly like a dream come true, so much so that it diff --git a/posts/2019-08-30-keep-right-except-to-pass.php b/posts/2019-08-30-keep-right-except-to-pass.php index 660733a..cf4aa85 100644 --- a/posts/2019-08-30-keep-right-except-to-pass.php +++ b/posts/2019-08-30-keep-right-except-to-pass.php @@ -1,10 +1,5 @@ -<?php -$title = "Left Lane is for Passing, Not Cruising"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Left Lane is for Passing, Not Cruising</h1> + <p> Greetings fellow drivers of Hampton Roads. You may have noticed a new sign on I264 today that befuddled or confused you. It went something diff --git a/posts/2019-09-28-my-preferred-method-for-data-recovery.php b/posts/2019-09-28-my-preferred-method-for-data-recovery.php index d7b68d2..77efd5f 100644 --- a/posts/2019-09-28-my-preferred-method-for-data-recovery.php +++ b/posts/2019-09-28-my-preferred-method-for-data-recovery.php @@ -1,10 +1,5 @@ -<?php -$title = "How I Do Data Recovery"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>How I Do Data Recovery</h1> + <p> This week Amy plugged in her flash drive to discover that there were no diff --git a/posts/2020-04-10-the-obligatory-covid-19-post.php b/posts/2020-04-10-the-obligatory-covid-19-post.php index 6cdabe9..711c3f0 100644 --- a/posts/2020-04-10-the-obligatory-covid-19-post.php +++ b/posts/2020-04-10-the-obligatory-covid-19-post.php @@ -1,10 +1,5 @@ -<?php -$title = "Obligatory COVID-19 Post"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Obligatory COVID-19 Post</h1> + <p> We're alive! All three of us: Amy, Clementine, and myself. We're doing what we do best and that is being hermits with zero social contact. diff --git a/posts/2020-04-10-wedding-photos-are-here.php b/posts/2020-04-10-wedding-photos-are-here.php index 59344d6..36b14e1 100644 --- a/posts/2020-04-10-wedding-photos-are-here.php +++ b/posts/2020-04-10-wedding-photos-are-here.php @@ -1,10 +1,5 @@ -<?php -$title = "Wedding Photo Debacle"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Wedding Photo Debacle</h1> + <p> At long last we have all of our wedding photos together! Unfortunately a diff --git a/posts/2020-07-11-why-computer-science-at-w-m.php b/posts/2020-07-11-why-computer-science-at-w-m.php index f2fb3d1..42c6cfb 100644 --- a/posts/2020-07-11-why-computer-science-at-w-m.php +++ b/posts/2020-07-11-why-computer-science-at-w-m.php @@ -1,10 +1,5 @@ -<?php -$title = "Why Computer Science at William and Mary"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Why Computer Science at William and Mary</h1> + <p class="description"> Recently a rising high-school senior asked for input on what going to diff --git a/posts/2020-07-26-now-this-is-a-minimal-install.php b/posts/2020-07-26-now-this-is-a-minimal-install.php index 3165b71..7835e0b 100644 --- a/posts/2020-07-26-now-this-is-a-minimal-install.php +++ b/posts/2020-07-26-now-this-is-a-minimal-install.php @@ -1,10 +1,5 @@ -<?php -$title = "Now This is a Minimal Install!"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Now This is a Minimal Install!</h1> + <p> I just got done configuring Poudriere on Freebsd 12.1-RELEASE. The diff --git a/posts/2020-11-30-titanics-last-signals.php b/posts/2020-11-30-titanics-last-signals.php index 03c0b96..93978d4 100644 --- a/posts/2020-11-30-titanics-last-signals.php +++ b/posts/2020-11-30-titanics-last-signals.php @@ -1,10 +1,5 @@ -<?php -$title = "Titanic's Last Signals"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Titanic's Last Signals</h1> + <p> I forgot to post this back in April but 108 years ago, a chilling and heroic conversation was had over the airwaves. This is a fascinating way diff --git a/posts/2020-12-01-the-guides.php b/posts/2020-12-01-the-guides.php index a3629be..fb9e5a3 100644 --- a/posts/2020-12-01-the-guides.php +++ b/posts/2020-12-01-the-guides.php @@ -1,10 +1,5 @@ -<?php -$title = "𝔗𝔥𝔢 𝔊𝔲𝔦𝔡𝔢𝔰"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>𝔗𝔥𝔢 𝔊𝔲𝔦𝔡𝔢𝔰</h1> + <p class="description"> This is partly satirical and purposefully strange to be humorous. These diff --git a/posts/2020-12-04-aoc-2020-day-1-in-cbm-basic.php b/posts/2020-12-04-aoc-2020-day-1-in-cbm-basic.php index 5196d2c..bb2e057 100644 --- a/posts/2020-12-04-aoc-2020-day-1-in-cbm-basic.php +++ b/posts/2020-12-04-aoc-2020-day-1-in-cbm-basic.php @@ -1,10 +1,5 @@ -<?php -$title = "AOC 2020 Day 1 in CBM Basic"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>AOC 2020 Day 1 in CBM Basic</h1> + <p class="description"> I implemented the diff --git a/posts/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.php b/posts/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.php index 77aebdf..1f8618b 100644 --- a/posts/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.php +++ b/posts/2020-12-08-useful-sprint-planning-from-a-certified-scrum-master.php @@ -1,10 +1,5 @@ -<?php -$title = "Useful Sprint Planning from a Certified Scrum Master"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Useful Sprint Planning from a Certified Scrum Master</h1> + <p class="description"> This is a small collection of sprint planning/story points allocation diff --git a/posts/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.php b/posts/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.php index bb384f2..b2fee03 100644 --- a/posts/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.php +++ b/posts/2020-12-22-why-does-everyone-use-adobe-acrobat-reader.php @@ -1,10 +1,5 @@ -<?php -$title = "Why Does Everyone Use Adobe Acrobat [Reader]?"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Why Does Everyone Use Adobe Acrobat [Reader]?</h1> + <p> <img src="https://nextcloud.53hor.net/index.php/s/Pq8ZPe8THoH3Eoo/preview" /> diff --git a/posts/2020-12-29-antivirus-software-is-a-hack.php b/posts/2020-12-29-antivirus-software-is-a-hack.php index cc5f0d0..93040a0 100644 --- a/posts/2020-12-29-antivirus-software-is-a-hack.php +++ b/posts/2020-12-29-antivirus-software-is-a-hack.php @@ -1,10 +1,5 @@ -<?php -$title = "Antivirus Software is a Hack"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Antivirus Software is a Hack</h1> + <p> <img src="https://nextcloud.53hor.net/index.php/s/jJoFoA7Ppjb7rey/preview" /> diff --git a/posts/2021-01-15-adam-s-2020-reading-list.php b/posts/2021-01-15-adam-s-2020-reading-list.php index 390bf3e..f347248 100644 --- a/posts/2021-01-15-adam-s-2020-reading-list.php +++ b/posts/2021-01-15-adam-s-2020-reading-list.php @@ -1,10 +1,5 @@ -<?php -$title = "Adam's 2020 (Quarantine) Reading List"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Adam's 2020 (Quarantine) Reading List</h1> + <ul> <li> diff --git a/posts/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.php b/posts/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.php index d67f582..1103db8 100644 --- a/posts/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.php +++ b/posts/2021-01-15-root-on-zfs-a-zpool-of-mirror-vdevs-the-easy-way.php @@ -1,10 +1,5 @@ -<?php -$title = "Root on ZFS: A ZPool of Mirror VDEVs"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Root on ZFS: A ZPool of Mirror VDEVs</h1> + <p class="description"> I wanted/needed to make a root on ZFS pool out of multiple mirror VDEVs, diff --git a/posts/2021-01-28-undefined-javasript-is-undefined.php b/posts/2021-01-28-undefined-javasript-is-undefined.php index b70141c..c9c01f8 100644 --- a/posts/2021-01-28-undefined-javasript-is-undefined.php +++ b/posts/2021-01-28-undefined-javasript-is-undefined.php @@ -1,10 +1,5 @@ -<?php -$title = "Undefined? JavaScript Is Undefined."; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Undefined? JavaScript Is Undefined.</h1> + <p class="description"> So I've been working on a web app for my mom. Nothing too fancy, but diff --git a/posts/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal.php b/posts/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal.php index 864265a..cf8c52d 100644 --- a/posts/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal.php +++ b/posts/2021-02-12-louis-vierne-is-a-bamf-and-proof-that-organists-are-metal.php @@ -1,10 +1,5 @@ -<?php -$title = "Louis Vierne Is a BAMF (and Proof That Organists Are Metal)"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Louis Vierne Is a BAMF (and Proof That Organists Are Metal)</h1> + <p> Louis Vierne is a certifiable badass organist from the end of the 19th diff --git a/posts/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.php b/posts/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.php index 634a57d..a4fe84d 100644 --- a/posts/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.php +++ b/posts/2021-03-19-how-to-automate-certbot-renewal-with-haproxy.php @@ -1,10 +1,5 @@ -<?php -$title = "How to Automate Certbot Renewal with HAPRoxy (on FreeBSD)"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>How to Automate Certbot Renewal with HAPRoxy (on FreeBSD)</h1> + <p> So this is specifically for HAProxy on FreeBSD, but it should apply to diff --git a/posts/2021-04-20-how-to-make-your-website-boring-and-why.php b/posts/2021-04-20-how-to-make-your-website-boring-and-why.php index 6f8136d..8aa67af 100644 --- a/posts/2021-04-20-how-to-make-your-website-boring-and-why.php +++ b/posts/2021-04-20-how-to-make-your-website-boring-and-why.php @@ -1,10 +1,5 @@ -<?php -$title = "How to Make Your Website Boring and Why!"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>How to Make Your Website Boring and Why!</h1> + <p class="description"> I took the time last year to make my website more boring. Here's how you diff --git a/posts/2021-05-23-web-designers-please-don-t-animate-page-titles.php b/posts/2021-05-23-web-designers-please-don-t-animate-page-titles.php index 1c28487..de746f9 100644 --- a/posts/2021-05-23-web-designers-please-don-t-animate-page-titles.php +++ b/posts/2021-05-23-web-designers-please-don-t-animate-page-titles.php @@ -1,10 +1,5 @@ -<?php -$title = "Web Designers, Please Don't Animate Page Titles"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Web Designers, Please Don't Animate Page Titles</h1> + <p> If you visit diff --git a/posts/2021-09-26-useful-shell-scripting-and-bulk-renaming-files-with-vim.php b/posts/2021-09-26-useful-shell-scripting-and-bulk-renaming-files-with-vim.php index bc88caa..08789b2 100644 --- a/posts/2021-09-26-useful-shell-scripting-and-bulk-renaming-files-with-vim.php +++ b/posts/2021-09-26-useful-shell-scripting-and-bulk-renaming-files-with-vim.php @@ -1,10 +1,5 @@ -<?php -$title = "Useful Shell Scripting and Bulk Renaming Files with Vim"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Useful Shell Scripting and Bulk Renaming Files with Vim</h1> + <p class="description"> I used to use <code>vifm</code>, a terminal file manager, on FreeBSD and Linux. I realized the only feature I was really using was bulk interactive file renaming with <code>vim</code>. So I ditched the file manager altogether and implemented the bulk rename feature in a few lines of shell. diff --git a/posts/2021-10-01-shroud-your-rad-for-an-ice-cold-hudson.php b/posts/2021-10-01-shroud-your-rad-for-an-ice-cold-hudson.php index 35a226f..48eeb9a 100644 --- a/posts/2021-10-01-shroud-your-rad-for-an-ice-cold-hudson.php +++ b/posts/2021-10-01-shroud-your-rad-for-an-ice-cold-hudson.php @@ -1,10 +1,5 @@ -<?php -$title = "Shroud Your Rad for an Ice-cold Hudson!"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Shroud Your Rad for an Ice-cold Hudson!</h1> + <p class="description"> diff --git a/posts/2021-10-12-altruistic-angelshark.php b/posts/2021-10-12-altruistic-angelshark.php index b516d4b..02652d1 100644 --- a/posts/2021-10-12-altruistic-angelshark.php +++ b/posts/2021-10-12-altruistic-angelshark.php @@ -1,10 +1,5 @@ -<?php -$title = "Altruistic Angelshark"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Altruistic Angelshark</h1> + <p class="description"> I finally got the opportunity to release a long-term project from work online diff --git a/posts/2021-10-22-forced-downloads-in-the-browser-via-http.php b/posts/2021-10-22-forced-downloads-in-the-browser-via-http.php index bd411e5..2d5dcf4 100644 --- a/posts/2021-10-22-forced-downloads-in-the-browser-via-http.php +++ b/posts/2021-10-22-forced-downloads-in-the-browser-via-http.php @@ -1,10 +1,5 @@ -<?php -$title = "Forced Downloads in the Browser Via HTTP"; -if (isset($early) && $early) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Forced Downloads in the Browser Via HTTP</h1> + <p class="description"> Recently a coworker was tasked with adding a "file download" link to a web page. The file in question was being generated dynamically by the server, but we really wanted to make sure the file didn't get rendered in the user's tab. Here's how you can leverage HTTP headers to do that (and some alternative ways you shouldn't!) diff --git a/posts/2021-11-28-write-your-own-ssh-tarpit-in-rust-with-async-std.php b/posts/2021-11-28-write-your-own-ssh-tarpit-in-rust-with-async-std.php index 1bce63d..9a58b6c 100644 --- a/posts/2021-11-28-write-your-own-ssh-tarpit-in-rust-with-async-std.php +++ b/posts/2021-11-28-write-your-own-ssh-tarpit-in-rust-with-async-std.php @@ -1,10 +1,5 @@ -<?php -$title = "Write Your Own SSH Tarpit in Rust with async-std"; -if (!empty($early)) { - return; -} -include($_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'); -?> +<h1>Write Your Own SSH Tarpit in Rust with async-std</h1> + <p class="description"> A software tarpit is simple and fun. Long story short, it's sort of a reverse denial-of-service attack. It usually works by inserting an intentional, arbitrary delay in responding to malicious clients, thus "wasting their time and resources." I recently learned about <a href="https://github.com/skeeto/endlessh"><code>endlessh</code></a>, an SSH tarpit. I decided it would be a fun exercise to use Rust's <code>async-std</code> library to write an SSH tarpit of my own, with my own personal <em>flair</em>. If you want to learn more about <code>endlessh</code> or SSH tarpits I highly recommend reading <a href="https://nullprogram.com/blog/2019/03/22/">this blog post</a> by the <code>endlessh</code> author. |