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

Honestly interested in your experience.

I am not surprised around (1). HTMX is based on REST, which is by nature based towards having the state in the server and having a stateless client. But what is the advantage of having the state in the client. Isn't that just a bias of the current frameworks?

I can see cases where you really need a thick client, and in that case I would use GraphQL rather than REST for those. But, there are quite a few cases that can work with REST and mostly server side.

I think (2) is solved by out of band capabilities of HTMX. I don't think that is naturally a limitation of the conceptualisation.


The problem is that you need to remember every single place in your app that needs to be updated when you change state instead of your framework doing it for you. You said it yourself-- the "out of band capabilities". Instead of your UI automatically updating in reaction to a state change, you have to manually write out every single component's markup while being extra careful to make sure that each ID matches. [1]

This is why HTMX is ultimately an imperative framework. You have to wire everything up manually yourself instead of simply building a declarative representation of your UI and letting your framework handle the synchronization.

Did you ever use jQuery? The negative aspects are remarkably similar to the point that it is mildly amusing.

1 - https://htmx.org/attributes/hx-swap-oob/


Regarding state on the client, my general concern is connectivity with the server. If I have a flaky mobile connection, or if I have a really high RTT to the server for any reason, then I don't want UI interactions to start failing or slowing down left and right. Indeed, a lot of the sluggishness I've experienced with others' websites has to do with excessive roundtrips for trivial tasks like clicking around. So I'd prefer to keep most UI state in the client, if nothing else. (Of course it's still quite possible to make excessive roundtrips with an SPA framework, but it naively seems like it's at least more controllable than if everything is rendered server-side.)


The point is that explaining the requirements in a precise manner to LLM is literally coding the problem in a higher level language; the LLM is acting as a compiler for that precise description in English.

I actually am sympathetic to your point about the value of LLMs in programming, but more from the perspective that LLMs can help us to do the precise description gradually and interactively in a much better way that a dumb REPL.


Have you interacted with a Common Lisp, Smalltalk, or Prolog REPL. That’s what programming should look like, but with other languages, you have to mostly visualize these interactions or do with the rougher edit-compile-run cycle.

If you think your job as implementing only specifications (in form of Jira tickets), then maybe you don’t see the difference. But more often, you’re trying to define the problem in the first as the customers can only describe the current situation and needs. The job is to design a system that could satisfy these needs and going iteratively from natural language to code, removing ambiguity in the process. Stopping midway in the process and hoping an LLM can continue down is just playing slot machine with code. And then there’s the whole system evolution and maintenance.


And the tragedy is now we'll be allowing economic rent on something that has been free for decades but most people refused to use. /jaded lisp and prolog programmer


That was kind of my point, too: no LLM will solve your problem zero-shot based on a vague description. Iteration will always be required. A good enough LLM will ask you clarifying questions, write prototypes, accept your feedback, etc., and as you iterate, you get closer and closer to a program you want without writing a line of code.


The "precise" part is not even necessary. In short, if 90% of the time guessing the intent works, then I may want to use that system anyway. The projects almost every one of us work with are underspecified anyway, but we have a decent intuition of what should happen (or we just don't care in many edge cases and let the default failure happen). We can read the result and say "is the good enough?" and iterate as you described.


Exactly. Should be GPL licensed, and commercial projects can always buy commercial licenses.


How would that work? If it is used by an open source project that is BSD-licensed, and then that one was used in a closed source project, what then?

GPL propagates. Presumably BSD doesn't.


If the closed source project redistributes the BSD project, then it must comply with its license:

    Redistribution and use in source and binary forms [...] are permitted [...] provided that the following conditions are met:

    [...]

        * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 

    [...]


Are you building scripts for the Debian distro? Given that they already include bash and actually support it for interactive use, what would be the issue for you scripting using bash? I am sure that the experience of moving to dash wasn't fun at all. But users in general are not affected that much as far as I understand.


I'm maintaining a bunch of core Linux packages which have had to make many adjustments over years for dealing with this Debian nonsense. I can see no justification for it since Fedora is using bash just fine and doesn't have to deal with this.


I definitely feel great sympathy for your position.



Funny you should mention it, because that's just one of many definitions.

Off the top of my head there's also "strong", as in "the type system is sound" or "not allowing pointer arithmetic".

It's not that clear cut.


So you are defining intelligence to be whatever the brain does? That is certainly a philosophical position.


"Intelligence" is a word that, etymologically and semantically, is related to human or human-like capabilities. You wouldn't say that a leaf floating on a lake is swimming, and likewise, claiming that computers are "learning" or "intelligent" is at best a thin analogy and at worst a mischaracterization of the process. What's happening in my brain is something we don't have full scientific knowledge of, but we know it's not x86 machine code. While the two processes may be in many ways similar, conflating the two into this ill-defined concept of "intelligence" is a discussion about semantics more than anything else.


> "Intelligence" is a word that, etymologically and semantically, is related to human or human-like capabilities. You wouldn't say that a leaf floating on a lake is swimming.

The definition of words changes in response to increasing knowledge - just take 'energy' for example. One cannot establish truths about the world by arguments from usage. (On the other hand, to be clear, I do not think that the current state of AI merits being called "intelligence". What happens in the future is speculation.)

> What's happening in my brain is something we don't have full scientific knowledge of, but we know it's not x86 machine code.

The introduction of x86 machine code at this point seems to be moving away from your original claims about "AI" being "just" relatively simple (though not simply linear) mathematical models, which are not "just" machine code either. The interesting (and very much open) question is how much of intelligence can be modeled in this way, and what else, if anything, is necessary.

The more you stress the simplicity of these models, the more intriguing their achievements seem.


> The definition of words changes in response to increasing knowledge

The usual process in mathematics and science is that you have a phenomenon that everyone agree exists but nobody can quite put their finger on it, so someone proposes a formal definition and if that definition turns out to be adequate, people work on the formal definition, and that's much easier because you now can use math, statistics, formal methods, etc; a prime example of this is the notion of "computability".

I don't believe that we are seeing the same thing with the concept of "intelligence", this is probably in part because it's much harder to capture the concept in a formal definition. Computers do computable stuff. Overlapping that notion with "intelligence" serves no purpose in my opinion: it explains nothing, it doesn't clarify anything, and it's certainly not obvious that the two are related.

> which are not "just" machine code either

I'm using "machine code" as proxy for "instructions/lambdas/whatever for a computational model of your choice", which they certainly are.

> The more you stress the simplicity of these models, the more intriguing their achievements seem.

It's not my intention to downplay any of the achievements of "AI". They are certainly not less intriguing when viewed from my perspective, the same way a compiler is not less intriguing if you think it's "just code".

My point is that any association of a formal concept (math, models, etc.) with philosophical concepts (intelligence, "truths about the world", consciousness, etc.) is always on thin ice, because natural language and formal concepts are hard to mix. Especially so when the concepts at play are so ephemeral.


In the past, when a construct like 'intelligence' has been hard to pin down, science moves on--leaves it to 'philosophy' and works with formal definitions.

Would you say that's one part of your point? Just to clarify, I am only responding to that part of your point.

By way of example, behaviorists declared a strict subset of the human experience to be in the purview of scientific study--and that may even have been just fine for that era.

You seem to be sweeping something important under the rug because it's hard to pin down, and saying that this is what science has done in the past--and if so, you're right.

But there's an assumption--an assumption that it is safe to sweep things under the rug like that. That assumption may prove false, and if it does, we're screwed.

Convinced that AGI is not something to worry about? Fine--but surely you agree there's such a thing as an information hazard? That is, information that can be deadly in the wrong hands: like how to create the next COVID, or how to make a nuclear bomb. In past eras of human history, knowledge was not as powerful. Today and ever more so in the future, whether humanity can Get Things Right will matter.

So from my perspective, it doesn't matter that whatever 'intelligence' is, is hard to pin down: it's still got to be figured out, whether or not it's difficult.


> In the past, when a construct like 'intelligence' has been hard to pin down, science moves on--leaves it to 'philosophy' and works with formal definitions.

Yes, that's part of the point, your wording is better than mine. If we're sticking to a purely historical perspective, this is definitely what happened. Most disciplines that today we (rightfully) regard as fully independent, originally splintered off philosophy (the most obvious examples are mathematics and physics, but even something like economics, in spite of having become more formalized recently, undoubtedly originates from moral philosophy).

> You seem to be sweeping something important under the rug because it's hard to pin down, and saying that this is what science has done in the past--and if so, you're right.

I won't deny that strictly speaking there is a bit of inductivism at play here. Historically, the scientific approach of limiting the domain of discourse to a tractable subset has been so much more productive and successful than any alternative that my, as it were, "bayesian prior", is that we should replicate the same approach if possible at all.

> So from my perspective, it doesn't matter that whatever 'intelligence' is, is hard to pin down: it's still got to be figured out, whether or not it's difficult.

This is a reasonable position, but wouldn't you agree that it's more of a "moral intuition" (not that there's anything wrong with that!) than a position regarding how ML results ought to be interpreted? As such I have no real counterpoints to offer, except perhaps an utilitarian point of view: are you really sure that banging your head against this very specific wall is the most productive thing to do?

Most problems I see with AI arise from either flat out using the models incorrectly (i.e. mathematically wrong, not ethically wrong, which is what I was pointing out in my previous comments) or from already familiar "political" problems, i.e. incentives, transparency, privacy, openness of the decision-making process.

The good news is that none of that is new. The bad news is that our track record as a species on problems of that kind is abysmal. I doubt that, in any case, trying to halt scientific progress makes sense.


People learn to hit a target by changing the structure of their brain to fit the task. Computers become better at hitting a target by changing a data structure. That seems directly analogous to me. Critically, learning doesn’t imply the ability to perfectly execute the task.


I could not imagine two things that are more unrelated.


In what ways are they unrelated? Learning is just another activity that people do. Like sleeping or assembling ikea furniture.


Your response on definitions actually supports my point on the matter: definitions follow from knowledge ("a phenomenon that everyone agree exists") and are modified in response to new knowledge ("if that definition turns out to be adequate..." - and if not?) As before, "energy" stands as an example of how it works, and "computability" did not enter the lexicon until there was a use for it.

Nevertheless, I agree that in the specific case of current AI, using the word "intelligence" is misleading. I do not, however, think this misuse has any serious consequences, as, to reverse how I put it before, usage does not establish truths about the world.

>> which are not "just" machine code either

> I'm using "machine code" as proxy for "instructions/lambdas/whatever for a computational model of your choice", which they certainly are.

Then that is an unfortunate choice of proxy, unless, perhaps, you intended to imply that it is a priori impossible for intelligence to be created by running x86 machine code. It was not clear to me whether, by introducing machine code into the discussion, you were not making some sort of argument from incredulity against the possibility of AI.

> My point is that any association of a formal concept (math, models, etc.) with philosophical concepts (intelligence, "truths about the world", consciousness, etc.) is always on thin ice, because natural language and formal concepts are hard to mix. Especially so when the concepts at play are so ephemeral.

At least since Newton, mathematical models have proved very useful in discerning truths about the world. Are we to just assume they will not work for the biological phenomena of intelligence and consciousness?


> Your response on definitions actually supports my point on the matter

I'm afraid I failed to understand your point, then. I don't have a problem with what you said there.

> using the word "intelligence" is misleading. I do not, however, think this misuse has any serious consequences

This is where I fundamentally differ. Its misuse implies a connection between a formal model (algorithm expressed in a computational model) and a philosophical concept (intelligence) that's dubious at best. On a conceptual level, this makes it harder to reason clearly about those fundamentally mathematical and abstract concepts, and on a concrete level, it misleads the public at large, implying that certain goals have been reached when that's plainly untrue. That's pretty "serious" in my book.

> Then that is an unfortunate choice of proxy, unless, perhaps, you intended to imply that it is a priori impossible for intelligence to be created by running x86 machine code.

Again, I'm afraid I don't understand your objection. It's widely accepted that all reasonable computational models are equivalent. Citing x86 was colorful language, it has clearly no bearing on the point at large. Machine Learning algorithms are clearly computable, which means they are expressible as Turing machines, terms of a classical untyped lambda calculus, Python scripts, C++ template metaprograms, or anything else. They are literally just programs.

> At least since Newton, mathematical models have proved very useful in discerning "truths about the world." Are we to just assume they will not work for the biological phenomena of intelligence and consciousness?

I certainly believe mathematical models to be useful, you would be hard pressed to say otherwise. The ontological status of scientific theories is however at the very least a debatable topic. One needs not believe Newtonian mechanics is ontologically true, it's a tenable position to claim it's just a model, and we accept that model because it's useful.

Specifically, one could easily argue that Newtonian mechanics is false, because, for example, it fails to accurately predict Mercury's orbit.

Similarly, one needs not believe ML is anything more than relatively simple math to find it useful.


> I'm afraid I failed to understand your point, then. I don't have a problem with what you said there.

You have to go back a couple of posts to see the point. There, you wrote "'Intelligence' is a word that, etymologically and semantically, is related to human or human-like capabilities. You wouldn't say that a leaf floating on a lake is swimming." As we are now agreed that definitions follow from knowledge and are modified in response to new knowledge, it would not be somehow wrong to extend the concept of intelligence to a certain class of machines, if it turns out to be useful and informative to do so.

> They are literally just programs.

I take it, then, that you don't agree with the sort-of Platonist view that algorithms have an existence independently of any implementation? I'm on the fence, myself, but lean towards the Platonist side.

Regardless, it follows from your position here that your original statement "What's happening in my brain is something we don't have full scientific knowledge of, but we know it's not x86 machine code" can be rewritten as "What's happening in my brain is something we don't have full scientific knowledge of, but we know it's not computable." - but while the former is true, the status of the latter is not yet decided, so they are not identical propositions.

> One needs not believe Newtonian mechanics is ontologically true, it's a tenable position to claim it's just a model, and we accept that model because it's useful.

One could say the same about specific ontologies - they are as subject to revision in the face of increasing knowledge as are both mathematical models and individual words - and if it turns out that a mathematical model of biological intelligence or consciousness is effective and useful, it would be tendentious to imagine an ontological line between that model and intelligence.


> it would not be somehow wrong to extend the concept of intelligence to a certain class of machines, if it turns out to be useful and informative to do so.

No objections, but it's a pretty big "if". You could restate my point as "there is no evidence it is in fact useful".

> I take it, then, that you don't agree with the sort-of Platonist view that algorithms have an existence independently of any implementation? I'm on the fence, myself, but lean towards the Platonist side.

I don't, my position is essentially formalist. While I believe most research mathematicians would side with me here, your position is absolutely valid; famously, Kurt Godel was a Platonist, as are many others. My only observation here is that even from a Platonist point of view you are not really rejecting formalism, at least in the sense that while you don't agree it's the only view, I find it impossible to argue that one can't view mathematical objects as formal constructs.

> "What's happening in my brain is something we don't have full scientific knowledge of, but we know it's not computable." - but while the former is true, the status of the latter is not yet decided, so they are not identical propositions.

No, I don't really hold that view. I probably worded that badly. My position is that the latter is unknown, and I would be content to accept that my brain is not fundamentally different than an algorithm if you showed me an algorithm that can effectively emulate my brain within an acceptable margin of error. Ironically, if it were possible to do that, it would be proof there is no "intelligence", only "computability", making the first entirely redundant.

> One could say the same about specific ontologies -

Again, this is really thin ice. I don't really know what to think about this because it's getting too abstract for my monkey brain, but it's certainly not obvious that a better model implies an ontological line between itself and reality. To put it bluntly, is a better model really "more true", i.e. qualitatively different from a worse one?

I'll take the seventh.


Can you specify what you mean by "emulate my brain within an acceptable margin of error"? What would this mean as an actual experiment? Depending on your answer, I think we can actually test your implicit proposition that no such algorithm exists.


I'm not actually claiming no such algorithm exists, as I have already stated, but simply that such a thing is not known to exist.

I'm not an expert in neurosciences so I can only give an informal description. Let's also remove "me" from the equation, let's talk about a randomly chosen human H. We know for a fact that there is nothing physically special about human brains, they are just ordinary organic matter. This matter forms a system subject to the laws of physics. With enough computational power and scientific knowledge (we have neither as of now, AFAIK), we could write a program for a quantum Turing machine that runs a 1:1 simulation of H's brain in software. Any quantum program can be emulated by a Turing machine equipped with sufficient random numbers with at most an exponential slowdown, making this program computable in exactly the classical sense.

My questions are (1) is it possible, even in principle, to make a program of this kind? (2) Would such a program be sufficiently predictive (with any statistical notion of that concept you prefer) of H's behavior?

If there exists a program that satisfies both (1) and (2), then I'm content with the notion that I am, myself, not significantly different from such a program.


Hmm, this still doesn't quite answer my question at the level of concreteness I was looking for. But thank you for clarifying.

The thing is, you can only define predictive accuracy relative to some experimental design. Otherwise you can always claim that there is some unknown, unperformed experiment where the predictions of the model and your actual behaviour would diverge to a greater degree than is permissible by your accuracy threshold, no matter how many successful experiments have already been done in constrained conditions.

Imagine a task where you have to classify images as being of dogs or non-dogs. We can already train a model that can almost perfectly predict the choices you would make during the runs of such an experiment. But we obviously wouldn't call such a model a "model of your brain"!

My question is this: what would be a sufficient experimental design or empirical criterion to decide that some program is a model of you? The loosest criterion I could imagine would be something like "can successfully deceive your loved ones into believing they are you in a single text chat of unbounded duration with some extremely high success rate." Recent advances in NLP lead me to believe that we'll be able to reach at least this level of fidelity quite soon.


To be fair, qsort is not insisting on seeing an algorithm that is metaphysically identical with a human mind, nor claiming that such an algorithm would be a p-zombie, devoid of subjective experiences, which are both positions that you might find from dualist philosophers.


> You could restate my point as "there is no evidence it is in fact useful"

And if you had originally stated your point that way, I would probably pointed out that there is equally no evidence that it will not be useful, if it turns out to be the case.

> ...but it's certainly not obvious that a better model implies an ontological line between itself and reality.

Clearly, I failed to get my point across, to the point where I cannot guess where this question is coming from. Let's see if I can be clearer...

My position on the definitions of words is that they are contingent on our knowledge and that new knowledge can change our definitions (I gave 'energy' as an example, and you appear to have accepted this point a couple of posts back.)

I take the same view of ontologies; the categories we see are contingent on what we know and may change as our knowledge increases. This should not be surprising, given that ontologies are specific cases of words with meanings that nominally pertain to how the world is. There is no implication here that a better model implies an ontological line between itself and reality; rather, the point here is effectively a "so what" reply to your statement, "it's a tenable position to claim [Newtonian mechanics] is just a model, and we accept that model because it's useful." Mutatis mutandis, as they say, and consequently, there is no justification for holding on to old ontologies if new facts suggest a better alternative, any more than there is for models or theories.

> To put it bluntly, is a better model really "more true", i.e. qualitatively different from a worse one?

Did you mean to write that, especially given that, in your previous post, you offered an argument for the proposition that "Newtonian mechanics is false, because, for example, it fails to accurately predict Mercury's orbit." If there is a relevant point here, I think it is that "more true" models are qualitatively better (and quantitatively better, also.)

> Ironically, if it were possible to [show an algorithm that can effectively emulate your brain within an acceptable margin of error], it would be proof there is no "intelligence", only "computability", making the first entirely redundant.

How so? If "intelligence" is a useful concept now (and your objection to "artificial intelligence" seems to be predicated on it being so), when we do not know if the mind is computationally modelable, why would this usefulness necessarily vanish if this turns out to be the case?

> I'll take the seventh.

? - I'm not familiar with this expression.


> And if you had originally stated your point that way, I would probably pointed out that there is equally no evidence that it will not be useful, if it turns out to be the case.

No objections, but isn't it a bit weird to argue that we should do that just in case it might be useful someday? We'll deal with it when it comes up.

> Clearly, I failed to get my point across

I'm sorry, I'm pretty sure there's an argument but I just don't get it. I'm not really following the train of thought anymore.

>> I'll take the seventh. >? - I'm not familiar with this expression.

Play on words: https://en.wikipedia.org/wiki/Fifth_Amendment_to_the_United_...

https://en.wikipedia.org/wiki/Tractatus_Logico-Philosophicus


> No objections, but isn't it a bit weird to argue that we should do that just in case it might be useful someday?

That is not an argument that we should do that just in case it might be useful someday, it is just a response to the quoted statement. As you know, I am not in favor of the current usage of "intelligence" in AI, and the only thing we differ on in that regard is whether it matters much.

> I'm sorry, I'm pretty sure there's an argument but I just don't get it.

It is an argument that ontologies are not privileged, canonical or fixed ways of representing the world; they have to conform to current knowledge as it evolves, or be replaced, and they are only interesting if they can "earn their keep" by being useful. Consequently, I do not think your argument from ontology, that this abusage of "intelligence" is a big deal, is definitive.


AI isn't intelligent, its something created by intelligence.


That is more or less the same pitch of physics, while most of the important activity is taking place in the biosciences at the moment.

The underlying assumption is reductionism: if we understood atoms best, we can understand and control everything built on them. I am not sure that I can agree with you on that. Complexity makes that a pipe dream.


We understand atoms well enough already; as far as “bioscience” is concerned, the current focus is on molecular structures (chemistry in its modern sense) as the most promising direction of research.


I read that as mother nature forces p-values and was, huh? You mean the journal, of course.


Solving things with list comprehensions is very idiomatic in Python.

Also, not nesting things is very idiomatic Python ("Flat is better than nested" is part of the Zen).

So, people generally don't think of nested list comprehensions as idiomatic.


And `explicit is better than implicit` is idiomatic python, but the language uses the most implicit characters available on the average keyboard (` ` and ` `) to denote control flow.


The language uses indentation levels to denote control flow, and those are very explicit - much more so than braces in fact.


They're not though. They only exist as the relation between the edge and the start of content.

How many levels of indentation are there on each line?

https://i.imgur.com/s1WBHxU.png

Spoiler: Line 3 has no indentation while Line 6 has one level. Line 4 has a mix of tabs and spaces that would confuse Python.

The fact of the matter is that indentation is white space, and white space is implicit by definition. It only exists as the gap between other things.


Stop using a legacy version of Python.

You will get a "TabError: inconsistent use of tabs and spaces in indentation" exception if you use Python 3.


I haven't used python with inconsistent indentation recently, that's true.


In that sense control flow only exists as the relation between other things, so it makes sense for it to be denoted that way. If a line with no code on it is indented in the forest and nobody hears it, does the line execute?


I write my python interactively in a repl, and often end up with deeply nested list comprehensions as a result. I always need to break them up to have any chance of understanding it even a day later.


Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: