2021-04-01 14:14:34

Hi all, so i'm currently taking this tech class thing ware i guess you can learn how to coad and stuff.
The teacher didn't no what to do with me at first but i guess she searched ways for blind people to learn how to coad and she found quorum. What i want to nois is it a good place to learn coading, i tryed to do one of the things assignments. Ware your supposed to make some audio with 2 cars passing you.
Anyways ile give a link to the website so you can look at it if you wish.

https://quorumlanguage.com/

Bach is an astronomer, discovering the most marvelous stars. Beethoven challenges the universe. I only try to express the soul and the heart of man."
― Frederic Chopin.

2021-04-01 15:51:01

No, don't do this.  It's a terrible idea unless you have very particular needs, like being at a school for the blind that doesn't have a clue.  That's a research project by some HCI people that got traction in blindness land for idiotic reasons, and the first thing it does is intentionally use different vocabulary and syntax than everything else because they're studying how we might make programming easier to learn.  This means that you end up in blindness coding ghetto.  Think BGT but not just for games and by a university instead of one person.  If you're never going to do programming again it doesn't matter.  if you're going to stick with programming, it'll set you back and you'll have to unlearn stuff and relearn the standard terms and syntaxes and things.

I can think of maybe 2 mainstream programming languages that are used for actual software development that you'd have trouble with due to blindness and I know of blind people using both of them.  You might run into trouble if your school is using one of the graphical educational ones.  Otherwise, there's no reason you can't use what the class is using already.  I understand where your teacher is getting the idea, but "he's blind, therefore he needs a blindness specific resource" is not at all the case.

My Blog
Twitter: @ajhicks1992

2021-04-01 16:30:40

Agreed with Camlorn here. I have written some decent instructions over in the articles room on how to get started with Python if that is what your school uses. I'm still working on editing the second two guides, but only the first one should matter for your purposes. It is going to be a bit before I can deliver updates, migration to a new computer is hard. Like I said, though, you should only care about the first part anyways. If your school uses Visual Studio, you can use that as well, but it's a bit... clunky to say the least. If you look through the topics in this room you'll find some helpful tips for using VS with NVDA. Using VSCode is also possible, though I still haven't entirely figured it all out. To be fair, though, I only allocated like 15% of the usual effort I put into things, so when I have more time I'll try again. IntelliJ and Eclipse work with NVDA as well, though the former may be funky do to its dependency on Java Access Bridge which works for only a selected group of users for some unknown reason. All in all, though, talk to your teacher and tell her that what she found sucks (Okay maybe I shouldn't be a diplomat) and that she should get you started with Python / Java / C#. I guess you could technically do C / C++, but those are a lot for your first language and can be discouraging to learn at times.

2021-04-01 19:45:47 (edited by Dragonlee 2021-04-02 17:21:22)

what is your teacher using to teach programming? I am assuming it is one of those really crappy visual coding apps for total beginners.

in which case tell them to teach programming using a real language and not using some toy that doesn't resemble real programming beyond the complete basics.

otherwise if they are just teaching using python, Java, or whatever and they are just assuming that programming using those isn't possible if you are blind then tell them they are a pretentious ******* *******... or don't do that, but if that is the case then that really pisses me off

2021-04-01 20:44:03

Yeah no, don't. I looked at it and really wasn't impressed. If you ever want to do anything with programming aside from just take this class to get a credit or whatever, use another language. For example, in C:

for (int i = 0; i <= 10; i++) {
    // ...
}

In Quorum:

repeat 10 times
    // ...
end

It has libraries and let's you get off the ground running for audio games, but nothing else, which is sad. Like others are saying, if you're like using Scratch or something (stupid piece of shit), ask your teacher for a different language. Or the same language they're learning, if it's an actual, ya know, language?

2021-04-02 11:09:34

well, were all in sixth grade... So like were not useing the main ones that everyone else uses, i don't even no if their doing coding. The teacher says their making games with like, blocksals and game star and stuff like that. And even if my class is ending next week lol i still want to keep trying.

Bach is an astronomer, discovering the most marvelous stars. Beethoven challenges the universe. I only try to express the soul and the heart of man."
― Frederic Chopin.

2021-04-02 15:36:21

Yeah, even if they're not doing programming,  a variant of BASIC would be better than Quorum.

2021-04-02 15:47:00

They're going to have an easier time than you anyway, because those sorts of educational tools are designed for instant gratification, and those games and whatever are basically built in and they're just turning things on like flipping light switches.  That's simplified, but without some sight involved explaining exactly how they work isn't really easy.  Fortunately, if you want to actually code stuff, they're also irrelevant.  I can think of exactly one graphical programming language of any value, and it only has value to advanced audio people who want to design synthesizers.

A number of us tried at your age and now make large amounts of money.  Or audiogames, whichever matters to you more, though most of us making large amounts of money discovered that being adults doing programming as a dayjob leaves little time left over for audiogames and such.  Programming is the kind of thing you want to be good at if that makes sense, whether you are or not.  Unfortunately wanting doesn't necessarily make you good at it.  But it is a meal ticket for the rest of your life, and a lot more besides.

My Blog
Twitter: @ajhicks1992

2021-04-02 17:17:20 (edited by Dragonlee 2021-04-02 17:20:23)

I keep forgetting how young so many of the users on this forum are. I really need to stop imagining everyone as adults...

Honestly at your age you don't need to be in a big rush to start programming. It might be worth it to wait for a course where they don't use such a kid-oriented tool and instead using a bona fide programming language.

With that said, go ahead and start learning programming even now if you really want to. Personally, I only wrote my first line of code at 14, but only started seriously learning it at 16. A lot of people even start later, some taking it up in their first year of college. And some even later, so just saying you don't need to be in a big rush now.

But keep in mind that game programming is hard, particularly for a blind dev, since you won't have access to things like unity. You can much sooner learn to develop a cloud-based data processing pipeline than a medium sized audio game.

2021-04-02 17:50:56

Yeah, I mean: I did a massive media transcoding cluster at one of my jobs in a couple man-weeks of effort.  Synthizer has taken a man-month or two and my MMO engine project is estimated to have something to show for it sometime in mid 2022 or something like that.

Games with the toy tools you use in 6th grade are easy because the toy gives you 90% of the game and you have very little room for flexibility and creativity in mechanics and all that, but even doing advanced stuff with Unity is harder than most professional programming jobs.  I could go into why, but you're probably not quite at the point where going into why is useful.  Not saying don't do it or anything like that either.  Just don't be discouraged, if you insist on going down the path of jumping straight into audiogame programming, and maybe star by learning to program before you start by trying to learn to make the next Swamp.

My Blog
Twitter: @ajhicks1992

2021-04-26 10:41:15

Thanks, I was about to give Quorum an actual go, some folks on the program-l list use it, and recommended it to a beginner. Yeah, I mean, looking at it, I was like "what the crap! Why is it using a multiline syntax for just making a list, when Python is like

list = [1, 2, 3]

or something like that, and this thing is like:

use Libraries.Containers.List
List<integer> list
list:Add(1)
list:Add(2)
list:Add(3)

I mean, it's hard to keep in your head, well, my head at least. I love about Python that the cognitive load is just, well, much simpler than this. And the libraries, oh my gosh look at this crap!

use Libraries.Compute.Random
class Main
     action Main
          Random random
          output random:RandomIntegerBetween(1, 100)
     end
end

Like look at such verbose crap! Like why in the world would you want all that? One hast to type all this, a lot! Whereas Python is like

import random
print(random.randint(1, 100)

Something like that. I mean, I'm not saying the shorter the syntax the better the language, but there's a point where you can't explain things better by just adding more stuff to type. Sure, auto-complete in Quorum Studio may help, but my gosh, using basically full clauses? Like, we have to *type* all this. Also, there ain't no way Quorum has even close to the amount of libs that Python does. And when things settle down, and we get enough staff, I plan on writing a course for teaching students Python. I may use some open source book like Dive into Python 3 or Automate the Boring Stuff if the license permits it because that's how I've learned.

One great thing that I've done is to pull the weekly lunch menu from a Moodle page, and grab each day's menu from that, and display it on the screen. For that, I had to learn about using Beautifulsoup, Requests (slightly), catching errors, simple debugging, local and global variables, defining and calling functions, variables of course, and, before I knew NVDA would have time to read command prompt output, Argparse, making command line options, and using os or sys for making temp audio files, then deleting them when they're done playing. I used the GTTS package for that.

Now, I'm planning on expanding that to be a full info center for my workplace's students to get info on the menu of multiple providers, notes from staff (teachers, dorm, maintenance), vending machine info (what food is at what number at what cost), all that I can do. Sure, I might be able to do that in Quorum, given enough time. But Python has Django, web2py, py4web, Flask, all kinds of web development stuff (and yeah I want it to be a web app so iPhone users don't have to miss out because I sure as crap ain't paying Apple $100 per year just to host an app that won't be used much, and I ain't paying for some enterprise certificate either, and students shouldn't have to come to me every week to get their app cert renewed. Plus XCode is crap.) Python provides lots of choices, and I'm really just getting started.

Devin Prater
My Blog
Follow me

2021-04-26 12:21:57

@11, i can't agree more with you.
I really don't want to be meen or any thing against quorum, if it helps any one out, then it's all good.
But that quorum sintax you just posted, does not make sence at all...
I'm not saying you posted the wrong sintax, what i am trying to say is that why would you ever use such horrible sintax when you can make use of main stream programming languages?
Point is Wow! quorum looks like the language not to use for audio game creation... It looks like they are just parsing a file and checking weither there are a certain word and then they continue or some thing horrible like that.
I am busy learning javascript at the moment BTW and it looks a lot better than quorum... and the nice thing is once you understand something in 1 language, you will most likely understand it in another.
For example lists in python are the same as arrays in javascript.

best regards
never give up on what ever you are doing.

2021-04-26 16:48:12

Quorum's backbone is Java, which means it's a parser on top of a language. Nough said. Their work is good (epsecially with the scene designer accessibility) but it's the produt of programming in the classroom based research, rather than straight-up coding. This is the textual equivalent of Scratch as it were.

2021-04-26 17:21:36

Yeah, and it's kind of worse than that.  Reading between the lines the only people they could get interested enough to adopt it long term are blind people.  Maybe I'm wrong and they have some big sighted person study somewhere, but their general claim of "let's make a better language for learning" has a giant unspoken "for blind people" footnote, far as I could ever tell.

Afaik it compiles directly to jvm bytecode, and it's real in the sense that the language is properly parsed and all that, and honestly the examples being pasted here are actually about as verbose and annoying as Java itself.  So maybe don't learn Java if you hate it that much, in other words.  But if you actually want to become a programmer it's kind of one of those dead ends where you have to do a 180 and back out at some point and relearn from the ground up.  Efficiency and practicality in the general case are very far from their goals.

My Blog
Twitter: @ajhicks1992

2021-04-27 01:05:12

I don't even think it's worked on anymore, i looked ay the copyright thing and it said something like, 2013 to 2019 or something like that.

Bach is an astronomer, discovering the most marvelous stars. Beethoven challenges the universe. I only try to express the soul and the heart of man."
― Frederic Chopin.

2021-04-27 01:50:55

I don't know if it's being worked on or not, but copyright statements are all but meaningless and lots of people never bother updating them.  You get copyright on your work in the U.S. just by having done it.  I have a whole side rant on how many OSS devs don't seem to understand this and think that if they don't put a license on their stuff, it means we can do anything with it.  It actually means we can't do anything with it at all, because copyright defaults to restricting everything and you have to go out of your way to give it up.

Surprisingly, I can't find a blog or release notes or anything on the web, and I'm not going to bother downloading it.

My Blog
Twitter: @ajhicks1992

2021-04-27 02:59:21

Quorum? I was gonna give it a go but I came to the same conclusion as some of you, in that it seems to be a nitch language with little use in real world projects. However people behind the project are very enthusiastic and they host a yearly conference, idk.

ReferenceError: Signature is not defined.

2021-04-28 05:03:10

Hi, Quorum is definitely still actively being worked on. I have met the developers who are good people who are trying to help improve the learning curve that has been required to get your feet wet in programming. They are mainly targeting k through 12 to try and introduce programming to kids at a younger age. The developers of the language have been closely working with other blind programmers to also make Quorum accessible to everyone. Accessibility is very important to the Quorum team so that everyone has the opportunity to learn how to program.

Setting aside the main purpose of the language to teach programming, Quorum is turning into a powerful language little by little. I was apart of the first class who helped test the language and IDE yeares ago back when the language was called hop. The game engine is pretty powerful built for sited and non-sited users. Given how easy it is to use, and the new map editor that was built about a year ago, it is shaping up to be pretty promising. I know the Quorum team is very open to suggestions and improvements.

However, building a full feature language and accessible IDE does not happen over night as we all know, and there are still bugs. It has taken them years to get where they are now, and it will take more time to continue working out the kinks. The IDE was set back as well since the developers decided over the past couple years to make a switch from using netbeans with the plug in for quorum called sodbeans, to Quorum studio, an IDE built from the ground up specifically for Quorum.
Things have gotten significantly better than they were, I have not played with Quorum in about a year now so I am not sure where they are at now. I know that  a lot of critical bugs that were causing a lot of the problems were fixed after last years annual conference. There are a lot of programmers who are turned away from Quorum partly due to the strange sintax, although the syntax was not created for the average programmer to learn the language, it was created that way to make it easier for beginners to learn the language. The developers took an approach to building the language that had never really been seen before. They  used evidence collected from studies to determine what is the most intuitive syntax for people to use. Even the developers said that it is not perfect, and that things in the language are what they are because it is what people voted for. Perhaps the studies could have been bigger or in more depth, I did not look into the studies they did myself, although Quorum is the first language of its kind, so there is not exactly much precedent.

As for if it is a good language to start with, perhaps. I would say yes if I could guarantee that 99 percent of the bugs were worked out, and that it worked smoothly with a screen reader, but I am just not sure if that is true yet. Give it another 5 or 10 years and I would probably say yes. I am mainly talking in terms of the IDE Quorum Studio. If you want to start in the command line, you can do that, although I always found the instructions on the website a bit lacking on how to set that up. In terms of the programming language, I don't think it is a bad place to start learning, but it is not your only option. Of course there is Python and many other main stream languages. The first programming language you learn will probably not be the only one. The important part truely is finding a nitch where you can sit down and learn programming concepts and teach your brain how to think like a programmer. Quorum tries to make the learning of the language easy so that you can focus on learning programming concepts and deal less with thinking to much about the syntax. At least, that is what they are trying to build.

At a quick glance, their website does look a bit out of date. Not sure why that is, they probably just have not payed it much attention. The team tends to focus a lot of attention on the internal network that Quarom has built up in the email list and slack group, and I guess has not put nearly enough effort in the public facing content.

Hope this helps,

TJ Breitenfeldt

2021-04-28 06:18:35

See, this is *exactly* the mindset that makes Quorum harmful.  Next, we'll try to reinvent all the terminology in physics or something.  The terminal value "make programming easy to learn" is incompatible with the terminal value "be useful to programmers".  Quorum is highly unlikely to ever be the kind of language that gets you a job because it's predicated on this idea that we should throw out everything and rebuild the field from the ground up for ease of learning and that's just not how this works.  You've even seen in this thread: "is easy to learn" and "is easy to think in" are also different terminal values and even incompatible ones at that.

And by the same token, there's a big difference between the terminal values "can write a program" and "knows how to program", in that the latter encompasses a *lot* of stuff like "can talk to other programmers", "can read learning resources in languages I don't know how to code in", a whole list of things, and Quorum gives you none of them.  It's just BGT but with some academic credentials, some people who think what they're doing is a great idea, and enough money that they can power through the problems.  If we want to relegate it to the realm of get kids interested  and then they move on to something else, fine, sure, it probably does that--but as far as I can tell absolutely no one involved or supporting it thinks like that or more importantly sells it like that, it's all "and then this will take over the world".

Their terminal values don't include accessibility either, as such.  If the goal was accessibility, they could have spent the last 10 years making an accessible IDE rather than making a programming language and then making an IDE for it.  Or thrown their money at Jetbrains or something, or I don't even know.  But there's tons of things that the kind of people who can get grants could be doing instead that's way more valuable than this.

But also, since I'm ranting about this now, it took Google 10 years or so to get Go to become popular.  It took Rust with Mozilla's backing about 10 years to become popular.  Both of these had big tech companies backing them and some concrete reasons why you'd want to adopt them.  Quorum isn't going to get there.  "is easy for students to learn" has no business or practical value beyond a couple semesters of college.  It's a dead end, and the only reason I don't bother to call them out unless explicitly asked is that I know with 100% certainty that it won't ever be relevant outside something like little companies that were started as Quorum shops to help blind people get jobs, or as case studies, or something like that.

So, by all means use Quorum.  Sure.  If all you want to do is make little audiogames until the end of time.  If you want to be a serious programmer you have to leave it, so just avoid it in the first place and don't waste your time.  As soon as you decide you want to be serious about this, Quorum immediately has nothing for you.

There is a reason that Esperanto never took off.  As rare as it is for programming and human languages to align, this is the same thing as that.  "overturn all the conventions with our idea of what language should be because we have a metric that says it's clearly better" doesn't work out.  Never has, almost certainly never will.

I'm not disputing that they think they're doing good work.  I know no one involved in it is evil or anything. But it's at best a waste of effort and at worst selling blind kids on this idea that we need the special blind programming language because it's accessible and I really wish they'd wake up and notice.  It's the mindset that lead to the Mathplayer tragedy which basically ended any hope of good math accessibility for the foreseeable future, though fortunately without the ability to have nearly so much fallout and permanent consequences as that.

My Blog
Twitter: @ajhicks1992

2021-04-28 07:27:29

@19 slight change of topic, but now that you mention MathPlayer, have you checked out Mathtype?
It's done by the same folks who did MathPlayer, but they were bought by a company from over here in Spain.
https://www.wiris.com/en/mathtype/

ReferenceError: Signature is not defined.

2021-04-28 07:33:06

I agree with Camlorn on this one. Reinventing the terminology just to make it "easy to learn" doesn't get you anywhere. You don't make programming "easy". Its never been designed to be "easy", its designed to be "productive" and "useful". "Easy to learn" is fundamentally flawed as well; what one person may find "easy" someone else might not. And as soon as people start learning Quorum and they master it and then someone tries to teach them something like Python or C, they're going to be utterly baffled because all the terminology they've just spent semesters learning suddenly isn't applicable. There's a significant difference between something like Rust, where the language introduces new keywords and reuses existing terminology, vs. Quorum, which throws out all the programming terminology that's been built up over the past 2 centuries or so -- and all the mathematical terminology as well, come to think of it -- and says "Hey, lets redefine this entire field because thus study said that it would make it easier to learn". Sorry, but that isn't how learning works. If we all spent our time recreating the terminology for each field that was "hard to learn" we'd get absolutely nowhere and make no progress at all.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2021-04-28 12:24:07

@19: What do you mean by the mathplayer tragedy? can you give more details? I wasn't around when this happened, plus a quick googling doesn't give any relevant results.
I use speech for math too, however I use an add-on that has something like its own mathml to speech converter or something, it's called Access8Math, I haven't encountered any real issues with it yet. I think it can only operate with mathml, but since there are converters out there, I mostly use those and I'm fine in the end, even with trig, integrals and derivatives, polinomials, etc.

2021-04-28 17:13:53

Mathtype is the inverse of Mathplayer and useful, because it lets you enter stuff into Word in LaTeX.  I don't have any problem with that one.

I have to start by describing why Mathplayer is bad, because it's not obvious.

The problem with Mathplayer is the same sort of thing as Quorum.  You can either make math easy to understand for some subset of people, or you can work out how to convey the information efficiently.  Mathml is itself a terrible, terrible way to do math accessibility in the first place, but the solution everyone adopted is "we will try to convert this to semantic English".  it works fine for trig and polynomials and basically everything else you'd encounter in high school/the beginning of college, but starts falling down at calculus, and just breaks beyond that point--algorithmic complexity is not chemistry just because it involves lots of O and N.  The solution for complex stuff is their objnav-like navigation mode, but when you actually get to complex stuff that's like 8 or 10 levels deep half the time and doesn't necessarily even break in the right places, since it's trying to consume Mathml, which is a purely visual description of the content that doesn't care about us in the least (I am glossing over semantic MathML because no one uses it and probably never will for other reasons).  SO basically the failure mode here is you have to switch from "I am reading text" to "I am reading math" mode 5 times in the same paragraph and try to explore it with the objnav thing, assuming that it didn't misidentify the field you're doing, and if it doesn't have support for the field you're doing it falls back to an incredibly annoying "let's be literal" speech mode that no one put any time into because, circling back, the objective "make it easy for newbies" is incompatible with "make it generally useful".

Then you hit things like how paper authors invent new notations and there's like 5 ways to write the FFT (a DSP/3d audio thing), and so on.  Get to something like abstract algebra (I've only done a bit) and just watch it come crashing down.  Once you're at the point of abstract algebra and probability and things like that, there is literally no English equivalent.  Everyone forgets that math notation exists because it's necessary and you need a dedicated way to talk about it because you can't just throw it all into words.  So most of us around my level and higher just end up using LaTeX because you can navigate LaTeX meaningfully by word and stuff, it's semantic enough to get the author's point across, it doesn't like get postprocessed by this giant rule engine that tries to put an interpretation on it because it thinks it knows best, and the authors who wrote the content wrote it in such a way that they themselves could read it before rendering--kind of like writing good Python code, if that makes sense.  There's also Mathml to Nemeth, which probably works out well enough, except that complex equations in braille are way longer than 40 cells and often longer than 80 cells, and you still have the back and forth context switching problem, plus good braille displays with fast refresh rates are $5000 or more and also not portable.

SO, why is this a tragedy?  It's a tragedy because when you solve something for blind people, the first solution eats all the funding and momentum.  Mathplayer sucks for anyone doing high enough level math, but it solves the K-12 problem which is why you can find people who are like "but it works on polynomials and trig".  It does because they *specifically* went and designed a huge number of rules to support that.  And because it does so, there's now no need to do anything else for the K-12 people.  But most of the funding for this stuff is for the K-12 crowd because how many blind people ever do anything beyond calculus? Not many.  So we've basically permanently sacrificed the upper end of this unless someone like myself stops everything and spends a year on it, so that we can let a bunch of blind people do algebra and then never use it again once they graduate.  But! There were probably even solutions!  You could probably do cool stuff with audio, or convert it to a text format like code, or figure out how to let you navigate it by "word" instead of this complicated thing where you go and use a second navigation mode that's like opening a separate window, or I don't even know what else.  But well, too late.  Mathplayer exists, everyone copies it.  And as someone who tried to do this myself, it takes like a year of full-time work to build one of these and like, what are you going to do, pull one of the qualified blind people off their job for free?  Because as with audiogames anyone qualified to work on this probably makes 6 figures or is on their way there.  I have yet to meet a higher level math person who has anything good to say about it, there aren't enough of us for anyone to really care, and because we failed at this there aren't going to suddenly be more of us in the future, because as soon as you get beyond what Mathplayer supports it's as difficult as it was before Mathml existed in the first place and you've solved nothing, save for inserting this brick to the head where whoever is trying to go down the road of math reaches the end of Mathplayer and has to entirely rework how they do everything.  I would say, without any real evidence, that the number of blind people with my level of mathematical knowledge in the world is probably around 10000 people, and my level of math knowledge isn't very high at all, and no one else gets to join that club. Because. We. Failed.

Quorum is kind of the same, in that the resources in blindness land that go to it are going to be taken from solving real programmer problems, and because we have an accessible programming language for learning there's no reason to go work on other things like it.  So instead of a bunch of people who might have tried to solve the general IDE accessibility problem or something, everyone in blindness learning land gets to feel good about Quorum.  Like with Mathplayer, most of the people working on Quorum aren't working programmers, they're HCI and UX people who have some paper that says that it works and their study is all that matters because everything else is opinions.  One of the truths about accessibility is that the people working on accessibility stuff are usually not the people who have to use it, they're some PHD in one of the softer sciences and often sighted.  So you just end up with useless stuff.  The only reason I'm not calling Quorum a clusterfuck and going on a crusade is that unlike with math, we have something like 20 accessible programming languages you can go use instead without a problem, if you don't mind maybe not having an IDE, and if you really really need one there's things like Emacspeak, Eclipse is passable, VSCode is now good, and so on.  Lots of kind of subpar options, but you can still function at a very very high level and Quorum can't take away from that, it's just going to make it a lot harder to add to it, because anyone who's not a programmer isn't going to understand why people who learn Quorum can't get a job in it or whatever without switching off.  At least switching off is easier than getting off Mathplayer, so there is at least that.

It may be possible to argue that Quorum is good for sighted people, in the sense that for sighted people there's tons and tons of options and tons and tons of money and so on that you can just go out and get, and whatever else, as well as lots of ways to migrate off.  SO maybe there it's worth it.  But in blindness land we have to be way more careful about where we let our resources go, not just money but in terms of how unqualified people/people outside the field in question perceive it as being solved or not, because they're the ones who set the priority.  And I'm not okay with sacrificing the parts that you need to actually get a job and stuff like that for "it's easy to learn" because what's the point of it being easy to learn, if learning it is useless?  Now it's the accessible programming language.  There's a contingent of people who believe that it has solved programming accessibility.  I can't even begin to convey how angry this makes me.  We trade off productivity and efficiency and all those things like that for "it needs to be easy for kids" or "it needs to be easy for people just learning the screen reader" or whatever over and over and people either don't notice or don't care in the slightest.  And the people like me, those of us who made it out for lack of a better way of putting it, who went out into the world and found jobs in the fields rather than entering the blindness accessibility black hole where you make it accessible for other blind people who probably become accessibility people and so on, or stay at a university forever with a reader and a ton of human support--well, we're lucky if we're even asked what we need in the first place, let alone actually listened to, and these sorts of tools like mathplayer or the first-party screen readers or whatever are the future and slowly, slowly coming for us.  And like, I mean this post probably makes it clear that I'm angry, but I can't actually properly convey how angry this makes me, when I ask myself what the worst answer to the question "where will we be in 10 years" is and the answer is "I'm on Linux writing my own tools because everyone else dropped the ball and the OS locked down accessibility and most people think what we have now is a good thing".  Which I guess is kind of off topic.  But hey, if I'm ranting I might as well rant, I guess.

My Blog
Twitter: @ajhicks1992

2021-04-28 20:14:26 (edited by Ethin 2021-04-28 20:19:42)

@23, I've personally never liked latex. The entire thing seems absurdly over-complicated and confusing to me. And I object to the idea that very high level mathematics can't be put into English purely because if it couldn't be, we wouldn't be able to teach it to begin with. I've used some pretty high-level mathematics with Math player and its worked alright for me. And that includes calculus as well. In some ways it really seems like your generalizing your experiences (and those from people you've known) to everyone, which isn't the case. And I honestly don't see how latex is any better since you still have to render it somehow. Oh, you can look at the source, but as soon as you get into extremely complicated equations and methods you get just a giant mess. Mathplayer might've been a tragedy, but how else would you go about rendering mathematics? Oh, yeah, we'll just make the screen readers read the latex translations or something? Because I'm pretty positive that wouldn't do anything but hinder everyone who doesn't know latex. We could certainly teach people latex, but really, you'd still need to render it in the end. Mathjacks and friends don't even render math in an accessible form without resorting to MathML. In the end, you need some way of presenting math to blind people. Purely audio methodologies aren't enough. They work for graphs, perhaps, but they won't work for non-graph-based content (e.g.: integrals, quadratures, optimization methods, and such). In those instances you need some way of conveying to the blind individual that information. MathML -- and MathPlayer -- might not be the best way of doing things; in fact, its far from ideal and has some major pitfalls. But its at least an attempt of conveying very complex mathematical ideas to a screen reader when the screen reader might otherwise just ignore the math entirely or completely misread it, (as NVDA does for example on WebAssign). I agree that there are certain ideas that are hard to convey with speech, but MathML is a lot better than nothing at all. I mean, even PDFs don't render math properly, and that's the most common format for expressing mathematics.
As I've said, MathML does have pitfalls. But its better than nothing and it pretty much tells you the math precisely as you might hear it from someone if they were reading it to you (though it can be a lot more verbose in some instances).
I might be sounding entitled and/or like "your typical blind guy" but MathML does have its place and it does equalize the divide just a little. I have yet to find myself in a situation where MathML entirely dies on me and makes what I'm trying to read impossible to understand, and I've definitely read calculus with it, and I suspect even higher-level mathematics here and there. I do wish it was better, of course, just like I do wish I was able to grasp latex. Hopefully we'll make progress on the math front as time goes on.
Edit: Just want to note that nowhere am I trying to imply that MathML (at least the source form of it) is good. because I despise it. But then again, I despise XML in general and wish it'd die a horrible death. If we could just use pure Latex or something equivalent to it as MathML that'd be great... But alas.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2021-04-28 20:55:58

@24
It doesn't matter.  You learn LaTeX anyway if you want to be able to write math.  As far as I know there's no real alternative for us.  Indeed that's another criticism that I have, because when you do math how you read it and how you write it are entirely separate for us.  You can get LaTeX for all sorts of papers off Arxiv.  There's a number of people even on audiogames.net who had professors that could hand them their tests in LaTeX, though I don't remember who else at the moment.  I don't know how many math PHD paper-writing sorts of people still use it, but certainly quite a lot.  There is a huge amount of accessible math in LaTeX and a tiny amount in Mathml.  Most things require learning to code, and LaTeX reads like code, so it's also useful from that angle.  It's also a lot like what you have to be able to read to do mathematica and matlab, and is a format you can get out of most mathematics software packages, e.g. sympy.  The only reason we even have Synthizer is that there's a textbook out of Stanford that has laTeX as the alt text in all the images.  Well-written LaTeX reads like well-written code because when authors write new notation they can put it behind macros which are like functions, though the flip side is of course that poor LaTeX reads like unmaintainable software and is perhaps less understandable than even that.  There is a one-to-one correspondence with it to visual stuff, and so on.  But part of my point here is: yes, we can do better.  I'm not saying LaTeX is good.  I'm saying it's better than the travesty that is the Mathml story.  But we didn't do better.  And we probably won't.

As you continue in mathematics, you will find that Mathml gets more and more verbose.  That's the failure mode here.  The longer you go the worse it gets.  And yes, there's some math that we effectively can't easily put into words, save for literal readings of the symbols.  The first time I encountered that was equivalence relations in discrete math, though I forget the exact context there because it's been a long time.

If you don't know how this works, you can actually go dig around in the Mathplayer directories.  They wrote a custom XML processing engine thing that lets them write rules, then they run substitutions.  It's an expert system implemented via a rule engine.  I think something on the order of thousands of rules, but I'm not sure on the exact number.  They're on your hard drive in plaintext.  It sounds like you're still mostly inside what the expert system supports; it becomes a problem once you aren't, or when you manage to get somewhere where it misfires.

My Blog
Twitter: @ajhicks1992