I've written a lot about some vague project I want to work on called meta-acropolis. I've bounced enough ideas around that I feel confident building a proof of concept.
Because it's just a proof of concept, I won't be hosting it on it's own site, nor will I think too seriously about building something scalable. Rather, I'd like to quickly build out some mockups and see how they feel to interact with. To do this, I'm simply going to write some React components and host them on my personal site, which is already written with Next.js (this will also make the mockups easier to use)
As far as methodology goes, I'm going to think in code, I'm going to post the "middle stages" of my work, and I'm going to start over a lot.
My goal with my writing in exegesis is to simply push ideas out at a fever pace, then compose them into something coherent later down the line, so this will be far from an exhaustive description of what I want meta-acropolis to be. That being said, here's a preliminary description of some parts of my vision. (subject to heavy revision in the future!)
To start, I want to focus on creating some tools for learning about RSA, something covered in the Number Theory class I'm currently taking. The concepts are clear, easy to understand, and richly linked with each other, so it should be a good subject to test out my vision with.
1. A learning map
This involves two things. One, it requires a list of concepts required for learning a subject. Two, it involves the relationships between these concepts (which rely on other ones? which require an understanding of which other ones?).
This will manifest itself as a graph of some sort.
2. Some sort of new interface
Yeah, that's really vague. It's hard to pin words to something visual, anyways.
What I mean is something along the lines of my work with exegesis. Looking over an overview of RSA, it'd be nice to be able to hover over a concept, and see a popup displaying an explanation of it (like how you're able to hover over tags and view related information in exegesis). This could be particularly useful for mathematics - it could come in handy if you forget what "coprime" means, for example, as I've done countless times this quarter.
None of that is very specific, but it satisfies me for now. I'm going to turn to coding, and see if I can pump out something presentable. Whatever I have, I will post - I think it may even be informative to look at the "in between" stages of a project when I'm looking back later trying to compose this all into a larger project.
This section is going to be me working through what I'm building in real time. A live log of my thoughts.
First, I need to actually understand RSA (I have my final for Number Theory coming up!). From what I can tell, RSA requires an understanding of Euler's totient function and modular arithmetic. Euler's totient function requires an understanding of the concept of a coprime number, as well as the proofs of a number of sub results (it's multiplicative properties, etc. etc. etc.). Understanding modular arithmetic entails knowing what it is in the first place, and all the operations you can do on modular statements (multiplication rules, division rules, etc. etc.)
I should add as an aside that I don't really like math. I have flashes of interest in it but it never really lasts. If I'm able to build this for a subject I feel so ambivalent towards, I'm sure I'll be able to build more proof-of-concepts for subjects I actually like, like philosophy and code.
Taking notes on more material right now (studying for my final). Another idea: Hovering over a variable in an equation or a proof should highlight every place where it is is used, liked syntax highlighting allows for with code.
I'm putting the cart ahead of the horse here, but I wonder what sorts of objects/entities I'd like in my ontology. Some thoughts:
3. equations - should be a first class object if I'd like that cool syntax highlighting feature