Talking 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.
Configuration of the Warnings Next Generation plugin for integration with PVS-Studio
3 min
1.6KThe 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.
Enumerable: How to yield a business value
6 min
2.1KThis article is a brief explanation about how using a common language keywords might have an influence on the budget of IT-infrastructure of a project or help to achieve some limitations/restrictions of hosting infrastructure and, moreover, will be a good sing of the quality and maturity of the source code.
The best is the enemy of the good
11 min
1.2KThis article is the story how we once decided to improve our internal SelfTester tool that we apply to test the quality of the PVS-Studio analyzer. The improvement was simple and seemed to be useful, but got us into some troubles. Later it turned out that we'd better gave up the idea.
PVS-Studio Usage when Checking Unreal Engine Projects on the Windows OS
10 min
1KThis article focuses on the specifics of checking Unreal Engine projects with the PVS-Studio static analyser on the Windows operating system: how to install the analyser, check a project, where and how to view an error report.
Tips and tricks from my Telegram-channel @pythonetc, August 2019
4 min
1.6KIt is a new selection of tips and tricks about Python and programming from my Telegram-channel @pythonetc.
← Previous publications
If an instance of a class doesn’t have an attribute with the given name, it tries to access the class attribute with the same name.
>>> class A:
... x = 2
...
>>> A.x
2
>>> A().x
2
2019 National Internet Segments Reliability Research & Report
9 min
3.5KThis report explains how the outage of a single AS can affect the connectivity of the impacted region with the rest of the world, especially when it is the dominant ISP on the market. Internet connectivity at the network level is driven by interaction between autonomous systems (AS’s). As the number of alternate routes between AS’s increases, so goes the fault-resistance and stability of the internet across the network. Although some paths inevitably become more important than others, establishing as many alternate routes as possible is the only viable way to ensure an adequately robust system.
The global connectivity of any AS, regardless of whether it is a minor provider or an international giant, depends on the quantity and quality of its paths to Tier-1 ISPs. Usually, Tier-1 implies an international company offering global IP transit service over connections to other Tier-1 providers. But there is no guarantee that such connectivity will be maintained. Only the market can motivate them to peer with other Tier-1’s to deliver the highest quality service. Is that enough? We explore this question in the IPv6 section below. For many ISPs at all levels, losing connection to just one Tier-1 peer would likely render them unreachable in some parts of the world.
Measuring Internet Reliability
Let’s examine a case where an AS experiences significant network degradation. We want to answer the following question: “How many AS’s in the region would lose connectivity with Tier-1 operators and their global availability along with it?”
PVS-Studio 7.04
8 min
870Summer is not only a holiday season, but also time of fruitful work. Sunny days are so inspiring that there's enough energy both for late walks and large code commits. The second summer PVS-Studio 7.04 release turned out to be quite large, so we suggest for your attention this press release, in which we'll tell you about everything.
Hidden mistakes with Shared Element Transitions
4 min
9.1KThere is a good practice to make your application beautiful and live, and nowadays there are a lot of tools and ways to achieve this. One of them is Shared Element Transition.
In this article I’ll cover a few mistakes which have cost me a lot of time; I’ll show how to avoid them if you decide to implement this kind of transitions with Fragments on application.
How to get the team to search for more productive ideas
4 min
1.7KThe creation of design models as well as visualization of solutions is for some reason always a subject of great interest among all members of a productive team, be it a manager eager to master Sketch, or a developer who wants to make cool interfaces without the need to go to a designer. But we all know what happens when it comes to actually doing stuff.
Hi, everybody!
My name is Anna and I work for an American company Scentbird NY as a product designer. Prior to that I was involved in developing flagship products in Alfa-Bank design team.
I was probably born under a lucky star but all my life I've been working with the developers who suggest the best product solutions, better than a lot of product managers and product owners. But anyway, my observation is that the earlier you involve developers into working on a particular task, the better off you are.
What you are about to read is actually a blueprint on how to conduct brainstorm sessions and generate not-so-obvious yet effective solutions, which are apparently really easy to reach and not that time-consuming.
My way
Hi, everybody!
My name is Anna and I work for an American company Scentbird NY as a product designer. Prior to that I was involved in developing flagship products in Alfa-Bank design team.
I was probably born under a lucky star but all my life I've been working with the developers who suggest the best product solutions, better than a lot of product managers and product owners. But anyway, my observation is that the earlier you involve developers into working on a particular task, the better off you are.
What you are about to read is actually a blueprint on how to conduct brainstorm sessions and generate not-so-obvious yet effective solutions, which are apparently really easy to reach and not that time-consuming.
12 Soft Skills That Make IT Project Managers Unstoppable
6 min
5.9KThe increasingly competitive job market demonstrates that performing only based on hard skills alone is no longer sufficient. In project management reality, hard skills contain creating work breakdown structures, managing a project budget, earned value assessments and critical path charts. All these skills require technical background and applying professional knowledge and tools to perform well. What are the soft skills of leadership and how they help to uncover project managers' facilities?
A Brief History of Video Conferencing: From the Beginning to Full Commercial Use
11 min
8.9KVideo conferencing systems, so familiar to us today, have come a long way — more than a hundred years passed from fantastic ideas inspired by belief in unstoppable technical progress to the first mass implementation of video conferencing systems. A lot of dramatic events have come along the way. The way to success wasn’t easy at all.
Analysis of the Apache Dubbo RPC Framework by the PVS-Studio Static Code Analyzer
9 min
1.4KApache Dubbo is one of the most popular Java projects on GitHub. It's not surprising. It was created 8 years ago and is widely applied as a high-performance RPC environment. Of course, most of the bugs in its code have long been fixed and the quality of the code is maintained at a high level. However, there is no reason to opt out of checking such an interesting project using the PVS-Studio static code analyzer. Let's see how it turned out.
10 Books on Agile Project Management Worth Taking With You in 2020
6 min
11K
Translation
Books with the word «Agile» in their titles began to appear on the shelves of IT experts and other industries' professionals after 2001. The term was used during the declaration of the Agile Software Development Manifesto. Agile describes a software development methodology that is characterized by short life cycles leading to frequent product releases.
Today this iterative or incremental method affects various aspects of development and business including project management. What are the best sources to learn Agile? This post covers 10 powerful books that may enhance the skills of project managers and their teams.
Today this iterative or incremental method affects various aspects of development and business including project management. What are the best sources to learn Agile? This post covers 10 powerful books that may enhance the skills of project managers and their teams.
Internet of Things (IoT) is going to Change the World. Future of IoT
3 min
1.7KFor the past two years, there’s been a lot of buzzing about the Internet of Things (IoT). This has to lead to the rapid selection of connected devices over industries and is determined to pass the 11 billion mark by the end of the year. Major Companies including IoT software development as their major services.
All these “things” are now creating their things, namely, lots and lots of data. This data will be at the core of commercial and industrial digital transformation (which is essentially the underlying force behind the fourth industrial revolution).
In other words, life as we know it is about to change forever! How is it going to change? Let’s take a look.
1. AI (Artifical Intelligence) can Effectively Manage Oceans of information
We can’t talk about IoT without AI as the latter has the power to make IoT a whole lot smarter and more efficient.
In fact, consultants believe that AI is the brains behind IoT systems that may facilitate build them run power tool.
For example, as more and more connected devices start communicating with each other, enterprises will need to leverage deep learning, image recognition, natural language processes, and neural-network driven decisions to help them understand each other (and us humans) better.
So far, we can say that IoT has felt like an isolated experience where it was just about simple data. Going forward, businesses will strive to achieve highly integrated experiences by using AI to better understand their employees, customers, and the general public living in smart cities.
All these “things” are now creating their things, namely, lots and lots of data. This data will be at the core of commercial and industrial digital transformation (which is essentially the underlying force behind the fourth industrial revolution).
In other words, life as we know it is about to change forever! How is it going to change? Let’s take a look.
1. AI (Artifical Intelligence) can Effectively Manage Oceans of information
We can’t talk about IoT without AI as the latter has the power to make IoT a whole lot smarter and more efficient.
In fact, consultants believe that AI is the brains behind IoT systems that may facilitate build them run power tool.
For example, as more and more connected devices start communicating with each other, enterprises will need to leverage deep learning, image recognition, natural language processes, and neural-network driven decisions to help them understand each other (and us humans) better.
So far, we can say that IoT has felt like an isolated experience where it was just about simple data. Going forward, businesses will strive to achieve highly integrated experiences by using AI to better understand their employees, customers, and the general public living in smart cities.
How to set up PVS-Studio in Travis CI using the example of PSP game console emulator
11 min
670Travis CI is a distributed web service for building and testing software that uses GitHub as a source code hosting service. In addition to the above scripts, you can add your own, thanks to the extensive configuration options. In this article we will set up Travis CI for working with PVS-Studio by the example of PPSSPP code.
An Easy Way to Make Money on Bug Bounty
5 min
5KSurely you've heard the expression «bug hunting» many times. I dare to assume, you won't mind earning one or two hundred (or even thousand) dollars by finding a potential vulnerability in someone's program. In this article, I'll tell you about a trick that will help analyzing open source projects in order to find such vulnerabilities.
How to Make Emails and Not Mess Up: Practical Tips
23 min
3K
Tutorial
A developer, who first encountered generating emails, has almost no chance to write an application, that will do it correctly. Around 40% of emails, generated by corporate applications, are violating some form of standard, and due to this, there are problems with delivery and display. There are reasons for this: emails are technically more difficult than the web, and operating emails is regulated by a few hundred standards, as well as an uncountable number of generally accepted (and not as much) practices, whereas the email clients are more varied and unpredictable than browsers. Testing may significantly improve the situation, but materials that are dedicated to testing the email system, are practically non-existent.
Mail.ru regularly interacts with its users by email. In our projects, all the components responsible for generating emails and even individual mailings, are subject to mandatory testing. In this article, we will share our experience (learning from our mistakes).
PVS-Studio: Engine of Progress
3 min
597A PVS-Studio team and our product make a great contribution to upgrading of software quality. Moreover, in addition to detecting errors in closed and open source projects, there is an indirect contribution to the development of compilers and other tools of code analysis. We are pleased that in some cases we are trendsetters and we decided to dedicate a small note to this in our blog.
Blockchain RSA-based random
5 min
1.8KThere’s a problem we needed to address in the course of developing our games. It’s complicated to generate a random number in a distributed network. Almost all blockchains have already faced this issue. Indeed, in networks where there is no trust between anyone, the creation of a random number solves a wide range of problems.
In this article, we explain how we solved this problem for our games. The first of these was Waves Xmas Tree.
In this article, we explain how we solved this problem for our games. The first of these was Waves Xmas Tree.