Прогресс, оказывается, не стоит на месте

Я уже писал, о том, что я не тормоз. И, как оказалось, сейчас я снова это напишу.

Я занимался написанием прошивки MIDI-баяна в общей сложности примерно 5 месяцев. Начал в апреле, закончил в августе. И всю работу я делал в редакторе vim; любой другой редактор кода мне некомфортен (включая Arduino IDE). Хорошо, что в той же Arduino IDE есть режим «внешний редактор», когда сама IDE используется только для компиляции и для загрузки прошивки в микроконтроллер.

Так вот. Все мои типовые настройки vim-а у меня сформировались довольно давно, во времена, когда я ещё активно программировал в рамках должностных обязанностей. Т.е. примерно с 2001 по 2005 годы. (Раньше я тоже программировал, но vim-ом начал пользоваться только в 2001.) И с тех пор я ничего не менял, и таскал за собой наработанные тогда настройки с места на место, с одной работы на другую.

И вот буквально неделю назад ютубчик мне подкинул видео про редактор NeoVim. Оказалось, что это какой-то новый форк от vim-а, переработанный, усовершенствованный и всё такое. Заинтересовало меня в том видосе то, что в neovim-е мне показали левую панель с менеджером файлов, анализатор кода c автонаписанием имён (как перевести слово «autocomplete» на русский?) основанный на LSP, и много чего ещё. Фактически, показали полноценную IDE.

Я очень этим заинтересовался и изучил вопрос.

Оказывается, всё это добро сейчас доступно и для vim-а тоже (см. рис. 1). Удобнейшая левая панель с деревом файлов проекта, спец-окошко с удобным и наглядным интерфейсом к git, усовершенствованная строка состояния, плагин, прямо в окне редактирования показывающий те участки кода, которые отличаются от последней закоммиченной версии. Красотища.

Сходу не заработал только анализатор кода с autocomplete. Оно основано на LSP, для C++ используется сервер clangd, а он, как оказалось, не переваривает ардуинные расширения я зыка C++ и об них ломается и нормально не работает в результате. Пришлось его убрать. Я уже знаю, в каком направлении копать, чтобы прикрутить поддержку ардуиновского диалекта C++ к vim-у, но это хлопотно, надо будет потратить минимум полдня на эксперименты, и сейчас оно того не стоит.

И вот сейчас у меня есть ОФИГЕННЫЙ редактор кода, который мне уже не очень нужен. Потому что в следующий раз я такую большую работу (на 4800 строк кода) буду делать очень не скоро, если вообще буду.

В общем, я не тормоз.

Рис. 1

Гитхаб курильщика?

Я тут обнаружил, что в этом году появился публичный гит-репозиторий от Сбера: https://gitverse.ru.

И, из чистого интереса, зарегистрировался.

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

Функционал — базовый. Графического представления дерева репозитория я там не нашёл. «Обсуждений» (т.е. баг-трекера) тоже нет. Тот гитлаб, который я на время разработки прошивки для MIDI-баяна у себя поднимал, побогаче будет.

С другой стороны, предложенного функционала уже достаточно для того, чтобы выложить свой проект в публичный доступ, чтобы его мог скачивать кто угодно. И для одиночной разработки этого точно достаточно (для групповой разработки нужен как минимум баг-трекер, т.е. «Issues» в терминах гитхаба).

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

Рис. 1 КДПВ

Макетная версия предсказателя погоды

Очень мне интересно посмотреть, как будет работать предсказатель погоды.

И я слепил упрощенную версию на макетке (см. рис. 1).

Мне даже было лень припаивать контакты к метео-датчику. Поэтому я его просто надел на контактную гребёнку и прижал с помощью чёрного армированного скотча, он хорошо липнет.

Тестирование осложняется тем, что в ближайшие дни в прогнозе будет сплошь хорошая погода. Только послезавтра, во вторник ожидается небольшой дождь. Вот и посмотрим, что будет показывать этот показометр.

Рис. 1

О творческих планах

В одной из первых заметок про MIDI-баян я докладывал, что для его реализации я покупаю ардуино-набор GyverKit. Этот набор оказался для меня очень полезен, потому что позволил очень быстро раробраться в том, как на базе ардуино делать всякое.

В данный момент MIDI-баян уже практически готов в плане железа и прошивки. (Осталось закончить с герметизацией корпуса и с креплением декоративной решетки.) И в наборе осталось много всякого неиспользованного.

И я задумал сделать «предсказатель погоды» (см. рис. 1). В наборе для него уже всё есть, кроме корпуса (ардуино-нано, датчик атмосферного давления, сервомотор, который крутит стрелку, полевой странзистор, который управляет подачей питания на сервомотор). Корпус я буду делать «по дешману» из сантехнической ПВХ трубы.

Вот.

Рис. 1

Недавно узнал

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

И решил сравнить с Россией. Результат лично для меня оказался неожиданным.

Воистину, никто не сделал для величия России так много, как Меркатор. 🙂

Отличный джазовый гитарист

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

Оказалось, что товарища зовут Артём Крикунов, и что он — гитарист. Играет джаз. У него на канале много видео с музыкой. Т.к. ютуб сейчас притормаживает, и пользоваться им некомфортно, я поискал его в лругих местах и нашёл Артёма в ВК. И там Артём продолжает выкладывать видео.

Я скачал все доступные альбомы Артёма и второй день наслаждаюсь. Оказывается, у нас в России тоже есть прекрасные джазовые гитаристы. Немного жаль, что Артём пока не играет в составе органных трио (я считаю, что джазовая электрогитара идеально сочетается с органом Хаммонда и ударными), но и то, что можно послушать прямо сейчас, очень и очень хорошо.

Я очень рекомендую.

Рис. 1

Новый инструмент для снятия бэкапов системы с домашних компьютеров

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

И я решил его использовать в качестве внешнего HDD, который можно воткнуть в комп в USB порт, загрузиться с него и снять копию системы на этот же самый диск.

Для того, чтобы превратить «просто HDD» во «внешний HDD», был закуплен корпус для внешнего HDD (см. рис. 1).

Один раздел на этом диске я сделал на 1 Гб, и залил туда Clonezilla. На остальном пространстве диска сделал ext4 файловую систему для хранения снятых образов дисков.

Раньше я грузил Клонзиллу с флешки, и это было неудобно. А сейчас всё стало гораздо проще: нужен всего один диск; грузишься с него и на него же делаешь бэкап.

Рекомендую, если кто ещё не.

Рис. 1

Йогурт

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

  • Молоко жирностью не меньше 3.2% (а лучше все 6%) — 2 л (я беру вот такое)
  • закваска — 1 бутылочка «Иммунеле» (даёт лучший результат из всех опробованных)
  • сахарный песок

В качестве порционной тары я использую баночки из-под томатной пасты.

В каждую баночку отливаем немного, по чайной ложке, закваски («Иммунеле»). Одна бутылочка как раз нормально распределяется на 8 порций. Затем в каждую баночку кладём по 0.5 чайной ложки сахара. Это для того, чтобы закваска веселее заработала. Разливаем 2 литра молока по подготовленным банкам. Тщательно размешиваем, чтобы растворился сахар.

Ставим баночки в духовку, выставляем температуру на 37 градусов. Держим в духовке 7-8 часов. Дольше 8 часов держать нельзя! Начнёт отсекаться сыворотка.

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

Рис. 1

Этот удивительный Windows

Как я докладывал ранее, в домашней сетке был разведён собственный DNS-сервер.

И сегодня я полез проверить, как с этим всем теперь будет работать единственный домашний комп на 10-й винде.

И опасения полностью подтвердились.

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

IPv6 DNS

Оказывается, винда в безальтернативном порядке выбирает DNS-сервер с IPv6 адресом. Такой DNS-сервер у меня есть, и это, как нетрудно догадаться, мой роутер ZyXEL Keenetic. И опцию «IPv6 DNS-сервер» в нём можно выключить только вместе с поддержкой, собственно, IPv6. Ни на какие другие варианты мой Зухель не согласен; говорит «хочешь ты или не хочешь — а я буду DNS-сервером для IPv6». Я никогда бы не узнал об этом, если бы не развернул альтернативный DNS-сервер.

Ну думаю, ладно. Просто укажу в настройках винды, что для IPv6 нужно игнорировать предложенный адрес DNS-сервера.

Фигвам. Нет такой настройки в винде. Выбор есть между вариантами: а) использовать сервер, полученный по DHCP; б) задать адрес своего DNS-сервера, причем указать можно только IPv6 адрес (что логично).

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

Seems to me that filling the Preferred DNS Server field with something is required. I suggest:

Preferred DNS Server — ::1,
Alternate DNS Server — blank

DNSv6 will fail immediately and auto fallback to DNSv4.

Огонь! Указываем для IPv6 DNS адрес localhost, где никакого сервера нет, винда об этот адрес обламывается, и переходит к DNS-серверам с IPv4 адресами.

При этом, мой рабочий лаптоп (с Win10 на борту), будучи подключенным к этой же самой сети, как-то умудряется работать как надо: брать только тот сервер, который предложен в IPv4 DHСP. Значит настроить сие по-человечески всё-таки можно. Надо будет поинтересоваться у наших админов, как они добились правильного поведения винды.

IPv4 глюки

А вот с темой общения этого компа с остальными по IPv4 — вообще загадочный глюк.

Я, по простоте душевной, до сих пор думал, что если у компа есть сетевой интерфейс, на котором задан, например, адрес 192.168.1.20 и маска 255.255.255.0, и эта карта воткнута в Ethernet розетку, то этот комп без проблем должен общаться с любым устройством, находящимся в той же самой сети 192.168.1.0/24.

Но мой Windows-10 Home, почему-то, оказался не настолько прост.

Он без проблем общается с принт-сервером, который сидит на адресе 192.168.1.6, и нормально печатает на настроенном принтере с этого принт-сервера. Он без проблем общается с NAS (192.168.1.3), доступ к которому тоже настроен на этой винде.

Но есть ещё 3 Linux-компа: 192.168.1.7, 192.168.1.9 и 192.168.1.10 (далее №7, №9 и №10 соответственно). С компом №10 винда нормально взаимно пингуется и соединяется, а с №7 и №9 — и не пингуется, и не соединяется; т.е. и с самой винды №7 и №9 не пингуются, и со стороны №7 и №9 винда на пинги не отвечает.

Кiк тiк?

Я подозреваю, что гадит ипанутый «брандмауэр Windows», но понятия не имею с какой стороны к нему подступаться. В сетевых потрохах 10-й винды мне до сих пор копаться не приходилось.

Кривые мои руки, конечно, тоже возможны, но я в упор не вижу, где можно накосячить в настройке одной простейшей сетки 192.168.1.0/24. Всё, буквально всё остальное в этой сетке идеально работает (3 штуки десктопных Линуксов, планшеты, телефоны, NAS, принт-сервер на OrangePi, рабочий лаптоп на Win-10), и только Win-10 Home, установленная с честно купленного дистрибутива с практически всеми настройками по-умолчанию, выкобенивается.

Я уже даже обратил внимание на том, что №3 (NAS) и №10 (один из Линуксов), которые нормально пингуются, и сама винда подключены проводами, а №7 и №9, которые не пингуются, подключены по WiFi. Но ведь №6 (принт-сервер) тоже подключен по WiFi и при этом нормально виден с винды!

Я даже не могу сказать, было ли так всегда, или всё испортилось недавно, потому что той работе, для которой предназначена эта винда, данный удивительный глюк не мешает. Но блин!

Рис. 1 Windows 10 с точки зрения «Кандинского»