Forwarded from Cyrmax Кирилл Белоусов
Два года назад замечательный человек с ником GuideDev создал модификацию, позволяющую слепым играть в одну из самых популярных в мире игр Hearthstone.
Два года он каждый месяц выпускал обновления, один, без чьей-либо помощи декомпилировал код игры и адаптировал дополнение под новые версии Hearthstone.
Все эти два года разработчик модификации вместе с огромным сообществом слепых геймеров регулярно обращался к Blizzard с просьбами взять его наработки и внедрить доступность для слепых в саму игру.
Однако в ответ сообщество получало лишь молчание.
Сейчас, через два года крапотливой работы, GuideDev понял, что не справляется с разработкой мода, не успевает "догонять" быстро меняющийся код игры, не может совмещать работу, учёбу и разработку мода.
GuideDev объявил, что вышедшая в начале ноября версия мода станет последней, и он больше не будет заниматься поддержкой дополнения.
В связи с этим незрячие геймеры всего мира создали петицию, в которой просят Blizzard обратить внимание на проблему и наконец-таки взяться за разработку доступности игры для незрячих пользователей.
Я прошу каждого подписать петицию и поделиться ей с друзьями. Даже если вы лично не являетесь незрячим и не играете в Hearthstone, своей подписью вы поможете тысячам, а может и миллионам незрячих игроков.
Ссылка на петицию:
https://chng.it/Lb6SGfz2pR
Два года он каждый месяц выпускал обновления, один, без чьей-либо помощи декомпилировал код игры и адаптировал дополнение под новые версии Hearthstone.
Все эти два года разработчик модификации вместе с огромным сообществом слепых геймеров регулярно обращался к Blizzard с просьбами взять его наработки и внедрить доступность для слепых в саму игру.
Однако в ответ сообщество получало лишь молчание.
Сейчас, через два года крапотливой работы, GuideDev понял, что не справляется с разработкой мода, не успевает "догонять" быстро меняющийся код игры, не может совмещать работу, учёбу и разработку мода.
GuideDev объявил, что вышедшая в начале ноября версия мода станет последней, и он больше не будет заниматься поддержкой дополнения.
В связи с этим незрячие геймеры всего мира создали петицию, в которой просят Blizzard обратить внимание на проблему и наконец-таки взяться за разработку доступности игры для незрячих пользователей.
Я прошу каждого подписать петицию и поделиться ей с друзьями. Даже если вы лично не являетесь незрячим и не играете в Hearthstone, своей подписью вы поможете тысячам, а может и миллионам незрячих игроков.
Ссылка на петицию:
https://chng.it/Lb6SGfz2pR
Change.org
Sign the Petition
Native Accessibility for Hearthstone
Лицензия AdGuard не вечная (но это не точно)
Когда-то давно я купил вечную лицензию на AdGuard.
Недавно писал в их поддержку из приложения, и после завершения переписки они прислали мне опрос.
В опросе просили оценить качество поддержки, в нём ничего необычного.
Но далее шла вся история переписки, и в самом первом сообщении были прикреплены некоторые файлы.
Как оказалось, приложение без моего ведома отправило им логи и ещё пару файлов, один из которых - license.txt.
Ну во-первых я возмутился: "Какого хрена оно вообще им было отправлено, ведь я же снимал эти флажки перед отправкой!".
А во-вторых мне стало интересно, что же в этих файлах находится?
В файле license.txt, как я и предполагал, оказалась моя лицензия, да-да, прям вот лицензионный ключ.
А также в нём была дата истечения моей вечной лицензии, ниже привожу содержимое файла (разумеется ключик и ещё какой-то id-шник я оттуда убрал 🙂).
Т.е., выходит, что она не вечная! Она до 2118 года!
Скорее всего её продлят к этому времени, а может и нет, как знать...
В общем надо дожить до этого момента и посмотреть, что же будет.
Но это, на самом деле, не проблема, так как у меня ещё есть пожизненная инвалидность до 31 декабря 9999 года, докуда тоже было бы интересно дожить и проверить, что с ней станет (возможно про это тоже когда-нибудь напишу пост).
Когда-то давно я купил вечную лицензию на AdGuard.
Недавно писал в их поддержку из приложения, и после завершения переписки они прислали мне опрос.
В опросе просили оценить качество поддержки, в нём ничего необычного.
Но далее шла вся история переписки, и в самом первом сообщении были прикреплены некоторые файлы.
Как оказалось, приложение без моего ведома отправило им логи и ещё пару файлов, один из которых - license.txt.
Ну во-первых я возмутился: "Какого хрена оно вообще им было отправлено, ведь я же снимал эти флажки перед отправкой!".
А во-вторых мне стало интересно, что же в этих файлах находится?
В файле license.txt, как я и предполагал, оказалась моя лицензия, да-да, прям вот лицензионный ключ.
А также в нём была дата истечения моей вечной лицензии, ниже привожу содержимое файла (разумеется ключик и ещё какой-то id-шник я оттуда убрал 🙂).
application id: xxx
application status: ACTIVE
license: xxx (computers: 3, type: PREMIUM, expiration: Sun Aug 07 13:04:15 MSK 2118)
Т.е., выходит, что она не вечная! Она до 2118 года!
Скорее всего её продлят к этому времени, а может и нет, как знать...
В общем надо дожить до этого момента и посмотреть, что же будет.
Но это, на самом деле, не проблема, так как у меня ещё есть пожизненная инвалидность до 31 декабря 9999 года, докуда тоже было бы интересно дожить и проверить, что с ней станет (возможно про это тоже когда-нибудь напишу пост).
Клавиша Y
Многим известно, что я некоторое время назад был разработчиком игры HVR.
Сегодня вспомнил один забавный и поучительный случай, произошедший в процессе разработки, и решил вам о нём поведать.
В нашей команде было три человека
Я кодил, а ещё два человека занимались подбором и обработкой звуков.
Для тех, кто не вкурсе, поясню: игрушка была звуковой (приспособленной для незрячих), и хорошие звуки в игре такого типа - это уже половина успеха.
Игру мы решили делать для русского и английского языка.
Английский я на тот момент знал ну ооочень плохо. Не могу сказать, что сейчас я знаю его хорошо, моих навыков хватает на уверенное понимание технических манов и плюс-минус нормальное написание каких-нибудь сообщений к коммитам. Ну и порой приходится некоторые штуки прогонять через переводчик.
Поэтому в итоге я занимался кодингом, один человек переводом и звуками, а второй звуками и помогал в тестировании.
И вот однажды спрашивает меня переводчик, можно ли что-то сделать, чтобы после внесения изменений в файл с переводом не нужно было перезапускать клиент?
Я прикинул, что там кода пара строк, и приступил.
А в это время мама доготовила офигительный борщ и позвала всех хавать.
Я уже прописал обработку нажатия клавиши и перезагрузку, и осталась одна маленькая деталь.
Когда в звуковой игре происходит какое-то событие, оно должно быть обозначено либо звуком, либо сообщением, переданным на скринридер, либо и звуком и сообщением одновременно.
Звук для перезагрузки языковых данных избыточен (да и не было его у меня), поэтому я решил ограничиться сообщением.
И вот прописал я вызов функции и меня подклинило. Не мог я придумать, какой текст написать, потому что все мысли были о борще.
В итоге написал я сообщение и сохранил изменения.
А мы тогда в облаке работали, так что после того, как я изменил и сохранил код, он оказывался у остальных членов команды и они могли тут же с ним работать.
Вот доделал я, переводчику сообщил, что можешь переводить, сказал, какую клавишу нажимать для перезагрузки и убежал кушать.
И где-то на краю сознания промелькнула мысль, что нужно перед релизом не забыть убрать эту фичу.
Прошло несколько месяцев кодинга и отладки, и вот наступил долгожданный день релиза.
Скомпилировал я это чудо, заархивировал, куда-то мы это выложили.
Прошла пара минут, стали заходить первые игроки.
И вдруг, минут через 20 после релиза я осознал, что про ту фичу я забыл и ничего не выпилил.
Я был немного в афиге.
Да, эта клавиша не была внесена в readme, но ведь были и те, кто readme не читал, а просто заходили в игру и методом тыка изучали клавиши управления.
И вот те, кто так делал и натыкался на ту клавишу были в гораздо большем афиге!
Конечно, я быстренько убрал этот функционал и выпустил обновление, но угорали все потом ещё долго.
Причём и я тоже, мне даже почему-то не было стыдно, может сильно мелкий был (мне тогда было лет 14).
В общем первый релиз моего первого крупного продукта оказался весёлым и, в какой-то степени, поучительным.
Вы наверное не понимаете, почему у меня и игроков была такая реакция, и почему мне должно было быть стыдно?
Ну подумаешь, перезагрузка языковых данных, что в этом такого?
А дело всё в том самом сообщении, которое сгенерировал думающий о борще мозг.
Почему так получилось я понятия не имею, просто написал первое, что пришло в голову.
Вам, вероятно, интересно, что же я написал?
Что же, можете, наконец, утолить своё любопытство:
Вот такая вот фигатень, мораль: не забывайте удалять отладку перед выкатыванием на прод.
P.S.
Может есть среди подписчиков те, кто как раз вот так вот тыкал и наткнулся, отпишите в комменты о чём вы подумали, какие испытали эмоции и т.п. Интересно же.
Многим известно, что я некоторое время назад был разработчиком игры HVR.
Сегодня вспомнил один забавный и поучительный случай, произошедший в процессе разработки, и решил вам о нём поведать.
В нашей команде было три человека
Я кодил, а ещё два человека занимались подбором и обработкой звуков.
Для тех, кто не вкурсе, поясню: игрушка была звуковой (приспособленной для незрячих), и хорошие звуки в игре такого типа - это уже половина успеха.
Игру мы решили делать для русского и английского языка.
Английский я на тот момент знал ну ооочень плохо. Не могу сказать, что сейчас я знаю его хорошо, моих навыков хватает на уверенное понимание технических манов и плюс-минус нормальное написание каких-нибудь сообщений к коммитам. Ну и порой приходится некоторые штуки прогонять через переводчик.
Поэтому в итоге я занимался кодингом, один человек переводом и звуками, а второй звуками и помогал в тестировании.
И вот однажды спрашивает меня переводчик, можно ли что-то сделать, чтобы после внесения изменений в файл с переводом не нужно было перезапускать клиент?
Я прикинул, что там кода пара строк, и приступил.
А в это время мама доготовила офигительный борщ и позвала всех хавать.
Я уже прописал обработку нажатия клавиши и перезагрузку, и осталась одна маленькая деталь.
Когда в звуковой игре происходит какое-то событие, оно должно быть обозначено либо звуком, либо сообщением, переданным на скринридер, либо и звуком и сообщением одновременно.
Звук для перезагрузки языковых данных избыточен (да и не было его у меня), поэтому я решил ограничиться сообщением.
И вот прописал я вызов функции и меня подклинило. Не мог я придумать, какой текст написать, потому что все мысли были о борще.
В итоге написал я сообщение и сохранил изменения.
А мы тогда в облаке работали, так что после того, как я изменил и сохранил код, он оказывался у остальных членов команды и они могли тут же с ним работать.
Вот доделал я, переводчику сообщил, что можешь переводить, сказал, какую клавишу нажимать для перезагрузки и убежал кушать.
И где-то на краю сознания промелькнула мысль, что нужно перед релизом не забыть убрать эту фичу.
Прошло несколько месяцев кодинга и отладки, и вот наступил долгожданный день релиза.
Скомпилировал я это чудо, заархивировал, куда-то мы это выложили.
Прошла пара минут, стали заходить первые игроки.
И вдруг, минут через 20 после релиза я осознал, что про ту фичу я забыл и ничего не выпилил.
Я был немного в афиге.
Да, эта клавиша не была внесена в readme, но ведь были и те, кто readme не читал, а просто заходили в игру и методом тыка изучали клавиши управления.
И вот те, кто так делал и натыкался на ту клавишу были в гораздо большем афиге!
Конечно, я быстренько убрал этот функционал и выпустил обновление, но угорали все потом ещё долго.
Причём и я тоже, мне даже почему-то не было стыдно, может сильно мелкий был (мне тогда было лет 14).
В общем первый релиз моего первого крупного продукта оказался весёлым и, в какой-то степени, поучительным.
Вы наверное не понимаете, почему у меня и игроков была такая реакция, и почему мне должно было быть стыдно?
Ну подумаешь, перезагрузка языковых данных, что в этом такого?
А дело всё в том самом сообщении, которое сгенерировал думающий о борще мозг.
Почему так получилось я понятия не имею, просто написал первое, что пришло в голову.
Вам, вероятно, интересно, что же я написал?
Что же, можете, наконец, утолить своё любопытство:
if(key_pressed(KEY_Y)) {
load_lang_p();
speak("Иди нахуй.", true);
}
Вот такая вот фигатень, мораль: не забывайте удалять отладку перед выкатыванием на прод.
P.S.
Может есть среди подписчиков те, кто как раз вот так вот тыкал и наткнулся, отпишите в комменты о чём вы подумали, какие испытали эмоции и т.п. Интересно же.
goToSleep-0.1.nvda-addon
4.4 KB
Go To Sleep
Дополнение позволяет быстро переводить Windows в спящий режим с помощью сочетания клавиш.
Удобно, если вы часто используете эту функцию, а на клавиатуре отсутствует клавиша сна.
#NVDAAddon
Дополнение позволяет быстро переводить Windows в спящий режим с помощью сочетания клавиш.
Удобно, если вы часто используете эту функцию, а на клавиатуре отсутствует клавиша сна.
#NVDAAddon
👍2
Snow war
Многим моим подписчикам известно о игре Snow war.
Для тех, кто не в курсе, немножко поясню:
Snow war - это звуковая online 3d игра, разработанная мной, Данилом Пылаевым, специально для проекта "Blind games" несколько лет назад.
Проект закрылся, игра осталась.
Я доработал её и релизнул год назад, чтобы поиграть мог каждый желающий.
В Snow war вы лепите снежки и бросаете их в противников, понижая их очки здоровья. Игроки, у которых закончились очки здоровья, выбывают из игры. Цель - остаться единственным игроком на поле.
Это поверхностное описание, подробнее о правилах игры и горячих клавишах вы можете прочитать в правилах.
А теперь к цели поста:
Зима уже давно наступила, и уже почти новый год, и снега в моём городе нападало за последние дни немало, так что, думаю, самое время пофигачиться снежками.
Предлагаю собраться завтра, в субботу 24-го декабря в 20:00 по Москве на каком-нибудь из серверов (ниже будет опрос) и сыграть несколько раундов.
Если у кого-то в это время не получается, не расстраивайтесь: серверы работают 24/7, так что вы сможете поиграть в любое удобное вам время, хоть в июле :D
Игру можно скачать тут
Всем новогоднего настроения!
Многим моим подписчикам известно о игре Snow war.
Для тех, кто не в курсе, немножко поясню:
Snow war - это звуковая online 3d игра, разработанная мной, Данилом Пылаевым, специально для проекта "Blind games" несколько лет назад.
Проект закрылся, игра осталась.
Я доработал её и релизнул год назад, чтобы поиграть мог каждый желающий.
В Snow war вы лепите снежки и бросаете их в противников, понижая их очки здоровья. Игроки, у которых закончились очки здоровья, выбывают из игры. Цель - остаться единственным игроком на поле.
Это поверхностное описание, подробнее о правилах игры и горячих клавишах вы можете прочитать в правилах.
А теперь к цели поста:
Зима уже давно наступила, и уже почти новый год, и снега в моём городе нападало за последние дни немало, так что, думаю, самое время пофигачиться снежками.
Предлагаю собраться завтра, в субботу 24-го декабря в 20:00 по Москве на каком-нибудь из серверов (ниже будет опрос) и сыграть несколько раундов.
Если у кого-то в это время не получается, не расстраивайтесь: серверы работают 24/7, так что вы сможете поиграть в любое удобное вам время, хоть в июле :D
Игру можно скачать тут
Всем новогоднего настроения!
👍1
На каком сервере будем играть? Разницы между ними никакой нет, отличается только название.
Final Results
45%
Барсик
14%
Горыныч
14%
Кеша
17%
Кузя
10%
Мурзик
systemctl restart coding_workshop
Давненько ничего сюда не писал, в ближайшее время постараюсь это исправить.
Тем для постов набралось много, поэтому мне осталось всего лишь победить лень 🙂
Давненько ничего сюда не писал, в ближайшее время постараюсь это исправить.
Тем для постов набралось много, поэтому мне осталось всего лишь победить лень 🙂
Мегапост
Написал пост про модификацию прошивки роутера, пытаюсь запихнуть в telegraph, кнопка publish не прожимается, и ошибок вроде нет.
Попробовал отправить через API, а там...
Придётся на две части делить.
#ОноСломалось
Написал пост про модификацию прошивки роутера, пытаюсь запихнуть в telegraph, кнопка publish не прожимается, и ошибок вроде нет.
Попробовал отправить через API, а там...
{"ok": false, "error": "CONTENT_TOO_BIG"}Придётся на две части делить.
#ОноСломалось
Модификация прошивки роутера D-Link DIR-822
Под новый год я решил упороться и прошить роутер от MTS, а сейчас победил лень и описал это в немаленьком таком лонгриде.
Формат получился необычным, текст содержит кучу вставок блоков кода и цитат / копипаста уже написанного ранее, и надеюсь в таком виде оформлять посты мне больше не придётся, так как это достаточно сложно и муторно.
Постом выше я писал про две части.
Но что-то пошло не так, и их получилось 3.
Технически, думаю, можно было и в две запихнуть, но логически контент поделить не получалось.
Первая часть,
Вторая часть,
Третья часть.
UPD: на Android есть проблемы с доступностью некоторых элементов текста, лучше открывайте в браузере (сначала обычный Instant view просмотр внутри приложения, а потом кнопка Ещё (так называемые три точки), и там в меню можно открыть сторонним приложением).
#ХакВоБлаго
Под новый год я решил упороться и прошить роутер от MTS, а сейчас победил лень и описал это в немаленьком таком лонгриде.
Формат получился необычным, текст содержит кучу вставок блоков кода и цитат / копипаста уже написанного ранее, и надеюсь в таком виде оформлять посты мне больше не придётся, так как это достаточно сложно и муторно.
Постом выше я писал про две части.
Но что-то пошло не так, и их получилось 3.
Технически, думаю, можно было и в две запихнуть, но логически контент поделить не получалось.
Первая часть,
Вторая часть,
Третья часть.
UPD: на Android есть проблемы с доступностью некоторых элементов текста, лучше открывайте в браузере (сначала обычный Instant view просмотр внутри приложения, а потом кнопка Ещё (так называемые три точки), и там в меню можно открыть сторонним приложением).
#ХакВоБлаго
Перерождение Survive the Wild
Многим известна игра Survive the Wild, которую последние года полтора Sam Tupy (главный разработчик и, насколько мне известно, единственный программист в команде) допиливал, пытаясь устранить некоторые глобальные проблемы.
В итоге им было решено вообще сменить язык программирования, да и вообще стек разработки.
Я слежу за изменениями в проектах Сэма, кажется, ещё с осени 21-го года, когда вернулся в stw.
Лично мне интересно наблюдать за развитием навыков и возможностей человека, начинал который с bgt (по крайней мере известные его проекты написаны на этом ЯП), а сейчас освоил git, базы данных, администрирование linux на некотором уровне, и вроде даже C++ и Python.
В феврале на сервере игры навернулся SSD, с восстановлением данных возникли некоторые траблы (ага, он не делал бэкапы! Точнее делал, вроде бы, раз в месяц, и в итоге последний бэкап до выхода диска из строя выполнялся за три недели до инцидента), после этого игру было решено не восстанавливать, пока кодовая база не будет переведена на новый ЯП, и не будут внесены некоторые нововведения (цельная карта, относительно умные животные, система багрепортов и т.п.).
И вот сегодня на 15:14 по МСК запланировано открытие публичной беты, куда я предлагаю сходить всем, кому это интересно, и поискать там весёлых багов, а они там будут по-любому.
Вот ссылка на последний пост по состоянию stw.
#Игры
Многим известна игра Survive the Wild, которую последние года полтора Sam Tupy (главный разработчик и, насколько мне известно, единственный программист в команде) допиливал, пытаясь устранить некоторые глобальные проблемы.
В итоге им было решено вообще сменить язык программирования, да и вообще стек разработки.
Я слежу за изменениями в проектах Сэма, кажется, ещё с осени 21-го года, когда вернулся в stw.
Лично мне интересно наблюдать за развитием навыков и возможностей человека, начинал который с bgt (по крайней мере известные его проекты написаны на этом ЯП), а сейчас освоил git, базы данных, администрирование linux на некотором уровне, и вроде даже C++ и Python.
В феврале на сервере игры навернулся SSD, с восстановлением данных возникли некоторые траблы (ага, он не делал бэкапы! Точнее делал, вроде бы, раз в месяц, и в итоге последний бэкап до выхода диска из строя выполнялся за три недели до инцидента), после этого игру было решено не восстанавливать, пока кодовая база не будет переведена на новый ЯП, и не будут внесены некоторые нововведения (цельная карта, относительно умные животные, система багрепортов и т.п.).
И вот сегодня на 15:14 по МСК запланировано открытие публичной беты, куда я предлагаю сходить всем, кому это интересно, и поискать там весёлых багов, а они там будут по-любому.
Вот ссылка на последний пост по состоянию stw.
#Игры
Великий апгрейд
почему-то не выходят у меня короткие посты, так что этот снова в telegraph, правда на этот раз всего одна часть 😊
Кода там нет, поэтому в Instant view Android-клиента всё должно быть ок.
https://telegra.ph/Velikij-apgrejd-06-24
почему-то не выходят у меня короткие посты, так что этот снова в telegraph, правда на этот раз всего одна часть 😊
Кода там нет, поэтому в Instant view Android-клиента всё должно быть ок.
https://telegra.ph/Velikij-apgrejd-06-24
Telegraph
Великий апгрейд
Великий апгрейд Почему-то так получилось, что за небольшой период времени я сменил сразу несколько инструментов и устройств, которыми достаточно долго пользовался. 1. Я поменял наушники, в которых работаю за компом. Последние лет 6 я использовал простые проводные…
Ностальгический видос
На днях листал ленту в Youtube, и мне попалось видео со следующим названием: "ЗЕМЛЯНКА ИЗ ШЕСТИ БРЕВЕН НА СКЛОНЕ ГОРЫ - ЯМА, КАРКАС, ГЛИНЯНАЯ ПЕЧЬ и ЛЕС - ВЫЖИТЬ ПОД ЗЕМЛЕЙ!".
И т.к. я люблю видосы про крафт, решил его глянуть, и сделал это не зря.
На протяжении всего видео меня не отпускало чувство, будто я вернулся в далёкий 2016-ый год, денёк позалипал в STW, хорошенько там покрафтил и побегал по картам.
В общем если хотите отвлечься и расслабиться, рекомендую к просмотру, наверное лучше смотреть перед сном, главное в процессе не уснуть, что, кстати, в моём случае чуть не произошло 🙂
https://www.youtube.com/watch?v=hqqNYDXSEjg
На днях листал ленту в Youtube, и мне попалось видео со следующим названием: "ЗЕМЛЯНКА ИЗ ШЕСТИ БРЕВЕН НА СКЛОНЕ ГОРЫ - ЯМА, КАРКАС, ГЛИНЯНАЯ ПЕЧЬ и ЛЕС - ВЫЖИТЬ ПОД ЗЕМЛЕЙ!".
И т.к. я люблю видосы про крафт, решил его глянуть, и сделал это не зря.
На протяжении всего видео меня не отпускало чувство, будто я вернулся в далёкий 2016-ый год, денёк позалипал в STW, хорошенько там покрафтил и побегал по картам.
В общем если хотите отвлечься и расслабиться, рекомендую к просмотру, наверное лучше смотреть перед сном, главное в процессе не уснуть, что, кстати, в моём случае чуть не произошло 🙂
https://www.youtube.com/watch?v=hqqNYDXSEjg
Яндекс диск свернул куда-то не туда
Прислал мне как-то яндекс практикум анонс вебинара по английскому, я зарегистрировался, думая что они будут стримить на youtube.
Когда время вебинара пришло оказалось, что стримить на youtube они не будут, в зуме я смотреть не хотел, и в итоге забил.
И вот сегодня они прислали запись. "Ладно, послушаю в записи" - подумал я.
Ссылка на яндекс диск, открываю, попадаю, как я понял, в папку с единственным mp4 файлом, и...
Пытаюсь найти кнопку "Скачать".
Не нахожу, изучаю всю страницу, не нахожу контрола для скачивания (ни кнопок, ни ссылок).
Тыкался в режиме обзора и редактирования, эмулировал левый и правый клик куда можно и нельзя, всё тоже самое с отключенным блокировщиком рекламы.
Спустя 5 минут, неожиданно, начал открываться плеер при нажатии Enter на файле в режиме редактирования (иначе никак не открывается).
Круто, ща из плеера скачаю!
Вот значит кнопочки для управления воспроизведением, ползунки, настройки, кнопочка "Ещё"...
Тыкаем, а там только инфу о файле предлагают посмотреть.
Кручу-верчу плеер ещё пару минут, и делаю то, чего вообще пользователь облачного сервиса не должен делать, он даже думать об этом не должен, но мне вот пришлось.
Открываю DevTools, перехожу на вкладку Network, немножко магии, и дрррааассти, master-playlist.m3u8, попался!
Копируем здорровый урл, запихиваем в yt-dlp и получаем желанный видос, если ещё не забыли, с яндекс диска.
Вот такие вот чудеса, я, разумеется, не исключаю вероятность своего рукожопства, вот вам ссылка, попробуйте скачать сами и если получится, расскажите об этом в комментах, хоть буду знать, как с яндекс диска нынче качать надо 🙂
https://disk.yandex.ru/d/r7fiuUWtEUSz8g
#ОноСломалось #ХакВоБлаго
Прислал мне как-то яндекс практикум анонс вебинара по английскому, я зарегистрировался, думая что они будут стримить на youtube.
Когда время вебинара пришло оказалось, что стримить на youtube они не будут, в зуме я смотреть не хотел, и в итоге забил.
И вот сегодня они прислали запись. "Ладно, послушаю в записи" - подумал я.
Ссылка на яндекс диск, открываю, попадаю, как я понял, в папку с единственным mp4 файлом, и...
Пытаюсь найти кнопку "Скачать".
Не нахожу, изучаю всю страницу, не нахожу контрола для скачивания (ни кнопок, ни ссылок).
Тыкался в режиме обзора и редактирования, эмулировал левый и правый клик куда можно и нельзя, всё тоже самое с отключенным блокировщиком рекламы.
Спустя 5 минут, неожиданно, начал открываться плеер при нажатии Enter на файле в режиме редактирования (иначе никак не открывается).
Круто, ща из плеера скачаю!
Вот значит кнопочки для управления воспроизведением, ползунки, настройки, кнопочка "Ещё"...
Тыкаем, а там только инфу о файле предлагают посмотреть.
Кручу-верчу плеер ещё пару минут, и делаю то, чего вообще пользователь облачного сервиса не должен делать, он даже думать об этом не должен, но мне вот пришлось.
Открываю DevTools, перехожу на вкладку Network, немножко магии, и дрррааассти, master-playlist.m3u8, попался!
Копируем здорровый урл, запихиваем в yt-dlp и получаем желанный видос, если ещё не забыли, с яндекс диска.
Вот такие вот чудеса, я, разумеется, не исключаю вероятность своего рукожопства, вот вам ссылка, попробуйте скачать сами и если получится, расскажите об этом в комментах, хоть буду знать, как с яндекс диска нынче качать надо 🙂
https://disk.yandex.ru/d/r7fiuUWtEUSz8g
#ОноСломалось #ХакВоБлаго
speechFilter-0.1.nvda-addon
7.6 KB
Speech Filter
Долгое время я испытывал негативные эмоции в следующем сценарии:
1. В NVDA каким-то образом попадает куча текста, например 100000 символов.
2. NVDA добросовестно передаёт эту кучу текста на синтезатор.
3. Синтезатор пытается её сожрать, офигевает, зависает и намертво глушит NVDA.
В таком случае, частенько, ждать бесполезно, и проще перезапустить NVDA, но это тоже не всегда удаётся, т.к. NVDA перехватывает нажатия клавиш, не может их обработать т.к. висит, и не пускает их дальше всё по той же причине.
Вроде несколько версий назад эту проблему попытались решить, но иногда такие жёсткие фризы всё равно проскакивают, и тогда только либо помощь зрячего, либо танцы с бубном из под alt+ctrl+del.
И для решения этой проблемы я написал простенькое, но, на мой взгляд, очень полезное дополнение, которое отфильтровывает длинные последовательности текста, не пропуская их на синтезатор.
Возможно, кстати, какие-то синты от этого не глохнут, но как минимум у eSpeak такое поведение наблюдается.
Долгое время я испытывал негативные эмоции в следующем сценарии:
1. В NVDA каким-то образом попадает куча текста, например 100000 символов.
2. NVDA добросовестно передаёт эту кучу текста на синтезатор.
3. Синтезатор пытается её сожрать, офигевает, зависает и намертво глушит NVDA.
В таком случае, частенько, ждать бесполезно, и проще перезапустить NVDA, но это тоже не всегда удаётся, т.к. NVDA перехватывает нажатия клавиш, не может их обработать т.к. висит, и не пускает их дальше всё по той же причине.
Вроде несколько версий назад эту проблему попытались решить, но иногда такие жёсткие фризы всё равно проскакивают, и тогда только либо помощь зрячего, либо танцы с бубном из под alt+ctrl+del.
И для решения этой проблемы я написал простенькое, но, на мой взгляд, очень полезное дополнение, которое отфильтровывает длинные последовательности текста, не пропуская их на синтезатор.
Возможно, кстати, какие-то синты от этого не глохнут, но как минимум у eSpeak такое поведение наблюдается.
👍1
Рандом в Unix
В линуксе для получения случайных (ну или псевдослучайных) байтов имеется два файла, /dev/random и /dev/urandom.
Один из них позволяет прочитывать из себя сколько угодно случайных байт, но они типа менее случайны, а второй за единицу времени может отдать небольшое количество байт, после чего чтение из него блокируется, пока не будет накоплена так называемая энтропия, но этот источник, вроде как, использует более надёжный алгоритм генерации, и получаемую последовательность труднее предугадать, в связи с чем случайные байты именно оттуда рекомендуется использовать для всяких криптографических штук.
А проблема заключалась в том, что я постоянно забывал какой файл для чего используется, и пытался считать много байтов из более надёжного источника, получая замечательные фризы.
Но однажды я решил немножко погуглить, и узнал один простой факт, благодаря которому я с того момента ещё ни разу не перепутал эти файлы.
urandom так называется потому что, внезапно, unlimited random!
Да, буковка u означает unlimited, т.е. не ограниченный.
Ну а просто random, соответственно, ограниченный, т.е. замораживающийся при исчерпании накопленной энтропии.
В линуксе для получения случайных (ну или псевдослучайных) байтов имеется два файла, /dev/random и /dev/urandom.
Один из них позволяет прочитывать из себя сколько угодно случайных байт, но они типа менее случайны, а второй за единицу времени может отдать небольшое количество байт, после чего чтение из него блокируется, пока не будет накоплена так называемая энтропия, но этот источник, вроде как, использует более надёжный алгоритм генерации, и получаемую последовательность труднее предугадать, в связи с чем случайные байты именно оттуда рекомендуется использовать для всяких криптографических штук.
А проблема заключалась в том, что я постоянно забывал какой файл для чего используется, и пытался считать много байтов из более надёжного источника, получая замечательные фризы.
Но однажды я решил немножко погуглить, и узнал один простой факт, благодаря которому я с того момента ещё ни разу не перепутал эти файлы.
urandom так называется потому что, внезапно, unlimited random!
Да, буковка u означает unlimited, т.е. не ограниченный.
Ну а просто random, соответственно, ограниченный, т.е. замораживающийся при исчерпании накопленной энтропии.
🥰1
Обзор гарнитуры Bloody MR720 NARAKA
И снова мне не хватило telegraph-а, и объём то вроде небольшой, около 20000 знаков получилось, но вот не влезает всё равно.
Поэтому опять сделал две части, собственно, вот они.
1. https://telegra.ph/Obzor-garnitury-Bloody-MR720-NARAKA-chast-1-08-30
2. https://telegra.ph/Obzor-garnitury-Bloody-MR720-NARAKA-chast-2-08-30
И снова мне не хватило telegraph-а, и объём то вроде небольшой, около 20000 знаков получилось, но вот не влезает всё равно.
Поэтому опять сделал две части, собственно, вот они.
1. https://telegra.ph/Obzor-garnitury-Bloody-MR720-NARAKA-chast-1-08-30
2. https://telegra.ph/Obzor-garnitury-Bloody-MR720-NARAKA-chast-2-08-30
Telegraph
Обзор гарнитуры Bloody MR720 NARAKA (часть 1)
Обещанный обзор гарнитуры MR720, он получился довольно структурированным, сначала следует кратенькое описание возможности и некоторые характеристики, затем перечислены достоинства по убыванию, т.е. сначала самое крутое, а затем недостатки - сначала самое…
Кодерская мастерская
Смена пароля в "Яндекс 360" Чтобы сменить пароль в "Яндекс 360" нужно сделать следующее: 1. Зайти на адрес admin.yandex.ru. 2. Найти заголовок "Сотрудники". 3. Под заголовком найти нужного сотрудника и нажать на него. 4. Найти в нижней части страницы информацию…
Смена пароля в "Яндекс 360" V 2
Около года назад я уже описывал увлекательную процедуру смены пароля сотрудника в yandex 360, и сегодня мне снова пришлось это делать, а, стало быть, можно повторить.
И не потому что почему бы и нет, а потому что эта процедура немного изменилась, и, соответственно, прошлогодняя инструкция устарела.
Чтобы сменить пароль в "Яндекс 360" нужно сделать следующее:
1. Зайти на адрес admin.yandex.ru.
2. Найти заголовок "Сотрудники".
3. Под заголовком найти таблицу с сотрудниками.
4. Найти строку нужного сотрудника и переместиться в шестой столбец.
5. Нажать на кликабельный элемент.
6. Элемент в шестом столбце должен преобразоваться в кнопку, нужно снова нажать на неё.
7. Под таблицей появится меню с возможными действиями.
8. Для смены пароля нужно найти соответствующее действие и активировать его.
9. Должен открыться диалог смены пароля, в котором будет находиться искомая вами форма.
#A11yTricks
Около года назад я уже описывал увлекательную процедуру смены пароля сотрудника в yandex 360, и сегодня мне снова пришлось это делать, а, стало быть, можно повторить.
И не потому что почему бы и нет, а потому что эта процедура немного изменилась, и, соответственно, прошлогодняя инструкция устарела.
Чтобы сменить пароль в "Яндекс 360" нужно сделать следующее:
1. Зайти на адрес admin.yandex.ru.
2. Найти заголовок "Сотрудники".
3. Под заголовком найти таблицу с сотрудниками.
4. Найти строку нужного сотрудника и переместиться в шестой столбец.
5. Нажать на кликабельный элемент.
6. Элемент в шестом столбце должен преобразоваться в кнопку, нужно снова нажать на неё.
7. Под таблицей появится меню с возможными действиями.
8. Для смены пароля нужно найти соответствующее действие и активировать его.
9. Должен открыться диалог смены пароля, в котором будет находиться искомая вами форма.
#A11yTricks
Машинный перевод
Некоторое время назад я, читая про раздачу интернета с телефона на Windows оказался на странице статьи, описывающей реализацию RNDIS (универсальных драйверов для этой самой раздачи).
Как водится, статья эта открылась на русском языке, и её перевод, как и положено, был выполнен не человеком.
Наверное многим знаком перевод некой инструкции от Microsoft, в котором предлагалось казнить монтажника изображением подноса. Так вот в той статье я нашёл конструкции, которые могут посоревноваться с тем переводом по упоротости.
Привожу пару самых лютых абзацев, рекомендую приготовиться к их прочтению, как минимум прекратите есть и пить, если что, я предупреждал.
1. "Корпорация Майкрософт предоставляет драйвер мини-порта NDIS, Rndismp.sys, который реализует набор сообщений удаленного NDIS и взаимодействует с универсальными водителями автобусного транспорта, которые, в свою очередь, взаимодействуют с соответствующим водителем автобуса. Этот драйвер мини-порта NDIS реализуется и поддерживается корпорацией Майкрософт и распространяется в составе Windows."
2. "Корпорация Майкрософт также предоставляет драйвер транспорта автобуса USB, который реализует механизм для передачи сообщений удаленной NDIS через USB-шину. Этот драйвер транспортирует стандартизированные сообщения удаленного NDIS между драйвером мини-порта Remote NDIS и конкретным драйвером автобуса, например USB. Водители, относящиеся к автобусу, также обязаны сопоставлять любые требования к шине, такие как управление питанием, в стандартизированные сообщения удаленного NDIS."
Некоторое время назад я, читая про раздачу интернета с телефона на Windows оказался на странице статьи, описывающей реализацию RNDIS (универсальных драйверов для этой самой раздачи).
Как водится, статья эта открылась на русском языке, и её перевод, как и положено, был выполнен не человеком.
Наверное многим знаком перевод некой инструкции от Microsoft, в котором предлагалось казнить монтажника изображением подноса. Так вот в той статье я нашёл конструкции, которые могут посоревноваться с тем переводом по упоротости.
Привожу пару самых лютых абзацев, рекомендую приготовиться к их прочтению, как минимум прекратите есть и пить, если что, я предупреждал.
1. "Корпорация Майкрософт предоставляет драйвер мини-порта NDIS, Rndismp.sys, который реализует набор сообщений удаленного NDIS и взаимодействует с универсальными водителями автобусного транспорта, которые, в свою очередь, взаимодействуют с соответствующим водителем автобуса. Этот драйвер мини-порта NDIS реализуется и поддерживается корпорацией Майкрософт и распространяется в составе Windows."
2. "Корпорация Майкрософт также предоставляет драйвер транспорта автобуса USB, который реализует механизм для передачи сообщений удаленной NDIS через USB-шину. Этот драйвер транспортирует стандартизированные сообщения удаленного NDIS между драйвером мини-порта Remote NDIS и конкретным драйвером автобуса, например USB. Водители, относящиеся к автобусу, также обязаны сопоставлять любые требования к шине, такие как управление питанием, в стандартизированные сообщения удаленного NDIS."
👍1🔥1
Проблемы со временем
Почему-то так получается, что я постоянно встречаюсь с проблемами синхронизации времени, началось это всё ещё в детстве, и продолжается до сих пор.
Лет 10 назад у меня были говорящие часы, такая коробочка примерно 8 на 8 на 7 см, которая офигенно быстро убегала вперёд, за месяц набиралось около четырёх минут.
Ну это ладно, вероятно, там просто самые всратые часы реального времени, какие получилось найти у разработчиков, тут вроде всё понятно.
Чуть позже у меня появился компьютер с windows, на котором через пару недель использования стало отваливаться время. Оказалось, что села батарейка RTC, после её замены всё стало хорошо.
Прошло ещё несколько лет, и я стал обладателем телефона с Talkback-ом на борту (да, комп освоил раньше телефона, и такое бывает).
И с телефоном тоже были приколы: прыгал часовой пояс, решилась эта проблема выключением синхронизации часового пояса, и на какое-то время всё стало хорошо.
А тем временем наступил 2023, и винда решила упороться.
Работаю я за компом, никакие настройки времени в винде не трогал уже несколько месяцев, и тут вдруг выясняется, что в 10 утра винда показывает полпятого, причём совсем рандомно, без привязки к какому-то часовому поясу.
Ладно, синхронизировал, прошла пара месяцев, и что-то вдруг посыпалось, вроде браузер не смог верифицировать ssl.
Проверил время, И действительно, оно снова улетело, на этот раз вперёд, и уже почти на сутки. Причём это произошло месяца через полтора после посещения СЦ, где поменяли полумёртвый вентилятор системы охлаждения, и заодно освежили батарейку RTC.
Но самое увлекательное было впереди, наступило лето 23-го.
Лежу я на солнышке, загораю, видосик смотрю, тут кто-то в телегу написал, и так получилось, что как раз в это время я открыл шторку, а там...
Там уведомление от телеги через 2 минуты, прям вот так и написано.
Может не в точности так, но смысл такой, что пришло уведомление из будущего.
Проверяю телегу, и там действительно сообщение минуты на 2-3 позже, чем текущее системное время, что меня сильно удивило, т.к. вроде синхронизация по сети включена, и не должно быть таких жёстких смещений.
Попытки синхронизировать время ни к чему не привели, сработало сдвигание времени на несколько часов и ещё одна попытка синхронизации.
Такая же история со смещением назад произошла через несколько недель, а потом ещё одна...
В итоге я выяснил, что на самом деле телефон не синхронизирует время через интернет, как я всегда думал.
Он синхронизирует время по телефонным вышкам, на которых, как раз, оно может быть не очень точным (хз, почему в 2023 на таком оборудовании время имеет такие проблемы с точностью, но вот оно так, и остаётся жить с этим).
Временным решением стало выключение синхронизации времени, но часы в телефоне, как выяснилось, потихоньку убегают вперёд, поэтому так всё оставлять было нельзя.
И решение то я нашёл, установил ClockSync, который синхронизирует время по NTP, но вот только чтобы менять системное время нужен root, который у меня есть, но как же быть пользователям без таких привилегий?..
И на этом, разумеется, ничего не закончилось, пару недель назад я переустановил систему на сервере, поменяв девятый debian на 22-ю ubuntu, и угадайте, что произошло?
Получая сообщения от всяких сервисов я заметил, что приходят они раньше положенного, например сообщение, которое должно приходить в начале часо (т.е. в 0 минут), могло приходить в 59 минут.
Пошёл смотреть чего там с timedatectl, а там написано: System clock synchronized: no.
Стал разбираться, выяснил, что не работает systemd-timesyncd - сервис синхронизации по ntp, за 20 минут гугления ничего больше понять я не смог, и решил просто наугад задать ntp-сервер.
И знаете, это сработало! Я просто нагуглил какой-то рандомный ntp-сервер, задал его в конфиге, перезапустил службу, и оно сразу завелось!
Почему в дистрибутиве почти свежей ОС, причём ОС, которая более-менее должна быть дружелюбна к пользователю, нельзя было настроить ntp из коробки?..
В общем вот такая вот дичь порой происходит, и, скорее всего, этот случай далеко не последний.
Почему-то так получается, что я постоянно встречаюсь с проблемами синхронизации времени, началось это всё ещё в детстве, и продолжается до сих пор.
Лет 10 назад у меня были говорящие часы, такая коробочка примерно 8 на 8 на 7 см, которая офигенно быстро убегала вперёд, за месяц набиралось около четырёх минут.
Ну это ладно, вероятно, там просто самые всратые часы реального времени, какие получилось найти у разработчиков, тут вроде всё понятно.
Чуть позже у меня появился компьютер с windows, на котором через пару недель использования стало отваливаться время. Оказалось, что села батарейка RTC, после её замены всё стало хорошо.
Прошло ещё несколько лет, и я стал обладателем телефона с Talkback-ом на борту (да, комп освоил раньше телефона, и такое бывает).
И с телефоном тоже были приколы: прыгал часовой пояс, решилась эта проблема выключением синхронизации часового пояса, и на какое-то время всё стало хорошо.
А тем временем наступил 2023, и винда решила упороться.
Работаю я за компом, никакие настройки времени в винде не трогал уже несколько месяцев, и тут вдруг выясняется, что в 10 утра винда показывает полпятого, причём совсем рандомно, без привязки к какому-то часовому поясу.
Ладно, синхронизировал, прошла пара месяцев, и что-то вдруг посыпалось, вроде браузер не смог верифицировать ssl.
Проверил время, И действительно, оно снова улетело, на этот раз вперёд, и уже почти на сутки. Причём это произошло месяца через полтора после посещения СЦ, где поменяли полумёртвый вентилятор системы охлаждения, и заодно освежили батарейку RTC.
Но самое увлекательное было впереди, наступило лето 23-го.
Лежу я на солнышке, загораю, видосик смотрю, тут кто-то в телегу написал, и так получилось, что как раз в это время я открыл шторку, а там...
Там уведомление от телеги через 2 минуты, прям вот так и написано.
Может не в точности так, но смысл такой, что пришло уведомление из будущего.
Проверяю телегу, и там действительно сообщение минуты на 2-3 позже, чем текущее системное время, что меня сильно удивило, т.к. вроде синхронизация по сети включена, и не должно быть таких жёстких смещений.
Попытки синхронизировать время ни к чему не привели, сработало сдвигание времени на несколько часов и ещё одна попытка синхронизации.
Такая же история со смещением назад произошла через несколько недель, а потом ещё одна...
В итоге я выяснил, что на самом деле телефон не синхронизирует время через интернет, как я всегда думал.
Он синхронизирует время по телефонным вышкам, на которых, как раз, оно может быть не очень точным (хз, почему в 2023 на таком оборудовании время имеет такие проблемы с точностью, но вот оно так, и остаётся жить с этим).
Временным решением стало выключение синхронизации времени, но часы в телефоне, как выяснилось, потихоньку убегают вперёд, поэтому так всё оставлять было нельзя.
И решение то я нашёл, установил ClockSync, который синхронизирует время по NTP, но вот только чтобы менять системное время нужен root, который у меня есть, но как же быть пользователям без таких привилегий?..
И на этом, разумеется, ничего не закончилось, пару недель назад я переустановил систему на сервере, поменяв девятый debian на 22-ю ubuntu, и угадайте, что произошло?
Получая сообщения от всяких сервисов я заметил, что приходят они раньше положенного, например сообщение, которое должно приходить в начале часо (т.е. в 0 минут), могло приходить в 59 минут.
Пошёл смотреть чего там с timedatectl, а там написано: System clock synchronized: no.
Стал разбираться, выяснил, что не работает systemd-timesyncd - сервис синхронизации по ntp, за 20 минут гугления ничего больше понять я не смог, и решил просто наугад задать ntp-сервер.
И знаете, это сработало! Я просто нагуглил какой-то рандомный ntp-сервер, задал его в конфиге, перезапустил службу, и оно сразу завелось!
Почему в дистрибутиве почти свежей ОС, причём ОС, которая более-менее должна быть дружелюбна к пользователю, нельзя было настроить ntp из коробки?..
В общем вот такая вот дичь порой происходит, и, скорее всего, этот случай далеко не последний.
Проблема доверия языковым моделям
Помучал тут немного ChatGPT, и написал некоторые мысли на этот счёт, прочитать можно тут:
https://telegra.ph/Problema-doveriya-yazykovym-modelyam-10-14
Помучал тут немного ChatGPT, и написал некоторые мысли на этот счёт, прочитать можно тут:
https://telegra.ph/Problema-doveriya-yazykovym-modelyam-10-14
Telegraph
Проблема доверия языковым моделям
Решая очередную задачу, связанную с разработкой ПО, я задумался, можно ли обернуть асинхронный код в синхронный контекстный менеджер python, и поразмышляв секунд 30 решил, что никаких проблем такое решение вызвать не должно (ну почти). Ради интереса задал…