Archive for the ‘FOSS’ Category

[efail] Enigmail 2.0 and Debian testing

June 7, 2018

If you are someone like me – meaning you use thunderbird/enigmail on debian testing – you might be interested when enigmail 2.x is coming into the testing repositories. You know, because of efail.

There is one reddit discussion about the status of enigmail 2.0 in debian stable/stretch. But what about us testing users? There is the debian package tracker website where you can get more details on which package is on the way into stable/testing/experimental. The page for enigmail shows that enigmail 2.0.6-1 is on its way, but I have no experience how long it will take to trickle into debian testing.

Maybe some of you out there have any experience? How long does it take?


Kodi and problems when media source address changes

August 10, 2017

Maybe you have experienced something like that too. You have a network attached storage and  you connect it (for example via nfs) to your kodi system running on another machine (e.g. on a raspberry pi). You change something in your network configuration and – bam – nothing works. This could happen, because kodi gets it media data via a network address composed of IP addresses instead of a host name. If this happens to you – and it happened to me several times – this sucks. The first times I just created a new media source with the new IP address and imported all the media again. But wouldn’t i be nicer to just migrate the existing entries in kodi to their new location? This can be done relatively easy.

First: Use the /etc/hosts to define a hostname for the ip address of your NAS. Why? Because if there are new changes in your network configuration, you only need one change and everything is working again. Hint: If you are using librelec (like me), you need to set the hosts configuration in /storage/.config/hosts.conf .

Second: This doesn’t help you in the first place, if all your media entries are still linked to the old location. But there is a solution too: Kodi uses sqllite databases to manage its state. So you can use a sqllitebrowser like to change the wrong location of the media entries. Just follow the howto on the kodi wiki!

After this: Enjoy!

Check if port on remote server is open without using telnet

June 13, 2017

If you want to check if a given port is open on a given remote server, you can use telnet. More and more telnet disappears on server. So the question arises: What can we use instead of telnet? Short answer: netcat. For example:

nc -zv 22

Which checks if the port 22 (SSH) is open on the server

Android Studio on Linux 64bit: Emulator Timeout Problem

May 21, 2017

As a reminder for myself and maybe as a help for others: If you try to start the android emulator via Android Studio and the console tells you only this:

WARN – run.EmulatorConnectionListener – Timed out after 300seconds waiting for emulator to come online.

Then maybe you have fix your problem by removing the provided by the Android Studio so it uses the system one. For example:

~/Android/Sdk/emulator/lib64/libstdc++$ mv

Source: Stack Overflow: Cannot launch emulator on Linux (Ubuntu 15.10)


HP Elitebook 840 G4 and Linux Mint 18.1

April 10, 2017

(work in progress)

A friend of mine got a new notebook the HP Elitebook 840 G4 with Windows 10.  In this blogpost I want to document whats working and what not.

More detailed information about the hardware (lspci). You can also look at the the output of lspci -v

00:00.0 Host bridge: Intel Corporation Device 5904 (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d11 (rev f1)
00:1c.3 PCI bridge: Intel Corporation Device 9d13 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Device 9d18 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Device 9d58 (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Device 9d71 (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (4) I219-V (rev 21)
01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader (rev 01)
02:00.0 Network controller: Intel Corporation Device 24fd (rev 78)
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a804


I installed Linux Mint 18.1. The only non standard thing i had to do, was to shrink the Windows 10 partition with gnuparted. The installer had no option for that or I did not found it. Other than that, the installation went without a hitch and I was able to start both Windows 10 and Linux mint afterwards.

The kernel which is installed is linux-image-4.4.0-72-generic.


As the display of the notebook has 2560×1440 pixel, the user interface was very small and difficult to use with both the mate and cinnamon flavor. Cinnamon has a configuration (Settings-General) where you can scale the interface for high dpi displays as that one. With the option “double” the cinnamon user interface is quite nice and usable.

  • Sound works out of the box
  • Special keys like dimming the display or muting work



As of now, the wifi is not working. There seems to be drivers missing. Output of lshw

*-network UNCLAIMED
description: Network controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: 78
width: 64 bits
clock: 33MHz
capabilities: cap_list
configuration: latency=0
resources: memory:d8a00000-d8a01fff

While lspci gives me

Network controller: Intel Corporation Device 24fd (rev 78)


  • The clock is changing in weird ways when booting into windows and linux.
  • Standby does not seem to work.

Looking for open source and privacy friendly android apps?

January 18, 2017

If you are interested in open source and privacy friendly android apps you should have a look at this two projects.

The group Privacy Friendly Apps are a collection of Android-Applications, which are optimized based on privacy. This means that only a minimum of permissions is used. There are no unnecessary permissions, e.g. a torch application would ask for a permission to read the contacts.

They provide apps like dicer, sudoko, weather and more. You can find a list of all their apps in the google playstore.

Simple Mobile Tools: A group of simple, stupid, open source Android apps with customizable widgets, without annoying ads and unnecessary permissions.

They develop camera, file-manager, gallery apps and more. You can find the apps on github/f-droid and play store.

Maven: Parent POM in repo, but Non-resolvable error

December 5, 2016

If you are using maven you may have been flabbergasted by an error like this

[ERROR] Non-resolvable parent POM: Failure to find at.test:test:pom:23 in was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 9, column 10

I had this error and was wondering why it was occurring? I had the parent artifact in my local repository. It was not missing. Maven did know this, because the log said

[DEBUG] Verifying availability of /home/stefon/.repository/at/test/test/23/test-23.pom from [central (, releases)] 

So if I have the parent POM file in my repository and maven knows about it? Why are we getting an error?

As the file is not available on central, Maven will (correctly in my opinion) fail the build as the build would be non-reproducible.
(Mailarchive Maven-Users)

So, what do we do if it is not possible to publish our parent pom artifact?

there is a CLI option that you can enabled in Maven 3.1.1 that tells Maven “I know what I am doing and don’t make that check this time” i.e.  –legacy-local-repository

In other words:

 mvn clean install --legacy-local-repository

Just remember: This is a hack and may break at any moment with a new maven version! There is an blog article where you can find other solutions for your problem

Where Has the Java PermGen in Java8 Gone?

November 30, 2016

Java 8 is released since 2014. If you are working in an enterprise oriented company, chances are you are only now getting experience with usage of Java 8. You may ask yourself what this warning is telling you.

VM warning: ignoring option MaxPermSize=128M; support was removed in 8.0

Why is PermGen gone? An article of tells you something of the reasoning behind this change.

Intro to Reactive Programming in Java

September 27, 2016 has  a nice little intro and tutorial to reactive programming in Java with the RxJava library.

Key takeaways

  • Reactive programming is a specification for dealing with asynchronous streams of data
  • Reactive provides tools for transforming and combining streams and for managing flow-control
  • Marble diagrams provide an interactive canvas for visualizing reactive constructs
  • Resembles Java Streams API but the resemblance is purely superficial
  • Attach to hot streams to attenuate and process asynchronous data feeds

Also you should checkout the RxMarbles website which interactivly visualizes the reactive functions.

Mozilla Flyweb: How to get rid of custom apps to communicate with IOT devices…

September 8, 2016

Mozilla has an interesting project called flyweb. If you want to know what it is about and why you should have a look at it watch this video.

This specification aims to allow web applications to connect with and communicate to each other over local-area transport protocols. In particular, this specification aims to bring the web’s client/server application model to inter-device communication. The web’s application architecture enables an application running on a server to dynamically and incrementally send application state and logic to an intermittently connected client. This model enables a powerful multi-homed application architecture.