<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>studio waslo</title><link>https://studiowaslo.com/</link><description>Recent content on studio waslo</description><generator>Hugo</generator><language>en-US</language><managingEditor>wesleychent@gmail.com (Wesley Chen)</managingEditor><webMaster>wesleychent@gmail.com (Wesley Chen)</webMaster><atom:link href="https://studiowaslo.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Details and storytelling in songs</title><link>https://studiowaslo.com/essays/taylor-swift-detail/</link><pubDate>Fri, 06 Jun 2025 20:02:59 -0700</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/taylor-swift-detail/</guid><description>&lt;p&gt;I gave Taylor Swift&amp;rsquo;s newer music a shot this week after watching &lt;a href="https://x.com/blockbellaout/status/1927459076314718259"&gt;Gracie Abrams&lt;/a&gt; cover her song &amp;ldquo;Maroon&amp;rdquo;. I listened to a lot of Taylor Swift while growing up, and even now, she&amp;rsquo;s one of my most scrobbled artists. However, I stopped keeping track of her releases after &lt;em&gt;Lover&lt;/em&gt;—partly because she hasn&amp;rsquo;t had a breakout hit, and partly because I lost interest. Unfortunately, the songs I just listened to, songs off her newest albums, &lt;em&gt;The Tortured Poets Department&lt;/em&gt; and &lt;em&gt;Midnights&lt;/em&gt;, are impossible to enjoy. She’s taken the diaristic style that made songs like &amp;ldquo;You Belong with Me,&amp;rdquo; &amp;ldquo;Back to December,&amp;rdquo; and &amp;ldquo;All Too Well&amp;rdquo; so effective and turned it into something weird and uncanny.&lt;/p&gt;</description></item><item><title>The easiest Leetcode Medium is harder than it looks</title><link>https://studiowaslo.com/essays/bank-concurrency/</link><pubDate>Sun, 25 May 2025 15:06:35 -0700</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/bank-concurrency/</guid><description>&lt;p&gt;Leetcode included a strangely easy medium-difficulty problem in their &lt;a href="https://leetcode.com/discuss/post/6519304/2025-hiring-prep-sprint-big-tech-intervi-w7nl/"&gt;2025 hiring prep sprint&lt;/a&gt; called &lt;a href="https://leetcode.com/problems/simple-bank-system/description/"&gt;2043. Simple Bank System&lt;/a&gt;. The problem statement is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You have been tasked with writing a program for a popular bank that will automate all its incoming transactions (transfer, deposit, and withdraw). The bank has &lt;code&gt;n&lt;/code&gt; accounts numbered from &lt;code&gt;1&lt;/code&gt; to &lt;code&gt;n&lt;/code&gt;. The initial balance of each account is stored in a &lt;strong&gt;0-indexed&lt;/strong&gt; integer array &lt;code&gt;balance&lt;/code&gt;, with the &lt;code&gt;(i + 1)th&lt;/code&gt; account having an initial balance of &lt;code&gt;balance[i]&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>The math behind Minecraft's fastest playthroughs</title><link>https://studiowaslo.com/essays/pieray/</link><pubDate>Thu, 22 May 2025 13:22:20 -0700</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/pieray/</guid><description>&lt;p&gt;Risk management is critical for speedrunning Minecraft, the world&amp;rsquo;s most famous procedurally-generated video game. Every requirement for completing the game is based on luck. When you start the game, you must hope to spawn near a structure that gives you enough resources to last you for the rest of the run. In the Nether, you must first find a Bastion within a couple hundred blocks, then find a Nether Fortress near the Bastion. To finish the run, you need to get lucky finding the End Portal and get then get a good Dragon fight pattern to beat the game. All of these are determined by RNG and cannot be influenced by the player. So, speedrunners have developed a deep understanding of the game&amp;rsquo;s world generation and the relevant probabilities to squeeze out every drop of luck they can get from their runs. However, much of this information is unavailable on the open web (e.g. on forums or the Minecraft Wiki) and can only be learned by talking to experienced runners. In this post, I will show how some of Minecraft&amp;rsquo;s best speedrunners discovered the odds for one of these critical probabilities, an effort that turned out to be far more complex than I had anticipated.&lt;/p&gt;</description></item><item><title>Be wary of homonymy</title><link>https://studiowaslo.com/essays/homonymy/</link><pubDate>Fri, 16 May 2025 18:50:09 -0700</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/homonymy/</guid><description>&lt;p&gt;Imagine you&amp;rsquo;re back in high school and your friend is coming over to hang out. Your mom tells you, &amp;ldquo;Make sure he&amp;rsquo;s comfortable,&amp;rdquo; and you agree (You were going to do this anyways. Who doesn&amp;rsquo;t make sure her friends are comfortable?). When he arrives, you ask if he wants any drinks and snacks, and he says that he&amp;rsquo;s &amp;ldquo;all good.&amp;rdquo; You two spend an hour or two finishing your homework, then watch TV until he has to go home for dinner. In many ways, a perfect way to spend an afternoon; but, after he leaves, your mom is furious. &amp;ldquo;Why didn&amp;rsquo;t you bring him anything? I thought you said you would make him comfortable! You&amp;rsquo;re always so rude to our guests!&amp;rdquo; You, of course, are confused. You asked your friend if he wanted anything and he said no—isn&amp;rsquo;t that making sure he&amp;rsquo;s comfortable?&lt;/p&gt;</description></item><item><title>You can't reduce all moral theories to consequentialism</title><link>https://studiowaslo.com/essays/its-not-all-consequentialism/</link><pubDate>Sun, 11 May 2025 18:51:44 -0700</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/its-not-all-consequentialism/</guid><description>&lt;p&gt;The ascendant moral theory among the general public is consequentialism, the theory that only consequences matter in normative evaluation. It is easy to understand consequentialism&amp;rsquo;s appeal: its framework of action based on efficient causation aligns with our widely accepted physicalist metaphysics, and its focus on outcomes mirrors the prevailing political-economic logic of capitalism. However, the joint dominance of these three doctrines—consequentialism, physicalism, and capitalism—makes it hard to imagine alternative worldviews (as the saying goes, &amp;ldquo;Fish don&amp;rsquo;t know they&amp;rsquo;re in water.&amp;rdquo;). While proponents of physicalism and capitalism assert themselves by claiming that alternatives are infeasible, it is not uncommon to see consequentialists resorting to &lt;em&gt;reductivism&lt;/em&gt; to take down their enemies. That is, they like to claim that all other moral theories are just consequentialism in disguise. For instance, consider the charge that deontology, the moral theory that emphasizes following rules, is just &amp;ldquo;rule consequentialism&amp;rdquo;, a form of consequentialism where actions are judged according to rules that are justified by their consequences. The reductivist argument is simple: most deontological theories assert a common good, such as rationality, that &lt;em&gt;unifies&lt;/em&gt; the theory&amp;rsquo;s rules. The reductivist reinterprets this to mean that the deontological theory adopts a rule because it has the consequence of &lt;em&gt;providing&lt;/em&gt; that good, thus reducing the theory to rule consequentialism. Similar strategies can be deployed against the full range of non-consequentialist moral theories—strategies that must be refuted if we want those theories to survive.&lt;/p&gt;</description></item><item><title>How to manage node modules when you're developing in Docker containers</title><link>https://studiowaslo.com/essays/docker-node-modules/</link><pubDate>Fri, 18 Apr 2025 20:43:30 -0700</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/docker-node-modules/</guid><description>&lt;p&gt;When I started learning Docker, all the sources I read recommended that I develop my applications natively to avoid unexpected behavior that would disrupt my progress. But at a certain point in my journey, the benefits of developing in containers became too attractive to ignore. Not only would it help with dependency management and maintaining a consistent environment, but without developing in containers, I never truly believed that Docker eliminated the &amp;ldquo;works on my machine&amp;rdquo; problem. The transition was surprisingly easy, bar one major headache, which I&amp;rsquo;ll tackle in this post.&lt;/p&gt;</description></item><item><title>Altruism is not a selfish hedonism</title><link>https://studiowaslo.com/essays/altruism-is-not-selfish/</link><pubDate>Mon, 08 Apr 2024 15:49:59 -0700</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/altruism-is-not-selfish/</guid><description>&lt;p&gt;A wildly common—and dangerous—charge against altruism is that people only commit altruistic acts in order to feel good. You might believe this yourself; after all, it has significant intuitive appeal. People love to talk about how good it feels to volunteer or donate to charity, and when we help others ourselves, it does indeed feel good. Since the desire for pleasure often drives us to do certain things, it is easy to conclude that the good feeling we get from altruism also motivates it. If this was true, however, altruism wouldn’t be any more praiseworthy than drug use or street racing—it&amp;rsquo;s just another flavor of selfish hedonism. From this perspective, the choice between helping others and doing drugs is simply a matter of preference: some people feel better while helping, others feel better when they get high. The consequences of altruism, like ameliorated suffering or saved lives, are mere side effects and not really something altruistic people care about—they are in it for the pleasure alone. It is for this reason that this claim is frequently made by selfish people. By equivocating altruism and whatever vice they pursue, they conveniently excuse their selfish behavior.&lt;/p&gt;</description></item><item><title>Chrome and Firefox don't support viewport units on iOS</title><link>https://studiowaslo.com/essays/broken-ios-viewport-units/</link><pubDate>Tue, 30 Jan 2024 21:41:46 -0800</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/broken-ios-viewport-units/</guid><description>&lt;p&gt;If you’re among the &lt;a href="https://gs.statcounter.com/browser-version-market-share/desktop-mobile-tablet/worldwide/#monthly-202210-202310"&gt;12% of iOS users&lt;/a&gt; who don’t use Safari, cover images on this website might look strange when you scroll. For everyone else (and desktop readers), take a look at how the flower photo stretches and compresses on Chrome and Firefox but stays the same size on Safari:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;img class="image-block hover-play-gif" alt='' src="https://studiowaslo.com/essays/broken-ios-viewport-units/assets/comparison-footage_hu_5c809f6d7d79f7d6.webp" data-gif-src="https://studiowaslo.com/essays/broken-ios-viewport-units/assets/comparison-footage.gif" /&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;p&gt;The image behaves like this because I&amp;rsquo;m defining its height in terms of &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/length#small"&gt;svh (small viewport height) units&lt;/a&gt;, which are supposed to be proportional to the browser&amp;rsquo;s content area when all of the toolbars are visible (also known as the &amp;ldquo;small viewport&amp;rdquo;). When I make the image 75svh tall, it should take up exactly 75% of the small viewport. I do this to make sure that even when the content is at its smallest, the cover image will still be just short enough that you can see the post title. The problem is that on Chrome and Firefox, the svh unit is acting like the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/length#dynamic"&gt;dvh (dynamic viewport height) unit&lt;/a&gt; which is proportional to the &lt;em&gt;current&lt;/em&gt; viewport. This means that when the viewport gets bigger as you scroll down (since the toolbars go away), each unit counts as slightly more pixels and the cover image expands.&lt;/p&gt;</description></item><item><title>A paneer curry recipe for bums</title><link>https://studiowaslo.com/essays/paneer-curry/</link><pubDate>Mon, 29 Jan 2024 18:32:52 -0800</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/paneer-curry/</guid><description>&lt;p&gt;My brother asked me how I make paneer curry so here&amp;rsquo;s the recipe. This dish constitutes 50% of my meals since I became vegetarian with the other half being boiled beans and then probably another 50% of my meals is like cheeseburgers and al pastor tacos. This is adapted from &lt;a href="https://mahogany-prune-4e5.notion.site/James-food-8800ea1d7c65464ca6d304eae66f0386"&gt;this recipe&lt;/a&gt; that James sent me. It&amp;rsquo;s basically the same but I made some ingredients optional since they weren&amp;rsquo;t available at the QFC in North Cap Hill.&lt;/p&gt;</description></item><item><title>Interoperability is still the future</title><link>https://studiowaslo.com/essays/interoperability-lives/</link><pubDate>Sun, 19 Nov 2023 22:42:02 -0800</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/interoperability-lives/</guid><description>&lt;p&gt;Apple surprised tech observers last week by &lt;a href="https://9to5mac.com/2023/11/16/apple-rcs-coming-to-iphone/"&gt;announcing that it would support RCS on iPhones&lt;/a&gt; starting next year. &lt;a href="https://en.wikipedia.org/wiki/Rich_Communication_Services"&gt;RCS, which will replace SMS and MMS&lt;/a&gt;, enables higher resolution images and other features like read receipts for texts that used to be exclusive to iMessage. &lt;a href="https://www.android.com/get-the-message/"&gt;Google has long complained&lt;/a&gt; that Apple’s lack of support for RCS was the reason for messed up reactions, broken group chats, and of course, green bubbles when messaging between iPhones and Android phones. Many &lt;a href="https://www.reddit.com/r/Android/comments/174lf3o/samsung_joins_google_in_rcs_shaming_apple/"&gt;have been confident&lt;/a&gt; that Apple would never adopt RCS because iMessage (which only works between Apple devices) &lt;a href="https://www.wsj.com/articles/why-apples-imessage-is-winning-teens-dread-the-green-text-bubble-11641618009"&gt;is a major selling point for iPhones&lt;/a&gt;; this course-reversal might signal that Apple is opening up to interoperability.&lt;/p&gt;</description></item><item><title>On stirred-up controversies</title><link>https://studiowaslo.com/essays/controversies/</link><pubDate>Thu, 16 Nov 2023 21:49:47 -0800</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/controversies/</guid><description>&lt;p&gt;I hate these stirred-up controversies that keep popping up. Last Saturday, US soccer player Megan Rapinoe made an &lt;a href="https://talksport.com/football/1639984/megan-rapinoe-injury-final-game-proof-god-doesnt-exist/"&gt;off-hand joke post-match&lt;/a&gt;, commenting that because she tore her achilles six minutes into what might be her final game ever, then “If there was a God, this is proof that there isn&amp;rsquo;t.” Predictably, this harmless joke spawned multiple &lt;a href="https://www.reddit.com/r/soccer/comments/17u6cxq/megan_rapinoe_claims_injury_in_first_three/"&gt;hate&lt;/a&gt; &lt;a href="https://www.reddit.com/r/football/comments/17uxs86/megan_rapinoe_claims_injury_in_final_ever_game_is/"&gt;threads&lt;/a&gt; on Reddit, with soccer fans taking her statement as evidence that she’s “a real narcissistic asshole”, “a thoroughly unpleasant woman” who’s “not very bright either”, and “the most unlikeable footballer in footballing history”. Obviously, these people weren’t seriously offended by Rapinoe’s joke—they already hated her and are looking for ways to manufacture a scandal. This is what I call a stirred-up controversy—a controversy that has roots in a real event, but reaches unwarranted levels of fervor.&lt;/p&gt;</description></item><item><title>How I want to talk about movies</title><link>https://studiowaslo.com/essays/talking-film/</link><pubDate>Wed, 15 Nov 2023 00:26:29 -0800</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/talking-film/</guid><description>&lt;p&gt;I love movies but I almost never have a good time talking about them. For one, I hate how everyone thinks that their opinions are so important. It’s taken for granted that art is subjective and everyone understands that when she watches a movie with her friend, they will notice, appreciate, and dislike aspects of the film in their own particular ways. However, it seems to me that when they finish the movie and discuss what they saw, they will inevitably offend each other by revealing this simple truth. I have friends who got agitated when they found out I liked a movie they disliked. I&amp;rsquo;ve also had friends get angry when I disliked a movie they love. A couple months ago, a close friend unfollowed me on Letterboxd because he thought I was deliberately giving his favorite films low ratings to upset him.&lt;/p&gt;</description></item><item><title>"I don’t vote because it doesn’t matter"</title><link>https://studiowaslo.com/essays/2023-election/</link><pubDate>Mon, 13 Nov 2023 21:14:27 -0800</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/2023-election/</guid><description>&lt;p&gt;The 2023 general election seems to have passed over District 3 like a warm breeze. Off the back of a campaign focused on &lt;a href="https://www.capitolhillseattle.com/2023/07/why-you-should-vote-for-joy-hollingsworth-in-the-seattle-city-council-district-3-primary/"&gt;public safety&lt;/a&gt; and &lt;a href="https://www.joyforseattle.com/endorsements"&gt;endorsements from the local business community&lt;/a&gt;, business owner Joy Hollingsworth &lt;a href="https://www.capitolhillseattle.com/2023/11/d3-election-update-hollingsworth-in-reach-of-victory-with-late-voter-strength-of-her-own/"&gt;cleanly defeated&lt;/a&gt; transit activist Alex Hudson by a little over 2000 votes. To many Seattle residents, these results don’t matter. A recurring theme in the lead-up to election night was that the candidates &lt;a href="https://www.capitolhillseattle.com/2023/05/with-the-candidate-field-apparently-set-2023-race-for-district-3-seat-on-the-seattle-city-council-shaping-up-as-friendly-debate-not-heated-political-battle/"&gt;seemed indistinguishable&lt;/a&gt;. They’re both progressive-leaning, support increased affordable housing, take a mental-health approach to drug addiction, and want to increase services to address homelessness.&lt;/p&gt;</description></item><item><title>Intro, or why this website exists</title><link>https://studiowaslo.com/essays/intro/</link><pubDate>Tue, 15 Aug 2023 12:33:51 -0700</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/essays/intro/</guid><description>&lt;p&gt;I thought about making this blog for a long time before I finally pulled the trigger. Here are some of my thoughts on this decision.&lt;/p&gt;
&lt;h3 id="part-1-why-not-to-blog"&gt;Part 1: Why not to blog&lt;/h3&gt;
&lt;p&gt;It seems to me that most bloggers blog because they&amp;rsquo;re desperate to share their thoughts with the world. A &lt;a href="https://www.craigkerstiens.com/2013/03/31/why-i-blog/"&gt;brief&lt;/a&gt; &lt;a href="https://www.dannyguo.com/blog/why-i-blog"&gt;review&lt;/a&gt; of recent “Why I Blog?” articles posted on HackerNews supports this conjecture—among the differing justifications these bloggers give, the common reason that stands out is that they all want to broadcast their ideas to the world. Other reasons they list like clarifying thoughts or creating a personal archive are simply reasons to write and not to blog—these benefits can be secured by writing in private. Since I don&amp;rsquo;t care about being heard, it seems like journaling might be more my speed.&lt;/p&gt;</description></item><item><title>ABOUT</title><link>https://studiowaslo.com/about/</link><pubDate>Mon, 14 Aug 2023 00:00:00 +0000</pubDate><author>wesleychent@gmail.com (Wesley Chen)</author><guid>https://studiowaslo.com/about/</guid><description>&lt;p&gt;I&amp;rsquo;m writing this blog to keep track of my works in progress. The posts here reflect what I think about and what I find important. It seems to me that writing and making stuff is the most available way to process life. Whenever I don&amp;rsquo;t do this, I just get stuck thinking about the same thing over and over without getting to the next thing.&lt;/p&gt;
&lt;p&gt;I have no confidence that these posts will be interesting for others, but I still hope you read what I write and look at all my stuff and if you like anything in particular, feel free to read/look at it again! ■&lt;/p&gt;</description></item></channel></rss>