Hi, I would like to contribute to the ‘Build or embed online playground for fortran-lang.org’ project under this year’s Google Summer of Code. I have drafted up a proposal for the same and am eager for community feedback to make the proposal better.
You can find it here:
Playground proposal
@ashirrwad , your proposal is most impressive. I don’t have any experience in embedded playground to make any useful enhancement suggestions to you but even as a lay person and an occasional user of such environments, as I am going through your plan fully I find it looks too good in fact to suggest any improvements! The only edit will be to remove any reference to all-caps FORTRAN
and replace with just Fortran
!
Best wishes for a great GSoC experience, this program is lucky to have you.
Hi @ashirrwad , the proposal looks very promising. I might try and spend some time thinking about barriers to abuse. Any ideas how something like Compiler Explorer prevents users from using their servers to mine Bitcoin or something of the sort? I see some hints on their Privacy Policy that maybe the Amazon services they use help take of this problem for them. Perhaps it’s not such a big concern for a GSoC/Proof of Concept type project, but is at least worth considering. Good luck.
Thank you so much for your kind feedback, I’m glad you like the proposal. I’ve updated all the capital Fortran instances with the proper method as suggested.
Thank you for your feedback. I actually looked into this and while Compiler Explorer didn’t explicitly list out the methods they used, Rust Playground had suggestions on how to achieve it.
They limit the resources available and while the code is compiled no internet connection is available. They’ve aso limited the execution time for the users. I’m sure this can be achieved via proper docker configurations and timing the requests. I’ll look more into it and update the proposal.
Thanks a lot for sharing the proposal. I think it’s strong and goes into great detail regarding the implementation. I like your proposed strategy. The proof-of-concept demo, which I played with last night, is a very nice touch.
In addition to the great feedback you received from @FortranFan and @everythingfunctional, I have a few suggestions:
- I’d like to see a short paragraph stating how you plan to gather feedback from the community on say, UI+UX, priority of features, aesthetics etc.
- I’d like to see a short paragraph describing potential risks (i.e. technical challenges) and ideas about working around them. This suggestion applies for any proposal in general, IMO.
- Consider the social aspects of the tech stack long-term. What I mean by this, the project should be attractive in its implementation and choice of tech stack to attract contributors well past the end of the GSoC project. For example, jQuery is a mature and established technology that would be great for the task. However, it’s also nowadays used mostly in legacy projects and rarely in new ones, and has fallen out of favor of more modern frameworks like Vue or React (and they may very well fall out of favor of something else in few years). And similar with Bootstrap, e.g. Material UI from Google has been growing to be very popular in past few years. We not only want to ensure that the tool works well, but also that it’s attractive to outside contributors long-term. I’m not suggesting that you use one tool over the other. Ultimately, if this proposal was awarded you would be doing most of the work, so you should have the freedom to choose your tools. I’m merely suggesting to state a bit more flexibility regarding the tool stack. I.e. rather than writing “I’ll use these tools”, you could write something like “I recommend using these tools for reasons X, Y, Z, and will consider others”.
Thank you so much @milancurcic for your detailed feedback. I’ve carefully considered all the points you’ve mentioned and utilized them to make my proposal better.
- I’ve added the paragraphs for my take on Community feedback and how I plan to involve the community over the summer.
- There are a few potential risks which I’ve evaluated that might hinder the development, but there are workarounds and they are situational. I’ve added them to the proposal.
- I have made the proposal more open-ended and added flexibility for the tools that will be used during development.
I understand my response has come very late, so I’ve went ahead and submitted this draft on the program page. But I’ll be monitoring the forum for any other suggestions that come until the deadline. I wanted to be thorough with the technologies I have mentioned and was working on examples to brush up my skills. Your feedback was a huge help and made me learn a lot.
Also I want to thank everyone who interacted on this thread for helping me draft up the proposal and providing resources to support my research and learning. It was a really nice experience collaborating with the community and I look forward to doing more of it.