HN user

ryandv

748 karma
    In the beginning were the Words,
    and the Words made the world.
    I am the Words.
    The Words are everything.
    Where the Words end the world ends.
    You cannot go forward in an absence of space.
    Repeat.

    https://txt.ryandv.me
    https://magistertempli.substack.com
Posts4
Comments438
View on HN
    You must learn to sit perfectly still with every muscle tense for long periods.

    Various things will happen to you while you are practising these positions; they must be carefully analysed and described.

    Note down the duration of practice; the severity of the pain (if any) which accompanies it, the degree of rigidity attained, and any other pertinent matters.

    When you have progressed up to the point that a saucer filled to the brim with water and poised upon the head does not spill one drop during a whole hour,
    and when you can no longer perceive the slightest tremor in any muscle; when, in short, you are perfectly steady and easy, you will be admitted for examination;
    and, should you pass, you will be instructed in more complex and difficult practices.
- Aleister Crowley, Liber E vel Exercitiorum, 1911. https://hermetic.com/crowley/equinox/i/i/eqi01005

I don't know. You may as well say that after reading Uncle Bob's Clean Code and adding 50 layers of indirection, you are now writing at "enterprise scale." Perhaps you even hired an Agile SCUM consultant, and now look at your velocity (at least they're measuring something)!

Use my abstract factory factories and inversion of control containers. With Haskell your entire solution is just a 20-line mapreduce in a monad transformer stack over IO. In J, it's 20 characters.

I don't see how AI differs. Rather, the last study of significance found that devs were gaslighting themselves into believing they were more productive, when the data actually bore the opposite conclusion [0].

[0] https://news.ycombinator.com/item?id=44522772

Comments exist to provide information beyond primitive, domain-agnostic types (String, Int, etc.), but without the overhead of more elaborate modelling into domain-specific types (ChequingAccounts, Widgets, and so forth).

I may want to communicate further information about the inhabitants or values of a particular type, without introducing extraneous or superfluous types:

    -- given a path to a PEM encoded PKCS#8 formatted RSA private key and a
    -- JWT Claims Set (RFC 7519) represented as a strict ByteString,
    -- return a strict ByteString representing a base64 encoded RSA256-signed JWS.
    generateJWT :: FilePath -> B.ByteString -> IO (Maybe B.ByteString)
    generateJWT fp claims = (fmap unJwt <$>) . (maybe (return Nothing) (fmap eitherToMaybe . encodeClaims) =<<)
                                             $ fromPKCS8 fp
      where eitherToMaybe = preview _Right
            encodeClaims  = (flip $ rsaEncode RS256) claims
Arguably newtype wrappers could (or even should) be introduced in place of the more primitive FilePaths and ByteStrings - but even if they were, the type names would either be prohibitively long, or fail to communicate the full depth of information of the comment.
Straussian Memes 7 months ago

In many respects, it’s an essential feature of commanding language. Compressing multiple meanings into fewer words is the essence of poetry and literature.

Aye, perhaps prompting is the be-all-end-all skill, after all: the ability to distill out an idea into its most concentrated, compressed essence, so it can be diluted, expanded, and reworded ad infinitum by the LLMs.

brb while I search for the word prompt that generated the universe...

Straussian Memes 7 months ago

I think there is no equivocation or ambiguity here, unless you are me at age 5 asking why aliens have landed in Mexico.

I would hazard that you are underestimating the impact of these rhetorical tactics, but I've not the energy to aggressively litigate and cite this point further.

Straussian Memes 7 months ago

It's really quite potent in terms such as "racism" or "gender" which have seen unilateral attempts at redefinition.

Straussian Memes 7 months ago

Another phrase that comes to mind is "Plausible Deniability": By uttering ambiguous sentences you can deny all but one possible meanings of what you say. And talking to different audiences at different times you can claim you didn't mean anything like what your citics are claiming you did.

This is the core rhetorical tactic of the progressive left in a nutshell. Linguistic superposition, equivocation, Schrodinger's definition - whatever you want to call it, it's the ability to have your cake and eat it too by simply changing your definitions, or even someone else's, post hoc.

Let us take a moment to be reminded of the English Socialism of Orwell and doublespeak.

I've found it useful in limited cases for writing optics which can be incredibly obtuse, sometimes boilerplatey, and yet ultimately accomplish what in other languages might be considered utterly trivial use cases... consider the following prompt and output:

    reply with one-line haskell source code ONLY: implement the function projectPair :: (Field1 s s a a, Field2 s s b b) => Lens s s (a, b) (a, b)

    lens (\s -> (s^._1, s^._2)) (\s (a,b) -> s & _1 .~ a & _2 .~ b)
... which can be shown to satisfy the three lens laws. If you can understand the types it is generally true that the implementation falls out much more easily, in a similar vein as "show me your tables, and I won't usually need your flowchart; it'll be obvious."

I suppose LLMs are good for this and other extremely constrained forms of boilerplate production. I consider it an incremental improvement over go codegen. Everything else I still tend to hand-write, because I don't consider source code production the bottleneck of software development.

The inverse of this is the wisdom that pearls should not be cast before swine. If you want to increase literacy rates, it's unclear to me how engaging people on an illiterate medium will improve things.

Technical topics demand a technical treatment, not 30-second junk food bites of video infotainment that then imbue the ignorant audiences with the semblance or false feeling of understanding, when they actually possess none. This is why we have so many fucking idiots dilating everywhere on topics they haven't a clue on - they probably saw a fucking YouTube video and now consider themselves in possession of a graduate degree in the subject.

Rather than try to widely distribute and disseminate knowledge, it would be far more prescient to capitalize on what will soon be a massive information asymmetry and widening intellectual inequality between the reads and the read-nots, accelerated by the production of machine generated, misinformative slop at scale.

What I want to see is a Destroy All Software style screencast where somebody actually demonstrates their AI workflow on legacy code.

BOLD response and fMRI sampling rates

Funny, because these exact measures [0] were brought up in response to a similar claim I made over a year ago [1] about the resolution of our instrumentation.

There would appear to be a worrying trend of faith in scientism, or the belief that we already have all the answers squirreled away in a journal somewhere.

[0] https://news.ycombinator.com/item?id=41834346

[1] https://news.ycombinator.com/item?id=41807867

Advent of Code 2025 8 months ago

Holy fuck. I should just grow coconuts or something in the remote Philippines.

Most software engineers never use any comp sci theory at all, but especially not graph theory or shit like Dijkstras algorithms, DFS, BFS etc.

But we are talking about Advent of Code here, which is a set of fairly contrived, theoretical, in vitro learning problems that you don't really see in the real software engineering world either.

The prompt "Proof." ?

See this paper on the Stoer-Wagner min-cut algorithm from graph theory, for the last problem in a previous year's Advent of Code: https://www.cs.dartmouth.edu/~ac/Teach/CS105-Winter05/Handou...

I have a computer science education and I have no idea what you're talking about.

A post-secondary computer science education? I don't mean bootcamp. I mean a course of study in mathematics.

Advent of Code 2025 8 months ago

the global leaderboard had to be pulled.

Frankly I'm better off with it being this way instead of the sweaty cupstacking LLM% speedrun it became as it gained popularity.

Advent of Code 2025 8 months ago

They... sort of are though? A year or two ago I just waited until the very last problem, which was min-cut. Anybody with a computer science education who has seen the prompt Proof. before should be able to tackle this one with some effort, guidance, and/or sufficient time. There are algorithms that don't even require all the high-falutin graph theory.

I don't mean to say my solution was good, nor was it performant in any way - it was not, I arrived at adjacency (linked) lists - but the problem is tractable to the well-equipped with sufficient headdesking.

Operative phrase being "a computer science education," as per GGP's point. Easy is relative. Let's not leave the bar on the floor, please, while LLMs are threatening to hoover up all the low hanging fruit.

Obligatory uwaterloo plug. I didn't even end up graduating after 3 years of compsci but still ended up with almost two years of work experience. Colleagues in my early career were still paying down student debt while I had already paid for tuition out of pocket, not with tax dollars.

Funny too, because I had a philosophy professor there who talked about how the university is not a vocational school, but a place one goes to enrich the mind and become a more worldly citizen.