If you use KDE and Sway (or Hyprland) on the same machine with the same user (something I’m experimenting with), when you launch Chrome and log in with your user in KDE, and then switch to Sway, you’ll see that your account is marked as “Paused”: you have to log in again. The same holds […]
I’ll show how I installed Linux (EndeavourOS, i.e., Arch) on a Dell Pro Max Tower T2. This is quite a powerful computer! Here are a few screenshots taken from Windows 11: Before installing Linux on this computer, I had to change the SSD SATA mode from RAID to AHCI, as documented in a previous blog […]
A small blog post on how to install EndeavourOS with LUKS disk encryption. The installation starts and proceeds as usual (see, e.g., my older post). I’m using KDE for this installation. When you get to disk partitioning, choose manual: If you start from a fresh disk, create a new partition table and choose GPT: If […]
This is a follow-up to the first post on Neovim and LaTeX. I love LaTeX, but I don’t love LaTeX noise. If you use LazyVim’s lang.tex extra, you’ve probably seen a familiar friend pop up in your editor diagnostics: Underfull \hbox. It’s usually harmless, but it’s distracting—especially when you’re trying to focus on content. In […]
How to prevent JDT LS (via m2e) from adding generated-sources APT folders and org.eclipse.jdt.apt prefs to an Eclipse+Maven project in VS Code. If you open a Maven Java project in Visual Studio Code that also contains Eclipse project metadata (.project, .classpath, .settings/…), you might notice that VS Code’s Java tooling (JDT Language Server) “helpfully” edits […]
Remembering every Sway shortcut is tough. I wrote a small script that parses your Sway config, displays all bindsym shortcuts in a clean, searchable list via Rofi, and executes the command associated with whichever one you select. It’s fast, keyboard-friendly, and great for discovery: “What did I bind to Mod + Shift + P again?” Now you […]
If you use the LaTeX listings package to typeset Java, you’ve probably noticed that modern Java has moved faster than the package itself. Records, var, and text blocks may not highlight correctly out of the box. The good news: the listings package is extensible so that you can teach it “modern Java” with a tiny […]
If you’ve installed Linux on your MacBook Air, you’ve probably discovered that while most hardware works out of the box, the built-in FaceTime HD camera is notably absent from your video applications. Don’t worry—you’re not alone, and there’s a solution that doesn’t involve external USB webcams or complicated workarounds. The issue stems from Apple’s use […]
I have already blogged about managing KDE dotfiles with chezmoi and chezmoi_modify_manager. But what about maintaining them? For example, one of the KDE configuration files changes, and you want to update the version managed by chezmoi. Here’s an example where the Kate configuration file changed on the system and chezmoi detects that:
I know there are many blog posts about configuring Tmux to support true color and italics in Alacritty, but many of them miss a crucial detail that breaks Neovim’s diagnostic undercurl (wavy underlines). Many of them suggest overriding the TERM variable in Alacritty to xterm-256color, which causes Neovim to lose the ability to display undercurl […]
In Xtext release 2.40.0, we adopted Maven relocation to move Xtend Maven artifacts’ groupIds from org.eclipse.xtend to org.eclipse.xtext without breaking existing consumers. References: https://github.com/eclipse-xtext/xtext/pull/3461 https://github.com/eclipse-xtext/xtext/issues/3398 https://maven.apache.org/guides/mini/guide-relocation.html Rationale Xtend’s Maven coordinates were relocated to comply with Maven Central’s new publishing requirements after the OSSRH sunset. The new Maven Central publishing portal enforces namespace consistency: all artifacts […]
Let’s install Ubuntu 25.04 on Apple Silicon (M1) in a virtual machine using UTM. We must first download an Ubuntu ISO for ARM. Go to https://ubuntu.com/download/desktop and search for “ARM 64-bit architecture”; if not available for the specific version you want to install, then you’ll have to install the Ubuntu Server and then install the “ubuntu-desktop” […]
On some computers, such as the new Dell Pro Max Tower T2 and the older XPS 13, the SATA operation mode for the SSD is set to RAID by default. Linux will not recognize the SSD in RAID mode; you need to change it to AHCI. If you just change it to AHCI in BIOS, […]
If you’re a KDE user who wants to keep your desktop configuration under version control, you’ve probably discovered that KDE’s configuration files can be quite challenging to manage with traditional dotfile tools. KDE stores settings in complex INI files that frequently change, contain system-specific data, and include sections you may not want to track. This […]
Let’s see what Eclipse looks like in Wayland in 2025. I report some screenshots of a few Wayland Window Managers and Desktop Environments. Sway Eclipse looks good in Sway: Hyprland The same can be said for Hyprland, especially now that the infamous bug has been solved: GNOME No problems on GNOME either; I’d expect that […]
Unison, a powerful file synchronizer, has long been one of my favorite tools. However, installing Unison on macOS used to be a manual and sometimes cumbersome process, as detailed in my earlier guide. The great news is that Unison is now available as a Homebrew cask! This means you can install it with a single […]
I bought this laptop in late 2016. It’s still a good laptop (8 GB RAM, 128 GB SSD) and very light. However, I cannot use it with macOS anymore. I previously blogged on installing Ubuntu on my old MacBook Air. Everything mainly went smoothly, except for the WiFi, which was not working during and after the […]
Zram, https://www.kernel.org/doc/html/latest/admin-guide/blockdev/zram.html, is a Linux kernel module that creates a compressed block device in RAM. This device can be used as swap space or a general-purpose RAM disk. By compressing data in memory, zram allows your system to store more data in RAM, reducing the need to swap to slower disk storage and improving overall […]
I like Nerd Fonts a lot, and blogged about those in the past. If you spend a lot of time in the terminal, you’ve probably heard of them: they patch popular programming fonts with a huge set of icons, making your terminal and development environment look great and more informative. Here’s how you can easily […]
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.