<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="en">
	<title>The Garden of Earthly Delights</title>
	<subtitle>The Garden of Earthly Delights invites you to dine on delicate delights.</subtitle>
	<link href="https://earthly-delights.net/feed/feed.xml" rel="self"/>
	<link href="https://earthly-delights.net/"/>
	<updated>2026-01-28T00:00:00Z</updated>
	<id>https://earthly-delights.net/</id>
	<author>
		<name>printer_scanner</name>
		<email>itsprinterscanner@gmail.com</email>
	</author>
	
	<entry>
		<title>The Berlin Conference</title>
		<link href="https://earthly-delights.net/blog/the-berlin-conference/"/>
		<updated>2026-01-28T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/the-berlin-conference/</id>
		<content type="html">&lt;p&gt;I&#39;ve been spamming a lot of raffle contests lately on Instagram, trying to win free stuff, which is how, by way of a very generous DM, I was offered a press pass to the design conference &lt;strong&gt;FORM/FUTURE&lt;/strong&gt; a few months ago. The very generous DM dissolved almost as soon as I received it – she may have finally read my blog – and the press pass never came through, but I was determined to go anyway and ended up scoring a free ticket through a friend at my old coworking space, who I had once given five minutes of free advice to about WordPress.&lt;/p&gt;
&lt;p&gt;The conference was held at the ICC – not that ICC – but the Berlin &lt;em&gt;Internationales Congress Centrum&lt;/em&gt;, a stunning example of post-war German architecture opened in 1979. Visually, the ICC is like the most beautiful, ugly airport you&#39;ve ever seen. There were ashtrays next to the toilet paper. The carpeted floors were stained. It smelled like a dorm room, which overwhelmed those of us there to discuss the future. It has been closed since 2014 due to asbestos contamination, the removal of which has not yet taken place. A true lady, I was overwhelmed by the amount of vacuuming required to keep the building tidy, which had presumably not been done in recent years to prevent unwanted micro-particles from stirring up.&lt;/p&gt;
&lt;p&gt;After a summer and fall spent traversing the globe to hear what our best and brightest are thinking, it is my personal belief that conferencing should be outlawed in general. Having attended several conferences in Berlin over the past few years—and leaving each time with my mouth agape in pure horror—it all begins to make sense how so many historic things could have happened. The city has already hosted a few famously failed attempts to improve society by gathering people in a room: the Berlin Conference, the Potsdam Conference, and the Wannsee Conference, to name a few. It’s a cheap joke, but perhaps these should have been enough to faithfully conclude that society has improved enough, and that we should go no further! Still, as long as “progress” remains the topic of discussion, it is my duty to don the mantle of the Hannah Arendt of free events in Berlin: to grab a Cuccis coffee at the train station, ride the S-Bahn to the former West Berlin on my Friday off, and be reminded by a moderator that “it’s impossible to design if you don’t believe in the future.”&lt;/p&gt;
&lt;p&gt;While, to me, the ideas of these grey-haired geriatric speakers with thick-rimmed glasses, and a sophisticated, modern takes on the traditional pantsuit gave credence to the belief touted by some American fascists that the university has outlasted it&#39;s usefulness, and that we we should abolish it and assign everyone to hard manual labor instead, Prof. Birgit Mager, in her keynote talk, dared instead to ask the question, &amp;quot;What if women could make money not just for prostitution, but also baking cakes?&amp;quot;&lt;/p&gt;
&lt;p&gt;Prof. Mager was hired by the city of Eindhoven to use design to deal with their problem of &amp;quot;drug addicted street prostitution&amp;quot; (her words, not mine). Eindhoven has already invested €500,000/year to move all sex workers outside of the city center to a series of shipping containers called the Tippelzone. This improved residents&#39; quality of life in the inner city, but it didn&#39;t address the women living in the shipping containers. Design is a practice of problem-solving through incremental trial and error, so Prof. Mager worked with the Design University of Eindhoven on a series of provocative exhibitions to highlight and improve the women&#39;s lives. What if the women could earn non-monetary credits for good deeds, like doing laundry, she asked. Together with her students, they produced a series of provocations, including an &amp;quot;exhibition of women prostituting themselves in the maze of a corn field&amp;quot;. For this, they &amp;quot;designed costumes for the prostitutes so they would be seen in the dark&amp;quot;.&lt;/p&gt;
&lt;p&gt;In a talk titled &amp;quot;Design and Disaster&amp;quot;, Prof. Regina Hanke brought three designers on stage for a round table discussion. She said she is fortunate that she is not too familiar with disasters; the only ones she experienced were personal disasters within her family, and two IRA bombings in London. The others were not so lucky. One Spanish designer said, while responding to the flooding last year in Valencia, that &amp;quot;the design community was ready to react&amp;quot;. After the disaster, they sent a message to their community by email asking, &amp;quot;Do you need help?&amp;quot; They realized a week later that most people who needed help would be unable to access email. If not email, how were they able to contact citizens, one audience member asked? &amp;quot;It was tricky&amp;quot;.&lt;/p&gt;
&lt;p&gt;Halla Helgadottir of Iceland was not always a designer. &amp;quot;I was working in a fish factory&amp;quot;, she says. Regarding disasters, &amp;quot;We have been in a luxurious position in Iceland with not many people dying.&amp;quot; She imagines a city in Iceland being built naturally, entirely of lava, with lava forming the houses and roads. There isn&#39;t much danger in nature in Iceland, aside from the volcanoes, she says. &amp;quot;We are not hierarchical.&amp;quot;&lt;/p&gt;
&lt;p&gt;Mehmet Kalyoncu, a Turkish &amp;quot;architect, businessperson, NGO volunteer, entrepreneur and &lt;a href=&quot;https://www.youtube.com/watch?v=art2h9OgKCk&quot;&gt;composer&lt;/a&gt;, &amp;quot;was assisting in the design of the reconstruction of the entire Turkish city of Hatay after the devastating 2023 earthquakes that took over 50,000 lives. Of the design, he says, &amp;quot;When disaster happens, our role in society changes.&amp;quot;&lt;/p&gt;
&lt;p&gt;I felt some red flags from Kalyoncu after hearing him introduced as a &amp;quot;composer.&amp;quot; A quick five-minute Google search revealed his father is the owner of Kalyon Group, a construction and media conglomerate, part of President Erdoğan&#39;s infamous &amp;quot;gang of five&amp;quot; — a collection of five corporations that effectively dominate all major public infrastructure projects in Turkey. These companies have also been accused of pooling resources to finance pro-government media. Essentially, only five major firms in the country control the bulk of state contracts, and Mehmet&#39;s father owns one of them. Erdoğan was even at Kalyoncu Jr&#39;s wedding.&lt;/p&gt;
&lt;p&gt;In Hatay, where Kalyoncu’s design project was carried out, an indictment cited extensive regulatory failures related to buildings that collapsed in the earthquake. According to the indictment, structures constructed before the quake lacked proper building permits, static project documentation, accounting reports, and ground survey data. An expert report included in the case further identified serious construction defects, including the use of non-ribbed reinforcement steel, poorly executed iron reinforcement, and irregular stirrup placement in columns and beams.&lt;/p&gt;
&lt;p&gt;Following the earthquake, the government faced public criticism for protecting a contractor whose luxury buildings collapsed and who was reportedly detained while attempting to flee the country. More recently, 70 workers in the reconstruction were dismissed after they objected to unlawful construction practices in the earthquake zone. The workers alleged that management had instructed them to use only half of the legally required amount of reinforced steel. These may be some of the legal and political impediments to good design that Mehmet mentioned in his talk, while the other designers looked on with barely concealed jealously about the scale of his project.&lt;/p&gt;
&lt;p&gt;Jeff Chia from Singapore joined us online via Zoom to ask, “Can a nation be designed?” Singapore, described by its founding prime minister Lee Kuan Yew as “Israel in a Malay-Muslim sea,” is a small, highly planned state whose survival—like Israel’s—depended on strategy, innovation, and careful design. In celebration of its 60th year of independence, the country launched a project to highlight some of its most influential and successful design projects, pointing to the Jewel Changi Airport as its crowning example.&lt;/p&gt;
&lt;p&gt;Safdie Architects describe the Jewel as “a unique blend between an intense marketplace and a magical garden of calmness and tranquility.” Shopping at Jewel, they argue, is no longer about fulfilling a single need; instead, it is a full sensory experience. Chia emphasized that architecture has the potential to inspire transformation, calling Jewel a clear example of design’s ability to revolutionize everyday life.&lt;/p&gt;
&lt;p&gt;And revolutionize life it has. As the day droned on and the ideas I heard became more meandering: a high-rise that looked like a tree, a pamphlet for Swedes escaping nuclear bombs, a project to grant legal personhood to rivers and other natural elements –  &amp;quot;now nature can be a board member&amp;quot;, a bizarre obsession with developing interspecies communication, plastered on all the walls around me:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/conference_1.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
&lt;img src=&quot;https://earthly-delights.net/img/conference_2.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
&lt;img src=&quot;https://earthly-delights.net/img/conference_3.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;/p&gt;
&lt;p&gt;I sort of stopped caring why I rushed all the way out there in the first place. Why was I so obsessed with proving these maniacs wrong? The fact that the future remains so, no matter how hard they try, doesn&#39;t erase their effort. And who am I to judge, we’re all doing the same thing: believing in the power of our art projects.&lt;/p&gt;
&lt;p&gt;And yet, as former Prime Minister Lee Hsien Loong of Singapore said, “Nothing we have today is natural or happened by itself. Somebody thought about it, made it happen.” Maybe I&#39;m the one who is wrong – maybe belief &lt;em&gt;is&lt;/em&gt; a virtue. Either way, I slipped out of the building before the talks were over to get some fresh air. The rain had cleared, and as I walked across the bridge, the air parted the clouds to the most beautiful fall day I had ever seen.&lt;/p&gt;
</content>
		<description>&lt;p&gt;I&#39;ve been spamming a lot of raffle contests lately on Instagram, trying to win free stuff, which is how, by way of a very generous DM, I was offered a press pass to the design conference &lt;strong&gt;FORM/FUTURE&lt;/strong&gt; a few months ago. The very generous DM dissolved almost as soon as I received it – she may have finally read my blog – and the press pass never came through, but I was determined to go anyway and ended up scoring a free ticket through a friend at my old coworking space, who I had once given five minutes of free advice to about WordPress.&lt;/p&gt;
&lt;p&gt;The conference was held at the ICC – not that ICC – but the Berlin &lt;em&gt;Internationales Congress Centrum&lt;/em&gt;, a stunning example of post-war German architecture opened in 1979. Visually, the ICC is like the most beautiful, ugly airport you&#39;ve ever seen. There were ashtrays next to the toilet paper. The carpeted floors were stained. It smelled like a dorm room, which overwhelmed those of us there to discuss the future. It has been closed since 2014 due to asbestos contamination, the removal of which has not yet taken place. A true lady, I was overwhelmed by the amount of vacuuming required to keep the building tidy, which had presumably not been done in recent years to prevent unwanted micro-particles from stirring up.&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>The World&#39;s Tallest Towers</title>
		<link href="https://earthly-delights.net/blog/worlds-tallest-towers/"/>
		<updated>2025-12-01T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/worlds-tallest-towers/</id>
		<content type="html">&lt;p&gt;In Guangzhou, China, after Brittany had left, Dani and I spent a beautiful, quiet evening walking along the balmy waterfront, gazing at the Canton Tower. This tower is very tall and takes several iPhone photographs to capture its full height from up close.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.getyourguide.com/image/format=auto,fit=crop,gravity=auto,quality=60,dpr=1/tour_img/54b408d10817a61bf7be0c7ddd9077284956c3ea739e15dc726546141b113f2e.jpg&quot; alt=&quot;Canton Tower 450m Outdoor Aussichtsplattform | GetYourGuide&quot;&gt;&lt;/p&gt;
&lt;p&gt;On the Canton Tower&#39;s Wikipedia page, it is listed as the second-tallest tower in the world and the fifth-largest freestanding structure. At 600 meters tall, it&#39;s twice the height of the Eiffel Tower and 50 meters taller than One World Trade Center (1,776 feet). I was confused when I typed in &amp;quot;tallest buildings in the world&amp;quot; later that night upon getting back to the hotel, and saw the Canton Tower nowhere on the list.&lt;/p&gt;
&lt;p&gt;As the good American I am, I&#39;m always suspicious of Chinese duplicity, and my initial reaction was that the Chinese Government had manipulated the Wikipedia page in some way for its own benefit, to make the Canton Tower seem grander than it was.&lt;/p&gt;
&lt;p&gt;But, I learned the measurement of building heights is not arbitrary; height has long been a symbol of national and imperial prestige, and because of this, building heights are formally defined and maintained by the Council on Tall Buildings and Urban Habitat or CTBUH. The CTBUH keeps official records and ranks buildings using three criteria:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Height to structural or architectural top;&lt;/li&gt;
&lt;li&gt;Height to the highest occupied floor;&lt;/li&gt;
&lt;li&gt;Height to the top of any part of the building.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;The CTBUH tracks all measurable “structures,” but not all structures are considered buildings. A structure can include guyed masts, self-supporting towers, skyscrapers, oil platforms, transmission towers, and even bridge pylons. Broadcast masts alone make up a large share of the tallest structures on Earth.&lt;/p&gt;
&lt;p&gt;Though the Canton Tower is enormously tall, it is categorized as a &lt;strong&gt;tower&lt;/strong&gt; rather than a &lt;strong&gt;building&lt;/strong&gt;, and thus it is ranked according to different criteria. The key distinction is that &lt;em&gt;buildings&lt;/em&gt; must have at least 50% of their floor space occupied, while towers do not.&lt;/p&gt;
&lt;p&gt;The Burj Khalifa has been the tallest building and tallest structure in the world since its completion in 2009. Its official height is 828 meters, but the highest usable floor is only 585 meters above the ground. This difference between a building’s pinnacle and its highest occupied floor is called its vanity height. Even without this unoccupied portion, the Burj would still be the tallest building in the world, though only by a narrow margin; its highest occupied floor is just 2 meters above the Shanghai Tower’s.&lt;/p&gt;
&lt;p&gt;Until 1996, the world’s tallest building was defined by height to the top of the tallest architectural element, counting spires but not antennas. Spires are considered integral to a building’s design, while antennas are functional additions. In 1930, this technical distinction fueled the rivalry between the Bank of Manhattan Building and the Chrysler Building. The Bank of Manhattan Building stood 282.5 m tall and had a higher top-occupied floor but only a short spire. Meanwhile, the Chrysler Building secretly installed a 38.1 m spire within its own structure, allowing it to claim the record with a total height of 318.9 m, despite having a lower top-occupied floor and being shorter when both buildings&#39; spires were ignored.&lt;/p&gt;
&lt;p&gt;By some definitions, the Canton Tower may indeed be the 2nd-tallest, but when you include masts and broadcast structures, it ranks much lower, around 30th, surpassed by even the tallest structure in Louisiana.&lt;/p&gt;
&lt;p&gt;Today, ninety-six buildings worldwide exceed 350 meters in height, and nearly half of these are in China. Staring up at the Canton Tower naturally invites reflections on progress, and it raises a question many Western visitors might ponder: why isn’t the United States more focused on building tall anymore? The world’s first skyscraper was built in Chicago in 1885, and eleven American buildings have held the title of world’s tallest. There &lt;em&gt;are&lt;/em&gt; new proposals, like the Legends Tower in Oklahoma City, which if ever built, would be the sixth-tallest tower in the world. But these ideas are more dream than reality. As it stands, skyscrapers are not very cost-effective, and the United States has more pressing priorities.&lt;/p&gt;
&lt;p&gt;The KRKD-TV mast is the tallest structure in the United States and the second-tallest in the Western Hemisphere.  &lt;a href=&quot;https://www.youtube.com/watch?v=40F8mALRukA&quot;&gt;Here&#39;s a video of a brave soul &lt;/a&gt;climbing all 600m for its annual inspection. It has fallen over twice: once when several guy-wires were severed by a military helicopter, and again during an ice storm.&lt;/p&gt;
&lt;p&gt;But a building does not have to extend the highest in order to be the tallest. Similar to the mountain Mauna Kea in Hawaii, which from the sea floor measures taller than Mount Everest, the Petronius, a deepwater tower oil platform located in the United States Exclusive Economic Zone, measures 640 meters high, but only 75 meters are above water. Here&#39;s a photograph of it being transported.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://preview.redd.it/mo5omwgf4dt91.jpg?width=1080&amp;amp;crop=smart&amp;amp;auto=webp&amp;amp;s=2baf509ffd4f2c0dd2d80747e8cb1b276c2e84f3&quot; alt=&quot;Petronius oil platform being towed : r/megalophobia&quot;&gt;&lt;/p&gt;
&lt;p&gt;I asked Google how tall we could potentially build a skyscraper, and its AI said that theoretically, buildings could be built &amp;quot;at least as tall as 8,849 meters, one meter taller than Mount Everest.&amp;quot; If such a building existed, the base of it, according to theoretical calculations made by the Google AI overview, would need to be about 4,100 square kilometers.&lt;/p&gt;
&lt;p&gt;But theoretically, buildings could be even taller than that. Because buildings are lighter than solid earth – the Burj Khalifa, for example, is about 15 percent structure and 85 percent air –  which means the tallest building could be 6.6667 times taller and weigh the same as that solid object. The AI goes on to explain, this means a building could be as tall as 59,000 meters without outweighing a mountain like Mount Everest and crushing the very earth below.&lt;/p&gt;
</content>
		<description>&lt;p&gt;In Guangzhou, China, after Brittany had left, Dani and I spent a beautiful, quiet evening walking along the balmy waterfront, gazing at the Canton Tower. This tower is very tall and takes several iPhone photographs to capture its full height from up close.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.getyourguide.com/image/format=auto,fit=crop,gravity=auto,quality=60,dpr=1/tour_img/54b408d10817a61bf7be0c7ddd9077284956c3ea739e15dc726546141b113f2e.jpg&quot; alt=&quot;Canton Tower 450m Outdoor Aussichtsplattform | GetYourGuide&quot;&gt;&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>On Love</title>
		<link href="https://earthly-delights.net/blog/on-love/"/>
		<updated>2025-11-15T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/on-love/</id>
		<content type="html">&lt;blockquote&gt;
&lt;p&gt;Throughout all the ages, there have been only four degrees in love:&lt;/p&gt;&lt;p&gt;The first consists in arousing hope;&lt;/p&gt;&lt;p&gt;The second in offering kisses;&lt;/p&gt;&lt;p&gt;The third in the enjoyment of intimate embraces;&lt;/p&gt;&lt;p&gt;The fourth in the abandonment of the entire person.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;These aren’t the rules of some dilapidated club in the city where I live where everyone is obsessed with reinventing what it means to love, but lines from a medieval treatise written by Andreas Capellanus, born in 1150, called &lt;em&gt;De Amore&lt;/em&gt;. In it, he writes: &amp;quot;marriage is no real excuse for not loving&amp;quot;, &amp;quot;he who is not jealous can not love&amp;quot;, and &amp;quot;a true lover is constantly and without intermission possessed by the thought of his beloved.&amp;quot; I spent some hours perusing the book a few weeks back while sitting in bed eating a delicious pasta bolognese. Every generation likes to act like they invented sex, but lately everyone around me in Berlin seems keen on trying out new techniques from polyamory to ethical non-monogamy, conscious coupling, casual uncoupling, and everything in between. But is this freedom all it&#39;s cracked up to be?&lt;/p&gt;
&lt;p&gt;I asked my friends for their opinions on falling in love in Berlin, and got some extremely funny answers that I won&#39;t share, because that&#39;s private, but on Reddit, I found disillusionment about the dating scene common. “Dating in Berlin is a depressing shit show,” writes one user. “Totally ruined my self-worth back in the day.” Another complains, “Berlin is a city full of Peter Pans who never grow up and take responsibility.” “Most treat the city like a big amusement park,” adds a third. “It&#39;s basically just an unending stream of hookups and FWBs as no one wants a relationship.” Some suggest that the best way to find a long-term partner is to leave town.&lt;/p&gt;
&lt;p&gt;Just like waking up to a stranger after a night of sweaty bliss, when fun dissolves into daylight, the obvious temptation is to retreat to back to traditional values. But that’s no easy fix. Arthur Schopenhauer, lover of Berlin nightlife, says that &amp;quot;to be rid of the challenge of courtship would drive people to suicide with boredom.&amp;quot; I, happily, and not so recently married, try to give my friends as much advice on this topic as I possibly can so they can avoid the mistakes I have made: I warn them that two blondes can never date, that the sexiest form of communication is email, and that what our liberation takes off the table is the essential component of a real love affair, which is that desire should never make itself obvious. Is it possible that with all this new love, we&#39;ve forgotten that Andreas Capellanus already figured out how to correctly fall in love a thousand years ago?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The prevalence of arranged marriages in the medieval period, around the time of the First Crusade (1099 AD) necessitated alternative outlets for expressing romantic love. The sensational popularity of Chrétien de Troyes&#39;s poem &lt;em&gt;Lancelot, the Knight of the Cart&lt;/em&gt;, about the secret adulterous love affair between the knight Lancelot and his queen Guinevere, marked the birth of a new literary conception of love known as &lt;em&gt;amour courtois&lt;/em&gt; or courtly love, something &amp;quot;at once illicit and morally elevating, passionate and disciplined, humiliating and exalting, human and transcendent.&amp;quot; These tales usually revolved around married women of high noble rank, and a knight of inferior birth trying to win her love. Romantic poets known as troubadours traveled the high courts of France, telling variations of these love stories and they began to follow a specific structure, known as a &amp;quot;game of love&amp;quot;, and developed, like all human things, from poetry into a set of social practices as follows:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Attraction to the lady, usually via eyes/glance&lt;/li&gt;
&lt;li&gt;Worship of the lady from afar&lt;/li&gt;
&lt;li&gt;Declaration of passionate devotion&lt;/li&gt;
&lt;li&gt;Virtuous rejection by the lady&lt;/li&gt;
&lt;li&gt;Renewed wooing with oaths of virtue and eternal fealty&lt;/li&gt;
&lt;li&gt;Moans of approaching death from unsatisfied desire&lt;/li&gt;
&lt;li&gt;Heroic deeds of valor which win the lady heard&lt;/li&gt;
&lt;li&gt;Consummation of the secret love&lt;/li&gt;
&lt;li&gt;Endless adventures and subterfuges avoiding detection.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;This private love was ennobling for the lovers, the more secret and difficult to obtain the love was, the more ennobling,  and it served as a means for inspiring one to great deeds. &amp;quot;The easy attainment of love makes it of little value; difficulty of attainment makes it prized,&amp;quot; writes Andreas Capellanus. Frank Tallis argues that love does not require liking and that &amp;quot;love that may even thrive in response to rejection or contempt.... Some situational uncertainty is required for the intense mental preoccupation to occur.&amp;quot;&lt;/p&gt;
&lt;p&gt;All courtly love was erotic to some degree; some claim it was adulterous sexual love, with physical consummation with the Lady as the desired end, others that romantic love served as a metaphorical and poetic symbol of our affection for God. In the poem &lt;em&gt;Lancelot&lt;/em&gt;, our hero rejects the sexual advances of willing damsels because of his secret love for Queen Guinevere. When Guinevere finally sneaks Lancelot up to her room, he cuts his finger climbing in her window, and bleeds on her bed.&lt;/p&gt;
&lt;p&gt;In Boccaccio&#39;s &lt;em&gt;The Decameron&lt;/em&gt;, women deceive their husbands for sex by hiding in trunks or swapping places in beds. A pirate abducts a young wife. Rather than returning home, she chooses to stay with her captor because he is better in the sack. A young man pretends to be mute so he can work in a convent. The nuns, believing he cannot speak, begin sleeping with him in secret. Eventually, nearly all the nuns take a turn with him. A devout girl goes to the desert to serve God. A fake hermit tells her that the best way to &amp;quot;put the Devil back in Hell&amp;quot; is through sex. She eagerly complies.&lt;/p&gt;
&lt;p&gt;In Dante&#39;s &lt;em&gt;Divine Comedy&lt;/em&gt;, Dante experiences only brief real-life encounters with his object of love, Beatrice, and they never consummate their love. In death, she becomes his eternal muse, a symbol of spiritual love that guides him through the afterlife and represents divine love itself. The question at the heart of the Middle Ages remains unanswered as to what the living poet should do: physically consummate, like Lancelot, or live a life of perpetual desire, channeling his energies to higher ends, like Dante. &amp;quot;Scholars have seen it both ways.&amp;quot;&lt;/p&gt;
&lt;p&gt;Throughout the 19th century, it was debated whether passion, love, and companionship could serve as a basis for marriage. Capellanus argued that &amp;quot;love can have no place between husband and wife,&amp;quot; although they may feel &amp;quot;immoderate affection&amp;quot;. In the novel &lt;em&gt;Anna Karenina&lt;/em&gt;, Levin, after marriage to the woman he believed was the love of his life, discovers marriage to be another mirage of his fantasy and, “happy in his family life, a healthy man, Levin was several times so close to suicide that he hid a rope lest he hang himself.” Similarly, almost as soon as lovers Anna and Vronsky run away together, Vronsky who once begged “for the right to hope, to be tormented, as I am now”, becomes restless for the life he used to lead. On the eve of her suicide, Anna conceives that we all live alone in our narcissism when she says: &amp;quot;Aren&#39;t we all thrown into the world only to hate each other and so to torment ourselves and others?&amp;quot; In death, she makes her choice on the nature of love, but leaves behind the rest of us to continue to live on in the theatre of courtly love.&lt;/p&gt;
&lt;p&gt;In &lt;em&gt;Pride and Prejudice&lt;/em&gt;, Austen asks if the negotiating process of obtaining marriage can be a form of courtly love. Elizabeth refuses an engagement to Mr. Collins that would have saved the family farm, just because he had a weird vibe. In the end, Elizabeth gets both a declaration of love and financial security; in return, Mr. Darcy gets a wife who validates his moral growth. The erotic here is no longer explicit, but every girl alive who loves yelling at their ugly boyfriend knows it&#39;s there, in the negotiation. In Austen, God was no woman, but success in the economic sphere may be interpreted as a reflection of God’s blessing.&lt;/p&gt;
&lt;p&gt;The debate about love and marriage did not end in the 19th Century, but unfortunately, we no longer have great poems or novels to guide us, just Instagram Reels. But that hasn&#39;t prevented the poetic &amp;quot;game of love&amp;quot; from metastasizing. Slavoj Žižek writes, &amp;quot;The impression that courtly love is out of date, long superseded by modern manners, is a lure blinding us to how the logic of courtly love still defines the parameters within which the two sexes relate to each other.&amp;quot; Today, we still have nobility, troubadours, and knights who joust for their lovers; they look a little different.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;In the 12th-century story of &lt;em&gt;Tristan and Isolde&lt;/em&gt;, lovers Isolde and Tristan were friends from childhood. Isolde was betrothed to a rich man. Knowing Isolde would find a loveless marriage constricting, her aunt prepared a love potion for her and the king to drink together. On the journey to her wedding, Tristan, now a knight, and Isolde accidentally drink the wine together. &amp;quot;It was not wine, it was passion, and bitter joy, and anguish without end, and death... At this moment, Bragwaine entered and saw how they gazed at each other in silence, ravished and amazed.&amp;quot; For their living days, Isolde&#39;s heart, without Tristan, was &amp;quot;sore with this tenderness which was more painful than hate.&amp;quot; When Tristan is mortally wounded, he sends for Isolde, knowing only she could heal him. Tristan&#39;s jealous wife lies pretending that Isolde refused to come. Heartbroken, Tristan dies. When Isolde reaches him and finds him dead, Isolde dies of grief.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/tristan-and-isolde.png&quot; alt=&quot;tristan-and-isolde&quot;&gt;&lt;/p&gt;
&lt;p&gt;This all-consuming, almost tragic love is not just the stuff of medieval legend. Actress Jada Pinkett Smith, in her memoir &lt;em&gt;Worthy&lt;/em&gt;, recounts a similar love. Growing up in a rough neighborhood in Baltimore, the daughter of two heroin addicts, Jada met Tupac Shakur at the Baltimore School of the Arts. At first, she thought he was “kind of funny looking,” but she was immediately drawn to him.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As soon as he approached me, he was like a magnet. Once you paid attention to him he kind of sucked you in. And we hit it off from that moment on … I don’t think either one of us thought we would have made it in the way that we did, but we knew we were gonna do something.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The two were inseparable, like brother and sister, but there was also something more. They exchanged love poems. To Jada, Tupac wrote, &amp;quot;u Bring me 2 climax without sex and u do it all with regal grace&amp;quot;. They stayed close as they both found fame in their respective fields. They understood where the other came from. “It was almost like God made us that way,” Pinkett Smith recalled. “It was like, look, I’m going to put y’all together, right? Y’all are going to be a dynamic duo. But I’m going to tell you right now, I’m going to make it so y’all are not going to be able to get together ‘cause that just wasn’t the purpose.”&lt;/p&gt;
&lt;p&gt;After a few close calls in her late teens, she moved to Los Angeles, where she started acting and orbiting around Will Smith, who, after a fairly middle-class upbringing, had just launched into megastardom with &lt;em&gt;The Fresh Prince of Bel-Air&lt;/em&gt;. Jada and Will were introduced by a mutual friend in the early 1990s. Smith wanted her to play his girlfriend on &lt;em&gt;The Fresh Prince&lt;/em&gt;, but Jada declined, weary of the generous but restricting contracts offered to TV stars at the time. The two crossed paths occasionally, but Jada kept her distance while Will was still married to his first wife.&lt;/p&gt;
&lt;p&gt;Jada never let her friendship with Tupac fade, and despite their platonic relationship, the pair continued to exchange letters. While Tupac was in prison at Rikers Island, he proposed marriage:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Now as I slip from grace and the world has turned against me, a few claim to have love for me, but once again you show your love. After deep reflection and spiritual awakening I have come to realize the friend, love, and soulmate was there all the time. I have not seen or felt from anywhere anyone the intensity and loyalty that you have shown me. That is why I want to commit myself to you. I want to marry you.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;She turned down the proposal, but their friendship endured until a fight after his release. Pride kept her from calling him, and less than a year later, he was killed at age 25. “I really took for granted that he would be living forever,” Jada later said. “I looked at Pac as being invincible.”&lt;/p&gt;
&lt;p&gt;Meanwhile, Will was wrestling with his own truth. One evening, in a restaurant bathroom while on a date with his wife, he found himself sobbing and laughing uncontrollably. “I had a realization I wasn’t with the person I was supposed to be with.” But, he vowed he would never divorce. Eventually, his wife filed for him, and soon after, Will phoned Jada: “Are you seeing anyone?” Her answer: “No.” His reply: “Cool, you’re seeing me now.”&lt;/p&gt;
&lt;p&gt;Their wedding was far from a fairytale. “I was so upset that I had to have a wedding,” Jada confessed. “I was so pissed. I went crying down the freakin’ aisle getting married... I think we were both still stuck in our fantasy of what we thought the other person should be.”&lt;/p&gt;
&lt;p&gt;There are many similarities between Jada and Isolde&#39;s stories. Jada is a Lady of nobility, Tupac a tragic knight; their bond is intense, spiritual, and transformative, shaping them both even as it remains unfulfilled. The Lady marries a wealthy man (Will), the knight dies too young, immortalized in memory and myth, and the Lady grieves as long as she lives.&lt;/p&gt;
&lt;p&gt;There is one crucial difference. Jada is not only the Lady of this story, she is also its troubadour. You may have heard all of this before, because she tells her story again and again, reanimating the tale for the public, so much so that critics online even joke: “Tupac isn’t dead; he’s just hiding from Jada.”&lt;/p&gt;
&lt;p&gt;Today, it is not the love itself that elevates Jada, but the story she tells about that love. Historian Christopher Lasch describes this blurring of public and private life as a narcissistic psychological survival defense against loss of control in modern life. This can be viewed two ways: either Jada is aware that her narrative is a performance of tried and true archetypes, proving that the myth of love remains a dazzling spectacle even in our media-saturated age, or her storytelling is a searching attempt at authenticity, a way to find meaning in a culture that often confuses self-disclosure with sincerity, substituting the raw passion of love with self-love. Luckily for us, Žižek writes, &amp;quot;there is more truth in the mask we wear, in the game we play, in the ‘fiction’ we obey and follow, than in what is concealed beneath the mask.&amp;quot;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Online, many suggest Jada’s podcast &lt;em&gt;Red Table Talk&lt;/em&gt; is just an elaborate way to shame Will. In the episode “How Your Relationship Can Survive Quarantine,” she admitted, “I have to be honest. I think one of the things that I’ve realized is that I don’t know Will at all... You get into all these ideas of what marriages are supposed to be.”&lt;/p&gt;
&lt;p&gt;Unlike Tupac, Will’s love was practical, focused on providing security. He bought flowers and gave her children. In Jada’s words, “Will’s love language was, ‘I want to work hard so you can have everything you could ever want. You won’t need for anything.’ Mine was, ‘I want you to be here with me. I don’t need all that stuff. I want to look in your eyes and feel your love and protection.’”&lt;/p&gt;
&lt;p&gt;Divorce rumors were never far away, but Jada defended their relationship: “I’ve always told Will, ‘You can do whatever you want as long as you can look at yourself in the mirror and be okay.’ At the end of the day, Will is his own man. I’m his partner, but he has to decide who he wants to be. Or vice versa.” She clarified later, “Will and I BOTH can do WHATEVER we want, because we TRUST each other to do so. This does NOT mean we have an open relationship. This means we have a grown one.” Yet, freedom brought little comfort.&lt;/p&gt;
&lt;p&gt;By the 2022 Academy Awards, Will and Jada were separated, living apart, but remained committed as family and business partners. But that night would forever redefine public perception. Will, nominated for Best Actor, laughed at a joke made at Jada’s expense. She rolled her eyes. The camera cut away, and seconds later, Will walked on stage and slapped Chris Rock. What passed between Will and Jada in those brief seconds while the camera looked away, we will never know for sure, but perhaps it holds a clue to the secret of love.&lt;/p&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/myjEoDypUD8&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;
&lt;/iframe&gt;
&lt;p&gt;To me, it is obvious. Will understands the game of love like the rest of us, and that night, he shed the role of Jada&#39;s husband and king and embraced, instead, the archetype of the heroic knight, performing a public gesture of devotion. On stage, through tears he said, “I’m being called on in my life to love people and to protect people... love will make you do crazy things.” But did he truly protect her? Jada’s answer was complex: “I would say yes and no. I think it was in his way, but it was so much more. It wasn’t about me, that’s why it’s complex.”&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Žižek argues that courtly love does not represent a metaphysical good, but rather, evil, a sense of perversion around which the subject&#39;s desire for his lady is actually the desire for an empty Object or subsuming ’black hole’ in which proceeding straight on ensures the lover miss its target. Horrifying as it may be, the lady exists “not as she is, but as she fills his dream.” Žižek writes, &amp;quot;What the paradox of the Lady in courtly love ultimately amounts to is thus the paradox of detour: our &#39;official&#39; desire is that we want to sleep with the Lady, whereas in truth, there is nothing we fear more than a Lady who might generously yield to this wish of ours.&amp;quot;&lt;/p&gt;
&lt;p&gt;In a 2015 essay by author Elizabeth Gilbert of &lt;em&gt;Eat Pray Love&lt;/em&gt; fame called &lt;em&gt;Confessions of a Seduction Addict&lt;/em&gt;, Gilbert writes, “I can’t say that I was always looking for a better man... I often traded good men for bad ones; character didn’t much matter to me. I wasn’t exactly seeking love, either… Sex was just the gateway drug for me, a portal to the much higher high I was really after, which was seduction.”&lt;/p&gt;
&lt;p&gt;Seduction, for Gilbert, is an art of domination: “the art of coercing somebody to desire you, of orchestrating somebody else’s longings to suit your own hungry agenda.” It was “never a casual sport… but a heist, adrenalizing and urgent.” She would “break into his deepest vault, steal all his emotional currency and spend it on myself.”&lt;/p&gt;
&lt;p&gt;“If the man was already involved,” she continues, “I knew that I didn’t need to be prettier or better… I just needed to be different.” The goal was to become “a sparkling alternative to his regular life,” to transform herself into the opposite of the woman he already loved. And when the man’s gaze began to shift, from indifference, to friendship, to open desire, “that’s what I was after: the telekinesis-like sensation of steadily dragging somebody’s fullest attention toward me and only me. That was power, but it was also a form of affirmation. I was someone’s irresistible treasure… I needed it, not sometimes, not even often, but always.”&lt;/p&gt;
&lt;p&gt;Her most recent memoir, titled &lt;em&gt;All the Way to the River: Love, Loss, and Liberation&lt;/em&gt;, details her relationship with Rayya Elias, a queer hairdresser whom she met and fell in love with during her first marriage. After the release of &lt;em&gt;Eat, Pray, Love&lt;/em&gt;, a book about her divorce from her first husband and her string of succeeding boyfriends, she settled down with her second husband, José Nunes, whom she met in &lt;a href=&quot;https://earthly-delights.net/blog/what-i-spend-in-a-day-in-bali/&quot;&gt;Bali&lt;/a&gt;. By 2016, she announced they were separating because she was in a relationship with Elias, played by Viola Davis in the film version starring Julia Roberts. The new memoir was panned in a variety of outlets, including a &lt;em&gt;New York Magazine&lt;/em&gt; review by Jia Tolentino (what&#39;s up with those unresolved human trafficking allegations, btw?). Online commentators slammed Gilbert for “telling us how to live and create when she so clearly doesn’t have a clue.”&lt;/p&gt;
&lt;p&gt;In &lt;em&gt;All the Way to the River&lt;/em&gt;, Gilbert reveals the pair were best friends for many years, and by 2013, Tolentino writes, &amp;quot;Gilbert is admitting to a stranger in a book-signing line that the only reason she and Rayya aren’t a couple is that Gilbert is married and &#39;trying to be &lt;em&gt;good&lt;/em&gt;.&#39;&amp;quot; Three years later, Elias is diagnosed with pancreatic cancer and given six months to live. The night of her diagnosis, Gilbert professes her love, and they begin an intensely passionate love affair. “We were ecstatic, phosphorescent, dangerous, brilliant, and full of wild courage,” Gilbert writes. “We were writing poems about each other, staying awake just to watch ourselves breathing, and pouring words of devotion back and forth.” What happens next, I&#39;ll spare you all the horrifying details, but Elias, a recovering addict, quickly and tremendously relapses with the help of Gilbert. Gilbert conceives that the only way out of their situation is for her to murder Elias – this is a self-help book, mind you. She decides against the murder last minute and they eventually break up. Elias gets sober with the help of other friends, and passes away a few months later surrounded by family, while Gilbert receives professional help for her sex and love addiction.&lt;/p&gt;
&lt;p&gt;Online, commenters say, &amp;quot;I got the impression that Rayya’s diagnosis is what made Rayya so appealing to Gilbert. Sure, there may have been a crush earlier, but the fact is that Gilbert can’t commit to anybody for longer than the infatuation stage. Falling madly in love with a dying person was the only way she could commit to somebody until death do us part, while always remembering it as a grand love story (as opposed to a false love story, to be corrected by cheating).&amp;quot;&lt;/p&gt;
&lt;p&gt;But, as Gilbert suggests, we should look through the horror of her story to find our own reflection. There’s been much discussion about the trickle-down effect of Gilbert’s prose on the legion of twenty- and thirty-something women who have learned (via Instagram captions) to turn the agonies of their love lives into quests for self-realization. Gilbert’s world is more complicated than the rest of ours: her self-realization generates fame, which in turn fuels a perpetual cycle of new love and new confession. She is, in a way, Jada Pinkett Smith trapped in a vortex, an unreality that somehow feels more vivid, and more terrifying, than the lives of the rest of us trying to perform our own romances for respect.&lt;/p&gt;
&lt;p&gt;Many admirers emulate Gilbert’s style, chasing the glamour and drama of her erotic quests, yet few dare venture near that edge, which chases ecstatic pleasure beyond the bounds of the symbolic order. It is excessive, unspeakable, and beyond measurement, a kind of overflowing pleasure that cannot be fully integrated into the subject’s ego or social norms. Her thrill comes not from fulfillment, but from the tension between what she wants, what she&#39;s supposed to want, and what she can never completely have. In other words, Gilbert takes the structure of courtly love to its logical extreme: if romantic love is “good,” then she should annihilate the self through noble rapture, breaking through the limits of life itself—to see God, like Dante. We can thank her for taking the theory of love to its logical limit for us, so we don&#39;t have to. Going deeper into the black hole of desire will never bring anyone closer to truth because the essential paradox of love is: we want it to liberate us, but it’s really only fun when we are breaking the rules.&lt;/p&gt;
</content>
		<description>&lt;blockquote&gt;
&lt;p&gt;Throughout all the ages, there have been only four degrees in love:&lt;/p&gt;&lt;p&gt;The first consists in arousing hope;&lt;/p&gt;&lt;p&gt;The second in offering kisses;&lt;/p&gt;&lt;p&gt;The third in the enjoyment of intimate embraces;&lt;/p&gt;&lt;p&gt;The fourth in the abandonment of the entire person.&lt;/p&gt;&lt;/blockquote&gt;</description>
	</entry>
	
	<entry>
		<title>Border Radius Crimes on GitHub</title>
		<link href="https://earthly-delights.net/blog/github/"/>
		<updated>2025-11-06T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/github/</id>
		<content type="html">&lt;p&gt;As a professional software developer working in open source, I spend most of my day on GitHub. GitHub is essentially a UI wrapper for Git’s core version control system, with a few added features for team planning. The irony? GitHub, a platform that preaches the gospel of code review, doesn’t seem to apply it much to its own front-end.&lt;/p&gt;
&lt;p&gt;Here is a short sample of UI errors on the site that make me want to pull my hair out every day. If you look closely, there is an error on almost every piece of UI on GitHub&#39;s website. These are usually the kinds of things that any newbie in CSS would instantly know not to do, so it&#39;s a wonder that they didn&#39;t get caught before being pushed to production, or that they haven&#39;t been fixed since (I&#39;ve been staring at some of these bugs for years).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.40.55.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ The caret&#39;s border is too thin and includes an even thinner &lt;code&gt;border-bottom&lt;/code&gt; that it doesn’t need.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2010.20.40.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ This caret is missing a border and doesn’t correctly overlay its parent.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.19.26.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ This caret is too thick. Also, the light blue inner corner radius doesn’t match the parent’s, leaving some whitespace.&lt;/p&gt;
&lt;p&gt;Rule of thumb: a child element’s border radius should be exactly 1px less than its parent.&lt;/p&gt;
&lt;pre class=&quot;language-css&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;.parent&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;border-radius&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;--github-border-radius&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;.child&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;border-radius&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;calc&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;--github-border-radius&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; - 1px&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.22.29.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ GitHub loves getting &lt;code&gt;border-radius&lt;/code&gt; wrong. In the bottom-right corner, we see the child element’s border radius extending beyond the parent container. To fix this, set &lt;code&gt;overflow: hidden&lt;/code&gt; on the parent container.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.43.26.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ This parent element correctly uses &lt;code&gt;overflow: hidden&lt;/code&gt;, but fails to apply &lt;code&gt;border-radius&lt;/code&gt; to the child element&#39;s border, resulting in clipping. (This bit of UI shouldn&#39;t have a border anyway.)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.34.12.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Improperly fitting of boxes here cause a faint white seam at the top border. Often caused by rounding mismatches or sub-pixel rendering errors. This can be fixed with:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token property&quot;&gt;border-collapse&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; collapse&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;code&gt;border-radius&lt;/code&gt; is also improperly applied on the bottom two corners.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.45.51.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ This element&#39;s height exceeds the parent container&#39;s height.&lt;/p&gt;
&lt;pre class=&quot;language-css&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token property&quot;&gt;box-sizing&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; border-box&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token property&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 100%&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.32.23.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ This element&#39;s bottom corners escape the parent and lack the expected radius.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.35.19.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Some tabs have incorrect heights, and the corners do not align squarely.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.35.28.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Other tabs are correctly aligned.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.42.28.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ And then they break again.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.36.37.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Some tabs escape their containers entirely.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.43.06.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Sometimes an incorrect &lt;code&gt;border-radius&lt;/code&gt; causes color breaks at tab meeting points.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2013.16.23.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Here&#39;s a close-up. The &lt;code&gt;border-radius&lt;/code&gt; is incorrect, and the &lt;code&gt;background-color&lt;/code&gt; is set on the wrong element.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.33.06.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Sometimes tabs are blue.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.32.05.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Other times, they are white, and have beveled corners.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.28.52.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Some tab elements have double borders where they shouldn&#39;t. This could use some padding on top, too. It&#39;s clear there is no GitHub &amp;quot;Tab&amp;quot; component; each is designed differently.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.41.11.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Borders can appear in various colors. There are five different colors in the picture above. GitHub has an error that loads its stylesheet in the browser 10 times, making it tedious to check whether color variables are being applied correctly.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.37.58.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Sometimes borders are transparent.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.41.51.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Here, the last item in a list has a &lt;code&gt;border-bottom&lt;/code&gt; that it shouldn&#39;t. You can fix that like this:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;ul li:last-child&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;border-bottom&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;/* remove border from the last item */&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.33.35.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Similar issue here.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.41.32.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Empty lists sometimes display a bottom border unnecessarily. You can use&lt;code&gt;:empty&lt;/code&gt;to fix this:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;ul:empty&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;border&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;/* remove any border if the list has no items */&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But, more than likely, the border is just being applied to the wrong element.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.43.48.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Icons are not centered within their containers. This can be fixed with:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token property&quot;&gt;vertical-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; center&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.23.59.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ A search bar shows a faint border above &lt;code&gt;is:open&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.46.04.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ This box is misaligned.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.47.24.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ This one too.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.47.31.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Hovering creates a new border, slightly shifting the Star button.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.48.19.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Progress bars extend beyond their parent containers. Here are some possible fixes to add to the parent:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token property&quot;&gt;overflow&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; hidden&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token property&quot;&gt;border-radius&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; inherit&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.49.11.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Elements have double borders that shouldn&#39;t appear.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2008.08.18.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Some elements use both &lt;code&gt;border-radius&lt;/code&gt; and &lt;code&gt;box-shadow&lt;/code&gt; to display edges. This &lt;code&gt;span&lt;/code&gt; element has an additional &lt;code&gt;background-color&lt;/code&gt; value that adds a visual white sliver between the two, for unusual results.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.53.50.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Organization avatars are sometimes square, and personal accounts are sometimes circular.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.53.44.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Occasionally, both types are circular.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.51.20.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Occasionally, they both have two circles.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.19.35.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Avatar borders are sometimes cut off.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.33.54.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ This one is a bit more.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.54.41.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ The avatar is OK here, but the badge is cut off, and the interior icon is misaligned.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.54.53.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Another avatar cutoff.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/Screenshot%202025-11-06%20at%2009.30.21.webp&quot; alt=&quot;Screenshot&quot;&gt;&lt;br&gt;
↑ Square avatars can be cut off, too.&lt;/p&gt;
&lt;p&gt;That&#39;s not to mention:&lt;/p&gt;
&lt;p&gt;How ridiculously slow the website is. On a website with mostly text content, page load times take forever.&lt;/p&gt;
&lt;p&gt;Image rendering is fuzzy across all images. Images are clearly being compressed, then scaled back up to the wrong size.&lt;/p&gt;
&lt;p&gt;There is no design system whatsoever. Button-to-button, every piece of UI on the website is slightly different, with different colors, shading, hover effects, affordances, and spacing. It&#39;s almost as if each team at GitHub is responsible for a single button, but they have to design it from memory without looking at any of the others.&lt;/p&gt;
&lt;p&gt;If you see any other issues you would like to share with me, please don&#39;t. My life is hard enough.&lt;/p&gt;
</content>
		<description>&lt;p&gt;As a professional software developer working in open source, I spend most of my day on GitHub. GitHub is essentially a UI wrapper for Git’s core version control system, with a few added features for team planning. The irony? GitHub, a platform that preaches the gospel of code review, doesn’t seem to apply it much to its own front-end.&lt;/p&gt;
&lt;p&gt;Here is a short sample of UI errors on the site that make me want to pull my hair out every day. If you look closely, there is an error on almost every piece of UI on GitHub&#39;s website. These are usually the kinds of things that any newbie in CSS would instantly know not to do, so it&#39;s a wonder that they didn&#39;t get caught before being pushed to production, or that they haven&#39;t been fixed since (I&#39;ve been staring at some of these bugs for years).&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>Fires on Cruise Ships</title>
		<link href="https://earthly-delights.net/blog/fires-on-cruise-ships/"/>
		<updated>2025-08-04T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/fires-on-cruise-ships/</id>
		<content type="html">&lt;p&gt;I watched a Netflix documentary a few weeks ago about a Carnival cruise ship that caught on fire. The documentary is called &lt;em&gt;Trainwreck: Poop Cruise&lt;/em&gt;. Typical of Netflix&#39;s oeuvre, the production quality of this 55-minute program was so bizarre and eerie that it left me with more questions than answers, including, how common are fires on cruise ships anyway?&lt;/p&gt;
&lt;p&gt;Briefly about the documentary: the engine room fire burned through the ship&#39;s electrical cables. The flush mechanism on all toilets on board was tied to the electricity, hence the name &lt;em&gt;Poop Cruise&lt;/em&gt;. For a #1, the four thousand passengers were asked to pee in their showers; for a #2, they were given red plastic bags to use. It took five days for tugboats to arrive from Mexico to pull the drifting ship. Tension from the towlines caused the vessel to list dramatically, overflowing sewage onto carpeted hallways, cafeterias, decks, and staircases. Passengers say the smell was so horrific, the ship descended into animal farm-style chaos, and passengers hoarded blankets, mattresses, chairs, and drinks from the open bar (which worsened the sewage problem) as they all moved onto the top decks for fresh air.&lt;/p&gt;
&lt;p&gt;The fire on Carnival Triumph burned so hot that engineers had to wait several days until deck C stopped glowing red before they could get close enough to inspect it. It was caused by faulty flexible fuel lines that ran through the engine room and leaked fuel. These lines should have been retrofitted with an additional cover, but the ship was overdue for maintenance by over a year, despite nine fuel leaks from the lines occurring over the past two years.&lt;/p&gt;
&lt;p&gt;I learned from several websites from law firms that represent cruise ship passengers that engine fires are not uncommon on cruise ships. Engine rooms have many hot surfaces that can cause &lt;a href=&quot;https://youtu.be/tKXiNdJMhgA?feature=shared&amp;amp;t=668&quot;&gt;explosive fire&lt;/a&gt;. A cruise ship is as long as a skyscraper is tall, and operates somewhat like a city. Anything that can happen in a city can happen on a cruise ship, especially fire. In 1999, &lt;em&gt;Tropicale&#39;s&lt;/em&gt; engine room caught fire. It spent two days without propulsion before being towed back to shore. In 2010, the generator room on the Carnival Splendor caught fire. In 2015, &lt;em&gt;Carnival Pride&lt;/em&gt; reported a &amp;quot;flameless fire&amp;quot;, reporting smoke but no fire aboard. Also in 2015, the engine room of &lt;em&gt;Carnival Liberty&lt;/em&gt; caught fire. In 2019, &lt;em&gt;Carnival Legend&lt;/em&gt;&#39;s engine room caught fire. In 2019, &lt;em&gt;Carnival Sensation&lt;/em&gt; denied that a fire had even occurred, claiming it was a &amp;quot;smokeless event&amp;quot;, though passengers reported smoke &amp;quot;so thick you could not see&amp;quot;. In 2022, Carnival Freedom suffered a fire within its tunnel, and videos of the incident spread widely on TikTok.&lt;/p&gt;
&lt;p&gt;These are just a few incidents from a single subsidiary of Carnival Corporation. Carnival Cruise Line&#39;s parent company, Carnival Corporation, also operates Princess Cruises, Costa Cruises–which you may recall from the famous capsizing in Italy, which resulted in the deaths of 32 people–, Cunard, Holland America, and other smaller fleets, in total operating 39% of the world&#39;s cruise ships. Owner Ted Arison founded the company in 1972 after his partnership with his co-founder at Norwegian Cruise Lines deteriorated. In 1990, Arison renounced his U.S. citizenship to avoid estate taxes. He died nine months before he was able to meet the requirements for the benefits of his renunciation to be realized. This was not too disastrous in the long run, however, as his family is now the wealthiest in Israel.&lt;/p&gt;
&lt;p&gt;While Carnival is an American and British company, cruise lines are incorporated in foreign countries, such as Panama, the Bahamas, Bermuda, and Liberia, and operate under Flags of Convenience. The flag ships fly under determine the labor laws applicable to the vessel, as well as regulations governing ship construction, fire protection systems, life-saving devices, and more.&lt;/p&gt;
&lt;p&gt;Unlike airlines, which the FAA closely regulates, there is no federal agency governing cruise ships. Ships that dock in American ports are required to undergo a U.S. Coast Guard inspection every 12 months; however, these inspections are typically conducted under strict time constraints. The International Maritime Organization, which sets international regulations for cruise ships, is a United Nations organization. As such, it cannot impose fines or criminal sanctions and has no authority to enforce any guidelines it sets. This obligation of enforcement is the responsibility of the flag states, like Panama, where Carnival Cruises operates.&lt;/p&gt;
&lt;p&gt;For Carnival, Panamanian incorporation not only helps avoid regulatory scrutiny but also alleviates the burden of labor costs on board. A cruise ship loaded with 4,000 people can have as many as 1,500-2,000 working crew members, from cooks to cleaners to captains. It would not be possible to operate an affordable cruise ship while paying workers minimum wage salaries congruent with American or British labor laws, so the cruise industry needs to rely on foreign workers, mostly young men from the Philippines. Luckily, cruise ships offer a means for foreign workers to work abroad indefinitely and visa-free, earning as little as £0.75 per hour when accounting for overtime work, which can be as much as 80 hours per week. This marginality &lt;em&gt;can&lt;/em&gt; attract the wrong elements; this year alone, there have been seventeen arrests for crew possessing, creating, or distributing child sexual abuse material.&lt;/p&gt;
&lt;p&gt;This kind of carelessness strikes me as a disaster waiting to happen. Though they&#39;ve since changed it, Carnival&#39;s ticketing at the time of Triumphs &lt;em&gt;Poop Cruise&lt;/em&gt; stated it ‘makes absolutely no guarantee for safe passage, a seaworthy vessel, adequate and wholesome food, and sanitary and safe living conditions’, which is disturbing on a vessel where, when things go wrong, they can go wrong very quickly. I&#39;m reminded of the MS &lt;em&gt;Estonia&lt;/em&gt;, which sank within 10-20 minutes of its first mayday call, killing 852 people. The gravity of the disaster was primarily attributed to &lt;em&gt;Estonia&lt;/em&gt;&#39;s crew, whose passive attitude delayed the alarm. &lt;a href=&quot;https://www.theatlantic.com/magazine/archive/2004/05/a-sea-story/302940/&quot;&gt;Those who survived&lt;/a&gt; were the ones who recognized the gravity of the situation before the official Mayday alert was issued.&lt;/p&gt;
&lt;p&gt;It takes a lot of soul searching to try to understand what kind of sick, depraved soul would ever get on a cruise ship, and I&#39;m not even talking about the fires anymore.&lt;br&gt;
More concerningly, maybe than anything, this year, the Trump administration laid off the workers from the CDC who inspect cruise ships. I recommend even less than before getting in one of those communal hot tubs or leaning in too close to a buffet. This is where the true danger lies. But maybe I&#39;m just not built for it. Online on Reddit, responding to one passenger who had experienced a fire on their boat, an anonymous user comments: &amp;quot;You overreacted and let it ruin your vacation... A small fire is by no means a huge, life-threatening emergency. I’m sorry your anxiety and fear got in the way; that’s a real shame.&amp;quot;&lt;/p&gt;
</content>
		<description>&lt;p&gt;I watched a Netflix documentary a few weeks ago about a Carnival cruise ship that caught on fire. The documentary is called &lt;em&gt;Trainwreck: Poop Cruise&lt;/em&gt;. Typical of Netflix&#39;s oeuvre, the production quality of this 55-minute program was so bizarre and eerie that it left me with more questions than answers, including, how common are fires on cruise ships anyway?&lt;/p&gt;
&lt;p&gt;Briefly about the documentary: the engine room fire burned through the ship&#39;s electrical cables. The flush mechanism on all toilets on board was tied to the electricity, hence the name &lt;em&gt;Poop Cruise&lt;/em&gt;. For a #1, the four thousand passengers were asked to pee in their showers; for a #2, they were given red plastic bags to use. It took five days for tugboats to arrive from Mexico to pull the drifting ship. Tension from the towlines caused the vessel to list dramatically, overflowing sewage onto carpeted hallways, cafeterias, decks, and staircases. Passengers say the smell was so horrific, the ship descended into animal farm-style chaos, and passengers hoarded blankets, mattresses, chairs, and drinks from the open bar (which worsened the sewage problem) as they all moved onto the top decks for fresh air.&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>Eating only MEAT for 30 days – tips, tricks &amp; updates on my cholesterol</title>
		<link href="https://earthly-delights.net/blog/the-carnivore-diet/"/>
		<updated>2025-06-06T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/the-carnivore-diet/</id>
		<content type="html">&lt;p&gt;When I was seventeen, I read a book called &lt;em&gt;Ishmael&lt;/em&gt; by Daniel Quinn that I found on my twelfth-grade civics teacher&#39;s bookshelf. Quinn suggests that the biblical tale of Cain and Abel is an allegory for human division that began with the development of agriculture. Before agriculture, hunter-gatherers lived in harmony with the laws of nature, but agriculture brought the desire to create and control life, a power that previously belonged only to the gods. Quinn believes that civilization has never recovered from this split.&lt;/p&gt;
&lt;p&gt;This book blew my mind, and at seventeen, I was briefly a devotee of anarcho-primitivism, unaware that this was not an idea that originated with Quinn. Author Yuval Noah Harari of the book &lt;em&gt;&lt;a href=&quot;https://sapienshate.club/&quot;&gt;Sapiens&lt;/a&gt;&lt;/em&gt; suggests that inequality was an aberration that came with agriculture. While agriculture promoted population growth, it made individual lives worse than those of hunter-gatherers, as diets and daily lives became significantly less varied.&lt;/p&gt;
&lt;p&gt;This argument predates even Harari, at least as far back as the Enlightenment. Discussing the authority of state power, Jean-Jacques Rousseau suggests a hypothetical &amp;quot;state of nature&amp;quot; in which humans were free, self-sufficient, and equal. Inequality, corruption, and disease were caused by an unjust state. Rousseau, in his &lt;em&gt;Discourse on Inequality&lt;/em&gt;, says:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;The horse, the cat, the bull, nay the ass itself, have generally a higher stature, and always a more robust constitution, more vigour, more strength and courage in their forests than in our houses; they lose half these advantages by becoming domestic animals; it looks as if all our attention to treat them kindly, and to feed them well, served only to bastardize them. It is thus with man himself. In proportion as he becomes sociable and a slave to others, he becomes weak, fearful, and mean-spirited, and his soft and effeminate way of living at once completes the enervation of his strength and his courage. We may add, that there must be still a wider difference between man and man in a savage and domestic condition, than between beast and beast; for as men and beasts have been treated alike by nature, all the conveniences with which men indulge themselves more than they do the beasts tamed by them, are so many particular causes which make them degenerate more sensibly.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Rousseau&#39;s &lt;em&gt;Discourse on Inequality&lt;/em&gt; is responding to Thomas Hobbes, who claimed that life in the &amp;quot;state of nature&amp;quot; was something &amp;quot;nasty, brutish, and short.&amp;quot; Hobbes thought that society was necessary to rescue humanity from its primitive condition, no matter how authoritarian it became.&lt;/p&gt;
&lt;p&gt;But were things better in the past than they are now? I go back and forth a lot on the answer, and probably spend more of my free time thinking about this than I should. For example, as summer is nearly here, I am trying to gain a few pounds of lean muscle to impress my friends. I&#39;ve tried everything: injections, creatine, counting calories, that rare fish diet, but nothing sticks. The web&#39;s decline in quality has made me skeptical of wisdom from top sites like &lt;em&gt;Healthline&lt;/em&gt;, &lt;em&gt;WebMD&lt;/em&gt;, or &lt;em&gt;The New York Times&lt;/em&gt;, so I have started conducting all my exercise research via Instagram Reels, which have become my life line. Reels blur out all but my immediate interests, determining what restaurants I eat at, where I travel (and what I do there), what to read, and lately what to eat. But, it doesn&#39;t solve everything.&lt;/p&gt;
&lt;p&gt;On reels, I am served diet advice from two opposing camps: one consists of disciples of &lt;em&gt;The Carnivore Diet&lt;/em&gt;. These are sunburnt middle-aged men who eat fried ground beef, entire sticks of butter, and slurp down piles of cold, dilapidated, lard-soaked eggs. Author and athlete Shawn Baker, creator of &lt;em&gt;The Carnivore Diet&lt;/em&gt;, became interested in an all-meat diet after finding success on Keto. After his divorce and the loss of his medical license (for suggesting that his patients eat only meat), he had a little more time on his hands to research the health benefits of meat. In an interview with Joe Rogan, he says he &amp;quot;studied Facebook groups like an anthropologist&amp;quot; and began to wonder if a meat-based diet was the key to vitality. In 2016, Baker decided to take his theories more seriously and tested a thirty-day meat-only experiment, posting photos and videos online every day. Each day, he consumed over two pounds of meat. Baker caveats that his evidence is anecdotal and not scientific, but you can see the picture below. The results are incredible. He looks fantastic.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSSqGeQ35Sp7GzKi0ma0DCKCC_kH1SJBA2EDfW0npK6qcBNWLYtaFHd_sNCGv-G9IqgR5sTXtX2fQ4lAVgLxItZlA&quot; alt=&quot;Shawn Baker: Quacks like Liver King helped my carnivore crusade - Unfiltered&quot;&gt;&lt;/p&gt;
&lt;p&gt;Paul Saladino, advocate of the carnivore diet, says life in hunter-gatherer civilizations was not &amp;quot;nasty, brutish, and short&amp;quot;. The reason why lifespans are shorter in these societies is due to higher infant mortality rates. In a hunter-gatherer society, if a child makes it past infancy, they will live to be way stronger and healthier. He notes, an &amp;quot;ancestral lifestyle&amp;quot; is not just about eating meat, but adopting more &amp;quot;natural&amp;quot; practices in all aspects of life. Meat advocate Brian Johnson, also known as the Liver King, says on his website that, &amp;quot;The key to unlocking a robust long life lies in our evolutionary past. Our DNA has evolved over the past 2.5 million years, and our bodies have adapted to extreme environmental conditions. The ways of our ancestors-the ways that Liver King has lived for the last 20 years-are better known as the 9 Ancestral Tenets&amp;quot;. Those are - Sleep, Eat, Move, Shield, Connect, Cold, Sun, Fight, Bond.&amp;quot;&lt;/p&gt;
&lt;p&gt;Yes, on all-meat, your cholesterol might be high, but we&#39;re learning each day that cholesterol is not as important as we thought. The important thing is that these influencers look strong. They feel healthier than ever. They finally have some control over their diets, and their testosterone is through the roof. Experts are not sure of the cause, but they believe living more ancestrally works to raise testosterone in men. I interviewed my sister, a registered nurse, to see if we should be concerned about the declining testosterone levels we are seeing among men in modern society. She said, &amp;quot;I&#39;m not sure why anyone cares. Seems like there could be a lot of positives about it.&amp;quot;&lt;/p&gt;
&lt;p&gt;The other camp, the diet camp opposed to the Carnivore diet, is spearheaded by celebrity Bryan Johnson (not to be confused with Brian Johnson, the Liver King). Johnson, a tech entrepreneur and biohacker and has garnered attention for his ambitious anti-aging initiative known as &amp;quot;Project Blueprint.&amp;quot; He spends $2 million annually on a meticulously structured regimen designed to reverse his biological age. His daily routine includes waking at 4:30 a.m., consuming all meals before 11 a.m., and ingesting a complex array of supplements totaling more than 100 pills per day. His plant-based diet emphasizes nutrient-dense foods, such as lentils, vegetables, berries, nuts, and seeds, while excluding processed foods, added sugars, and animal products, except for collagen peptides. Johnson&#39;s lifestyle also incorporates rigorous exercise, red light therapy, and various biometric assessments. The aim of his project is &amp;quot;Don&#39;t Die&amp;quot;, and his goal is to live forever using every tool modern science has at our disposal. His vision is a Hobbesian one, suggesting that even an extraordinarily restrictive lifestyle like his is preferable to the chaotic, degenerative force of nature left unchecked. This desire to live forever is, of course, an old myth itself. Here&#39;s a sign from a museum of archaeology from 200 BC I saw when I was in China last month:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/china.png&quot; alt=&quot;https://earthly-delights.net/img/china.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;Recently, I was laying naked in an octagonal sauna when it all came rushing back—the meat, &lt;em&gt;Ishmael&lt;/em&gt;, Hobbes, the lunatics online, and that strange instinct for extremes I keep noticing in people I know in real life. For me, I&#39;m no meat-eater (yet), but I do use wooden cutting boards (when the plastic one is dirty), avoid palm oil, sauna regularly with old ladies at the gym, and tan my vagina in the sun on the co-ed German patios because Shailene Woodley told me it would make me look healthier. Whether we are aware of it or not, we are all disciples of someone, we&#39;ve just glossed our opinions of state authority into opposing lifestyle fantasies.&lt;/p&gt;
&lt;p&gt;In terms of what we ate in the ancient past, molecular biologist Marion Nestle argues that &amp;quot;knowledge of the relative proportions of animal and plant foods in the diets of early humans is circumstantial, incomplete, and debatable, and that there are insufficient data to identify the composition of a genetically determined optimal diet.&amp;quot; We were probably just opportunistic omnivores. Whether we should be disciples of Hobbes or Rousseau, of this debate, Frederick Jameson says, &amp;quot;Both &#39;Tragic&#39; viewpoints thus remain imprisoned in the ideological myth which opposes Nature to Civilization, so that whichever alternative is chosen, it perpetuates the feeling that there is some radical incompatibility between individual life and the social order. &amp;quot;&lt;/p&gt;
</content>
		<description>&lt;p&gt;When I was seventeen, I read a book called &lt;em&gt;Ishmael&lt;/em&gt; by Daniel Quinn that I found on my twelfth-grade civics teacher&#39;s bookshelf. Quinn suggests that the biblical tale of Cain and Abel is an allegory for human division that began with the development of agriculture. Before agriculture, hunter-gatherers lived in harmony with the laws of nature, but agriculture brought the desire to create and control life, a power that previously belonged only to the gods. Quinn believes that civilization has never recovered from this split.&lt;/p&gt;
&lt;p&gt;This book blew my mind, and at seventeen, I was briefly a devotee of anarcho-primitivism, unaware that this was not an idea that originated with Quinn. Author Yuval Noah Harari of the book &lt;em&gt;&lt;a href=&quot;https://sapienshate.club/&quot;&gt;Sapiens&lt;/a&gt;&lt;/em&gt; suggests that inequality was an aberration that came with agriculture. While agriculture promoted population growth, it made individual lives worse than those of hunter-gatherers, as diets and daily lives became significantly less varied.&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>The sieve of Eratosthenes</title>
		<link href="https://earthly-delights.net/blog/sieve-of-eratosthenes/"/>
		<updated>2025-06-02T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/sieve-of-eratosthenes/</id>
		<content type="html">&lt;p&gt;One of the first algorithms any programmer interested in mathematics learns is the sieve of Eratosthenes. This is a simple algorithm that determines which numbers in a given range are prime, and it forms the basis of many more complex algorithmic problems.&lt;/p&gt;
&lt;p&gt;Given a list of consecutive integers starting from 2 up to a chosen maximum value &lt;code&gt;n&lt;/code&gt;, the algorithm selects the first number in the list (2) and marks it as prime. It then marks all multiples of this number as non-prime. Next, it proceeds to the following unmarked number in the list, marks it as prime, and marks all of its multiples as non-prime. This process continues, moving to the following unmarked number and marking its multiples, until it reaches the square root of n, and the algorithm stops.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/9/94/Animation_Sieve_of_Eratosth.gif&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Primality testing is crucial to the field of cryptography, where large prime numbers are often generated for public-key encryption. The sieve of Eratosthenes is not used in complex cryptographic applications because more efficient algorithms are now available for probabilistically testing primality, such as the Miller-Rabin test. This standard method for generating prime numbers involves generating random values and using primality tests to determine whether they are prime or not.&lt;/p&gt;
&lt;p&gt;However, the sieve remains a popular benchmark of computer performance due to its efficient time complexity: &lt;code&gt;O(n log log n)&lt;/code&gt;, and for its novelty. The earliest known reference to this algorithm dates back to the 2nd century CE, attributed to the ancient Greek polymath Eratosthenes of Cyrene.&lt;/p&gt;
&lt;p&gt;Born in 276 BC in modern Libya, Eratosthenes was a mathematician, geographer (he coined the term), poet, astronomer, and music theorist. He was the chief librarian of the Library of Alexandria. There, he tutored Ptolemy IV and spent his free time copying books with such perfect quality that the library could not determine which book was the original and which was the duplicate. During his time in Alexandria, he devised a calendar based on the Earth&#39;s rotation. He calculated that every year consisted of 365 days, with every fourth year containing 366 days.&lt;/p&gt;
&lt;p&gt;He also described and mapped the world, dividing the Earth into five climate zones with two freezing zones around the poles, two temperate zones, and a zone encompassing the equator and the tropics. Eratosthenes hypothesized that the Mediterranean had once been a vast lake, and that it only became connected to the ocean when a passage opened up at some point in its history. Evidence of this theory is found today through sediment deposits around the Mediterranean. Known as the Zanclean deluge theory, it is accepted as a possible cause of the formation of the Strait of Gibraltar.&lt;/p&gt;
&lt;p&gt;Eratosthenes was also the first person to calculate the circumference of the Earth and the first to measure its axial tilt. He achieved this by measuring the angles of the sun with a rod in two different cities that he believed to be on the same meridian. The distance between the two cities was measured by bematists, specialists who were trained to measure distance by counting their steps. He divided the distance by the difference in the shadow angles, estimating a meridian length of 252,000 stadia. His estimation was correct to approximately −2.4% and +0.8%. This number is an approximation because the exact length of the ancient Greek unit of measurement he used, the stadion, is not known to us today.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Eratosthenes_measure_of_Earth_circumference.svg/500px-Eratosthenes_measure_of_Earth_circumference.svg.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Late in life, Eratosthenes contracted ophthalmia, swelling of the eyes, and he became blind. Without the ability to read, he voluntarily starved himself to death. When I get down and forget the point of what exactly I&#39;m doing here, I like to remember that every new idea starts with a simple question.&lt;/p&gt;
</content>
		<description>&lt;p&gt;One of the first algorithms any programmer interested in mathematics learns is the sieve of Eratosthenes. This is a simple algorithm that determines which numbers in a given range are prime, and it forms the basis of many more complex algorithmic problems.&lt;/p&gt;
&lt;p&gt;Given a list of consecutive integers starting from 2 up to a chosen maximum value &lt;code&gt;n&lt;/code&gt;, the algorithm selects the first number in the list (2) and marks it as prime. It then marks all multiples of this number as non-prime. Next, it proceeds to the following unmarked number in the list, marks it as prime, and marks all of its multiples as non-prime. This process continues, moving to the following unmarked number and marking its multiples, until it reaches the square root of n, and the algorithm stops.&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>Playing Worldle</title>
		<link href="https://earthly-delights.net/blog/playing-worldle/"/>
		<updated>2025-05-12T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/playing-worldle/</id>
		<content type="html">&lt;p&gt;While inside during the pandemic, you may have played a map-based puzzle game called &lt;em&gt;Worldle&lt;/em&gt;. &lt;em&gt;Worldle&lt;/em&gt;&#39;s premise is simple: every day, you are given an outline of a country, and you have six guesses to guess what country it is. For example, what country is this?&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/worldle-mexico.webp&quot; alt=&quot;https://earthly-delights.net/img/worldle-mexico.webp&quot;&gt;&lt;/p&gt;
&lt;p&gt;I got this one, no problem. I&#39;m a bit of a geography buff because Dani has a quiz app on her phone that we play while drinking beer at the bar. That&#39;s why I was surprised to see a long, skinny country I had never seen before when playing a few weeks ago. Do you know what country this is?&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/worldle-morocco.png&quot; alt=&quot;https://earthly-delights.net/img/worldle-morocco.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;If you guessed Morocco, you would be correct. This answer caught me off guard because when I was twenty, I travelled for three months around Morocco. During that time, I spent a considerable amount of time in and out of gift shops, where I became intimately familiar with the country&#39;s boot-like outline emblazoned on bags, shirts, and earrings.&lt;/p&gt;
&lt;p&gt;This wasn&#39;t the outline on &lt;em&gt;Worldle&lt;/em&gt;. Strangely, they had chosen to recognize a portion of Western Sahara, a sparsely populated region claimed by the indigenous Sahrawi people, as part of Morocco, doubling its length. This was a strange editorial decision for a puzzle game, as only two countries currently recognize Moroccan sovereignty over Western Sahara: The United States and Israel. This recognition dates back to 2020, when the United States announced that it would recognize Moroccan sovereignty over Western Sahara in exchange for Morocco normalizing relations with Israel.&lt;/p&gt;
&lt;p&gt;I missed the bus and had to walk to work last week. During my walk, I couldn&#39;t stop thinking about how strange it was that &lt;em&gt;Worldle&lt;/em&gt; made that choice, and I wondered if they had made other controversial cartographic decisions. I was able to find some information on the dataset they used to create their online maps, called &lt;em&gt;Natural Earth&lt;/em&gt;, via an outdated version of one of their other games that was still online. It said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;quot;Natural Earth draws boundaries of sovereign states according to de facto (“in fact”) status rather than de jure (“by law”). We show who actually controls the situation on the ground because it turns out laws vary country to country, and countries are only loosely bound by international law in their dealings with each other. While our de facto policy does not please everyone, it is rigorous and self consistent.&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This dataset is a widely used mapping dataset created by &lt;em&gt;The Washington Post&lt;/em&gt;. Theoretically, their &amp;quot;de facto&amp;quot; approach to cartography makes some sense. At any given time, there are countless border disputes across the world. These can be minor disputes, like France and Italy, who disagree over the details of much of their Alpen border, including which country the famous peak Mount Blanc is located in (if you scroll into Google Maps you can see diverging dotted lines through the popular tourist destination), or prominent: both the People&#39;s Republic of China and the Republic of China (Taiwan) recognize sovereignty over mainland China. &amp;quot;One China&amp;quot; asserts that there is only one de jure Chinese nation, despite the de facto division between the two governments that has existed since the Chinese Civil War.&lt;/p&gt;
&lt;p&gt;These &amp;quot;Points of View,&amp;quot; as Natural Earth refers to them, create mutually unrecognizable maps. This is a problem that all map makers have to contend with when determining their borders. Recently, for example, Google Maps came under scrutiny for employing a point-of-view approach to this problem, altering borders based on the location from which the map was viewed. This, critics felt, legitimized the hostile actions of authoritarian regimes. Natural Earth believes this also creates confusion for map users: users wouldn&#39;t want to travel from point A to point B and realize on arrival that a different power occupied point B than they thought.&lt;/p&gt;
&lt;p&gt;De facto maps aren&#39;t without controversy either. They favor the occupying presence in any territory, whether that occupation is legal or not. Natural Earth chooses, for example, to display Crimea as an undisputed part of Russia, neutering the outline of Ukraine that we have all become so familiar with into an unrecognizable blob. This prominent example has drawn criticism online for the open-source mapping service. On Github Issues, I scroll past open issues with thousands and thousands of comments, photos of dead bodies, discussions like whether or not the West Bank should now be dotted out to represent the areas occupied by Israeli settlers, and users litigating every moral and legal argument for why Crimea should be a rightful part of Ukraine. The moderators, employees at &lt;em&gt;The Washington Post&lt;/em&gt;, are used to the barrage, and calmly use these simple criteria to determine who the occupying force in a region is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Test 1: Can an &amp;quot;average&amp;quot; citizen from the given Country travel to Region C and exercise the same freedoms as they can in their home country?&lt;/p&gt;&lt;p&gt;Test 2: Can an &amp;quot;average&amp;quot; citizen from Region C travel to the given Country and exercise the same rights as they can in Region C?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Using these tests, they classify Crimea as a de facto part of Russia, despite Ukraine holding a &lt;em&gt;de jure&lt;/em&gt; legal claim to it.&lt;/p&gt;
&lt;p&gt;Occupation, however, is not as straightforward as you would think. There are plenty of places where the above would be true, but Natural Earth does not consider them stable enough to be considered territories. For example, though Crimea, occupied since 2014, is labeled as part of Russia, Luhansk, Donetsk, Zaporizhzhia, and Kherson are still considered Ukrainian territory, even though they are also technically occupied.&lt;/p&gt;
&lt;p&gt;Similarly, Abkhazia and South Ossetia, breakaway states within the nation of Georgia, have been de facto administered by their self-proclaimed republics since 1992 and are recognized as independent states by Russia. Despite this, because they use the Russian ruble as their currency, hold Russian passports for travel abroad, and use Russian telephone numbers, Natural Earth considers them part of Russia. Here is a guide from Wikipedia on the criteria.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Territory in question&lt;/th&gt;
&lt;th&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Government_of_the_Autonomous_Republic_of_Abkhazia&quot; title=&quot;Government of the Autonomous Republic of Abkhazia&quot;&gt;Autonomous Republic of Abkhazia&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;former &lt;a href=&quot;https://en.wikipedia.org/wiki/South_Ossetian_Autonomous_Oblast&quot; title=&quot;South Ossetian Autonomous Oblast&quot;&gt;South Ossetian Autonomous Oblast&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Claimed by&lt;/td&gt;
&lt;td&gt;&lt;br&gt; Georgia (country) (1992–present)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;De-facto administrated by&lt;/td&gt;
&lt;td&gt;&lt;br&gt; Abkhazia (1992–present)&lt;/td&gt;
&lt;td&gt;&lt;br&gt; South Ossetia (1992–present)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Russia&quot; title=&quot;Russia&quot;&gt;Russia&lt;/a&gt; considers it part of its territory?&lt;/td&gt;
&lt;td&gt;No, Russia recognises Abkhazia as an independent state&lt;a href=&quot;https://en.wikipedia.org/wiki/Russian-occupied_territories_in_Georgia#cite_note-1&quot;&gt;[1]&lt;/a&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Russian-occupied_territories_in_Georgia#cite_note-2&quot;&gt;[2]&lt;/a&gt; since 2008 following the &lt;a href=&quot;https://en.wikipedia.org/wiki/Russo-Georgian_War&quot; title=&quot;Russo-Georgian War&quot;&gt;Russo-Georgian War&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No, Russia recognises South Ossetia as an independent state&lt;a href=&quot;https://en.wikipedia.org/wiki/Russian-occupied_territories_in_Georgia#cite_note-3&quot;&gt;[3]&lt;/a&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Russian-occupied_territories_in_Georgia#cite_note-4&quot;&gt;[4]&lt;/a&gt; since 2008 following the &lt;a href=&quot;https://en.wikipedia.org/wiki/Russo-Georgian_War&quot; title=&quot;Russo-Georgian War&quot;&gt;Russo-Georgian War&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nature of occupation&lt;/td&gt;
&lt;td&gt;Presence of the &lt;a href=&quot;https://en.wikipedia.org/wiki/7th_Military_Base&quot; title=&quot;7th Military Base&quot;&gt;7th Military Base&lt;/a&gt;, opposed by Georgia&lt;/td&gt;
&lt;td&gt;Presence of the &lt;a href=&quot;https://en.wikipedia.org/wiki/4th_Guards_Military_Base&quot; title=&quot;4th Guards Military Base&quot;&gt;4th Guards Military Base&lt;/a&gt;, opposed by Georgia&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;De-facto armed forces&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Abkhazian_Armed_Forces&quot; title=&quot;Abkhazian Armed Forces&quot;&gt;Abkhazian Armed Forces&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Armed_Forces_of_South_Ossetia&quot; title=&quot;Armed Forces of South Ossetia&quot;&gt;Armed Forces of South Ossetia&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;De-facto circulating currency&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Russian_ruble&quot; title=&quot;Russian ruble&quot;&gt;Russian ruble&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passports&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Abkhazian_passport&quot; title=&quot;Abkhazian passport&quot;&gt;Abkhazian passport&lt;/a&gt;. Residents are also eligible for &lt;a href=&quot;https://en.wikipedia.org/wiki/Russian_passport&quot; title=&quot;Russian passport&quot;&gt;Russian passports&lt;/a&gt; for travel abroad.&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/South_Ossetian_passport&quot; title=&quot;South Ossetian passport&quot;&gt;South Ossetian passport&lt;/a&gt;. Residents are also eligible for &lt;a href=&quot;https://en.wikipedia.org/wiki/Russian_passport&quot; title=&quot;Russian passport&quot;&gt;Russian passports&lt;/a&gt; for travel abroad.&lt;a href=&quot;https://en.wikipedia.org/wiki/Russian-occupied_territories_in_Georgia#cite_note-5&quot;&gt;[5]&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Under &lt;a href=&quot;https://en.wikipedia.org/wiki/Telephone_numbers_in_Russia&quot; title=&quot;Telephone numbers in Russia&quot;&gt;Russian telephone numbering plan&lt;/a&gt;?&lt;/td&gt;
&lt;td&gt;Yes, &lt;a href=&quot;https://en.wikipedia.org/wiki/Telephone_numbers_in_Abkhazia&quot; title=&quot;Telephone numbers in Abkhazia&quot;&gt;+7 (840) and +7 (940)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yes, &lt;a href=&quot;https://en.wikipedia.org/wiki/Telephone_numbers_in_South_Ossetia&quot; title=&quot;Telephone numbers in South Ossetia&quot;&gt;+7 (850) and +7 (929)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Natural Earth&#39;s choice here reflects the 1933 Montevideo Convention&#39;s declarative theory of statehood which defines a state as a person in international law if it meets the following criteria: 1) a defined territory; 2) a permanent population; 3) a government and 4) a capacity to enter into relations with other states.&lt;/p&gt;
&lt;p&gt;Abkhazia and South Ossetia don&#39;t quite meet this criteria for statehood. By contrast, Natural Earth considers Somaliland independent, even though it is not commonly internationally recognized because it possesses sufficient self-sustaining infrastructure that Abkhazia and South Ossetia lack. This lack of self-supporting infrastructure is why other occupied areas, like parts of Myanmar, Libya, or Syria, are not regarded as independent states.&lt;/p&gt;
&lt;p&gt;The game &lt;em&gt;Worldle&lt;/em&gt; hasn&#39;t copied Natural Earth verbatim, however. They chose to make a few of their own decisions, editorializing the de facto map into something more palatable for puzzle gamers drinking their morning coffee. For example, they removed Guantanamo Bay from the list of possible countries that could appear on a daily basis. They reunified Ukraine with Crimea. Small islands, such as Réunion, Martinique, Guadeloupe, and French Guiana, are elevated to national status. Thus, Worldle has liberated them from the remains of France&#39;s colonial legacy. The Falkland Islands have also finally gained their independence from Great Britain. However, they still retain their colonial name.&lt;/p&gt;
&lt;p&gt;What remains after these changes is a map populated with de facto decisions about countries whose boundaries are less clearly understood. On Worldle, all that remains of the Kashmir dispute is the Siachen Glacier, a tiny triangle of unoccupied land squeezed between Pakistan, China and India. The disputed territories of Kashmir are neatly divided up and subsumed into their de facto occupier. Morocco retains Western Sahara, while India maintains Arunachal Pradesh, a region that China claims as part of Tibet. On Worldle, the Golan Heights are part of Israel. I think about Ukraine, its outline so familiar to us now that its shape seems essential to its self-determination. The meaning of these outlines should be more significant to a game that teaches you how to recognize them.&lt;/p&gt;
</content>
		<description>&lt;p&gt;While inside during the pandemic, you may have played a map-based puzzle game called &lt;em&gt;Worldle&lt;/em&gt;. &lt;em&gt;Worldle&lt;/em&gt;&#39;s premise is simple: every day, you are given an outline of a country, and you have six guesses to guess what country it is. For example, what country is this?&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/worldle-mexico.webp&quot; alt=&quot;https://earthly-delights.net/img/worldle-mexico.webp&quot;&gt;&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>The Blockchain Socialists</title>
		<link href="https://earthly-delights.net/blog/the-blockchain-socialists/"/>
		<updated>2025-02-21T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/the-blockchain-socialists/</id>
		<content type="html">&lt;p&gt;&amp;quot;It 𝓈𝑒𝑒𝓂𝓈 dumb, but it’s 𝕤𝕦𝕡𝕖𝕣 smart” is the slogan of Friends with Benefits (FWB), the organizer of a three-day cryptocurrency conference / music festival that took place last year in Idyllwild, California. I couldn&#39;t go because I was getting married, again, that weekend, but I caught the full recap on YouTube. Friends with Benefits calls itself &amp;quot;a new kind of social network made up of creatives and builders who believe in the promise of a better internet.&amp;quot;&lt;/p&gt;
&lt;p&gt;The festival caught my eye because last year, I wrote a blog called &lt;a href=&quot;https://earthly-delights.net/blog/the-east-solano-plan/&quot;&gt;The East Solano Plan&lt;/a&gt; about a girl I knew from high school who posted a lot on Twitter about walkable cities. I had gotten interested in urbanism in design school and was jealous of her multi-disciplinary career interests. However, reading my friend&#39;s blog, I realized she wasn&#39;t just interested in expanding bike lanes and planting trees, but she was actually building a city of her own, near a sleepy village way up in Northern California. Not only that, but she was also involved in a neo-colonial tax dodge and medical experimentation scheme taking place in Latin America, one that is currently bankrupting the country of Honduras. In Silicon Valley, these mini-enclaves are referred to as Network States, coined by investor Balaji Srinivasan, formerly of venture capital firm Andreessen Horowitz, and are formally about weakening America&#39;s tax power, among other things.&lt;/p&gt;
&lt;p&gt;I&#39;d encourage you to read the blog, but if you don&#39;t want to take my word for it, Quinn Slobodian gives an introduction to the Silicon Valley fascination with Special Economic Zones and what he calls a &amp;quot;radicalization of neoliberalism into a kind of exoterranism that is a product of a world that we have all collectively helped create over the last 20 years&amp;quot; in detail in his 2023 book &lt;em&gt;Crack Up Capitalism&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;As you can imagine, I was surprised to see FWB FEST&#39;s manifesto, spelled &amp;quot;MANI.FEST.O,&amp;quot; refer to itself as a Temporary Network City. They believe their festival will clarify how network states &amp;quot;could evolve into the creation of new IRL cities—and even countries—with physical territory, sovereignty, and diplomatic recognition.&amp;quot; Strange, but FWB isn&#39;t your typical community. It&#39;s a DAO, short for Decentralized Autonomous Organization, a blockchain-based community governed collectively by its members without centralized authority. Membership to Friends With Benefits is &amp;quot;token-gated&amp;quot; and powered by a token called &lt;strong&gt;$FWB&lt;/strong&gt;, which serves as both membership pass and governance tool. It&#39;s a lot of crypto babble, but in practice, Friends With Benefits is simple: anyone who pays is granted access to a group chat filled with tech and culture influencers, and once a year, they throw a festival. Their project, however, is a larger one, focusing on &amp;quot;how it might feel to live among a group of people with a collective set of shared ideals.&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://d17t27i218htgr.cloudfront.net/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJaWxoT0RBd01EZGxOQzA1Wm1RMUxUUTJOVFV0WVRjeVl5MHlNV1F5TTJVd1pEaGlNbUVHT2daRlZBPT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2JfaWQifX0=--b4c7ea917bcebbec9795319ae965988aa69f5ce2/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9MWm05eWJXRjBTU0lJU2xCSEJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFLQUJ6QTZDbk5oZG1WeWV3YzZDbk4wY21sd1ZEb01jWFZoYkdsMGVXbGEiLCJleHAiOm51bGwsInB1ciI6InZhcmlhdGlvbiJ9fQ==--fbfc6ed330b119fdff8468b8d933495db9b92bf4/DSC08064.JPG&quot; alt=&quot;FWB&quot;&gt;&lt;/p&gt;
&lt;p&gt;Crypto isn&#39;t just for basement dwellers anymore. Every designer I know has gotten into the racket in some way or another, which is understandable because since the market bottomed out, scams are the only way to make money in product design anymore. I haven&#39;t wanted to get into the subject, partly because I&#39;m guilty of occasionally building crypto garbage myself, but mostly, I haven&#39;t wanted to hurt anyone&#39;s feelings. We all need a dream to get through the day, and some designers, my friends included, have chosen to see potential in Web3 for something larger; used properly, they believe it could be a tool to liberate society from the shackles of our oppressors. I&#39;m serious. But, it wasn&#39;t until this year in August, when I looked at photos of these beautiful young professionals gathered for three days of music, ideas &amp;amp; tech, that I started to ask myself why every professional designer I&#39;d ever heard of was a featured speaker, and what precisely these people sitting in the grass under umbrellas, listening to a harpist with a smoke machine could be talking about, and if it was possibly the dumbest, most evil shit you&#39;ve ever heard of.&lt;/p&gt;
&lt;p&gt;For people who know nothing about cryptocurrency, a quick primer: Web3 refers to a model of the internet that would use the blockchain to give users greater ownership over their data. Ethereum is the blockchain that powers this shift, and NFTs are a money-laundering scam where people buy and sell JPEGs that hold speculative value.&lt;/p&gt;
&lt;p&gt;I pray that the people attending FEST were only there because the band &lt;em&gt;Perfume Genius&lt;/em&gt; was playing that weekend. At these types of events, there is always a mix of characters; some are just there for the ride, while others are there to take you for one, like Anna Gat, a self-described modern polymath who is starting a company called Interintellect based on the idea of reinventing the French Salon. Gatt is a self-described &amp;quot;writer and technologist,&amp;quot; &amp;quot;a bookworm, a Girl Scout, a war history buff, a hobby theologian, and a competitive rhythmic gymnast.&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://static.ra.co/images/news/2023/fwb-fest-vibes-pic.jpg&quot; alt=&quot;FWB FEST books Caroline Polachek, Jacques Greene, Yves Tumor for 2023  edition · News ⟋ RA&quot;&gt;&lt;/p&gt;
&lt;p&gt;Ryne Saxe, another multi-hyphenate &amp;quot;physicist turned coder, turned lawyer, turned founder,&amp;quot; spoke at the conference. For an example of the depth of jargon in cryptocurrency, Saxe is the CEO of a company described as: &amp;quot;a modular lending protocol that bridges NFT and FT with DeFi primitives.&amp;quot; To translate, his company lets you take out loans leveraging the values of your NFTs as collateral. He used his opportunity on stage, &amp;quot;the vibe is incredible,&amp;quot; he says, to unironically ask the question, &amp;quot;what is money?&amp;quot; His answer comes not on the second slide but at the end of his presentation. &amp;quot;We made it up!&amp;quot; he says, &amp;quot;money and currency are their own myths.&amp;quot; This is a comically primitive answer from someone designing ways to collateralize lending. If Marx is rolling over in his grave at FEST, he&#39;s also the elephant in the room, because in crypto, any conversation about coins always becomes one about the meaning of money, and one thing always leads to another.&lt;/p&gt;
&lt;p&gt;I don&#39;t just mean Marx&#39;s economic ideas but also the tendencies he inspires. At FEST, crypto isn&#39;t just a cash grab but part of a process to bring Marxism up-to-date, and model new systems of communal living. Daisy Alioto, a speaker on &lt;em&gt;The Taste Economy&lt;/em&gt;, says in an article for the Nation, &amp;quot;Join a union-but also join a DAO.&amp;quot; Alioto, who runs a Web3 culture newsletter, says, &amp;quot;DAOs aren&#39;t a substitute for the labor movement,&amp;quot; but they &amp;quot;can be a powerful tool to fund creative projects together: no banks, no overhead, and no disparities in the geographical ability to participate.&amp;quot; She continues, &amp;quot;It&#39;s incumbent on DAO evangelists to outline what can be gained. To me, that means cooperation and coexistence between the labor movement and new paradigms of digital work. I think we should all dual-card.&amp;quot;&lt;/p&gt;
&lt;p&gt;Artist Joshua Citarella delves into these communitarian ideas at his FEST talk on online political extremism. For money, Citarella interviews legitimate people in academia alongside grifters in a compare-and-contrast art project. He is handsome but so self-conscious you can&#39;t even look at him through video. Last week, he interviewed Quinn Slobodian, a historian and professor at Boston College who writes dry books about liberalism, and I quoted at the beginning of this post. He also appears frequently on podcasts like &lt;em&gt;The Blockchain Socialist&lt;/em&gt;. Citarella politically came of age in the New York City post-recession art scene. When he was first starting, no one had any money. But, over the years, a few of his peers rocketed into financial success while the rest languished at the bottom. He now sees the potential of DAOs to fund and support community projects, so we don&#39;t all have to rely on the occasional generosity of benevolent donor organizations.&lt;/p&gt;
&lt;p&gt;Citarella&#39;s ideas are inspired by left-accelerationist thinkers Alex Williams and Nick Srnicek. Acceleration calls for intensifying capitalistic growth and technological change to destabilize existing systems. The godfather of the movement, a noted amphetamine addict, says, &amp;quot;Nothing human makes it out of the near future.&amp;quot; Acceleration will culminate in the &amp;quot;melting of Terra into a seething K-pulp&amp;quot;, which, if I can understand, is a kind of goo. Left-acceleration builds on these same principles, but they believe the outcome will instead be very good. Williams and Srnicek think that left-wing politics is ignoring technology that could be exploited to bring Marxism up-to-date. To formalize these ideas, they published the Manifesto &lt;em&gt;#ACCELERATE MANIFESTO for Accelerationist Politics&lt;/em&gt;. I found a link to it on a site that houses useless internet manifestos, like the &lt;em&gt;Cyberfeminism Manifesto for the 21st Century&lt;/em&gt;, which starts, &amp;quot;We are the modern cunt&amp;quot;. In a fifteen-point argument, point one begins by rejecting what it calls &amp;quot;folk politics&amp;quot; and &amp;quot;horizontalism.&amp;quot; By point fifteen, it reverses its view, calling for an &amp;quot;ecology of organizations&amp;quot; warning us about sectarianism and centralization.&lt;/p&gt;
&lt;p&gt;Also speaking, Yale-educated designers David Rudnick and Eric Hu appear for a fireside chat. These days, Rudnick and Hu are known more for their left-tweeting than their design work. They&#39;ve both recently transitioned from graphic design—they both produce grungy album artwork—into the Web3 space. In 2022, Rudnick, an Englishman living in Ghent 😬, released a book called the &lt;em&gt;Tomb Index&lt;/em&gt;. Someone gave me a copy at a conference I attended on &amp;quot;tech optimism&amp;quot;. The &lt;em&gt;Tomb Index&lt;/em&gt; is shaped like its namesake and weighs several pounds. I dropped it on my hand while rushing out of a hotel room, got a pulsating bruise, and then had to carry that book like an omen on an intercontinental flight.&lt;/p&gt;
&lt;p&gt;![[hand.png]]&lt;/p&gt;
&lt;p&gt;Explaining your work in the language of Marx is part of the legitimization of design work, and Rudnick does a competent facsimile. He frequently peppers the phrases &amp;quot;use value&amp;quot; and &amp;quot;exchange value&amp;quot; into pre-rehearsed answers about this work, from which he is unable to deviate. The &lt;em&gt;Tomb Index&lt;/em&gt; is part NFT project, with each page containing a hand-drawn reproduction of a &amp;quot;mini-disc,&amp;quot; part lamentation on the ever-quickening lifecycle of commodities, part exploration of the negative toolsets capitalism enforces. Rudnick bought a $50,000 thousand printer that prints in six colors instead of four to produce this book. He says this adds richness to the tapestry of the NFT. To get a sense of Rudnick&#39;s speaking and writing style, an excerpt from the &lt;em&gt;Tomb Index&lt;/em&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;Everything we understand about the world is necessarily drawn from the history of the things that we individually have seen, have read, have experienced. This dataset, memory bank, text repository, is unique to every viewer. It means for a viewer reality is only a quantum projection based on the things they know and remember - making what is remembered or made capable of remembering essential when considering what the possible realities of other viewers will be. I try to parse this subjectivity in terms of what I call narratives; the history of a thing as it exists only to that viewer. A dictionary may present the definition of a chair but what it or technology cannot currently elaborate is your own narrative chair - which consists of every chair you have ever seen and remembered, with a hierarchy unique to you - perhaps weighted heavily by a chair in your bedroom, or your house, that other viewers will be completely unaware of.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Lately, however, the facade is cracking. Rudnick&#39;s co-speaker, Eric Hu, is currently in crisis about whether or not Web3 will bring about socialism. A year ago, he collaborated with FWB on a Web3 drink called the &amp;quot;Mateverse,&amp;quot; a modern spin on the German drink Club Mate. On stage, Hu, who seems nice (I am sorry), was despondent and almost in tears, saying, &amp;quot;I don&#39;t know if technology... what we are doing... is improvements.&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;I&#39;m someone who&#39;s directly benefited from technology displacing jobs,&amp;quot; he says in his talk. He admits that while living in San Francisco, he didn&#39;t fully understand the political landscape he was a part of, &amp;quot;I was very much just like &#39;Bro, tech is good&#39;... I think I realized the hubris of saying that. I was engulfed in the early 2010s into the poptimism of &#39;Social Networks are going to bring us together&#39; like &#39;divisions are going to be broken down&#39;. I have only seen so far that people are more entrenched in the things Web2 promised to eliminate. And also, in some ways, we are even worse. We have become much more atomized in our individual thought.&amp;quot;&lt;/p&gt;
&lt;p&gt;In 2021, he and a friend produced &lt;em&gt;Monarchs&lt;/em&gt;, a series of 888 NFTs. Each artwork is a one-of-a-kind programmatically generated picture of a butterfly you can buy (and use it as an asset when you take out a loan). Now, he&#39;s started to see Web3 differently. While the promise of decentralization could have led to equality and opportunity, what he&#39;s seeing instead resembles just how Web2.0 went wrong, a Wild West of uncharted territory swallowed up by private equity. Of these changes, he says, &amp;quot;I wasn&#39;t under the illusion the way I do things was going to exist for the rest of my life... I just didn&#39;t think we&#39;d go from me stabbing someone to me getting crushed by a bulldozer.&amp;quot;&lt;/p&gt;
&lt;p&gt;These sentiments have increased everywhere in the crypto space. The manifesto for ETH Berlin, a conference on cryptocurrency summarizes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;The situation is dire. We have been operating in crisis mode for years now. Established systems are failing, new and old imperialist powers are throwing continents into wars of attrition, global supply chains are collapsing, financial markets are tumbling, healthcare systems are falling apart, education is on a consistent downward spiral — the list goes on.&lt;/p&gt;
&lt;p&gt;But there is hope: The soils to grow new ideas have never been more nutritious. It has never been more urgent to &lt;em&gt;double down&lt;/em&gt; on new revolutionary concepts and ideas. It is high time to change the world.&lt;/p&gt;
&lt;p&gt;Reflecting on the decentralized ecosystems — the very systems designed to solve some of the underlying problems of the failing society — we realize that instead of creating actionable alternatives, we seemingly are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;reinvigorating hierarchical power structures,&lt;/li&gt;
&lt;li&gt;setting questionable incentives,&lt;/li&gt;
&lt;li&gt;recreating existing failures,&lt;/li&gt;
&lt;li&gt;and hence, are more and more part of the problem.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;While it has always been a valid question to ask whether it is possible to learn anything at Yale Design School, these two make up a case that we should look into that racket much more seriously. The issue with design education today is that no one knows what design is, especially not designers. David Rudnick represents the best designers can come up with, arguing in an hour-long lecture that design is &amp;quot;a practice that demands responsibility.&amp;quot; Whatever you want to call it: Human-Centered Design, Design Thinking, Future Design, Ethical Design, etc., designers want to have it all, but design will never escape what it is: a corporate profit-maximizing service. Hu is a quiet tragedy—he wants to do good but doesn’t know how. He doesn&#39;t have the education that he should have been able to rely on, thus Web3. It’s an unfortunate outcome, especially for someone who is, at least technically, among our best and brightest. But this isn&#39;t just individual academic failure; it comes from the design of a school curriculum that cannot cope with itself.&lt;/p&gt;
&lt;p&gt;Design education is a project shaped by early 20th-century industrialization, utopian thinking, and the belief that a rational, universal aesthetic could be imposed on a world that was anything but. It continued the Enlightenment-driven impulse to abstract, reduce, and systematize. Today, design education trying to reject its industrial origins, pulls from a mix of mid-century critical theory and other ideas from European artistic circles during a time of deep social and political upheaval.&lt;/p&gt;
&lt;p&gt;Students today encounter these libertarian revolutionary ideals but in a detached, surface-level way—Marxism without Marx, Enlightenment without Smith, Kant, Hegel, or Hume, critique without history. Through cultural osmosis, these ideas trickle down and create the &amp;quot;crypto designer&amp;quot;, an aesthetic traveler with fantastic clothes who moves through the worlds of design, technology, and speculation, carrying a contradictory mix of utopian idealism and market-driven pragmatism.&lt;/p&gt;
&lt;p&gt;Everyone we have spoken about is a scammer, but there is more to this than just crypto optimism, which is an absurd symptom of a problem that plagues legitimate-seeming things. Everyone stopped reading; call it cultural osmosis or canonical drift, our history has flattened into the &lt;em&gt;now&lt;/em&gt;, and our cultural output has gone with it. The new trend in design collections of all sorts are enormous, rhizomatic, encyclopedic archives of form – some of which are generated with the friendly assistance of AI. When history is forgotten, all the designer has the the deluge of information that spills out at us every day on the internet to sift through, to categorize, and to pile up in corners to try to make sense of what exactly is happening to us, why we suddenly have no money and no jobs, no time, no hope, no direction. This artistic output is no better than AI slop, and the work is no more thoughtful than our statistics machines that think for us.&lt;/p&gt;
&lt;p&gt;We see this eclecticism in our design tools. It should surprise no one that Charles Broskoski, co-founder of the design platform Are.na, also spoke at FEST. Are.na, described as a Pinterest for designers, is a &amp;quot;toolkit for assembling new worlds from the scraps of the old&amp;quot; and an &amp;quot;internet memory palace,&amp;quot; a cabinet of curiosities. Compared to the others, his talk was relatively philosophy-light and aptly named &lt;em&gt;Here For The Wrong Reasons.&lt;/em&gt; People use Are.na to archive internet junk, and to temperature check trends while moodboarding at work. One user is using it to build a studio, writing, &amp;quot;Think of it as Mckensey but with a soul and based on matriarchal values.&amp;quot; I have a folder on mine of Snapchat screenshots and another of close-ups of my closet. I won&#39;t go as far as to say that websites like that dictate culture, but they are part of a mass process of archiving our junk in a kaleidoscope of different forms to find something new to see. Lenin spoke of this kind of eclecticism:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;... in ninety-nine cases out of a hundred, if not more often, it is the idea of the &#39;withering away&#39; that is placed in the foreground. Dialectics are replaced by eclecticism - this is the most conventional and widespread phenomenon in present-day official social-democratic literature in relation to Marxism. Such a substitute is, of course, no novelty; it was observed even in the history of classical Greek philosophy. With the fraudulent substitution of opportunism for Marxism, it becomes the very easiest way to deceive the masses by substituting eclecticism for dialectics. This gives an illusory satisfaction; it seems to take into account all sides of the process, all tendencies of development, all the conflicting influences, and so forth, and yet, in reality, it presents no integral and revolutionary understanding of the process of social development at all.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In his talk &lt;em&gt;Body Futurism&lt;/em&gt;, Toby Shorin, hailed like some God, pauses thoughtfully while scanning the room and nods his head every few lines for dramatic effect. At FEST, Shorin is the quasi-headliner after a slam dunk talk a few years back called &lt;em&gt;Life after Lifestyle&lt;/em&gt;. &lt;em&gt;Life after Lifestyle&lt;/em&gt; is about how brands are good because they teach authority. In his essay, Shorin says, &amp;quot;If people could unironically like brands now, maybe in the near future, they would be comfortable opting into a culture premised on collectivity rather than individualism. Perhaps they would be okay letting someone convince them of what is good, of what a right way of life is.&amp;quot;&lt;/p&gt;
&lt;p&gt;In interviews, Shorin is frequently referred to as one of the most exciting thinkers of his time, which he responds to with a humbled thanks that worries me in the way that I fear for Timothee Chalamet&#39;s soul whenever he walks into a room filled with women. Frequently in interviews, I catch Shorin referring to himself as a philosopher, like the kind that existed in olden times. When I wrote &lt;em&gt;The East Solano Plan&lt;/em&gt;, Shorin had just given up trying to convince people that if crypto was going to be a tool for good, they would need to develop standards of ethics, and was on an airplane back from Vitalia, the life-extension conferences on the island of Prospera, the tech tax-dodge colony in Honduras. His pessimism has only grown in recent months, answering the question posed to him last week &amp;quot;is the social layer even capable of holding people accountable?&amp;quot; in the negative. After some pleading, I had Dani read his article, called &lt;em&gt;Squad Wealth&lt;/em&gt;. &lt;em&gt;Squad Wealth&lt;/em&gt; is about how individualism is terrible, but so are corporations, so you should form mini-communes to hoard money with just your bros. &amp;quot;It is like a high schooler wrote this,&amp;quot; Dani said, shaking her head over and over while reading it and mumbling the word &amp;quot;sad.&amp;quot; Then, she showed me a screengrab in the article depicting an increase in Google searches of the word &amp;quot;squad,&amp;quot; which he points to as a sign of our growing class consciousness.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Squad Wealth&lt;/em&gt; was more than just a blog post, it was a movement. Of the phrases longevity, Shorin says, &amp;quot;If you search the term &amp;quot;squad wealth&amp;quot; on Twitter, you still see people mentioning it, discovering it, and feeling just as galvanized as they were when it came out, even though that cultural moment of it being Defi Summer and, you know, WAGMI and bags go up and stuff is long over. And I think that&#39;s because the underlying moral dimension of it is still on point. People are still trying to get out of that paradigm. They&#39;re still trying to find a form of communion and collectivity that feels right, that feels good.&amp;quot;&lt;/p&gt;
&lt;p&gt;After moving away from cryptocurrencies, Shorin now considers the body the basic political unit. &amp;quot;Trauma release, sperm rates, longevity protocols, gene therapies, mystical states—with the shattering of software-based utopias, the body has become the premise for all new cultural developments,&amp;quot; he says in &lt;em&gt;Body Futurism&lt;/em&gt;. In 2024, Shorin read the book &lt;em&gt;The Decline of the West&lt;/em&gt; by Oswald Spengler, and he now believes that the chaos we are witnessing is the death knell of the Western world. You might not know that our renewed interest in the body – sauna, all-meat diets, homesteading, yoga, not vaccinating our kids, etc. only means one thing: we are returning to our placenta. The West is dying, and we will be reborn into a second world. He says bleakly, &amp;quot;Don&#39;t be stuck in the world that&#39;s ending.&amp;quot; For those concerned, Shorin knows his influence is teetering on cult leader status, but he keeps a clear head. Heed his warnings, though, because last week, he said, &amp;quot;Everything is playing out exactly as I imagined.&amp;quot;&lt;/p&gt;
&lt;p&gt;Shorin is hard (for me) to ignore because he &lt;em&gt;is&lt;/em&gt; right. Maybe we should all go in the sauna more. Maybe the Western world &lt;em&gt;is&lt;/em&gt; dying. Maybe crypto people &lt;em&gt;should&lt;/em&gt; develop a standard of ethics. He is a semi-prolific and semi-competent writer, no small feat. He&#39;s read a few good things even though he falls into the hole that every designer on the planet seems to be in, which he has never read anything written before 1900, leaving him without an education. He is deeply pessimistic, finding refuge in books that found a ready audience with Germans of the Weimar Republic disillusioned by the apparent failure of liberal and progressive ideals. To me, that is the only possible explanation on how someone could write articles like &lt;em&gt;Squad Wealth&lt;/em&gt; and &lt;em&gt;Life After Lifestyle&lt;/em&gt;. If all we have is &amp;quot;brands&amp;quot;, it makes sense that&#39;s where we would place our faith. It&#39;s a confusing mess and one that I find relatable. Watching the American Empire get picked for scrap parts has left me constantly raving to anyone who will listen about the male fascist obsession with horses, Nazi scientists in America, Mao&#39;s road to power, and what it all means. Decline has left a deep impression has on our cultural psyche. Still, I think we should be concerned that this is our new intellectual top brass, &lt;strong&gt;&lt;em&gt;the squads&lt;/em&gt;&lt;/strong&gt; of the new internet—championing an ideology so saturated with contradictions its purpose is lost, while the rest of us spiral out looking at the mess they created.&lt;/p&gt;
&lt;p&gt;Signing off at FEST, an exasperated Eric Hu says, &amp;quot;On the way up here I was watching the clouds cast a shadow on the San Bernadino mountains like a quilt. I&#39;m looking at the same things that a person in Neolithic times also saw. And I&#39;m having the same kind of experience of the sublime. The world is big, and it&#39;s infinite... We have been around for millions of years and we have survived so many other catastrophes. I think we can survive this as long as we don&#39;t forget we also have each other.&amp;quot; A beautiful sentiment. Hu pauses and looks down at the floor and for a second I think he&#39;s making progress. But, ever the optimist, he takes a breath and doubles down, &amp;quot;What I am cautiously optimistic for with AI is if the tools are evenly distributed.... &amp;quot;&lt;/p&gt;
</content>
		<description>&lt;p&gt;&amp;quot;It 𝓈𝑒𝑒𝓂𝓈 dumb, but it’s 𝕤𝕦𝕡𝕖𝕣 smart” is the slogan of Friends with Benefits (FWB), the organizer of a three-day cryptocurrency conference / music festival that took place last year in Idyllwild, California. I couldn&#39;t go because I was getting married, again, that weekend, but I caught the full recap on YouTube. Friends with Benefits calls itself &amp;quot;a new kind of social network made up of creatives and builders who believe in the promise of a better internet.&amp;quot;&lt;/p&gt;
&lt;p&gt;The festival caught my eye because last year, I wrote a blog called &lt;a href=&quot;https://earthly-delights.net/blog/the-east-solano-plan/&quot;&gt;The East Solano Plan&lt;/a&gt; about a girl I knew from high school who posted a lot on Twitter about walkable cities. I had gotten interested in urbanism in design school and was jealous of her multi-disciplinary career interests. However, reading my friend&#39;s blog, I realized she wasn&#39;t just interested in expanding bike lanes and planting trees, but she was actually building a city of her own, near a sleepy village way up in Northern California. Not only that, but she was also involved in a neo-colonial tax dodge and medical experimentation scheme taking place in Latin America, one that is currently bankrupting the country of Honduras. In Silicon Valley, these mini-enclaves are referred to as Network States, coined by investor Balaji Srinivasan, formerly of venture capital firm Andreessen Horowitz, and are formally about weakening America&#39;s tax power, among other things.&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>What I Spend in a Day in BALI</title>
		<link href="https://earthly-delights.net/blog/what-i-spend-in-a-day-in-bali/"/>
		<updated>2024-12-05T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/what-i-spend-in-a-day-in-bali/</id>
		<content type="html">&lt;p&gt;When YouTuber Brett Conti isn&#39;t photoshopping larger muscles on video thumbnails or &amp;quot;swapping lives&amp;quot; with billionaires for his 900,000 subscribers, he escapes to Bali. It&#39;s cold in December in New York City, and an açaí bowl can cost up to fifteen dollars. Whereas, in Canggu the coconut tastes like it fell from the tree that morning. In Conti&#39;s recent video, &lt;em&gt;What I Spend in a Day Living in BALI&lt;/em&gt;, he says, &amp;quot;I truly love this island. Not just for its epic waterfalls or beautiful beaches, but because of the lifestyle.&amp;quot;&lt;/p&gt;
&lt;p&gt;Conti is not alone. In the past ten years, a love affair with Bali has been one of the requirements of being a young, upwardly mobile digital worker. Christian LeBlanc, a Canadian YouTuber who operates under the name &lt;em&gt;Lost Leblanc&lt;/em&gt; opines, &amp;quot;I came here seven years ago. It was a time where I traveled, traveled, traveled. You start missing things like a closet, a lifestyle, stability. I found this place that had gyms, fast internet, coffee shops, &lt;em&gt;coffee shops I could actually afford&lt;/em&gt;, especially when I was a broke backpacker at the start. It just had this amazing lifestyle. You&#39;re at a coffee shop working, and then the next day, you&#39;re up at a waterfall or a sunset at a cliffside.&amp;quot;&lt;/p&gt;
&lt;p&gt;Conti and LeBlanc don&#39;t deny that the island has changed over the past decade. An influx of tourism has brought rapid development, leaving a divided digital nomad community, with some welcoming the change and others wishing things could return to the way they were before. A quick Reddit search suggests that the island peaked in 2020 as a great place to escape stifling lockdowns. But it&#39;s been much too overcrowded since then. In Conti&#39;s video, after stepping out of an açaí restaurant populated with blond-haired computer-goers, he points to some buildings in front of the camera. &amp;quot;When I first came here,&amp;quot; he says, &amp;quot;this was all rice fields. You could even see Mount Batur, the volcano in the background. Now, it&#39;s kind of like a mini-shopping mall. A lot has changed here in Canggu.&amp;quot;&lt;/p&gt;
&lt;p&gt;Conti came to Bali because he is starting a tea business. &amp;quot;I plan to try to go from 0 to 1 million dollars in sales, and I figured Bali was the perfect place for the next phase of growing this business.&amp;quot; He continues, &amp;quot;It&#39;s not like this is a vacation... it&#39;s more a solo mastermind.&amp;quot;&lt;/p&gt;
&lt;p&gt;Conti was inspired by Richard Branson and the &lt;em&gt;Virgin&lt;/em&gt; brand. The word &lt;em&gt;Virgin&lt;/em&gt; represents a kind of purity, and it is funny because it makes you think about sex. When thinking of names for his tea company, he wanted to name them based on when you are at your best, something like &amp;quot;at your climax.&amp;quot; &amp;quot;That&#39;s kind of the direction I&#39;m going,&amp;quot; he smiles. He continues, &amp;quot;You guys know that movie with Julia Roberts called &#39;Eat, Pray, Love&#39;... For me, with starting this new business, I&#39;d like to call it &#39;Learn, Ideas, Create&#39;&amp;quot;.&lt;/p&gt;
&lt;p&gt;Throwing aside the verb, verb, verb rhythm of the popular Julia Roberts movie in favor of the much smoother verb, noun, verb is almost making me &amp;quot;Climax.&amp;quot; Author Elizabeth Gilbert famously spent her novel&#39;s &amp;quot;Love&amp;quot; section in Bali, lost after a recent divorce and a string of preceding relationships, trying to find herself. It was there that she met her second husband José Nunes. In 2016, she announced they were separating because she was in a relationship with her best friend, Rayya Elias, played by Viola Davis in the movie. After Elias&#39;s untimely death, she began a relationship with Elias&#39;s close friend, photographer Simon MacArthur. Unfortunately, they have now also separated. For Conti, &amp;quot;Learn&amp;quot; took place in India, where he learned all about the tea business from local vendors. &amp;quot;Ideas&amp;quot; is in Bali, where he will think about business ideas. &amp;quot;Create&amp;quot; will be for when he returns to NYC and is ready to scale. He&#39;s already invested $60,000-75,000. He says, &amp;quot;I&#39;d rather risk all that money than not go through with this idea at all&amp;quot; because he says, &amp;quot;The biggest risk in life is not taking any risk at all.&amp;quot;&lt;/p&gt;
&lt;p&gt;Though I have always harbored strong negative feelings about people who like Bali, and I generally consider it a good rule of thumb that you shouldn&#39;t visit the island under any circumstances, it can be challenging to talk about Bali without seeming like the morality police. Indonesia is the home of the largest US-backed genocide, so far. Between October 1965 and March 1966, the United States orchestrated a coup, replacing President Sukarno with the military officer Suharto. The following purge killed approximately one million communist sympathizers, Gerwani women, Javanese Muslims, and the ethnic Chinese people in Indonesia, with over eighty thousand killed in Bali, which at the time was a Communist stronghold. Suharto implemented a range of pro-business policies and initiatives. To this day, the Indonesian government operates as a successor of Suharto&#39;s military dictatorship, which lasted thirty years. This, of course, shouldn&#39;t preclude it as a good vacation destination. If we bound ourselves to that logic, we Americans would have absolutely nowhere to go when we left town. Most, importantly, when we rely on this kind of moral, historical logic, we lose sight of the most crucial fact: everyone in Bali is freaky and weird and has scary vibes.&lt;/p&gt;
&lt;p&gt;I knew that murdered bodies had been dumped en masse on beaches that would soon become popular locales for silent discos and drinking a scorpion bowl while watching the sunset. However, I was having trouble finding any information at all online for this blog post related to the killings at all. No matter what I typed, all I could come up with were tourist guides about the best places to shop and eat around town. So, instead, I asked ChatGPT to tell me the names of the specific beaches where bodies were dumped. The robot happily obliged and spit out a few beaches, including Kerobokan Beach, Kuta Beach, and Sanur Beach. Then, I tried to search for those specific beaches on Google. I searched Sanur Beach and found a web page on &lt;em&gt;earthsmagicalplaces.com&lt;/em&gt; titled: &amp;quot;WHAT INSTAGRAM DOESN’T TELL YOU ABOUT SANUR BEACH&amp;quot;. I thought this would be perfect. I clicked and scrolled for a minute, but I only saw a description of the various things you could purchase on the beach.&lt;/p&gt;
&lt;p&gt;I kept scrolling through the article and caught a sub-headline: &amp;quot;THE OTHER SIDE OF SANUR BEACH.&amp;quot; I hoped this section would reveal some of the history. Instead, it details another section of the beach on the other side of the cove that the author disliked.&lt;/p&gt;
&lt;p&gt;Below it, I saw another third headline: &amp;quot;THE HARSH TRUTH&amp;quot;. They must be messing with me. It said, &amp;quot;I’ve since discovered that the soft golden sand found by Sanur’s resorts is imported and raked daily by staff, who also vigorously litter pick their ‘section’ of the beach to create the picture-perfect paradise visitors (myself included) expect to see.&amp;quot;&lt;/p&gt;
&lt;p&gt;To this day, there has been no official acknowledgment of the killings that took place on the island. Having never visited Bali, it&#39;s unclear whether these millennials are all unknowingly dancing on unburied skulls or if it&#39;s something commonly discussed amongst these new locals and the truth just doesn&#39;t quite bubble up to the tourist guides they&#39;re producing.&lt;/p&gt;
&lt;p&gt;Here&#39;s an excerpt from Vincent Bevins, author of &lt;em&gt;The Jakarta Method&lt;/em&gt;, on the killings in Bali: &amp;quot;Young Wayan Badra, the thirteen-year-old son of the Hindu priest in the Seminyak neighborhood, noticed that the two nice communist teachers at his school went away and never came back. Then he heard what was happening on the beaches. They were bringing people from the city to the east to kill them on the sand. It was public property there, and empty at night. The bodies were abandoned there. Some families came to recover them. Others were gathered by Badra’s village, to be given anonymous funeral rites and cremated by his father. For Balinese Hindus, the loss of a family member’s body is a deep spiritual tragedy of infinite consequence. So a few years after the violence ended, Agung went with his family to find his father’s body, and give him an honorable funeral and cremation. They walked four kilometers to the site where someone told them they could find his remains. They found a field of bodies. They began looking through bones, picking up skulls.  Someone shouted, “This is Mr. Raka!”  But no, that skull didn’t look right. Maybe the hair was wrong. Maybe that one? They kept sorting through decomposing bodies, desperately, for minutes, before someone realized it was impossible, crazy. There were just “too many skulls, too many skeletons.”  They walked back home for an hour, processing the knowledge they would never lay him to rest, and sickened by the vast sea of humanity they had just entered. In total, at least 5 percent of the population of Bali was killed— that is, eighty thousand... A little bit later, the first tourist hotel went up on the very beach, Seminyak, that had been used as a killing field.&amp;quot;&lt;/p&gt;
&lt;p&gt;Pieter Levels, a Dutch Tech influencer, calls Bali the &amp;quot;magical voodoo spirit island of Asia.&amp;quot; He says, &amp;quot;It’s a nomad mecca. Deus’ hipster mecca, and the ocean is full of hot surfer boys and girls.&amp;quot; Levels is the creator of &lt;em&gt;Nomad List&lt;/em&gt;, a social media site where digital nomads can connect worldwide. On &lt;em&gt;Nomad List&lt;/em&gt;, he is both creator and user, and he travels worldwide reporting on the pros and cons of different digital nomad hubs. Of Bali, he says, &amp;quot;I was invited to go to villas where they had 10-people weekend orgies with mushrooms and LSD ... There were girls who told me they wanted to show me my tantric erogenous energy zones, naked (not going to say what happened next). I mean, what happens if you put lots of beautiful sexy people open to anything together on an island. Surprise, surprise! SEX! But it wasn’t tacky. Definitely not in Ubud. I know I just said orgies. Still! Hooking up here felt romantic. Spiritual. Like lots of holiday loves. I mean, there was palm trees! This island radiated spiritual love.&amp;quot;&lt;/p&gt;
&lt;p&gt;However, when Levels left the island, he realized that everyone he encountered was somehow lost. The cliche of &amp;quot;Eat, Pray Love&amp;quot; was true. &amp;quot;People come to Bali after their break-up, mental breakdown, mid-life crisis, burn out or just when they feel lost. And everyone staying here for a long time who isn’t lost yet, has high odds of becoming it.&amp;quot;&lt;/p&gt;
&lt;p&gt;This September, Levels was invited to the &lt;em&gt;Network State Conference&lt;/em&gt; in Singapore, where he participated in a fireside chat with Balaji Srinivasan on the topic &amp;quot;How Digital Nomads Enable Network States.&amp;quot; Srinivasan describes a network state as connected communities that blend the digital and physical worlds, starting as internet-based communities and potentially evolving into decentralized or geographically concentrated societies. Communities of digital workers, like in Bali are a example of how the real world could look if only we were all brave enough to see beyond the nation, and to let unpolitical corporate interests manage the hard decisions for us. In Level&#39;s Bali blog, he writes, &amp;quot;All these lost kids, the so-called “millennials,” dropping in and out of a bamboo building doing internet stuff, and just doing whatever they want. Not following traditional paths (at least for now), but choosing their own. It’s magical.&amp;quot; Following the massive success of &lt;em&gt;Nomad List&lt;/em&gt;, he leveraged its popularity to launch several other ventures, including a photo AI website where you can generates images of yourself with six-pack abs, and an online shop where you can buy &amp;quot;Make Europe Great Again&amp;quot; hats. He is also building a small cult of digital nomads in a Portuguese coastal town, where residents live together within minutes of each other.&lt;/p&gt;
&lt;p&gt;After seven years of living on and vlogging about the island, YouTuber Christian &amp;quot;Lost&amp;quot; LeBlanc is finally ready to put down real roots. He is constructing a behemoth villa near Canggu called &lt;em&gt;The Lost Villa&lt;/em&gt;. It&#39;s fit with an infinity pool, an artificial stream dug from the soil, an eight thousand dollar cold plunge, and an imported Estonian sauna. &amp;quot;This villa is a collaboration with the world,&amp;quot; he says. He posted a YouTube video two weeks ago: part-house tour and construction log. The villa still needs to be completed, but he wanted to move in to encourage workers to finish up. In the video, he helps eight Balinese workers move the largest L-shaped sectional sofa I&#39;ve ever seen into his stone living room. In Europe or North America, this couch would be $10-20,000. In Bali, he tells us, it&#39;s only $3500. &amp;quot;That&#39;s the cool thing about Bali; you have so many artisans on this island.&amp;quot; Of these construction sites, a local Balinese worker interviewed by MinnPost says, “I have spoken to developers who frequently come across bodies when digging foundations for tourist hotels in Kuta and Sanur... They instruct the builders to ignore the skeletons and to keep on building.”&lt;/p&gt;
&lt;p&gt;In &lt;em&gt;What I Spend in a Day Living in BALI&lt;/em&gt;, Conti visits a $104/week gym overlooking the rice fields to get a pump in. He books a surf lesson with a new app on his phone. He visits a cafe/bar with &amp;quot;Tulum jungle vibes,&amp;quot; where it costs an extra $25 to sit on lawn chairs near the beach. On his way to a bar called Pretty Poison, he asks a cab driver who doesn&#39;t speak English, &amp;quot;You&#39;re Balinese. Do you like that a lot of foreigners come to Bali?&amp;quot;&lt;/p&gt;
</content>
		<description>&lt;p&gt;When YouTuber Brett Conti isn&#39;t photoshopping larger muscles on video thumbnails or &amp;quot;swapping lives&amp;quot; with billionaires for his 900,000 subscribers, he escapes to Bali. It&#39;s cold in December in New York City, and an açaí bowl can cost up to fifteen dollars. Whereas, in Canggu the coconut tastes like it fell from the tree that morning. In Conti&#39;s recent video, &lt;em&gt;What I Spend in a Day Living in BALI&lt;/em&gt;, he says, &amp;quot;I truly love this island. Not just for its epic waterfalls or beautiful beaches, but because of the lifestyle.&amp;quot;&lt;/p&gt;
&lt;p&gt;Conti is not alone. In the past ten years, a love affair with Bali has been one of the requirements of being a young, upwardly mobile digital worker. Christian LeBlanc, a Canadian YouTuber who operates under the name &lt;em&gt;Lost Leblanc&lt;/em&gt; opines, &amp;quot;I came here seven years ago. It was a time where I traveled, traveled, traveled. You start missing things like a closet, a lifestyle, stability. I found this place that had gyms, fast internet, coffee shops, &lt;em&gt;coffee shops I could actually afford&lt;/em&gt;, especially when I was a broke backpacker at the start. It just had this amazing lifestyle. You&#39;re at a coffee shop working, and then the next day, you&#39;re up at a waterfall or a sunset at a cliffside.&amp;quot;&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>Lurking on the anti-Meghan Markle Subreddit</title>
		<link href="https://earthly-delights.net/blog/the-saint-meghan-markle-subreddit/"/>
		<updated>2024-10-30T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/the-saint-meghan-markle-subreddit/</id>
		<content type="html">&lt;p&gt;A 2022 report studying social media posts about Meghan Markle claimed that 70% of all negative posts online come from just 83 separate users. In Markle&#39;s interview with &lt;em&gt;The Cut&lt;/em&gt; that same year, the magazine considered this report proof of a conspiracy against the ex-princess. Save for a dangerously outspoken minority, Markle is not nearly as unpopular as it appears online. But, as someone who&#39;s struggled to get more than three friends together for lunch since the start of the pandemic, lately, I&#39;ve started to see this report in a different light. We should be more thankful that 83 people can still come together to form such a flourishing community in our fractured world.&lt;/p&gt;
&lt;p&gt;I don&#39;t remember which scandal of the day caused me to visit the famous anti-Meghan Markle Reddit forum known as &lt;em&gt;SaintMeghanMarkle&lt;/em&gt; for the first time; all I know is that in 2022, I visited it almost every day. On the forum, the Duchess of Sussex is known as The Saint, The Alliterate One, or most commonly &lt;em&gt;TW&lt;/em&gt;: short for The Wife, That Woman, or The Witch. Users refer to Markle apologists as Sugars. Sugars have a tendency to sugarcoat anything connected to Markle. Of course, if Markle is a saint, those who are enlightened to her wicked ways are &lt;em&gt;Sinners&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;SaintMeghanMarkle&lt;/em&gt; is more than just the only place on the internet where people swoon over up-to-date photos of Prince William. Their stated purpose: &amp;quot;Time after time they&#39;ve been caught in their web of lies… we enjoy exploring this... Then there&#39;s the terrible dress sense… the inability to wear a proper bra (Meghan) or shoes without holes ... Lastly, for light relief, we enjoy sharing memes…&amp;quot;. They do not like being referred to as a group of middle-aged white ladies. From their wiki, &amp;quot;We are as diverse as Reddit is as a whole. By believing and saying that we are only middle-aged white women, you show your own prejudice.&amp;quot;&lt;/p&gt;
&lt;p&gt;Sinners want you to know they are not racist. This word is used against them. On the forum, one user writes, &amp;quot;Until Markle&#39;s antics played out in public, I never came across such a crass, disgusting, and morally bankrupt person. She&#39;s worse than a beast.&amp;quot; Another replies, &amp;quot;Well said!!&amp;quot; What, to these users, makes Markle worse than a beast? I traveled into the belly of it to find out.&lt;/p&gt;
&lt;p&gt;**&lt;/p&gt;
&lt;p&gt;Markle has done some questionable things. As you all know, she is obsessed with avocados in an unhealthy way and continues to eat them even while being aware of inequalities in the global supply chain. In the 2023 Netflix documentary &lt;em&gt;Harry &amp;amp; Meghan&lt;/em&gt;, Markle reveals she met the Prince and Princess of Wales and her future brother and sister-in-law for the first time in her home while barefoot and wearing ripped jeans. This is the kind of passive-aggressive power move that only someone from California would know to execute.&lt;/p&gt;
&lt;p&gt;Though I agree with users on &lt;em&gt;SaintMeghanMarkle&lt;/em&gt; that she needs a better tailor, Markle is gorgeous. She is so beautiful that for a brief moment, the whole world collectively thought that Harry was handsome and charming just because he stood beside her. Sinners disagree, preferring the &amp;quot;understated English rose beauty&amp;quot; (apparently a euphemism) of the Windsor bloodline.&lt;/p&gt;
&lt;p&gt;Perusing celebrity gossip sites and studying history come from the same impulse. The real truth lies somewhere hidden between the official story of events. &lt;em&gt;SaintMeghanMarkle&lt;/em&gt; carefully examines every bit of press released about the Royal Family for hidden clues about Markle, the family, and her larger deception. Because the Royal Family, the perfect blend of history and celebrity, has rigid protocols for every moment of their public lives, everything they do publicly tells a story, even if they don&#39;t always want it to. It&#39;s because of this that investigation of the inner workings of the royal family via online forums and from news sources like The Daily Mail and The Mirror that we have probably as historically accurate an understanding of the inner workings of their lives as any other method of inquiry.&lt;/p&gt;
&lt;p&gt;Regular people might see paparazzi photos of Harry walking into a church and sitting at a pew wearing a wonderful suit and vest. But, those on &lt;em&gt;SaintMeghanMarkle&lt;/em&gt; who really know the Royal Family know that because Harry is sitting in the second row in church wearing a morning suit instead of a military jacket, the stories of a falling out in the family must actually be real, and something (or someone) must have happened.&lt;/p&gt;
&lt;p&gt;It&#39;s this kind of symbolism that makes a perfect breeding ground for study by people with a screw loose. Is Kate wearing an outfit in homage to the late Princess Diana that suggests, while maintaining her silent dignity, that Meghan made her cry over Princess Charlotte&#39;s flower girl dresses, or am I, personally, just losing my grip on reality?&lt;/p&gt;
&lt;p&gt;On &lt;em&gt;SaintMeghanMarkle&lt;/em&gt;, one user writes, &amp;quot;She (Markle) acts very similar to a flaming narcissist I know. The one I know has victim stories every time you talk to her. She&#39;s lost all her friends because of it.&amp;quot;&lt;/p&gt;
&lt;p&gt;Another says, &amp;quot;She&#39;s a psychopath, narcissist, and compulsive liar. I had the misfortune of being entangled with someone with the same traits, and it took me years to get over the trauma... The first tell tale sign was how she came across during the engagement interview. The second was how she had no family or real friends at her wedding except her mother. The provable lies and her mask slipping time and time again, the malevolent looks, the wild blinking and jaw clenching confirmed my thoughts about her. The woman scares me.&amp;quot;&lt;/p&gt;
&lt;p&gt;To me, it&#39;s not weird that she invited none of her family to her wedding. I would&#39;ve hired a hitman if it meant I could have had George and Amal (call me) Clooney at mine. But, the more time I spent on &lt;em&gt;SaintMeghanMarkle&lt;/em&gt;, the more I realized that this group of people all thought they knew someone like Markle. Usually, it is a family member: an ex-husband, a brother, sister, or mother. &amp;quot;I truly believe that most of us who see through MM have been traumatized by a person who has her same character traits and therefore we are repulsed when we recognize these traits in others.&amp;quot;&lt;/p&gt;
&lt;p&gt;Another user says, &amp;quot;One of the interesting things u often see with narcs is that they really are all the same in their patterns. It&#39;s like they have a manual they reference. It&#39;s also one of the things that make them easy to spot. if you have seen one, you have kind of seen them all.&amp;quot;&lt;/p&gt;
&lt;p&gt;What can be so frustrating about narcissistic abuse is that there is really no rational way to deal with an abuser. Explaining why they are wrong and why you&#39;ve been hurt can often be counterproductive. Instead, therapists recommend becoming a &#39;grey rock.&#39; The victim makes themselves as boring as possible. The narcissist will eventually realize you are not an easy enough target and move on to easier prey.&lt;/p&gt;
&lt;p&gt;&amp;quot;Good luck with becoming a grey rock. I&#39;ve been one for years but I learnt a lot from the Royals during the mourning period. Catherine played it perfectly when they looked at the floral tributes outside of Windsor, and then they all did during the funeral and other engagements. If you&#39;re ever unsure of how to behave during grey rocking, just refer back to the video of the four outside of Windsor and &lt;em&gt;don&#39;t take your eyes off Catherine.&lt;/em&gt; She was strong, confident, and she made Markle invisible. She was perfect.&amp;quot;&lt;/p&gt;
&lt;p&gt;On &lt;em&gt;SaintMeghanMarkle&lt;/em&gt;, part of the social fabric is teaching each other how to spot the patterns. Markle separated Harry from his family, friends, country, and support system: the telltale signs of a narcissist. She plays a perpetual victim. She thinks she&#39;s better than the Royal Family and a life of duty.&lt;/p&gt;
&lt;p&gt;&amp;quot;This technique (grey rock) is super effective, but it&#39;s exhausting! I started using it after I had been in therapy for awhile working on my own issues. I don&#39;t think I could&#39;ve kept it going if I didn&#39;t already have that support of my therapist backing me up.&amp;quot;&lt;/p&gt;
&lt;p&gt;While learning how to grey rock Meghan Markle, I wondered why I was obsessed with reading about this group of middle-aged women. And then I began to look inside my heart. I realized, not in 2022 but today, three years later I realized, that by a totally random coincidence, I was spending a lot of my free time back then googling the signs and symptoms of narcissistic abuse because of issues in my own personal life. Around that time, I spent portions of my day in boiling frustration that the best course of action for me, an infamous do-er, with dealing with certain unsavory characters, was to keep my mouth shut and do nothing. And let me tell you, it is horribly frustrating.&lt;/p&gt;
&lt;p&gt;Could these women, Kate Middleton, and I, all be connected by a certain feeling of powerlessness in our personal lives? Maybe they can&#39;t convince their brother that his wife is no good for him, but they can show the world the signs to look out for through Meghan Markle.&lt;/p&gt;
&lt;p&gt;One user writes, &amp;quot;I think it&#39;s a safe bet to assume the RF has sought and received expert counsel from mental health professionals and/or behavioral experts to learn how to handle/deal with Megzilla. No doubt. Grey rock represents a very dignified approach and fits nicely with the dictum of Queen Elizabeth II, &amp;quot;never complain, never explain&amp;quot;.&amp;quot; No doubt, Elizabeth II spent her final days in group psychotherapy learning the best strategies to effectively manage Markle.&lt;/p&gt;
&lt;p&gt;As the Royal Family records their reign into a Shakespearean moral for public consumption, they seem to want to ask you, the public, over and over if life is about duty or happiness. Some of the House of Windsor chose desire over duty and suffered. King Edward famously abdicated the throne because he fell in love with a beautiful (in some people&#39;s opinion) American divorcee. They then fled the country to Paris. According to lore, he spent the rest of his days throwing lavish parties while wishing he hadn&#39;t given up his country. He was also a Nazi, but that was less concerning than the divorce.&lt;/p&gt;
&lt;p&gt;You can group every other member of the family into this dichotomy. The disastrous lovers of hedonism are: Margaret and her failed relationships, Charles and his failed marriage to Diana the Trollop, and Prince Andrew. On the other side, we have the sanctity of duty: Elizabeth the Great, her chad husband Philip, the love of my life, Princess Anne (call me), and Kate Middleton.&lt;/p&gt;
&lt;p&gt;On &lt;em&gt;SaintMeghanMarkle&lt;/em&gt; a photo captioned: &amp;quot;Life&#39;s beautiful parallels. An institution fueled by love and duty and familial bonds can&#39;t be broken by someone who doesn&#39;t understand them.&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/charles.png&quot; alt=&quot;King Charles&quot;&gt;&lt;/p&gt;
&lt;p&gt;Why am I so moved by this photo? It makes you think about what your personal duty is to your family. My lovely parents have always been a rock for me, most so by just being &lt;em&gt;chill&lt;/em&gt; in the face of chaos. As I&#39;ve gotten older, I&#39;ve realized that often, this is the best thing a person can do for another. Were my parents inspired by the holy duty to family and country that Prince Philip and The Queen represented? Why, then, does my dad think Elizabeth was a &amp;quot;humorless, rotten old pill who didn&#39;t want anyone to be happy&amp;quot;? It doesn&#39;t add up.&lt;/p&gt;
&lt;p&gt;We must remember the Royal Family isn&#39;t a family like yours or mine. They are something entirely different. The events we &amp;quot;witness&amp;quot; are not seen with our own eyes but transmitted through headlines in gossip magazines, leaked by the inner offices of each family member&#39;s press office to spite one another.&lt;/p&gt;
&lt;p&gt;Is Markle then the victim of all of this? Some could say yes. When does getting married to a moderately unattractive man mean that your mother-in-law&#39;s bodyguards can take your passport, tell you what to wear, and prevent you from going out to lunch?&lt;/p&gt;
&lt;p&gt;Sometimes, long ago, I would think about Meghan and Harry and ask Dani what she felt about their whole situation, what she thought the truth was, and who was right. She reminded me that I don&#39;t think the Royal Family should exist at all and that these are unknowable people in unknowable situations. Then, I would get confused about why I was spending all my time ruminating about all this.&lt;/p&gt;
&lt;p&gt;Then I would wonder, is &lt;em&gt;SaintMeghanMarkle&lt;/em&gt; really mad at Meghan or at the powerlessness of the Queen, who refused to complain or explain and, in the process, lost the empire? As one user writes, we must always remember, &amp;quot;Britain and America are great friends and will have a great future as allies, and nothing this pair of disgraceful people and their scheming friends does will change that.&amp;quot;&lt;/p&gt;
</content>
		<description>&lt;p&gt;A 2022 report studying social media posts about Meghan Markle claimed that 70% of all negative posts online come from just 83 separate users. In Markle&#39;s interview with &lt;em&gt;The Cut&lt;/em&gt; that same year, the magazine considered this report proof of a conspiracy against the ex-princess. Save for a dangerously outspoken minority, Markle is not nearly as unpopular as it appears online. But, as someone who&#39;s struggled to get more than three friends together for lunch since the start of the pandemic, lately, I&#39;ve started to see this report in a different light. We should be more thankful that 83 people can still come together to form such a flourishing community in our fractured world.&lt;/p&gt;
&lt;p&gt;I don&#39;t remember which scandal of the day caused me to visit the famous anti-Meghan Markle Reddit forum known as &lt;em&gt;SaintMeghanMarkle&lt;/em&gt; for the first time; all I know is that in 2022, I visited it almost every day. On the forum, the Duchess of Sussex is known as The Saint, The Alliterate One, or most commonly &lt;em&gt;TW&lt;/em&gt;: short for The Wife, That Woman, or The Witch. Users refer to Markle apologists as Sugars. Sugars have a tendency to sugarcoat anything connected to Markle. Of course, if Markle is a saint, those who are enlightened to her wicked ways are &lt;em&gt;Sinners&lt;/em&gt;.&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>October Updates: I cured my foot fungus!</title>
		<link href="https://earthly-delights.net/blog/october-updates/"/>
		<updated>2024-10-20T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/october-updates/</id>
		<content type="html">&lt;p&gt;The seasons are changing, and I&#39;ve found myself at home more in the evenings lately, relaxing on the couch. I thought I&#39;d do a little update on everything new going on with me.&lt;/p&gt;
&lt;p&gt;A couple of my websites got picked by more prominent blogs recently, so I&#39;ve had a spike in traffic and a bunch of subscribers to my newsletter. I created a newsletter form several months ago but haven&#39;t sent anything out yet! If you&#39;re a blog reader and want updates whenever a new post comes out, feel free to subscribe &lt;a href=&quot;https://mailchi.mp/60c33eea5082/printer-scanner-newsletter&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I am really excited about a few longer blog posts in the works (including one about Meghan Markle), but for now, enjoy a few smaller snippets from my life.&lt;/p&gt;
&lt;h2 id=&quot;i-cured-my-foot-fungus&quot; tabindex=&quot;-1&quot;&gt;I cured my foot fungus! &lt;a class=&quot;header-anchor&quot; href=&quot;https://earthly-delights.net/blog/october-updates/&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I need to speak about this because many people, including those closest to me, doubted I could do it. On web forums, they say the cure is impossible. But if any of you are suffering from toenail fungus, don&#39;t give in to nihilism. It is possible.&lt;/p&gt;
&lt;p&gt;My method: Twice a day, I applied &lt;em&gt;Tolnaftate&lt;/em&gt;, an over-the-counter toenail fungus medicine. I picked up two bottles for around $14 when I was visiting home in America last year. I had heard that it would take around two years for the fungus to completely disappear, but it only took me around six months of diligent application.&lt;/p&gt;
&lt;p&gt;This has been one of the larger projects I have undertaken this year. I feel proud to have completed it and to have proved the haters wrong at every turn. If I know you IRL and you would like to see before-and-after photos, feel free to send me a message. Also, I advise using extreme caution when using the damp sauna at the Leith Victoria Edinburgh Leisure Center.&lt;/p&gt;
&lt;h2 id=&quot;adjective-declensions-in-german&quot; tabindex=&quot;-1&quot;&gt;Adjective declensions in German &lt;a class=&quot;header-anchor&quot; href=&quot;https://earthly-delights.net/blog/october-updates/&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Using adjectives in German is super difficult because they have different endings depending on the gender of the word and where they are located in a sentence. For example, in the sentences &amp;quot;I saw a small dog&amp;quot; and &amp;quot;I am a small dog,&amp;quot; the ending of &amp;quot;small&amp;quot; is different in both cases.&lt;/p&gt;
&lt;p&gt;What I&#39;ve noticed is that instead of learning these different cases, I&#39;ve just gotten really good at avoiding using adjectives in a sentence. I&#39;m sort of shocked at how easy it is to adopt lazy adaptations like this. Sometimes, I wonder if I have really learned anything at all the past two years, or if I have just gotten better at anticipating what strangers might ask me at the grocery store.&lt;/p&gt;
&lt;h2 id=&quot;converting-my-thinkpad&quot; tabindex=&quot;-1&quot;&gt;Converting my Thinkpad &lt;a class=&quot;header-anchor&quot; href=&quot;https://earthly-delights.net/blog/october-updates/&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I just got a new computer at work, so now I have six computers. I used this opportunity to convert my old Thinkpad to run &lt;a href=&quot;https://archlinux.org/&quot;&gt;Arch Linux&lt;/a&gt; and &lt;a href=&quot;https://hyprland.org/&quot;&gt;Hyprland&lt;/a&gt;. I got the idea from a YouTuber called &lt;a href=&quot;https://www.youtube.com/watch?v=gdMU3b6FUxQ&quot;&gt;James Scholz&lt;/a&gt;, who has some silly side projects re-purposing old technology. I found the process very cathartic. I like computers but lately have been thinking that we should have stopped working on them about twenty years ago.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/arch_linux.jpg&quot; alt=&quot;Arch Linux&quot;&gt;&lt;/p&gt;
&lt;h2 id=&quot;new-music&quot; tabindex=&quot;-1&quot;&gt;New Music &lt;a class=&quot;header-anchor&quot; href=&quot;https://earthly-delights.net/blog/october-updates/&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Dani Zubia has been putting out some excellent new music lately. I&#39;m technically a producer on the project, even though I have contributed almost nothing. We co-wrote one song together, and I contributed background vocals that I am very excited to share! Check out Dani on &lt;a href=&quot;https://open.spotify.com/album/0Y18Ht15oHrvwiRxay510h?si=3GiKQKzQSAqIKKLpxozNmw&amp;amp;nd=1&amp;amp;dlsi=d435af3f955e4269&quot;&gt;Spotify&lt;/a&gt;. She has one single out now and another incredible one coming out next Wednesday.&lt;/p&gt;
&lt;h2 id=&quot;pruner-js-press-lol-and-more&quot; tabindex=&quot;-1&quot;&gt;Pruner.js, Press lol, and more &lt;a class=&quot;header-anchor&quot; href=&quot;https://earthly-delights.net/blog/october-updates/&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I&#39;ve been working on a dizzying number of new projects this fall, including &lt;a href=&quot;https://github.com/overbrowsing/pruner&quot;&gt;pruner.js&lt;/a&gt;, a tile-based image rendering project to increase image performance on the web. David at &lt;a href=&quot;https://headless.horse&quot;&gt;Headless Horse&lt;/a&gt; and I have been working on a couple of exciting web sustainability projects together based on some research he is doing for his PhD. More will come from me on that in the future. For now, &lt;a href=&quot;https://lowww.directory/&quot;&gt;loww.directory&lt;/a&gt; posted about one of our projects, &lt;a href=&quot;https://overbrowsing.com&quot;&gt;Overbrowsing&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.siteinspire.com/websites/12668-printer-scanner-studio&quot;&gt;Site Inspire&lt;/a&gt; and &lt;a href=&quot;https://www.siteofsites.co/websites/printer-scanner-studio&quot;&gt;Site of Sites&lt;/a&gt; posted about printer_scanner, which officially means I&#39;m a celebrity. If you found me through Site Inspire, feel free to say hi!&lt;/p&gt;
&lt;p&gt;Most excitingly, the incredible type foundry Velvetyne added &lt;a href=&quot;https://mother-type.de&quot;&gt;Mother Type&lt;/a&gt; to their &lt;a href=&quot;https://velvetyne.fr/velvetyne-libre-friends/&quot;&gt;friends of Velvetyne&lt;/a&gt; list. I&#39;ve been a massive fan of Velvetyne for years, and it was fantastic to get a chance to chat with them. At Mother, we&#39;re riffing some of Velvetyne&#39;s open-source tools. There will be a blog post about that coming up (thrilling).&lt;/p&gt;
&lt;p&gt;Thanks for reading!&lt;/p&gt;
</content>
		<description>&lt;p&gt;The seasons are changing, and I&#39;ve found myself at home more in the evenings lately, relaxing on the couch. I thought I&#39;d do a little update on everything new going on with me.&lt;/p&gt;
&lt;p&gt;A couple of my websites got picked by more prominent blogs recently, so I&#39;ve had a spike in traffic and a bunch of subscribers to my newsletter. I created a newsletter form several months ago but haven&#39;t sent anything out yet! If you&#39;re a blog reader and want updates whenever a new post comes out, feel free to subscribe &lt;a href=&quot;https://mailchi.mp/60c33eea5082/printer-scanner-newsletter&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>Aliases</title>
		<link href="https://earthly-delights.net/blog/aliases/"/>
		<updated>2024-07-11T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/aliases/</id>
		<content type="html">&lt;p&gt;As this is a developer blog, it is important I show off my aliases. Over the years, I have developed strong opinions about what makes a good alias. The most important component of a good alias is memorability. The alias has to be significantly easier to remember than its command. It should solve a memory problem, not create one. I&#39;ll start with an example of what I think bad aliases are.&lt;/p&gt;
&lt;h2 id=&quot;bad-aliases&quot; tabindex=&quot;-1&quot;&gt;Bad Aliases &lt;a class=&quot;header-anchor&quot; href=&quot;https://earthly-delights.net/blog/aliases/&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;pre class=&quot;language-sh&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-sh&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;gp&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;git push&#39;&lt;/span&gt;
&lt;span class=&quot;token builtin class-name&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;gpoh&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;git push origin HEAD&#39;&lt;/span&gt;
&lt;span class=&quot;token builtin class-name&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;gl&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;git pull&#39;&lt;/span&gt;
&lt;span class=&quot;token builtin class-name&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;gca&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;git commit -v -a&#39;&lt;/span&gt;
&lt;span class=&quot;token builtin class-name&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;gco&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;git checkout&#39;&lt;/span&gt;
&lt;span class=&quot;token builtin class-name&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;gta&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;git tag -a&#39;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Is it really easier to remember &lt;code&gt;gp&lt;/code&gt; than &lt;code&gt;git push&lt;/code&gt;? Are you really saving time by reducing keystrokes? These may work for some people, but for me, this is a type of alias I will forget immediately after making it and find unused in my alias graveyard a year later.&lt;/p&gt;
&lt;h2 id=&quot;my-most-used-aliases&quot; tabindex=&quot;-1&quot;&gt;My Most Used Aliases &lt;a class=&quot;header-anchor&quot; href=&quot;https://earthly-delights.net/blog/aliases/&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The marker of a good alias is that it is frequently used and well tended to. Over time, I&#39;ve crafted a set of aliases and functions in my &lt;code&gt;.zshrc&lt;/code&gt; file that help streamline my workflow and simplify repetitive tasks. Here&#39;s a look at some of my favorites and the reasoning behind them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Clear and Destroy&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;language-sh&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-sh&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;clear&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;cd &amp;amp;&amp;amp; clear&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;clear&lt;/code&gt; on its own isn&#39;t destructive enough. I use &lt;code&gt;clear&lt;/code&gt; usually always in moments of desperation when I have gone too far in the wrong direction and need to start over. I recommend this to anyone that appreciates a blank slate.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ultra-Simple Server&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;language-sh&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-sh&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;alias&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;serve&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;python3 -m http.server&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Python changed its start server syntax several years ago, and my brain wasn&#39;t able to catch up. I set this a few years back and live in bliss that I don&#39;t have to search for the command every few weeks. This is my most used alias anytime I need to spin up a simple server. This python server is in my opinion, the easiest way to start a local server.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ultimate Image Resizer&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;language-sh&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-sh&quot;&gt;&lt;span class=&quot;token function-name function&quot;&gt;resize&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token builtin class-name&quot;&gt;read&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;prefix?Enter prefix: &quot;&lt;/span&gt;
    &lt;span class=&quot;token assign-left variable&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token for-or-select variable&quot;&gt;file&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; *&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;do&lt;/span&gt;
        cwebp &lt;span class=&quot;token parameter variable&quot;&gt;-q&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;75&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&lt;span class=&quot;token variable&quot;&gt;${file}&lt;/span&gt;&quot;&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-o&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&lt;span class=&quot;token variable&quot;&gt;${prefix}&lt;/span&gt;_&lt;span class=&quot;token variable&quot;&gt;${i}&lt;/span&gt;.webp&quot;&lt;/span&gt;
        &lt;span class=&quot;token variable&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;((&lt;/span&gt;i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;))&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;done&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I frequently need to resize images, and this function is ultra fast and allows me to batch-process images. Prompting for a prefix keeps my file names organized and prevents overwriting.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Which Yarn command was it?&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;language-sh&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-sh&quot;&gt;&lt;span class=&quot;token function-name function&quot;&gt;go&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    code &lt;span class=&quot;token builtin class-name&quot;&gt;.&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;yarn&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;yarn&lt;/span&gt; dev &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;yarn&lt;/span&gt; start &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;yarn&lt;/span&gt; serve
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In 2024, yarn commands live in a fractured state. There is no consensus between templates on what command should be used to start a server, and I constantly need to re-remember the library I built for the project to know what command to use. This command instead tries everything for me, so I don&#39;t have to go look at the &lt;code&gt;package.json&lt;/code&gt;. I would highly recommend it.&lt;/p&gt;
&lt;h3 id=&quot;conclusion&quot; tabindex=&quot;-1&quot;&gt;Conclusion &lt;a class=&quot;header-anchor&quot; href=&quot;https://earthly-delights.net/blog/aliases/&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;A great alias saves time. Refrain from trying to reduce keystrokes; you&#39;ll never remember your abbreviations. Here is a link to my &lt;a href=&quot;https://github.com/printerscanner/dotfiles/blob/main/sh/aliases.sh&quot;&gt;Github repository&lt;/a&gt; if you&#39;d like to grab these.&lt;/p&gt;
</content>
		<description>&lt;p&gt;As this is a developer blog, it is important I show off my aliases. Over the years, I have developed strong opinions about what makes a good alias. The most important component of a good alias is memorability. The alias has to be significantly easier to remember than its command. It should solve a memory problem, not create one. I&#39;ll start with an example of what I think bad aliases are.&lt;/p&gt;
&lt;h2 id=&quot;bad-aliases&quot; tabindex=&quot;-1&quot;&gt;Bad Aliases &lt;a class=&quot;header-anchor&quot; href=&quot;#bad-aliases&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;</description>
	</entry>
	
	<entry>
		<title>The East Solano Plan</title>
		<link href="https://earthly-delights.net/blog/the-east-solano-plan/"/>
		<updated>2024-06-07T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/the-east-solano-plan/</id>
		<content type="html">&lt;p&gt;On the ballot this November, among other things, a proposed new city in Solano County, California. I don&#39;t live in the Bay Area anymore, but I found out about the idea through the popular blog of someone I used to go to high school with.  After a very successful early career in tech, Devon Zuegel is now a relatively influential tech personality. She and I intersected in high school at the same extracurricular computer classes, part of a program Apple sponsored to get young people into computing. We occasionally hung out in the parking lot near a graffitied Ron Paul campaign poster with her weird-looking boyfriend. One day, after a particularly frustrating afternoon trying to get my code to work, her boyfriend told me that computers do what you tell them, not what you want them to do. Then I got why she liked him.&lt;/p&gt;
&lt;p&gt;I started vaguely following Zuegel a few years back when she first became interested in urbanism. At the time, I felt burned out by tech and was interested in engaging more with the IRL. I was curious to see how her learnings from travels in Europe and Latin America would relate to how she viewed San Francisco. Zuegel writes a lot about the benefits of walkable cities, how bike lanes can significantly benefit the people who live in them and the benefits of mixed-use zoning in forming communities.&lt;/p&gt;
&lt;p&gt;If you have read other posts on my blog, you will know I am turning 30, which allowed me to reflect on the last ten years and our progress together in Silicon Valley. I grew up there. The town I am from was less than fifty years old when I was born. Before it was a town, it was farmland owned by Sarah Winchester. Superstitious and driven mad by her inheritance of the infamous rifle fortune, she spent her waning years building a labyrinth house in San Jose to ward off evil.&lt;/p&gt;
&lt;p&gt;Like Winchester, I am also part of a second generation in the valley. Many of my parent&#39;s generation were electrical engineers back when it was still government work. The work is slightly different now, but what I would like to think hasn&#39;t changed is a motivation not to shy away from hard problems. What has changed with us second-generationers is an impulse towards idealism that runs deep in second generations but is also unique to the area. James Clark, founder of Netscape, said in &lt;em&gt;The New New Thing&lt;/em&gt; that in Silicon Valley, we construct buildings meant to be demolished and rebuilt as something better – our past is irrelevant to a future always arriving. We all know the private internet was the great equalizer. For Clark&#39;s co-founder, Marc Andreessen, it has been a true utopia. Andreessen asks us to take what our parent&#39;s generation learned from engineering the internet and look to the boundless complexities of real life to see what else we can solve, a task Zuegel takes on in stride.&lt;/p&gt;
&lt;p&gt;In her blog, Zuegel writes a compelling 6-part analysis of the benefits of this proposed new city. Called The East Solano Plan, 30-something founder Jan Sramek raised 900 million dollars with the backing of prominent Silicon Valley investors, including Marc Andreessen. With it, he purchased 60,000 acres of cheap land to develop. This land is located in a desert patch between the East Bay and Sacramento, the armpit of Northern California. Sramek hopes to build a new city of yesterday with high-density, mixed-use housing, ample bike lanes, and public transport reminiscent of a European city. To sweeten the deal, they are also offering an additional billion dollars to revitalize neighboring cities, pay for residents&#39; mortgages and student loans, build new public schools, and improve highways in the area.&lt;/p&gt;
&lt;p&gt;Zuegel writes, &amp;quot;This might sound like hyperbole, but if voters approve the plan in the November election, it has the potential to be one of the best cities in the US... The plan is to build an urbanist utopia – not a technological one. The initiative and company website feel like they were written by YIMBYs, renewable energy advocates, and walkability activists, and they echo the philosophies of Jane Jacobs and Donald Shoup rather than Elon Musk or Steve Jobs.&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://downloads.ctfassets.net/ivxuf0dn6dhw/6AVubsDdrydKpWgYoXK6jg/1f64bf621fbc2d64723bb269415241aa/DD_Sitelab_CaliForever_View08_Night_2024_03_13_Final.jpg?w=1000&quot; alt=&quot;&quot;&gt;&lt;br&gt;
&lt;em&gt;Fig 2. Renderings of the new city.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Last month, Zuegel and Sramek appeared together to campaign for the new city on the podcast &lt;em&gt;Pirate Wires,&lt;/em&gt; hosted by Michael Solana, CMO of a venture capital fund owned by Peter Thiel. Of the new town, Solana says, &amp;quot;2020 happened. I was living in San Francisco when I conceived of &lt;em&gt;Pirate Wires&lt;/em&gt;, and a big motivation was processing what I saw out my window. Suddenly, building a new city took on a different kind of life. It was a much more complicated question of exit versus voice.&amp;quot;  Exit versus voice is a dilemma popularized by Albert Hirschman. He says that individuals have two options when faced with a decreased quality in an organization: they can voice their opinions or leave.&lt;/p&gt;
&lt;p&gt;Born in the Czech Republic, Sramek was among the many people who moved to San Francisco in 2014, the year history started for our generation. He said he always disliked San Francisco but was taken with the beauty of the Bay Area, its brief but shining gold history, and condensed concentration of capital and talent reminiscent of Renaissance Rome. Sramek thinks that San Francisco could be the most fantastic city in the world without those unfortunate zoning regulations. To him, the complex problem in the Bay Area is the housing shortage. Rather than navigate San Francisco politics, Sramek thinks we should exit.&lt;/p&gt;
&lt;p&gt;Zuegel&#39;s view of the San Francisco issue is more technical. The city is plagued by a specific zoning law called Discretionary Review. This allows members of the public to intervene in development projects in the city. She describes the dangers of Discretionary Review by comparing cities to programming languages. The best programming languages are written by a single person (think JavaScript) who can keep the whole vision for the product in mind and make difficult decisions for the greater good. Such is the development of the best cities. Baron Haussmann may have broken a few eggs bulldozing Paris, but without it, we wouldn&#39;t have the grand avenues of today, nor the Champs-Elysses, beloved by all Parisians. While the best option, in her opinion, would be to de-regulate San Francisco, this new city is a blank slate that requires less democracy.&lt;/p&gt;
&lt;p&gt;After a cursory glance at this insight, I knew I would need to understand the academic opinions around urbanism better to understand why this new city was as good of an idea as they thought. To research this article, I legitimately watched a 30-hour graduate lecture series called &lt;em&gt;Theory of City Form&lt;/em&gt; and skimmed some seminal texts. Dani and I wasted a perfect Sunday afternoon discussing Deleuze at one point, which is when I realized I&#39;d gone too far. All this was, of course, utterly unnecessary. The issues with The East Solano Plan are obvious. There is no water. There are slow-build laws on the land, which is why they need you to vote (yes) on their ballot proposal. It is two hours from every other city in Northern California. It won&#39;t have a train line connecting it, now or ever, making it environmentally uninteresting, no matter how many bike lanes they build. Dani rightly pointed out that cities are not just vessels for housing; their power isn&#39;t just in density; a city needs an economic engine driving it to self-sustain. As long as Silicon Valley remains Silicon Valley, just a short three-hour drive over the delta, moving to Modesto might be more efficient. Most of all, it is an attempt to abandon San Francisco, something both welcome to locals and utterly despicable.&lt;/p&gt;
&lt;p&gt;I will admit I am being uncharitable. In the tech world, this is called a &amp;quot;hard problem.&amp;quot; Challenges like these are what make &amp;quot;hard problems&amp;quot; hard. The East Solano Plan has listed solutions to them on its website, as well as detailing some of the lawsuits they are undergoing against villainous local farmers. I am not adverse to change. I&#39;m a second-generationer; change is in my blood. And we shouldn&#39;t reject progress because of a bad idea, a single hiccup, or suspicion that Marc Andreessen might not have our best interest at heart. I&#39;ve learned from my peers that urbanism is about more than just one city. It is about thinking about cities&#39; potential to propel humankind forward. The East Solano Plan isn&#39;t the only planned new development in the tech world. I found a few more that Zuegel promoted on her blog.&lt;/p&gt;
&lt;p&gt;Culdesac is a new experimental car-free community located in Tempe, Arizona. Physically, the development looks like any modern residential development. However, by providing most of the necessary services of the neighborhood – a gym, a grocery store, and a bar- they aim to eliminate the need for driving. Cars will be banned in Culdesac, opting to use the generated extra green space for courtyards, gardens, and meeting places. Anyone who has ever been to Tempe can attest that it is the perfect location for car-free living and hanging out outside in general. Culdesac isn&#39;t yet completed, but you can start paying rent on their website.&lt;/p&gt;
&lt;p&gt;Another city idea she mentions inspires her is Praxis, founded by NYU dropout Dryden Brown. His ideas about startup cities were established while trapped in his house during COVID-19. Internal presentations for his city read, &amp;quot;Ready to join America in 1776?&amp;quot;. He unsuccessfully tried to acquire a piece of Ghana but raised 19 million dollars and plans to get someplace in the Mediterranean to give him an entire section of their city. In exchange, he will bring technical talent, skyrocketing the land value. This talent will include (and I am not joking) strong people with a muscular build to protect the city physically, skinny people to think of ideas and morals for the town, and portly bearded people to deal with business matters, mostly Web3. These are just the men. He will also be bringing an appropriate ratio of hot girls.&lt;/p&gt;
&lt;p&gt;Brown&#39;s views are influenced by the philosophy of a man known as The Bronze Age Pervert. This controversial internet personality discusses philosophy and posts weirdly erotic AI-generated photos of the ideal platonic man on X.com. I read some of Pervert&#39;s book, &lt;em&gt;Bronze Age Mindset&lt;/em&gt;. It makes &lt;em&gt;Mein Kampf&lt;/em&gt; look like a subtle masterpiece of social commentary.&lt;/p&gt;
&lt;p&gt;Próspera is the most established of these new communities to date. Próspera is a corporate city-state leasing a section of land on the Honduran island of Roatán. After a US-backed coup in 2009, the Honduran government passed a law establishing a special economic zone. This special economic zone promises a low flat tax rate, among other financial incentives for residents. According to Zuegel, special economic zones, like the one here or in Dubai, are examples of exceptional success stories for humanity around the globe. To her, cities are more than physical places; they create the ideal conditions for communities to thrive.&lt;/p&gt;
&lt;p&gt;Zuegel calls The East Solano Plan a utopia. I, myself, could not have chosen a better word. The plan is based on the ideas of city planner Ebenezer Howard. In the 19th Century, London was a filthy, disease-ridden wasteland, even worse than it is today if you can imagine that. Around this time, English urbanists, inspired by people like anarchist William Morris, imagined small communities neighboring big cities like London with greenbelts surrounding them. These were called garden cities, and Howard called them utopia&#39;s. These cities could capture the natural benefits of the countryside while avoiding the disadvantages of cities (you know what I&#39;m talking about).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/Garden_City_Concept_by_Howard.jpg/800px-Garden_City_Concept_by_Howard.jpg&quot; alt=&quot;Howard&#39;s diagram illustrating the Garden City concept&quot;&gt;&lt;br&gt;
&lt;em&gt;Fig 3: Howard&#39;s diagram illustrating the garden city concept is referenced as an essential inspiration for The East Solano Plan. The key feature connecting these cluster cities is a series of railway lines between them.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;My virtual professor for &lt;em&gt;The Theory of City Form&lt;/em&gt; showed us slides of these cities and other utopian communities similarly formed to escape the ills of modern life, like Synanon, The People&#39;s Temple, and The Manson Family. Look at how nice this imagined one looks. People live in houses and farms of all sizes and use an eclectic variety of transportation.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://earthly-delights.net/img/image.png&quot; alt=&quot;Anarchist Cities&quot;&gt;&lt;/p&gt;
&lt;p&gt;The professor urged his class of soon-to-be architects not to look backward when conceiving cities. Cities like the above might look idyllic but are just a nice fantasy. Communities like these are possible, improbably, only for small groups. They do not scale. When we engage with utopia, staying in the material world can give us a sense of direction. For example, around the same time garden cities were conceived in London, John Snow discovered the link between cholera and contaminated water. Previously, it was thought Cholera was an airborne disease. We can use history to identify which innovation improved English society more.&lt;/p&gt;
&lt;p&gt;Zuegel isn&#39;t the only one of my 30-something peers interested in urbanism. Toby Shorin is a 30-something thought leader I occasionally see at conferences whose long-form articles about cryptocurrency I am sent by people who think I am interested in that sort of thing. He&#39;s the kind of guy who reads &lt;em&gt;No Logo&lt;/em&gt; by Naomi Klein, the book about the devastation mega-corporations wreak on workers in the race to sell cheap branded products, agrees it is an impressive piece of journalism, but says, &amp;quot;I think Klein is getting close, but she can&#39;t leap to, &#39;What if this is actually good.&#39;&amp;quot;&lt;/p&gt;
&lt;p&gt;Shorin&#39;s interest in urbanism developed during the pandemic when he felt burnt out from the decentralized community building he&#39;d done online. He saw urbanism as a way to bring people together in the real world. However, his early career in cryptocurrency was also connected in many ways to real-world governance.&lt;/p&gt;
&lt;p&gt;Last year, on stage at the Ethereum conference &lt;em&gt;Schelling Point Denver,&lt;/em&gt; Shorin presented a revolutionary case for developing standards of morality in cryptocurrency. Shorin says that as communities around cryptocurrency expand outside of cyberspace and into the IRL, cryptocurrency communities must contribute to public goods – things like the library, public education, electricity, and clean water. These public goods should serve the public good and benefit many people, not just the direct users or contributors to the service.&lt;/p&gt;
&lt;p&gt;However, rallying collective action can be challenging in these new member-owned communities on the blockchain without centralized leadership. Governance of cryptocurrency communities is done through the distribution of tokens. These tokens are usually concentrated in a few majority token holders, representing a tiny fraction of the community, many of whom sought cryptocurrency to avoid things like taxes. These imbalances can make navigating a conversation about how the community defines its morals challenging. But, Shorin says, &amp;quot;You can start by understanding the stack you are on. Where does your food come from? Where do your electricity and water come from? Where are the spaces that give you joy and make you feel nurtured? If you can understand the stack of life that nurtures you, you can find what&#39;s needed.&amp;quot;&lt;/p&gt;
&lt;p&gt;Shorin argues that typical crypto-style solutions like incentive design are ineffective when building these public goods into the system. Adding a monetary incentive to a social good motivates individuals to behave as they would in a market setting and morally disengage. Shorin says we need to develop moral guideposts for contributing to public goods instead of incentives. He says, &amp;quot;Our goal is to induce or inspire some already altruistic behavior. It is not self-interested. It has others in mind by default. It&#39;s morally driven, based on principals that expand beyond ourselves.&amp;quot; He cites the Black Panthers Free Breakfast program as a model that influenced the US government to develop similar programs nationwide.&lt;/p&gt;
&lt;p&gt;Besides trying to convince libertarians to pay taxes (another &amp;quot;hard&amp;quot; problem), as Shorin&#39;s explorations in humanism developed, he became interested in wellness movements. When I first heard this, having never read his blog, I assumed his research was motivated by the same morbid curiosity I share about people eating all-meat diets.&lt;/p&gt;
&lt;p&gt;It turns out it was the opposite. The meat was good. And so were many other things the week he visited an autonomous city within Próspera last year called Vitalia. Vitalia is part city, part concept, devoted entirely to life extension. People there don&#39;t just want to live better or longer; they want to live forever. Among the participants at the weeklong conference was Bryan Johnson, a billionaire with jaundice who swaps blood with his 17-year-old son. 30-year-old Ethereum inventor Vitalik Buterin, a former Thiel Fellow, is interested in the island to run genetic testing experiments on humans with stem cells. These experiments can&#39;t be done legally in the United States but are essential for human progress. Besides realizing during the visit that he eventually wanted to die, Shorin returned to the mainland with a generally positive impression of the island as a beacon of economic freedom and experimentation into the human body. This shining legacy is perhaps a homage to its ancestor, Colonia Dignidad, another &amp;quot;state within a state&amp;quot; consisting not of software engineers but of post-war emigrant Germans known for their medical experimentation.&lt;/p&gt;
&lt;p&gt;Since the cult leader Jim Jones went to Guyana, it should be common sense that if anyone asks you to come with them from California to their new city in Latin America, you should say no. But people like Zuegel and Shorin are more trusting than you or I, and Zuegel also decided to visit Próspera last year.  And that&#39;s not the only place she visited. She took a several month-long tour of new charter cities in South and Latin America, location scouting for a friend&#39;s new gene therapy clinic. She said, &amp;quot;For me, travel is most satisfying when I have a concrete goal—in this case, &#39;where&#39;s the best place to open a gene therapy clinic in Central America?&#39;—because it forces you to learn about the place rather than take whatever path just happens to be pre-paved for tourists.&amp;quot; These unbeaten paths usually led Zuegel to old US military bases, where many new charter cities are based. She praised one such city, currently under construction in Panama, for being bicycle-friendly, unfortunately rare in other Panamanian towns.&lt;/p&gt;
&lt;p&gt;While in Panama, Zuegel met with a Panamanian stem cell researcher to discuss the growing commercial practice there. This researcher opposed the commercialization of stem cells in Panama. She believed that selling stem cell treatments in Panama is illegal because there haven&#39;t been clinical trials or approval from the Panamanian FDA. That didn&#39;t make sense because Zuegel knew many companies doing commercial stem cell testing in Panama. She listed them on her blog. The researcher shared hopes that Panama will become a center for medical tourism because it is on the cutting edge but not because it&#39;s a haven for people escaping the US FDA. Zuegel notes at the end of her write-up, &amp;quot;My overall takeaway was that you could probably start a commercial clinic and possibly operate without problems for years, but you may get shut down or fined at some point in the future by the government.&amp;quot;&lt;/p&gt;
&lt;p&gt;During her trip to Latin America, Zuegel wrote a detailed report on her findings at Próspera. In the document, she reiterates the goals of Próspera that were conceived by its creator, Nobel Laureate and Senior Vice President of the World Bank, Paul Romer. Romer writes, &amp;quot;Development of charter cities is a way to develop better governments in the developing world.&amp;quot; Romer&#39;s interest in charter cities extends beyond Latin America. In one talk about his vision, he displayed a map of city lights over Africa at night, pointing out an “enormous amount of land on earth that’s very underutilized.”&lt;/p&gt;
&lt;p&gt;Romer&#39;s sentiments may remind you of the great liberator Milton Friedman. That may not be a coincidence because Friedman&#39;s grandson funds Próspera, along with Peter Thiel and Marc Andreessen. Recently, Honduras voted to end the special economic zone. The country agreed that Próspera represented a loss in national sovereignty. In turn, Próspera is suing the country for 11 billion dollars in losses, over two-thirds of the country&#39;s annual budget. Elizabeth Warren referred to this ongoing case as &amp;quot;neocolonial.&amp;quot;&lt;/p&gt;
&lt;p&gt;Romer&#39;s collaborator in developing Propsera, Curtis Yarvis, positively refers to it as &amp;quot;exactly colonialism.&amp;quot; As an aside, I read two manifestos while researching this blog post: the first by The Bronze Age Pervert, whom I mentioned above, and another by Curtis Yarvin, alias Mencius Moldbug. Of the two, Pervert&#39;s manifesto was the more reasonable.&lt;/p&gt;
&lt;p&gt;Peter Thiel&#39;s interest in Próspera is practical. He says, “If we want to increase freedom, we want to increase the number of countries.” He means that the more countries there are, the less political leverage the United States or Honduras will have and the lower the marginal tax rate will become. This aligns with Thiel&#39;s typical modus operandi, as someone who once sheltered $5 billion in a Roth IRA.&lt;/p&gt;
&lt;p&gt;I can understand the logic of the super-rich looking for novel tax sheltering methods. However, the question remains: why would the same libertarians who developed Próspera also be interested in building a new city in California based on the designs of anarchist socialists from the 1800s?&lt;/p&gt;
&lt;p&gt;The California Ideology is so twisted up that most people forget that until the early 1970s, the libertarian movement was a left-anarchist movement, an offshoot of Marxism for those skeptical of state power. Anarchism has always been a useful tool when trying to influence social change. As a movement, it&#39;s self-contradictory. It is a ruling theory with no ruling theory. It calls for collective action while evangelizing the individual&#39;s autonomy, which shuns collective action. In the 1960s, even the FBI got swept up in the anarchist craze, publishing their collection of zines called The Workshop. These zines covered “vigorously such aspects of the New Left as underground cinema, music, sex, dope, humor and so on” to “increase reader interest.” Their purpose: “The anarchist&#39;s point of view is the most disruptive element in the New Left and should be capitalized on in the most confusing ways.”  In the early 1970s, economist Murry Rothbard had a new idea, arguing that anarcho-libertarians should adopt any moral tactic to subvert state power. He posited that the way to do that was by privatizing government functions. Rothbard&#39;s ideas spread thanks to the generous funding of billionaire Charles Koch, who considers it an ideological passion project to fund projects that support the free market. From Rothbard&#39;s vision, a new right-libertarianism was born, with the same name but an ideology opposite to what it was ten years prior. This new libertarianism is also functionally indistinguishable from what it aims to oppose, Neoliberalism, which requires a strong centralized state apparatus to serve the market.&lt;/p&gt;
&lt;p&gt;Libertarianism flourished in California, a place rotten with capital, where Manifest Destiny meets the ocean with nowhere further west to escape. The most left-anarchist libertarians were extremely busy doing LSD in 1970 and seem to have not noticed the corporate takeover of their political movement. The rest lost the ideological plot when they realized their counterculture and sizeable paychecks could co-exist. Through a marmalade haze, the old libertarianism and the new can seem close enough. This confused many people, including Stewart Brand, the creator of &lt;em&gt;The Whole Earth Catalog&lt;/em&gt;, the famous DIY counterculture magazine from the 70s. In those days, Brand represented the classic anarcho-libertarian and was one of those California guys too busy doing LSD. As the private internet developed, so did the idea it could be a blank slate, that it wouldn&#39;t be bound to the same traditional structures society already laid out for us. It could be used to change the world and usher in a more equitable, democratic society. Brand recognized these values as his own and advocated strongly for it. It took him fifty years to realize that his vision of utopia differed from what the private internet was. Today, Brand describes himself as &amp;quot;post-libertarian.&amp;quot; Here&#39;s him in The New Yorker in 2018:&lt;/p&gt;
&lt;p&gt;“We didn’t know what the government did. The whole government apparatus is quite wonderful and quite crucial. [It] makes me frantic that it’s being taken away.” [...] Brand spoke at a Prague conference hosted by the Ethereum Foundation, which supports an eponymous, open-source, blockchain-based computing platform and cryptocurrency. In his address, he apologized for over-valorizing hackers. “Frankly,” he said, “most of the real engineering was done by people with narrow ties who worked nine to five, often with federal money.”&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/4/45/WEC-69F-C.jpg/800px-WEC-69F-C.jpg&quot; alt=&quot;undefined&quot;&gt;&lt;br&gt;
&lt;em&gt;Fig 5: The Whole Earth Catalog, a plague among us.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Salivating over the coins, no one at the Ethereum Conference likely understood what Brand was trying to communicate. But, Brand&#39;s &lt;em&gt;Whole Earth Catalog&lt;/em&gt; developed from the same impulse towards exit that Ethereum and &lt;em&gt;The East Solano Plan&lt;/em&gt; share. On the internet, as companies like Facebook and Netflix have naturally gained monopolistic market share, competing for your attention and ad revenue, our fearless developers of technologies like Ethereum reaffirm an old instinct towards exit. But today, the consensus is that even decentralized technologies like Ethereum have become too big and too centralized. On the hamster wheel of ideology, nothing turned out the way these libertarians hoped. Now they&#39;re finally turning around again, away from utopia on the internet and back to building it in real life.&lt;/p&gt;
&lt;p&gt;With our second generation, the confusion persists. Zuegel and Shorin don&#39;t have a financial stake in the success of these projects to the same degree as the older generation. Why, then, are they writing congratulatory blog posts about them? Raised on the confusion of The California Ideology, they seem uninterested in libertarianism as a tax dodge and entirely interested in utopia. This would be no big deal if they were just your run-of-the-mill, clueless young people. But, these zealots are everywhere, evangelizing. They are at your conferences selling a vision of an equitable society you agree with. They show up in your recommended feed online advocating for things like bike lanes that you probably want in your city and you probably reposted. They probably currently advise the startup you work for. They are the only ones in our generation with any money. They are the ones that are going to inherit the Earth. They are the ones with the blogs everyone reads and passes around, inexplicably emailing me. Most shamefully, these blogs seep down into the memetic sludge of the tech world intelligentsia and infect every kind of reasonable person who looks at the internet or the society we built, wishing it could be something better, with the delusion that utopia is just a bit further down the path we are already on. We just haven&#39;t designed it yet.&lt;/p&gt;
&lt;p&gt;This intelligentsia can look at IRL society and see things are not right but not see the self-contradictory nonsensical way these problems are identically transposed in our thought leaders&#39; purported solutions. Like Ethereum (plus taxes) as the great capital liberator. These intelligentsia may be aware enough to recognize cryptocurrency is an acceleration of the same. But, it is harder to see the same repeating pattern in new platforms like Are.na, a popular new site for designers to escape the rabbit race of social media, inspired by the &lt;em&gt;Whole Earth Catalog&lt;/em&gt;, and dedicated to sharing techniques for unschooling, DIY, and connecting decentralized communities. Or, fleeing everything, they escape to their own tiny &lt;a href=&quot;https://www.technologyreview.com/2020/09/03/1007716/digital-gardens-let-you-cultivate-your-own-little-bit-of-the-internet/&quot;&gt;digital gardens&lt;/a&gt; on the internet, self-sufficient and separated from the chaos around them. For no reason, I am reminded of Engels&#39;s quote: &amp;quot;These gentlemen think that when they have changed the names of things, they have changed the things themselves. This is how these profound thinkers mock the whole world.&amp;quot;&lt;/p&gt;
&lt;p&gt;In my last blog post, I talked about the naivete that Peter Thiel looks for when he chooses disciples. But it also makes me wonder about Peter Thiel&#39;s motives when he pays people not to attend college. Zuegel and Shorin don&#39;t exactly fall into this category; Zuegel went to Stanford and was editor-in-chief of Thiel&#39;s infamous student newspaper, &lt;em&gt;The Stanford Review&lt;/em&gt;. Shorin, if he is reading this article (I&#39;m sorry, by the way), is probably shaking his fist in the air that I haven&#39;t brought Deleuze up yet. Deleuze would vindicate the whole thing. However, Thiel&#39;s ideology requires discipline to consider the past completely obsolete, which is one thing they both share. It requires the fanatic to have seemingly not even read one book, or in Shorin&#39;s case, one good book, and to possess a self-assured lack of curiosity about whether or not the way they view the world is correct.&lt;/p&gt;
&lt;p&gt;Their second-generation-itis lets them see this shining island in the Caribbean as more than just a tax break. It is a step towards ushering in a new world whose real-life consequences for the existing people living there are of no matter. While I, one of the less fortunate, may look at the two thousand special economic zones in the world and see them as a way for corporations to rope developing countries into predatory deals, paying unlivable wages to workers akin to indentured slavery, the liberated see it as the next step in limiting the power of the government on our road to utopia. They see it as a necessary shaking to lull us into the next era. This, to me, is so stomach-churningly despicable, and what makes it more so is I&#39;m not some voyeur stalking the private dealings of these young people. They make their plans clear on the main stage of conferences where people like you and me sit calmly, silently, and idly. We should all have something to say on the matter.&lt;/p&gt;
&lt;p&gt;The older generation is less foolish. They know utopia is a great marketing tool. It doesn&#39;t matter if Thiel or Andreessen believe in their vision of a better world because I don&#39;t think you or I would recognize it as utopic. Andreessen&#39;s infamous &lt;em&gt;Techno-Optimism Manifesto&lt;/em&gt;, published last year, calls for accelerating capitalism to overcome the economic system. This manifesto was inspired by philosopher Nick Land, who was, in turn, inspired by Peter Thiel when he said, &amp;quot;I no longer believe freedom and democracy are compatible.&amp;quot; Land has a lot of crazy ideas, and that particular one Andreessen is referencing ends with the destruction of humanity to give the universe the entropy it desires. But I don&#39;t think Andreessen has read that far, nor do I think he cares. The internet isn&#39;t as profitable as it was. The easy fruit is picked, and it&#39;s much harder today to sell the idea that websites are improving humanity. If he can spin up a selling vision for The East Solano Plan, he is poised to make a significant return on investment by selling the inflated land value to developers.&lt;/p&gt;
&lt;p&gt;Balaji Srinivasan, Andreessen&#39;s partner at Andreessen-Horowitz, has a another practical view of the benefits of places like The East Solano Plan. It can help you gain political power. Of Srinivasan, Andreessen says, “Balaji has the highest rate of output per minute of good new ideas of anybody I’ve ever met.&amp;quot; Srinivasan self-published a few of his ideas in a book called &lt;em&gt;The Network State: How To Start a New Country&lt;/em&gt; last year. I didn&#39;t read this book. I thought about it, but the whole thing was typeset in LaTex, which I thought was embarrassing for him, mainly because several chapter titles also had the word &amp;quot;Woke&amp;quot; in them. I did skip around a six-hour podcast hosted by &amp;quot;Moment of Zen,&amp;quot; where he laid out his political strategy.&lt;/p&gt;
&lt;p&gt;Srinivasan doesn&#39;t separate political categories into Left or Right. There are Blues, Reds, and Greys. Greys are the tech guys, the good guys. Blues in San Francisco are very, very bad. Think 1940. The first step in his plan is to bribe the police. Throw weekly banquets for the police. Then, make sure families of police officers all receive high-paying, cushy tech jobs. &amp;quot;That means every policeman’s son, daughter, wife, cousin, you know, sibling, whatever, should get a job at a tech company in security.” The San Francisco police department is currently understaffed, so sympathetic new staff should be hand-picked from around the nation. You want an entire police force sympathetic to the Grey cause.&lt;/p&gt;
&lt;p&gt;Next, buy up property in the city block by block and quarantine it. Change the street names to tech symbols, such as &amp;quot;Oppenheimer Street.&amp;quot; Mark the captured blocks with Grey insignia, be that a Bitcoin logo, a Y Combinator logo, or something similarly cool. Greys should wear branded shirts to signify their loyalty: “Bitcoin or Elon or other logos ... And if you see another Gray on the street … you do the nod.”&lt;/p&gt;
&lt;p&gt;The network part of &lt;em&gt;The Network State&lt;/em&gt; is expanding those micro-territories until the nodes of each network intersect. He says, &amp;quot;It&#39;s Culdesac, it&#39;s Prospera. It&#39;s getting territory in the middle of nowhere or the middle of existing places, buying it up, and networking it together. And not thinking of any one territory as special. It&#39;s all dispensible.&amp;quot; These networks all have tribal leaders. One is Balaji, another is Mike Solana of &lt;em&gt;Pirate Wires&lt;/em&gt;, another is by Curtis Yarvin, aka Mencius Moldbug, and another is Sramek of The East Solano Plan. Garry Tan, CEO of the famous tech incubator Y Combinator, says, &amp;quot;I legit believe Y Combinator is a prototype model for what Balaji talks about when he says The Network State.&amp;quot; Tan self-identifies as a &amp;quot;moderate Democrat&amp;quot;. On Srinivasan&#39;s website, The Network State, various places around San Francisco list themselves as members. I checked, and one place was The Embassy SF, the hacker house I mentioned in my last blog post. Another project listed is called Solaris AI, which Sam Altman runs. Solaris AI quarantines a four-block zone in Hayes Valley. I lived inside that zone ten years ago in an 8-bedroom apartment; rent was $11,000 a month. At the time, it did seem like something like this could happen there.&lt;/p&gt;
&lt;p&gt;Srinivasan refers to this strategy as &amp;quot;something like tech Zionism&amp;quot; and uses Israel as a model. &amp;quot;Smash all the things you want in Blue zones; construct things in Grey zones.&amp;quot; You&#39;ll incentivize people to abandon Blue zones and move to Grey. But he does know this plan is controversial. &amp;quot;There will be howling resistance to streets that are clean.&amp;quot; He pauses. &amp;quot;And hobos that are kept out.&amp;quot; &amp;quot;It&#39;s completely legal,&amp;quot; he says. &amp;quot;You can call it walkable streets, whatever you want to call it...You might say, for example, in this part of the Sunset, no human-driven cars are allowed. And every car in must get past a bollard and log in. That fencing also prevents hobos, vagrants, addicts from getting in.&amp;quot;&lt;/p&gt;
&lt;p&gt;Srinivasan is a crackpot, and I wouldn&#39;t worry his specific plans will come true. But he says one thing repeatedly on his podcast that I agree with. Contrary to popular belief, the internet is real life. Srinivasan believes Grey is a dominant force in cyberspace. So do I, from the extreme to the unaware. Srinivasan asks you to imagine a world with flags outside each window for user platform loyalty like Google or Facebook. &amp;quot;People would react completely differently to it because they would realize this thing is much bigger than they realize.&amp;quot; All I suggest is that looking away on the internet is the wrong impulse. Exit is unproductive and won&#39;t make any difference. Just like real life, there is no escape. You can&#39;t opt out.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://substackcdn.com/image/fetch/c_fill,f_auto,q_auto:good,fl_progressive:steep,g_auto/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec529725-fbf9-4abb-818e-a0f5b562df58_3400x2720.png&quot; alt=&quot;https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec529725-fbf9-4abb-818e-a0f5b562df58_3400x2720.png&quot;&gt;&lt;br&gt;
&lt;em&gt;Fig 6: Esmeralda marketing materials.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;There is one more new city under development. Recently, Zuegel announced she is developing a city of her own, Esmeralda, based on the communitarian ideas she developed at a 9-week summer camp as a kid. As I write, Esmeralda has taken over the quiet California town of Healdsburg, CA, for the entire month to hold a conference promoting the new city. Shorin is there giving wellness talks. For $1500 someone named Skylor will check your biomarkers for longevity. Eric Alston, a blockchain financial expert who advised constitutional reform processes in Vietnam, Kenya, Myanmar, and Somalia, will be involved. He thinks this month will be a more genuine way to connect than the transactional 30-minute tech mixers he usually attends. This month will be the first step in testing this new community&#39;s potential. Yesterday, Zuegel called on Twitter asking if anyone has a home near Healdsburg that can host Esmeraldans for a few days. They&#39;ve filled up every bed in town. Can you lend them yours?&lt;/p&gt;
</content>
		<description>&lt;p&gt;On the ballot this November, among other things, a proposed new city in Solano County, California. I don&#39;t live in the Bay Area anymore, but I found out about the idea through the popular blog of someone I used to go to high school with.  After a very successful early career in tech, Devon Zuegel is now a relatively influential tech personality. She and I intersected in high school at the same extracurricular computer classes, part of a program Apple sponsored to get young people into computing. We occasionally hung out in the parking lot near a graffitied Ron Paul campaign poster with her weird-looking boyfriend. One day, after a particularly frustrating afternoon trying to get my code to work, her boyfriend told me that computers do what you tell them, not what you want them to do. Then I got why she liked him.&lt;/p&gt;
&lt;p&gt;I started vaguely following Zuegel a few years back when she first became interested in urbanism. At the time, I felt burned out by tech and was interested in engaging more with the IRL. I was curious to see how her learnings from travels in Europe and Latin America would relate to how she viewed San Francisco. Zuegel writes a lot about the benefits of walkable cities, how bike lanes can significantly benefit the people who live in them and the benefits of mixed-use zoning in forming communities.&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>Tech Brats Turning 30</title>
		<link href="https://earthly-delights.net/blog/tech-brats-turning-30/"/>
		<updated>2024-04-23T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/tech-brats-turning-30/</id>
		<content type="html">&lt;p&gt;In 2017, I went to a talk about gravitational waves at a hacker house in San Francisco. A year prior, LIGO had first detected gravitational waves, and a young post-grad came to talk to a room full of novices about the science behind the discovery.&lt;/p&gt;
&lt;p&gt;I knew a little about the topic already, probably from some YouTube video, because I had recently developed a new ambition to work in the space industry. I liked my art directing job, but it wasn&#39;t a serious long-term career prospect. The lecturer was friendly but nervous, speaking the whole time with his notes typed up on A4 paper in front of his face.&lt;/p&gt;
&lt;p&gt;Some loudmouth beside me kept interrupting the speaker every few minutes to make minor corrections or add unnecessary details. I tried to ignore it. The interrupter was obviously very smart, and wanted to make sure the lecturer got it right. But when the lecturer started describing how the gravitational waves squish the Earth when they pass through it the interrupter said, &amp;quot;So we can all share a common language, don&#39;t refer to it as the &lt;em&gt;Earth,&lt;/em&gt; call it the analog of a sphere.&amp;quot; This struck me as the single most asinine thing a person could say. I turned my head to look and saw that the interrupter was Eric Weinstein.&lt;/p&gt;
&lt;p&gt;I knew who Weinstein was because, at the time, I was a masochistic listener of The Joe Rogan Experience (JRE). I had recently discovered that all men are insane and was doing my part to get to the bottom of their intentions and aspirations straight from the source.&lt;/p&gt;
&lt;p&gt;Weinstein was articulate and distinguished himself from other JRE guests by having received fewer concussions than the others. He had received a PhD from Harvard in Physics but moved away from academia into the world of finance. At this time, still fleshing out his character, he referred to himself as an economist and as a key whistleblower in the 2008 collapse.&lt;/p&gt;
&lt;p&gt;Weinstein&#39;s talking points will seem familiar to us now. Universities have become too woke, and DEI initiatives are bringing the education system to a standstill. The US economy is stagnating, and humanity needs &amp;quot;innovation&amp;quot; to transform itself into a multi-planetary species.&lt;/p&gt;
&lt;p&gt;When I was on my way out that night, I thought about asking him some questions, but as I walked over to the emptied living room, I found him sitting in a chair, lecturing to a cluster of young women cross-legged on the floor. They, no doubt, were on a similar quest as me.&lt;/p&gt;
&lt;p&gt;Around this time, I was coming around to this hacker house often. There is a common misconception that hacker houses in San Francisco are just for young or broke people. These houses, which are precisely as grimy and stale as you imagine, are usually filled with people of an average age of forty, and, if they are to be believed, impressive resumes. They are essentially frat houses for those in mid-life peril, with slightly less sticky floors but many more LED lights, poorly conceived murals, and, at the time I lived there, open bottles of Soylent.&lt;/p&gt;
&lt;p&gt;However, at 22 and susceptible to platitudes, if I was the composite of the five people I hung around the most, and if I wanted to realize my career ambitions, I should probably be hanging around this hacker house more often. Thirteen people lived there together, with an area downstairs that acted like a hotel and could house a few more. Most were upper management of the same satellite company about to go IPO. I didn&#39;t have the complete picture then, but this satellite company made its money taking pictures of oil refineries and foreign military camps and selling them to hedge funds and the military.&lt;/p&gt;
&lt;p&gt;I could put the weirdness of their living conditions aside when I went over there because of the intoxicating stories I heard from anyone I happened to be sitting next to. Everyone seemed just to be back from watching a rocket launch in New Zealand or Russia. One woman I talked to was founding a company whose purpose was to launch satellites every day of the year. More launches meant more data for humans. Another man&#39;s goal was to launch DNA into space. What kind of DNA have I always wanted to know. Some nights, I would come over but be told I couldn&#39;t go inside. &amp;quot;Elon&#39;s here&amp;quot;. But, as a youthful pupil in the community, I could always hang out on the front porch and help gatekeep.&lt;/p&gt;
&lt;p&gt;When I was back at the house a week later, I tried asking around about Weinstein – who knew him, what he was like in real life – but I was quickly accused of being a reporter. That may have been a correct assumption, as I am now reporting on it, but I noticed a chill towards me in the house. A few weeks later, I finally accepted a position at that space job I had always wanted, which I found not through them but through an online job portal, and packed up to move out of San Francisco and into the desert.&lt;/p&gt;
&lt;p&gt;This is when I began to think a lot about Eric Weinstein. Working on a research telescope (The Vera C. Rubin Observatory) made me realize the enormous collaborative scale of scientific research, which shattered my youthful assumptions about science. For the telescope to see first light, a giant building would have to be constructed on top of a mountain in the Atacama Desert, housing the largest camera ever built, at 6000 pounds, and a piece of glass so giant they had to build it underneath a football stadium. On its first day receiving data, the telescope will generate 5 petabytes (5000 terabytes) of data and will do it again every day it exists. All these engineering elements must work together in delicate harmony for this remarkable object to exist. Immeshed in this world, I spent my days wondering when I would reach the point of scientific fluency where I would realize it is much more straightforward to say &amp;quot;the analog of a sphere&amp;quot; instead of &amp;quot;the Earth&amp;quot;?&lt;/p&gt;
&lt;p&gt;While I was revolutionizing science, physicist Weinstein started his podcast, &lt;em&gt;The Portal&lt;/em&gt;. Some of the woven metaphors he had shared on early guest podcast appearances began taking a more precise form there.&lt;/p&gt;
&lt;p&gt;Weinstein reveals that he was a great lover of the Harvard institution. However, during graduate school, he was asked to leave the state of Massachusetts before completing his doctoral thesis. He innocently suggested some new mathematical equations to Ed Witten (a famous physicist), but he did not like them. Angering the great man, he was asked to leave the state and could not attend his thesis defense in person. With luck, he was still able to graduate, leaving him in good academic standing but with a bruised reputation and a chip on his shoulder.&lt;/p&gt;
&lt;p&gt;Years later, as a postdoc, he attended a lecture held by Witten at Harvard. There, he saw his equations on the blackboard. Only Ed Witten, the most famous physicist on the planet, didn&#39;t seem to think they belonged to Weinstein. He called them the Seiberg-Witten equations.&lt;/p&gt;
&lt;p&gt;The theft shattered Weinstein. But he wasn&#39;t the only victim, and Weinstein was beginning to discover a dark pattern. While also in grad school, his brother, Bret, discovered disturbing details about a telomere study on rats. He shared his findings with his graduate advisor over the phone, who discounted the information. Then, she published her own study, stealing Bret&#39;s idea. However, his advisor didn&#39;t understand the true implications of the findings, and Bret Weinstein believes this incorrect assumption could invalidate every drug study on the planet utilizing lab mice, resulting in disastrous consequences (don&#39;t worry, it won&#39;t).&lt;/p&gt;
&lt;p&gt;That&#39;s not all. During her academic tenure, his wife and Weinstein devised a way to calculate the inflation index using Gauge Theory. She introduced the idea to her professor, who dismissed the idea as wholly unnecessary and asked her to pursue another research topic. Weinstein now believes that the professor was part of an organization that wanted to avoid a more accurate measure of inflation being exposed to consolidate power in the hands of a few.&lt;/p&gt;
&lt;p&gt;Thus, Eric believes that all three, by nefarious means, had been deprived of a Nobel Prize. He believes that if three Nobel Prize-winning ideas were suppressed in one family, imagine how many more there are in the world we don&#39;t know about. Disgusted by academia but never relinquishing his love of great science, he decides to leave academia and cash in. This is where he meets Peter Thiel.&lt;/p&gt;
&lt;p&gt;Thiel and Weinstein bonded over his Harvard story, and Thiel hired him as the Managing Director of his firm, Thiel Capital. I have since learned that &amp;quot;Managing Director&amp;quot; is not a real job and Thiel Capital is a fake company. Thiel has five different investment firms that seem only to exist to employ crackpots.&lt;/p&gt;
&lt;p&gt;Thiel and Weinstein have different communication methods, but you might notice a few similarities in their stories. They both place the exact date on which America began irrecoverably stagnating to the same one-year period in the 1970s. They both have a similar anecdote, where they looked around the room one day and realized that without the TV screens, it would look the same as it would have fifty years ago. They both bombastically agree that DEI initiatives are hurting one thing most severely – physics.&lt;/p&gt;
&lt;p&gt;If you don&#39;t know, Peter Thiel is the most important person in Silicon Valley. Thiel studied philosophy at Stanford and, like every person you know who studied liberal arts at Stanford, became obsessed with Rene Girard. Thiel adopted Girard&#39;s belief that competition is overvalued as it can cause individuals to compete more with each other than with the problem. This applies to the private sector: if you ever pitch a startup to Thiel, make sure it&#39;s unique, as well as the public one: Universities are plagued by sameness, competition, and a lack of ideas.&lt;/p&gt;
&lt;p&gt;On campus, Thiel gained some notoriety when he founded a conservative and libertarian newspaper called &lt;em&gt;The Stanford Review&lt;/em&gt; as a reaction to changes to the first-year curriculum that recentered The Western Canon. This extended into some interesting theories about multiculturalism he crafted into a book called &lt;em&gt;The Diversity Myth&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;He then formed PayPal when his and Elon Musk&#39;s companies merged. My favorite anecdote from Ashlee Vance&#39;s 2015 biography on Musk is that Thiel&#39;s team threw away all of the code Musk had spent several years writing because it was unusably bad.&lt;/p&gt;
&lt;p&gt;After selling PayPal, he became the first outside investor in Facebook, netting him his first billion. Then, he found Palantir, a data analysis company backed by the CIA that helps organizations like ICE, the NSA, and the IDF do what they do best more efficiently.&lt;/p&gt;
&lt;p&gt;After all of this success, Thiel begins to look around the world, and he remembers what had bothered him since his undergraduate days: stagnation. His protest of the curriculum at Stanford in the 1980s seemed like an under reaction after seeing the enormity of the changes that had taken place in the intervening thirty years. Universities were now wholly overrun with DEI initiatives, and these initiatives had a clear purpose. The woke mob was scared of the power of science. Physicists and mathematicians, left to their own devices, had tremendous power. The Manhattan Project had built a bomb in three years. Imagine, if left alone, what they could do in four. By inundating physics departments with DEI initiatives, universities could deflect minds that could otherwise be pushing humanity forward into the mundane. Thiel believes this fear and cowardice is an existential threat to the Western world and society.&lt;/p&gt;
&lt;p&gt;This is when Thiel began a decade-long crusade to reform the education system through the media. I have no evidence to back this up, but it seems plausible that for a multi-year stretch, Joe Rogan was on Thiel&#39;s payroll, either implicitly or explicitly. Jordan Peterson&#39;s &amp;quot;postmodern neo-Marxism&amp;quot; has an uncanny resemblance to Thiel&#39;s multiculturalism argument from &lt;em&gt;The Diversity Myth.&lt;/em&gt; Peterson, of course, was the victim of wokeism run amok in the University system. He made his first appearances on Rogan just like Weinstein and his brother, Bret, who got a lot of attention after being embroiled in a woke frenzy at the famously conservative university Evergreen College.&lt;/p&gt;
&lt;p&gt;Around this time, Thiel hires J.D. Vance to work at another of Thiel&#39;s (undoubtedly genuine, no funny business here) investment capital firms. Vance published his famous memoir at Penguin a year after being hired, and like all our other goons, speaks critically of the University system.&lt;/p&gt;
&lt;p&gt;Thiel shares many similarities with fellow billionaire Silicon Valley guy Marc Andreessen. They both have a shared vision of human innovation through technology. They both have written nearly unintelligible screeds online about it. But unlike Marc Andreessen, who seems so clearly to only be in it because that&#39;s where his fatted calf has always been, Thiel appears to be genuinely idealistic. Thiel&#39;s famous line, &amp;quot;We wanted flying cars. Instead we got 140 characters,&amp;quot; seems to actually keep him up at night. However, Thiel never struck me as someone overly concerned with personal legacy. He looks contented to stand in the shadows as long as he can shake the boat enough to get the world back on track.&lt;/p&gt;
&lt;p&gt;But then Weinstein had another idea. Fame suited Weinstein nicely, and with half a million Twitter followers lauding his genius and a comfortable role in society, he began to think about &lt;em&gt;his&lt;/em&gt; legacy. After years of living in the shadow of his academic defeats, he decided he couldn&#39;t take it anymore. He realized the last twenty years of his life had been lived in fear, hiding his academic convictions. The world needed more &amp;quot;cowboy scientists,&amp;quot; people willing to take big swings at solving big problems, and fewer people who saw themselves only as small cogs in the scientific process, contented to tackle minor problems.&lt;/p&gt;
&lt;p&gt;Weinstein had a secret project he had been working on since his Harvard days. This work directly connected those equations stolen right from under him to a new type of geometry depicting a universe in 14 dimensions that would unify all of physics and allow us to become a multi-planetary species—our most urgent mission. If proven true, this new theory of everything would cement him as the most important scientist in human history, more important than Einstein. He released his theory &amp;quot;Geometric Unity&amp;quot; to the world via a YouTube video on The Joe Rogan Experience.&lt;/p&gt;
&lt;p&gt;Unfortunately, this theory was not proven correct. Google researcher Timothy Nguyen quickly co-authored a response to Weinstein&#39;s theory, discounting its general viability. Nguyen, having done his thesis on the Seiberg-Witten equations also believes Weinstein may not have a full grasp on them. Weinstein followed up, &amp;quot;&lt;a href=&quot;https://twitter.com/EricRWeinstein/status/1423152028608389122&quot;&gt;Look at the itty bitty balls on Little Timmy.&lt;/a&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;To this day, Weinstein stands by his theory. He believes in &amp;quot;Geometric Unity&amp;quot; and is waiting for someone with the appropriate credentials to critique his work. He has publically called for Ed Witten to address him, but has recieved no reply. He knows Witten has too much to lose. He believes that history will vindicate him, though. Science is about sticking to your guns. Around this time, Weinstein stopped appearing on podcast episodes as the Managing Director of Thiel Capital and started appearing only as a &amp;quot;physicist.&amp;quot;&lt;/p&gt;
&lt;p&gt;Last year, he joined a search committee for UFO hunting. He says that if there are aliens, he is the only person on the planet with enough knowledge of physics to study them. However, the aliens may be implementing something he calls &lt;em&gt;The Doubly Scientific Method&lt;/em&gt;. Unlike the classic Scientific Method, this one has an added assumption that the aliens may be trying to obfuscate their intentions and trick us without our knowledge.&lt;/p&gt;
&lt;p&gt;I&#39;ve been critically reflecting on why I love Eric Weinstein so much. The other night, I was cooking dinner, and I wanted something to listen to, so I put on a recent podcast of him talking about his theories. As I was listening, I felt my whole body relax. I realized I don&#39;t just listen to him as a kind of Schadenfreude. It is not just the pleasure of knowing the man dominating the room at the physics discussion was a complete crackpot. His vision of the world is seductive.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://upload.wikimedia.org/wikipedia/commons/6/6e/Solvay_conference_1927.jpg&quot;&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Solvay_conference_1927.jpg/800px-Solvay_conference_1927.jpg&quot; alt=&quot;File:Solvay conference 1927.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There is a &lt;a href=&quot;https://en.wikipedia.org/wiki/File:Solvay_conference_1927.jpg&quot;&gt;famous photo&lt;/a&gt; of a group of scientists attending the Solvay Conference in 1927. Among the images are Einstein, Planck, Bohr, etc. Seventeen of the twenty-nine attendees at that conference went on to win a Nobel Prize in physics. Most are household names. It&#39;s not just Weinstein who wishes he was one of the people in that photograph; it&#39;s me, too. It&#39;s easy to find yourself wondering about the conditions that made that meeting of minds possible and about all the things you could accomplish in your own life if every distraction were removed and you could sit at a desk undisturbed for long enough. Then I realize that what I am imagining is having a wife or mother that swaddles you like a baby. This might be a good time to mention that Thiel thinks that society really started falling apart when Women&#39;s Suffrage happened.&lt;/p&gt;
&lt;p&gt;Thiel and Weinstein believe that history is made not by the masses but by great men. 20th-century philosopher Sidney Hook wrote, &amp;quot;Genius is not the result of compounding talent. How many battalions are the equivalent of a Napoleon? How many minor poets will give us a Shakespeare? How many run of the mine scientists will do the work of an Einstein?&amp;quot;&lt;/p&gt;
&lt;p&gt;Above all else, this is the delusion Thiel looks for when he picks people to join him. To communicate a message convincingly, a person must hold beliefs that sit in their soul. The only problem is any ego like this is bound to get overexcited, especially when propped up by a name brand. That&#39;s why we have so many carcasses of would-be philosophers in the trail of Thiel&#39;s ideological experiment. Weinstein, we&#39;ve heard about. His brother Bret, after losing traction on Twitter, became a leading voice in the anti-vax movement and is probably the reason your aunt took Ivermectin. Peterson, of course, took his all-meat diet a little too seriously and ended up in a coma in a Russian hospital (don&#39;t worry, he&#39;s fine now). After getting cut loose by Thiel, Vance latched on to Trump and has since become an outspoken mouthpiece for him.&lt;/p&gt;
&lt;p&gt;Thiel has one more ideological project. It&#39;s called the Thiel Fellowship. Each year, he pays a group of teenagers $100,000 to abandon college and start a company. When I lived in San Francisco, about half of my peers were there on Thiel&#39;s dime. I&#39;ve never received any money from Thiel, but my life is connected to him in a million ways. When I lived there, I envied those peers. They were never concerned about money. They had reasonable-sized rooms in competitive hacker houses that you had to be good at coding to join. When invited to hang out, they would always be found typing on their computer in some 14th-floor space in downtown San Francisco designed for their innovation. They worked with certainty. They were always unwavering clear about their purpose, and became prolific, confident writers of their opinions, retweeted often by the likes of Paul Graham and Marc Andreessen.&lt;/p&gt;
&lt;p&gt;As I moved out of San Francisco and onto other things, I followed these people and watched them change from people I envied into something grotesque in the rearview mirror.&lt;/p&gt;
&lt;p&gt;Some former Thiel Fellowship recipients in my cohort include the founders of Scale AI. This $13 billion company provides human labor for all the AI companies that aren&#39;t actually AI at all, outsourcing work to an army of &amp;quot;clickworkers,&amp;quot; aka a quarter million workers in Kenya, the Philippines, and Venezuela paid less than $1 per hour and meeting “minimum standards of fair work” in two of ten categories according to a study of their working conditions. Currently, Scale AI&#39;s Managing Director is ex-Chief of Staff to Peter Thiel, and ex-CTO of The United States Government.&lt;/p&gt;
&lt;p&gt;Another member of my cohort follows up in a blog post ten years after her time as editor-in-chief of &lt;em&gt;The Stanford Review&lt;/em&gt; that her opinions about concealed carry on campuses were formed mainly as a reaction to her classmates, whom she perceived as too liberal.&lt;/p&gt;
&lt;p&gt;Today, Thiel has taken a step back from politics. He has returned to investing after backing Trump&#39;s victory and seeing that even a monumental force like him couldn&#39;t shake institutions out of their slumber.&lt;/p&gt;
&lt;p&gt;Ten years after leaving San Francisco, I no longer expect my peers to open their eyes and see the world as I do. Thiel gave my peers the first taste of money and the validation of a name brand. Both will continue to flow through them and back to people like Thiel, plus interest, as long as they stick to the script. So much for free thinking. This will be Thiel&#39;s legacy.&lt;/p&gt;
&lt;p&gt;The Vera C. Rubin Observatory expects first light next year, three years behind schedule. There&#39;s only one problem: space junk. In the ten years it took to build, we launched too many satellites, and as a result, we&#39;ll no longer be able to see.&lt;/p&gt;
</content>
		<description>&lt;p&gt;In 2017, I went to a talk about gravitational waves at a hacker house in San Francisco. A year prior, LIGO had first detected gravitational waves, and a young post-grad came to talk to a room full of novices about the science behind the discovery.&lt;/p&gt;
&lt;p&gt;I knew a little about the topic already, probably from some YouTube video, because I had recently developed a new ambition to work in the space industry. I liked my art directing job, but it wasn&#39;t a serious long-term career prospect. The lecturer was friendly but nervous, speaking the whole time with his notes typed up on A4 paper in front of his face.&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>Tim Ferriss</title>
		<link href="https://earthly-delights.net/blog/the-absurdity-of-tim-ferriss/"/>
		<updated>2024-03-25T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/the-absurdity-of-tim-ferriss/</id>
		<content type="html">&lt;p&gt;Last weekend, it was raining and Dani was sick with a cold, so I spent a lot of time looking at weird YouTube videos. Fate led me to a seven-year-old video called &lt;a href=&quot;https://www.youtube.com/watch?v=eLYqhezACpc&quot;&gt;Evening Routine with Tim Ferriss&lt;/a&gt;. If you don&#39;t know who Tim Ferriss is, he is the author of the mega-popular book &lt;em&gt;The 4-Hour Work Week&lt;/em&gt;, which inexplicably made him a legend in the tech scene. Millennials love him. Ask any millennial if they know him. I&#39;ll walk you through his routine, and you can see how it compares to yours.&lt;/p&gt;
&lt;p&gt;First, Ferriss combines a Douglas Fir Spring Tip tea by Juniper Ridge, which he bought at the farmers market at the Ferry Building in San Francisco, with two tablespoons of apple cider vinegar and a tablespoon of honey. Then, he fills a 40-ounce Hydroflask with water and ice and demonstrates to us how he uses the Hydroflask as a replacement for a foam roller when he is traveling. This way, he doesn&#39;t have to bring both a foam roller and a Hydroflask with him every time he leaves town.&lt;/p&gt;
&lt;p&gt;His routine continues downstairs, where he has converted a room in his basement into a soaking room. He gets in his soaking tub, which is for warm soaking, and shows us dog food containers he has filled with various medicinal salts, as well as different oils he anoints himself with that vary depending on the style of training he has performed that day.&lt;/p&gt;
&lt;p&gt;He has another tub in the other room (not pictured) that is for cold soaking. He will alternate cold soaking and warm soaking at two-minute intervals while drinking the ice water. He gets in the soaking tub to demonstrate its size. It is larger than a bathtub, going to about chest height while standing. He performs his soaking while listening to &amp;quot;presentations that are motivational in some capacity&amp;quot;.&lt;/p&gt;
&lt;p&gt;The video intrigued and disturbed me. I clicked again. With such a ridiculous evening routine, I had to see his morning routine. This one also involves a series of oils. He shows us three different oils he drinks by the capful each morning. But, he warns us not to do the same. He has trained up to being able to tolerate these oils. If we tried the same, we would certainly shit our pants. He then drinks a Sencha with butter in it (oil). After five minutes of explanation about the benefits of the oils, he admits &amp;quot;I find I perform better with a little bit of food&amp;quot;. Sometimes, he opens a can of sardines, pours some of the oil into his dog&#39;s food, and then eats the rest of the oil and fish in the can.&lt;/p&gt;
&lt;p&gt;I watched a few other confessional vlogs. In one he tells us he keeps his phone in airplane mode during the day and when he sleeps, because every time he turns it off, he gets an uncontrollable barrage of text messages. He tells us he was scared to start meditating because he was worried he would lose his edge. He shows us his copy of &lt;em&gt;Travels with Charley&lt;/em&gt; by John Steinbeck which his mother gifted him, that he annotated for maximum retention.&lt;/p&gt;
&lt;p&gt;I first wrote this post out in my journal on paper as a bit of catharsis after watching the horror of these videos. Even in that context, I felt bad writing all of this. This video is seven years old, and in the meantime, he has been honest about his mental health struggle. But, this is a man whose personal journey is inextricably linked to his fame and his financial wealth. He is responsible for proliferating an absurd amount of the sludge of Silicon Valley mindset into this world, and for that, he can never be forgiven. I blame Ferriss for every bad tech blog, every single podcast, every single goo and oil that is consumed in the morning, the all-meat diet, that guy who is drinking his kid&#39;s blood so he doesn&#39;t have to age, Andrew Huberman, and saunas.&lt;/p&gt;
&lt;p&gt;I grew up in the Silicon Valley and lived in San Francisco as an adult, working in tech during peak delusion. I have quite a lot to say about my experience living in San Francisco during that time, something that has so quickly become dated. The quintessential San Francisco experience for me was when my roommate (in an 11-person flat, where I paid $1600 for my room where I could touch both walls at the same time), who was the CEO of a successful startup, gifted us with a 75 pack of metal forks. She revealed to us that she ordered takeout every night for dinner. Instead of washing the fork when she was finished, she would fold it into the container and throw it in the trash. I just don&#39;t understand where you would have to get to mentally to be able to do that. We had a dishwasher, at the very least you could just leave the fork in the sink unwashed.&lt;/p&gt;
&lt;p&gt;These are the kinds of people that when I lived in San Francisco recommended me the &lt;em&gt;The 4-Hour Work Week&lt;/em&gt; like it was the Bible. I didn&#39;t feel like reading it at the time and chose not to. In retrospect, this decision may have been a foundational moment in my self-respect. After watching these videos, though, I was curious. What did he mean by &amp;quot;4-Hour&amp;quot;? Did it resemble anything similar to my lackadaisical approach to working?&lt;/p&gt;
&lt;p&gt;I read the Wikipedia page. It did mean only working 4 hours per week, but he suggested achieving that by hiring offshore labor at $5/hour and having them write fake blog posts for you. (This is of course what I am doing here). I then took a look at his smash hit follow up &lt;em&gt;The 4-Hour Body&lt;/em&gt;. On his website, he claims in this book to gain 34 lbs of muscle in 28 days (natural, of course), with only four hours of gym time, and to produce 15-minute female orgasms. A hugely productive month for him, no doubt.&lt;/p&gt;
&lt;p&gt;These books are frankly shameful. This man is not well, and receiving more text messages than is probably safe for one person to receive. Most damming, Ferriss, in my mind, is responsible for the style of podcast where blowhards come on and talk about their routines. This has degraded society immeasurably and has spread from the underworld of tech motivation to influencers of every kind. Today we live in a world where any successful person feels the need to have a routine and share that routine with others. Ideally, it contains several oils.&lt;/p&gt;
&lt;p&gt;Looking back, I can&#39;t help but feel for this man. It is not his fault that these books sparked something in the public consciousness. A collective longing to become someone else (a man, finally) through discipline.&lt;/p&gt;
&lt;p&gt;Today, on Monday morning, when I was getting ready to start another quiet week where I would write some code, go rock climbing, and probably watch a couple more YouTube videos, I couldn&#39;t help but imagine a different world where a young Tim Ferriss wrote a book that didn&#39;t get popular, and learned to cope, like we all do, with the mundanity of life, who stepped off the wheel at 20 instead of 50, and goes to bed with his phone ringer on, in case his loved ones text.&lt;/p&gt;
</content>
		<description>&lt;p&gt;Last weekend, it was raining and Dani was sick with a cold, so I spent a lot of time looking at weird YouTube videos. Fate led me to a seven-year-old video called &lt;a href=&quot;https://www.youtube.com/watch?v=eLYqhezACpc&quot;&gt;Evening Routine with Tim Ferriss&lt;/a&gt;. If you don&#39;t know who Tim Ferriss is, he is the author of the mega-popular book &lt;em&gt;The 4-Hour Work Week&lt;/em&gt;, which inexplicably made him a legend in the tech scene. Millennials love him. Ask any millennial if they know him. I&#39;ll walk you through his routine, and you can see how it compares to yours.&lt;/p&gt;
&lt;p&gt;First, Ferriss combines a Douglas Fir Spring Tip tea by Juniper Ridge, which he bought at the farmers market at the Ferry Building in San Francisco, with two tablespoons of apple cider vinegar and a tablespoon of honey. Then, he fills a 40-ounce Hydroflask with water and ice and demonstrates to us how he uses the Hydroflask as a replacement for a foam roller when he is traveling. This way, he doesn&#39;t have to bring both a foam roller and a Hydroflask with him every time he leaves town.&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>A Sustainable Web?</title>
		<link href="https://earthly-delights.net/blog/sustainable-websites/"/>
		<updated>2024-01-20T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/sustainable-websites/</id>
		<content type="html">&lt;p&gt;My friend &lt;a href=&quot;https://headless.horse/&quot;&gt;Headless Horse&lt;/a&gt; and I built a sustainable website called &lt;a href=&quot;https://overbrowsing.com&quot;&gt;Overbrowsing&lt;/a&gt; a few months ago. Before we started the project, I was skeptical. Greenwashing is a hot topic in web development, and I was unconvinced that making a website more sustainable could make a significant enough impact to be anything more than a marketing gimmick.&lt;/p&gt;
&lt;p&gt;I discovered that user volume was the crucial variable. At scale, high-traffic websites use an enormous amount of resources. Bloated websites with high traffic can be hugely inefficient. Reducing their size is a win-win for companies, user enjoyment, and the environment. The good news is that inefficient websites are usually the result of failing to follow industry best practices, and improving the efficiency of your website doesn&#39;t require reinventing the wheel. Developers need to be aware of the keyword &lt;em&gt;at scale&lt;/em&gt;. If only a small number of people look at your site, no matter how bloated it is, the impact of making it more efficient will be negligible.&lt;/p&gt;
&lt;p&gt;CNN.com is a fantastic example of a massively bloated site at scale. The home page loads dozens of mp4s weighing several megabytes each, bringing the site weight of the homepage to 48mb on page load. They probably did this so audio files are pre-loaded in case a user chooses to click on them. There is an adage on the internet that if you make a user wait for even one second, you&#39;ve lost their attention.&lt;/p&gt;
&lt;p&gt;To understand how this data loading decision scales, I pulled up some data from an aggregator that claims CNN.com averages 400,000,000 page hits per month. According to the Paris Climate Agreement, individuals should consume no more than 1.5 tonnes of carbon per person per year. For context, 1.5 tonnes of carbon is equivalent to your portion of a roundtrip from SFO to JFK. On average, people living in countries like the United States produce more than 15 tonnes of carbon per year. I live in Europe and work primarily with American companies. At work, I used to joke that if you want to make your company more efficient, the best thing to do would be not to invite me to your conferences. However, if I had worked at CNN, that wouldn&#39;t have been the case. CNN.com, solely through page hits to their website, produces around 120,000 tonnes per year.&lt;/p&gt;
&lt;p&gt;It doesn&#39;t need to be this way. By contrast, if our site &lt;a href=&quot;https://overbrowsing.com&quot;&gt;Overbrowsing&lt;/a&gt; had the same 400,000,000 visitors per month as CNN, we would generate only 680 tonnes annually. This is not a perfect analogy; we expect CNN.com to have more significant needs than those of our small site. But, 50 MB of audio files on page load is something that doesn&#39;t reflect industry best practices and is something that could be easily remedied. CNN.com, if you are reading this, making these changes could save a fortune on your AWS bill.&lt;/p&gt;
&lt;p&gt;Last year, COP 28, the infamous environment conference got in some hot water on Twitter. Their website had a &amp;quot;carbon neutral&amp;quot; toggle on its homepage. If you clicked the toggle, images on the website would be hidden from the user. Because of lazy development practices, although hidden, they were still being downloaded in the background, netting zero energy savings. It&#39;s highly possible the developer didn&#39;t understand they hadn&#39;t programmed the site correctly. There are many ways to hide images on a website. Some of them still load content in the background, and some of them don&#39;t. It&#39;s not immediately obvious which one is which. There are a few great write-ups about what the COP website did wrong that are worth a read from &lt;a href=&quot;https://fershad.com/writing/cop28-uae-a-low-carbon-website-review/&quot;&gt;Fershad Irani&lt;/a&gt; and &lt;a href=&quot;https://css-irl.info/greenwashing-and-the-cop28-website/&quot;&gt;Michelle Barker&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The COP 28 website drama hopefully reflects a change in expectations about developers&#39; responsibility to consider the environment. Recently, sustainability has been discussed more often at work. The current consensus is that carbon-friendly websites are a &amp;quot;nice to have&amp;quot;but not a major priority. I would like to see increased pushback from the public about bloated websites. CMO types respond very well to public pressure, and I could see the winds turning and sustainability leading the list of must-have items on new development projects.&lt;/p&gt;
&lt;p&gt;The biggest benefit of making websites more sustainable is that reducing C02 generation requires no tradeoffs. Other sustainability practices involve swapping carbon loads. Choosing to take public transit instead of driving still generates C02. When you make a website more efficient, you eliminate energy use.&lt;/p&gt;
&lt;p&gt;In the next section, I will explain our technical choices while developing this site. For everyone whose eyes glaze over when they see code, I&#39;ll leave you with some general recommendations if you&#39;re hoping to make your site more sustainable:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reduce asset size&lt;/strong&gt;. Websites are weighted based on how much is downloaded each time a user visits a site. JavaScript is often blamed for bloating sites, but the biggest bulk culprit is usually in image, video, and audio assets. Reducing asset size is an important thing you can do to make your site smaller. Compress images before caching them. Set max-size upload restrictions in your CMS. Ask yourself if you need high-res images at all. While building Overbrowsing, I tested some client work I&#39;d recently built on the &lt;a href=&quot;https://www.websitecarbon.com&quot;&gt;Website Carbon Calculator&lt;/a&gt;. A few of the sites I built scored a low rating. When I looked into the problem, I discovered that the client had uploaded large images to the site. I realized developers should always set limits in my CMS and compress images that are uploaded.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Implement Caching&lt;/strong&gt; - APIs don&#39;t need to be called on page load. Come up with a minimum viable API call, say once a day, and cache your data between calls.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do you even need analytics?&lt;/strong&gt; From my informal polling, approximately 0% of people know how to use their analytics services or correctly interpret the data they collect. Are you just using that analytics tool because you feel like you should? If you need analytics, you could also try switching to something less taxing and evil, like &lt;a href=&quot;https://withcabin.com&quot;&gt;Cabin Analytics&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reduce JS load&lt;/strong&gt; to what is needed page by page. Make sure JavaScript is only loaded component by component when required.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Green Hosting&lt;/strong&gt; - This is the last major item on the list for a reason. It is the least important. Why use green energy when you can use &lt;em&gt;no&lt;/em&gt; energy? While this hosting is better than doing nothing, you will always use gas to run electricity no matter what.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No JS&lt;/strong&gt; - Users hate flashy, unnecessary JavaScript. Join the movement and stop developing it. I am not just saying that because I am bad at making JavaScript animations; it&#39;s also good for the environment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No Website&lt;/strong&gt; - Do we even need a website for that? Save your developer some time, and let&#39;s all go outside.&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id=&quot;how-we-built-overbrowsing&quot; tabindex=&quot;-1&quot;&gt;How we built Overbrowsing &lt;a class=&quot;header-anchor&quot; href=&quot;https://earthly-delights.net/blog/sustainable-websites/&quot;&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;When developing Overbrowsing, we had two primary goals. Our first goal was to make the site as small as possible, and our second goal was to store our data using the Are.na API. My first instinct was the obvious one. Make an HTML-only site with a couple of small lines of JavaScript to pull in the API data. After some trial and error, we realized that it didn&#39;t actually matter at all if we used only HTML or a JavaScript library because we were compiling JavaScript to a static site anyway.&lt;/p&gt;
&lt;p&gt;The API was the biggest source of weight on the site. Because we knew we wanted to occasionally update the site, we set the API to be called once a week, depending on Air Quality Index (AQI). Our workflow is triggered via a YAML file in two ways:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;When there&#39;s a push to the &lt;code&gt;main&lt;/code&gt; branch&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;On a schedule&lt;/strong&gt;, specifically at 7:30 AM every Monday. The scheduled build only executes scheduled build stops if the AQI is below a certain threshold, the scheduled build stops.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;language-yaml&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;
&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Check AQI and stop if necessary

  run&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;|&lt;/span&gt;

    aqi=$(curl &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;s &quot;https&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//api.openweathermap.org/&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;myAPI&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&#39;)

    echo &quot;AQI today is $aqi&quot;

    if &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt; &quot;$aqi&quot; &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;lt 2 &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token important&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt; &quot;$&quot; == &#39;schedule&#39; &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;; then            

      echo &quot;AQI today is $aqi. Stopping the workflow.&quot;

      exit 78  &lt;span class=&quot;token comment&quot;&gt;# 78 is a special exit code indicating the workflow should be stopped&lt;/span&gt;

    else

      echo &quot;AQI today is $aqi. Workflow can continue.&quot;

    fi
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If the build executes, the APIs are called and saved in a JSON file. The Are.na API had a huge amount of data, but we only needed a small amount for Overbrowsing. Therefore, before saving the data, we reduced it to only a few items.&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;processChannel&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;channel&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; data &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fetch&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;https://api.are.na/v2/channels/&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;channel&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;then&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;resp&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; resp&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;json&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; category &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; channel&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;category&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; mergedJson &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; Promise&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;contents&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token parameter&quot;&gt;element&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; reducedData &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token literal-property property&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; element&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token literal-property property&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; element&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;content&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token literal-property property&quot;&gt;contents&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; element&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;contents&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token literal-property property&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; element&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token literal-property property&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; element&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;image&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token literal-property property&quot;&gt;date&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; element&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;updated_at&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      category&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;element&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;source&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      reducedData&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;source &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;token literal-property property&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; element&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;source&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;url&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token literal-property property&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; element&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;source&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;token literal-property property&quot;&gt;provider&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; element&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;source&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;provider&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; mergedJson&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Before saving images, we compressed them massively, which adds a nice visual effect to the website. Choosing how to compress the images took a lot of trial and error. This configuration resulted in the smallest, best-looking images.&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;processAndOptimizeImage&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;inputFilePath&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; outputFilePath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;sharp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;inputFilePath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;resize&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;450&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toFormat&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;png&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;png&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token literal-property property&quot;&gt;dither&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
			&lt;span class=&quot;token literal-property property&quot;&gt;colors&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
			&lt;span class=&quot;token literal-property property&quot;&gt;quality&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

		&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toFile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;outputFilePath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There are a lot of fun little easter eggs on this site. The background changes based on the air quality that day. The favicon changes based on the moon&#39;s phase. We needed to make many tiny API calls and used the same method as with Are.na. Here is the code:&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;
&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fetchAqiAndSave&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;aqi&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; moonPhase&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; Promise&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getAirQualityData&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getMoonPhase&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; aqiValue &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; aqi&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;list&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;main&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;aqi&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; airQualityDescription &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getAirQualityDescription&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;aqiValue&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; backgroundColor &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;calculateBackgroundColor&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;aqiValue&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; data &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		aqiValue&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		airQualityDescription&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		backgroundColor&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		moonPhase&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getMoonPhase&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; response &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;fetch&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;https://api.openweathermap.org/{myAPI}&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; data &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; response&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;json&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; moonPhaseEmoji &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;🌑&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;🌒&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;🌓&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;🌔&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;🌕&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;🌖&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;🌗&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;🌘&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Math&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;floor&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;daily&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;moon_phase &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;🌎&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; moonPhaseEmoji&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;catch&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;error&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;Error fetching moon phase:&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; error&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;token keyword&quot;&gt;throw&lt;/span&gt; error&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And it&#39;s output:&lt;/p&gt;
&lt;pre class=&quot;language-json&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;aqiValue&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;airQualityDescription&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;fair&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;backgroundColor&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;#272a24&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;moonPhase&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;🌖&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Overbrowsing is open-sourced on GitHub](https://github.com/overbrowsing/overbrowsing.com). If you want to learn more, I highly recommend checking it out. There were so many interesting little choices made when developing this site that I have yet to mention, including building the enormous homepage animation from scratch with D3.js to scrape off tiny amounts of weight. The resources themselves are also highly worth looking at. Compiling them was a labor of love done mostly by &lt;a href=&quot;https://headless.horse/&quot;&gt;Headless Horse&lt;/a&gt; and the resources and a lot of stuff that changed how I view the internet, including &lt;a href=&quot;https://earthly-delights.net/blog/sustainable-websites/ecoiron.blogspot.com/2007/01/black-google-would-save-3000-megawatts.html&quot;&gt;Black Google&lt;/a&gt;. This blog talks about the enormous amount of energy the search engine would save if it swapped the default color of its homepage. You can also review the resources or follow Overbrowsing on &lt;a href=&quot;https://www.are.na/overbrowsing/channels&quot;&gt;Are.na&lt;/a&gt;.&lt;/p&gt;
</content>
		<description>&lt;p&gt;My friend &lt;a href=&quot;https://headless.horse/&quot;&gt;Headless Horse&lt;/a&gt; and I built a sustainable website called &lt;a href=&quot;https://overbrowsing.com&quot;&gt;Overbrowsing&lt;/a&gt; a few months ago. Before we started the project, I was skeptical. Greenwashing is a hot topic in web development, and I was unconvinced that making a website more sustainable could make a significant enough impact to be anything more than a marketing gimmick.&lt;/p&gt;
&lt;p&gt;I discovered that user volume was the crucial variable. At scale, high-traffic websites use an enormous amount of resources. Bloated websites with high traffic can be hugely inefficient. Reducing their size is a win-win for companies, user enjoyment, and the environment. The good news is that inefficient websites are usually the result of failing to follow industry best practices, and improving the efficiency of your website doesn&#39;t require reinventing the wheel. Developers need to be aware of the keyword &lt;em&gt;at scale&lt;/em&gt;. If only a small number of people look at your site, no matter how bloated it is, the impact of making it more efficient will be negligible.&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>Random Number Generators</title>
		<link href="https://earthly-delights.net/blog/random-number-generators/"/>
		<updated>2024-01-01T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/random-number-generators/</id>
		<content type="html">&lt;p&gt;At printer_scanner, I spend a lot of time playing with Random Number Generators. From an artistic standpoint, it adds a lot of interest to projects I&#39;m working on because when you offer a choice to someone or something in the creation of an art object, I become more than an author in the creation of that object; I am also an observer.&lt;/p&gt;
&lt;p&gt;But what are Random Number Generators anyway? And is &lt;code&gt;Math.random()&lt;/code&gt; really as random as it seems?&lt;/p&gt;
&lt;p&gt;Computers are linear. They are big, giant counters. However, an essential part of computing is randomness. We use randomness in everything, from art to gambling, statistical sampling, computer simulation, and cryptography. printer_scanner utilizes random number generators for much of its work, claiming to be the most random website on the internet. This claim is disputed by most. But how does a machine built to be linear create randomness? There are a few ways. We have to develop algorithms that mimic randomness. These are called Pseudorandom Number Generators, or PRNGs. These algorithms produce outputs that resemble uniformly distributed random values but are deterministic.&lt;/p&gt;
&lt;p&gt;The earliest PRNG was developed by John von Neumann using the middle square method. This method takes a number, squares it, and removes the middle digits of the resulting number as a &amp;quot;random number.&amp;quot; This random number is used as a seed for the next iteration. The problem is that all sequences eventually repeat themselves, some very quickly, such as &amp;quot;0000.&amp;quot;&lt;/p&gt;
&lt;p&gt;Today, two random number generation algorithms are most frequently used on computers. The first is xorshift128+, which most browsers use, and the second is variations on the Mersenne Twister, a more secure algorithm that most programming languages use.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;xorshift128+&lt;/em&gt; is the algorithm used by most browsers. When you run a random number generator in the browser, such as &lt;code&gt;Math.random()&lt;/code&gt; in JavaScript, these languages elect the browser to choose an algorithm. We call this implementation-defined. &lt;em&gt;xorshift128+&lt;/em&gt; is the preferred algorithm of browsers because it is incredibly lightweight and the fastest algorithm within its class. Let&#39;s look at the whole &lt;em&gt;xorshift128+&lt;/em&gt; in detail:&lt;/p&gt;
&lt;pre class=&quot;language-c&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-c&quot;&gt;&lt;span class=&quot;token class-name&quot;&gt;uint64_t&lt;/span&gt; seed_0 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token class-name&quot;&gt;uint64_t&lt;/span&gt; seed_1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token class-name&quot;&gt;uint64_t&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;xorshift128plus&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token class-name&quot;&gt;uint64_t&lt;/span&gt; s1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; seed_0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token class-name&quot;&gt;uint64_t&lt;/span&gt; s0 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; seed_1&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  seed_0 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; s0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  s1 &lt;span class=&quot;token operator&quot;&gt;^=&lt;/span&gt; s1 &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;23&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  s1 &lt;span class=&quot;token operator&quot;&gt;^=&lt;/span&gt; s1 &lt;span class=&quot;token operator&quot;&gt;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;17&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  s1 &lt;span class=&quot;token operator&quot;&gt;^=&lt;/span&gt; s0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  s1 &lt;span class=&quot;token operator&quot;&gt;^=&lt;/span&gt; s0 &lt;span class=&quot;token operator&quot;&gt;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;26&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  seed_1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; s1&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; seed_0 &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; seed_1&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;xorshift128+&lt;/em&gt; starts by defining two seed values. It then manipulates them through arithmetic enough times that they become unrecognizable. To do this, bitwise operators are used.&lt;/p&gt;
&lt;p&gt;Programming languages are written on top of each other to reduce complexity, so the programmer can understand only some things about how a computer works to create a program. Typically, we reduce the complexity of computer programs by using layers of abstraction. We represent bitwise operators in the code with the symbols &lt;em&gt;&amp;gt;&amp;gt;&lt;/em&gt; and &lt;em&gt;&amp;lt;&amp;lt;.&lt;/em&gt; However, these bitwise operators reach underneath the program and manipulate the code at the level of the bit.&lt;/p&gt;
&lt;p&gt;The symbols &lt;em&gt;&amp;lt;&amp;lt;&lt;/em&gt; and &lt;em&gt;&amp;gt;&amp;gt;&lt;/em&gt; designate left-shifts and right-shifts. For example, if we had 8 &amp;lt;&amp;lt; 3, the left shift operator shifts the first operand, 8, the specified number of bits to the left, in this case, 3. Excess bits shifted to the left are discarded, and zero bits shifted from the right. In line 7 of the code above, &lt;em&gt;xorshift128+&lt;/em&gt; starts by left-shifting our seed value by 23 bits.&lt;/p&gt;
&lt;p&gt;This is a very clever algorithmic approach. By performing shifts at the bit level, we can ensure that, in appearance, the new number does not relate to the one preceding it.&lt;/p&gt;
&lt;p&gt;Then, we apply our second operator, the &lt;strong&gt;exclusive operator&lt;/strong&gt;, &lt;em&gt;XOR&lt;/em&gt;. We write this programmatically as &lt;em&gt;=^&lt;/em&gt;. This means one or the other, but not both. It compares the binary representations of the two numbers and outputs a 0 where the corresponding bits are the same and one where they are different. In this case, we compare the binary representations of our &lt;em&gt;seed_1&lt;/em&gt; value and our left-shifted seed one. The algorithm goes through several more cycles of left and right shifting and finally outputs our &amp;quot;random&amp;quot; number.&lt;/p&gt;
&lt;p&gt;Two questions may arise from looking at this algorithm. First, why did they shift the bits by the numbers 23, 17, and 26? Researchers carefully selected these numbers because they create the largest &lt;strong&gt;period&lt;/strong&gt; in this random number generator. A period is the number of times a program can run before it starts to repeat itself. &lt;em&gt;xorshift128+&lt;/em&gt; has a period of length of 2^128 - 1 (hence the name).&lt;/p&gt;
&lt;p&gt;The second question you may be asking is how a seed gets selected. &lt;em&gt;xorshift128+&lt;/em&gt; is not cryptographically secure. For any &lt;code&gt;Math.random()&lt;/code&gt; users reading this, use window.crypto.getRandomValues for cryptographically secure numbers. Seeds often act as a backdoor, preventing something from being truly random. It doesn&#39;t matter how many times you shake up a number. Anyone can reverse-engineer the value as long as a seed is deterministically selected. It would be like hurricane-proofing a house and then leaving the windows open. &lt;strong&gt;If you know the generator’s internal state, you see the future.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Brendan Eich developed JavaScript in 10 days in the early 1990s. Until 1992, the United States banned the export of cryptography. That law gradually relaxed in the 1990s. But when JavaScript was first developed, creating cryptographically secure algorithms to be released by JavaScript was viewed as equivalent to exporting munitions to enemies of the state.&lt;/p&gt;
&lt;p&gt;The second algorithm standardly implemented by programming languages such as Python, Ruby, R, IDL, and PHP is the Mersenne Twister algorithm, developed in 1997 by Makoto Matsumoto and Takuji Nishimura. The Mersenne Twister uses a unique approach to generating seed values. The seeds are generated from real-time clock values that return to the millisecond. Real-time numbers are a popular and somewhat secure way to generate random numbers. This is because a millisecond is impossible to detect with the human eye.&lt;/p&gt;
&lt;p&gt;Here is a sample of the Mersenne Twister written in C. The Mersenne Twister passes all of the Diehard tests. These are tests written to assure the quality of random number generators. Because of this, this algorithm is much more complex, uses more memory, and is slower than other algorithms.&lt;/p&gt;
&lt;pre class=&quot;language-c&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-c&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* An implementation of the MT19937 Algorithm for the Mersenne Twister
 * by Evan Sultanik.  Based upon the pseudocode in M. Matsumoto and
 * T. Nishimura, &quot;Mersenne Twister: A 623-dimensionally
 * equidistributed uniform pseudorandom number generator,&quot; ACM
 * Transactions on Modeling and Computer Simulation Vol. 8, No. 1,
 * January pp.3-30 1998.
 *
 * http://www.sultanik.com/Mersenne_twister
 */&lt;/span&gt;

&lt;span class=&quot;token macro property&quot;&gt;&lt;span class=&quot;token directive-hash&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;token directive keyword&quot;&gt;define&lt;/span&gt; &lt;span class=&quot;token macro-name&quot;&gt;UPPER_MASK&lt;/span&gt;		&lt;span class=&quot;token expression&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0x80000000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token macro property&quot;&gt;&lt;span class=&quot;token directive-hash&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;token directive keyword&quot;&gt;define&lt;/span&gt; &lt;span class=&quot;token macro-name&quot;&gt;LOWER_MASK&lt;/span&gt;		&lt;span class=&quot;token expression&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0x7fffffff&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token macro property&quot;&gt;&lt;span class=&quot;token directive-hash&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;token directive keyword&quot;&gt;define&lt;/span&gt; &lt;span class=&quot;token macro-name&quot;&gt;TEMPERING_MASK_B&lt;/span&gt;	&lt;span class=&quot;token expression&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0x9d2c5680&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token macro property&quot;&gt;&lt;span class=&quot;token directive-hash&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;token directive keyword&quot;&gt;define&lt;/span&gt; &lt;span class=&quot;token macro-name&quot;&gt;TEMPERING_MASK_C&lt;/span&gt;	&lt;span class=&quot;token expression&quot;&gt;&lt;span class=&quot;token number&quot;&gt;0xefc60000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;

&lt;span class=&quot;token macro property&quot;&gt;&lt;span class=&quot;token directive-hash&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;token directive keyword&quot;&gt;include&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;mtwister.h&quot;&lt;/span&gt;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;inline&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;m_seedRand&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;MTRand&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; rand&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;long&lt;/span&gt; seed&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;/* set initial seeds to mt[STATE_VECTOR_LENGTH] using the generator
   * from Line 25 of Table 1 in: Donald Knuth, &quot;The Art of Computer
   * Programming,&quot; Vol. 2 (2nd Ed.) pp.102.
   */&lt;/span&gt;
  rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; seed &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0xffffffff&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;index&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;index&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;STATE_VECTOR_LENGTH&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;index&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;index&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;6069&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;index&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0xffffffff&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/**
* Creates a new random number generator from a given seed.
*/&lt;/span&gt;
MTRand &lt;span class=&quot;token function&quot;&gt;seedRand&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;long&lt;/span&gt; seed&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  MTRand rand&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;m_seedRand&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;rand&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; seed&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; rand&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/**
 * Generates a pseudo-randomly generated long.
 */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;long&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;genRandLong&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;MTRand&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; rand&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;long&lt;/span&gt; y&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;long&lt;/span&gt; mag&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0x0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0x9908b0df&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;/* mag[x] = x * 0x9908b0df for x = 0,1 */&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;index &lt;span class=&quot;token operator&quot;&gt;&gt;=&lt;/span&gt; STATE_VECTOR_LENGTH &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;index &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;/* generate STATE_VECTOR_LENGTH words at a time */&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;int&lt;/span&gt; kk&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;index &lt;span class=&quot;token operator&quot;&gt;&gt;=&lt;/span&gt; STATE_VECTOR_LENGTH&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;index &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token function&quot;&gt;m_seedRand&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4357&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;kk&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; kk&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;STATE_VECTOR_LENGTH&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;STATE_VECTOR_M&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; kk&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      y &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;kk&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; UPPER_MASK&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;kk&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; LOWER_MASK&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
      rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;kk&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;kk&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;STATE_VECTOR_M&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt; mag&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0x1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; kk&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;STATE_VECTOR_LENGTH&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; kk&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      y &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;kk&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; UPPER_MASK&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;kk&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; LOWER_MASK&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
      rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;kk&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;kk&lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;STATE_VECTOR_M&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;STATE_VECTOR_LENGTH&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt; mag&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0x1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    y &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;STATE_VECTOR_LENGTH&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; UPPER_MASK&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; LOWER_MASK&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;STATE_VECTOR_LENGTH&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;STATE_VECTOR_M&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt; mag&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0x1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;index &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  y &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;mt&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;rand&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;index&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  y &lt;span class=&quot;token operator&quot;&gt;^=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  y &lt;span class=&quot;token operator&quot;&gt;^=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; TEMPERING_MASK_B&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  y &lt;span class=&quot;token operator&quot;&gt;^=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; TEMPERING_MASK_C&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  y &lt;span class=&quot;token operator&quot;&gt;^=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; y&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/**
 * Generates a pseudo-randomly generated double in the range [0..1].
 */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;genRand&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;MTRand&lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; rand&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;genRandLong&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;rand&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;long&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0xffffffff&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The Mersenne Twister&#39;s main advantage is an enormous period length. 2^19937−1. 2^19937 − 1, for reference, is way more than the number of atoms in the observable universe. While a long period is not guaranteed quality in a random number generator, short periods can be problematic. An attacker can observe, record, and reuse sequences within too short a period. Sequences with long periods force the adversary to select alternate attack methods.&lt;/p&gt;
&lt;p&gt;Yet, all could be better in terms of non-predictability. The Twister&#39;s algorithm keeps track of its state in 624 32-bit values. If an attacker could gather 624 sequential values, the entire forward and backward sequence could be reverse-engineered. This feature is not specific to the Mersenne Twister. Most PRGs have a state machine used to generate the next value in the sequence. Knowledge of the state effectively.&lt;/p&gt;
&lt;p&gt;This algorithm provides enough randomness for specific tasks like video games but is unsuitable for requiring high-quality randomness, such as cryptography applications, statistics, or numerical analysis.&lt;/p&gt;
&lt;p&gt;There are a few reasons for this. First, the seed needs to be more random. Though millisecond clock values are random enough to the human eye to be considered entirely random, they are still too deterministic for reverse engineering purposes.&lt;/p&gt;
&lt;p&gt;If we want to create a secure random algorithm for banking, we need unpredictability with our seed values. It is impossible to achieve unpredictability with seed values when generating them arithmetically. We must use Hardware random number generators (HRNGs) to create a truly random number generator. These generators take raw input data from high-entropy real-world situations such as thermal noise, white electrical noise, radioactive particle decay, and avalanche noise in semiconducting materials. Tracking mouse movements can also be considered random enough.&lt;/p&gt;
&lt;p&gt;If you ever find yourself building a random number generator to secure data, don&#39;t forget the words of the great John von Neumann, “Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin.”&lt;/p&gt;
</content>
		<description>&lt;p&gt;At printer_scanner, I spend a lot of time playing with Random Number Generators. From an artistic standpoint, it adds a lot of interest to projects I&#39;m working on because when you offer a choice to someone or something in the creation of an art object, I become more than an author in the creation of that object; I am also an observer.&lt;/p&gt;
&lt;p&gt;But what are Random Number Generators anyway? And is &lt;code&gt;Math.random()&lt;/code&gt; really as random as it seems?&lt;/p&gt;</description>
	</entry>
	
	<entry>
		<title>What is The Garden of Earthly Delights?</title>
		<link href="https://earthly-delights.net/blog/garden-of-delights/"/>
		<updated>2023-12-31T00:00:00Z</updated>
		<id>https://earthly-delights.net/blog/garden-of-delights/</id>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/The_Garden_of_earthly_delights.jpg/1920px-The_Garden_of_earthly_delights.jpg&quot; alt=&quot;undefined&quot;&gt;&lt;/p&gt;
&lt;p&gt;The name for &lt;em&gt;The Garden of Earthly Delights&lt;/em&gt; came to me as a joke while I was coming up with ideas in my journal for my blog. It took me a few months to remember that the name is from this 16th Century painting by Hieronymus Bosch. A few months ago, I spend a long time looking at the high res version on &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Garden_of_Earthly_Delights#/media/File:The_Garden_of_earthly_delights.jpg&quot;&gt;Wikipedia&lt;/a&gt;. The triptych depicts a surrealist Garden of Eden, the perils and joy of life&#39;s temptations and the contrast between what is natural and what is created.&lt;/p&gt;
&lt;p&gt;Naturally, inside each of our spirits lives this very garden. But, this blog is more than the humanity we nurture in quiet, still moments. It is fundamentally a work blog. I am a worker, and I have lots of thoughts about work – improvements that can be made, adjustments, etc. I ask if you disagree with my blog on first read, read it twice, and then a third time. Then, share it, both online, and then with your closest friends and family.&lt;/p&gt;
&lt;p&gt;Each post will not only be available via the world wide web, but I will also be printing out a physical copy and stapling it to the sign outside my house each week. Though we are digital workers, we should not limit our work to the digital realm. This breeds separation and turmoil in society.&lt;/p&gt;
&lt;p&gt;I will not be accepting solicitations for advice for this blog. I created an email address for it solicitations@earthly-delights.net, but I automatically route any mail received to it to the trash. Additionally, the mail is printed, but then immediately shredded by my receptionist (who is also my cousin).&lt;/p&gt;
&lt;p&gt;I invite you to take a look at the painting above for a really really long time, and if afterwords you feel like coming back, you are cordially invited to do so.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;This site was developed with &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;11ty&lt;/a&gt; and the CMS was built a bit unusually with &lt;a href=&quot;https://obsidian.md/&quot;&gt;Obsidian&lt;/a&gt;. It&#39;s working great so far! I&#39;m always available to say hi at itsprinterscanner@gmail.com&lt;/p&gt;
</content>
		<description>&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/The_Garden_of_earthly_delights.jpg/1920px-The_Garden_of_earthly_delights.jpg&quot; alt=&quot;undefined&quot;&gt;&lt;/p&gt;
&lt;p&gt;The name for &lt;em&gt;The Garden of Earthly Delights&lt;/em&gt; came to me as a joke while I was coming up with ideas in my journal for my blog. It took me a few months to remember that the name is from this 16th Century painting by Hieronymus Bosch. A few months ago, I spend a long time looking at the high res version on &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Garden_of_Earthly_Delights#/media/File:The_Garden_of_earthly_delights.jpg&quot;&gt;Wikipedia&lt;/a&gt;. The triptych depicts a surrealist Garden of Eden, the perils and joy of life&#39;s temptations and the contrast between what is natural and what is created.&lt;/p&gt;</description>
	</entry>
</feed>
