Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
bkolobara
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
61.
▲
by
bkolobara
3y ago
Hi! Author here. I have spent a lot of time thinking about this and believe that the most straight forward solution for long running (or even forever running) workflows is to allow hot upgrades. A hot upgrade would only succeed if you can e
62.
▲
by
bkolobara
3y ago
Flawless integrates with your existing system. You probably don't need the guarantees that flawless provides for all code, but just specific functions/workflows.
63.
▲
by
bkolobara
3y ago
Thank you! I hand coded it with just HTML, CSS and JavaScript and put a lot of effort and love into it. The code is not the prettiest, but the implementation is straight forward if anyone wants to check it out https://flawless.de
64.
▲
by
bkolobara
3y ago
Hi! I'm the author of flawless. By using WebAssembly, it's kinda by default fool proof. WebAssemby explicitly requires you to declare host calls inside your modules. If you try to use another host call that is not provided by flaw
65.
▲
Flawless – Durable execution engine for Rust
(flawless.dev)
304 points
by
bkolobara
3y ago
|
117 comments
66.
▲
When "letting it crash" is not enough
(flawless.dev)
3 points
by
bkolobara
3y ago
|
0 comments
67.
▲
Google Podcasts Moving to Podcasts in YouTube Music
(blog.youtube)
2 points
by
bkolobara
3y ago
|
0 comments
68.
▲
by
bkolobara
3y ago
> It is probably important here to realize that async solves concurrency, not parallelism. You can use async with a single threaded runtime for I/O concurrency and mix that with threads for computational parallelism for long running
69.
▲
Rust without the async (hard) part (2022)
(lunatic.solutions)
2 points
by
bkolobara
3y ago
|
0 comments
70.
▲
Inter-process communication patterns in Lunatic
(medium.com)
4 points
by
bkolobara
3y ago
|
0 comments
71.
▲
From Erlang to Lunatic
(mattpo.pe)
54 points
by
bkolobara
4y ago
|
25 comments
72.
▲
by
bkolobara
4y ago
I'm the author of something related https://github.com/lunatic-solutions/lunatic
73.
▲
by
bkolobara
4y ago
I also dislike this name, as it was not clear what it does just by looking at the name. Recently, I was adding a similar abstraction to Rust on a project I'm working on and I called it `AbstractProcess`. Like, it is some kinda of templ
74.
▲
by
bkolobara
4y ago
Wait! The ? operator works with the `Option<T>` type? I assumed it was only reserved for `Result<T,E>`.
75.
▲
by
bkolobara
4y ago
Hot reloading is always a pit tricky. The programming model needs to explicitly support it. In lunatic it will consist of 2 parts: 1. Stuff inside the vm that lets you keep the process id and message queue, but replaces the code running. 2.
76.
▲
by
bkolobara
4y ago
Thanks! You can already do this in lunatic. For example, in the Rust library you can create a configuration ( https://docs.rs/lunatic/latest/lunatic/struct.ProcessConfig.... ) with specific permissions (e.g. no
77.
▲
by
bkolobara
4y ago
We take the Phoenix approach of splitting the DOM into static and dynamic parts. In fact, we even re-use the pheonix.js library on the frontend, so we just implement the backend part that speaks the same protocol as Phoenix. I don't th
78.
▲
by
bkolobara
4y ago
We expose some OTP constructs in the lunatic Rust library directly, like supervisors ( https://docs.rs/lunatic/0.12.1/lunatic/supervisor/trait.Supe... ), gen_server ( https://docs.rs/lunatic
79.
▲
by
bkolobara
4y ago
1. You can limit almost anything, file system usage (fopen, write, ...), networking i/o, how much memory can be used, message sending, the capability of spawning child processes, etc. 2. Yes
80.
▲
by
bkolobara
4y ago
I'm Bernard, the creator of lunatic. Great to see us back on HN and happy to answer any questions! We have been busy pushing out a lot of new stuff. Recently we released a web framework [0] for Rust building on top of lunatic, and a li
81.
▲
A Programmer-Friendly I/O Abstraction Over io_uring and kqueue
(tigerbeetle.com)
5 points
by
bkolobara
4y ago
|
0 comments
82.
▲
LiveView for Rust
(github.com)
60 points
by
bkolobara
4y ago
|
6 comments
83.
▲
Sandboxing for Developers and Operators
(lunatic.solutions)
1 points
by
bkolobara
4y ago
|
0 comments
84.
▲
Magical Handler Functions in Rust
(lunatic.solutions)
112 points
by
bkolobara
4y ago
|
40 comments
85.
▲
by
bkolobara
4y ago
What a coincidence, I was just discussing on discord a similar approach for our Rust web framework submillisecond[0]. Submillisecond uses lunatic to run Rust code compiled to WebAssembly on the backend. We are working on a LiveView-like lib
86.
▲
by
bkolobara
4y ago
There are many other properties that WebAssembly gives us that would be hard (impossible?) to achieve with native Rust. Erlang-like fault tolerance based on a concurrency model where each unit gets their own heap. Fine-grained per request s
87.
▲
by
bkolobara
4y ago
Web socket support was added a few days ago[0], but it's still not part of a release. I will probably push out alpha1 tomorrow including it and a few other changes. [0]: https://github.com/lunatic-solutions/submill
88.
▲
by
bkolobara
4y ago
You can get a WebAssembly instance running in a few micro seconds. This makes it feasible to spawn a new sandbox for each request and scaling down to zero becomes almost trivial. Another benefit is that you are not bound to a specific OS&#x
89.
▲
by
bkolobara
4y ago
There are still many problems to be solved. One is the state syncing between backend and frontend. There is nothing public yet, until we decide on the direction that we want to actually take.
90.
▲
by
bkolobara
4y ago
Yes. We could use the in-browser wasm engine + a polyfill for the host functions. Of course, this would have some limitations. Functionality like UDP would not be supported.
More ›