Here are my very biased preferences for music. Apart from the top 10, the rest of the list is unranked. Symphony No. 7 in D minor - Dovrak When The Levee Breaks - Led Zeppelin The Four Seasons: Summer - Antonio Vivaldi Brothers In arms - Dire Straits Take Five - Dave Brubeck The Thrill Is Gone - B.B. King All Along the Watchtower - Jimi Hendrix Another Brick In The Wall - Pink Floyd Piece Of My Heart - Big Brother & The Holding Company, Janis Joplin When The Music’s Over - The Doors Fortunate Son - Creedence Clearwater Revival ...
The Git staging area hinders experimentation
What is Git staging area Unlike the other systems, Git has something called the “staging area” or “index”. This is an intermediate area where commits can be formatted and reviewed before completing the commit. … This allows you to stage only portions of a modified file. From https://git-scm.com/about/staging-area. There are three different “repository states” in Git: the HEAD, the staging area, and the working tree. The HEAD represents the commit that you have checked out, which is the latest saved snapshot of your project. The HEAD state is stored in the Git object store and can be recovered using the command git reflog. The working tree represents the current state of the project in the file system. The working tree state is not persistent; commands such as git status generate the working tree state on the fly by reading the file system metadata. The staging area stores the changes that you want included in the next commit. However, the staging area itself is not recoverable. If you modify the staging area with commands like git add, the previous staging area is gone forever. ...
Why is out-of-source building more important than ever?
In the software industry, it is known that an out-of-source build is superior to an in-source build. However, despite the fact that mature build systems like CMake and Meson have out-of-the-box support for out-of-source builds, many projects are still built in-source. Many agree that in source builds more straightforward to setup, out of source builds are “cleaner” and easier to manage. Some projects are not being switched because the current setup is sufficient and the “out-of-source build” is considered a nice-to-have feature. ...
Three writing systems of English and localization woes
Did you know there are three different writing systems for English? That’s right - you can write English using letters that aren’t Latin characters. If you’re using KDE Plasma version 6.4 or earlier, go to the “Region & Language” system settings page and search “en_US.” You’ll see two locales in the results, and they both say they’re “en_US.” The latter en_US doesn’t seem to be English at all. It turns out that the “weird” English is the “America English Deseret” locale, and the “normal” en_US is called “America English Latin”. ...
Programming Pipewire - Introduction
From ArchLinux Wiki: PipeWire is a new low-level multimedia framework. It aims to offer capture and playback for both audio and video with minimal latency. Pipewire is the default audio server on new Linux distributions. But what is an audio server? Audio Server On a modern Linux system, multiple applications can produce audio at any given time. For example, the VLC video player and the Firefox browser. These applications are called audio sources. In order to play the audio, the digital audio data must be passed to the computer’s sound card or HDMI output (i.e., the audio jack on your monitor). The devices that convert digital audio information into sound waves that we can hear are called audio sinks. ...
Image compression
Image compression, there are millions of articles on the web about it. Why am I suddenly interested in image compression? Well, because I want to share some travel photos on this blog, but the raw image size is a problem. Image size is a problem, in this day and age? Larger size means more storage space on the server and more bandwidth to distribute the content. Storage is cheap now, but the bandwidth is really expensive. In fact, bandwidth is a huge cost for social media companies. So much so that only “high value” content is distributed in high resolution. ...
Run Nextcloud on the cheap
Run Nextcloud on the cheap I store all my family videos, photos on my PC (home lab). The setup hasn’t changed in three years. It works great, cheaper than a dedicated NAS and more flexible. However, the system suffers in these areas: No way to access the content outside the local network, the PC is turned off to save power when I’m away Even though the data is duplicated using btrfs, there is no geo-redundancy Physical connection to the PC required for data upload, not so convenient for family members A local-cloud hybrid architecture will solve the problem, a self-hosted, always-on cloud driver can act as a central point for data distribution. My PC still serves as the main storage, but new data can be uploaded to the cloud driver first, the local storage will synchronize with the cloud driver as soon as I turn on the PC. ...
Stylus, Wayland, libinput and kwin
Stylus, Wayland, libinput and kwin Have you ever wondered how krita can turn your stylus into an eraser when you press the button? How does input handling work in Linux under wayland? The kernel All these key events, mouse movements and stylus events are first transmitted to the kernel via variouse hardware protocols such as USB or Bluetooth. Then the Linux kernel makes these device available via udev. Udev exposes hotplug devices to user space programs, and userspace programs can query device informations via the libudev library. However, device events are emitted by evdev interfaces. Evdev maps raw input events into generic high-level input events. You can think of this as the Linux kernel seeing input events as just a bunch of 0’s and 1’s, but after evdev it suddenly means something like mouse movements events, keystroke events, etc. ...
How to build KDE APP on Qt6
How to build KDE APP on Qt6 With the Qt6.4 release last month and the ongoing porting of most KDE Frameworks and Applications to Qt6, it’s time to write a post about how to build KDE applications on Qt6. This guide is intended for developers who want to port their own applications build on KDE frameworks. I’ll use the porting of KWeather as an example. KWeather is a weather forecasting App build on top of Kirigami, it also relies heavily on KWeatherCore framework for its core functionality. So I’ll also cover the porting of KWeatherCore. ...
Thoughts on Software Wizardry
Thoughts on Software Wizardry Last year is the year I started programming extensively. As I’ve worked on different languages and systems, I’d like to share some thoughts with you. I define software wizardry as coding tricks that solve problems in unconventional ways that are often obscure and hard to get right the first time. How not to code in Ruby Ruby is invented to increase productivity, and part of that productivity boost comes from monkey patching and insane meta-programming capabilities. ...