5. December 2019

Helm 3.x fails with Error: must either provide a name or specify –generate-name

If you follow tutorials on using Helm, it might happen that they’re outdated, because they’re targeting Helm 2.x.

Following command for install will fail with error:

helm install -n aks-georgik-rocks aks-georgik-rocks -chart
Error: must either provide a name or specify --generate-name

The fix is simple. Just remove -n. The command will look like this:

helm install aks-georgik-rocks aks-georgik-rocks-chart

19. September 2019

Xamarin Visual Studio – Error ADB0020 Android ABI mismatch

Following error message might pop-up when you to run Xamarin app on Android:

Error ADB0020: Android ABI mismatch. You are deploying an app supporting ‘armeabi-v7a’ ABIs to an incompatible device of ABI ‘x86’. You should either create an emulator matching one of your app’s ABIs or add ‘x86’ to the list of ABIs your app builds for.

Here is how you can resolve it.

In Solution Explorer select your project.

Right-click and select Properties or press Alt+Enter.

Select Android Options, scroll down. In right bottom corner click Advanced button.

From the drop down menu select desired architecture, e.g. x86_x64.

Note: After changing any checkbox it is necessary to wait a bit so that Visual Studio syncs the preferences.

Now you should be able to run the project.

4. August 2019

How to download invalid or self-signed HTTPS certificate without OpenSSL by using Google Chrome

When you need to acquire a public server certificate in PEM format from a web server and you do not have OpenSSL tools then you can use one “hidden” feature of Google Chrome.

Just open HTTPS URL in Google Chrome. You’ll see an error:

Your connection is not private.

Do not click on Advanced or Reload.

Just click letters NET::ERR_CERT_COMMON_NAME_INVALID and PEM certificate will appear directly in the browser.

Now you can copy PEM encoded chain and paste it to your text editor.

24. July 2019

Creating Python virtualenv fails with error: Could not find a suitable TLS CA

You can create Python virtualenv using command:

virtualenv -p /usr/bin/python3 py-env3

You may encounter following strange error:

  Collecting setuptools
Traceback (most recent call last):
  File "/usr/share/python-wheels
OSError: Could not find a suitable TLS CA certificate bundle, invalid path: /etc/ssl/certs/ca-certificates.crt
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 145, in apport_excepthook
    os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_bin_virtualenv.1000.crash'

The error message is not very clear. Problem is caused by ca-certificates and it could be fixed by command:

sudo update-ca-certificates

22. July 2019

How to convert AVI to MP4 by MEncoder

Here is a simple command which allows conversion of AVI format to MP4 format by MEncoder.

mencoder input.avi -o output.mp4 -oac copy -ovc lavc -lavcopts vcodec=mpeg1video -of mpeg

The conversion is useful e.g. for Smart TV like Samsung which are often not able to play AVI.