vita nouva / diary
"The Rose Garden by Carl Aagaard"
18/01/2026

07:10 Rules for a happy life from Aristotle

Reading Aristotle’s 10 Rules for a Happy Life - The Atlantic (link). Why there's always that strange tendency for journalist to a reference study from a psychology journal or a a science journal after everything? I'm not expecting Aristotle's views to supported by the APA, moreover, most of the links are really irrelevant, it's almost like he/she just needed to have some blue-colored words.

10:25 There are two main problems with exceptions

The book Functional Programming with Scala mentions two main problems with exceptions:

  • Exceptions are not type-safe. The type of failingFn, Int => Int tells us nothing about the fact that exceptions may occur, and the compiler will certainly not force callers of failingFn to make a decision about how to handle those exceptions. If we forget to check for an exception in failingFn, this won’t be detected until runtime.
  • Java’s checked exceptions at least force a decision about whether to handle or reraise an error, but they result in significant boilerplate for callers. More importantly, they don’t work for higher-order functions, which can’t possibly be aware of the specific exceptions that could be raised by their arguments. For example, consider the map function we defined for List: def map[A,B](l: List[A])(f: A => B): List[B] This function is clearly useful, highly generic, and at odds with the use of checked exceptions—we can’t have a version of map for every single checked exception that could possibly be thrown by f. Even if we wanted to do this, how would map even know what exceptions were possible? This is why generic code, even in Java, so often resorts to using RuntimeException or some common checked Exception type.
  • As we just discussed, exceptions break RT and introduce context dependence, moving us away from the simple reasoning of the substitution model and making it possible to write confusing exception-based code. This is the source of the folklore advice that exceptions should be used only for error handling, not for control flow.

If I'd name a single thing that turns me down from using a certain language, it would be definitely exception handling. #Exception handling #Programming #Scala

11:22 Scala will prefer LUB

Interestingly, Scala will prefer LUB type of an expression instead of doing a type union or doing Either , so:

  val result = if (true) "what?" else 4

result type here is Any instead of a union or Either type (like String | Int). Scala 3 solves a bit of this with type unions:

  val result: String | Int = if true then "what?" else 4

#Scala

12:44 Scala the good the bad and the ugly

Scala the good the bad and ugly. Most of the mentioned problems in "bad" were radically solved by the way the Go programming language was design. It's strange that in the last two decades, no language designers were able to design something strict that prevents these issues, other than the Go designers. #Scala

15:34

My dear God. Was that really necessary?

../i/15:34/2026-01-18_15-39-46_screenshot.png

Could we live without some 'magic'?

[permlink]
17/01/2026

15:35 Liquid Glass

I just disabled liquid glass from my MacOS 26 machine, and I found out that Apple includes all the old features that were removed with apple glass, see for example "compact mode" in Safari:

../i/15:35/2026-01-17_15-38-30_screenshot.png

Maybe a kind of Bug compatibility. #Apple Glass

17:17 recursion in Scala

Avoid writing the following form of recursive functions:

def fib(n: Int): Int =
  if (n <= 1) n
  else fib(n - 1) + fib(n - 2)

This usually cause exponential time even when optimized. Imagine a call to fib(n) goes as follows:

fib(n)
├─ fib(n-1)
  ├─ fib(n-2)
  └─ fib(n-3)
└─ fib(n-2)
   ├─ fib(n-3)
   └─ fib(n-4)
  • fib(n-2) is computed twice
  • fib(n-3) is computed three times
  • fib(n-4) is computed five times

Instead, you should use a local tail-recursive helper:

def fib(n: Int): Int = {
  @annotation.tailrec
  def loop(i: Int, prev: Int, curr: Int): Int =
    if (i == 0) prev
    else loop(i - 1, curr, prev + curr)

  loop(n, 0, 1)
}

Now, something important to note here, if someone changes anything in the function call, it will break, silently. Moreover, the meaning of prev / curr isn’t obvious from the signature, which is important in functional programming; the invariant is not enforced by the type system. This is usually acceptable because:

  • loop is local → no external caller can misuse it
  • The invariant is encapsulated, not exposed
  • The outer API fib(n) remains clean and total

#Scala

17:25 Currying

"This is named after the mathematician Haskell Curry, who discovered the principle. It was independently discovered earlier by Moses Schoenfinkel, but Schoenfinkelization didn’t catch on." Lol. #Mathematics

[permlink]
16/01/2026

13:46

RT: there's this kind of hilarious thing that happens where the people who I most want to hear from and would totally clear my schedule to talk to are very cautious about respecting my time, but often the people who I am least enthusiastic to talk to feel the most ownership over it.

19:11

When you buy pleasure. Posting a very strong letter from Tanjia Rahm to her old customers. I wrote before about the pornography industry, and I'm wondering whether the same message of degradation can be used for the former consumers. I doubt, however, that consumers of both kinds are moved at all by someone denoting that what they're consuming is, indeed, fake.

[permlink]
14/01/2026

03:08 Scala's multiple parameters

Multiple parameter lists are weird in Scala. I could only think of a good use of them as:

// by Knut Arne Vedaa
// Retrieved 2026-01-14, License - CC BY-SA 2.5

scala> def foo(as: Int*)(bs: Int*)(cs: Int*) = as.sum * bs.sum * cs.sum
foo: (as: Int*)(bs: Int*)(cs: Int*)Int

scala> foo(1, 2, 3)(4, 5, 6, 7, 9)(10, 11)
res7: Int = 3906

Scala author suggest it's useful with complex type inference situation, but I can't think of any. #Scala #Programming

11:14 Scala's exceptions

Apparently Scala handles exceptions pretty well, and you can even have kind of a type-safe partial-functions using something like the Try call. #Exception handling #Scala

15:22 Scala's companion types

One of the things some websites add as a reason to use companion types in Scala, is that not having the "new" keyword is cool. Since when we drop language specifications on their level of coolness? #Scala

[permlink]
13/01/2026

02:58 Private life of Thomas Jefferson

I'd have never known that reading about a president's private life will help me understanding the nonidentity problem. Also why Thomas Jefferson's privates are well documented like that? #Philosophy #Power imbalance (and the Jefferson-Hemings example)

23:44 Kierkegaard Twitter Bot

I was inspired recently by the Clarice Lispector twitter bot to create something similar for Kierkegaard. For a non-anthology author like him (and her, Clarice, too in fact), it was a bit difficult to imagine how this will work, how can you cut sentences randomly so they make some context, not that full and not that ambiguous? The raw materials were three source files: a 594KB EPUB of Either/Or, an 825KB EPUB of personal journals and papers, and a 507KB text file of selected writings. Together, they contained over a million words. Not every sentence in a philosophy book is quotable. Chapter headings, footnote markers, translator notes, and incomplete fragments vastly outnumber the gems. A naive approach of random selection would produce mostly garbage: "See vol. II, pp. 234-256" or "Continued from previous section".

So I designed a relatively simple filtration,

private val philosophicalKeywords = Set(
  "soul", "despair", "anxiety", "freedom", "faith",
  "existence", "dread", "passion", "eternity", "infinite",
  "spirit", "silence", "god", "death", "suffering",
  // 180+ more terms...
)

def score(text: String): Int = {
  val keywordCount = philosophicalKeywords.count(kw => lower.contains(kw))
  val keywordScore = math.min(25, keywordCount * 4)
  
  val lengthScore = text.length match {
    case l if l <= 120 => 25  // ideal length
    case l if l <= 150 => 22
    case l if l <= 200 => 15
    case _ => 5
  }
  
  keywordScore + lengthScore + rhetoricalScore + structureScore
}

on top of which a kind of an intelligent quote (shall I call it IQ?) scoring;

  • keywords (180+ terms like "despair", "anxiety", "faith", "existence")
  • Rhetorical patterns (semicolons, em-dashes, contemplative ellipses)
  • Length optimization (60-150 characters scores highest)
  • Aphoristic bonus (short quotes with multiple keywords get extra points)

Shorter quotes with words like "existence" bubble to the top. After running this on all three source files, I got 15,455 quotes sorted by quality. Top score: 81. They're available in the source control if you are interested to have a look: https://github.com/larrasket/kierkegaard #Programming

[permlink]
12/01/2026

I realized that most people confuse Intelligence Science to be about how a person perform in a success matrices and day-to-day life. However, most intelligence studies I've read were much more focused on abstract intelligence, without any perspective to any other life areas. For instance, someone might be just very intelligent but they're in not interested in these perspective that define the success metric for most people. Moreover, I've met enough successful people in life to be able that even that metric has absolutely nothing to do with abstract intelligence but with some agreed-on facts that most people simply ignore. Take drinking water for example, most people do not take this seriously, and definitely no studies will ever show that drinking enough water usually has to do with being intelligent, since they're interested in, again, abstract type of intelligence, however, drinking water regularly has many other effects, like good health and clearer mind in general, which both definitely do affect what people take for intelligence, or the aforementioned metrics. #Modus Vivendi

[permlink]
11/01/2026

03:59 Dorothy Day Letter to Forster Batterham

Dorothy Day's letter to Forster Batterham. What can I say, it's just so beautiful. عتاب جمل: 10 Dec, 1932.

Dear Forster.

I got your letter Friday afternoon and I’ve been pondering since whether or not to answer it. It doesn’t seem much use, but still I can’t let some of your statements go without telling you what I feel.

As to my feeling about sex, I do indeed now feel that sex is taboo outside of marriage. The institution of marriage has been built up by society as well as the Church to safeguard the home and children as well as people who don’t know how to take care of themselves. Of course anyone who is sane and sound mentally will agree that promiscuity and looseness in sex is an ugly and inharmonious thing. You have always in the past treated me most casually, and I see no special difference between our affair and any other casual affair I have had in the past. You avoided, as you admitted yourself, all responsibility. You would not marry me then because you preferred the slight casual contact with me to any other. And last spring when my love and physical desire for you overcame me, you were quite willing for the affair to go on, on a weekend basis.

Sex is not at all taboo with me except outside of marriage. I am as free and unsuppressed as I ever was about it. I think the human body a beautiful thing, and the joys that a healthy body have are perfectly legitimate joys. I see no immediate difference between enjoying sex and enjoying a symphony concert, but sex having such a part in life, as producing children, has been restricted as society and the Church have felt best for the children.

I believe that in breaking these laws one is letting the flesh get an upper hand over the spirit, so I do not want to break these laws.

St. Augustine says, “If bodies please thee, praise God on occasion of them.” And I feel no sorrow for all the joys we have had in the past together.

When I laughingly spoke about many a young girl holding out—you should have understood what I meant. You seem to think that one should always succumb immediately to any promptings of the flesh, and you think of it as unnatural and unhealthy to restrain oneself on account of the promptings of the spirit. What I meant was that many people in the past have observed the conventions and rules, for the sake not only of convention but of principle. It is hard for me to talk to you seriously,—you despise so utterly the things which mean so much to me. I wish you’d read more of Aldous Huxley, and imbibe a little of his rational tolerance.

You think all this is only hard on you. But I am suffering too. The ache in my heart is intolerable at times, and sometimes for days I can feel your lips upon me, waking and sleeping. It is because I love you so much that I want you to marry me. I want to be in your arms every night, as I used to be, and be with you always. I always loved you more than you did me. That is why I made up with you so many times, and went after you after we had had some quarrel. We always differed on principle, and now that I am getting older I cannot any longer always give way to you just because flesh has such power over me.

Of course I understand your allusion to smoking and drinking and such indulgences, and as I said before, I do agree with you and would give them all up for you. I really don’t think I over-indulge very often. I consider drink only sinful inasmuch as it affects one’s health, and I’m most ashamed for every time I do over-indulge. Sex and eating and drinking may easily be put in the same class since they are both physical gratifications. Still, even the slightest sexual lapse may have terrible and far-reaching consequences and so these laws have been built up. Of course all intelligent people can say—Oh, I’m so smart this doesn’t apply to me, but I think that such laws, whether one considers them human or divine, have to be obeyed by all. It all is hopeless of course, tho it has often seemed to me a simple thing. Imaginatively I can understand your hatred and rebellion against my beliefs and I can’t blame you. I have really given up hope now, so I won’t try to persuade you any more.

Dorothy

Her words are so alive, so honest. (Usher 2016)

04:10 From: “Marcel Proust to Jacques Porel”.

From: “Marcel Proust to Jacques Porel”

“I envy people who are capable of uttering such cries that, at first, I thought someone was being murdered, but I realized what was happening when the woman’s cries quickly resumed an octave below the man’s, and was reassured.”

Relatable.

References

  • Shaun Usher (2016). Letters of Note: Sex. Canongate Books.
[permlink]
10/01/2026

15:51 about Sara Hegazy

Revisiting the Sara Higazy incident today. I was participating in the discussion of deleting her Wikipedia page. This was around 6 years ago. Back then, the whole story struck me with an intensity I can’t quite reconstruct now. I remember feeling genuinely shaken, moved in a way that felt deep and urgent. Today, the sadness is still there, but it’s quieter, more distant, almost abstract. What I can’t fully explain is why it affected me so strongly at the time.

The sexual rights movement, which once felt like a defining moral battlefield, feels to me now as a strangely disproportionate to the scale of suffering and disorder in the world. Not wrong, exactly, just small. Almost trivial when placed beside poverty, war, genocide, poverty again, and the quiet, grinding injustices that shape most human lives. I’m surprised, in retrospect, that Sara herself, someone from a relatively ordinary, middle-class background, would stake so much of her life, and ultimately lose it, over something that now feels so marginal.

There’s also something uncomfortable in admitting this: maybe what moved me then wasn’t Sara alone, but the version of myself who needed her story. A younger self, more eager for clean moral lines, more convinced that tragedy must always point toward meaning. Nietzsche taught me that this is not always the case.

Now, older and less certain, I’m left with grief stripped of narrative payoff. No lesson neatly learned, no cause vindicated—just a human life that encountered the full weight of cruelty and didn’t survive it. #Politics

16:32

Qad saqānī min lamāh Khamratun tughaddī sanāh Sirtu lā a‘shaqu siwāh Wa tajallā fawqa ṭūrā

Wa intathā waraqu al-khayāl Wa badā badru al-jamāl Wa ghadā fī al-kulli ghāl Bi-bahā’in wa surūrā

Nūruhu lā zāla ‘ālī Baḥruhu fayḍu al-kamāl ‘Aṭfuhu ‘inda al-wiṣāl Laḥẓuhu sayfan batūrā

Khaddahu nāru al-ma‘nā Ḥarruhā lil-ṣabbi janna Farquhu rawḍātu janna Fīhi anwā‘u al-zuhūrā

#Music #Rafa't Lila al-Stora

18:28

Listening to #Ballade No. 1 in G Major, Op. 23 by Hélène Grimaud. What a battle #Music

[permlink]
09/01/2026

Maxfield Parrish (1870 – 1966) #Art

../i/2026-01-09_18-30-47_screenshot.png

18:41

Anta taḥyā fī kiyānī wal-hawā Fīhi aḥyā kayfa as-lū aw alūm? Fīhi ʿumrī wa-shabābī wal-munā Wa-maghānī ash-shiʿri fir-ruʾyā tahīm

#Music #Shaqiq Rrouh by Ghada Shbeir

[permlink]
04/01/2026

I microblogged about a discussion regarding that IDF database suggests that at least 83% of Gaza dead were civilians. Posting my repsonses here in full length, since HN flagged the post, and non-users can't read it.

tguvot wrote;

17% are terrorists that IDF can identify by name. Unidentified people with RPGs in their hands that were blown up don't suddenly become civilians. If we stick with that logic, 99.9% of dead in war in Ukraine are civilians, because opposite party can't identify them

My response:

In war, a person is civilian unless positively identified as a combatant. “Unidentified” does not mean militant. that’s true in international law, conflict research, and even the IDF’s own internal counting. The “17% identified by name” point actually supports the claim. Israel’s own intelligence database–which Israeli sources call the only authoritative militant tally–shows ~8,900 confirmed or probable militants killed out of ~53,000 total deaths at the time.

The “RPGs in their hands” is a strawman. The database does not count assumptions; it requires intelligence-linked identification. Israeli investigations and internal testimony show civilians were routinely misclassified as “terrorists” in field reports to inflate ratios

The Ukraine comparison is simply wrong. Ukraine has uniforms, unit records, POW lists, and mutual identification. Gaza is a besieged civilian population where Israel itself admits it cannot identify most victims. No serious dataset suggests 99.9% of Ukraine’s dead are civilians.

moreover, many independent investigations suggest the same. Airwars’ civilian harm analysis documented unprecedented civilian casualty patterns (large family deaths, high women/child counts), far exceeding norms seen in other 21st-century conflicts https://gaza-patterns-harm.airwars.org

Even conflict data experts (e.g., Uppsala Conflict Data Program) note that the proportion of civilians in this conflict is far higher than typical war patterns and comparable only to extreme cases like Rwanda and Mariupol

breppp wrote:

He is right, the logical leap would be hilarious if not a symbol for today's journalistic standards.

Let's say the IDF has positively confirmed 17% combatants. The negation of that set is not "Non combatants" but "Not positively identified by the IDF as combatants". which means that some may still be combatants, and most probably some are as the standard here is to confirm names, something hard to do when someone is under the rubble. Therefore the title here which says 83% civilians according to IDF data is simply false.

That's forgetting the other issues with this article (single IDF unit not tasked with research, multiple databases with different numbers, using Hams death data, forgetting about non-Hamas non-PIJ groups, low reputable source, etc) but I am sure that if you can see this misstep you can understand the general value of what you read there

My response:

I'm not sure if you understand how casualty classification works. “not positively identified as combatant” is not logically equivalent to “proven civilian.” No one claims it is. What it does mean is that the IDF has no evidence those people were combatants. And in law, statistics, and every serious conflict dataset, you don’t get to assign lethal status based on vibes.

Also calling Aman “a single unit not tasked with research” is false. It’s Military Intelligence, and Israeli sources say this database is the only one they can stand behind. If your position requires assuming thousands of unidentified dead people were combatants without evidence, then your position is not analytical rather ideological.

tguvot wrote:

so, your position that 10 unidentified, people each with rpg that they were observed to used, without military uniform, blown up count as 10 civilians ? right ?

My response:

No and this is misleading. First, that’s not how civilian status is determined. Civilian vs. combatant is not decided by uniforms or post-strike assumptions but on direct participation in hostilities at the time and positive identification. Someone actively firing an RPG is a combatant at that moment but that does not justify retroactively classifying every unidentified body as militant. I'm honestly surprised that I've to explain that.

Second, the example is a hypothetical case to erase the real issue. The claim about ~80% civilian deaths is not based on “assuming everyone is civilian,” but on subtracting those Israel itself could identify as militants using intelligence-linked, name-based records. Israel’s own database explicitly excludes people it merely suspects or assumes were fighters.

Third, this logic fails at scale. Gaza’s death toll includes tens of thousands of women, children, elderly, and entire families killed in homes, shelters, hospitals, and aid lines, not people observed using RPGs. Field reports and Israeli investigations show many victims were later posthumously labeled militants without evidence, inflating numbers.

Forth, the argument flips the burden of proof. You don’t get to call people militants because you can’t identify them. If that standard were accepted, any mass-casualty air war could declare most of its victims “terrorists” by default, which is exactly why serious militaries and conflict datasets reject that logic.

That user, tguvot, has a specious activity on almost every Israel-related post, gives Unit 8200 vibes. #Israel #Conversation #Politics

[permlink]
30/12/2025

[Arabic Original Below]

Abdullah ibn al-Muqaffaʿ said: Know that true brothers are the finest gains of this world: an adornment in times of ease, a promise in times of hardship, and a support for both livelihood and final return. Do not, then, be careless in earning their companionship, nor negligent in seeking the ties and paths that lead to them.

I have read his letter to Yahya ibn Ziyad al-Harithī, and it appears to be one of those very ties he spoke of in his counsel, The Peerless Pearl. It is among the best words ever addressed to a friend. In it are qualities of companionship that delight the soul, guide it by example, and awaken hope for oneself and one’s companions. For this reason, I chose to translate it and share it, to read it closely and to offer it as a gift to those among my friends who are dear to me.

You have conducted yourself with people along a praiseworthy path of loyalty and generosity—so much so that you have been known for its virtue, your mentions adorned by it, and your praise made fair through it. The tongue of truth has borne witness for you, and by it you have become known for your noble traits and marked by your virtues. Thus brothers hasten toward you out of desire, racing to win your affection and to bind themselves to you, as rivals compete for a coveted prize. You have set before them a goal toward which seekers run, and which only the foremost attain.

Whoever God has secured in your esteem as one worthy of trust and refuge—who has filled his hand through you with the share of a loyal brother and an unbroken bond, who has found rest with you in a safe shelter and a guarded covenant, and is enveloped by your grace in affection—finds himself attempting to repay you in ways beyond his capacity, striving to reach a height whose summit is hard to attain. Were you to accept as brothers only those who could fully return your affection and reach the limits of your excellence, you would have no brothers at all, and you would stand empty of companionship. Yet your brothers acknowledge your merit, while you accept from them what ease they can offer of affection. You do not burden them with the cost of matching you, nor with attaining your measure of virtue in what lies between you and them.

I did not intend by this praise to flatter you, seeking closeness thereby or a tether to secure myself to you. Rather, I sought truth and sincerity in what I described, and avoided falsehood and blame. For a little truth, pure of deceit, is better than much truth tainted by error.

I have spoken of your virtues and the fairness of your conduct, yet I fear for you the trial that comes when one hears the praise of oneself and the recounting of one’s merits. For praise corrupts the heart and stirs conceit. Still, I hope for you protection and steadfastness, for I have mentioned nothing but what is true—and truth expels vanity and the arrogance of pride from the discerning soul, leading it instead toward balance and humility.

Seeing, then, that you are as I have described—rich in virtue and loyalty—I resolved to claim my share of your affection, and to bind my cord firmly to yours, so that between us may flow the bonds of brotherhood through which affection grows strong and covenants endure. I knew that to forgo this would be loss, and to neglect it ignorance; for whoever abandons his rightful share enters into loss, and whoever turns from right judgment drifts toward error. So desire from my affection what you desire from yours, for I have left nothing undone by which I might draw forth your goodwill or awaken your friendship. Every path that leads to you I have taken, every mount I have set in motion toward you, that you may see the earnestness of my care for your affection and my longing for your companionship. Peace.

I see nothing that ennobles the bond of brotherhood more than such clarity: the open declaration of the desire for friendship, the wish for its endurance, the balance of giving and receiving. And the worst of lands is that in which one has no friend at all.


قال عبدالله بن المقفع: اﻋﻠﻢ أن إﺧﻮان اﻟﺼﺪق ﻫﻢ ﺧير ﻣﻜﺎﺳﺐ اﻟﺪﻧﻴﺎ، زﻳﻨﺔٌ ﰲ اﻟﺮﺧﺎء، وﻋﺪةٌ ﰲ اﻟﺸﺪة، وﻣﻌﻮﻧﺔٌ ﻋﲆ المعاش والمعاد، ﻓﻼ ﺗﻔﺮﻃﻦ ﰲ اﻛﺘﺴﺎﺑﻬﻢ واﺑﺘﻐﺎء اﻟﻮﺻﻼت واﻷﺳﺒﺎب إﻟﻴﻬﻢ.

وقد قرأت له رسالته إلى يحيى بن زياد الحارثي، ومما بدى أنها كانت إحدى الوصلات التي تكلم عنها في وصيته "الدرة اليتيمة". وهي من خير ما يقال لصاحب، وبها من صفات الصاحب ما تُعجب به النفس، وتقدي بها، وترجوا بها لنفسها ولرفقائها. فأثرت ترجمته ومشاركته، وقرأته وأهديته على من عزّ علي من أصحابي.

وقد لزمت من الوفاء والكرم فيما بينك وبين الناس طريقة محمودة، نُسِبْتَ إلى مزيتها في الفضل، وجمل بها ثناؤك في الذكر، وشهد لك بها لسان الصدق فعُرفت بمناقبها، ووُسِمْتَ بمحاسنها، فأسرع إليك الإخوان برغبتهم مستبقين يبتدرون ودَّك ويصلون حبلك ابتدار أهل التنافس في حظ رغيب، نصبت لهم غاية يجري إليها الطالبون ويفوز بها السابقون، فمَنْ أثبت الله عندك بموضع الحرز والثقة، وملأ بك يده من أخي وفاء ووصلة، واستنام منك إلى شِعْب مأمون وعهد محفوظ، وصار مغمورًا بفضلك عليه في الود، يتعاطى من مكافأتك ما لا يستطيع، ويطلب من أثرك في ذلك غاية بلوغها شديد، فلو كنت لا تؤاخي من الإخوان إلا مَنْ كافأ بودك، وبلغ من الغايات حدك؛ ما آخَيْتَ أحدًا، ولصِرْتَ من الإخوان صفرًا، ولكن إخوانك يقرُّون لك بالفضل، وتقبل أنت ميسورهم من الود، ولا تجشمهم كُلَف مكافأتك، ولا بلوغ فضلك فيما بينك وبينهم، فإنما مثلك في ذلك ومثلهم كما قال الأول:

ومَنْ ينازع سعيد الخير في حسب ينزع طليحًا ويقصر قيده الصعد

ولم أُرِدْ بهذا الثناء عليك تزكيتك ليكون ذلك قربة عندك وآخية لي لديك، ولكن تحرَّيت فيما وصفت من ذلك الحق والصدق، وتنكَّبت الإثم والباطل، فإن القليل من الصدق البريء من الكذب أفضل من كثير الصدق المشوب بالباطل.

ولقد وصفت من مناقبك ومحاسن أمورك، وإني لأخاف الفتنة عليك حين تسمع بتزكية نفسك وذكري ما ذكرت من فضلك؛ لأن المدح مفسدة للقلب مبعثة للعُجْب، ثُمَّ رجوت لك المنعة والعصمة؛ لأني لم أذكر إلا حقًّا، والحق ينفي من اللبيب العُجْب وخيلاء الكِبْر، ويحمله على الاقتصاد والتواضع.

وقد رأيت — إذ كنتَ في الفضل والوفاء على ما وصفتُ منك — أن آخذ بنصيبي من ودك، وأصل وثيقة حبلي بحبلك، فيجري بيننا من الإخاء أواصر الأسباب التي بها يستحكم الود ويدوم العهد، وعلمت أن تركي ذلك غبن، وإضاعتي إياه جهل؛ لأن التارك للحظ داخل في الغبن، والعائد عن الرشد مرجف إلى الغي، فارغب من ودِّي فيما رغبت فيه من ودِّك، فإني لم أدع شيئًا أستتلي به منك الرغبة وأجتر به منك المودة إلا وقد اقتدت إليك ذريعته وأعملت نحوك مطيَّته، لترى حرصي على مودتك ورغبتي في مؤاخاتك، والسلام.»

ولست أرى أن هناك ما يُقدر في علاقة المؤاخاة بمثل هذه الشفافية، بإيضاح الرغبة في المؤاخاة وإطالة العهد، والأخذ والعطاء، وشر البلاد مكان لا صديق به. #Modus Vivendi

[permlink]
28/12/2025

There's a good answer to this question:

So that no one gets dumb enough to depend on them being in any particular order because the order can change for reasons under the hood and out of your control.

Pragmatically speaking, this is a bad design. However, from an engineering perspective, it's a perfect one. This is the same way I like to think about OOP; yes it's really powerful, but it's not suitable enough for engineering once you get so many rules that the team should work with, that are not enforced by any means. #Go #Programming

[permlink]
21/12/2025

Apparently, if you go somewhere far from home (or any usual stay place) with multiple Apple devices and leave one behind, the FindMy App alerts: "device left behind" The irony is my MacBook is named "saleh" so the notification says: "saleh is left behind" and idk about that

[permlink]
19/12/2025

Hello! Long time no write. Or not rally?I might look like I’m actively writing at my blog, but to be frank, this blog is auto-generated from a Zettelkasten org-mode system. I remember having an incident that a friend of mine reported finding something embarrassing at my website, I immediately deleted it, when he asked why I put it there at the first place I got to explain how I don’t actually maintain any web pages in their own, all of them gets generated automatically from a set of rules. In that case; my rules were not strict enough to skip some media1.

After my last post about naming conventions, I got an email from someone that I know well in the Emacs community (from his contributions not personally) and he suggested if I take over lr0.org, that he happens to own, since I already use that handle everywhere.

I said that I will be happy to. I didn’t know what to do with the domain but I thought I could find something useful for it more than just migrating my blog. I was showing Menna some ideas in neocities recently and I told myself why not let it be the finally web garden that I was always missing. And here we are.. I will try to move personal blogs that has nothing to do inside the zettelkasten to be here instead.


  1. Funny enough one of the principles of maintaining a Zettelkasten is to make it “private”. This shouldn’t happen at the first place ↩︎

[permlink]
28/11/2025

Last Wednesday I was celebrating my last working day (before starting my short vacation and moving on) with my coworker, he suggested that we can do it around the workplace, which happens to be a common open-air outing for the Egyptian middle to upper-middle classes. It was quite fun.

As we walked around, I noticed dozens of Christmas trees scattered across which felt oddly dissonant. Familiar, but still entirely out of place.

I understand why I'm writing this blog in English, and why I can relate to European drama more than I can to my local ones; English is lingua franca, and I was exposed to foreign culture more than I was to my local one. But what I don't understand is this strange eagerness to inherit symbols that were never ours. I found a lot of Christmas trees at work yesterday. I think they were the usual Picea abies, a tree that has never grown naturally in the landscapes of the Middle East: not in our deserts, not along our Mediterranean coastlines, not even in the highlands. Even Middle Eastern Christians, for nearly two millennia, never practiced this tradition; it spread only recently through the soft power of American and Northern European culture. The tree itself has origins in pre-Christian pagan rituals of northern Europe, symbols of winter vitality adopted and reinterpreted over centuries, yet we imported it without the mythology, without the climate, without the story.

The same happens with Halloween, a Celtic festival marking the thinning veil between worlds, reshaped by Irish immigrants in the US, and then exported back to the globe through a cultural gravity the MENA region was never meant to orbit. It’s not that these borrowed traditions are wrong; they are simply unrooted. They give the illusion of participating in a universal culture while quietly eroding the questions that shaped our own. Perhaps the real issue is that we’re adopting symbols that grew from someone else’s winters and someone else’s fears.

My biggest issue, though, is that I cannot find authenticity in this or enjoy it, because it feels totally engineered by media. Perhaps I would find it fun if I were born in the US (even as a Muslim, in fact some people in Egypt attributed my thoughts about these events to radical Islam, it has nothing to do with it. I would celebrate an authentic Egyptian holiday for instance), for example. Experiencing it from here, however, feels like watching someone else’s memory and pretending it’s mine. It makes me wonder whether culture today is something we choose or something curated for us, shaped and streamlined until we mistake repetition for belonging.

When every tradition can be packaged into a trend, it becomes difficult to tell where genuine fascination ends and subtle social engineering begins. If a ritual becomes universal through marketing rather than meaning, does it still count as culture, or is it simply a very successful advertisement?

At what point do we stop being participants in culture and become mere receivers of whatever is most efficiently broadcast? #Egypt #Modus Vivendi

[permlink]
25/11/2025

I don't think I ever got to talk about much I hate Microsoft. I will use this post to express how much I hate Microsoft.

I'm pro-FOSS and pro-Freedom, however, people who know me know that I do hate Apple and other big tech, but just not as much as I hate Microsoft. I believe that Microsoft is responsible for making one of the most terrible operating systems ever (along with other many low quality products) which was (is?) responsible for making the computing experience really terrible for people who are not much into computing. This resulted in making every task that might require using a computer a burden to these people.

I'm not talking about power users or developers who can work around Windows' quirks (like removing copilot or using the server version of Windows 10 for their desktop). I'm talking about your aunt who needs to send an email, the small business owner trying to manage inventory, the teacher preparing a presentation. Microsoft took what should have been straightforward tasks and wrapped them in layers of mysterious failures, cryptic error messages, and mandatory restarts.

The real issue isn't that software has bugs, every system does. The real issue is that Microsoft built an operating system that treated its users with contempt. Windows 95 through Windows 11 trained an entire generation to believe that computers are fundamentally unreliable, that losing work is just part of the deal, that random crashes are inevitable.

They normalized dysfunction. Microsoft convinced the world that computing is inherently fragile and frustrating.

Modern Windows is an archaeological dig. You've got Control Panel coexisting with Settings, two different interfaces for system configuration because Microsoft couldn't commit to either. You've got ancient Win32 APIs next to WinRT next to whatever they're calling the current framework (and don't get me started at how they name it). Each generation of Windows just changes (or contributes to) how terrible the experience is.

This matters because it destroys predictability. In any well-designed system, once you learn the patterns, you can reason about how things should work. Windows teaches learned helplessness. Settings might be in Control Panel, or Settings, or a right-click menu, or a PowerShell command, or not exposed at all, or in some registry, or in a file under System32 folder. Every task becomes a treasure hunt.

People who defend this as "backward compatibility". It is not. Backward compatibility is running old binaries. This is keeping decades of UI confusion and architectural mistakes on life support because Microsoft can't be bothered to make clean breaks1.

Microsoft normalized the idea that computers need to be rebooted to function properly. Not rebooted to apply updates, that's reasonable. Rebooted because something got into a weird state and nobody knows what. Rebooted because that's just what you do when Windows acts up.

This became the universal tech support answer because it actually worked disturbingly often. That's not a feature, it's an admission that the system's state management is so broken that burning it down and starting over is easier than debugging.

Servers running Linux or BSD regularly go years between reboots. macOS machines might reboot for major updates but rarely for anything else. Windows? "Have you tried turning it off and on again?" became a cultural meme specifically because of Microsoft's inability to build a stable operating system.

Microsoft had the resources and market position to build something genuinely excellent. They built something barely adequate and spent decades defending it. They trained the world that computing is supposed to be painful.

That's why I hate Microsoft more than Apple or Google or any other tech giant. Apple locks you into their ecosystem, sure. Google vacuums up your data. But Microsoft convinced generations of people that computers are fundamentally hostile tools that barely work. They normalized dysfunction at a scale that damaged the entire industry's relationship with its users.

Propaganda

Here's some anti-Microsoft propaganda that I like

  1. Microsoft won't let me pay a $24 bill
  2. Update from Microsoft
  3. Microsoft's Software Is Malware
  4. Microsoft lacks quality control
  5. Why is Microsoft Teams still so bad?
  6. Why is GitHub UI getting so much slower?
  7. Casey Muratori incident
  8. Microsoft is going to preload it in the background, because it's slow
  9. Markdown files not openable because of GitHub Copilot
  10. It's over
  11. STOP. please microsoft
  12. Microsoft keeps losing
  13. Why does Microsoft never improve?
  14. Windows 11 Start Menu Revealed as Resource-Heavy React Native App
  15. Microsoft Recall Required??
  16. Migrating from GitHub to Codeberg
  17. New Windows 11 bug causes flash bang when opening File Explorer
  18. Microsoft Is A Blackhole Of Talent And Money
  19. The Cult of Microsoft
  20. Microsoft, anybody home?
  21. GM replies to Bill Gates
  22. [2026-01-08 Thu 17:06] People are calling Microsoft now "Microslop" I would like to denote that AI/LLMs (Or like how the GNU priest calls them, bullshit generators) have absolutely nothing to do with how mediocre, low quality and buggy MS products are. People that believe so, usually haven't interacted with MS products a lot before LLMs regulations, or they didn't find the buggy software before buggy, and they only got to realize it when the scale of bugs increased when they depended more on LLMs. Google uses LLMs, Apple did too. They got mistakes as well, but MS's issues are more about a philosophy rather bugs.
  23. [2026-01-05 Mon 21:26]
    Adding:

  24. [2026-01-06 Tue 08:57]
    Microsoft is renaming all their products https://x.com/IceSolst/status/2008279151782830207
  • [2026-02-07 Sat 18:34]
    I don't want to start even talking about the development experience on Windows. ../i/2026-02-07_18-35-09_screenshot.png
  • [2026-02-12 Thu 02:47]
    Just off my head: HKLM/HKCU is nonsenes. It always has a broken uninstall state and MSI rot. NTFS has 8.3 filenames (legacy for compatibility). Reparse points layering. PATH + DLL search order is terrible; System32 precedence. Side-loading attacks. Dependency hijacking.
  • [2026-02-19 Thu 23:31]
    15+ years later, Microsoft morged my diagram » nvie.com
  • [2026-03-19 Thu 09:22]
    https://trysound.io/try-not-to-get-scammed-while-looking-for-work/

    Joan sent another Microsoft Teams link. This time, audio failed and the browser app prompted me to update some SDK. I tried the desktop app with the same room id, but it said “meeting not found.” Alright, as a user of Microsoft software first half of my life I was not surprised

    Right.

Footnotes

[permlink]
21/11/2025

Unsure when I will be able to read my old journal, bravely. I had this in my daily TODOs: "Run salih/org-search-entries-with-today-date and salih/open-journal-file-for-today". these were elisp functions that were showing me my log and journal for the same day of the current month, but for past years. Sounded like a fun idea at first, but it started to get extremely gloomy after couple of days, then weeks. Then I completely stopped doing it because it really harmed my mood. I rescheduled the activity to the far future, hopping that better me will be able to handle his feeling appropriately. He will probably come through this note in November's 21st, I hope he will be glad.

[permlink]
15/11/2025
  • [2025-11-26 Wed 15:52]
    Reading https://ieeexplore.ieee.org/document/7832935/ today. It mentions that most common uses of catch: 1. Logs the error rather than recovering from it 2. About 80% of people are using the common "Exception" class, rather than their subclasses.

I wrote about exception handling before in my draft on programming languages, generally, I consider exception handling to be extremely distasteful, and before you relate this to me being biased toward functional states, no I had this feeling from the first day writing C#; I was always astonished by how the MS documentation was strictly telling us "hey be careful with this thing" and hopping for the best, and for the way my app needed a "global exception handler" that swallows everything, and I looked and looked for a way in which I could just know whether a function throw or not, I assumed that I'm getting something wrong, because I couldn't believe that this is a standard practice and due to my insufficient experience back then, I couldn't find any literature discussing this problem. I wrote about a similar concern in my old mentioned draft, but it's far from complete in the regard of why throwing exceptions is generally a terrible idea. Here I'm sharing some of contributions that I found: 1. Exception Handling Considered Harmful1 2. 13 – Joel on Software 3. Exceptions Considered Harmful 4. Why Go gets exceptions right | Dave Cheney. From the other side: 1. You’re better off using Exceptions – Eirik Tsarpalis' blog and I have a quick response for some issues it demonstrates; a. An Awkward Reconciliation: this assumes that the programming language you are using, library or other called functions are going to throw, which is invalid if you can never have this state in your language. b. Boilerplate: this is a style preference IMO, most of Go developers for example do not mind the infamous if err != nil for me it's explicit and eloquent. c. Where’s my Stacktrace?: exporting the Stacktrace has nothing to do with throwing exceptions, it's very possible to expose it in almost all languages (including Go) without exceptions. 2. Exceptions vs. status returns | Ned Batchelder2. #Programming #exception handling


[permlink]
14/11/2025

Just wanted to say that I love https://photos.nwalsh.com/. I contacted Norm a year ago: "Hi Norm, I really enjoy browsing through your gallery https://photos.nwalsh.com/images/ndw I would like to build something similar, is the software that serves the website available for others to use? Thanks in advance." he responded: " I’ve reimplemented that a couple of times. I don’t think I ever published the current incarnation. It’s Node.js on the front and Postgresql on the back, so pretty standard stuff. I’ll put “package it up in a public repo” on my todo list, but it’s a long, long list. :-) Be seeing you, norm". I responded: "Thanks. If possible, please let me know if you release it someday. That might be a fit for an additional line in your todo :).". He responded: "I’ll try to remember. To be honest, if I was starting over today, I’d be looking hard at setting up a Pixelfed instance. That might be worth exploring. Something for your todo list, perhaps :-) Be seeing you, norm". This was at Fri, 23 Aug 2024 13:50:01 +0100. I found his response fun. I added it indeed to my long TODO, and I consider pinging him in couple of months.

[permlink]
05/11/2025

Sometimes I develop feelings for books, scientific materials and tutorials. I wrote about this in Nostalgic Bibliography. One of the science books I had this experience with was Shaffer, C. Algorithm Analysis book. I wanted a lot to email Dr. Shaffer about how much I enjoyed his book, but I never found the best words, so I never did. Today I've noticed that I had the same feeling for Matt Holiday's <https://www.youtube.com/@mattkdvb5154> Go tutorial. I have a theory that he made this tutorial because he wanted to gain from time at home during the pandemic. Such a well spoken person and a great teacher. #Go and #Programming

[permlink]
03/11/2025

23:09

I still remember Aljazira's old Arabic UI very well, it was very alive, feature-rich, has a lot of surprises and just "alive". It was a portal to the internet. There are still snapshots of it in the Wayback Machine. I feel a lot of nostalgia for it.

[permlink]
02/11/2025

Most engineering disciplines have a distinction between "waiting" and "blocking". Usually waiting is purposeful and justified (an ongoing process we must await). On the other hand, blocking is usually seen as a symptom of poor design. Most of the waiting I experience is blocking.

Have you ever read the Wikipedia page about waiting halls? Yeah there does exist one, and I when I came through it for the first time I was more inclined towards questioning the existence of "waiting" rather than the existence of a Wikipedia page about waiting halls. But really, why do they exist? No one is going to tell you this, but it has nothing to do with "necessity" or waiting for something to complete (most of the time), it's actually because someone decided that their schedule optimization problem is more important than your time. They've overbooked, underestimated, or simply refuse to implement proper queueing systems with realistic estimates.

I'm sitting here right now, waiting for God knows what, and I've had enough time to think about how absolutely insane this is. When you have a thread just sitting there doing nothing while it could be doing work, you profile that and you fix it. It's a bug. It's inefficiency. It's the thing that makes your system fall over when you try to scale. But somehow when it's human beings sitting in lobbies or staring at "your call is important to us" screens, we just… accept it?

But what waiting actually means? When you wait, you're in a state of suspended agency. You can't move forward with what you intended to do. Your plans, your goals, your trajectory through time. All of it gets put on hold. You enter a kind of liminal space where you're not really doing anything, just existing in anticipation of permission to resume your life. And the thing is, sometimes this is unavoidable. Sometimes the universe itself imposes waiting on us. Seeds take time to grow. Wounds take time to heal. Understanding takes time to develop. This is legitimate waiting. This is waiting that corresponds to actual processes unfolding in reality, transformations that cannot be rushed because they're constrained by physics, biology, cognition. The actual fabric of how things work.

Blocking is different. Blocking is when you're forced into a state of suspended agency not because anything meaningful is happening, but because someone, somewhere, made a decision about system architecture that treats your time as an acceptable sacrificial resource. Your waiting serves no purpose except to optimize someone else's convenience. Nothing is growing. Nothing is processing. Nothing is happening at all, really, except that you've been placed in a queue, not because the work takes time, but because the system wasn't designed to respect the temporal experience of the people moving through it.

Where it gets even more consciously uncomfortable to me is that, when someone makes you wait unnecessarily, they're making a claim about the relative value of existence itself. Because time isn't just a resource like money or attention, time is the fundamental substrate. It's the medium. When you take someone's time, you're not borrowing a thing they own, you're consuming a portion of their finite conscious experience in the universe. You're saying: the segment of your life that you're spending right now, the irreplaceable minutes of awareness and possibility that you have between birth and death, those matter less than my organizational convenience and my incapability of solving scheduling optimization problems of degree one.

This is a form of violence that's normalized so completely that it is not even seen anymore. We've built entire systems predicated on the assumption that some people's time is disposable, that it's acceptable to externalize the costs of poor design onto the subjective experience of whoever happens to need something. And the really insidious part is how it scales. One person making a thousand people wait for an unnecessary hour hasn't just wasted a thousand hours of labor, they've consumed a thousand hours of lived experience. That's weeks of conscious human existence, just… gone. Burned up in service of a system that could have been designed differently.

There's something almost Kafkaesque about it. You're trapped in a system whose logic you can't access, whose progress you can't observe, whose timeline you can't influence. You don't know if anything is actually happening. You don't know if you've been forgotten. You don't know if the wait will be five minutes or five hours. You're in a state of enforced passivity. The only thing you know for certain is that someone, somewhere, decided that this is fine. That your experience of temporal captivity is an acceptable cost of doing business. Waiting doesn't just feel bad, it's objectively wasteful. It's entropy in the system. When you force asynchronous processes to become synchronous, when you serialize things that could be parallel, when you create artificial bottlenecks that serve no functional purpose, you're not just making individuals miserable.

There's a kind of temporal injustice at the heart of modern institutional life, where waiting is distributed inversely to power. Those who can least afford to lose time, because they're paid hourly, because they're juggling multiple responsibilities, because they have the least slack in their schedules, are the ones who wait the most. While those who design the systems, who benefit from the efficiencies of batch processing and serialization, who optimize for their own convenience, barely wait at all. And the really maddening thing is that we have the technology to fix this. We know how to build systems that respect human temporality. We know how to make things asynchronous, to provide feedback, to eliminate artificial serialization, to let people opt in to waiting when it serves their interests rather than forcing them into it by default. We could design the world so that blocking is rare and waiting is transparent and people maintain agency over their own time. But we don't (and this has nothing to do with being cost-effective. I've been in highly funded institutions who suffered from the very same problem).

So here I am, waiting. Blocked by a system that doesn't need to block me, suspended in dead time that serves no purpose, my finite conscious experience being spent on nothing because someone, somewhere, decided that this was an acceptable externality. And I'm supposed to just accept it. To scroll on my phone, to read, to "be patient," as if patience is the appropriate response to unnecessary temporal captivity rather than rage at the casual disregard for human experience that blocking represents.

Most of the waiting we do is blocking. And blocking is a failure. Not just an inconvenience. It's a moral failure, a design failure, a failure to treat human consciousness as something worth respecting.

And we call this normal. We call this life. #Modus Vivendi

[permlink]
29/10/2025

Some quick notes I had recently. 1. If you play Jeno Jando's performance of Hungarian Rhapsody No. 2 (C Sharp Minor, S244), and you listen really really carefully, you can hear him humming. Which is very spectacular, in my opinion. 2 Dmitri Shostakovitch wrote about waiting in his journals. I don't have access to it right now and I can't rephrase it because I read it very long time ago. As of now (me writing this), he was correct about a lot of points. 3. Most engineering disciplines have a distinction between "waiting" and "blocking". Usually waiting is purposeful and justified (an ongoing process we must await). On the other hand, blocking is usually seen as a symptom of poor design. Most of the waiting I experience is blocking. 4. Everyday I walk myself into a state of well-being and walk away from every illness. I have walked myself into my best thoughts, and I know of no thought so burdensome that one cannot walk away from it [Soren Kierkegaard] 5. The world lost a lot from transforming the concept of playing from having joy and fun with others using tools and rocks, to sitting in front of a computer monitor staring at pixel dots. #Modus Vivendi #Music

[permlink]
25/10/2025

Discovered Ghada Ghanem this week, her music is really different and interesting. I was surprised this is my first time to stumble upon her. Her music in Arabic is very special, but sadly she only has couple of ones in Arabic. #Music

[permlink]
24/10/2025

13:30

I have never been asked this question, but I think it's extra scary. So scary that I think about it even I was not questioned. My problem with this question is simple; it does not only imply that you are being a disappointment and a failure, but it also tells about you that you are not responsible that you are still willing to produce, work, or go to the exam, even when you know you can not do your best, due to your presumed "back home" situation. It's a question of dignity too, not only performance.

20:17 Give me more build systems

Installing Zathura on OSX: ==> Fetching dependencies for homebrew-zathura/zathura/zathura: cmake, ninja, python@3.14, meson, certifi, sphinx-doc, freetype, pcre2, glib, libtiff, gdk-pixbuf, harfbuzz, pango, librsvg, adwaita-icon-theme, desktop-file-utils, dbus, libxfixes, libxi, libxtst, at-spi2-core, gsettings-desktop-schemas, hicolor-icon-theme, libepoxy, gtk+3, girara, intltool, json-glib, libmagic and gtk-mac-integration. Why is all that needed? Why do I need 3 build systems (ninja, cmake and meson) for a single software? #Programming

[permlink]
22/10/2025

I enjoyed this week of going through de Volpedo's art. It was very interesting. When I saw that he died before aging 40 I thought "greats die young", attributed his death to his life-style. Little I knew that he committed suicide. The Wikipedia page about him sneaks that information real quick "It seemed the beginning of a new period of favour, in which finally artistic and literary groups would recognize the themes of his work. However, the sudden death of Pellizza's wife in 1907 threw the artist into a deep depression. On 14 June of the same year, Pellizza hung himself in his Volpedo studio. He was not yet 40." His story with Giovanni Segantini is as equally tragic. I wonder if any media works, novels, or the like portrayed this tragic life of his. #Art #Pellizza da Volpedo

  • [2025-10-24 Fri 02:16]
    I tried to look for anything that documents his life or letters, but in vain.

CLOCK: [2025-10-24 Fri 02:14]–[2025-10-24 Fri 02:20] => 0:06

[permlink]
20/10/2025

Regarding: https://twitter.com/ohreallytruly/status/1491569252809117699; Years ago, a meeting between Noam Chomsky and Episten was highly discussed on the r/Chomsky subreddit. I didn't give it much attention because I know how Dr. Chomsky rarely does research of the people he conducts interviews with. However, doing some research now I can see that Episten was kinda of an octopus of connections. Apparently, Epstein had a lot of philanthropy work, worked with MIT professors, funded multiple universities and had met with many figures in the scientific and intellectual community, Chomsky just happens to be one of them more on that here. Regarding the funds, Chomsky explained that it was from his own money "In response to questions from the Journal, Chomsky confirmed that he received a March 2018 transfer of roughly $270,000 from an Epstein-linked account. He said it was “restricted to rearrangement of my own funds, and did not involve one penny from Epstein". Anyway, I think that Chomsky's personal life matters or should be associated in consideration of his ideas or works. #Jeffrey Episten #Noam Chomsky

CLOCK: [2025-10-20 Mon 21:04]–[2025-10-20 Mon 21:41] => 0:37

[permlink]
c. lr0 2026