Threads for jtm

  1. 10

    I hope the author gets the help they need, but I don’t really see how the blame for their psychological issues should be laid at the feet of their most-recent employer.

    1. 50

      In my career I’ve seen managers cry multiple times, and this is one of the places that happened. A manager should never have to ask whether they’re a coward, but that happened here.

      I dunno, doesn’t sound like they were the only person damaged by the experience.

      Eventually my physicians put me on forced medical leave, and they strongly encouraged me to quit…

      Seems pretty significant when medical professionals are telling you the cure for your issues is “quit this job”?

      1. 16

        Seems pretty significant when medical professionals are telling you the cure for your issues is “quit this job”?

        A number of years ago I developed some neurological problems, and stress made it worse. I was told by two different doctors to change or quit my job. I eventually did, and it helped, but the job itself was not the root cause, nor was leaving the sole cure.

        I absolutely cannot speak for OP’s situation, but I just want to point out that a doctor informing you to rethink your career doesn’t necessarily imply that the career is at fault. Though, in this case, it seems like it is.

        1. 4

          It doesn’t seem like the OP’s doctors told them to change careers though, just quit that job.

          1. 3

            To clarify, I’m using “career change” in a general sense. I would include quitting a job as a career change, as well as leaving one job for another in the same industry/domain. I’m not using it in the “leave software altogether” sense.

      2. 24

        I’m trusting the author’s causal assessment here, but employers (especially large businesses with the resources required) can be huge sources of stress and prevent employees from having the time or energy needed to seek treatment for their own needs, so they can both cause issues and worsen existing ones.

        It’s not uncommon, for example, for businesses to encourage unpaid out-of-hours work for salaried employees by building a culture that emphasizes personal accountability for project success; this not only increases stress and reduces free time that could otherwise be used to relieve work-related stress, it teaches employees to blame themselves for what could just as easily be systemic failures. Even if an employee resists the social pressure to put in extra hours in such an environment, they’ll still be penalized with (real or imagined) blame from their peers, blame from themselves for “not trying hard enough”, and likely less job safety or fewer benefits.

        In particular, there’s relevance from the business’ failure to support effective project management, manage workloads, or generally address problems repeatedly and clearly brought up to them. These kinds of things typically fuel burnout. The author doesn’t go into details enough for an outside observer to make a judgment call one way or the other, but if you trust the author’s account of reality then it seems reasonable to blame the employer for, at the least, negligently fueling these problems through gross mismanagement.

        Arguably off-topic, but I think it might squeak by on the grounds that it briefly ties the psychological harm to the quality of a technical standard resulting from the mismanaged business process.

        1. 3

          a culture that emphasizes personal accountability for project success; this not only increases stress and reduces free time that could otherwise be used to relieve work-related stress, it teaches employees to blame themselves for what could just as easily be systemic failures.

          This is such a common thing. An executive or manager punts on actually organizing the work, whether from incompetence or laziness, and then tries to make the individuals in the system responsible for the failures that occur. It’s hardly new. Deming describes basically this in ‘The New Economics’ (look up the ‘red bead game’).

          More cynically, is WebAssembly actuall in Google’s interests? It doesn’t add revenue to Google Cloud. It’s going to make their data collection harder (provide Google analytics libraries for how many languages?). It was clearly a thing that was gaining momentum, so if they were to damage it, they would need to make sure they had a seat at the table and then make sure that the seat was used as ineffectually and disruptively as possible.

          1. 9

            More cynically, is WebAssembly actually in Google’s interests?

            I think historically the answer would have been yes. Google has at various points been somewhat hamstrung by shipping projects with slow front end JS in them and responded by trying to make browsers themselves faster. e.g. creating V8 and financially contributing to Mozilla.

            I couldn’t say if Google now has any incentive to not make JS go fast. I’m not aware of one. I suspect still the opposite. I think they’re also pushing mobile web apps as a way to inconvenience Apple; I think Google currently want people to write portable software using web tech instead of being tempted to write native apps for iOS only.

            That said, what’s good for the company is not the principle factor motivating policy decisions. What’s good for specific senior managers inside Google is. Otherwise you wouldn’t see all these damn self combusting promo cycle driven chat apps from Google. A company is not a monolith.

            ‘The New Economics’

            I have this book and will have to re-read at least this bit tomorrow. I have slightly mixed feelings about it, mostly about the writing style.

            1. 1

              Making JS fast is one thing. Making a target for many other languages, as opposed to maintaining analytics libraries and other ways of gathering data for one languages?

              Your point about the senior managers’ interests driving what’s done is on point, though. Google and Facebook especially are weird because ads fund the company, and the rest is all some kind of loss leader floating around divorced from revenue.

              The only thing I’ll comment about Deming is that the chapter on intrinsic vs extrinsic motivation should be ignored, as that’s entirely an artifact despite its popularity. The rest of the book has held up pretty well.

              1. 10

                Making JS fast is one thing. Making a target for many other languages, as opposed to maintaining analytics libraries and other ways of gathering data for one languages?

                Google doesn’t need to maintain their analytics libraries in many other languages, only to expose APIs callable from those languages. All WebAssembly languages can call / be called by JavaScript.

                More generally, Google has been the biggest proponent of web apps instead of web services. Tim Berners-Lee’s vision for the web was that you’d have services that provided data with rich semantic markup. These could be rendered as web pages but could equally plug into other clients. The problem with this approach is that a client that can parse the structure of the data can choose to render it in a way that simply ignores adverts. If all of your adds are in an <advert provider="google"> block then an ad blocker is a trivial browser extension, as is something that displays ads but restricts them to plain text. Google’s web app push has been a massive effort to convince everyone to obfuscate the contents of their web pages. This has two key advantages for Google:

                • Writing an ad blocker is hard if ads and contents are both generated from a Turing-complete language using the same output mechanisms.
                • Parsing such pages for indexing requires more resources (you can’t just parse the semantic markup, you must run the interpreter / JIT in your crawler, which requires orders of magnitude more hardware than simply parsing some semantic mark-up. This significantly increases the barrier to entry for new search engines, protecting Google’s core user-data-harvesting tool.

                WebAssembly fits very well into Google’s vision for the web.

                1. 2

                  I used to work for a price-comparison site, back when those were actual startups. We had one legacy price information page that was Java applet (remember those?) Supposedly the founders were worried about screen scrapers so wanted the entire site rendered with applets to deter them.

                  1. 1

                    This makes more sense than my initial thoughts. Thanks.

                  2. 2

                    Making a target for many other languages, as opposed to maintaining analytics libraries and other ways of gathering data for one languages?

                    This is something I should have stated explicitly but didn’t think to: I don’t think wasm is actually going to be the future of non-JS languages in the browser. I think they for the next couple decades at least, wasm is going to be used for compute kernels (written in other langs like C++ and Rust) that get called from JS.

                    I’m taking a bet here that targeting wasm from langs with substantial runtimes will remain unattractive indefinitely due to download weight and parsing time.

                    about Deming

                    I honestly think many of the points in that book are great but hoo boy the writing style.

            2. 1

              That is exactly what I thought while reading this. I understand that to a lot of people, WebAssembly is very important, and they have a lot of emotions vested into the success. But to the author’s employer, it might not be as important, as it might not directly generate revenue. The author forgets that to the vast, vast majority of people on this earth, having the opportunity to work on such a technology at a company like Google is an unparalleled privilege. Most people on this earth do not have the opportunity to quit their job just because a project is difficult, or because meetings run long or it is hard to find consensus. Managing projects well is incredibly hard. But I am sure that the author was not living on minimum wage, so there surely was compensation for the efforts.

              It is sad to hear that the author has medical issues, and I hope those get sorted out. And those kinds of issues do exacerbate stressful jobs. But that is not a good reason for finger pointing. Maybe the position just was not right for the author, maybe there are more exciting projects that are waiting in the future. I certainly hope so. But it is important not to blame one’s issues on others, that is not a good attitude in life.

              1. 25

                Using the excuse that because there exist others less fortunate, it’s not worth fighting to make something better is also not a good attitude in life.

                Reading between the lines, it feels to me like there was a lot that the author left unsaid, and that’s fine. It takes courage to share a personal story about mental wellbeing, and an itemized list of all the wrongs that took place is not necessary to get the point the author was trying to make across.

                My point is that I’d be cautious about making assumptions about the author’s experiences as they didn’t exactly give a lot of detail here.

                1. 3

                  Using the excuse that because there exist others less fortunate, it’s not worth fighting to make something better is also not a good attitude in life.

                  This is true. It is worth fighting to make things better

                  Reading between the lines, it feels to me like there was a lot that the author left unsaid, and that’s fine. It takes courage to share a personal story about mental wellbeing, and an itemized list of all the wrongs that took place is not necessary to get the point the author was trying to make across.

                  There is a lot of things that go into mental wellbeing. Some things you can control, some things are genetic. I don’t know what the author left out, but I have not yet seen a study showing that stressful office jobs give people brain damage. There might be things the author has not explained, but at the same time that is a very extreme claim. In fact, if that were true, I am sure that the author should receive a lot in compensation.

                  My point is that I’d be cautious about making assumptions about the author’s experiences as they didn’t exactly give a lot of detail here.

                  I agree with you, but I also think that if someone makes a very bold claim about an employer, especially about personal injury, that these claims should be substantiated. There is a very big difference between “working there was hard, I quit” and “the employer acted recklessly and caused me personal injury”. And I don’t really know which one the author is saying, because from the description could be interpreted as it just being a difficult project to see through.

                  1. 8

                    In fact, if that were true, I am sure that the author should receive a lot in compensation.

                    By thinking about it for a few seconds you can realize that this can easily not happen. The OP itself says that they don’t have documented evidence from the time because of all the issues they were going through. And it’s easy to see why: if your mental health is damaged, your brain is not working right, would you be mindful enough to take detailed notes of every incident and keep a trail of evidence for later use in compensation claims? Or are you saying that compensation would be given out no questions asked?

                    1. 3

                      All I’m saying is, there is a very large difference between saying this job was very stressful, I had trouble sleeping and it negatively affected my concentration and memory and saying this job gave me brain damage. Brain damage is relatively well-defined:

                      The basic definition of brain damage is an injury to the brain caused by various conditions such as head trauma, inadequate oxygen supply, infections, or intracranial hemorrhage. This damage may be associated with a behavioral or functional abnormality.

                      Additionally, there are ways to test for this, a neurologist can make that determination. I’m not a neurologist. But it would be the first time I heard that brain damage be caused by psychosomatic issues. I believe that the author may have used this term in error. That’s why I said what I said — if you, or anyone, has brain damage as a result of your occupation, that is definitely grounds for compensation. And not a small compensation either, as brain damage is no joke. This is a very different category from mere psychological stress from working for an apparently mismanaged project.

                      1. 5

                        Via https://www.webmd.com/brain/brain-damage-symptoms-causes-treatments

                        Brain damage is an injury that causes the destruction or deterioration of brain cells.

                        Anxiety, stress, lack of sleep, and other factors can potentially do that. So I don’t see any incorrect use of the phrase ‘brain damage’ here. And anyway, you missed the point. Saying ‘This patient has brain damage’ is different from saying ‘Working in the WebAssembly team at Google caused this patient’s brain damage’. When you talk about causation and claims of damage and compensation, people tend to demand documentary evidence.

                        I agree brain damage is no joke, but if you look at society it’s very common for certain types of relatively-invisible mental illnesses to be downplayed and treated very lightly, almost as a joke. Especially by people and corporations who would suddenly have to answer for causing these injuries.

                        1. 4

                          Anxiety, stress, lack of sleep and other factors cannot, ever, possibly, cause brain damage. I think you have not completely read that article. It states – as does the definition that I linked:

                          All traumatic brain injuries are head injuries. But head injury is not necessarily brain injury. There are two types of brain injury: traumatic brain injury and acquired brain injury. Both disrupt the brain’s normal functioning.

                          • Traumatic Brain Injury(TBI) is caused by an external force – such as a blow to the head – that causes the brain to move inside the skull or damages the skull. This in turn damages the brain.
                          • Acquired Brain Injury (ABI) occurs at the cellular level. It is most often associated with pressure on the brain. This could come from a tumor. Or it could result from neurological illness, as in the case of a stroke.

                          There is no kind of brain injury that is caused by lack of sleep or stress. That is not to say that these things are not also damaging to one’s body and well-being.

                          Mental illnesses can be very devastating and stressful on the body. But you will not get a brain injury from a mental illness, unless it makes you physically impact your brain (causing traumatic brain injury), ingest something toxic, or have a stroke. It is important to be very careful with language and not confuse terms. The term “brain damage” is colloquially often used to describe things that are most definitely not brain damage, like “reading this gave me brain damage”. I hope you understand what I’m trying to state here. Again, the author has possibly misused the term “brain damage”, or there is some physical trauma that happened that the author has not mentioned in the article.

                          I hope you understand what I am trying to say here!

                          1. 9

                            Anxiety and stress raise adrenaline levels, which in turn cause short- and long-term changes in brain chemistry. It sounds like you’ve never been burnt out; don’t judge others so harshly.

                            1. 3

                              Anxiety and stress are definitely not healthy for a brain. They accelerate aging processes, which is damaging. But brain damage in a medical context refers to large-scale cell death caused by genetics, trauma, stroke or tumors.

                            2. 8

                              There seems to be a weird definitional slide here from “brain damage” to “traumatic brain injury.” I think we are all agreed that her job did not give her traumatic brain injury, and this is not claimed. But your claim that stress and sleep deprivation cannot cause (acquired) brain injury is wrong. In fact, you will find counterexamples by just googling “sleep deprivation brain damage”.

                              “Mental illnesses can be … stressful on the body.” The brain is part of the body!

                              1. 1

                                I think you – and most of the other people that have responded to my comment – have not quite understood what I’m saying. The argument here is about the terms being used.

                                Brain Damage

                                Brain damage, as defined here, is damage caused to the brain by trauma, tumors, genetics or oxygen loss, such as during a stroke. This leads to potentially large chunks of your brain to die off. This means you can lose entire brain regions, potentially permanently lose some abilities (facial recognition, speech, etc).

                                Sleep Deprivation

                                See Fundamental Neuroscience, page 961:

                                The crucial role of sleep is illustrated by studies showing that prolonged sleep deprivation results in the distruption of metabolic processes and eventually death.

                                When you are forcibly sleep deprived for a long time, such as when you are being tortured, your body can lose the ability to use nutrients and finally you can die. You need to not sleep at all for weeks for this to happen, generally this is not something that happens to people voluntarily, especially not in western countries.

                                Stress

                                The cells in your brain only have a finite lifespan. At some point, they die and new ones take their place (apoptosis). Chronic stress and sleep deprivation can speed up this process, accelerating aging.

                                Crucially, this is not the same as an entire chunk of your brain to die off because of a stroke. This is a very different process. It is not localized, and it doesn’t cause massive cell death. It is more of a slow, gradual process.

                                Summary

                                Mental illnesses can be … stressful on the body.” The brain is part of the body!

                                Yes, for sure. It is just that the term “brain damage” is usually used for a very specific kind of pattern, and not for the kind of chronlc, low-level damage done by stress and such. A doctor will not diagnose you with brain damage after you’ve had a stressful interaction with your coworker. You will be diagnosed with brain damage in the ICU after someone dropped a hammer on your head. Do you get what I’m trying to say?

                                1. 4

                                  I get what you are trying to say, I think you are simply mistaken. If your job impairs your cognitive abilities, then it has given you brain damage. Your brain, is damaged. You have been damaged in your brain. The cells and structures in your brain have taken damage. You keep trying to construct this exhaustive list of “things that are brain damage”, and then (in another comment) saying that this is about them not feeling appreciated and valued or sort of vaguely feeling bad, when what they are saying is that working at this job impaired their ability to form thoughts. That is a brain damage thing! The brain is an organ for forming thoughts. If the brain can’t thoughts so good no more, then it has been damaged.

                                  The big picture here is that a stressful job damaged this person’s health. Specifically, their brain’s.

                                  1. 3

                                    I understand what you are trying to say, but I think you are simply mistaken. We (as a society) have definitions for the terms we use. See https://en.wikipedia.org/wiki/Brain_damage:

                                    Neurotrauma, brain damage or brain injury (BI) is the destruction or degeneration of brain cells. Brain injuries occur due to a wide range of internal and external factors. In general, brain damage refers to significant, undiscriminating trauma-induced damage.

                                    This is not “significant, undiscriminating trauma-induced damage” (for context, trauma here refers to physical trauma, such as an impact to the head, not psychological trauma). What the author describes does not line up with any of the Causes of Brain Damage. It is simply not the right term.

                                    Yes, the author has a brain, and there is self-reported “damage” to it. But just because someone is a man and feels like he polices the neighborhood, does not make me a “police man”. Just because I feel like my brain doesn’t work right after a traumatic job experience does not mean I have brain damage™.

                                    1. 1

                                      The Wikipedia header is kind of odd. The next sentence after “in general, brain damage is trauma induced” lists non-trauma-induced categories of brain damage. So I don’t know how strong that “in general” is meant to be. At any rate, “in general” is not at odds with the use of the term for non-trauma induced stress/sleep depriv damage.

                                      At any rate, if you click through to Acquired Brain Injury, it says “These impairments result from either traumatic brain injury (e.g. …) or nontraumatic injury … (e.g. listing a bunch of things that are not traumatic.)”

                                      Anyway, the Causes of Brain Damage list is clearly not written to be exhaustive. “any number of conditions, including” etc.

                              2. 2

                                There is some evidence that lack of sleep may kill brain cells: https://www.bbc.com/news/health-26630647

                                It’s also possible to suffer from mini-strokes due to the factors discussed above.

                                In any case, I feel like you’re missing the forest for the trees. Sure, it’s important to be correct with wording. But is that more important than the bigger picture here, that a stressful job damaged this person’s health?

                                1. 2

                                  the bigger picture here, that a stressful job damaged this person’s health

                                  Yes, that is true, and it is a shame. I really wish that the process around WASM be less hostile, and that this person not be impacted negatively, even if stressful and hard projects are an unfortunate reality for many people.

                                  I feel like you’re missing the forest for the trees.

                                  I think that you might be missing the forest for the trees – I’m not saying that this person was not negatively impacted, I am merely stating that it is (probably, unless there is evidence otherwise) to characterize this impact as “brain damage”, because from a medical standpoint, that term has a more narrow definition that damage due to stress does not fulfill.

                        2. 4

                          Hello, you might enjoy this study.

                          https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4561403/

                          I looked through a lot of studies to try and find a review that was both broad and to the point.

                          Now, you are definitely mixing a lot of terms here… but I hope that if you read the research, you can be convinced, at the very least, that stress hurts brains (and I hope that reading the article and getting caught in this comment storm doesn’t hurt yours).

                          1. 2

                            Sleep Deprivation and Oxidative Stress in Animal Models: A Systematic Review tells us that sleep deprivation can be shown to increase oxidative stress:

                            Current experimental evidence suggests that sleep deprivation promotes oxidative stress. Furthermore, most of this experimental evidence was obtained from different animal species, mainly rats and mice, using diverse sleep deprivation methods.

                            Although, https://pubmed.ncbi.nlm.nih.gov/14998234/ disagrees with this. Furthermore, it is known that oxidative stress promotes apoptosis, see Oxidative stress and apoptosis :

                            Recent studies have demonstrated that reactive oxygen species (ROS) and the resulting oxidative stress play a pivotal role in apoptosis. Antioxidants and thiol reductants, such as N-acetylcysteine, and overexpression of manganese superoxide (MnSOD) can block or delay apoptosis.

                            The article that you linked Stress effects on the hippocampus: a critical review mentions that stress has an impact on the development of the brain and on it’s workings:

                            Uncontrollable stress has been recognized to influence the hippocampus at various levels of analysis. Behaviorally, human and animal studies have found that stress generally impairs various hippocampal-dependent memory tasks. Neurally, animal studies have revealed that stress alters ensuing synaptic plasticity and firing properties of hippocampal neurons. Structurally, human and animal studies have shown that stress changes neuronal morphology, suppresses neuronal proliferation, and reduces hippocampal volume

                            I do not disagree with this. I think that anyone would be able to agree that stress is bad for the brain, possibly by increasing apoptosis (accelerating ageing), decreasing the availability of nutrients. My only argument is that the term brain damage is quite narrowly defined (for example here) as (large-scale) damage to the brain caused by genetics, trauma, oxygen starvation or a tumor, and it can fall into one of two categories: traumatic brain injuries and acquired brain injuries. If you search for “brain damage” on pubmed, you will find the term being used like this:

                            You will not find studies or medical diagnoses of “brain damage due to stress”. I hope that you can agree that using the term brain damage in a context such as the author’s, without evidence of traumatic injury or a stroke, is wrong. This does not take away the fact that the author has allegedly experienced a lot of stress at their previous employer, one of the largest and high-paying tech companies, and that this experience has caused the author personal issues.

                            On an unrelated note: what is extremely fascinating to me is that some chemicals such as methamphetamine (at low concentrations) or minocycline are neuroprotective being able to lessen brain damage for example due to stroke. But obviously, at larger concentrations the opposite is the case.

                            1. 1

                              How about this one then? https://www.sciencedirect.com/science/article/abs/pii/S0197458003000484

                              We can keep going, it is not difficult to find these… Your’re splitting a hair which should not be split.

                              What’s so wrong about saying a bad work environment can cause brain damage?

                              1. 1

                                Your’re splitting a hair which should not be split.

                                There is nothing more fun than a civil debate. I would argue that any hair deserves being split. Worst case, you learn something new, or form a new opinion.

                                What’s so wrong about saying a bad work environment can cause brain damage?

                                Nothing is wrong with that, if the work environment involves heavy things, poisonous things, or the like. This is why OSHA compliance is so essential in protecting people’s livelihoods. I just firmly believe, and I think that the literature agrees with me on this, that “brain damage” as a medical definition refers to large-scale cell death due to trauma or stroke, and not chronic low-level damage caused by stress. The language we choose to use is extremely important, it is the only facility we have to exchange information. Language is not useful if it is imprecise or even wrong.

                                How about this one then?

                                Let’s take a look what we got here. I’m only taking a look at the abstract, for now.

                                Stress is a risk factor for a variety of illnesses, involving the same hormones that ensure survival during a period of stress. Although there is a considerable ambiguity in the definition of stress, a useful operational definition is: “anything that induces increased secretion of glucocorticoids”.

                                Right, stress causes elevated levels of glucocorticoids, such as cortisol.

                                The brain is a major target for glucocorticoids. Whereas the precise mechanism of glucocorticoid-induced brain damage is not yet understood, treatment strategies aimed at regulating abnormal levels of glucocorticoids, are worth examining.

                                Glucocorticoids are useful in regulating processes in the body, but they can also do damage. I had never heard of the term glucocorticoid-induced brain damage, and searching for it in the literature only yields this exact article, so I considered this a dead end. However, in doing some more research, I did find two articles that somewhat support your hypothesis:

                                In Effects of brain activity, morning salivary cortisol, and emotion regulation on cognitive impairment in elderly people, it is mentioned that high cortisol levels are associated with hippocampus damage, supporting your hypothesis, but it only refers to elderly patients with Mild Cognitive Impairment (MCI):

                                Cognitive impairment is a normal process of aging. The most common type of cognitive impairment among the elderly population is mild cognitive impairment (MCI), which is the intermediate stage between normal brain function and full dementia.[1] MCI and dementia are related to the hippocampus region of the brain and have been associated with elevated cortisol levels.[2]

                                Cortisol regulates metabolism, blood glucose levels, immune responses, anti-inflammatory actions, blood pressure, and emotion regulation. Cortisol is a glucocorticoid hormone that is synthesized and secreted by the cortex of adrenal glands. The hypothalamus releases a corticotrophin-releasing hormone and arginine vasopressin into hypothalamic-pituitary portal capillaries, which stimulates adrenocorticotropic hormone secretion, thus regulating the production of cortisol. Basal cortisol elevation causes damage to the hippocampus and impairs hippocampus-dependent learning and memory. Chronic high cortisol causes functional atrophy of the hypothalamic-pituitary-adrenal axis (HPA), the hippocampus, the amygdala, and the frontal lobe in the brain.

                                Additionally, Effects of stress hormones on the brain and cognition: Evidence from normal to pathological aging mentions that chronic stress is a contributor to memory performance decline.

                                We might be able to find a few mentions of brain damage outside of the typical context (as caused by traumatic injury, stroke, etc) in the literature, but at least we can agree that the term brain damage is quite unusual in the context of stress, can we not? Out of the 188,764 articles known by pubmed, only 18,981 mention “stress”, and of those the almost all are referring to “oxidative stress” (such as that experienced by cells during a stroke). I have yet to find a single study or article that directly states brain damage as being a result of chronic stress, in the same way that there are hundreds of thousands of studies showing brain damage from traumatic injuries to the brain.

                                1. 2

                                  Well, if anybody asks me I will tell them that too much stress at work causes brain damage… and now I can even point to some exact papers!

                                  I agree that it’s a little hyperbolic, but it’s not that hyperbolic. If we were talking about drug use everyone would kind of nod and say, ‘yeah, brain damage’ even if the effects were tertiary and the drug use was infrequent.

                                  But stress at work! Ohohoho, that’s just life my friend! Which really does not need to be the way of the world… OP was right to get out, especially once they started exhibiting symptoms suspiciously like the ones cited in that last paper (you know, the sorts of symptoms you get when your brain is suffering from some damage).

                                  1. 2

                                    If someone tells me that they got brain damage from stress at work, I will laugh, tell them to read the Wikipedia article article and then move on. But that is okay, we can agree to disagree. I understand that there are multiple possible definitions for the term brain damage.

                                    If we were talking about drug use everyone would kind of nod and say, ‘yeah, brain damage’ even if the effects were tertiary and the drug use was infrequent.

                                    In my defense, people often use terms incorrectly.

                                    OP was right to get out

                                    I agree. Brain damage or not, Google employee or not, if you are suffering at work you should not stay there. We all have very basic needs, and one of them is being valued and being happy to work.

                                    Anyways, I hope you have a good weekend!

                          2. 6

                            I have not yet seen a study showing that stressful office jobs give people brain damage.

                            This is a bizarre and somewhat awful thread. Please could you not post things like this in future?

                            1. 8

                              I disagree. The post seemed polite, constructive, and led to (IMO) a good conversation (including some corrections to the claims in the post).

                              1. 4

                                Parent left a clear method for you to disprove them by providing a counter-example.

                                If you can point to some peer-reviewed research on the topic, by all means do so.

                                1. 5

                                  Yea but this is an obnoxious, disrespectful, and disingenuous way to conduct an argument. I haven’t read any studies proving anything about this subject one way or another. Because I am not a mental health researcher. So it’s easy for me to make that claim, and present the claim as something that matters, when really it’s a pointless claim that truly does not matter at all.

                                  Arguing from an anecdotal position based on your own experience, yet demanding the opposing side provide peer-reviewed studies to contradict your anecdotal experience, places a disproportionate burden on them to conduct their argument. And whether intentional or not, it strongly implies that you have little to no respect for their experiences or judgement. That you will only care about their words if someone else says them.

                      1. 18

                        1 int is enough if it’s a big int.

                        1. 26

                          Accessing RAM is just slicing into one really big int.

                          1. 1

                            I’m gonna be that person: someone please do it.

                            1. 2

                              Speaking of verification, I have a seemingly simple problem the systems I tried it on (TLA+, Coq) seem to be unable to address (or, more likely, I don’t have the tools).

                              So I have these two integers a and b, that are in [0, K] (where K is a positive integer). I would like to prove the following:

                              • a + b ≤ 2 K
                              • a × b

                              Should be easy, right? Just one little snag: K is often fairly big, typically around 2^30 (my goal here is to prove that a given big number arithmetic never causes limb overflow). I suspect naive SAT solving around Peano arithmetic is not going to cut it.

                              1. 4

                                This should be pretty easy for any modern SMT solver to prove. I’m not exactly an expert, but this seems to work for Z3:

                                ; Declare variables/constants
                                
                                (declare-const K Int)
                                (declare-const a Int)
                                (declare-const b Int)
                                
                                ; Specify the properties of the variables
                                
                                (assert (> K 0))
                                
                                (assert (>= a 0))
                                (assert (>= b 0))
                                
                                (assert (<= a K))
                                (assert (<= b K))
                                
                                ; Now let's prove facts
                                
                                (push) ; Save context
                                
                                ; Note how I've actually inserted the opposite statement of what you are trying to prove, see below as to why
                                
                                (assert (> (+ a b) (* 2 K)))
                                (check-sat)
                                
                                ; If you get an `unsat` answer, it means your statement is proved
                                ; If instead you get a `sat` answer, you can use the (get-model) command here
                                ; to get a set of variable assignments which satisfy all the assertions, including
                                ; the assertion stating the opposite of what you are trying to prove
                                
                                (pop) ; Restore context
                                
                                (assert (> (* a b) (* K K)))
                                (check-sat)
                                
                                ; See above for the comment about the (get-model) command
                                

                                Save that to a file and then run z3 <file.smt>.

                                Z3 should give you 2 unsat answers in a fraction of a second, which means that your 2 statements were proven to be true. Notably, it proves this for any K > 0 (including 2^30, 2^250, 2^1231823, etc…)

                                As far as I understand, the biggest gotcha is that you have to negate the statement that you are trying to prove and then let the SMT solver prove that there is no combination of values for the a, b and K integers that satisfy all the assertions. It’s a bit unintuitive at first, but it’s not hard to get used to it.

                                1. 3

                                  my goal here is to prove that a given big number arithmetic never causes limb overflow

                                  I’m not exactly sure what you mean here, is it that you’re using modulo arithmetic? If not, I’ve got a little proof here in Coq:

                                  Theorem for_lobsters : forall a b k : nat,
                                    a<=k /\ b<=k -> a+b <= 2*k /\ a*b <= k*k.
                                  Proof.
                                    split.
                                    - lia.
                                    - now apply PeanoNat.Nat.mul_le_mono.
                                  Qed.
                                  

                                  I think even if you’re doing modulo arithmetic, it shouldn’t be too hard to prove the given lemmas. But you might need to put some tighter restrictions on the bounds of a and b. For example requiring that a and b are both less than sqrt(k) (though this is too strict).

                                  1. 1

                                    My, I’m starting to understand why I couldn’t prove that trivial theorem:

                                    • I’m not sure what “split” means, though I guess it splits conjunction in the conclusion of the theorem into 2 theorems…
                                    • I have no idea what lia means.
                                    • I have no idea how PeanoNat.Nat.mul_le_mono applies here. I guess I’ll have to look at the documentation.

                                    Thanks a lot though, I’ll try this out.

                                    1. 2

                                      I’m not sure what “split” means, though I guess it splits conjunction in the conclusion of the theorem into 2 theorems…

                                      Yep!

                                      I have no idea what lia means.

                                      The lia tactic solves arithmetic expressions. It will magically solve a lot of proofs that are composed of integer arithmetic. The docs on lia can be found here. Note that I omitted an import statement in the snippet above. You need to prepend From Coq Require Import Lia to use it.

                                      I have no idea how PeanoNat.Nat.mul_le_mono applies here. I guess I’ll have to look at the documentation.

                                      The mul_le_mono function has the following definition, which almost exactly matches the goal. I found it using Search "<=".

                                      PeanoNat.Nat.mul_le_mono
                                           : forall n m p q : nat, n <= m -> p <= q -> n * p <= m * q
                                      

                                      I used now apply ... which is shorthand for apply ...; easy. The easy tactic will try to automatically solve the proof using a bunch of different tactics. You could do without the automation and solve the goal with apply PeanoNat.Nat.mul_le_mono; destruct H; assumption, if you’re so inclined.

                                      I hope this is helpful!

                                1. 12

                                  Nice! Regarding pv(1), I recently noticed that OpenBSD uses ftp(1) to create arbitrary progress bars. For example to get a progress bar when extracting tarballs, you can do:

                                  $ ftp -VmD "Extracting" -o - file:archive.tgz | tar -zxf -
                                  Extracting archive.tgz 100% |*********************| 7580 KB    00:00
                                  

                                  It’s a clever trick that turns ftp(1) into cat(1) with a progress bar. The interface for pv(1) is much nicer, but sometimes it’s nice to use tools that are in the OpenBSD base install.

                                  This technique is also how OpenBSD displays the progress bars during install.

                                  1. 3

                                    I have mixed feeling about this. On one side, it is cool, but on the other side, it looks like ftp is becoming something else. For starters, it is called ftp while it is used for other protocols as well. Now a (cool) trick to make it work as a progress bar. Where’s the next stop? The init system!?! (just joking).

                                    1. 3

                                      …it is called ftp while it is used for other protocols…

                                      Well, the p stands for program, not protocol, these days 😉: http://man.openbsd.org/ftp

                                      The fact it supports locally mounted file systems is news to me! I never knew.

                                  1. 2

                                    Re: content type, the M in MIME stands for mail. :-)

                                    Go has a package for reading multipart mime bodies: https://pkg.go.dev/mime/multipart

                                    1. 1

                                      Thanks! But where is Content-Type as a mail header defined? In which RFC I mean?

                                      1. 3

                                        It looks like it’s defined in the MIME RFC, specifically section 5 of RFC 2045. Though, there is a note mentioning that Content-Type predates MIME, and was first defined in RFC 1049.

                                        1. 2

                                          This RFC suggests proposed additions to the Internet Mail Protocol, RFC-822, for the Internet community, and requests discussion and suggestions for improvements.

                                          Perfect, thank you!

                                    1. 12

                                      I’m also no cryptographer, but it seems to me that deterministically generating private keys from passwords… almost totally subverts the security model of public/private key based cryptography? Like the private key is supposed to be “something you have” bit, not the “something you know” bit; you generate them for each e.g. device, not each user?

                                      1. 4

                                        Yea, I’m agreeing that it kinda subverts it, that’s why “toy” or whatever you wanna label it :) However looking at the crypto currency (I’m referring to BIP-39 and BIP-32 for example) they have done it for many years now. If you get a hardware wallet, be prepared to have to write down 24 words on a paper which could recover your key if lost.

                                        My idea was to do the same with backup keys for servers, cause I’m working in environments with FreeIPA and/or CA authentication which sadly can fail and where you wish you had a physical vault somewhere with root ssh keys. (Luckly never happened to my workplace, but it’s a realistic threat if the right services/servers goes down at the same time - recall facebook’s lockout back some months)

                                        So at least for my usage, it’s not for everyday usage but only for having a analog (pen-paper) backup where I don’t have to manually type in a PEM encoded private key in vim which seemed horrible :)

                                        So at least in my case, it’s not something I know, it’s something I have - secret is too long for me to remember it :)

                                        BIP refs; https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

                                        1. 4

                                          A quick glance at BIP-39 suggests that they’re deriving the 24 words from a randomly generated key, rather than deriving a key from a list of 24 words. Is that what you’re trying to accomplish? You could generate an ed25519 key and convert it to a word list using the same methodology as BIP-39 (i.e. divide the key in 11-bit chunks and lookup the unique word associated with each chunk), no? (Correct me if I’m wrong about what BIP-39 is doing).

                                          1. 1

                                            Yea, my toy tool is in the opposite order with BIP39.

                                            In BIP39 they make a seed first, then calculate 24 words for you to save which is revert-able back into the seed. The way I use it myself for the backup keys is that I pipe something equal to the entropy of the seed into it, which for example could look like (a random generated seed from https://iancoleman.io/bip39/ I just did ) “470273efc564f694df89980967f9ee9d26df59ac7ea1eda9dda7458fc952fe3f4affa6162e71c70d5c0db44fdbac67f06619334412d82412319c0dc96510a1b4”

                                            However in my opinion I think this (a hex key) is waaaay better to re-type into the digital world in a disaster recovery than something PEM base64 encoded. Like the example bellow. Fun when you lack a “A” or something in the rows of A’s for example, or miss a capital/downcase. Exactly what you would need when you’re stressed due to production is down :P It’s like installing “sl” on production servers if you know the prank tool.

                                            So for me, it’s about pleasure in a future horrible disaster recovery. What someone else that find this useful for is up to them, but I also tried to make it very clear that stupid usage of this tool can be a disaster in itself :)

                                            —–BEGIN OPENSSH PRIVATE KEY—– b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtz c2gtZWQyNTUxOQAAACB2LyhtKUdHZGdnpktmRSsBf2zW1/zorATpx2yPdqdSUQAA AIiaywRCmssEQgAAAAtzc2gtZWQyNTUxOQAAACB2LyhtKUdHZGdnpktmRSsBf2zW 1/zorATpx2yPdqdSUQAAAEA0YjU5ODZiZTk4MTY2MzA4Y2NiZGMwMzU1NTVkYjc3 ZHYvKG0pR0dkZ2emS2ZFKwF/bNbX/OisBOnHbI92p1JRAAAAAAECAwQF —–END OPENSSH PRIVATE KEY—–

                                            1. 1

                                              base32 or even base58 would be improvements over base64 for manual entry for sure.

                                              rsa keys were quite large though back in the day, and I dont think manual entry was much expected, so base64 made a bit more sense then.

                                      1. 22

                                        It’s magic.

                                        1. 18

                                          It’s not magic if it doesn’t do something. It’s magic if it does something.

                                          1. 2

                                            (Given what it is, it’s close to magic that it can do anything at all.)

                                          2. 9

                                            < short circuiting noises intensify >

                                          1. 1

                                            @solomon is the podcast related to your blog at blog.cofree.coffee? Or is the name coincidental?

                                            1. 3

                                              Yeah its related, but Sandy created the podcast. There is a little of group of us who have formed a group and we are trying to make a few projects together.

                                            1. 10

                                              So, my idea of using formal methods to help develop our core systems (they need to be very robust, payments and money stuff) has been received with excitement, so I’ll be writing models for one of the systems to show the rest of the team and start teaching them how this works and what the process will be from now on.

                                              Super excited about this.

                                              1. 2

                                                The dream! What tools/languages are you using to create the models?

                                              1. 11

                                                Can we get integration with the weekly “what are you doing this week?” threads? That would be cool.

                                                1. 11

                                                  It would also be neat if lobste.rs hosted a finger server. For example finger fs111@lobste.rs could return some of the information found on https://lobste.rs/u/fs111. Maybe users profiles also have a “plan” section for “what are you doing this week” answers? Not sure the utility of all this, but the idea tickles me!

                                                  1. 5

                                                    Well, there’s this at least:

                                                    finger lobsters@typed-hole.org
                                                    
                                                    1. 4

                                                      That would be really cool indeed

                                                  1. 15

                                                    Seeing the examples use floats for currency made my eye twitch uncomfortably. None of the code I’ve written for financial institutions did that. Is that really done in this space?

                                                    1. 37

                                                      I used to work at a firm that did asset valuation for bonds, and we used floats :).

                                                      It’s generally fine to use floats when it comes to asset valuation, since the goal is to provide an estimate for the price of a security. Our job was to estimate the value of a bond, discounting its price based on 1) the chance that the issuer will go bust or 2) the chance that the issuer will pay off their debt early.

                                                      My understanding is that floats are never used in places where a bank is dealing with someone’s physical assets (it would be a disaster to miscalculate the money deposited into someone’s account due to rounding errors). Since our firm was not dealing with money directly, but instead selling the output of statistical models, floats were acceptable.

                                                      1. 9

                                                        That makes absolute sense to me. Thanks for sharing the difference. We were dealing with transactions (and things like pro-rated fees, etc.) so even for things where it made sense to track some fraction of a cent, it was “millicents” and integer arithmetic. I wasn’t thinking in terms of model output.

                                                        1. 4

                                                          it would be a disaster to miscalculate the money deposited into someone’s account due to rounding errors

                                                          IME the really really hard thing is that summing floats gives different answers depending on the order you do it in. And summation operations appear everywhere.

                                                        2. 7

                                                          @jtm gave you a bit more detail, the original post offers this in the Other notes section:

                                                          One of things that tends to boggle programmer brains is while most software dealing with money uses multiple-precision numbers to make sure the pennies are accurate, financial modelling uses floats instead. This is because clients generally do not ring up about pennies.

                                                          1. 6

                                                            Ah I missed this, but yes – exactly this.

                                                            This is because clients generally do not ring up about pennies.

                                                            An amusing bit about my old firm: often times, when a bond is about the mature (i.e. the issuer is about to pay off all of their debt on time), the value of a bond is obvious, since there is a near-zero chance of the issuer defaulting. These bonds would still get run through all the models, and accrue error. We would often get calls from clients asking “why is this bond priced at 100.001 when its clearly 100?” So sometimes we did get rung up about pennies :).

                                                            1. 2

                                                              If that was there when I read it, I overlooked it because my eye was twitching so hard.

                                                              1. 2

                                                                It’s completely possible they added the Other notes section later! Just wanted to share since it addressed your question directly.

                                                            2. 3

                                                              I never wrote financial code, but I also never understood the desire to avoid floats / doubles. They should have all the precision you need.

                                                              Decimal is a display issue, not a calculation issue. I think the problem is when you take your display value (a string) and then feed it back into a calculation – then you have lost something.

                                                              It’s like the issue with storing time zones in you database vs. UTC, or storing escaped HTML in the database (BAD), etc.

                                                              Basically if you do all the math with “right”, with full precision, then you should be less than a penny off at the end. I don’t see any situation where that matters.

                                                              Although on the other side, the issue is that “programmers make mistakes and codebases are inconsistent”, and probably decimal can ameliorate that to some extent.

                                                              I also get that it’s exact vs. inexact if you advertise a 0.1% interest rate, but I’d say “meh” if it’s a penny. It’s sort of like the issue where computer scientists use bank account balances as an example of atomic transactions, whereas in real life banks are inconsistent all the time!

                                                              1. 11

                                                                I also never understood the desire to avoid floats / doubles.

                                                                Addition isn’t associative, so the answers you get from summations are less predictable than you would like

                                                                1. 7

                                                                  I think in practice the issue may actually be that floats can be too precise. Financial calculations are done under specific rules for e.g. rounding, and the “correct” result after multiple operations may actually be less mathematically accurate than if you’d just used 64-bit floats, but the auditors aren’t going to care about that.

                                                                  1. 4

                                                                    It’s not just that, it’s that the regulations are usually written to require that they be accurate to a certain number of decimal digits. Both the decimal and binary representations have finite precision and so will be wrong, but they’ll be differently wrong. Whether the binary floating-point representation is ‘too precise’ is less important than the fact that it will not give the answer that the regulators require.

                                                                  2. 4

                                                                    like @lann and @david_chisnall mentioned, it’s not about being precise, it’s about getting the answer expected by the accountants and bookkeepers and finance people. Back when they were doing it all on paper, they built certain rules for handling pennies, and you have to do it the same way if you want to be taken seriously in the finance/banking/accounting industries. Back then they couldn’t cut a physical penny in half, so they built rules to be fair about it. Those rules stuck around and are still here today and are sometimes codified into law[0]

                                                                    As for “meh” it’s a penny, they generally don’t care much about anything smaller than a penny, but they absolutely care about pennies. I regularly see million dollar transactions held up from posting because the balancing was off by 1 penny. They then spend the time it takes to track down the penny difference and fix it.

                                                                    0: PDF paper about euro rounding

                                                                    1. 1

                                                                      how do you store 1/3 with full precision ?

                                                                      1. 1

                                                                        Not with a decimal type either :)

                                                                        1. 1

                                                                          sorry I misread your post

                                                                  1. 9

                                                                    This is nice. Though, you could do some of the same things with XPath. For example, the first two examples could be done using xmllint:

                                                                    $ curl -s https://www.rust-lang.org/ | xmllint --html --xpath "//*[@id='get-help']" -
                                                                    $ curl -s https://www.rust-lang.org/ | xmllint --html --xpath "//@href" -
                                                                    

                                                                    Unfortunately xmllint doesn’t support html5, and complains about the <header> and <main> tags in the above example.

                                                                    1. 5

                                                                      XPath is really powerful, but it’s also really hard to grok (because it was designed for a much more powerful use case). I wonder if something that used the JQuery selector format wouldn’t be more appreciated :)

                                                                        1. 2

                                                                          Hxselect is super handy

                                                                          1. 2

                                                                            This tool is great, and already in Debian. Interesting that you need to give it XML syntax, but it comes with tools hxclean and hxnormalize -x that solve that for you.

                                                                            1. 1

                                                                              Wow! Fantastic, thanks!

                                                                        1. 9

                                                                          Added new riscv64 platform for 64-bit RISC-V systems.

                                                                          Awesome stuff. Just got my hands on a HiFive Unmatched and I’m very excited to tinker with this.

                                                                          1. 1

                                                                            that board looks cool! Just out of curiosity, did you have a project in mind you are working on with it?

                                                                            1. 4

                                                                              To be honest, I’m not entirely sure yet. There are a number of open source projects trying to target this board (Haiku and OpenBSD, among others), and I’d love to contribute somehow. If not there, I’d like to maybe try writing my own (crappy) OS for fun, since the components on the board are open and fairly well documented. If you have any fun ideas, let me know!

                                                                          1. 1

                                                                            This is a nonsensical argument

                                                                            1. 1

                                                                              Why?

                                                                              1. 1

                                                                                Well, Godel’s Theorem has basically nothing to say whatsoever about the difference between brains and computers. Its just a statement about formal systems. Neither brains nor computers nor general mechanical objects are formal systems.

                                                                                1. 1

                                                                                  But computational systems are formal systems. The essay is making the case against Mechanism: that brains are purely computational systems. I think the author’s argument is weird, but sound; a formal system should have certain properties and limitations, and the brain seems to neither have those properties nor be bounded by those limitations. In particular, we are conscious of inconsistencies.

                                                                                  I think it’s a strange essay to read because most of us think that Mechanism isn’t true. I also think that trying to disprove Mechanism via Gödel is unusual. But, I think it’s clever, and I think the essay deserved a better rebuttal than “this is a nonsensical argument”.

                                                                                  1. 1

                                                                                    “Mechanism isn’t true” I think its most likely mechanism is true. I have some formal training as a neuroscientist (PhD) and I think most neuroscientists think mechanism is true.

                                                                            1. 6

                                                                              Available without the jstor paywall here, through Cambridge Press

                                                                              1. 2

                                                                                Wow, I can’t believe that Shugart intentionally sent defective disks to Wozniak in a ploy to get Apple to buy their expensive controller. From an apple II history link I found:

                                                                                When representatives from Apple returned to Shugart to place orders for more of the SA390 drives to sell under the Apple brand, one of Shugart’s engineers admitted to a deception. The prototype drives that had been provided to Apple had actually come from a pile of bad SA400 drives. They had expected that Apple’s engineers would be unable to make the drives work, and out of frustration would have come back and purchased the more expensive SA400 drives.

                                                                                Either way, I love this series of talks. The sight of the 1541 collecting dust in my closet fills me with determination!

                                                                                1. 2

                                                                                  I think it was Bob Russell who once remarked that the 1541 was the best computer Commodore ever made.

                                                                                1. 15

                                                                                  I flagged this as off-topic since it is essentially business news and that is off-topic, according to the rules.

                                                                                  1. 28

                                                                                    I tend to agree, but I absolutely love @calvin’s notes

                                                                                    1. 13

                                                                                      Same. I’m here for it — sometimes, exceptions make the rules. When there’s an Apple event, I come here to read about it.

                                                                                    2. 6

                                                                                      I feel like it would be on topic if there were anything there to talk about, besides the absence of things to talk about.

                                                                                    1. 3

                                                                                      This is so interesting. It looks like something I’d like to build at some point, if only to recreate that rather relaxing devil-may-care attitude towards time and punctuality (generally speaking) that’s seen in some undeveloped countries. What’s that you say? I’m 10 minutes late? …so?

                                                                                      1. 5

                                                                                        You are allowed to be relaxed about time and punctuality! It is not a sign of being undeveloped¹! It’s just a reflection of what you currently value (which is also formed by context and people around you)! Probably you are already relaxed about time in some situations, and stressed about it in others!

                                                                                        ¹What does ‘undeveloped’ even mean? There are many things it can mean. It’s one of those words you should really only use as a shorthand in a long-running communcation, when you’ve already reached consensus on what it means here.

                                                                                        1. 2

                                                                                          You are allowed to be relaxed about time and punctuality! It is not a sign of being undeveloped¹!

                                                                                          It’s probably just me, but I don’t look at being “underdeveloped” (my definition, anyway :/) as a bad thing!

                                                                                          It’s just a reflection of what you currently value (which is also formed by context and people around you)!

                                                                                          Possibly, but (again, generally speaking) it’s not easy to be very relaxed on time in the UK/US, in my experience (but looking at jtm’s comment, this is apparently not the case everywhere). The meetup is at 1440, sir. 1400 is 1400, not 1445!

                                                                                          What does ‘undeveloped’ even mean?

                                                                                          Yeah, I should have been more specific :/ By “undeveloped” I don’t mean “poor” or “third-world”, I mean more rural-type areas where the majority of the population is engaged in blue-collar work.

                                                                                        2. 3

                                                                                          interesting. It looks like something I’d like to build at some point, if only to recreate that rather relaxing devil-may-care attitude towards time and punctuality (generally speaking) that’s seen in some undeveloped countries. What’s that you say? I’m 10

                                                                                          I’m not at all opposed to this, but at the same time I feel like parties who are often 10 minutes late come across as caring very little about wasting the time of other people.

                                                                                          I suppose the natural solution to this is to adjust one’s expectations for party’s who are oftentimes late… but I suppose my own concern for potentially wasting their time holds me back from doing so.

                                                                                          1. 6

                                                                                            I feel like parties who are often 10 minutes late come across as caring very little about wasting the time of other people.

                                                                                            I think this feeling is largely cultural. In Brazil, punctuality feels much less important compared to the US or UK. In fact, there’s a phrase “horário britânico”, which means “British time”, used to describe something punctual.

                                                                                            1. 1

                                                                                              Hah – maybe that’s it, given I’m a Brit!

                                                                                              That’s interesting to know, thanks for sharing.

                                                                                          2. 3

                                                                                            I think one can be relaxed about timescales and timetables while still being punctual when an event is scheduled for a specific time, IMHO.

                                                                                          1. 5

                                                                                            This is absolutely beautiful.

                                                                                            Apropos of nothing, what’s the text editor in the screenshot?

                                                                                            1. 10

                                                                                              I’m glad you like the language!

                                                                                              As for the editor, it’s something random I threw together in figma so I could get an svg. It’s loosely based on Atom with the molika-syntax theme and the DM Mono font. If I ever make an editor, though, I know what it will look like :P

                                                                                              1. 4

                                                                                                It looks like it might be the output of bat

                                                                                                1. 2

                                                                                                  Ah, that’s new to me. Thank you.