Libvips Is a Good Image Processor

Libvips' resource usage and speed are unmatched, especially compared to ImageMagick.

3 minute read

Edit (2023-04-05): Added some suggestions by the author/developer of libvips. Today I discovered libvips, a command line utility and library to manipulate and process images, and I am impressed. I’ve been using ImageMagick and its fork, GraphicsMagick, for as long as I have had to process images from the CLI, and they work well for moderately-sized images. But lately, I have been preparing virtual texture datasets for Gaia Sky and the sizes of my images have increased exponentially.

Sparse Virtual Textures

A technical description of my implementation of Sparse Virtual Textures in Gaia Sky

20 minute read

Real time rendering of the Earth in Gaia Sky with surface, cloud and height virtual textures.

Real time rendering of the Earth in Gaia Sky with surface, cloud and height virtual textures.

Implementing proper virtual texture support in Gaia Sky has been on my to-do list for many years. And for many years I have feared that very item, as the virtual texture mechanism is notoriously complex and hard to implement. However, once working, they are very cool and bring a lot of value to software like Gaia Sky. In this post, I describe and discuss my implementation of virtual textures in Gaia Sky in detail, and provide a thorough examination of some of its most interesting points.

Google Kills JPEG XL

Why Google controlling Chrome/Blink development is bad for everyone

4 minute read

The web is currently based around the JPEG, PNG and GIF image formats. These are all very old and suboptimal formats which were never designed in the first place with the modern web in mind. A few newer competing formats have popped up recently, aiming to dethrone the original trio to postulate themselves as the standard web image format of the future. These are, essentially, WebP (.webp extension), developed by Google and hated by almost everyone else, AVIF (.avif extension), based on the AV1 container and developed by the ‘Alliance for Open Media’, a conglomerate of big tech companies that are anything but open, and JPEG XL (.jxl extension), developed by the Joint Photographic Experts Group, the same people that developed the original JPEG.

So what’s the fuss all about? Recently, Google decided to kill JPEG XL support in Chrome. A full report follows.


The photo sharing project of the fediverse

2 minute read

Yesterday I created an account in, one of the many instances of Pixelfed, the distributed image sharing open source project which federates with Mastodon and others. Anyone can set up its own instance and have it ’talk’ to all the others. So, I created an account and started sharing some of my shots. For the most part, it works very well and I’m eternally grateful that something like this exists, free from the claws of big corporations hungry for your data.

Thesis Submitted

After many long years, I submitted my Ph.D. thesis

1 minute read

After some seven long years of working on my Ph.D. off-the-clock and three extensions, about a month ago I finally submitted my thesis to the doctoral office for review. I started back in 2015 when I had no kids. Today, I have two kids and 3 peer-reviewed papers on top visualization journals (and an unpublished one). It has been an interesting ride indeed. For now, I can relax for a few weeks until the examination date is set.

Huge Refactoring in Gaia Sky: ECS

Moving the old inheritance hierarchy to an entity component system

4 minute read

In these last few days I have merged a huge internal refactoring into Gaia Sky’s master branch. This refactoring has been cooking for several months and has adapted or completely replaced virtually every piece in the code base. Read on if you want to know more.

Website design by myself. See the privacy policy.
Content licensed under CC-BY-NC-SA 4.0 .