-
Notifications
You must be signed in to change notification settings - Fork 3
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
2023 full task description #148
Comments
Distribution and CIThere are several ways one could improve the delivery mechanisms, as opposed to the currently only available way – installing everything into the current environment – has obvious disadvantages of polluting your environment. There are many other solutions, which include:
|
PortsThe following ports are possible to be prepared and kept under Continuous Integration (CI)
Also I may use gitian, or similar software to cross compile the software across other platforms |
Search algorithmThe search algorithm should not be completely random (as in "brute force") and needs some guidance. My best candidates so far are:
All these algos shall be interchangeable, using the same interface, that not only allows them to be directly comparable, but also allows you to write your own alternatives, for example for research purposes. |
Modularization and enabling future workGenerally speaking, I'd like every dependency, that the project uses, to be replaceable by anybody, without having to dig in the code, but rather by providing own modules that are simply being called. The list follows:
It will also be very beneficial, if each of the alternatives were able to be called in case the preferred one fails, and lastly, an "offline" version should be called, that, even though its results are inferior, will always be guaranteed to be functional. |
Electrical modeling improvement
|
DocumentationStuff that I'd like to document, but in order to keep it factually correct, like the already existing documentation is, I need to perform the due diligence on the topics.
Gather info from: |
Minor
|
Compare historical resultsCompare historical results against each other across time, to measure the discrepancy – this would allow to detect faster where effort needs to be made in order to improve the quality of the simulation |
Scheduled energy productionScheduled energy production with generators, in a format similar to habits. Imagine, that you realize that there's currently not enough solar power available, but you would like to model an actual manual addition of the charge to your batteries, using either a diesel generator, a generator bike or a portable hand crank generator. You could also define these "addition habits" so, that you'd use them only when the currently available battery charge falls below a certain threshold, also defined by yourself. |
Detailed cloud forecastThe cloud forecast can be made much more elegantly and precisely, using information gathered at least in the following sources:
This will greatly improve the quality of the simulation. |
Leverage Boost UnitsUse Boost Units library to avoid potential conversion errors. |
Synthetically increasing the loadDuring days of rapidly alternating clouded/sunny sky helps reducing the shock on the inverter Whenever the cloud/sun alteration occurs, artificially increasing the load protects your inverter from getting too high a voltage due to slow MPPT controller's reaction time, which would otherwise cease the inverter's operation. |
Hashrate predictionsIncorporate Hashrate predictions into model – it's possible to use tsqsim to not only give you the objective value of current state of the hashrate's relative profitability, but a finer grained prediction could be performed, that would further boost your collected hashes. Focusing on this subject will undoubtedly pave the road for further research into Monero itself, whose blockchain can be equally treated as a Time Series, as the very same tool: |
UIs: console + curses + QtThere's a WIP demo, that can be executed with src/ui_curses_menu.py , which displays pictures like below: but I was never able to get to this point. The idea is to use just one data model and schema (already prepared here ) to deliver several types of UI – from putty-friendly console ones, to desktop-friendly Qt. |
Habits dynamic UI
|
Enabling crypto currencies other than XMRThis is a tongue-in-cheek feature, but I need to ask you about it. Especially if the only reason for you to donate to the project would be, that you may switch the currencies, when you need it, like those which use GPUs. Going in this direction will require a lot of additional work, as for example: a given computer might have a possibility to mine XMR and some GPU coin at the same time, but it has to be taken into account when making the decision, if mining the GPU one currently makes sense in a scenario, that its hashrate already went through the roof. This extends the current "all or nothing" model. Also, I couldn't use the hashrates as a decision criterion only, as I do now, because I'd have to resort to the USD prices of each of the coins, to be able to compare them under a common denominator. This complicates the system, which had however already been prepared for this extension at the same time. Due to this task's controversial nature, it will be treated differently: I will only do it at the end of queue of other tasks, unless they're not funded at all. In such case, I'd however expect an adequate weight to be put on this particular donation address, beyond its maximal declared value. Then the remaining funds from this tasks shall be used for other tasks. |
Business model introductionAnother tongue-in-cheek one. I have the possibility of enabling automated mining donations ("dev fee") to collect something like ~2% from every End User. I sincerely don't expect a lot of income this way, but I have to give you freedom of choice on this one. Perhaps I won't need to announce further fundraisers, if it does work OTOH. Enabling this could however open up an interesting future research topic, that, based on the time of collected anonymous fees alone, could help identifying how the current weather (or climate) affects the usage of the software. OTOH, you might be against it exactly because you DON'T WANT to have this potentially fingerprintable data getting "leaked". There might be even such Users/Donators, who could vote for this feature, in order to be able to install a tailored version of this software at their Customer's farm, which redirects the dev fee towards their own servers. The GPL license, that this software uses, doesn't prohibit you from making profits on Free Software. I'm happy from every supportive User. Exactly in the same way as with the "other crypto currencies" task, I will only do it at the end of queue of other tasks. |
As mentioned in the main issue, this particular issue deals with the individual tasks themselves and the ability for you to vote for or against them individually.
If you wish to donate, please visit this page.
If you have an idea, that's not mentioned here, please discuss it first in the brainstorming thread.
The text was updated successfully, but these errors were encountered: