Where to host vidyut-prakriya's frontend?

42 views
Skip to first unread message

Arun Prasad

unread,
Nov 16, 2023, 1:42:50 AM11/16/23
to ambuda-discuss
(cross-posting from Discord, with some cleanup)

As a reminder, vidyut-prakriya is our Paninian word generator, and it is the most sophisticated Sanskrit word generator in the world as far as I know. The frontend would be similar to the word explorer on ashtadhyayi.com or sanskritabhyas.in, i.e. a word explorer that shows all forms for a given dhatu, subanta, etc.

A frontend for vidyut-prakriya is useful not only for debugging and for studying but also so that people uninterested in building a Rust library can explore what vidyut-prakriya can do.

Where should the frontend for vidyut-prakriya live? I can think of four options, none of which I especially like:

1) Put it on Ambuda. This is an Ambuda project, after all. What I don't like is that vidyut-prakriya is a bit separate from the rest of what Ambuda does. Its words and prakriyas will certainly be part of Ambuda's dictionary, but it does make sense to have a Paninian word explorer on the site?

2) Keep it on GitHub Pages. We do this currently. What I don't like is that we're restricted to static site serving, and something about GitHub pages feels very temporary to me. I'd like a long-lasting tool to be available somewhere that feels more reliable.

3) Host it on learnsanskrit.org. It's a natural fit for that site, which hosts educational Sanskrit content. But it feels off to have an Ambuda project on a different project's domain. Ambuda's ambitions are much larger than learnsanskrit.org.

4) Host it on a new domain with a link back to Ambuda. This is workable, perhaps if hosted under a new name with a link back to ambuda.org.

My preferences go back and forth, since I don't have a clear view on what I'm optimizing for. I suppose it's some mix of:

- exposing the tool so that we can improve its output
- sharing a valuable resource for students
- promoting our work on Vidyut and Ambuda.

So perhaps (1) is the best option after all. But I'd like a gut check from someone else.

Arun

Arun Prasad

unread,
Nov 16, 2023, 1:44:33 AM11/16/23
to ambuda-discuss
PS: This is on my mind now because vidyut-prakriya is close to a natural stopping point, with almost 2000 rules implemented across all major sections of the text (except accent rules). Once I reach that threshold, I plan to set the project aside for the rest of the year and focus on Ambuda proper and on integrating vidyut-prakriya into other tools.

vidyut-prakriya has suited my chaotic schedule recently since I can work on it in twenty-minute chunks, which is why I've focused on it to the exclusion of other work.

Arun

विश्वासो वासुकिजः (Vishvas Vasuki)

unread,
Nov 16, 2023, 1:56:31 AM11/16/23
to Arun Prasad, ambuda-discuss
(3) seems good. Can link from ambuda (some "updates" banner?) for more eyeballs.

--
You received this message because you are subscribed to the Google Groups "ambuda-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ambuda-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ambuda-discuss/980c36fe-0ed5-423d-89f2-06c841eda6bbn%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--
--
Vishvas /विश्वासः

Ashwin Ramaswami

unread,
Nov 16, 2023, 9:52:10 AM11/16/23
to विश्वासो वासुकिजः (Vishvas Vasuki), Arun Prasad, ambuda-discuss
Arun, can you share the current GitHub Pages link for vidyut-prakriya? I can't easily find it on the vidyut Github repository.

--
Ashwin Ramaswami


Message has been deleted

Shreevatsa R

unread,
Nov 16, 2023, 11:26:02 AM11/16/23
to Ashwin Ramaswami, विश्वासो वासुकिजः (Vishvas Vasuki), Arun Prasad, ambuda-discuss

Typing on phone, but: I've been very happy with static hosting for my personal stuff: I'm currently using Netlify (just the free tier) but GitHub/Gitlab Pages should also be fine, I don't think we need to worry about them being temporary, as static pages are easy to serve and changing hosting is just a matter of copying files over (e.g. will work even from an S3 bucket). Only the ". github.io" in the URL is a concern, but most of these providers have a way for you to use your own domain, while still using them for hosting behind the scenes

Arun Prasad

unread,
Nov 16, 2023, 11:30:18 AM11/16/23
to ambuda-discuss
(whoops, wrote a reply from the wrong email.)

> Arun, can you share the current GitHub Pages link for vidyut-prakriya?

Thanks for asking. Shreevatsa is correct -- that's the link where we have this now. I'll update the README so that the frontend is more discoverable.

Roughly in order of priority from most to least, what I care about is:
- providing a frontend to students so that they have a useful tool.
- collecting feedback and surfacing bugs from people using this tool.
- providing a showcase for our work so far, both to entice other contributors and as a kind of soft branding. (I'm planning to cross-post a blog post about this work in wider tech forums once I hit the 2000 rule mark.)

Arun

Kishore Chitrapu

unread,
Nov 18, 2023, 3:30:44 PM11/18/23
to ambuda-discuss
Option#1 seems to align well with Ambuda. Building on our previous discussion about specialized workflows through sub-domains or paths, how about this structure?
1. readers go straight to ambuda.org
2. proof-readers enter ambuda.org/proofing for editing
3. vidyut users can be directed to either ambuda.org/labs, ambuda.org/vidyut or a dedicated sub-domain vidyut.ambuda.org.

Regards,
Kishore

Shreevatsa R

unread,
Nov 18, 2023, 6:11:45 PM11/18/23
to Kishore Chitrapu, ambuda-discuss
Agree with Kishore. And this is what I was suggesting in my previous email as well. I couldn't add these details then as I was typing from phone, but I have a bunch of separate static sites hosted on Netlify but all using the same domain — just for completeness/example, looking at my config file these seem to be:


They each correspond to a different Github/Gitlab repo, and behind the scenes a 3-line config in netlify.toml takes care of redirection etc so that the user cannot see the underlying domain or any trace of Netlify. GitHub Pages has a similar feature of custom domains. So we could have ambuda.org/vidyut-prakriya or vidyut-prakriya.ambuda.org and continue to host on one of these. (That is: "what should the URL be" and "what service should host it" are orthogonal questions that can be considered independently.)

I don't share the feeling of GitHub Pages as temporary, and in fact I think of being constrained to static site serving as an advantage: it forces the site to be agnostic to / not need a backend server, so the site can be easily picked up and re-hosted somewhere else, and if we want vidyut-prakriya to be usable by other projects written in different programming languages, then a static site forces this to be true (anyone else can use it the same way with a bit of JS/WASM/whatever).

Kishore Chitrapu

unread,
Nov 18, 2023, 10:27:11 PM11/18/23
to Shreevatsa R, ambuda-discuss
Agreed. The current vidyut-pakriya UI on GitHub Pages is clean and easily attaches to Ambuda's design. Implementing it as a path, as Srivatsa suggested, using Netlify appears to be a simple configuration process.

Arun Prasad

unread,
Nov 20, 2023, 1:33:42 AM11/20/23
to ambuda-discuss
Thanks, all, for the feedback.

Based on the discussion here and on Discord, serving from ambuda.org seems to be the group's feeling based on:
- alignment with the Ambuda project
- ease of serving
- branding and outreach
- synergy with our broader ecosystem of Sanskrit tools.

On a technical note, I broadly like a static approach if I can resolve the following technical issues:
- how to support word search
- how to manage increasing complexity in the frontend app (krdantas, taddhitantas, tinantas, subantas, & samasas, + search + prakriya view, plus other kinds of views that are difficult in a frontend app without large side data.)
- how to test the app's pages

All of these are easier with server-side approaches, which is why I incline that way, and doing has the same forcing function re: reuse that WebAssembly does.

Arun

Shreevatsa R

unread,
Nov 22, 2023, 9:10:10 AM11/22/23
to Arun Prasad, ambuda-discuss
I would recommend just doing whatever works for you / whatever you find easiest. :-)

(Just as theoretical discussion about the possibility of doing things with static pages, though, https://shreevatsa.net/bhartrhari/ is implemented as a bunch of several static pages (generated at build time with Python and jinja2 templates), and it also has a barebones search, implemented by loading the sqlite db + searching with sql.js. This works fine because the data is pretty small, but there exist tricks to work with larger data.)

Arun Prasad

unread,
Nov 29, 2023, 10:35:01 AM11/29/23
to ambuda-discuss
New frontend in progress, aiming for a release by end of day tomorrow (US). For now our old static site setup is sufficient:


Major changes:
- various bug fixes (अमार्ट्, खौनीहि, श्रमयति, etc.)
- much stronger for sanAdi-dhAtus, including यङ्-लुक् (बोभवीति, etc.) See here for a fun example of how many variants यङ्-लुक् can have.
- much stronger support for subantas, taddhitantas, samasas, and vakyas.

Remaining work for this release:
- [UI] add taddhitAntas
- [UI] add nAmadhAtus
- [UI] add more examples for subantas
- [backend] clean up some redundant rules in the subanta-prakriyAs
- [docs] update repository documentation (in progress locally, including a new ARCHITECTURE.md doc to describe the program's design.)
- [docs] Add code examples to the `examples` directory on the repo.

Arun

Arun Prasad

unread,
Dec 3, 2023, 11:04:19 PM12/3/23
to ambuda-discuss
The demo version is hosted in the same place as before. Now I'm going to concentrate on integrating this data into a dictionary and pada-ccheda engine. Please look forward to it, and let me know if you'd like to volunteer to try it out.

Arun
Reply all
Reply to author
Forward
0 new messages