Preferences

jodrellblank
Joined 14,098 karma

  1. What if there is no GBH intent either? What if you are just being negligent or careless, like speeding while driving thinking you are a better-than-average driver and won't crash, or if you are not speeding and someone runs out in front of you, or if you are throwing roof tiles off a roof as you remove them while thinking people will see and hear what you are doing and walk around the pile, and you end up killing someone?

    The death is evidence that you killed somebody, but you can still be "innocent of murder" (and guilty of manslaughter instead. In the UK). That's why there are so many varieties of manslaughter, to determine how culpable the person is, whether they were negligent, whether they were comitting another crime, etc.

  2. > "you aren't innocent of murder just because you didn't intend that the victim would die."

    You might be; from the UK's Crown Prosecution Service guidance website[1]: "Involuntary Manslaughter. Where an unlawful killing is done without an intention to kill or to cause grievous bodily harm, the suspect is to be charged with manslaughter not murder.". From Wikipedia[2]: "In English law, manslaughter is a less serious offence than murder."

    [1] https://www.cps.gov.uk/prosecution-guidance/homicide-murder-...

    [2] https://en.wikipedia.org/wiki/Manslaughter#England_and_Wales

  3. > "Why are we wasting so much time on abstractions like .. objects?"

    Aside: earlier this year Casey Muratori did a 2.5 hour conference talk on this topic - why we are using objects in the way they are implemented in C++ et al with class hierarchies and inheritance and objects representing individual entities? "The Big OOPs: anatomy of a 35 year mistake"[1].

    He traces programming history back to Stroustrup learning from Simula and Kirstan Nygaard, back to C.A.R. Hoare's paper on records, back to the Algol 68 design committee, back to Douglas T. Ross's work in the 1950's. From Ross at MIT in 1960 to Ivan Sutherland working on Sketchpad at MIT in 1963, and both chains influencing Alan Kay and Smalltalk. Where the different ideas in OOP came from, how they came together through which programming languages, who was working on what, and when, and why. It's interesting.

    [1] https://www.youtube.com/watch?v=wo84LFzx5nI

  4. There are way ways past this, from religion and Amish-style cultural approaches, to legal prohibition of making and selling and using it, to dictatorial control of the companies which could make it, to individuals being personally immune, to paying people money if they don't use it. Like there are people who avoid alcohol, opioids, heroin, all other wireheading-style drugs and experiences that exist already, and people who do exercise and stay thin in a world of fast food and cars.

    A great filter needs to apply to every civilisation imaginable, no exceptions, nerfing billions of species before they get to a higher Kardashev scale, not just something that "could happen" or the latest “Dunning-Kruger” mic-drop in every thread. In 1960s "the great filter is nuclear war", in 1890 "the great filter is heroin", in 1918 "the great filter is world war, we are destined to destroy ourselves", in 2015 "the great filter is climate change our emissions will end us like bacteria in a petri dish", in antiquity "the great filter is the punishment for crossing the will of the Gods".

    It's got to be something you cannot get around even if you try really really hard and get very very lucky, because there are ~200,000,000,000 stars in the Milky Way and with those numbers there will be some species which lucks its way past almost any candidate, spreads out and in a mere 100k years is all over this galaxy leaving rocket trails and explosion signatures and radio signals and terraforming signs and megastructures.

    Maybe when NASA, ESA, SpaceX, RosCOSMOS, CNSA, IRSA all collapse because of this effect… look how many countries have a space agency! https://en.wikipedia.org/wiki/List_of_government_space_agenc...

  5. 2005 Hurricane Katrina, news described a black man carrying bread through floodwater as "looting a grocery store" and white people carrying bread through floodwater as "finding bread and soda from a local grocery store".

    Image: https://media.snopes.com/2016/09/looting.jpg

    Snopes: https://www.snopes.com/fact-check/hurricane-katrina-looters/

  6. Your current device won’t do it but Wi-Fi can now identify people, and because it’s able to penetrate flesh it can identify people by skeleton so that it can’t be hidden by clothing. That’s separate from WhoFi being hard to identify peeler from gestures.[1]

    This could be a future where your home devices sell what you look like to data harvesters who can then see you appear in shops which run the same scanners, even through walls where there’s no cameras, connecting back to the person who lives in your house near your future-vacuum cleaner. Even if you leave your phone and devices behind and pay in cash.

    The historic privacy we had by virtue of things being physical started to fall slightly with writing and post which the government might intercept, further with telephone calls which the phone company could intercept, further with radio which could be hidden in one room listening, further with CCTV to CRT screen banks and no recording, further to purchases by credit card, then suddenly in the 90s to cellphone tracking and mass internet use, then the 2000s with Bluetooth beacon scanning and CCTV recording to disk and online purchases and unencrypted chat programs, faster in the 2010s where so many people upload their photo streams to Facebook which does face recognition on who is in photos and who is attending events, location tracking apps (all of them asking for that permission), to smartphones tracking location for live traffic and live store busyness ratings, and Hey Siri and Alexa and all the fitness tracker apps, and Ubers and video calling proxies through Microsoft and Google servers, cheap IoT CCTV left open to the world, car license plate tracking cameras…

    “What is the concern” - is there really no concern?

    [1] https://www.techspot.com/news/109975-wi-fi-can-accurately-id...

  7. > "tool of thought"

    I felt compelled to make a comment about that last week[1]; I stopped thinking of it like "APL is a tool for thought [and nothing else is]" and started thinking of it like the Sapir-Whorf idea; all programming languages and mathematical notations are tools for thought and we don't normally talk about them like that. Their designs promote/encourage/ease some ways of thinking about problems and reveal some patterns in the data and the algorithms, and on the flip side by making design choices they necessarily demote/discourage/frustrate other ways of thinking and obscure some patterns.

    It's not just that Go has Goroutines in it as a technical feature, it's that having a first class way to express that feature encourages Go developers to think about solving problems in terms of Goroutines. A bit like "if the only tool you have is a hammer, every problem starts to looks like a nail". But we still go down the direction of making a kitchen-sink language which has a bodge of half-implemented mismatched features from different areas wedged awkwardly into its syntax, and then saying "this company only does Java" or "only uses C++" instead of making smaller simpler tools that fit particular problems and working on ways to learn about them and integrate them.

    > "I wish multidimensional arrays were a first-class citizen in my main languages though."

    It has not helped you but you wish you had access to it because it's changed the way you think? Same; it has changed the way I think about bulk-transforming arrays of data, and using intermediate array structures, and thinking it's good to have an interpreter layer which transforms a whole array using SIMD/vector extensions instead of a loop which does individual non-SIMD tests on items so it can exit part way through the array to "save time".

    [1] https://www.hackerneue.com/item?id=46183808

  8. There is a relatively recent episode of the ArrayCast array language podcast with Henry Rich who is the primary maintainer and developer of J, talking about new features: https://www.arraycast.com/episodes/episode104-j96

    Click on the show notes and there are links to previous episodes with him, talking about the J engine implementation, updates in J 9.03, threading and faster bignum calculations in J 9.04, updates in J 9.5, his views on tacit programming, etc.

  9. Then how can we exist around large magnetic fields without them affecting us mentally - no forgetting, no dropping unconscious, no trippy psychedelic experiences - seemingly nothing at all? How come our mains electricity does not not act on our minds analogously to a blowtorch on our skin, or a hydraulic press on our bones?

    MRI machines at 3 Tesla field strength are 100,000x stronger than the Earth's magnetic field, and pulsed very fast. They affect the spin of the nucleus of the Hydrogen atoms in the body, but apparently have no effect on the person's brain or consciousness (or biomagnetite)? We wear headphones with electromagnetic coils pulsing music on the sides of our heads for hours at a time, with no effect. We use machine's powerful electric motors, work near them, we're surrounded by alternating currents in wires, some people experiment with Tesla Coils, MagLev capable of lifting trains, wireless power delivery...

    (PS. Red / Arctic Foxes might be able to see the Earth's magnetic field and use it to help find mice to hunt; they listen for mice they can't see and jump-pounce into the snow and their jumps are successful at getting the mouse 80% of the time when they are facing North-East and only 18% of the time when they aren't - https://www.nationalgeographic.com/science/article/foxes-use... )

  10. You won’t get a choice; they will come with a 5G connection that doesn’t ask you, doesn’t notify you, doesn’t cost you, and has no user-visible toggle. Like cars do these days. And a mesh-networking fallback so if you’re in a city and your neighbour also has one of the similar brand it will connect through their internet instead.
  11. > "I think that it should be clear from the above extended metaphor that I fundamentally disagree with this idea, and so dismissing it with "No it isn't" will do nothing at all for me."

    I'm citing a medical doctor and clinical psychologist with decades of experience who has recorded a hundred hours of training podcasts, and linking actual therapy sessions that you can listen to, and you're saying "no it isn't" with nothing to back that up except "you reckon it isn't".

    > "the idea that therapy is always easy "someone gives you a bit of information, like a switch was flipped, done": No, it isn't. Habits that are learned over decades aren't that easily changed."

    Nobody said it was always easy. Yes they are. People try to quit smoking cold turkey three times a week for five years. Then they read Alan Carr's "The Easy Way to Quit Smoking" and then they don't want to smoke anymore and there's no talk of "quitting" because they aren't smokers and non-smokers don't need to quit. With the right understanding, the viewpoint flips and the mind is changed. Same with overweight people who try dieting for years and then have a health scare and sometimes that switches it so they change instantly (and sometimes it doesn't). Most things won't easily change a habit, like most changes in code won't fix a specific bug. But some changes can, and we should look for them.

    > "Like a gym session, if it's always easy then you're not doing the work."

    This is some Puritanical suffering-culture, or some one-upmanship manliness culture. This is the reason I mentioned the int32 to int64, sometimes it might require searching to find insight, but there's no points for searching harder and trying harder, if you can have the same insight in two hours instead of two years, that's good not bad. The Universe doesn't give points for "doing the work" and brute-forcing a solution instead of a quicker solution (I suspect one of your beliefs does).

    > "Reassurance can work, but IMHO you'll be back soon enough, as the root cause hasn't been addressed"

    This is strawmanning or not understanding; this is addressing the root cause and not reassurance; the step of "paradoxical agenda setting" gets to the heart of why reassurance doesn't work. Someone who says "I lost my job, I didn't work hard enough, I am a loser" doesn't get helped by reassuring them that they are not a loser. It might be that they have a deep-seated value that "hard work is good" and they are getting into a human race condition where "reassurance that you aren't a loser" goes to "if I can think I'm a winner even when I don't try, then laziness can be winning, and I don't want that. I won't go there. So I reject the reassurance and return to my belief that I am a loser".

    The fix is trace that loop and find the sticking point, and find a working technique to unstick it. Which is case-by-case individual, but somewhere like "I understand that feeling like a loser is the flip-side of my belief that hard work is good. How does my brain implement hard-work-is-good? By making hard work feel good and lazy work feel bad. This feeling-bad is the mechanism of how my ideal works! I actually want to keep the bad feeling because that's one of the things which guides me to work hard, and I value that. I can't get rid of one without getting rid of the other. What I've done is try to grab tightly to one side of this (hard work is good) and push away the other side (I'm a loser because I didn't work hard) but they're the same thing, so grabbing it hard is pulling it back while pushing it away. Brain has responded by dialing it up to 11 and shouting "LOSER" all the time louder and louder because I'm trying not to listen. It doesn't make sense to judge a whole self as a winner or loser, people have lots of components some good and some bad. It doesn't make sense to say "I didn't work hard" at work because there were times when I did work hard. So actually I want to keep the feeling "I am a loser if I don't work hard" because it encourages me to work harder (which I value). I want it dialled down instead and focused on individual areas of life, not judging all of me all the time".

    and with that understanding clicking, finally listening to the thought that's been running around, accepting it as a thing you asked for, that reminds you of something else you value, it 'suddenly' calms down. Acknowledged. Part of you, accepted, integrated, welcomed.

    > "if chugging some simple agreeable affirmations are all that you need, by all means listen to the LLM. The sycophancy machine can do that."

    Can you see this as the typical HN cynicaler-than-thou putdown? Maybe the reader will think you're a really tough C++ programmer who only values science and muscles, instead of a woke hippy gullible loser? But you don't look tough for changing "therapy skills developed over decades" into "simple agreeable affirmations" you just look like you don't understand and are embarrassed.

  12. No it isn't, it's like a questionnaire on how hungry you are before and after dinner. If you eat carrot air and parsley and your hunger stays the same, dinner was a failure. If you eat bread and soup and your hunger diminishes a bit, it helped but you might need more dinner.

    > "will push you slightly out of your comfort zone, and aim to let you safely deal with moderate amounts of something that you find really hard."

    You can listen to some of those sessions and see that this is not what Dr Burns does[1]. His model is: it's not events which make us feel down, it's the thoughts we have about those events. You can see it yourself when you are stressing about something for ages, and someone gives you a bit of information "the surgeon says it all went well" and your worry leaves like a switch was flipped. You don't debug an integer overflow by progressively increasing int32 to int33 to int34, you spend the time understanding the problem and then you quickly change int32 to int64 and the program handles larger numbers instantly.

    If we can't let go of negative thoughts then we get stuck with lots of them, it's why people repeat certain things like "I hate him", "It's my fault and I deserve to be punished", "I'm a failure", "I'm a loser nobody loves me", "I'm a bad mother", "I'm a coward" or whatever - on mental loop, minute after minute sometimes for years or decades, retriggering the same pattern of negative feelings every time. He sets up an environment where the patient is willing and able to work with him (empathy) and guides the patient to see the reasons why they can't let go of those thoughts and how they could let go, and with a click of understanding the thought leaves, and that's a moment of near-instant transformation not a progressive overload, and that specific thought is fixed, and then they do another and another until the patient is happy they have been helped with the thing they wanted help with.

    [1] mostly, sometimes for anxiety he does use exposure therapy

  13. You don't think we'd all know it if "talking to a friend" for a couple of hours cured years of anxiety, depression, anger, sadness, hoplessness, anxiety, etc. ? Would we even have therapists/therapy if that were the case?
  14. "It's scary stuff. Radically advanced. - I mean, it was smashed, it didn't work, but it gave us ideas, took us in new directions, things we would've never Th..."
  15. It's not the past anymore, we don't need to debate, we can watch and listen to actual recordings of therapy sessions and the patients going from feeling variously bad to better. Here's Dr David Burns channel with a 4hr video of a session with a woman who is obsessively anxious about her college-age daughter's safety: https://www.youtube.com/watch?v=on2N5DsKHRk

    Here's a 2.5 hour session (split into several videos) with a doctor who has a bad relationship with his son and felt like a failure for it:

    https://www.youtube.com/watch?v=42JDnrD106w

    https://www.youtube.com/watch?v=S5H2YGljhqQ

    https://www.youtube.com/watch?v=bZ9_0j_fmeg

    https://www.youtube.com/watch?v=eiCrdGVa8Q0

    https://www.youtube.com/watch?v=cARvhlTckaM

    Here's a couple of hour session with Marilyn who was diagnosed with lung cancer and spiraling with depression, anxiety, shame, loneliness, hopelessness, demoralization, and anger, despite her successful career:

    https://www.youtube.com/watch?v=S7sQ_zDGsY8

    https://www.youtube.com/watch?v=tyuFN4mbGZQ (there's probably more parts to find through YouTube somehow)

    And a session with Lee with loneliness and marriage relationship problems:

    https://www.youtube.com/watch?v=imEMM3r6XL8 (probably more parts as well)

    It's like saying "it is still debated if debugging even works" as if all languages, all debuggers, all programmers, all systems, are the same and if you can find lots of people who can't debug then "debugging doesn't work". But no, you only need a few examples of "therapy working" to believe that it works, and see the whole session to see that it isn't just luck or just the relief of talking, but is a skill and a technique and a debugging of the mind.

  16. As I sometimes repeat on HN, Dr David Burns started giving his patients a survey at the start and end of every session, to rate how he was doing as the therapist and to rate their feelings, on a scale of 1-5.

    Reasoning that if he's not good it would show up in patients thinking he's bad, and not feeling any better. And then he could tune his therapy approaches towards the ones which make people feel better and rate him as more understanding and listening and caring. And he criticises therapists who won't do that, therapists who say patients have been seeing them for years with only incremental improvements or no improvements.

    Yes there's no objective way to measure how angry or suicidal or anxious someone is and compare two people, but if someone is subjectively reporting 5/5 sadness about X at the start of a session and wants help with X, then at some point in the future they should be reporting that number going down or they aren't being helped. And more effective help could mean that it goes down to 1/5 in three sessions instead of down to 4/5 in three years, and that's a feedback loop which (he says) has got him to be able to help people in a single two-hour therapy session, where most therapists and insurance companies will only do a too-short session with no feedback loop.

  17. You'd think, but while I was looking for the video I mentioned, I found one of their conferences from ~2022 with audience questions like "omg omg you've got huge cash reserves GIVE IT TO SHAREHOLDERS WHEN?? GIMME GIMME <money_mouth_emoji>" and Buffet gave the answer even I could have predicted: "we want cash reserves for the next market crash, whenever that is. If a big company gets into debt trouble, there aren't many people they can pick up the phone and call who could do a $50 - $100 billion deal like Berkshire can".

    I can't imagine how often he's repeated "We want enough cash to be able to buy something, and we're waiting until something is cheap" over the last 40 years, but people going to their investor conferences don't all seem to have internalised it.

  18. > "My theory is that Buffett is hoping for one last large crash before he retires so he can go shopping for distressed companies."

    There was a video of a QA session with him recently where he was asked something like that and he answered (paraphrased) "we are keeping cash so that we can buy cheap things when they come up. Some people think I'm waiting so Greg Abel(?) can have a nice opportunity when he takes over, but I'm not that nice, if I see something I will buy it". And reiterated the commonly stated idea that Charlie Munger thought they'd have done better if they only ever made ~5 carefully chosen investments in the lifetime of the company, and that investing too freely, quickly, often, was a bad idea.

    I think that leaves a difficult situation for the next CEO, people are going to expect them to do something and probably the best thing they can do is as much nothing as possible, reading, watching and waiting. Without Buffet and Munger's history of that it might be hard to defend.

  19. > LMs don't do this. Instead, every question is immediately responded with extreme confidence with a paragraph or more of text.

    Having just read a load of Quora answers like this, which did not cover the thing I was looking for, that is how humans on the internet behave and how people have to write books, blog posts, articles, documentation. Without the "dance" to choose a path through a topic on the fly, the author has to take the burden of providing all relevant context, choosing a path, explaining why, and guessing at any objections and questions and including those as well.

    It's why "this could have been an email" is a bad shout. The summary could have been an email, but the bit which decided on that being the summary would be pages of guessing all the things which what might have been in the call and which ones to include or exclude.

  20. Reading the YCombinator link there's a mention of APL and a comment by dTal[1] which includes saying:

    > "A lot of the mystique of APL is because it's illegible ... nothing more than a DSL for 'numpy-like' code. .. same demo, using Julia and the result is (in my opinion) much more legible: ... let n=sum(map(

    sum() in Julia is more clear and more readable at a glance than +/ in APL, but the APL version is a combination of two things. + which is a binary addition function, and / which is reduce, a higher-order operator or meta-function. sum() in Julia doesn't lead you to think about anything else except what other builtins exist. The APL notation leads you to wonder about combining other commands in that pattern, like times-reduce is ×/ and calculates the product of an array of numbers. From the notation you can see that sum and product are structurally related operations, which you can't see from names sum() and product(). Then you change the other part by wondering what plus does if used with other higher functions, like +\ (scan) and it's a running-sum across an array. (i.e. "+\ 1 1 1 1" gives "1 2 3 4", the sum so far at each point).

    So the notation isn't just about readability, it's a tool for thinking about the operations. Different notations enable you to think about different things. If we imagine there was no sum() then you might write:

        sum = 0
        foreach (n in numbers) { sum += n }
    
        product = 0
        foreach (n in numbers) { product *= n }
    
    and whoops that doesn't work; this notation brings to the focus that sum has to start with 0 and product has to start with 1 to get the right answer and you can wonder mathematically why that is; APL notation hides that just like it hides the looping. Different notation is a tool for changing the what people think about - what things we must attend to, cannot attend to, and what new things a notation enables us to see. dTal's next reply:

    > "the power of abstraction of APL is available to any other language, with the right functions. ... there's nothing to stop anyone from aliasing array-functions to their APL equivalents in any Unicode-aware language, like Julia (oddly, nobody does)."

    Maybe nobody does it because if you can't take the patterns apart and put them back together differently without an APL engine behind it, is there any benefit? Take an example from APLCart[2]:

        {⍵/⍨∨\⍵≠' '} Dv      # Remove leading blanks [from a character vector]
    
    In C# that task is str.TrimStart() and I assume it's a loop from the start of the string counting the spaces then stopping. Calculating length - num_of_spaces, allocating that much memory for the new string, copying the rest of the string into the new memory. I wouldn't think it was do-able using the same higher order function (\ scan) from a running sum. What this is doing to achieve the answer is different:

              {⍵≠' '} '   abc   def'       # make a boolean array mask
        ┌→──────────────────────┐          # 0 for spaces, 1 for nonspaces
        │0 0 0 1 1 1 0 0 0 1 1 1│    
        └~──────────────────────┘
              {∨\⍵≠' '} '   abc   def'    # logical OR scan
        ┌→──────────────────────┐          # once a 1 starts,
        │0 0 0 1 1 1 1 1 1 1 1 1│          # carry it on to end of string
        └~──────────────────────┘
              {⍵/⍨∨\⍵≠' '} '   abc   def'
        ┌→────────┐                        # 'compress' using the boolean
        │abc   def│                        # array as a mask to select what to keep
        └─────────┘  
    
    Now how do I remove the leading 0s from a numeric array? In C# I can't reach for TrimStart() because it's a string only method. I also can't assume that there's a named method for every task I might possibly want to do. So I have to come up with something, and I have no hints how to do that. So I have to memorise the TrimStart() name on top of separately learning how TrimStart() works. That notation gives me a clear readable name that isn't transferable to anything else. In APL it's:

        {⍵/⍨∨\⍵≠0} Dv      # Remove leading zeroes [from a numeric vector]
    
    That's the same pattern. Not clear and readable, but is transferable to other similar problems - and reveals that they can be considered similar problems. In C where strings are arrays of characters, you aren't doing whole array transforms. In C# strings are opaque. In APL strings are character arrays and you can do the same transforms as with numeric arrays.

    Which part of that would you alias in Julia? I suspect you just wouldn't write a trimstart in this style in Julia like you wouldn't in C#. You wouldn't think of using an intermediate boolean array.

    It's not just about "readability", the APL notation being concise and self-similar reveals some computy/mathematical patterns in data transforms which "giving everything a unique English name" obscure. And APL notation hides other patterns which other notations reveal. i.e. Different notations are being tools for thinking differently about problems, Notation as a Tool for Thought.

    [1] https://www.hackerneue.com/item?id=25258819

    [2] https://aplcart.info/

This user hasn’t submitted anything.