162 karma · joined October 8, 2022
It takes a little bit of work to colour in equations but I hope more people start doing it (including me, I'd forgotten about it for a while)
I'm hoping to build a prototype for this sometime in Julia's `Symbolics.jl` CAS. It would be just a simple proof of concept to implement derivative and integral rules from Mathlib or some custom maths library, and get them into the CAS. Symbolics.jl seems to be a perfect fit for this since it's made to be extensible, and Julia's metaprogramming would be a welcome addition as well. Either way, I would love to see this become part of the CAS ecosystem.
I feel like at least a large part of the functionality of a general purpose CAS can be written down once, and every CAS out there could benefit from it, similar to what the Language Server Protocol did for programming tools. They also had to rewrite the same tool for some language multiple times because there are lots of editors out there, and the LSP cut the time investment down a lot. They did have to invest a large amount of time to get LSP up and running, and it'll have to be maintained, but I think it's orders of magnitudes more efficient than having every tool developed and maintained for every single (programming language, editor) pair out there.
Main problem is like you said how to write down mathematical knowledge in a way that all CASs can understand it. I've been learning about Mathlib lately [0], which seems like a great starting point for this. It is as far as I know one of the first machine readable libraries of mathematical knowledge; it has a large community which has been pushing it continuously forward for years into research-level mathematics and covering the entire undergraduate maths curriculum and it's still accelerating. If some kind of protocol can be designed to read from libraries like this and turn it into CAS code, that would be a major step towards making the CAS ecosystem more sustainable I think.
It's not exactly what you were talking about, as in, this would allow multiple CASs to co-exist and benefit from each other, but I think that's better than having one massive CAS that has a monopoly. No software is perfect, but having a diverse set of choices that are open source would be more than enough to satisfy everyone.
(I have posted about this before [1] on the Lean Zulip forum. It's open to everyone to read without an account)
[0] https://leanprover-community.github.io/ [1] https://leanprover.zulipchat.com/#narrow/stream/113488-gener...
If there isn't another option, you're stuck. We open ourselves up to horrific effects of browser monopolies like all the security issues that Microsoft didn't give a damn about back when internet explorer had a monopoly. It takes effort to switch to a different browser stack, like moving away from Chromium for example, but in the long term you do not want everyone stuck with only one option, because that will be even more costly.
I hadn't heard about the Mr.Robot fiasco, that's seriously troubling..
As for the tracking - I'm pretty sure Firefox blocks a lot of those by default, last time I checked it was plastered all across their homepage. It's not 100% effective, but if them making an effort to do the right thing pushes you away, you might be asking too much unfortunately. Building an entire browser takes a lot of energy and time, and Firefox seems like the kind of browser that's worth it in the long term.
With colour e-paper screens slowly picking up speed it's going to be even more interesting. Right now their quality is going to be disappointing if you expect the same quality as your phone or laptop, but it's an enormous step up from greyscale screens - and it's still getting better.
(They also have a really nice course on MIT's Open Courseware that covers their book: https://ocw.mit.edu/courses/6-849-geometric-folding-algorith....)