1
0
Fork 0
isopod.cool/blog/index.php
will b53202db59 added dates to blog post pages + some other changes
Moved personal social/contact links from /links to /about
Other minor changes to /links
Added some PHP code to every blog post that automatically pulls the publish and update dates from the Atom feed
Added a button to /etc
Added a new webgarden
Updated /stats
Wording changes to /uses
2024-03-18 04:21:49 -06:00

174 lines
8.4 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Blog</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<style>
ul#articles {
margin: 0;
margin-top: 1rem;
display: flex;
flex-direction: column;
padding-left: 0;
list-style: none;
}
.blogentry {
width: 100%;
list-style: none;
display: inline-block;
margin: .4rem 0;
}
ul#articles h2 {
margin: 0;
}
/*ul h2:first-of-type::before {
content: "Articles - "
}*/
article img, article video, article iframe {
filter:drop-shadow(var(--stddropshadow));
}
.blogentry > * {
display: block;
margin: 0.1rem 0;
}
.entrysummary {
font-size: .9em;
color: gainsboro;
}
.entrytag {
font-size: .9em;
color: #bbbbbb;
font-style: italic;
display: inline-block;
margin-right: 1ch;
}
.entrydate {
font-weight: bold;
}
article:first-of-type h2::before {
content: 'Journal - ';
}
</style>
<?php include($_SERVER['DOCUMENT_ROOT'] . '/seasonal.php'); ?>
</head>
<body>
<?php include($_SERVER['DOCUMENT_ROOT'] . '/nav.php'); ?>
<h1>blog</h1>
<h2 id="caption">inane ramblings</h2>
<nav>
<a href="blog.atom">Article feed</a>
<a href="https://journal.miso.town/atom?url=https://isopod.cool/blog/">Journal feed</a>
</nav>
<?php
$username = "niceopod"; // Your username here!
$ch = curl_init("https://status.cafe/users/$username/status.json");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$str = curl_exec($ch);
if(curl_error($ch)) {
//echo curl_error($ch);
$str = "";
}
curl_close($ch);
$status_data = json_decode($str, true);
$content = $status_data["content"];
$face = $status_data["face"];
$timeago = $status_data["timeAgo"];
if(strlen($content) < 1) {
$content = "Something's gone wrong server side...";
}
echo "<div id='statuscafe'><div id='statuscafe-username'><a href='https://status.cafe/users/$username' target='_blank'>status</a> $face $timeago</div><div id='statuscafe-content'>$content</div></div>";
?>
<?php
$stag = $_GET["tag"];
$nostag = empty($stag);
if(!$nostag) {
echo "<a style='display: block; margin-top: 1rem; margin-bottom: 1rem;' href='.'>All articles</a>";
}
$content = simplexml_load_file("blog.atom");
echo "<ul id='articles'>";
$year = "-69420";
$yc = 0;
foreach($content->entry as $entry) {
$pfilt = false;
if(!$nostag) {
foreach($entry->category as $cat) {
$term = $cat["term"];
if($stag == $term) {
$pfilt = true;
}
}
}
if($pfilt or $nostag) {
$nyr = substr($entry->published, 0, 4);
if($nyr != $year) {
$year = $nyr;
echo "<li><h2 id='$year'>$year</h2></li>";
}
$dt = substr($entry->published, 0, 10);
$ti = $entry->title;
$wn = "";
if(preg_match('/2022-0(5|4)-(21|25|13)/', $dt)) {
$wn = "title=\"This post is on the archived v2 version of the site. It will not load if you don't have Javascript enabled, and expect jank if viewing on mobile. You have been warned.\" ";
}
$cats = "";
foreach($entry->category as $cat) {
$term = $cat["term"];
$cats = $cats."<a class='entrytag' href='?tag=".$term."'>".$term."</a>";
}
echo "<li class='blogentry'><time class='entrydate'>".$dt."</time><h4 class='entrytitle'><a ".$wn."href='".$entry->link["href"]."'>".$ti."</h4></a><span class='entrysummary'>".$entry->summary."</span><span>".$cats."</span></li>";
}
}
echo "</ul>";
?>
<article id="2024-02-29">
<h2>2024-02-29</h2>
<p>I have this old pair of Skullcandy Crusher headphones that stopped working a few years ago due to some issue with the 3.5mm jack, and it recently occured to me that I finally have the tools to fix it! When I opened it up I noticed the port had lifted almost entirely off the motherboard and after soldering the pins back in place (and a generous application of hot glue, just in case) it works like new again! Credit to Skullcandy, all eight of the screws I had to remove were completely identical.</p>
</article>
<article id="2024-02-22">
<h2>2024-02-22</h2>
<p>Did a shell swap on my Switch and joycons yesterday. Check it out!</p>
<img src="media/2024-02-22/switchfront.jpg" alt="Front view of a Nintendo Switch with clear plastic shells on the joycons" />
<img src="media/2024-02-22/switchback.jpg" alt="Back view of a Nintendo Switch with clear plastic shells on the joycons and console" />
<p>I think it looks pretty cool. I got the shells from a company called <a href="https://extremerate.com/">eXtremeRate</a> which apparently makes full kits for this kind of mod. I thought I was just getting the plastic parts but they came with tons of extra screws and a screwdriver with the relevant bits, and they publish guides! Given I found this through a random Amazon listing, I am pleasantly surprised. Highly recommend their stuff.</p>
</article>
<article id="2024-02-14">
<h2>2024-02-14</h2>
<p>When I post a guide on my blog and the tutorial part starts with a header reading "How to do it" that's a reference to this btw</p>
<img src="media/2024-02-14_roundmeal.jpg" alt="Roundmeal." />
</article>
<article id="2024-01-29">
<h2>2024-01-29</h2>
<p>I just had a really nasty idea for a 3D printer design. I could describe it in detail, but instead I drew up this helpful diagram:</p>
<img src="media/2024-01-29/diagram.png" alt="A crude diagram outlining a concept for an FDM 3D printer that rotates around a central axis for a toroidal print volume." />
<p>The benefits of this approach are clear. If I receive $1000 in <a href="https://ko-fi.com/deeptwisty">donations</a> I will attempt to build it.</p>
</article>
<article id="2024-01-02">
<h2>2024-01-02</h2>
<p>Published an interesting blog post today. I had ChatGPT write an article about how great AI is and posted it immediately without reading it. Hopefully you can tell. (If you couldn't and didn't register what was happening until the disclaimer at the end, I'm deeply sorry.)</p>
<p>To be clear, I don't like "AI" tools like ChatGPT one bit; I figured doing this would be an elegant way to communicate my feelings on the matter - here's how it feels to get tricked into reading AI-generated spam, this is how I feel anytime I see something AI-generated in the wild.</p>
<blockquote>
My perspective on the use of AI in writing is that if someone couldn't be bothered to write it, why should anyone else be bothered to read it?
<span class="attr">-<a href="https://final.town/notice/AcGPT0FZUH2quPlDe4">@lucretia@final.town</a></span>
</blockquote>
<p>I've got half a blog post about this sitting on my computer somewhere.</p>
<hr>
<p>In more fun news, my laptop server is up and running! Building the case was a fun time involving hand-cut aluminum rods and many 3D-printed brackets, but I'll save all that for the blog post about it. So far I've set up Jellyfin on it, and only Jellyfin. I plan to get some other stuff going eventually. Word of advice, don't use the official Jellyfin android app. It stutters a ton and is generally not very good. Use Findroid instead, but make sure to turn "mpv player" on in the settings, otherwise it will use software decoding and you'll get approximately 7 frames per second in your 1080p content.</p>
</article>
<div class="buttons" style="margin-bottom: 1rem;">
<a href="https://status.cafe/"><img src="media/banner-statuscafe.png" alt="Status Cafe"></a>
<a href="https://kiosk.nightfall.city/"><img src="media/neonkiosk.png" alt="Neon Kiosk"></a>
<a href="https://journal.miso.town/"><img src="media/banner-htmlj.png" alt="Valid HTML Journal"></a>
</div>
<div id="rightsidebg" style="background-image: url(bg.jxl), url(bg.jpg); --distancefromcenter: -10%;"></div>
</body>
</html>