This is the Dockerfile to install OCI8 in FrankenPHP using the new official installer for PHP extensions PIE, which replaces PECL (deprecated now). The recipe can be easily adapted for any docker installation of PHP OCI8 using PIE:
Best of Both Worlds: Running a Shared Lightroom Catalog across Linux and Windows
Adobe Lightroom Classic runs fine in a Virtual Machine (VM) on Linux for basic culling and editing. But heavy, GPU-based tasks like AI Denoise take a long time, because they have to run fully on the CPU instead. On my Intel Core i7 Gen 13 under Windows with a GeForce RTX 4070 Ti Super, de-noising …
Continue reading “Best of Both Worlds: Running a Shared Lightroom Catalog across Linux and Windows”
Hummingbird Photography in Costa Rica
I participated in a twelve-day photo workshop led by Greg Basco and Paolo Valerio from Foto Verde Tours with a focus on multi-flash hummingbird photography in Costa Rica from 6 to 12 February, 2026. During the workshop, we visited four different habitats: the Atlantic rainforest and the wetlands of Caño Negro, both bordering Nicaragua, as …
Night Walk Flash Photography in Cost Rica
All photos were taken on a single night walk in situ in Drake Bay, Costa Rica on 22 February, 2026. My wife and I met our tour guide Karen from https://osaoutdoorsadventures.com/ in Drake Bay early evening to get a potential head-start of other groups. Luckily, we were the only guests, so our group size was …
Continue reading “Night Walk Flash Photography in Cost Rica”
Twig tip: Ternary operator with an undefined variable
You can use the default filter in combination with the ternary operator 😕 on a variable within a Slim Twig template when the variable is undefined: or in an if statement: When the variable is undefined and should not be an empty string:
Twig tip: How to access the query string
You can access the query string from a Slim Twig template by using the get_uri() method:
Use Proton Drive on Linux
You can use rclone to sync your data with Proton Drive and vice versa. But the chances are high, that you also have Proton VPN, which ironically will not let you use access your Proton Drive through VPN! But there is a simple solution. You can use rclone’s –bind argument with your local IP address …
Use esbuild instead of uglifyjs-folder and csso-cli
You can use the superfast esbuild instead of uglifyjs-folder and csso-cli to copy (and minify) your JavaScript and/or CSS files (without having to bundle the files) in your npm scripts.
Use Lightroom on a mapped network drive (on Linux with VirtualBox)
If you try to open a catalog stored on a network drive, Adobe Lightroom will complain about “Lightroom can not be opened on network volumes, removable storage or read on read only volumes.” You can easily overcome this by assigning the network drive to a drive letter using the subst command: This is especially useful …
Continue reading “Use Lightroom on a mapped network drive (on Linux with VirtualBox)”
Create responsive images on the fly with php and Imagick
To improve paging loading performance across multiple devices, web developers can provide each image in different resolutions using the srcset attribute and let the browser choose which one to load e.g.: