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

It would be nice if there was a listing of exactly what was included somewhere.


WEB translation of Protestant Canon, but your point is a good one. I will kick the agents.


I am very ambivalent on this post. On one hand, I agree that excessive defensiveness stinks up a code base. On the other, I am a huge fan of local reasoning. Especially in the world of LLMs, I don't want to rely on my, my teammate's or my LLM agent's ability to know every single code path that results in `Allow` begin called.

Of course, this really comes down to the type system and the fact that non-nullable pointers are missing.

The one definite thing I would say, swallowing the error and just trying to do a reasonable thing is the most wrong thing here. At the least, there ought to be an ERROR log, even if one was trying to be defensive against outright panics.


I ran through it twice, first time 91 second time 90, score: 69,500. Midwit confirmed.


Weird. I got 87/100 and my score was 71,900.

I fumbled the Advanced at 14/20, but got 17/20 on each of the last 2 sections.


On my first run I aced all of the sections until the last and then I got some really weird ones (e.g. zenzizenzizenzic). When I ran it again I got 95% new words and I fumbled a couple in the earlier rounds but did a bit better on the final section.

No cheating, only one or two guesses both rounds in the final section. No idea how the scoring works.


I'm not following your logic here. Are you basing your predictions on the predictions of CEOs?

If I understand you correctly you are saying, CEOs predicted X and they were wrong. Now CEOs are predicting Y, and since they were wrong about X you predict they are also wrong about Y.

But Y's success seems independent of other people's ability to predict X?


I believe that the statement `a.x = 100;` is invalid since Record types are immutable.

That is, the situation you are afraid of should be impossible.


If that's true then it is a significant improvement over structs in C#.

But the distinction still matters. Value-vs-reference semantics affect equality, identity, nullability, arrays, collections, boxing, and performance.

So this is not just an implementation detail. If a language hides that distinction at the use site, it increases the burden on the reader and makes code harder to reason about.


I don’t see how it’s an improvement over C# structs. C# structs are value types so they are copied when assigned to a variable like primitives. There is no ambiguity because it’s a struct.

To avoid copying you have to explicitly declare a ref variable/parameter.

You can get the same immutability as value classes by using ‘readonly struct’s or ‘readonly record struct’s.

Java value classes are stranger because they are heap allocated by default and are only flattened/scalarized/stack-allocated when certain conditions are met. It’s the same as a class, but with extra restrictions, so that the JVM can possibly optimize memory layout at runtime.


C# has Properties that make setters look like fields anyway. There's no ambiguity between value and object in C# because there is no promise that that syntax only sets a field. Love it or hate it, you just need to know what you're calling.


> More generally than just Java, nullability is often a property not of a type but of a variable.

This is a tangent, but I'm not sure I follow this. Can you give an example to make this clear?


Yes, but it comes from Java having both runtime and compile-time types; it's harder to make the distinction in languages that don't have runtime types.

In Java, you can ask, `x instanceof T` (and this is a runtime test), which means, is x one of the values in the set of values allowed by T. `null instanceof Integer` is false, even though a variable of type `Integer` can be assigned a null. So you can think of `Integer x` as being `Integer|null x`, i.e. x can hold a null, even though `null instancof Integer` is false.


I think I mostly got this, but just to test it, it would be like in Typescript where I might say:

    type Foo = { x: number; }
    type Bar = { x: number; y: number }
    type FooBar = Foo | Bar;
    function baz(x: FooBar) {
      if ('y' in x) {
        // compiler now knows x is a Bar
      }
    }
In this case, the variable `x` has a property that is determined by the compiler based on control flow. i.e. it isn't explicitly carried by the type of `x`.


> Stoicism in Ancient Rome was COMPLETELY about controlling your emotions,

This is so false it deserves comment. For example, the SEP for Stoicism [1]. You'll notice that the first entire two sections are Physical Theory and Logic. Ethics comes later and it isn't until 4.3 (after Telos and Virtue) that you get to indifference. From the intro:

"Stoic philosophy was, from Zeno onwards, conceived of as comprising three parts: physics (phusikê), logic (logikê), and ethics (êthikê)."

I think you are over-indexing on one work by one Stoic. There is much, much more to actual Stoicism than "controlling your emotions".

1. https://plato.stanford.edu/entries/stoicism/


I only read Meditations. So yes, if he is not representative of the philosophy I have bastardized it.

Although, I am convinced Marcus Aurelius used Stoicism as a tool to control his emotions. Meditations reminded me of cognitive behavioral therapy. Repetitive soothing phrases to induce equanimity.


I think the big lesson of this that hasn't yet been learned: it literally doesn't matter how moral Amodei or anyone else is at Anthropic. When push comes to shove, the US government can step in and take it away.

They will either play ball with the US government on the US government's terms or they will be replaced or destroyed.

It is a misconception for them to believe they can dictate the terms of this technology.


Credit where credit is due I suppose. I'm still concerned over the direction this is going but at least Anthropic is listening.


That's a bit like asking how the defendant in a legal case is an interested party.

Even if you think someone is guilty, it does make sense to allow them to at least submit their defense. And if they choose to use that time to advocate for their own promotion, let them.


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

Search: