HN user

jonnycat

543 karma

Boston area developer, lover of AI/alife, beer, running, React, Elixir & Phoenix.

Posts13
Comments95
View on HN

This is one of those things where I don’t agree with the argument, but know the person making it knows way more than I do on the subject and has given it way more thought. In these cases it’s usually best to sit back and listen a bit...

The part of the Polgár story that amazes me the most is that all three daughters showed enough interest and engagement in chess for the experiment to work so successfully. Because with my own children, I’ve seen again and again that you can encourage and expose them to certain interests, but they’re their own people - many of the things I exposed them to and tried to get them excited about just weren’t interesting to them.

And that’s completely fine. I was never forceful about it and they have their own deep interests in things that I just never got into or understood. I just find it surprising that in some families, these exceptional skills and interests are so readily passed from one generation to the next.

A bullet-point list of ways you screwed up communicates something entirely different than a long form email filled with flowery "fluff" (as the author puts it).

In fact, if the author feels confident in this theory, I suggest they replace the blog post with this AI-generated bullet-point summary I just made...

I fully agree with the sentiment, and yet marvel at the apparent lack of alternatives for so many business models. I'm mildly surprised, for example, that micro-payments for web content are still not a (widespread) thing.

Consumers hate ads, but they hate paying for things even more apparently.

I think this argument only makes sense if you believe that AGI and/or unbounded AI agents are "right around the corner". For sure, we will progress in that direction, but when and if we truly get there–who knows?

If you believe, as I do, that these things are a lot further off than some people assume, I think there's plenty of time to build a successful business solving domain-specific workflows in the meantime, and eventually adapting the product as more general technology becomes available.

Let's say 25 years ago you had the idea to build a product that can now be solved more generally with LLMs–let's say a really effective spam filter. Even knowing what you know now, would it have been right at the time to say, "Nah, don't build that business, it will eventually be solved with some new technology?"

Personality Basins 2 years ago

I see this post getting trashed in the comments for its overly literal interpretation of personality as a reinforcement learning process, but I think there's some value to it as a mental model of how we operate (which is how the opening sentence describes it).

If you can see past some of the more dubious, overly technical-sounding details and treat it as a metaphor, there is for sure a "behavioral landscape" that we all find ourselves in, filled with local minimal, attractors/basins and steep hills to climb to change our own behaviors.

Thinking about where you are and where you want to be in the behavior landscape can be a useful mental model. Habit changes like exercise and healthy eating, for example, can be really steep hills to climb (and easy to fall back down), but once you get over the hump, you may find yourself in a much better behavioral valley and wonder how you were stuck in the other place for so long.

I'm not sure... I'm a huge Elixir fan and I trust José to build a great solution, but I've found the rollout to be a bit confusing. There was the announcement that "Elixir is now a gradually typed language" prior to 1.17 - but it seems that most of the changes were behind the scenes, and 1.17 largely didn't expose user-facing type errors or warnings.

Again, I definitely trust them to get it right in the long term, but in the meantime, the progress has been a bit confusing to me.

One interesting note on this approach is that the author suggests using a "fast" sorting algorithm like mergesort/quicksort as the sorting algorithm for best performance. But in practice, you may get better performance from a "worse" sorting algorithm: insertion sort.

The reason is that objects in collision detection systems tend to move relatively small steps between frames, meaning you can keep lists from the previous frame that are already mostly sorted. For sorting these mostly sorted lists, insertion sort tends towards O(n) while Quicksort tends towards O(n^2)!

Good call - I think you're right about IEx trapping the exit. The confusing part is that it still logs out this message:

  ** (exit) exited in: Task.await(%Task{mfa: {:erlang, :apply, 2}, owner: #PID<0.954.0>, pid: #PID<0.964.0>, ref: #Reference<0.1455049351.208994307.4788>}, 1)
    ** (EXIT) time out
    (elixir 1.14.3) lib/task.ex:830: Task.await/2

Good thoughts, but the printing continues indefinitely, and the documentation for Task.await explicitly says the child process will be killed: "If the timeout is exceeded, then the caller process will exit. If the task process is linked to the caller process which is the case when a task is started with async, then the task process will also exit". Processes can be configured with the behavior you describe, but it's not the case with Task.await.

This post got me curious about similar scenarios in Elixir, and despite working with Elixir every day, I'm a bit surprised by one of the results I found:

  # Recursive function that never terminates:
  iex> f = fn i, f -> if rem(i, 100000) == 0 do IO.inspect(i) end; f.(i+1, f) end
  # Start the function in a task with a 1 ms timeout
  iex> Task.async(fn -> f.(0, f) end) |> Task.await(1)
My expectation here is that the task would output 0, then get killed when it hits the timeout. And I do get a timeout "exit" message logged with the child pid. But ALSO, the numbers keep printing as though the child task is still running! It appears to be specific to the configuration of the iex process but I'm not sure what it is - any Elixir/Erlang folks who can explain exactly what is happening here?

The "healthy user bias" is a well-known phenomenon in this kind of research, and has been studied specifically with vegetarianism (for example, https://journals.lww.com/nutritiontodayonline/abstract/2019/...). But as mentioned in the comment, I suspect you'd find a similar bias in all sorts of structured diets - the group of people who follow diet X (including sub-groups who follow for health reasons, or moral reasons) will be biased towards being more health conscious.

Again, this doesn't negate the research on "diet X", but it does make coming to a conclusion more complicated.

I'm not going to argue for or against any specific conclusion here, but there are several reasons that observational nutrition studies (and reviews of such work, like this one) need to be taken with a grain of salt, including:

- healthy user bias: People who choose a plant-based diet (or in fact, probably just about any structured diet) are more likely to be health conscious in general and more likely to have other healthy habits like exercise.

- latent variables: "meat eaters" follow a wildly diverse group of diets, including those who eat just fresh lean meats, and those who eat heavily processed foods like bacon and sausage. Or those who eat just chicken. Or just fish, etc. A lot of the contradictory claims about "meat" seem to have a lot to do with these distinctions.

- self-reporting errors: Most observational nutritional studies rely on self-reporting of diet - there's a ton of research that shows that people regularly misreport what they eat in these studies (both qualitative & quantitative).

All of this is not to dismiss the results either - a lot of the time observational nutrition studies are the best we have! Doing randomized controlled trials on these kinds of interventions is difficult, so observational studies are often the best we can get, but they're really only a piece of the puzzle.

This is great. LiveView is truly amazing and greatly speeds up development, but as the post describes, there are a couple of rough edges. They're all solvable, but sometimes there aren't clear or well-established patterns for how, so it can feel a bit ad hoc. While I'm not currently using Svelte for this kind of thing, I'm really glad to see people formalizing some of the issues + solutions.

This kind of unicellular complexity & intelligence has long been my soapbox material in the AGI debate. Even long before the current LLM craze, people were counting neurons in the brain and making bold claims about machine intelligence - in just X years, we'll have a machine with the computational power of the brain!

But of course, every neuron in the brain is bafflingly complex and we still don't know or understand how that complexity manifests itself in thought and intelligence. Given physics and the interactions of "things", every cell in the brain is more complex than the LLMs we're using today. Not to say that every cell is capable of producing the same output as an LLM of course, just that the behavior that it contributes to the overall system is that complex.

Pi Day 2 years ago

It's a special kind of person who cares enough about math to celebrate "pi day", but not enough to be disturbed by the approximation of 3.14.

Another qualifier: "viable". Every viable single-point mutation. This may seem obvious and covered by the "could exist", but it does mean that for any given base pair you won't necessarily find somebody in the population with a mutation there as the claim would seem to suggest.

Trading trust 2 years ago

I think there's another, more frightening takeaway from this - people are losing trust in everything. While you can argue on a case by case basis that it's all for good reason, it pretty much devolves into nihilism. More and more people are unwilling to believe anything that, for example, the "media" says - regardless of how tame and reasonable the claim might be.

I think induced demand actually is a useful concept, but I've also always wondered about its absolute and uncritical application: somebody says "we should add a road here", and gets shut down with "but adding a lane only adds traffic!"

Sure, sometimes - but obviously that doesn't scale ad absurdum. So at some point you need to take a more nuanced position on what the actual latent demand is (as this article discusses), what the actual bottleneck is, and what the alternatives are to solve it.