hippo
tool-conventions
Our great sponsors
hippo | tool-conventions | |
---|---|---|
5 | 3 | |
408 | 285 | |
0.2% | 3.9% | |
1.2 | 5.6 | |
9 months ago | 1 day ago | |
TypeScript | ||
GNU General Public License v3.0 or later | Artistic License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hippo
-
Plunder and Urbit
You may laugh, but a few years ago all those guys who sold us (some of? us - me anyway) on Kubernetes evidently got bored with it, and now they're all building a Hippo Factory[1]. And it's actually really good. This is the current timeline!
[1] https://docs.hippofactory.dev/
- Isolates, MicroVMs, and WebAssembly (In 2022)
-
Exploring .NET WebAssembly with WASI and Wasmtime
WebAssembly (Wasm) is something that the Cloud Native Advocacy team has been exploring. It has been around for a few years and has mostly been used within browser-based applications. There are many blog posts on what makes WebAssembly an ideal target for running applications (e.g., smaller footprint with .wasm files compared to containers, code isolation, and sandboxing). My colleague Steven Murawski wrote a blog series on getting started with hosting Wasm apps on an emerging PaaS platform called Hippo which is developed by folks at Fermyon. In Part 1 of the series, he introduces topics and define some of the acronyms like "Wagi" and "WASI". He also introduced a runtime called Wasmtime which implements the WebAssembly System Interface (WASI) standard. This article will walk you through how Steven and I went about getting a .NET console app running as a Wasm app on the Wasmtime runtime in a Dev Container. The .NET console app produced in this article has also been contributed as a csharp template in the yo-wasm repo which is also maintained by Fermyon; so you can quickly test it out for yourself later.
- Supabase (YC S20) raises $80M Series B
- Hippo
tool-conventions
-
Isolates, MicroVMs, and WebAssembly (In 2022)
> Better interoperability
AFAIK, the examples you give all target a basic C ABI [0] or can be made to target the same ABI. In Rust, it means targeting wasm32-unknown-emscripten
The Rust team is also working on a "WASM ABI"[1] which would be useful in taking advantage of stuff like multi-value returns, and other compilers could just choose to target that. More likely, the C ABI on WASM will be updated to account for missing features, and that'll be the standard for interoperability in the WASM ecosystem.
[0]: https://github.com/WebAssembly/tool-conventions/blob/main/Ba...
[1]: https://github.com/rust-lang/lang-team/blob/master/design-me...
-
Features of a dream programming language: 2nd draft.
C ABI: Compatible with the C language Application Binary Interface (ABI). So code in the language is usable from other languages. Inspired by Zig. Since compiling to WASM is desirable, WASM's C ABI could probably be used, instead of a separate implementation towards the C ABI.
-
Crates for (mutable) statics with non const initialization.
There is maybe a solution. From what I found the linker will glue constructor functions and they have an associated priority. (look https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md here for the "linking meta data section"). I explored the ldd/wasm source code directory and it looks like there are also destructor functions. I have not found out in which sections such functions should be placed (after 1h of exploration). Would you like to pursue? I am ok to receive pushes or even share owner ship of the repository.
What are some alternatives?
yeoman - Yeoman - a set of tools for automating development workflow
ts-belt - 🔧 Fast, modern, and practical utility library for FP in TypeScript.
dotnet-wasi-sdk - Packages for building .NET projects as standalone WASI-compliant modules
dwarf-2-sourcemap - A DWARF to SourceMaps converter for WASM
protobuf-rules-gen - This is an experimental protoc plugin that generates Firebase Rules for Cloud Firestore based on Google's Protocol Buffer format. This allows you to easily validate your data in a platform independent manner.
wyrcan
yo-wasm - Yeoman generator for Rust projects intended to build to WASM in OCI registries
ramda - :ram: Practical functional Javascript
yo-wasm - Yeoman generator for Rust projects intended to build to WASM in OCI registries
krustlet - Kubernetes Rust Kubelet [Moved to: https://github.com/krustlet/krustlet]
Visual Studio Code - Visual Studio Code
io-ts - Runtime type system for IO decoding/encoding