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

Great project #9

Open
awb99 opened this issue Oct 14, 2024 · 3 comments
Open

Great project #9

awb99 opened this issue Oct 14, 2024 · 3 comments

Comments

@awb99
Copy link

awb99 commented Oct 14, 2024

Hi!

It's fascinating what you do here!
I think I have an approach that is very complimentary to what you do.

https://github.com/clojure-quant/quanta-dag-algo/blob/main/dev/src/dev/algo_bollinger_start.clj

So I made a little dsl to define DAGs; I use it to create algorithms for backtesting
Trading strategy algorithms. Basically it is one or more cells where a cell can be a
Fixed value, a flow (something that can produce zero one or multiple values over time),
And formulas that do a calculation based on other cells.

I now use missionary which is making FRP / dataflow programming
In clojure and clojurescript easy.

The interesting thing is that my templates can be persisted and modified by code
Easily.

What is also interesting is that such definitions are lazy; what I mean is that
Services are not running when there is no demand for them. By starting
A spreadsheet so to say the services it needs are started as well.

So far mY only two services is a calendar which emits events over time at certain
Frequency and quote feeds form by it exchange (in which case the websocket
Gets started when there is a consumer that needs it).

My approach is that I define templates In code and then run them.
Your approach is that you create templates by UI.

I guess it would be great to have both.

You want to have a chat?

@awb99
Copy link
Author

awb99 commented Oct 14, 2024

One area where we could cooperate (if you are interested) is ui render components.
I see that you use virtualization for react, and I started to work on something very similar:
https://github.com/pink-gorilla/reagent-table
In reagent-table I use ag-grid, cheetah-grid, highcharts, and a custom canvas-plotter with pixijs.
The reason why I put this all into one project is that it is challenging to get a lot of data into the
browser, and it is even more challenging to display huge data in the dom.
I also experiment there with rtable, a sort of declarative way to define which columns to show,
and how they should be presented (with formatting and styling).
My current solution for sending huge data to the browser and use it to show only parts of
the data is by using techml dataset for the browser, and doing operations there.
This project is a mess, but I use the components pretty much daily.

https://github.com/pink-gorilla/options
The idea behind my options project is to allow something to be configureable with options.
This means that I can auto-generate the ui to display the options. In clj I then use
specter to apply changed options. So basically the option ui has specter-paths.

@kpassapk
Copy link

I have been working with the Scicloj community on kindly-render, and have been meaning to play around with component rendering in this project. (Perhaps with tableplot.)

@awb99
Copy link
Author

awb99 commented Oct 21, 2024

The issue is that all the rendering libs that tableplot uses are not optimized for performance.
At 5000 rows they will already start getting pretty much unusable.

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

No branches or pull requests

2 participants