Declaration of VAR

and some other stuff

  • Jupyter Notebook on a subdomain of your website

    2020-05-27 | 6 min read

    Jupyter Notebook is kind of a Python (and some other languages) sandbox, where you can mix text (Markdown) with code blocks and “run” all that in a web-browser. So it’s like running Python interpreter in interactive mode, but more convenient and user-friendly.

    Jupyter Notebook

    So, here’s the plan:

    • install and run a local instance of Jupyter Notebook on Linux server
      • local here means that Jupyter instance itself will be bound to localhost (not available from the internet)
      • also create a systemd service
    • interface it with the internet via NGINX as a reverse proxy
      • using HTTPS, of course, so the existing certificate needs to be extended
    • host it on a subdomain of existing website, so there will be a new DNS record

    Read more
  • Visitors analytics with GoAccess

    2020-05-20 | 7 min read

    Like I already mentioned in my other post about server-side visitors analytics with .NET Core middleware, if you are relying only on Google Analytics, then you are missing a good portion of data about your visitors.

    Recently I discovered one more way to analyze visitors data - by using GoAccess tool (and its nice web-reports):

    GoAccess dashboard

    What’s especially great about this tool is that it analyzes web-server access logs, so it is the most trustworthy and “closest to reality” data about your visitors that you can possibly ever get.

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

    2020-03-05 | 15 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
  • Search for 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 | 11 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”.

    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 | 10 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