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

NPR's is one of my favorites: https://www.npr.org/404


I suspect I've seen that multiple times over the years without ever reading the fine print. Nice.


Ivan answered this in one of his AMAs on Reddit[1] a couple of years ago. He used "Pea" because "Apple" was already taken.

[1] https://old.reddit.com/r/IAmA/comments/s2elpv/i_made_a_free_...


I've yet to dip my toes into Wasm. This might push me to finally get going. Based on a quick search, Wasmer and Wasmtime appear to be the two most popular runtimes with the latter being backed by some big names (via the Bytecode Alliance). Wasmer seems to push new features first. Can someone share what their experience was like with either or why they chose one over the other?


In my experience Wasmer is generally disliked by the rest of the WASM community. There’s a long list of reasons for this, including attempting to copyright the term WASM and pushing their own proprietary specs and calling them “standards” while not implementing existing standards.

Their main benefit, from what I can tell, is their “retargetable” compiler architecture, but Wasmtime is improving here as well. Wasmtime is also generally faster at implementing standards.


I wish to live the day where we can incentivize one ecosystem without having to trash another.

This is not a zero-sum game.

If you find Wasmer useful, use it! If you don’t and you prefer others, feel free to use them. There are plenty of choices.

Happy holidays!


I would say that this landing page on your company’s website is unnecessarily trashing wasmtime in the headline

https://wasmer.io/wasmer-vs-wasmtime


Preaching water, drinking wine.

Classic.


No intend of trashing (in marketing pages titles tend to be more flashy).

In any case I just updated it. Happy holidays!


Is it just me or is it weird to show a faster startup speed as a bigger bar?

I thought it was slower until I saw the 1000x. Even 1000x seems kinda meaningless.


None of those are actual answers to the criticism posted by the parent, so it's hard to really care even if it's wrapped around a loving tone.

Happy holidays to you as well!


Thanks!

I sometimes assume people have the same context as I do, and your comment made me realize that it was not the case. Here's some context: https://wasmer.io/posts/wasmer-and-trademarks

Regarding standards, I assume the mention is referring to Wasmer push for WASIX [1]. Which is a specification & implementation that welcomes anyone to participate (even on it's governance model), so I don't think the stance of the previous comment is accurate.

[1] https://wasix.org/


wasmtime is closely aligned with where active development is happening in WebAssembly, WASI, and similar standards. You can expect that as the folks working on WebAssembly itself establish support for (for instance) async, or GC, or components and linking, or other new APIs, wasmtime is where those are going to show up first and be aligned with the rest of the industry. It's easy to embed and reasonably easy to expose your own APIs through, so that you can use it for plugins.

The community is also friendly and inviting for folks trying to get started.


I'm using it for my latest project - writing a cashflow calculator and graphing tool. Really cool to be able to write all the business and graphing logic in Go, then share it with the front end via WASM, so I don't need to implement the same logic in both Go and JS separately.

Things I learned: TinyGo works to get the package size down. Translating values between JS and Go is straightforward (with a lot of boilerplate), but trying to do the JSON dance wasn't worth it - too brittle. Creating SVG in Go and then using it as the innerHTML for a div actually works really well :)

Edit: to be clear, I'm using Go's WASM implementation, not Wasmer


Here's a non-wizard tutorial that I bookmarked when I started with F# (I also had a hard time finding a simple example at first):

https://learn.microsoft.com/dotnet/fsharp/get-started/get-st...

What I like about this page is that it shows a basic project structure.


> I have two young kids and I'm constantly humbled by how fearless they are...There's this tremendous power in "not knowing what you don't know" that sometime in university disappeared from me...

"The teenage spirit." There was an interview[1] with one of the founders of Teenage Engineering (makers of the OP-1 synth) that drew from this line of thinking when naming their company:

> They took their name Teenage Engineering from an early prototype that they never launched, but it fits the company and its philosophy well. “The teenage spirit is sometimes about doing things without having any knowledge of how to do them,” he says. “You just do it. That’s often how we go about things. If there’s something we don’t know, say electronics, we learn; we don’t let it stop us. It’s about having more will than knowledge, which is a more rock ’n’ roll way of solving things.”

[1] https://web.archive.org/web/20220421192821/https://www.sandv...


ETscript: https://github.com/markgomez/etscript

An interpreter for AMPscript (DSL for personalizing emails) that I used when I was at ExactTarget/Salesforce. I wanted to learn Rust and needed a project-based approach.

It doesn't really have a real-world use case since it's not integrated with any email platform (e.g., Marketing Cloud). I had loads of fun working on it though! Oh, and it's still missing a garbage collector.


Give "A half-hour to learn Rust" a try: https://fasterthanli.me/articles/a-half-hour-to-learn-rust

Books/tutorials/etc. never really worked for me because they were all "happy path" exercises (read: too boring). Things only started clicking when I had to overcome obstacles while porting projects written in different languages over to Rust.


https://docs.oracle.com/en/java/javase/

If you're like me and more interested in language additions, each release entry has a "Language Updates" section (under "Language and Libraries") with example code/usage.


I've spent the last several weeks porting a backend I had written in Go over to Rust (using Axum) and so far so good. But I don't know if I can call things in the Rust world like Axum/Actix/etc. "frameworks" anymore considering all the time I've had to spend researching/vetting crates to get the same functionality that comes out of the box in Spring/ASP.net/Django/etc.

Take handling datetimes for example. Do I use time or chrono? The initial developer/maintainer of chrono left[1] and for the longest time the crate was unmaintained while a CVE remained open[2] until a new maintainer finally came along and addressed it (I think?). All right, so, time it is then... but it uses its own custom format specifiers[3] that I had to get used to coming from the more familiar strftime used by other languages.

Or how about input/form validation. One of the most popular crates for that, validator, had its maintainer admit that they don't even use it themselves?[4] Of course I can already hear people yelling at me, "well, why don't you contribute then?!", and I certainly would love to if I could! But I have to finish what's in front of me first.

That being said, I still very much enjoy using Rust. Maybe less so for web-related projects. I just have to stay on an even keel despite the growing hype.

[1]: https://old.reddit.com/r/rust/comments/qamgyh/is_the_chrono_...

[2]: https://github.com/chronotope/chrono/issues/602

[3]: https://time-rs.github.io/book/api/format-description.html#v...

[4]: https://github.com/Keats/validator/issues/201


> But I don't know if I can call things in the Rust world like Axum/Actix/etc. "frameworks" anymore

A "framework" is a thing which calls your code rather than the other way around. You're confusing framework and "full stack" framework.

Actix or Axum are web frameworks in the same sense Flask or Sinatra are web frameworks: they deal with the HTTP lifecycle, and call your code when certain conditions are met (usually around routing).



Why are you porting from Go to Rust? Also, it is wise of you to stay away from any language Kool-Aid.


This is pretty neat. I'm wondering if something like this (on a smaller scale) could be used to catch the elusive illegal dumper in my neighborhood.


We're working on this solution. Most housing projects have a semi-permanent dumpster, but GC's often have problems with people dumping in their houses' dumpsters, causing them to pay for more refills on their dumpster, which can get expensive.

Since we record motion on site, we typically catch the illegal dumpers, but it's hard to pick out from the many motion events that may occur on a construction site.


A regular camera can’t do this?


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

Search: