• Roslyn API: Why PVS-Studio Was Analyzing the Project So Long

      How many of you have used third-party libraries when writing code? It's a catchy question. Without third-party libraries the development of some products would be delayed for a very, very long time. One would have to reinvent the wheel to solve each problem. When you use third-party libraries you still stumble upon some pitfalls in addition to obvious advantages. Recently PVS-Studio for C# has also faced one of the deficiencies. The analyzer could not finish analyzing a large project for a long time. It was due to the use of the SymbolFinder.FindReferencesAsync method from the Roslyn API in the V3083 diagnostic.

      Read more
    • Have we ever been working by the Waterfall?

        We work using Agile: Scrum, or Kanban, or any other extended project management way. Agile appeared in 2001 as a result of a long discussion between really smart guys. They just formed best practices of management into the shape of short documents - the Agile Manifesto. But what did they want to replace by the Agile way? Most of you may say that they wanted the Waterfall to go to the past. But what would you think if I tell you that the “classical” Waterfall had been a really rare thing even for those days?

        Read more
      • GTK: The First Analyzer Run in Figures

          For some people, the introduction of a static analyzer into a project seems like an insurmountable obstacle. It is widely believed that the amount of analysis results issued after the first run is so large that only two options seem reasonable: do not mess with it at all or refocus all people on fixing warnings. In this article, we will try to dispel this myth by implementing and configuring the analyzer on a GTK project.

          Читать далее
        • Did It Have to Take So Long to Find a Bug?


            Have you ever wondered which type of project demonstrates higher code quality – open-source or proprietary? Our blog posts may seem to suggest that bugs tend to concentrate in open-source projects. But that's not quite true. Bugs can be found in any project, no matter the manner of storage. As for the code quality, it tends to be higher in those projects where developers care about and work on it. In this small post, you will learn about a bug that took two years to fix, although it could have been done in just five minutes.
            Read more →
          • Patroni cluster (with Zookeeper) in a docker swarm on a local machine

            • Tutorial

            There probably is no way one who stores some crucial data (and well, in particular, using SQL databases) can possibly dodge from thoughts of building some kind of safe cluster, distant guardian to protect consistency and availability at all times. Even if the main server with your precious database gets knocked out deadly - the show must go on, right? This basically means the database must still be available and data be up-to-date with the one on the failed server.

            As you might have noticed, there are dozens of ways to go and Patroni is just one of them. There is plenty of articles providing a more or less detailed comparison of the options available, so I assume I'm free to skip the part of luring you into Patroni's side. Let's start off from the point where among others you are already leaning towards Patroni and are willing to try that out in a more or less real-case setup.

            I am not a DevOps engineer originally so when the need for the high-availability cluster arose and I went on I would catch every single bump on the road. Hope this tutorial will help you out to get the job done with ease! If you don't want any more explanations, jump right in. Otherwise, you might want to read some more notes on the setup I went on with.

            Read more
          • How to prepare for PMP exam in 60 days

            Do you think of taking the PMP exam? Awesome! Do you know how to plan your preparation for the test? Here I’m going to share the plan of how to get prepared for the PMP exam in 60 days.

            PMP exam = your own project

            To begin with, let’s clarify: you’re ready to work hard and to follow the plan. Otherwise, this journey will take you forever. The key here is to perceive the PMP exam as your personal project and manage it like you're managing projects for your clients. The difference here is that you are your client yourself; and you are the resource to release this project. What is more, you will need not only to plan this project, but to execute the plan yourself too. On one hand, it will add an additional challenge. On the other hand, it will make things even more exciting to get them done.

            What do you need to launch this project? First of all, the input data. This is actually what you usually need to start a project. I’m talking about the key performance indicators that we consider while planning a project. They are time, scope and budget. Of course, funds are important. As you have decided to take the test and to pass the certification you should be aware of the process: how much the test costs, how much the course costs, and other relevant expenses. Therefore, let’s move directly to the time and scope.


            You have 60 days in order to get prepared for the PMP exam, and that is why you need to define how much time you are able to allocate to get prepared for the tests daily.

            Yes, daily, because 60 days is quite an intense period. I know that for some people it takes six months or even a year to get prepared for this test. However, the less period of time you have, the more advantages you finally get.

            Here is the thing, for the PMP there is no shortcut. It is quite a big volume of knowledge that you need to obtain in order to pass this test.
            Read more →
          • Ads
            AdBlock has stolen the banner, but banners are not teeth — they will be back

          • 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
            • Static Analysis: baseline VS diff

              • Translation
              If you use static analyzers, you will have, sooner or later, to address the task of making their integration into existing projects easier, where fixing all warnings on legacy code is unfeasible.

              The purpose of this article is not to help with integration but rather to elaborate on the technicalities of the process: the exact implementations of warning suppression mechanisms and pros and cons of each approach.


              Read more →
            • QA process at Miro

                We have been working on our current QA process for about two years, and we still keep improving it. This process may seem obvious, but when we started to implement it in a new team that consisted entirely of new developers, we realized that it was difficult to do right away. Many people are used to working differently and need to make a lot of changes at once to switch, which is difficult. At the same time, it is ill-advised to implement this process in parts, because it can negatively affect the quality.

                What do we do? We need to do preliminary preparation for each block of the development process: task decomposition, evaluation and planning, development itself, investigative testing, and release. This preparation does not consist of simply throwing old parts out of the process but of their adequate replacement, which increases quality.

                In this article, I will talk in detail about our testing process at each stage of creating a new feature and also about the introduced changes that have increased the quality and speed of development.

                Read more →
              • Building a Food Delivery App

                  This is the year that everything changed. Companies, and people around the world have been impacted by COVID19 and the way we live, and work has been altered. Organizations have had to react quickly to these changes and many businesses have had to make drastic changes simply to stay afloat.

                  However, while many businesses were negatively impacted, some areas of the economy have benefited from these changes. One of the areas that has possibly benefited the most is the online delivery industry. This is primarily due to the changes that the governments around the world are mandating of their citizens.

                  Read more →
                • Featureban Online: The Facilitator Guide

                  • Translation
                  When you want to introduce some new methods or ideas, there is nothing better than hands-on experience. People usually think games and having fun don’t go together with some serious work. But in the Agile world, using games to explore and teach new concepts is common. For teaching Kanban, there are several simulation games widely used in classes. Most popular are Featureban, Flowlab, and getKanban.

                  Read more →
                • How To Make An App Like Uber… And Exceed User’s Expectations?

                    When we think about Uber, what immediately comes to our mind is cabs. We assume Uber to be an amazing transportation company. While there is no question that Uber revolutionized transportation, Uber is, in essence, a technology-based disruptor. What Uber did is to make use of the latest technology in breaking what was considered normal at that point in time.

                    Uber did not change the way cabs were driven – it was the same drivers and the same gasoline engines, and electric motors in some cases! However, what Uber did was to change the way the driver connected with a passenger who actually needed transportation.

                    Striking at the root of a process has its own benefits. It helps you diversify your portfolio of services and that too, in a very effective and efficient way. This is precisely what Uber did. They realized that what they have hacked is not transportation but technology. This is what enabled them to create a simple taxi app that started with operations in New York. In 2010, a year after it was introduced in New York, it also started serving San Francisco.

                    Uber came with better quality cars and aptly named it UberX and this service started in 2012. With the growing demand for carpooling and ridesharing, Uber started off with UberPOOL in 2014. Uber made sure it took into consideration the convenience and the competition. In 2014, Uber created Uber Moto which enables users to request motorcycle taxis. To take on the competition by players like Ola in India, they came up with the concept of Uber auto that delivers auto rickshaws to customers at their location.
                    Read more →
                  • Self-Development: How I Couldn't Wear Two Hats and Found Third One

                      Hi all! I lead antispam team and several machine learning teams at Mail.ru Group. The subject of this article is self-development for team leads/managers. But in reality many techniques and recipes do not depend on the role at all. This really concerns me because machine learning is developing extremely fast, and it takes a lot of time to stay up to date. So the question about what should be done for development and how is quite topical.

                      Of course, the content of this article is not the ultimate truth but just a description of the results of my continuing quest. It tells about approaches based on books and workshops, trials and errors, which have worked for me. It'll be good to have a discussion with you in comments.
                      Read more →
                    • How to Wrap Up a Software Development Project the Right Way

                      Does the New Year have you scrambling to wrap up last year’s software development projects? Don’t archive your Jira tickets and Trello boards too quickly!

                      A good rule of thumb in software development is that your next software project should always be better than your last. Why? Because the lessons you learn and take away from each project should be continuously documented and applied in future projects.

                      In the words of Rachel Green, every good project should end with closure.


                      Follow this quick and easy 6-step guide to ensure that you wrap up your software project efficiently and effectively.

                      6 Steps for Successfully Wrapping up a Software Development Project

                      1. Document future needs

                      Read more →
                    • Here’s How to Update Node.js Via Visual Studio, NPM, Windows/Mac

                        I hope that you will find Node version 12 new capabilities compelling and soon you will upgrade your app to it.

                        In turn, you will get advanced debugging, intelligent coding with the powerful IntelliSense engine, interactive window, quick tracking of performance issues, unit testing, typescript integration, source control, cloud integration, and npm integration.

                        To get started in this walkthrough, this post captures the steps on how to update Node.js in Visual Studio, Windows/macOS, and NPM.
                        Read more →
                      • Handling Objections: Static Analysis Will Take up Part of Working Time

                          bugTalking to people at conferences and in comments to articles, we face the following objection: static analysis reduces the time to detect errors, but takes up programmers' time, which negates the benefits of using it and even slows down the development process. Let's get this objection straightened out and try to show that it's groundless.
                          Read more →
                        • Configuration of the Warnings Next Generation plugin for integration with PVS-Studio

                            Picture 4

                            The PVS-Studio 7.04 release coincided with the release of the Warnings Next Generation 6.0.0 plugin for Jenkins. Right in this release Warnings NG Plugin added support of the PVS-Studio static code analyzer. This plugin visualizes data related to compiler warnings or other analysis tools in Jenkins. This article will cover in detail how to install and configure this plugin to use it with PVS-Studio, and will describe most of its features.
                            Read more →
                          • How to Become a Leading Scrum Master and Rock the Team?

                              Scrum allows Agile teams working on complex projects and delivering winning products by solving problems adaptively. This popular straightforward method is widely used to handle projects and get things done. Scrum projects more accurately fulfill customers' needs because they encourage continuous feedback.

                              There is no need for detailed analytics to understand that Scrum continues to grow in popularity just because of its many benefits and general effectiveness. And the important merit in this belongs to a Scrum Master. In this post, we extol and praise the role of a Scrum Master, without which no Scrum project succeeds.

                              Read more →