Category Archives: Linux and OSS hints

COI v 0.10 published.

COI 0.10. comes with a bunch of interesting features. Seems like they are catching up with Deltachat. 

 Release Technical preview 0.10.0 – Android · open-xchange/ox-coi · GitHub … :

New Features:
* Added QR code scanning to the “Add contact” flow
* Added a setting to hide invites from the chat list (for anti mobbing / spam). Invites can then be found in the settings
* Added flagging of messages to provide a way to easily find important messages again

Bluetooth Audio Problems Kernel 5.1x [SOLVED]

(Disclaimer: Going to Kernel 5.2 that early may cause undesired behaviour. In my case, up to now only wireguard (VPN) doesn’t work anymore, everything else looks great. Your mileage may vary.)

Since about a week or so I suffered from problems that somehow made the round on all of my desktops. All five of them suddenly refused to connect to Bluetooth audio devices that had been working flawlessly for years. Non-audio devices like smartphones would connect instantly, but headphones and audio receivers would connect and instantly disconnect.

# bluetoothctl
Agent registered
[bluetooth]# paired-devices
Device 0C:A6:94:D1:77:5D PhilipsBT
[bluetooth]# devices
Device 0C:A6:94:D1:77:5D PhilipsBT
[bluetooth]# connect 0C:A6:94:D1:77:5D
Attempting to connect to 0C:A6:94:D1:77:5D
[CHG] Device 0C:A6:94:D1:77:5D Connected: yes
Failed to connect: org.bluez.Error.Failed
[CHG] Device 0C:A6:94:D1:77:5D Connected: no
[bluetooth]# trust 0C:A6:94:D1:77:5D
[CHG] Device 0C:A6:94:D1:77:5D Trusted: yes
Changing 0C:A6:94:D1:77:5D trust succeeded
[bluetooth]# connect 0C:A6:94:D1:77:5D
Attempting to connect to 0C:A6:94:D1:77:5D
[CHG] Device 0C:A6:94:D1:77:5D Connected: yes
Failed to connect: org.bluez.Error.Failed
[CHG] Device 0C:A6:94:D1:77:5D Connected: no
[CHG] Device 0C:A6:94:D1:77:5D Connected: yes
[CHG] Device 0C:A6:94:D1:77:5D Connected: no
[CHG] Device 0C:A6:94:D1:77:5D Connected: yes
[CHG] Device 0C:A6:94:D1:77:5D Connected: no
[bluetooth]# 

Journalctl told me: 

Jul 12 #### bluetoothd[1734]: connect error: Connection refused (111)
Jul 12 #### plasmashell[7493]: org.kde.bluez: PendingCall Error:
“Resource temporarily unavailable”
Jul 12 #### bluetoothd[1734]: connect error: Connection refused (111)
Jul 12 #### kcmshell5[20253]: org.kde.bluez: PendingCall Error:
“Resource temporarily unavailable”

Hcitool returned “Reason: Remote User Terminated Connection” (among a lot of other stuff).

I went to the always helpful opensuse mailing list “factory”  and asked. Within some minutes I got the hint I had been looking for on Google and all the other Internets for days: “Check a different kernel”. 

So I added the opensuse kernel repo http://download.opensuse.org/repositories/Kernel:/stable/standard/, refreshed, installed kernel 5.2: 

zypper ar http://download.opensuse.org/repositories/Kernel:/stable/standard/ kernel
zypper ref
zypper in kernel-default-5.2.0-9.1.g80522d2

… and the reboot did the trick. So if you are stuck without Bluetooth Audio on your Linux Kernel 5.1 system, check out an older (who would do that?) or newer kernel. I chose the 5.2 because it was tagged as “stable” and it has been working fine here for a few hours. AFAIK Tumbleweed, this won’t change. 


Giraffes, Docker and Incompetent Design

 Docker protects a programming paradigm that we should get rid of | Smash Company … :

Some biologists refer to this as Incompetent Design. The problem is that nobody ever sat down to full redesign creatures so that they could live on land.

And then Docker came along to help fix some of the problems that eco-systems such as Python faced in this new world of fast changing servers. Certainly, Docker helped a lot with paths and managing environment variables. For this reason, the use of Python tends to lead to the use of Docker, and the use of Docker encourages the use of Kubernetes. And in the end you have the recurrent laryngeal nerve of the giraffe. You ended up with something enormously complex, that arose incrementally, by trying to keep alive some pre-existing system. But if you were to sit down and design something entirely new, knowing all that you know now, you could build something much cleaner and simpler than what Python/Docker/Kubernetes gives you.

In that sense, Docker allows you to take apps developed with a paradigm from the 1990s, and deploy it in 2018.

Online Censorship Is Coming–Here’s How to Stop It | Linux Journal

https://www.linuxjournal.com/content/online-censorship-coming-heres-how-stop-it

That’s important, because the concerns and beliefs of that “novel alliance” are closely aligned with those of the Free Software community. The new-found interest in hitherto obscure aspects of the online world and its software are an opportunity for the Open Source world to increase awareness of what it does, and to garner support for its activities. The potential for spreading the word is huge: over five million people signed an EU petition against upload filters, and 200,000 took to the streets to protest. Where new digital rights initiatives are set up to harness the recent mobilization of “digital natives”, free software coders can help people understand that open source is a key part of the solution to the problems they seek to address.

Shutting down old wordpress blog…

Markus Feilner’s Blog | Linux, Open Source, Books – and perhaps helpful hints here and there… … :

Hello dear Followers, this Blog has moved. After 20 years (sic!, see first post from 1999) I decided to move to a self-hosted WP instance on markusfeilner.de. I’ve been adding content there since a few years, after testing it thoroughly, I guess it works. 🙂 Here’s the screenshots, sort of like a backup for my self. Made with Screencapture tools on Firefox and Chrome. I’ve got the HTML, too, and that will end up here, too, once I find the time. 🙂

Open Source has won. Großartiger Artikel.

 Am Anfang war der Quellcode | Swissquote … :

Als an einem schönen Tag im Jahr 1980 der neue Xerox-Drucker des Labors für künstliche Intelligenz am Massachusetts Institute of Technology (MIT) den x – ten Papierstau meldete, glaubt der 27 Jahre junge Programmierer Richard Stallman, das Problem so lösen zu können, wie er es immer getan hat: durch eine direkte Veränderung des Maschinencodes.

Und hier eine 30 Seiten lange Studie zum Thema: “WARUM OPEN SOURCE SCHON GEWONNEN HAT”

https://nextcloud.fdn.iwi.unibe.ch/index.php/s/fRNDpcp8ncipsxt#pdfviewer

 

Another thing about the Linux shell I keep forgetting is reading input from file one line after another…

Another post to help my memory: Reading a file line by line and doing something with each line. This link has some great examples – Here’s my favorite because so simple one. It’s easy to craft it into one line of code, too. Takes your file to be processed as first parameter (“$1”).

Linux/UNIX: Bash Read a File Line By Line – nixCraft

How to Read a File Line By Line in Bash Here is more human readable syntax for you:

#!/bin/bash
input=”$1″
while IFS= read -r line
do
    echo “$line”
done < “$input”

For my memory: Grep all lines without comments

This little script (I call it “strip”) takes “file” as first parameter. It will move file to backup, grep all lines that are no comments and paste them into original file. Makes squid.conf et al so much easier to handle, and you still have all the comments in the backup file

#! /bin/bash
mv $1 $1.bak
grep “^[^#;]” $1.bak > $1

I tested this on my raspi, with a pretty 

root@raspi:~# cat configtest.conf.bak
blabla
#comment
blabla
;comment
root@raspi:~# bash ./strip configtest.conf
root@raspi:~# ls
configtest.conf  configtest.conf.bak  strip
root@raspi:~# cat configtest.conf
blabla
blabla
root@raspi:~#