• Checking the Ark Compiler Recently Made Open-Source by Huawei

      Picture 1

      During the summer of 2019, Huawei gave a series of presentations announcing the Ark Compiler technology. The company claims that this open-source project will help developers make the Android system and third-party software much more fluent and responsive. By tradition, every new promising open-source project goes through PVS-Studio for us to evaluate the quality of its code.


      The Ark Compiler was first announced by Huawei at the launch of the new smartphone models P30 and P30 Pro. It is claimed that the Ark Compiler will improve the fluency of the Android system by 24% and response speed by 44%. Third-party Android applications will also gain a 60% speed-up after recompilation with the Ark Compiler. The open-source version of the project is called OpenArkCompiler; its source code is available on Gitee, a Chinese fork of GitHub.
      Read more →
    • React Native Introduces new version 0.60 | React Native updates & Features

        React Native is the best open-source framework for Mobile App Developers that proved to be an advanced platform. Developed and promoted by Facebook, React Native became the most leading platform in the market. It can deliver apps on any platform with excellent performance and reliability. The ultimate aim of React Native is to cut down the reliance on web technologies like HTML and boost more dependence on native app development.

        Upgrades are all about exciting features from the old version. We update our mobile applications regularly to check the new features in different apps. Comparing to the 0.59 version, React Native 0.6 update has some great features in the list that will make the react native app development process quite smoother and easier.

        For each reacts native developer, all the improvements play a crucial role, so we’ve drafted some exciting features that will make the process quite simple.
        Read more →
      • AI-assisted IntelliSense for your team’s codebase

          Visual Studio IntelliCode uses machine learning to offer useful, contextually-rich code completion suggestions as you type, allowing you to learn APIs more quickly and code faster. Although IntelliCode’s base model was trained on over 3000 top open source C# GitHub repositories, it does not include all the custom types in your code base. To produce useful, high-fidelity, contextually-rich suggestions, the model needs to be tailored to unique types or domain-specific APIs that aren’t used in open source code. To make IntelliSense recommendations based on the wisdom of your team’s codebase, the model needs to train with your team’s code.

          Earlier this year, we extended our ML model training capabilities beyond our initial Github trained base model to enable you to personalize your IntelliCode completion suggestions by creating team models trained on your own code.

          Read more →
        • Dynamic CDN for Low Latency WebRTC Streaming with Transcoding

            In the first part we have deployed a simple dynamic CDN for broadcasting WebRTC streams to two continents and have proved on the example of a countdown timer that the latency in this kind of CDN is actually low.

            However, besides low latency, it is important to provide good broadcast quality to users. After all, this is what they are paying for. In real life the channels between Edge servers and users can differ in bandwidth capacity and quality. For example, we are publishing a 720p stream at 2 Mbps, the user is playing it on an Android phone using 3G connection in an unstable signal reception area and the 360p maximum resolution that provides smooth picture at 400 Mbps is 360p.

            Read more →
          • PVS-Studio Static Analyzer as a Tool for Protection against Zero-Day Vulnerabilities

              PVS-Studio Static Analyzer as a Tool for Protection against Zero-Day Vulnerabilities

              A Zero-day (0-day) vulnerability is a computer-software vulnerability introduced during the development process and not yet discovered by the developers. Zero-day vulnerabilities can be exploited by hackers, thus affecting the company's reputation. Developers should seek to minimize the number of defects leading to such vulnerabilities. PVS-Studio, a static code analyzer for C, C++, C#, and Java code, is one of the tools capable of detecting security issues.
              Read more →
            • MVCC in PostgreSQL-3. Row Versions

              • Translation
              Well, we've already discussed isolation and made a digression regarding the low-level data structure. And we've finally reached the most fascinating thing, that is, row versions (tuples).

              Tuple header

              As already mentioned, several versions of each row can be simultaneously available in the database. And we need to somehow distinguish one version from another one. To this end, each version is labeled with its effective «time» (xmin) and expiration «time» (xmax). Quotation marks denote that a special incrementing counter is used rather than the time itself. And this counter is the transaction identifier.

              (As usual, in reality this is more complicated: the transaction ID cannot always increment due to a limited bit depth of the counter. But we will explore more details of this when our discussion reaches freezing.)
              Read more →
            • Angular: The Best Building Companion for Interactive apps

                Do you know there were 5 million apps in 2019? Out of these millions of apps, only a few are able to perform. There are many reasons for this but a major factor is the interactivity of an app.

                No matter which product you are trying to sell, customers choose the one which allows them to get involved. Interactive apps are in demand for a long time. Are you wondering how can you make an interactive app?

                The first thing which comes to our mind when we talk about interactive apps is the concept of single page application. This is because SPAs are known for their capacity to interact with the user by reloading some page elements dynamically depending upon the interaction by the user.
                Read more →
              • AdBlock has stolen the banner, but banners are not teeth — they will be back

              • Promoting an App on the App Store and Google Play

                • Translation
                • Tutorial

                We've developed a unified four-layer model for app promotion and added our recommendations.

                Before we wrote this article we had our apps downloaded over two million times, ran about 50 large promotional campaigns, and made it onto the App Store top-lists in over 24 countries to finally combine all of it into a single workflow.

                You won’t find almost any obvious stuff about keywords, nice-looking icons, screenshots, or ad campaigns in this article. We’ve tried to develop a unified model for a product-focused company based on our experience by answering the questions “What? When? Why?” and even “And what then?”

                If you’re developing your own app, want to start developing one, or just have a friend who’s a developer or marketing professional at a product-focused company, you’ll find lots of useful information in this article.

                Read more →
              • Cracking Reduce Concept In Just 10 Minutes

                  Being a developer, I love to code especially in JavaScript. As per my experience, using reduce function is one of the toughest tasks in JS. Let me first elaborate on the Reduce concept!

                  In Wikipedia, it has many names viz.


                  It is a function that folds a list into any data type. It's all about breaking a structure down into a single value. It's like folding a box! With reduce, you can turn an array [1,2,3,4,5] into the number 15 by adding them all up.
                  Read more →
                • Engineer Advice: How To Build The Product Users Need And Be Fast

                  Image credit: Unsplash

                  Working on a startup is always hard. Founders have to master multitasking skills and control everything. Very often, in such a situation, they can't correctly assess the technological development of their company. A couple of wrong tech-related decisions can lead to a massive fail.

                  How to avoid this? Get some advice from an experienced engineer! I had an opportunity to talk to Serhii Korniushov, a programmer, and IT manager with more than 10 years of experience.
                  Below, we will discuss his recommendations on building products that users need, and not wasting time and money.
                  Read more →
                • Advantages of Ionic Framework for Hybrid Mobile App Development | Why Ionic Framework is the Best?

                    An Ionic framework is an HTML5 mobile app development framework that helps us to develop hybrid mobile apps. The hybrid apps are a significantly small website that runs in the browser shell in an app that has access to the native platform layer. These apps have many advantages over pure native applications, which are defined in terms of platform support, speed of development and access to the third-party code.

                    One of the biggest challenges that companies normally face while creating mobile apps is the project's cost. As per the reports of specialists, they recommend going for hybrid technologies to save some bucks.

                    After NodeJS and angular, Ionic has attained a huge reputation among JavaScript-based programming languages or frameworks. By using the SAAS, the Ionic framework provides users with many user interface features which help in building interactive elements. It uses HTML, CSS, and JavaScript and then converts them into native code to make the application available for mobile devices.

                    This framework is a very successful hybrid framework because its user interface copies the native apps UI. So developers need not worry about the implementation of native appearing UI as Ionic does this for them automatically.
                    Read more →
                  • Best PHP Frameworks for Web Development

                      For years now, PHP has been one of the most used programming languages for developing websites and applications. Although the language is considered to be quite stable and secure, it has seen a fair share of evolution since its release. But as time has passed, the complexity of websites has increased massively. Developers have to write hundreds and thousands of lines of code to create these websites, which is a tedious task and takes a lot of time. Moreover, developers have to start from scratch every time. This is where PHP frameworks come into the picture.

                      Read more →
                    • Huawei Cloud: It's Cloudy in PVS-Studio Today

                        Picture 2

                        Nowadays everyone knows about cloud services. Many companies have cracked this market segment and created their own cloud services of various purposes. Recently our team has also been interested in these services in terms of integrating the PVS-Studio code analyzer into them. Chances are, our regular readers have already guessed what type of project we will check this time. The choice fell on the code of Huawei cloud services.
                        Read more →
                      • Best App Development Practices To Follow In 2020

                          As per the stats, there were around 6 billion mobile app users in 2018-19. With increased demand for mobile apps, the number of mobile users has increased exponentially as compared to last years. Hence, it becomes necessary for every mobile app development company to follow some best app development practices in order to deliver the best mobility solution their users.

                          When we talk about best app development practices, it doesn't mean to leave the traditional approaches and start with new strategies. Actually, it requires to rely on the best old practices using modern app development tools and technologies. Before discussing in the technical terms, we first look at some best app development methodologies to come with a perfect mobile app in this competitive era.
                          Read more →
                        • Dynamic CDN for Low Latency WebRTC Streaming

                            Having analyzed earlier the capacity of standard server configurations in Digital Ocean in terms of WebRTC streaming, we have noticed that one server can cover up to 2000 viewers. In real life, cases when one server is insufficient are not uncommon.

                            Assume gambling amateurs in Germany are watching real-time horse races in Australia. Given that horse races are not only a sports game but also imply big gains on condition that field bets are made at the right time, the video has to be delivered with lowest possible latency.

                            Another example: A global corporation, one of FCMG market leaders with subsidiaries in Europe, Russia and Southeast Asia, is organizing sales manager training webinars with live streaming from the headquarters in the Mediterranean. The viewers must be able to see and hear the presenter in real time.

                            Read more →
                          • Why You Should Choose the PVS-Studio Static Analyzer to Integrate into Your Development Process

                              Why You Should Choose the PVS-Studio Static Analyzer to Integrate into Your Development Process

                              PVS-Studio is a tool for detecting bugs and potential vulnerabilities in the source code of programs written in C, C++, C#, or Java, and is also a Static Application Security Testing (SAST) tool. It is meant to be used as part of the CI practice and allows the user to detect bugs at the earliest development stages, where they cost almost nothing to fix.
                              Read more →
                            • Building Modern Cloud Applications using Pulumi and .NET Core

                                We are excited to announce .NET Core support for Pulumi! This announcement means you can declare cloud infrastructure — including all of Azure, such as Kubernetes, Functions, AppService, Virtual Machines, CosmosDB, and more — using your favorite .NET language, including C#, VB.NET, and F#. This brings the entire cloud to your fingertips without ever having to leave your code editor, while using production-ready «infrastructure as code» techniques.

                                Read more →
                              • Python for AI: A match made in heaven

                                  The artificial intelligence global market is expected to reach $190 billion by 2025. The bright future of this technology allures every entrepreneur. In fact, when we think about the technologies that are going to rule in the future, the one name that comes to our minds is ~ Artificial intelligence.

                                  AI along with its subsets like machine learning and deep learning is making such things possible which were unimaginable by humankind a few years back. It is affecting the realities and sometimes changing reality completely.

                                  The power of AI is well acknowledged by businesses as 84% of respondents in a study voted that they believe artificial intelligence will allow them to enjoy a competitive edge over competitors.

                                  Although entrepreneurs have an idea about AI but what most of them lack is proper implementation. The use of optimum programming tools for a complex technology like AI can create wonders for the world of business.

                                  Every custom web developer knows that a python is an apt tool for building AI-enabled -applications. The language has been used to create 126,424 websites so far. Since its launch in the late 1980s, python has seen remarkable growth not only in users but in applications too.

                                  Python is the favorite language for software developers to create applications that have artificial intelligence, machine learning, etc features embedded in them. But there are reasons behind everything.

                                  This blog is written with the intent to unveil these reasons. Let’s explore why python is extensively used in AI-enabled software development services.
                                  Read more →
                                • Understandable RayTracing in 256 lines of bare C++

                                  • Tutorial

                                  Understandable RayTracing in 256 lines of bare C++

                                  This is another chapter from my brief course of lectures on computer graphics. This time we are talking about the ray tracing. As usual, I try to avoid third-party libraries, as I believe that it makes students check what's happenning under the hood. Also check the tinykaboom project.

                                  There are plenty of raytracing articles on the web; however the problem is that almost all of them show finished software that can be quite difficult to understand. Take, for example, the very famous businness card ray tracer challenge. It produces very impressive programs, but it's very difficult to understand how this works. Rather than showing that I can do renders, I want to tell you in detail how you can do it by yourself.

                                  Note: It makes no sense just to look at my code, nor just to read this article with a cup of tea in hand. This article is designed for you to take up the keyboard and implement your own rendering engine. It will surely be better than mine. At the very least change the programming language!

                                  So, the goal for today is to learn how to render such images:

                                  Read more →
                                  • +29
                                  • 2.6k
                                  • 5
                                • Use AI in marketing: Let’s get into the customers' mind

                                  “Instead of using technology to automate processes, think about using technology to enhance human interaction.” ~ Tony Zambito, Lead authority in Buyer Personas.

                                  Do you know ~ according to research, 93% of customers make purchase decisions based on visual appearance. Visual elements of your brand are the key deciding factors for a majority of potential customers.

                                  Your logo, website colors, chatbot texts, etc all have an impact on the psychology of people who come across them. Some colors or features attract them and some make them leave your website instantly.

                                  In this era, interactive features with the help of technologies like Artificial intelligence are enhancing such effects. AI has the power to add interactive elements to your presentation. This creates a connection between your company and its customers.
                                  Read more →