shikhalev.*

Био

Я

Родился 25 мая 1979 года.

Программирую с двенадцати лет, профессионально, то есть за день­ги — с двадцати – два­д­ца­ти одного года (в любом случае, еще с прошлого тысячелетия). Языков и тех­но­ло­гий успел узнать много и разных. В последнее время из языков программирования предпочитаю C#, Ruby и Rust.

В качестве основной системы для себя использую Gen­too Li­nux со средой рабочего стола KDE, хотя знакомым, не специализирующимся в IT, рекомендую Li­nux Mint (от сре­ды Cinnamon у меня очень хорошие впечатления, но все привычки уже заточены под KDE) или KDE Neon. Вообще в целом предпочитаю Linux и свободное ПО везде, где это возможно.

Мой профиль на GitHub: https://github.com/shi­kha­lev

В качестве хобби — фотографирую. В основном птичек и вообще природу. Грибник. Не рыбак. Сейчас снимаю на Canon EOS 77D — подробнее, наверное, стоит отдельным постом…

Мои фотографии можно посмотреть в Instagram — https://www.instagram.com/ivanshikhalev

Отдельно хочу заметить, что хотя и пишу довольно часто о фотографии и графике вообще, это именно хобби — я могу очень многого не знать, ошибаться и вообще. Разбираться на профессиональном уровне в этих темах у меня времени нет.

Контакты

Для связи со мной для начала лучше всего использовать электронную почту — shi­kha­lev​@gmail.​com. А для вопросов по кон­к­рет­ным постам можно и нужно использовать комментарии прямо под ними.

Впрочем, в блоке на правой панели есть и ссылки на соцсети, но они далеко не всегда удобней.

О сайте

Решил свести в одно место все более-менее не сиюминутные записи (для сиюминутных есть соцсети). В первую очередь, чтобы не зависеть от политики владельцев площадок; во вторую — чтобы использовать нормальные возможности веб-вер­с­т­ки, а не бороться в каждом посте с нагромождениями стилей и скриптов, выданных площадкой же; ну, и в третью — просто «чтобы в одном месте» и с полной копией у меня на диске.

Исходя из последнего и выбирал технологию — сайт на Jekyll с локальной копии я всегда смогу поднять в считанные часы, если с текущим хостингом что-то случится (сейчас это GitHub Pages, ибо бесплатно).

Исходники сайта можно посмотреть по адресу https://github.com/​shi­kha­lev/​shi­kha­lev.​git­hub​.io.

Последние записи

ТехнологииПрограммированиеWebО себе

2025.12.16 • Иван Шихалев

Пара апдейтов

inat-channel v0.9.2

Что это такое — см. пре­ды­ду­щий пост.

Помимо исправления мелкого бага (имя lock-файла по умолчанию), изменил немного ло­ги­ку — при за­про­се свежих наблюдений отсечка происходит не по да­те загрузки наблюдения, а по да­те его последнего обновления. Это позволяет попадать в выборку наблюдениям, которые долго пролежали без ис­сле­до­ва­тель­с­ко­го статуса. В це­лом это должно улучшить ситуацию с по­с­туп­ле­ни­ем наблюдений в «не­се­зон», по край­ней мере, я на это надеюсь.

При этом удаление устаревших наблюдений из пу­ла по преж­не­му контролируется по да­те загрузки наблюдения.

jekyll-is-announcer v0.8.3

Опять же, о нем я уже писал. Впрочем, детали и концепция, чую, будут еще меняться и меняться…

А сейчас поменял кнопку перехода в ка­нал на виджет от те­ле­гра­ма с ком­мен­та­ри­я­ми. Что характерно, когда я делал кнопку, я ведь спрашивал у двух нейросетей, существует ли такой виджет… Но, видимо, как-то неправильно сформулировал и заузил область поиска1. А потом почти случайно сам наткнулся.

Что-то широкий и разнородный плагин получается… Пока не могу сообразить, как его окончательно заархитектурить — кноп­ки-то мож­но бы делать к разным сервисам легко, а вот встраиваемые виджеты — уже сложнее. Буду думать дальше. Раскидывать же его на несколько плагинов по отдельным сервисам не хочется, чтобы не плодить массу отдельных вспомогательных JSON-файликов.

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

Jekyll ISTelegramiNaturalistinat-channeljekyll-is-announcerкомментарии

ТехнологииПрограммированиеWebО себе

2025.11.29 • Иван Шихалев

Анонсер — техническая сторона

В посте о подключении телеграм-канала я уже предполагал, что напишу подробнее о технической стороне этого подключения. Вообще-то, я планировал этим заняться попозже, а пока переключиться на «Прак­ти­чес­кое руководство по dark­table»… Но внезапно обнаружил, что толком переключиться не могу, пока не доведу эту задачу с анонсером до какой-то логической точки.

Что ж, причесал Actions, отладил это хозяйство до более-менее стабильного со­сто­я­ния — хоть и далекого от завершения, но уже приемлемого для описания. Принципиальных изменений в ближайших версиях, скорее всего, не будет, а о плановых доделках я здесь еще скажу.

Задача

Собственно, основная задача стояла в следующем:

  • Отправлять анонсы (пока только в телеграм-канал) новых постов;

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

Уже по ходу дела решил добавить в Actions отправку уведомлений себе о выполненных операциях.


Читать далее »

GitHubGitHub ActionsJekyllJekyll ISTelegramпланысайт

О себеТехнологииWebДыбр

2025.11.26 • Иван Шихалев

Телеграм-канал сайта

Картинка для привлечения внимания

Завел себе (точнее, этому сайту) канал в те­ле­ге — https://t.me/shikhalev_blog.

  • Во-пер­вых, для анонсов новых постов (даже заморочился и автоматизировал анонсирование на GitHub Actions).

  • Во-вторых, для комментариев, а то, похоже, аккаунт на GitHub мало у ко­го есть… Хотя, может, просто обсуждать нечего.

  • Ну, и в-третьих, там можно донатить «звездами». Впрочем, тут я иллюзий не питаю.

Кнопка для перехода в канал в постах выглядит корявенько, но я сейчас не хо­чу заморачиваться с частностями дизайна, поскольку планирую большой рефакторинг в относительно скором времени (весной).

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

Что касается технической стороны вопроса: плагин для Jekyll можно посмотреть на GitHub — jekyll-is/jekyll-is-announcer, а его использование — в каталоге .github/workflows репозитория сайта. Думаю, еще написать об этом подробнее, но перед этим выделить основные действия из workflow в отдельные ac­ti­on-ре­по­зи­то­рии — тогда можно будет поговорить на этом примере и об устройстве GitHub Actions в целом.

GitHubGitHub ActionsJekyllJekyll ISTelegramпланысайт

О себе

2023.11.13 • Иван Шихалев

Небольшое объявление

Есть очень большое подозрение, что в этом году я не смогу оплатить продление домена. В этом случае сайт будет доступен по адресу https://shikhalev.github.io.

Терять домен, конечно, грустненько, но денег нет, держимся.


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


shikhalev.org

О себеТехнологииWebПриродаБёрдвотчинг

2023.01.06 • Иван Шихалев

Кстати, о птичках

Скриншот из Я.Вебмастер

В ка­кой-то момент — где-то во вто­рой половине но­я­б­ря — я заметил, что ко мне стали заходить читатели из по­ис­ко­вых систем по за­про­сам, связанным с кор­муш­кой и птицами. За но­ябрь-де­кабрь пост «Птицы на кормушке и их поведение» даже обогнал по по­пу­ляр­нос­ти «главный» материал этого сайта, т.е. «Ввод «типографских» символов с клавиатуры», что само по се­бе довольно странно…

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

shikhalev.orgпоискптицысайты

ТехнологииWebДыбрО себе

2022.12.07 • Иван Шихалев

Дыбр сайтостроительный

Оптимизация страниц

В про­цес­се работы с hugin.shikhalev.org обнаружилась интересная особенность Jekyll, о ко­то­рой желательно знать, чтобы не бы­ло мучительно больно…

«Страницы», то есть «pages», не яв­ля­ю­щи­е­ся постами (и не вхо­дя­щие в ни­ка­кие другие коллекции) обрабатываются крайне медленно. Переделка страниц в кол­лек­ции ускорила сборку сайта (локально) примерно в 10 раз — с око­ло двухсот се­кунд до ме­нее двадцати. Сначала я даже попытался переделать их в пос­ты, но пост должен содержать дату в име­ни, и нет никакой возможности задать ему URL, соответствующий просто структуре каталогов, без да­ты в ка­ком-ли­бо виде. Точнее, каждому посту в от­дель­нос­ти-то можно, вручную во front matter, но это уже издевательство над са­мим собой и полный трэш в слу­чае каких-то переделок и рефакторинга. Со­з­да­ние же отдельных коллекций такой проблемы не не­сет, единственное, что понадобилось прописать ручные адреса для фай­лов index.md, чтобы ссылки на них шли как ссылки на ка­та­ло­ги, а не на in­dex.html

Что делать с комментариями?

Точнее, без оных… Heroku больше не да­ет бесплатно крутить Staticman, так что комментарии здесь уже не ра­бо­та­ют. Ранее созданные, конечно, никуда не де­лись — за то и был выбран Sta­tic­man, что они хранятся внутри репозитория…

Думаю в ближайшее время подключить giscus, каковой уже испытан на hugin.shikhalev.org, а затем как-то решить вопрос с ав­то­ма­ти­чес­ким сохранением комментариев внутрь репозитория. Впрочем, буду рассматривать и другие варианты, может быть, за по­с­лед­нее время появилось что-то более интересное и подходящее.

upd: Прикрутил giscus, но вопрос закрытым не счи­таю.

Jekyllshikhalev.orgкомментарииоптимизациясайты

ТехнологииСофтГрафикаФотоОбработкаО себе

2022.11.20 • Иван Шихалев

Hugin по-русски

Ковыряю потихоньку перевод документации по Hu­gin. Ну как документации… Там скорее база знаний на ви­ки-движке. Когда-то давно я пытался привлечь к это­му делу других людей на ви­ки гитхаба, но что-то никто не приnвлек­ся. Так что я плюнул на ви­ки-формат и загнал все это дело в при­выч­ный уже Jekyll на под­до­ме­не hugin.shikhalev.org.

В прин­ци­пе, если вдруг кто захочет поучаствовать, то особых проблем быть не долж­но — markdown не сказать чтоб сильно сложнее вики-разметки. Прав­да, понадобятся базовые навыки работы с Git и GitHub, но это сейчас должно быть где-то на уров­не обычной грамотности.

В процессе перевода я понял, что последовательность и структурированность оригинала меня категорически не ус­т­ра­и­ва­ют. Вообще, материал довольно неровный. Как я уже сказал, это скорее база знаний, заполняемая разными людьми с раз­ной степенью аккуратности, детальности и т.д. Поэтому я решил сразу запланировать помимо собственно перевода компиляцию всего этого дела во что-то более цельное. Правда, понятия не имею, когда до это­го дойдут руки.

Что до текущего состояния, то статус перевода можно смотреть на странице «Переводы», где, впрочем, все абсолютно не струк­ту­ри­ро­ва­но — это просто автоматический список страниц, разбитый по ста­ту­сам. Из более-менее цельных кусков переведено описание главного окна, оно же «Простой интерфейс», со все­ми вкладками (там по ссылкам). Это в прин­ци­пе уже может быть полезно для на­ча­ла работы (а еще для начала можно прочитать мой старый пост «Пингвин-фо­то­лю­би­тель: 3. Па­но­ра­мы»).

HuginLinuxshikhalev.orgпанорамыпереводыпроектысайты

О себеЖизньПсихологияМышлениеДыбр

2021.08.01 • Иван Шихалев

Так писать нельзя

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

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

В общем, надо писать смысловыми блоками. Вариант писать «эпизодные» посты в один прием, выделив на это значительный непрерывный отрезок времени, не про­хо­дит за не­и­ме­ни­ем таких отрезков.

shikhalev.orgблогинаписание текстов

ТехнологииWebПрограммированиеО себе

2021.07.09 • Иван Шихалев

Отчет о рефакторинге

Скриншот с [официального сайта Jekyll](https://jekyllrb.com/)
Скриншот с официального сайта Jekyll

Итак, я таки отрефакторил и обновил данный сайт. Почему нельзя было сразу делать правильно? Ну, в основном потому, что я впервые имел дело с Jekyll, изрядно подзабыл (а что-то и не знал) базовые приемы верстки… И так далее, и тому подобное.

Вторая (в моем случае) причина — это то, что, как это часто бывает, представление о желаемом результате уточнялось и формировалось в процессе достижения результата просто работающего. Соответственно, решение «исторически сложилось», если вы понимаете, о чем я. Любой проект ставит разработчика перед выбором: или бесконечное (и потому бесплодное) делание «как надо», или движение к идеалу через неидеальные, зато рабочие, варианты, которые, впрочем, без регулярного рефакторинга быстро становятся неулучшаемым и иногда не совсем рабочим болотом.

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


Читать далее »

CSSFont AwesomeGitHubGoogle FontsGoogle MapsHTMLJavaScriptJekyllLiquidPNGSASSSCSSSVGaspect-ratiodisplayflexgridkramdownmarkdownshikhalev.orgstickyблогивеб-шрифтыверсткаграблииконкимедиа-селекторыпробелырефакторингсайтыстатическая генерацияшрифты

О себеТехнологииWeb

2021.06.03 • Иван Шихалев

Планирую рефакторинг

Ну, что ж. Общее представление, как должен выглядеть этот сайт у меня сложилось (внешне — примерно как и сейчас). Есть большое желание привести в порядок внутреннее устройство и исправить ряд недочетов, видимых снаружи.

Самое время попросить фидбек: ежели кто видит недочеты, неудобства, баги какие-то… или имеет конструктивные предложения — welcome комментировать, здесь или в соцсетях.

Я в принципе в курсе о проблемах на мобильных, но детали не помешают.

Еще могут быть косяки на старых браузерах… Вот только новая версия скорее всего с ними будет еще менее совместима — думаю на grid’ах сверстать. Кто-то сейчас пользуется старыми браузерами? И если пользуется, то обращает ли внимание на верстку вообще?

Нужно ли что-то менять в рубрикации? Адреса контента от нее не зависят, так что могу себе позволить…

Визуальный дизайн тоже можно попинать, желательно с конкретикой.

shikhalev.orgверсткасайты