<?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>Dmitry Mikushin</title>
    <description>The home page of Dmitry Mikushin, GPU&amp;amp;HPC engineer, co-founder of Purple Gaze Inc.</description>    
    <link>https://dmikushin.github.io</link>
    <atom:link href="https://dmikushin.github.io/feed.xml" rel="self" type="application/rss+xml" />
    
      <item>
        <title>Error-tolerant PostgreSQL for data rescue</title>
                
        
          <description>&lt;p&gt;Database corruption always happens before we prepare for it. “Back up or give up” is the most frequently recommended solution. The main reason is database engines are written presuming strict consistency of each query during processing. Could a database engine be made more error-tolerant for data rescue purposes, and always try to give some result, similarly to how a web browser does?&lt;/p&gt;

</description>
        
        <pubDate>Mon, 21 Aug 2023 00:00:00 +0000</pubDate>
        <link>https://dmikushin.github.io/blog/2023/08/21/error-tolerant-postgresql-for-data-rescue/</link>
        <guid isPermaLink="true">https://dmikushin.github.io/blog/2023/08/21/error-tolerant-postgresql-for-data-rescue/</guid>
      </item>
    
      <item>
        <title>Updating PostgreSQL version 10 to version 14 in dockerized Zulip instance</title>
                
        
          <description>&lt;p&gt;Upgrade from Zulip 5 to Zulip 6 requires updating PostgreSQL version from 10 to 14.&lt;/p&gt;

</description>
        
        <pubDate>Sun, 11 Jun 2023 00:00:00 +0000</pubDate>
        <link>https://dmikushin.github.io/blog/2023/06/11/updating-postgresql-version-10-to-14-in-dockerized-zulip/</link>
        <guid isPermaLink="true">https://dmikushin.github.io/blog/2023/06/11/updating-postgresql-version-10-to-14-in-dockerized-zulip/</guid>
      </item>
    
      <item>
        <title>Migrating from CVS to Git</title>
                
        
          <description>&lt;p&gt;CVS is still around for many important projects, making it difficult to scale their development. Tutorials available for this topic are not robust enough for ease of use. Thus, here I would like to describe CVS to Git migration steps good enough for copy-pasting and just basic changes.&lt;/p&gt;

</description>
        
        <pubDate>Sun, 26 Mar 2023 00:00:00 +0000</pubDate>
        <link>https://dmikushin.github.io/blog/2023/03/26/migrating-from-cvs-to-git/</link>
        <guid isPermaLink="true">https://dmikushin.github.io/blog/2023/03/26/migrating-from-cvs-to-git/</guid>
      </item>
    
      <item>
        <title>Use multiple mirrors in apt</title>
                
        
          <description>&lt;p&gt;There is an interesting and not so well-known feature of APT package manager: the ability to automatically choose a download mirror for every individual operation.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 16 Nov 2022 00:00:00 +0000</pubDate>
        <link>https://dmikushin.github.io/blog/2022/11/16/use-multiple-mirrors-in-apt/</link>
        <guid isPermaLink="true">https://dmikushin.github.io/blog/2022/11/16/use-multiple-mirrors-in-apt/</guid>
      </item>
    
      <item>
        <title>Enabling GPU device debugging in HIP</title>
                
        
          <description>&lt;p&gt;In order to debug a GPU kernel with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cuda-gdb&lt;/code&gt;, we add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-G -O0&lt;/code&gt; to nvcc command line, which in case of CMake would be:&lt;/p&gt;

</description>
        
        <pubDate>Tue, 27 Sep 2022 00:00:00 +0000</pubDate>
        <link>https://dmikushin.github.io/blog/2022/09/27/enabling-device-debug-in-hip/</link>
        <guid isPermaLink="true">https://dmikushin.github.io/blog/2022/09/27/enabling-device-debug-in-hip/</guid>
      </item>
    
      <item>
        <title>Working with Overleaf via Git</title>
                
        
          <description>&lt;p&gt;Overleaf deploys Git to track collaborative modifications to projects. Moreover, a user has an option to work with Overleaf’s Git backend directly. It supports Git compatibility with some limitations: https-only, no force push. With some extra steps described below, it is possible to collaborate in development of an Overleaf paper for users working in the web-interface and in local git+pdflatex environments. The main advantages are of course a possibility to migrate an existing history of modifications to Overleaf, and an ability to manage a lot of files over the command line more efficiently.&lt;/p&gt;

</description>
        
        <pubDate>Sat, 24 Sep 2022 00:00:00 +0000</pubDate>
        <link>https://dmikushin.github.io/blog/2022/09/24/working-with-overleaf-via-git/</link>
        <guid isPermaLink="true">https://dmikushin.github.io/blog/2022/09/24/working-with-overleaf-via-git/</guid>
      </item>
    
      <item>
        <title>An overview of Loongson 3A5000 laptop</title>
                
        
          <description>&lt;p&gt;&lt;img src=&quot;\assets\img\blog\2022-09-18-an-overview-of-loongson-3A5000-laptop\overview-front.jpg&quot; alt=&quot;alt text&quot; /&gt;
&lt;img src=&quot;\assets\img\blog\2022-09-18-an-overview-of-loongson-3A5000-laptop\overview-side.jpg&quot; alt=&quot;alt text&quot; /&gt;&lt;/p&gt;

</description>
        
        <pubDate>Sun, 18 Sep 2022 00:00:00 +0000</pubDate>
        <link>https://dmikushin.github.io/blog/2022/09/18/an-overview-of-loongson-3A5000-laptop/</link>
        <guid isPermaLink="true">https://dmikushin.github.io/blog/2022/09/18/an-overview-of-loongson-3A5000-laptop/</guid>
      </item>
    
      <item>
        <title>QWebEngineView remains blank whatever I do</title>
                
        
          <description>&lt;p&gt;In the most recent version of PyQt5, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;QWebEngineView&lt;/code&gt; refuses to draw any page content. Aparently, the solution is to disable sandboxing, as mentioned in &lt;a href=&quot;https://github.com/vlaci/openconnect-sso/issues/69#issuecomment-1000571831&quot;&gt;this comment&lt;/a&gt;:&lt;/p&gt;

</description>
        
        <pubDate>Thu, 08 Sep 2022 00:00:00 +0000</pubDate>
        <link>https://dmikushin.github.io/blog/2022/09/08/qwebengineview-remains-blank-whatever-i-do/</link>
        <guid isPermaLink="true">https://dmikushin.github.io/blog/2022/09/08/qwebengineview-remains-blank-whatever-i-do/</guid>
      </item>
    
      <item>
        <title>Installing CUDA from DEB packages without graphics</title>
                
        
          <description>&lt;p&gt;You may want to have your NVIDIA GPU not to be involved in any desktop rendering for many reasons. While this is the default on the headless servers, personal systems such as desktops and laptops need some further configuration. Traditional downloadable CUDA binary packages had a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--no-opengl-files&lt;/code&gt; command line option, which simply skips the installation of any graphics-related components. The other installation method based on Debian packages is more favorable for system compatibility, but unfortunately lacks any option for graphics disablement. This tutorial shows how to disable desktop graphics after installing the Debian packages.&lt;/p&gt;

</description>
        
        <pubDate>Sat, 03 Sep 2022 00:00:00 +0000</pubDate>
        <link>https://dmikushin.github.io/blog/2022/09/03/installing-cuda-from-deb-packages-without-graphics/</link>
        <guid isPermaLink="true">https://dmikushin.github.io/blog/2022/09/03/installing-cuda-from-deb-packages-without-graphics/</guid>
      </item>
    
      <item>
        <title>VPN tunnelling for ipv6 only providers</title>
                
        
          <description>&lt;p&gt;The number of providers having problems with ipv4 support is growing. Recently we came across an ISP, which offers only ipv6, and is able to connect only to ipv6 websites. I was able to follow this &lt;a href=&quot;https://wpyoga.github.io/blog/2021/10/30/oracle-cloud-instance-ipv6&quot;&gt;excellent tutorial&lt;/a&gt; and configure an Always-free Oracle Cloud VPS to enable ipv6. After it is all set, I was able to configure a private VPN tunnel on top of it, in order to get the normal ipv4 support in my location. If the OpenVPN server is proxied via Nginx, ipv6 must also be enabled in the Nginx configuration, as shown &lt;a href=&quot;https://unixcop.com/how-to-enable-ipv6-in-nginx/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
        
        <pubDate>Tue, 02 Aug 2022 00:00:00 +0000</pubDate>
        <link>https://dmikushin.github.io/blog/2022/08/02/vpn-tunnelling-for-ipv6-only-providers/</link>
        <guid isPermaLink="true">https://dmikushin.github.io/blog/2022/08/02/vpn-tunnelling-for-ipv6-only-providers/</guid>
      </item>
    
  </channel>
</rss>