data-science

zane 2024-02-16T02:35:21.126719Z

Not Clojure-specific, but maybe interesting to this group as it can be used with Clojure: https://observablehq.com/framework/

๐Ÿ‘ 1
๐Ÿ’ฏ 1
Stephan Renatus 2024-03-04T09:00:57.004129Z

> Makes sense. I guess the next step would be to file an issue. https://github.com/observablehq/framework/issues/967

๐Ÿ™ 2
Stephan Renatus 2024-03-02T19:42:54.763809Z

> I wonder about a #squint wrapper/preprocessor for the front end, which would couple nicely with Clojure based data loaders on the back end. thanks for sharing the idea, it made me experiment a bit. still unpolished, but promising ๐Ÿ‘‡

๐Ÿ‘ 1
zane 2024-03-02T19:49:40.885869Z

Hell yeah.

zane 2024-03-02T19:49:52.348599Z

Do they provide an API for this kind of thing?

Stephan Renatus 2024-03-02T19:50:26.622689Z

nope, Iโ€™ve wired stuff up locally. but itโ€™s easy enough to ask them if providing an API would be a thing theyโ€™d support.

๐Ÿ‘๐Ÿป 1
zane 2024-03-02T19:51:11.855839Z

Makes sense. I guess the next step would be to file an issue.

๐Ÿ‘ 1
Stephan Renatus 2024-03-02T20:00:29.699729Z

FWIW hereโ€™s the sketch https://github.com/observablehq/framework/compare/main...srenatus:framework:sr/experiment/squint

๐ŸŽ‰ 1
Daniel Slutsky 2024-03-02T20:06:55.665079Z

This is great

Daniel Slutsky 2024-03-02T20:15:29.316019Z

On a complementary direction, @kiraemclean and I tried to generate Observable code from Clojure forms, directly generating JS code on the JVM. Here is a partial draft, just trying the concept. Since Observable Plot, as well as other components, are rather regular in the way they are coded, we could use a basic code-generation function, rather than a full Clojure to JS transpiler. Observable's inter-component interaction seems really nice so far. Many thanks for proposing this direction.

โค๏ธ 1
Daniel Slutsky 2024-03-02T20:43:45.748789Z

Fixed notebook link: https://scicloj.github.io/clojure-data-scrapbook/projects/datavis/observable/

zane 2024-02-16T02:35:49.575799Z

Announcement blog post: https://observablehq.com/blog/observable-2-0

๐Ÿ‘€ 2
Rupert (Sevva/All Street) 2024-02-16T11:45:46.593439Z

How do you use it with Clojrue?

respatialized 2024-02-16T14:59:22.220099Z

This looks really fantastic, and their analysis of whatโ€™s missing from the ecosystem is very much in line with some of the shortcomings of notebook tools that Iโ€™ve experienced. In particular I commend the choice of using an https://observablehq.com/framework/config, which is the only thing thatโ€™s actually customizable enough to suit the huge variety of user needs for a tool like this. I wonder about a #squint wrapper/preprocessor for the front end, which would couple nicely with Clojure based data loaders on the back end.

Daniel Slutsky 2024-02-16T22:47:43.507499Z

Thanks for sharing this, very inspiring. https://scicloj.github.io/clay/ offers rendering through https://quarto.org/, which is another Markdown format with rich visualizations and tooling support. Quarto support Observable visualizations (though probably not version 2.0 yet), so it was convenient to add basic Observable support to Clay: https://scicloj.github.io/clay/#observable For now, files can be used to communicate data between the JVM Clojure process and the browser Observable calls. I'd be happy to explore further. Feature requests would be helpful.

Daniel Slutsky 2024-02-16T22:47:53.486739Z

@afoltzm > some of the shortcomings of notebook tools that Iโ€™ve experienced could you tell a bit about those shortcomings and experiences?

zane 2024-02-16T22:54:52.684649Z

@rupert One possibility is to use it as a data loader.

๐Ÿ‘ 1
2024-02-16T14:55:36.625959Z

https://functional.cafe/@otfrom/111941720894938207

๐Ÿ’œ 3
maleghast 2024-02-19T09:27:48.920109Z

Is this as a result of practice, attainment and general awesomeness alone, or have you started using some fabulous new tools that you might be prepared to share with us..?

2024-02-19T10:30:59.528599Z

still the same tmd/tc + clerk/vega-lite stuff I've been using for the last year or so. Just getting a bit better at putting together the vega-lite charts (learned how to use hconcat and vconct and combine the specs nicely)

2024-02-19T10:31:24.378719Z

having each chart as a little map of data that you can tweak is pretty good

maleghast 2024-02-19T10:36:34.053119Z

That does sound very useful & fun. I haven't done any charting in CLJS for a while and I found myself doing a lot of painful re-tooling of libraries and stuff, so hearing that vega-lite is working well for you is of interest. What's tmc/tc? (I am not sure Googling that is going to go well)

2024-02-19T10:37:20.589639Z

tmd/tc (see edit above) is tech.ml.dataset and tablecloth

2024-02-19T10:37:48.029059Z

the cljs aspects of the charting don't really hit me that much as clerk hides an awful lot of the pain from me

maleghast 2024-02-19T10:47:07.800889Z

nods

maleghast 2024-02-19T10:47:11.573219Z

Thx

maleghast 2024-02-19T10:47:13.304359Z

๐Ÿ™‚