krukah

Joined 4 years ago

Karma
134
Submissions
24
Member since
Mar 21
co-founder & cto @ novig obsessively curious
View on Hacker News

Recent submissions

Comment · 13 days ago
Does your bilingual [Rust|C] -> Lean compiler fork rustc or clang, or other? 12% is promisingly high. I'm still hoping for a world where you can prove critical behavior w static analysis cheaply and practically. The overlap of LLMs and PLT feel under-explored to me

pgrust is incredible btw

Comment · 9 months ago
Easiest mnemonic to remember precedence is simply ordering by the length of their names.

FnOnce

FnMut

Fn

Comment · 10 months ago
Tree Of Life is nothing short of a masterpiece IMO. Influential on me personally as my first exposure to how much editing and structure (or lack thereof) build directorial style. It left an impression on me to feel so much for a film that explicitly says so little.

Obligatory mention of that iconic low-angle shot of The Mother floating gracefully across the plains. One of the best of all time.

Comment · 11 months ago
Comment · 1 year ago
Comment · 1 year ago
Monads are really undefeated. This particular application feels to me akin to wavefunction evolution? Density matrices as probability monads over Hilbert space, with unitary evolution as bind, measurement/collapse as pure/return. I guess everything just seems to rhyme under a category theory lens.
Comment · 1 year ago
Maybe the (relative) lack of ecosystem has kept you away, but I really recommend checking out both Dioxus and Leptos. Leptos is incredibly similar to React, but with Rust ergonomics, and it's been a pleasure to learn and use. With an LLM by my side that knows React and Rust pretty well, I've found myself not even needing the React libraries that I thought I would, since I can easily build on the fly the features/components I actually need.

I too, eventually gave up on React <> WASM <> Rust but I was able to port all my existing React over into Leptos in a few hours.

Comment · 1 year ago
Yesterday was Pigeons As Hard Drives, today is Peacocks As Lasers.

I look forward to what tomorrow brings.

Comment · 1 year ago
Comment · 1 year ago
You know what I like this much better...rule of thumb updated.
Comment · 1 year ago
Whenever I explain to someone when or why to use 0-indexing, I like to say:

Start from 0 if you are counting boundaries (fenceposts, memory addresses)

Start from 1 if you are counting spaces (pages in a book, ordinals)

Floors are a case where both make intuitive sense, which is maybe how we ended up with European vs American floor numbering.

Comment · 2 years ago
unit sphere != unit ball

The former is the boundary, the latter is the interior + boundary. One of the great arbitrary naming conventions of math.

Comment · 2 years ago
I love the counter-intuition of high-dimensional spaces, seems to be making the rounds on my feeds these days.

One of the harder generalizations to develop intuition for is the fact that the measure of a d-sphere tends to 0 as d approaches infinity, even though for all d = 0, 1, 2, 3 that our meager brains can visualize, the opposite is true! Geometry goes crazy.

Comment · 2 years ago
Another great WithoutBoats writeup. Admittedly, this is one of those corners of Rust that I'm glad is abstracted away and buried in async runtime internals.

That said, I'm curious if/when/why/how anyone uses Pin<T> outside of a custom Future implementation?

Comment · 2 years ago
One thing I haven't seen anyone mention yet is that Nash equilibria do not actually exist when you move beyond heads-up into multi-way play. There's strong empirical evidence that solving abstracted games using MCCFR and using real-time depth-limited tree search dominates humans and outperforms all other AI strategies, but these results aren't theoretically sound, unlike in heads-up play.

I've actually been working slowly on https://github.com/krukah/robopoker, an open-source Rust implementation of Pluribus, the SOTA poker AI. What I've found interesting is the difference in how I approach actually playing poker versus how I approach building a solver. Playing the game naturally consists of reasoning about narratives and incorporating information like hand history, play style, live tells. Whereas solving the game is about evaluating tradeoffs between the guarantees of imperfect-information game theory and the constraints of Texas Hold'em, finding a balance between abstract and concrete reasoning.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton