Tip of the day: using Homebrew to get PHP Pear extensions behind a proxy
Most of the time, installing tools using Homebrew works flawlessly, including PHP these days. However, having to work in a client environment requiring a proxy, the PHP 8.1 post-install failed when updating Pear/Pecl channels, although the usual http_proxy
and https_proxy
were set and worked normally, including for the other Homebrew tasks. What could be going on ?
The end of function execution in Go code
Every Go function needs to end at some point, even main
and test functions. But the way the end impacts how we can work after they finish. This presentation created for DevoxxFR 2023 describes the available mechanisms.
Tip of the day: validating a Jenkinsfile from the CLI with HTTPie
An easily missed feature in Jenkins is the bundled linter for Jenkinsfiles.
While there are many examples about how to use it with cURL, I could not find any using HTTPie, which I find much more convenient in general than cURL. So, after some fumbling due to the little documented expectations of the validator, here is the solution showing how to validate a Jenkinsfile from the CLI:
Writing an SMTP service in Go
Because sometimes, it's nicer to users to allow them to contact us by email, it occasionally becomes useful to handle incoming mail. Let's see how.
Tip of the day: running Flagr Docker image on a M1 mac
After almost one year with an Apple Silicon macBook, I eventually got my first actual problem caused by the architecture : trying to deploy the Flagr Open Source feature flags service, the docker deployment failed like with an image error. The fix turned out to be fairly simple:
Parsing actual IANA language codes
Tip of the day: how to edit Ansible Jinja2 templates in JetBrains IDEs
How to edit Ansible templates in GoLand, PhpStorm, or other JetBrains IDEs: think outside of the box ! There is a free solution...
Tip of the day: patching legacy Drupal 7 projects with Composer
Some late Drupal 7 projects use Composer for project structure and tooling, even though they don't use Composer for the Drupal requirements proper. In that case, the normal Drupal 8/9 patching process using cweagans/composer-patches is not available, since dependencies are not handled with Composer. So is there a way to apply patches cleanly from Composer ? Sure there is! Let's see how.
Error handling in Go 1.14 (french)
La gestion des erreurs en Go 1.14 ne se limite plus à l'interface error: découvrez l'ensemble des mécanismes disponibles.
Découvrez les statistiques de l'interface error, et les tentatives qui ont abouti aux nouvelles fonctions du paquet errors
: Unwrap
, As
, Is
et le nouveau format "%w"
.