New Music Archive

Since i sporadically make electronic compositions and master them to „tracks“ in MP3 format, over the years a bunch of such files have accumulated. Until recently i was using a software i had named MyPlayer, based on mediaelement.js („mejs“) with a 3rd-party playlist plugin and some extension for parsing an M3U playlist. As it goes, mejs published a new version containing breaking changes and an integrated playlist … For a while i tried to port my existing code to that new version, encountered many bugs and tried to fix them, but i realized that, since web development is not my main job anymore, i found insufficient time for the depth and complexity of such work, and my attempts lead nowhere.

In my new, latest iteration of the Music Archive i have changed the technology stack and implemented a more conventional backend/frontend architecture.

Lesen Sie mehr »

 Summer House

I got a French digisynth, and out came this:

 Professional Courtesy

Match-Resumption in case…esac of Bourne Again Shell

This article describes the impact of using the lesser discussed alternative code block terminators ;;& and ;& which control the „match-resuming“ behavior of Bash’s caseesac.

Lesen Sie mehr »

An Introduction to Programmable Completion in Bash

I am using the terminal a lot on Linux. For my project „pulseaudio-tcp“ (see here for more information) i wanted to have more comfortable command line completion in Bourne Again Shell („Bash“). After having typed in the command name pulseaudio-tcp, when pressing the Tabulator key, i would like to see a list of all possible arguments to that command.

In this article i demonstrate how to leverage the „Programmable Completion“ feature of Bash for such purposes. A reasonably recent version of Bash (4.2 or later) is assumed. You should have a basic understanding of control flow, variables, functions and arrays in Bash. In the article, we will make use of some advanced Bash features such as array expansion with pattern matching; these will be explained „on the go“ as required.

Lesen Sie mehr »

Release of pulseaudio-tcp

pulseaudio-tcp now has its first official release. The initial release features the following changes:

  • GUI support with zenity for setup and other user interaction
  • Debian packaging
Gitea project pulseaudio-tcpLast 3 commits: by Tilman Kranz: 03e3953e completion supports multiple commands by Tilman Kranz: f08b857a support for multiple commands (WIP) by Tilman Kranz: f78ae9d1 exclude vim swapfilesLatest release: 1.1.1

Firefox userChrome Adjustments for Connected Browser Tabs

Using userChrome.css, based on the CSS generated by the „Firefox 89 Styling Proton UI“ assistant, i have made some adjustments to the Firefox UI that make browser tabs be more connected, i.e. not look like „floating buttons“. They also are much more compact. Screenshot:

Screenshot of Firefox with multiple browser tabs

Project information not readable.

 From Alpha To Beta

Lesen Sie mehr »