HN user

gugagore

1,750 karma
Posts11
Comments956
View on HN

I follow your connection, though I think your unit analogy is a strawman.

Do you want to give two different types to complex numbers, depending on whether a given complex number represents a point versus a transformation (an amplitwist)?

The part in this that I most question / deviate from is what I've quoted below about having distinctions (syntactically?) between objects and operations. Conceptually, it's a good distinction. But is it so clearly wise to bake in that distinction into the formal framework when doing calculations or proof?

Most of the time we think of complex numbers as vectors in R2 or as rotation+scaling operators, but rarely do we actually we want them in both roles at the same time. So it is not very natural to equate the two objects, as opposed to finding a correspondence between them.

So GA ends up being very stuck because it equates “vectorial objects” and “operators that act on vectorial objects”. It would be better to express all the geometric objects you care about in their most natural forms, and then find isomorphisms between them when it’s necessary to do so. Otherwise all the meanings get blurred together and it’s very confusing. So that’s another problem with geometric algebra: eliding the distinction between vectors and operators is undesirable, confusing, and disingenuous.

People are jumping on it being an important file to review. You don't want to ignore the diff.

Even if that's true, you definitely do not want to attempt merge two lock files, and using the .gitattributes file to set the merge strategy is a good idea!

GitHub Stacked PRs 3 months ago

If there is a stack of size n and you make a modification at the first change, closest to the trunk, is there a single git command you can run to rebase the other n-1 branches and ensure they remote branches are updated?

Have you heard the thought that LLM hallucinations when coding within an API / framework are feature requests against the same?

I have a suspicion that Julia, owing to multiple dispatch, has a sort of regularity that makes that you said plausible.

Though there is just so much more Python to train on, any I bet they even do RL with validated rewards on Python, and probably not Julia.

We mourn our craft 6 months ago

Woodworking is, like, the quintessential craft. I think it is very useful to bring it in when discussion "craft"!

I am not myself a woodworker, however I have understood that part of what makes it "crafty" is that the woodworker reads grain, adjusts cuts, and accepts that each board is different.

We can try to contrast that to whatever Ikea does with wood and mass production of furniture. I would bet that variation in materials is "noise" that the mass production process is made to "reject" (be insensitive to / be robust to).

But could we imagine an automated woodworking system that takes into account material variation, like wood grain, not in an aggregate sense (like I'm painting Ikea to do), but in an individual sense? That system would be making judgements that are woodworker-like.

The craft lives on. The system is informed by the judgement of the woodworker, and the craftperson enters an apprenticeship role for the automation... perhaps...

Until you can do RL on the outcome of the furniture. But you still need craft in designing the reward function.

Perhaps.

Intel's first 32-bit microprocessor was the iAPX 432, which was introduced in 1981, but was not a commercial success. It had an advanced capability-based object-oriented architecture, but poor performance compared to contemporary architectures such as Intel's own 80286 (introduced 1982), which was almost four times as fast on typical benchmark tests.

I know that there was OO hype, but 1981 seems kind of early. I also know that OO means many, many things. What does it mean here, if anything?

Julia 1.12 highlights 10 months ago

We're not using "type theory" the same way, I think. I'm thinking in terms of

    - simply typed lambda calculus
    - System F
    - dependent type theory (MLTT)
    - linear types
    - row types
    - and so on
But it's subtle to talk about. It's not like there is a single type theory that underlies Typescript or Rust, either. These practical languages have partial, (and somewhat post-hoc) formalizations of their systems.
Julia 1.12 highlights 10 months ago

people who like type systems tend to dislike Julia's type system.

This is true. As far as I understand it, there is not a type theory basis for Julia's design (type theory seems to have little to say about subtyping type lattices). Relatedly, another comment mentioned that Julia needs sum types.

Also, statefullness. Baudot has two codes used for switching into one of two modes: figures and letters.

Typewriters have some statefullness, too, like "shift lock". Baudot needed to encode the actions of a type writer to control it, not the output.

A search for "LLM Harry Potter" would suggest that LLMs are widely understood to be proficient at rote memorization.

(I find the example of the computational geometry algorithm being a clear case of direct memorization not very compelling, in any case.)

I think search is a fairly simple control loop. Beam search is an example of TTC in this modern era.

It is a very wide term, IME, that means anything besides "one-shot through the network".

I think the thing about the search formulation, which is amenable to domains like chess and go, but not other domains is critical. If LLMs are coming up with effective search formulation for "open-ended" problems, that would be a big deal. Maybe this is what you're alluding to.

What you're describing — search + NN — is presently under the term "test-time compute".

The rules / dynamics / objectives of chess ( and Go ) are trivial to encode in a search formulation. I personally don't really get what that tells us about AGI.