<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Konstantin Filtschew</title>
    <description>The latest articles on DEV Community by Konstantin Filtschew (@fa11enangel).</description>
    <link>https://dev.to/fa11enangel</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F974387%2F8dfceec7-a6e2-476e-aa28-1da09d725e15.jpeg</url>
      <title>DEV Community: Konstantin Filtschew</title>
      <link>https://dev.to/fa11enangel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fa11enangel"/>
    <language>en</language>
    <item>
      <title>Deploy Vaultwarden Password Manager to Dokku Micro PaaS</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Sat, 28 Dec 2024 16:36:20 +0000</pubDate>
      <link>https://dev.to/fa11enangel/deploy-vaultwarden-password-manager-to-dokku-micro-paas-37f2</link>
      <guid>https://dev.to/fa11enangel/deploy-vaultwarden-password-manager-to-dokku-micro-paas-37f2</guid>
      <description>&lt;p&gt;Having an easy to use password manager using an existing Dokku setup is a great way to keep your passwords secure. In this post, I will show you how to deploy Vaultwarden Password Manager to Dokku Micro PaaS using a Dockerfile. Including DB setup, SSL and backup.&lt;/p&gt;

&lt;p&gt;Check it on &lt;a href="https://qameta.com/posts/deploy-vaultwarden-password-manager-to-dokku-micro-paas/" rel="noopener noreferrer"&gt;https://qameta.com/posts/deploy-vaultwarden-password-manager-to-dokku-micro-paas/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>security</category>
      <category>howto</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Identify unused Routes in Ruby on Rails before Rails 7.1 and with 7.1</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Tue, 21 May 2024 14:47:18 +0000</pubDate>
      <link>https://dev.to/fa11enangel/identify-unused-routes-in-ruby-on-rails-before-rails-71-and-with-71-493k</link>
      <guid>https://dev.to/fa11enangel/identify-unused-routes-in-ruby-on-rails-before-rails-71-and-with-71-493k</guid>
      <description>&lt;p&gt;Identify unused Routes in Ruby on Rails before Rails 7.1 and with 7.1&lt;/p&gt;

&lt;p&gt;There are some things that can't be found and you have to know why. See my post &lt;a href="https://qameta.com/posts/identify-unused-routes-in-ruby-on-rails/"&gt;Identify unused Routes in Ruby on Rails before Rails 7.1 and with 7.1&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>rails</category>
      <category>webdev</category>
      <category>ruby</category>
    </item>
    <item>
      <title>Use Geocoder and Maxmind DB to Geocode IP Addresses</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Wed, 29 Nov 2023 09:51:53 +0000</pubDate>
      <link>https://dev.to/fa11enangel/use-geocoder-and-maxmind-db-to-geocode-ip-addresses-10cl</link>
      <guid>https://dev.to/fa11enangel/use-geocoder-and-maxmind-db-to-geocode-ip-addresses-10cl</guid>
      <description>&lt;p&gt;How do use IP addresses in your Ruby on Rails applications? I use it to analyze attacks and find malicious networks, I can block by default.&lt;/p&gt;

&lt;p&gt;Check how to use Geocoder and Maxmind DB to Geocode IP Addresses in Ruby on Rails. &lt;a href="//qameta.com%20Use%20Geocoder%20and%20Maxmind%20DB%20to%20Geocode%20IP%20Addresses"&gt;https://qameta.com/posts/use-geocoder-and-maxmind-db-to-geocode-ip-addresses/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rails</category>
      <category>webdev</category>
      <category>geocode</category>
      <category>ruby</category>
    </item>
    <item>
      <title>Default URL Options in Ruby on Rails</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Mon, 04 Sep 2023 07:15:01 +0000</pubDate>
      <link>https://dev.to/fa11enangel/default-url-options-in-ruby-on-rails-29b9</link>
      <guid>https://dev.to/fa11enangel/default-url-options-in-ruby-on-rails-29b9</guid>
      <description>&lt;p&gt;Like most Ruby developers you have to set a &lt;strong&gt;default_url_options&lt;/strong&gt; on a Ruby on Rails project. Depending on the use case you have to set several of them with different values.&lt;/p&gt;

&lt;p&gt;The name of the method default_url_options is the same, but it is used in different contexts (controller, nail, or file storage), it may be confusing and can even have side effects for your project you have to figure out yourself. Depending on the value you set, they may be reused in other contexts like ActiveStorage, ActionMail, and third-party gems like devise. I couldn’t find any official documentation for the most common cases (web, mail, file storage, test), I’ve written one.&lt;/p&gt;

&lt;p&gt;Read the whole post on my site: &lt;a href="https://qameta.com/posts/default-url-options-in-ruby-on-rails/"&gt;Default URL Options in Ruby on Rails&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rails</category>
      <category>ruby</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Analyzing SassC::SyntaxError in Ruby on Rails 7.0</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Thu, 29 Jun 2023 13:24:11 +0000</pubDate>
      <link>https://dev.to/fa11enangel/analyzing-sasscsyntaxerror-in-ruby-on-rails-70-4ino</link>
      <guid>https://dev.to/fa11enangel/analyzing-sasscsyntaxerror-in-ruby-on-rails-70-4ino</guid>
      <description>&lt;p&gt;I was running a up to date Ruby on Rails 7.0 project using cssbundling-rails. The project was in production for several months. After pushing the code to Continuous Integration (CI) using GitHub Actions it failed with an error:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sass ./app/assets/stylesheets/application.bootstrap.scss:./app/assets/builds/application.css --no-source-map --load-path=node_modules
Done in 3.38s.
rails aborted!
SassC::SyntaxError: Error: "var(--ts-pr-min)" is not a number for `max'
        on line 18581:18 of stdin, in function `max`
        from line 18581:18 of stdin
&amp;gt;&amp;gt;   padding-right: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-
   -----------------^
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It was not failing on development machine. What was wrong?&lt;/p&gt;

&lt;p&gt;Keep on reading &lt;a href="https://qameta.com/posts/analyzing-sassc-syntax-error-in-ruby-on-rails-7-0/"&gt;Analyzing SassC::SyntaxError in Ruby on Rails 7.0&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>sass</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Deploy Ruby on Rails 7.0 to Dokku micro PaaS</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Thu, 22 Jun 2023 16:27:10 +0000</pubDate>
      <link>https://dev.to/fa11enangel/deploy-ruby-on-rails-70-to-dokku-micro-paas-34i7</link>
      <guid>https://dev.to/fa11enangel/deploy-ruby-on-rails-70-to-dokku-micro-paas-34i7</guid>
      <description>&lt;p&gt;Who is using Dokku? Who is not using it for a good reason?&lt;/p&gt;

&lt;p&gt;I've written a tutorial how to test/use it for production deployment: &lt;a href="https://qameta.com/posts/deploy-rails-7-0-to-dokku-micro-paas/"&gt;https://qameta.com/posts/deploy-rails-7-0-to-dokku-micro-paas/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rails</category>
      <category>dokku</category>
      <category>docker</category>
      <category>ruby</category>
    </item>
    <item>
      <title>Fixing require LoadError as an example for the matrix gem</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Thu, 15 Jun 2023 15:13:13 +0000</pubDate>
      <link>https://dev.to/fa11enangel/fixing-require-loaderror-as-an-example-for-the-matrix-gem-3anc</link>
      <guid>https://dev.to/fa11enangel/fixing-require-loaderror-as-an-example-for-the-matrix-gem-3anc</guid>
      <description>&lt;p&gt;Some gems like matrix or rexml were added at some point to ruby becoming so-called default gems. But they may be removed from being default in newer ruby versions, resulting in broken builds like for us with prawn.&lt;/p&gt;

&lt;p&gt;In most such cases it is the best to update the used gem (for us prawn) to a newer version, which defines the missing gem as required for this specific ruby version.&lt;/p&gt;

&lt;p&gt;Read the full article here at qameta.com: &lt;a href="https://qameta.com/posts/fixing-require-loaderror-as-example-for-matrix-gem/"&gt;Fixing require LoadError as an example for the matrix gem&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>pdf</category>
    </item>
    <item>
      <title>Fix Flaky Rails System Tests caused by slow scrolling or animations</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Fri, 03 Mar 2023 13:40:31 +0000</pubDate>
      <link>https://dev.to/fa11enangel/fix-flaky-rails-system-tests-caused-by-slow-scrolling-or-animations-2e91</link>
      <guid>https://dev.to/fa11enangel/fix-flaky-rails-system-tests-caused-by-slow-scrolling-or-animations-2e91</guid>
      <description>&lt;p&gt;Flakiness on browser-based system tests (integration tests) in Ruby on Rails may have a lot of different reasons. One is scrolling, which may be slowed down by browser setup (smooth scrolling), JavaScript callbacks which result in some kind of events like for animations, etc.&lt;/p&gt;

&lt;p&gt;Such problems are not Ruby on Rails related and even not a programming language. They are mostly not related to a single browser like Google Chrome, Chromium, and Firefox only. They are also not browser driver specific like Selenium or Cuprite. Let’s dive in and check, how to analyze them, and figure out and try fix such problems.&lt;/p&gt;

&lt;p&gt;Read the full article here at qameta.com: &lt;a href="https://qameta.com/posts/fix-flaky-rails-system-tests-caused-by-slow-scrolling-or-animations/"&gt;Fix Flaky Rails System Tests caused by slow scrolling or animations&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rails</category>
      <category>ruby</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Howto migrate from Webpacker to cssbundling-rails in Ruby on Rails for CSS</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Thu, 23 Feb 2023 12:54:08 +0000</pubDate>
      <link>https://dev.to/fa11enangel/howto-migrate-from-webpacker-to-cssbundling-rails-in-ruby-on-rails-for-css-3dll</link>
      <guid>https://dev.to/fa11enangel/howto-migrate-from-webpacker-to-cssbundling-rails-in-ruby-on-rails-for-css-3dll</guid>
      <description>&lt;p&gt;A lot of Ruby on Rails applications created with Ruby on Rails version 5.x or 6.x or even upgraded from the previous versions are using webpacker as their primary asset pipeline. But now as webpacker has retired, it is time to move on. cssbundling-rails is or will be the most obvious step to go.&lt;/p&gt;

&lt;p&gt;If you were using webpack(er) for CSS too as I did, I recommend moving your CSS pipeline to an alternative before moving your JavaScript setup to an alternative like jsbundling-rails or importmap-rails.&lt;/p&gt;

&lt;p&gt;Read the full tutorial at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://qameta.com/posts/howto-migrate-from-webpacker-to-cssbundling-rails-in-ruby-on-rails/"&gt;Howto migrate from Webpacker to cssbundling-rails in Ruby on Rails for CSS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ruby</category>
      <category>css</category>
      <category>webpack</category>
      <category>rails</category>
    </item>
    <item>
      <title>Howto migrate from Webpacker to jsbundling-rails in Ruby on Rails</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Thu, 23 Feb 2023 12:18:18 +0000</pubDate>
      <link>https://dev.to/fa11enangel/howto-migrate-from-webpacker-to-jsbundling-rails-in-ruby-on-rails-3gef</link>
      <guid>https://dev.to/fa11enangel/howto-migrate-from-webpacker-to-jsbundling-rails-in-ruby-on-rails-3gef</guid>
      <description>&lt;p&gt;A lot of Ruby on Rails applications created with Ruby on Rails version 5.x or 6.x or even upgraded from the previous versions are using webpacker as their primary asset pipeline. But now as webpacker has retired, it is time to move on. jsbundling-rails is or will be the most obvious step to go. Don’t try to move to importmap-rails directly, as you may encounter more problems you have to solve.&lt;/p&gt;

&lt;p&gt;If you are using webpack(er) for CSS too as I did, I recommend moving your CSS pipeline to an alternative before moving your JavaScript setup to an alternative like jsbundling-rails or importmap-rails. Check this: Howto migrate from Webpacker to cssbundling-rails in Ruby on Rails for CSS.&lt;/p&gt;

&lt;p&gt;Read the full tutorial on my site: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://qameta.com/posts/howto-migrate-from-webpacker-to-jsbundling-rails-in-ruby-on-rails/" rel="noopener noreferrer"&gt;Howto migrate from Webpacker to jsbundling-rails in Ruby on Rails&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>webdesign</category>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Copy Files Compressed with Tar via ssh from and to a Linux Server</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Thu, 09 Feb 2023 12:38:27 +0000</pubDate>
      <link>https://dev.to/fa11enangel/copy-files-compressed-with-tar-via-ssh-from-and-to-a-linux-server-3c2l</link>
      <guid>https://dev.to/fa11enangel/copy-files-compressed-with-tar-via-ssh-from-and-to-a-linux-server-3c2l</guid>
      <description>&lt;p&gt;Copying files from a development machine or a server to another one may take up a lot of time, resources and traffic which dependent on the task may be more or less a problem. There are common Linux/Unix tools like scp and rsync to do the job, but they may be a wrong choice dependent on the task like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;copy a lot of small files (like node_modules)
are big like text files or images in uncompressed formats like BMP or TIFF&lt;/li&gt;
&lt;li&gt;have special attributes set, which you want to transport over the wire (like permissions or user/group IDs set)&lt;/li&gt;
&lt;li&gt;files with encoding in names, which should be just transferred with errors&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The most common Solution in both Directions
&lt;/h2&gt;

&lt;p&gt;These are the most common combination to copy files using tar to compress and ssh for transport (using pipes) which may be suitable for most solutions.&lt;/p&gt;

&lt;p&gt;Copy the folder data/ from current machine (development machine or current server) to remote server or system to folder /opt. The sever must support ssh and have tar installed, which is common for most Linux/Unix systems.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tar czf - data/ | ssh user@remoteserver "cd /opt &amp;amp;&amp;amp; tar -xvzf - "
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copy the folder data/ in /opt to current machine (development machine or current server) from remote server or system. The server must support ssh and have tar installed, which is common for most Linux/Unix systems.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh user@remoteserver "cd /opt &amp;amp;&amp;amp; tar -cfz data/" | tar xfzv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Deeper understanding
&lt;/h2&gt;

&lt;p&gt;If you want to get a deeper understanding what all the parameters do, where to use them and which one you may need for which task, check the full article on my site: &lt;a href="https://qameta.com/posts/copy-files-compressed-with-tar-via-ssh-to-a-linux-server/" rel="noopener noreferrer"&gt;qameta.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
      <category>devmeme</category>
    </item>
    <item>
      <title>Define Default URL for ActiveStorage to fix Mixed Content Error</title>
      <dc:creator>Konstantin Filtschew</dc:creator>
      <pubDate>Tue, 29 Nov 2022 12:07:49 +0000</pubDate>
      <link>https://dev.to/fa11enangel/define-default-url-for-activestorage-to-fix-mixed-content-error-3e1e</link>
      <guid>https://dev.to/fa11enangel/define-default-url-for-activestorage-to-fix-mixed-content-error-3e1e</guid>
      <description>&lt;p&gt;Using ActiveStorage with external services like AWS S3 for saving and surfing attachments like images is great. The setup is well explained in &lt;a href="https://guides.rubyonrails.org/active_storage_overview.html" rel="noopener noreferrer"&gt;Active Storage Overview&lt;/a&gt; in &lt;a href="https://guides.rubyonrails.org" rel="noopener noreferrer"&gt;Ruby on Rails Guides&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But if you start using it, you will maybe encounter some problems, which are not that easy to find or debug within production. One of the problems we encountered was a &lt;a href="https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content" rel="noopener noreferrer"&gt;Mixed content&lt;/a&gt; related to ActiveStorage. This was not a big problem at first. But after we added an iOS App, which was using &lt;a href="https://developer.apple.com/documentation/webkit/wkwebview" rel="noopener noreferrer"&gt;WkWebViews&lt;/a&gt;, some random redirects to AWS S3 images stopped working. We couldn't even see connections for these images to ActiveStorage in logs, which made it harder to&lt;br&gt;
debug.&lt;/p&gt;

&lt;p&gt;Read on Qameta: &lt;a href="https://qameta.com/posts/define-default-url-for-active-storage-to-fix-mixed-content-error/" rel="noopener noreferrer"&gt;Define Default URL for ActiveStorage to fix Mixed Content Error&lt;/a&gt;&lt;/p&gt;

</description>
      <category>go</category>
      <category>csharp</category>
      <category>programming</category>
      <category>security</category>
    </item>
  </channel>
</rss>
