Category Archives: Software

Test before redirect

I need to test if a ssl server is likely to respond before doing any forward as I would otherwise “loose” a projection screen.
As the server uses only a self-signed certificate, basically all javascript tricks (iframe on the fly, jsonp, …) failed either due to Cross-Origin Resource Sharing (CORS) rules. Even after switching to php the first two methods failed (get header, fsockets) while I finally ended with a simple curl request

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://localhost:8443');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (curl_error($ch)[0]=="") header('Location: https://localhost:8443');

The best videoconferencing system (even running on a Synology box)

There are many $$$ systems. But there are also super nice systems like Big Blue Button, Apache Open Meeting and Jitsi that are working equally well if you stick to Chrome or Firefox.

I recommend Spreed WebRTC audio/video call and conferencing server. Just run

docker pull spreed/webrtc
docker run --rm --name my-spreed-webrtc -p 8080:8080 -p 8443:8443 \
-v `pwd`:/srv/extra -i -t spreed/webrtc

and you are done. The only issue  – how to route your local IP to the docker container?

sudo route -n add -net  146.x.x.x
sudo route -n delete  146.x.x.x

In the meantime, I managed to get it also on the Synology DS418play but only with a manual installation using the DS216+ ii docker binary according to some helpful comments on the synology forum.

Firefox 66 runs  microphone, webcam and screen sharing without any problem, Chrome 73 needs a plugin for screen sharing.



How to mount your Synology NAS under OSX High Sierra


sudo nano /etc/auto_master
# Automounter master map
+auto_master		# Use directory service
/net			-hosts		-nobrowse,hidefromfinder,nosuid
/home			auto_home	-nobrowse,hidefromfinder
/Network/Servers	-fstab
/-			-static
/mnt/NAS		auto_nas

Add mount point

sudo nano /etc/auto_nas
Lightroom -fstype=afp afp://username:password@bilder.local/Lightroom


wakeonlan 00:11:32:xx:xx:xx
sleep 30
read -p "Press Enter to continue" </dev/tty
sudo automount -vc
exec sleep 1


diskutil unmount /mnt/NAS//Lightroom
ssh admin@bilder.local 'sudo shutdown -h now'
exec sleep 1

Corrupted file list in Next Cloud

This seems to happen for whatever reasons – the server file list is not  in sync with the local file list and cannot even be modified manually. This may be a particular problem when you are at 1&1 /ionos with a hosted package. Here is a solution

$path = realpath(dirname(__FILE__));
#exec("php $path/console.php upgrade 2>&1", $out, $result);
exec("php $path/console.php files:scan --all -v 2>&1", $out, $result);
echo "<pre>result: " .$result .PHP_EOL;

Bundestag Videos in WordPress einbauen

WordPress verbietet aus Sicherheitsgründen das Einfügen von Javascript. Ich habe die Bundestagsverwaltung angeschrieben, ob sie nicht ähnlich wie Youtube einen Embed Code mit Iframe anbieten könnte, denn bisher bekommt man lediglich

<script id="tv6995628" src="">
<span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start"></span>

Natürlich könnten man in wp-config.php die Zeile define( ‘CUSTOM_TAGS’, true ); einfügen. Besser scheint mir aber, bis auf weiteres das Code Embed Plugin zu installieren und ein Custom Field für den Video Code anzulegen.

Das Ergebnis sieht dann so aus:

Das ist aber auch nur so lange sicher, als der Bundestag nicht wieder gehackt wird.

What is principle component analysis?

There is a wonderful description at how science should be taught

Imagine a big family dinner, where everybody starts asking you about PCA. First you explain it to your great-grandmother; then to you grandmother; then to your mother; then to your spouse; finally, to your daughter (who is a mathematician). Each time the next person is less of a layman. Here is how the conversation might go

This science not by some older science journalists or some younger science slammers but a real expert.

Getting started with webRTC

While the protocol is already around for some time, webRTC isn’t been used so much although many browser are supporting it.

The basic webRTC samples of peer connection works well within the same browser window (showcase) while I need to connect sound + audio between two browser windows in a local network. After trying out several frameworks, I found the most easiest one easyRTCrtc. It works out of the box

git clone
cd /Users/wjst/Desktop/easyrtc
cd /Users/wjst/Desktop/easyrtc/server_example
npm install express --save
node server.js

while pointing the browser to localhost:8080. Three weeks later, I find the sources poorly documented, connections are frequently broken, while Chrome explains it is moving soon to “Plan B”.

I could have been warned.

Will test now Ant Media Server.

PHP Segmentation Error 11

Just a few days before public deployment of my new website this error popped up in the terminal. Apache was running fine but my favorite php test server crashed after 5 minutes. Continue reading PHP Segmentation Error 11

Pages and Endnote

Just found a plugin from Apple that allows Endnote citations in Pages. So Apple is also interested in the science industry :-)

Just in case you arrive here from Google by trying to reformat footnotes as endnotes. Your cursor needs to be on an existing footnote, only then the formatting menu appears top right.