<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>nidomiro</title>
    <link>/</link>
    <description>Recent content on nidomiro</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 21 Aug 2020 12:00:00 +0000</lastBuildDate>
    
        <atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>More secure deployments via ssh</title>
      <link>/code/more-secure-deployments-via-ssh/</link>
      <pubDate>Fri, 21 Aug 2020 12:00:00 +0000</pubDate>
      
      <guid>/code/more-secure-deployments-via-ssh/</guid>
      <description>If we deploy an application automatically we have to grant the CI (Continuous Integration) access to the server. Common practice is to do that via a GitLab Runner or a ssh account on the server.
Personally I would not recommend to use a GitLab Runner for deployments, because you have to maintain it. Another potential issue is, that you normally register runners for your whole GitLab instance or groups. That results in a scenario in which everyone can use that runner and accidentally (or not) destroy, for example, your production server.</description>
    </item>
    
    <item>
      <title>Handling server configurations</title>
      <link>/article/server-config-from-git/</link>
      <pubDate>Wed, 15 Jul 2020 12:00:00 +0000</pubDate>
      
      <guid>/article/server-config-from-git/</guid>
      <description>1. IntroDuring my work as a programmer I often encountered that configuration and infrastructure files only lived on the servers they belog to. If they had a copy in git, the states would always divert over time. One reason for this diverting is that you actively have to put the changed files in git, after you finished your work. It’s simply a thing you can forget.
What do I mean by &amp;#34;infrastructure files&amp;#34;?</description>
    </item>
    
    <item>
      <title>Switching to Hugo</title>
      <link>/article/switching-to-hugo/</link>
      <pubDate>Wed, 17 Jun 2020 12:00:00 +0200</pubDate>
      
      <guid>/article/switching-to-hugo/</guid>
      <description>If you see this post, my wordpress blog is gone.
My Blog now uses Hugo. I really like formats like Markdown and AsciiDoc. These formats are expressive and you can edit them with every editor you want and don’t need expensive licenses, like for Word or similar. Another advantage is that you define what should happen by writing and not by clicking a button and hoping the programm does what you intended to do.</description>
    </item>
    
    <item>
      <title>Install cmake 3.11.1 on Ubuntu</title>
      <link>/2018/04/install-cmake-3-11-1-on-ubuntu/</link>
      <pubDate>Tue, 17 Apr 2018 20:00:00 +0200</pubDate>
      
      <guid>/2018/04/install-cmake-3-11-1-on-ubuntu/</guid>
      <description>&lt;p&gt;Sometimes you just want a newer version than ubuntu ships.
This code will update cmake to version 3.11.1 or any other version you want.&lt;/p&gt;
&lt;p&gt;</description>
    </item>
    
    <item>
      <title>Automatic VirtualBox module signing for UEFI</title>
      <link>/2018/04/automatic-virtualbox-module-signing-for-uefi/</link>
      <pubDate>Tue, 17 Apr 2018 19:49:00 +0200</pubDate>
      
      <guid>/2018/04/automatic-virtualbox-module-signing-for-uefi/</guid>
      <description>&lt;p&gt;These steps are for all those people who hate to sign the Virtualbox modules every time and don’t want to disable UEFI.&lt;/p&gt;
&lt;p&gt;</description>
    </item>
    
    <item>
      <title>Writing a basic Qt project with Qt Creator</title>
      <link>/2017/01/writing-a-basic-qt-project-with-qt-creator/</link>
      <pubDate>Mon, 02 Jan 2017 16:54:00 +0200</pubDate>
      
      <guid>/2017/01/writing-a-basic-qt-project-with-qt-creator/</guid>
      <description>&lt;p&gt;I’m assuming you are already able to program and at least had a look at C++.
For example I won’t explain why &lt;code&gt;int main(int argc, char *argv[])&lt;/code&gt; is in the C++ source code.&lt;/p&gt;
&lt;p&gt;If you create a &amp;#34;Qt Console Application&amp;#34; you will have the following code:&lt;/p&gt;
&lt;p&gt;</description>
    </item>
    
    <item>
      <title>Ubuntu: automatic password for second encrypted disk</title>
      <link>/2016/12/ubuntu-automatic-password-for-second-encrypted-disk/</link>
      <pubDate>Thu, 15 Dec 2016 21:23:00 +0200</pubDate>
      
      <guid>/2016/12/ubuntu-automatic-password-for-second-encrypted-disk/</guid>
      <description>&lt;p&gt;I just encountered the problem that I have to type two passwords at startup, for two encrypted disks.
My first disk is encrypted through the Ubuntu installer.
After some searching I found the perfect solution for that task.
In German its called &lt;a href=&#34;https://wiki.ubuntuusers.de/LUKS/Schl%C3%BCsselableitung/#Bestehendes-LUKS-Geraet&#34;&gt;&amp;#34;Schlüsselableitung&amp;#34;&lt;/a&gt;, in English derived keys.
But perfect solutions often have a big issue why they don’t work, like here.
I’m using Ubuntu 16.04 which uses ´systemd´, and that has problems with derived keys.
So I found the second most perfect solution for me, using a key-file.
Some people argue that this is a security issue, but the derived key is also obtainable with root rights, just like a key-file.
And by the way, your private keys of your certificates are also stored on that disks and nearly nobody complains about that.&lt;/p&gt;
&lt;p&gt;</description>
    </item>
    
    <item>
      <title>Qt Signals &amp; Slots: How they work</title>
      <link>/2016/12/qt-signals-and-slots-how-they-work/</link>
      <pubDate>Wed, 07 Dec 2016 11:44:10 +0200</pubDate>
      
      <guid>/2016/12/qt-signals-and-slots-how-they-work/</guid>
      <description>&lt;p&gt;The one thing that confuses the most people in the beginning is the Signal &amp;amp; Slot mechanism of Qt. But it’s actually not that difficult to understand. In general Signals &amp;amp; Slots are used to loosely connect classes. Illustrated by the keyword &lt;code&gt;emit&lt;/code&gt;, Signals are used to broadcast a message to all connected Slots. If no Slots are connected, the message &amp;#34;is lost in the wild&amp;#34;. So a connection between Signals &amp;amp; Slots is like a TCP/IP connection with a few exceptions, but this metaphor will help you to get the principle. A Signal is an outgoing port and a Slot is an input only port and a Signal can be connected to multiple Slots.&lt;/p&gt;
&lt;p&gt;</description>
    </item>
    
    <item>
      <title>How to start with Qt?</title>
      <link>/2016/12/how-to-start-with-qt/</link>
      <pubDate>Wed, 07 Dec 2016 11:44:00 +0200</pubDate>
      
      <guid>/2016/12/how-to-start-with-qt/</guid>
      <description>In this series I’ll give you a starting point on working with with Qt. Like I mentioned in Why I love the Qt framework I had a hard time at the beginning. I want to give you an easier start with this awesome peace of technology. This page will serve as an index for the whole series of tutorials and explanations. As more posts follow this page will be updated. I know there are plenty of tutorials on Qt, but maybe I’ll explain some things in a way you understand better.</description>
    </item>
    
    <item>
      <title>Should I use Qt containers or the std ones?</title>
      <link>/2016/11/should-i-use-qt-containers-or-the-std-ones/</link>
      <pubDate>Wed, 02 Nov 2016 23:45:00 +0200</pubDate>
      
      <guid>/2016/11/should-i-use-qt-containers-or-the-std-ones/</guid>
      <description>&lt;p&gt;If you come from plain vanilla C++, you only know the &lt;em&gt;C++ Standard Library&lt;/em&gt; with its containers like &lt;code&gt;std::vector&lt;/code&gt;. If you know how to use them, you can accomplish your tasks pretty fast. But if you’re coming from an other language, the naming might be a bit odd. The Qt containers offer both, C++ style and Java style naming of methods. So coming from an other language the Qt ones might be easier to use.&lt;/p&gt;
&lt;p&gt;</description>
    </item>
    
    <item>
      <title>Why I love the Qt framework</title>
      <link>/2016/10/en-why-i-love-the-qt-framework/</link>
      <pubDate>Sat, 15 Oct 2016 21:31:00 +0200</pubDate>
      
      <guid>/2016/10/en-why-i-love-the-qt-framework/</guid>
      <description>Everyone that knows me, knows that I love the Qt framework. Before I started programming in C++, Java was my primary programming language. I love the generics (yes, some of you will hate me for that opinion right now) and reflection. During my Java-time I used them very often to increase reusability. But while studying we had do learn C++ and I hated it in the beginning. It felt so old and so stiff compared to Java.</description>
    </item>
    
    <item>
      <title>How to work on your projects on multiple devices</title>
      <link>/2016/09/en-how-to-work-on-your-projects-on-multiple-devices/</link>
      <pubDate>Tue, 27 Sep 2016 22:26:00 +0200</pubDate>
      
      <guid>/2016/09/en-how-to-work-on-your-projects-on-multiple-devices/</guid>
      <description>At the beginning of my programming-life I’ve never thought of synchronization of my projects as an issue. Back at the time I only had a Computer standing in my room. Then I got a Laptop from the company I worked for back at the time. Still, synchronization was not an issue by now because I kept private and work separate. But the whole journey began when I started studying and I bought myself a Laptop.</description>
    </item>
    
    <item>
      <title>Installing Redmine 3.0 on clean Ubuntu 14.04</title>
      <link>/2015/03/installing-redmine-3-0-on-clean-ubuntu-14-04/</link>
      <pubDate>Fri, 27 Mar 2015 13:10:00 +0200</pubDate>
      
      <guid>/2015/03/installing-redmine-3-0-on-clean-ubuntu-14-04/</guid>
      <description>&lt;p&gt;In this tutorial we will install Redmine on a clean installation of Ubuntu server 14.04 with an Apache server and MySql.
Redmine wil be reachable under the subdomain &lt;code&gt;redmine.example.com&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;</description>
    </item>
    
  </channel>
</rss>
