28. June 2018

How to install .NET Core 2.1 on Linux Mint 18.3 Sylvia

Default instructions for installation of .NET Core 2.1 do not contain instructions how to install the technology on Linux Mint.

You may have a temptation to go with Ubuntu instructions, but you’ll end up in troubles with installing libicu60 or libicu57.

The instructions compatible with Linux Mint 18.3 Sylvia are instructions for Linux Debian 8 (not 9).

Commands for repository configuration:

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget -q https://packages.microsoft.com/config/debian/8/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

Commands for installation:

sudo apt-get update
sudo apt-get install dotnet-sdk-2.1

Just for the record, the content of /etc/apt/sources.list.d/microsoft-prod.list is:

deb [arch=amd64] https://packages.microsoft.com/debian/8/prod jessie main

6. May 2018

Online UTF-8 repairer

Here is the simple online tool which is able to translate garbled strings in UTF-8 encoding to readable text.

E.g. “Dobrý den” will be translated to the readable string “Dobrý den”

The source code is at GitHub.

Special thanks goes to Juan Ruitiña who added several new conversions including radio buttons.

12. February 2018

Incompatible library version: requires version 19.0.0 or later, but .dylib provides version 18.0.0

I was trying to compile simple test application with FreeType2 on macOS just by a command line. Application compiled without problem.

The application was not able to start and displayed following error:

Compilation of FreeType
dyld: Library not loaded: /usr/local/lib/libfreetype.6.dylib
  Referenced from: /Users/georgik/projects/freetype-2.6.5/./fttest
  Reason: Incompatible library version: fttest requires version 19.0.0 or later, but libfreetype.6.dylib provides version 18.0.0

There is one handy tool on macOS which helps in cases like this one: otool.

otool -L ./ft-test
./fttest:
  /usr/local/lib/libfreetype.6.dylib (compatibility version 19.0.0, current version 19.5.0)
  /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
  /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 495.0.0

The problem was caused by two versions of libfreetype on the macOS. One library was stored in /usr/local/lib and the other was stored in my project directory.

How to fix the issue? There are two options:

  • Remove unwanted library which is causing ambiguity
  • Set proper paths to DYLD_LIBRARY_PATH before starting the application

20. January 2018

How to switch tabs in MobaXterm

MobaXterm is a versatile terminal manager for Windows. Many Windows users are using Putty to connect to SSH on a remote machine or Git Bash when they want to use Git on Windows. MobaXterm can effectively replace these tools with more convenient experience.

One neat feature of many terminal applications on Linux is support for tabs (e.g. in Konsole). The question is how you can switch between tabs in MobaXterm just by using a keyboard.

The Default configuration of keyboard shortcuts is stored under menu Settings and option Keyboard shortcuts.

By default you can use:

Previous tab - Ctrl + Alt + LEFT
Next tab - Ctrl + Alt + RIGHT

I recommend chinging the configuration to match default keyboard shortcuts of Firefox or Google Chrome.

Previous tab - Ctrl + Page_UP
Next tab - Ctrl + Page_DOWN

Enjoy tabs. :)

23. December 2017

Courier: 556 Address unavailable

Courier Mail Server has many interesting features. One of the features is support for backscatter blacklist. It helps to protect the server from receiving emails which are not possible to deliver (e.g. in case of some problems with recipient’s account).

The common error message in that case is:

Courier: 556 Address unavailable

It’s not very straightforward how should an administrator resolve error 556. Even after fix of user’s account configuration, the message might appear and the Courier won’t accept an email even after restart. It could be even more confusing when Courier accepts email from some subnets, but it returns 556 Address unavailable on other subnets.

The resolution of the problem is simple: fix backscatter database.

Display list of addresses with on backscatter blacklist:

courier show all

Remove problematic address from the list:

courier clear user@domain

You can remove all addresses:

courier clear all

You can find more about backscatter blacklist in Courier’s documentation.