HNHacker News
TopNewBestAskShowJobs

Evan-Almloff

90 karma · joined June 1, 2023

submissionscomments
Evan-Almloff··on Svelte’s characteristics that likely contribute most to improved performance
> Because WebAssembly modules lack direct access to the DOM, they rely on an additional JavaScript interoperability layer, which can introduce extra overhead.

Blazor is slow for other reasons. You can make wasm web frameworks fast (see leptos and dioxus). It can be as fast as vanilla js. Sledgehammer on this benchmark is wasm: https://krausest.github.io/js-framework-benchmark/2023/table...

Evan-Almloff··on Breaking the WASM/JS communication performance barrier
Most of the optimizations apply equally to calling into webview JS from a native application for something like dom manipulation. There is a wry example that uses the system webview in the repo: https://github.com/ealmloff/sledgehammer_bindgen/blob/master...
Evan-Almloff··on Breaking the WASM/JS communication performance barrier
The two projects have different usecases so they can't be directly compared. Slegehammer bindgen makes calling javascript from rust faster in the browser. Wasmtime is a native runtime for WASM outside of the browser
Evan-Almloff··on Dioxus 0.6 – Crossplatform apps with Rust
There are several good community component libraries now. daisy rsx is one that is already updated with 0.6 support: https://crates.io/crates/daisy_rsx
Evan-Almloff··on Kalosm 0.3: A Rust framework for local AI
Kalosm is a library for pre-trained text, audio and visual models in Rust. It includes support for:

- Whisper for audio transcription

- Llama, phi and mistral models for text generation.

- Structured generation: You can generate text that fits your specific format by deriving a parser automatically with structured generation

- Bert for text embedding and search

The latest release adds support for deriving parsers and json schemas to use with structured text generation, real time audio transcription and a bunch of performance improvements

Evan-Almloff··on Dioxus 0.5: Web, Desktop, Mobile Apps in Rust
It is pretty good. I am working on an application that uses SVGs as a way to draw a workflow editor UI with Dioxus: https://github.com/floneum/floneum
Evan-Almloff··on Dioxus 0.5: Web, Desktop, Mobile Apps in Rust
We have a web components example here: https://github.com/DioxusLabs/dioxus/blob/fd21c971038840130f...

Everything should work like normal except: attributes are not typed, custom event listeners must be implemented with web-sys

Evan-Almloff··on Dioxus 0.5: Web, Desktop, Mobile Apps in Rust
All data you insert into a generational box needs to be allowed to last for the 'static lifetime (have no internal temporary pointers). You cannot insert something like &'a str into a generational box
Evan-Almloff··on Dioxus 0.5: Web, Desktop, Mobile Apps in Rust
Dioxus web compiles to WASM, but we compile to native code for desktop rendering to make it easier to interact with native APIs like the filesystem. We just use the web browser for rendering
Evan-Almloff··on Dioxus 0.5: Web, Desktop, Mobile Apps in Rust
We are copying the reference to the data, not the data itself. The reference to the data lasts for the lifetime of the program. Generational box lets you insert data that last for shorter than the lifetime of the program (as long as that data contains no references). Once you drop the data you inserted, we reuse the box for other allocations.

It uses a very similar approach to a generational arena but with boxes instead of a centralized arena (to avoid locking issues). If you try to access the Copy reference to the data after it has been dropped, it will fail with a nice error message

Evan-Almloff··on Show HN: Kalosm an embeddable framework for pre-trained models in Rust
I would love to integrate llava in the future!
Evan-Almloff··on Show HN: Kalosm an embeddable framework for pre-trained models in Rust
Yes, you can set the source to any local file instead of a huggingface model. Here is a example: https://gist.github.com/ealmloff/3398d172180fa783f043b4a2696...
Evan-Almloff··on Mistral: Our first AI endpoints are available in early access
It's here: https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2
Evan-Almloff··on Floneum 0.2: Open source, zero dependency, graph editor for local AI workflows
Floneum is a graph editor for local AI workflows. The project focuses on ease of use and extensibility. The application is a single installer with no external dependencies.

Here are some of the major features in the new release:

- Improved Web Scraping - Reading Website Feeds - Automated Browsing Plugins - Sharing Workflows on the Cloud - Plugin Examples - Rewritten UI in Dioxus! - Package Manger - Floneum CLI - Nightly Builds

If you are interested in the project, consider joining the discord, or building a plugin for Floneum in rust using WASI

Download: https://github.com/floneum/floneum/releases/tag/v0.2.0

Join the discord: https://discord.gg/dQdmhuB8q5

Build a plugin: https://floneum.com/docs/developer/index

Feedback is always appreciated!

Evan-Almloff··on Show HN: Floneum, a graph editor for local AI workflows
There are a bunch of tasks that require some minimal level of language processing/reasoning that people do that are repetitive. I mentioned a few in my previous response:

- Cross referencing your Google calendar with any events discussed on your corporate slack channel to see if they conflict - Watching for any new novels that are about magical worlds by authors that have a terse writing style - Finding classes with teachers that fit best with a specific students needs

Each of these would be difficult to monetize, which is why Floneum is targeted at consumers directly with sharable workflows.

Evan-Almloff··on Show HN: Floneum, a graph editor for local AI workflows
Absolutely, I would love to integrate other types of models (mentioned at the end of the anointment post)! Stable diffusion and whisper.cpp could be a good place to start

It is a bit different from Flowise because it is focused on end users building workflows instead of companies building on top of Flowise. Because Floneum is focused on non-technical end users, we also have a fully sandboxed plugin system and require no external dependencies like python/npm to get started

Evan-Almloff··on Show HN: Floneum, a graph editor for local AI workflows
1. I would love to support additional model runners including exLlama and API based models like chat GPT. I'm less familiar with how c transformers and GPTQ compare to llama.cpp. GPTQ used to run faster because it supported GPU acceleration, but now llama.cpp supports the GPU as well so that may have changed. Feel free to open a GitHub issue to discuss this: https://github.com/floneum/floneum/issues/new/choose

2. There are a few differences: a) Floneum doesn't require any setup. No need to install python, cuda, or pop. Just download the executable and run b) It has first class support for quantized local models c) It supports fully issolated WASM plugins (not arbitrary python code)

3. Floneum is fully Open Source!

Evan-Almloff··on Show HN: Floneum, a graph editor for local AI workflows
Floneum is still early in development, as it becomes more mature I plan to expand the documentation. In the meantime, you can always ask questions on the discord! Getting feedback about what is currently not clear in the documentation is always helpful

Currently, requests are limited to simple GET requests from Floneum to a endpoint. In the future I would like to support more methods that would make implementing this as a plugin possible. WASMtime is still in the process of implementing the stream API, which would make implementing this much easier.

Evan-Almloff··on Show HN: Floneum, a graph editor for local AI workflows
Currently, I'm hoping to find more developers who are interested in contributing to the project (specifically building plugins).

Once Floneum is more complete, the target users are any non-develper professionals with repetitive tasks. It should serve to automate tasks that are difficult to monetize either because the task itself is too specific to you (like cross refrencing your Google calendar with any events discussed on your corporate slack channel to see if they conflict or watching for any new novels that are about magical worlds by authors that have a terse writing style) or tasks that are too small to pay for by themselves (for example searching a schools class listing and finding the teachers that fit best with a specific students needs). The first example would also benefit from the fact that Floneum runs models entirely locally. (You wouldn't want to send your corporate chat to Open AI)