Hacker Newsnew | past | comments | ask | show | jobs | submit | b_e_n_t_o_n's commentslogin

"I can't do this"

"Are you sure you aren't just having trouble?"

Similar concept imo.


This makes me wanna go buy some stickers...

Thank you for this, I'm unlikely to ever touch Erlang but looks like a fascinating read nonetheless.

It is a fantastic read. I find myself quoting section 5.3.1 on Well-Behaved Functions (WBFs) quite often, especially rule 2: "If the specification doesn’t say what to do raise an exception."

This really helps systems from muddling along into bizarre states, where things are going awry and nobody knows why.


Not just Steam Input, they maintain SDL and strongly encourage everyone to dynamically link it in order to keep older games going.

I don't think that's true at all. I had prefect vision up until I graduated college and started spending 10hr a day behind a screen - within two years I ended up getting glasses, although they are a mild prescription and I don't really need them other than driving at night. My friend was in a similar position and they also ended up getting almost the same prescription.

My eye doctor said it was my eyes optimizing for what they do the most. And that makes sense, I have no eye strain using a computer.

Interestingly my vision is better in the summer, and when I take holidays during the summer and spent time away from the computer my eyes essentially fix themselves. It takes a couple months back behind a screen to need my glasses again.


Counterpoint: I have spent 10hrs a day in front of screens since I graduated from college and my eyes are fine.


Definitely a genetic component as well!


Yes but it's might just be a different mechanism from childhood -> adult myopia. Where you go from perfect vision to -5


Not AI moderation? I'd assume the more scalable option is having an LLM parse messages when reported.


This is really great, the only problem for me is that there is nobody around me! I can see it working way better for stuff like universities though.

I wonder if there could be a variant for Drop which is world wide - imagine being able to join a chat in a foreign country (hopefully you speak the language!) and chat with the locals. I imagine moderation would be a big pain but I could see it being fun and sort of in the spirit of the old web.


Right, there's an onboarding/bootstrapping problem where the first users in an area have nobody to talk to. The default radius should scale by user density, perhaps.


45% slower seems pretty decent considering they use a wasm kernel they developed to mimic the unix kernel so they can run non-modified unix programs inside the browser. It's actually pretty impressive that they did this, and even more impressive that it works and like another commentator said, is not even an order of magnitude slower.

I'm more interested in 1) usages of wasm in the browser that don't involve running unmodified unix programs and 2) wasm outside the browser for compile-once-run-anywhere usecases with sandboxing / security guarantees. Could it be the future for writing native applications?

Languages like Kotlin, C#, Rust, as well as C/C++ etc support wasm quite well. Could we see that be a legitimate target for applications in the future, if the performance gap was closer to 10%-ish? I would personally prefer running wasm binaries with guaranteed (as much as possible ofc) sandboxing compared to raw binaries.

edit: it's from 2019, there have been significant improvements made to wasm since then.


> wasm outside the browser for compile-once-run-anywhere usecases with sandboxing / security guarantees

I've been using it this way for DecentAuth[0]. It's awesome. I compile a single native codebase to wasm, and I can use my library from JS, Go, or Rust. New host languages only require about 1000 lines of glue. I don't have to worry at all about building for different architectures.

[0]: https://github.com/lastlogin-net/DecentAuth


wasm outside the browser for compile-once-run-anywhere usecases with sandboxing / security guarantees

Please just use Docker in a microVM or whatever. It's 0% slower and 100% more mature.


> Please just use Docker in a microVM or whatever. It's 0% slower and 100% more mature.

Wasm has different characteristics than docker containers and as a result can target different use cases and situations. For example, Imagine needing plugins for game mods or an actor system, where you need hundreds of them or thousands, with low latency startup times and low memory footprints and low overheads. This is something you can do sanely with wasm but not with containers. So containers are great for lots of things but not every conceivable thing, there’s still a place for wasm.


yeah, I mostly see it competing with Lua and small function execution in a safe sandbox (e.g. similar scope as eBPF). and maybe for locking down problematic stuff that isn't ultra performance sensitive, like many drivers.

so agreed, plugins. in games or in the kernel.


But way more difficult and with a much higher attack surface area.

And also, it's not necessarily apples to apples. It would be nice to be able to drop a compiled WASM module into your codebase and use it from just about any language on the backend. You could reuse a lot of code that way across different services without the overhead of spinning up yet another container. And you could potentially even run untrusted code in a sandboxed way.


Please just use a custom FPGA hand-coded to the exact specifications of the program. It's even less than 0% slower than Docker in a microVM, and unlike Docker, it at least provides one of the two benefits that you quoted from the parent comment. Good thing we already changed the parameters of what they said they're looking for!


not only is this a completely different use case, it's not even true:

https://stackoverflow.com/questions/60840320/docker-50-perfo...


tl/dr: libseccomp version used in combination with docker's default seccomp profile.

More discussion here https://github.com/moby/moby/issues/41389


Setting up docker and a microVM is orders and orders of magnitude harder and less ergonomic then using your browser. These are not at all interchangeable.


wasm outside the browser


Getting an end user to set up and run docker to run an app is a non starter for most things.


does that allow me to do GPU and real-time audio work on windows and macos


Even for small plugins in your app?


Location: Canada

Remote: Preferred

Willing to relocate: Yes

Technologies: Typescript, Go, Kotlin, React, Next.js, Svelte, Vue, Postgres etc.

Website: https://benten.ca

Résumé/CV: https://www.linkedin.com/in/bentonbc/

Email: on website

I've been working as a software developer for the last four years, majority of which has been full stack. I have a kinesiology degree and I'm primarily looking to integrate my education with my professional experience, so companies in the health/fitness field basically, but I'm open to all interesting positions. Please check out my site at https://benton.ca, it goes into detail on some of the recent works that I have shipped. Cheers :)


I'm going to provide a dissenting opinion here. I think the URL is for location, not state. I believe that using the URL as a state container leads to unexpected and unwanted behaviour.

First, I think it's a fact that the average user does not consider a URL to be a state container. The fact that developers in this thread lament the "new school" React developers who don't use the URL as a state container is proof of this. If it follows that a React developer, no matter how inexperienced, is at least as knowledgeable if not more about URLs than the average person, if they don't even consider the URL to be a valid container for state than neither does the average person.

Putting state in the URL breaks a fundamental expectation of the user that refreshing a page resets its state. If I put a page into an unwanted state, or god forbid there is a bug that places it in an impossible state, I expect a refresh of the page to reset the state back. Putting state in the URL violates this principle.

Secondly, putting state in a URL breaks the expectation of the user for sharing locations. When I receive Youtube links from friends, half of the time the "t" parameter is set to somewhere in the video and I don't know if my friend explicitly wanted to provide a timestamp. The general user has no idea what ?t=294833289 means in a URL. It would be better to store that state somewhere else and have the user explicitly create a link a timestamp parameter if the desired outcome was to link to an explicit point in the video. As it stands now, when I send YouTube links to friends I have to remember to clear the ?=t parameter before sharing. This is not good UX.

There are other reasons why I think its a bad idea but I don't want this comment to be too long.

That doesn't mean not to use search parameters though. Consider a page for a t-shirt, with options for color and size. This is a valid use case for putting the color and size in the URL because it's a location property - the resource for a blue XL shirt is different from a red SM shirt, and that should be reflected in the URL.

That's not to say that state should never be put in the URL - in some cases it makes sense. But that's a judgement call that the developer should make by considering what behaviour the user expects, and how the link will most likely be used. For a trivial example, it's unlikely that a user wants to share their scroll position or if a dropdown is open when sharing a page. But they probably want to share the location they've navigated to on a map, as it's unlikely they're sharing a link to `maps.google.com` with others (although debatably that's not state, but rather a location property).


I strongly agree with this, just couldn't be bothered to type it out. I've tried it both ways many times, and you are indeed right on the money.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: