Hacker Newsnew | past | comments | ask | show | jobs | submit | klibertp's commentslogin

Also, disable the formatting if stdout is not a terminal. That way, your colors and cursor movements won't be visible when piping to another program, and your tool will be usable in apps that don't understand the CSI and chars that follow. Use a command-line switch with more than two states, e.g., `ls` (and probably other GNU tools) has `--color=always|auto|never` which covers most use cases.

Also not mentioned in the article: there are a few syntaxes available for specifying things in control sequences, like

    \x1b[38;2;{r};{g};{b}m
for specifying colors. There's a nice list here: https://gist.github.com/ConnerWill/d4b6c776b509add763e17f9f1... You can also cram as many control codes as you want into a control sequence, though it probably isn't useful in a modern context in 99.9% of cases.

Lose. Evacuate the government. Then mount a guerrilla, and wait for an opportunity. It'll come, most likely sooner rather than later.

Why is that unthinkable? I can understand people in the US being unable to process such a scenario, but here in Europe, there's not a single nation that wasn't off the map for some time.

I know why Ukrainians don't want that, but the demographic costs of tens to hundreds of thousands of "military age men" dying are so huge that any plausible alternative should be considered, even if it's very unpleasant.


> Why is that unthinkable?

Because it’s unthinkably stupid.

> I know why Ukrainians don't want that, but the demographic costs of tens to hundreds of thousands of "military age men" dying are so huge that any plausible alternative should be considered, even if it's very unpleasant.

And you imagine they won’t die in your guerrilla war? Or the next invasion after an emboldened Russia regroups?


You're suggesting a decades long guerrilla movement under occupation will be better for the Ukrainian people than conscription during an existential defensive war?

In terms of the number of lives lost? Yes. Guerrilla resistance is a way of trading important advantages (like control of the territory or political legitimacy) for time and human lives. Guerrillas in a favorable environment tend to suffer much lower casualties per fighter per unit of time than trench warfare along a frontline.

It's a desperate measure, but so is snatching people from the street to bus them off to trenches.

Personally, I think people can live through almost any hell (and can make a comeback later) - unless they die, in which case they can't do anything anymore. Decades of hard times, in this view, are preferable to tens of thousands of excess deaths per year over a decade.

I understand why people are reluctant to consider this - I'm just trying to show that there are alternatives to the current situation; not strictly better, but at least presenting different trade-offs. In a situation of "existential defensive war," we should discuss all plausible options, even the most controversial ones.


Honestly, as much as I love Smalltalk, I see this post as an illustration of all that's wrong in that community. Instead of documenting the original solution well, making a cheat sheet for it, or gathering examples (which you otherwise need to "hunt" for, according to the author) in one place, we're given another solution on top of the original inscrutable one. That new solution is still undocumented; in the post, there's no explanation of how it was written and how it works; instead, we get another handful of examples.

GToolkit has Lepiter, and Smalltalks in general have comments on classes that can be used to write long-form docs. Yet, the majority of Smalltalkers apparently believe that all that is not needed, and that searching for examples in the codebase gives you all the information you need. It may be true - not in all cases, but some of them - but the efficiency of that process is incredibly low. And that's even if the examples are there - mostly in test code. It's not unusual to find large areas of code that are entirely untested, though, in which case something that could be done in 15 minutes if you were provided with a solid README can take days to figure out.

Yeah, I know: the IDE, the Smalltalk environment, IS very valuable and it DOES give you superpowers. That doesn't fully offset the issue of notorious lack of documentation, though, and in effect, you're still less productive than you could be with Python. GToolkit's Lepiter is a step in the right direction, but even in GT, class comments and method docstrings are sparse. GToolkit-like environment coupled with Emacs Lisp self-documenting docstrings culture would be ideal, but somehow it just won't happen.


Interesting. This has not been my experience. I have not regularly worked in Smalltalk for 12+ years, other than the occasional download and show some young programmer how cool the "petri dish of objects" was/is.

For the last many years, I've been working in C, Swift, Kotlin, Python, and Elixir. In no case, have I felt that there was a step difference between the communities. I'm doing a lot of Elixir right now, which supposedly has "the docs are great". And yet, I often can't find the answer I need to figure something out. Sure there's some inscrutible parts of Smalltalk code bases, but my point is, journeying aboard in these other lands (I do quite a bit of Python too), hasn't made me feel like "oh wow, here's the documentation I could never find." Your mileage obviously varies, I respect that. Just wasn't my experience.


For Latin alphabet-based languages, it's pretty similar to how names from those languages are transliterated to Japanese or Korean. You get "Clare" in English and (what, to me, sounds like) "Kurea" in Japanese; equivalent (I'm told!) but not the same. It would be wrong to try to assess the IQ of Japanese (who don't know English) by asking about properties of the original word that are not shared by the Japanese equivalent. On the other hand, English speakers won't ever experience haiku fully, since the script plays a big role in the composition (according to what I'm told... I don't know Japanese, but anime intake exposed me to opinions like this; and even if I'm dead wrong with details, it sounds like a plausible analogy, at least...)

The examples are fine for an early-stage poc project like this one. `minutes` with evaluation trace and `[Fold]<-` are illustrative, and if you work them out with pen and paper, you can get a good grasp on the main ideas of the language. That you have to search for them on a page that looks like a slightly-formatted README instead of having a nice scrollable with syntax-highlighted snippets at the top is because this IS a slightly-formatted README - and that's also completely fine at this stage. What's important is that there are a few interesting concepts there and that it was published. Even if this one fizzles, as 99.999% of languages do, that doesn't matter if some other language down the line gets inspired by those concepts.

From the Conclusion:

> Does this mean that it is futile or meaningless to attempt to compose Elvish sentences? Well, no. [...] it is indeed possible to produce written Elvish that so far as anyone now can tell conforms grammatically and idiomatically to the exemplars and statements that Tolkien provided to a very high degree (for example, by relying only upon attested elements and derivational mechanisms, attested grammatical devices, and attested syntactic patterns that can reasonably be thought to belong to the same conceptual phase) — though I very much doubt that anyone will ever be able to do so quickly enough to use Elvish as a spoken language, for any but the most trivial sorts of declarative sentences.

I hate to be the one, but I haven't seen anyone else refer to them: how good are LLMs at following patterns of invented languages, in either direction (ie. inventing a translation from English to Sindarin and then, separately, translating the invented Sindarin back to English)? It's a usage where "hallucinations" are basically required, but also, the consistency of hallucinations has to be high.


> I do not smoke myself, but it made me realize how little I know regarding THC and CBD

Long-term use causes the psychedelic part of THC effects to diminish over time. At some point, only a mild depressant effect remains - somewhat similar to chamomile. It does have some effect on intelligence and short-term memory, but if the alternative is to be too stressed to think at all, it might be better to just smoke.

Obviously, if possible, psychotherapy or a prescription from a psychiatrist (or better yet, a change of environment) would be better (in the latter case, it depends on the prescribed drug, of course), but THC is not that bad an alternative where it's legal.


Make is a very good choice for storing common maintenance commands for a project. We use it at work for this. It started when we migrated to Docker more than a decade ago - before docker-compose was a thing, building and running a set of containers required quite a bit of shell scripting, and we decided to use Make for that. Make is ubiquitous, cross-platform, the targets are essentially snippets of shell with some additional features/syntax added on top, there's a dependency system (you can naturally express things like "if you want to run X, you need to build Z and Y first, then X, then you can run it"), it allows for easy parameterization (`make <target> ARG=val`), plus it's actually Turing-complete language with first-class lambdas and capacity for self-modifying code[1]. And when some rule becomes too complex, it's trivial to dump it into `scripts/something.sh` and have Make call it. Rewriting the script in another language also works, and Make still provides dependencies between targets.

TL;DR: Make is a very nice tool for gathering the "auxiliary" scripts needed for a project in a language-agnostic manner. It's better than setup.py and package.json precisely because it provides a single interface for projects of both kinds.

[1] Which is worth knowing so you can avoid both features like the plague.


Some people will answer without being asked. The most we will get out of that is that the word "saboteur" will get a more modern synonym (not sure what it will be, but the inventor of cheap EMP granades will have the biggest say in that). The future will, of course, steamroll over such answers, as it always did, but we'll all feel the bumps on the way.


You're fortunate. Very fortunate.

I've had friends - they really felt like friends at one point - tell me that they don't want to know me anymore when they learned I'm an atheist. One told me that "without God there's no morality", so they can't trust in anything I say. Just like that. One told me that atheists should be branded or marked somehow, so that they can't pose as "good people". To my face. When I mentioned that history knows such policies, and that they almost always lead to massacres, pogroms, and things like the Holocaust, the person didn't see any problem with that. At all.

Beliefs, especially strongly held ones, warp a person and their perception of reality. This influences their actions, and those actions can hit you hard. If a father "100% believes" homosexuals are worse than dirt, and a son firmly believes he loves his boyfriend, that's how a "quarrel" will arise. Most people agree to "live and let live" in principle, but when it comes to details, it's almost always "but we don't want X or Y in this neighborhood".

You're really fortunate to have only met people who hold beliefs that are not in direct opposition to your continued existence in this world or in their presence. However, you need to be aware that there are beliefs that are more incompatible with yours, and that there are people who hold them - and that you will quarrel (or worse - much worse) when you happen to meet.


I would say that you are very unlucky. I know people of multiple different religions, and atheists, and agnostics, and people of no particular belief and I have never known anyone to make a comment like that about anyone else.

I know many families whose members follow multiple different religions or none in multiple combinations.

> If a father "100% believes" homosexuals are worse than dirt, and a son firmly believes he loves his boyfriend, that's how a "quarrel" will arise.

Yes, but that is atypical. It most commonly happens either with American evangelicals, or in the context of very conservative societies in certain places (e.g. in multiple African and Asian countries).

American evangelicals seem to have a peculiar obsession with homosexuality as some sort of uniquely bad sin - perhaps to deflect attention from what the Bible and Christian tradition have to say about materialism and wealth. Traditional Christianity is quite non-judgemental and optimistic - e.g. the belief, or at least the hope, at all or almost all of humanity will be redeemed.

> To my face. When I mentioned that history knows such policies, and that they almost always lead to massacres, pogroms, and things like the Holocaust

The Holocaust was carried out by people who had to invent their own religions (their variant of neo-paganism and "positive Christianity") to have religions that could be reconciled with their ideology. Their ideas were more rooted in "racial science" than anything else.


> I would say that you are very unlucky.

> or in the context of very conservative societies in certain places (e.g. in multiple African and Asian countries).

Also in a few European ones, I can personally assure you :) It's fortunately (much) less common today than it was 25-30 years ago, but the truth is, everybody everywhere has their own hellhole, and living there could indeed be seen as unlucky. Atheism in a country where 96% of the people adhere to folk Catholicism (outside cities, that would probably be 110%...) is a hard sell.


> The Holocaust was carried out by people who had to invent their own religions (their variant of neo-paganism and "positive Christianity") to have religions that could be reconciled with their ideology. Their ideas were more rooted in "racial science" than anything else.

Some of them thought they had to invent or resurrect such religions to sell their movement to the masses, yes. That movement's actual religion was that ideology and racial "science"; it kind of was its own religion. (Not that this is exclusive to nazism / fascism; the same goes for communism.)


> I've had friends - they really felt like friends at one point - tell me that they don't want to know me anymore when they learned I'm an atheist. One told me that "without God there's no morality", so they can't trust in anything I say. Just like that. One told me that atheists should be branded or marked somehow, so that they can't pose as "good people".

That doesn't actually lead to a quarrel any more than having a friend saying they want to stop being friends for any other reason.

IOW, if a friend wants to stop being your friend, does the reason matter? I don't argue with people who don't want to be friends anymore (regardless of the reason)

> If a father "100% believes" homosexuals are worse than dirt, and a son firmly believes he loves his boyfriend, that's how a "quarrel" will arise.

I can certainly see a quarrel arising from that because ... well ... what are you going to do? Stop showing up at family events because your boyfriend is not accepted? Cut off all ties with your family because your boyfriend is not accepted?

This "quarrel", though, is not like a normal quarrel about differing beliefs; this actually has an impact on the ability to remain part of the family.[1]

-----------------------

[1] TBH, though, if it's only the father in this case who objects, simply not showing up at any event he is part of will usually be sufficient to get the rest of the family to pressure him into at least keeping quiet if you do show up, boyfriend in tow.

If the father is willing to keep from having outbursts, that more than sufficient to not quarrel. You don't need to man to believe that it isn't immoral. You don't need him to accept it. You just need him to shut up about it.

> You're really fortunate to have only met people who hold beliefs that are not in direct opposition to your continued existence in this world or in their presence.

What makes you think that?

I'm non-white, grew up in apartheid South Africa; in 2026, even transgenders in first world countries are treated better than my race was in 1986.

If you think systemic discrimination is bad, try living under legislated discrimination.

> However, you need to be aware that there are beliefs that are more incompatible with yours, and that there are people who hold them - and that you will quarrel (or worse - much worse) when you happen to meet.

No, I will not. If they are morally against my existence, let them go vote for laws to that end. I'm not gonna stand there arguing with them about it.


I'm sorry. I assumed too much about you, and I'm a bit ashamed for sounding so patronizing in my previous post. You seem wiser than me, and you're definitely wiser than I was back when it happened: I tried to defend myself. That's how the quarrel happened: I believed that I cared about morality, so I didn't want to just accept the accusation that I'm inherently immoral. That led to a few more shouts than it should; but as your sibling commenter says, at such points emotions tend to run high. I could have just walked away, and that would have been wiser. Somehow, I didn't manage to.

> What makes you think that?

Because you said you're "not even able to fathom how this is possible" - honestly, I still don't quite understand that sentence, especially after what you wrote above. It looks like you're advocating stoicism and disengagement, and I agree that it's a good strategy. But I can't believe you never felt the anger of being perceived through a lens of a belief that makes you into someone you're not - and that you "can't fathom" how that anger can get the better of you, to make you "stand there arguing with them about it". I get that you're able to rein in those emotions and simply walk away from situations like that; but I can't bring myself to believe you never felt that anger at all.

> You don't need him to accept it. You just need him to shut up about it.

Yes, that's rational. It's a way to live on without turning all family meetings into war. But maybe that particular war is worth fighting? Maybe, through countless battles over the Christmas tables, society changes course? Maybe by fighting against the belief that you're something lesser than human, by turning your life into a miserable one, you're paving a way for younger family members or the next generation to live their lives a little better than you could?

I don't know, to be honest. I'm not some activist. But I think I can understand people who decide to "stand there and argue". It's probably less rational and often leads to quarrels, but I'm almost sure that beliefs that are never challenged won't ever be changed. That's why I found your "I can't fathom" line a bit strange; sorry for overreacting :)


> Because you said you're "not even able to fathom how this is possible" - honestly, I still don't quite understand that sentence, especially after what you wrote above.

Look, in context, what I said had a qualifier:

>>> I am not even able to fathom how this is possible; unless someone is trying to convince you to join them in their belief, how on earth does a quarrel arise from differing beliefs?

I am not able to fathom how this is even possible unless one party is trying to change the beliefs of the other party.

I think that's a little less ambiguous, no?

> But maybe that particular war is worth fighting? Maybe, through countless battles over the Christmas tables, society changes course?

Maybe it does, and you just need to keep fighting.

Or (my approach), wait for the older generation to die off; the younger generation has no need to change the minds of the older generation, they just have to wait.

You still end up with the following result:

> next generation to live their lives a little better than you could?

I like my way better[1], but, you know, whatever works for you, works for you.

------------------------------------------

[1] For example, in my entire adult life I have had only two serious (i.e. shouting) arguments with my father, and neither of them had to do with differing beliefs, and now that he is dead I regret even having those two arguments.

He did not approve of my beliefs, but both he and I take a live and let live approach to life. I mean, I'm atheist and I'm happily married to someone who isn't; we have yet (over decades) to have a single argument over religion!


Idea + idea2 = quarrel

Is missing out a variable. It's an action. An action e.g. it has been brought up.

Idea + idea2 + action

Merely encountering someone with an idea different to one we hold shouldn't lead to a breakdown in communication. It needs an action to e.g. discuss the idea, and this action is controllable. Most of the time we do not quarrel with people even though they are different than us.

Often we are not the ones who can control this, but we can control our reactions and stop participating in the quarrel should one start. (That's easier said then done as its all emotions by this point!)

There is a growing school of thought in academia and in some radical groups that says that we shouldn't stop participating in quarrels and that we should let our anger out and voice heard. This idea says that any call to understand the other (empathy) is therefore toxic and harmful and that it's a choice which suppresses our important story. (Usually we just say they are impossible to understand and so "other" them, which leads to de-humanisation as only humans can be understood). Often our pain needs recognition but to reject the idea of understanding another seems to lead to a worse world in any reality.

Now whilst to deny understanding is utterly fundamentally wrong in any and all rational belief systems, there is actually some truth to the idea! It will cause pain and effort to understand another. It does weaken one's own ideas and certainty about things. If I try to understand someone who opposes me on some important idea that I have, it will change me somehow. Maybe I will have less attachment to the idea, maybe I will find other ideas, maybe I will reject the idea, maybe I will not. These side effects of understanding can be dangerous.

It's Von Daniken's books that lead me here:

Why do people think funny things. What are the processes to believe things? What are the processes and ideas which keep people from changing their beliefs. What do people really desire? How are people manipulated and how do they manipulate others? How can people in a cult come out of a cult? How do cults work? How do people change the ideas inside them? How do I tell what I believe in? What does "ideology" mean? How can I tell where what I believe in comes from? How can I talk about different ideas with others?


> There is a growing school of thought in academia and in some radical groups that says that we shouldn't stop participating in quarrels and that we should let our anger out and voice heard.

I think the problem is in wanting to convince the other party to change their mind, except that humans untrained in presenting arguments just switch to campaigning instead.

Academia has always been where new ideas are seeded, germinate and flourish; this means that a lot of campaigns for change come from academia. It always has, probably always will.

The problem we have had recently (Moreso in the last 10 years or so) is that academia itself has tried shutting itself off from ideas; it's why there's safe spaces, and why people have been prevented from presenting talks at campuses, etc.

This new approach is resulting in a lot of "Nope, we won't even discuss it, nor will we allow you to discuss it to third parties".

Leading us to be in a thread about von Daniken, making fun of people who have a belief that meets a higher bar for evidence than the clear majority of the world.

The people making fun of the theories aren't even self-aware enough to realise that they interact daily with the rest of humanity who have even wilder beliefs.

> How can I tell where what I believe in comes from?

I believe (hehe) that this is where Cogito Ergo Sum came from.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: