using v4l2loopback with Chrome

I have been using video files with videoconferences for quite some time now and recently I also put it into a push-to-talk script. Only with Jitsi Meet it never worked – no matter which browser I tried – none could access my “webcam”. Today, after another naive search, I came across this github issue with the solution for Chrome.

You have to set the flag exclusive_caps to 1 when loading the module.

sudo modprobe v4l2loopback exclusive_caps=1

Now the “webcam” works in Chrome \o/
Still not in Firefox – at least in Chrome

Import-Module and the “-Prefix” parameter

Lesson learned from the presentation “How to Position Yourself for the Future” with Jeffrey Snover and Jason Helmick (from the Q&A session at 1:01:17): you can add a prefix to the commands of a module when you import it!

In the Q&A session a guy from audience mentions that a PowerShell module (presumably PowerCLI from VMWware) breaks other PowerShell commands as there are Cmdlets/functions named like core or other modules Cmdlets.

So if you import the PowerCLI module it will provide you with the command Get-VM, which is a good idea if you want to manage virtual machines on vSphere, but nowadays you might also have a Hyper-V server you want to manage from that very same computer (maybe using RSAT) which also has the Cmdlet Get-VM. So now it is no longer possible to manage virtual machines on the Hyper-V servers (at least to run the Cmldet Get-VM against Hyper-V) unless you remove the PowerCLI module from that PowerShell instance (or specify explicitly that the command should be the one from the Hyper-V module).

It is not very likely that VMWare will change their commands anytime soon to not overwrite/conflict with other Cmdlets/functions. So what could you possible do manage both hypervisors within one script?

You can import the module which breaks your code with the parameter -Prefix.

Let’s see how this works. For demo purpose I will use the BitsTransfer module.

So importing the module “as usual” and getting the available commands gives you just what you expect.

Import-Module and the "-Prefix" parameter

But importing it with a prefix will add this very prefix to every command (after the verb-) of that module.

Import-Module and the "-Prefix" parameter

Very cool feature I did not yet know about.

toggle window “always on top” via shortcut

When I use Windows I still use the aged tool WinSplit which brings the shortcut “CTRL+ALT+O” with it. This keeps the current window always on top of all other.

I wanted this functionality (and the shortcut) also on my laptop which is running Linux Mint.

This works without any additional software as the functionality is built-in and available via the context menu of every programme icon.

https://cdn.gpunktschmitz.de/blog/183/00-manually-set-window-always-on-top.png

And a programme to add shortcuts exists also.

https://cdn.gpunktschmitz.de/blog/183/01-open-keyboard-shortcuts.png

So, starting the programme “Keyboard Shortcuts” and click the “Add”-Button.

https://cdn.gpunktschmitz.de/blog/183/02-add-new-keyboard-shortcut.png

Entering a name and the following as the command:

wmctrl -r :ACTIVE: -b toggle,above

https://cdn.gpunktschmitz.de/blog/183/03-enter-new-shortcut-command.png

Once the shortcut is added you click on the column “Shortcut” of if (where it says “Disabled”).

https://cdn.gpunktschmitz.de/blog/183/04-click-on-disabled-to-set-new-shortcut.png

Now you can add the favoured shorcut by simply pressing it.

https://cdn.gpunktschmitz.de/blog/183/05-press-shortcut-and-close.png

SikuliX – pressing key combinations

I just wanted to quickly automate a task using my favourite tool SikuliX. Therefore I had to make it press a key combination. Trial and error with the first web-results did not work.

First, because the syntax seems to have changed and second, because I ignored upper and lower case in my test scripts – which SikuliX does not.

Here are some examples of key combinations you can use in SikuliX:

# CTRL+HOME
type(Key.HOME, KeyModifier.CTRL)

# ALT+F4
type(Key.F4, KeyModifier.ALT)

# CTRL+v
type('v', KeyModifier.CTRL)

# CTRL+ALT+ESC
type(Key.ESC, KeyModifier.CTRL+KeyModifier.ALT) 

FileZilla Server – Connection attempt failed with ECONNREFUSED – Connection refused by server

the problem

When I was trying to set up a FileZilla Server using FTPS and the default settings I got the error “ECONNREFUSED – Connection refused by server”.

the cause

This was due to the default parameter for the IP address retrieval.

FileZilla Server - Connection attempt failed with ECONNREFUSED - Connection refused by server

The erroneous script always returns 127.0.0.1.

FileZilla Server - Connection attempt failed with ECONNREFUSED - Connection refused by server

the solution

I’ve set up a script which returns the current public IP.

https://gpunktschmitz.com/ip/

FileZilla Server - Connection attempt failed with ECONNREFUSED - Connection refused by server

FileZilla Server - Connection attempt failed with ECONNREFUSED - Connection refused by server

Robocopy – ERROR 123 (0x0000007B) – copy directories with spaces

robocopy meme

the problem

Using a current PowerShell with tab completion (the shell adds all quotes and spaces) you get the command:

Robocopy.exe 'C:\tmp\source with spaces\' 'C:\tmp\target with spaces\' /e

And executing it you get the error message:

robocopy the filename directory name or volume label syntax is incorrect

Note that the source and target are “strangly” interpreted. The \' at the end of the source and target escapes the slash and thus the whole command gets erroneous.

The solution

The solution is super easy, you simply remove the last backslash from source and target.

Robocopy.exe 'C:\tmp\source with spaces' 'C:\tmp\target with spaces' /e

my favourite radio stations – a link collection for using on the go/mobile

why this?

when egofm (my favourite german radio stations) stopped supporting my mobile operating system (ios 5) with their app i looked for the direct link to their stream. i was using direct links for my other favourite radio station somafm for several years and thus created a site with direct links to the streams of both radio stations for easy access on the go using my mobile (iphone). after testing the links with other operating systems i noticed that you need an app to playback the streams on android or windows phone .. so no guarantee that it works on any other operating system out of the box …

for whom?

i originally created it for my private use only. but as some friends asked for the link i thought i could as well make it public.

the link

http://radio.gpunktschmitz.de

howto playback

iphone

using the iphone the streams are played with no additional software needed.

windows phone (8 or later)

when you tap on one of the links you will be presented with a selection of apps that are supposed to be able to play those streams. install one of them and give it a try (i had issues with egofm lately .. dunno what’s wrong there).

android

as i don’t own an android device this is only a suggestion/wild guess as result of some google searches. there is an app named servestream which is said to support the streams.

enjoy the music!

Uninstall Symantec Backup Exec 2014 Remote Agent for Windows Systems (RAWS)

as i couldn’t find a hint on howto uninstall Backup Exec 2014 Agent from my GUI-free Windows Core Servers here a short summary of how you can do it:

i found the “_Setup.exe” I was looking for in the following folder

C:\Windows\Installer\{856D9205-4AA3-48FB-ADD2-CE6EFF23ED9E}\

to find out how to uninstall the agent i ran “_Setup.exe /?” on one of my other servers (which has a GUI):

tz4014_00022

to uninstall the 64 bit version one has to run the the following command

C:\Windows\Installer\{856D9205-4AA3-48FB-ADD2-CE6EFF23ED9E}\_Setup.exe /RAWSX64: /S: /U:

and wait until the “_Setup”-process disappears in the taskmanager

german blog

i never thought of writing blog posts in german but i started some projects which apply only to germany and are not computer related. thus it would not make much sense to have them posted here in english only.

in case i find the time i will translate any upcoming posts and publish them on the german blog aswell.

you can find my german blog here:
http://de.gpunktschmitz.de