Tag: English

Procedural Generation of Planetary Surfaces

Generating realistic planet surfaces and moons

12 minute read

Edit (2024-07-08): We have written a new post to expand on this one. Check it out here.

Edit (2024-06-26): As of Gaia Sky 3.6.3, the procedural generation process has been moved to the GPU. Even though the base method is the same, a number of things have changed from what is described here. For instance:

  • The generation is now almost instantaneous, even with high resolutions.
  • Gradval and Value noise are no longer available.
  • Voronoi and Curl noise are now available.
  • The process takes into account a temperature layer.
  • We have introduced terraces, with the respective parametrization.

I have recently implemented a procedural generation system for planetary surfaces into Gaia Sky. In this post, I ponder about different methods and techniques for procedurally generating planets that look just right and explain the process behind it in somewhat detail. This is a rather technical post, so be warned. As a teaser, the following image shows a planet generated using the processes described in this article.

Left: a wide view of a procedurally generated planet. Right: the same planet viewed from the surface.

Git Bisect

Go bug hunting armed with a binary search tree

2 minute read

When I started using git as my VCS I skimmed the docs and git-bisect caught my eye. I got acquainted with it rather quickly and have been using it regularly ever since. git-bisect is a little handy git sub-command typically used to quickly narrow down the commit where a bug was introduced in a code base. It uses a simple binary search tree algorithm (BST) to test out different revisions by parting the remaining search space in half.

Semantic Commit Messages

Use your git history like a pro and reap the benefits (almost) instantly

3 minute read

Do you often find yourself using “New feature”, “More” or similar short, useless and generic strings as your git commit messages? I know I did. Until I learned about semantic commit messages, that is. What are they and how can they exponentially improve your commit history and make it actually useful? I’m discussing it in this post.

Viltrox EF-FX1 Lens Adapter Review

Does this adapter work well? Is the auto focus it provides usable? Is the device worth it?

6 minute read

A few days ago I got my new camera, a brand new Fujifilm X-S10. Since I’m coming from the Canon ecosystem I have a few EF and EF-S lenses which I like. In order to use them with my new system I also acquired the auto focus lens mount adapter Viltrox EF-FX1, which allows EF/EF-S Canon lenses to be used with Fuji-X mount mirrorless cameras. This is an adapter with electronics, so it enables not only auto focus but also aperture control and EXIF data transmission. But does it really work? Is it useful? And more importantly, is it worth the asking price of 120€? In this post I document my experience after some tests performed over a few days.

HTML Lazy Image Loading

Adding lazy image loading to Hugo's figure shortcode

3 minute read

The HTML <img /> tag has this handy attribute loading="lazy" that enables lazy image loading, so that images are only loaded whenever the user scrolls all the way down to their position. This makes page loading super-fast, and reduces the amount of wasted bandwidth, especially when browsing from page to page. In the past this was achieved by a few lines of custom JavaScript code, but it is supported by all major browsers, both for PC and mobile. It should always be used unless there’s a very good reason not to, to the point where it can probably be argued that it should be the default behavior of images.

Use Syncthing to Synchronize Your Files

Forget about third-party cloud solutions that invade your privacy

5 minute read

These days almost everyone uses services like Dropbox or mega.nz to store their important files and have them accessible wherever and whenever they need them. I’m told it is not uncommon to use these external services to back up all one’s files, from photos to sensitive and private documents. Well, good news. If you actually care about your files and feel uneasy to have them all in other people’s servers, you may want to have a look at Syncthing, an open source and free (as in free beer) continuous file synchronization program that synchronizes your files between your computers without being stored or ever going through third parties. In this post I’ll talk about how it works and how to set it up to sync directories between your computers, laptops and phones.

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