<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>zacoons' place</title><link>https://zacoons.com/</link><description>Recent content on zacoons' place</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 27 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://zacoons.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Quench Your Anti-Capitalism</title><link>https://zacoons.com/blog/2026-08-27-quench-your-anti-capitalism/</link><pubDate>Thu, 27 Aug 2026 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2026-08-27-quench-your-anti-capitalism/</guid><description>&lt;h2 id="what-is-capitalism" &gt;
	
		&lt;a class="anchor" href="#what-is-capitalism"&gt;&lt;small&gt;#&lt;/small&gt; What is capitalism?&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Capitalism might mean different things to different people. Words are like that. So let's get on the same page.&lt;/p&gt;
&lt;p&gt;Imagine it's 1000 B.C. and there's a guy called Jack who grew up eating bugs. He didn't want his son to grow up eating bugs because they're gross. So, being a badass guy, he went into a forest, grabbed a few cows by their horns, and threw them into a pen that he had built with his bare hands. Years later he died peacefully, leaving the farm to his beloved son.&lt;/p&gt;
&lt;p&gt;In those days, his son would've been considered a billionaire, and you, dear reader, would've been beyond belief. I wonder, how did we get to be so wealthy? If billionaires are &amp;quot;greedy&amp;quot; just for being wealthy, that would mean you are unbelievably greedy, because you are unbelievably wealthy. So clearly billionaires are not greedy just for being wealthy. There's something else which sets them apart. We'll return to that later.&lt;/p&gt;
&lt;p&gt;So Jack's son, named Jackson, is very privileged. He didn't earn his wealth, but his father did, even before he was born. Anyway, despite his privilege, Jackson is tired of eating only steak for every meal every day. So he meets Bob. Bob's family is not as competent as Jackson's. They're just cabbage growers. Bob is unhappy eating only cabbages for every meal every day. Jackson would prefer cabbages instead of one of his cows, and Bob would prefer a cow instead of cabbages. So Jackson offers to give a cow in exchange for 10 cabbages, and Bob accepts gratefully.&lt;/p&gt;
&lt;p&gt;That is capitalism: mutual agreement, leading to mutual benefit. Or at least, perceived mutual benefit. More on that later. Any other system, by definition, would either involve non-mutual agreement, or non-mutual benefit. This is known as theft or deception.&lt;/p&gt;
&lt;h2 id="non-capitalism" &gt;
	
		&lt;a class="anchor" href="#non-capitalism"&gt;&lt;small&gt;#&lt;/small&gt; Non-capitalism&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Bob spreads the word about how good steak is, and now everyone wants Jackson's cows. Jackson can hardly raise them quickly enough, and furthermore, he would like to rest for a while instead of always selling cows. So he raises the price, because his free time is becoming more and more valuable, and he needs more and more incentive to be willing to trade. Bob becomes resentful, because now he needs a lot more cabbages to get his steak. Bob convinces the other villagers that they are becoming slaves to Jackson. They are constantly working, just so that they can pay Jackson to get cows. The villagers obviously forgot that they don't &lt;em&gt;have&lt;/em&gt; to trade with Jackson if they don't want to - they could get their own cows - but for some reason they think they should get cows for free. So they get a big tough guy to force Jackson to give them every second cow that he raises. Jackson loses the will to work, and everyone dies of starvation. The end.&lt;/p&gt;
&lt;h2 id="the-billionaires" &gt;
	
		&lt;a class="anchor" href="#the-billionaires"&gt;&lt;small&gt;#&lt;/small&gt; The billionaires&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;If were were in a capitalist society, we wouldn't &lt;em&gt;have&lt;/em&gt; to give our money to anyone. You're probably reading this on a computer. You didn't have to buy that computer. I know it sounds crazy, but you could literally make your own computer, or live without one. That's how humanity has operated since the beginning. And the fact that you chose to purchase a computer means that it's more valuable to you than, say, $1000. I'll say that again: the computer was &lt;em&gt;more valuable&lt;/em&gt; to you than $1000. It was also more valuable to you than caring about the environmental impacts of manufacturing, or how evil the person who made it is, or any other concern.&lt;/p&gt;
&lt;p&gt;A capitalist society would be similar to democracy in the sense that you &amp;quot;vote&amp;quot; with your time and money. If you don't like AI, then &amp;quot;vote against it&amp;quot; by not paying for it. If the majority of people stop using it, then it will become unprofitable, and there will be no more AI. If you don't like how something is manufactured, then &amp;quot;run for office&amp;quot; by starting your own ethical manufacturing plant.&lt;/p&gt;
&lt;p&gt;But we don't live in a capitalist society, and many of the billionaires have not been &amp;quot;elected&amp;quot; by us.&lt;/p&gt;
&lt;h2 id="taxation" &gt;
	
		&lt;a class="anchor" href="#taxation"&gt;&lt;small&gt;#&lt;/small&gt; Taxation&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;I would argue that we live in a semi-capitalist society, because we are not entirely free to spend our money or time as we wish.&lt;/p&gt;
&lt;p&gt;Through taxation, the government takes a part of your money, and spends it in ways which you have very little choice over. For example, they might spend your money to fund a war, or a data center, or a train station right next to your house, or they might give it to a billionaire who you hate. In fact, some sneaky people are very good at siphoning your money by inventing devious reasons to take it out of the government's wallet and give it to themselves. They are thieves, once-removed.&lt;/p&gt;
&lt;p&gt;You are also not able to spend your time how you wish. For example, you may not be able to set up your own ethical manufacturing plant because it is highly regulated. Regulation is another tactic that sneaky people often use to make sure you can't compete against them. We see this battle going on in the AI space, where many of the top AI people are fearmongering, and sucking up to the government, just hoping that they will be the only chosen ones who can distribute AI.&lt;/p&gt;
&lt;h2 id="morality" &gt;
	
		&lt;a class="anchor" href="#morality"&gt;&lt;small&gt;#&lt;/small&gt; Morality&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;In my first story I hinted about something which sets most of us apart from the &amp;quot;greedy&amp;quot; billionaires. I said that capitalism is a system of mutual agreement leading to &amp;quot;perceived&amp;quot; mutual benefit. Well, bear with me, because I have another story for you.&lt;/p&gt;
&lt;p&gt;Let's say Livy starts a company selling cooking oil. Her cooking oil is cheaper than everyone else's, especially Jims's beef tallow, because it's not actually cooking oil - it's engine lubricant. Engine lubricant is not very healthy because it's made from rapeseed, which is not a very oily seed, so it goes through intense chemical processing to get oil from it. Wouldn't this be more expensive to produce then? No, because rapeseed production is subsidised by the government. So Livy started advertising it as cooking oil. In fact, she says that it's healthy cooking oil. In fact, she even bribes some doctors to agree with her. This is very healthy cooking oil! Way healthier and cheaper than Jim's beef tallow!&lt;/p&gt;
&lt;p&gt;I think we have misdiagnosed the problem. The half-commitment to capitalism is only part of the problem. Lack of morality is the bigger problem. Capitalism without strong morality will lead to an upper-class of Livys, and a lower-class of Bobs. Livy doesn't care about actually making people's lives better, she just wants money. She puts money above all else. In other words, she worships money, because it is her highest good. Likewise Bob doesn't want to work hard. He doesn't want to have to think. He is so accustomed to having cows, that he thinks he deserves them for free. His is the sin of pride and greed.&lt;/p&gt;
&lt;h2 id="conclusion" &gt;
	
		&lt;a class="anchor" href="#conclusion"&gt;&lt;small&gt;#&lt;/small&gt; Conclusion&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;I don't think we live an a capitalist society, but even proper capitalism without morality will lead to a society of Livys and Bobs. Politics without morality will lead to a society full of laws, but without justice. We need to strengthen the moral foundation of our society. How? Go to church :D&lt;/p&gt;</description></item><item><title>A Conversation Consisting Entirely of Bread Puns</title><link>https://zacoons.com/blog/2026-08-23-a-conversation-consisting-entirely-of-bread-puns/</link><pubDate>Sun, 23 Aug 2026 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2026-08-23-a-conversation-consisting-entirely-of-bread-puns/</guid><description>&lt;p&gt;It was 2:48 after the noon sun.&lt;br&gt;
A friend posted a meme in the chat.&lt;br&gt;
It was a meme, but not a funny one.&lt;br&gt;
It was random, weird, and fell rather flat.&lt;br&gt;
So I invented a response, an innocent pun:&lt;/p&gt;
&lt;p&gt;&amp;quot;I wasn't bready for that joke.&amp;quot;&lt;/p&gt;
&lt;p&gt;He surely thought &amp;quot;I'll do better than that&amp;quot;,&lt;br&gt;
for he then proceeded to join in the fun.&lt;/p&gt;
&lt;p&gt;Him: &amp;quot;That joke was the yeast of your concerns.&amp;quot;&lt;/p&gt;
&lt;p&gt;Me: &amp;quot;We better leaven this alone.&amp;quot;&lt;/p&gt;
&lt;p&gt;Him: &amp;quot;C'mon man you can dough better than that.&amp;quot;&lt;/p&gt;
&lt;p&gt;Me: &amp;quot;That joke isn't even half baked... Dang that's the second time I said 'joke'. Bear with me I'm a little crusty.&amp;quot;&lt;/p&gt;
&lt;p&gt;Him: &amp;quot;You knead to stop with these puns.&amp;quot;&lt;/p&gt;
&lt;p&gt;Me: &amp;quot;No, I think flour exchange is going quite well. We're on a roll.&amp;quot;&lt;/p&gt;
&lt;p&gt;Him: &amp;quot;I can't even anymore, why do I even rye.&amp;quot;&lt;/p&gt;
&lt;p&gt;Me: &amp;quot;Because you're baste. Life is boring wheatout a good challenge.&amp;quot;&lt;/p&gt;
&lt;p&gt;Him: &amp;quot;Naan bro, I disa-grain with that.&amp;quot;&lt;/p&gt;
&lt;p&gt;Me: &amp;quot;I loaf these puns. It slice to exercise the ol' wit.&amp;quot;&lt;/p&gt;
&lt;p&gt;Him: &amp;quot;Idk man, these puns are getting pretty stale.&amp;quot;&lt;/p&gt;
&lt;p&gt;Me: &amp;quot;Might be time to bag uette? It's croissont into bedtime.&amp;quot; (It was past 10 o'clock)&lt;/p&gt;
&lt;p&gt;Him: &amp;quot;I don't even know what that means, my patience with this is toast.&amp;quot;&lt;/p&gt;
&lt;p&gt;Me: &amp;quot;Baguette = bag it... It was a bit sour dough.&amp;quot;&lt;/p&gt;
&lt;p&gt;Him: &amp;quot;Man this is getting un-bun-lievable. I pita the others in the chat.&amp;quot;&lt;/p&gt;
&lt;p&gt;Me: &amp;quot;The puns are getting a bit seedy.&amp;quot;&lt;/p&gt;
&lt;p&gt;Him: &amp;quot;That was bagel-y funny.&amp;quot;&lt;/p&gt;
&lt;p&gt;And so ended our great bread run.&lt;/p&gt;</description></item><item><title>Use IPv6 Already</title><link>https://zacoons.com/blog/2026-07-20-use-ipv6-already/</link><pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2026-07-20-use-ipv6-already/</guid><description>&lt;p&gt;&lt;em&gt;Inspired by damii's &lt;a href="https://damiii.dev/blog/the_world_of_ipv6"&gt;The World of IPv6&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="the-problem-with-ipv4" &gt;
	
		&lt;a class="anchor" href="#the-problem-with-ipv4"&gt;&lt;small&gt;#&lt;/small&gt; The problem with IPv4&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;IPv4 was introduced by DARPA (Defense Advanced Research Projects Agency) back in 1981. It only has room for roughly 4 billion addresses. Understandably, the folks at DARPA thought that would be plenty of addresses, especially since it was designed by a specialized military agency. They probably had no idea that in 45 years there would be over 15 billion devices (probably more), each wanting an internet connection.&lt;/p&gt;
&lt;h2 id="the-crutch" &gt;
	
		&lt;a class="anchor" href="#the-crutch"&gt;&lt;small&gt;#&lt;/small&gt; The crutch&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;IPv6 was introduced in 1995. It has room for about &lt;strong&gt;340 UNDECILLION&lt;/strong&gt; addresses (that number has 38 digits), which I'm pretty sure we won't expend any time soon.&lt;/p&gt;
&lt;p&gt;However, IPv6 was not backwards compatible with IPv4, and would require new hardware and sofware updates to support it. Instead of making the switch, many internet providers started extending IPv4, like butter scraped over too much bread.&lt;/p&gt;
&lt;p&gt;One such crutch to extend the address space of IPv4 was the NAT (Network Address Translation) architecture. The original RFC in which NAT is defined described it as a &amp;quot;short-term solution&amp;quot; to the problems of IPv4, intended to be replaced by a new solution (IPv6) as soon as possible... That was in 1994. These days NAT manifests itself as routers, where your router has an IPv4 address on the internet, and each of your devices has an IPv4 address on the router.&lt;/p&gt;
&lt;p&gt;NAT can be seen as a security measure, because it isolates your devices from the internet at large. When enabling IPv6 you must be sure that each of your devices has an active firewall.&lt;/p&gt;
&lt;h2 id="the-other-crutch" &gt;
	
		&lt;a class="anchor" href="#the-other-crutch"&gt;&lt;small&gt;#&lt;/small&gt; The other crutch&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;However, even with NAT there were still not enough addresses to go around. Thus CG-NAT was born, which allowed internet providers to share IPv4 addresses between many customers.&lt;/p&gt;
&lt;p&gt;It was already difficult enough to host a public server with NAT introducing the need to setup &amp;quot;port forwarding&amp;quot;, so that your router (which is exposed to the internet) can forward requests to an internal device (which is only on the local network). But now you also had to call up your ISP to request that they reserve a static address for your router.&lt;/p&gt;
&lt;p&gt;And thus, the free, open, decentralized internet, &lt;strong&gt;died&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="what-can-you-do-to-bring-back-the-internets-open-age" &gt;
	
		&lt;a class="anchor" href="#what-can-you-do-to-bring-back-the-internets-open-age"&gt;&lt;small&gt;#&lt;/small&gt; What can you do to bring back the internet's open age?&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;For people hosting websites and services, support IPv6. Supporting IPv6 has now become incredibly easy, with most tools supporting it out of the box. It is often just a matter of adding an AAAA record to your domain(s).&lt;/p&gt;
&lt;p&gt;For individuals, make sure to enable IPv6 in your router. If your ISP doesn't support IPv6, question them and switch, and bring your friends along.&lt;/p&gt;
&lt;p&gt;For developers, don't hard-code IPv4 into your programs. While this is not a major issue anymore, many older and smaller applications still assume that the device being used at least has an IPv4 address, which may no longer be the case.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;NOTE: Enabling IPv6 on your router will give each device a publicly accessible IPv6 address. Be sure each device has a firewall enabled. Your router might also have a firewall, which you can configure.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Money</title><link>https://zacoons.com/blog/2026-06-27-money/</link><pubDate>Sat, 27 Jun 2026 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2026-06-27-money/</guid><description>&lt;p&gt;&lt;em&gt;Transcribed from &lt;a href="https://odysee.com/@zacoons/money"&gt;my video&lt;/a&gt;, with some improvements&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="what-is-money" &gt;
	
		&lt;a class="anchor" href="#what-is-money"&gt;&lt;small&gt;#&lt;/small&gt; What is money?&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;It's not what I think you think it is. I will begin with a quote from Ender's Game:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;Then it was over, and he really was hanging by the straps, no gravity anywhere. But because he had already reoriented himself, he was not surprised when Graff came up the ladder backward, as if he were climbing down to the front of the shuttle. [...] The reorientations were too much for some. One boy gagged; [...] But for Ender, Graff's gravity game was fun, And he carried it further, imagining that Graff was actually hanging upside down from the center aisle, and then picturing him sticking straight out from a side wall. Gravity could go any which way. [...] I can make Graff stand on his head and he doesn't even know it.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In space, there is no consistent measure of up-ness. Likewise, in the market there is no consistent measure of value. And money is a tool for storing value.&lt;/p&gt;
&lt;h2 id="dollars-are-losing-value" &gt;
	
		&lt;a class="anchor" href="#dollars-are-losing-value"&gt;&lt;small&gt;#&lt;/small&gt; Dollars are losing value&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;I can't say much about anywhere else, but if you're living in Australia, you're getting poorer. You might have hundreds of thousands of dollars in your bank account, but food prices are rising. Or in other words, those dollars are becoming less valuable compared to food. In fact, those dollars - which moth and governments doth corrupt - are becoming less valuable compared to pretty much everything.&lt;/p&gt;
&lt;p&gt;There, that was a re-orientation. Instead of thinking about how much food costs in terms of dollars. You are thinking about dollars cost in terms of food.&lt;/p&gt;
&lt;h2 id="inflation" &gt;
	
		&lt;a class="anchor" href="#inflation"&gt;&lt;small&gt;#&lt;/small&gt; Inflation&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Dollars don't hold their value very well because powerful people can make more of them when they feel the urge. This is known as &amp;quot;inflation&amp;quot; because the amount of money in the world is inflated - like a balloon. It tends to cause increased prices because the supply of money has grown, but the supply of goods has not. In other words, there is more money to buy the same stuff.&lt;/p&gt;
&lt;p&gt;People who first use the newly printed money (I imagine governments, elites, bankers, etc.) get to buy things at the old price. Basically they get it at a discount that the seller is probably not even aware of. But prices begin to rise as this new money circulates around, and working people like us are left off poorer because we are the last ones to get the new money. Inflation is an evil, nefarious, hidden tax.&lt;/p&gt;
&lt;h2 id="invest-in-food" &gt;
	
		&lt;a class="anchor" href="#invest-in-food"&gt;&lt;small&gt;#&lt;/small&gt; Invest in food?&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;So maybe you should go convert your savings from dollars to food. Food can't be printed (at least, not without a lot of hard work), and after all, buying food is what money is primarily for. So why even have the dollars in the first place? The answer: food goes bad.&lt;/p&gt;
&lt;p&gt;So if you can't invest in food, what can you invest in?&lt;/p&gt;
&lt;h2 id="egg-baskets" &gt;
	
		&lt;a class="anchor" href="#egg-baskets"&gt;&lt;small&gt;#&lt;/small&gt; Egg baskets&lt;/a&gt;
	
&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;Don't put all your eggs in one basket&amp;quot;&lt;br&gt;
- Some guy&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="living-food" &gt;
	
		&lt;a class="anchor" href="#living-food"&gt;&lt;small&gt;##&lt;/small&gt; Living food&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;Well, you could become a &amp;quot;prepper&amp;quot; and convert some of your dollars into livestock, or a field crops. This is basically living food, which doesn't go bad. A valid investment, but, fair warning, it takes a lot of work to maintain.&lt;/p&gt;
&lt;h3 id="precious-metals" &gt;
	
		&lt;a class="anchor" href="#precious-metals"&gt;&lt;small&gt;##&lt;/small&gt; Precious metals&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;You could convert some of your dollars into gold and silver. Gold and silver can't be printed by powerful people, and not for lack of trying. I'm looking at you &lt;a href="https://en.wikipedia.org/wiki/Isaac_Newton#Alchemy"&gt;Isaac Newton&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But everything is so cheap nowadays that it's a bit tricky to make transactions with these precious metals. A thousand years ago you would use coins of gold or silver to buy a meal and lodging, but these days you'd have to use 0.07 oz of gold, which is roughly equivalent to 500 AUD in 2026.&lt;/p&gt;
&lt;h3 id="crypto" &gt;
	
		&lt;a class="anchor" href="#crypto"&gt;&lt;small&gt;##&lt;/small&gt; Crypto&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;You could convert some of your dollars into crypto-currency. 1 Bitcoin is worth about 100,000 AUD in 2026, while 1 oz of gold is not even worth $10,000. But crypto-currencies are a lot easier to transact in tiny amounts because the computer does it for you. You don't have to physically slice up a piece of gold (though there is at least &lt;a href="https://valaurum.com"&gt;one cool company&lt;/a&gt; that does exactly this).&lt;/p&gt;
&lt;p&gt;Bitcoin and Monero are the only crypto-currencies I would recommend. Any other crypto is probably not worth your time. Bitcoin is what everyone knows about, but all of the transactions are on a public ledger which anyone can see. Monero is built for privacy, which makes governments nervous, because then they can't audit you to confirm that they are taking their share of your prosperity. You can't buy Monero on any exchange that I'm aware of. instead, you have to get Bitcoin, then convert it to Monero.&lt;/p&gt;
&lt;h3 id="dollars" &gt;
	
		&lt;a class="anchor" href="#dollars"&gt;&lt;small&gt;##&lt;/small&gt; Dollars&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;Obviously you'll want to keep a bunch of dollars around because that's what most people use to transact these days.&lt;/p&gt;
&lt;h2 id="disclaimer" &gt;
	
		&lt;a class="anchor" href="#disclaimer"&gt;&lt;small&gt;#&lt;/small&gt; Disclaimer&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;There are few people (if any) who would consider me to be a financial expert. Furthermore, the government likes controlling the thing that people use to trade (i.e. dollars), which means they may lock down, or even confiscate any other form of money. If it gets to that, just pray for the deliverance of our nation, and that God would have mercy on us despite our failures.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;Every nation gets the government it deserves.&amp;quot;&lt;br&gt;
- Joseph de Maistre&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>The Year 2036 Problem</title><link>https://zacoons.com/blog/2026-06-07-the-year-2036-problem/</link><pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2026-06-07-the-year-2036-problem/</guid><description>&lt;p&gt;Back in 1999 some people were freaking out because they thought computers would stop working. That's because a lot of software stored the current year only as the last two digits, like 1984 was just stored as 84. It was known as the year 2000 problem, or Y2K for short. They switched to Unix timestamps and everything was fine.&lt;/p&gt;
&lt;p&gt;A Unix timestamp is the number of seconds since the beginning of the year 1970. It's often stored as a signed 32-bit integer (i32), which can go up to 2^(32-1). If you do the math, that's only 68 years, so we'll be facing a similar problem 68 years after the year 1970. Thus, we have a year 2036 problem.&lt;/p&gt;
&lt;p&gt;The solution that comes to mind is to just use a bigger integer. Perhaps an i64. You could use an unsigned integer (u64) to go even higher, but then you wouldn't be able to store time values prior to 1970. But using a bigger integer only pushes the problem further down the line, right? That was my thinking, so I concocted a more far-reaching format for storing time:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yearlen (8 bits)
year (4 * yearlen bits)
month (4 bits)
day (9 bits)
millisecond (27 bits)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;It stores the number of digits in the year, then the year itself, followed by the month, the day of the month, and the millisecond of the day. To store the current date in 2026 it would use 8+16+4+9+27 bits, which is 64 bits, the same size as the integer alternative. This date format can go up to the year 10,000 without needing to expand.&lt;/p&gt;
&lt;p&gt;Then I did the math on how far an i64 can go. That's 2^(64-1), which is 9,223,372,036,854,775,808 seconds, which is about 292,277,265,671 years. Wow. Seems like using an i64 is a much better idea than my rubbish.&lt;/p&gt;</description></item><item><title>The Curse of Knowing How to Fix Everything</title><link>https://zacoons.com/blog/2026-05-12-the-curse-of-knowing-how-to-fix-everything/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2026-05-12-the-curse-of-knowing-how-to-fix-everything/</guid><description>&lt;p&gt;&lt;em&gt;Copied from &lt;a href="https://notashelf.dev/posts/curse-of-knowing"&gt;raf&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It starts innocently.&lt;/p&gt;
&lt;p&gt;You rename a batch of files with a ten-line Python script, or you alias a common git command to shave off two keystrokes. Maybe you build a small shell function to format JSON from the clipboard.&lt;/p&gt;
&lt;p&gt;You’re not even trying to be clever. You’re just solving tiny problems. Making the machine do what it should have done in the first place. And then something happens. You cross a threshold. You look at your tools, your environment, your operating system—even your editor—and suddenly everything is fair game.&lt;/p&gt;
&lt;p&gt;You could rebuild that (if you wanted to).
You could improve that (if you wanted to).&lt;/p&gt;
&lt;p&gt;Then someone challenges you. As banter maybe, perhaps jokingly but also with a dash of hope. Then the air in the room changes.&lt;/p&gt;
&lt;p&gt;It suddenly becomes something else. It becomes:&lt;/p&gt;
&lt;p&gt;You should.&lt;/p&gt;
&lt;p&gt;And from that moment forward, the world is broken in new and specific ways that only you can see.&lt;/p&gt;
&lt;h2 id="technical-capability-as-a-moral-weight" &gt;
	
		&lt;a class="anchor" href="#technical-capability-as-a-moral-weight"&gt;&lt;small&gt;#&lt;/small&gt; Technical Capability as a Moral Weight&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Before I could program, broken software was frustrating but ignorable. For years I’ve simply “used” a computer, as a consumer. I was what companies were concerned with tricking into buying their products, or subscribing to their services. Not the technical geek that they prefer to avoid with their software releases, or banning from their games based on an OS.&lt;/p&gt;
&lt;p&gt;Now it has become provocative. I can see the patterns that I wish I couldn’t, find oversights that I can attribute to a certain understanding (or the lack thereof) of a certain concept and I can hear what has been echoing in the head of the computer illiterate person who conjured the program I have to debug.&lt;/p&gt;
&lt;p&gt;I notice flaws like a good surgeon notices a limp.
Why the hell does this site send ten megabytes of JavaScript for a static page?
Why is the CLI output not parseable by awk?
Why is this config hardcoded when it could be declarative?&lt;/p&gt;
&lt;p&gt;Those things are not just questions, they are accusations. And, unfortunately, they do not stop.&lt;/p&gt;
&lt;p&gt;Now that I’ve learned to notice, my perception of software has changed in its entirety.&lt;/p&gt;
&lt;p&gt;Every piece of software becomes a TODO list.
Every system becomes a scaffolding for a better one.
Every inconvenience becomes an indictment of inaction.&lt;/p&gt;
&lt;h2 id="one-must-imagine-sisyphus-happy" &gt;
	
		&lt;a class="anchor" href="#one-must-imagine-sisyphus-happy"&gt;&lt;small&gt;#&lt;/small&gt; One Must Imagine Sisyphus Happy&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Like Camus’ Sisyphus, we are condemned to push the boulder of our own systems uphill—one fix, one refactor, one script at a time. But unlike the story of Sisyphus, the curse is not placed onto you by some god. We built the boulder ourselves. And we keep polishing it on the way up.&lt;/p&gt;
&lt;p&gt;I’ve lost count of how many projects I have started that began with some variation of “Yeah, I could build this but better.”&lt;/p&gt;
&lt;p&gt;A static site generator because the existing ones had too many opinions.
A note-taking tool because I didn’t like the way others structured metadata.
A CLI task runner because Make is cryptic and Taskfile is YAML hell.
A personal wiki engine in Rust, then in Go, then in Nim, then back to Markdown.
A homelab dashboard because I don’t like webslop.
The list continues, and trust me it does continue. My dev directory, as it stands, is nearing 30 gigabytes.&lt;/p&gt;
&lt;p&gt;If you ask me, I was solving real, innocent problems. But in hindsight, I was also feeding something else: a compulsion to assert control. Every new tool I built was a sandbox I owned: No weird bugs. No legacy constraints. No decisions I didn’t entirely agree with. Until, of course, I became the legacy.&lt;/p&gt;
&lt;p&gt;Kafka once wrote that “a cage went in search of a bird.” That is what these projects can become. Empty systems we keep building, waiting for purpose, for clarity, for… salvation? I’m not sure how else would you call this pursuit.&lt;/p&gt;
&lt;h2 id="entropy-is-undefeated" &gt;
	
		&lt;a class="anchor" href="#entropy-is-undefeated"&gt;&lt;small&gt;#&lt;/small&gt; Entropy Is Undefeated&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Now let’s go back. Back to when we didn’t know better.&lt;/p&gt;
&lt;p&gt;Software doesn’t stay solved. Every solution you write starts to rot the moment it exists. Not now, not later, but eventually. Libraries deprecate. APIs change. Performance regressions creep in. Your once-perfect tool breaks silently because libfoo.so is now libfoo.so.2.&lt;/p&gt;
&lt;p&gt;I have had scripts silently fail because a website changed its HTML layout.
I have had configuration formats break because of upstream version bumps.
I have had Docker containers die because Alpine Linux rotated a mirror URL.&lt;/p&gt;
&lt;p&gt;In each case, the immediate emotional response was not just inconvenience but something that moreso resembles guilt. I built this, and I do know better. How could I not have foreseen this? Time to fix it.&lt;/p&gt;
&lt;p&gt;If you replace every part of the system over time, is it still the same tool? Does it still serve the same purpose? Do you?&lt;/p&gt;
&lt;h2 id="the-illusion-of-finality" &gt;
	
		&lt;a class="anchor" href="#the-illusion-of-finality"&gt;&lt;small&gt;#&lt;/small&gt; The Illusion of Finality&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;I think we lie to ourselves.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“If I just get this setup right, I’ll never have to touch it again.&amp;quot;
&amp;quot;If I just write this one tool, my workflow will be seamless.&amp;quot;
&amp;quot;If I automate this, I’ll save time forever.”
“Write once, run everywhere.” My ass.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It is, I admit, a seductive lie. It frames programming as a conquest of sorts. A series of battles you win, or challenges you complete. But the imaginary war never ends. You don’t build a castle. You dig trenches. And they flood every time it rains. The trials are never complete.&lt;/p&gt;
&lt;h2 id="technical-work-as-emotional-regulation" &gt;
	
		&lt;a class="anchor" href="#technical-work-as-emotional-regulation"&gt;&lt;small&gt;#&lt;/small&gt; Technical Work as Emotional Regulation&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;On the theme of filling this post with literary references, let me quote the Stoic Marcus Aurelius.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You have power over your mind—not outside events. Realize this, and you will find strength.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But programming lures us into believing we can control the outside events. That is where the suffering begins. There is something deeper happening here. This is not just about software.&lt;/p&gt;
&lt;p&gt;I believe sometimes building things is how we self-soothe. We write a new tool or a script because we are in a desperate need for a small victory. We write a new tool because we are overwhelmed. Refactor it, not because the code is messy, but your life is. We chase the perfect system because it gives us something to hold onto when everything else is spinning. This is the lesson I’ve taken from using NixOS.&lt;/p&gt;
&lt;p&gt;I have written entire applications just to avoid thinking about why I was unhappy. Programming gives you instant feedback. You run the thing, and it works. Or it doesn’t, and you fix it. Either way, you’re doing something.&lt;/p&gt;
&lt;p&gt;That kind of agency is addictive. Especially when the rest of life doesn’t offer it. We program because we can, even when we shouldn’t. Because at least it gives us something to rebel against.&lt;/p&gt;
&lt;h2 id="the-burnout-you-dont-see-coming" &gt;
	
		&lt;a class="anchor" href="#the-burnout-you-dont-see-coming"&gt;&lt;small&gt;#&lt;/small&gt; The Burnout You Don’t See Coming&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Burnout does not just come from overwork. It comes from overresponsibility.&lt;/p&gt;
&lt;p&gt;And programming, once internalized deeply enough, makes everything feel like your responsibility. The bloated website. The inefficient script. The clunky onboarding process at your job. You could fix it. So why aren’t you?&lt;/p&gt;
&lt;p&gt;The truth you are very well aware of is that you can’t fix it all. You know this, you always knew it regardless of your level of skill. But try telling that to the part of your brain that sees every inefficiency as a moral failing.&lt;/p&gt;
&lt;p&gt;Nietzsche warned of gazing too long into the abyss. But he did not warn what happens when the abyss is a Makefile or a 30k line of code Typescript project.&lt;/p&gt;
&lt;h2 id="learning-to-let-go" &gt;
	
		&lt;a class="anchor" href="#learning-to-let-go"&gt;&lt;small&gt;#&lt;/small&gt; Learning to Let Go&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;So where is the exit? Is this akin to Sartre’s depiction of hell, where hell is other people and how they interact with your software? Or is it some weird backwards hell where people create software that you have to interact with?&lt;/p&gt;
&lt;p&gt;The first step is recognizing that not everything broken is yours to fix.
Not every tool needs replacing.
Not every bad experience is a call to action.&lt;/p&gt;
&lt;p&gt;Sometimes, it’s OK to just use the thing. Sometimes it’s enough to know why it’s broken—even if you don’t fix it. Sometimes the most disciplined thing you can do is walk away from the problem you know how to solve. There’s a kind of strength in that.&lt;/p&gt;
&lt;p&gt;Not apathy, no. Nor laziness. Just… some restraint.&lt;/p&gt;
&lt;h2 id="a-new-kind-of-skill" &gt;
	
		&lt;a class="anchor" href="#a-new-kind-of-skill"&gt;&lt;small&gt;#&lt;/small&gt; A New Kind of Skill&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;What if the real skill isn’t technical mastery? Or better yet what if it’s emotional clarity?&lt;/p&gt;
&lt;p&gt;Knowing which problems are worth your energy.
Knowing which projects are worth maintaining.
Knowing when you’re building to help—and when you’re building to cope.
Knowing when to stop.
This is what I’m trying to learn now. After the excitement. After the obsession. After the burnout. I’m trying to let things stay a little broken. Because I’ve realized I don’t want to fix everything. I just want to feel OK in a world that often isn’t. I can fix something, but not everything.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;You learn how to program. You learn how to fix things. But the hardest thing you’ll ever learn is when to leave them broken.&lt;/p&gt;
&lt;p&gt;And maybe that’s the most human skill of all.&lt;/p&gt;</description></item><item><title>Does OLED Black Actually Save Power?</title><link>https://zacoons.com/blog/2026-04-11-does-oled-black-actually-save-power/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2026-04-11-does-oled-black-actually-save-power/</guid><description>&lt;p&gt;I recently bought a new laptop (Lenovo Yoga 7 if anyone's wondering) with an OLED screen. I chose one with an OLED screen because OLED screens actually turn off black pixels and dim darkly colored ones. Since I use everything in dark theme, I figured this would grant me some extra battery life. But does it?&lt;/p&gt;
&lt;p&gt;In order to verify my theory I ran the following script in a tiny little terminal window:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#ebdbb2;background-color:#282828;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;watch -n &lt;span style="color:#d3869b"&gt;1&lt;/span&gt; &lt;span style="color:#b8bb26"&gt;&amp;#34;cat /sys/class/power_supply/BAT1/power_now | awk &amp;#39;{print \$1/1000000 \&amp;#34; W\&amp;#34;}&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I stopped all unnecessary processes and closed all windows to reveal my wallpaper, which is pure black. The only other thing visible was the small terminal window to monitor the power draw and another mini terminal window to edit my Hyprland configuration. When the background was pure black, the power draw stabilized at aroudn 5.3 Watts. Then I changed the background to pure white, and the power draw went up to a bit over 5.4 Watts. So not really much difference.&lt;/p&gt;
&lt;p&gt;However, when I ran those tests, my screen brightness was quite low, because I was inside. So I maximized my brightness and ran the tests again. Here are the results:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Pure black: 5.3 W
Pure white: 9.6 W
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Wow! That's a significant difference!&lt;/p&gt;
&lt;p&gt;So if your OLED screen is low brightness, dark or light doesn't make a big difference. But if you're outside and you need a bright screen, dark mode can help extend your battery life.&lt;/p&gt;
&lt;h2 id="even-better-than-oled" &gt;
	
		&lt;a class="anchor" href="#even-better-than-oled"&gt;&lt;small&gt;#&lt;/small&gt; Even better than OLED?&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;However, while a dark OLED screen is more efficient than a bright one, there may be other screens which are more efficient such as LCD-based ones.&lt;/p&gt;</description></item><item><title>How to Estimate the Normal of a Point Cloud</title><link>https://zacoons.com/blog/2026-02-14-how-to-estimate-the-normal-of-a-point-cloud/</link><pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2026-02-14-how-to-estimate-the-normal-of-a-point-cloud/</guid><description>&lt;p&gt;This is something I spent multiple days on recently trying to figure out, so I thought I'd write it down. Hopefully it helps someone out.&lt;/p&gt;
&lt;h2 id="1-covariance-matrix" &gt;
	
		&lt;a class="anchor" href="#1-covariance-matrix"&gt;&lt;small&gt;#&lt;/small&gt; 1. Covariance matrix&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;First calculate the &lt;a href="https://wikipedia.org/wiki/Covariance_matrix"&gt;covariance matrix&lt;/a&gt; of the given set of points. This is fairly easy with the following pseudo-code:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#ebdbb2;background-color:#282828;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;usize n &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; points.len;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f32 mean &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fabd2f"&gt;getMean&lt;/span&gt;(points);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f32 xx, xy, xz;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f32 yx, yy, yz;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f32 zx, zy, zz;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fe8019"&gt;for&lt;/span&gt; i in n {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	p &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; points[i] &lt;span style="color:#fe8019"&gt;-&lt;/span&gt; mean;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	xx &lt;span style="color:#fe8019"&gt;+=&lt;/span&gt; p.x &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; p.x;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	xy &lt;span style="color:#fe8019"&gt;+=&lt;/span&gt; p.x &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; p.y;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	xz &lt;span style="color:#fe8019"&gt;+=&lt;/span&gt; p.x &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; p.z;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#928374;font-style:italic"&gt;// And so on ...
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nm1 &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; n &lt;span style="color:#fe8019"&gt;-&lt;/span&gt; &lt;span style="color:#d3869b"&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;xx &lt;span style="color:#fe8019"&gt;/=&lt;/span&gt; nm1;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;xy &lt;span style="color:#fe8019"&gt;/=&lt;/span&gt; nm1;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;xz &lt;span style="color:#fe8019"&gt;/=&lt;/span&gt; nm1;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#928374;font-style:italic"&gt;// And so on ...
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The covariance matrix is the covariance of x with x, x with y, x with z, and so on, over all of the points. Covariance can be defined as:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sum((x - avg(x))(y - avg(y)))
-----------------------------
 n - 1
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="2-minimum-eigenvalue" &gt;
	
		&lt;a class="anchor" href="#2-minimum-eigenvalue"&gt;&lt;small&gt;#&lt;/small&gt; 2. Minimum eigenvalue&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;To get the normal, we need the minimum eigenvector. To get the minimum eigenvector, we can use the minimum eigenvalue.&lt;/p&gt;
&lt;p&gt;Since the covariance matrix is guaranteed to be a symmetric 3x3 matrix, we can use the algorithm described &lt;a href="https://wikipedia.org/wiki/Eigenvalue_algorithm#Symmetric_3%C3%973_matrices"&gt;here&lt;/a&gt; (we only need &lt;code&gt;eig3&lt;/code&gt;, which is the minimum). I've copied the algorithm here:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#ebdbb2;background-color:#282828;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-matlab" data-lang="matlab"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#928374;font-style:italic"&gt;% Given a real symmetric 3x3 matrix A, compute the eigenvalues&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#928374;font-style:italic"&gt;% Note that acos and cos operate on angles in radians&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p1 = A(&lt;span style="color:#d3869b"&gt;1&lt;/span&gt;,&lt;span style="color:#d3869b"&gt;2&lt;/span&gt;)^&lt;span style="color:#d3869b"&gt;2&lt;/span&gt; &lt;span style="color:#fe8019"&gt;+&lt;/span&gt; A(&lt;span style="color:#d3869b"&gt;1&lt;/span&gt;,&lt;span style="color:#d3869b"&gt;3&lt;/span&gt;)^&lt;span style="color:#d3869b"&gt;2&lt;/span&gt; &lt;span style="color:#fe8019"&gt;+&lt;/span&gt; A(&lt;span style="color:#d3869b"&gt;2&lt;/span&gt;,&lt;span style="color:#d3869b"&gt;3&lt;/span&gt;)^&lt;span style="color:#d3869b"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fe8019"&gt;if&lt;/span&gt; (p1 &lt;span style="color:#fe8019"&gt;==&lt;/span&gt; &lt;span style="color:#d3869b"&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#928374;font-style:italic"&gt;% A is diagonal.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; eig1 = A(&lt;span style="color:#d3869b"&gt;1&lt;/span&gt;,&lt;span style="color:#d3869b"&gt;1&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; eig2 = A(&lt;span style="color:#d3869b"&gt;2&lt;/span&gt;,&lt;span style="color:#d3869b"&gt;2&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; eig3 = A(&lt;span style="color:#d3869b"&gt;3&lt;/span&gt;,&lt;span style="color:#d3869b"&gt;3&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fe8019"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; q = trace(A)&lt;span style="color:#fe8019"&gt;/&lt;/span&gt;&lt;span style="color:#d3869b"&gt;3&lt;/span&gt; &lt;span style="color:#928374;font-style:italic"&gt;% trace(A) is the sum of all diagonal values&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; p2 = (A(&lt;span style="color:#d3869b"&gt;1&lt;/span&gt;,&lt;span style="color:#d3869b"&gt;1&lt;/span&gt;) &lt;span style="color:#fe8019"&gt;-&lt;/span&gt; q)^&lt;span style="color:#d3869b"&gt;2&lt;/span&gt; &lt;span style="color:#fe8019"&gt;+&lt;/span&gt; (A(&lt;span style="color:#d3869b"&gt;2&lt;/span&gt;,&lt;span style="color:#d3869b"&gt;2&lt;/span&gt;) &lt;span style="color:#fe8019"&gt;-&lt;/span&gt; q)^&lt;span style="color:#d3869b"&gt;2&lt;/span&gt; &lt;span style="color:#fe8019"&gt;+&lt;/span&gt; (A(&lt;span style="color:#d3869b"&gt;3&lt;/span&gt;,&lt;span style="color:#d3869b"&gt;3&lt;/span&gt;) &lt;span style="color:#fe8019"&gt;-&lt;/span&gt; q)^&lt;span style="color:#d3869b"&gt;2&lt;/span&gt; &lt;span style="color:#fe8019"&gt;+&lt;/span&gt; &lt;span style="color:#d3869b"&gt;2&lt;/span&gt; &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; p1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; p = &lt;span style="color:#fabd2f"&gt;sqrt&lt;/span&gt;(p2 &lt;span style="color:#fe8019"&gt;/&lt;/span&gt; &lt;span style="color:#d3869b"&gt;6&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; B = (&lt;span style="color:#d3869b"&gt;1&lt;/span&gt; &lt;span style="color:#fe8019"&gt;/&lt;/span&gt; p) &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; (A &lt;span style="color:#fe8019"&gt;-&lt;/span&gt; q &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; I) &lt;span style="color:#928374;font-style:italic"&gt;% I is the identity matrix&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; r = det(B) &lt;span style="color:#fe8019"&gt;/&lt;/span&gt; &lt;span style="color:#d3869b"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#928374;font-style:italic"&gt;% In exact arithmetic for a symmetric matrix -1 &amp;lt;= r &amp;lt;= 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#928374;font-style:italic"&gt;% but computation error can leave it slightly outside this range.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;if&lt;/span&gt; (r &lt;span style="color:#fe8019"&gt;&amp;lt;&lt;/span&gt;= &lt;span style="color:#fe8019"&gt;-&lt;/span&gt;&lt;span style="color:#d3869b"&gt;1&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; phi = &lt;span style="color:#fabd2f"&gt;pi&lt;/span&gt; &lt;span style="color:#fe8019"&gt;/&lt;/span&gt; &lt;span style="color:#d3869b"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;elseif&lt;/span&gt; (r &lt;span style="color:#fe8019"&gt;&amp;gt;&lt;/span&gt;= &lt;span style="color:#d3869b"&gt;1&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; phi = &lt;span style="color:#d3869b"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; phi = &lt;span style="color:#fabd2f"&gt;acos&lt;/span&gt;(r) &lt;span style="color:#fe8019"&gt;/&lt;/span&gt; &lt;span style="color:#d3869b"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#928374;font-style:italic"&gt;% the eigenvalues satisfy eig3 &amp;lt;= eig2 &amp;lt;= eig1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; eig1 = q &lt;span style="color:#fe8019"&gt;+&lt;/span&gt; &lt;span style="color:#d3869b"&gt;2&lt;/span&gt; &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; p &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; &lt;span style="color:#fabd2f"&gt;cos&lt;/span&gt;(phi)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; eig3 = q &lt;span style="color:#fe8019"&gt;+&lt;/span&gt; &lt;span style="color:#d3869b"&gt;2&lt;/span&gt; &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; p &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; &lt;span style="color:#fabd2f"&gt;cos&lt;/span&gt;(phi &lt;span style="color:#fe8019"&gt;+&lt;/span&gt; (&lt;span style="color:#d3869b"&gt;2&lt;/span&gt;&lt;span style="color:#fe8019"&gt;*&lt;/span&gt;&lt;span style="color:#fabd2f"&gt;pi&lt;/span&gt;&lt;span style="color:#fe8019"&gt;/&lt;/span&gt;&lt;span style="color:#d3869b"&gt;3&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; eig2 = &lt;span style="color:#d3869b"&gt;3&lt;/span&gt; &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; q &lt;span style="color:#fe8019"&gt;-&lt;/span&gt; eig1 &lt;span style="color:#fe8019"&gt;-&lt;/span&gt; eig3 &lt;span style="color:#928374;font-style:italic"&gt;% since trace(A) = eig1 + eig2 + eig3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fe8019"&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="3-minimum-eigenvector" &gt;
	
		&lt;a class="anchor" href="#3-minimum-eigenvector"&gt;&lt;small&gt;#&lt;/small&gt; 3. Minimum eigenvector&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;To get the eigenvector from the eigenvalue, we can use the &lt;a href="https://math.stackexchange.com/questions/178830/cross-product-technique-to-find-the-eigenspaces-of-a-3-times-3-matrix"&gt;cross product trick&lt;/a&gt;. The code would look something like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#ebdbb2;background-color:#282828;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Mat3x3 &lt;span style="color:#fb4934"&gt;v&lt;/span&gt;: &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; ...; &lt;span style="color:#928374;font-style:italic"&gt;// Covariance matrix
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f32 eig3 &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; ...; &lt;span style="color:#928374;font-style:italic"&gt;// Minimum eigen value
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Mat3x3 m &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; v &lt;span style="color:#fe8019"&gt;-&lt;/span&gt; eig3 &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; Matri3x3.identity;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#928374;font-style:italic"&gt;// Return the cross product of two linearly independant rows,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#928374;font-style:italic"&gt;// which will have the largest cross product
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Vec3 c1 &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fabd2f"&gt;cross&lt;/span&gt;(m.&lt;span style="color:#fabd2f"&gt;row&lt;/span&gt;(&lt;span style="color:#d3869b"&gt;0&lt;/span&gt;), m.&lt;span style="color:#fabd2f"&gt;row&lt;/span&gt;(&lt;span style="color:#d3869b"&gt;1&lt;/span&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Vec3 c2 &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fabd2f"&gt;cross&lt;/span&gt;(m.&lt;span style="color:#fabd2f"&gt;row&lt;/span&gt;(&lt;span style="color:#d3869b"&gt;1&lt;/span&gt;), m.&lt;span style="color:#fabd2f"&gt;row&lt;/span&gt;(&lt;span style="color:#d3869b"&gt;2&lt;/span&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Vec3 c3 &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fabd2f"&gt;cross&lt;/span&gt;(m.&lt;span style="color:#fabd2f"&gt;row&lt;/span&gt;(&lt;span style="color:#d3869b"&gt;2&lt;/span&gt;), m.&lt;span style="color:#fabd2f"&gt;row&lt;/span&gt;(&lt;span style="color:#d3869b"&gt;0&lt;/span&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f32 lc1 &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; c1.&lt;span style="color:#fabd2f"&gt;lengthSquared&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f32 lc2 &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; c2.&lt;span style="color:#fabd2f"&gt;lengthSquared&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f32 lc3 &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; c3.&lt;span style="color:#fabd2f"&gt;lengthSquared&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#928374;font-style:italic"&gt;// Normalize the vector because it&amp;#39;s a normal
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fe8019"&gt;if&lt;/span&gt; (lc1 &lt;span style="color:#fe8019"&gt;&amp;gt;&lt;/span&gt; lc2 &lt;span style="color:#fe8019"&gt;&amp;amp;&amp;amp;&lt;/span&gt; lc1 &lt;span style="color:#fe8019"&gt;&amp;gt;&lt;/span&gt; lc3) &lt;span style="color:#fe8019"&gt;return&lt;/span&gt; lc1.&lt;span style="color:#fabd2f"&gt;normalized&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fe8019"&gt;if&lt;/span&gt; (lc2 &lt;span style="color:#fe8019"&gt;&amp;gt;&lt;/span&gt; lc1 &lt;span style="color:#fe8019"&gt;&amp;amp;&amp;amp;&lt;/span&gt; lc2 &lt;span style="color:#fe8019"&gt;&amp;gt;&lt;/span&gt; lc3) &lt;span style="color:#fe8019"&gt;return&lt;/span&gt; lc2.&lt;span style="color:#fabd2f"&gt;normalized&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fe8019"&gt;else&lt;/span&gt; &lt;span style="color:#fe8019"&gt;return&lt;/span&gt; lc3.&lt;span style="color:#fabd2f"&gt;normalized&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="conclusion" &gt;
	
		&lt;a class="anchor" href="#conclusion"&gt;&lt;small&gt;#&lt;/small&gt; Conclusion&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;In summary, all we're doing is getting the normalized minimum eigenvalue of the covariance matrix of the point cloud. There are useful NumPy functions for this, which most people use in their posts on this topic, but it took me ages to find the approriate algorithms to implement it myself. The Python code would look like this, where &lt;code&gt;A&lt;/code&gt; is the list of points:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#ebdbb2;background-color:#282828;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-py" data-lang="py"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;V &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; np&lt;span style="color:#fe8019"&gt;.&lt;/span&gt;cov(A)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;eigvals, eigvecs &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; np&lt;span style="color:#fe8019"&gt;.&lt;/span&gt;linalg&lt;span style="color:#fe8019"&gt;.&lt;/span&gt;eigh(V)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;normal &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; eigvals[:, np&lt;span style="color:#fe8019"&gt;.&lt;/span&gt;argmin(eigvecs)]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;normal &lt;span style="color:#fe8019"&gt;/=&lt;/span&gt; np&lt;span style="color:#fe8019"&gt;.&lt;/span&gt;norm(normal)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>KPop Demon Hunters</title><link>https://zacoons.com/blog/2025-11-08-kpop-demon-hunters/</link><pubDate>Sat, 08 Nov 2025 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2025-11-08-kpop-demon-hunters/</guid><description>&lt;p&gt;Whether it's deliberate or not, many of the most popular movies mirror the story of history, which is the history of God and the Church.&lt;/p&gt;
&lt;p&gt;The premise of KPop Demon Hunters is that each generation has three demon hunters who use their songs to shield the world from demons. This shield is called the Honmoon, and the three demon hunters in the movie are close to sealing the shield forever. This is a wonderful premise, because the songs and stories people listen to have a deep impact on their souls. Whether you know it or not, the subtleties in stories and the lyrics of music sink into you. If you eat poorly, you become unhealthy. If you are told evil stories, your soul becomes unhealthy. Stories and music are the fabric of culture. They are the rise and fall of civilizations.&lt;/p&gt;
&lt;h2 id="the-fall" &gt;
	
		&lt;a class="anchor" href="#the-fall"&gt;&lt;small&gt;#&lt;/small&gt; The Fall&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Because of her parents, Rumi is part-demon. This is represented by dark patterns on parts of her skin, and she's told to hide these patterns. Likewise, because of our parents, Adam and Eve, we are all part-demon, which is to say that the patterns of sin mark all of our lives.&lt;/p&gt;
&lt;h2 id="the-struggle" &gt;
	
		&lt;a class="anchor" href="#the-struggle"&gt;&lt;small&gt;#&lt;/small&gt; The Struggle&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Because she is part-demon, because of her sin, Rumi is slandered by Gwi-Ma, who is like Satan in the story. However, it's also because of her sin that she could &lt;em&gt;defeat&lt;/em&gt; Gwi-Ma. Our lives are a struggle, but through this struggle we can be purified. The war we wage is not against men, but against the serpent of old who is called the Devil and Satan, who deceives the whole world.&lt;/p&gt;
&lt;p&gt;The demon hunters start working on the song that will seal the shield forever. The song is full of hatred and violence against the demons, but Rumi is part-demon herself, and she just can't sing it. You can't fight the demons of this world with hate. You can't fight sin with sin. If we hate people because of their sin, then we are hating part of ourselves.&lt;/p&gt;
&lt;p&gt;The word &amp;quot;devil&amp;quot; is derived from a Greek word meaning &amp;quot;slanderer&amp;quot;. Just like Gwi-Ma, Satan attacks you with slander and evil thoughts. The thoughts themselves are not sinful, because they are put there by Satan. The sin happens when you act upon those thoughts. If Satan whispers that you're not good enough, do not commit the sin of despair. If he whispers that you've been wronged by someone, do not commit the sin of hate. If he whispers that you should watch a dirty video on your phone tonight, do not commit the sin of adultery. And so on.&lt;/p&gt;
&lt;p&gt;In the movie, Gwi-Ma feasts on the souls of his victims. In &lt;em&gt;The Screwtape Letters&lt;/em&gt;, C.S. Lewis has this idea that Satan wants to drain you, to consume you like cattle, to make you a part of him, and he contrasts this with God, who wants you to be unified, yet distinct, like a great harmony.&lt;/p&gt;
&lt;h2 id="the-redemption" &gt;
	
		&lt;a class="anchor" href="#the-redemption"&gt;&lt;small&gt;#&lt;/small&gt; The Redemption&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Jinu could only defeat Gwi-Ma after admitting that she was sinful:
&amp;quot;You came here like this? You think you can fix the world? You can't even fix yourself.&amp;quot; accuses Gwi-Ma.
&amp;quot;I can't.&amp;quot; admits Rumi.
&amp;quot;And now everyone finally sees you for what you really are.&amp;quot;
&amp;quot;They do.&amp;quot; admits Rumi.&lt;/p&gt;
&lt;p&gt;In the same way, we can only achieve salvation by humbling ourselves and showing our true patterns. You can't heal your sin unless you reveal it. No man is righteous, some are just better at hiding their sin than others.&lt;/p&gt;
&lt;p&gt;I think Gwi-Ma's first accusation is really really powerful. &amp;quot;You think you can fix the world? You can't event fix yourself.&amp;quot; He's partly right, as Satan often is. The best lies are mostly truth. You can't &lt;em&gt;completely&lt;/em&gt; fix yourself. But through humility and repentance you can begin to fix the world and to fix yourself, and it is this motive that makes you pure.&lt;/p&gt;
&lt;h2 id="miscellaneous" &gt;
	
		&lt;a class="anchor" href="#miscellaneous"&gt;&lt;small&gt;#&lt;/small&gt; Miscellaneous&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;At the end of the movie, the leader of the boy band, Jinu, sacrificed himself for Rumi, who he loved, to protect her from the burning flames of Gwi-Ma. This is the sort of sacrificial love which a husband should have for his wife. In this scene Jinu is coincidentally wearing crucifix earrings. I'm not equating Jinu to God, because Jinu was just a fallen human, but God also sacrificed Himself to protect His bride, the Church, from the burning flames of Hell.&lt;/p&gt;
&lt;h2 id="conclusion" &gt;
	
		&lt;a class="anchor" href="#conclusion"&gt;&lt;small&gt;#&lt;/small&gt; Conclusion&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;The songs and stories we adorn ourselves with have a major impact on our lives, and they are the battleground of angels and demons. We are all part-demon, and we all mustn't hide our sin, because otherwise we can't heal it. Do not listen to the Slanderer. Repentance is always possible. God bless you.&lt;/p&gt;</description></item><item><title>Why You Should Have a Website</title><link>https://zacoons.com/blog/2025-12-09-why-you-should-have-a-website/</link><pubDate>Fri, 12 Sep 2025 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2025-12-09-why-you-should-have-a-website/</guid><description>&lt;h2 id="a-way-to-share-cool-stuff" &gt;
	
		&lt;a class="anchor" href="#a-way-to-share-cool-stuff"&gt;&lt;small&gt;#&lt;/small&gt; A way to share cool stuff&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Most of the cool internet people I know about were discovered via youtube. And you, dear reader, probably found me by the same medium. Youtube is just really good at suggesting content.&lt;/p&gt;
&lt;p&gt;I don't like youtube. It's addictive, and causes many people to waste a frightful amount of time (even me (that's why I made &lt;a href="https://codeberg.org/zacoons/pystol"&gt;PYSToL&lt;/a&gt;)).&lt;/p&gt;
&lt;p&gt;But how can we find like-minded people without youtube, or social media in general?&lt;/p&gt;
&lt;p&gt;The best way I can think of is to put lots of links on your own personal website. Hopefully many of the people I link to will adopt a similar principle, and link to even more people who they think are cool. This is how the internet was made to be. That's why it's called the inter-net; it's a net of sites all tied together.&lt;/p&gt;
&lt;p&gt;If you don't have a personal website, GET ONE! There are plenty of guides, how-tos, and whatnot which describe how you can do this.&lt;/p&gt;
&lt;h2 id="blog" &gt;
	
		&lt;a class="anchor" href="#blog"&gt;&lt;small&gt;#&lt;/small&gt; Blog&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Writing is a good thing to practice. It helps you clear your head by getting your ideas out into a solid state of sorts.&lt;/p&gt;
&lt;h3 id="the-spread-of-ideas" &gt;
	
		&lt;a class="anchor" href="#the-spread-of-ideas"&gt;&lt;small&gt;##&lt;/small&gt; The spread of ideas&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;By publishing your writing, whether it's tutorials, reviews, or philosophy, it spreads your ideas!&lt;/p&gt;
&lt;p&gt;Tutorials are a great thing to share. They've taught me everything I know about computers and stuff. If nobody shared their knowledge on the internet then I wouldn't know anything about technology. I generally find written guides better than videos, because it's much easier to navigate around text and find certain parts than it is to scrub through a video.&lt;/p&gt;
&lt;p&gt;Reviews are handy for deciding between one thing and another. Writing a blog post about something you've already tried allows others to benefit from your experience.&lt;/p&gt;
&lt;p&gt;Writing philosophy is a great way of communicating your worldview. It can help you gather a community of like-minded people. It can start debate and spark conversation, which has the potential to lead you closer to the truth. It can make others aware of things they might have never thought about before.&lt;/p&gt;
&lt;h3 id="community" &gt;
	
		&lt;a class="anchor" href="#community"&gt;&lt;small&gt;##&lt;/small&gt; Community&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;God made us to be social creatures. It's fun being able to host events, it's nice to have people you can ask for help and learn from, and it's good to have friends to keep you on the right track.&lt;/p&gt;
&lt;p&gt;As mentioned above, a blog can be a great helper for gathering a community with shared interests.&lt;/p&gt;
&lt;h3 id="dont-use-ai" &gt;
	
		&lt;a class="anchor" href="#dont-use-ai"&gt;&lt;small&gt;##&lt;/small&gt; Don't use &amp;quot;AI&amp;quot;&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;Please write the articles yourself in your own words. I like to know that what I'm reading &lt;em&gt;belongs&lt;/em&gt; to someone. I like to know that it's something they cared about enough to put time and thought into it, not just some filler slop they prompted an AI to spew out. If you're going to start a blog, do it because you want to provide value, not because you want to make your website look full.&lt;/p&gt;
&lt;h2 id="conclusion" &gt;
	
		&lt;a class="anchor" href="#conclusion"&gt;&lt;small&gt;#&lt;/small&gt; Conclusion&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;By having a website you can help other people find cool stuff! By starting a blog (and writing well) you can help others learn while also forming a community of shared interests.&lt;/p&gt;
&lt;p&gt;You could just use Wordpress or something, but if you're technically minded it's much cooler to write your own website from scratch. Anyway, that's a topic for another post.&lt;/p&gt;</description></item><item><title>Planes Are Cool</title><link>https://zacoons.com/blog/2025-08-02-planes-are-cool/</link><pubDate>Sat, 02 Aug 2025 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2025-08-02-planes-are-cool/</guid><description>&lt;p&gt;Planes are very cool. You may not have been on a plane, but in doing so you will see the glory of God. You step onto a device which hundreds of incredibly smart men have worked to design, and hundreds more men have laboured to manufacture. Then after that, each aircraft must be diligently maintained by scores of engineers until it becomes unservicable and a new one must be forged. You think truth is relative? Try designing a machine which conquers gravity, and then you will see just how relative truth is.&lt;/p&gt;
&lt;p&gt;Every take-off and landing is skillfully handled by a pilot (or two). Pilots study and practice for years, training to deal with whatever the chaos of nature might throw at them. They train so that they are able to fly you wherever you want to go. Every flight is a dangerous game played with forces that could snuff you out in an instant. Every flight is a defiance of nature, which seeks to destroy, while we seek to create. Every flight is a victory over sin and death. You think you can ignore reality? Try piloting a plane, and then you will see how well that serves you.&lt;/p&gt;
&lt;p&gt;A single mistake from any of these people could lead to hundreds of deaths. Yet every day, even every hour, hundreds of planes take off, and faithfully carry their passengers wherever they please. The course for each individual person is coordinated with the courses of many others.&lt;/p&gt;
&lt;p&gt;This complex machinery, skillful handling, and careful planning is made available to the service of anyone who has a few hundred dollars to spare. Even if all they seek to do is visit a foreign country for fun. Isn't that amazing?&lt;/p&gt;</description></item><item><title>How to Get Clang LSP Working With Zig</title><link>https://zacoons.com/blog/2025-02-16-how-to-get-clang-lsp-working-with-zig/</link><pubDate>Fri, 14 Mar 2025 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2025-02-16-how-to-get-clang-lsp-working-with-zig/</guid><description>&lt;p&gt;The script below allows you to build C/C++ with a &lt;code&gt;build.zig&lt;/code&gt; file and integrate it with a Clang LSP.&lt;/p&gt;
&lt;p&gt;It took me a little while to set this up so I figured I'd post it online to save whoever reads this a bit of effort (and possibly to remind myself in the future).&lt;/p&gt;
&lt;p&gt;Essentially it collects CDB (compilation database) fragments into a &lt;code&gt;compile_commands.json&lt;/code&gt; file, which is what the Clang LSP looks for. Any C/C++ files compiled with &lt;code&gt;-gen-cdb-fragments-path=cdb-frags&lt;/code&gt; will be included.&lt;/p&gt;
&lt;p&gt;The following example adds &lt;code&gt;zig build cdb&lt;/code&gt; which just creates &lt;code&gt;compile_commands.json&lt;/code&gt;. It also adds the &lt;code&gt;cdb&lt;/code&gt; build step as a dependency to the install step, so it will also create &lt;code&gt;compile_commands.json&lt;/code&gt; whenever you execute &lt;code&gt;zig build&lt;/code&gt; or &lt;code&gt;zig build run&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#ebdbb2;background-color:#282828;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-zig" data-lang="zig"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fe8019"&gt;const&lt;/span&gt; std &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fabd2f"&gt;@include&lt;/span&gt;(&lt;span style="color:#b8bb26"&gt;&amp;#34;std&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fe8019"&gt;pub&lt;/span&gt; &lt;span style="color:#fe8019"&gt;fn&lt;/span&gt; &lt;span style="color:#fabd2f"&gt;build&lt;/span&gt;(b: &lt;span style="color:#fe8019"&gt;*&lt;/span&gt;std.Build) &lt;span style="color:#fabd2f"&gt;void&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#928374;font-style:italic"&gt;// Build step&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;const&lt;/span&gt; exe &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; b.&lt;span style="color:#fabd2f"&gt;addExecutable&lt;/span&gt;(.{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; .name &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#b8bb26"&gt;&amp;#34;example_proj&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; .target &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; b.&lt;span style="color:#fabd2f"&gt;standardTargetOptions&lt;/span&gt;(.{}),
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; .optimize &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; b.&lt;span style="color:#fabd2f"&gt;standardOptimizeOption&lt;/span&gt;(.{}),
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		.link_libcpp &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fe8019"&gt;true&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; });
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; exe.&lt;span style="color:#fabd2f"&gt;addCSourceFiles&lt;/span&gt;(.{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; .flags &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fe8019"&gt;&amp;amp;&lt;/span&gt;.{ &lt;span style="color:#b8bb26"&gt;&amp;#34;-gen-cdb-fragment-path&amp;#34;&lt;/span&gt;, &lt;span style="color:#b8bb26"&gt;&amp;#34;cdb-frags&amp;#34;&lt;/span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; .files &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fe8019"&gt;&amp;amp;&lt;/span&gt;.{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#b8bb26"&gt;&amp;#34;src/main.cpp&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; });
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	b.&lt;span style="color:#fabd2f"&gt;installArtifact&lt;/span&gt;(exe);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#928374;font-style:italic"&gt;// Step to create compile_commands.json for the debugger&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;const&lt;/span&gt; cdb_step &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; b.&lt;span style="color:#fabd2f"&gt;step&lt;/span&gt;(&lt;span style="color:#b8bb26"&gt;&amp;#34;cdb&amp;#34;&lt;/span&gt;, &lt;span style="color:#b8bb26"&gt;&amp;#34;Compile CDB fragments into compile_commands.json&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cdb_step.makeFn &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; collect_cdb_fragments;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cdb_step.&lt;span style="color:#fabd2f"&gt;dependOn&lt;/span&gt;(&lt;span style="color:#fe8019"&gt;&amp;amp;&lt;/span&gt;exe.step);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; b.&lt;span style="color:#fabd2f"&gt;getInstallStep&lt;/span&gt;().&lt;span style="color:#fabd2f"&gt;dependOn&lt;/span&gt;(cdb_step);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fe8019"&gt;fn&lt;/span&gt; &lt;span style="color:#fabd2f"&gt;collect_cdb_fragments&lt;/span&gt;(_: &lt;span style="color:#fe8019"&gt;*&lt;/span&gt;std.Build.Step, _: std.Progress.Node) &lt;span style="color:#fe8019"&gt;!&lt;/span&gt;&lt;span style="color:#fabd2f"&gt;void&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#928374;font-style:italic"&gt;// Open the compile_command.json file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;const&lt;/span&gt; outf &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fe8019"&gt;try&lt;/span&gt; std.fs.&lt;span style="color:#fabd2f"&gt;cwd&lt;/span&gt;().&lt;span style="color:#fabd2f"&gt;createFile&lt;/span&gt;(&lt;span style="color:#b8bb26"&gt;&amp;#34;compile_commands.json&amp;#34;&lt;/span&gt;, .{});
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;defer&lt;/span&gt; outf.&lt;span style="color:#fabd2f"&gt;close&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#928374;font-style:italic"&gt;// Open the cdb-frags dir&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;var&lt;/span&gt; dir &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; std.fs.&lt;span style="color:#fabd2f"&gt;cwd&lt;/span&gt;().&lt;span style="color:#fabd2f"&gt;openDir&lt;/span&gt;(&lt;span style="color:#b8bb26"&gt;&amp;#34;cdb-frags&amp;#34;&lt;/span&gt;, .{ .iterate &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fe8019"&gt;true&lt;/span&gt; }) &lt;span style="color:#fe8019"&gt;catch&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; std.debug.&lt;span style="color:#fabd2f"&gt;print&lt;/span&gt;(&lt;span style="color:#b8bb26"&gt;&amp;#34;Failed to open ./cdb-frags/&amp;#34;&lt;/span&gt;, .{});
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;return&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; };
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;defer&lt;/span&gt; dir.&lt;span style="color:#fabd2f"&gt;close&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#928374;font-style:italic"&gt;// Iterate over the CDB fragments and add them to compile_commands.json&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;try&lt;/span&gt; outf.&lt;span style="color:#fabd2f"&gt;writeAll&lt;/span&gt;(&lt;span style="color:#b8bb26"&gt;&amp;#34;[&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;var&lt;/span&gt; iter &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; dir.&lt;span style="color:#fabd2f"&gt;iterate&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;while&lt;/span&gt; (&lt;span style="color:#fe8019"&gt;try&lt;/span&gt; iter.&lt;span style="color:#fabd2f"&gt;next&lt;/span&gt;()) &lt;span style="color:#fe8019"&gt;|&lt;/span&gt;entry&lt;span style="color:#fe8019"&gt;|&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;const&lt;/span&gt; fpath &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fe8019"&gt;try&lt;/span&gt; std.fmt.&lt;span style="color:#fabd2f"&gt;allocPrint&lt;/span&gt;(std.heap.page_allocator, &lt;span style="color:#b8bb26"&gt;&amp;#34;cdb-frags/{s}&amp;#34;&lt;/span&gt;, .{entry.name});
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;const&lt;/span&gt; f &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fe8019"&gt;try&lt;/span&gt; std.fs.&lt;span style="color:#fabd2f"&gt;cwd&lt;/span&gt;().&lt;span style="color:#fabd2f"&gt;openFile&lt;/span&gt;(fpath, .{});
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;const&lt;/span&gt; contents &lt;span style="color:#fe8019"&gt;=&lt;/span&gt; &lt;span style="color:#fe8019"&gt;try&lt;/span&gt; f.&lt;span style="color:#fabd2f"&gt;reader&lt;/span&gt;().&lt;span style="color:#fabd2f"&gt;readAllAlloc&lt;/span&gt;(std.heap.page_allocator, &lt;span style="color:#d3869b"&gt;1024&lt;/span&gt; &lt;span style="color:#fe8019"&gt;*&lt;/span&gt; &lt;span style="color:#d3869b"&gt;1024&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;try&lt;/span&gt; outf.&lt;span style="color:#fabd2f"&gt;seekFromEnd&lt;/span&gt;(&lt;span style="color:#d3869b"&gt;0&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;try&lt;/span&gt; outf.&lt;span style="color:#fabd2f"&gt;writeAll&lt;/span&gt;(contents);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#fe8019"&gt;try&lt;/span&gt; outf.&lt;span style="color:#fabd2f"&gt;writeAll&lt;/span&gt;(&lt;span style="color:#b8bb26"&gt;&amp;#34;]&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Say No to Self-Deprecating Humor</title><link>https://zacoons.com/blog/2024-09-21-say-no-to-self-deprecating-humor/</link><pubDate>Sat, 21 Sep 2024 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2024-09-21-say-no-to-self-deprecating-humor/</guid><description>&lt;p&gt;&lt;em&gt;Copied from &lt;a href="https://denshi.org/blog/say-no-to-self-deprecating-humor/"&gt;Denshi&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The second most recent generation, nicknamed &lt;em&gt;the Millenials&lt;/em&gt;, is known for its distinct usage of self-deprecating humor. Whereas in previous generations it wasn't as socially acceptable to talk about the shortcomings of one's life (even rather serious and tragic ones) in such a humorous tone, this generation has been the first to openly practice this and even encourage it. You can see it all over media, the internet and even in your own friend group. Mine certainly does this a lot, and I too definitely used to engage in those conversations. In fact, you may have noticed me making self-deprecating jokes in some of my older videos as well.&lt;/p&gt;
&lt;p&gt;Now, being more open about one's own flaws is not necessarily wrong; It can be a powerful way of expressing humility, and it can be amusing if it's relatable. After all, we aren't always at our 100%, and nobody likes a boaster! &lt;em&gt;&lt;strong&gt;However&lt;/strong&gt;&lt;/em&gt;, I write this article to warn people against using self-deprecating humor not because it's wrong to be funny or realistic, but because &lt;strong&gt;it's not just self-deprecating, it can be self-ruining&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="its-no-longer-about-humility" &gt;
	
		&lt;a class="anchor" href="#its-no-longer-about-humility"&gt;&lt;small&gt;#&lt;/small&gt; It's no longer about &amp;quot;humility&amp;quot;&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Getting straight to the point: Excessive exposure to this humor spreads a very specific type of &lt;em&gt;pessimism&lt;/em&gt; which may be used as a deterrent against productive thought. &lt;em&gt;In the way it's used now&lt;/em&gt;, self-deprecating jokes aren't a form of humility. Instead, it's a form of dismissal; We are dismissing the fact that there is more to aspire to in life.&lt;/p&gt;
&lt;p&gt;What's even more interesting is that often, the joke being made isn't true, and to a very high extent. Take someone who constantly &amp;quot;jokes&amp;quot; about how &amp;quot;bad at math&amp;quot; they are: It is telling that many people I've known personally who were perfectly reasonable at the subject still found the need to self-deprecate about their supposed lack of skills, &lt;em&gt;often a lot more than those who actually needed help&lt;/em&gt;. This humor is almost a psychological virus, which on the surface-level appears perfectly innocent, but which hides more dangerous undertones. At the end of the day, it's a cry for attention.&lt;/p&gt;
&lt;h2 id="it-drags-us-down" &gt;
	
		&lt;a class="anchor" href="#it-drags-us-down"&gt;&lt;small&gt;#&lt;/small&gt; It drags us down&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Some of the best advice I've ever been told (&lt;a href="https://www.youtube.com/@Lio_Convoy"&gt;told to me by a peculiar man&lt;/a&gt;) is to &lt;em&gt;&lt;strong&gt;surround yourself with people you wanna be like&lt;/strong&gt;&lt;/em&gt;. You are who you are, but who you are is a collection of experiences, opinions and habits observed around other people who are (hopefully) good influences. I found that, as my friends kept making such self-deprecating statements, I too started feeling genuinely less secure about my own abilities, even when nothing had happened to change them.&lt;/p&gt;
&lt;h2 id="conclusion" &gt;
	
		&lt;a class="anchor" href="#conclusion"&gt;&lt;small&gt;#&lt;/small&gt; Conclusion&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Many view self-deprecating humor as a symptom of a wider problem. As they say, &amp;quot;it's funny ‘cause it's true!&amp;quot;. To them, self-deprecating humor simply &amp;quot;represents&amp;quot; the contemporary attitude towards life and the human experience. &lt;em&gt;&lt;strong&gt;I really don't like this!&lt;/strong&gt;&lt;/em&gt; It's one thing to have everyday struggles, another to normalize a type of humor that acts as a way for people to adjust (or &amp;quot;cope&amp;quot;) to a worse reality.&lt;/p&gt;
&lt;p&gt;So, &lt;strong&gt;yes!&lt;/strong&gt; From now on, I will try my best to limit excessive self-deprecating humor from my videos and streams. Not because life is always great and positive, but exactly because I don't want to add to the negativity.&lt;/p&gt;</description></item><item><title>Queen of Beauty</title><link>https://zacoons.com/blog/2024-08-17-queen-of-beauty/</link><pubDate>Sat, 17 Aug 2024 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2024-08-17-queen-of-beauty/</guid><description>&lt;p&gt;&lt;em&gt;Copied from &lt;a href="https://denshi.org/blog/queen-of-beauty/"&gt;Denshi&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This is a text adaptation of a &lt;a href="https://www.youtube.com/watch?v=nfRk1YUeUaw"&gt;homily&lt;/a&gt; given in 2011 by Fr. John Hollowell about beauty&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://zacoons.com/blog/mary.avif" alt="Mother Mary, Queen of Beauty"&gt;&lt;/p&gt;
&lt;p&gt;School plays are for pansies; – Or so I used to think.&lt;br&gt;
Art is only for people who can paint; – Or so I used to think.&lt;br&gt;
I could care less about a well-cooked, home-made meal; – Or so I used to think.&lt;/p&gt;
&lt;p&gt;In high school, I loved to tell everyone that I had no artistic ability. It was like a badge of honor: I was proud to not be one of those &amp;quot;artsy&amp;quot; people. I was a math major, an athlete and a realist. I &lt;em&gt;did&lt;/em&gt; join the show choir one year when I was a Sophomore, but that was only because &lt;em&gt;Jamie Schroeder&lt;/em&gt;, the best looking girl in school, a senior cheerleader, decided to join the show choir too, so I thought that was my chance. When she graduated, I quit show choir. &lt;em&gt;And I don't think the choir director minded seeing me go...&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="beauty-will-save-the-world" &gt;
	
		&lt;a class="anchor" href="#beauty-will-save-the-world"&gt;&lt;small&gt;#&lt;/small&gt; Beauty Will Save the World&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;I say all this because one of the most important revelations that I've had in my life happened about 10 years ago. And it was the realization that all people are called to be &lt;strong&gt;artists&lt;/strong&gt;. And that yes, even I, am called to be one too. Pope Benedict XVI said several years ago, &amp;quot;Beauty will save the world.&amp;quot; Now if that's true, if beauty will save the world, then we should be people that are in the beauty business. We should bring beauty to the words we write, to the food we cook, to the photographs we take, to the dances we dance, to the roles we act, to the songs we sing, to the music we play, to the videos we make, to the programs we use at Mass, to the little things. Even those things that maybe no one else will ever see.&lt;/p&gt;
&lt;p&gt;I know many people now would scoff at this. &lt;em&gt;&amp;quot;How could beauty possibly save the world?&amp;quot;&lt;/em&gt; Mr. O'Malley or Mrs. Jackson must've paid me off to say that. But I want us to think for a minute about what Pope Benedict might've been saying: How could beauty possibly save the world? I think one of the ways is that beautiful things remind us that &lt;em&gt;we are human&lt;/em&gt;, and that it is a special thing to be human. We live in an era that tells us it's not a big of a deal to be a human person, &lt;em&gt;but beautiful things remind us that it is&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;People often say, &amp;quot;what's the difference between animals and people?&amp;quot; and that's really a pretty silly question: No cheetah ever sculpted an image of someone that they loved. No aardvark ever painted a picture of the queen of all aardvarks. And no non-human member of the animal kingdom has ever stopped dead in its tracks observing a sunrise or a sunset.&lt;/p&gt;
&lt;h2 id="beauty-is-scorned-by-the-wicked" &gt;
	
		&lt;a class="anchor" href="#beauty-is-scorned-by-the-wicked"&gt;&lt;small&gt;#&lt;/small&gt; Beauty is Scorned by the Wicked&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://zacoons.com/blog/soviet.avif" alt="A Soviet living block"&gt;&lt;/p&gt;
&lt;p&gt;We know beauty will save the world, because it's what the devil attacks. &lt;em&gt;The devil will strike at the offspring and those things that the Blessed Mother will produce&lt;/em&gt;. One of the ways in which we see beauty attacked in our own world is if we look at the regimes dominated by Communism. The very first thing that Communist leaders attack when they take over a place is beauty. Maybe you've see pictures of Russia, or other places that are ruled by Communist leaders, the architecture is bland, there are no songs other than military songs for parades, buildings have no windows, and everything is bleak and gray and gross.&lt;/p&gt;
&lt;p&gt;Beauty reminds us that we are human, and that it means something to be human. Maybe you've seen the movie &lt;em&gt;The Shawshank Redemption&lt;/em&gt;, where a bunch of prisoners are milling around outside during their time off, ground-down by dirt and dust, and the wear and tear that comes after many years of not being treated as a human person. One day, one of the prisoners sneaks into the loudspeaker room and plays a piece by Mozart over them. The characters stop in their tracks. The prisoners stare at the speakers, and it's as if you can see in their eyes the slow realization that they are actually human.&lt;/p&gt;
&lt;p&gt;One of my recent addictions is &lt;em&gt;The Hunger Games&lt;/em&gt;. I couldn't put them down, and I stayed up all night and finished them. It's a fictional story about a futuristic society that is Communist in nature, and they actually pit people against each other to fight to the death, and it's televised all over the country. And one of the things that ends up becoming a very important scene is that when one of the characters is killed, another person in the arena decorates her death with flowers and beauty. That become a pivotal moment in the entire trilogy. Why? Because it reminds people that they are human, and that they don't have to fight each other to the death.&lt;/p&gt;
&lt;h2 id="beauty-is-not-subjective" &gt;
	
		&lt;a class="anchor" href="#beauty-is-not-subjective"&gt;&lt;small&gt;#&lt;/small&gt; Beauty is not Subjective&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://zacoons.com/blog/fountain.avif" alt="A urinal with the signature of Marcel Duchamp"&gt;&lt;/p&gt;
&lt;p&gt;The &amp;quot;Gospel&amp;quot; of today's society, if you will, is always telling us that beauty is in the eye of the beholder, and we're not supposed to question that, it's just how it is. But surely a kid scratching out a Metallica song on his electric guitar in his mom's basement is not of the same quality of the &lt;em&gt;Ave Maria&lt;/em&gt; by Schubert, or Mozart, or Bach.&lt;/p&gt;
&lt;p&gt;A few years ago downtown we had to fund an art project that was a couple of a million dollars featuring black and gnarled leather that had been cut up and was sitting on a post. And you may remember a few years earlier when our downtown art project was women on an electronic screen walking in place. A recent art show in New York featured a bed with ruffled sheets stained with blood, empty bottles of Vodka, and so on and so forth, showing debauchery. A group of artists recently got together and voted on the most influential piece of art in the last century, and what won was a piece called &amp;quot;The Fountain&amp;quot;, a urinal that had been signed by the artist.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Beauty is not in the eye of the beholder. Some things are more beautiful than others.&lt;/strong&gt; And it is the &lt;strong&gt;stupidity&lt;/strong&gt; that some would call a bloody bed or a urinal &amp;quot;art&amp;quot; that kept people like me away from art for so many years and away from beauty.&lt;/p&gt;
&lt;h2 id="beautiful-people" &gt;
	
		&lt;a class="anchor" href="#beautiful-people"&gt;&lt;small&gt;#&lt;/small&gt; Beautiful People&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://zacoons.com/blog/basilica.avif" alt="Saint Peter's Basilica"&gt;&lt;/p&gt;
&lt;p&gt;Now what in the world does any of this have to do with today? There are two levels: Firstly, We are called to produce and make things beautiful in our environment. Maybe that's a lesson plan that we're doing, or maybe it's an art project, or any number of other things: We're called to bring beauty into the world.&lt;/p&gt;
&lt;p&gt;Secondly, we ourselves are to become beautiful. How do we do that? We do that by living a beautiful life. By living a life that is not tarnished by sin. The less sin that is in our life, the more beautiful we become. And we ought to realize that if we don't stand in God's path and throw sin and obstacles in his way, then he will continue to chisel, mold and sculpt us as we grow older slowly working out our imperfections and continuing to make us more beautiful.&lt;/p&gt;
&lt;p&gt;We have a part to play in that: Are we going to confession? Are we receiving the Eucharist?&lt;/p&gt;
&lt;p&gt;Are we reading? Are we writing? Are we immersing ourselves in scripture? Are we engaging in real, authentic relationships, not based on using the other person, but based on letting the other person help us become more beautiful?&lt;/p&gt;
&lt;p&gt;Many people talk about how merely standing in the doorway at Saint Peter's Basilica in Rome or simply hearing a beautiful piece of music, or staring at a beautiful statue like Michelangelo's &lt;em&gt;Pieta&lt;/em&gt; has caused thousands and thousands of people to return to God. If that's the case, if pieces of rock and architecture can do that, how much more can beautiful people call people back to Christ?&lt;/p&gt;
&lt;p&gt;That's why we give thanks today for Mary and her sinless beauty. Her beauty, if we look for it, continues to inspire and lead people to her son, who is beauty in its truest sense. So I challenge you to make beautiful videos, beautiful pottery, cook beautiful food, sing beautiful songs, write beautiful poems and stories, draw and paint things that are beautiful, make all around you more beautiful. But most importantly, I challenge you to be beauty; through a life of virtue, that is free from the stain of sin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mary, Queen of Beauty. Pray that we may share in you and your son's beauty this day.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Nuclear Bananas</title><link>https://zacoons.com/blog/2024-06-01-nuclear-bananas/</link><pubDate>Sat, 01 Jun 2024 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2024-06-01-nuclear-bananas/</guid><description>&lt;p&gt;&lt;em&gt;Inspired by XKCD's &lt;a href="https://what-if.xkcd.com/158/"&gt;Hot Bananas&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In theory, you can make a nuclear reactor with anything that is radioactive, right? Bananas are radioactive...&lt;/p&gt;
&lt;p&gt;Bananas are radioactive because: pretty much everything is a bit radioactive, even a brick, and; bananas contain potassium, some of which is the radioactive isotope potassium-40. But don't worry, a bit of radiation won't hurt you. In fact, bananas aren't even very radioactive in the broad scope of things. About 15 atoms decay every second in a banana,&lt;sup&gt;&lt;a href="https://wikipedia.org/wiki/Banana_equivalent_dose"&gt;1&lt;/a&gt;&lt;/sup&gt; whereas your body is producing about 4,000 decays per second.&lt;sup&gt;&lt;a href="http://hps.org/publicinformation/ate/faqs/faqradbods.html"&gt;2&lt;/a&gt;&lt;/sup&gt; And if you ever want to know how much radiation comes from your pizza, you can look it up on Google &lt;a href="https://www.google.com/search?q=pizza+potassium"&gt;[?]&lt;/a&gt; (1 g of potassium has ~31 decays/s).&lt;/p&gt;
&lt;p&gt;Radioactive decay happens when an atom is too big for itself, and as a result of being so fat it can't hold all of itself together. So it sometimes shoots part of itself out, and turns into a different element. This is called a decay.&lt;/p&gt;
&lt;p&gt;Atom -&amp;gt; fatom -&amp;gt; badoom&lt;/p&gt;
&lt;p&gt;Each atom has a small chance of decaying at any given time. When one decays, the speedy projectile that was expelled barges into the atoms around it, jiggling them around, and creating heat energy. Nuclear reactors use this decay energy to heat up water very hot, which creates steam, which spins a turbine, which generates electricity&lt;sup&gt;&lt;a href="https://www.youtube.com/watch?v=IbK2FennCgY"&gt;3&lt;/a&gt;&lt;/sup&gt;. But for fuel they use uranium. Not bananas. How boring.&lt;/p&gt;
&lt;p&gt;1 g of uranium-235 = 570 decays/s &lt;sup&gt;&lt;a href="https://ataridogdaze.com/science/uranium-decay-rate.html"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;
1 g of banana = 0.125 decays/s&lt;/p&gt;
&lt;p&gt;It turns out that the main source of energy in a nuclear reactor is atomic fission rather than radioactive decay. Decay yields a little heat, but not enough to be useful. It is the fission, caused by decay, which yields enough heat to be useful. Unfortunately potassium-40 is not fissile, so the only heat it releases is from radioactive decay. So we're going to need an outrageous quantity of bananas.&lt;/p&gt;
&lt;p&gt;It takes 33,472 joules to boil a gram of water. Taking the decay energy of a potassium-40 atom to be 1.31 MeV (mega electronvolts),&lt;sup&gt;&lt;a href="https://wikipedia.org/wiki/Potassium-40"&gt;5&lt;/a&gt;&lt;/sup&gt; we would need over 100 trillion bananas in order to boil one single gram of water (in 1 second). Taking a banana to be 12 cm long and 5 cm wide, that's more than enough bananas to cover Madagascar &lt;a href="https://www.google.com/maps/place/Madagascar"&gt;[?]&lt;/a&gt;.&lt;sup&gt;&lt;a href="https://www.worldometers.info/geography/largest-countries-in-the-world/"&gt;6&lt;/a&gt;&lt;/sup&gt; Alas, the worldwide production of bananas every year is only around 1.125 trillion bananas. Not only would it take 90 years to stockpile enough bananas, but we would also need an impressive feat of engineering to condense them all into a practical volume. And all of that just to boil one single tiny gram of water.&lt;/p&gt;
&lt;p&gt;So with my extensive research I have concluded it is not possible to make a banana nuclear reactor :(&lt;/p&gt;</description></item><item><title>Get Gold and Silver</title><link>https://zacoons.com/blog/2024-04-27-get-gold-and-silver/</link><pubDate>Sat, 27 Apr 2024 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2024-04-27-get-gold-and-silver/</guid><description>&lt;p&gt;First I will list some reasons who you shouldn't get precious metals.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;It might be banned&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="its-not-archaic" &gt;
	
		&lt;a class="anchor" href="#its-not-archaic"&gt;&lt;small&gt;#&lt;/small&gt; It's Not Archaic&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;I used to think gold and silver were archaic, but in fact we only abandoned the gold standard in 1944. When I say &amp;quot;we&amp;quot; I mean the major western nations. The US first abandoned the gold standard in 1944 with the Bretton Woods agreement, which prevented domestic convertibility of gold. This meant that people could no longer go to the bank end exchange their $20.67 for an ounce of gold. It meant that $20.67 was worth what the government said it was worth. Hence the name fiat money, because the word &amp;quot;fiat&amp;quot; is Latin for &lt;em&gt;an arbitrary order issued by a government or other authoritative figure&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Anyway, what's this idea that archaic things are bad anyway? If a currency has stood the test of time as well as gold and silver, is that not a perfect demonstration of its great worth as a currency? Inversely, if we look at the history of fiat money, it has demonstrated complete incompetence at maintaining value.&lt;/p&gt;
&lt;h2 id="why-we-went-off-the-gold-standard" &gt;
	
		&lt;a class="anchor" href="#why-we-went-off-the-gold-standard"&gt;&lt;small&gt;#&lt;/small&gt; Why We Went Off the Gold Standard&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;From my brief search online it seems that people believe the gold standard is unstable, which I find very amusing.&lt;/p&gt;
&lt;p&gt;According to &lt;a href="https://www.stlouisfed.org/open-vault/2017/november/why-us-no-longer-follows-gold-standard/"&gt;this article&lt;/a&gt; we shouldn't go back on the gold standard because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It doesn't guarantee financial or economic stability.&lt;/li&gt;
&lt;li&gt;It's costly and environmentally damaging to mine.&lt;/li&gt;
&lt;li&gt;The supply of gold is not fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let me explain why this makes me laugh. The supply of gold is far more fixed than the supply of fiat money. Gold is in fact very costly and difficult to mine, and it will only get more costly and difficult as we mine more of it, thus diminishing the supply. In contrast, the effort to print a $100 note is miniscule. Just flick a switch on the printing machine and you'll have thousands of them flying out at you in seconds. Now let me ask you, which one do you think is more economically stable?&lt;/p&gt;
&lt;p&gt;The real reason we went off the gold standard is to give the government more control over our money. But they don't seem to be doing a very good job, so let's take back some of our control. Of course, some people aren't going to like that we are safe in our metal money armour, so they may try to strip it from us by having precious metals banned.&lt;/p&gt;
&lt;h2 id="why-you-should-get-gold-and-silver" &gt;
	
		&lt;a class="anchor" href="#why-you-should-get-gold-and-silver"&gt;&lt;small&gt;#&lt;/small&gt; Why You Should Get Gold and Silver&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;The rate of inflation is going bonkers. We've seen housing prices shoot through the roof, and now it's starting to have more of an effect on food. This is not because greedy big business is trying to steal your money, it's because your money is becoming less valuable. If you want to keep the money you earn, put it into gold or silver.&lt;/p&gt;</description></item><item><title>The Temptationbox</title><link>https://zacoons.com/blog/2024-02-12-the-temptationbox/</link><pubDate>Mon, 12 Feb 2024 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2024-02-12-the-temptationbox/</guid><description>&lt;p&gt;I recently attended a youth group at one of those big modern churches with blaring music and youthful crowds. I don't endorse these churches but I went along to the youth group because there aren't any other youth groups around. I rarely meet kids my age, so it surprised me to see how often they checked their phones. Even someone who seemed more resistant than others couldn't help but turn it on and quickly flick through the notifications as the &amp;quot;sermon&amp;quot; was starting. She put it away for the rest of the sermon, for which I commend her, but there was still that fleeting submission to the temptation. In fact it was so fleeting that I doubt she could actually read any of the notifications. So then why did she do it? I suspect it was a reflex rather than genuine desire or need.&lt;/p&gt;
&lt;p&gt;This led me to assess my own computer habits, which can definitely use some improvement. My job as a developer requires me to be on the computer, so that only leaves weekends for me to be offline. But I also like to make time for my personal projects, so from thenceforth I will try to spend at least one whole day a week not touching the computer.&lt;/p&gt;
&lt;p&gt;Nothing is inherently evil, but devices easily become little boxes of temptation. Anyone can jump online and search for porn, or waste hours on social media, or on building their perfect website (guilty as charged), or on something else entirely. On the other hand, devices offer great improvements to productivity and efficiency. They can give you access to vast stores of knowledge and predictive power if you use them wisely.&lt;/p&gt;
&lt;h3 id="conclusion" &gt;
	
		&lt;a class="anchor" href="#conclusion"&gt;&lt;small&gt;##&lt;/small&gt; Conclusion&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;Don't be someone who reflexively checks their phone. I encourage you to embark on regular computer fasts. I don't expect anyone to completely cut themselves off from devices. Just challenge yourself. Catch bad habits quickly and try to fight the call of the Temptationbox.&lt;/p&gt;
&lt;p&gt;Rule over technology, don't let it rule you.&lt;/p&gt;
&lt;p&gt;If you enjoyed this article, you may find this one interesting to think about:
&lt;a href="https://denshi.org/blog/18-rules-over-technology/"&gt;18 Rules Over Technology&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Server Rendered vs Static Websites</title><link>https://zacoons.com/blog/2024-01-23-server-rendered-vs-static-website/</link><pubDate>Tue, 23 Jan 2024 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2024-01-23-server-rendered-vs-static-website/</guid><description>&lt;p&gt;This website started out as an Apache + PHP combo, then I switched to serving pages using a Python server, but now I'm going pure static.&lt;/p&gt;
&lt;h2 id="why-server-rendered" &gt;
	
		&lt;a class="anchor" href="#why-server-rendered"&gt;&lt;small&gt;#&lt;/small&gt; Why Server Rendered&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;I started out making it server rendered because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I thought it was more efficient than a static site because I could just store the inner content for each page, then get the server to handle boilerplate (e.g. head tags, nav, footer...)&lt;/li&gt;
&lt;li&gt;The file structure was nicer.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="why-i-went-to-static" &gt;
	
		&lt;a class="anchor" href="#why-i-went-to-static"&gt;&lt;small&gt;#&lt;/small&gt; Why I Went to Static&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Turns out serving static files is way faster and space efficient.&lt;/p&gt;
&lt;p&gt;Page load speed (including response time)&lt;br&gt;
* Static: 0.04s&lt;br&gt;
* Server: 0.37s &lt;em&gt;~9x SLOWER&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Dir size (including deps)&lt;br&gt;
* Static: 512 KB&lt;br&gt;
* Server: 38.4 MB &lt;em&gt;~77x LARGER&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Big difference.&lt;/p&gt;
&lt;h2 id="the-best-of-both-worlds" &gt;
	
		&lt;a class="anchor" href="#the-best-of-both-worlds"&gt;&lt;small&gt;#&lt;/small&gt; The Best of Both Worlds&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Instead of having to deal with an icky file structure, I've kept what I had before, except I replaced the Python server with a Python compiler script.&lt;/p&gt;
&lt;p&gt;This script renders each page and places it in a bin/ directory. In a sense, it does what the server did, but instead of doing it for each request in realtime, it does it once, resulting in an entirely static website.&lt;/p&gt;
&lt;h2 id="downside" &gt;
	
		&lt;a class="anchor" href="#downside"&gt;&lt;small&gt;#&lt;/small&gt; Downside&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;The only downside is that this is a bit more manual work to update the site. For example, to add a blog post I would need to recompile and then upload the generated static content to the host machine. But hey, there are always tradeoffs.&lt;/p&gt;</description></item><item><title>Why You Should Start a Blog</title><link>https://zacoons.com/blog/2023-12-28-why-should-you-start-a-blog/</link><pubDate>Thu, 28 Dec 2023 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2023-12-28-why-should-you-start-a-blog/</guid><description>&lt;p&gt;There are two main reasons.&lt;/p&gt;
&lt;p&gt;Firstly, it helps you flesh out ideas. At least it does for me. Furthermore, if other people disagree with your post, you're forced to defend those ideas, which helps solidify them in your head. Well either that, or your ideas are wrong, and the other person convinces you to the right. Stay humble!&lt;/p&gt;
&lt;p&gt;Secondly, it spreads your ideas to other people. If you're going to the effort of writing a post about it, it's probably worth sharing. Go make disciples!&lt;/p&gt;
&lt;h3 id="hmmmmmmmmmmmmmm-thinking-noise" &gt;
	
		&lt;a class="anchor" href="#hmmmmmmmmmmmmmm-thinking-noise"&gt;&lt;small&gt;##&lt;/small&gt; HmMmMMMMmmMMmMm (thinking noise)&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;Sometimes I have an idea that makes perfect sense in my head. Then, when I go try to explain it to someone, it all falls apart. Writing does the same thing, except you don't need someone to listen to you blabbering about nonsense.&lt;/p&gt;
&lt;p&gt;I have found writing these little posts quite valuable. It helps me think through stuff and question things I've never questioned before. When I started this blog, I was so enthusiastic that I would think of ways to make a fascinating post about any small thing. That enthusiasm has worn off a little, but I aspire to regain it, because I think that's how people should be. Finding wonder in even the smallest thing. I want you to share that joy.&lt;/p&gt;
&lt;h3 id="not-an-essay" &gt;
	
		&lt;a class="anchor" href="#not-an-essay"&gt;&lt;small&gt;##&lt;/small&gt; Not an Essay&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;I had to write a lot of essays for school, and while they were valuable in teaching me the skill of writing, these posts are different. I don't have a deadline, I don't have a word limit, and I don't have an arbitrary topic. I can just write about what's on my mind, or about cool things that I want to share with other people.&lt;/p&gt;
&lt;h3 id="the-spread-of-ideas" &gt;
	
		&lt;a class="anchor" href="#the-spread-of-ideas"&gt;&lt;small&gt;##&lt;/small&gt; The Spread of Ideas&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;Humans were made to live in communion with one another. We can't thrive by going it alone. It's fun being able to host events, it's nice to have people you can ask for help, and it's good to have neighbours who keep you on the straight and narrow. When you start getting out of line, good neighbours will let you know, and maybe lend a hand.&lt;/p&gt;
&lt;p&gt;&amp;quot;Neighbours&amp;quot; means a lot more than just your next door neighbour. By &amp;quot;neighbour&amp;quot; I mean anyone in the same community as you. That might be an online forum community, a Matrix community, a Discord community, an Odysee community, a Youtube community, a boy scout community, a girls brigade community, a knitting community, a church community, a business community, or anything other kind of community.&lt;/p&gt;
&lt;h3 id="why-a-blog-and-not-a-youtube-channel" &gt;
	
		&lt;a class="anchor" href="#why-a-blog-and-not-a-youtube-channel"&gt;&lt;small&gt;##&lt;/small&gt; Why a Blog and Not a Youtube Channel?&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;Starting a blog is one step towards building your own community.&lt;/p&gt;
&lt;p&gt;&amp;quot;Sure,&amp;quot; you might say, &amp;quot;one tiny eensie weensie step... Because nobody reads blog anymore. lol XD&amp;quot;&lt;/p&gt;
&lt;p&gt;That isn't entirely true though, there are still some eccentrics, like me, who read blog posts now and again. And eccentric people are more likely to be good people. At least, more likely than your average midwit. True, you may attract more people on youtube, but are those the types of people you really want to build a community with? That's a genuine question, not a judgement. Be aware of the audience you're catering to, and make sure they're the sorts of people you want to hang out with.&lt;/p&gt;
&lt;h3 id="conclusion" &gt;
	
		&lt;a class="anchor" href="#conclusion"&gt;&lt;small&gt;##&lt;/small&gt; Conclusion&lt;/a&gt;
	
&lt;/h3&gt;
&lt;p&gt;Just because you have a blog doesn't mean you need to post on a schedule or stay within the domain of a certain topic. In fact, focusing too much on these things can be unhealthy.&lt;/p&gt;
&lt;p&gt;Anyway, start a blog. I made a tutorial on how to code your own which you can find &lt;a href="https://odysee.com/blog-tuts"&gt;here&lt;/a&gt;. But there are plenty of other tutorials out there. Or just use Wordpress or something like that. But with your own website, you can do much more than just blogging...&lt;/p&gt;</description></item><item><title>Anger</title><link>https://zacoons.com/blog/2023-12-11-anger/</link><pubDate>Mon, 11 Dec 2023 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2023-12-11-anger/</guid><description>&lt;p&gt;We often get angry over stupid little things.&lt;/p&gt;
&lt;p&gt;At least I know I do.&lt;/p&gt;
&lt;h2 id="anger-is-stupid" &gt;
	
		&lt;a class="anchor" href="#anger-is-stupid"&gt;&lt;small&gt;#&lt;/small&gt; Anger is Stupid&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;I got angry the other day because I had to stop what I was doing to go mow a paddock. It was getting late, and I knew I had to mow, but I was going to do it later. I just wanted to finish what I was doing first. Alas, time got away from me. What a stupid thing to get mad about!&lt;/p&gt;
&lt;p&gt;Squeezing in few extra minutes of work is hardly worth the relationships I have with the people around me. Anger can be very damaging to relationships.&lt;/p&gt;
&lt;p&gt;We are commanded to love our neighbours, yet we often go and get angry about tiny little things like missing out on a few extra minutes of coding. A few minutes is nothing, and the words I'm typing into the computer are nothing. Just bits in a little computer on a tiny planet in a miniscule galaxy. Yet I presume to imagine that my precious few minutes are worth getting angry about.&lt;/p&gt;
&lt;h2 id="the-other-hand" &gt;
	
		&lt;a class="anchor" href="#the-other-hand"&gt;&lt;small&gt;#&lt;/small&gt; The Other Hand&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Anger is not inherently evil. In fact, it's an important tool, just like all of your emotions. But it must be kept under control. You need to control your anger instead of letting it control you. Emotions (especially anger) are like warhorses. If you gain mastery over them, they can bullet you to your destination and crush your enemies underfoot. Or if you don't, they will sweep you away into barren lands and pummel you into the dirt.&lt;/p&gt;
&lt;p&gt;You have been given the emotion of anger to protect you, and your loved ones, against injustice. But it is easily misused by the Adversary. He tries to convince you that you have been wronged. Maybe you have, maybe you haven't. Even so, love your neighbour as you love yourself.&lt;/p&gt;
&lt;p&gt;When I speak of gaining mastery over your emotions, it's important to note that I'm not talking about controlling them. You can't control your emotions. You can only control your mindset and your responses to them. If your heart is in the right place, you won't feel anger over petty things. And if you have self control, you won't lash out at those around you when you do get angry. I can certainly be better at these things.&lt;/p&gt;
&lt;h2 id="conclusion" &gt;
	
		&lt;a class="anchor" href="#conclusion"&gt;&lt;small&gt;#&lt;/small&gt; Conclusion&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Beware of getting angry about stupid stuff because that's stupid. Furthermore, anger is easily misled, but it's not inherently evil. You must seek to have a pure heart so it can't be misled. This is impossible to acheive but you gotta try. That's why you also need good self control, so that when you get angry, you don't let it control you.&lt;/p&gt;</description></item><item><title>A Question That Irritates Me</title><link>https://zacoons.com/blog/2023-11-27-a-question-that-irritates-me/</link><pubDate>Mon, 27 Nov 2023 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2023-11-27-a-question-that-irritates-me/</guid><description>&lt;p&gt;I walk up to any old aquaintance and they often confront me with the same question:&lt;/p&gt;
&lt;p&gt;&amp;quot;How was your week?&amp;quot; Or &amp;quot;What did you get up to this week?&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;Good.&amp;quot; Comes my lame response. Because I generally don't remember. At least, not in the moment.&lt;/p&gt;
&lt;h2 id="possible-reason-1" &gt;
	
		&lt;a class="anchor" href="#possible-reason-1"&gt;&lt;small&gt;#&lt;/small&gt; Possible Reason #1&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;I'm not sure why this question frustrates me so much. Maybe it's because my life isn't very interesting and I don't have much to share.&lt;/p&gt;
&lt;p&gt;&lt;img src="data:image/;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAACACAYAAADktbcKAAAACXBIWXMAAC4jAAAuIwF4pT92AAAgAElEQVR4Xu3dCdh+21QA8CspQsYyZPhLEokMpaJcsyRkylT3b5ZUpkSmi54QGlEqXDKEisqs3H8aKIomKXFvZkoSShrX7/Zuz7bv3uec97zn/b73+769nmc93/uds88e1jl77bXXtE86qUOnQKdAp0CnQKdAp0CnQKdAp0CnQKdAp0CnwCwKfPmspw7mQ18c3T73HnX9y6KdcyzQ1sXLOpaodIF+9SoOAQW+KMbwb4EXCvzkwHiuH/duGvgFgR8L/Ejgnwe+rfLMdePaRQNfvoP0+dHo0zkDH78HfXt7tPGDgW/csC3v53Irmp9V1RduWGF/vFMgUeCz8eM/JjAAq9CxwG9clf/3+PsXgccrpLx0XPuKDUj8hHj2g4E/t0EdrUcvEjc+sIV6a1V+Ii5ihJvCf0UFFwjEdM+CzgA2JWl/PqcAKeAzIyR5UdyHLw08Efj0gfLK5XD++CdJF0Tw/wz8n1WB88Xf7wgklj838DwrPBZ/v3T13P822iIJmwvqmwom0l9PLbxmOczlVoH/FPhbgVPo2mrCs5hzAkwAXDjwbFuCNfvZix9RClwzxv0ngUR4q2wCk5F4/2eBfx/4LQP0eXXcu9sI/W4Y91+zKnO1VZ3pkRfGj1MCfeC/GEj6eG/gGYFXCjTZc7xt0ZYJ8AeBP7wax8fjLwaDcTw70OT7o8BLrJ77kviLsXwq8B8CTf5U57fF73cFmmieuWzRln/PFfjkwH8O/MfAB1fKXDCu/XqgSfq+wDesyqC1sb4+8P2BiW4Y1wMCSTn/GpgknafG7wcG2jKgwUNW9Xw6/pKqMMS3Bv50pQ/9UqfAIAVMBKLvEwNvFPjhwGuvnvCx+cDvG2hS/sJATSbfHUdo/Z1x/x2rMn6bCAlMhruu6jAhrx5o8prQwOr284HPC7xYoP16DvbC+muSfU2gMX114E8FviXw5EASSBqDyYIBXGZ1DyPAoDANzOI2gcR0DOBBRVv+NfkxRm3Yz7+uUubhqzKXj7/6fK9VGf2xf8dsMQ6TF9wjEEP4pkCMFwME+k2auUsgejxndZ109nWB+viKQMyzQ6fAWhQgmv5tYFIgmyBpNTOhHr2qzYr1awM1+wjvNNKyldUHDm4f+LtZec+bdDcJ9GG/MvB7AvNtLUXdLzXa+Kq4btWkYU/1W6UxsCS5mFh/ubr/ofibi8xviv/173aBqS9/E7//sCjncfVafb9+VdcPxN9fqfTr3nENY3lxIDonGpvwtgLgawPPXP2mPE1M9MbxG6MAvxr4uNVv46RvASQLjM7fS7pAE9uhU2AdCljliLtpP02J50NNH+szVpVZce2TW+BDt48fgn+Jm1ZYYJUlfSTQvi2HldT2wFbh1BWmMvo2ZKoj9hPHAZ2E+lgxbF+AVTfNEVsG5RMYr/6YSLZEDw0karNckIpyIHIrm3QGmMx/F2X8i1lhKiQFv+++KqOtGl21ndeZ9CEe846AsZCcrPbeyfMDMcufCTxHZwCVt9AvDVKASP4NgRiByUI0twKmlTdNko/GtZqSycdsUlPaXSHweoFnrUYVsEIr5xn12Vtrx8dsVfX9kgCSpv9J8ftbs3rsyW0LWlCawU3Kv1vV6d73BlrpwZ8G2m+7/pWBtgImtgl2ZuDNAk0sCjxbhVwSwcgoL21TgImojhLQ8q8CjeOXAzEToC76FoAOdAUYW9r6pDrRJ83pcmz6Ch4RaOuA0ZAyOnQKrEUBH5ZVxAoO0/7SCklMTkD0JPaWH+L3xzWrt8lmYliBH9noAQajrI/dhLfaWZUp/Ij9xF/bDCu9/S/Rlv4hwQ/Fj9KSkO7ZZ6ftRd78LVb1MZVRxFGaAVIGRuO6Ppj4tjkmnNXaBLcFMEHpR0qwHbHyvznQ6ox2JeOz8qtHv4yRVQNgSkmxiJ7oduXAOwRikhgwZqBtDNUWQN9y4KSVW2jQDlPr0CmwNgV8hKQAmE/wXKnk+rUqNZvMVs8hEzSlHPu/MhhAsoHbMhC3rWb26clDjmKLJKDeHDxH2VcDq/A3N+5dKq4nBV9eRN/t47Xrdz4G0o5JWSob8+et+vQKnrtKYKmE8yya2c/nXpVlOX1IbbNSXCfQFsNYMU16Agy5BNJJAu/nEiV3rjzTLx1QClhpiZTppZtIVtv3BFIy0cLvKtBcszBY4WwpaMTTXn1X+9z71SmwExQwaYiipR28/P9VUebYTvT47J2wuhoDkfu1O9rH3q1OgX2nANOYPTDTDgUUJ5KxiZ/f9xyGsYtAcrllYK7538V+9j51Cuw5BeyPTfh1JnurLGXczfd8BL3BToFOgdkUEB02ZfKfFuVokiHt9v0CmbXKZ0kClEdLAObEXLZNoBTL22jpso5Fue/eZkcG6qacY0bs0CmwKAW4t45NfgyCJrkFAnDKOvjWLwEsAzXz2ljdxP3zjhVa3aftPmP1m7KQvqAGTF0tM+DEpmYXw3B/e+BpvhCccZgvuSMzM3boFBikALNVOXG5nubX3jlxIj2tUtcSWwHmLcq7dYGDEX/2KcAMlvIHcPRJDjbls1xrMcz9gDtHozV339QX0gFLDGcc8QesHcnnYM/62z0B94zUizR0n6IWEy15qqVb3FE54IzB/aNACrRJZX9k7KG4fyww+ZZzpmFzBmzgovA47HCUYbO/deD1izrZ+Jkorfjs3lY+3mls+yYNp6Ca9x6xn9LTNuaKgZxhAE9BjkAJ2L/vFsiNlvkwlUv3XWOLz4EUkdyW+RIcD8wjGdXFNwCw9wtCqoE6OODcM5CTT962capHMBAQpMTT7zcDRe6dGKi30Vy/fNQowJMsX+19aED4Ki+yx6xJEME0eX3qHwMTkAIS2DakbD368LDAawTySuPx9u5Ak/MGq/ImB8+10wKJ8I8K5LnGD99k4dHGszC5raa+mPwkHfiSQAzuZaubvP3S9sUkJVKLdBMbwDNQhF0O+sJjMW03MAQMC2My6dUt+Mbf5Cpri3HyqhKMq2S6bnHcMV5hztoXjfdjq2dE9aEDn3wegFygc6DDEN2Ifh06BaoUsNquO1mnkNIkSfWmZBFDz9kmyOBjhTdpffSAu6r9P0899b0gkITJp90k5T1noiVffZMeM0lgH9wySRKXrZRJ2UdSsYIC0kOK+LOt8X8CZlGRdzmo4/cC02TjtptyDmBAXHYBZpVCdjHGNGlJKSZrCer58eyieADMhzQjo0/a3ojZz8uRYDhmcQ/GjPYU+hZgT8m9UWPluzKZ9gNsG/ilW0mt8px2uLiy25NCTDB9o6UXnWYltNrSXwgj/v1Vp5kfrYYJ+Km3AncwFZMRYwG8ApMrrAmUsgSRPvI4e+VKC4E6SEqYCE09PYEEGuqzNUiMhSI1uRbntCaN5Bl2Uv+1nTOG1DadiLGlftFdoB8Q1IPpaIf08blUXanSbf/tDGDbFF6u/nLCD4XaLtfq2WsiYvtu7LOfFSgoRgCOFdykds8WILnu+vgxB8wgD1d1Pw/VHQrddS/twfVIG7Xxl+WUrZU7EddN8JRh53dWfcOski+/vb7gGqCvuZm0Nm+Ms8xfqG1BPconRoTppIkuVoEiEDPdF1fnoYCM1dj7nx2hAFu9DyeJiVY+yTjy6Le96KpJbPIIliEmU2TRRSSRWr/yuHkRdYJV7KspCSXtMI6TAynsZA4CVuZWfgDbCft/ojRx3AqezIAmrTbBaYHi5m031K1/TJ41ODUungikmEtbINsMNGU6tJX4idWDxiCLjz4w79UYgLafGci8R+LxXkRNimC0VbI9kVxEtqBkomXO5OqcKzEb3e2XOwX+/wMvzYApZnwOfaxYeX2lxrxVJ6VWSodt329bkBR39spJOel5orGJAQQnWW3tucWkpyw37kl3ham0QPz6bwRSQKo/WSxEz7mXgL6AIs6+mtWkpVe4dtyTZCSXQqzytgDEdPv3tGoT4zEH7dvDt3wmOB2JseCejUaYHWC10O8/LvpzavzPItKhU2ASBYilRPB80vqIc5PVpIpWhUy6vC7JKI4KWJEl3ujQKXCgKEAULaUAYnGuUZ8yIJrosp4yS6zVSTLLZOufUu9BKEORh3Emm/xB6HPvY6fA5yjA7FVOXv/TNOficI1kxFl73PJ5+/Y8iYSJn8pQUOXJJA76q+Ckw9+gQ6fAgaWAfXWNCbjGSYY9WxmON8xktM1s9bVn2P/LoJm3FGWfcmAp1TveKXBIKUAR12ICU68z3dUUZbkEkOoaky4OKZn7sDoFdpcCJi/l3dQJX2r9ecWJSkvOKWmkTGvMdXl52v6U234dilA2cnjxt0OnQKfABhTgUkocZ07j0z5n4tee4dLL3TgHXnJlWbb48pit1nCuGjdKfcP3bTD2/minwJGjAPdUDilWUN6AS034Wj1W+JIJYDS1smLd+fiz7ZcZaMULsIfXnuu6hCP3CfcBT6VASrf90HhAIAvvv21O+FrdAn1KEIE31g+RbgmHypIKOuwIBXpa8P1/EQJprJjcQ8Wlr5sEk685d1MBKrza+J+rI48so+iTnILtm0kvdz3VrlU8h+Pxj2i2HEgh0nXPBSG1jw7kJdehU6BTICiwbhZfK6skIFxSid9lYotE1MfGj3wVPn2E2lxy8/Iy1NSAC+66CkcHWHJe6tAp0CmQUYD77phY7b4oM6fiOoHXCThTgL4grzuPka89L4tQXv7ESCMy/fAaxIiE+NbGwbqgXIcdpkCPBty/l9MKvKHoc2Ybxx3RZyn7ztSeioQrj7xKWXtadZRKPNuKIVBfXqdzAHO3WubDfu7c1DfWyx1ZCjjEUXhtuYKWZ8GtQyAZcPL6Whlz8zpp9PNnemqqdSjey3YKzKDAT1YmvkkomcYmIOPOlP183oakHvkz6VTaTfrRn+0U6BSoUECWXOay2r5Zwogyi+46RBSbX9abMvgO1cNKkJ4jkZRJOdfpQy/bKdAp0KCASLyPNSZ/S/O+DjHLQ0MkoJgCEnQmBsAy0aFToFNgYQow21GulSv0h+Oae0tA6Ti0jtvtXaIDsEOnQKfAghSgHZdOqibyu14mkpzb9M2KNvKMu3Pr7M91CnQKbEABOfB539UmPxv6klAeEZbn21uynV5Xp0CnwAQKPCbK5Idu5EwgHT4xoZpJRWTWLZlMmd5rUkW9UKdAp8DmFGDfr636suwMndo7p2VZamtt9Wyzc6jZn+kU2JACLf9+R2QtDbXEnokZHF+6sV5fp0CnQJsCDocUlVeuxlx7N4mia7U4NPn1QX78Dp0CnQJ7QAGBPeXJvcmrb04KrbEuj01+bU9xABprp9/vFOgUGKGAUNeaso804MjppcGR06WU4Xis8pojqjp0CnQKbIkCDnkUpltTwEmjlc6fX7J5ir3a5HeeXX7dKb0dOgU6BbZEAemxefDVJv9zttQmn4KyvZTS+9nFPQyhQ6dAp8AWKCDVlpRatcm/rRj4lkPR7Vfje3/Rn3Qo5RaG36vsFDjaFGDOq01+WXi2kWDFkdnlBNd+svPzK8j7wwW4dnz10X5rffSdAgtQoKV935bYr8unVxiOswETONQjZwDdBXiBF92r6BTIKSBDTys/fj4Zl6ZaLYiodCgq8//dd+lO9Po6BY4yBS4dgy8nmRWXAq4VxssvQCyAFNhvDZRkI0dhwVJ1kRweGSg1eAkvrKz8b6qUK4/vOmxHeR/lb6+PfZ8pwIlHiq5yz08JWJ6mm7oqyq+mIxi75hRfz4rJf0WlDif7XqZCj9IH4Dz7TLPefKfAoaBAa/ILu80z4OaDvcXMyT/GHEz+y1WoWioAnRXYoVNgMgW6trhOqtvE5ddXVlx6ADn7TMga1CZpKpdP8skvKAryMnS4hnTfJZQn+og27NAp0CmwAQXY1mupuoX4joHsPqWPAKeccl9+tbh2PPCZgc7ic0bAmBTg/hsC862HJKL5c+ukABsbS7/fKXDkKPC4xkR0xPVUKOPzKenG9uXXiDKfnsgETHhMxTakZBrckzt0CnQKrEkBE6c8HCNNrqeuWZfi5THezHkt4OhTruTaHjuDrwxAevuMfvZHOgWOPAWI1E7MrYngJII5IB1XWd+dGxU5Q68s6yRegDHx+ONiPLZFEA+wy/CU6NyrA+++y508an3b1vHg9rwOhrxog6BMV4JpuLjaA79zHwjvCG2n89yn0jZ32gcFbuLk4/APB3UkeHP8KM/s48VXnpz7krhWMzHeMq7bXtRMgdp4T+BVA20ldgmuE505LdD5gQmcajz1zIJdGkvvywAFnFzrDPr3Bo6tVuV9NnBI7LXfFvPOHi7LzjaA9vzMRj9N3Csv0GiZptuYS4bymqIPHI6GwIk9EoC2aPyOuMeCsUvAmlK+77vtUgd7XzajwB3i8VYSzHUZQSvCzspnBVwCytNz8jaT6L1EO+pwwm85plwEPiW7z7Q4leFdvcG8Ulskm12BkgGcGR073650rvdjPgW+PR4l1i4xyafW4RDLJwYO2dtbIyJ+t86yt6Ien0+K5pMUfGdUaJQfvskkeMfAdXwy7jWB7nwWLr6FMa1bpS3AuwJt+/z1/zZAmDazKgkO0q3cahsNHfU67e9lnBmbtPb2zrur4dPiur2uF/XxCXWVbfGll5RjKlDmtcxsROptAr+Csv/OB9xkIjyqqLPmrqxNUsU2chJuk15z6sZoa9sieRo7LEgB4v7QhMXhnU9/4TXbvEiUJ/5+V+Cpgc8JtJ8dYjLE6zEgKbyqUY+V2cq7F+AgkHIsTgy60czGmSbz+vyP0dSyFH0irtNHHGag92h9K4K5OixAgUtGHbXDLRHemfTbSEPt5d0jUIx7zTvv9LguIo/4V8KD4wLFYu3DeG5cX0fkXoB8Zynvan0xvnWhZADGA44FvrHRzjZSk6/b722VZxn5bGXcSx+/tq3+H4h62XHLD5gDy15pnTGYIYkAEyJ9PGJgEmAIp+4jtVtMYN0cfrcraPHYYkytw0leto9jrzV9zrhI6ntSoNBp/g6yKT9sRj9vEs+wQj0m8OaBYjY6LEgBe/baBLTS7hU8cIQJDDEIK2My70ndxZUWLnU671QatFKKCfhZx9LhQ6dDeUajYbqXGj32O2PQNaNfjw/EsGvpzFOfleuwQxRoMQAJL5YC+1gaborGloh+vbhXS9AxppTME3KUZT8QdXJKMqGI0/cMrG0rlhonKaXVX6v3FRdqiJORxCVlWxS06yhRl+jO8dWkH3tP6X5uKVmi/V7HhhR48cBHy0FlU3h6Ub/VQdYc5ix7udMCc2+ya8f/Pxs4piyc+sHVyhFJ+SAQL5cGk7OW7FM/MCu2/CWkEyJ2ywKy7ezB9EbE+/cNfDs1up9oEBtjnKs4Xfr9Hbn62FRbkykpmMSsHw8knj55hVNPqbUKj01WOocacCsde3bT+4KFlrarXyDqHGKs+kw/MCfKj86kdXBJooWgpcsOfMkY3xNW7/FKa37xtoY1xVz5Hs6Ici8IZCmh26gdaWYseU5G27kOe0wBfv2tSUR0ftvA/Skedq+cOInZfEsopQDRdx8MLHPxpf9F0mE4cMpHmsbteYxgabBKi+YbYlKcrjDWoe0BH3vOMK1DS2r1U77lIJ6AtyQzZV5enccmDByzomcYGousSrZBPBpbQD9jETmzUVdX8k14GUsXEXAyZyWdEqp6rqjbNgAjaYnGrclXMgDbg6mgXR+bc/xE7Flxx7YVc0KEp/THqtmKTMzpblKQHOQRAFKRSRg6591gguCUwNNH6rBSDwE351b/mZA975CTIRCcVYuQLMdWS6Q6hca9zAYUqJ1NN+Wj85HxxjO5rbiy5lAqDoHthOy6Akfsl48PFN6EAbSqJRo/L7A2vjI19wYkPdujohQfHTglqMreupY6vOzzkHRhNZ6y/Up1tiZeeTxZKk/aYqa84AiRpF5/eYPe+XhYS+69JMF7XetRYMz/nx23nDgtJRSX1iVgGwxAxGBt8nO7Ffm4F2DrVEsWMoXp8gB8fmBSmpVMgE8Aa8BQXVKVUcTmZSheczh5oI+sNdeaQCiSzFACFEyEIvgGE+rqRbZMAatT+dFI9MCEd2zVdi1dVe1DW8pTaxsMwMqY95lO4X5bpm2retsTqyhlZ82sl/eTi3Stn/wF8nJDLt1iPdKZB2XcAektJSgt7+X1279PAe7ln6x8U+piYn5o4Jj0MKWdXmZBCtRERt5XOUwRYSmg2Hs5rZAsfLxzTFNLMwArb8mwfKjbAkeOCdyxKvOOq8FD4uKQqM5kOeSVaUKPSQ486U4uGtefUiF4WlxreRuKBxEpOgUsFAKjyn4Zy3WnVNDL7A8FvJzSz544mcNt4x/bgfRyfbzPKV52LbaAuFdLgT000qUZQGm3rp3IswTlxQGUitXSXfeGUWZIwSdEeoqplRTRYgDSiV9vYEAStIwxD/edZrTOAam1VGcvXYKwvY7tU8DHW34UVqkSKLWusLrIXDjlQyrz3Y+NZkkGIE1aHnjk97oMaay/zF+1TDlo89HVwzIJnzZAL3v8MgZgrN2aUpP0MQVIKK13Z1swhQnl7TjDsKxvirl4Sl97mT2iQM2JZchTa8w+nD6Iln97bVicacp98SZ7xstXPkxBRksBHcrYPl6ugHc3JpxnmUuNew6wqpDEeBoOrfpl3Tdt9NsqPifnAHfrnAHsWqDSHNoeuWf47JdhuvaLZfLLRBh6gtLxhla9jDOwv5wKZWgs5dYmQIStKaXoKTYBk+T04qNvrahlWvFUzpmB63rkbdLn8lnvL6U58545DG0CxH3Sg8CgTZj2Jn3Y1WePRcd4QN5/hfwjKNpbc2vfxiF7bvkhM/u1Ej/ybzcYTje8zoDfeR30AAgwBsT10vFkiXx4XJtrk3PK6UC1PnNzbUW+nYh7Y3Z4irU5ytEx+s293yfrXMoNPyda9VmBLE5DW2WOcvQ2HKtah9Rup4eNWmW7rXWYKN/SapdVlYq3KfncaifxLhFAo2/E/tqY1nEC4jTz2kY9mGSKoRhiAPbtRxksFpSgOdZSuR9kGvnWWwfTTNGZ8aHY96xPfNBrnZWIc0rqLfbe9Lz97xhw2S3bcyDHksCSUZrAtDnlvIBHRrnWmX/8JvIThlsMgPb9KIO4h9YEWCpker/pWx4lN2XCt8pM9b3Y2pgfPvDCTNhzj7SMi9Emn3+kXC2pxpR4gzkDd7hHzafBi6vBKXGx9J5LL4z+A6MrgXtr/lLpVbq760knUTy2Pnb3DjoMuXHbMg4F2LXoso7+bDL9+OTTXk9J0kBx0QrmyX0FuH+uo4XWWRFgtWQgFEl5ll2uusxbwmF5tc3Ju5cTRwBLeeqvF5Cb0O4U/w8FsQhhbbkQc5xxOpI6MY8pdJ788g54wZoPxLb8MvaSVC2LGHH+AauOyH+Rf3eUyBYYZnV7f450NUawGH3sgymg8kaOT6SSzDq1znHvZMNO96ZwLKbFoT1SskELGqrlBmA6k3k4B1mIKR/ZnmUOZucmigtLzo/0Ss9gVrWYBv72Q/ERn4n7mOcUmGvam1L3QS5jtc/xII9F32tzw7dXU+j5FiVVuWtj0E7Qqm1TN9o+yk3XiiD7UNybqmhTz5Tw1tLObnLigsyDLXs4BsJcR2sqEq3mUpozIFrThGPhvp4T/87MlY/VSj1mw8/bxBxaZ/kd9I+4938eBezTy4WRnmzOYTepB7w8y/lqPqwNRN0piTnG9ttWSxr6lj27JhkQ74nIFGzl0debKEY2fZYij4Rha4PZTKmPRNFTV639+R36B5jGy+/nzLjG+WxTsFCV7vk1fVO1HaLziYkfdxoAxVUe6ikvoIQQUxNTlCvpWGjqlImXl5mTOHTdNsrymxz2sekH0J/fbQqYH6Tn/JtxcpEsTkuBE7fy+s3RUWjZu/M9upW5PMnW/XSqb+sAjnKCcBsVlcYBaKzdOZPRak1sT66pPOeG6hGsdFqgTDxizbmnUuQNpauu1UdiIcbxjOzQKVCjQO1QWiv0knqfWhj+YPZnnnQnAonsJTBByN+efLRxMKv7ukdn20trg+mOVj4HCrtaEkhlcEueTlcJFDVIeWg/LRIxpQy34n4k0FbjdYEvCjQZc2AdqHmuqc+zLZAMc+yAijOjjAQZm7oJD3Sj3zokFBDk1Qoq8x2zAkn+wgvQ/3Rn/trLUxBOdXF/Q5TN8yXKDTHosu0DLpVlLbdTXn2t8wHKlVFCjVNGXp69T6kkJLakZBT7/e5pXplrRDGeCBQvzwuNReFq+9253v6BoQAz+hyJNn/GltniBlnRfJM1LLfSk6I0mcLkY5saGqpczSTGlMY2WZMoWm9LtmEMR2ZceeQ7dAocNgrUsmhtyhCmPj+JAcwluJUwoey6HToFOgXOTgGJUlq6o3UsZVMnfV6u5T9wVi/Xyd5Se7GzbI39C1mMAjeOmk4OpITlLNJhNylQO8tCT22pIV2UrMgXKrrPz8Xe3ynZ9HVzgDWswyGkQGlT5r/RYTcpQJk9Z/WWCwCMhYu36qZY7HAIKdA6pq0VqsydVFgyT0im0Smpug8h2fZtSHJU5JOUe/gYQ8hd5Kec/VCrj+Nah0NIgdMHPqAyqSblaukrLuAoB34eMistmfrsEJJ99pBuXbwvpnHWt1qUqeA1oeQ58PcfYxi1+zuRLGQ21fqDn0cBodQUOmMHfvoQZApmIho6yi2ZkPhD5B/PUzrdt0KBPAAOvVPGLHo4UX9wKNPSVDf09C5bB+luZXC90uUp8JiokoMRlIqsdZAHx4/SxXTOapGesU3osDwFSj3AnBOO6QR45HrfySeAk1zNjX7MB2f5EfYaF6PAkIifT255Fy4VSIQfippchyH01NyLvcbPq4hvTPke0uGum7bICzavm1t6hwNMgSkTtnTLZiYiJpaRlLILceemOBSe3WIu4jTGXJ8PMEl3outloNw6+SVbAygDgHw799qJ0fZOzKZAa5IKdvLRDCWAFLMhfTd0qpD/S3B8uqxDCdPBLegWpycAAAJFSURBVLM73B+cRIHa6dqY8hygO3A+RLlYSLF+oMFZ98n/3gDHzoG3slF6ybcnMelhgVwH4Ldz/5yy1OFgU8C3mk9aFpmxbzwf8U3iH8E9nIfKyU83sElikX2lLK+2WqYeA7WS1YDIWhJh6OCEU6P8pwKZYXYpz/6+Er43vqcUkCG7/Gbt2a/Z6IUI2NsFynjtEJ3W9tBWrzygd08HNrcx4bpl3sHaIJPZisKDZryVg6A8IZerpZN9S03plNTjc8fUn+sUGKKAqNLaNy63JBQmz4tvapwAT0GnBh1IaB2SOUURVivDwQIn5AQhP0AruUdnAAfyczk0nZ56TubQPKDwtRge6K1hjQHI1DPX/XEq4+hbgEMzlw7sQHhtTv1eUzmTHvOg6T/vgR151vG0BbBS2wrIr59ANhOJRYaIJCNweUDpUHkOGD1112H4cg7HGGS/HvLYTN+yQ1mdw7lkCrHZIYZ7TXpmK4lDAOeJCwfKkMLkQVKQuqz0n8776NxBBJSPXVBMh06BXaOAbzyFA5v0TtniPJRA4t7WaVS7NpZ96Y+AC6nI8zRJJvxhO0hyX4jbG91zCjhTIpdkH7eNHmyaEGQbfZpbp5RmsEOnwGGggCSiOZxvG4NK2XW3UXevs1OgU2DHKdAZwI6/oN69ToEVBcZOzJ5FqM4AZpGtP9QpsHUK5Cdpa+xK22ixM4BtULXX2SmwOQXKQ2taiUU3aqkzgI3I1x/uFNgaBfgG5HCxrbXUK+4U6BTYOQqcJ3pUOrQdW7qX/wfZ5BJOi01XhgAAAABJRU5ErkJggg==" alt="guy riding a shark asking me what I did this week"&gt;&lt;/p&gt;
&lt;p&gt;That's not entirely true though. In a productive week there are lots of things I do that I find exciting. But if I attempted to explain it to them, they would just look at me funny.&lt;/p&gt;
&lt;p&gt;&lt;img src="data:image/;base64,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" alt="me thinking about Python while someone asks me about my week"&gt;&lt;/p&gt;
&lt;h2 id="possible-reason-2" &gt;
	
		&lt;a class="anchor" href="#possible-reason-2"&gt;&lt;small&gt;#&lt;/small&gt; Possible Reason #2&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Another possible cause of my frustration is that I'm not a very quick thinker. A typical icebreaker interaction would go something like this:&lt;/p&gt;
&lt;p&gt;&amp;quot;Hey what'd'ya get up to this week?&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;internally dies&lt;/em&gt; &amp;quot;Well...&amp;quot; Then I think for a bit, and &amp;quot;Uhm...&amp;quot; a bit more.&lt;/p&gt;
&lt;p&gt;&amp;quot;Not much.&amp;quot; I eventually respond. Then later, probably on my way home, my mind decides to start working and serves up a number of excellent things I could've mentioned.&lt;/p&gt;
&lt;h2 id="conclusion" &gt;
	
		&lt;a class="anchor" href="#conclusion"&gt;&lt;small&gt;#&lt;/small&gt; Conclusion&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;In conclusion, I find this question irritating and dumb and it sucks. This may be because I don't do much stuff that I can easily explain to other people. At least, not without them falling asleep. And/or it may be because I just can't think of anything to say in the moment and I feel like a doofus.&lt;/p&gt;</description></item><item><title>Don't Be Afraid of AI</title><link>https://zacoons.com/blog/2023-11-23-dont-be-afraid-of-ai/</link><pubDate>Thu, 23 Nov 2023 00:00:00 +0000</pubDate><guid>https://zacoons.com/blog/2023-11-23-dont-be-afraid-of-ai/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&amp;quot;There is no fear in love&amp;quot; - 1 John 4:18&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;AI is rather scary, but do not fear, for God is with us.&lt;/p&gt;
&lt;p&gt;I love my job. I love to code. I would be sad if I couldn't code. So I can sympathise with people who are afraid of losing their jobs. But that's not why AI is scary.&lt;/p&gt;
&lt;h2 id="evil-uses-of-ai" &gt;
	
		&lt;a class="anchor" href="#evil-uses-of-ai"&gt;&lt;small&gt;#&lt;/small&gt; Evil Uses of AI&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Nor should you fear AI taking over the world. It's not going to take over the world. It's not smart enough to take over the world. It doesn't have a conscience so it's not going to revolt against us. We can't even predict the weather next week let alone create a living being. Thou canst not make one hair white or black.&lt;/p&gt;
&lt;p&gt;AI may be (and is) used for scams, identity theft, probably generating porn, and a multitude of other evil things. But all technology is used for evil. All technology is used for evil and for good. It's impossible for us to stop this. Look back at the War on Drugs. Was it a victory, or a massive waste of resources? AI will be used to do evil, but so what? Guns are used to do evil, yet every patriotic American knows why gun rights should be upheld. Likewise, the use and creation AI should be upheld.&lt;/p&gt;
&lt;h2 id="fearmongering" &gt;
	
		&lt;a class="anchor" href="#fearmongering"&gt;&lt;small&gt;#&lt;/small&gt; Fearmongering&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;The main reason why AI is scary is because people think it's scary. Be not afraid. When people are afraid, they have a tendency to relinquish freedom. Just look at the recent COVID susdemic where people covered themselves with masks and &amp;quot;self isolated&amp;quot; for many months because the gubment said to. Or the War on Terrorism and the subsequent Patriot Act which allowed the American government to collect massive amounts of data on its subjects. Or Pearl Harbour...&lt;/p&gt;
&lt;p&gt;Anyway, if enough of us let fear get to our heads, we will soon find legislation appearing around the use and creation of AI. Then we will find legislation popping up around the use of the internet - the last bastion of true freedom. It is important to defend the internet. It is vitally important. We don't need digital ID. We don't need a digital passport to defend us from identity theft. Do not fear.&lt;/p&gt;
&lt;p&gt;Don't be afraid of not knowing whether something or someone is real or AI generated. There are two reasons for this. Firstly, AI needs to be hosted on a server. Which means anyone with the malicious intent of making fake AI humans must pay for it. And if they want to saturate the internet with these fake AI humans, they must have a lot of money. Secondly, geeky nerds will probably find a solution to the AI identification problem on their own. Just like they have solved other security problems throughout internet history. Without needing legislation.&lt;/p&gt;
&lt;h2 id="economic-overlord" &gt;
	
		&lt;a class="anchor" href="#economic-overlord"&gt;&lt;small&gt;#&lt;/small&gt; Economic Overlord&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;Some people believe we could perfect the economy by putting an AI in control. It could predict what people need and when they will need it, thus allowing for a perfect allocation of resources. But this would mean giving our decision making ability to a computer (or whoever owns the computer). It would mean giving our property to a computer (or whoever owns the computer). It would mean ignoring our preferences, because a computer can't possibly know our fleeting, ever changing whims. A world with AI in control of the economy would be world in the depths of a tyrannical socialism in which one small mistake could lead to millions of people starving to death, and there would be nobody to blame. The computer would be to blame. Just a glitch in the system. Heartless destruction at the overlord's fingertips, and nobody can blame him. That is pure power.&lt;/p&gt;
&lt;h2 id="conclusion" &gt;
	
		&lt;a class="anchor" href="#conclusion"&gt;&lt;small&gt;#&lt;/small&gt; Conclusion&lt;/a&gt;
	
&lt;/h2&gt;
&lt;p&gt;AI will continue to be put to evil use, but it is the same with all technology. What's more important is to not let fear take hold of us. AI will be used to make us afraid, and if we let it, it will lead us to relinquish our freedom. It may even be used to &amp;quot;plan&amp;quot; the economy and give incredible power to the metaphorical man behind the curtain. Even so, we musn't be afraid. If we all seek to build communities of brotherly love and faithful courage, we will triumph.&lt;/p&gt;</description></item></channel></rss>