write@moxnet

Reader

Read the latest posts from write@moxnet.

from Kemal's Braindump

#brainiac #emacs

As multiple people commented that I should not distribute as .zip, I decided to follow the recommendation and pushed the Brainiac v1.2 to Codeberg.

I will keep the .zip packages I already created in order not to brake the links in the previous blog posts, but from now on I will publicly release over that Codeberg repository.

 
Read more...

from Kemal's Braindump

#emacs #brainiac #productivity

Hello everyone!

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.

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

New things: – Added org-crypt to the config, so that sensitive information can be encrypted if storing files on public servers. – 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. – 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. – 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. – In order to consolidate important functions and keystrokes, I configured a menu which can be reached by pressing C-c b using transient.

 
Read more...

from Kemal's Braindump

#linux #sound

This setup was done on an HP EliteBook 840 with Intel Tiger Lake hardware, running Ubuntu 24.04 LTS.

Ubuntu 24.04 ships with PipeWire and WirePlumber by default, which is a solid foundation—but getting microphone, noise suppression, and sane device naming to work properly on this platform still requires some manual tuning.

Enable Pro Audio Mode

To be able to use the microphone, the audio card must run in pro-audio profile.

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

After switching profiles:

  1. Open alsamixer and set all relevant channels to 100%
  2. Take the code above, put it in a script and run it on every reboot.

WirePlumber Configuration

WirePlumber allows fine-grained control over audio devices using Lua scripts.

Configuration files are placed in:

~/.config/wireplumber/main.lua.d/

Rename the Audio Device

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

rule = {
  matches = {
    {
      { "device.name", "matches", "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" },
    },
  },
  apply_properties = {
    ["device.description"] = "Laptop Audio"
  },
}

table.insert(alsa_monitor.rules, rule)

Disable Unused Inputs and Outputs

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

rule = {
  matches = {
    { { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-3" } },
    { { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-4" } },
    { { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-5" } },
    { { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-31" } },
    { { "node.name", "equals", "alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-0" } },
    { { "node.name", "equals", "alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-6" } },
  },
  apply_properties = {
    ["node.disabled"] = true,
  },
}

table.insert(alsa_monitor.rules, rule)

Noise Suppression

For calls and recordings noise suppression is essential.

Install RNNoise for PipeWire from here:

👉 https://github.com/werman/noise-suppression-for-voice

Once installed, set the RNNoise source as your default microphone (see script above).

Faster Audio Switching in GNOME

Install the GNOME extension:

Quick Settings Audio Panel

This makes switching audio sources and sinks fast and practical during daily work.

Final Result

On an HP EliteBook 840 (Intel Tiger Lake) with Ubuntu 24.04 LTS, this setup delivers:

  • Clean and stable microphone input
  • System-wide noise suppression
  • Readable audio device names
  • No unused or confusing audio nodes

Enjoy!

 
Read more...

from Kemal's Braindump

#society

My son is now at that point of his education where he can choose some subjects based on his interests and possible carrier aspirations. Last night the teachers were pitching their classes, so that the students can make informed decisions and parents can help them choose (wisely). Offered classes are: – Spanish language – Russian language – Natural Sciences and Engineering – Computer Science

The pitch for Spanish concentrated on the fact that you learn another widely spoken language and the associated culture. Then they started showing pictures of people traveling thru Spain, Americas etc. and talking about how it was great that they could speak with tourist guides in their native language. The Russian teacher tried to explain why it is very important to learn also this language, as it's one of the languages in the Slavic group and these are spoken in a lot of European (if not strictly EU) countries. Pulling east and west of Europe closer together in the future was one of the topics mentioned. The Engineering and Informatics people concentrated that in these subjects you will learn how stuff like instant messaging works, how to solve technical problems, how to build things with your hands, write computer code, improve team work etc. etc.

So about which class did the perspective students and their parents have the most questions? It was ... Spanish!!!!!! That the kids see nice selfies and think “Oh cool stuff!” and “This will be an easier class to pass.” is understandable. But that their parents still didn't learn that carrier opportunities for their kids lie in sciences and informatics, is really beyond me. I guess this is the sickness of modern western society, where people want all the pleasures of life but do not want to learn or work hard for them. Guess they think this will fall from the sky or be achieved by talking nice and extorting wealth from some long lost colonies?

Wake up Europe ... that is over.

 
Read more...

from Kemal's Braindump

#health

Are you chasing happiness in your life, or is it enough to be content? Happiness seems to be an ideal, which could be hard to reach … at least for the perfectionists among us.

What would it mean to live a happy life? Everything would have to be perfect, be it at work or in our private life. We would be in a good mood and positive every minute of our life. Doesn’t seem very likely, unless you are a monk, spiritual guru or similar.

What would it then be to live a content life? We would have to live with our inner critic and keep him under control as far as possible. Seek calm and be positive when it’s possible and accept that nothing we do will ever perfect, that life will throw a lot of hardships our way. As the saying goes „be happy with small things“ and try to accumulate as many of those moments as possible. This will fuel you thru the next phase, where happiness is just a distant thought.

 
Read more...