<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Sergei G.</title><description>Личный сайт Sergei G. - программист</description><link>https://grishy.dev/</link><item><title>Мой сетап macOS на 2025</title><link>https://grishy.dev/ru/posts/macOS-setup-2025/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/macOS-setup-2025/</guid><description>Третья версия моего macOS-сетапа. Теперь на MacBook Air M4 и без лишних утилит. Как Ghostty заменил iTerm, Nix не пригодился, а Browserino спас меня от хаоса с профилями браузеров.</description><pubDate>Fri, 03 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Итоги года 2024</title><link>https://grishy.dev/ru/posts/review-2024/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/review-2024/</guid><description>Итоги 2024: переезд на MacBook M3 Max, замена Notion на self-hosted Anytype и путешествия по Испании. Как я прокачал английский до 10k слов и почему отказался от идеи писать игру на Rust.</description><pubDate>Tue, 21 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Моя конфигурация macOS на 2024 год</title><link>https://grishy.dev/ru/posts/my-macOS-setup-2024/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/my-macOS-setup-2024/</guid><description>Обновился на MacBook M3 и пересобрал весь сетап. Почему я отказался от разных профилей системы в пользу Git-конфигов, сменил Firefox на Chrome и какие 50+ приложений теперь живут на моём ноутбуке.</description><pubDate>Sun, 28 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Мой путь с Gatsby.js: От появления до забвения</title><link>https://grishy.dev/ru/posts/gatsbyjs-death/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/gatsbyjs-death/</guid><description>От восторга в 2019 до отчаяния в 2024. Рассказываю, как мой блог пережил расцвет и упадок Gatsby.js, почему этот фреймворк умер для меня после покупки Netlify и на что я его заменил.</description><pubDate>Sun, 14 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Итоги года 2023</title><link>https://grishy.dev/ru/posts/review-2023/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/review-2023/</guid><description>Год полного переезда на self-hosted решения. Как я перевёл блог на Cloudflare Pages, ушёл из облаков на домашний сервер, посетил 6 стран и сдал комнату в Airbnb.</description><pubDate>Thu, 11 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Итоги года 2018-2022</title><link>https://grishy.dev/ru/posts/review-2018-2022/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/review-2018-2022/</guid><description>Пять лет тишины в блоге и куча перемен: переезд в Польшу, изучение английского с нуля для удалёнки и смена стека с Hugo на Gatsby. История о том, как я строил карьеру и быт, пока блог пылился в архивах.</description><pubDate>Wed, 11 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Как смотреть фильмы с разных экранов</title><link>https://grishy.dev/ru/posts/airbnb-film-tv/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/airbnb-film-tv/</guid><description>Когда в номере отеля только телевизор и ваш ноутбук. Три способа передать видео на любой Smart TV без HDMI-кабеля: от VLC до запуска своего маленького сервера.</description><pubDate>Thu, 22 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Моя конфигурация macOS</title><link>https://grishy.dev/ru/posts/my-macos-setup/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/my-macos-setup/</guid><description>Полная настройка Intel MacBook Pro для работы из любой точки. Как я разделял личную и рабочую жизнь профилями (и почему это было ошибкой), боролся с перегревом через Turbo Boost Switcher и какие CLI-утилиты ставил.</description><pubDate>Thu, 01 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Обработка сканов фотографии в Photoshop</title><link>https://grishy.dev/ru/posts/photoshop-scan/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/photoshop-scan/</guid><description>Заставляем Photoshop работать за вас: как написать скрипт на JavaScript, который сам собирает пачку сканов в одно идеальное фото, обрезает края и чистит мусор. Код прилагается.</description><pubDate>Sat, 05 Feb 2022 00:00:00 GMT</pubDate></item><item><title>[Перевод] Улучшение JavaScript обфускатора</title><link>https://grishy.dev/ru/posts/improving-obfuscator/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/improving-obfuscator/</guid><description>Продолжаем усложнять жизнь реверс-инженерам. Во второй части добавляем в наш самодельный обфускатор новые трюки: разбиение строк, кастомные base64-алфавиты и запутывающие тернарные операторы.</description><pubDate>Sat, 23 Nov 2019 00:00:00 GMT</pubDate></item><item><title>[Перевод] Простой самодельный обфускатор JavaScript</title><link>https://grishy.dev/ru/posts/home-made-obfuscator/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/home-made-obfuscator/</guid><description>Хотите скрыть логику своего скрипта от посторонних глаз? В этом переводе разберем, как написать свой JavaScript-обфускатор с нуля: будем манипулировать AST-деревом, прятать строки и переименовывать переменные.</description><pubDate>Wed, 25 Sep 2019 00:00:00 GMT</pubDate></item><item><title>10/2018: Итоги за месяц</title><link>https://grishy.dev/ru/posts/result-10-18/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/result-10-18/</guid><description>Итоги октября 2018: погружение в DevOps, первые шаги в Golang и поездка на хакатон Junction. Мысли о режиме дня и цифровом минимализме.</description><pubDate>Wed, 17 Oct 2018 00:00:00 GMT</pubDate></item><item><title>[Перевод] Потоки в Node 10.5.0: практическая часть</title><link>https://grishy.dev/ru/posts/threads-in-node-10-5-0-a-practical-intro/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/threads-in-node-10-5-0-a-practical-intro/</guid><description>Node.js наконец-то получил нативную поддержку многопоточности! Разбираем на практике модуль worker_threads в Node 10.5.0: как выносить тяжелые вычисления в отдельные потоки и не блокировать Event Loop.</description><pubDate>Sun, 01 Jul 2018 00:00:00 GMT</pubDate></item><item><title>Как работает этот блог - Часть 3</title><link>https://grishy.dev/ru/posts/about-the-blog-3/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/about-the-blog-3/</guid><description>Как устроен этот блог изнутри: Часть 3. Производительность. Сравниваем статику с WordPress под нагрузкой (спойлер: WP падает), настраиваем бесплатный HTTPS и CDN через Cloudflare.</description><pubDate>Tue, 01 May 2018 00:00:00 GMT</pubDate></item><item><title>Как работает этот блог - Часть 2</title><link>https://grishy.dev/ru/posts/about-the-blog-2/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/about-the-blog-2/</guid><description>Как устроен этот блог изнутри: Часть 2. Деплой. Как бесплатно хостить сайт на GitHub Pages, прикрутить свой домен и автоматизировать сборку на Node.js, чтобы не делать всё руками.</description><pubDate>Sun, 29 Apr 2018 00:00:00 GMT</pubDate></item><item><title>[Перевод] Трёхмерные планеты из точек</title><link>https://grishy.dev/ru/posts/3d-shading-with-points/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/3d-shading-with-points/</guid><description>Нашел старый код на Commodore BASIC и решил переписать его на JavaScript. Результат? Стильные 3D-планеты из тысяч точек на Canvas с процедурным затенением. Показываю алгоритм.</description><pubDate>Sun, 22 Apr 2018 00:00:00 GMT</pubDate></item><item><title>Как работает этот блог - Часть 1</title><link>https://grishy.dev/ru/posts/about-the-blog-1/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/about-the-blog-1/</guid><description>Как устроен этот блог изнутри: Часть 1. Почему я отказался от баз данных в пользу статических файлов, как пишу посты в VS Code и зачем обернул Hugo в свои скрипты.</description><pubDate>Sat, 21 Apr 2018 00:00:00 GMT</pubDate></item><item><title>[Перевод] Рисовать линии ‐ это сложно</title><link>https://grishy.dev/ru/posts/drawing-lines-is-hard/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/drawing-lines-is-hard/</guid><description>Нарисовать линию — что может быть проще? Но в WebGL это та ещё головная боль. Разбираем, почему gl.LINES не работает как надо, и учимся рисовать красивые линии через триангуляцию и шейдеры.</description><pubDate>Sat, 29 Jul 2017 09:30:33 GMT</pubDate></item><item><title>[Перевод] Эффект путешествия в туннеле - Часть 2</title><link>https://grishy.dev/ru/posts/tunnel-animation-2/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/tunnel-animation-2/</guid><description>Продолжаем строить туннель на Three.js. Во второй части усложняем задачу: отказываемся от готовой геометрии и генерируем стенки туннеля из тысяч отдельных частиц.</description><pubDate>Fri, 28 Jul 2017 18:00:38 GMT</pubDate></item><item><title>[Перевод] Анимация туннеля - Часть 1</title><link>https://grishy.dev/ru/posts/tunnel-animation-1/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/tunnel-animation-1/</guid><description>Погружаемся в WebGL и Three.js: первая часть туториала по созданию гипнотической анимации бесконечного туннеля. Начинаем с геометрии трубы и движения камеры.</description><pubDate>Fri, 28 Jul 2017 08:00:38 GMT</pubDate></item><item><title>[Перевод] Caffe2: Инструмент от Facebook для работы с нейронными сетями на телефоне</title><link>https://grishy.dev/ru/posts/facebooks-caffe2-ai-tools-come-to-iphone-android-and-raspberry-pi/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/facebooks-caffe2-ai-tools-come-to-iphone-android-and-raspberry-pi/</guid><description>Facebook выпустил Caffe2 — фреймворк, который переносит нейросети из облака прямо в ваш смартфон. Разбираемся, как запустить ИИ на Android, iOS и даже Raspberry Pi.</description><pubDate>Sun, 14 May 2017 05:18:44 GMT</pubDate></item><item><title>Страница проверки сайта - Markdown</title><link>https://grishy.dev/ru/posts/checking-the-features/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/checking-the-features/</guid><description>Эта страница — мой полигон для краш-тестов темы блога. Здесь собраны все возможные элементы Markdown: от заголовков и таблиц до формул MathJax, чтобы убедиться, что всё выглядит идеально.</description><pubDate>Wed, 10 May 2017 13:19:02 GMT</pubDate></item><item><title>Генерация статического сайта из любого сайта</title><link>https://grishy.dev/ru/posts/static-site-via-wget/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/static-site-via-wget/</guid><description>Хотите превратить динамический сайт в статику? Показываю, как с помощью одной команды wget сделать полную локальную копию любого сайта и бесплатно разместить её на GitHub Pages.</description><pubDate>Wed, 19 Aug 2015 12:00:00 GMT</pubDate></item><item><title>Почему Ghost</title><link>https://grishy.dev/ru/posts/pochiemu-ghost/</link><guid isPermaLink="true">https://grishy.dev/ru/posts/pochiemu-ghost/</guid><description>Почему я выбрал Ghost для своего блога в 2015 году? Простой Node.js, чистые темы на Handlebars и никакой боли с PHP. Рассказываю, чем он лучше WordPress для разработчика.</description><pubDate>Mon, 17 Aug 2015 12:00:00 GMT</pubDate></item></channel></rss>