<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>IT guy's blog</title>
<link>https://egor.work/</link>
<description>AI, IT, tech, software development, AI agents</description>
<author></author>
<language>en</language>
<generator>Aegea 11.4 (v4171)</generator>

<itunes:subtitle>AI, IT, tech, software development, AI agents</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>My thoughts about the Junie AI agent</title>
<guid isPermaLink="false">18</guid>
<link>https://egor.work/all/my-thoughts-about-the-junie-ai-agent/</link>
<pubDate>Wed, 23 Jul 2025 14:22:21 +0300</pubDate>
<author></author>
<comments>https://egor.work/all/my-thoughts-about-the-junie-ai-agent/</comments>
<description>
&lt;h2&gt;Supercharging My Development Workflow with AI Agent Junie&lt;/h2&gt;
&lt;p&gt;Over the past few weeks, I’ve been using &lt;a href="https://www.jetbrains.com/junie/"&gt;AI agent Junie&lt;/a&gt;, and I can say — I love it. It’s made my daily development smoother, faster, and far more efficient. Here’s why.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://egor.work/pictures/Screenshot-2025-07-23-at-22.41.26.png" width="1074" height="762" alt="Junie's toolbar inside the IDE" /&gt;
&lt;/div&gt;
&lt;h2&gt;Why I Like It&lt;/h2&gt;
&lt;ol start="1"&gt;
&lt;li&gt;It saves me time.&lt;br /&gt;
Junie allows me to write more code in less time. It helps with code generation and speeds up repetitive tasks — I’m now much more productive.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;It can execute commands and automatically fix issues.&lt;br /&gt;
Junie comes with a built-in command shell. It can run commands, detect errors, and even fix them automatically — no need to leave the terminal or do everything manually.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;It understands my code style.&lt;br /&gt;
One of the best parts is how Junie matches the style of my codebase. It doesn’t just dump generic code — it adapts to how things are already written.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="4"&gt;
&lt;li&gt;It reuses tools I already use.&lt;br /&gt;
Junie recognizes the existing patterns, libraries, and factories in my project. For example, when generating integration tests, it reuses the same tools and setups from other tests. It feels like it knows my project.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="5"&gt;
&lt;li&gt;It writes great tests.&lt;br /&gt;
I now write almost all of my tests using Junie. It’s especially good at generating realistic and complete test cases that fit seamlessly into the existing test suite.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;The Downside&lt;/h2&gt;
&lt;p&gt;The only real drawback is the lack of transparency around credit usage. You don’t get a clear breakdown of how many credits each request consumes or how many you have left. You only get a warning when you’re running low, which can be annoying.&lt;/p&gt;
&lt;h2&gt;Tips &amp; Tricks for Using Junie Effectively&lt;/h2&gt;
&lt;p&gt;Here are a few tricks I’ve discovered that make working with Junie even more effective:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Ask Junie to write code without comments.&lt;br /&gt;
If you prefer clean, uncommented code (especially for production use), just ask Junie explicitly to omit comments. It will follow your instructions precisely.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Provide the full Docker command path when running tests inside the Docker container.&lt;br /&gt;
If your application runs inside Docker, include the full path to your test command (e. g., docker exec app php bin/phpunit). Junie will use it to run tests inside the correct container, avoiding issues with Dockerized services like the database.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;Tell Junie not to mock specific classes.&lt;br /&gt;
If you prefer using real objects instead of mocks for certain parts of your code, simply say so. Junie respects that and will write tests using the actual implementations instead of generating mocks.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Final Thoughts&lt;/h2&gt;
&lt;p&gt;Despite that, I highly recommend trying AI agent Junie, especially for writing tests. It’s become an essential part of my workflow, and I can’t imagine working without it now.&lt;/p&gt;
</description>
</item>

<item>
<title>Fix security check 404 error in your symfony project</title>
<guid isPermaLink="false">17</guid>
<link>https://egor.work/all/automate-security-check-in-your-symfony-project/</link>
<pubDate>Mon, 01 Feb 2021 15:33:01 +0300</pubDate>
<author></author>
<comments>https://egor.work/all/automate-security-check-in-your-symfony-project/</comments>
<description>
&lt;p&gt;The &lt;b&gt;bin/console security:check&lt;/b&gt; was recently shutted down by Symfony stakeholders. If you try to use it you will get an error:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;The web service failed for an unknown reason (HTTP 404).&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now you must checking the project locally with &lt;a href="https://github.com/fabpot/local-php-security-checker"&gt;utility&lt;/a&gt; written by Fabien Potencier.&lt;/p&gt;
&lt;h2&gt;Attention!&lt;/h2&gt;
&lt;h3&gt;My instructions are only suitable for those using docker or linux as a host system.&lt;/h3&gt;
&lt;ol start="1"&gt;
&lt;li&gt;That scripts allows to download latest version of security utility:&lt;/li&gt;
&lt;/ol&gt;
&lt;script src="https://gist.github.com/egorzot/9aebfc8b46508e50310c09fde9498013.js"&gt;&lt;/script&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Script generates “local-php-security-checker” file in project’s root folder. You may run downloaded file directly or add aliases to the composer.json file at “scripts” section:&lt;/li&gt;
&lt;/ol&gt;
&lt;script src="https://gist.github.com/egorzot/220829cf7a2c58302b9f53390dd3c18a.js"&gt;&lt;/script&gt;
&lt;p&gt;Now you able to run security check with 1 line of code&lt;/p&gt;
&lt;script src="https://gist.github.com/egorzot/c8fc012278d56d5dc326e2182119c96d.js"&gt;&lt;/script&gt;
</description>
</item>

<item>
<title>Working with bulma sass variables in vue project</title>
<guid isPermaLink="false">14</guid>
<link>https://egor.work/all/setting-up-bulma-variables-to-vue-config-js/</link>
<pubDate>Mon, 15 Jul 2019 03:42:52 +0300</pubDate>
<author></author>
<comments>https://egor.work/all/setting-up-bulma-variables-to-vue-config-js/</comments>
<description>
&lt;p&gt;To operate with sass variables in vue components you should firstly install node-sass and sass-loader:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;
&lt;code class="console"&gt;
yarn add --dev node-sass sass-loader
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Then in vue.config.js add follows rules:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;module.exports = {
  css: {
    loaderOptions: {
      sass: {
        data: '@import &amp;quot;~bulma/sass/utilities/_all.sass&amp;quot;;'
      }
    }
  }
};&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now you can write something like this:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;
&amp;lt;style lang=&amp;quot;scss&amp;quot;&amp;gt;
html,
body {
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;

  /*all display sizes beginning with tablets*/
  @include from($tablet) {
    display: flex;
  }
}
&amp;lt;/style&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>How to install Telegram X on iPhone and enable MTProto proxy</title>
<guid isPermaLink="false">11</guid>
<link>https://egor.work/all/how-to-install-telegram-x-on-iphone-and-enable-mtproto-proxy/</link>
<pubDate>Thu, 31 May 2018 13:19:17 +0300</pubDate>
<author></author>
<comments>https://egor.work/all/how-to-install-telegram-x-on-iphone-and-enable-mtproto-proxy/</comments>
<description>
&lt;ol start="1"&gt;
&lt;li&gt;Follow &lt;a href="http://telegra.ph/How-to-install-beta-Telegram-for-iOS-11-15"&gt;this instruction&lt;/a&gt; to install Telegram X&lt;/li&gt;
&lt;li&gt;Remove your default Telegram app&lt;/li&gt;
&lt;li&gt;Check &lt;a href="https://t.me/MTProxies"&gt;MTProto Proxy channel&lt;/a&gt; for proxies&lt;/li&gt;
&lt;li&gt;Choose the nearest proxy and connect&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can change proxy settings and switch between proxies via shield button in right corner of Telegram X screen.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://egor.work/pictures/IMG_1365.jpg" width="750" height="172" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://egor.work/pictures/proxies.jpg" width="750" height="956" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;You can get proxy settings from other bots, e. g. &lt;a href="https://t.me/proxy_service_bot"&gt; @proxy_service_bot &lt;/a&gt; provides socks5 proxy.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;UPD 18.06.2020:&lt;/b&gt;&lt;br /&gt;
You can use &lt;a href="tg://proxy?server=vpn.egor.work&amp;port=6161&amp;secret=91705c869d569a476f9da858983eae6d"&gt;this&lt;/a&gt; proxy created by me.&lt;/p&gt;
</description>
</item>

<item>
<title>Install git-flow plugin for zsh</title>
<guid isPermaLink="false">10</guid>
<link>https://egor.work/all/install-git-flow-plugin-for-zsh/</link>
<pubDate>Tue, 15 May 2018 10:08:48 +0300</pubDate>
<author></author>
<comments>https://egor.work/all/install-git-flow-plugin-for-zsh/</comments>
<description>
&lt;p&gt;&lt;a href="https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/git-flow/git-flow.plugin.zsh"&gt;Here is&lt;/a&gt; a great git-flow plugin for zsh. How to install it:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Add plugin file&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;cd $ZSH_CUSTOM &amp;amp;&amp;amp; cd plugins &amp;amp;&amp;amp; mkdir git-flow &amp;amp;&amp;amp; cd git-flow &amp;amp;&amp;amp; wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/plugins/git-flow/git-flow.plugin.zsh&lt;/code&gt;&lt;/pre&gt;&lt;ol start="2"&gt;
&lt;li&gt;Open zsh settings&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;vi ~/.zshrc&lt;/code&gt;&lt;/pre&gt;&lt;ol start="3"&gt;
&lt;li&gt;Add git-flow plugin to your plugins&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;plugins=(git git-flow)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Restart the terminal.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://egor.work/pictures/git-flow.png" width="799" height="294" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Aliases&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;#Alias
alias gfl='git flow'
alias gfli='git flow init'
alias gcd='git checkout develop'
alias gch='git checkout hotfix'
alias gcr='git checkout release'
alias gflf='git flow feature'
alias gflh='git flow hotfix'
alias gflr='git flow release'
alias gflfs='git flow feature start'
alias gflhs='git flow hotfix start'
alias gflrs='git flow release start'
alias gflff='git flow feature finish'
alias gflhf='git flow hotfix finish'
alias gflrf='git flow release finish'
alias gflfp='git flow feature publish'
alias gflhp='git flow hotfix publish'
alias gflrp='git flow release publish'
alias gflfpll='git flow feature pull'&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Awesome script for installing PhpStorm , WebStorm, IntelliJ and other JetBrains products in one line on Ubuntu</title>
<guid isPermaLink="false">9</guid>
<link>https://egor.work/all/awesome-script-for-installing-phpstorm-webstorm-intellij-and-oth/</link>
<pubDate>Mon, 12 Feb 2018 13:36:04 +0300</pubDate>
<author></author>
<comments>https://egor.work/all/awesome-script-for-installing-phpstorm-webstorm-intellij-and-oth/</comments>
<description>
&lt;p&gt;Now you can install JetBrains products in one line on Ubuntu. Thanks to  &lt;a href="https://gist.github.com/zabidok"&gt;zabidok&lt;/a&gt;.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Download &lt;a href="https://egor.work/files/jb_install_update.sh"&gt;jb_install_update.sh&lt;/a&gt; script&lt;/li&gt;
&lt;li&gt;Set permissions to execute for this file&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;chmod +x jb_install_update.sh&lt;/code&gt;&lt;/pre&gt;&lt;ol start="3"&gt;
&lt;li&gt;Run script&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo  ./jb_install_update.sh&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>How to switch from bash to zsh with Terminator and PhpStorm</title>
<guid isPermaLink="false">2</guid>
<link>https://egor.work/all/how-to-switch-to-zsh-with-termanator-and-phpstorm/</link>
<pubDate>Wed, 08 Nov 2017 19:12:47 +0300</pubDate>
<author></author>
<comments>https://egor.work/all/how-to-switch-to-zsh-with-termanator-and-phpstorm/</comments>
<description>
&lt;p&gt;Аs the main OS I use Ubuntu with bash. I wanted to change default Unix shell bash to &lt;a href="http://www.zsh.org/"&gt;zsh&lt;/a&gt;. Zsh is like bash but with &lt;s&gt;blackjack and hookers&lt;/s&gt; improvements and new features.&lt;/p&gt;
&lt;p&gt;Here is &lt;a href="https://gist.github.com/renshuki/3cf3de6e7f00fa7e744a"&gt;gist&lt;/a&gt; file from &lt;a href="https://gist.github.com/renshuki"&gt;renshuki&lt;/a&gt; that I google. It installs &lt;a href="http://www.linuxandubuntu.com/home/terminator-a-linux-terminal-emulator-with-multiple-terminals-in-one-window"&gt;Terminator&lt;/a&gt;, zsh and Agnoster Theme for zsh.&lt;/p&gt;
&lt;h2&gt;Install Terminator (shell)&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;
sudo add-apt-repository ppa:gnome-terminator
sudo apt-get update
sudo apt-get install terminator
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Terminator should be setup as default now. Restart your terminal (shortcut: “Ctrl+Alt+T”).&lt;/p&gt;
&lt;h2&gt;Install ZSH&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;
sudo apt-get install zsh
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Restart your terminal. Choose option 2 for Z Shell configuration.&lt;br /&gt;
Don’t forget to migrate your previous configurations (RVM, Rbenv...) from .bashrc to .zshrc&lt;/p&gt;
&lt;h2&gt;Install Oh My ZSH&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;
cd
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
&lt;/code&gt;
&lt;/pre&gt;
&lt;h2&gt;Setup missing fonts (powerline)&lt;/h2&gt;
&lt;h3&gt;Install powerline font&lt;/h3&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;
cd
wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf
mv PowerlineSymbols.otf ~/.fonts/
mkdir -p .config/fontconfig/conf.d #if directory doesn't exists
&lt;/code&gt;
&lt;/pre&gt;
&lt;h3&gt;Clean fonts cache&lt;/h3&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;fc-cache -vf ~/.fonts/&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;Move config file&lt;/h3&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;
mv 10-powerline-symbols.conf ~/.config/fontconfig/conf.d/
&lt;/code&gt;
&lt;/pre&gt;
&lt;h2&gt;Configure ZSH&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;
vim ~/.zshrc
&lt;/code&gt;
&lt;/pre&gt;
&lt;h2&gt;Theme&lt;/h2&gt;
&lt;p&gt;Change [ZSH_THEME=“robbyrussell”] to [ZSH_THEME=“agnoster”]&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ZSH_THEME=&amp;quot;agnoster&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;Change theme colors to solarize&lt;/h3&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;dconf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;is required if you don’t already have it.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;
sudo apt-get install dconf-cli
git clone git://github.com/sigurdga/gnome-terminal-colors-solarized.git ~/.solarized
cd ~/.solarized
./install.sh
&lt;/code&gt;
&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;I recommend you option 1 (dark theme) which is just great.&lt;/li&gt;
&lt;li&gt;Choose option 1 to download seebi’ dircolors-solarized&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After installation, open .zshrc and add the line:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;eval `dircolors ~/.dir_colors/dircolors`&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To activate dark solarize theme in Terminator just right click on the terminal,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Preferences&gt;Profiles&gt;Colors&gt;Foreground and Background&gt;Built-in schemes: Solarized dark&lt;br /&gt;
Preferences&gt;Profiles&gt;Colors&gt;Palette&gt;Built-in schemes: Solarized&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;b&gt;Restart Terminator and you’re done!&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://egor.work/pictures/zsh.png" width="759" height="157" alt="" /&gt;
&lt;/div&gt;
&lt;h2&gt;Enable zsh in PhpStorm&lt;/h2&gt;
&lt;p&gt;Go to the&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;File&gt;Settings&gt;Tools&gt;Terminal&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and set Shell path to the /usr/bin/zsh:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://egor.work/pictures/zsh-phpstorm.png" width="528" height="297" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;That’s it!&lt;/p&gt;
&lt;p&gt;phpstorm-zsh2.pngg&lt;/p&gt;
</description>
</item>


</channel>
</rss>