Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как установить ARGB вентиляторы и не ошибиться?

Лучший ответ:
1. да. у разъёма всего 1 вход датчика скорости (жёлтый провод), поэтому мониторится только один из вентиляторов, выбирай сам какой, если все одинаковой модели то пофиг.
2. в инструкции к материнке должен быть указан максимальный ток на разъём, обычно там что-то около 3 ампер, вот и считай какой суммарный ток у вентиляторов. хорошо чтобы оставался запас по току хотябы 25%
3. да, контакт питания отмечен стрелкой, по нему и ориентируйся при сборке.
В разветвителе будет 1 лишний провод который не используется.

Худший ответ:
ОГО! 6 карлсонов!)
Есть замечательная железка на базе ардуино от компании GELID. Называется CODI6 ARGB CONTROLLER KIT.
В вашем случаем даже программировать ничего не нужно. Просто подсоединить само устройство внутри системника, подцепить к нему вентиляторы и дальше по инструкции собрать систему и залить исполняемый код.
Красотища будет!
Вопрос: Как запретить множества кликов в кнопке?

Лучший ответ:
Очевидно, что сразу после нажатия кнопки вам нужно заблокировать или его или обработчик и ждать пока не придет ответ от сервера, только после этого разблокируете все обратно.

Худший ответ:
Например скрывать кнопку после нажатия через изменение CSS после клика. А вообще после отправки формы хорошо бы делать редирект куда то или убирать форму вообще и показывать сообщение что все хорошо отправилось.
Вопрос: Как получить plain text из файла .doc на php?

Лучший ответ:
Тема очень интересная и пришлось разобраться до конца. 
До полного счастья вам не хватает этого:$extracted_plaintext = mb_convert_encoding( $extracted_plaintext, 'UTF-8', 'UTF-16LE' );
И всё вместе будет:function read_doc_file($filename) {
    if (file_exists($filename)) {
        if (($fh = fopen($filename, 'r')) !== false) {
            $headers = fread($fh, 0xA00);

            // 1 = (ord(n)*1) ; Document has from 0 to 255 characters
            $n1 = ( ord($headers[0x21C]) - 1 );

            // 1 = ((ord(n)-8)*256) ; Document has from 256 to 63743 characters
            $n2 = ( ( ord($headers[0x21D]) - 8 ) * 256 );

            // 1 = ((ord(n)*256)*256) ; Document has from 63744 to 16775423 characters
            $n3 = ( ( ord($headers[0x21E]) * 256 ) * 256 );

            // 1 = (((ord(n)*256)*256)*256) ; Document has from 16775424 to 4294965504 characters
            $n4 = ( ( ( ord($headers[0x21F]) * 256 ) * 256 ) * 256 );

            // Total length of text in the document
            $textLength = ($n1 + $n2 + $n3 + $n4);

            $extracted_plaintext = fread($fh, $textLength);
            $extracted_plaintext = mb_convert_encoding( $extracted_plaintext, 'UTF-8', 'UTF-16LE' );
            return nl2br($extracted_plaintext);

        } else {
            return FALSE;
        }
    } else {
        return FALSE;
    }
}

$text = read_doc_file('test.doc');
А пока изучал, нашёл интересный тест, может пригодиться:$text = "A strange string ø, æ, å, ж, п, ą, ū, ė, …"; 
foreach(mb_list_encodings() as $chr){ 
    echo mb_convert_encoding( $text, 'UTF-8', $chr ) . " : " . $chr . "<br><br>";    
}

Худший ответ:
А если сделать проще и установить catdoc?catdoc foo.doc > foo.txt
Вопрос: Как сделать плавную заливку svg?

Лучший ответ:
Можно с помощью библиотеки Polymorph, но она малость глючная.snippet

Худший ответ:
такое заполнение делается гораздо проще:  фигура заливается паттерном с простенькой синусоидой, которая анимируется одной контрольной точкой, а паттерну задаётся нужное смещение.
всего две цифры менять надо.snippet
Вопрос: Как обучать нейронную сеть по одной картинке за раз?

Лучший ответ:
Обучение и происходит по одной картинке. 
То есть если размер партии = 1 картинка, то после просмотра 1 картинки полученные ошибки сразу запускают в backprop, чтобы изменить весы сети.
Если размер партии 10, то картинки просматриваются, но ошибка суммируется отдельно, и отдается в backprop только в конце. То есть твоя сеть смотрит 10 картинок не обучаясь, но потом суммарная ошибка применяется.
Главная причина, почему второй вариант применяется чаще - потому что рассчитывать backprop на сотне миллионов весов это затратная операция и при batch=10 ты сокращаешь время в 10 раз. При этом кол-во выученой инфы сокращается незначительно.

Худший ответ:
Сиамские нейросети. Там по моему как раз таки все примеры на иероглифах.
Вопрос: Как сравнить ключевые слова для seo?

Лучший ответ:
Есть ещё:Планировщик ключевых слов Google Ads Key Collector (есть бесплатный аналог)Serpstat через Анализ доменов — SEO анализ — Конкуренты

Худший ответ:
Есть ещё:Планировщик ключевых слов Google Ads Key Collector (есть бесплатный аналог)Serpstat через Анализ доменов — SEO анализ — Конкуренты
Вопрос: С чего начать фриланс чисто по бекенд-задачам?

Лучший ответ:
Скажу за Python, это скрипты что-то посчитать, куда-то отправить, боты, анализ данных, машинное обучение, торговые роботы, работы много, всегда есть из чего выбрать. Я начинал с ботов и парсинга популярных соц. сетей. Сейчас в дополнение к бэккенду делаю в мобильную разработку, т.к. тут можно потрогать и вживую увидеть свои труды. Часто для приложений и игр нужна серверная часть.
Можно на биржи сходить и фильтры работ потыкать, одним гуглом не обойтись.

Худший ответ:
Добро пожаловать на фриланс - это такой рынок) А бэк это довольно небольшая его часть - написание API, боты, парсеры .... И эта нише уже занята опытными ребятами. Есть мало опыта то про фриланс можно сразу забыть
Вопрос: Что такое dump(памяти) процесса и как им воспользоваться?

Лучший ответ:
можно ли получиться полезную информацию с дампа памяти?
"полезный" - категория относительная. И то, что будет полезно мне, может оказаться совсем неинтересно Вам. И наоборот, конечно же. 
Например программа xcomutil (для игры UFO Defence: Enemy Unknown 1996 года) показывает относительные координаты вражеского юнита и его состояние. Для того, кто играет в нее - это бесценная инфа. Для того, кто не играет - она совершенно бесполезна :)

Худший ответ:
Дамп памяти - это срез данных непосредственно из самой памяти, из ОЗУ.

>"можно ли получиться полезную информацию с дампа памяти?"
Перепиши это по-русски, а то совершенно непонятно о чём речь.

>"я уже попробовал открыть файл дампа пробной версией IDA, но мало информации и вообще ничего не понятно"
Естественно, это же набор байт, понятный машине. Тебе придётся сильно потрудиться, чтобы перевести это на человеческий язык.
Вопрос: Как назначить домен локальному IP?

Лучший ответ:
Поэтому можно ли обойтись БЕЗ покупки домена? 
Можно обойтись даже без LE :) Выпускаете самоподписанный сертификат на любое нужное имя, прописываете в локальном DNS или файлах hosts всех нужных машин пару IP- имя и вуаля.

Худший ответ:
Выпустите самоподписанный сертификат. 
LetsEncrypt нужен валидный домен-если он у вас есть выпустите сертификат и перенесите его на локальный сервер, добавив имя домена в hosts или еще куда.
Вопрос: Через что вы читаете книги?

Лучший ответ:
Через бумагу! :)

Худший ответ:
бумага, комп, ридер
Вопрос: Можно ли через один объект обращаться к разным конструкторам С#?

Лучший ответ:
Используйте параметры по умолчанию и или цепочку вызовов конструкторов, можно ещё использовать паттерн фабрика что она уже вам конструировала в зависимости от параметров

Худший ответ:
Ну самый примитив в лоб это проверить есть ли введённый текст цвета, если нет, то создать объект через конструктор без него.
Но лучше же, эту проверку затащить во второй конструктор, и там уже проверять, если цвет пустой, то - прочерк. А от первого конструктора избавиться.
Вопрос: На каком хостинге расположить сайт?

Лучший ответ:
любой шаровый хостинг будет работать аналогичным образом, купите VDS/VPS, купите вообще физический сервер, не будите зависеть от соседей по серверу.

Худший ответ:
На платном
Вопрос: Как понять можно ли установить ОЗУ на мат плату?

Лучший ответ:
Можно ставить 1333, работать будет на пониженных частотах. 
От себя порекомендую брать в крупном магазине вашего города, вскрывать упаковку аккуратно что бы можно было, если не заработает, сдать в течении 2-х недель. Я по 2-х недельному праву сдавал полу рабочую оперу (не по гарантии, а просто в течении 2-х недель).

Худший ответ:
а частоты слишком занижены будут или до 1066?
Вопрос: Удаленная работа, как быть с документами?

Лучший ответ:
Я высылал трудовую заказным письмом, сразу выбирайте 1-ый класс, чтобы дошло быстрее и не было проблем. Остальные документы — ксерокопии, приложенные в этом же письме (скан паспорта, ИНН, может было что-то ещё).
Остальные документы (договор, соглашения и проч.) распечатываешь, подписываешь и сканируешь, отправляешь.
За всё время работы проблем с документами не возникало. Какие-то изменения в договоре подписывались точно таким же образом.

Худший ответ:
Например полюбому нужен пасспорт, как его передать, делать ксерокопию и отправлять по почте?В каждой организации свои правила и порядки. Как именно у вас - неизвестно.
Обычно достаточно просто прийти с паспортом и снять копию в офисе.
Вопрос: Можно ли проверить 2 текста в python на синонимы?

Лучший ответ:
Как по мне, 'красное яблоко' и 'бордовое яблоко' - это абсолютно не синонимы. Как минимум столь же разные сорта как и между красным и зеленым яблоком.
А например, "красное яблоко" и "красное авокадо" - это синонимы? Да? Нет? Почему?

А если для вас это синонимы - то сделайте свой список синонимов и пользуйтесь им. Просто поиск по этому списку. На совпадение.
ИИ - это не волшебная палочка. Его сначала надо научить, что вы считаете синонимами, а что нет. А тут работы - выше крыши, вы же не знаете, какие именно слова она будет принимать на вход.

Худший ответ:
Встроенными библиотеками - не можно.
Использовать готовый или создать самому инструмент для выполнения этой задачи как вариант,но это тоже не для новичка.
Вопрос: Какой ресурс является лучшим, для обучения java и javascript?

Лучший ответ:
Вот этот. А java и javascript - это разные вещи.

Худший ответ:
Добрый день! Для начала нужно понимать, что java и javascript совершенно разные языки программирования. 
Если речь идёт об android-разработке на java, есть хороший курс на ютубе
Есть уже упомянутый в ответах ресурс
А также на coursera есть неплохие курсы по java 
Если говорить о javascript, то есть следующие интернет ресурсы:
удобный справочник по js
документация
Если говорить о курсах, то у Яндекса есть платформа Я.практикум, где размещены курсы по различным профессиям, в частности по веб-разработке. Там Вас научат и фронтенд- и бэкенд- разработке на javascript, обеспечат реальными проектами и дружеской поддержкой. Если интересно, посмотрите сами
Вопрос: Как запускать sh файл скрытно?

Лучший ответ:
если тебе для граф.стола то сделай desktop ярлык с параметром Terminal=false.
https://pikabu.ru/story/faylyi_yarlyikov_prilozhen...

Худший ответ:
https://www.opennet.ru/tips/1408_bash_shell.shtmlv

Не оно?
Вопрос: Оцените сборку игрового пк (с сайта delta game)?

Лучший ответ:
Памяти лучше поставить 32Gb.
SSD взять не SATA, а NVMe

Худший ответ:
Нормально, хороший бюджетный игровой ПК.
Вопрос: Должно ли резервное железо хоть изредка, но работать?

Лучший ответ:
Неоднократно читал, что аккумуляторам в ноутбуке лучше всего проходить цикл разрядки/зарядки минимум хотя бы раз в месяц, чтобы они не теряли емкость и не портились. 
Ерунда.

То есть если такой период есть, то пусть в холостую, но запускать их один раз в данный период профилактически необходимо?
Нет. Не существует никакого параметра "время ненаработки на отказ" ни для одной компьютерной железки, это же не машина, в двигателе которой желательна циркуляция масла, чтоб "не прикипало".
Не парьтесь.

Худший ответ:
лучше всего проходить цикл разрядки/зарядки минимум хотя бы раз в месяц, чтобы они не теряли емкость и не портились.Да, но только для NiMh аккумуляторов из 2000 годов. Литиевый аккум дольше всего прослужит на 60% заряда. Если у вас в ноутбуке есть фича "недозаряжать аккум", включите её. У меня на Lenovo Yoga была - итого аккум хорошо работает спустя 8 лет

есть ли период, за пределами которого они не должны лежать без действия (чтобы не испортились)?Напротив, каждое включение уменьшает ресурс устройства. Включить можно, но разве только чтобы убедиться, что оно ещё живое и не сдохло от падения/окисления

всё ли будет нормально с резервными комплектующими после того как их подключить?При соблюдении условий хранения, бережном обращении и изначальной работоспособности - да
Вопрос: Актуален ли теперь тег Тостер?

Лучший ответ:
Да, актуален.
Его ещё долго будут так называть, вместо сложного "Хабр Q&A". Ещё вопрос, как его проще записать или произнести. Думаю, что-то вроде "хабр кьюэнэй". Очевидно, "тостер" звучит всяко проще.

Худший ответ:
Я специально оставил тег "Тостер", как легаси, чтобы не подтирать историю проекта и не играть в "Министерство правды". 
Фактически он не актуален для текущего состояния продукта, но, чисто теоретически, новые пользователи, столкнувшись с упоминаниями "Тостера" в старых вопросах, могут отыскать информацию по этому тегу.
CC xmoonlight Николай
Вопрос: Не воспроизводится формат webm на ios?

Лучший ответ:
сафари имеет явные проблемы с WebM
в частности в iOS поддерживает только видеопоток VP8 и то только с версии с 12.2

используйте несколько файлов-источников разных форматов примерно так:

<video controls width="400" height="300">
  <source src="video.mp4" type="video/mp4">
  <source src="video.webm" type="video/webm">
</video>

Худший ответ:
Обрати внимание на атрибуты для тега видео. Им переданы корректные значения. Если ты просто укажешь <video muted playsinline>, то просто может не работать. Такое вот оно яблоко.

<video muted="true" playsinline="true">
  <source type="video/webm" src="video.webm">
  <source type="video/mp4" src="video.mp4">
</video>
Вопрос: Как удалить определённый элемент в массиве?

Лучший ответ:
Я так понял, вы желаете из массива удалить сразу ВСЕ заданные элементы, например - все нули. Их количество заранее неизвестно.
Тогда вот так

al=[0,1,2,0,3,2,0,2]
al=[x for ind,x in enumerate(al) if x!=0]

Ответ:

Out[12]: [1, 2, 3, 2, 2]

Ну, а если вдруг, почему-то надо только через del, тогда вот так:

for i in [ind for ind,x in enumerate(al) if x==0][::-1]:
        del al[i]

Худший ответ:
Элемент можно удалить по индексу:
list = [1, 2, 3]
list.pop(1)
Удалить можно зная название:
list = [1, 2, 3]
list.remove(1)
Вопрос: Где могут установить картину в световой короб, работающий от батареек?

Лучший ответ:
Имеющиеся в продаже светодиодные ленты и контроллеры питания будут высаживать ваши батарейки пачками за короткий срок, а разработка одиночного решения в 1 экземпляре обычно не интересует коммерцию. Ну и ценник вам не понравится.
Заказывайте изготовления лайтбокс без подсветки и собирайте свою схему на светодиодах - это самый простой вариант.

Худший ответ:
Лайтбокс на батарейках потребует замены батареек чуть ли не каждый час.
Забудьте про батарейки и продумывайте классический вариант с блоком питания.
Вопрос: Что такое децентрализованный интернет?

Лучший ответ:
Спросите Ричарда Хендрикса.

Худший ответ:
Примерно так же, как и биткоин. Только вместо хранения транзакций хранится будут текстовые и иные данные.
Вопрос: Почему сломался WordPress и как починить?

Лучший ответ:
А файлы загружаются, путь на которые указан в ошибках?

Худший ответ:
А файлы загружаются, путь на которые указан в ошибках?
Вопрос: Vue.js, React или Angular? Express на Electron JS будет работать?

Лучший ответ:
На Electron будут работать все фрейморки.
Но мне кажется вам сначала нужно разобраться с чем, что и куда. Express - это веб сервер который крутится на удаленной машине и обрабатывает запросы пользователей по протоколу (например HTTP).
Vue/React/Angular - в общем случае, это клиентские приложение которые работают локально в браузере пользователя.
Electron - это обертка Хромиума, т.е. это десктопное приложение в основе которого лежит браузер.
Соответвенно запускать веб-сервер внутри Electron это полнейшая глупость и не имеет никакого смысла.
Имеет смысл резделить приложение на UI с Vue/React/Angular, которые могут работать на десктопе в Electron-приложении, и веб-сервер на Express, который должен работать на удаленной машине. Соответвенно клиентское Electron приложение может делать запросы к серверу и получать/отсылать данные и отображать их в своем UI.

Худший ответ:
Во первых ваше electron приложение будет весить крайне много. Во вторых сделайте проще просто PWA.
https://texterra.ru/blog/raznyukhat-o-pwa-zachem-b...
Вопрос: Где JavaScript работает быстрее: в браузере или в NodeJS?

Лучший ответ:
Учитывая что и там и там под капотом один и тот же V8 вопрос бессмысленный.

Если конечно вы под браузером понимаете (как большинство) Chrome и его клонов.
В Firefox другой движок, но и в этом случае корректнее сравнивать V8 vs SpiderMonkey.

Худший ответ:
В ноде и есть браузерный движок. Нода - в сути своей просто IO обертка для v8
Вопрос: Почему браузер загружает диск на 100%?

Лучший ответ:
Нужно убедиться, что производительность страдает именно от Firefox. Можно еще открыть закладку Производительность.
Если это так (работа с диском или ЦПУ), то открыть новую закладку и набрать в адресной строке about:performance. Там покажет какие закладки оказывают наиболее существенное влияние на производительность.

Порой полезно отключить (деактивировать) все расширения (add-ons) и попробовать посетить те же сайты.
Рекламу можно автоматически вырезать при помощи DuckDuckGo Privacy Essentials и это может улучшить производительность.

Худший ответ:
обычный старый hdd может быть загружен до 12 МБ/с в сумме, с такими показаниями у вас определенно проблемы с диском.

1. откройте в диспетчере задач вкладку производительность и проверьте, что кроме раздела на котором установлен браузер больше никак не задействован приложениями или системой.

2. выключите компьютер из сети, убедитесь что все кабели подключаемых к жёсткому диску подключены плотно и желательно их отключить, прочистить жёсткой кистью от пыли разъемы на кабелях, жестком диске и материнской плате. можно так же подключить шлейф на материнской плате в другой слот.

3. если проблема все ещё есть, проверить диск на ошибки через утилиту проверка диска на вкладке сервис в свойствах каждого раздела диска
Вопрос: Какие существуют эффективные способы найти связанный граф?

Лучший ответ:
Есть специальный тип баз данных - графовые, например, Neo4j. Можно смотреть аналоги. Синтаксис Gremlin или SPARQL

Худший ответ:
ArangoDB
или да, Neo4j
Вопрос: Как определить время на аналоговых часах с помощью машинного зрения?

Лучший ответ:
На макете циферблата наносите реперные метки чтобы удобно было выравнивать изображение.
Делаете съемку циферблата в течение 12 часов через каждую минуту - получаете набор опорных изображений - около 720 изображений соответствующих времени в течение 12-часового периода.
Теперь определяем время с помощью машинного зрения:
1. Делаем съемку часов.
2. Выравниваем изображение по реперным меткам, обрезаем, масштабируем, преобразуем в нужный формат для сравнивания с опорными изображениями.
3. Находим наиболее похожее изображение из нашего набора опорных изображений. Оно будет соответствовать  времени на снимке.

Худший ответ:
При помощи Hough Transform и OpenCV можно найти окружность и линии стрелок.
Вопрос: Как сделать вывод определённых объектов python?

Лучший ответ:
Как-то так:
bicycles = find_bicycles(video)
for bicycle in bicycles:
    print(bicycle)

Худший ответ:
Создать нейросеть по примерам из этих статей: раз и два, три.
Вопрос: В чем разница связаного списка от хеш-таблицы?

Лучший ответ:
В чём разница макарон от сосиски в тесте и есть ли она вообще? Или это одно и то же?

Худший ответ:
хеш-таблица - массив с парами ключ\значение (в широком смысле)
связанный список - список, который в каждом из "узлов" содержит не только собственные данные, но и по одной ссылке(связке) на следующий и предыдущий
"by Google"
Вопрос: Какую связку CMS+плагин подписки выбрать для большого новостного портала?

Лучший ответ:
Здравствуйте.
Используйте Wordpress, для подписок и рекуррентных платежей подойдет Leyka (бесплатный плагин).

Худший ответ:
Если вам нужен именно CMS, то WordPress.
Но как по мне с учетом того, что вы владеете C#, то лучше на фреймворке поднять сайт и заточить все под себя...
Я например, если проект серьезный, то пишу на Java (Spring), а если так себе, то WP
Вопрос: Как оптимизировать приложение на языке С?

Лучший ответ:
Используйте профилировщик для поиска проблемных мест. Я работаю с https://developer.nvidia.com/nsight-systems, но есть и другие, в том числе более популярные варианты.
В первую очередь стоит оптимизировать асимптотическую сложность. 
Дальше можно подумать о распаралеливании на несколько потоков.
Если уже и так все оптимально, можно посмотреть на микро оптимизации:
https://habr.com/en/company/intel/blog/257309/
Ну и кроме того можно использовать CUDA для обработки на GPU

Худший ответ:
начни с дедушки кнута, что-ли
Вопрос: Как преодолеть блокировку AdBlockа Яндекс.браузером?

Лучший ответ:
Перестать пользоваться Яндекс-браузером.
Уточнение: на других браузерах таких проблем нет?

Худший ответ:
Вот мне тоже интересно какие они там антимонопольные законы нарушают?
Либо должны дать возможность другим сайтам включать/отключать блокировку расширений.
Вопрос: У кого в организации есть утвержденный план действий при отказе оборудования или ЧС в серверной?

Лучший ответ:
Нельзя писать инструкции для стороннего не обученного персонала по ремонту оборудования.
Максимум можно описать схему переключения на резерв, если например требуется ручное включение рубильника или типа того.
Написав инструкцию ты выроешь себе могилу, т.к. в любой ошибке персонала (а она обязательно будет) будешь виноват ты.

Я бы посоветовал видоизменить инструкцию из двух пунктов
1. Обесточить оборудование 
2. Поставить в известность непосредственного руководителя.
Если человек обязан вызвать администратора, которого невозможно вызвать, то ты подставишь этого человека. 
Руководитель есть? Вот он пусть и руководит процессом ликвидации ЧП, пусть у него болит голова как до тебя дозвониться, это его работа, решать орг вопросы.

Худший ответ:
Если план не для галочки то
1 вам надо определить список самых вероятных ЧС, 
2 список действий по их устранению или минимизации ущерба
3 список навыков необходимых для выполнения п2

например:
1 Вероятные проблемы:
а) выход из строя диска в схд, 
б)Внеплановые работы с электрикой/ или проблемы с ИБП.
в) выход из строя кондиционеров в серверной
2 Действия:
а) пошаговая инструкция по выводу диска из рейд массива, идентификация его, замена, ввод нового диска в массив, мониторинг ребилда массива.
б) Пошаговая инструкция по коррекной остановке серверов и СХД, порядок включения серверов и СХД
3 провести обучение и проверку навыков человека который будет выполнять инструкцию - это должен быть конкретный человек и в ваше отсутствие он вас заменяет.
4 обеспечить необходимый запас расходников и запасных деталей для своевременной замены (диски для СХД, Батареи для ИБП, и тд)
Вопрос: Законно ли продавать читы?

Лучший ответ:
Зависит от множества факторов.
В общем случае, на вас смогут подать в суд, и выиграть дело.
Но нужно понимать, что это будет не за продажу читов, а за сопутствующие моменты, например "взыскание ущерба за недополученную прибыль", или банально налоговая, потому что читы ты продашь, а декларацию заполнить и налоги заплатить не осилишь.
Зависит от того, насколько крупной компании попытаешься перейти дорогу. Найдут и припишут такое, что будешь в рабстве до конца дней, особенно если ты подобные вопросы на тостере задаешь, и не можешь сам придумать пару вариантов.

Худший ответ:
Да, законно.
Закон ни коим образом не запрещает продавать такую информацию.
Вопрос: Можно ли раздвинуть изображение в canvas?

Лучший ответ:
Накидал пример через getImageData, putImageData.  
P.S. Если будете рендерить изображения, они должны быть на вашем домене чтобы не столкнуться с проблемой Access-Control-Allow-Origin

Худший ответ:
нарисуйте две половины по очереди.  у drawImage есть дополнительные параметры, котрые указывают которую часть картинки надо рисовать.
Вопрос: Как решить задачу со Stepik.org?

Лучший ответ:
Самостоятельно. Иначе зачем вы проходите курс?

Худший ответ:
Вариант с использованием оператора walrus:
lst = []
while (l := input()) != '.':
    lst.append(" ".join(list(l.upper())))
print("\n".join(lst))