HNHacker News
TopNewBestAskShowJobs

gugagore

1,755 karma · joined January 20, 2015

submissionscomments
gugagore··on Oral history of John Chowning, inventor of FM synthesis [video]
d/dt phase = frequency

that matches

> it's the speed at which the sample pointer consumes the looping sine that's set to correspond to some frequency

The rest of your message doesn't make sense to me. Both phase and frequency can be modulated, perhaps most clearly seen with FSK vs. PSK.

gugagore··on Meta Blocks President Lula's Facebook Page, Campaign Ads 2 Weeks from Election
exploit and explore are the same word in Portuguese.
gugagore··on A Design Space Exploration of Async/Await
> For "basic” abstraction, lambda calculus is the canonical approach. There is no equivalent for concurrency. There are multiple different approaches. Which one is canonical?

Simply-typed lambda calculus guarantees that the computation terminates. Sometimes you need non-termination. Fixed point operators is one thing that brings in all the stuff that you threw out.

Linear logic is good for the bits and pieces of concurrency where you don't need concurrency. Linear logic guarantees that there are no race conditions. Sometimes you need race conditions — how do you fit that in there? Sometimes, having race conditions is really important: I am selling tickets and there is going to be a race for who gets the last ticket. Is there a single thing you can add to linear logic that would give me race conditions? Not known. - Philip Wadler on Type Theory Forall #54 - The Goal of Science is to Communicate Ideas!

gugagore··on Reasons robotics is hard
> All the bad-ass biped robots that actually look natural? It's PID controls wrapped with control barrier functions constraining the QPs that are being solved in real time.

That's not entirely true. Locomotion is well addressed by RL in sim. It's true that there is still a PD layer, and the RL policy produces setpoints for it.

gugagore··on F*: A general-purpose proof-oriented programming language
https://xenaproject.wordpress.com/2020/07/05/division-by-zer...
gugagore··on We have proof automation now
> they encourage grouping everything that concerns a value ("put this value in a dependent type that encodes everything known about it")

I understood you to be saying "bundling is encouraged", in the sense of

https://leanprover-community.github.io/glossary.html#bundled...

I'm not sure it's encouraged. I agree that it felt natural to define a type like NonNegativeInteger, or a wrapper type like `Sorted(T)` to indicate that that wrapped list is sorted. But I think this is an area of style and aesthetic that is still emerging, far from ossified.

The problem of "threading" new things within existing programs is an important one to address, and it has multiple solutions (context management, dynamic scoping (lol), implicit arguments, type classes). I am curious if the claim of "does not scale" is mitigated by one of those solutions...

gugagore··on Qualcomm to Acquire Modular
To say nothing of "Swift for TensorFlow" when Julialang was an option.

To each their own!

gugagore··on The case against geometric algebra (2024)
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)?

gugagore··on The case against geometric algebra (2024)
https://math.ucr.edu/home/baez/torsors.html

The distinction is whether zero is meaningful independent of a choice of origin. Zero displacement is meaningful. Zero position is arbitrary.

Are you thinking of displacement as an operation? Because it is just as well a vector. I don't see the connection to section I highlighted from the article.

gugagore··on The case against geometric algebra (2024)
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.

gugagore··on .gitignore Isn't the only way to ignore files in Git
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!

gugagore··on Why Zip drives dominated the 90s, then vanished almost overnight
https://en.wikipedia.org/wiki/Floptical

A related technology with a name that already answers your question.

gugagore··on GitHub Stacked PRs
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?
gugagore··on All elementary functions from a single binary operator
https://en.wikipedia.org/wiki/Mead%E2%80%93Conway_VLSI_chip_...

I'm guessing is what they're really talking about. Which is not about NAND gates.

gugagore··on Understanding the Kalman filter with a simple radar example
They are referring to the comment ("You're pointing out a real conceptual issue ..."), not the article.
gugagore··on Julia: Performance Tips
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.

gugagore··on We mourn our craft
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.

gugagore··on CES 2026 Worst in Show
"sound bites pop radio" of 1999 has made a comeback, But worse.
gugagore··on Revisiting the original Roomba and its simple architecture
https://en.wikipedia.org/wiki/Subsumption_architecture
gugagore··on A faster path to container images in Bazel
For some more depth into the "bloat" of bazel, I like this reference: https://fzakaria.com/2024/02/27/hermetic-but-at-what-cost
gugagore··on Object oriented design in the first 16-bit processor?
> 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?

gugagore··on Archimedes – A Python toolkit for hardware engineering
Are the 50 for loops truly necessary in the manual C code example of a Kalman filter? At least introduce a few functions (that could be inlined and loop-fused) for some matrix operations?
gugagore··on Why Fei-Fei Li and Yann LeCun are both betting on "world models"
Another way to make the same point is to observe that every single society has language.

But only some groups have the ability to systematically encode language as writing.

Writing is a technological marvel.

gugagore··on Why should I care what color the bikeshed is? (1999)
Does anyone have a reference to the original thread or issue about sleep(1)?
gugagore··on Structure and Interpretation of Classical Mechanics (2014)
The bug being "perturbation confusion"?
gugagore··on A bug that taught me more about PyTorch than years of using it
This is the first time I see "SGD" to mean "standard gradient descent" and not "stochastic gradient descent".
gugagore··on Vibe Coding in the 90s
Please share your understanding!
gugagore··on Julia 1.12 highlights
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.
gugagore··on Julia 1.12 highlights
> 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.

gugagore··on It's not a hack to satisfy known requirements
I think of context parameters as a replacement for dynamic scoping.

I think it can be all of these things, which in my opinion partially undermines the GP's point.

Recommended related musings: https://wiki.c2.com/?ClosuresAndObjectsAreEquivalent

Page 1 of 33Next →