HN user

cc_ashby

922 karma
Posts2
Comments16
View on HN

Hey Victor, these are amazing tips. I am currently building a DSL for LLMs, and would love your feedback/consulting. I could not find your email online.

Please feel free to reply to this or reach me here: [redacted] on X [email-redacted]

Would love advisement from someone who has thought about DSLs extensively!

[redacted] are my favorite people on complexity. [redacted] was notably my professor for operating systems @ [redacted]. He taught not just ways to design software, but also ways to live.

[redacted]’s work is also directly influenced by [redacted], as referenced at the end of his article.

For [redacted], I suggest looking at the class website: [redacted]

For [redacted], I suggest his book, [redacted]

I expressed myself too succinctly and without context, sorry.

I meant we need a new DSL better suited for prompt engg, and a UI that better supports longer strings. Actualy this UI can be something compatible with Python.

But overall a reimagination of the dev experience is what I am getting at (like Jupyter for LLMs).

Dm me [redacted] on X for more.

It swamps me with tweets by Neon-Nazis and Russian propaganda when I simply just look for #ukraine from a nearly blank, new user account.

Strong accusation. It’s wrong.

Very easy to test. I made a new account, put Careers, Business, and Technology as interests, followed one person (Elon Musk) as bare minimum. Searching #Ukraine shows pro-Ukraine posts and mostly atrocities by Russia. There’s virtually no difference in search with my own personal account.

What are you on about?

It's not the number of abstractions, but the quality of abstractions. If abstractions reduce cognitive load, they are good. If abstractions increase cognitive load, they are bad. Often times good abstractions are obvious within the problem domain.

To this end, I think Haskell, in its pursuit of the purest, can lead to incredibly-high cognitive load abstractions that make reading code daunting. It feels good when writing it, but feels awful when reading it. Sometimes applying the DRY principle can be bad if the thing you are generalizing will lead to higher cognitive load for people referencing it.

Also I think abstractions vary in quality depending on the language the abstraction is embedded in. Functional paradigms in C++ are thorny to work with; even though functional paradigms are good abstractions in general, if the language doesn't support it first-class (i.e. the cognitive load of using them is high), then they are not good abstractions.

You can also consider maps in a language like Clojure, where maps are almost "zero-class"; it's like the language was built for maps. Nested maps have incredibly low cognitive load in Clojure (not only because the syntax supports it, but also because functions are standardized). Nested maps in Common Lisp, however, are not as nice as those in Clojure; you have to import non-standard libraries in order to deal with them (and even more obscure libraries to support Clojure-like read macros).

The key question is: when someone else reads this code, how much do they need to "reconstruct" the context? Can they get away with not reconstructing the context? And if they need to, how fast can they do so, via appropriate naming, comments, and types?

Emacs from scratch is the way to go. Added abstractions are usually not good enough to completely replace fiddling around with vanilla Emacs.

There is a strange... kind of poetry with Haskell. It is like math on wheels, math applied to procedures, math with... time.

Its appeal to me is like the appeal of math to me, not like real analysis math but abstract algebra math. The beauty, the purity of mathematics of younger days that once became lost after encountering the sad complexities of the world. Understanding every little aspect and being able to prove every part is now a luxury, and interfacing without real understanding is the more practical approach in the turbulent waters of poorly connected technological and social systems.

But still there is hope and there are dreams. We like to drench ourselves in dream qualia sometimes, and Haskell and pure math are that medium. The abstractions of it, the consistency of it, the purity of it... When Haskell is called a pure language, it almost goes beyond the static definition of functions being pure, and describes the general feeling that occurs when writing Haskell. You feel pure. You feel like you are taking these small parts and creating greater parts in an elegant buildup of abstractions, traversing one level higher and one level lower at your whim.

Lisp... maybe it’s the parentheses, maybe it’s something else... it never really caught onto me like Haskell did. Haskell feels pure and dream-like and perhaps unsuited to the world where (if you really get down to it) abstractions and types are just useful ‘human’ inventions and unfit for every usage. The world is for getting down and dirty, and mathematics, or at least the pure side of it, really isn’t. The representative mathematics of Haskell is Category Theory, and it is just as far from the level of “real” as it can be. More abstract than abstract algebra, if you will.

Abstraction itself is an intellectual operation that is also rooted in emotional detachment. Perhaps Haskell represents that kind of ideal in a modern world where practicality pays before purity.

I think this is a definitional disagreement. If what you mean by perseverance is the skill you practice to keep yourself going (while overall aligned in the general direction), then yes, I am all for it. But often goal-seeking for goal-seeking’s sake is somewhat coerced on others in the name of virtue, perseverance, etc. The old advice of “do something, don’t just stand there” is the example I am talking about.

But if you have found what you want to do and have set a reasonably long goal (30 years is dedication), then yes humans are imperfect and there will be bits and pieces of motivation still missing. But not many are fortunate to have this goal arising from within.

I like the “shower thoughts” test. Are your goals what you think about in the shower? If yes, then that is probably what you want.

Other story in the same line is “if you are trying to start a startup and you get discouraged by someone and consider not, you probably weren’t meant to do it in the first place.” (Peter Graham I think)

You really can’t not have desires. You can have desires that you don’t want or invisible/preconscious desires, but strictly speaking a person can’t be more desirous (or, loosely, more passionate) than another. It’s like saying a piece of AI is half-invested into its utility function, it just doesn’t work like that.

But what are you sacrificing in return for your “perseverance”?

Very few people tend to look at the mind as a system, and also seem to ignore that depression, anxiety, panic disorders, etc. happen for a reason. The reason why modern humanity have increased risk of these symptoms is because they know, given their perhaps wrongly learned models of the world or otherwise, that even when they achieve their so-called life goals, that they wouldn’t achieve philosophical nor psychological satisfaction that they seek. Their mind has predicted the conclusion of their efforts, and the conclusion lies far below what they seek. Thus the mind desperately attempts to re-understand, re-configure, and re-model the world to achieve its goals.

But instead what is espoused by modern psychology and self-help is a kind of blind optimism or a horse blinders kind of approach to tending one’s mind. Most types of meditative studies also force this notion of blindness. Depression and anxiety and other “disorders” (whose classification from its onset is very unhelpful for its ideological integration into society as a valid problem to work through) most often happen to those who are sensitive, those who have surprisingly extensive models of the world, etc.

But it has become very fashionable in SV intelligentsia and the communities that drink the intelligence soup that trickles down from the SV community (like other cities of America or other America-directed tech communities) to treat the mind as a dumb system that did a poor job evolving to a modern environment (e.g. rationality movement). Instead of understanding the mind (and consequently the body) as a system and listening to whatever small traces your mind has left in its great attempt to solve really important problems for you, we just blind ourselves to faux goals that we may not even actually want.

Optimization for optimization’s sake is bad, but goal-seeking for goal-seeking’s sake may be a significantly worse and dangerous meme.

Cannot agree more. Every time you do something (a habit, like exercise or reading), it gets easier to do that same thing the next day.

Save yourself the trouble and time by jumping into positive feedback loops.

This video about worry also saved me from self-destruction at an opportune time; hope it does for you.

FightMediocrity on How to Stop Worrying and Start Living: https://m.youtube.com/watch?v=4UYYzbzGk6s

I also like setting up systems that make sense, over juicing out more willpower. The Five Minute Journal and the Productivity Planner have been incredibly helpful systems in my life. The $50 or so was easily worth ten thousand dollars for me.

The Five Minute Journal: https://www.intelligentchange.com/products/the-five-minute-j...

The Productivity Planner: https://www.intelligentchange.com/products/the-productivity-...