Эта статья — перевод блогозаписи Флориана Бейджерса, слепого программиста из Нидерландов.
Перевод любительский, поэтому прошу указывать на ошибки и критиковать.
Как заметил в комментарии pepelsbey, «доступность» является корректным переводом, вернул её обратно.
Почему я сделал перевод? Я наткнулся на опрос на Quora.com «Как программируют слабовидящие программисты?». Ответы людей меня впечатлили, а блогозапись Флориана показалась наилучшим вариантом для введения в этот важный вопрос.
Я — программист. А ещё я слеп. Слеп, как крот, как говорится. Таков я от рождения.
Когда я говорю об этом своим товарищам, то те из них, у кого никогда не было проблем со зрением, обычно задают один из трёх вопросов:
- Как же ты тогда можешь читать то, что я пишу?
- Ого. А как ты тогда можешь кодить?
- Или — самый популярный вопрос — А ты видишь сны?
Мне задают эти вопросы снова и снова. Поэтому в этой блогозаписи я хочу на них ответить. Я попытаюсь нарисовать картинку для тех из вас, кто интересуется доступностью и тем, как слепые люди пользуются компьютером, кодят и выполняют другие работы в 21 веке.
Это я: Флориан Бэйджэрс, или Zersiax, как меня знают в кодерских кругах. Мне сказали что я здесь хорошо получился.
Как ты можешь читать то, что я написал?
Я люблю этот вопрос, потому что он позволяет мне сразу же объяснить, как слепые люди пользуются компьютером.
У многих людей сложилось впечатление, что слепые могут пользоваться только особыми, специально адаптированными компьютерами. Так думают даже некоторые из моих знакомых, у которых есть проблемы со зрением.
Позвольте мне развеять это заблуждение прямо здесь и сейчас. Сейчас я печатаю этот текст на обычном ноутбуке Dell Inspirion 15r SE, который можно купить в любом компьютерном магазине, продающем не самые новые ноутбуки. На нём запущена Windows 8 (я её не выбирал, но заменять её слишком проблематично
Экранный диктор обычно просто читает вслух то, что на экране. Он сообщает вам текстовое содержание экрана синтезированным (похожим на Siri) голосом. Экранный диктор также позволяет работать с дисплеем Брайля — устройством вывода для чтения на ощупь.
Дэвид Стрэтэйрн играет слепого хакера и телефонного фрика Эрвина Эмори по прозвищу Whistler в триллере 1992 года «Тихушники». Его персонаж пользуется компьютером с помощью дисплея Брайля.
Это — вся адаптация, которая нужна слепому для пользования компьютером. Я могу делать многое из того, что вы, скорее всего, считаете невозможным для слепого человека. Например:
- Лазить по вебу с помощью Firefox.
- Писать отчёты в Microsoft Word и форматировать их согласно требованиям колледжских преподавателей к оформлению текстов.
- Писать потрясающие блогозаписи вроде этой.
- Записывать, править, микшировать и публиковать аудио (моё хобби — пение и запись музыки).
- Пользоваться программами для работы со звуком вроде Reaper, Goldwave, Audacity и Sonar.
- Разрабатывать сайты, используя Eclipse, Visual Studio (ироничное название) и старый добрый Notepad++.
Я перечисляю все эти распространённые технологии чтобы показать: я могу ими пользоваться точно так же, как и люди, у которых нет проблем со зрением.
Если вы будете писать очередное масштабное приложение со сногсшибательным интерфейсом и великолепным рабочим процессом, я скромно прошу вас убедиться в том, что его доступность включена в план. В наши дни нет никакой причины не пользоваться инструментарием доступности интерфейса. Это намного проще, чем вы думаете. Да, сюда входят Android Activities, iOS NsViews и
Я вступил во Free Code Camp несколько недель назад и мне там очень понравилось. Последние несколько лет я учился по специальности «Информатика» и провалил семестр, включавший много работы со стеком MEAN. И я очень рад, что нашёл такое замечательное сообщество, в котором можно состоять и учиться. Уверен — в этот раз я с честью закончу этот семестр.
К сожалению, я столкнулся с проблемой доступности, когда работал по известным обучающим материалам по Dash от General Assembly. Эти материалы, несомненно, хороши, но для меня они были совершенно нечитаемы, так как авторы решили вставить все тексты картинками. Текстовое описание картинок, с которым могли бы работать экранные дикторы, было минимально. К сожалению, экранные дикторы могут читать только текстовые описания. Они не столь умны, чтобы распознавать графику.
К счастью, несколько товарищей на Free Code Camp посочувствовали моему положению и добровольно транскрибировали для меня все слайды. Эти люди меня «приятно поразили», как выражаются наши дорогие западные соседи за морем. Я очень благодарен за работу, которую они проделали для моего обучения. Вы знаете, о ком я говорю. Большое вам спасибо!
Но… как ты пишешь код?
If открывающая скобка x равно пяти закрывающая скобка открывающая фигурная скобка print открывающая скобка кавычка hello world восклицательный знак кавычка закрывающая скобка закрывающая фигурная скобка.
Это то, как я слышу типичный блок «Если» в похожем на Java языке программирования. Довольно подробно, как видите. Я стараюсь отключать упоминания скобок, если мне не нужно специально проверять их расстановку при ловле ошибок, так что я не схожу с ума от довольно многословных описаний знаков препинания. Другие решают эту проблему заменой «открывающей скобки» на
Ссылка на звукозапись «Zersiax's Screen Reader»
Для тех из вас, кто ничего не понял: это то, как мой экранный диктор читает первую часть этой блогозаписи, которую я пишу в NotePad++.
Так что то, как я пишу код, не сильно отличается от того, как пишут код другие. Я научился слепой печати и мысленно представляю себе код, так что могу работать с ним точно так же, как и вы. Единственное отличие в том, что я почти не использую мышь. Вместо неё я стараюсь пользоваться горячими клавишами и командной строкой.
К сожалению, в этой области всё ещё не совсем хорошо. Ведущие инструменты, которыми пользуются кодеры, такие, как редактор IntelliJ, а также его подвиды (PHPStorm, WebStorm, PyCharm) совершенно не доступны просто
Поэтому мне приходится искать доступные учебные материалы, программы и инструменты, а не просто брать и использовать подходящую среду разработки.
Как ты видишь сны?
Я обещал ответить на все три вопроса, поэтому отвечу и на этот. Но не ожидайте
Я вижу сны так же, как и вы. Мой мозг транслирует опыт и события, произошедшие со мной за день, в сны, которые я вижу ночью. Разница в том, что я ничего в них не вижу.
Вместо этого я слышу, обоняю и осязаю всё, как и в жизни. Причина проста: сны основываются на ранее полученных визуальных образах, создавая из них визуальный ряд сна. Так как я слеп с рождения, то в моей памяти нет визуальных образов, на которых можно основываться. Визуальная состоявляющая моих снов получает большую жирную 404 ошибку: изображение не найдено.
Покодить со мной
Добровольцы с Free Code Camp попросили меня написать эту блогозапись, чтобы поделиться со всем миром моим способом работы. После того радушного приёма, который я получил в этом сообщества, я был только рад её написать. Я действительно надеюсь что вы извлечёте из этого пользу.
Я могу говорить об этом часами и эта статья уже переросла размер, который я изначально запланировал. Если у вас есть вопросы, найдите меня в
UPD: Добавил ссылку на оригинал.
UPD2: Заменил «доступность» на «адаптированность».
UPD3: Заменил «адаптированность» обратно на «доступность».
UPD4: Zersiax приглашён на Хабр.
Комментарии (171)
Everlier
16.06.2015 20:04+3Секция 508, людям нужно стирать границы.
Tseikovets
17.06.2015 02:31+1Section 508 распространяется только на государственные организации и организации, получающие государственное финансирование.
Aquahawk
16.06.2015 20:26+43Экранный диктор — что-то феноменальное. Никогда не думал что человек способен на слух такое распознавать.
Egor3f
16.06.2015 22:06+2Всё дело в том, что при отсутствии сигнала от одних органов чувств, другие работают гораздо лучше. бОльшую часть информации мы вопсринимаем визуально, и, так как у мозга Zersiax нет необходимости обрабатывать изображение, он гораздо больше сил может потратить на обработку звука.
Записывать, править, микшировать и публиковать аудио (моё хобби — пение и запись музыки).
Пользоваться программами для работы со звуком вроде Reaper, Goldwave, Audacity и Sonar.
P.S. Я тоже был в шоке, услышав аудиозапись. Присоединяюсь к восхищениям остальных.tegArt
16.06.2015 22:31+11У меня при прослушивании диктора отвисла челюсть… Все, что хотел сказать, вы уже написали, осталась только глупая шутка — представьте насколько он быстро может «читать» книги при помощи этого диктора. Нет слов…
saboteur_kiev
18.06.2015 00:25+1Это не совсем так. Точнее умение воспринимать эту запись появилось не из-за отсутствия зрения, а из-за того, что человек просто пытался это делать, со временем увеличивая скорость.
Любой профессионал любого направления может поразить неофита. Кто-то нунчаками, кто-то роликами и фишками, кто-то вертит в пальцах ручки и монетки, кто-то степает на танцевальных автоматах. Вот человеку пришлось много слушать — скоростное звукочтение вполне доступно КАЖДОМУ, кто потратит достаточно времени на освоение.
Но да, ранее в голову не приходило что есть и такое и есть люди которые могут этим пользоваться вот так. Респект Флориану.
fshp
16.06.2015 22:12У слепых слух очень развит. Они не только слышат малейшие шорохи, но лучше и быстрее обрабатывают эту информацию.
IgnisNoir
17.06.2015 05:06+1Это миф. Они просто больше сосредоточены на звуках и не более того. Говорю не голословно. У меня половина родных или слепы или очень плохо видят
Temirkhan
17.06.2015 07:56-2Вы только что опровергли сказанное выше, а затем подтвердили, из чего это вытекает. 4<=>четыре<=>?
IgnisNoir
17.06.2015 08:01Вы только что резко разучились различать разницу между
У слепых слух очень развит.
и
Они просто больше сосредоточены на звуках и не более того.
У них просто нет выбора кроме как сосредоточится на звуках. Если вы закроете глаза и будете сосредотачиваться на каждом звуке получите тот же эффект. Просто у вас будет выбор и вы не ощутите большого эффекта потому что у вас есть зрениеZenitchik
17.06.2015 14:58+1За счёт упражнений развивается соответствующий участок коры головного мозга. Закономерно.
fshp
17.06.2015 10:51+2Развитый слух это не столько слышать, как собака, сколько умение вычленять нужную информацию.
Tseikovets
17.06.2015 02:30Кстати, если это записано с NVDA, то чувак использует пиратский синтезатор речи. ;-)
Я могу вам ещё более адскую запись выложить на русском: в среднем около 185-200 тысяч символов в час.rekby
17.06.2015 08:36+2Да, было бы интересно
Tseikovets
17.06.2015 15:23+2Вот слушайте.
На какой скорости при первом прослушивании сломались? ;-)rekby
17.06.2015 15:30+110% разбирал нормально, 20 — уже нет. Ближе к концу кажется что это модемы между собой морзянку отстукивают.
может mp3 всё срезает — т.е. речь не то что быстрая и непонятная, а начиная с 20-30 вообще превращается в месиво.
А есть оригинал такой записи в wav?Tseikovets
17.06.2015 16:28+5MP3 128 бит с 44100 КГц для исходного качества звука даже избыточен, потому что там изначально на выходе качество ниже, так что фокус именно в привычке.
Но, конечно, не все незрячие пользуются такими роботизированными синтезаторами речи и на таких скоростях. Многие предпочитают более выразительные голоса и всё-таки медленнее. Это был пример уже крайнего случая.
Высокий темп речи синтезатора используется для компенсации потерь от невозможности прочитать глазами. Если вы задумаетесь, с какой скоростью читаете текст про себя, то там тоже далеко не дикторские темпы, а выше. Когда человек по 8-12 часов в день слушает синтезатор речи, то привычка его понимать вырабатывается сама собой и можно плавно повышать скорость, одновременно повышая производительность своей работы, хотя и не совсем линейно.
Если на большой скорости слушать условно выразительные синтезаторы речи, то их интонирование начинает мешать, так как на большой скорости превращается просто в какие-то бессмысленные скачки темпа и речи, плюс разные паузы в потоке речи тоже начинают мешать. Именно поэтому любители очень большой скорости синтезатора речи используют достаточно хардкорные голоса, которые на медленной скорости звучат отвратно, но на большой как раз обеспечивают нужную монотонность и ровность речи, а также разборчивость произнесения слов.
У незрячих к синтезаторам речи есть ряд специфических требований. При использовании TTS где-нибудь в Siri или автомобильном навигаторе эти проблемы вообще не понятны. В частности, именно поэтому синтезаторы речи от крупных производителей, типа Nuance, у незрячих вызывают нарекания, и они из-за этого могут предпочитать вообще мало известные TTS Engines, о которых мало кто знает.
К слову, самый адекватный по качеству речи свободный русский синтезатор разрабатывает как раз незрячий программист, вернее программистка. Он как раз в какой-то степени совмещает соответствие специфическим требованиям незрячих и относительно естественное звучание голоса. Его уже много в каких проектах используют, но зачастую люди и не подозревают, что начиналось это именно как проект синтезатора речи для незрячих.
Flammar
19.06.2015 18:0210% разбирал нормально, 20 — уже нет
Я тоже, несмотря на то, что нормальную речь с ютуба воспринимаю на 140-150% скорости даже несмотря на «голос Буратино».
Maccimo
17.06.2015 16:36«Адская» она в первую очередь от того, что качество синтезатора ниже плинтуса и уже потом из-за скорости. Таким синтезатором только хор лягушек озвучивать.
Кстати, в каких попугаях там «проценты» измеряются, 100% это x10?Tseikovets
17.06.2015 16:59Ну по поводу качества см. habrahabr.ru/post/260463/#comment_8465769 — у многих незрячих несколько иные требования к синтезу речи, так что и оценивают они его по другим критериям.
Скорость измеряется просто в процентах от допустимого диапазона. Конкретно в данном синтезаторе диапазон составляет [0; 1000] условных единиц. Никаких более объективных единиц нету. По большому счёту, даже нельзя точно сказать, сколько символов в минуту читает синтезатор, потому что если в тексте много цифр, то читаться такой текст будет дольше: 123 всего 3символа, а произнести надо целых три слова.
grossws
17.06.2015 12:05Почему пиратский, если он free & open source под GPLv2?
Tseikovets
17.06.2015 14:17+2Free & open source это NVDA, то есть непосредственно программа чтения экрана. А вот уже в ней могут использоваться разные TTS Engines для синтеза речи. В записи звучит синтезатор ETI Eloquence, который является коммерческим и проприетарным, а главное в легальной версии для NVDA отсутствует в принципе. Есть только нелегальные сборки, одной из которых, судя по всему, чувак и пользуется. В других экранных чтецах Eloquence бывает и легальным, так что возможно он просто записал это не из под NVDA, но если всё же из под NVDA, то Eloquence однозначно пиратский. Впрочем, Nuance в своё время отказались лицензировать Eloquence для NVDA, так что сами виноваты. Этот синтезатор один из наиболее популярных среди англоговорящих незрячих гиков, да и обычных пользователей, поэтому многие из них просто вынуждены его под NVDA пиратить.
diseaz
25.06.2015 21:52Почему же сразу пиратить? Если он честно приобретён, хоть и в составе с другим ПО, то может спокойно использоваться и с NVDA.
Tseikovets
25.06.2015 23:05Лицензионный ETI Eloquence распространяется в таких вариантах, в которых с NVDA он использован быть не может в принципе, так что Eloquence с NVDA — это всегда warez.
khim
26.06.2015 00:48С чего вдруг? Во многих странах вы вполне законно можете наплевать на то, что там у вас написано в лицензии, если вы затеваете переделки только и исключительно для обеспечения совместимости. И это как раз ETI Eloquence должна будет доказывать что без «жестокой обработки напильником» её произведение можно-таки использовать совместно с NVDA. В России несколько лет назад тоже так было, сейчас в закон внесли изменения — вы можете вносить любые изменения «если иное не оговорено лицензией».
Tseikovets
26.06.2015 14:38ETI Eloquence — это коммерческий продукт, права на который принадлежат конкретной компании. Она распространяет его в виде некого SDK, который позволяет встраивать этот синтезатор речи в другие продукты. Вы пытаетесь меня убедить, что реверс-инжиниринг коммерческого проприетарного ПО с целью выдёргивания из него компонента, который мы потом используем бесплатно и распространяем среди всех желающих, — это законно?
На мой взгляд, вы всё-таки неправы. Eloquence под NVDA — это нелегальный продукт, и вы на моей памяти первый человек, который пытается это оспорить, хотя заинтересованных в Eloquence людей десятки тысяч.
Для справки, вот цитата из выступления Майкла Каррана — главы некоммерческой организации NV Access, занимающейся разработкой NVDA:
«Perhaps the most popular speech synthesizer among screen reader users is Nuance ETI-Eloquence. IBM also incorporated the same engine in their IBMTTS product. Unfortunately, we have been unable to license this for use with NVDA despite several attempts to negotiate with both Nuance and IBM. Furthermore, both products are considered end of life. Nuance continue to wholesale Eloquence but do not provide support or updates, while IBMTTS can no longer be purchased at all. Also perhaps more unfortunately, we are aware that a significant number of users choose to use these synthesisers illegally. NV Access certainly does not condone this practice.»
В своё время я пытался легально получить API взаимодействия с Eloquence, чтобы сделать возможным его дружбу с русскоязычным синтезатором. То есть пользователи бы по-прежнему покупали бы лицензию у распространителя, разработавшего коммерческий синтезатор под Android на базе SDK Eloquence, просто могли бы использовать его в паре с русскоязычным синтезатором речи, который перенаправлял бы на него всю латиницу. Казалось бы распространитель ничего не теряет и только приобретает, но даже такая малость противоречит лицензии и в итоге ничего не получилось. История же с Eloquence для NVDA, где он вообще распространяется бесплатно без каких-либо отчислений в пользу правообладателя, — это тем более за гранью легальности.khim
27.06.2015 14:26+1Вы пытаетесь меня убедить, что реверс-инжиниринг коммерческого проприетарного ПО с целью выдёргивания из него компонента,
Абсолютно законен.
который мы потом используем бесплатно и распространяем среди всех желающих
А вот за это можно и в тюрьму сесть — в зависимости от масштабов.
Eloquence под NVDA — это нелегальный продукт, и вы на моей памяти первый человек, который пытается это оспорить
Не бывает легального и нелегального продукта. В принципе. Бывает легальная и нелегальная копия — причём даже не всегда можно сказать точно какая из копий легальна, а какая — нет (например если вы подписали договор с автором на выпуск 1000 экземпляров, а продали 5000, то из них 4000 будут нелегальными, но вот взяв в руку один экземпляр вам вряд ли удастся сказать — какой из них нелегален).
«Eloquence под NVDA», конечно, нелегален, но не потому что он позволяет запускать NVDA, а потому что в нём есть пиратская копия Eloquence! Если бы он выпускался на тех же условиях, на которых выпускаются эмуляторы какой-нибудь SNES или Wii — претензий бы ни к кому не было (если вы когда-либо сталкивались с эмуляторами, то могли бы обратить внимание, что сами эмуляторы распространяются совершенно открыто на десятках веб-сайтов, но если их просто скачать и запустить потому что там обычно нет маленького такого файла — BIOS'а от приставки… обычно прилагается программа способная «слить» с приставки BIOS).
Казалось бы распространитель ничего не теряет и только приобретает, но даже такая малость противоречит лицензии и в итоге ничего не получилось.
Вопрос: когда это было? И где? В России это де-факто запрещено, да (соответствующая статья гласит, что«Лицо, правомерно владеющее экземпляром программы для ЭВМ или экземпляром базы данных (пользователь), вправе без разрешения автора или иного правообладателя и без выплаты дополнительного вознаграждения осуществлять действия, необходимые для функционирования программы для ЭВМ или базы данных (в том числе в ходе использования в соответствии с их назначением), включая запись и хранение в памяти ЭВМ (одной ЭВМ или одного пользователя сети), внесение в программу для ЭВМ или базу данных изменений исключительно в целях их функционирования на технических средствах пользователя»,
что, казалось бы, открывает прямую дорого к использованию Eloquence в других программах на тех же правах, на которых используется BIOS от PlayStation2 в PCSX2… но всё портит следующая маленькая приписка: «если иное не предусмотрено договором с правообладателем». В других странах ситуация вполне бывает иной. Вплоть до того, что какие-нибудь Norton Utilities просто брали и прописывали себя в файл win.com (во времена, когда они ещё поддерживали Windows 9x).Tseikovets
27.06.2015 15:13Это было около года назад. Вопрос обсуждался с испанской компанией, которая взяла SDK Eloquence у американской, являющейся исходным правообладателем, и на его базе сделала Android версию. Сами Nuance владеют правами на Eloquence, но не распространяют его как конечный продукт, а лицензируют для других разработчиков. Соглашение между ними запрещает даже передачу API третьему лицу, в качестве которого выступал я.
Разумеется, их соглашения между собой я не видел, но практически уверен, что заключено оно по английскому праву и под юрисдикцией США, типа «все тёрки рассматриваем в таком-то суде такого-то штата», так что отсылки к российскому праву в данном случае не более чем упражнения для ума.khim
28.06.2015 05:05Опять двадцать пять. Вы снова и снова смешиваете две принципиально разные вещи: распространение Eloquence как части другого продукта и распространение продукта, к которому можно «прикрутить» Eloquence «выдранный» из какого-нибудь IBMTTS.
Как только вы просто заикнулись о том, что хотите что-то там распространять — всё, считайте, что вы повязали себя по рукам и ногам и засунули кляп себе в рот. Copyright изначально под это затачивался и ограничения, которые накладываются на редистрибьютера могут быть какими угодно. Ну там, продать вашего первенца, может быть, заставить и не удастся, но в любом случае — мало не покажется.
Совсем другая ситуация — когда вы распространяете продукт, в котором нет никакого «чужого» кода, просто драйвер для его использования. Это — абсолютно легальная вещь и для распространителя и, во многих юрисдикциях, для конечного пользователя. Прочитайте же, чёрт побери, письмо, которое NV Access получила от Byteway Srl! Фразу «Thus, I kindly advise to all integrators and end-users to settle their position with respect to the right of using ETI Eloquence as soon as possible» заметили, нет?
Там идёт очень красивая подмена понятий: нарушают что-то (и то не факт, что нарушают) — конечные пользователи и некие загадочные «интеграторы», а письмо почему-то отправляется в NV Access. С какого перепугу? Вместо того, чтобы нанять юристов и отправить Byteway Srl в пеший эротический поход за отдельными пользователями (так как в NV Access понятия не имеют где это пользователи находятся и что они делают, то каждого пользователя нужно будет отлавливать отдельно и при этом ещё доказывать что они не имеют права использовать легально купленный ETI Eloquence, входяший в состав одного продукта, в другом, что будет весьма и весьма непросто) они начали «решать проблему».
Это было их стратегической ошибкой. Нужно было либо сразу признать, что у них нет денег на грамотного юриста (да, в современном мире часто оказывается, что вещи, которые вы формально имеете право делать вам приходится не делать просто потому, что услуги юристов дорого стоят), либо найти-таки юриста и попросить его высказать всяческие соболезнования и предложения «помочь» бороться с теми пользователями, которые используют ETI Eloquence незаконно. Подчеркнув многократно, что софт не продаётся и не регистрируется на сайте, так что списка пользователей у них нет и быть не может. Возможно для перестраховки пришлось бы вынести модуль интеграции из базовой поставки и добавить несколько окон, которые бы предупреждали пользователя о возможных нарушениях лицензии — вот и всё.Tseikovets
28.06.2015 14:45Мы говорим про разные вещи. Действительно, если бы NV Access просто запилили бы в NVDA речевой драйвер, который мог бы дёргать, например, Eloquence из состава JAWS или Window-Eyes, которые установлены в системе, то здесь вполне можно было бы попробовать придраться, но вопрос был бы уже достаточно тонким. Однако я говорю о практической стороне использования Eloquence с NVDA, а она такова, что ничего подобного сейчас не существует.
В настоящий момент, использование Eloquence с NVDA возможно лишь в форме, когда устанавливается полноценное дополнение, включающее как речевой драйвер, так и набор незаконно распространяемых библиотек. Именно поэтому, если кто-то здесь и сейчас работает с Eloquence в NVDA, можно говорить, что с легальностью там есть серьёзные проблемы.
Да, теоретически вполне можно реализовать такой способ подключения Eloquence к NVDA, который сможет достаточно обосновано претендовать на легальность, но реальность такова, что сейчас подключение Eloquence к NVDA реализовано совсем по-другому. Фактически существующая рабочая копия Eloquence для NVDA, созданная некой группой Робин Гудов, подписавшихся в коде как Eloquence fans, является пиратской, именно об этом я и написал в самом первом сообщении этой ветки обсуждения.khim
28.06.2015 17:08В настоящий момент, использование Eloquence с NVDA возможно лишь в форме, когда устанавливается полноценное дополнение, включающее как речевой драйвер, так и набор незаконно распространяемых библиотек.
А что случилось с той версией о которой NV Access говорит «In 2006, NVDA did include a driver for IBM ViaVoice (but not the synthesiser itself)»?
Я понимаю, что пользоваться старой версией «западло», но «рукописи не горят»^H^H^H^Hсофт не прокисает?Tseikovets
28.06.2015 18:15Проект NVDA в принципе начался в 2006 году, поэтому речь тут о самых ранних сборках программы. С тех пор несколько раз поменялся API речевых драйверов, то есть тот вариант поддержки Eloquence на новых сборках в принципе не заведётся. Использовать же старую версию NVDA — это не вариант, потому что версия 2006 года крайне примитивна, да и не умеет поддерживать современные версии OS.
Текущая рабочая пиратская версия в коде драйвера обозначена 2009 годом, хотя с того момента она несколько раз актуализировалась под изменения API NVDA.
Теоретически можно было бы попробовать актуализировать тот драйвер для Eloquence, но, во-первых, я даже не уверен, что он остался в репозитории NVDA, а во-вторых, не очень понятен профит, кроме как теоретический выход из тени, который по-хорошему ещё надо юридически подтвердить досудебным соглашением или судебным вердиктом. Главное с функциональной точки зрения пиратская версия лучше, так как не привязана к установке в систему дополнительного ПО. Тот же JAWS, для которого Eloquence лицензирован, в несколько раз больше NVDA, а в установочном варианте ещё и немного корёжит настройки системы, хотя есть и переносная версия.
Ребята из NV Access сейчас пытаются просто разработать открытый аналог Eloquence:
«One potential solution we are pursuing is attempting to restart research into formant synthesis by developing a prototype Klatt synthesizer. If successful, it could be a replacement for those who cannot adapt to eSpeak but are comfortable with the sound of Eloquence or Dectalk. Like NVDA, it is being developed as open source software, ensuring that others can contribute and that the future of the product is not dependent on just one company. The prototype is already available in English and can be found on our Extra Voices web page, under the name of NV Speech Player.»
Вот так, разработать альтернативный синтезатор оказалось проще, чем лицензировать готовый. Главное Eloquence как проект мёртв уже много лет, а Nuance просто торгуют оставшимися мощами, причём в сравнении с их оборотами наверняка там пара копеек прибыли, а Eloquence с их Vocalizer TTS практически не конкурирует. Именно после таких историй увеличивается число проклинающих копирайт. :-)
norguhtar
17.06.2015 08:51+2Я читал как чувак слушал диктофон постепенно наращивая скорость. В итоге дошел до 150%. Дослушал снял наушники. И такой — а чего все так мееедленно гооовооряяят?
Tseikovets
17.06.2015 14:24-4Я наклонился к нему, внимательно вслушиваясь в каждое слово. Небольшая заминка, и мне захотелось схватить его за горло и заставить говорить быстрее.
— Так! — воскликнул я, сгорая от нетерпения. — Дурман Вонючий! И что произошло?
(© Хантер С. Томпсон — Страх и отвращение в Лас-Вегасе)
yupic
17.06.2015 15:02Эм, я всё аудио и видео, где важно только то что говорят, слушаю на 150%, а некоторое вообще на 200%. Когда после этого слушаешь то же видео на нормальной скорости, то всё кажется ооочень замедленным.
Если кому интересно, использую DicePlayer.grossws
17.06.2015 16:03На coursera слушал Odersky, Meijer'а и Kuhn'а на скорости 150% (их плеер автоматически сдвигает спектр, что очень приятно), но они не native speakers и говорят довольно медленно. Того же Ына (Andrew Ng, он native) слушать постоянно на 150% уже сложно.
Flammar
17.06.2015 22:01Я лекции с ютьюба, где картинка не важна, обычно скачиваю и слушаю на 140-150% скорости через BS Player, мирясь с «голосом Буратино». 140 — нормально, 150 — приходится иногда перематывать.
Maccimo
17.06.2015 22:45Можно прямо на youtube поставить скорость воспроизведения x2 (работает только с HTML player). И в Chrome и в Firefox под Win7 звук нормальный, без «Буратино».
Я так бОльшую часть роликов смотрю в последнее время.
prishelec
18.06.2015 15:48Присоединяюсь тоже. Но с учетом прогресса технологий, я надеюсь, что в недалеком будущем, люди утратившие зрение, слух (или родившиеся без таковых) и т.д., все таки смогут приобрести их.
mva
18.06.2015 16:37Где-то то ли тут, то ли на ГТ была статья о том, «а надо ли?» (давать взрослому организму чувства, которых не было с рождения).
floppox
24.06.2015 12:46+1Я на минутку почувствовала себя глухой… Точнее, не способной обрабатывать звук мозгом.
Dywar
16.06.2015 21:10+18Надеюсь с этим недугом как и многими другими покончат в ближайший век/два.
VenomBlood
17.06.2015 06:13+2Я думаю гораздо раньше. Чуть более 2 веков назад небыло даже паровозов. Несколько более века назад небыло антибиотиков (да и о существовании разных групп крови люде не знали), УЗИ изобрели пол века назад. Ставлю на ближайшие 20-30 лет.
norguhtar
17.06.2015 08:52Уже существуют успешные опыты подключения зрительного нерва к искуственной матрице. Правда разрешение пока хромает.
khim
17.06.2015 10:33-3Либо с ним разберутся в этом веке, либо не разберутся уже никогда.
У человеческо/машинной цивилизации нет шансов дожить до конца XXI века. Просто не хватает многих ресурсов. Будет либо торжество трансгуманизма, либо обвал в каменный век. Не исключено, впрочем, что произойдёт и то и другое в разных местах планеты — не зря в куче игр это обыгрывается…AllexIn
17.06.2015 11:14+3Это каких ресурсов не хватает?
k12th
17.06.2015 11:55Нефти конечно же:)
flerant
17.06.2015 12:46Не только нефти. С металлами тоже не всё гладко.
norguhtar
17.06.2015 14:32Металлы уже хорошо вошли в цикл переработки. Тот же свинец на 90% возвращается из обратно.
Tseikovets
17.06.2015 15:26+1В современном мире свинец можно из трупов добывать, утилизируя лёгкие.
Halt
18.06.2015 09:00Если вы намекаете на тетраэтил свинца, который использовали в качестве присадки к топливу, то вынужден разочаровать — это уже давно не так.
Zenitchik
17.06.2015 15:02+1С конструкционными металлами всё прекрасно. Земля на большой процент состоит из соединений железа и алюминия.
flerant
17.06.2015 19:28-1Я всё-таки имел ввиду в первую очередь редкоземельные металлы
Morozov_5F
17.06.2015 19:48Опять же, каких? Золото, ирридий? Так это тоже постепенно входит в цикл переработки. Ну в том числе и для этого развивается космическая отрасль.
flerant
17.06.2015 20:11+1Вот, например, свежая статья по теме. Можно найти и другие работы Томаса Гределя (Thomas Graedel). Там не только золото и ирридий, но и галлий, селен, хром, ниобий, вольфрам, молибден и др. Проскакивали новости про большие проблемы с широко использующимся в смартфонах индием.
Конечно, я не говорю, что они вот закончатся и всё, но проблема истощения запасов имеется. Поэтому и надо работать над переработкой и поиском альтернативных замен. И это работа не такая простая, что вот возьмём и за пару лет что-нибудь придумаем. Нужны обширные научные и научно-технические исследования, требующие средств и, главное, времени.
То же касается и замены нефти/газа термоядом. Но энергетически выгодный термояд до сих пор не получен, хотя уверен, что хотя бы к 2030-м годам ITER-таки даст Q>1. Но и у термояда есть свои проблему, он всё-таки пока ещё очень дорог, да к тому же и топливо у него — тритий — не самый распространённый, дешёвый и лёгкий в работе элемент.
Morozov_5F
17.06.2015 19:50+1А атомная энергетика? Альтернативные источники? И речь даже не о термоядерном синтезе. Использовать мирный атом людям мешает только психология.
Tseikovets
17.06.2015 13:50На самом деле, будет всё точно также, как и сейчас. Для наблюдателя изнутри вряд ли будут заметны какие-то потрясения. Подозреваю, та же паровая машина современниками как революция не оценивалась, осознание пришло лишь в ретроспективе.
kraidiky
17.06.2015 17:09Не в каменный, на уровень расцвета национальных государств, и донефтяного транспорта, то есть в конец 19-ого века. На конец предыдущего фазового перехода. Возможно, наши правнуки будут жить в мире победившего стимпанка и действующих машин Бебриджа, хотя, конечно, не хотелось бы.
sandricmora
16.06.2015 21:11Я ему искренне сочувствую, но не понимаю, зачем ему нужно использовать оконные приложения вроде IDE от JetBrains, и уж тем более SourceTree. Увидев заголовок, я подумал что он хоть и достоен уважения, но ему по крайней мере не приходилось переучиваться чтобы работать из терминала и без мышки — а тут Visual Studio под Windows 8 из-за UEFI…
not_ice
16.06.2015 21:45+1А разве существуют консольные дикторы?
sandricmora
16.06.2015 21:58Я конечно не специалист, но было бы странно если нет — там то уж точно все — текст. Тем более что я не представляю как можно быть программистом и не использовать консоль хотя бы минимально.
Grox
16.06.2015 22:37+4На Windows в использовании консоли обычно нет никакой нужды. И я обычно использую консоль только в админских задачах и чаще на Linux.
OnYourLips
16.06.2015 23:30+2Он не обычный пользователь, а программист.
А программистам без консоли на винде не обойтись: это и git (GUI удобнее только для простых операций), и большое число консольного ПО из экосистемы языков (посчитайте, чем JS-девелоперы только пользуются).Grox
17.06.2015 00:38+3Программисты есть из разных областей. В моей области консоль нужна редко. Да, когда я кодил для node.js консоль была нужна чаще. Для git хватает SourceTree.
some_x
17.06.2015 08:20+1Я windows программист и пользуюсь SourceTree и GetExtentions, но тем не менее многие вещи в git`е без консоли просто не сделать
Tseikovets
17.06.2015 02:14На Windows консоль читается той же самой программой экранного доступа, что и весь остальной GUI. Ну а под *nix есть прямо отдельный консольный экранный чтец.
Tseikovets
17.06.2015 02:12+3Если говорить в целом, то у слепых под Windows наиболее широкие возможности. Отдельные узкие задачи можно вполне успешно решать и в альтернативных средах, но если сравнивать доступность в целом, то Windows — абсолютный лидер. Именно поэтому эта OS для незрячих отнюдь не проклятие, а наиболее продвинутый инструмент.
Кстати, адаптацией наиболее популярного экранного чтеца для работы в Visual Studio занимается российский незрячий программист.mva
18.06.2015 08:57Если говорить в целом, то у слепых под Windows наиболее широкие возможности. Отдельные узкие задачи можно вполне успешно решать и в альтернативных средах, но если сравнивать доступность в целом, то Windows — абсолютный лидер. Именно поэтому эта OS для незрячих отнюдь не проклятие, а наиболее продвинутый инструмент
А можно чуть-чуть больше конкретики?Tseikovets
18.06.2015 15:50+1Можно легко назвать ряд задач, которые на достаточно профессиональном уровне могут решать незрячие на Windows, но не могут на альтернативных платформах. Ну а вот задачи, которые могут решать незрячие на альтернативных платформах, но при этом не могут на Windows, назвать практически невозможно.
Исторически в мире Windows вспомогательные технологии для незрячих развивались сторонними компаниями. В итоге сложился полноценный рынок с достаточно жёсткой конкуренцией, а в конкуренции сфокусированных на этом компаний рождались лучшие концепции и технологические решения. Экранные чтецы под *nix и OS X очень многое подбирали уже у решений под Windows, например, концепции обеспечения доступности web. Правда пользователи Windows платили за это некоторыми шероховатостями во взаимодействии экранного чтеца и операционной системы, а также порой стабильностью самих чтецов, так как сторонний продукт зачастую испытывал проблемы с плотной интеграцией в OS, но более высокая функциональность в большинстве случаев это полностью окупает.
Если говорить конкретно, то на Windows сейчас для незрячих предлагается наиболее продвинутая поддержка невизуальной работы с офисными приложениями, наиболее мощная и функциональная доступность работы в Интернете, абсолютно безальтернативная поддержка профессионального музыкального ПО, зачастую большая гибкость и кастомизируемость экранных чтецов (больше функций, больше тонких настроек, возможность написания расширений, позволяющих сделать доступными изначально недоступные приложения), тех же синтезаторов речи под Windows несравнимо больше, больше учебных и методических пособий по обучению начинающих незрячих (в т.ч. просто самоучителей), наличие специальных продуктов, которые создают облегчённую рабочую среду для пожилых незрячих, испытывающих проблемы в освоении нативного интерфейса OS, и т.д. и т.п.
Всё это абсолютно не означает, что Windows однозначно лучше для незрячих. Кому-то все эти преимущества могут быть не нужны, потому что он, например, программист и фигачит в Emacs, для которого есть специальная подсистема озвучки Emacspeak. Но если говорить именно в общем, то Windows в целом, действительно, сейчас наиболее мощная и функциональная среда для незрячих. Я считаю, что и начинать осваивать компьютер незрячему надо именно с Windows, особенно если он не ориентируется на IT-карьеру, а, например, какой-нибудь переводчик, психолог или вообще домохозяйка.
4p4
25.06.2015 15:33+2В Windows есть такая вещь как Winapi которая практически не меняется 20 лет, и благодаря всяким тонкостям WinAPI таким как, например, хук ExtTextOut() или функции вроде GetWindowText() которые уже программистами изучены досконально, можно получать текст из самых разных мест интерфейса, кнопок, менюшек. На Linux, например, очень много способов вывести текст на экран, библиотеки постоянно меняются, Qt, GDK, универсального ExtTextOut() нет вообще, (я с этим сталкивался когда Deodar писал), даже получить заголовок окна, не говоря про текст на кнопке — нетривиальное дело, одних виджет библиотек десятки, не говоря про их версии, и всё это бинарно несовместимо по версиям, даже просто перекомпилировал виджет-библиотеку, и там у функций уже размерность параметров другая, например вместо char — short. На Маке хоть всё и унифицировано, но менялось несколько раз кардинально за последние десятки лет. А винда с 1995 года имеет почти неизменное API. Для людей с ограниченным зрением неободимость переучиваться тоже имеет значение. Вот попробуйте на клаве поработать, где клавиши в необоычном порядке, сколько лет вы привыкали к QWERTY-ЙЦУКЕН?
Tseikovets
25.06.2015 17:00+2Боюсь, вы слишком идеализируете API Windows. Даже просто за последние несколько релизов Windows произошло три глобальные перестройки технологий доступа к глубоко запрятанной экранной информации:
- На XP экранные чтецы в сложных случаях напрямую перехватывали вывод на экран, подслушивая события ядра. Это была технология Video Intercept.
- В 7 прямое подслушивание экранного вывода стали прибивать из соображений безопасности и стали появляться зачатки отдельной технологии для адаптивного ПО. Это была технология Mirror Driver.
- В 8 все обходные пути для адаптивного ПО окончательно прибили и дали им отдельный API. Это была технология Accessibility Driver.
Причём, вся эта эволюция далеко не всегда даже просто сохраняла функциональность. В частности, Accessibility Driver в отдельных моментах принёс регресс доступности в отношении чтения экрана. Ну а например после релиза Windows 8, около полугода компании, разрабатывающие ПО для увеличения экрана и модификации картинки, чесали репу и пытались реализовать поддержку этой платформы. Первое ПО увеличения экрана, поддерживающее Windows 8, удалось выпустить лишь в мае 2013 года.
Если же говорить в целом, то с середины девяностых годов в технологиях обеспечения доступности GUI на Windows очень многое изменилось. В 90-х никаких специальных API вообще не было. Потом в начале 2000-х Microsoft разродились специальным accessibility API под названием MSAA (Microsoft Active Accessibility). Пару релизов назад морально устаревший MSAA стал уступать место новому accessibility API под названием UIA (User Interface Automation). И это ещё не говоря о сторонних accessibility API, разработанных в пику Microsoft, например, IAccessible2, который лоббировался фанатами open source, испытывавшими фрустрацию от проприетарного MSAA. Вот какие-нибудь Firefox или OpenOffice.org используют именно IAccessible2, тогда как Internet Explorer или MS Office MSAA/UIA.
В общем на Windows тоже не всё так просто. Она лидирует в доступности, главным образом, просто из-за больших усилий, которые сосредоточены в отношении доступности этой платформы: много сторонних компаний, полноценный рынок коммерческих решений и всё такое.
В Linux есть свой accessibility API, который называется AT-SPI (Assistive Technology Service Provider Interface). Доступность того же Qt обеспечивается посредством специального пакета Qt-AT-SPI, который пробрасывает вызовы accessibility API самого Qt в AT-SPI.
Вообще, если уж говорить о вещах типа Qt или Java, то с их доступностью в Windows, а также многих других системах, точно такие же проблемы. Требуются специальные усилия, чтобы вызовы accessibility API какой-то из этих сред донести до экранного чтеца или ретранслировать в системный accessibility API.
На OS X, действительно, системный accessibility API достаточно неплохо унифицирован, но там проблема в убожестве реализации непосредственно конечной вспомогательной технологии, с которой работает пользователь. То есть разработкой экранного чтеца занимались люди, которые не очень хорошо в этом разбирались. В некоторых вещах вообще заметно, что они с вопросом знакомы чисто теоретически. Именно поэтому во многих аспектах VoiceOver на OS X скорей удобнее зрячим (например, для тестирования доступности), чем незрячим.
Одним словом, абсолютного совершенства нет. Удобство той или иной платформы для конкретного незрячего зависит от специфики тех задач, которые он решает. Ну а разработчикам вообще-то не помешает разрабатывать с учётом доступности везде, так как незрячие пользователи есть на всех основных платформах.
matrixs
16.06.2015 21:25+4Всегда восхищался людьми с такой волей к обучению и жизни
kikaha
16.06.2015 22:08+46У них просто нет вариантов. Это я говорю, как на 5% более, чем вы, знающий, в чем их беда. У меня нет одной руки. Я 10, блджад, лет читаю, какой шикарный редактор Vim, но ничего не могу с ним сделать — там туева хуча шорткодов, одной рукой не наберешь. Можно освоить часть, но нахрена, когда кайф — когда рулишь всеми?
Вы меня уже пожалели? Не стоит. Я успешно говнокодю в том же Notepad ++. И читаю, как этот парень работает — у меня волосы на голове шевелятся, мне страшно представить, какие массивы инфы этот чувак держит в голове в любой момент времени! Я просто мечтаю о том времени, когда ему смогут дать зрение… что он сможет тогда?fshp
16.06.2015 22:15+6Станет обычным человеком. Львиная часть мозговой мощности уйдёт на обработку изображения.
PerlPower
16.06.2015 22:47+4А вы пробовали делать педали для Esc, Esc-v и прочих переключалок режима?
symbix
17.06.2015 00:04+2Гугл по 'one handed vim' подсказывает вот такое: www.serverwatch.com/tutorials/article.php/3881166/OneHanded-Workarounds--The-Programmers-Guide-to-Typing-With-a-Broken-Thumb.htm
Мне сложно оценить, но, возможно, окажется полезным
EvilsInterrupt
16.06.2015 21:39+3Восхищен этим программером.
Как-то с командой ходили в «Диалог в темноте». Это один из тренингов для команды в темноте. Мероприятие погрузило меня на 2 часа в те ощущения, что испытывают слепые. Скажу честно, когда вновь увидел привычне мне очертания столов, стульев и др. предметов в комнате, то я дико обрадовался.
Одно из самых сложных заданий на этом тренинге было: попить с командой чаю. Вроде элементарно, но я придумывал 100500 способов чтобы никого не облив налить-таки себе чаю ;)
После этого мероприятия многое становится по-другому!
yurash
16.06.2015 22:27+1Я не помню, можно ли в песочнице делать перевод, но если нельзя почему вы отдельно не указали ссылку на оригинал? blog.freecodecamp.com/2015/01/a-vision-of-coding-without-opening-your-eyes.html
Ohar Автор
16.06.2015 22:54+4Нельзя.
Ссылку я банально забыл и как раз собирался добавить. Спасибо за замечание.
Alexey86
16.06.2015 23:56+62Не так давно столкнулся с таким же случаем.
На интервью попросился студент, у которого очень серьезные проблемы со зрением. Ни текста, ни картинок он не видит. Может быть видит какие-то общие очертания больших объектов (типа человека, машины и т.д.), но не уверен (спрашивать не удобно). Для меня это было удивительно, как человек с такой патологией может эффективно взаимодействовать с компьютером и работать программистом. По его рассказам, если резюме было интересно и ему звонили, то как только узнавали про патологию, разговор заканчивался (такое было несколько раз). Мы все равно решили провести интервью. Сам я на собеседовании не был, но отзыв интервьюеров был положительный. На интерью, кроме общих и достаточно глубоких знаний, он спокойно писал код и решал поставленные задачи.
Сейчас он работает в моей команде. Вся работа происходит под Linux. Экранный диктор. Какое-то время назад купили дисплей Брайля (хотя этот девайс дисплеем я бы не назвал никогда, если бы мне не сказали :) ). Задачи решаются так же спокойно, как и в случае других коллег. Есть некоторые особенности при постановке и обсуждении задач. Особенно если часть функционала описана в виде картинок. Но мне кажется, что это в какой-то степени тренирует и окружающих, чтобы объяснения были не в стиле «смотри, есть вот такая фигня, она помещается вот эту штуку» и т.д., а была какая-то связная речь. :)
Ну и в целом, человек живет полноценной жизнью. Вот недавно родился второй ребенок. :) Меня, конечно, это до сих пор поражает, хотя работаем вместе уже больше года наверно.PavelSandovin
17.06.2015 00:11+3Это в России?
Alexey86
17.06.2015 00:16+15Да, в России
PavelSandovin
17.06.2015 00:27+53Это радует, что в России есть такие компании, которые не чураются нанимать людей с физическими ограничениями.
PavelSandovin
17.06.2015 00:26+2Самый интересный вопрос, как у таких людей обстоят дела с геометрией? Полностью слеп был академик Л.С. Понтрягин, — один из наиболее выдающихся математиков, — но он утратил зрение в возрасте 14 лет в результате осложнений, возникших из-за ожога лица. Так же известен Бернард Морин, математик из Франции, — он утратил зрение в возрасте 6 лет, но это не помешало ему заниматься геометрии получить глубокие результаты в топологии. Но есть ли среди геометров люди, не имевшие вообще опыта восприятия пространства? Мне пока не удалось найти информации на этот счет.
burjui
17.06.2015 03:33+4Наверняка такие есть, ведь пространство они воспринимают, просто не визуально. Например, слепой вполне в состоянии понять, что такое треугольник — для этого хватит осязания. К тому же, математика оперирует абстракциями, для работы с которыми зрение не обязательно.
Tseikovets
17.06.2015 13:40+1Вообще, конечно, у слепых есть с этим проблема. Геометрия ещё ничего, так как можно нарисовать рельефный чертёж, а вот стереометрия для многих остаётся часто непонятной. Например, слепому очень трудно воспринять концепции проекции, то есть почему вдруг некий круг выглядит овалом, а прямоугольник трапецией, если они представляются в трёх измерениях при взгляде с боку. Но это касается среднестатистических незрячих, то есть, условно говоря, процент незрячих школьников, плохо понимающих геометрию и стереометрию, существенно выше, чем зрячих. Однако это не исключает способности отдельных незрячих это понять. В конце концов, те же идеи проекции можно понять теоретически, а не только на основе реального опыта. Вся проблема в том, что для этого должен быть хороший учитель, готовый буквально лично объяснять эти вещи, а также заинтересованность со стороны самого незрячего. Это бывает, просто не так уж часто.
Понтрягин был крутой мужик, но слепые математики, активно занимающиеся именно научной деятельностью, в России есть и сейчас, так что ресурсы родины в этом отношении далеко не перевелись. Я просто не уверен, что корректно называть конкретные имена, но они есть.
К слову, автобиография Понтрягина интересна и сама по себе, без привязки к его инвалидности, так что если кому-то интересна академическая советская тусовка изнутри, то почитайте — «Жизнеописание Л. С. Понтрягина, математика, составленное им самим» (ссылки на саму книгу с ходу, к сожалению, не нашёл, но в электронной версии точно есть). Например, если верить Понтрягину, то Колмогоров был ещё той задницей, а я как раз по его учебнику алгебры учился, так что читаешь прямо про старых знакомых. :-)
mlg
17.06.2015 05:57+1По поводу восприятия математиками своих уравнений вообще,
из 'Магелланова облака' Станислава Лема, математика.Я не удержался и задал ему вопрос, интересовавший меня уже давно:
— Скажи мне, только не смейся, как ты представляешь себе уравнения, которые ты мысленно преобразуешь? Видишь ты их как-нибудь?
— Что значит — видишь?
— Ну, представляешь их себе, скажем, маленькими черными существами?
Он сделал изумленные глаза.
— Какими существами?
— Ну, понимаешь, математическое выражение, написанное на бумаге, в общем… немного напоминает вереницу черных букашек или червячков… — сказал я неуверенно. — Я думал, что эти знаки образно предстают в твоей голове…
Он расхохотался:
— Маленькие черные существа? Это замечательно! Я бы никогда до этого не додумался!
— И как же все-таки? — настаивал я.
Он задумался.
— Возьмем какое-нибудь понятие, ну, скажем, «стол». Разве ты представляешь себе его в виде четырех букв?
— Нет, я представляю себе просто стол…
— Ну вот. Так и я представляю себе свои уравнения.
— Но ведь столы существуют, а твоих уравнений нет, — попытался возразить я и замер, увидев его взгляд.
— Их нет?.. — сказал он таким тоном, как будто говорил мне: «Опомнись!»
— Ну хорошо, если ты не представляешь их себе в виде сплетенных из букв образов, то как ты их видишь? — не сдавался я.
— Поставим вопрос иначе, — сказал он. — Когда ты сидишь впотьмах, ты знаешь, где у тебя руки и ноги?
— Конечно, знаю.
— А чтобы знать это, нужно ли тебе представлять их положение, воссоздавать в памяти их вид?
— Конечно нет, я их просто ощущаю.
— Вот так и я «ощущаю» уравнения, — сказал он с удовлетворением.
hell0w0rd
17.06.2015 02:06А пример кода-то где? Безумно интересно же.
Вероятно вот: github.com/brandenbyers/tinkerplate/commits?author=zersiaxhell0w0rd
17.06.2015 02:11Печально, но после изучения активности на github, большинство (а их не много) issue, на счет accessibility остались открытыми, на пример github.com/gitterHQ/gitter/issues/538
pepelsbey
17.06.2015 02:12+16Во-первых, большое спасибо за перевод. Но.
Accessibility — это доступность, не ведитесь на предложения случайных людей, просто откройте поисковик или тот же тег accessibility на Хабре и убедитесь, как это слово употребляется по-русски. Хотите более канонических примеров? Авторизованный перевод «Руководства по обеспечению доступности веб-контента (WCAG) 2.0» (Web Content Accessibility Guidelines).
Поправьте обратно, не путайте людей.dbanet
17.06.2015 06:59+5Поддерживаю.
И ещё италик не нужен.
Итализируют то, на чём хотят сделать акцент: при чтении итализированное непроизвольно интонационно выделяется.
Предложения построены так, что никакого акцента на слове «доступность» нет вовсе, но оно каждый раз встречается в италике. Зачем?
Ohar Автор
17.06.2015 12:38Да, пожалуй, вы правы. Спасибо.
vladamir
17.06.2015 15:47А вообще по-моему слово многозначное, и согласно тематике поста более подходит перевод от гугла — «accessibility — с ограниченными возможностями»
Tseikovets
17.06.2015 16:48+3Ну Google такой перевод accessibility предлагает далеко не самым первым, а на первом месте всё-таки перевод как «доступность», что правильно.
Вообще же Google — это статистический перевод, поэтому попадание в список значений «с ограниченными возможностями» является всего лишь отражением распространённости некорректного перевода.
Ограниченные возможности на английском вообще-то правильнее всего — disability, потому что понятие инвалидность в англоязычных странах несколько отличается от российского. Там принят функциональный подход, а у нас медицинский.
Accessibility в контексте статьи, то есть как некое свойство, — это однозначно «доступность».
Accessibility ещё может быть в контексте некой функциональности, тогда надо переводить «специальные возможности». Правда у Apple это переводится как «Универсальный доступ», но у Apple с переводами в принципе хреново, к тому же у этого перевода есть своя история, так как изначально там реально было «universal access», а уже потом заменили на более понятный термин «accessibility», ну а в русской локализации всё так и оставили. Честно говоря, и «специальные возможности» немного странный перевод, но это тот случай, когда уже сложилась традиция. Ввели такой перевод по-моему в Microsoft ещё в девяностых, а теперь это так везде и переводится, только Apple отличаются.
Проблема ещё в том, что слово «доступность» в русскоязычной IT-тусовке в первую очередь понимается как «availability», но это уже проблема просто низкой осведомлённости об accessibility. К тому же контекст всё-таки расставляет всё на свои места. Иногда пытаются избежать неоднозначности при помощи термина «общедоступность», но особой популярностью этот вариант не пользуется, да и звучит не очень.
Да и в государственных стандартах РФ используется термин «доступность», который в обратную сторону переводят как «accessibility».
В общем accessibility — это доступность!Ohar Автор
17.06.2015 17:06Спасибо за подробное объяснение.
Меня сильно коробила эта «доступность» при переводе, т. к. изначально я воспринимал «доступность» как «принципиальную возможность получения чего-либо», а не «возможность получения чего-либо наибольшим числом получателей».
Ну, в принципе, где-то так оно и есть, просто нужно немного сдвигать контекст слова.
i360u
17.06.2015 10:52Я бы так не смог. Мне нужно видеть код, я ориентируюсь по нему визуально: выделяю плотые массивные блоки, «колонны» параметров, оцениваю иерархию по отступам… Плюс еще подсветка синтаксиса… Зрение конечно отнимает много ресурсов мозга, но мне все равно трудно представить как можно что-то делать без возможности окинуть код взглядом целиком. Возможно тут во мне говорят мои дизайнерские замашки, но для меня действительно важно как код выглядит. А чел из статьи — просто супергерой какой-то…
AllexIn
17.06.2015 11:18Вы так не можете, потому что вам не надо.
Думаю если бы надо было — смогли.i360u
17.06.2015 11:28Ну понятно, что это вопрос определенных навыков, и специфики организации рабочего процесса: одни инструменты и принципы можно заменить другими, и т. д. Я говорю о том, что лично моя эффективность упала бы в разы, даже при наличии нужных привычек, если я буду вынужден держать в памяти всю структуру, чтобы по ней ориентироваться. У меня сформировался определенный паттерн — стараться не запоминать никакой лишней информации, к которой есть быстрый доступ (например, она отображена на экране), чтобы не тратить на это ресурсы, необходимые на решение основной задачи. Слепой же, вынужден все держать в голове и поддержитьвать все зависимости в актуальном состоянии. Возможно зрительные ресурсы как-раз и освобождаются для такой «базы данных», но человеку, который сформировался будучи зрячим, переключиться на такую схему будет ой как тяжело. Я бы не смог.
Tseikovets
17.06.2015 13:58+1При программировании в слепую у многого из этого есть свои аналоги:
Отступы могут зачитываться, так что при движении по строкам можно понимать, какой уровень вложенности.
Цвет также может иллюстрироваться: либо прямым зачитыванием названия, либо изменением на таком тексте параметров синтезируемого голоса, например, на красном тембр становиться выше и т.п.
Могут использоваться различные фишки быстрой навигации для перемещения по функциям, классам и т.п.
В общем, скорей всего, вы бы справились, потому что в условиях отсутствия альтернативы стимулы к освоению запредельны, но желаю вам никогда не попасть в ситуацию, когда это придётся проверять на практике.
Чувак из статьи — обычный человек, просто поставленный жизненными обстоятельствами в такие условия, когда визуально воспринимать информацию нельзя, вот он и приспособился точно также, как тысячи незрячих программистов до него и после него.
SerJook
17.06.2015 11:06А чем плох экранный диктор, встроенный в Windows 8?
Tseikovets
17.06.2015 14:03+1Если кратко, то он крайне убог. Лучше, чем в Windows 7 и тем более ещё ниже, но для реальной работы незрячего он до сих пор абсолютно непригоден. Фактически Narrator долгое время разрабатывался скорей не как средство доступа для незрячих, сколько как утилита для быстрого тестирования доступности зрячими разработчиками: запустил, пощёлкал табуляцией по кнопкам и убедился, что кнопки зачитываются, и всё.
В Windows 8 стало немного лучше, но любой сторонний screenreader рвёт его в клочья, в том числе даже просто по скорости отклика.
Alexey86
17.06.2015 11:46+23Ответ героя поста хабровчанам:
" Перед чтением, я извинения за ужасно коверкая русский язык. Я не говорю это (пока), но все еще хотел бы сказатьнесколько вещей.
Во-первых, спасибо за все положительные комментарии, они действительно делают мой день.
— Я читал комментарии, используя Google Translate и, возможно, неправильно некоторые из них, но я считаю, что было некоторое замешательство о мне упомянуть SourceTree. Я использую командную строку для многих вещей, в том числе и Git Mercurial. Я просто хотел, чтобы использовать программу, люди будут распознавать, но его не то, что я хотел бы использовать часто. Это хорошо для " конфликтов слияния ", но это очень раздражает, чтобы исправить с помощью SourceTree так что я обычно использую командную строку.
— В-третьих, и финал, позвольте мне поблагодарить переводчика для перевода свой ??пост. Мы будем иметь водку вместе, если вы когда-либо в Нидерландах:"
Ссылка: twishort.com/VZxic
Твитился Vlad Gramovich
k06a
17.06.2015 12:00+7Имеется комментарий от автора оригинальной статьи, он почитал комментарии хабра и просил запостить сюда комментарий от его лица:
Перед чтением, я извинения за ужасно коверкая русский язык. Я не говорю это (пока), но все еще хотел бы сказатьнесколько вещей.
Во-первых, спасибо за все положительные комментарии, они действительно делают мой день.
— Я читал комментарии, используя Google Translate и, возможно, неправильно некоторые из них, но я считаю, что было некоторое замешательство о мне упомянуть SourceTree. Я использую командную строку для многих вещей, в том числе и Git Mercurial. Я просто хотел, чтобы использовать программу, люди будут распознавать, но его не то, что я хотел бы использовать часто. Это хорошо для " конфликтов слияния ", но это очень раздражает, чтобы исправить с помощью SourceTree так что я обычно использую командную строку.
— В-третьих, и финал, позвольте мне поблагодарить переводчика для перевода свой ??пост. Мы будем иметь водку вместе, если вы когда-либо в Нидерландах:)
Источник: twishort.com/VZxicTimsTims
17.06.2015 17:34Пожалуйста, не подумайте, что я бестактен, но раз уж появился Zersiax, то хочу ему задать личный вопрос:
Играет ли Zersiax в какие-нибудь игры на компьютере? Конечно не counter-strike, а например пасьянс, сапер? Или в них нереально играть?
И как вообще получается «развлечься» за компьютером?
yupic
17.06.2015 13:07
TedBeer
17.06.2015 13:33Видео с расшифровкой с амстердамской конференции Fronteers 2012 года с 3мя ребятами с разными видами и степенью ограниченности — Accessibility panel.
Один из них слепой девелопер, другой учитель CSS, HTML, третий — консультант по реализации доступности в играх и приложениях.
whoozle
17.06.2015 13:36+1Просто потрясающая статья! Я могу лишь поражаться несгибаемой воле этого мужчины. Спасибо вам.
Говорят с intellijea ситуация скоро изменится, сто тысяч человек проголосовало за улучшение accessibility в ней, и гугл вроде бы обещал сделать.
PS у вас в тексте есть небольшая опечатка, «названние».
zersiax
17.06.2015 16:28+17Он взял меня некоторые попытки, но у меня есть полный отчет здесь.
Я очень рад всех ваших положительных отзывов.
Если кто- то есть вопросы ко мне, пожалуйста, попросите их.
Лучший способ на Twitter или провисание.zersiax
17.06.2015 16:41+20It seems my Google translated Russian isn't very clear :) What I meant to say was that I am really happy about all the comments you guys have been writing me and that I am always willing to answer questions. You can reach out to me on twitter or Slack for that, using the same name as on here. I can also answer on here if that has your preference :)
TimsTims
17.06.2015 17:44Добро пожаловать!
Я иногда задаюсь вопросом — если со мной что-нибудь случится и я перестану видеть, то смогу ли я дальше писать код? Видимо, это возможно :)
Пожалуйста, у меня есть к вам вопрос: играете ли вы в компьютерные игры? И если да, то какие? И какое ваше любимое развлечение за компьютером? Спасибо!zersiax
17.06.2015 17:54+6Sorry for responding in English, but I think this will be easier for you to translate. If I google translate my words to Russian, apparently the result is slightly hard to follow.
To answer your question though, yes I do play video games :) There's a number of different t ypes of game I play:
— www.audiogames.net and forum.audiogames.net are sites dedicated to games that are based fully on sound. Often, there isn't even anything on screen :)
— www.mudconect.com is a site of old-style MUD (multi-user domain( games, these are basically online virtual worlds rendered completely in text.
— I play mainstream console games as well, mainly of the fighting variety like Tekken, Mortal Kombat and Streetfighter
— Lastly, I play some very old gameboy games now and again. Why, I am currently going through Pokemon Crystal ;)Ohar Автор
17.06.2015 18:40Tekken, Mortal Kombat and Streetfighter? Really? Oh my.
But how can you get what happens at the game?
How can screen reader can describe current game situation, especially when it changes very fast?zersiax
17.06.2015 18:49+2A screenreader can no more read a Tekken screen than a 3-year-old Englis child can speak Chinese. The screens are way too visual. In games like Tekken, you are fully dependent on the soundscape. Listen for impacts, fists or feet whooshing by and remember your combo's and special moves. Wait for a lul in the opponent's assault and strike fast when the opportunity arises. It really isn't all that different from what you guys do during these games, I just use different cues :)
ChieF_Of_ReD
17.06.2015 18:58А сколько примерно времени требуется для освоения нового файтинга?
zersiax
17.06.2015 19:05+1Not sure if I am understanding you correctly, but I think what you are asking is how long it takes me to get used to playing a particular fighting game. This really depends on the complexity of the game, the dedication towards learning it I have etc ...so I can't really give an answer to that
saboteur_kiev
19.06.2015 10:17+1Это просто замечательно!
Когда-то, я администрировал один из первейших русскоязычных MUD-ов, и когда появились графические аналоги типа Ultima Online, Lineage и MUD-ы практичски вымерли, я всегда подозревал, что их потенциал не был использован до конца.
Сейчас я с другой стороны посмотрел на возможность развития текстовых игр. Это же просто непаханое поле для новых идей, у которого есть определенная аудитория с проблемным зрением.
А такие вопросы:
1. Программа, которая читает текст, может читать разные цвета разным голосом?
2. Встречали ли вы других людей с проблемой зрения в MUD?
3. Пробовали ли сами стать одним из программистов в MUD, или хотя бы отправляли свои идеи администраторам, которые бы упростили восприятие игры?zersiax
19.06.2015 13:13+1I will try to answer your questions as well as possible :)
1. Although this is possible, it is often not advisable since a lot of users will not know how to do this. For example, instead of making an enemy mob red, you could prefix it with (enemy) or (!). Ideally, there are two modes: an ANSI color mode, and a mode where all important information usually relayed by color is relayed using other means. DikuMud uses flags like (glowing) (humming) (white aura) etc. for that kind of thing
2. Yes, I have :) If you want to see what can be done with a MUD and scripting to play audio cues, you should have a look at www.mush-z.com. This is a scripted version of Mushclient for a MUD caled Alter Aeon, and so much music and sound has been added that it almost sounds like an MMORPG.
Mainly due to these modifications, the blind really like this particular MUD, but I have seen them on other, non-scripted muds as well.
3. I have briefly played with some MUD codebases like CoffeeMUD and the DeadSouls mudlib, but never really got a MUD off the ground. I never really had the time to run my own MUD.
smartass111
21.06.2015 03:49+1В русскоязычном MUD Былины довольно большое коммьюнити незрячих. Постоянно активных человек пять.
Несколько кланов, несколько администраторов, разработчиков игровых зон. Ну и программисты были неплохие :)
Всем велком если что.
burjui
17.06.2015 18:05+3How are you dealing with geometry and other related stuff? I assume you cannot «visualize» a cube, but I'm sure you have some mental model of it, which you manipulate when you think of, for example, a cube spinning in space, sort of mental sense of touch or something like that.
zersiax
17.06.2015 18:10+8A cube is something I can mentally conceptualize, basically because it is a familiar shape to me. Tv's are cube-shaped, so are dice. Therefore, it is easy for me to understand the concept of a cube. However, if I were to draw a cube on paper and try to make it 3D, I would not know how to do that due to the simple fact that I don't have a visual image of a cube, I have a tactile conceptualization of the entirety of a cube due to the fact I have held it in my hand in its entirety. This of course doesn't really work for more complex shapes like animals and other non-basic shapes.
Myshov
17.06.2015 18:56Hello Florian!
You are great example of a purposeful human, who do your best, keep on going, bro! :)
I have a question. Did you try to use command line interface tools for programming? I mean you mentioned mostly integrated development environments in the blog post, but you didn't mention «old school» editors like Vim or Emacs. I think they can give you are more power while working on the code, because they are lot more «text-oriented», and have rich command interface.zersiax
17.06.2015 19:03+3Hi :) I am aware of tools like Vim and Emacs, and have been using them off and on for my own projects. The tricky part of that arrangement though is that a lot of my colleagues, be it actual fellow employees or students, will use GUI-based IDEs. hese two often aren't very interoperable, which makes it one big mess when you try to collaborate on things :) But yes, for one-man projects I like to use Emacs.
vlreshet
17.06.2015 18:32Hi! I'm very impressed by your willpower, you really damn cool guy. :) I have one question (if you don't mind). How are you read documentation and manuals, if you want to find something definite? Listen all text from start to end? Generally, it is question not only about manuals. How you navigate through big text?
P.S. i'm sorry for my bad englishzersiax
17.06.2015 18:35+3You guys may speak Russian if that is easier, I can generally follow that without too much trouble :)
Now for your question :) If it is a large amount of text, it would depend on what medium it is. If it is a website, I would look for headings. Screenreaders have a keyboard shortcut to jump to the next heading. ( )
If that isn't there, I will look for skip links. If it is a PDF of a manual, I'd look for the table of contents and use a hotkey to jump to the page I need. SO ...it really depends on what kind of text it is :) When all else fails, good old ctrl+f can be very useful, too :)rekby
17.06.2015 21:59Hello zersiax :)
What about phones? Smartphone have no tactile keys, but usual phones can't «to say» sms and own interface, read phone book and etc?
zersiax
17.06.2015 22:08+1Apple led the way here, when in 2009 they wrote a screenreader that reads stuff on an iPhone's touch screen out loud. You first touch the content, it is read, and when you tap twice it is actually interacted with. This is the model that all subsequent screenreaders use, including Google's Talkback and the touch gstures that are nowu built into Narrator in Windows 8 and windows 10.
rekby
17.06.2015 22:14thanks :)
And what about drive — is it real to drive a bike/car, to walk or to fight (non game — real) with orient by listen the world only?zersiax
17.06.2015 22:16+3Diving, sadly, is currently out of the question. I get around using public transport, some taxi services that exist here in the Netherlands etc.
Although it is apparently possible for a blind person to fight efficiently, I haven't found a teacher yet who can train me to do this. Without this training, this skill is notably hard to pick up.
Maccimo
17.06.2015 23:21Про это есть фантастический рассказ «Белая трость калибра 7.62» (White Cane 7.62).
rekby
17.06.2015 23:27мне вопрос навеял фильм «слепой»
mva
18.06.2015 09:33или «Слепая Ярость» («Blind Fury») с Рутгером Хауэром в главной роли. Там тоже этот момент обыгрывается. Помню, когда я его посмотрел, будучи ещё подростком (если даже не вообще ребёнком) он на меня произвёл довольно сильное впечатление (при том, даже, что это постановочный фильм и Хауэр не является слепым (на сколько мне известно). Тем не менее, мне кажется, момент, когда он якобы ориентируясь только на слух разрезает катаной арбуз на много частей — вполне реален для незрячего при должном обучении (не обязательно даже во вьетнамской деревне ;) ).
AndreWin
17.06.2015 22:08+1Hello, Zersiax! I am delighted with that difficulties made you stronger ordinary person!
What program languages do you use to write your code?zersiax
17.06.2015 22:15+2Honestly I use all sorts of languages :) I am mainly a back-end web guy, so I am most familiar with languages like PHP, Ruby on Rails, Python and ...if I have to… Java. I am currently learning more about the MEAN (mongoDB, ExpressJS, AngularJS, Node.JS) stack, as you can read in the blog article :) I visited Microsoft in May and this rekindled my enthusiasm for the net infrastructure as well as the way to write universal windows 10 apps, so I'll likely be having a look at those again soon :)
return_true
18.06.2015 00:50Hoi Zersaix, hoe gaat het met jou?
Do you find some programming languages easier to work with comparing to others? I guess that Java might be too verbose to listen to.zersiax
18.06.2015 01:00Haha kudos for trying some Dtuch :) Met mij gaat het goed :)
I wouldn't say language A is more accessible or easier to work with than language B when it comes to screenreader users. I just don't like Java's verbosity to do the simplest of things. Take the following Python program:
print(«Hello all you magnificent Russian-speaking people!»)
name = raw_input(«Please enter your name:»)
print(«Your name is » + name + ".")
It is late here, so I may have made a syntax error but this is a three-line program in Python. In Java, I would first need to create a class, then a main function, initialize a bufferedReader, call two functions that need a double-dotted chain call (System.out.println()) ...just ugh, nevermind already :)return_true
18.06.2015 01:10+1Yeah, funny, it's hard to practice Dutch in Amsterdam, so I got a chance on Russian web site ;)
Well, thanks for the answer.
Halt
18.06.2015 15:02Hello Zersiax! :)
Speaking of languages… have you tried the Smalltalk language? It has a very simple text-oriented syntax and clear concept with almost no character overhead that we may found in C-like languages. You may literally read Smalltalk code out loud and it would be almost the same as describing logic concept in natural English.
Currently I'm working on a Smalltalk project, so your opinion is very important for me. I've just realised that Smalltalk may be really useful for people like you.
P.S.: I'm really impressed by your story. You're simply incredible and inspire all of us! Thank you.zersiax
18.06.2015 15:07Although I have heard of SmallTalk, I have never really looked into the language :) Call me ignorant but I thought the language was slightly out of style and superceded by things like Objective-C and Python ...Judging by the fact that you are doing a project in this language it seems that isn't quite the case :)
Halt
18.06.2015 15:13Well, there are a lot of holywars and speculations about it, but yes, it is a bit different. Previously you mentioned Ruby and Objective-C. Both of them were influenced by Smalltalk at some point. Smalltalk developers invented many programming techniques that we now aware of and use widely, like the object oriented programming itself, refactoring, test driven development and so on. It's not an esoteric or toy language. You may read more on wikipedia if you like.
Tseikovets
18.06.2015 15:24Do not worry, the specifics of the language syntax for the blind does not exist.
Blind can work with any syntax, because the lack of sight does not impose specific requirements for the syntax.
Screenreaders have functions for reading non-alphabetic characters, such as (), {}, $, @ and so forth. Screenreaders also know how to read the text indentation.
Thus, the personal biases in languages at the blind and the sighted are caused by the same factors that are not directly related to the vision.
Amikko
Потрясающе, спасибо за перевод!