Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: publish code used during the splintercon demo #1423

Closed
wants to merge 3 commits into from

Conversation

bassosimone
Copy link
Contributor

@bassosimone bassosimone commented Dec 12, 2023

During the 2023 SplinterCon edition, I demoed using OONI technologies for research, ranging from invoking miniooni to using OONI Run v2, to using scripts to iterate faster. This branch contains all the code that I used during the demo, consisting mainly of fixes for existing code and of a preview of the JavaScript engine.

I am going to create separate pull requests for each functionality and then close this PR. However, my intent in creating this PR is a container to illustrate the work I did preparing for SplinterCon. In turn, most of the JavaScript code here evolved from code that I wrote researching richer input and later refactored to better support using JavaScript.

This commit ensures we can parse integer values provided using
OONI Run v2 descriptors into actual integers.

Values are originally parsed as float64, so we need to add a
specific conversion case for that scenario.
Noticed when preparing the SplinterCon demo. We should have the same
name for the engine state directory for miniooni and ooniprobe.

Otherwise, we need to tell people about this difference.
This is a minimal JavaScript interpreter invokable from miniooni,
which seems helpful when doing research in difficult environments where
an ordinary compile, ship, test, edit, compile loop is too slow.

To implement this interpreter, we use a special purpose DSL that is
easier to use from other languages than the current one.

Originally at: https://github.com/bassosimone/2023-12-09-ooni-javascript.
@bassosimone bassosimone changed the title Splintercon chore: publish code used during the splintercon demo Dec 13, 2023
bassosimone added a commit that referenced this pull request Dec 13, 2023
This commit ensures we can parse integer values provided using OONI Run
v2 descriptors into actual integers.

Values are originally parsed as float64, so we need to add a specific
conversion case for that scenario.

Diff extracted from: #1423

Closes ooni/probe#2645
bassosimone added a commit that referenced this pull request Dec 13, 2023
Noticed when preparing the SplinterCon demo. We should have the same
name for the engine state directory for miniooni and ooniprobe.

Otherwise, we need to tell people about this difference.

Extracted from: #1423

Closes: ooni/probe#2646
@bassosimone
Copy link
Contributor Author

bassosimone commented Dec 13, 2023

I've split this code in separate thematic PRs (see above)! My job here is done (cit.)!

@bassosimone bassosimone deleted the splintercon branch December 13, 2023 17:02
bassosimone added a commit that referenced this pull request Dec 13, 2023
This diff implements part of my SplinterCon JavaScript demo
(#1423). We only include minimal
functionality here. The bare minimum to be useful when doing research.

Closes ooni/probe#2647.

Because this is experimental code and there's no commitment to
productionize it, I have decided to create a specific subpackage
`internal/x` that should host our in-tree experiments. (I will also mode
`dslx` in there.)
Murphy-OrangeMud pushed a commit to Murphy-OrangeMud/probe-cli that referenced this pull request Feb 13, 2024
This commit ensures we can parse integer values provided using OONI Run
v2 descriptors into actual integers.

Values are originally parsed as float64, so we need to add a specific
conversion case for that scenario.

Diff extracted from: ooni#1423

Closes ooni/probe#2645
Murphy-OrangeMud pushed a commit to Murphy-OrangeMud/probe-cli that referenced this pull request Feb 13, 2024
Noticed when preparing the SplinterCon demo. We should have the same
name for the engine state directory for miniooni and ooniprobe.

Otherwise, we need to tell people about this difference.

Extracted from: ooni#1423

Closes: ooni/probe#2646
Murphy-OrangeMud pushed a commit to Murphy-OrangeMud/probe-cli that referenced this pull request Feb 13, 2024
This diff implements part of my SplinterCon JavaScript demo
(ooni#1423). We only include minimal
functionality here. The bare minimum to be useful when doing research.

Closes ooni/probe#2647.

Because this is experimental code and there's no commitment to
productionize it, I have decided to create a specific subpackage
`internal/x` that should host our in-tree experiments. (I will also mode
`dslx` in there.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant