blog

RSS
  1. Response to Nicomachean Ethics

    In Nicomachean Ethics, Aristotle ponders what makes for a “good” life. He considers a hierarchical view of what is good based on the ends of a particular action being used to affect more important actions with more important ends. For example, a blacksmith builds a sword for a soldier. Certainly, Aristotle would say, the sword itself is more important than the act of crafting it, for the process of crafting was taken for the sole purpose of creating the sword. Then, the soldier who uses the sword to achieve victory for the country in battle would fall under a similar discussion: the victory is more “good” than the battle.

    But, the ends of these actions were only worth pursuing for the sake of something else. Is there any end worth pursuing for its own sake and never for the sake of something else? Aristotle proposes that happiness is the most “complete” end to all of our other pursuits.

    He then argues that happiness comes from action in accordance with virtue, but this confounds his previous definition of happiness as an end in and of itself. Consider the example of a virtuous man who believes so strongly in his principles that he is willing to stand up against an unjust government and be killed for promoting his beliefs. Suppose he becomes a martyr, and his death is instrumental in turning the hearts and minds of citizens and overthrowing the unjust government. He may derive pleasure from acting virtuously, but he does not achieve happiness, because he his killed.

    This contradicts Aristotle’s assertion that happiness itself is the most important end to any hierarchy of actions and outcomes. Rather, I claim that happiness is irrelevant to whether a life is good.

    Consider, again, the same man as above. Suppose he is severely depressed and addicted to drugs and alcohol. Despite his vices he is a virtuous man of action, and as Aristotle notes, he derives pleasure from acting in accordance with his virtues. But any happiness that comes from this pleasure is overshadowed by depression, despair and anger. Could we say that he lived a good life?

    I say yes. If the bad of the man’s vices is overshadowed by the greater good of his political activism, and if the disruption of trying to break his addiction and depression would prevent him from achieving his goals, then he could live a good life by acting virtuously, in spite of his flaws and never experiencing happiness. This man is a sad puppet of his own virtues with nothing else to live for, but his actions are good in the same way that the blacksmith’s process of crafting is good, or the soldier battling to protect the country is good.

    Living a good life can involve sacrificing one’s self, and so happiness is irrelevant to living a good life. Rather, acting virtuously, according to a set of principles, and working to improve society as a whole, potentially in spite of one’s self-interests, are factors that comprise a good life. The good in improving the world outweighs the good an individual may experience personally in our judgment of his life. Otherwise we would have to say that it is good to act purely out of self-interest and in pursuit of the most basic of pleasures.

    Posted 2025-12-13 01:25:26 CST by henriquez. Comments
  2. Moral Judgment is Irrational

    Thomas Nagel poses a paradox in his essay titled Moral Luck: how can we assign a moral judgment to a person for a particular action when significant causes and effects of the action are determined by factors outside of that person’s control? In this essay, I will draw parallels between Nagel’s paradox and David Hume’s problem of induction to conclude that there is no rational basis for our concept of moral responsibility. I will conclude by briefly proposing an alternative to our criminal justice system based on utilitarian principles.

    A person’s intentions in taking action may not be congruent with the outcome of that action, but we nevertheless judge the agent based on the outcome. Nagel gives the example of a reckless driver on a joyride, speeding through a stop sign: on a typical day he might be pulled over and receive a slap on the wrist by law enforcement. But supposing he were to strike and kill a little girl in the intersection, he would be charged with manslaughter. The presence of a little girl is entirely out of the driver’s control, yet he is judged more harshly for killing her negligently. Similarly, if a would-be murderer’s bullet misses his mark, he is charged with attempted murder and sentenced less harshly than had he been successful.

    Nagel uses the term “moral luck” to describe the role of factors outside of a person’s control influencing the outcomes of his action in the context of us rendering a moral judgment of the person for his action. We don’t limit our judgment of a person’s action only to factors that are under a person’s control: stringently applying this criterion would allow us to find and exclude more and more factors that are out of the person’s control, completely eroding our ability to assign responsibility and render judgment. Rather, we hold a person responsible not only for his own volition, but for the outcomes bound to his action entirely by chance.

    How can we justify this method of rendering a judgment? The condition of control that we gravitate towards in examining the concept of responsibility leads to a paradox where a person both is and isn’t in control of what he does. Nagel admits that he doesn’t have a solution to this problem.

    There is an intuitively pragmatic justification for rendering judgments based on moral luck. We do so for society to function. We rely upon moral luck when we condemn a criminal for his misdeeds or praise a scholar for his scientific theory. No one is bothered that the scholar couldn’t have arrived at his theory without using the results of others—factors outside of his control—when we award him the Nobel Prize. In the interest of maintaining social order, moral luck is intuitively relevant.

    But philosophically, the concept of moral luck has questionable justification, as Nagel’s paradox demonstrates. This paradox arises from the hypothesis that we can coherently assign moral judgment to a person, which is in fact irrational. To see this, it is instructive to consider David Hume’s problem of induction, posed in his Enquiry Concerning Human Understanding.

    Hume’s problem breaks down to a question about the basis of knowledge: how can we justify the inductive process through which we form our beliefs about the unobserved when this process is based upon the potentially faulty hypothesis that past experiences are representative of future outcomes?

    As Hume skillfully argues, we can’t justify inductive reasoning rationally. Rather than by reason, our belief in inferential logic is a function of some other intrinsic principle of the mind “of equal weight and authority.” Hume calls this principle “custom or habit.” But the problem remains: if the principle of induction is not based upon reason, then any conclusions drawn from it are irrational.

    A similar problem plagues the study of moral responsibility when we examine the reasoning behind the hypothesis that we can coherently render moral judgments of a person. If this hypothesis cannot be justified rationally, then neither can any conclusions drawn upon it. Since its supposition can lead us to a paradox, it must be viewed suspiciously.

    Throughout his essay, Nagel uses the words “intuitive,” “plausible,” and “natural” to refer to the proposition that we can judge a person insofar as his actions were within his control. This is a narrower form of the broader proposition that we can judge a person whatsoever. Given how crucial this broader proposition is to the relevance of his argument, it would be worthy of at least some discussion, but Nagel offers none.

    Nagel is not alone in this lack of reasoning. Another leading philosophical theory addressing the problem of free will and moral responsibility is “the principle of alternate possibilities.” This holds that a person is morally responsible for what he has done only if he could have done otherwise. This argument succumbs to the same paradox that Nagel proposes through recursive application of the condition of control, and it is based upon the same chief assumption. Given the hypothesis that it is coherent to judge a person, the principle of alternate possibilities explains how we arrive at that judgment.

    But what reason do we have to take this hypothesis as given? “Intuitive,” “plausible” and “natural” are words that could just as well be used to justify inductive statements. Hume has proven the problems associated with such an approach. Certainly, the hypothesis is not axiomatic, or true a priori. Then, as W.C. Salmon points out in The Problem of Induction, “the hypothesis must be treated as a conclusion to be supported by evidence, not as a premise lending support to other conclusions.”

    Let us examine the problems that arise when we deconstruct the conclusion that it is coherent to morally judge a person. We begin by presupposing that it is coherent to morally judge an action, and eschew any thinking that “good” is subjective. This line of thinking is consistent with well-established philosophies on morality. For example: a criminal successfully robs $10,000 from a bank. We agree that his action was bad from the perspective that we can render moral judgments, namely the perspective of what is good for society. The perspective of what is good for the criminal’s personal wealth is irrelevant to our purposes.

    Now, provisionally assuming that we can morally judge a person, we further presuppose that in order to do so, we must base our judgment upon one or more of that person’s actions. As Aristotle pointed out, a man’s innate virtues and character, or lack thereof, are morally meaningless without action: a man who does not act cannot be congratulated or criticized. Again, this is in line with contemporary philosophy.

    Next we consider what is meant when we say we blame a man for his actions. I claim that this is an ampliative statement, i.e., non-truth-preserving. If we assume the contrary, that is, that in blaming a man we say nothing about the man or his character other than that his actions were bad, we contradict our purpose in considering the matter in the first place. For, our aim in reaching a judgment about the man himself is clearly greater than to say his actions were bad—the study of the philosophy of moral responsibility would have no purpose if all it aimed to say is that actions can be good or bad, or that they can be summed up. Rather, in moral judgment, we try to reach a greater truth about the man: that some kernel of free-will, perhaps his soul, guides his actions and is worthy of blame above and beyond his actions. Thus the hypothesis that it is coherent to judge a man from his actions is ampliative.

    Hume has proven that an inductive hypothesis has no rational basis, and Salmon extended this argument to include ampliative statements in general. Any effort to reach rational conclusions on top of such a hypothesis is misguided, as Nagel’s paradox demonstrates soundly. Salmon points out that “whether people have confidence in the correctness of a certain type of inference has nothing to do with whether such confidence is justified.” It may be a part of our human nature to believe with complete conviction that we are justified in judging others, but it is fallacious to assume such a justification is rational.

    Thus I conclude that our existing philosophies of moral responsibility are flawed, as they are based upon a hypothesis that has no rational justification. To legitimize moral judgment is to legitimize prejudice of an individual for actions he hasn’t committed yet. While this prejudice may be the outcome of a deeply-rooted habit of conviction, it is no more worthy of celebration than other prejudices such as racism and sexism.

    My conclusion is not strictly philosophical in nature. It could be applied to reformulate our criminal justice system upon utilitarian ethical principles. Our existing practice of moral judgment condemns criminals, not just for their actions, but for their very existence. This makes it more difficult for them to redeem themselves than it would be if they could simply amend their actions. Even when convicts are released from prison, they are often stigmatized, losing access to job opportunities, social welfare programs and civic responsibilities that would otherwise help them improve themselves. This only draws them back toward the criminal lifestyle.

    Clearly, society has a utilitarian interest in keeping dangerous criminals off the street. But I propose that the goal of incarceration should be rehabilitation and not moral justice. As it exists, and despite any lip-service to the contrary, the prison system is a commercial industry with no financial interest in rehabilitating convicts. Rather than just locking convicts away, the system should actively cultivate the positive aspects of their characters while attempting to address the negative characteristics that led them astray. Those convicts that could be successfully rehabilitated would, upon release, regain all the privileges of an ordinary citizen and allowed to reintegrate with society, maximizing the general happiness.

    Posted 2025-12-13 01:38:50 CST by henriquez. Comments
  3. We are past the point of no return for model collapse

    Dead Internet Theory has been around much longer than commerically-available Large Language Models. It's a conspiracy theory based on the premise that the Internet itself is basically fake and gay—all content on all web sites is generated by bots in order to command and mind control us like sheep or cattle. Even though I love me some edgelord bullshit, I never thought this was very plausible; the Internet is bigger than centralized social media websites, and prior to the explosion of LLMs, mass hypnosis by AI-generated content never seemed to me like it would scale well. But my, how times have changed.

    Recently, practically everything on every website has the hallmark indicators of AI generation. Social media sites like Reddit have devolved into a battle royale between ragebait and karma-farming prompts. Non-social media sites, too, have become obvious LLM content dumps. These AI garbage sites are referencing, summarizing, and feeding back into each other, and his is actually a huge problem for proponents of generative AI.

    AI companies will sell you the lie that their language models will revolutionize everything—after all, they are trained on the collective works of humanity! Well that's great, up until 2021. After that, the pool of possible training data (aka the Internet) has become so polluted with the AI-generated garbage that it's technically impossible to programmatically exclude all the AI slop from the training set. The problem is that when you train an AI model by feeding its own output back into it, the model degrades rapidly.

    Again, two-bit Silicon Valley hucksters will hand-wave around this problem. They'll buy off entire university research departments. They'll invest in GPU companies, who will reinvest in their same dumb AI companies, who then reinvest in GPU companies in an endless circlejerk. But the collapse of the model is a mathematical inevitability. You can hire an army of so-called data scientists and light billions of dollars of investor capital on fire, but you cannot stop an inevitability. Meanwhile, the Internet will keep breathing.

    Posted 2025-12-09 20:21:22 CST by henriquez. Comments
  4. Install Stable Diffusion in WSL with AMD Radeon ROCm

    Recently released Adrenalin 24.12.1 driver unlocks new AI-related potential!

    Recently when upgrading my AMD Adrenalin driver, a line in the release notes piqued my interest:

    Official support for Windows Subsystem for Linux (WSL 2) enables users with supported hardware to develop with AMD ROCm™ software on a Windows system, eliminating the need for dual boot set ups.

    Historically, AMD ROCm support has been pretty limited compared to NVIDIA CUDA, which has worked in Windows Subsystem for Linux (WSL 2) for awhile. So this new driver seemed like kind of a big deal, and I thought I'd check it out!

    AMD's article is short and sweet. Obviously you'll need the latest AMD Adrenalin Edition GPU driver installed, and also Windows Subsystem for Linux. Microsoft's official documentation is good, and I've gone through my own installation experience here.

    Once you have the amdgpu driver installed, you can run rocminfo to confirm everything is working. You should see output like this:

    *******
    Agent 2
    *******
      Name:                    gfx1100
      Marketing Name:          AMD Radeon RX 7900 XTX
      Vendor Name:             AMD
      Feature:                 KERNEL_DISPATCH
      Profile:                 BASE_PROFILE

    Installing the Stable Diffusion Web UI is also easy. You'll need Python 3.10 and Git installed (sudo apt install python3 git) if you don't already. Then just pick an installation folder and clone the stable-diffusion-webui repository to your local machine: git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

    Fixing AMD-specific problems in Stable Diffusion

    Once you have the Stable Diffusion code, you should be able to run ./webui-sh to start the Web UI. However, more than likely you'll run into a couple of specific errors that prevent it from starting:

    • Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check'

      By default, PyTorch is trying to talk to the NVIDIA CUDA driver. Obviously on an AMD GPU, that's not going to work. Helpfully, this error message tells us how to fix the problem.

    • RuntimeError: "addmm_impl_cpu" not implemented for 'Half'

      I'm not sure if this is a driver bug or what, but apparently half-precision mode isn't working under ROCm. You can fix this by adding --precision full --no-half to your COMMANDLINE_ARGS.

    To fix both problems, simply edit your webui-user.sh file, find and un-comment the line (remove the leading #) with export COMMANDLINE_ARGS, and customize it like so:

    export COMMANDLINE_ARGS="--skip-torch-cuda-test --precision full --no-half"

    Edit webui-user.sh with GNU nano

    Save the file, and now you should be able to ./webui-sh to start the Web UI and begin generating images with your AMD Radeon GPU! Once the Web UI is running, you can open it in your browser by navigating to http://127.0.0.1:7860

    A shiba inu sitting at a table, no methamphetamines

    Posted 2024-12-21 12:02:00 CST by henriquez. 2 comments
  5. successfully reversed time

    johNny wAs oBsEsseD wiTH gOiNg fASt. HELEN Was OBseSSEd wIth GOiNG SlOw. I wENT INfinITy stepS FuRther AnD reveRsed ALL THE way bacK To aLL THe way BACk tO thE beGINninG. IRoNiCaLLY i dON't HaVe A loT Of TimE tO eXPLAiN, AND cERTainly DON't unDERSTaNd All THE afTer-EfFEcts. WErE NeW iTerAtIOnS spAwned, oR WerE TheY ALReady RunniNG? I DON't KNOw, BUt I THouGHt You shOuLd knOw.

    Posted 2024-12-19 00:00:00 CST by henriquez. 1 comment