• Checking a Header-Only C++ Library Collection (awesome-hpp)

      PVS-Studio and Awesome hpp

      Somehow, we've happened to check most of the libraries making up a collection called "Awesome hpp". These are small header-only projects in C++. Hopefully, the information about the bugs we've found will help make the libraries better. We'll also be happy to see the developers use PVS-Studio on a regular basis thanks to the free-license option we provide.
      Read more →
    • 5 Most Popular IT Outsourcing Software Development Companies in India

        The global IT outsourcing market generated a revenue of $520.74 billion in 2019 and it is expected to surge at a CAGR of 7.7% during the 2020-2027 period. The immense growth of the market is due to the growing popularity of outsourcing software development companies across the globe. 

        In fact, in 2018, India dominated the global IT outsourcing market with a 67.0% share and the Indian IT sector generated a revenue of more than $150.0 billion with a CAGR of 10-15.0% per year. 

        The majority of small businesses, start-ups, and enterprises are inclined towards IT outsourcing companies for managing and handling their business. There are hundreds and thousands of outsourcing software development companies available on the internet but choosing the top-notch IT outsourcing company is a tough call because you might fall into the wrong trap

        So, for that, I am going to shortlist the top 5 software development outsourcing companies in India that not only add value to your business but also help you to expand your business across the globe. 

        I am going to prepare a list of parameters that will back the shortlisting of these top 5 IT outsourcing companies in India- 

        Read More
      • Amnesia: The Dark Descent or How to Forget to Fix Copy Paste


          Just before the release of the "Amnesia: Rebirth" game, the vendor "Fractional Games" opened the source code of the legendary "Amnesia: The Dark Descent" and its sequel "Amnesia: A Machine For Pigs". Why not use the static analysis tool to see what dreadful mistakes are hidden in the inside of these cult horror games?
          Read more →
        • Is headless e-commerce right for your business?

            Is headless e-commerce right for your business?

            Headless e-commerce is a hot topic in the media and industry events. Business owners who learn more about headless eCommerce (usually called “headless commerce”) start feeling uncomfortable, not understanding whether it is sufficiently important to implement it or not. No one wants to stay behind with technology, but retailers do not have money left for unnecessary toys either. Let's have a look for possible benefits and pitfalls.
            Read more →
          • The work on the historical development plan case Vladimir city (Russia)

              I am a russian cartographer Alexander Pronin and I am going to tell you how we together with my colleague Nikita Slavin, a map of the age of the houses of the city of Vladimir was created.


              For the layer with buildings I used a free map from OpenStreetMap. This layer contains the address, which is divided into columns, names of the objects and numbers of storeys. I collect data on the year of construction, address, name of the object and photos from several sources.

              The first one is my project владимирдом.рф It’s a plot that I created to show the residents of my hometown how our city was built up. In this case I took the year of construction data from the website of the Ministry of Housing and Communal Services, for kindergartens and schools — from their official websites. A lot of information was sent also by site users. The map only shows the year of construction.

              Read more →
            • 5 Thought-Provoking Use Cases Of Blockchain In Diverse Industries

                Blockchain is a decentralized technology that maintains a record of all transactions occurring over a peer-to-peer network. Due to Blockchain's several different high-level use cases, numerous industries described Blockchain as the 'magic beans.' 

                Blockchains store the record in a decentralized system that is interconnected. This technology lessens vulnerability and enhances transparency in all industrial sectors as information is stored digitally, and it does not have any centralized point to carry out the transactions.

                Do You Know?

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

              • Checking the Code of DeepSpeech, or Why You Shouldn't Write in namespace std

                  DeepSpeech is an open-source speech recognition engine developed by Mozilla. It's pretty fast and ranks high, which makes its source code an interesting target for static analysis. In this article, I'll show you some of the bugs found in DeepSpeech's C++ code.



                  We have already scanned a few projects based on machine learning before, so there was nothing new about DeepSpeech to us in this respect. No wonder since the project is quite popular: as of this writing, it has 15k stars on GitHub.
                  Read more →
                • Part 2: Upsetting Opinions about Static Analyzers

                    Единорог грустит

                    By writing the article "Upsetting Opinions about Static Analyzers" we were supposed to get it off our chest and peacefully let it all go. However, the article unexpectedly triggered robust feedback. Unfortunately, the discussion went in the wrong direction, and now we will make a second attempt to explain our view of this situation.
                    Read more →
                  • How To Build a Password Management Software Using JAVA?

                      In this digital world, people prefer to work remotely. There are numerous tasks that each of us goes through every day. If I talk about an application's usage, then it has been predicted that there will be a 25% increase in global app downloads between 2018 and 2022

                      But it can be quite challenging for organizations to maintain and create multiple passwords. Hence, a password management software can be a great choice to manage this effectively. It is like your bank locker, where one can store numerous passwords. The users only need a master password to access the software.

                      Do You Know? 

                      Read More
                    • Distributed File Systems

                        The Big Data Tools plugin seamlessly integrates HDFS into your IDE and provides access to different cloud storage systems (AWS S3, Minio, Linode, Digital Open Space, GS, Azure). But is this the end? Have we implemented everything and now progress has stopped? Of course not.

                        In this short digest, we'll take a look at 15 popular distributed file systems available on the market and try to get a sense of their individual advantages.

                        Almost all of these systems are free or open-source, and you can find the sources on GitHub. The sites of these projects, their documentation, and online reviews provide most of the information we’ll consider here. Other than HDFS, none of these technologies have been implemented yet in Big Data Tools. But who knows? Perhaps someday we'll see them in our plugin.

                        Read more →
                      • 7 Best Practices Every Budding React.JS Developer Must Follow to Excel


                          With the advancement in web technology, the entire globe is sliding towards the online tech sphere. The globe around us is going tech-centric day by day and thus the demand for front-end designers and developers also.

                          Whatever, be the purpose, people just google things and get their desired result. This is all because of the increase in the evolution of web and mobile app development. While we all know that to be a Web developer, you need to have basic skills of HTML, CSS, and JavaScript, but, with time React.js emerged into the technology stack of the web development field and outdated JavaScript.

                          A Report by JS reflects that 64.8% of the web developers prefer to use the React.JS framework and would love to use it again and again in the future. It has even beaten other categories of frameworks that are Vue.js with 28.8% votes and Angular with 23.9% votes. This is the reason why the demand for React.JS development companies is at an all-time high.


                          With React, it becomes painless to build an interactive user interface. It efficiently updates and renders the right components when changes are made.

                          Before you use React.js as web technology, let’s have a look at the practices that every React.js developer should follow to write better react codes for their application.
                          Read more →
                        • Organizing Content on Our Blog with Tags

                            As you know, we regularly post new content on programming and various interesting events from our company's life on our blog. The range of topics is expanding, and the number of articles is growing, so at some point, we started to attach tags to our posts so that you could quickly find content on topics you're interested in. Just click the appropriate tag and – presto! – a sorted list of related articles appears.

                            Read more
                          • Upsetting Opinions about Static Analyzers

                              Static analysis tools have advanced far over the time they've been around. They no longer resemble the "linters" that were in active use 20 years ago. But some programmers still view them as extremely primitive tools. And that's very sad. It hurts to see the static analysis methodology in general and our PVS-Studio analyzer in particular treated that way.

                              Read more →
                            • Fatal Fight: How we've got 5 million organic installs?

                                Fatal Fight Android game

                                The story of Fatal Fight started in 2015. The time when going global and having 5 million downloads on Google Play Store seemed to be a dream of every game developer.

                                In this article, I will talk about the way we converted the dream into our actual reality. To make it super understandable, find a guide below where I will cover all the stages of development of Fatal Fight and even more.


                                The idea of Fatal Fight hasn't just come from nowhere. Before understanding what game to develop, we needed to research what are the current gaps in the mobile games market. And, to come to this point, we took several steps.

                                First, we analyzed what are the most searchable mobile games in the Google Play Store. It turned out, the top 3 mobile games that users were looking for were the following:

                                • Puzzle Games
                                • Car Games
                                • Fighting Games

                                Here we narrowed down our research. We were playing most downloaded games from each category to figure out if those games meet users’ needs while trying to answer what kind of challenges they have with those games.

                                As a result, Puzzle and Car Games had a wide range of mobile games with pretty nice UI/UX design and other characteristics. However, during the testing of the fighting games, the picture was quite different.

                                We were surprised by the fact that we could not find any proper games with satisfactory features. And I believe, not only we but also the dozens of users who were craving for favorable experience while playing a fighting game.

                                While asking ourselves the question “Why?” we found out that the main reason was the gameplay. The interaction between users and the games was complex. It was not comfortable to manage punching, kicking, jumping and other possible moves separately or even all at once on a smartphone.
                                Read more →
                              • Brainless Platform for a Robotic Vacuum Cleaner

                                  More on robotics.snowcron.com

                                  First of all, this is just an exercise, useful as is, but the result is going to be far from an industrial level robots. Why doing it then?

                                  For the same reasons we do all exercise: to get an experience. After all, when we write a character recognition «MNIST classifier» neural network, we know that the problem is solved long time ago. But we need to become familiar with tools and approaches. Same here.

                                  Now, why is it called «brainless»?
                                  Read more →
                                • Database using ScriptableObjects with save/load system

                                  • Translation


                                  Each game has data that game-designers work with. In RPG there is a database of items, in match-3 — the cost in the crystals of tools from the store, in action — hit points, for which medical kit heals.

                                  There are many ways to store such data — someone stores it in tables, in XML or JSON files that edit with their own tools. Unity provides its own way — Scriptable Objects (SO), which I like because you don't have to write your own editor to visualize them, it's easy to make links to the game's assets and to each other, and with Addressables this data can be easily and conveniently stored off-game and updated separately.

                                  In this article I would like to talk about my SODatabase library, with which you can conveniently create, edit and use in the game (edit and serialize) scriptable objects.

                                  Read more →
                                • Big Data Tools Update 11 Is Out

                                    EAP 11 of the Big Data Tools plugin for IntelliJ IDEA Ultimate, PyCharm, and DataGrip is available starting today. You can install it from the JetBrains Plugin Repository or inside your IDE.

                                    Big Data Tools is a new JetBrains plugin that allows you to connect to Hadoop and Spark clusters and monitor nodes, applications, and jobs. It also brings support for editing and running Zeppelin notebooks inside IntelliJ IDEA and DataGrip, so you can create, edit, and run Zeppelin notebooks without ever having to leave your favorite IDE. The plugin offers smart navigation, code completion, inspections, quick-fixes, and refactoring inside notebooks.

                                    Read more →
                                  • Agreements as Code: how to refactor IaC and save your sanity?

                                      Before we start, I'd like to get on the same page with you. So, could you please answer? How much time will it take to:

                                      • Create a new environment for testing?
                                      • Update java & OS in the docker image?
                                      • Grant access to servers?

                                      There is the spoiler from the TechLeadConf. Unfortunately, it's in Russian

                                      It will take longer than you expect. I will explain why.

                                      Read more →