Skip to main content

Posts

Fedora Proart Tips

I’ve been a Linux user for a long time, and historically my comfort zone has been “hands-on” distributions: Slackware, Gentoo, Debian, Arch Linux. I also virtualize heavily. I started back in the day with OpenVZ, then moved to VMware Workstation… until I got fed up with the constant “you must patch your kernel” routine to keep things working smoothly. Recently I got an Asus ProArt P16 (AMD Ryzen 9 + NVIDIA GPU). Great machine—until I tried to install my usual favorite Linux distributions. To my surprise, none of them handled the hardware properly (or at least not enough to reliably use the laptop day-to-day). I then tried Fedora 43 , and it immediately handled the basics out of the box — the minimum needed to actually use the system. After a bit more digging, I realized I needed to explicitly enable the NVIDIA dGPU. The fix was simple once you know it: supergfxctl --mode Hybrid Then came the “random Google search” moment: I searched for a Fedora derivative that would handle the...
Recent posts

LazyGit AI Commit Message

Having AI‑generated commit messages directly integrated into LazyGit If you use LazyGit every day, you already know how it turns Git from a chore into something you can actually enjoy. But there is one part of the workflow that still tends to feel a bit tedious: writing good commit messages. In this post, I show how to plug OpenAI models directly into LazyGit using a tiny one‑file BASH script, so you can get AI‑generated commit messages based on your actual diffs, without waiting for external tools to catch up with the new OpenAI Responses API . The result is a minimal, focused tool you can drop into your setup today: lgaicm . It behaves like a mini aichat that does exactly one thing: generate commit messages from Git diffs, optimized for LazyGit. Why AI‑generated commit messages in LazyGit? Commit messages matter. They are the stor...

Journey Samsung Devices

My Journey with Samsung Devices: From Galaxy S to the Ultra Era Over the years, smartphones have come and gone, but for me, one brand has defined more than a decade of my tech life — Samsung . It all started in 2010 . The Early Days: Galaxy S to Note 3 My first Samsung was the Galaxy S (2010) — the beginning of an era. It was sleek, fast, and years ahead of what other Android phones offered at the time.   In 2011 , I moved to the Galaxy S2 , the brown leather back edition . It felt premium — classy, even — and I remember thinking: this is what smartphones should feel like .   Then came 2012 , and I stepped into something new: the Galaxy Note 2 . I didn’t have the first Note, but the second one changed the game for me. The big screen, the stylus… it was productivity in your pocket. Unfortunately, it wasn’t waterproof (no “IP sixty-something” rating back then), and one sweaty day — literally — it died. In 2013 , I replaced it with the Note 3 , another fantastic upgrade. ...

Custom TMux configuration

This is how I configured my TMux The default TMux configuration misses two points I relly want: I need to be notified when I switch pane. More precisely: I switch pane with "Ctrl-b arrow", but sometimes I type it foo fast and it is not effective. So I need to know when it succeds (so I also know when it fails) I want more padding on pane name. It is too narrow for me. I need more space on the left and right side of the text! So, the configuration I made has the feature to blink when I switch pane, and put some right and left padding on pane names: # Enable focus events set-option -g focus-events on # Make the pane blink on focus set-hook -g pane-focus-in 'select-pane -P bg=colour247; run-shell "sleep 0.1"; select-pane -P bg=default;' set -g window-status-current-style "bg=grey,fg=black" set-option -g status-style "bg=black,fg=grey" set -g window-status-format ' #I:#W ' set -g window-status-curre...

My Git Configuration

My simple user level Git configuration Default configuration is even fine for me. But among the default configuration, I sometimes use "meld" as "difftool" and "mergetool". This is what I put in the configuration for that purpose: [user] email = mihamina@rktmb.org name = Mihamina [difftool] prompt = false [difftool "meld"] trustExitCode = true cmd = meld "$LOCAL" "$REMOTE" [diff] tool = meld [mergetool] prompt = false [mergetool "meld"] trustExitCode = true cmd = meld --auto-merge "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED" [merge] tool = meld

CopilotChat GlobFile Configuration

CopilotChat GlobFile Configuration Want to feed multiple files into GitHub Copilot Chat from Neovim without listing each one manually? Let's add a tiny feature that does exactly that: a file glob that includes full file contents . In this post, we'll walk through what CopilotChat.nvim offers out of the box, why the missing piece matters, and how to implement a custom #file_glob:<pattern> function to include the contents of all files matching a glob. Using Copilot Chat with Neovim CopilotChat.nvim brings GitHub Copilot's chat right into your editing flow. No context switching, no browser hopping — just type your prompt in a Neovim buffer and let the AI help you refactor code, write tests, or explain tricky functions. You can open the chat (for example) with a command like :CopilotChat , then provide extra context using built-in functions. That “extra context” is where the magic really happens. Built-in functio...

Asterisk Python Module Pyst

Using the Asterisk Python Module "Pyst" The Asterisk Python module "Pyst" provides a simplified way to interact with Asterisk, an open-source framework for building communications applications, including VoIP gateways, conference servers, and more. "Pyst" enables Python developers to automate and manage Asterisk functionalities, integrating them into Python-based applications. This document explores the history, features, and usage of the Pyst module. There was pyst2, then pyst3, and now it is pyst. The Short History The evolution of the Pyst module reflects the broader transition within the Python ecosystem from Python 2 to Python 3: Pyst2 : Initially, Pyst was developed to work with Python 2, leveraging its capabilities to connect and control Asterisk servers. Its initial iterations aimed at providing basic functionalities like call initiation, monitoring, and terminations. Pyst3 : With the advent of Python 3, "Pyst2" was updated and r...