2021-04-28 21:17:02

@25, I've just always had difficulty reading latex. I'm trying again (I just installed gnome-latex and texlive) but when I use something like latex I always automatically search for something that lets me render it into something that gets rid of all the noise, so to speak.

"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 21:31:55

To clarify, this is what I mean by a "mess" when I say that reading Latex is just baffling to me: Take this sample from the RISC-V ISA manual:

\section{Programmers' Model for Base Integer ISA}

Figure~\ref{gprs} shows the unprivileged state for the base integer
ISA.  For RV32I, the 32 {\tt x} registers are each 32 bits wide, i.e.,
XLEN=32.  Register {\tt x0} is hardwired with all bits equal to 0.
General purpose registers {\tt x1}--{\tt x31} hold values that various
instructions interpret as a collection of Boolean values, or as two's
complement signed binary integers or unsigned binary integers.

There is one additional unprivileged register: the program counter {\tt pc}
holds the address of the current instruction.

\begin{figure}[h]
{\footnotesize
\begin{center}
\begin{tabular}{p{2in}}
\instbitrange{XLEN-1}{0}                                  \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ \ \ \ x0 / zero}}      \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ \ x1\ \ \ \ \ }}            \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ \ x2\ \ \ \ \ }}       \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ \ x3\ \ \ \ \ }}       \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ \ x4\ \ \ \ \ }}       \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ \ x5\ \ \ \ \ }}       \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ \ x6\ \ \ \ \ }}       \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ \ x7\ \ \ \ \ }}       \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ \ x8\ \ \ \ \ }}       \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ \ x9\ \ \ \ \ }}       \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x10\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x11\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x12\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x13\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x14\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x15\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x16\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x17\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x18\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x19\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x20\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x21\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x22\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x23\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x24\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x25\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x26\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x27\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x28\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x29\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x30\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{\ \ \ x31\ \ \ \ \ }}        \\ \cline{1-1}
\multicolumn{1}{c}{XLEN}                                  \\

\instbitrange{XLEN-1}{0}                                  \\ \cline{1-1}
\multicolumn{1}{|c|}{\reglabel{pc}}                         \\ \cline{1-1}
\multicolumn{1}{c}{XLEN}                                  \\
\end{tabular}
\end{center}
}
\caption{RISC-V base unprivileged integer register state.}
\label{gprs}
\end{figure}

Some of that is easily understandable: we declare a section entitled "Programmers' Model for Base Integer ISA". Then we have the introductory paragraph for that section which refers to the figure known as "gprs". Its the actual figure definition that confuses me completely. Its obvious that "instbitrange" is a macro, but its confusing on exactly what goes where. As another example, here's another sample from the same document but a different section, explicitly about the "Base Instruction Formats":

\begin{figure}[h]
\begin{center}
\setlength{\tabcolsep}{4pt}
\begin{tabular}{p{1.2in}@{}p{0.8in}@{}p{0.8in}@{}p{0.6in}@{}p{0.8in}@{}p{1in}l}
\\
\instbitrange{31}{25} &
\instbitrange{24}{20} &
\instbitrange{19}{15} &
\instbitrange{14}{12} &
\instbitrange{11}{7} &
\instbitrange{6}{0} \\
\cline{1-6}
\multicolumn{1}{|c|}{funct7} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{1}{c|}{funct3} &
\multicolumn{1}{c|}{rd} &
\multicolumn{1}{c|}{opcode} &
R-type \\
\cline{1-6}
\\
\cline{1-6}
\multicolumn{2}{|c|}{imm[11:0]} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{1}{c|}{funct3} &
\multicolumn{1}{c|}{rd} &
\multicolumn{1}{c|}{opcode} &
I-type \\
\cline{1-6}
\\
\cline{1-6}
\multicolumn{1}{|c|}{imm[11:5]} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{1}{c|}{funct3} &
\multicolumn{1}{c|}{imm[4:0]} &
\multicolumn{1}{c|}{opcode} &
S-type \\
\cline{1-6}
\\
\cline{1-6}
\multicolumn{4}{|c|}{imm[31:12]} &
\multicolumn{1}{c|}{rd} &
\multicolumn{1}{c|}{opcode} &
U-type \\
\cline{1-6}
\end{tabular}
\end{center}
\caption{RISC-V base instruction formats.  Each immediate subfield is
  labeled with the bit position (imm[{\em x}\,]) in the immediate
  value being produced, rather than the bit position within the
  instruction's immediate field as is usually done.  }
\label{fig:baseinstformats}
\end{figure}

That's what I mean by "mess". Maybe some of its obvious, but the extra noise in there makes it nontrivial to decode and understand. I've worked with tests in latex before and they were easier but I'm just trying to gain a general understanding of latex. And looking at things like this just turns me off because it just looks ridiculously confusing and arbitrary. But maybe I'm just completely confused.

"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 21:32:24

I used latex throughout university, yes, including tests, therefore can't comment on how good math player is, especially that camlorn says there are only  corner cases when it ffailes. Haven't red very complex math since then.  However, I stil don't understand why he is so mad. If you don't like the tree navigation from math player, I guess it would not bee too hard to flatten it programatically. If you don't like the substitution it does for so called new notations... well... Either replace them, or convert the mathlm into latex and read them. If you don't like raw latex, you can use latex-access to turn it into your custom code. I used it both for conversion into my own braille code and speech. IN my view, if you have either mathml or latex, you can make it work. The real problem is that, most times, you don't have either. Just nice looking pdf images.

And well, since we are here, quorum... I don't know. I try not to generalize my own experience, like Ethin said. I mean, I certanly would prefer a mainstream language over a ghetto one, especially over a blind ghetto one. Still, I don't have enough data to contradict their arguments, which are mainly that they make learning programming easier and then people can switch to serious languages afterwards. They say that some never try to learn because mainstream languages and tooling are too hard to use at first. People get discouraged and stop trying. If they start with those ghetto tools, they get enough confidence that they can tackle real languages later. The counter argument, which I tend to support, but only emotionally, without rational justifications, has been already exposed here: people get use to that easy language and never manage to make the switch to a professional level. How can we determine who is right? I don't know, I feel this is more a psychology question, raterh than technical. SO, I guess I am not qualified to answer.

2021-04-28 22:10:32

@28, the problem is that the mainstream tooling isn't *hard* to use at all. You've got visual studio which practically guides you through the creation of a program. You've got tons and tons and tons of online tutorials and books and guides. Microsoft describes how to do literally anything you could ever want to do in VS. The tooling might be harder on Linux, but you've got VSCode to help you out. To my knowledge quorum has never posted where they got their data or how, which makes their entire argument suspicious. All they say is "We did a study".

"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 22:55:01

@28
If you understand how trivial all of this is for the sighted and you understand how bad it is for us by comparison, you'd be as mad as I am, especially since we can trivially do better with the amount of money the blindness orgs are sitting on and spending on stupid things.  Look at the Holman prize winners sometime (I'm not sure that's still running).  Light House for the blind handed out a huge amount of money to one-off things that help only one or two people instead of important things that could benefit us all.  We do that all the time.  It's a terrible waste.

I'm perfectly willing to admit VSCode changed my life and made Synthizer happen twice as fast.  Like, that's seriously how much good tooling matters.  Start stacking yourself up to sighted coworkers and stuff and you work harder for the same level by a lot.  We've had other IDEs before VSCode but they all had problems of one sort or another.  VSCode also has problems but it's the first one that doesn't just fall down.  But the thing is that sighted coders barely type their code.  It's all "I typed two letters and said yes this is what I want, then clicked build, then all the problems were in red with hints how to fix them" except that in modern IDEs you don't even hit build to find out what your errors are.  The Quorum people could have been working on giving this to us 5-10 years ahead of when we got it, and then kept going and done better, all before VSCode was even on the radar.  But their terminal value isn't actually helping blind people code, they've just ended up in a  place where they're pulling that sort of energy and perception to themselves.  But again: it's not nearly so bad as things like Mathplayer, because no matter how far they pull the worst they can do to those of us who code professionally is nothing.

The problem is that unless you're experienced enough you don't see the problems.  But because of the problems it's really hard to get experienced enough.  Then everyone develops off the vast majority who need to learn.  Then we all go "huh, I wonder why blind people don't have jobs" and it's just like, you realize that you could fix this by just going to orgs that make job-oriented software and giving them a million dollars?  I bet Jetbrains would totally have made their IDE accessible for a million dollars, for one thing.  Quorum has probably easily spent well into the 6 figure range, but a million certainly isn't out of the question if not more, and the blindness orgs definitely have that kind of money.  The path out of Quorum for the sighted is grab any IDE, install it, and just go.  The path out of Quorum for the blind is learn to configure your screen reader, discover that IDEs suck and you'd better learn the command line, figure out how to efficiently navigate the inaccessible CI pipeline site, and so on, just tons and tons of edges.  The path out of mathplayer is even worse because learning LaTeX is not a trivial exercise.

you don't solve the problem for experienced people who need to use these tools in anger by solving them for students and other people getting started.  You have to work from the perspective of making it useful and scalable, then figure out how to teach it.  Writing this stuff in a format that's teachable means that as soon as it leaves the classroom it just breaks.  But writing this stuff for the classroom means that there's very little reason to fund it again because the work is perceived as having been finished and it's very hard to convince people that that's not the case if they can point to a bunch of students getting good grades because students getting good grades is a measure we have tied to success even though it actually really doesn't matter at all.  In the case of Quorum, whether they want to be perceived this way or not, they've done a good job of becoming that language for blind people, and the only saving grace is that they're still small enough to not have sucked everyone blind who might take a programming class in.  To be honest it's hard for me not to see it as them failing to get traction in sighted land, and then pivoting to use us as a sort of captive audience, but admittedly that's probably not how it happened.  Even so, as far as I can tell that's nonetheless where it is.

@ethin
I agree that that's noisy, but when you put Mathjax in plain source mode or Wikipedia in LaTeX rendering mode you can often get just the math parts of the document in LaTeX, with the rest formatted via normal HTML.  That particular path is much better, when you can get away with it (which, among other places, is all of Stack Overflow).

But again I'm not saying LaTeX is great.  They both suck.  It's not that LaTeX is amazing, it's that LaTeX is scalable in the sense that LaTeX doesn't fail as you continue to push the envelope and that you can get it as the output of a lot of things.  Admittedly I should try MathML with my braille display sometime, but braille is just so terribly slow and these days I'm too busy coding, Wikipedia and SO give me LaTeX, and there's just no need.  But MathML is actually almost one-for-one Nemeth, so that probably at least works out (or could, maybe it's buggy).  Except that braille doesn't top 100 words a minute which is in itself a problem.

My Blog
Twitter: @ajhicks1992

2021-04-29 00:52:53

@30, ah, I understand now.
I've wanted to use VSCode for a while now, and I even installed it. (I had to hit alt+shift+F1 and then ctrl+E to enable the editor accessibility since I'm on Linux, though.) I hit a couple issues right off the bat, but I don't know if they're actual bugs or things I need to configure. They are:

  • The editor uses "all punctuation mode". This is incredibly annoying since (1) it overrides *any* punctuation I have set on my screen reader, which is I suppose okay, but (2) I don't know how to change it. I don't need to know where commas are, for example; my screen reader tells me that well enough via its pitch changes and pauses.

  • The editor is kinda hard to type in. It works sometimes and sometimes Orca doesn't see it and so it doesn't automatically enter focus mode.

So are these issues of VSCode and should I submit them as bugs or are these just things that I need to configure?

"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-29 02:21:48 (edited by Quin 2021-04-29 02:22:15)

You know, with the way Orca's going, I wouldn't be surprised if it's at fault.  Yay for user specific hacks that break everything else, I guess.  This is the only thing stopping me from using the platform as a primary.

2021-04-29 02:49:11

@32, I really, really hope Orca gets updated or a new screen reader comes along. Linux is sadly lacking in the desktop screen reader department.

"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-29 03:06:39

Yeah, so on Windows it's a normal Chrome edit control and respects normal screen reader settings?  I have no idea what you're talking about.  I think that I've seen your focus thing though, but usually a quick ctrl+tab fixes it.  It might be worth reporting at least the focus one, though the punctuation thing sounds like either Chrome or Orca.

Word navigation is kind of broken on Windows admittedly due to upstream issues in chrome that we'll see a fix for who even knows when, but it saves me so much time that I just flat out don't care about it even though it's very annoying, frankly.  Nothing like an accessible debugger and quality autocomplete and error/warning reporting to make you just say "fuck it, it's bugged, so what" after you adapt to them (supposedly there are even cooler niche things like accessible markdown previews and things, but I haven't gone there).

Make sure to install extensions for your language of choice, otherwise you're going to be like "wtf what is even the point".  It doesn't come with any built in.

Mind you, all that said, if you're already putting up with Linux you could try Emacspeak which also had a lot of this, just in a...let's call it a much harder to swallow package, being as afaik it doesn't even have default keybindings for a lot of it.

My Blog
Twitter: @ajhicks1992

2021-04-29 04:05:59

@34, I've tried emacs before and I really don't see the point of it. Its ancient and definitely not modern by any standard. I don't even think its built-in web browser supports modern web functionality. Doesn't help that its keybindings are just awkward.

"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-29 05:45:20

Emacs is ancient but it's also customizable as hell. You don't have to use it for everything, its web browser isn't ideal, but there are plenty of accessible alternatives for that. I just enjoy it because it does provide excellent support for the work I need it to do, including things like excellent remote file editing and audio syntax highlighting.

2021-04-29 05:47:20

@35
And yet I have two coworkers who use it and have spoken to a lot of people who do.  It's more popular than you'd think, though a lot of that is probably momentum, and I wouldn't exactly call it popular objectively.

I actually fully agree with you though.  There's a reason I haven't run to embrace Emacspeak.  The UX is something like "first read the airplane manual and then you can press this 5 key sequence and it's done your homework and bathed the dog".  And I mean yeah, we shouldn't design things to be easy to learn first especially when it comes to accessibility, but there should be discoverability somewhere closer than the next galaxy.

Also Emacspeak is Raman, who has a lot of weird ideas about how stuff should work, and so at least for me it's "get a Linux vm with a dedicated audio device to work out esoteric keybindings and also you have to set up a bunch yourself because we didn't map them even though you need them, it's by someone who might not have done a good job for anyone but people exactly like him, and if you do this for a month you might know enough to decide if you want to keep learning this" and just no, I totally get why you haven't.  But if I were already on Linux and putting up with all the bugs in Orca and things like that I'd probably give it a serious try because hey, it is admittedly a strong reason to use Linux, and it's not like much else Linux accessibility is going right these days.

My Blog
Twitter: @ajhicks1992

2021-04-29 20:36:53

@29: in order to make vs work well, I had to:
1. disable solution explorer file previews in options.
2. enable UIA selective events registration in NVDA.
Some time ago, I also had to install an addon if I wanted autocomplete support. I am an advanced computer user, and I don't find this problematic. However, it might be for kids with less computer knowledge. I met those issues with my students. I don't know too many things about quorum either, but, if they make the environment easy to set up and work with from an accessibility perspective, good for them.

@30: I think we had this discussion before, I can't talk  regarding money allocations, because I have no idea what the blind orgs in the US do.
But, for general IDE accessibility... I am working in vs daily, my friend in Idea,  and things just work. Yes, with the configuration tricks I mentioned above, but they work. No problem for an expert.  IF by "press two letters and hit build"  you mean autocomplete, it worrks. If you mean quick actions and refactorings, it also works. IF you mean productivity enhancers like resharper... They are not used in my company, I read somewhere that they don't work. The error list is also automatically focused for me at building, otherwise I have to use a shortcut. Not sure I'd want to hear all errors automatically, as it would spam me while writing.
It's true that all jetbrains IDE's weren't accessible for a long time, but now the IDE accessibility landscape on windows looks good to me.

Emacspeak is also the only way I'd dare to code on linux. good I amm not forced to. smile

2021-04-30 16:46:12

Around post 30, Camlornwrote:

> But the thing is that sighted coders barely type their code.  It's all "I typed two letters and said yes this is what I want, then clicked build, then all the problems were in red with hints how to fix them" except that in modern IDEs you don't even hit build to find out what your errors are.

I, they can, can do what? Like, what the crap! I spent a week or so on a program in Python that used Requests to pull down a page, and Beautifulsoup to grab an element after finding specific text, and outputing it. I did have it output using GTTS in speech, but then discovered that NVDA could just read the CMD window right when the printed text came in. I didn't think NVDA would get there in time to read it. But yeah, I did all that, and you're saying a sighted person could do that in much less time?

Devin Prater
My Blog
Follow me

2021-04-30 17:51:32

@34
Have you tried snippets yet? The Dart JSON and Flutter packages both require a little bit of boilerplate to get started with classes. Needless to say I don't need to write any of it anymore. Two letters and VS Code just handles it, and alls I do is give it a class name. Absolute magic!

-----
I have code on GitHub

2021-04-30 18:18:17

@38
Yes, a lot of things have gotten better.  Check the timelines on all of that and you'll find that most of the improvements have happened in the last 4-5 years at earliest, though.  But lots of people still have problems with VS, as far as I know Java Access Bridge just flat out refuses to work on some computers in a way that can't be fixed without herculian effort, "I have to do these extra things that no one has written down unless you ask" is the first thing you said in your post, and so on.  Then you hit profiling, Travis Ci, Appveyor, etc etc etc.  The list goes on for a long time.  It's all something that can be dealt with, in one way or another.  If it couldn't be I wouldn't have a job.  But none of it's easy and Quorum misses the point, as do all these other things in one way or another: aiming to fix it for students is the worst way to go about making something efficient. 

But if you look you'll notice that at best we did nothing to make this happen.  Mostly it's companies randomly deciding to do it at some point without our help.  Quorum has been there for most of this.  The resources that went to them or to the Holman prize or to probably 50 other things I could go find in 5 minutes could have gone toward solving this problem and made a huge dent in it.  Or toward solving a bunch of other things.  Everyone likes to say "we need to get blind people jobs" but no one seems to ever stop and find out why blind people graduate high school or college or whatever, then don't actually get the job.  Instead, we pour resources into finding/making inspirational figures, and toward making sure that more people graduate.  Youi can shove as many people into the airplane but that's no good if the airplane can't take off, if that makes sense--and we're doing the equivalent of not even bothering to build the engines, and most of our wins as programmers lately have been "I'm Microsoft and the whims of fortune favor you".  Same with most other stuff software related, programming or otherwise.  That, or there's someone behind all of it that's doing a really, really bad job making sure anyone knows they exist.

@39
Sighted people don't have to memorize method names or method parameters.  They generally don't have to open docs.  In Python if you have Mypy going and the libraries you have have type definitions the IDE can check whether or not your code is calling with the right types as you type.  You have to learn how libraries work as a sighted person.  And you have to decide what to do and what path to take.  But after that, yeah, the IDE is anywhere from 10 to 100 times less effort depending.  Then you right click a line and hit add breakpoint and hit f5 or whatever and your program stops and you can just see all the variables right there, run line by line, etc.  You can jump between files by pressing ctrl+p and typin a few characters of their name, you don't have to alt-tab to explorer, the list goes on for a very long time.  There are CLI alternatives for a lot of this, but if you try something like VSCode for any length of time and get yourself over the learning curve you'll probably start to see how the CLI options even suck for us by comparison.  Frankly VSCode word navigation is entirely fucked and will continue to be for the foreseeable future because of a stupid Chromium bug, but the rest of it makes up for that by enough that I deal with it.  If I had had good options for all of this back in 2013 or 2014 when I was still doing Libaudioverse--well, I can't for sure say that it'd have reached 1.0 before I stopped having the time because I'm a way better programmer now and a big part of why it's not finished is undoing mistakes, but I can say that Libaudioverse got to within a couple man-months of that and that with Synthizer VSCode has let me code 2 or 3 times faster than ever.

Not sure why you spent a week on what you're mentioning though.  Don't know that an IDE would have helped you.  It sounds like you have a lot to learn because as described that project should have taken at most a couple hours, but maybe there's hidden complexities.  You do have to be at a certain point--if you're still fumbling with the language or aren't good at learning libraries it's not going to be helpful, because it's more like handsaws versus those big scary power saws that'll eat your hand.  It cuts where you tell it to but it doesn't know if that's where you wanted, kind of.

@40
I know that snippets exist, but they're not applicable to what I'm doing: most of my code isn't boilerplate in any way.  Maybe I could somehow get Synthizer in there but idk.  I work with tools and write code which avoids noise as much as humanly possible and by the nature of my resume and skillset that probably won't change, but maybe it'll be a godsend when I switch to Rust for the projects after Synthizer.

My Blog
Twitter: @ajhicks1992

2021-05-01 10:36:11

@41
Don't forget, they don't just do code, they do anything text. I have one for populating my Dart analysis file. I know I could keep a template and copy and paste, but why when I can just type anal and the whole thing gets populated?

You could use it for adding a license to new projects, there's a whole load of formatters, so you could write yourself notes including the date or whatever. It's a really powerful feature. Only slight downside, I could see where it might get a person to use snippets instead of breaking their code into smaller functions if they weren't careful.

-----
I have code on GitHub

2021-05-01 11:41:23

Couple other things I will add to the discussion about VS code is firstly, there are major accessibility improvements coming out virtually every update. They really listen to A11Y feedback on their gitter chat and fix things quickly, even for us.

Although admittedly it seems to all be driven by one dev (isidorn), so hopefully they aren't hit by a bus because it could lead to another dark age for blind programmers.

And there is one thing VS code offers in terms of accessibility that is never mentioned but is in my mind astronomical. It is the only accessible environment for Jupyter development. The only freacking one. For those who don't realize the significance of having an accessible jupyter IDE, since about 4 years ago or so all data science courses in uni use jupyter and because of not having any good accessible IDE that didn't want to make me pull my hair out I stopped taking more data science courses, because it wasn't worth the added effort of making jupyter work. If VS code had the amazing jupyter support it has today, I might have gone into data science, because otherwise I loved it.

All other jupyter IDEs are non-workable, although it might change a bit once they switch over to CodeMirror 6. Jupyter Notebook sucks, Google code lab sucks. The only jupyter IDE that is actively trying to make themselves accessible is Jupyter Lab, but when I was checking up on their progress in December, an accessibility expert they hired just put up his audit of Jupyter Lab's accessibility and it completely missed all the major accessibility issues preventing it from being screen reader accessible and even made screen reader accessibility suggestions that would be actual anti-features for us... Prompted by this I wrote a long post on that GH issue explaining how they are dropping the ball on this and failing to take actions that would actually make the IDE accessible. Especially frustrating since I wrote the first comprehensive issue explaining the accessibility problems almost 3 years ago now. After calling them out on how the audit back in December was misinformed for screen reader accessibility they invited me to a team meeting, where I laid out the real major problems and how to solve them, but really not sure if they took my advice to heart. Sad because I pointed out much of the work that needs to be done is literally to just take recipes from WAI-ARIA authoring practises doc and make sure their widgets implement the aria, which really isn't that hard since the html structure is there,, it just needs the aria markup and maybe filling in some gaps in keyboard navigation (which is also mostly there).

Well that turned into a big rant on Jupyter  Lab accessibility which I didn't intend... just frustrating when accessibility of some IDEs isn't actually far away but the dev team approach and the accessibility "experts" they hire prevents us from having equal access. After I finally finish my masters this month I plan to check up on them and maybe roll up my sleeves and contribute some code.

2021-05-01 12:02:39

Also in regards to MathPlayer, I use Access8Math, which makes the tree based navigation better imo and you can also just read it flatly if you wish. In fact you can choose at what level you are reading it flatly. You can zoom in on a particular part of the expression tree and then just read it flatly at that point using the review cursor.

It still has the issue of misinterpreting the semantics of mathematical symbols when they aren't being used in the most common way. However, this is a very hard problem to solve, so I don't blame either MathPlayer or Access8Math. The problem with math is it was developed as a strictly visual language, unlike programming languages which were developed to be equally readable by humans and computers. Since a programming language can be easily read by a computer, it can be easily transformed by a screen reader to a VI readable format. Math was designed as a visual exchange between sighted people and although it is a formal language, the natural languages we speak are also meant as a human-human communication and so both math and natural languages are ambiguous and require very subjective contextual interpretation to make sense of, although of course math is less ambiguous, but it is still more  ambiguous than computer languages.

2021-05-01 14:42:42

I'm definitely new to programming, and this was my frist actual project. I learned a lot, but yeah it definitely took a while.

Devin Prater
My Blog
Follow me

2021-05-01 17:41:29

@Dragonlee
I'm pretty sure that the  reason VSCode doesn't suck is that we have direct access.  I had a friend who worked at MS who  says that they now require accessibility reviews.  But it's a different level of access when we the blind coders can go to GitHub and be all "x is broken, please do y" whereas with basically any other microsoft product you have to hope that you can get your feedback through triage and onto the right desk and whatever else.  But isidorn does do a good job and we will probably lose something if they got hit by a bus.

But as for your math point.  Yes math is a visual language.  But somehow we have LaTeX, which is subpar but can describe it visually.  And we have Nemeth, which is actually an entirely visual description of the content, though we do teach it wrong.  For example Nemeth's symbol for bar above is always taught as square root even though it doesn't mean that, it just means bar above.  Everyone including yourself admits that math is visual.  Then everyone goes off, even somewhat including yourself, and is all "this is hard to interpret" and treats conveying the visual information as a lost cause.  But why?  We literally have two examples of ways it can be done.  They're both subpar in one way or another, but there you go, it's been proven possible.  Sighted people don't get some magic semantic version of the content.  And yet the "solution" everyone in blindness land chases and wants is semantic interpretation even though it really can't be done.  I really don't get it at all.  On top of being impractical, it also feels a bit patronizing that everyone has decided that we need to know it's a summation rather than like "sigma <lower pitch>i equals 1><high pitch>5" or something like that.  I mean just pitch is height and reading left to right probably gets you a lot, but afaik this isn't available in anything except maybe chromevox (if it is, do tell; I'd be interested to try, though it almost certainly doesn't completely solve the problems).  It's just, there's no original thought going into any of this.  The start and end of the entire discussion is "well when humans read it sounds like...let's do that".

My Blog
Twitter: @ajhicks1992

2021-05-01 23:13:11

@41 for vs, I can tell it was accessible from 2010 onwards. That is when I started using it regularly.
True, with jaws at first, since nvda was not very advanced badck then, but it was accessible.
The only problems with the java access bridge I know about were some missing files in system32. Placing them there fixed it. The bad thing was that oracle was breaking it with updates, to the point where I was scare to update java. SO, like I said. Difficult, but achievable.

Quorum is trying to solve a different problem. easy Initial steps into programming, like scratch for the sighted. I don't know if it does it well, but in my view, this is a very important problem, I met a lot of people which weren't able to manage both a complex and difficult to make accessible IDE UI and learning programming itself, so they quit. Others got scared of IDE's for life and do only cli, which severely reduces productivity, like you said. The hard to make accessible part could be fixed by your suggestion, true. Not the complex UI though. I think both problems should and can  be fixed, if so much money revolves into the accessibility industry, like you say.

re mathplayer, I finally understand what you mean and I agree. For easier math, it is always easier to hear what the symbol signifies, but there should be an advanced mode which reads things exactly as the hell they are written. I think the only software  which uses aural cues for math like you asked is emacspeak... Someone started writing a tutorial for it, I should try to find it one day

2021-05-02 07:59:25 (edited by Ethin 2021-05-02 08:07:42)

@47, but again, trying to ease those issues with a new programming language doesn't actually solve the problem. Instead of making a completely new language that nobody is going to use, Quorum could've spent all that money investing in making an IDE that worked with mainstream languages and that gave people as much productivity as sited individuals get. But they didn't, and so the entire point of Quorum existing is pointless. Teaching Quorum at a university isn't going to solve anything and it might even push people away from programming entirely. I feel like this is just like the recent incident that happened with the Linux kernel: researchers satisfying intellectual curiosities without actually considering the consequences that satisfying that curiosity might bring about. That, and combined with those very same researchers not knowing what they're even talking about or doing because they're *not* blind. They're trying to solve a problem that *doesn't* exist, in other words. And no, "Oh a study said that this was a problem" isn't a justification. In the end, Quorum may do far more harm than good.
Edit: by the comment that they don't know what they're talking about or doing, I mean that they may know that productivity is significantly impaired if your blind, but they don't know what they're talking about or doing when they try to fix it. They're shooting in the dark and they're way, way off the mark. They've significantly over-convoluted the entire issue. Assume that Quorum becomes popular. Now, for a blind person to be productive, its not only a natural response -- "Just use the IDE that everyone uses" -- but its "Use this entirely new programming language that can't even interface with our libraries along with its IDE... Oh, did I mention that you have to find a way of C interop yourself because none of us know how to do it?".

"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-05-02 09:17:22

@46 but the same math having the same interpretation goes beyond just how to pronounce a symbol. For me the problem often is that there are different interpretations on how to logically group terms in an expression.

So, to give an example, in maths writing two symbols next to each other with no spaces means multiplication. So the equation abc would be presented as a b c, with each letter considered a term and thus presented as a single item in the tree.

Most of the time this is exactly the way it should be, but more and more today people use a word to represent a term, particular programmers like:
fibonacci(1) = 1

So, the right interpretation would be there are three top level terms: fibonacci(1), =, and 1. And the first term would be subdivided into two child terms: fibonacci and (1).

However, both MathPlayer and Access8Math won't interpret this correctly and opt for the conservative interpretation that the left hand side implicitly means f * i *b * o * n * a * c * c * i * ( 1 ), which completely messes up the tree and makes navigation so painful, it's practically unreadable.

I think grouping correctly instead of producing the right words is a harder problem and is the bigger problem since a bad tree makes the expression harder to read than a symbol not interpreted correctly. Tree navigation becomes mandatory once the expressions become non-trivial and there is a lot of math to read, but for it to work correctly you need a wel-structured tree.

2021-05-02 18:19:55

Yay, 50 posts, nun of my topics have reached 50 posts, lmao.

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.