{"@attributes":{"version":"2.0"},"channel":{"title":"Blogs on False Protagonist","link":"https:\/\/false.org.ru\/blog\/","description":"Recent content in Blogs on False Protagonist","generator":"Hugo","language":"en-us","copyright":"\u00a9 2022 by Rinat Sabitov","lastBuildDate":"Wed, 05 Apr 2023 07:14:07 +0000","item":[{"title":"Syncthing reappearing conflicts with the 'receive only' node","link":"https:\/\/false.org.ru\/blog\/syncthing-reappearing-conflicts-with-the-receive-only-node\/","pubDate":"Wed, 05 Apr 2023 07:14:07 +0000","guid":"https:\/\/false.org.ru\/blog\/syncthing-reappearing-conflicts-with-the-receive-only-node\/","description":"<p>Ok, for a long time, I&rsquo;m recreating my home setup in my new place. An increasing amount of new devices led me to use syncing tools again. A <a href=\"https:\/\/syncthing.net\/\">syncthing<\/a> was the obvious but not easy way.<\/p>\n<p>I have a Raspberry Pi with a storage HDD and a desktop with my <a href=\"https:\/\/calibre-ebook.com\/\">Calibre<\/a> library. The setup is simple, and it&rsquo;s supposed to be easy: desktop as an introducer (Send&amp;Recieve) and storage mounted to RPi as &ldquo;Recieve Only&rdquo;. It should prevent any local changes to be synced.<\/p>"},{"title":"Rotating HTTP proxies in your python script","link":"https:\/\/false.org.ru\/blog\/rotating-http-proxies-in-your-python-script\/","pubDate":"Fri, 11 Nov 2022 17:15:36 +0000","guid":"https:\/\/false.org.ru\/blog\/rotating-http-proxies-in-your-python-script\/","description":"<p>Ok, there can be a whole bunch of reasons why you would need to use multiple proxy servers at once. But most of them, to be honest, are related to playing around with bot detection, scrapping, and other not-so-honorable stuff.<\/p>"},{"title":"Backup and restore your SD card","link":"https:\/\/false.org.ru\/blog\/backup-and-restore-your-sd-card\/","pubDate":"Fri, 09 Sep 2022 13:29:36 +0000","guid":"https:\/\/false.org.ru\/blog\/backup-and-restore-your-sd-card\/","description":"<h2 id=\"backup\">Backup<\/h2>\n<p>To get rid of empty space, we will process it via <code>gzip<\/code><\/p>\n<div class=\"highlight\"><pre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"><code class=\"language-bash\" data-lang=\"bash\"><span style=\"display:flex;\"><span>$ sudo dd <span style=\"color:#66d9ef\">if<\/span><span style=\"color:#f92672\">=<\/span>\/dev\/mmcblk0 conv<span style=\"color:#f92672\">=<\/span>sync,noerror bs<span style=\"color:#f92672\">=<\/span>64K | gzip -c &gt; backup.img.gz\n<\/span><\/span><\/code><\/pre><\/div><h2 id=\"restore\">Restore<\/h2>\n<pre tabindex=\"0\"><code>$ gunzip backup.img.gz\n$ sudo dd if=backup.img of=\/dev\/mmcblk0 bs=4M &amp;&amp; sync\n<\/code><\/pre>"},{"title":"How to fix Rust tools that bind libgit2.so","link":"https:\/\/false.org.ru\/blog\/how-to-fix-rust-tools-that-bind-libgit2-so\/","pubDate":"Thu, 08 Sep 2022 11:26:51 +0000","guid":"https:\/\/false.org.ru\/blog\/how-to-fix-rust-tools-that-bind-libgit2-so\/","description":"<p>Recently, after a system update, I became not able to run some of the system tools written on Rust, like <code>exa<\/code> and <code>bat<\/code><\/p>\n<div class=\"highlight\"><pre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"><code class=\"language-bash\" data-lang=\"bash\"><span style=\"display:flex;\"><span>$ bat --version ~\n<\/span><\/span><span style=\"display:flex;\"><span>bat: error <span style=\"color:#66d9ef\">while<\/span> loading shared libraries: libgit2.so.1.4: cannot open shared object file: No such file or directory\n<\/span><\/span><\/code><\/pre><\/div><p>Later I&rsquo;ve got<\/p>\n<pre tabindex=\"0\"><code>.local\/share\/cargo\/bin\/cargo-install-update: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory\n<\/code><\/pre><p>The fix was easy: rebuild a binary<\/p>\n<pre tabindex=\"0\"><code>$ cargo install exa bat --force\n<\/code><\/pre><p>That will rebuild a binary with new linking with current libraies<\/p>"},{"title":"How to fix yum after CentOS 8 went EOL","link":"https:\/\/false.org.ru\/blog\/how-to-fix-yum-after-centos-8-went-eol\/","pubDate":"Fri, 01 Jul 2022 07:57:56 +0000","guid":"https:\/\/false.org.ru\/blog\/how-to-fix-yum-after-centos-8-went-eol\/","description":"<blockquote>\n<p>Error: Failed to download metadata for repo &lsquo;appstream&rsquo;: Cannot prepare internal mirrorlist: No URLs in mirrorlist<\/p>\n<\/blockquote>\n<p>So now we have the same issues that we had for Centos 6. And therefore we can fix it like it was described in <a href=\"https:\/\/false.org.ru\/deprecated-centos-6\">previous post<\/a>.<\/p>\n<pre tabindex=\"0\"><code>$ sed -i &#39;s,baseurl=http:\/\/vault.centos.org,baseurl=http:\/\/vault.epel.cloud,g&#39; \/etc\/yum.repos.d\/CentOS-Linux-*\n<\/code><\/pre>"},{"title":"Hardware troubleshooting","link":"https:\/\/false.org.ru\/blog\/hardware-troubleshooting\/","pubDate":"Thu, 02 Dec 2021 08:53:16 +0000","guid":"https:\/\/false.org.ru\/blog\/hardware-troubleshooting\/","description":"<p>Another post to the &ldquo;suffering journal&rdquo;. Experienced a lot of hardware fails:<\/p>\n<ul>\n<li>SSD disks become read-only or other IO errors<\/li>\n<li>Video card do not start while power on. Had to restart each time.<\/li>\n<li>Other system freezes of unknown origin.<\/li>\n<\/ul>\n<p>It happened for a month, and I tried to replace SATA cables, disable &ldquo;spoiled&rdquo; disks, do memory checks, use the rest of the voodoo too. Started scaring myself with a shopping list if the motherboard broke.<\/p>"},{"title":"\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u043e\u0441\u0442 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c \u044f\u0437\u044b\u043a\u0435","link":"https:\/\/false.org.ru\/blog\/testovyi-post-na-drugom-iazyke\/","pubDate":"Tue, 30 Nov 2021 09:03:56 +0000","guid":"https:\/\/false.org.ru\/blog\/testovyi-post-na-drugom-iazyke\/","description":"<p>\u041f\u0440\u043e\u0431\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445<\/p>\n<hr\/>\n <div class=\"container\">\n Have a comment on one of my posts? Start a discussion in my <a href=https:\/\/lists.sr.ht\/~histrio\/public-inbox>public inbox<\/a> by sending an email to <a href='mailto:~histrio\/public-inbox@lists.sr.ht?Subject=\"%d0%a2%d0%b5%d1%81%d1%82%d0%be%d0%b2%d1%8b%d0%b9%20%d0%bf%d0%be%d1%81%d1%82%20%d0%bd%d0%b0%20%d0%b4%d1%80%d1%83%d0%b3%d0%be%d0%bc%20%d1%8f%d0%b7%d1%8b%d0%ba%d0%b5\"'>~histrio\/public-inbox@lists.sr.ht<\/a> [<a href=https:\/\/man.sr.ht\/lists.sr.ht\/etiquette.md>mailing list etiquette<a>] \n <\/div>"},{"title":"Syncthing and NFS","link":"https:\/\/false.org.ru\/blog\/syncthing-and-nfs\/","pubDate":"Fri, 26 Nov 2021 10:30:07 +0000","guid":"https:\/\/false.org.ru\/blog\/syncthing-and-nfs\/","description":"<p><em>TLDR: Dockerised Syncthing using NFS mounted folder is a bad idea.<\/em><\/p>"},{"title":"After a vacancy","link":"https:\/\/false.org.ru\/blog\/after-a-vacancy\/","pubDate":"Fri, 14 May 2021 12:14:48 +0000","guid":"https:\/\/false.org.ru\/blog\/after-a-vacancy\/","description":"<p>I&rsquo;ve spent almost two weeks without a laptop and very restricted mobile internet. When I sat at the keyboard again, there was no that excitement level as it used to be, even close. Maybe I&rsquo;m just so tired after more or less hardcore trailing experience.<\/p>\n<p>That place is a nice tool for writing by the way. It could be a neat tool to draft post ideas and tidy up formatting. But such short posts should not exist as a blog post and it fits tweet format which is not my intention.<\/p>"},{"title":"About systemd vs init.d","link":"https:\/\/false.org.ru\/blog\/about-systemd-vs-init-d\/","pubDate":"Wed, 12 May 2021 11:40:18 +0000","guid":"https:\/\/false.org.ru\/blog\/about-systemd-vs-init-d\/","description":"<p>I have no issues with a <code>systemd<\/code> and have no right or arguments or authority to criticize such a huge tool and all involved human efforts. It&rsquo;s a tool and it does its work.<\/p>\n<p>For my cases, it&rsquo;s an over-complicated tool though. I&rsquo;d prefer to use a simple as is <code>init.d<\/code> when I need a simple thing working on a simple server.<\/p>\n<p>To go even further I&rsquo;m considering moving my VPS to a FreeBSD. There is no tricky stuff there and it will fit my needs nicely and let me keep a simple environment at the same time.<\/p>"},{"title":"What is this?","link":"https:\/\/false.org.ru\/blog\/what-is-this\/","pubDate":"Tue, 27 Apr 2021 17:50:47 +0000","guid":"https:\/\/false.org.ru\/blog\/what-is-this\/","description":"<p>Another platform and another attempt to begin to write something. I will try to migrate here some older posts (not all though) in time. Or, maybe it will became not so technical place and will contain some thoughts, but I&rsquo;m afraid which I have not much. Will it be a topics with a vote idea or just a public journal? Will I convert posts from to the <code>gemini<\/code> mirror?<\/p>\n<p>Did not write a line of code for a week. And it didn&rsquo;t happen since school, I think. Nothing. No urgent need to go back to the keyboard, so far.<\/p>"},{"title":"How to fix yum after CentOS 6 went EOL","link":"https:\/\/false.org.ru\/blog\/deprecated-centos-6\/","pubDate":"Sun, 06 Dec 2020 10:47:30 +0000","guid":"https:\/\/false.org.ru\/blog\/deprecated-centos-6\/","description":"<p>Centos 6 isn&rsquo;t able to get its full updates since May 10th, 2017 and there are no even Maintainance updates since November 30th, 2020. For most of us that version of Centos, released July 20th, 2011 is objectively outdated but still, a huge amount of servers are using it and there are no plans or opportunities to migrate it further.<\/p>"},{"title":"Save as root in vim","link":"https:\/\/false.org.ru\/blog\/save-as-root-in-vim\/","pubDate":"Fri, 19 Jun 2020 08:46:57 +0000","guid":"https:\/\/false.org.ru\/blog\/save-as-root-in-vim\/","description":"<p><em>TLDR <code>:w !sudo tee %<\/code><\/em><\/p>"},{"title":"Store Files in a CouchDB","link":"https:\/\/false.org.ru\/blog\/store-files-in-a-couchdb\/","pubDate":"Fri, 19 Jun 2020 08:34:34 +0000","guid":"https:\/\/false.org.ru\/blog\/store-files-in-a-couchdb\/","description":"<p>There is a very convenient way to store files inside CouchDB and be able to get them directly from it.<\/p>"},{"title":"Czech Words Frequency List","link":"https:\/\/false.org.ru\/blog\/czech-words-frequency-list\/","pubDate":"Wed, 27 May 2020 11:53:44 +0000","guid":"https:\/\/false.org.ru\/blog\/czech-words-frequency-list\/","description":"<p>I make a decision to learn the Czech language and to procrastinate I&rsquo;ve made up a problem for myself:<\/p>\n<blockquote>\n<p>I need a deck for the Anki with the most frequently accrued words in that language.<\/p>\n<\/blockquote>"},{"title":"How to Get Basic Information About a Process in Linux","link":"https:\/\/false.org.ru\/blog\/how-to-get-basic-information-about-a-process-in-linux\/","pubDate":"Sat, 16 May 2020 14:11:22 +0000","guid":"https:\/\/false.org.ru\/blog\/how-to-get-basic-information-about-a-process-in-linux\/","description":"<p>There is a way to get information about any process (with according permissions) using filesystem operations only. You need no additional tools besides what you already have on your system. In most cases <code>cat<\/code> will be enough.<\/p>"},{"title":"Start of the 100 Days to Offload","link":"https:\/\/false.org.ru\/blog\/start-of-the-100-days-to-offload\/","pubDate":"Thu, 14 May 2020 10:52:58 +0000","guid":"https:\/\/false.org.ru\/blog\/start-of-the-100-days-to-offload\/","description":"<p>So, this will be my attempt to start and proceed with #100DaysToOffload. I&rsquo;m not sure that I will have enough ideas or material to make really useful content and it could happen that there will appear posts like that: just random thoughts with not much sense.<\/p>\n<p>My initial plan is to publish one post in 3 days and I think it is enough to come up with some idea and write not completely garbage text. Even this text takes more time than I expected but the process should improve soon.<\/p>"},{"title":"Currency formatting","link":"https:\/\/false.org.ru\/blog\/currency-formatting\/","pubDate":"Wed, 17 May 2017 11:44:02 +0000","guid":"https:\/\/false.org.ru\/blog\/currency-formatting\/","description":"<div class=\"highlight\"><pre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"><code class=\"language-python\" data-lang=\"python\"><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">def<\/span> <span style=\"color:#a6e22e\">currency<\/span>(value, group_sep<span style=\"color:#f92672\">=<\/span><span style=\"color:#e6db74\">&#39; &#39;<\/span>, decimal_sep<span style=\"color:#f92672\">=<\/span><span style=\"color:#e6db74\">&#39;.&#39;<\/span>):\n<\/span><\/span><span style=\"display:flex;\"><span> <span style=\"color:#e6db74\">&#34;&#34;&#34;Format currency by digits.\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\">\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> &gt;&gt;&gt; currency(100)\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> &#39;100.00&#39;\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> &gt;&gt;&gt; currency(3.1415)\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> &#39;3.14&#39;\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> &gt;&gt;&gt; currency(31415)\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> &#39;31 415.00&#39;\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> &gt;&gt;&gt; currency(3141500.1)\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> &#39;3 141 500.10&#39;\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> &gt;&gt;&gt; currency(31415000.1)\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> &#39;31 415 000.10&#39;\n<\/span><\/span><\/span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> &#34;&#34;&#34;<\/span>\n<\/span><\/span><span style=\"display:flex;\"><span> head,tail <span style=\"color:#f92672\">=<\/span> (<span style=\"color:#e6db74\">&#39;<\/span><span style=\"color:#e6db74\">%.2f<\/span><span style=\"color:#e6db74\">&#39;<\/span><span style=\"color:#f92672\">%<\/span>value)<span style=\"color:#f92672\">.<\/span>split(<span style=\"color:#e6db74\">&#39;.&#39;<\/span>)\n<\/span><\/span><span style=\"display:flex;\"><span> l <span style=\"color:#f92672\">=<\/span> len(head)\n<\/span><\/span><span style=\"display:flex;\"><span> <span style=\"color:#66d9ef\">return<\/span> group_sep<span style=\"color:#f92672\">.<\/span>join([head[r<span style=\"color:#f92672\">-<\/span><span style=\"color:#ae81ff\">3<\/span>:l<span style=\"color:#f92672\">+<\/span>r] <span style=\"color:#66d9ef\">for<\/span> r <span style=\"color:#f92672\">in<\/span> xrange(<span style=\"color:#ae81ff\">0<\/span>,<span style=\"color:#f92672\">-<\/span>l,<span style=\"color:#f92672\">-<\/span><span style=\"color:#ae81ff\">3<\/span>)][::<span style=\"color:#f92672\">-<\/span><span style=\"color:#ae81ff\">1<\/span>]) <span style=\"color:#f92672\">+<\/span> decimal_sep <span style=\"color:#f92672\">+<\/span> tail\n<\/span><\/span><\/code><\/pre><\/div><p><a href=\"https:\/\/gist.github.com\/histrio\/ca0885dd8755ef479917172606c442e8#file-currency_formating-py\">Gist<\/a><\/p>\n<hr\/>\n <div class=\"container\">\n Have a comment on one of my posts? Start a discussion in my <a href=https:\/\/lists.sr.ht\/~histrio\/public-inbox>public inbox<\/a> by sending an email to <a href='mailto:~histrio\/public-inbox@lists.sr.ht?Subject=\"Currency%20formatting\"'>~histrio\/public-inbox@lists.sr.ht<\/a> [<a href=https:\/\/man.sr.ht\/lists.sr.ht\/etiquette.md>mailing list etiquette<a>] \n <\/div>"}]}}