<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>grigory.tech | Personal techblog</title><id>https://grigory.tech/feed.xml</id><subtitle>Recent Posts</subtitle><updated>2026-05-25T09:26:06Z</updated><link href="https://grigory.tech/feed.xml" rel="self" /><link href="https://grigory.tech" /><entry><title>Using AI extensions in VSCode from Russia on remote hosts</title><id>https://grigory.tech/posts/vscode-remote-host-ai-services-proxying-from-russia.html</id><author><name></name><email>mail@grigory.tech</email></author><updated>2026-03-25T17:00:00Z</updated><link href="https://grigory.tech/posts/vscode-remote-host-ai-services-proxying-from-russia.html" rel="alternate" /><content type="html">&lt;p&gt;You live in Russia and do software development and can't connect to foreign AI providers on your development or production server but you have http proxy running on your primary device (laptop/desktop) on &lt;code&gt;local-port&lt;/code&gt;?&lt;/p&gt;&lt;p&gt;Follow this simple 4 steps.&lt;/p&gt;&lt;p&gt;I'm using RooCode as AI extension example&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Add &amp;quot;RemoteForward&amp;quot; to each remote host you want to use Roocode on. Where &lt;code&gt;remote-port&lt;/code&gt; is the port you want assign proxy to on that remote&lt;/p&gt;&lt;pre&gt;&lt;code class=&quot;language-conf&quot;&gt;Host name
 HostName ip
 User user
 RemoteForward remote-port 127.0.0.1:local-port&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Connect to that host both in VScode AND in the terminal (via &lt;code&gt;ssh name&lt;/code&gt;).
For some reason connecting only in VSCodium (yes, I use VSCodium, not VSCode) was not enough for me. Seems like it's built-in ssh client won't allow &lt;code&gt;RemoteForward&lt;/code&gt; directive.&lt;/li&gt;&lt;li&gt;In VSCode setting set up Proxy &lt;code&gt;http://localhost:remote-port&lt;/code&gt;. Edit -&amp;gt; Preferences -&amp;gt; Settings -&amp;gt; Remote &lt;code&gt;name&lt;/code&gt; -&amp;gt; HTTP Proxy&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Viola. RooCode should access all models and providers via your local proxy now.&lt;/p&gt;</content></entry><entry><title>Fixing unstable connection on AX210 PCI-E network card on Guix System (and other Linux distros)</title><id>https://grigory.tech/posts/fixing-unstable-connection-on-ax210-pci-e-network-card-on-guix-system-and-other-linux-distros.html</id><author><name></name><email>mail@grigory.tech</email></author><updated>2026-02-09T14:00:00Z</updated><link href="https://grigory.tech/posts/fixing-unstable-connection-on-ax210-pci-e-network-card-on-guix-system-and-other-linux-distros.html" rel="alternate" /><content type="html">&lt;p&gt;Recently I've met problem with AX210 wifi pci-e card on my guix system. It was turning off and by itself and sometimes with huge problems.&lt;/p&gt;&lt;p&gt;The solution I came up with is:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Using separated usb dongle for bluetooth (don't use bluetooth from this network card, only wifi)&lt;/li&gt;&lt;li&gt;Block bluetooth via &lt;code&gt;rfkill block bluetooth&lt;/code&gt; at boot (the AX210's BT coex cannot be disabled via driver params and kills wifi packets even with &lt;code&gt;bt_coex_active=0&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;Adding modprobe options to operating-system configuration:&lt;/li&gt;&lt;/ol&gt;&lt;pre&gt;&lt;code class=&quot;language-lisp&quot;&gt;(define str string-append)

(define iwlwifi-modprobe-conf
#| I've had a long-running problem with desktop's network card (AX210)
    It turns off and on automatically.
    Sometimes it won't go back online.
    Root causes: BT coex kills wifi packets, VHT/HE PHY context crashes.
    Use a separate USB dongle for bluetooth, disable everything above 11n:
    1. disable_11ax=Y — disable wifi6/HE (iwlwifi param)
    2. disable_11ac=Y — disable wifi5/VHT, avoids PHY ctxt SYSASSERT (iwlwifi param)
    3. disable_11be=Y — disable wifi7/EHT (iwlwifi param)
    4. power_save=N — disable power_save on driver level (iwlwifi param)
    5. power_scheme=1 — active mode, disable energy saving (iwlmvm param, NOT iwlwifi!) |#
(plain-file &amp;quot;iwlwifi.conf&amp;quot;
            (str &amp;quot;options iwlwifi&amp;quot;
                 &amp;quot; disable_11ax=Y&amp;quot;
                 &amp;quot; disable_11ac=Y&amp;quot;
                 &amp;quot; disable_11be=Y&amp;quot;
                 &amp;quot; power_save=N&amp;quot; &amp;quot;\n&amp;quot;
                 &amp;quot;options iwlmvm&amp;quot;
                 &amp;quot; power_scheme=1&amp;quot; &amp;quot;\n&amp;quot;)))

(define service:etc-modprobe-iwlwifi
    (simple-service 'iwlwifi-modprobe-options
                    etc-service-type
                    `((&amp;quot;modprobe.d/iwlwifi.conf&amp;quot;
                        ,iwlwifi-modprobe-conf))))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For those who don't use guix, add to &lt;code&gt;/etc/modprobe.d/iwlwifi.conf&lt;/code&gt;:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;options iwlwifi disable_11ax=Y disable_11ac=Y disable_11be=Y power_save=N
options iwlmvm power_scheme=1&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then do &lt;code&gt;sudo modprobe -r iwlmvm iwlwifi &amp;amp;&amp;amp; sudo modprobe iwlwifi&lt;/code&gt; or reboot.&lt;/p&gt;&lt;p&gt;Also block bluetooth at boot: &lt;code&gt;rfkill block bluetooth&lt;/code&gt; (add to rc.local or equivalent).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Update 2026-04-28:&lt;/strong&gt; The original post had two bugs:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;power_scheme&lt;/code&gt; is an &lt;code&gt;iwlmvm&lt;/code&gt; parameter, not &lt;code&gt;iwlwifi&lt;/code&gt;. Putting it on the &lt;code&gt;options iwlwifi&lt;/code&gt; line meant it was silently ignored.&lt;/li&gt;&lt;li&gt;&lt;code&gt;bt_coex_active=0&lt;/code&gt; is rejected by the driver for AX210 (&lt;code&gt;iwlmvm doesn't allow to disable BT Coex&lt;/code&gt;). The only way to prevent BT from killing wifi is &lt;code&gt;rfkill block bluetooth&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;&lt;code&gt;disable_11ac=Y&lt;/code&gt; is also needed — without it the card hits &lt;code&gt;ADVANCED_SYSASSERT&lt;/code&gt; and &lt;code&gt;PHY ctxt cmd error&lt;/code&gt; crashes. This limits wifi to 802.11n speeds but the card is stable.&lt;/li&gt;&lt;li&gt;&lt;code&gt;disable_11be=Y&lt;/code&gt; added to also disable wifi7/EHT.&lt;/li&gt;&lt;/ul&gt;</content></entry><entry><title>Clojure Transliteration Using java-iuliia</title><id>https://grigory.tech/posts/clojure-transliteration-with-iuliia.html</id><author><name></name><email>mail@grigory.tech</email></author><updated>2025-11-18T07:30:00Z</updated><link href="https://grigory.tech/posts/clojure-transliteration-with-iuliia.html" rel="alternate" /><content type="html">&lt;p&gt;&lt;a href=&quot;https://iuliia.ru&quot;&gt;iuuliia&lt;/a&gt; — good java transliteration lib.&lt;/p&gt;&lt;p&gt;Add it to project's &lt;code&gt;deps.edn&lt;/code&gt; &lt;code&gt;:deps&lt;/code&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;ru.homyakin/iuliia-java {:mvn/version &amp;quot;2.0.0&amp;quot;}&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;(import
  (ru.homyakin.iuliia Translator)
  (ru.homyakin.iuliia Schemas))

(def translator (new Translator Schemas/MOSMETRO))
(.translate translator &amp;quot;Привет, мир!&amp;quot;) ;; =&amp;gt; &amp;quot;Privet, mir!&amp;quot;&lt;/code&gt;&lt;/pre&gt;</content></entry><entry><title>Preventing loading remote projects in emacs-dashboard (prevent lagging)</title><id>https://grigory.tech/posts/emacs-dashboard-prevent-remote-project-fix.html</id><author><name></name><email>mail@grigory.tech</email></author><updated>2025-05-28T09:50:00Z</updated><link href="https://grigory.tech/posts/emacs-dashboard-prevent-remote-project-fix.html" rel="alternate" /><content type="html">&lt;p&gt;Recently I've had a problem with &lt;code&gt;emacs-dashboard.el&lt;/code&gt;. It lags massively when trying to load remote projects from &lt;code&gt;project.el&lt;/code&gt; + recentf on startup.&lt;/p&gt;&lt;p&gt;Here's a fix (just exclude all remote projects from &lt;code&gt;project.el&lt;/code&gt;):&lt;/p&gt;&lt;pre&gt;&lt;code&gt;;;; dashboard-hacks.el --- Emacs Dashboard Hacks -*- lexical-binding: t; -*-

(require 'project)
;; recentf-keep really accepts list or regexps/functions (predicates)
(setopt recentf-keep (list (lambda (x) (not (file-remote-p x)))))

(defun project-forget-remote-projects ()
 &amp;quot;Forget all remote projects. emacs-dashboard lags massively when trying to display remote projects via project.el&amp;quot;
 (interactive)
 (dolist (proj (project-known-project-roots))
  (unless (file-remote-p proj)
   (project-forget-project proj))))

(advice-add
 'project-forget-remote-projects
 :before
 'project-forget-zombie-projects)

(provide 'dashboard-hacks)&lt;/code&gt;&lt;/pre&gt;</content></entry><entry><title>State of Wayland in Lisps [keeps updating, mtime 09.02.2026]</title><id>https://grigory.tech/posts/wayland-lisps.html</id><author><name></name><email>mail@grigory.tech</email></author><updated>2025-05-15T13:15:00Z</updated><link href="https://grigory.tech/posts/wayland-lisps.html" rel="alternate" /><content type="html">&lt;p&gt;This post was created from my &lt;a href=&quot;https://fosstodon.org/@shegeley/113283596889695651&quot;&gt;Fosstodon publication&lt;/a&gt;.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/guile-wayland/guile-wayland&quot;&gt;guile-wayland, Guile Scheme&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Raw, WIP, really big, has some C incrustations and unreliable: sigsegv sometimes, hard to debug.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://codeberg.org/shegeley/wayland-scm&quot;&gt;★ wayland-scm, Ultimate Scheme - r7rs&lt;/a&gt; [Guile, Guix packed] [Chicken, Gauche — adopters wanted]&lt;/p&gt;&lt;p&gt;Looks very good. Much less code than guile-wayland. Very interesting. Will try it in a couple weeks, probably pack and send patch to guix.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;[upd: 13.11.2025]&lt;/p&gt;&lt;p&gt;Original author (@mal or @kfu) removed or renamed his/her account from codeberg and dissapeared without a notice. I coudn't contact via email. I've adopted this project, implemented missing feature (&amp;quot;new_id&amp;quot; event handing), guix packed, fixed a couple of small bugs.&lt;/p&gt;&lt;p&gt;Please use and report on new problems.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;[upd: 09.02.2026]&lt;/p&gt;&lt;p&gt;Original author contacted me via email and &lt;a href=&quot;https://codeberg.org/lirr-govel&quot;&gt;recovered his account&lt;/a&gt; on codeberg.&lt;/p&gt;&lt;p&gt;In a few letters we came to agreement that I will take on wayland-scm myself and he'll send some MRs when possible but also he decided to continue with scheme wayland experiments.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/acarrico/wayland-protocol&quot;&gt;wayland-protocol, Racket&lt;/a&gt;&lt;/p&gt;&lt;p&gt;~ 5-6 times less code than guile-wayland, no pure C files.
Seems very good although lacks tests and the last commit ~ 8y ago.
Has nix.shell file. Not packed in guix.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/sdilts/cl-wayland&quot;&gt;cl-wayland, Common Lisp&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Polished, tested &amp;amp; well-maintained. Has guix package in upstream.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://sr.ht/~shunter/wayflan&quot;&gt;wayflan, Common Lisp&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Polished, tested &amp;amp; well-maintained. I personaly used it and it was beautiful. Has guix package in upstream. I'm the package author.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr /&gt;&lt;p&gt;Am I missing something? Please &lt;a href=&quot;mailto:shegeley@gmail.com&quot;&gt;tell me&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><title>Hello World (2)</title><id>https://grigory.tech/posts/hello-world-2.html</id><author><name></name><email>mail@grigory.tech</email></author><updated>2022-02-04T11:00:00Z</updated><link href="https://grigory.tech/posts/hello-world-2.html" rel="alternate" /><content type="html">&lt;p&gt;Оживил блог. Работает на лиспе. Сурс-код выглядит примерно &lt;a href=&quot;https://gist.github.com/shegeley/3526e14abb4d55eae34aaee3b236153d&quot;&gt;так&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><title>Вступительное испытание по математике на матмехе СПбГУ для претендентов на перевод из других ВУЗов</title><id>https://grigory.tech/posts/spbsu-mathematics-and-mechanics-faculty-entrance-test.html</id><author><name></name><email>mail@grigory.tech</email></author><updated>2019-08-15T10:15:00Z</updated><link href="https://grigory.tech/posts/spbsu-mathematics-and-mechanics-faculty-entrance-test.html" rel="alternate" /><content type="html">&lt;p&gt;При подготовке к вступительным испытаниям нашел крохи информации об испытаниях прошлых лет. Делюсь. Надеюсь будет полезно.
&lt;a href=&quot;https://www.overleaf.com/read/hmxxrcpgcsxs&quot;&gt;Задания вступительных испытаний&lt;/a&gt;&lt;/p&gt;</content></entry><entry><title>Google Developer Group - Devfest Voronezh 2017</title><id>https://grigory.tech/posts/google-developer-group-devfest-voronezh-2017.html</id><author><name></name><email>mail@grigory.tech</email></author><updated>2017-09-10T23:06:00Z</updated><link href="https://grigory.tech/posts/google-developer-group-devfest-voronezh-2017.html" rel="alternate" /><content type="html">&lt;p&gt;Cъездил на &lt;a href=&quot;https://www.dataart.ru/events/voronezh/gdg-devfest-voronezh-2017/&quot;&gt;GDG DevFest&lt;/a&gt; в Воронеж.&lt;/p&gt;&lt;p&gt;Темы докладов: Android Oreo, IoT, Kotlin, PWA.
Особенно понравилась последняя: доклады про Webassembly и Progressive Web Apps.&lt;/p&gt;&lt;p&gt;Выйграл футболку с лого Kotlin.&lt;/p&gt;</content></entry></feed>