HNHacker News
TopNewBestAskShowJobs

enricozb

779 karma · joined September 15, 2018

reach me at enricozb [at] gmail
submissionscomments
enricozb··on Charlie Kirk killed at event in Utah
I have such disdain for the e/acc crowd given that I believe that "we do not understand the consequences of what we are building".

But now I'm not sure if it's fair to ignore the consequences of building Twitter, or even the internet. Seeing people's behavior during this event has been incredibly disheartening.

The wikivoyage page for the United States explicitly advises that neither politics nor religion should be discussed when meeting people in this country.

How did we get to this point.

enricozb··on Waymo granted permit to begin testing in New York City
I doubt that people who bike their kids in baskets daily in Amsterdam would do the same in NYC, given how dangerous it is. The risk tolerance required to bike in NYC is much higher.
enricozb··on Waymo granted permit to begin testing in New York City
NYC is so dense it could be a bikers' paradise in the US. Why are we supporting even more car infrastructure :/
enricozb··on Recto – A Truly 2D Language
Hexagony is another 2d language: https://esolangs.org/wiki/Hexagony
enricozb··on Progress towards universal Copy/Paste shortcuts on Linux
I just remap my terminal to have Ctrl-X to send SIGHUP, and Ctrl-C to copy. X looks more like a kill to me anyways.
enricozb··on Exit Tax: Leave Germany before your business gets big
This article seems to argue that the cause of the inequality is the lack of taxes
enricozb··on Exit Tax: Leave Germany before your business gets big
However it also prevents hoarding wealth, which in turn prevents special interest groups and some forms of election manipulation.

Balancing taxes for fairness and innovation is quite tricky...

enricozb··on Ongoing Lean formalisation of the proof of Fermat's Last Theorem
As far as I understand, The lead of this project Kevin Buzzard is a mathematician first. And the majority of mathematicians are untroubled by non-constructive proofs. I would imagine that proof directions that result in the most interesting additions to Mathlib would be chosen.
enricozb··on The Useless UseCallback
Why doesn't react switch to doing a more sensible equality check, rather than relying on JS's unfortunate choices? (E.g. value equality for arrays and objects) I feel like this would simplify most existing sensible code.
enricozb··on Implementing a functional language with graph reduction (2021)
Interaction nets are another computational model based on graph-reduction.

https://ezb.io/thoughts/interaction_nets/lambda_calculus/202...

enricozb··on DaisyUI: Tailwind CSS Components
One benefit of tailwind is that while all of the classes look like they set properties with fixed values, they are actually almost all controlled by variables. This makes it easier to retain a coherent design during redesigns. Doing the same in CSS is absolutely possible, but tailwind is terser.
enricozb··on # [derive(Clone)] Is Broken
I'm not sure how these two things are related. When writing an `impl` for a struct, there's no assumption on the bounds of the generics (if any) unless they are specified _at the impl site_.

For example, the bounds of T in

    impl<T> Weird<T> {
      ..
    }
are independent of the bounds of `T` in any other impl or the struct definition.

Unless I'm missing something...

enricozb··on # [derive(Clone)] Is Broken
For structs, why couldn't rust check the necessary bounds on `T` for each field to be cloned? E.g. in

    #[derive(Clone)]
    struct Weird<T> {
      ptr: Arc<T>,
      tup: (T, usize)
    }

for `ptr`, `Arc<T>: Clone` exists with no bound on `T`. But for `tup`, `(T, usize): Clone` requires `T: Clone`.

Same thing for other derives, such as `Default`.

enricozb··on I Use My Terminal
Fantastic. Been meaning to put something up like this myself. I feel like I gain so much information from just watching someone work, and having them open themselves up to questions.
enricozb··on Using Microsoft's New CLI Text Editor on Ubuntu
Since I do not really use Ctrl-X on the terminal to cut text, I have changed my terminal configs to have Ctrl-X be sigint, and Ctrl-C to be copy. Makes for a nicer experience, also X looks more like a "kill" :)
enricozb··on OxCaml - a set of extensions to the OCaml programming language.
Haven't looked at the link, but I think for a scenario like trading where there are market open and close times, you can just disable the GC, and restart the program after market close.
enricozb··on A maths proof that is only true in Japan
I'm not a mathematician (but I've seen exact sequences and commutative diagrams) and to me the stuff out of his IUT papers[0] looks borderline LLM-generated. I can only imagine what the LaTeX source looks like.

[0]: https://www.kurims.kyoto-u.ac.jp/~motizuki/Inter-universal%2...

enricozb··on Quarkdown: A modern Markdown-based typesetting system
Thanks! The main thing that I had difficulty with, which you can see from the typst source, is the rendering and spacing around inline math symbols. They are rendered as SVGs, which is fine but then copying them doesn't work. Their spacing is sometimes unpredictable so I'll add something like $thick x + y$ to pad on the left hand side. I'm not sure what parts of the math symbol contribute to the dimensions of the SVG and I'm sure it's rather complex, but other than that the experience has been solid.
enricozb··on Quarkdown: A modern Markdown-based typesetting system
It works really well, I've written three blog posts using typst.

Post: https://ezb.io/thoughts/interaction_nets/lambda_calculus/202...

Typst source: https://github.com/enricozb/enricozb.github.io/blob/master/t...

enricozb··on De Bruijn notation, and why it's useful
Lambda variables are also scoped, in the sense that a bound variable shadows one with the same name if it is in scope at bind-time. When looking at lambda calculus as purely a term rewriting system, the rule for substitution is just a bit nuanced, that's all. With DeBruijn notation, substitution is a much simpler operation.
enricozb··on Compiling a neural net to C for a speedup
Differentiable Logic Gate Networks [0] are super interesting. However, I still don't like that the wiring is fixed initially rather than learned.

I did some extremely rough research into doing learnable wirings [1], but couldn't get past even learning ~4-bit addition.

[0]: https://arxiv.org/abs/2210.08277

[1]: https://ezb.io/thoughts/program_synthesis/boolean_circuits/2...

enricozb··on Sketchy Calendar
Maybe Sciral Consistency?
enricozb··on Gonzalo Guerrero
nominative determinism
enricozb··on Ask HN: What are you working on? (April 2025)
Yes, you're not the first to have asked this. I'll add one before I publish the next post.
enricozb··on Ask HN: What are you working on? (April 2025)
Working on writing a series of blog posts on interaction nets. The first one is up already an is an introduction to the topic [0]. I feel like the topic is very accessible but the ideas are spread out across discord channels, papers, twitter, and GitHub repos. Hoping to centralize it a bit.

[0]: https://ezb.io/thoughts/interaction_nets/lambda_calculus/202...

enricozb··on Ask HN: What are you working on? (March 2025)
Working on ARC-AGI (2). Trying a few different approaches including gradient descent mechanisms to construct programs in DSLs. Was really inspired by the recent differentiable logic gate networks work from Google, and believe there is a way to adapt it to generate programs instead of cellular automata rules.
enricozb··on Typed Japanese
Somewhat related: the Lambek calculus[0], which is kind of a general type system for written languages. Words are either functions or concrete types, and functions can take their arguments on the left or right.
enricozb··on fd: A simple, fast and user-friendly alternative to 'find'
I wish fd and rg would align some of their flags. For example, both fd and rg have a --type, but for fd it means file/directory/symlink etc. For rg it means the file MIME type. Another example is that fd has an --extension flag, and rg doesn't.

Since I believe the correlation of usage of these tools is high, I think they could benefit from having similarly named flags.

enricozb··on Advent of Code on the Nintendo DS
> Every Nintendo handheld up to the 3DS contains a GameBoy inside it!

I think this was quoted from elsewhere within the post but, is this true? If by "up to" we're not including the 3DS, the DSi and DSi XL still don't contain a GBA slot. I don't _think_ they contain the hardware either b/c with homebrew I believe the GBA games are emulated on those newer devices.

Am I mistaken here?

enricozb··on Okay, I Like WezTerm
Hmm I'll have to look into this. After some basic playing around with this feature it might be workable. In my head I had my editor taking over the current program in the terminal, and after exiting it would return to the previous program, but that involves some backgrounding and job manipulation that I haven't given too much thought. Thanks for the tip.
← PreviousPage 2 of 6Next →