HNHacker News
TopNewBestAskShowJobs

MITSardine

276 karma · joined October 16, 2024

submissionscomments
MITSardine··on Uber will let women drivers and riders request to avoid being paired with men
In cities where no such facilities exist (public toilets of any kind), you better not walk in quiet alleys off the busy streets if you have a sensitive nose...
MITSardine··on I'm Unsatisfied with Easing Functions
I don't imagine stepping through the ODE with finite differences at the same time step as drawing should be very expensive, essentially it's a handful of sums and products. In fact, using a closed form solution with an exponential is probably more expensive.
MITSardine··on I'm Unsatisfied with Easing Functions
Interesting article. But why is it an issue for it to be iterative?

I would imagine you're going to step through time anyways, to draw frame after frame. Wouldn't it in fact be cheaper to step through using some finite differences scheme, with one FD step for one draw step? It could be as cheap as a handful of additions per time step. Unless I'm overlooking something?

If needed for stability or accuracy, you can also step through several FD steps in one frame, but I'd imagine at a rate of 20fps, this should not be necessary for the types of equations considered.

MITSardine··on Uber will let women drivers and riders request to avoid being paired with men
Not to defend the other person's point of view (I don't have a horse in this race) but there are already open air urinals in festivals or even in Paris:

https://parishistoryofourstreets.com/2021/03/22/the-last-pub...

MITSardine··on AI comes up with bizarre physics experiments, but they work
In that AI has come to mean data-driven algorithms, I don't see this as being AI. What they describe is a local-global optimization method with BFGS as the local optimizer (this is not AI) and a noised average weighted by local optimizer performance as the means to produce new starting points. This is simply a heuristic similar to particle swarm optimization. As far as I know, these are not called AI and funds for this type of research don't typically come from funds targeting AI.

This conflation of everything with AI is precisely why people say things like "gradient descent is most often used in ML" without evidence, and this likely being wrong. No, instead it is 1) ML is the currently most prominent (to the public) use of mathematical optimization and 2) everything else is called AI to the public so they conflate that with ML even when it isn't.

Take a random employee at an engineering or applied sciences (non experimental) lab, ask them if they ever use mathematical optimization, chances are a majority will tell you they do. The vast majority of these are not using or devising ML algorithms.

This matters because of what is clear from this thread. Some people devise a classic algorithm that requires intimate knowledge of the problem at hand, the press calls it AI, the public thinks it's AI, registers one more case of "AI as the tool to replace all others". The Zeitgeist becomes that everything else can go to the bin, and AI (by the more restrictive definition) receives disproportionate attention and funds. Note that funding AI research would not fund the people in the headline, unless they do like the minority of bandits that rebrand their non-AI work with AI keywords.

MITSardine··on Don't animate height
Necessity is the mother of invention!

Another way to look at it, is only those who could write very optimized code could get anything meaningful running on those machines. Hence all (?) software from far enough back was optimized down to death.

I'm personally grateful I've never had to wrangle hardware bugs into features and other such hacks one stumbles upon in anecdotes from those eras... even though there is a certain charm to it all.

MITSardine··on Don't animate height
So, the CRAY-2 built in 1985 was rated at 1.9 GFLOPS. The M2 the author uses seems to be benchmarked at around 6GFLOPs per core [1]. So this 6% of the author's CPU (assuming charitably this is a single core) corresponds to about 20% of the mid 80's peak supercomputer capacity.

People were already using those computers for applications that go slightly beyond animating 5 x 3 green little bars up and down at the time...

I understand dev time cost > CPU time cost (for the company that hires the developpers anyways) but aren't things getting a little out of hand?

Even without comparing to an 80's supercomputer, what if someone with a 15 years old laptop tries to use their app? What will those 6% CPU on the dev's shiny M2 MBP become?

[1] https://boinc.bakerlab.org/rosetta/cpu_list.php

MITSardine··on Don't animate height
The app taking "only" 6% of a $3k laptop's CPU to show two lines of text and a little 2D animation also gave me pause, but maybe this is just how it is. Still I wonder how people were squeezing pacman out of prehistoric machines, and we're using an 80's supercomputer worth of CPU power (not that far given they were in the ~ 1 GFLOP range) to animate three green bars today.
MITSardine··on AI comes up with bizarre physics experiments, but they work
They mention 1.5 million CPU hours

https://journals.aps.org/prx/abstract/10.1103/PhysRevX.15.02...

MITSardine··on AI comes up with bizarre physics experiments, but they work
Load bearing print statement!

I've had a few of those, I think they're usually a symptom of stack corruption.

MITSardine··on AI comes up with bizarre physics experiments, but they work
Gradient descent is not a learning algorithm.

It is a simple iterative algorithm that goes from one point to the next. It doesn't even have memory of previous steps (caveat, the authors used BFGS which approximates the Hessian with previous gradient iterates, but this is still not AI). There is no finding weights or any such thing.

If every for loop is AI, then we might as well call everything AI. Can you pass me the AI, please?

MITSardine··on AI comes up with bizarre physics experiments, but they work
Shape optimization can be done under constraints of manufacturability, which would avoid exotic shapes that can't be worked with.

Why would that be the case, though? It's conceivable that optimal shapes be very different from what our intuitions suggest.

MITSardine··on AI comes up with bizarre physics experiments, but they work
This irks me to no end, why not just call it applied mathematics algorithms to not use specific terms, rather than AI. Is grep AI? Is your web browser AI?
MITSardine··on AI comes up with bizarre physics experiments, but they work
This doesn't even seem to be ML, though.
MITSardine··on AI comes up with bizarre physics experiments, but they work
I would distinguish between:

- methods that were devised with domain knowledge (= numerical methods)

- generic methods that rely on numerical brute forcing to interpolate general behaviour (= AI)

The qualitative leap is that numerical brute forcing is at a stage where it can be applied to useful enough generic models.

There's a fundamental difference between any ML based method and, say, classic optimization. Let's take a simple gradient descent. This solves a very specific (if general) class of problems: min_x f(x) where f is differentiable. Since f is differentiable, someone had the (straightforward) idea of using its gradient to figure out where to go. The gradient is the direction of greatest ascent, so -grad(f) comes as a good guess of where to go to decrease f. But this is local information, only valid at (or rather in the vicinity of) a point. Hence, short of improving the descent direction (which other methods do, like quasi-Newton methods, which allow a "larger vicinity" of descent direction pertinence), the best you can do is iterate along x - h grad(f) at various h and find one that is optimal in some sense. How this is optimal is all worked out by hand: it should provide sufficient decrease, while still giving you some room for progression (not too low a gradient), in the case of the Wolfe-Armijo rules, for example.

These are all unimportant details, the point is the algorithms are devised by carefully examining the objects at play (here, differentiable functions), and how best to exploit their behaviour. These algorithms are quite specific; some assume the function is twice differentiable, others that it is Lipschitzian and you know the constant, in others you don't know the constant, or the function is convex...

Now in AI, generally speaking, you define a parametric function family (the parameters are called weights) and you fit that family of functions so that it maps inputs to desired ouputs (called training). This is really meta-algorithmics, in a sense. No domain knowledge required to devise an algorithm that solves, say, the heat equation (though it will do so badly) or can reproduce some probability distribution. Under the assumption that your parametric function family is large enough that it can interpolate the behaviour you're looking after, of course. (correct me on this paragraph if I'm wrong)

To summarize, in my (classic numerics trained) mind, classic numerics is devising methods that apply to specific cases and require knowledge of the objects at play, and AI is devising general interpolators that can fit to varied behaviour given enough CPU (or GPU as it were) time.

So, this article is clearly not describing AI as people usually mean it in academia, at least. I'll bet you a $100 the authors of the software they used don't describe it as AI.

MITSardine··on Nobody knows how to build with AI yet
I think this disregards the costs associated with using AI.

It used to be you could learn to program with a cheap old computer a majority of families can afford. It might have run slower, but you still had all the same tooling that's found on a professional's computer.

To use LLMs for coding, you either have to pay a third party for compute power (and access to models), or you have to provide it yourself (and use freely available ones). Both are (and IMO will remain) expensive.

I'm afraid this builds a moat around programming that will make it less accessible as a discipline. Kids won't just tinker they way into a programming career as they used to, if it takes asking for mom's credit card from minute 0.

As for HS + college providing a CS education using LLMs, spare me. They already don't do that when all it takes is a computer room with free software on it. And I'm not advocating for public funds to be diverted to LLM providers either.

MITSardine··on Nobody knows how to build with AI yet
If I may play the devil's advocate, nothing is deterministic. A neutrino could cause a bit flip in your calculator. More commonly, the lower abstractions we build upon without knowing their innards can have bugs. Even the most popular compilers (say, g++) have bugs, for instance. I am personally incapable of fixing a bug within gcc, despite the tool being a vital requirement of my work.

IMO the dichotomy should not be deterministic/stochastic, but proved/unproved reliable. gcc has been shown reliable, for instance, so I don't need to know whether it was built by deterministic (clever engineers) or stochastic (typewriting monkeys) processes. I'm certain the former are more efficient, but this is ultimately not what makes the tool valuable.

As a bit of an artificial example, there's stochastic processes that can be proved to converge to a desired result (say, a stochastic gradient descent, or Monte-Carlo integration), in the same way that deterministic methods can (say a classic gradient descent or quadrature rules).

In practical cases, the only proof that matters is empirical. I write (deterministic) mathematical algorithms for a living, yet they very rarely come out correct on first iteration. The fact there is a mathematical proof that a certain algorithm yields certain results lets me arrive at a working program much faster than if I left it to typewriting monkeys, but it is ultimately not what guarantees a valid program. I could just as well, given enough time, let a random text file generator write the programs, and do the same testing I do currently, it would just be very inefficient (an understatement).

MITSardine··on LLM Daydreaming
I would argue that the ratio of work to breakthroughs is not a form of inefficiency, but something inevitable about the nature of breakthroughs.

In my opinion, a breakthrough is not the production of new knowledge, it is rather its adoption by the public (beginning with industry).

As such, the rate at which breakthroughs can emerge is bounded by factors external to the producers of breakthroughs. And these outside factors are possibly already limiting.

Another point I would make is that what constitutes a breakthrough is not conditioned by how significant it is, only that it is adopted as a change of processes or mental model. As such, more powerful tools can lead to larger leaps between breakthroughs, but not so much higher rate of breakthrough.

As tools become powerful enough to produce yesterday's year's worth of breakthroughs in a month, then the general public and industry will still wait a year before adopting new technology, only it will see larger progress from the previous iteration. This is in fact the case with LLMs. Even on an avant-garde forum as HN, a very common opinion is "I'm waiting out stagnation before I adopt".

As an over simplification, consider only breakthroughs those that come to have widespread commercial application. If we had an oracle for breakthroughs that could produce arbitrarily many today's-breakthroughs as fast as desired, we'd still be limited by our ability to put them in practice. Work must be allocated, carried out over time, and each new breakthrough requires changing processes and the people involved learning new things, which takes time and energy.

I think this human resistance to change is fundamentally what determines the achievable rate of breakthroughs. As the name implies, a breakthrough is a rupture. It is highly inefficient to be upending one's methods every month. It can even be outright impossible to keep up with all the theoretical advancements, before they have crystallized and been digested into accessible vulgarization, if that is not one's profession (i.e. all time devoted to it).

In my applied sciences field, industry is lagging behind some 20 years. And we ourselves are perhaps a century late to some theoretical advances (I can think of one off the top of my head). At the lowest level, there is resistance to change in that ideas take much longer to be carried to a working prototype, than it takes to have them. Hence, someone who constantly hops to new ideas is guaranteed not to make any progress. By necessity, some stubbornness is selected for. Once things are fleshed out (a multi year endeavour), you still have to convince the broader community (same sub field but not direct collaborators) that your idea has merits surpassing theirs, which is a problem best solved one retirement, and one past mentee hire, at a time. And ultimately convince industrial actors that they should dump millions industrializing these novel methods, when none of their competitors have been doing it (hence it is urgent to wait), the viability (robustness, scalability) of the idea remains to be seen, and the benefits weighed against the risk their practitioner user base won't be able to understand the full scope of the progress and see the need to invest time in learning new things and devising new processes (all of which takes time, money, and makes you dependent on this pioneering supplier). And, lastly, there are three other approaches claiming to be better alternatives.

I don't see a way around this pipeline, and more powerful tools can indeed accelerate some of the stages, but there will remain incompressible delays. Ideas need time to be diffused and understood, all the more if they were advancing at a rapid pace enabled by powerful AIs.

MITSardine··on Gaming cancer: How citizen science games could help cure disease
Beg to disagree, plenty of people love puzzle games. This doesn't need to appeal to everyone. The article cites two examples of such games that lead to scientific progress.
MITSardine··on Gaming Cancer: How Citizen Science Games Could Help Cure Disease
Reverse ant algorithms?
MITSardine··on ETH Zurich and EPFL to release a LLM developed on public infrastructure
Super computers are being used daily for much toy-ier codes in research, be glad this at least interests the public and constitutes a foray of academia into new areas.
MITSardine··on ETH Zurich and EPFL to release a LLM developed on public infrastructure
University and research clusters are built to run research code. I can guarantee this project is 10x as impactful and interesting as what usually runs on these machines. This coming from someone in the area that usually hogs these machines (numerical simulation). I'm very excited to see academic actors tackle LLMs.
MITSardine··on ETH Zurich and EPFL to release a LLM developed on public infrastructure
I think EPFL and ETH are generally well known internationally, but Switzerland being rather small (9M pop), it's only natural you don't hear much about it compared to other larger countries!
MITSardine··on Functions Are Vectors (2023)
What do you call the origin of a vector? I don't think that's a notion in vector spaces.
MITSardine··on Functions Are Vectors (2023)
Sorry, I couldn't find the page in English, but what you're talking about is a Hilbert basis: https://fr.wikipedia.org/wiki/Base_de_Hilbert . There is a paragraph on this in the orthonormal basis English page: https://en.wikipedia.org/wiki/Orthonormal_basis

Another example is the eigenvectors of linear operators like the Laplacian. Recall how, in finite dimension, the eigenvectors of a full rank operator (matrix) form an orthonormal basis of the vector space. There is a similar notion in infinite dimension. I can't find an English page that covers this very well, but there's a couple of paragraphs in the Spectral Theorem page (https://en.wikipedia.org/wiki/Spectral_theorem#Unbounded_sel... ). The article linked here also touches on this.

Regarding your last sentence, one thing to note is that having a basis is not what makes you a Hilbert space, but rather having an inner product! In fact, to get the Fourier coefficients, you need to use that inner product.

MITSardine··on Functions Are Vectors (2023)
This idea is also at the core of the Finite Element Method (and other Galerkin methods, such as DG) which are probably the most widespread methods to approximate the solutions of partial differential equations (PDEs) used everywhere in physics and engineering.

Basically, define a finite dimensional function space V_N of dimension N, in such a way that you could grow N to be arbitrarily large. Solve not the PDE (originally defined over an infinite dimensional function space V, such as H^1), but its discretization as if it dealt only with functions in V_N rather than all functions. The PDE is then simply a linear system, easy to solve. And you can prove, for instance in the case of elliptic PDEs, that the solution to the discrete problem is the orthogonal projection of the true solution of the PDE (in V) onto V_N (Céa's Lemma). Finally, you can produce estimations of the error this projection incurs as a function of N, and thus give theoretical guarantees that the algorithm converges to the true solution as N goes to infinity.

(N in this case is the number of vertices in a mesh that is used to define the basis functions of V_N)

MITSardine··on Functions Are Vectors (2023)
That's not really the assumption of the article, that's the assumption the article makes of the reader's knowledge of vectors as they begin reading. The article is trying to make the point that functions are also vectors, strictly speaking, and give some intuition as to what that means.

Basically it's an introduction to "functional analysis", the field of math that looks at functions like vectors. The term is in there sneakily, but this is really what the article is all about.

I had classes on this subject and we were encouraged to build upon linear algebra intuition (much like the author does), with some caveats (such as a bounded closed set is not necessarily compact in infinite dimension). Things break down, as the author hints at when they mention they didn't prove the Laplacian to be self-adjoint but only symmetric (this has to do with the operator's domain, a concern that doesn't exist for linear operators on finite dimensional spaces)... but it's still a very convenient way to think and talk about things, conceptually.

MITSardine··on Fei-Fei Li: Spatial intelligence is the next frontier in AI [video]
I'm not sure I'm sold on the necessity to detect lines and planes specifically. My issue is, suppose you could do that perfectly, then what of the rest of the geometry? If you're aiming for a CAD model in the end (BREP), you'll want to fit the whole thing, not only the planes and lines. And it seems to me an approach specialized for lines and planes is helpless at fitting general surfaces and curves. In my mind, a general approach that incidentally also finds straight lines and planes would be better (necessary).

Note if you can fit a BREP, it's fairly trivial to find whether a curve is close enough to a straight line that you can just stipulate it's a straight line (same for a plane).

Have you looked into NURBS fitting through point clouds? I understand those can be noisy and over sampled. A colleague got away with sorting point clouds by a Hilbert curve (or other space filling curve) and then keeping 1/N points (just by index), a simple but elegant way to remove N-1 every N points while keeping the general distribution mostly intact (you could also use an octree). Though I recall in some cases the distribution of points was not uniformly too dense, but e.g. dense along scanning lines and sparse between those lines.

Once it's tractable to triangulate the point cloud, you have two important pieces of information at your disposal: local connectivity (prior to that, it'd have been nlog(n) at best to find nearby points) and a notion of topology after some basic processing (e.g. detecting ridges to make out surface patches). With the former, you could do things like smooth the surface to do away with noisiness (say your points are randomly a small distance away from the plane, but any shape really) for better NURBS fitting, estimating normals, etc. and with the latter you could split the domain into faces and curves for your BREP.

At the very least, you'd get much cleaner data to feed an ML algo than basic point clouds. I just find it strange to tackle the raw data head on when there's so many methods for dealing with geometry already, at the very least to clean things up and make some sense of the data.

Have you looked at existing products that do point cloud -> CAD? What are they lacking in?

MITSardine··on Fei-Fei Li: Spatial intelligence is the next frontier in AI [video]
Have you tried "traditional" approaches like a Delaunay triangulation on the point cloud, and how does your method compare to that? Or did you encounter difficulties with that?

Regarding what you say of planes and compression, you can look into metric-based surface remeshing. Essentially, you estimate surface curvature (second derivatives) and use that to distort length computations, remeshing your surface to length one in that distorted space, which then yields optimal DoFs to surface approximation error. A plane (or straight line) has 0 curvature so lengths are infinite along it (hence final DoFs there minimal). There's software to do that already, thought I'm not sure it's robust to your usecase, because they've been developed for scientific computing with meshes generated from CAD (presumably smoother than your point cloud meshes).

I'd be really curious to know more about the type of workflow you're interested in, i.e. what does your input look like (do you use some open data sets as well?) and what you hope for in the end (mesh, CAD).

MITSardine··on Gemini 2.5 Pro vs. Claude 3.7 Sonnet: Coding Comparison
What does this context window mean, is it the size of the prompt it can be made aware of?

In practice, can you use any of these models with existing code bases of, say, 50k LoC?

← PreviousPage 4 of 6Next →