min-sized-rust
live_svelte
min-sized-rust | live_svelte | |
---|---|---|
101 | 22 | |
7,448 | 872 | |
- | - | |
6.2 | 8.3 | |
about 2 months ago | 17 days ago | |
Rust | Elixir | |
MIT License | MIT License |
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.
min-sized-rust
-
The Linux Kernel Prepares for Rust 1.77 Upgrade
This is a good guide on building small Rust binaries: https://github.com/johnthagen/min-sized-rust
This talks about going to extreme lengths on making the smallest Rust binary possible, 400 bytes when it was written, https://darkcoding.net/software/a-very-small-rust-binary-ind...
The thing is, you lose a lot of nice features when you do this, like panic unwinding, debug symbols, stdlib… for kernel and some embedded development it’s definitely important, but for most use cases, does it matter?
-
Rust wont save us, but its ideas will
Oh it was 137, haha. I will link you to this older comment of mine: https://news.ycombinator.com/item?id=29408906
See also https://github.com/johnthagen/min-sized-rust
-
Making Rust binaries smaller by default
Are you sure? If so then this is awesome news, but I'm a bit confused; the commit in that min-sized-rust repo adding `build-std` to the README was merged in August 2021: https://github.com/johnthagen/min-sized-rust/pull/30
Are you saying that at that point the feature still hadn't "landed in Rust nightly" until recently? If so then what's the difference between a feature just being available in Rust nightly, vs having "landed"?
-
Was Rust Worth It?
Rust binaries are by default nowhere close to 500MB. If they are not small enough for you, you can try https://github.com/johnthagen/min-sized-rust. By avoiding the formatting machinery and using `panic_immediate_abort` you can get about the size of C binaries.
-
Compiling Rust binaries for Windows 98 SE and more: a journey
A useful reference: https://github.com/johnthagen/min-sized-rust
- How to minimize Rust binary size
- Error on flashing embedded code to stm32f103
-
Tiny Binaries (2021)
That must be without stripping. Also there are ways to reduce binary size. See e.g. [min-sized-rust](https://github.com/johnthagen/min-sized-rust). I've gotten stripped binaries of small cli utils less than 400KiB without doing anything special, less than 150 KiB by customizing profile settings and compressing with upx, and less than 30 KiB by replacing the std with the libc as the link shows. Haven't tried with fltk though...
-
Shared libraries
This is not quite what you're asking, but it does also address the underlying concern: https://github.com/johnthagen/min-sized-rust
live_svelte
- Svelte Inside Phoenix Liveview with Seamless End-to-End Reactivity
-
Bun v0.8.0
Bun is an executable as far as I understand. Would it be possible to call Bun code directly from another language with bindings?
For example Erlang (and Elixir) has Native Implemented Functions[0] (NIF) where you can call native code directly from Erlang. Elixir has the zigler[1] project where you can call Zig code directly from Elixir.
Maybe you can see where I'm going with this, but it would be super cool to have the ability to call Javascript code from within Elixir. Especially when it comes to code that should be called on the server and client. I'm the developer of LiveSvelte[2] where we use Node to do SSR but it's quite slow atm, and would be very cool to use Bun for something like this.
In any case Bun is super impressive, keep it up!
[0] https://www.erlang.org/doc/tutorial/nif.html
[1] https://github.com/E-xyza/zigler
[2] https://github.com/woutdp/live_svelte
-
Ask HN: Who wants to be hired? (July 2023)
Remote: Yes (Remote only)
Willing to relocate: no
Technologies: Elixir, Phoenix, Svelte, Django, Python
Résumé/CV: Upon request
Email: [email protected]
GitHub: https://github.com/woutdp
Website: https://wout.space/
Current project: https://github.com/woutdp/live_svelte
Past project: https://geoquest.gg/ (made in SvelteKit)
Full-Stack Web Developer. Looking for Elixir/Phoenix work. 7+ years of professional experience working with various web technologies, mainly Python, Django and Svelte(Kit). Would be open for working with Python/Django/Svelte(Kit). Also open to work on frontend and/or backend only projects. Website refresh/new website projects is also something I'm interested in.
Availability: part-time, +- 25 hours per week or less
- LiveSvelte
-
Ask HN: Who wants to be hired? (June 2023)
Location: Vancouver Canada, Remote
Remote: Yes (Remote only)
Willing to relocate: no
Technologies: Elixir, Phoenix, Svelte, Django, Python
Résumé/CV: Upon request
Email: [email protected]
GitHub: https://github.com/woutdp
Website: https://wout.space/
Current project: https://github.com/woutdp/live_svelte
Past project: https://geoquest.gg/ (made in SvelteKit)
Full-Stack Web Developer. Looking for Elixir/Phoenix work. +7 years of professional experience working with various web technologies, mainly Python, Django and Svelte(Kit). Would be open for working with Python/Django/Svelte(Kit). Also open to work on frontend and/or backend only projects. Website refresh/new website projects are also something I'm interested in.
- Ask HN: Who wants to be hired? (May 2023)
-
Ask HN: Freelancer? Seeking freelancer? (May 2023)
Hi I'm a Full-Stack Web Developer. Looking for Elixir/Phoenix work. +7 years of experience working with various web technologies, mainly Python, Django and Svelte(Kit). Would be open for working with Python/Django/Svelte(Kit). Also open to just work on frontend and/or backend only projects. Website refresh/new website projects are also something I'm interested in.
Availability: +- 20 hours per week or less, hourly or contract work
- Current project: https://github.com/woutdp/live_svelte
- Past project: https://geoquest.gg/ (made in SvelteKit)
- GitHub: https://github.com/woutdp
- Website: https://wout.space/
- Contact: [email protected]
-
Firefly – A new compiler and runtime for BEAM languages
For very high degree of interactivity I've been working on LiveSvelte which might solve that issue for you. Your other points still stand though.
https://github.com/woutdp/live_svelte
-
Perseus – NextJS alternative in Rust
I've been working on LiveSvelte[0] which might answer this in the LiveView example. It integrates LiveView with Svelte and has SSR support by calling Node from within Elixir, I wouldn't call it unholy, it's quite nice :)
Routing is fully handled by Phoenix, and you can get quite fast page transitions with Live Navigation Events. It's just that whenever you need complex frontend state you can offload it to Svelte, while still maintaining that backend interopability, in this case with E2E reactivity.
What's also really nice is that LiveView and Svelte are both very declarative in the way they handle the 'view' layer. And so they map really well onto eachother.
I also wrote a blogpost[1] on the topic.
[0] https://github.com/woutdp/live_svelte
[1] https://wout.space/notes/live-svelte
- Render Svelte Directly into Phoenix LiveView with E2E Reactivity
What are some alternatives?
smartstring - Compact inlined strings for Rust.
dioxus - Fullstack GUI library for web, desktop, mobile, and more.
Cargo - The Rust package manager
leptos - Build fast web applications with Rust.
rustc_codegen_gcc - libgccjit AOT codegen for rustc
resume - Resume
c2rust - Migrate C code to Rust
paperlb - A kubernetes network load balancer implementation
regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
nerves - Craft and deploy bulletproof embedded software in Elixir
embedded-graphics - A no_std graphics library for embedded applications
ask-hn-candidate-list-chatgpt - Transcript of my converstation with ChatGPT to get it to write a script to scrape "Ask HN: Who wants to be hired? (May 2023)" and store it as a csv file.