Declaration of VAR

and some other stuff

On 19.05.2021 the website was moved to This is just a mirror now.
  • Querying astronomy databases in ADQL via TAP

    2022-02-26 | 28 min read

    There are several astronomy databases that store various information about space objects such as stars and planets. Some (most?) of those databases expose their data via TAP interface, so it can be queried using ADQL.

    TAP ADQL sandbox

    Here I’ll be telling about how to get data from such sources and what sort of issues/problems one can encounter.

    Read more
  • Conan and resolving dependencies in a C++ project

    2022-02-06 | 24 min read

    Like many other teams, we have a fair amount of 3rd-party dependencies in our project (a C++-based SDK, that is). Like fewer other teams, we store those dependencies source code right in our project repository and we build them together with the project sources every time. This is of course a tremendous waste of time and CPU cycles, as it would be much more efficient to build dependencies just once (per version) and link to already pre-built binaries.

    Conan The Librarian

    But where to store pre-built dependencies and how to fetch the correct variants for various platforms, toolchains and configurations? Our investigation on the matter led us to Conan package manager.

    Read more
  • KeePass as internal secrets storage for a team

    2022-01-13 | 11 min read

    For a long time in our team we’ve been storing logins, passwords, keys and other things like that in personal password managers or just plain-text files, spread around people’s machines, and no one had the full set. Finally, we decided to stop this chaos and start using one common passwords database.

    Passwords in KeePass XC

    Having evaluated several options, we chose KeePass. It’s not exactly meant for multi-user usage, but we came up with some sort of workaround.

    Read more
  • Electric car in Norway, leasing BMW i3

    2021-12-16 | 34 min read

    A couple of years ago we came to a point when having a car had become more of a necessity than a luxury. Having spent about a year to get norwegian driving license, we entered a leasing contract for a new BMW i3.

    BMW i3

    Here I’ll be talking about the leasing process and in general about the experience of owning an electric car in Norway.

    Read more
  • Making a deb package with CMake/CPack and hosting it in a private APT repository

    2021-09-23 | 19 min read

    Last time I needed to handle a C++ library project with CMake. This time I was tasked with creating a deb package for one of the libraries in our SDK.

    CMake, CPack, deb package

    And what would you know, CMake can handle packaging too - with CPack utility.

    Read more
  • Qt for WebAssembly and custom OpenGL via QQuickFramebufferObject

    2021-08-29 | 12 min read

    It is amazing what kind of crazy ideas people might come up with. One of our users decided that they want to use our visualization engine inside their Qt application on Windows and Linux (so far so good) and also to build a version for WebAssembly to target web-browsers (fucking hell).

    Qt, WebAssembly, QQuickFramebufferObject

    Very surprisingly to me, this actually works!

    Read more
  • Azure DevOps Artifacts package promotion

    2021-07-21 | 12 min read

    Some time after we started to publish our packages to Azure DevOps Artifacts, users told us that they cannot see new versions of the packages until those are “promoted to Release view”. And indeed, there is a concept of “views”, and packages can be “promoted” to certain views:

    Azure DevOps Artifacts package version promotion

    Apparently, that is the case when someone consumes packages not directly from your feed, but from their own feed with your feed being an upstream source.

    Read more
  • How to block Apple TV updates

    2021-07-11 | 6 min read

    Apparently, Apple thought that we will be delighted to get fullscreen update prompts on Apple TV like this one from time time but mostly when you expect them the least:

    Apple TV fullscreen update prompt

    They just show up randomly on system start or simply on top of an application, if you leave it unattended for some time. And there is no setting in system preferences which would allow you to disable those.

    You can, however, blacklist Apple update servers with firewall or DNS, and that will stop these prompts from showing up.

    Read more
  • New server and remark42 comments

    2021-05-30 | 20 min read

    I decided to move from GitHub Pages to my own server with my own domain. Also I switched from commenting system based on GitHub issues to Remark42 comment engine.

    Moving to a new server

    So the main website and the origin is now on, and will continue to exist as a mirror on GitHub Pages.

    Read more
  • Let's Encrypt certificate with instead of Certbot

    2021-04-05 | 25 min read

    I needed to set-up a new website with HTTPS and so I took Let’s Encrypt procedure from my past instructions. But to my surprise, Certbot is installed via Snap now, which is just retarded. That discovery triggered me to remember that I read about other ways of getting Let’s Encrypt certificate, such as instead of Certbot

    On top of that, last month Electronic Frontier Foundation (creators of Certbot) announced that they have joined the hounding of Richard Stallman (here’s a screenshot, “just in case”), so now they can go fuck themselves for sure.

    Read more