Организовываем wi-fi-мост для подсети

Возникла недавно следующая ситуация. Есть корпус А. В нем проводная сеть и беспроводной один маршрутизатор. Есть помещение Б, в котором Интернета и сети нет, а очень нужно. Кабель из корпуса А в помещение Б провести не представляется возможным, однако сеть Wi-Fi до помещения Б вполне «добивает».

Задача: 1) Организовать в помещении Б подсеть с раздачей IP-адресов (DHCP) отличную от подсети корпуса А. 2) Организовать доступ в Интернет. 3) Ограничить скорость доступа в Интернет по wi-fi.

Ниже рассказываю, как это решал. Может быть кому-то пригодится. Для начала узнаём, куда физически идет кабель от провайдера. Идёт он в роутер от d-link, который имеет локальный ip 192.168.6.1 и раздаёт адреса от 192.168.6.100 до 192.168.6.199. От него идет кабель к маршрутизатору wi-fi, который имеет ip 192.168.6.200

В помещении Б нам понадобится точка-доступа Wi-FI, которая умеет работать в режиме клиента (это далеко не все wi-fi-роутеры). Например,  D-link dap-1360. Он умеет и работать в режиме клиента, и раздавать dhcp. Но не умеет ограничивать скорость доступа к сети Интернет. Значит оного dap-1360 будет мало. В общем резервируем для него ip-адрес 192.168.6.50. Задаем какому-нибудь ноутбуку ip-адрес, скажем, 192.168.0.7 и подключаемся к dap-1360 (ip по умолчанию 192.168.0.50). В зависимости от ревизии пункты меню могут несколько отличаться. В ревизии D можно выбрать «Мастер настройки беспроводной сети» — «Режим работы беспроводный сети — клиент»

Нажимаем «Далее», точка доступа осуществит поиск беспроводных сетей. Подключаемся к требуемой и вводим пароль.

Теперь перейдём в «Расширенные настройки» — Lan. Запрещаем DHCP-сервер и меняем ip адрес на зарезервированный. В нашем случае 192.168.6.50. В качестве шлюза указываем ip того роутера, который авторизуется у провайдера.

Далее идем: Wi-Fi — основные настройки. Задаём имя сети, желательно её скрыть (скрыть точку доступа), поскольку мы будем подключать для раздачи доступа в есть и ограничения скорости к Интернет другой роутер.

Ну и переходим в пункт «Wi-Fi» — «настройки безопасности» для установки пароля на скрытую сеть. Можно также зайти в «Система» — «пароль администратора» для смены пароля на web-интерфейс.

ВАЖНО! КАНАЛЫ WI-FI РАЗДАЮЩЕГО И ПРИНИМАЮЩЕГО МАРШРУТИЗАТОРА ДОЛЖНЫ БЫТЬ ОДИНАКОВЫМИ. В ДАННОМ СЛУЧАЕ НЕ ИСПОЛЬЗУЕТСЯ РЕЖИМ AUTO.

Ну что, пришло время подключить второй роутер.

По техническим причинам далее будут изображения по подключению роутера  D-link dir-615, который не имеет режима контроля пропускной способности, ради которого всё и затевается :).

Подключаем кабель типа витая пара одним концом в гнездо LAN точки доступа dap-1360, а другим концом в порт WAN второго роутера. Назначаем Ip адрес на сетевой карте ноутбука/компьютера, к примеру, 192.168.0.4, подключаем второй кабель от ноутбука к в второму роутеру в порт LAN. Заходим в браузере по его IP (в нашем случае 192.168.0.1).  Переходим в настройки подключения к сети Интернет (или используем мастера) и выбираем Static Ip (статический IP).

Соответственно задаём шлюз (gateway) того маршрутизатора, в который физически вставлен кабель от провайдера, ну и ip-адрес порта wan должен быть в той же сети. А вот DNS сервера можно поставить как от google (8.8.8.8. 8.8.4.4.), так и от Яндекса с автоматической фильтрацией трафика от нежелательны и пошлы сайтов. Например, режим Семейный (77.88.8.7, 77.88.8.3). Блокирует мошеннические сайты и «сайты для взрослых».

Переходим в настройки сети и активируем DHCP-сервер в подсети, отличной от подсети корпуса А.

Осталось только настроить название wi-fi сетки и пароль на неё. Ну и конечно ограничить пропускную способность к сети Интернет. Всё, можно подключаться, поставленные задачи решены. Думаю, если бы был wi-fi роутер семейства microtik, то можно было обойтись одной «железкой».

Напоследок фотография сегодняшнего дня. Не было «родного» блока питания на DAP-1360. Пришлось отрезать штекер от старого адаптера телефона Nokia и припаять к совместимому по вольтажу аналогу. 🙂

Буду благодарен, если кто-то напишет, как можно было сделать проще.

Полезные инструменты для редактирования сайта

При работе с системами управления содержимым сайтов само собой приходиться править их исходный код. Html, css, php, javascript. Желательно, чтобы этот процесс происходил как можно быстрее, и поможет в этом некоторый набор программ, о котором пойдет речь.

Первое — это, конечно же, хороший редактор кода. Использую Notepad++ (notepad-plus-plus.org), привычка — вещь страшная, никак не могу пересесть на что-то другое. Совсем никак. Notepad++ наше все. Лёгок, поддерживает подсветку синтаксиса огромного количества языков программирования. Под Linux можно использовать через эмулятор Wine. Работает быстро, вполне корректно.

Второе — инструмент сравнения файлов. К примеру, внесли мы изменение в файлы темы WordPress (какой-нибудь function.php), она возьми и обновись. 🙂  Всё — собственные изменения удалены, файл перезаписан. Для визуального сравнения текстовых документов в на предмет изменений в них отлично подойдет программа WinMerge (winmerge.org). Очень полезна, скажем, для определения того, что изменилось в одной версии проекта по сравнению с другой.

Но что делать, если кусочек нужного кода находится где-то в одном из множества файлов плагина? Не беда, найти его поможет популярный файловый менеджер Total Commander (ghisler.com). Достаточно зайти в папку с нужными файлами и папками, выбрать меню «Команды» —  «Поиск файлов«. Далее ставим галочку напротив строки «С текстом» , выбираем кодировки, пишем требуемый текст — найти. Готово! Масса времени сэкономлена.

Ну и четвертое — конечно же инструменты разработчика (ctrtl-shift-j) браузера Google Chrome. Как раньше специалисты без них обходились — это просто выше моего понимания. 🙂

Может быть сюда добавить ещё растровый графический редактор Gimp (gimp.ru)? Пожалуй, да. Кроссплатформенный и мощный. Он необходим. А чем пользуетесь вы?

«Чиз»-то оно да, только где фото хранить?

 

Краткий обзор плагинов WordPress для организации фотографий. 

Прискорбно видеть, что не смотря на технический прогресс, развития серверного оборудование, развитие систем хранения данных в некоторых сервисах происходит не эволюция, а инволюция — обратный процесс.

Скажем, пару лет назад вопрос «где хранить фото для сайта» был практически закрыт. Конечно же на Яндекс.Фотках Почти что прямые ссылки (для «выпрямления» я писал как-то на php простенькую страничку, которой активно пользовался). Фото хранились в разных разрешениях, от 150px до оригинала, а объем дискового пространства был неограничен! Кроме того проводились различные конкурсы поддерживались комментарии, геотэги и прочее, и прочее. На специализированных ресурсах то и дело возникали мнения о том, что фотохостинги типа radikal.ru отомрут, зачем они нужны, раз есть Яндекс.Фотки?

Потом пришла весть, что все фото уходят на яндекс-диск, старые «прямые» ссылки на форумах/блогах сохранятся (спасибо на этом), а вот новые для вставки фотографий система не выдаст. Мы предприняли попытку спасти уникальный сервис Яндекс.Фоток, но наши обращения в различные инстанции и подписи под петицией не возымели должного эффекта. 🙁

Аналогом отечественного фотохостинга в англоязычном сегменте сети Интернет можно было назвать flickr.com. Предоставляли целый терабайт дискового пространства для фото. Опять же возможность хранить в разных разрешениях, возможность скачать файлы из альбомов в архиве zip. На wordpress даже готовый плагин вставки изображений есть (wp-flickr-press). Но владельцы сервиса поменялись и установили лимит на 1000 фото на бесплатном тарифе. Всё. Всё остальное удалить или плати. В долларах, конечно же.

И тут мы подходим к главному вопросу — как же хранить изображения? Ведь именно они «отнимают» наибольшее место на хостинге. Предположу, что в текущих условиях фотографии к записям логичнее хранить на том же хостинге, на котором расположен сам сайт. Если речь идет об организации 360-галереи, здесь вариант только на своем хостинге. Само собой изображения желательно сжать. Использовать графический редактор довольно долго. Для этой задачи мне понравился плагин под WordPress «Compress JPEG & PNG images» от TinyPNG.

Плагин использует внешний сервис для сжатия фото, может также автоматически уменьшать разрешения снимка по ширине и высоте. Сжимает изображения здорово. Например, панорамные фото уменьшил чуть ли не в 5 раз практически без потери качества! Также скрипт способен как оптимизировать сразу после загрузки, так и «анализировать» вообще все изображения в медиафайлах и преобразовывать пакетно. Минус плагина — на бесплатной подписке установлен лимит в 500 изображений в месяц. Но это тоже не мало.

Если стоит задача организовать обширные фотогалереи, например, для музея, есть предложение использовать google photos при помощи  wordpress-плагина с длинным названием Photonic Gallery & Lightbox for Flickr, SmugMug, Google Photos, Zenfolio and Instagram. 

По названию понятно, что поддерживает он немало сервисов. Правда настройка с google photos мне показалась несколько не интуитивной. Осуществляется через кабинет разработчика google. Сам фотохостинг «гугл фоток» хоть и предоставляет неограниченное пространство для фото, хранить фотографии в исходном разрешении, не затрачивая ресурсы google-диска нельзя. Если согласиться на меньшее разрешение — тогда пожалуйста, пока ограничений на хранение нет. Однако просто так фото на какой-нибудь форум не вставить, так что фотохостингам вроде ru.imgbb.com еще жить да жить.

Итого для оптимизации изображений, хранящихся на самом хостинге, можно использовать плагин Compress JPEG & PNG images.

Для вставки изображений с flikr.com — wp-flickr-press (только тысяча в бесплатном варианте).

Для организации больших фотогалерей google photos и плагин Photonic Gallery & Lightbox for Flickr, SmugMug, Google Photos, Zenfolio and Instagram. 

Если Вам известны более простые решения — просьба написать в комментариях. 🙂

С праздником Победы. Фото и видео в формате 360.

Сегодня в городе Гусеве прошел торжественный парад, посвящённый 74-летию Победы в Великой отечественной войне. Громкие и пафосные слова писать не буду, для освежения памяти лучше прочесть «Блокадную книгу» Даниила Гранина и Алеся Адамовича. Хотя бы выдержки. Полностью и я прочитать не смог — настолько страшные события там описаны.

Для того, чтобы отразить мероприятие в сети, решил использовать 360-камеру Samsung Gear 360 sm-r210. Производитель заявляет способность снимать видео в разрешении вплоть до 4096×2048 в прогрессивной разверстке и 24-х кадрах в секунду. В качестве видоискателя используются смартфоны Galaxy S8,  S8+, Galaxy S7 edge, S7, Galaxy Note5, Galaxy S6, S6 edge, S6 edge+, Galaxy A5, A7 (2017) с ОС Android 5.0 и выше, а также iPhone 7, 7+, 6S, 6S+, SE с ОС iOS 10.0 и выше. С китайским Vernee Thor камера дружить отказывается, даже через модифицированное приложение, поэтому снимать пока приходится «вслепую».

Можно снизить разрешение видео и добиться 50 кадров в секунду. А вот выбора размера фото я не нашел — только 15 мегапикселов и точка. В помещении камере явно не хватает света. Склейка фото и видео происходит в специализированной программе CyberLink Gear 360 ActionDirector. Причём если со склейкой видео всё понятно, то с фотографиями не всё так очевидно. В программе просто нет опции вывода «склеенного» фото. Но, как оказалось, вытащить их очень просто. Во время склейки программа сохраняет файлы в определённую папку, которую можно просмотреть, нажав «правка» — «параметры» — «файл». В строке «Папка экспорта» и лежат склеенные фото.

Отдельного упоминания заслуживает вкладка «Аппаратное ускорение» параметрах. У меня при активации опций «Включить аппаратное кодирование», «Включить аппаратное кодирование» видео воспроизводится и сохраняется с большими артефактами в виде квадратов. ПРи отключении опции всё нормально. ВИдеокарта семейства Radeon RX.

Фотографии сшиваются чуть ли не мгновенно, склейка практически не видна, хотя качество в помещении далеко от идеального. А вот для монтажа видео, да ещё в 4К, нужен довольно производительный компьютер. Ниже представлен скриншот загрузки 6-ядерного, 12-поточного CPU Xeon X5690 (3.47 Ghz) при выводе 360 4К видео.

Просматривать полученный результат лучше программой VideoLan (VLC). Очень желательно, чтобы компьютер был оснащён производительной видеокартой с поддержкой аппаратного декодирования кодека h.264, которая и возьмёт на себя основную нагрузку при воспроизведении контента. Как по мне, то видео получаются с излишне выкрученным «зумом», в результате чего кажутся смазанными. В том же VLC достаточно немного изменить масштаб колесиком мышки, как сразу появляется чёткость. Ниже представлен пример воспроизведения в программе.

А вот при загрузки в youtube/facebook такой функции нет. Как настроить «зум по умолчанию» в CyberLiink ActionDirector я так и не нашел. Возможно это поддерживается в каких-то более продвинутых программах монтажа, вроде Adobe Premier.

Ниже представлены фотопанорамы в формате 360. Трафика довольно много, перелистывание фото происходит при помощи стрелочек.

Закончу же вольной цитатой одного из блогеров — «Дай-то Бог, чтобы войны проходили только в комментариях«.

WordPress повышает требования к хостингу

Вчера состоялся выпуск новой версии системы управления контентом — WordPress. Самая популярная система во всём мире. Мои сайты также работают на ней. Но если в версии 5.1.1 WordPress только мягко намекал о том, что пора переходить на интерпретатор PHP 7+, то уже минимальные требования 5.2 — PHP уровнем не ниже 5.6.20

Согласно статистике разработчиков, только 2% сайтов на WordPress используют в качестве интерпретатора версию PHP 5.2.4 и 20% версии от 5.3 до 5.5. Конечно же я вхожу в эту двадцатку. На одном из серверов у меня установлен PHP 5.5.9 (эээх, одной сотой не хватает), на другом как модуль Apache 5.4.16.

Что ж придется обновлять ПО на серверах. Вчера при обновлении WordPress у меня слетела админка. Стили просто не подгружались, пришлось откатываться из резервной копии (всегда делайте копии перед обновлением!). Сегодня обновился на том же самом хостинге — проблем никаких не заметил. То ли изначально выложили немного недоработанную версию, потом исправили, то ли у меня был какой-то странный, непознанный глюк.

Ранее одним из самых требовательных к хостингу я считал «движок» форума phpbb 3.2.X (аж 5.4.8 ему требовалось), теперь же пальму первенства перехватил WordPress. Столь радикальные изменения вызваны, скорее всего, необходимостью проверки обновлений и дополнений по цифровой подписи. При установке обновлений в WordPress основным фактором обеспечения безопасности было доверие к инфраструктуре и серверам WordPress . В случае компрометации серверов проекта атакующие имели возможность подменить обновление и распространить вредоносный код среди сайтов на базе WordPress, использующих систему автоматической установки обновлений. На стороне пользователей подобная подмена осталась бы незамеченной.

Внедрению проверки источника обновлений по цифровой подписи мешало то, что поддержка необходимых криптографических алгоритмов появилась в штатной поставке PHP относительно недавно. Нужные криптографические алгоритмы появились благодаря интеграции библиотеки Libsodium в основной состав PHP 7.2.(!) Выходом стала разработка и включение в состав WordPress 5.2 компактного варианта Libsodium — Sodium Compat, в котором на языке PHP реализован минимальный набор алгоритмов для проверки цифровых подписей. (подробнее можно прочесть здесь: https://www.opennet.ru/opennews/art.shtml?num=50649).

Так что ещё легко отделались 🙂 CMS WordPress используют более 30% сайтов, представляете, что было бы в случае компрометации обновлений? На всякий случай публикую таблицу версий Ubuntu Linux LTS и нативной поддержки php из репозиториев по умолчанию.

Версии PHP в Ubuntu

Ubuntu PHP
12.04 LTS (Precise) 5.3
14.04 LTS (Trusty) 5.5
15.10 (Wily) 5.6
16.04 LTS (Xenial) 7.0
18.04 LTS 7.2

В Ubuntu 18.04.2 LTS (Bionic Beaver)  поддержка 32-битных платформ прекращается и если есть желание сделать сервер из старенького Intel Pentium IV — нативно установить не выйдет. Пришло время обновлений.

Изучаем ошибку SQL в анкете

Наверное, одни из самых технически оснащённых, мощный и развитых комплексов дополнительного образования являются научно-технологические фабрики «Кванториум». Там и ЧПУ-станки, и 3D/фотополимерные принтеры, и системы виртуально/дополненной реальности, а также многое многое другое.

Само собой, когда пришло положение о конкурсе «Кванториада» — мы со студенческим кружком не могли пройти мимо. Задания, как по мне, весьма не простые, но в номинации  Low cost high-tech (сделай дешёвый аналог дорогому продукту) можно попробовать принять участие. Не победим, но заявим о клубе. 🙂 Сюрприз ждал в анкете регистрации, при попытки ввода даты рождения участников получаем SQLSTATE[22008]: Datetime field overflow: 7 ERROR: date/time field value out of range: «23.01.1989» HINT: Perhaps you need a different «datestyle» setting. The SQL being executed was: UPDATE «user» SET «updated_at»=1557245448, «birthdate»=’23.01.1989′ WHERE «id»=89

Что в переводе означает переполнение поля даты и времени, значение поля даты / времени вне диапазона. Отчего так произошло?  Предположу, что по умолчанию используется формат YYYY-MM-DD (год, месяц, день), ввести же предлагают в формате день, месяц, год. Судя по сервисному сообщению используется PostgreSQL. Следует использовать параметр DateStyle для управления тем, как PostgreSQL генерирует даты.

Параметр DateStyle (string) задаёт формат вывода значений даты и времени, а также правила интерпретации неоднозначных значений даты. По историческим причинам эта переменная содержит два независимых компонента: указание выходного формата (ISO, Postgres, SQL и German) и указание порядка год(Y)/месяц(M)/день(D) для вводимых и выводимых значений (DMY, MDY или YMD). Эти два компонента могут задаваться по отдельности или вместе. Ключевые слова Euro и European являются синонимами DMY, а ключевые слова US, NonEuro и NonEuropean — синонимы MDY.

Ну а дальше нужен доступ к исходным кодам. 🙂 Собственно система позволяет произвести регистрацию и без ввода даты, даже несмотря на то, что поле помечено красной звездочкой, как обязательное. Само собой мы написали в техническую поддержку. Заодно появился повод создать ещё одну красивую электронную почту — evrika@katip39.ru. Пишите 🙂

1С: Новая угроза?

Сегодня позвонил друг из компании, которая занимается обслуживанием платформ и конфигураций 1С. С его слов: у клиентов есть сервер под управлением Windows Server (извините за каламбур), на нём установлено ПО 1С: Предприятие с конфигурацией 1С Бухгалтерия.

Сотрудники бухгалтерии организации уходят на майские праздники, возвращаются, а там… Картина Репина «Приплыли».

  1. Файлы зашифрованы. Текстовые документы, таблицы и даже картинки. Что самое страшное зашифрованы даже файлы этой самой 1С, включая 1Cv8.1CD, чего раньше известные вирусы-шифровальщики не делали. При этом административного root-доступа по умолчанию без ввода пароля у бухгалтеров нет.
  2. Переименованы процессы в Windows. Раньше такого не видел.
  3. Очищены файлы журнала, определить по логам было ли подключение по RDP не представляется возможным.
  4. Не выставлены требования — это вообще странно. Обычно авторы шифровальщиков требуют немножко биткоина.
  5. Установленный Антивирус Касперского не помог. (хотя продукты Касперского я считаю одними из самых лучших).

В общем что-то очень странное, страшное и непонятное. И копий базы на внешних носителях тоже не оказалось, есть только давнишний архив от начала года. Ооох представляю состояние сотрудников, у меня у самого аж всё сжалось, пока слушал. Потом тут же побежал делать дополнительные копии на внешний жесткий диск, который запер в сейфе. При чем у них было организовано копирование средствами Windows на дополнительный HDD, архивы также оказались зашифрованы.

Сотрудники собираются подавать заявление в полицию, но что-то мне подсказывает — будет очередной отказной материал. В общем подходим мы к проблеме надежного резервного автоматизированного копирования. Автоматизировать копирование на второй жесткий — ничего сложного. Достаточно через планировщик указать запуск бат-файла примерно с таким кодом

 

set sFolderName=D:\backup\%date:~6%.%date:~3,2%.%date:~0,2%
if not exist %sFolderName% (
md %sFolderName%
)
robocopy C:\base D:\backup\%date:~6%.%date:~3,2%.%date:~0,2%

 

Копирует файлы из C:\base в папку под именем даты, находящуюся в D:\backup

Только от вируса-шифровальщика, коли он запустился под root, это не поможет. Тем не менее советую под Windows помимо основного антивируса установить Kaspersky anti-ransomware tool — бесплатная утилита от шифровальщиков.

Автоматизированное копирование мне видится так:

  1. Где-то в 2:30 отдельная машина под Linux/FreeBSD предоставляет доступ к сетевому хранилищу до 3:10
  2. В 2:35 планировщик заданий запускает bat-файл, который копирует данные в сетевое хранилище (до 3:10 успеет).
  3. В 3:10 доступ к сетевому хранилищу прекращен со стороны машины под Linux/FreeBSD. Всем.

Может быть я не прав? Так давайте же обсудим возможные решения на форуме. https://makson.ru/forum/viewtopic.php?f=8&t=1055

А облака, белогривые лошадки

 

Один умный человек мне сказал — избавляйся от флешек. Флэшка — это очень небезопасно. Есть у неё два очевиднейших минуса: 1) Они часто теряются. 2) Они также часто ломаются.

Одно из решений — хранить в «облаке», реализовав его или на своём сервере через VPN, либо использовать облачные хранилища от известных компаний, вроде Яндекс, Майкрософт, Apple и так далее. Минус заключается в том, что нужно использовать или браузер для скачивания/загрузки файлов, или же ставить программу синхронизация, которая делает копию на жестком диске. А если диск — это 70 гигабайт SSD? Совсем не радостно. Казалось бы вопрос может решить протокол webdav — подключил себе Яндекс.Облачко по этому протоколу и видишь себе ещё один диск. А у моих облачков по 175 гигабайт, так уж получилось. 🙂

Может быть я что-то делаю не так, но подключение по webdav что к Яндекс-диску, что к OneDrive через проводник крайне медленное! А при попытке через этот самый протокол скачать файл более 150 мегабайт с Яндекса получил сообщение о том, что размер слишком велик. OneDrive также принимать файл в 200 мегабайт через проводник отказался. При этом если с Яндексом использовать специализированную программу, вроде Cyberduck, то всё работает исправно.

Немного погрустив, я начал думать о реализации облака на отдельно взятом роутере с поддержкой flash-накопителя. Понадобится поддержка DDNS (ip-адрес дома не статический), собственно flash_накопителя и VPN по протоколу PPTP. Остановился на двух моделях, которые есть в наших магазинах: TP-LINK ARCHER C59 и ASUS RT-AC51U. Пошел уже денежку снимать, как наткнулся на статью с популярного сайта habr.com В ней описывалось программное обеспечение Disk-O (disk-o.cloud). По словам разработчика Диск-О превращает облака в жесткие диски. Достаточно установить приложение и подключить облачные хранилища, чтобы ваши облака отображались в списке устройств вместе с физическими дисками.  

Поддерживаются операционные системы Windows и MacOS. Скачал, попробовал — мне понравилось. В проводнике появляется диск, который ничем от обычного не отличается. Ограничения только по скорости Интернет-соединения. Программы поддерживает куча различных сервисов (облако mail.ru, dropbox, Яндекс.Диск, Google Drive и т.д.).

И теперь к минусам. Программка платная. Запускается на 30 дней в демо-режиме. А бесплатно она позволяет соединяться только с одним аккаунтов в облако mail.ru. А там у меня всего 8 гигабайт. Ну хотя бы так. Что мы получаем? Маленькую медленную (точнее ограниченную скоростью интернета) флэшку, тем не менее весьма надежную (не теряется, не ломается), которую можно подключить к любому компьютеру дома или на работе под управлением Windows/MacOS.  Отличное решение хранить копии документов, или научных работ при их написании. В общем — использую, на первое время хватит. А далее, возможно, буду приобретать умный роутер и настраивать облако в квартире.

IT-дуэль — сам не знаю, как это должно выглядеть

Есть такой замечательный образовательный сервис, как SoloLearn: Учимся программировать. Одна из вариаций самоучителей как на ПК, так и на смартфоны под управлением Android. За каждую пройденную главу и решение практической задачи начисляется уровень. Но есть в приложении ещё одна интересная функция — дуэль.

Работает это следующим образом: система ищет обучающихся со сходными уровнями. После чего двум из них на время задаются определённые вопросы. Кто ответит правильно и быстро — тот и победил в дуэли. Отличная идея, я считаю.

Вот бы её развить и расширить. Представьте зал, зрители, под музыку и видео выходят претенденты. Рефери зачитывает практическое задание по реализации, претенденты садятся за компьютеры и в зависимости от того, какую конструкцию вводят участники (цикл for, условный цикл if-else, обозначение переменных, вызов метода/функции и т.д.)  на экранах телевизорах их виртуальный анимированные персонажи производят какой-нибудь «кульбит» для зрелищности.

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