Readit News logoReadit News
enord commented on Agile Was Never Your Problem   thecynical.dev/posts/agil... · Posted by u/Bogdanp
deadbabe · 2 months ago
Why are we pushing these pure ChatGPT authored blog posts?
enord · 2 months ago
Bad writing is perennial
enord commented on The Humble Programmer (1972)   cs.utexas.edu/~EWD/transc... · Posted by u/squircle
enord · 2 months ago
It’s a real shame Dijkstra rubbed so many people the wrong way.

Maybe his incisive polemic, which I greatly enjoy, was all but pandering to a certain elitist sensibility in the end.

To make manageable programs, you have to trade off execution speed both on the cpu and in the organization. His rather mathematized prescriptions imply we should hire quarrelsome academics such as him to reduce performance and slow down product development[initially…] all in the interest of his stratified sensibilities of elegance and simplicity.

Sucks to be right when that’s the truth.

enord commented on Common mistakes in architecture diagrams (2020)   ilograph.com/blog/posts/d... · Posted by u/billyp-rva
enord · 7 months ago
These are all expository diagrams. Second-hand and auxiliary by nature.

Diagrams can be authoritative, and the ones I’ve seen will break some or all of these rules because they represent natural heuristics that practitioners are expected to fill inn themselves.

enord commented on Don't implement unification by recursion   philipzucker.com/unify/... · Posted by u/mathgenius
Jerrrrrrry · 10 months ago
explain to me, exactly, how it knows what line to go to, and how to get there.

"go back to 0x00, then jump GOTO return register bits ahead"

you still have a variable, the goto return register.

it is your nested depth, the nesting limit til that register overflows.

please explain to me cuz im confused fr

enord · 10 months ago
Memoization is the word here. Can be done in different ways—- of which storing the stack frame is one.
enord commented on Don't implement unification by recursion   philipzucker.com/unify/... · Posted by u/mathgenius
rad_gruchalski · 10 months ago
And in imperative languages one can get away with no recursion. For example setTimeout(f, 0) in js or go routine in go. Of course one needs an accumulator in that case.
enord · 10 months ago
Ah! That’s actually recursion again.
enord commented on How I write code using Cursor   arguingwithalgorithms.com... · Posted by u/tomyedwab
eru · 10 months ago
> Boilerplate are tedious, but not really time-consuming.

In the aggregate, almost no programmer can think up code faster than they can type it in. But being a better typist still helps, because it cuts down on the amount you have to hold in your head.

Similar for automatically generating boilerplate.

> If I don't know, how can I trust the generated code to be correct?

Ask the AI for a proof of correctness. (And I'm only half-joking here.)

In languages like Rust the compiler gives you a lot of help in getting concurrency right, but you still have to write the code. If the Rust compiler approves of some code (AI generated or artisanally crafted), you are already pretty far along in concurrency right.

A great mind can take a complex problem and come up with a simple solution that's easy to understand and obviously correct. AI isn't quite there yet, but getting better all the time.

enord · 10 months ago
> In the aggregate, almost no programmer can think up code faster than they can type it in.

And thank god! Code is a liability. The price of code is coming down but selling code is almost entirely supplanted by selling features (SaaS) as a business model. The early cloud services have become legacy dependencies by now (great work if you can get it). Maintaining code is becoming a central business concern in all sectors governed by IT (i.e. all sectors, eating the world and all that).

On a per-feature basis, more code means higher maintenance costs, more bugs and greater demands on developer skills and experience. Validated production code that delivers proven customer value is not something you refactor on a whim (unless you plan to go out of business), and the fact that you did it in an evening thanks to ClippyGPT means nothing—-the costly part is always what comes after: demonstrating value or maintaing trust in a competitive market with a much shallower capital investment moat.

Mo’ code mo’ problems.

enord commented on Don't implement unification by recursion   philipzucker.com/unify/... · Posted by u/mathgenius
taneq · 10 months ago
> By Church-Turing every sombolic-recursive function can be translated to a looped iteration over some memoization of intermeduate results. The stack is just a special case of such memoization.

Ah, so functional reactive programs don’t suffer from stack overflow on recursion, they just suffer from memoisation overflow? ;)

Electronic circuits with feedback could be thought of as tail end recursion. :)

enord · 10 months ago
Yes indeed! Except you can also do no memoization, such as the goto statement!
enord commented on Don't implement unification by recursion   philipzucker.com/unify/... · Posted by u/mathgenius
enord · 10 months ago
I find the prevailing use of “recursion”, i.e. β-reduction all the way to ground terms, to be an impoverished sense of the term.

By all means, you should be familiar with the evaluation semantics of your runtime environment. If you don’t know the search depth of your input or can’t otherwise constrain stack height beforehand beware the specter of symbolic recursion, but recursion is so much more.

Functional reactive programs do not suffer from stack-overflow on recursion (implementation details notwithstanding). By Church-Turing every sombolic-recursive function can be translated to a looped iteration over some memoization of intermeduate results. The stack is just a special case of such memoization. Popular functional programming patterns provide other bottled up memoization strategies: Fold/Reduce, map/zip/join, either/amb/cond the list goes on (heh). Your iterating loop is still traversing the solution space in a recursive manner, provided you dot your ‘i’s and carry your remainders correctly.

Heck, any feedback circuit is essentially recursive and I have never seen an IIR-filter blow the stack (by itself, mind you).

enord commented on Reasoning in Large Language Models: A Geometric Perspective   arxiv.org/abs/2407.02678... · Posted by u/belter
mistermann · a year ago
And here we've encountered the taboo. Best pretend not, kick the can down the road, and hope for the best. That will surely produce good results.
enord · a year ago
Ah yes, the taboo of sound reasoning.
enord commented on Reasoning in Large Language Models: A Geometric Perspective   arxiv.org/abs/2407.02678... · Posted by u/belter
mistermann · a year ago
Speaking of reasoning, how do you know what is happening inside the mind when it "reasons"?

And while you're at it: what is happening inside the mind when it reasons?

enord · a year ago
These are very good questions that deserve unequivocal answers. Alas…

u/enord

KarmaCake day438March 22, 2012View Original