Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
kodablah
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
91.
▲
by
kodablah
2y ago
> Relying on external APIs or databases within activities might lead to variability in workflow execution. This is why they are activities. Their results are stored in history, the workflow remains deterministic. > might need to see h
92.
▲
by
kodablah
2y ago
This and other similar CPU-bound operations may be unreasonable to detect at analysis time. I would encourage users to run with asyncio debug mode in tests to help catch these: https://docs.python.org/3/library/asy
93.
▲
by
kodablah
2y ago
Like many static analyzers in ambiguous situations, you have to decide whether the possibility of false positives is worth the safety. In this case I'd flag it knowing that it could be marked ignored as needed (same with open() if it w
94.
▲
by
kodablah
2y ago
Asyncio allows you to replace the event loop with an implementation of your own. For Temporal Python we represent workflows as a custom, durable asyncio event loops so things like asyncio.sleep are durable timers (i.e. code can resume on an
95.
▲
by
kodablah
2y ago
> Overall, coroutines strike me as the most promising way to handle many kinds of effectful functions This is basically what we do at Temporal, which is essentially deterministic coroutines with externalized effects. This gives another n
96.
▲
by
kodablah
3y ago
Hopefully it can be used easily as a library. I have multiple use cases for programmatically operating on typed ASTs. MyPy plugins are very limited and most other analyzers have no such extensibility. > Limitations [...] pylyzer (= Erg&#
97.
▲
by
kodablah
3y ago
They didn't have to be dunder methods though, they could have used any other naming scheme (e.g. just `__` at the beginning, EDIT: or something else) and remained just as important in the ecosystem.
98.
▲
by
kodablah
3y ago
Has any thought been given to repurposing this deterministic computer for more than just autonomous testing/fuzzing? For example, given an ability to record/snapshot the state, resumable software (i.e. durable execution)?
99.
▲
by
kodablah
3y ago
This seems to have some parallels with durable execution engines like Temporal which have deterministic concepts of time and use event sourcing or snapshotting to ensure the past remains the past but allow you to evolve code for the future
100.
▲
by
kodablah
3y ago
Unfortunately you almost have to do this in secrecy with a homemade scraping app lest its popularity causes the site owner to take action
101.
▲
by
kodablah
3y ago
I had a project recently: building an advanced Java class file analyzer. I knew a lot about ow2 asm libraries, but it saved me a lot of digging time remembering exact descriptor formats. Also it helped me understand why other static analysi
102.
▲
by
kodablah
3y ago
> the data [...] showed a roughly 25% decline in pull requests in 1H2023 as compared to 2H2022 PRs [...] largely lacking an explanation May be obvious, but would rather know if you saw PRs-per-repo decline. Otherwise, I wonder if some ve
103.
▲
by
kodablah
3y ago
> I also love the idea of a web engine as a component. This for some reason seems to have disappeared in modern times. I have used CEF, WebKit, and WebView2. Only the former is easily embeddable cross platform, and as soon as it became p
104.
▲
by
kodablah
3y ago
> I was curious if there was a WASM to JVM and it seems there is one on GitHub [...] https://github.com/cretz/asmble While it works well, this was mostly a fun project for me and I no longer really maintain it. I ho
105.
▲
by
kodablah
3y ago
When I implemented a WASM compiler, the only source of float-based non-determinism I found was in the exact byte representation of NaN. Floating point math is deterministic. See https://webassembly.org/docs/faq/#wh
106.
▲
by
kodablah
3y ago
https://temporal.io/blog/durable-distributed-asyncio-event-l... explains how it works
107.
▲
by
kodablah
3y ago
So many code models seem to be used for code generation purposes, but is there a general effort to apply these as static/code analysis tooling? It'd be nice to write my rules in English and have somewhat predictable behavior when
108.
▲
by
kodablah
3y ago
A neat use case would be to replace Error Prone's use of the compiler tree API. If this gets a Java 21 version soon, I may be able to use it for a new project I was just going to make an Error Prone plugin for.
109.
▲
by
kodablah
3y ago
> I always thought it was a bit silly that the async mechanism in modern languages is so myopic and single-purpose. These kinds of high level language transformations ought to be extensible and pluggable so that we could write workflows
110.
▲
by
kodablah
3y ago
> if you want to start a business building developer tooling and you’re concerned about competitors using your work, you should probably start source-available (BSL) and then go for a license that is OSI-approved To put another way, if y
111.
▲
by
kodablah
3y ago
> The only danger is if you call gevent.monkey.patch_all() too late. Gevent takes over, often making advanced asyncio not work on gevent programs. Patching things globally should obviously be seen as dangerous in itself.
112.
▲
by
kodablah
3y ago
I have a use case for sandboxing (without a secure-sandboxing requirement) that it would help solve. But at last read, they discourage/disallow sharing modules across the subinterpreters and reloading all modules in each subinterpreter
113.
▲
by
kodablah
3y ago
I don't think the loss is due to bad actors. These actors aren't bad, they're rational. I think the loss is due to giving away things unconditionally without thinking about what that means. Many companies aren't reneging
114.
▲
by
kodablah
3y ago
> abusing the spirit of open source for their own monetary gain For many, the spirit of open source is to allow it to be used in any way, commercially or otherwise. I don't consider it acting in bad faith at all to use what's o
115.
▲
by
kodablah
3y ago
I also work on open source full time. I personally am happy to give my work away unconditionally to both freeloaders and contributors and fortunately my employer feels the same way (I am often a freeloader myself on unrelated projects). Ide
116.
▲
by
kodablah
3y ago
> why workflows would rely on code that doesn't remove the sources of non-determinism? We can't always sandbox every environment to remove these sources at a language level. Sure in JS/TypeScript we can use V8, but in Go t
117.
▲
by
kodablah
3y ago
At Temporal we've done a lot of research on WASM-based deterministic workflows. While they make sense in a general way, they suffer a similar problem as deterministic OS environments (e.g. hermit) - safe updates. People often need to a
118.
▲
by
kodablah
3y ago
I once combined libp2p/ipfs's DHT impl with Tor many moons ago: https://github.com/cretz/tor-dht-poc
119.
▲
by
kodablah
3y ago
I wrote https://github.com/cretz/asmble which has an AOT compiler and interpreter for WASM. Haven't worked on it for a while though.
120.
▲
by
kodablah
3y ago
After looking at it, I am concerned it is not possible for a clean experience. We have to give guidance and samples and we have to choose a way of referencing methods in those. Having ambiguous approaches is a bit rough. We may have to just
More ›