{"id":52455,"date":"2021-06-28T06:00:42","date_gmt":"2021-06-28T10:00:42","guid":{"rendered":"https:\/\/www.shamusyoung.com\/twentysidedtale\/?p=52455"},"modified":"2021-06-28T00:30:51","modified_gmt":"2021-06-28T04:30:51","slug":"diecast-unplugged-6-lets-talk-about-death","status":"publish","type":"post","link":"https:\/\/www.shamusyoung.com\/twentysidedtale\/?p=52455","title":{"rendered":"Diecast Unplugged #6: Let&#8217;s Talk About DEATH"},"content":{"rendered":"<p>My writing is generally fueled by whatever experiences I&#8217;m having at the moment. If I&#8217;m programming, then <a href=\"?p=50703\">I talk about the coding I&#8217;m doing<\/a>. If I&#8217;m playing a videogame, then <a href=\"?p=52435\">I talk about the game<\/a>. If I&#8217;m inflicting my music on the world, then <a href=\"?p=24042\">I talk about music theory<\/a>. And if my health is bad, then I try to find a way to talk about it in a way that makes it <a href=\"?p=1256\">funny<\/a> or <a href=\"?p=1571\">thoughtful<\/a>.<\/p>\n<p>Lately I&#8217;m spending a lot of time worrying about my health, but this time around it&#8217;s a dull, grim sort of worry. I don&#8217;t have anything witty to say about my current predicament and I don&#8217;t have any clever observations. Things are just going poorly and there&#8217;s nothing to be done about it. My current situation is my new normal and I need to accept that.<\/p>\n<p>My father died in 2000 at the age of 59. For years I&#8217;ve been half-jokingly saying that my goal was to beat him and <em>at least<\/em> make it to 60. <a href=\"?p=12687\">He was an overweight recovering alcoholic with epilepsy<\/a> that lived alone and smoked two packs a day, so outliving him always sounded like a pretty easy goal. I&#8217;ve got a decade to go if I want to outlast him, and It wasn&#8217;t until recently that I started to worry that I might not make it.<\/p>\n<p>I&#8217;m fine at the moment, but I&#8217;m dealing with a lot of cascading health complications that began with my <a href=\"?p=52249\">high blood pressure<\/a> and have branched outward since then. I want to repeat that I&#8217;m okay right now. I&#8217;m not in pain and I&#8217;m not dying. But I&#8217;m moving a lot slower than I was a year ago, and I need to be very careful with my diet and medications to make sure things don&#8217;t get any worse. <!--more--><\/p>\n<h3>Legacy<\/h3>\n<p><div class='imagefull'><img src='https:\/\/www.shamusyoung.com\/twentysidedtale\/images\/stock_graveyard2.jpg' width=100% alt='Here are the graves of generations gone by. I&apos;ll bet their websites have all gone down.' title='Here are the graves of generations gone by. I&apos;ll bet their websites have all gone down.'\/><\/div><div class='mouseover-alt'>Here are the graves of generations gone by. I&apos;ll bet their websites have all gone down.<\/div><\/p>\n<p>So why am I suddenly giving so much thought to death all of a sudden? Well aside from the health complications, it&#8217;s because I just noticed it&#8217;s been a little over a year since my colleague <a href=\"?p=49522\">Michael Goodfellow died<\/a>. He was about ten years older than me, and at this stage in life that feels more or less like the same age.<\/p>\n<p>We weren&#8217;t close, but we were both aging programmers-turned-bloggers that traded emails and source code from time to time. I noticed last week that his site at <code>www.sea-of-memes.com<\/code> has lapsed and fallen to domain squatters. For whatever reason, this hit me really hard. I was sad when he passed, but seeing his personal site and all his projects vanish into the bit bucket has filled me with <strong>insurmountable<\/strong> existential dread. I&#8217;ve always known that I was going to die someday, but now I&#8217;m grappling with the realization that &#8211; regardless of how carefully I plan &#8211; <strong>someday<\/strong> my website will eventually fall to squatters. I can&#8217;t explain why this is so much more upsetting than death itself.<\/p>\n<p>Anyway, if something did happen to me then I&#8217;m sure my website would be fine for many years. Michael&#8217;s problem was that he didn&#8217;t really have anyone in place to take care of his stuff when he passed. (He was unmarried, and I got the sense that the rest of his family wasn&#8217;t particularly tech-savvy.) But my wife knows how important this site is to our family, and she has a lot of experience taking care of various WordPress websites. She would do fine as the caretaker of Twenty Sided.<\/p>\n<p>The plan is that the comments would be closed across the entire site. This is just to protect against spammers and vandals, since the site would no longer have a full-time moderator. Other than that, not much ought to change. Well, aside from the lack of updates I guess. This site won&#8217;t get any new content after I&#8217;m gone, unless WordPress introduces a Ouija Board plugin that allows me to author posts from the afterlife. Given <a href=\"https:\/\/eev.ee\/blog\/2012\/04\/09\/php-a-fractal-of-bad-design\/\">what a nightmare PHP is<\/a>, I really advise against using it to interface with supernatural realm. Those sorts of shenanigans are how you end up opening portals to hell.<\/p>\n<p>The worst thing that might happen is that some future WordPress update would break my custom-built theme, and Heather would need to switch this site to using one of the ugly <a href=\"https:\/\/wordpress.org\/themes\/default\/\">default themes<\/a>. That would be sad, but at least the site would stay up.<\/p>\n<p>The other bad thing that might happen is that WordPress might break my custom plugins. I&#8217;ve written tools that allow me to use shortcode to create footnotes.<span class='snote' title='1'>Like this one.<\/span> If that code breaks, then the shortcode would appear in the article text.&#091;ref|Like this one.] Similarly, the image of the graveyard above will look like this once it turns back into a pumpkin:<\/p>\n<p><code>&#091;img src=\"stock_graveyard2.jpg\" title=\"Here are the graves of generations gone by. I'll bet their websites have all gone down.\"]<\/code><\/p>\n<p>So if you&#8217;re reading this from the future<span class='snote' title='2'>Hopefully the FAR future.<\/span> and you&#8217;re seeing this shortcode appearing in the article body, now you know why. Something broke my ancient legacy code.<\/p>\n<p>I realize that, in the grand scheme of the universe, my gaming blog is barely a trifle. But it&#8217;s <strong>my<\/strong> trifle damn it. I built it, and I get some sense of personal satisfaction in the fact that it it&#8217;s still standing after fifteen+ years. Like a bridge, I don&#8217;t expect it will last literally forever. But I&#8217;d be <strong>very<\/strong> disappointed if it fell over the moment I stopped personally taking care it.<\/p>\n<p>Well, that&#8217;s enough dread for one day. Let&#8217;s talk about something fun!<\/p>\n<h3>The Switch<\/h3>\n<p><div class='imagefull'><img src='https:\/\/www.shamusyoung.com\/twentysidedtale\/images\/nintendo_switch.jpg' width=100% alt='Some of fiction&apos;s greatest villains include Hannibal Lecter, Moriarty, and Darth Vader. Let&apos;s add Tom Nook to the list, the most diabolical loan shark ever to appear in a children&apos;s game.' title='Some of fiction&apos;s greatest villains include Hannibal Lecter, Moriarty, and Darth Vader. Let&apos;s add Tom Nook to the list, the most diabolical loan shark ever to appear in a children&apos;s game.'\/><\/div><div class='mouseover-alt'>Some of fiction&apos;s greatest villains include Hannibal Lecter, Moriarty, and Darth Vader. Let&apos;s add Tom Nook to the list, the most diabolical loan shark ever to appear in a children&apos;s game.<\/div><\/p>\n<p>A few weeks ago I mentioned that I wanted to get my wife a Nintendo Switch. A few people shared the wisdom that Nintendo is probably planning a mid-gen hardware refresh in the next year or so.\u00a0 In early 2022 I&#8217;ll (probably) be able to buy a better machine for the same money, or the same machine for less money. Ergo, this is a bad time to get a Switch.<\/p>\n<p>I was grateful for the advice, but also a little disappointed because I wanted her to have one.<\/p>\n<p>For the last six months or so, my wife has been balancing work between three different jobs. She&#8217;s a nanny for two different families, plus she took care of an infant for a couple of young doctors still stuck in the &#8220;rotating shifts&#8221; \/ &#8220;on call&#8221; phase of their career.<\/p>\n<p>But alas, the doctors are moving away and taking their adorable baby daughter with them. Heather was crushed. While taking care of a baby is a lot of work, it&#8217;s literally Heather&#8217;s favorite thing to do aside from playing <em>Animal Crossing<\/em>. So it was awesome when the doctors got her a parting gift of a Nintendo Switch and a copy of said Animal Crossing. She gets the joy of having the machine right now, and I won&#8217;t be plagued by guilt knowing that I could have gotten a better deal if I&#8217;d waited.<\/p>\n<p>The Switch has taken the place of honor in the living room, which means the Playstation 4 is returning to my home office. This means I&#8217;ve hooked it up to my PC again using&#8230;<\/p>\n<h3>The Elgato<\/h3>\n<p><div class='imagefull'><img src='https:\/\/www.shamusyoung.com\/twentysidedtale\/images\/elgato_setup.jpg' width=100% alt='This is the latest model. I&apos;m actually using the last-gen version of this thing, the Elgato HD.' title='This is the latest model. I&apos;m actually using the last-gen version of this thing, the Elgato HD.'\/><\/div><div class='mouseover-alt'>This is the latest model. I&apos;m actually using the last-gen version of this thing, the Elgato HD.<\/div><\/p>\n<p>I&#8217;ve always been a little dissatisfied with the technology we use to capture video output. Specifically, I&#8217;ve never really wrapped my head around why we need the technology at all.<\/p>\n<p>Back in 2008 or so, I had an Xbox 360. I also had a cheap little $40 TV tuner card that would take the analog output of my Xbox and put it in a little window on my PC where the resulting footage could be captured.\u00a0 You plug card into your PC and plug the Xbox into the card, and now the footage is all yours. That&#8217;s how I captured the screenshots for <a href=\"?p=2105\">my Fable 2 series<\/a>.<\/p>\n<p>Like the vast majority of the first-run Xbox 360s, my console <a href=\"https:\/\/www.youtube.com\/watch?v=3dqMeb0NdmQ\">died the death<\/a> after a little more than a year, and it was almost a decade before I had another console I wanted to plug into my PC. When the time came, I was somewhat horrified to discover that the process had become more complicated, more expensive, and slower. That&#8217;s the opposite of what we usually see in consumer electronics.<\/p>\n<p>These days, you need to pay <a href=\"https:\/\/www.amazon.com\/Corsair-Zero-lag-passthrough-Ultra-Low-Technology\/dp\/B07XB6VNLJ\/ref=sr_1_4?dchild=1&amp;keywords=elgato+hd60&amp;qid=1624815996&amp;sr=8-4\">somewhere in the ballpark of $200USD<\/a> for the hardware. That&#8217;s a pretty big step up from the $40 I paid in 2008. And once you do that, the hardware will enable you to view the footage in a window&#8230; with <strong>two full seconds<\/strong> of latency. That makes the game unplayable, so you need to split the signal and send it to another monitor where it will appear without latency. You&#8217;ll use the monitor to play the game while the capture software records the resulting delayed-by-two-seconds footage.<\/p>\n<p>This is really obnoxious. My desk is already overflowing with gear and the <a href=\"https:\/\/oots.fandom.com\/wiki\/Snarl\">snarl<\/a> of cables behind my monitors has already become untenable.  The last thing I want is another entire monitor<span class='snote' title='3'>Or to switch one of my existing monitors, which is what I&#8217;m doing.<\/span> that only exists to show me an image that is already on one of the existing monitors! And the only reason I have to do this stupid and expensive thing is that there&#8217;s this inexplicable two-second latency when converting the digital output of my console to a digital signal that my PC can display.<\/p>\n<p>So then I have a conversation that goes like this&#8230;.<\/p>\n<p><em>I don&#8217;t get it. What could it POSSIBLY be doing to the video signal that requires two full seconds of buffering?<\/em><\/p>\n<p><strong>Shamus you fool! OF COURSE it takes time to process modern TV signals! Don&#8217;t you realize how advanced these images are?\u00a0<\/strong><\/p>\n<p><em>I know that a 1080p image is about two million pixels. Frankly, that&#8217;s nothing on the scale that modern computers operate on.\u00a0 What is it doing with them?<\/em><\/p>\n<p><strong>Shamus, you sweet summer child. It takes TIME to convert a video feed. These aren&#8217;t analog signals like in the old days. This is DIGITAL INFORMATION.\u00a0<\/strong><\/p>\n<p><em>Great. We need the signal in digital format, so it&#8217;s nice that we don&#8217;t need to convert from analog first. But what takes all the time? What is the operation being performed on these pixels that requires EXTERNAL PROCESSING HARDWARE, and yet still can&#8217;t get the job done in less than two seconds?<\/em><\/p>\n<p><strong>Shamus, you naive buffoon,\u00a0 the signal being sent to your television is totally different from the pixels that Windows is drawing in a window. This means that signal must be converted. I can&#8217;t believe this is confusing you.<\/strong><\/p>\n<p><em>No, I get that. But like, two seconds? My computer &#8211; like all modern PCs &#8211; is a processing MONSTER. It&#8217;s got 8 cores running at 3.6Ghz. Do you have any idea how much raw processing power that is? And my TV doesn&#8217;t have anything approaching that level of computing power. And yet my $90 Wal-Mart television is able to display these images with zero latency.<\/em><\/p>\n<p><strong>Shamus you bumbling simpleton, your TV DOESN&#8217;T NEED TO CONVERT THE SIGNAL, because the signal is already in a format native to the TV. What&#8217;s so hard to understand about this?<\/strong><\/p>\n<p>Whatever the format is, we&#8217;re still talking about 2 million discrete pixels. That information arrives in a way that my TV can figure out which pixels to turn on and off, and it does so with primitive hardware that probably costs just a few dollars. I get that the signals are different, but what sort of conversion operations could possibly take two entire seconds? What does it need to do? Convert <a href=\"https:\/\/en.wikipedia.org\/wiki\/CMYK_color_model\">CMYK<\/a> to <a href=\"https:\/\/en.wikipedia.org\/wiki\/RGB_color_model\">RGB<\/a>? Re-scale the inputs to a different number space? Maybe handle some <a href=\"https:\/\/en.wikipedia.org\/wiki\/H.264\/MPEG-4_AVC_products_and_implementations\">compression<\/a>? None of that is a big deal when it&#8217;s a question of 2 <strong>mil<\/strong>lion pixels vs. 28.8 <strong>bil<\/strong>lion processor cycles.<span class='snote' title='4'>3.6Ghz is 3.6 billion operations per core, Multiplied by 8 cores gives you 28.8 billion cycles. Of course, this is a grotesque over-simplification. Some cycles accomplish multiple things and attaining full saturation on that many cores is theoretically possible but practically infeasible. This is just a rough approximation to show that we&#8217;ve got thousands of times more power than we need to handle this signal, regardless of how much you want to haggle over implementation details.<\/span> <\/p>\n<p><strong>Shamus, you should stop asking questions that only show how ignorant you are.<\/strong><\/p>\n<p>That&#8217;s how questions work. Just answer me.<\/p>\n<p><strong>You&#8217;re failing to understand how COMPLEX a modern video feed is. There&#8217;s encryption that needs to be processed!<\/strong><\/p>\n<p>You can totally turn off <a href=\"https:\/\/en.wikipedia.org\/wiki\/High-bandwidth_Digital_Content_Protection\">HDCP<\/a>. In fact, you HAVE TO. And even if there&#8217;s a bunch of DRM on the signal that needs to be dealt with, your TV seems to manage just fine with its underpowered processing hardware.<\/p>\n<p><strong>Well it just, you know. Needs to&#8230; convert the signal.<\/strong><\/p>\n<p><em>Yes, but what is it DOING?<\/em><\/p>\n<p>And so on. For the record, I&#8217;ve never had anyone talk to me like this, it&#8217;s just that this is how the exchange goes when people ask about it. <a href=\"https:\/\/help.elgato.com\/hc\/en-us\/articles\/360028232351-Why-does-my-gameplay-have-a-short-delay-in-the-software-when-using-Elgato-Game-Capture-HD60-#:~:text=The%20image%20in%20the%20Elgato,Elgato%20Game%20Capture%20HD%20window.\">Elgato specifically singles out compression<\/a> as the culprit for why there needs to be an entire second <span class='snote' title='5'>The Elgato site claims one second of lag, but it&#8217;s always at least two for me.<\/span> of output latency. It&#8217;s this stupid circular conversation where the conversion needs to take a long time because it&#8217;s converting, which is somehow both tautological and a non-sequitur.<\/p>\n<p>Without knowing anything about it, I&#8217;m willing to bet that at the heart of this mess is a stupid patent or other obnoxious licensing shenanigans. Someone came up with a video feed format, and they own the exclusive rights to <strong>processing<\/strong> that feed, so you <strong>have<\/strong> to buy chips from them. But since they have a monopoly on this format then there&#8217;s no competition, which means the chips are lame, underpowered, and outrageously overpriced. I&#8217;m willing to bet that you could make a better system that has just one or two frames of latency, and that it could run on a modern PC without needing external processing hardware, and the whole setup could cost less than ten dollars. The only reason that such a thing doesn&#8217;t exist is because it would be a patent \/ copyright violation to do so.<\/p>\n<p>To extrapolate further, I&#8217;m betting the feed needs to use a patent-inhibited format because these machines can play movies and Hollywood wants to make sure we don&#8217;t pirate their precious movies. So all of this horrendous expense and bullshit is their attempt to close the barn door now that the animals have <a href=\"https:\/\/en.wikipedia.org\/wiki\/The_Pirate_Bay\"><em>already escaped<\/em><\/a>.<\/p>\n<p>I can&#8217;t prove it, of course. I don&#8217;t even have any <em>evidence<\/em>. But there must be <strong>some<\/strong> reason for this mess, and this is my guess for why this is so needlessly expensive and difficult.<\/p>\n<h3>I&#8217;ve\u00a0 Been Here Before<\/h3>\n<p>Regardless of the reason, it does make this entire process way harder than it needs to be for the end user. I spent a good chunk of Saturday fiddling around with cables and trying to remember how the setup worked. You need to go from the console, to the Elgato, and from the Elgato to a dedicated monitor. But then also the Elgato needs to connect to the PC via USB. And then I need speakers for the monitor, because even though I already have speakers on my desk, those are for the PC and I need some for the monitor so I can hear the game in real-time rather than on a delay.<\/p>\n<p>So I spent over an hour fussing with things. I&#8217;d look something up, and then go, &#8220;Oh right. I remember that&#8217;s how it was. It&#8217;s coming back to me now.&#8221; There are a dozen little details that can go wrong, and I had to trip over all of them so that I could remember tripping over them in 2018 so that I could remember how to not trip over them.<\/p>\n<p>Anyway. I got it working again, so it looks like I&#8217;m going to get to play the <em>Final Fantasy VII<\/em> remake soon.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My writing is generally fueled by whatever experiences I&#8217;m having at the moment. If I&#8217;m programming, then I talk about the coding I&#8217;m doing. If I&#8217;m playing a videogame, then I talk about the game. If I&#8217;m inflicting my music on the world, then I talk about music theory. And if my health is bad, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[287],"tags":[],"class_list":["post-52455","post","type-post","status-publish","format-standard","hentry","category-diecast-2"],"_links":{"self":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/52455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=52455"}],"version-history":[{"count":27,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/52455\/revisions"}],"predecessor-version":[{"id":52482,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/52455\/revisions\/52482"}],"wp:attachment":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=52455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=52455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=52455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}