• NuGet and npm packages in Azure DevOps Artifacts for a C++ library

    2020-03-05 | 19 min read

    These days more and more developers are incapable of working with anything else but packages, as manually unpacking a ZIP archive and copying libraries with headers to the right places seems to them an impossible task.

    But apart from said developers, using packages can indeed improve the development experience.

    Azure DevOps packages

    We distribute our C++ based SDK to many other teams, and for quite a some time they were asking us to do it exactly in packages (in particular, with NuGet and npm).

    Read more
  • Adding Exchange account to iOS devices enables their remote wipe

    2020-02-01 | 2 min read

    If your company (like ours) uses self-hosted Exchange server instances for e-mails, then most likely you’d want to add your e-mail account to your iPhone/iPad.

    iOS, add Exchange account

    What might come as surprise to you (like it was for me) is that doing so exposes your device to a remote wipe by your Exchange administrator.

    Read more
  • Adding search capability to a Hugo-based blog

    2020-01-05 | 6 min read

    I was working on the documentation for some project, and chose to use Hugo for it. Fits perfectly, but lacks the searching functionality. So I implemented it there, and also decided to add it to my blog too.

    Search

    It is actually a bit surprising why I didn’t think about it earlier. But then again, using Google’s site-specific search (ololo site:retifrav.github.io) should be good enough for that purpose already, so I just didn’t bother to do something else.

    Read more
  • Apple TV, Kodi and network share

    2019-12-26 | 18 min read

    For a long time I was using Kodi with LibreELEC running on a Raspberry Pi 3 Model B device. It was pretty good, and I was going to write a post about it, but never had time for that, and now I got an Apple TV, so instead I’ll write a post about using Kodi on Apple TV.

    Apple TV, Kodi and network media storage

    I’ll talk about how to install Kodi on Apple TV and how to create a network media storage for it.

    Read more
  • Resizing images with ImageMagick vs sips

    2019-12-12 | 2 min read

    For quite a some time I was using sips from standard Mac OS bundle to resize (mostly scale down) images. But I always had some suspicions about its results quality, so I decided to compare it with ImageMagick.

    ImageMagick vs sips

    The figure above shows results of an image being scaled down to 100px width using both tools, and as you can see, ImageMagick conversion quality is better.

    Read more
  • New Qt blog retarded design

    2019-11-24 | 2 min read

    Geniuses from Qt marketing team have (again) changed the website design. The blog now looks especially retarded:

    New retarded Qt blog design

    I couldn’t tolerate this, so I wrote a custom CSS for Stylus.

    Read more
  • Amazon, MXNet and Qt - The Great Robot Arm challenge

    2019-11-10 | 16 min read

    This February on the Embedded World 2019 event in Nuremberg The Qt Company had a joint demo together with Amazon - “The Great Robot Arm Challenge”.

    If video doesn't play in your browser, you can download it here.

    Amazon guys wrote a good article covering the deep-learning part. In turn, I wanted to tell about the Qt part.

    Read more
  • NGINX, uWSGI and Python scripts

    2019-11-03 | 15 min read

    You have a static HTML page with a form on it. And you want this form to be processed by a Python script when submitted. And you serve your page with NGINX. To make all that work you will also need an application server such as uWSGI.

    NGINX and uWSGI

    Let’s see, how it’s done.

    Read more
  • The fuck is this CORS and how do I send my bloody request

    2019-10-10 | 6 min read

    So I was working on some web view and I needed to send an XMLHttpRequest using JS. Usually I was working with my own backend, but this time it was a different remote host (our YouTrack instance), and my request failed with the following error:

    Firefox, missing CORS header
    Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://some.host?params=ololo. (Reason: CORS header Access-Control-Allow-Origin missing).
    Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://some.host?params=ololo. (Reason: CORS request did not succeed).

    That’s how I learnt about the existence of CORS, as it turned out I never sent cross-origin requests before.

    Read more
  • Microsoft Azure AD authentication on your website

    2019-09-21 | 3 min read

    You might have wondered how to add the Microsoft sign-in to certain corporate websites inside your company (which are available from the internet) in order to restrict access to employees of your organization only.

    Microsoft sign in

    At least I have, and it turned out to be not so difficult actually.

    Read more