Category: Tech
-
Let’s have a date. Revised horde/date ideas
It’s bad but not as bad as you think. The way we write dates is very different among cultures and technologies. Even countries of the same language family might have totally different notions where to put the year, where to put the month, where to put the day when writing down a date in numbers.…
-
Horde on PHP 8.1 and Composer: Update
Regular readers of this blog and many other are aware that PHP 7.4 will stop receiving security updates when PHP 8.2 comes out in November. This has made many horde admins question if they can continue to run Horde. Some events in life have made progress slower than originally planned. So where are we? Confirmed…
-
Code Generators: Bad, worse & ugly
Code generators have been invented and forgotten at least four times in software history. They have an appeal to developers like the sun to Daedalus’ son. Let’s not be Icarus, let’s keep them generators at a distance and watch them carefully. Whenever a language, framework or paradigm forces developers to do the same thing over…
-
Tools to build better Tools faster
Behind every lofty architecture mantra there is mundane execution. This is best left to tools and I don’t mean anybody in particular but programs that help us make better programs. It basically goes like this: Build tool. Use tool. Build better tool. Build tool to build better tool. Build better tool to build better tool…
-
Why you should develop for latest, greatest
Developers sometimes choose not to use the latest available language features that would be appropriate to tackle a problem for fear of alienating users and collaborators. This is a bad habit and we should stop doing that. Part of the solution are transpilers. What are transpilers, where are they used and what is the benefit?…
-
Horde/Yaml: Graceful degradation
Tonight’s work was polishing maintaina’s version of horde/yaml. The test suite and the CI jobs now run successfully both on PHP 7.4 and PHP 8.1. The usual bits of upgrading, you might say. However, I had my eye on horde/yaml for a reason. I wanted to use it as part of my improvements to the…
-
PHP: Tentative Return Types
PHP 8.1 has introduced tentative return types. This can make older code spit out warnings like mad. Let’s examine what it means and how to deal with it.
-
Horde Installer: Recent Changes
Major codebase change. Now triggers on autoload-dump rather than earlier in the install phase. Outputs info to console, new comments in autogenerated files.
-
Maintaina/Horde UTF-8 on PHP 8
On recent OS distributions, two conflicting changes can bring trouble. MariaDB refuses connections with ‘utf-8’ encoding Recent MariaDB does not like the $conf[‘sql’][‘charset’] default value of ‘utf-8’. It runs fine if you change to the more precise ‘utf8mb4’ encoding. This is what recent MySQL understands to be ‘utf-8’. You could also use ‘utf8mb3’ but this…