Building stuff from sources on Steam Deck2023-05-28 | 35 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
Steam Deck2023-04-10 | 110 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
Норвежское гражданство2023-01-15 | 39 min read
Наконец-то получил гражданство Норвегии (Королевства Норвегия!).
Шёл я к этому достаточно долго, и было это не очень просто. Но самой сложной частью было найти работу в Норвегии, чтобы выехать из России; а после переезда в Норвегию процесс становления гражданином протекал, можно сказать, в автоматическом режиме, потому что от меня самого требовалось довольно немного, и мало что (если вообще хоть что-то) могло пойти не так.Read more
Qt на микроконтроллерах2022-12-24 | 7 min read
Эта статья создавалась как перевод поста (который почему-то больше не доступен) из блога The Qt Company для публикации на Хабре. Но НЛО сказало, что статья рекламная, и опубликовать не дало.
Я бы не сказал, что это рекламная статья, хотя в ней действительно есть ссылки вида “свяжитесь с нашими консультантами” и там и сям упоминается коммерческая лицензия. Как бы то ни было, на Хабре статья так и не вышла, но вот теперь спустя четыре года (лучше поздно, чем никогда) выходит здесь.
This article in english 🇺🇸.Read more
Qt on MCU2022-12-24 | 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
Managing dependencies in a C++ project with vcpkg2022-10-30 | 67 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
Visitors analytics with Microsoft Graph2022-08-15 | 27 min read
Our company uses Office 365 and Azure Active Directory, which allows us to rely on SAML SSO for authenticating company users on our websites. At some point we got curious about what kind of users visit our websites - not quantities but kind of “corporate demographics”: what is their team/department name, their role/job title, their manager, country where their office is and so on.
We don’t collect any of this data on our websites (we probably could, at least on those where we control the authentication process, but we don’t). The only piece of information that we do have about our visitors (aside from IP-addresses in web-servers access logs) is their e-mails and GUIDs, thanks to SAML SSO. That might not seem like much, but knowing just the e-mails (or GUIDs) is actually quite enough, as one can use Microsoft Graph to query more data using those. And for the actual analytics purposes that data can then be visualized/presented using Matplotlib charts.Read more
LDAP authentication in ASP.NET Core MVC2022-06-16 | 23 min read
We needed to make a (yet another) internal portal/website for employees, but this time, as that would be an internal resource, we decided to utilize users accounts data provided via LDAP by our office’s Active Directory, instead of (yet again) implementing “local” user identities like we did before with MySQL and PostgreSQL.
(Of course) we chose ASP.NET Core MVC for making the portal. And as both ASP.NET and Active Directory have been around for a while, and given the fact that both come from the same vendor, one would expect that implementing Active Directory users authentication via LDAP in such a setup to be a well-known topic with detailed documentation, examples and a lot of tutorials available. But as fucking usual, it’s not quite like that.Read more
Querying astronomy databases in ADQL via TAP2022-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.
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++ project2022-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.
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
Zuck: Just ask
Zuck: I have over 4,000 emails, pictures, addresses, SNS
smb: What? How'd you manage that one?
Zuck: People just submitted it.
Zuck: I don't know why.
Zuck: They "trust me"
Zuck: Dumb fucks