22 min read
We have a C++ library, which our customers are using on a variety of platforms. Mainly in desktop applications on Windows, Mac OS and GNU/Linux, but there are also web-applications (for which we compile it into WebAssembly with Emscripten), and now we got a request to make it work in Android applications too (or rather to provide a binding/wrapper).
This particular example will be about a Kotlin-based application. I don’t know what would be different in case of a Java-based application, but I suppose that principal things should be more or less the same in both.Read more
12 min read
I’ve been using Oracle Cloud Free Tier (“Always Free” resources) for 2.5 years (since I moved my website from GitHub pages). It was indeed absolutely free of charge, and it was really great while it lasted.
But two days ago my website suddenly went down along with the server and all the content on it. Without a notice/warning, with no explanation and without a way to restore the data (fortunately, I haven’t actually lost any).Read more
14 min read
If a C++ program utilizes multithreading via pthreads, then compiling it with Emscripten into WebAssembly requires setting certain flags for both compiler and linker. In addition to that, web-server that will be hosting the resulting web-application also requires some configuration.
A couple of years ago I compiled a Qt-based application into WebAssembly using Emscripten, and I did mention pthreads there too, but it was very briefly and without any details. And as it turned out, there are some interesting moments in there which are worth being documented.Read more
27 min read
The CMake’s target_link_libraries() function has different scopes (
PUBLIC), and I never understood what exactly each one of them means and how do they actually affect the final result.
As there is a limit for how long one can postpone one’s ignorance, it finally came a time for me to investigate the matter, which I did by (reading the documentation and) conducting a small experiment of my own.Read more
38 min read
My previous article about Steam Deck has exploded in size, so I decided to move the part about installing packages and building stuff into a separate article.
But it’s not just already published parts, there are some new things too: in particular, I’ve managed to build Qt (both shared and static configurations) and used it to build my own applications.Read more
114 min read
If you play games (actual games, not press-X-to-win blurry movies), then undoubtly you have heard about Steam Deck. If you haven’t, then you can probably just go watch some more of your favorite titles on PS/Xbox/Switch/whatsthename instead of reading this wall of text.
Yes, I’ve got my very own Steam Deck too. And as many have already said, it does exceed all the expectations (and then some).Read more
42 min read
Наконец-то получил гражданство Норвегии (Королевства Норвегия!).
Шёл я к этому достаточно долго, и было это не очень просто. Но самой сложной частью было найти работу в Норвегии, чтобы выехать из России; а после переезда в Норвегию процесс становления гражданином протекал, можно сказать, в автоматическом режиме, потому что от меня самого требовалось довольно немного, и мало что (если вообще хоть что-то) могло пойти не так.Read more
7 min read
Я бы не сказал, что это рекламная статья, хотя в ней действительно есть ссылки вида “свяжитесь с нашими консультантами” и там и сям упоминается коммерческая лицензия. Как бы то ни было, на Хабре статья так и не вышла, но вот теперь спустя четыре года (лучше поздно, чем никогда) выходит здесь.
This article in english 🇺🇸.Read more
8 min read
On the 2018-05-03 there was a post published in The Qt Company blog: “Qt on Microcontrollers”. It was about the first PoC of Qt running on several selected MCUs. I say “was”, because for unknown reasons that post is no longer available in the Qt blog.
All the work on that PoC was single-handedly done by Mikhail Svetkin, who was an embedded software developer in The Qt Company back at the time, and looks like the post was taken down at some point after he left the company (Internet Archive has the last snapshot on 2019-05-02). Perhaps the new project owner didn’t like something about that article?
Anyway, I thought I’ll resurrect the post and publish it here for the history. Everything below is published almost as it was in the original post in the Qt blog.
Эта статья на русском 🇷🇺.Read more
104 min read
More than half a year ago I was trying out Conan package manager for resolving dependencies in our C++ project. The research went well, but we never actually proceeded with switching to Conan for the whole project. And then a couple of weeks ago I started looking into vcpkg.
I’ve heard about vcpkg before and even tried to make a vcpkg package for one library a couple of years ago, but back then I didn’t find documentation for this (as I now understand, that’s because one does not really create a “package”) and abandonned the task. I never thought I’ll be looking at vcpkg again, but recently I discovered that some teams have been switching from Conan to vcpkg, which sounded intriguing and promising, as we still needed a package manager for our projects.Read more