Перейти к содержанию
Sergei G.
Доступные языки

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

План на 2024 год и что вышло

Чтение и английский язык - готово

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

Когда переносил книги из Obsidian в Anytype, заодно почистил список. Сейчас осталось 87 книг. Помню, в начале года было около сотни, так что можно считать, что список всё-таки уменьшился.

А вот с английскими книгами всё точно хорошо - прочитал больше 5 штук. Это легко отследить, потому что я добавлял слова из книг в Anki как отдельные колоды, и там сразу видны даты.

Испанский язык - частично

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

Обновиться на ARM - готово

Пришлось обновиться на MacBook Pro 16” с M3 Max раньше, чем я планировал. У старого ноутбука, как позже выяснилось, сломался модуль питания на материнской плате. Я попробовал сам заменить батарею, но это не помогло. В итоге проблему решила только замена материнской платы в официальном сервисе.

Хотя я и взял M3 за пару недель до выхода M4, ни капли не жалею. Он работает просто отлично и намного приятнее старого - не греется, не шумит, камера и микрофоны гораздо лучше. QEMU для ARM тоже радует - тестирование и разработка стали заметно быстрее.

Правда, ноутбук достался с испанской клавиатурой (брал что было в наличии), но я всё равно печатаю вслепую и пользуюсь внешней клавиатурой.

Два личных open-source-проекта - частично

gopkgview - https://github.com/grishy/gopkgview

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

Планирую добавить новые функции, когда проект соберёт больше 100 звёзд на GitHub. Это будет хорошим сигналом, что проект нужен не только мне.

Пример использования:

Workflow engine - закрытый проект

Ещё делал личный проект на Go + HTMX + Alpine.js, который потом перенёс на Go + Svelte. Проект стал сложнее, и захотелось другого стека. Пока не выложил его как open source, потому что появились идеи по монетизации. Надеюсь, в будущем смогу открыть код и довести проект до конца. Сейчас он готов примерно на 20-30%.

Дизайн и типография - готово

Летом я сделал новый дизайн блога и переписал генератор. Получился полностью статический сайт на TypeScript, Bun и SQLite для кеширования. Всё работает достаточно быстро, чтобы не строить отдельное дерево зависимостей: полная сборка без картинок занимает мало времени, поэтому при изменениях можно пересобирать всё. Сначала пробовал Parcel, но его оказалось слишком сложно подстроить под мои задачи.

Хочу написать об этом отдельную запись, в первую очередь для себя, чтобы не забыть детали. Если в этом году буду чаще писать, добавлю в блог пару фич и сразу их опишу.

Хранить заметки локально - готово

Полностью перешёл с Notion и Obsidian на self-hosted Anytype. Один из следующих личных проектов как раз про то, как упростить этот процесс для других. Пришлось разобраться в устройстве Anytype, потому что все self-hosted-сервисы у меня описаны в Ansible. Я написал Python-модули для установки и генерации конфигов. Теперь достаточно периодически обновлять теги Docker-образов и перезапускать Ansible playbook.

В Notion остались только рабочие материалы, и их я бэкаплю отдельно. Главная причина перехода - скорость: Notion раньше тормозил, а Obsidian не очень дружил с iOS. Anytype работает шустро и на iOS, и на macOS. Правда, self-hosted-версию ещё нужно доработать: сейчас она тянет много лишних компонентов для задач, которые снаружи выглядят простыми, а настройка требует почти докторской степени.

Пока перенёс всё из Notion и примерно половину из Obsidian. Делаю это не спеша, переношу заметки по мере необходимости в Anytype, когда редактирую что-то.

Сделать игру на Rust - не начал

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

Зато сделал пару проектов для нагрузочного тестирования на работе на Rust.


Что было ещё в 2024 году

TravelLab - небольшие изменения

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

Главное изменение - переход с Gitea на Forgejo. Перешёл в основном потому, что там добавили встроенный CI. Репозитории и настройки уже перенёс, но CI пока ещё работает в отдельном Drone. Планирую убрать его во время следующей крупной чистки инфраструктуры.

Ещё добавил Anytype для небольшой группы пользователей. Работает хорошо, но для одного сервера он тяжеловат: часть модулей нужна скорее для распределённой инфраструктуры, например координация узлов или MinIO для хранения файлов. Когда сервер один, эти части в основном добавляют шум. Сейчас Anytype - самый “прожорливый” сервис на моём сервере: больше всего логов, больше всего изменений в файловой системе, и это хорошо видно по размерам снапшотов btrfs.

К TravelLab добавился ещё дорожный роутер - Beryl AX на OpenWrt. Иногда использовал его, когда локальный Wi-Fi барахлил даже внутри локальной сети. Например, он пригодился для проекта с Kobo Libra 2 ниже.

Anki и английский язык

Пусть и с перерывами, но я повторял карточки Anki в 76,71% дней за последние 12 месяцев. Для меня это неплохой результат. Конечно, можно было бы лучше, но летом надоело повторять слова по утрам. Я взял паузу и потом вернулся. Думаю, это нормально: иногда стоит переключаться с Anki на что-то другое. К тому же я начал использовать LLM и другие модели для создания карточек по прочитанным книгам.

В конце года обычно прохожу тест словарного запаса. В ноябре 2024 было 9303-10450 слов (прохожу несколько раз, отсюда разброс). В 2023 было ~6401 слово - прогресс налицо! 🙂

Статистика за 2024 год в Anki

Ещё сделал систему на Python + Alpine.js для создания карточек на основе Cambridge Dictionary и Yandex.Translate. В 2023 году это был простой Python-скрипт без UI, который только форматировал карточки и добавлял звук из словаря.

Интерфейс Anki-инструмента на Python

Новые устройства

Kobo Libra 2

Kobo Libra 2

Взял его, потому что захотелось попробовать сторонние приложения для чтения со своим словарём. Хотелось поэкспериментировать и собрать что-то под эту систему. Оказалось очень удобно читать нетехнические книги - уже прочитал около 15 книг.

Даже собрал на Rust и Slint небольшое приложение, которое работает напрямую с устройством и рисует во framebuffer. Правда, это был скорее эксперимент. Сейчас использую KOReader и пробовал Plato. Своё приложение делал как раз на основе Plato.

iPad Pro 11

iPad Pro

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

Garmin Venu 3

Garmin Venu 3

Отличные часы: долго работают, не требуют подписки для просмотра собственных данных, а данные можно выгрузить с сайта. Именно поэтому я не взял Apple Watch, которые едва живут день, или фитнес-браслеты, где полезные функции спрятаны за подпиской. Для Garmin я даже нашёл несколько скриптов экспорта.

Путешествия

В этом году много где побывал в Испании и Германии. Вот что особенно запомнилось.

🇪🇸 Валенсия, Испания

Вид на Валенсию

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

А вот Agua de Valencia меня не впечатлила. Это коктейль с алкоголем и апельсиновым соком, но алкоголь чувствуется слишком сильно для освежающего напитка. Зато Tinto de verano - лёгкий напиток из вина, содовой и льда - очень понравился.

🇪🇸 Аликанте, Испания

Вид на Аликанте

Аликанте (🇪🇸) покорил погодой, людьми и спокойным ритмом жизни. Провёл там много времени, и больше всего удивила кухня: японские раменные, итальянское мороженое и пицца за 2-3 минуты, аргентинские стейки, китайские приправы и пельмени. Правда, венесуэльская кухня показалась слишком сладкой.

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

Перепробовал кучу ресторанов: от простых закусочных до мишленовских. Почти везде было отлично, разочаровала всего пара мест. Город живёт в режиме вечного праздника - всё только оживает после 8 вечера.

Город хорошо подходит для спокойной жизни и семей с детьми. Забавно, что в местных спортзалах меня называли просто Серхио Русо.

🇪🇸 Барселона, Испания

Улица в Барселоне

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

Очень понравилось китайское местечко, где делают современный чай с кремом сверху - Charlie’s Tea. А ещё запомнилась красивая железная дорога вдоль моря из Аликанте в Барселону.

Город получился очень стильным и живым. Мне он чем-то напомнил Санкт-Петербург, только с морем и пляжами. Если Мадрид для меня как Москва, то Барселона точно как Петербург.

🇪🇸 Мадрид, Испания

Вид на Мадрид

Главный транспортный узел в центре страны - все скоростные ЖД пути проходят через него. Иногда даже быстрее доехать сначала до Мадрида, а потом куда нужно, чем ехать напрямую. Такой же огромный и шумный, как Москва. Тут есть буквально всё и везде.

Я обычно использовал его для практических задач: что-то купить, забрать или улететь дальше. Чаще всего просто ночевал между поездом и самолётом и встречался с друзьями. Больше всего город понравился осенью, когда деревья пожелтели и начала падать листва. Инфраструктура впечатляет: под центром есть подземные переходы, по которым можно пройти часть города насквозь.

🇪🇸 Сан-Себастьян, Испания

Побережье Сан-Себастьяна

Город между океаном и горами. Океан тут ощущается совсем не так, как море - он какой-то более величественный и спокойный после Аликанте. Считается гастрономической столицей - тут просто нереальная концентрация мишленовских ресторанов на квадратный метр.

Больше всего поразило, как может выглядеть небольшой город с отличной инфраструктурой. Говорят, именно тут придумали знаменитый баскский чизкейк. Я попробовал его в “том самом” оригинальном месте (по версии интернета), но, честно говоря, обычный сетевой баскский чизкейк мне понравился больше. А ещё тут я увидел самые красивые закаты за весь год.

🇪🇸 Гранада, Испания

Вид на Гранаду

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

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

🇩🇪 Берлин, Германия

Вид на Берлин

После Испании Берлин кажется совершенно другим миром. Огромный город, неожиданно много зелени и много контрастов. Мы жили в турецком районе, и это было почти два разных города: наш район и центр. Разные стили зданий, разные люди. Где-то всё выглядит как дорогой скандинавский район, а где-то - как заброшенный квартал. Причём районы чередуются, а не просто становятся лучше по мере приближения к центру.

Граффити тут - это что-то особенное, их везде полно, и они очень разные по качеству. Вообще Берлин - это город контрастов во всём.

Забавно получилось: я жил в Airbnb с хозяином и его собакой. Оказалось, что я неплохо лажу с собаками. Сложность не в собаке, а в том, куда её пристраивать и как возить с собой. А такой Airbnb - отличный вариант, если скучаешь по домашним животным.

🇩🇪 Эрфурт, Германия

Улица в Эрфурте

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

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

🇮🇱 Тель-Авив, Израиль

Пляж в Тель-Авиве

После Испании больше всего впечатлило море - песок мягче и инфраструктура лучше. Город постоянно меняется и подстраивается под жаркий климат. Своими глазами видел, как перестраивают целые районы, делая их пешеходными и закрывают для машин. Там будет трамвай вместо машин.

После Испании меня удивили цены и выбор в обычных магазинах. Зато бары тут одни из лучших, где я бывал: несколько мест напомнили петербургские.


Коротко, что запомнилось ещё

  • Civilization VI - затягивает, но требует очень много времени. Удалось поиграть только на новогодних праздниках с друзьями, теперь ждём новую часть.
  • Honest Green - отличное место, где можно вкусно поесть и попробовать что-то новое. Очень сытно и недорого.
  • Поразительно, насколько разной может быть жизнь в разных городах одной страны. Взять хотя бы Берлин и Эрфурт в Германии.
  • Оказывается, делать украшения не так сложно, как я думал. Сам делал кольца на мастер-классе.
  • Гидроцикл - отличное развлечение, но только не когда волны большие.
  • Делать пиццу под руководством настоящего итальянца - вкусно и весело. Был на мастер-классе. Мука должна быть с >10 г. белка на 100 г.
  • После баскского чизкейка в Сан-Себастьяне теперь сложно найти такой же вкусный в других городах.
  • Мишленовские рестораны оказались не такими уж дорогими, особенно в Аликанте. По ощущениям - обычный ресторан, только с идеальным сервисом и продуманным меню.
  • Океан и море - это два разных мира. Океан кажется намного больше, хотя вода может быть спокойнее.
  • Германия - это когда в одном магазине рядом лежат старый CD-плеер без охраны и терминал Starlink.

Итоги 2024 года

  • Путешествия

    • Посетил 3 страны: Испания, Германия, Израиль
    • Пожил с домашними животными в Airbnb
    • Составил свой список вкусных блюд в разных городах
  • Технологии и инструменты

    • Перешёл с Obsidian/Notion на self-hosted Anytype
    • Обновил окружение: WezTerm, Fish, Zed (редактор), Cursor (аналог VS Code)
    • Обновился на MacBook Pro M3
    • Мигрировал блог с Gatsby.js на TypeScript + SQLite
  • Английский язык

    • Словарный запас около 10 000 слов
    • Прочитал 5 книг на английском
    • Начал смотреть сериалы в оригинале
    • Добавил ~700 карточек в Anki для изучения из книг
  • Хобби и новые навыки

    • Научился готовить настоящую итальянскую пиццу
    • Играл в Civilization VI
    • Попробовал гидроцикл “Jet Ski” (PWC)
    • Делал украшения на мастер-классе
    • Открыл для себя мишленовские рестораны

Планы на 2025 год

  • Личные проекты

    • Сделать минимум 3 проекта:
      • набор для self-hosting Anytype (Go)
      • инструмент для обогащения Anki-карточек (Python/Rust + Svelte + LLM)
      • бэкап TravelLab с btrfs в облако (Rust)
      • бэкап Garmin (Python)
      • Notion backup tool (Python)
  • Английский язык

    • Прочитать 6 книг на английском
    • Уменьшить процент новых карточек в Anki до 15% (сейчас 56%)
  • Блог и медиа

    • Написать 3 статьи на двух языках
    • Снять 2 видео по проектам
  • Технологии

    • Обновить iPhone 11 на новую модель или Android
    • Изучить основы криптовалют и блокчейна:
      • Разобраться в технической части работы сети
      • Выполнить транзакции в сети

Рабочее место в момент написания поста: Рабочее место


Thumbnail
Font: Inter
Photo by Alexander Psiuk on Unsplash