По сложившейся традиции, в конце каждого года я выкладываю на сайте Webhamster.Ru публичный отчет о сделанных проектах и записываю планы на новый год. В 2016 году эта традиция была нарушена. Причин тому было много, как хороших так и плохих, обо всех нет смысла говорить. Лучше вспомнить то, что важного и интересного было в 2016 году, и, если получится, записать планы на год 2017.
Что было сделано в 2016 году
1. В 2016 году стало ясно, что сайт WebHamster.ru вырос из своего тарифного плана, которым я пользовался на хостинге TrueVDS.ru. На этом хостинге меня радовала недорогая XEN виртуализация, но все остальное было ниже плинтуса. Одно только отсутствие админки хостинга чего стоило. Все заявки выполнялись специалистами вручную. В общем, сайт был перенесен на KVM виртуализацию к хостеру iHor.ru. Стоимость осталась почти та же, а всех ресурсов стало в четыре раза больше по всем параметрам - и по частоте процессора, и по ОЗУ, а дисковое пространство вообще увеличилось на порядок. Новый хостер мне так понравился, что я по акции продлил оплату на второй год вперед.
2. В 2016 году произошло знаменательное событие: менеджеру накопления информации MyTetra исполнилось 5 лет. К этой дате был выпущен большой релиз v. 1.42, который задал новую планку возможностей этого PIM-менеджера. Эта работа съела у меня лювиную долю личного времени, но я рад тому, что релиз все-таки состоялся. Сразу после релиза была написана большая статья на Хабрахабре:
Самая нужная программа на свете
после чего сайт Webhamster.Ru накрыло хабраэффектом, но мощности нового тарифного плана и моей любименькой, самописной, супербыстрой CMS хватило, чтобы сайт продолжал нормально работать.
Всю подробную информацию об изменениях и нововведениях в MyTetra на этот раз я подготовил в виде видеообзора на YouTube из трех частей:
Для монтажа этих видеороликов использовался встроенный видеосеквенсор Blender-а, потому что только он оказался наиболее вменяемой программой видеомонтажа в Linux.
3. Разрабатываемый мною переключатель раскладок Lolo Switcher для Linux до сих пор оставался низкоуровневым. Для переключения раскладки он работает с файлами устройств ввода (т. е. по сути с аппаратурой) напрямую. Это решение имеет как положительную, так и отрицательную стороны. Положительная сторона - это четкая и безглючная работа со всеми известными DE и независимость от настроек X11-подсистемы, а отрицательная - это то, что такой переключатель может быть только локальным. И не может работать в удаленной X-сессии, запущенной на удаленном сервере. И я решил все-таки разобраться, можно ли в X-сервере получать события от виртуального устройства клавиатуры так же, как это можно сделать для реального устройства.
И я разобрался, и написанный мною код даже заработал на разных Линуксах на разных конфигурациях. Однако быстро выяснилось, что взятый за основу код программы xinput, работающий с одноименным расширением сервера XInput, все-таки не может работать в удаленном терминальном режиме - в этом режиме xinput просто сегфолтится. Буржуины по этому вопросу ничего внятного не ответили. На русскоязычном StackOverflow тоже ничего конкретного не сказали. Могу сказать только, что нужно теперь разобраться в самом API подсистемы XInput, поэкспериментировать с ним и понять, можно ли отлавливать события клавиш-модификаторов виртуальной клавиатуры при удаленном подключении. Так что пока что данный вопрос остается без ответа, и соответственно, Lolo Switcher в удаленном графическом терминальном режиме (например, в x2go) пока функционировать не будет. Это не значит, что Lolo Switcher не работает в удаленном терминале SSH - с этим-то все в порядке. Так же нет проблем с VNC/RDP, так как в этих протоколах локальное переключение языка транслируется на удаленную систему. Проблема только в работе чистого удаленного графического X11-сервера.
4. Из личных достижений в 2016 году - это успешное выступление за команду предприятия в игре "Что? Где? Когда?". Наша команда резко взяла старт, с первой квалификационной игры сразу попала в городскую высшую лигу, а в конце сезона стала победителем высшей лиги. Нам противостояли команды предприятий атомной отрасли и прочих организаций города (а таких команд более двадцати). После победы мы были приглашены на игру с телезрителями в прямом эфире местного телевидения, и выиграли ее со счетом 6:4. Это был первый опыт такой передачи как для самих телевизионщиков, так и, естественно, для нас.
Далее мы попали на общероссийский отборочный тур команд Росатома, но о его статусе узнали в момент прибытия - мы думали, что просто едем на областные соревнования. Игру вел по телеконференции Константин Рудер (известный как капитан "Команды Росатома"). На этой игре мы сыграли как среднячки, а в финал вышла команда Курчатовского института. Не все знают, что отборочные игры ассоциации интеллектуальных игр бывают жостче, чем показывают по телевидению, и в них нередко проигрывал даже Анатолий Вассерман со своей командой.
Планы на 2017 год
Начну издалека. В течении 2016 года я потихоньку писал статью, которую опубликовал на Хабрахабре в феврале 2017 года. Статья называлась так:
Каково это — быть разработчиком в России, когда тебе сорок
Этот текст изначально был задуман как пародия на статью европейского программиста, которого зовут Adrian Kosmaczewski. Но в процессе написания как-то всё превратилось в описание жизненного пути, а пародией выступила вся наша окружающая действительность.
Статья вызвала невероятно бурную реакцию хабра-сообщества. Комментариев было столько, что я не успевал их читать, не то что отвечать. И комментарии продолжают писать до сих пор. На какое-то время я стал первым в рейтинге хабралюдей (бестолковая пузомерка, но все равно приятно). Гораздо важнее цифра в 113 тысяч просмотров зарегистрированных пользователей хабара. А сколько всего народу прочитало - мне неизвестно.
Про положительный эффект статьи я пока не буду говорить, но если все получится, про это будет написана отдельная новость. В любом случае, всё, что я рассказал, сводится к одному: планы в области информационных технологий на 2017 год я в настоящий момент не ставлю, потому что они находятся в зависимости от обстоятельств: либо будут слишком малы, либо слишком велики.
В общем, всем удачи. И пусть всё, что вы задумали, у вас получится. С наступающим Первомаем вас, товарищи!