Docker: How to install the php enchant extension

If I try to install the php enchant extension in the docker image php:8.1-fpm with RUN docker-php-ext-install enchant I get the following error: E: Unable to locate package libenchant-2 You need to install the missing enchant library in the dockerfile yourself (along with your wanted spellcheck language, in my case Swiss German): RUN apt-get install …

How to get the version of a module from its package.json

node.js < 12 VERSION=$(node -p “require(‘some-module/package.json’).version”) node.js 12+ In Node.js 12+ you can no longer get the version of a module dependency with the version property unless the path is explicitly exported in the module with: { “exports”: { “./package.json”: “./package.json” } } What you can do instead, is to use a regular expression to …

How to Install the CnCNet Client on Linux

If you want to play the classic Games Red Alert 2 and Red Alert Yuri’s Revenge with multiplayer support on Linux (or other old Command and Conquer Games), you need to download and install the CnCNet Client. Here are the instructions on how to get CnCNet 5 working under Linux using Wine.

How to install SpectraView II on Linux (Mint 20)

NEC (now Sharp) provides a Linux Version of SpectraView II and a corresponding installation guide. Unfortunately, both are pretty outdated. They reference Ubuntu 14 as the latest version 🙁 . Even worse, the application depends on some Qt4 packages which are no longer available in a current Ubuntu/Mint installation. After digging around the internet I …

Using a Wacom pen tablet inside VirtualBox 6

I have the tablet wacom intuos pen & touch small CTH-480, which I wanted to use for photo editing in Adobe Lightroom. Since I work under Linux Mint 20, I have a virtual machine running Windows 10 and Lightroom Classic 10. Unfortunately, I got the pen to work as a mouse only by disabling it …

Quick Tip: Access Oracle LOB directly from PHP

Access the data from a clob/blob field without having to call OCI-Lob->load() first When you fetch (binary) data from an Oracle database field of type BLOB or CLOB with OCI8, the (binary) large object is normally returned as LOB descriptor (an instance of the OCI-Lob class). To retrieve the data, you have to call the …

PHP and SQLite FTS4: How to process the matchinfo function part II

Understanding the output from the matchinfo() function Part I: Reading the binary output from the matchinfo() function To analyze what the output of the matchinfo() function means, we’ll use a different example dataset than the one from the SQLite FTS4 documentation. Since I’m a bird photographer, let’s create a virtual FTS4 table holding information about …

PHP and SQLite FTS4: How to process the matchinfo function part I

Reading the binary output from the matchinfo() function SQLite’s MATCHINFO() function provides metrics that are useful for filtering or sorting results of a query according to relevance. The function returns a binary string representing a variable number of 32-bit unsigned integers in machine byte-order. It can be read into an array of integers using the …

SQLite FTS4: Standard vs Enhanced Query Syntax

The SQLite documentation talks about two ways to perform full text queries: standard or enhanced query syntax. Be aware: which one is available depends on how SQLite was compiled. You might, like me, run into troubles when developing locally using one syntax and then publishing remotely only to find out your query does not return …

Minify CSS with PhpStorm automatically

Installation guide for PhpStorm 2019.3.1 to minify CSS files automatically after editing using the command line interface for CSSO as a file watcher. You could also use yuicompressor instead, but version 2.4.8 chokes on CSS @keyframes rules.