HNHacker News
TopNewBestAskShowJobs

n42

1,920 karma · joined August 28, 2014

submissionscomments
n42··on Zig's new I/O: function coloring is inevitable?
I've been trying to beat this point in and failing. If a parameter type creates "colors", you can extrapolate that to an infinite set of colors in every single language and every single standard library, and the discussion on colors becomes meaningless.

Some people are so focused on categorical thinking that they are missing the forest for the trees.

The colors are a means of describing an observed outcome -- in Node's case, callback hell, in Rust's, 4 different standard libraries. Whatever it may be, the point is not that there are colors, it's the impact on there being colors.

> But there is a catch: with this new I/O approach it is impossible to write to a file without std.Io!

This sentence just makes me laugh, like it's some kind of "gotcha". It is the ENTIRE BASIS of the design!

n42··on Zig's New Async I/O
It's hard to parse your comment, but I think we are agreeing? I was refuting the point of the parent. you have given another example of calling an IO-taking function inside a non-IO taking function. the example I gave was initializing an IO inside the non-IO taking function. you could also, as pointed out elsewhere, use global state.
n42··on Zig's New Async I/O
I do want to say that I regretted that comment as nonconstructive after it was too late to edit it. Others in the thread are representing my argument better than I can or care to.
n42··on Zig's New Async I/O
You’re allowed to not like it, but that doesn’t change that your argument that this is a form of coloring is objectively false. I’m not sure what Rust has to do with it.
n42··on Zig's New Async I/O
Aside from the ridiculous argument that function parameters color them, the assertion that you can’t call a function that takes IO from inside a function that does not is false, since you can initialize one to pass it in
n42··on Zig's New Async I/O
This is very well written, and very exciting! I especially love the implications for WebAssembly -- WASI in userspace? Bring your own IO? Why not both!
n42··on Zig breaking change – Initial Writergate
in a sense it's a reference to Allocgate (a previous big breaking change to allocators in Zig), which was itself a reference to Watergate
n42··on Show HN: Munal OS: a graphical experimental OS with WASM sandboxing
I think that's an interesting observation. It seems to be a philosophical discussion on social trust.

Anticheat is an attempt to control the behavior of the community. Your solution is to just control who is in your community.

In a way, I think it's the same lessons learned from social networks. You see it in the trends moving away from global communities back toward smaller online communities; private Discord servers, BlueSky follow/block lists, and so on.

n42··on Show HN: Munal OS: a graphical experimental OS with WASM sandboxing
Yes, rather than ignore you, this time I chose to spend five minutes of my life writing a well meaning piece of critical feedback. Whether that was a waste of my time is left to you.
n42··on Container: Apple's Linux-Container Runtime
Oh, like OP I didn’t see the difference. I believe the difference is:

Container is a CLI tool

Containerization is a framework

n42··on Show HN: Munal OS: a graphical experimental OS with WASM sandboxing
This is just so inspirational and cool. I’ve had so many of these concepts floating around in my head, without the critically necessary capability, or followthrough. I’m sure others have as well. It’s very cool to see someone execute on it.

I wonder about operating systems with isolated applications like this providing some kind of attestation.

Is it even possible to do that in a non-user hostile way?

The use case I daydream about is online competitive gaming. It’s a situation where a majority of users are willing to give up software freedom for a fair community. Consoles used to be a locked down way to guarantee other users were participating fairly, but this increasingly less the case as cheaters become more advanced. Solving this problem necessarily locks down access to software and hardware, as far as I can figure it. From a game theory perspective I can’t see any other approach. Enter “kernel level anticheat”; aka rootkits, depending on who you ask.

So I guess I wonder if virtualization at a level like this can somehow be a part of the solution while preserving software freedom, user privacy and security where the user still wants it

n42··on Apple introduces a universal design across platforms
Life is not smoking guns, objective truths, or us and thems.

I do find it amusing how disorganized the app has become, and that has become my favorite example.

I find it even more amusing that you think citing search as a primary UI path is your “smoking gun” of good information hierarchy and interface design.

n42··on Show HN: Munal OS: a graphical experimental OS with WASM sandboxing
You seem to frequently appear in threads involving WebAssembly. Each time you do, I see you point out how bytecode VMs have been done before. And, every time, it doesn’t contribute anything interesting to the conversation.

I don’t mean this in a hostile way, however, it has become frustrating finding this predictable and low effort comment from you every time I open an HN thread on WebAssembly — and, frankly, I’ve begun collapsing comments whenever I see your username.

Every iteration on the concept brings different approaches and tradeoffs made from lessons learned from previous attempts. This is just how engineering, and our industry, works.

I don’t mean disrespect. I assume you are probably speaking from a place of experience. I would be so much more interested hearing your thoughts on the minutiae than basic pattern recognition.

n42··on Apple introduces a universal design across platforms
one of my favorite examples of how bad the System Settings app is: find where the Default Browser setting is, without using search.
n42··on Typing 118 WPM broke my brain in the right ways
I’m not sure if this how other people do it but my hands sort of float around as I type rather than being fixed in one place. They gravitate towards home row but I was never trained “classically”. I type (peak) 140wpm.

my understanding of the homerow style is that you have a sort of assigned finger for each key. while I type, there is plenty of overlap between fingers and it's constantly adapting based on where my hands are currently vs resetting to one position

n42··on Why 536 was 'the worst year to be alive' (2018)
if we kept our brain, and knew for certain we'd be back after a year, that could be kind of fun.
n42··on WASM 2.0
Furthermore, “I recognize this technology as a rehash of something that already exists” is just extremely uninteresting conversation without getting into the specifics. Clearly there are differences. Let’s talk about the merits and demerits of the thing.
n42··on Reimagining Democracy
This was a really interesting read. I've spent a lot of time thinking about incremental changes to our US democracy, but this opened my eyes to some of the preconceptions I have on what a democracy even looks like!
n42··on Ask HN: Memory-safe low level languages?
I was referring specifically to dang's post in the linked thread. I realized I had accidentally stumbled onto a topic with such a controversial history on this site that it might have been banned outright. As in, HN's personal demons; unresolved controversy.

The comment wasn't about anyone in particular.

n42··on Ask HN: Memory-safe low level languages?
Oh. I fear that I have unwittingly summoned HN demons.
n42··on Ask HN: Memory-safe low level languages?
I see so much controversy every time V comes up; can someone explain why, without devolving into name calling and personal attacks? What specific design choices or implementation details are contentious, and what legitimate concerns exist beyond interpersonal conflicts?
n42··on A $20k American-made electric pickup with no paint, no stereo, no screen
please, god, let this thing make it to production in the US!
n42··on Zig's new LinkedList API (it's time to learn fieldParentPtr)
I think that's the point the parent was making. I read it as them describing a benefit of Zig's approach.
n42··on Mozilla launching “Thundermail” email service to take on Gmail, Microsoft 365
is there a future where Mozilla buys Kagi and becomes the privacy Google?
n42··on A look at Firefox forks
it's true. I never in a million years could have imagined that I would be paying for a search engine. now you can pry Kagi out of my cold dead hands.
n42··on TinyCompiler: A compiler in a week-end
well, in my personal experience, parsing is the easiest part. it's what you do with the AST once you have one that is the hard part. but for some reason an overwhelming amount of writing is about frontends when you could teach the concepts to a layman with some boxes and arrows.
n42··on Build your own SQLite in Rust, Part 5: Evaluating queries
Something being hard doesn't mean it's not worth trying.

It's up to the developers to decide if the outcome is worth the effort.

Maybe they're right, maybe they're wrong, but either way – if they succeed, we're all better off for it, aren't we?

n42··on Vim Roadmap 2025
my comment was based on the last PR update I read some months ago where the developer had given up on merging it, so this is great to hear!
n42··on Instagram and Facebook Blocked and Hid Abortion Pill Providers' Posts
> defy the current administration? Sounds pretty anti-democratic to me

defying an administration that you disagree with, within the rule of law, is just about the most American and democratic thing I can imagine.

this is a corporation, not an arm of the government.

n42··on Vim Roadmap 2025
I really want a Helix/Kakoune mode in Zed, but last I checked the development of such a thing was dead in the water, unfortunately
← PreviousPage 2 of 14Next →