Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
tomasol
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
tomasol
2mo ago
Really cool, the page is noticeably snappier. I'm wondering why they don't put the database on a network-attached block volume. DigitalOcean offers Volumes Block Storage, which is replicated across multiple hosts. Keeping SQLite t
2.
▲
by
tomasol
4mo ago
Subscribe to this issue: https://github.com/obeli-sk/obelisk/issues/65
3.
▲
by
tomasol
4mo ago
sorry about that, I do love Beatles!
4.
▲
by
tomasol
4mo ago
Check out https://obeli.sk/blog/comparing-dbos-part-1/
5.
▲
by
tomasol
4mo ago
Hi, I wrote a comparison blog post between Obelisk and the Java version of DBOS a couple of months ago: https://obeli.sk/blog/comparing-dbos-part-1/
6.
▲
SQLite is all you need for durable workflows
(obeli.sk)
720 points
by
tomasol
4mo ago
|
387 comments
7.
▲
by
tomasol
5mo ago
I believe the codegen must be separated from the runtime. Every time you ask AI for a new task, it must be deployed as a separate app with the least amount of privileges possible, potentially with manual approvals as the app is executing. S
8.
▲
Obelisk 0.32: Cancellation, WebAPI, Postgres
(obeli.sk)
31 points
by
tomasol
9mo ago
|
8 comments
9.
▲
by
tomasol
10mo ago
fsync is the most expensive operation during a write. NORMAL mode means you don't care whether last ~100 ms of transactions before a process crash / VM restart are going to be persisted or not. My suggestion is either to use synch
10.
▲
by
tomasol
10mo ago
Author is setting PRAGMA synchronous="normal", meaning fsync is not issued as part of every write tx, but eventually. In order to make the comparison fair it should be set to "full".
11.
▲
Challenging the Fastest OSS Workflow Engine
(obeli.sk)
2 points
by
tomasol
11mo ago
|
0 comments
12.
▲
Taming AI-Assisted Code with Deterministic Workflows
(obeli.sk)
2 points
by
tomasol
11mo ago
|
0 comments
13.
▲
Obelisk 0.24.1
(obeli.sk)
9 points
by
tomasol
1y ago
|
0 comments
14.
▲
by
tomasol
1y ago
Sorry for the late reply. The actual order in which child workflows finish and their results hit the persistence layer is indeed nondeterministic in real-time execution. Trying to force deterministic completion order would likely be complex
15.
▲
by
tomasol
1y ago
> Just create a race condition among a join set. All responses and completed delays are stored in a table with an auto-incremented id, so the `-await-next` will always resolve to the same value. As you mention, putting a persistent sleep
16.
▲
by
tomasol
1y ago
Thanks for bringing that up. Regarding the NaN canonicalization, there is a flag for it in wasmtime [1], I should probably make sure it is turned on. Although I don't expect to be an issue practically speaking, Obelisk checks that the
17.
▲
by
tomasol
1y ago
I can do that. Please create an issue if you want to be notified about it.
18.
▲
by
tomasol
1y ago
The structured concurrency paradigm in workflows is stricter to what I'm reading here [1]. The whole execution model is different from the Task [2], as workflows are transparently unloaded and replayed. Obelisk has a concept called joi
19.
▲
by
tomasol
1y ago
Indeed. I cannot compare the implementations as flawless is not open source. However on a high level they both share the same philosophy. I believe the biggest difference is that Obelisk relies on the WASM Component Model: Obelisk aims to a
20.
▲
by
tomasol
1y ago
> I was referring to the workflows, that is, writing the workflows in managed languages, not the activities. Ah understood. I have no plans supporting native workflow executors. > Out of curiosity, are you working full-time on this? Y
21.
▲
by
tomasol
1y ago
> do I also need to compile activities to WASM Yes, currently all activities must conform to the WASI 0.2 standard. This is the simplest for deployment, as you only need the obelisk executable, toml config file. The webhooks, workflows a
22.
▲
by
tomasol
1y ago
Great questions. If you are fixing a bug in a workflow, which has running executions, there are two scenarios: Either the fix does not break the determinism, meaning the the execution did not hit the fix yet. In this case the execution can
23.
▲
by
tomasol
1y ago
Yeah, looks like Golem went similar route - using WASM Component Model and wasmtime. There is always this chicken and egg problem on a new platform, but I am hoping that LLMs can solve it partially - the activities are just HTTP clients wit
24.
▲
by
tomasol
1y ago
Thanks for the kind words. In an ideal world I would like to offer a cloud version that would be monetized. There are a few examples on how to do HTTP requests, I have a demo repository [1] with GraphQL and regular JSON-over-HTTP activities
25.
▲
by
tomasol
1y ago
The biggest motivator for me is that WASM sandbox provides true deterministic execution. Contrary to engines like temporal, using hashmaps is 100% deterministic here. Attempting to spawn a thread is a compile error. It also performs well -
26.
▲
Show HN: Obelisk – a WASM-based deterministic workflow engine
(obeli.sk)
103 points
by
tomasol
1y ago
|
27 comments