О себе
О себе, этом сайте и т.д.
Био
Родился 25 мая 1979 года.
Программирую с двенадцати лет, профессионально, то есть за деньги — с двадцати – двадцати одного года (в любом случае, еще с прошлого тысячелетия). Языков и технологий успел узнать много и разных. В последнее время из языков программирования предпочитаю C#, Ruby и Rust.
В качестве основной системы для себя использую Gentoo Linux со средой рабочего стола KDE, хотя знакомым, не специализирующимся в IT, рекомендую Linux Mint (от среды Cinnamon у меня очень хорошие впечатления, но все привычки уже заточены под KDE) или KDE Neon. Вообще в целом предпочитаю Linux и свободное ПО везде, где это возможно.
Мой профиль на GitHub: https://github.com/shikhalev
В качестве хобби — фотографирую. В основном птичек и вообще природу. Грибник. Не рыбак. Сейчас снимаю на Canon EOS 77D — подробнее, наверное, стоит отдельным постом…
Мои фотографии можно посмотреть в Instagram — https://www.instagram.com/ivanshikhalev
Отдельно хочу заметить, что хотя и пишу довольно часто о фотографии и графике вообще, это именно хобби — я могу очень многого не знать, ошибаться и вообще. Разбираться на профессиональном уровне в этих темах у меня времени нет.
Контакты
Для связи со мной для начала лучше всего использовать электронную почту — shikhalev@gmail.com. А для вопросов по конкретным постам можно и нужно использовать комментарии прямо под ними.
Впрочем, в блоке на правой панели есть и ссылки на соцсети, но они далеко не всегда удобней.
О сайте
Решил свести в одно место все более-менее не сиюминутные записи (для сиюминутных есть соцсети). В первую очередь, чтобы не зависеть от политики владельцев площадок; во вторую — чтобы использовать нормальные возможности веб-верстки, а не бороться в каждом посте с нагромождениями стилей и скриптов, выданных площадкой же; ну, и в третью — просто «чтобы в одном месте» и с полной копией у меня на диске.
Исходя из последнего и выбирал технологию — сайт на Jekyll с локальной копии я всегда смогу поднять в считанные часы, если с текущим хостингом что-то случится (сейчас это GitHub Pages, ибо бесплатно).
Исходники сайта можно посмотреть по адресу https://github.com/shikhalev/shikhalev.github.io.
Последние записи
Мерч: Паук и еще один пейзаж
Ссылки на Suno
Давно собирался, наконец-то сделал — ссылки на мои опыты в Suno, непосредственно со страниц соответствующих текстов. Нужно, конечно, сделать еще нормальные плейлисты и альбомы, но это потом. И, конечно, надо делать нормальную верстку… И это как раз в процессе, вместе с прочим рефакторингом и редизайном.
Пока можно посмотреть список омузыкаленных текстов по тегу «suno».
Пока просто списки в хронологическом порядке, без отделения того, что мне самому понравилось от особо упоротых экспериментов…
Мерч: Туманные низины
Продолжаю пополнять каталог (да, очень медленно). Внес товары с июньским пейзажем «Туманные низины».
Ну и поскольку это пейзаж, я бы рекомендовал обратить внимание на большой пенокартон, на фотошторы и, как ни странно, на круглый коврик для мыши.
Стартовал «псевдо-определитель»
Как и обещал, запустил мерч с «как бы определителем». И начал с Зяблика.
Решил не выпендриваться с латынью, в первую очередь потому, что не могу быть уверенным в правильности подписей. Так что все тексты на современном русском (и не сгенерированные, а написанные мной в конечном итоге, точнее — скомпилированные из разных источников). Были некоторые колебания между декором и информативностью, в итоге склонился к более-менее информативности. Из чистого декора осталась только стилизация и имитация старой бумаги.
Зяблика (Fringilla coelebs) для старта я выбрал, потому что птичка эта распространенная, широко известная, кроме того хорошо визуально определяемая, да еще и с четкими половозрастными различиями. Идеальный объект для тренировки и понимания, как что делать в общем случае, поскольку на нем я, с одной стороны, сразу столкнулся со многими нюансами генерации, а с другой — столкнулся я с ними, как выяснилось, в довольно лайтовом варианте: генерация следующего вида — юрка (Fringilla montifringilla) оказалась куда более геморройной, скорее всего, потому что его изображений в датасетах нейросетей существенно меньше… Хотя и там проблемы оказались решаемыми, так что скоро будет.
На данный момент доступны предметы только с PrintDirect, на ВсехМайках жду модерации (и что-то мне подсказывает, что она пройдет нескоро — всё замерло уже почти три недели как), а на FUN.ru модерация не прошла — фон им не понравился (их проблемы, хотя термос немного жалко).
В любом случае, всё, что есть, можно посмотреть на странице «Зяблик (Fringilla coelebs)». А отдельно хочу обратить внимание на большой постер (на пенокартоне опционально): там максимум информационных блоков, на остальных товарах — что влезло, то влезло.
Обновление каталога мерча
Каталог «мерча»
Хотел начать этот пост со слов «не прошло и двух недель», ан нет, прошло… Как быстро время летит… На самом деле бо́льшую часть внемени заняло не написание кода, а заполнение данных. Надо бы это дело заскриптовать, но пока вручную.
Итак, каталог мерча доступен. Основное представление — рубрикатор по картинкам с фильтром по видам товаров, но можно переключиться на рубрикатор по видам товаров с фильтром по категориям картинок.
Пока далеко не все выложенное на принтшопах я залил на сайт. Это из-за медленного ручного копипаста и огромного количества получившихся вариантов (пока не начал их собирать в одно место, я не очень даже и представлял это количество). Тем не менее уже есть чего посмотреть, да и через какое-то время я нагоню к актуальному состоянию. Сейчас, эти 875 товаров — это всего лишь три фотографии и одна картинка про енота.
Понятно, что всё это очень черновой вариант, но переделывать буду, скорее всего, уже вместе с рефакторингом сайта, который давно назрел — например, добавить теги нормальным способом без переделки сайта не получится. Я не очень доволен текущим интерфейсом фильтров, но пока не придумал, как сделать идеально. В общем, работы непочатый край…
Думаю, в ближайшее время я буду примерно раз в неделю анонсировать свежевыложенное. А выкладывать буду блоками по фотографиям, возможно, блоками «фотография × принтшоп».
Сейчас, как можно видеть, выложены:
-
Сухое дерево — это из разряда того, что я называю квазипаттернами.
-
«Это енот…» — проходит по разряду приколов.
Возможно, я где-то накосячил в массиве данных. Если где-то не стыкуются картинка, ссылка и текст, напишите, пожалуйста, в комментариях — буду исправлять.
Пара апдейтов
inat-channel v0.9.2
Что это такое — см. предыдущий пост.
Помимо исправления мелкого бага (имя lock-файла по умолчанию), изменил немного логику — при запросе свежих наблюдений отсечка происходит не по дате загрузки наблюдения, а по дате его последнего обновления. Это позволяет попадать в выборку наблюдениям, которые долго пролежали без исследовательского статуса. В целом это должно улучшить ситуацию с поступлением наблюдений в «несезон», по крайней мере, я на это надеюсь.
При этом удаление устаревших наблюдений из пула по прежнему контролируется по дате загрузки наблюдения.
jekyll-is-announcer v0.8.3
Опять же, о нем я уже писал. Впрочем, детали и концепция, чую, будут еще меняться и меняться…
А сейчас поменял кнопку перехода в канал на виджет от телеграма с комментариями. Что характерно, когда я делал кнопку, я ведь спрашивал у двух нейросетей, существует ли такой виджет… Но, видимо, как-то неправильно сформулировал и заузил область поиска1. А потом почти случайно сам наткнулся.
Что-то широкий и разнородный плагин получается… Пока не могу сообразить, как его окончательно заархитектурить — кнопки-то можно бы делать к разным сервисам легко, а вот встраиваемые виджеты — уже сложнее. Буду думать дальше. Раскидывать же его на несколько плагинов по отдельным сервисам не хочется, чтобы не плодить массу отдельных вспомогательных JSON-файликов.
Визуальную составляющую пока не дорабатывал — тут тоже надо сначала с общей картиной определиться, потом верстать конкретику.
-
См. раздел об использовании LLM в программировании в соответствующем посте. ↩
Анонсер — техническая сторона
В посте о подключении телеграм-канала я уже предполагал, что напишу подробнее о технической стороне этого подключения. Вообще-то, я планировал этим заняться попозже, а пока переключиться на «Практическое руководство по darktable»… Но внезапно обнаружил, что толком переключиться не могу, пока не доведу эту задачу с анонсером до какой-то логической точки.
Что ж, причесал Actions, отладил это хозяйство до более-менее стабильного состояния — хоть и далекого от завершения, но уже приемлемого для описания. Принципиальных изменений в ближайших версиях, скорее всего, не будет, а о плановых доделках я здесь еще скажу.
Задача
Собственно, основная задача стояла в следующем:
-
Отправлять анонсы (пока только в телеграм-канал) новых постов;
-
Сохранять ссылки на анонсы и показывать их на страницах, чтобы можно было перейти к обсуждению.
Уже по ходу дела решил добавить в Actions отправку уведомлений себе о выполненных операциях.
Телеграм-канал сайта
Завел себе (точнее, этому сайту) канал в телеге — https://t.me/shikhalev_blog.
-
Во-первых, для анонсов новых постов (даже заморочился и автоматизировал анонсирование на GitHub Actions).
-
Во-вторых, для комментариев, а то, похоже, аккаунт на GitHub мало у кого есть… Хотя, может, просто обсуждать нечего.
-
Ну, и в-третьих, там можно донатить «звездами». Впрочем, тут я иллюзий не питаю.
Кнопка для перехода в канал в постах выглядит корявенько, но я сейчас не хочу заморачиваться с частностями дизайна, поскольку планирую большой рефакторинг в относительно скором времени (весной).
В общем, приглашаю подписываться и обсуждать что-нибудь. Сейчас я закинул туда ссылки на посты этого года и несколько более старых, какие счел нужным. Новые посты буду анонсировать обязательно, может быть, докину и какие-то из старых.
Что касается технической стороны вопроса: плагин для Jekyll можно посмотреть на GitHub —
jekyll-is/jekyll-is-announcer, а его использование —
в каталоге .github/workflows
репозитория сайта. Думаю, еще написать об этом подробнее, но перед этим выделить основные действия из workflow в отдельные
action-репозитории — тогда можно будет поговорить на этом примере и об устройстве GitHub Actions в целом.
Небольшое объявление
Есть очень большое подозрение, что в этом году я не смогу оплатить продление домена. В этом случае сайт будет доступен по адресу https://shikhalev.github.io.
Терять домен, конечно, грустненько, но денег нет, держимся.
На всякий случай замечу, что ежели кто-то что-то задонатит, эти деньги пойдут на оплату домена в самую первую очередь. Вообще же, сайт денег не приносит, предметом первой необходимости не является, соответственно ресурсы из других источников на него тратить нерационально.
Показаны 10 записей из 19


