• Simple rest based kogito microservice with several embedded pmml models

    • Tutorial

    In previous post I've described an example of kogito-based microservice on quarkus in native mode, containing one embedded pmml model with decision tree. While it can be successfully used for prototyping purposes, in the real life microservice might contain several prediction models. From the first view I've got an impression, that inclusion of several models should be a trivial extension of the prototype with one model. We were completely wrong in our assumption, that's the reason, why I've decided to write this post. Another reason, is absence of guides, in which 2 (or more models) are put inside DMN diagrams in kogito framework.

    Read more
  • Our new public speech synthesis in super-high quality, 10x faster and more stable

      hero_image


      In our last article we made a bunch of promises about our speech synthesis.


      After a lot of hard work we finally have delivered upon these promises:


      • Model size reduced 2x;
      • New models are 10x faster;
      • We added flags to control stress;
      • Now the models can make proper pauses;
      • High quality voice added (and unlimited "random" voices);
      • All speakers squeezed into the same model;
      • Input length limitations lifted, now models can work with paragraphs of text;
      • Pauses, speed and pitch can be controlled via SSML;
      • Sampling rates of 8, 24 or 48 kHz are supported;
      • Models are much more stable — they do not omit words anymore;

      This is a truly break-through achievement for us and we are not planning to stop anytime soon. We will be adding as many languages as possible shortly (the CIS languages, English, European languages, Hindic languages). Also we are still planning to make our models additional 2-5x faster.


      We are also planning to add phonemes and a new model for stress, as well as to reduce the minimum amount of audio required to train a high-quality voice to 5 — 15 minutes.


      As usual you can try our model in our repo or in colab.

      Read more →
    • Django admin dynamic Inline positioning

      • Translation
      • Tutorial

      Recently I've received an interesting request from a client about one of our Django projects.
      He asked if it would be possible to show an inline component above other fields in the Django admin panel.

      At the beginning I thought, that there shouldn't be any issue with that.
      Though there was no easy solution other then installing another battery to the project. My gut feeling told me, there were another way around that problem.

      Read more about ModelAdmin with Inlines
    • Working with digital infrared passive motion sensor PYD 1588

        In this article, there is the work with the PYD 1588 digital Infrared passive motion sensor introduced. The PYD 1588 is a serial opposed format, two element detector based on pyroceramic produced by the Excelitas Technologies. This sensor represents a low-power (3.0 uA with 1.8 V source voltage as in the documentation said) passive component with two sensible elements, which measure the thermal infrared radiation stream.

        The signal is converted to a digital value using Sigma-Delta and DSP techniques. A configurable motion detection unit is implemented, which can generate an interrupt recognized by the external microcontroller (MCU) in case motion is detected. The motion detection unit contributes to significant device energy efficiency increasing via putting the MCU to a low-power sleep mode with no periodic raw data request and its analyzing necessity.

        Read more
      • Comparison between SwiftUI vs UIKit — Choosing the right framework

          There has been a lot of debate going on among iOS developers with regards to the comparison between SwiftUI and UIKit. Have you been planning to develop a chat app for iOS and are confused as to which framework you should opt for?

          Fret not! We have got your back. In this article, we shall discuss all the relevant aspects revolving around these two and compare them in detail. Stay with us and read on! 

          As iOS developers, you must be knowing about both the UIKit and Swift UI frameworks. However, we would like to provide you with a quick overview to refresh your understanding. Let's take them up one by one

          Read more
        • Ads
          AdBlock has stolen the banner, but banners are not teeth — they will be back

          More
        • Electron + web camera (cpp-ffmpeg)

          An example of using Electron + React JS and a native ffmpeg addon to access a webcamera

          This guide may be helpful to someone who is trying to find a way
          to work with Electron if they need to use a c++ library or code

          I was looking for a more realistic example than a simple 'hello world' and i didn't succeed

          Here are the links in advance:

          - electron - https://github.com/khomin/electron_camera_ffmpeg

          - addon - https://github.com/khomin/electron_ffmpeg_addon_camera

          So let me share my experience...

          Read more
        • Queries in PostgreSQL. Sequential Scan

          • Translation

          Queries in PostgreSQL. Sequential scan


          In previous articles we discussed how the system plans a query execution and how it collects statistics to select the best plan. The following articles, starting with this one, will focus on what a plan actually is, what it consists of, and how it is executed.


          In this article, I will demonstrate how the planner calculates execution costs. I will also discuss access methods and how they affect these costs, and use the sequential scan method as an illustration. Lastly, I will talk about parallel execution in PostgreSQL, how it works, and when to use it.


          I will use several seemingly complicated math formulas later in the article. You don't have to memorize any of them to get to the bottom of how the planner works; they are merely there to show where I get my numbers from.

          Read more →
        • Riddles of the fast Fourier transform

          • Tutorial

          • The method of phase-magnitude interpolation (PMI)

          • Accurate measure of frequency, magnitude and phase of signal harmonics

          • Detection of resonances

          The Fast Fourier Transform (FFT) algorithm is an important tool for analyzing and processing signals of various nature.

          It allows to reconstruct magnitude and phase spectrum of a signal into the frequency domain by magnitude sample into the time domain, while the method is computationally optimized with modest memory consumption.

          Although there is not losing of any information about the signal during the conversion process (calculations are reversible up to rounding), the algorithm has some peculiarities, which hinder high-precision analysis and fine processing of results further.

          The article presents an effective way to overcome such "inconvenient" features of the algorithm.

          Read in Russian

          Read in English
        • Creating a Weather Predictions App Using Flutter

          This article describes how to develop a real-time weather prediction app in Flutter using the Tomorrow.io Weather API. The app consists of a single screen that displays the current weather and a 4-day daily forecast for a specific location. We’re creating this prediction app on Flutter because it is an open-source UI development kit, which means it can be integrated beautifully into desktop and mobile apps across various platforms, making it scalable. 

          Read more
        • Even shell scripts require unit tests

            Once a upon a time I moved to brand new project. And without much thought, I decided to take DevOps responsibilities (after a long period of Frontend). Huge mono-repository (Angular and Node.js) gives rise to many specific problems. And this project was no exception. At the very beginning CI/CD duration was about 1.5h. And that was the biggest problem to take care of.

            But at first, I want to talk about "Bourne again shell", cause CI/CD automation almost entirely was implemented by means of shell scripts (Bash). In context of huge mono-repo even regular build becomes a piece of odd stuff. That`s why a huge amount of scripts with complicated logic inside (build, test, deploy, generation of release notes, collection of logs and metrics, ...) was another significant problem.

            Regardless of lang, quality of complex logic should be under control. It is no secret that key aspect of code quality control - is tests. For example, to refactor safely major logic should be covered with tests. We decided to keep shell scripts untouched and cover the major ones with tests before any refactoring. Of course, it is possible to use Jest (or Mocha) with a bunch of awful utils to test shell scripts. This approach is a bit wordy and has no value if scripts under test is written in Bash. Also I have no idea how to mock external shell commands (such as curl, ls, touch, npm, ...) with Jest or similar framework.

            Read more
          • Analysis of UE5 Rendering Technology: Nanite

            • Tutorial

            After Epic released the UE5 technology demo at the beginning of 2021, the discussion about UE5 has never stopped. Related technical discussions mainly centered on two new features: global illumination technology Lumen and extremely high model detail technology Nanite. There have been some articles [1 ][2] analyzing Nanite technology in more detail. This article mainly starts from the RenderDoc analysis and source code of UE5, combined with some existing technical data, aims to provide an intuitive and overview understanding of Nanite, and clarify its algorithm principles and design ideas, without involving too many source code level Implementation details.

             

            https://blog.en.uwa4d.com/2022/02
          • Introducing into calamares bootloader

            • Tutorial


            Overview


            Sometimes all of us need to make a graphical installer for one's own linux distro. It goes without saying that you are able to use a distro-specific installer like Anaconda for RedHat-based or DebianInstaller for debian-based. On the other hand Calamares is a graphical installer which is not aligned with only one package manager.


            I want to share my experience how to make a universal install solution with GUI. I did not find any complete article about it, hence, I reinvented the wheel.

            Read more →
          • UE5 Lumen Implementation Analysis

            • Tutorial

            Lumen is UE5’s GI system, it is different from the traditional real-time GI which only includes the contribution of indirect diffuse reflection. It also includes indirect diffuse reflection and indirect highlight, providing a new set of complete indirect lighting. Lumen supports both hardware-based RTX and software-based Trace algorithms. The starting point of this article is that Lumen GI uses the process, algorithm, and data structure analysis of indirect diffuse reflection part based on software Trace to understand the basic principle and operation mechanism of Lumen from a macro perspective.

             

            The core of Lumen includes the following parts:

            Read more https://blog.en.uwa4d.com/2022/0