<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Kemal&#39;s Braindump</title>
    <link>https://write.moxnet.eu/</link>
    <description>Notes on engineering, systems, and leadership in practice.</description>
    <pubDate>Sun, 17 May 2026 05:20:01 +0200</pubDate>
    <item>
      <title>What Systems Optimize For — and What They Don’t</title>
      <link>https://write.moxnet.eu/what-systems-optimize-for-and-what-they-dont</link>
      <description>&lt;![CDATA[#reflection #systems #leadership #society&#xA;&#xA;  Parts of what follows grew out of several older posts I wrote on different topics that, at first glance, did not seem to belong together. Looking back, I realized they were circling around the same question from different angles. Instead of rewriting those posts, I decided to keep them as they are and try to synthesize the bigger pattern here.&#xA;Over time, I started noticing the same pattern in very different areas of life.&#xA;&#xA;In education, in technology, at work, and even in private life, systems tend to drift away from what builds long-term capability, resilience, and alignment. Instead, they optimize for what is easier to reward, easier to explain, or simply more attractive in the short term.&#xA;&#xA;!--more--&#xA;&#xA;This rarely happens because someone planned it that way. It usually happens because incentives, habits, convenience, and social expectations quietly pull in that direction. Locally, the choices make sense. From a distance, they often look less convincing.&#xA;&#xA;A while ago, I attended an information evening at my son’s school. Students could choose additional subjects based on their interests and possible future aspirations. The options included languages, natural sciences, engineering, and computer science.&#xA;&#xA;What struck me was not the quality of the presentations, but where the attention went. The strongest interest seemed to go toward what felt culturally attractive, familiar, and easy to imagine, e.g. &#34;If I learn Spanish, I&#39;ll be able to get better information from the locals when I travel around in South America.&#34;. The more technical subjects, which demand more effort but also build deeper capabilities, generated less excitement.&#xA;&#xA;This is not meant as criticism of individual choices. People react to the incentives and narratives around them. But it reminded me of something that shows up elsewhere too: systems often reward what looks good on the surface while undervaluing what is slower, harder, and more foundational.&#xA;In engineering, this would be obvious. If you keep optimizing the visible layer and neglect the structure underneath, sooner or later the system suffers.&#xA;&#xA;Typical example I noticed very often is that you celebrate a team if they are able to produce a fix for a found bug quick. Which is of course commendable, but it&#39;s the same people who made the mistake in the first place. On the other hand teams that dealt with their bugs quietly and did their job properly, usually do not get the same level of visibility or appreciation for that matter.&#xA;&#xA;A similar thing happens inside us.&#xA;&#xA;For a long time, I thought of happiness as some kind of ideal state — a place where work feels right, private life is balanced, and the overall direction makes sense. The problem with that idea is not that it is wrong, but that it can become a distorted benchmark. Normal life starts to feel insufficient.&#xA;&#xA;Over time, I became more interested in a different word: contentment.&#xA;&#xA;Not as resignation, and not as lowering standards. More as a kind of inner stability. The ability to live with an internal critic without letting it dominate everything. The ability to accept that meaningful work, relationships, and responsibilities usually happen under imperfect conditions.&#xA;&#xA;That feels closer to reality, especially in engineering and leadership. Projects do not become easier because uncertainty disappears. Teams do not grow because everything is smooth all the time. Most of the time, progress comes from staying oriented, noticing smaller moments of alignment, and continuing without demanding perfection from every phase.&#xA;&#xA;The same pattern becomes visible when looking at technology on a larger scale.&#xA;&#xA;In Europe, there is a lot of discussion about digital sovereignty, and rightly so. In many areas, the technical tools needed for more independent and privacy-conscious digital infrastructure already exist. Open-source solutions are mature enough for many use cases in education and public administration.&#xA;&#xA;And yet, dependencies remain strong. Children learn “computer literacy” inside ecosystems that lock them in early. Public institutions rely on structures that are convenient in the short term but make long-term independence harder. Industry often seeks speed through partnerships while slowly giving away capability.&#xA;&#xA;The interesting question is not whether cooperation is good. Of course it is. The more interesting question is what a system is optimizing for when it repeatedly chooses dependency over capability, convenience over resilience, or speed over long-term autonomy.&#xA;&#xA;From an engineering perspective, this is not surprising. If resilience is not made an explicit goal, most systems will optimize for short-term constraints.&#xA;&#xA;A few years ago, after my family suffered a significant personal loss, the same pattern appeared much closer to home.&#xA;&#xA;I started asking myself uncomfortable questions. How much time is left? Am I happy with my life? What am I actually trying to achieve? And whose goals am I pursuing?&#xA;&#xA;I did not find neat answers to all of these questions. But one thought became much clearer than the others:&#xA;&#xA;I want to live a long life and enjoy that time with the people I love.&#xA;&#xA;Put next to many of the goals I had accumulated over the years — earning more, staying ahead of every new technology, optimizing myself endlessly, becoming more efficient, consuming more experiences — some of them started to look suspiciously external.&#xA;&#xA;Not wrong, necessarily. But not fully mine either.&#xA;&#xA;That was uncomfortable to admit. A lot of what I had accepted as “normal goals” had quietly been shaped by a system built around productivity, optimization, comparison, and consumption. Only when that frame was interrupted did I begin to ask whether the system I was living inside was actually aligned with what I valued.&#xA;&#xA;Across these examples, the topics are different. Education. Emotional life. Digital infrastructure. Personal priorities.&#xA;&#xA;But the pattern feels similar.&#xA;&#xA;Systems optimize for what is visible, rewarded, and immediately legible. They do not automatically optimize for what is sustainable, meaningful, or capability-building over time. Unless those things are named explicitly and chosen repeatedly, they tend to get crowded out by easier metrics and more attractive narratives.&#xA;&#xA;This is true for institutions, organizations, teams, and individuals.&#xA;&#xA;A team can optimize for activity instead of progress.  &#xA;A company can optimize for reporting instead of learning.  &#xA;A person can optimize for image instead of alignment.  &#xA;A society can optimize for convenience instead of resilience.&#xA;&#xA;None of this happens because people are stupid or malicious. Usually it happens because systems are powerful, time is limited, and immediate rewards are persuasive.&#xA;&#xA;That is why I find it useful, from time to time, to step back and ask a simple question:&#xA;&#xA;What is this system optimizing for?&#xA;&#xA;And then maybe the harder one:&#xA;&#xA;Is that still what I want to optimize for myself?]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://write.moxnet.eu/tag:reflection" class="hashtag"><span>#</span><span class="p-category">reflection</span></a> <a href="https://write.moxnet.eu/tag:systems" class="hashtag"><span>#</span><span class="p-category">systems</span></a> <a href="https://write.moxnet.eu/tag:leadership" class="hashtag"><span>#</span><span class="p-category">leadership</span></a> <a href="https://write.moxnet.eu/tag:society" class="hashtag"><span>#</span><span class="p-category">society</span></a></p>

<blockquote><p>Parts of what follows grew out of several older posts I wrote on different topics that, at first glance, did not seem to belong together. Looking back, I realized they were circling around the same question from different angles. Instead of rewriting those posts, I decided to keep them as they are and try to synthesize the bigger pattern here.
Over time, I started noticing the same pattern in very different areas of life.</p></blockquote>

<p>In education, in technology, at work, and even in private life, systems tend to drift away from what builds long-term capability, resilience, and alignment. Instead, they optimize for what is easier to reward, easier to explain, or simply more attractive in the short term.</p>



<p>This rarely happens because someone planned it that way. It usually happens because incentives, habits, convenience, and social expectations quietly pull in that direction. Locally, the choices make sense. From a distance, they often look less convincing.</p>

<p>A while ago, I attended an information evening at my son’s school. Students could choose additional subjects based on their interests and possible future aspirations. The options included languages, natural sciences, engineering, and computer science.</p>

<p>What struck me was not the quality of the presentations, but where the attention went. The strongest interest seemed to go toward what felt culturally attractive, familiar, and easy to imagine, e.g. “If I learn Spanish, I&#39;ll be able to get better information from the locals when I travel around in South America.”. The more technical subjects, which demand more effort but also build deeper capabilities, generated less excitement.</p>

<p>This is not meant as criticism of individual choices. People react to the incentives and narratives around them. But it reminded me of something that shows up elsewhere too: systems often reward what looks good on the surface while undervaluing what is slower, harder, and more foundational.
In engineering, this would be obvious. If you keep optimizing the visible layer and neglect the structure underneath, sooner or later the system suffers.</p>

<p>Typical example I noticed very often is that you celebrate a team if they are able to produce a fix for a found bug quick. Which is of course commendable, but it&#39;s the same people who made the mistake in the first place. On the other hand teams that dealt with their bugs quietly and did their job properly, usually do not get the same level of visibility or appreciation for that matter.</p>

<p>A similar thing happens inside us.</p>

<p>For a long time, I thought of happiness as some kind of ideal state — a place where work feels right, private life is balanced, and the overall direction makes sense. The problem with that idea is not that it is wrong, but that it can become a distorted benchmark. Normal life starts to feel insufficient.</p>

<p>Over time, I became more interested in a different word: contentment.</p>

<p>Not as resignation, and not as lowering standards. More as a kind of inner stability. The ability to live with an internal critic without letting it dominate everything. The ability to accept that meaningful work, relationships, and responsibilities usually happen under imperfect conditions.</p>

<p>That feels closer to reality, especially in engineering and leadership. Projects do not become easier because uncertainty disappears. Teams do not grow because everything is smooth all the time. Most of the time, progress comes from staying oriented, noticing smaller moments of alignment, and continuing without demanding perfection from every phase.</p>

<p>The same pattern becomes visible when looking at technology on a larger scale.</p>

<p>In Europe, there is a lot of discussion about digital sovereignty, and rightly so. In many areas, the technical tools needed for more independent and privacy-conscious digital infrastructure already exist. Open-source solutions are mature enough for many use cases in education and public administration.</p>

<p>And yet, dependencies remain strong. Children learn “computer literacy” inside ecosystems that lock them in early. Public institutions rely on structures that are convenient in the short term but make long-term independence harder. Industry often seeks speed through partnerships while slowly giving away capability.</p>

<p>The interesting question is not whether cooperation is good. Of course it is. The more interesting question is what a system is optimizing for when it repeatedly chooses dependency over capability, convenience over resilience, or speed over long-term autonomy.</p>

<p>From an engineering perspective, this is not surprising. If resilience is not made an explicit goal, most systems will optimize for short-term constraints.</p>

<p>A few years ago, after my family suffered a significant personal loss, the same pattern appeared much closer to home.</p>

<p>I started asking myself uncomfortable questions. How much time is left? Am I happy with my life? What am I actually trying to achieve? And whose goals am I pursuing?</p>

<p>I did not find neat answers to all of these questions. But one thought became much clearer than the others:</p>

<p><em>I want to live a long life and enjoy that time with the people I love.</em></p>

<p>Put next to many of the goals I had accumulated over the years — earning more, staying ahead of every new technology, optimizing myself endlessly, becoming more efficient, consuming more experiences — some of them started to look suspiciously external.</p>

<p>Not wrong, necessarily. But not fully mine either.</p>

<p>That was uncomfortable to admit. A lot of what I had accepted as “normal goals” had quietly been shaped by a system built around productivity, optimization, comparison, and consumption. Only when that frame was interrupted did I begin to ask whether the system I was living inside was actually aligned with what I valued.</p>

<p>Across these examples, the topics are different. Education. Emotional life. Digital infrastructure. Personal priorities.</p>

<p>But the pattern feels similar.</p>

<p>Systems optimize for what is visible, rewarded, and immediately legible. They do not automatically optimize for what is sustainable, meaningful, or capability-building over time. Unless those things are named explicitly and chosen repeatedly, they tend to get crowded out by easier metrics and more attractive narratives.</p>

<p>This is true for institutions, organizations, teams, and individuals.</p>
<ul><li>A team can optimize for activity instead of progress.<br></li>
<li>A company can optimize for reporting instead of learning.<br></li>
<li>A person can optimize for image instead of alignment.<br></li>
<li>A society can optimize for convenience instead of resilience.</li></ul>

<p>None of this happens because people are stupid or malicious. Usually it happens because systems are powerful, time is limited, and immediate rewards are persuasive.</p>

<p>That is why I find it useful, from time to time, to step back and ask a simple question:</p>

<p><strong>What is this system optimizing for?</strong></p>

<p>And then maybe the harder one:</p>

<p><strong>Is that still what I want to optimize for myself?</strong></p>
]]></content:encoded>
      <guid>https://write.moxnet.eu/what-systems-optimize-for-and-what-they-dont</guid>
      <pubDate>Wed, 13 May 2026 13:18:28 +0200</pubDate>
    </item>
    <item>
      <title>Serving images comfortably in WriteFreely using NGINX and Nextcloud</title>
      <link>https://write.moxnet.eu/serving-images-comfortably-in-writefreely-using-nginx-and-nextcloud</link>
      <description>&lt;![CDATA[#smarthome #selfhosting&#xA;&#xA;WriteFreely, which I self-host for this blog, cannot natively serve images. It is designed so that you combine it with a photo serving platform like e.g. snap.as.&#xA;&#xA;I found the solution for this problem by using NGINX and Nextcloud:&#xA;&#xA;I use a Nextcloud folder to upload the images I want to use.&#xA;Then using NGINX reverse proxy I expose that folder.&#xA;&#xA;  # Serve images                                                                        &#xA;        location /images/ {                                                                   &#xA;                 alias /home/ncdata/Kemal/files/Public/;                                     &#xA;                 autoindex off;                                                               &#xA;                 accesslog off;                                                              &#xA;                 expires 30d;                                                                 &#xA;                 add_header Cache-Control &#34;public&#34;;                                           &#xA;                 } &#xA;After that I can link images in the blog posts using this&#xA;&#xA;Name&#xA;&#xA;Hope this helps someone else also.&#xA;&#xA;Keep on hacking!&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://write.moxnet.eu/tag:smarthome" class="hashtag"><span>#</span><span class="p-category">smarthome</span></a> <a href="https://write.moxnet.eu/tag:selfhosting" class="hashtag"><span>#</span><span class="p-category">selfhosting</span></a></p>

<p>WriteFreely, which I self-host for this blog, cannot natively serve images. It is designed so that you combine it with a photo serving platform like e.g. <a href="https://snap.as/">snap.as</a>.</p>

<p>I found the solution for this problem by using NGINX and Nextcloud:</p>
<ul><li>I use a Nextcloud folder to upload the images I want to use.</li>
<li>Then using NGINX reverse proxy I expose that folder.</li></ul>

<pre><code>  # Serve images                                                                        
        location /images/ {                                                                   
                 alias /home/nc_data/Kemal/files/Public/;                                     
                 autoindex off;                                                               
                 access_log off;                                                              
                 expires 30d;                                                                 
                 add_header Cache-Control &#34;public&#34;;                                           
                 } 
</code></pre>
<ul><li>After that I can link images in the blog posts using this</li></ul>

<pre><code>![Name](https://write.moxnet.eu/images/Name.jpg)
</code></pre>

<p>Hope this helps someone else also.</p>

<p>Keep on hacking!</p>
]]></content:encoded>
      <guid>https://write.moxnet.eu/serving-images-comfortably-in-writefreely-using-nginx-and-nextcloud</guid>
      <pubDate>Wed, 22 Apr 2026 15:43:34 +0200</pubDate>
    </item>
    <item>
      <title>Brainiac v1.2 released</title>
      <link>https://write.moxnet.eu/brainiac-v1-2-released</link>
      <description>&lt;![CDATA[#emacs #brainiac #productivity #systems&#xA;&#xA;Hello everyone!&#xA;&#xA;I have been using the Brainiac intensively over the last months and made some changes to the configuration along the way. Get your update here or from Codeberg.&#xA;&#xA;Improvements:&#xA;&#xA;Added journal.org to the list of refile targets.&#xA;Reduced the width of comment, source, etc. boxes in brainiac.css.&#xA;The attached items are now visibly listed in the drawer of the headline.&#xA;Minor changes in the configuration, e.g. increase of idle time etc.&#xA;&#xA;New things:&#xA;&#xA;Added org-crypt to the config, so that sensitive information can be encrypted if storing files on public servers.&#xA;To integrate Brainiac into your system menu, I propose the following: copy brainiac.desktop to ~/.local/share/applications and brainiac.svg to ~/.local/share/icons.&#xA;I added basic AI support by using a customized ollama-buddy-mini and running models locally with ollama. Although I previously stated that Brainiac would not have AI, the chosen combination presents a nice compromise between functionality and privacy.&#xA;I also introduced the abbrev-mode as a template storage for some useful org templates and as a mechanism for storing AI prompts for future usage.&#xA;In order to consolidate important functions and keystrokes, I configured a menu which can be reached by pressing C-c b using transient.]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://write.moxnet.eu/tag:emacs" class="hashtag"><span>#</span><span class="p-category">emacs</span></a> <a href="https://write.moxnet.eu/tag:brainiac" class="hashtag"><span>#</span><span class="p-category">brainiac</span></a> <a href="https://write.moxnet.eu/tag:productivity" class="hashtag"><span>#</span><span class="p-category">productivity</span></a> <a href="https://write.moxnet.eu/tag:systems" class="hashtag"><span>#</span><span class="p-category">systems</span></a></p>

<p>Hello everyone!</p>

<p>I have been using the Brainiac intensively over the last months and made some changes to the configuration along the way. Get your update <a href="https://write.moxnet.eu/images/brainiac_v1.2.zip">here</a> or from <a href="https://codeberg.org/kemal/brainiac">Codeberg</a>.</p>

<p>Improvements:</p>
<ul><li>Added <code>journal.org</code> to the list of refile targets.</li>
<li>Reduced the width of comment, source, etc. boxes in <code>brainiac.css</code>.</li>
<li>The attached items are now visibly listed in the drawer of the headline.</li>
<li>Minor changes in the configuration, e.g. increase of idle time etc.</li></ul>

<p>New things:</p>
<ul><li>Added <code>org-crypt</code> to the config, so that sensitive information can be encrypted if storing files on public servers.</li>
<li>To integrate Brainiac into your system menu, I propose the following: copy <code>brainiac.desktop</code> to <code>~/.local/share/applications</code> and <code>brainiac.svg</code> to <code>~/.local/share/icons</code>.</li>
<li>I added basic AI support by using a customized <code>ollama-buddy-mini</code> and running models locally with <code>ollama</code>. Although I previously stated that Brainiac would not have AI, the chosen combination presents a nice compromise between functionality and privacy.</li>
<li>I also introduced the <code>abbrev-mode</code> as a template storage for some useful <code>org</code> templates and as a mechanism for storing AI prompts for future usage.</li>
<li>In order to consolidate important functions and keystrokes, I configured a menu which can be reached by pressing <code>C-c b</code> using <code>transient</code>.</li></ul>
]]></content:encoded>
      <guid>https://write.moxnet.eu/brainiac-v1-2-released</guid>
      <pubDate>Sun, 22 Feb 2026 14:37:47 +0100</pubDate>
    </item>
    <item>
      <title>Getting proper audio setup on Ubuntu 24.04</title>
      <link>https://write.moxnet.eu/getting-professional-grade-audio-working-on-ubuntu-24-04</link>
      <description>&lt;![CDATA[#linux #sound&#xA;&#xA;This setup was done on an HP EliteBook 840 with Intel Tiger Lake hardware, running Ubuntu 24.04 LTS, but I used tips from Arch Wiki as well. So I presume most of it is transferable to other distributions.&#xA;&#xA;Ubuntu ships with PipeWire and WirePlumber by default, which is a solid audio foundation—but getting microphone with noise suppression and sane device naming requires some manual tuning.&#xA;&#xA;!--more--&#xA;&#xA;Enable Pro Audio Mode for the microphone to work&#xA;&#xA;To be able to use the microphone, the audio card must run in pro-audio profile, which can be done with pactl. Now open alsamixer and set all relevant channels to 100%. Then test the mic.&#xA;&#xA;When the mic starts working we need some noise suppression, in order to use it for calls.&#xA;Install RNNoise for PipeWire from here:&#xA;&#xA;👉 https://github.com/werman/noise-suppression-for-voice&#xA;&#xA;Once installed, we need to set the RNNoise source as your default microphone. For that, and other tweaks, I recommend to take the code below, put it in a script and run it on every reboot.&#xA;&#xA;pactl set-card-profile alsacard.pci-0000001f.3-platform-sklhdadspgeneric pro-audio&#xA;pactl set-default-sink alsaoutput.pci-0000001f.3-platform-sklhdadspgeneric.pro-output-0&#xA;amixer -c 0 set Master 100%&#xA;pactl set-default-source rnnoisesource&#xA;&#xA;WirePlumber Configuration&#xA;&#xA;WirePlumber allows fine-grained control over audio devices using Lua scripts.&#xA;&#xA;Default ALSA device names are long and unreadable. This rule renames the main audio device to something human-friendly.&#xA;&#xA;rule = {&#xA;  matches = {&#xA;    {&#xA;      { &#34;device.name&#34;, &#34;matches&#34;, &#34;alsacard.pci-0000001f.3-platform-sklhdadspgeneric&#34; },&#xA;    },&#xA;  },&#xA;  applyproperties = {&#xA;    [&#34;device.description&#34;] = &#34;Laptop Audio&#34;&#xA;  },&#xA;}&#xA;&#xA;table.insert(alsamonitor.rules, rule)&#xA;&#xA;Pro-audio mode exposes many unused nodes. Disabling them keeps the device list clean and avoids accidental routing.&#xA;&#xA;rule = {&#xA;  matches = {&#xA;    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsaoutput.pci-0000001f.3-platform-sklhdadspgeneric.pro-output-3&#34; } },&#xA;    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsaoutput.pci-0000001f.3-platform-sklhdadspgeneric.pro-output-4&#34; } },&#xA;    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsaoutput.pci-0000001f.3-platform-sklhdadspgeneric.pro-output-5&#34; } },&#xA;    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsaoutput.pci-0000001f.3-platform-sklhdadspgeneric.pro-output-31&#34; } },&#xA;    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsainput.pci-0000001f.3-platform-sklhdadspgeneric.pro-input-0&#34; } },&#xA;    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsainput.pci-0000001f.3-platform-sklhdadspgeneric.pro-input-6&#34; } },&#xA;  },&#xA;  applyproperties = {&#xA;    [&#34;node.disabled&#34;] = true,&#xA;  },&#xA;}&#xA;&#xA;table.insert(alsa_monitor.rules, rule)&#xA;&#xA;Faster audio source/sink switching in GNOME&#xA;&#xA;For this install the GNOME extension:&#xA;&#xA;Quick Settings Audio Panel&#xA;&#xA;This makes switching audio sources and sinks fast and practical during daily work.&#xA;&#xA;Enjoy!]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://write.moxnet.eu/tag:linux" class="hashtag"><span>#</span><span class="p-category">linux</span></a> <a href="https://write.moxnet.eu/tag:sound" class="hashtag"><span>#</span><span class="p-category">sound</span></a></p>

<p>This setup was done on an <strong>HP EliteBook 840</strong> with <strong>Intel Tiger Lake</strong> hardware, running <strong>Ubuntu 24.04 LTS</strong>, but I used tips from Arch Wiki as well. So I presume most of it is transferable to other distributions.</p>

<p>Ubuntu ships with PipeWire and WirePlumber by default, which is a solid audio foundation—but getting <strong>microphone with noise suppression</strong> and sane device naming requires some manual tuning.</p>



<h2 id="enable-pro-audio-mode-for-the-microphone-to-work" id="enable-pro-audio-mode-for-the-microphone-to-work">Enable Pro Audio Mode for the microphone to work</h2>

<p>To be able to use the microphone, the audio card must run in <strong>pro-audio</strong> profile, which can be done with <code>pactl</code>. Now open <code>alsamixer</code> and set <strong>all relevant channels to 100%</strong>. Then test the mic.</p>

<p>When the mic starts working we need some noise suppression, in order to use it for calls.
Install <strong>RNNoise for PipeWire</strong> from here:</p>

<p>👉 <a href="https://github.com/werman/noise-suppression-for-voice">https://github.com/werman/noise-suppression-for-voice</a></p>

<p>Once installed, we need to set the RNNoise source as your default microphone. For that, and other tweaks, I recommend to take the code below, put it in a script and run it on every reboot.</p>

<pre><code class="language-sh">pactl set-card-profile alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic pro-audio
pactl set-default-sink alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-0
amixer -c 0 set Master 100%
pactl set-default-source rnnoise_source
</code></pre>

<h2 id="wireplumber-configuration" id="wireplumber-configuration">WirePlumber Configuration</h2>

<p>WirePlumber allows fine-grained control over audio devices using Lua scripts.</p>

<p>Default ALSA device names are long and unreadable. This rule renames the main audio device to something human-friendly.</p>

<pre><code class="language-lua">rule = {
  matches = {
    {
      { &#34;device.name&#34;, &#34;matches&#34;, &#34;alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic&#34; },
    },
  },
  apply_properties = {
    [&#34;device.description&#34;] = &#34;Laptop Audio&#34;
  },
}

table.insert(alsa_monitor.rules, rule)
</code></pre>

<p>Pro-audio mode exposes many unused nodes. Disabling them keeps the device list clean and avoids accidental routing.</p>

<pre><code class="language-lua">rule = {
  matches = {
    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-3&#34; } },
    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-4&#34; } },
    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-5&#34; } },
    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-31&#34; } },
    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-0&#34; } },
    { { &#34;node.name&#34;, &#34;equals&#34;, &#34;alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-6&#34; } },
  },
  apply_properties = {
    [&#34;node.disabled&#34;] = true,
  },
}

table.insert(alsa_monitor.rules, rule)
</code></pre>

<h2 id="faster-audio-source-sink-switching-in-gnome" id="faster-audio-source-sink-switching-in-gnome">Faster audio source/sink switching in GNOME</h2>

<p>For this install the GNOME extension:</p>

<p><strong>Quick Settings Audio Panel</strong></p>

<p>This makes switching audio sources and sinks fast and practical during daily work.</p>

<p>Enjoy!</p>
]]></content:encoded>
      <guid>https://write.moxnet.eu/getting-professional-grade-audio-working-on-ubuntu-24-04</guid>
      <pubDate>Thu, 19 Feb 2026 09:48:58 +0100</pubDate>
    </item>
    <item>
      <title>Let&#39;s say it together: &#34;I don&#39;t care.&#34;</title>
      <link>https://write.moxnet.eu/lets-say-it-together-i-dont-care</link>
      <description>&lt;![CDATA[#technology #leadership&#xA;&#xA;Because &#34;... each tiny &#34;I don&#39;t care&#34; iteration to tech products is a small step closer to Star Trek&#39;s promised land of holodecks, abundance, and hot aliens ...&#34;, and I want that future!&#xA;&#xA;  Note to leaders. &#xA;&#xA;  Have a look at what your team is working on, are you producing real future proof value for the company or just chasing another tech trend trying to show that you are „on the bleeding edge“?&#xA;&#xA;  Producing real value doesn’t just help your company keep the business in long term, it gives your team purpose and enables them to optimize their contribution.]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://write.moxnet.eu/tag:technology" class="hashtag"><span>#</span><span class="p-category">technology</span></a> <a href="https://write.moxnet.eu/tag:leadership" class="hashtag"><span>#</span><span class="p-category">leadership</span></a></p>

<p>Because “... <a href="https://lifehacker.com/tech/why-tech-launches-stopped-feeling-magical?utm_medium=RSS">each tiny “I don&#39;t care” iteration to tech products is a small step closer to Star Trek&#39;s promised land of holodecks, abundance, and hot aliens</a> ...“, and I want that future!</p>

<blockquote><p>Note to leaders.</p>

<p>Have a look at what your team is working on, are you producing real future proof value for the company or just chasing another tech trend trying to show that you are „on the bleeding edge“?</p>

<p>Producing real value doesn’t just help your company keep the business in long term, it gives your team purpose and enables them to optimize their contribution.</p></blockquote>
]]></content:encoded>
      <guid>https://write.moxnet.eu/lets-say-it-together-i-dont-care</guid>
      <pubDate>Tue, 13 Jan 2026 14:59:55 +0100</pubDate>
    </item>
    <item>
      <title>Did you notice the way you walk?</title>
      <link>https://write.moxnet.eu/did-you-notice-the-way-you-walk</link>
      <description>&lt;![CDATA[#health #leadership&#xA;&#xA;A couple of days ago I was going to the office. It was Friday, I had some meetings scheduled and some light office tasks to do. All in all, it should be an easy day as  it was the first working week of the year.&#xA;&#xA;As I was walking from the car park to the office, I noticed a guy walking in front of me. He was strolling along, with a coffee in his hand and looking kind of dreamy. Unintentionally I set off to overtake him and hurry along my way.&#xA;Then it hit me: &#34;Why am I in a hurry?&#34;. As I wrote above, there is no urgent meeting that I needed to attend or a task I had to do. Where did this urge to overtake him and look busy come from?&#xA;&#xA;The modern life being promoted around us, teaches us not to loose time and to always be busy. If we are not, then we will not be successful, reach our goals or we will simply be brand-marked as slackers.&#xA;&#xA;But this time I intentionally chose to stop my overtaking and match the speed of a dreamy looking guy. Our lives are marathons, not sprints. Preserve your energy for the moments where you really need them.]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://write.moxnet.eu/tag:health" class="hashtag"><span>#</span><span class="p-category">health</span></a> <a href="https://write.moxnet.eu/tag:leadership" class="hashtag"><span>#</span><span class="p-category">leadership</span></a></p>

<p>A couple of days ago I was going to the office. It was Friday, I had some meetings scheduled and some light office tasks to do. All in all, it should be an easy day as  it was the first working week of the year.</p>

<p>As I was walking from the car park to the office, I noticed a guy walking in front of me. He was strolling along, with a coffee in his hand and looking kind of dreamy. Unintentionally I set off to overtake him and hurry along my way.
Then it hit me: “Why am I in a hurry?”. As I wrote above, there is no urgent meeting that I needed to attend or a task I had to do. Where did this urge to overtake him and look busy come from?</p>

<p>The modern life being promoted around us, teaches us not to loose time and to always be busy. If we are not, then we will not be successful, reach our goals or we will simply be brand-marked as slackers.</p>

<p>But this time I intentionally chose to stop my overtaking and match the speed of a dreamy looking guy. Our lives are marathons, not sprints. Preserve your energy for the moments where you really need them.</p>
]]></content:encoded>
      <guid>https://write.moxnet.eu/did-you-notice-the-way-you-walk</guid>
      <pubDate>Mon, 12 Jan 2026 13:19:01 +0100</pubDate>
    </item>
    <item>
      <title>Reasons for high Employee Engagement Index</title>
      <link>https://write.moxnet.eu/reasons-for-high-employee-engagement-index</link>
      <description>&lt;![CDATA[leadership&#xA;&#xA;This year the company did their bi-annual Employee Survey powered by Gallup. As we did this 2 years ago, my team&#39;s results were among the lowest ranking. But this time the Employees Engagement Index went up significantly. I was rated very good by the people I lead concerning my leadership skills and they showed way higher engagement values than comparable teams.&#xA;So what led to this improvement?&#xA;&#xA;!--more--&#xA;&#xA;I took the low results very seriously. In the first workshop I had with the team they stated that most of the ratings are low due to volatile project goals, instabilities in the software we are testing, too short timelines, etc. So a lot of stuff you could put in the drawer „That’s life, not under my control.“ and forget about it. But I didn’t.&#xA;I invested a lot of time in 1:1 talks, smaller workshops and did a lot of incremental changes to the processes, meeting culture, external marketing of the team’s successes. &#xA;&#xA;As the new results came in and we improved across the board, I was very proud and happy about it. I couldn’t stop talking about it for weeks 🤣. I think at some point everyone was getting bored by me, but I didn’t care 😬.&#xA;&#xA;After reflecting on the new results and talking to my team, I think the reasons boil down to these two important cultural pillars:&#xA;&#xA;Take responsibility and give your team focus by making decisions when they need it. The worst thing you can do is to get afraid and try to sit it out. If you do that, the whole team will grind to a halt. We live in chaotic and volatile (business) times. People need clear direction and managers should be the people giving them what they need. Sometimes you can just say what has to be done in this week, so do that and be open about the low visibility. When the visibility gets better, then aim for longer time periods and loosen the „micromanagement“. &#xA;&#xA;Be authentic and treat your people the way you would want to be treated. I do not believe in the nonsense of „separate your personal and work behaviors“, because I think you would need to be a psychopath to be able to pull that off convincingly. E.g. when you are sick, do you want your boss asking you to join meetings or call you during your sick days? No, you probably want some words of assurance that everything will be taken care of, that you should go offline and have some (chicken) soup. The same applies if you find out that your employee has a sick child, wife has family issues etc. Treat your team with respect and speak to them openly about the good things and the improvement points. Integrity is the magic word.]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://write.moxnet.eu/tag:leadership" class="hashtag"><span>#</span><span class="p-category">leadership</span></a></p>

<p>This year the company did their bi-annual Employee Survey powered by <a href="https://www.gallup.com/home.aspx">Gallup</a>. As we did this 2 years ago, my team&#39;s results were among the lowest ranking. But this time the Employees Engagement Index went up significantly. I was rated very good by the people I lead concerning my leadership skills and they showed way higher engagement values than comparable teams.
So what led to this improvement?</p>



<p>I took the low results very seriously. In the first workshop I had with the team they stated that most of the ratings are low due to volatile project goals, instabilities in the software we are testing, too short timelines, etc. So a lot of stuff you could put in the drawer „That’s life, not under my control.“ and forget about it. But I didn’t.
I invested a lot of time in 1:1 talks, smaller workshops and did a lot of incremental changes to the processes, meeting culture, external marketing of the team’s successes.</p>

<p>As the new results came in and we improved across the board, I was very proud and happy about it. I couldn’t stop talking about it for weeks 🤣. I think at some point everyone was getting bored by me, but I didn’t care 😬.</p>

<p>After reflecting on the new results and talking to my team, I think the reasons boil down to these two important cultural pillars:</p>
<ul><li><p>Take responsibility and give your team focus by making decisions when they need it. The worst thing you can do is to get afraid and try to sit it out. If you do that, the whole team will grind to a halt. We live in chaotic and volatile (business) times. People need clear direction and managers should be the people giving them what they need. Sometimes you can just say what has to be done in this week, so do that and be open about the low visibility. When the visibility gets better, then aim for longer time periods and loosen the „micromanagement“.</p></li>

<li><p>Be authentic and treat your people the way you would want to be treated. I do not believe in the nonsense of „separate your personal and work behaviors“, because I think you would need to be a psychopath to be able to pull that off convincingly. E.g. when you are sick, do you want your boss asking you to join meetings or call you during your sick days? No, you probably want some words of assurance that everything will be taken care of, that you should go offline and have some (chicken) soup. The same applies if you find out that your employee has a sick child, wife has family issues etc. Treat your team with respect and speak to them openly about the good things and the improvement points. Integrity is the magic word.</p></li></ul>
]]></content:encoded>
      <guid>https://write.moxnet.eu/reasons-for-high-employee-engagement-index</guid>
      <pubDate>Sat, 03 Jan 2026 22:01:32 +0100</pubDate>
    </item>
    <item>
      <title>Year of consistency </title>
      <link>https://write.moxnet.eu/year-of-consistency</link>
      <description>&lt;![CDATA[#reflection #okr&#xA;&#xA;It‘s start of the year and time of dreaming about big goals we want to achieve this year. I tend to give myself too many, or too ambitious, goals. Then I either drive myself crazy to reach them, or the regular life gets to me and I get a bad feeling in the stomach because of „my failure“.&#xA;&#xA;This year I‘ll just aim for consistency in healthy habits and things that give me joy, e.g. if my goal is regular running then I‘ll aim to go like 3 times a week but do not care about the speed or distance, or I’ll try to go fishing once a week even if it’s just a couple of hours etc.]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://write.moxnet.eu/tag:reflection" class="hashtag"><span>#</span><span class="p-category">reflection</span></a> <a href="https://write.moxnet.eu/tag:okr" class="hashtag"><span>#</span><span class="p-category">okr</span></a></p>

<p>It‘s start of the year and time of dreaming about big goals we want to achieve this year. I tend to give myself too many, or too ambitious, goals. Then I either drive myself crazy to reach them, or the regular life gets to me and I get a bad feeling in the stomach because of „my failure“.</p>

<p>This year I‘ll just aim for consistency in healthy habits and things that give me joy, e.g. if my goal is regular running then I‘ll aim to go like 3 times a week but do not care about the speed or distance, or I’ll try to go fishing once a week even if it’s just a couple of hours etc.</p>
]]></content:encoded>
      <guid>https://write.moxnet.eu/year-of-consistency</guid>
      <pubDate>Fri, 02 Jan 2026 15:01:26 +0100</pubDate>
    </item>
    <item>
      <title>Not every task is worth it</title>
      <link>https://write.moxnet.eu/not-every-task-is-worth-it</link>
      <description>&lt;![CDATA[#productivity #reflection&#xA;&#xA;I often read about people „living“ in their TODO list, meaning everything that comes to mind, is seen on the net, needs to be done someday (maybe), … gets jotted down and processed thru their productivity system. The purpose of this is to not forget anything and to live a quantified, but relaxed life, as everything is recorded and nothing is forgotten.&#xA;&#xA;Although I can relate to the „nothing gets forgotten“ part, because I need this to ease my mind, having everything I need to do in a day, week, … added to my TODO list, makes me feel like a machine and I actually feel psychological pressure to „get those tasks done“. I do not like it.&#xA;&#xA;Every once in a while I fall down that rabbit hole and start filling my main.org with everything possible. But then at some point the list gets too long and I start feeling that pressure of still having „so many open tasks“ when the day is done. The only thing that helps then is to radically go thru the list and delete all the junk that is not 100% a real task, that has to get done, or a note which has value and shall be kept.]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://write.moxnet.eu/tag:productivity" class="hashtag"><span>#</span><span class="p-category">productivity</span></a> <a href="https://write.moxnet.eu/tag:reflection" class="hashtag"><span>#</span><span class="p-category">reflection</span></a></p>

<p>I often read about people „living“ in their TODO list, meaning everything that comes to mind, is seen on the net, needs to be done someday (maybe), … gets jotted down and processed thru their productivity system. The purpose of this is to not forget anything and to live a quantified, but relaxed life, as everything is recorded and nothing is forgotten.</p>

<p>Although I can relate to the „nothing gets forgotten“ part, because I need this to ease my mind, having everything I need to do in a day, week, … added to my TODO list, makes me feel like a machine and I actually feel psychological pressure to „get those tasks done“. I do not like it.</p>

<p>Every once in a while I fall down that rabbit hole and start filling my <code>main.org</code> with everything possible. But then at some point the list gets too long and I start feeling that pressure of still having „so many open tasks“ when the day is done. The only thing that helps then is to radically go thru the list and <strong>delete all the junk that is not 100% a real task, that has to get done, or a note which has value and shall be kept</strong>.</p>
]]></content:encoded>
      <guid>https://write.moxnet.eu/not-every-task-is-worth-it</guid>
      <pubDate>Tue, 30 Dec 2025 16:02:19 +0100</pubDate>
    </item>
    <item>
      <title>Brainiac v1.1 released</title>
      <link>https://write.moxnet.eu/brainiac-v1-1-released</link>
      <description>&lt;![CDATA[Brainiac v1.1 released&#xA;&#xA;#emacs #orgmode #brainiac #gtd #productivity&#xA;&#xA;Brainiac is a minimal, distraction-free Emacs configuration designed for GTD workflows, notes, and task management using Org-mode. This v1.1 update focuses on stability and workflow refinements — keeping the setup lightweight while improving daily use.&#xA;&#xA;If you&#39;re new to Brainiac, check out the original introduction to learn about the philosophy behind this configuration.&#xA;&#xA;!--more--&#xA;&#xA;For the past four months, Brainiac has been my daily Emacs setup for managing work projects, personal tasks, notes, and planning. I’m genuinely impressed by how little needed to change — proof that a simple Emacs workflow can stay effective without constant tweaking.&#xA;&#xA;✅ What’s New in v1.1&#xA;&#xA;Default search now uses rgrep instead of find-grep-dired&#xA;Added ultra-scroll for smoother scrolling over large images&#xA;Removed DONE tasks from agenda to reduce clutter&#xA;New focused Day Agenda:&#xA;&#xA;  Scheduled tasks, deadlines, and priority backlog ([#A])&#xA;New Week Agenda:&#xA;&#xA;  Full week view + entire backlog to support weekly review flow&#xA;Statistic cookies auto-update on save (accurate project status always)&#xA;Improved print CSS to prevent long lines from overflowing&#xA;&#xA;Along with the update, you’ll now find a picture of Brainiac — a friendly organization-loving robot — in the config folder. Enjoy the company!&#xA;&#xA;Get your update from here.&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<h2 id="brainiac-v1-1-released" id="brainiac-v1-1-released">Brainiac v1.1 released</h2>

<p><a href="https://write.moxnet.eu/tag:emacs" class="hashtag"><span>#</span><span class="p-category">emacs</span></a> <a href="https://write.moxnet.eu/tag:orgmode" class="hashtag"><span>#</span><span class="p-category">orgmode</span></a> <a href="https://write.moxnet.eu/tag:brainiac" class="hashtag"><span>#</span><span class="p-category">brainiac</span></a> <a href="https://write.moxnet.eu/tag:gtd" class="hashtag"><span>#</span><span class="p-category">gtd</span></a> <a href="https://write.moxnet.eu/tag:productivity" class="hashtag"><span>#</span><span class="p-category">productivity</span></a></p>

<p>Brainiac is a minimal, distraction-free Emacs configuration designed for GTD workflows, notes, and task management using Org-mode. This v1.1 update focuses on stability and workflow refinements — keeping the setup lightweight while improving daily use.</p>

<p>If you&#39;re new to Brainiac, check out the <a href="https://write.moxnet.eu/brainiac-v1-0-released">original introduction</a> to learn about the philosophy behind this configuration.</p>



<p>For the past four months, Brainiac has been my daily Emacs setup for managing work projects, personal tasks, notes, and planning. I’m genuinely impressed by how little needed to change — proof that a simple Emacs workflow can stay effective without constant tweaking.</p>

<h2 id="what-s-new-in-v1-1" id="what-s-new-in-v1-1">✅ What’s New in v1.1</h2>
<ul><li>Default search now uses <code>rgrep</code> instead of <code>find-grep-dired</code></li>
<li>Added <code>ultra-scroll</code> for smoother scrolling over large images</li>
<li>Removed <code>DONE</code> tasks from agenda to reduce clutter</li>

<li><p>New focused <strong>Day Agenda</strong>:</p>
<ul><li>Scheduled tasks, deadlines, and priority backlog (<code>[#A]</code>)</li></ul></li>

<li><p>New <strong>Week Agenda</strong>:</p>
<ul><li>Full week view + entire backlog to support weekly review flow</li></ul></li>

<li><p>Statistic cookies auto-update on save (accurate project status always)</p></li>

<li><p>Improved print CSS to prevent long lines from overflowing</p></li></ul>

<p>Along with the update, you’ll now find a picture of Brainiac — a friendly organization-loving robot — in the <code>config</code> folder. Enjoy the company!</p>

<p>Get your update from <a href="https://write.moxnet.eu/images/brainiac_v1.1.zip">here</a>.</p>
]]></content:encoded>
      <guid>https://write.moxnet.eu/brainiac-v1-1-released</guid>
      <pubDate>Tue, 04 Nov 2025 20:12:30 +0100</pubDate>
    </item>
  </channel>
</rss>