[{"content":"","date":null,"permalink":"https://leonidboykov.com/tags/disable-ai/","section":"Tags","summary":"","title":"Disable-Ai"},{"content":"I use Visual Studio Code as my primary editor, but I like Zed editor because it\u0026rsquo;s simple and fast. The only concern is the LLM bloat, which I\u0026rsquo;d like to disable to make it a perfect file editor.\nCheck out a related article for Visual Studio Code. Update 2025-08-10 #Great news, Zed authors now allow to use a one liner to disable AI features\n\u0026#34;disable_ai\u0026#34;: true I don\u0026rsquo;t know if it is a bug, but \u0026ldquo;Inline Assist\u0026rdquo; button is still present in a Terminal Panel. You have to explicitly disable agent to hide this button:\n\u0026#34;agent\u0026#34;: { \u0026#34;enabled\u0026#34;: false } Old configutation #To disable all AI stuff I use this configuration:\n\u0026#34;assistant\u0026#34;: { \u0026#34;enabled\u0026#34;: false, \u0026#34;button\u0026#34;: false, \u0026#34;version\u0026#34;: \u0026#34;2\u0026#34; }, \u0026#34;features\u0026#34;: { \u0026#34;edit_prediction_provider\u0026#34;: \u0026#34;none\u0026#34;, \u0026#34;copilot\u0026#34;: false }, \u0026#34;chat_panel\u0026#34;: { \u0026#34;button\u0026#34;: \u0026#34;never\u0026#34; } I\u0026rsquo;m sure this configuration may become outdated, so I\u0026rsquo;ll try to maintain it as long as I use Zed editor.\n","date":"9 May 2025","permalink":"https://leonidboykov.com/how-to-disable-all-ai-stuff-in-zed/","section":"Blog","summary":"\u003cp\u003eI use Visual Studio Code as my primary editor, but I like \u003ca href=\"https://zed.dev/\" target=\"_blank\" rel=\"noreferrer\"\u003eZed\u003c/a\u003e editor because it\u0026rsquo;s simple and fast. The only concern is\nthe LLM bloat, which I\u0026rsquo;d like to disable to make it a perfect file editor.\u003c/p\u003e\n\u003cdiv class=\"flex rounded-md bg-primary-100 px-4 py-3 dark:bg-primary-900\"\u003e\n  \u003cspan class=\"pe-3 text-primary-400\"\u003e\n    \u003cspan class=\"icon relative inline-block px-1 align-text-bottom\"\u003e\u003csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"\u003e\u003cpath fill=\"currentColor\" d=\"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z\"/\u003e\u003c/svg\u003e\n\u003c/span\u003e\n  \u003c/span\u003e\n  \u003cspan class=\"dark:text-neutral-300\"\u003eCheck out a \u003ca href=\"/how-to-disable-all-ai-stuff-in-visual-studio-code/\"\u003erelated article for Visual Studio Code\u003c/a\u003e.\u003c/span\u003e\n\u003c/div\u003e\n\n\u003ch2 id=\"update-2025-08-10\" class=\"relative group\"\u003eUpdate 2025-08-10 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#update-2025-08-10\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003eGreat news, Zed authors now allow to use a one liner to disable AI features\u003c/p\u003e","title":"How to disable all AI stuff in Zed"},{"content":"","date":null,"permalink":"https://leonidboykov.com/","section":"Leonid Boykov","summary":"","title":"Leonid Boykov"},{"content":"","date":null,"permalink":"https://leonidboykov.com/tags/","section":"Tags","summary":"","title":"Tags"},{"content":"","date":null,"permalink":"https://leonidboykov.com/tags/zed/","section":"Tags","summary":"","title":"Zed"},{"content":"If you have found this article, you already know that Copilot bloatware has been integrated into Visual Studio Code. While we all believe that giant companies waste their money for the sake of humanity and have no interest in your data, I (and perhaps you) still find it much easier to write my code by myself than engage in continuous code reviewing of hallucinating LLM.\nWith all being said, I want to share my configuration that I use to disable AI-related stuff in Visual Studio Code. I assume the configuration may become obsolete in time, so I\u0026rsquo;ll try to update this article to reflect the latest changes in VS Code.\nCheck out a related article for Zed editor. Chat (Copilot) #We will start with opening command palette via ⌘ Cmd+⇧ Shift+P (Ctrl+Shift+P on Windows) and selecting Preferences: Open Workspace Settings (JSON).\nNext lines will disable \u0026ldquo;Chat\u0026rdquo; (aka Copilot) features:\n\u0026#34;chat.agent.enabled\u0026#34;: false, \u0026#34;chat.commandCenter.enabled\u0026#34;: false, \u0026#34;inlineChat.accessibleDiffView\u0026#34;: \u0026#34;off\u0026#34;, \u0026#34;terminal.integrated.initialHint\u0026#34;: false Keybindings #You may also want to disable keybindings as well. Again, use the command pallete and select Preferences: Open Keyboard Shortcuts. You have to search all commands by the keyword \u0026ldquo;chat\u0026rdquo; and disable anything suspicious.\nGitLab Workflow extension #If you use GitLab Workflow extension, you may know about their own invention brought to use by their caring marketing department. With this snippet, you can disable Duo (but not the green owl) as well:\n\u0026#34;gitlab.duoChat.enabled\u0026#34;: false, Afterwords #If you like to use LLMs and think that this technology makes you more efficient, fine. Just remember that everything you produce within your code editor is done by you, and all mistakes done by LLMs are yours as well. Nobody but you are responsible to check LLM\u0026rsquo;s output, be respectful to your colleagues, please.\n","date":"9 May 2025","permalink":"https://leonidboykov.com/how-to-disable-all-ai-stuff-in-visual-studio-code/","section":"Blog","summary":"\u003cp\u003eIf you have found this article, you already know that Copilot bloatware has been integrated into Visual Studio Code.\nWhile we all believe that giant companies waste their money for the sake of humanity and have no interest in your data,\nI (and perhaps you) still find it much easier to write my code by myself than engage in continuous code reviewing of\nhallucinating LLM.\u003c/p\u003e\n\u003cp\u003eWith all being said, I want to share my configuration that I use to disable AI-related stuff in Visual Studio Code. I\nassume the configuration may become obsolete in time, so I\u0026rsquo;ll try to update this article to reflect the latest changes\nin VS Code.\u003c/p\u003e","title":"How to disable all AI stuff in Visual Studio Code"},{"content":"","date":null,"permalink":"https://leonidboykov.com/tags/vscode/","section":"Tags","summary":"","title":"Vscode"},{"content":"Font ligatures are disabled by default in Material for MkDocs, but enabling them is very simple and straightforward. To get started, you must first select a font that supports ligatures, such as \u0026ldquo;Fira Code\u0026rdquo; or \u0026ldquo;JetBrains Mono\u0026rdquo;. Then, add the following code to mkdocs.yml in order to set the font:\ntheme: font: code: JetBrains Mono If you need more information on changing fonts, you can refer to the documentation.\nTo enable ligatures, the following code should be added to you extra stylesheet file, for example docs/stylesheets/extra.css:\n.md-typeset code, .md-typeset kbd, .md-typeset pre { font-feature-settings: \u0026#34;kern\u0026#34;, \u0026#34;liga\u0026#34;; font-variant-ligatures: normal; } Finally, you must enable the extra CSS in mkdocs.yml in order for the ligatures to be applied properly:\nextra_css: - stylesheets/extra.css Once this is done, all of your snippets will be enabled with ligatures. This is a great way to make your code snippets more visually appealing and easier to read.\n","date":"14 Feb 2023","permalink":"https://leonidboykov.com/enable-font-ligatures-in-mkdocs-material/","section":"Blog","summary":"\u003cp\u003eFont ligatures are disabled by default in \u003ca href=\"https://squidfunk.github.io/mkdocs-material/\" target=\"_blank\" rel=\"noreferrer\"\u003eMaterial for MkDocs\u003c/a\u003e, but enabling them is very simple and straightforward.\nTo get started, you must first select a font that supports ligatures, such as \u0026ldquo;Fira Code\u0026rdquo; or \u0026ldquo;JetBrains Mono\u0026rdquo;. Then, add\nthe following code to \u003ccode\u003emkdocs.yml\u003c/code\u003e in order to set the font:\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003etheme\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003efont\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003ecode\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eJetBrains Mono\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eIf you need more information on changing fonts, you can refer to the \u003ca href=\"https://squidfunk.github.io/mkdocs-material/setup/changing-the-fonts/?h=font#monospaced-font\" target=\"_blank\" rel=\"noreferrer\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eTo enable ligatures, the following code should be added to you extra stylesheet file, for example\n\u003ccode\u003edocs/stylesheets/extra.css\u003c/code\u003e:\u003c/p\u003e","title":"Enable Font Ligatures in MkDocs Material"},{"content":"","date":null,"permalink":"https://leonidboykov.com/tags/mkdocs/","section":"Tags","summary":"","title":"Mkdocs"},{"content":" I\u0026rsquo;ve used to work with Qt on my previous job, but currently I am not. But I\u0026rsquo;ve used this hack in a production code, and it was a big time saver. Qt provides a nice feature to style all Qt Widgets with QSS. Just a simple CSS2 subset used to style all components: labels, buttons, sliders, tables, etc. Here is an example from the official documentation:\nQPushButton, QLineEdit, QComboBox { color: red; background-color: white; } This snippet will style all QPushButton, QLineEdit, and QComboBox components on all forms reusing the stylesheet. There is always a way to provide style for an element by its ID:\nQPushButton#okButton { color: gray; } There are many situations when you need to provide styles for a group of objects. For example, you may want to style all warning buttons without any class inheritance. And actually, there is undocumented support for classes with dynamic properties in source code. For example, you may define the warning class\n.warning { background-color: coral; } and set it as a class property to any object to obtain coral background:\nbtn-\u0026gt;setProperty(\u0026#34;class\u0026#34;, \u0026#34;warning\u0026#34;); You may also use multiple classes by separating them with spaces.\nTime to bring Bootstrap to Qt? 😃\n","date":"3 Jan 2023","permalink":"https://leonidboykov.com/classes-in-qt-stylesheets-qss/","section":"Blog","summary":"\u003cdiv class=\"flex rounded-md bg-primary-100 px-4 py-3 dark:bg-primary-900\"\u003e\n  \u003cspan class=\"pe-3 text-primary-400\"\u003e\n    \u003cspan class=\"icon relative inline-block px-1 align-text-bottom\"\u003e\u003csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"\u003e\u003cpath fill=\"currentColor\" d=\"M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z\"/\u003e\u003c/svg\u003e\n\u003c/span\u003e\n  \u003c/span\u003e\n  \u003cspan class=\"dark:text-neutral-300\"\u003eI\u0026rsquo;ve used to work with Qt on my previous job, but currently I am not. But I\u0026rsquo;ve\nused this hack in a production code, and it was a big time saver.\u003c/span\u003e\n\u003c/div\u003e\n\n\u003cp\u003e\u003ca href=\"https://www.qt.io/\" target=\"_blank\" rel=\"noreferrer\"\u003eQt\u003c/a\u003e provides a nice feature to style all Qt Widgets with \u003ca href=\"https://doc.qt.io/qt-6/stylesheet-syntax.html\" target=\"_blank\" rel=\"noreferrer\"\u003eQSS\u003c/a\u003e. Just a simple\nCSS2 subset used to style all components: labels, buttons, sliders, tables, etc.\nHere is an example from the official documentation:\u003c/p\u003e","title":"Classes in Qt Stylesheets (QSS)"},{"content":"","date":null,"permalink":"https://leonidboykov.com/tags/qss/","section":"Tags","summary":"","title":"Qss"},{"content":"","date":null,"permalink":"https://leonidboykov.com/tags/qt/","section":"Tags","summary":"","title":"Qt"},{"content":" Don\u0026rsquo;t regret the past, learn from it\u0026hellip; Regrets only make a person weaker.\n— Solid Snake I was born in Saint Petersburg, Russia. I studied computer science at Saint-Petersburg State Polytechnic University.\nExperience #I am currently working as a software developer at Adsterra, remotely from Israel.\nRather than duplicate my experience here, my full professional experience can be found on LinkedIn.\nIn my spare time, I am over-engineering my home server and trying some stuff I\u0026rsquo;m find interesting, like game and web development.\nSkills #Programming languages #Go • C++ • JavaScript • Python • Lua\nFrameworks #React • Vue • Qt\nGamedev #Godot • Unity • Gideros • Love2D • Defold\nOperating Systems #MacOS • Ubuntu • Alpine • Windows, Steam Deck for gaming\nAutomation Tools #Ansible • Terraform • Taskfile\nEvent Streaming #Kafka\nMonitoring #Prometheus • Grafana • Kibana • Loki\nDatabase #Postgres • ClickHouse • Couchbase • MongoDB • Scylla • Redis\nOther Tools #Docker • Docker Swarm • Kubernetes • Git • Makefiles • VS Code\n","date":"10 Sep 2017","permalink":"https://leonidboykov.com/about/","section":"Leonid Boykov","summary":"\u003cblockquote\u003e\n\u003cp\u003eDon\u0026rsquo;t regret the past, learn from it\u0026hellip; Regrets only make a person weaker.\u003c/p\u003e\n\u003cfooter\u003e— Solid Snake\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eI was born in Saint Petersburg, Russia. I studied computer science at\nSaint-Petersburg State Polytechnic University.\u003c/p\u003e\n\u003ch3 id=\"experience\" class=\"relative group\"\u003eExperience \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#experience\" aria-label=\"Anchor\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h3\u003e\u003cp\u003eI am currently working as a software developer at\n\u003ca href=\"https://www.linkedin.com/company/adsterra/\" target=\"_blank\" rel=\"noreferrer\"\u003eAdsterra\u003c/a\u003e, remotely from Israel.\u003c/p\u003e\n\u003cp\u003eRather than duplicate my experience here, my full professional experience can be\nfound on \u003ca href=\"https://www.linkedin.com/in/leonidboykov/\" target=\"_blank\" rel=\"noreferrer\"\u003eLinkedIn\u003c/a\u003e.\u003c/p\u003e","title":"About"},{"content":" Update [2017-09-10]: This website is deploys by Netlify. This post contains old pipeline for deploying my static site. This website is powered by Hugo static site generator and hosted by Github Pages.\nRepository with the name username.github.io uses master branch as website content. You can also provide a Jekyll-based website to master branch, but I prefer to use the Hugo, due to its performance and features. Also, I like to keep both source and generated code in same repository in different branches. For example, the source code of this site is stored in source branch.\nHere is the source of .travis-ci.yml file that I used to build website from source branch and push it to master.\nlanguage: go go: 1.9 branches: only: # Edit this line if your upstream branch is not `source`. - source before_install: # You can\u0026#39;t push any changes without providing user.name and user.email to git. - git config user.name \u0026#34;${GIT_NAME}\u0026#34; - git config user.email \u0026#34;${GIT_EMAIL}\u0026#34; install: # Get Hugo from master branch, or download latest hugo.deb package from the # Releases tab. - go get github.com/gohugoio/hugo before_script: # Clone old site files and remove them entirely. This step would save the # history, so you wouldn\u0026#39;t get any history-related issues if you would like # to host your master branch via Caddy http.git plugin or something simular. - git clone --depth 1 https://github.com/${GITHUB_USER}/${GITHUB_REPO}.git --branch ${TARGET_BRANCH} --single-branch public - cd public \u0026amp;\u0026amp; git rm -rf . \u0026amp;\u0026amp; cd .. script: # You have to clone a theme if you cloned it to themes folder before. # - git clone \u0026lt;theme_repo\u0026gt; themes/\u0026lt;theme_name\u0026gt; # Otherwise you may want to add submodule with command: # git submodule add \u0026lt;theme_repo\u0026gt; themes/\u0026lt;theme_name\u0026gt; # and skip clone step entirely. - hugo after_success: - cd public - git add --all - git commit -m \u0026#34;Generated Hugo Site by Travis CI [Build#${TRAVIS_BUILD_NUMBER}]\u0026#34; # Don\u0026#39;t forget to use --quiet flag, you don\u0026#39;t want to expose your credentials # to Travis\u0026#39; console. - git push --quiet \u0026#34;https://${GITHUB_TOKEN}@github.com/${GITHUB_USER}/${GITHUB_REPO}.git\u0026#34; ${TARGET_BRANCH} env: global: - GIT_NAME: \u0026#34;Travis CI\u0026#34; - GITHUB_USER: username - GITHUB_REPO: github_repo - TARGET_BRANCH: master GIT_EMAIL and GITHUB_TOKEN specified as private variables. The easest way is to use the Repository Settings.\n","date":"10 May 2017","permalink":"https://leonidboykov.com/deploy-hugo-site-to-github-pages-with-travis-ci/","section":"Blog","summary":"\u003cdiv class=\"flex rounded-md bg-primary-100 px-4 py-3 dark:bg-primary-900\"\u003e\n  \u003cspan class=\"pe-3 text-primary-400\"\u003e\n    \u003cspan class=\"icon relative inline-block px-1 align-text-bottom\"\u003e\u003csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"\u003e\u003cpath fill=\"currentColor\" d=\"M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z\"/\u003e\u003c/svg\u003e\n\u003c/span\u003e\n  \u003c/span\u003e\n  \u003cspan class=\"dark:text-neutral-300\"\u003e\u003cstrong\u003eUpdate [2017-09-10]:\u003c/strong\u003e This website is deploys by\n\u003ca href=\"https://www.netlify.com\" target=\"_blank\" rel=\"noreferrer\"\u003eNetlify\u003c/a\u003e. This post contains old pipeline for\ndeploying my static site.\u003c/span\u003e\n\u003c/div\u003e\n\n\u003cp\u003e\u003cdel\u003eThis website is powered by Hugo static site generator and hosted by Github\nPages.\u003c/del\u003e\u003c/p\u003e","title":"Deploy Hugo site to Github Pages with Travis CI"},{"content":"","date":null,"permalink":"https://leonidboykov.com/tags/hugo/","section":"Tags","summary":"","title":"Hugo"},{"content":"After years of laziness I decided to update my blog. I migrated to Hugo from Jekyll and it\u0026rsquo;s awesome! Moreover, Hugo fits amazingly to my recent work with the laboratory website, that I created before.\nThis post was edited with Forestry.\n","date":"6 Feb 2017","permalink":"https://leonidboykov.com/hey-there-a-new-hugo-website/","section":"Blog","summary":"\u003cp\u003eAfter years of laziness I decided to update my blog. I migrated to\n\u003ca href=\"https://gohugo.io/\" target=\"_blank\" rel=\"noreferrer\"\u003eHugo\u003c/a\u003e from Jekyll and it\u0026rsquo;s awesome! Moreover, Hugo fits\namazingly to my recent work with the laboratory website, that I created before.\u003c/p\u003e\n\u003cp\u003eThis post was edited with \u003ca href=\"https://forestry.io\" target=\"_blank\" rel=\"noreferrer\"\u003eForestry\u003c/a\u003e.\u003c/p\u003e","title":"Hey There, a New Hugo Website!"},{"content":" My thoughts, ideas and experiences with the things I find interesting ","date":null,"permalink":"https://leonidboykov.com/posts/","section":"Blog","summary":"\u003cdiv class=\"lead !mb-9 text-xl\"\u003e\n  My thoughts, ideas and experiences with the things I find interesting\n\u003c/div\u003e","title":"Blog"},{"content":"","date":null,"permalink":"https://leonidboykov.com/categories/","section":"Categories","summary":"","title":"Categories"},{"content":" Some of my projects ","date":null,"permalink":"https://leonidboykov.com/projects/","section":"Projects","summary":"\u003cdiv class=\"lead !mb-9 text-xl\"\u003e\n  Some of my projects\n\u003c/div\u003e","title":"Projects"}]