Matt Might, a computer science professor, writes about programming languages, static analysis, PhD advice, and practical topics like fitness.
Commenters link it for his static analysis papers, programming language recommendations, and a post on strength training.
If you want to go further, Matt Mights papers on static analysis are excellent: http://matt.might.net/#papers
Older versions of techniques like those described in these papers were the basis of the Stalin scheme compiler by Sisskind. From Sisskind's research statement:
Stalin is an optimizing compiler for Scheme that performs whole-program static analysis and uses the results of that analysis to generate extremely ecient code. Stalin utilizes a large collection of static-analysis techniques. It performs a novel form of polyvariant flow analysis that uses iterated monovariant flow analysis to perform flow-directed splitting: cloning of specialized copies of procedures and per-call-site assignment of targets to such clones. It uses the results of flow analysis to perform life-time analysis, escape analysis, points-to analysis, and must-alias analysis. These analyses support a novel form of lightweight
closure conversion that eliminates most closure slots, using techniques such as variable globalization and localization, compresses the static backchain, and usually eliminates most closures from programs. It also uses the above analyses to support
flow-directed region-based storage management, where run-time garbage collection is replaced with static allocation and deallocation on a per-abstract-value and per-program-point basis. It also performs flow-directed lightweight CPS conversion, using extensions of the techniques pioneered with Screamer, to support extremely ecient…
Argh, this article is going to give researchers the misleading impression that releasing code as open-source is complicated, that you need to maintain it, ask yourself difficult questions, be an expert in programming, find funding to keep it around, etc.
But in my field, in most cases the source code is never released at all. That's a far bigger problem that not having support to use it.
So fellow academics, please don't use this article as an excuse to not release your code. When in doubt, just push the thing to Gitlab as is, add a README that says "This is research code for paper X and it is unmaintained.", and disappear. It's not ideal, it's not the best way to do science -- but it's much better than not releasing your code.
Related: the CRAPL http://matt.might.net/articles/crapl/
I don't have any resources specific for blindness, though I know a few people who are blind and still have a great quality of life. I have my thoughts on the "disability is not a disadvantage, just another way of being" crowd because that doesn't work for my own situation, but for blindness, I can see the point they're making.
There's that old study that looked at what kind of parents give their children the best start and success in life, and after some factor analysis, the single most important attribute was "loving". Disability doesn't change that.
You might find Matt Might (of "illustrated guide to a PhD" fame) comforting on the topic of having a disabled child in general: https://matt.might.net/articles/tenure (despite the title this post is not primarily about tenure).
Do a small research project first to get the taste of it and see how you go. One option is a masters by research; another is an honours degree (this is something we have in Australia and at least in CS includes a research project, not sure about other countries).
You mentioned in another comment you're about to start an undergrad degree. I'd recommend getting to know some professors early on and letting them know of your intentions; they'll be able to give you guidance and maybe give you some exposure to an existing research project their group is working on.
Also a "substantial original contribution to knowledge in your field" isn't as big as it sounds. See https://matt.might.net/articles/phd-school-in-pictures/
> What if you could easily answer the question "what is everything currently known in mathematics."
I love this. I work on this problem a lot. More generally of the form "what is everything currently known in X"?
I would love to be able to make statements like "I am familiar with X/Y/Z% of the nodes in Computer Science/Medicine/Arrested Development Season 2". I would love it if the abstract idea of the "dent" (http://matt.might.net/articles/phd-school-in-pictures/) a researcher makes could actually be concretely measured as nodes added/updated/subtracted from some corpus of knowledge.
Have you thought about moving the content to a git repo and allowing people to contribute via a pull request?
This comment reminds me of a great article I read ages ago and had to track down. When you're deeply focused in one area, you're most keenly aware of all the aspects of that area that you aren't an expert in. For example, I consider myself to be a complete novice at relational DBs, but from the perspective of your example truck driving, drilling, construction working, mechanic, I might as well be an expert. I guess it's important to keep in mind the scope domains that you're considering for any given situation.
https://matt.might.net/articles/phd-school-in-pictures/ (might not be the original source of the idea though)