Pull to refresh

Top 10 Bugs Found in Java Projects in 2019

Reading time8 min
Views1.3K


2019 is drawing to an end, and the PVS-Studio team is looking back at the accomplishments of this year. In the beginning of 2019, we enhanced our analyzer's diagnostic capabilities by adding Java support, which enabled us to check and review Java projects as well. We have found lots of bugs over this year, and here's our Top 10 bugs found in Java projects.
Read more →
Total votes 2: ↑1 and ↓10
Comments0

7 tips how to deal with remote teams

Reading time6 min
Views1.8K
Originally article was posted here — 7 tips & tricks on how to deal with remote teams

A number of both large corporations and small companies having almost no staff is increasing. This is the impulse of new times that many call “uberization”. The phenomenon was named after Uber — one of the largest public-transportation companies whose drivers all are independent entrepreneurs aka freelancers. Such a structure allows Uber to work all over the planet through operating remote teams of drivers in dozens of cities simultaneously.
Read more →
Total votes 10: ↑10 and ↓0+10
Comments0

Just take a look at SObjectizer if you want to use Actors or CSP in your C++ project

Reading time21 min
Views3.4K


A few words about SObjectizer and its history


SObjectizer is a rather small C++ framework that simplifies the development of multithreaded applications. SObjectizer allows a developer to use approaches from Actor, Publish-Subscribe and Communicating Sequential Processes (CSP) models. It's an OpenSource project that is distributed under BSD-3-CLAUSE license.


SObjectizer has a long history. SObjectizer itself was born in 2002 as SObjectizer-4 project. But it was based on ideas from previous SCADA Objectizer that was developed between 1995 and 2000. SObjectizer-4 was open-sourced in 2006, but its evolution was stopped soon after that. A new version of SObjectizer with the name SObjectizer-5 was started in 2010 and was open-sourced in 2013. The evolution of SObjectizer-5 is still in progress and SObjectizer-5 has incorporated many new features since 2013.


SObjectizer is more or less known in the Russian segment of the Internet, but almost unknown outside of the exUSSR. It's because the SObjectizer was mainly used for local projects in exUSSR-countries and many articles, presentations, and talks about SObjectizer are in Russian.


A niche for SObjectizer and similar tools


Multithreading is used in Parallel computing as well as in Concurrent computing. But there is a big difference between Parallel and Concurrent computing. And, as a consequence, there are tools targeted Parallel computing, and there are tools for Concurrent computing, and they are different.

Read more →
Total votes 13: ↑11 and ↓2+9
Comments1

A declarative data-processing pipeline on top of actors? Why not?

Reading time21 min
Views2.7K

Some time ago, in a discussion on one of SObjectizer's releases, we were asked: "Is it possible to make a DSL to describe a data-processing pipeline?" In other words, is it possible to write something like that:


A | B | C | D


and get a working pipeline where messages are going from A to B, and then to C, and then to D. With control that B receives exactly that type that A returns. And C receives exactly that type that B returns. And so on.


It was an interesting task with a surprisingly simple solution. For example, that's how the creation of a pipeline can look like:


auto pipeline = make_pipeline(env, stage(A) | stage(B) | stage(C) | stage(D));

Or, in a more complex case (that will be discussed below):


auto pipeline = make_pipeline( sobj.environment(),
        stage(validation) | stage(conversion) | broadcast(
            stage(archiving),
            stage(distribution),
            stage(range_checking) | stage(alarm_detector{}) | broadcast(
                stage(alarm_initiator),
                stage( []( const alarm_detected & v ) {
                        alarm_distribution( cerr, v );
                    } )
                )
            ) );

In this article, we'll speak about the implementation of such pipeline DSL. We'll discuss mostly parts related to stage(), broadcast() and operator|() functions with several examples of usage of C++ templates. So I hope it will be interesting even for readers who don't know about SObjectizer (if you never heard of SObjectizer here is an overview of this tool).

Read more →
Total votes 12: ↑11 and ↓1+10
Comments2

Copy Trading: A Viable Earning Strategy or Just Another Broker Scam?

Reading time11 min
Views666

Hello everyone!

A year ago, I became curious about whether it was possible to earn money in crypto by copying the trades of other traders. Instead of investing money right away, I decided to thoroughly explore this by writing a parser that monitored about 2,000 portfolios in real-time over the course of a year.

Initially, I parsed the Traderwagon site, which unfortunately shut down. I then switched to Binance's copy trading, which was just starting out at the time.

The number of portfolios available for investment on Binance is continually growing; currently, there are over 10,000. My script only parsed a portion of these to maintain about 2,000 consistent portfolios. This was necessary to track changes in traders' positions at least every 20 minutes with the server resources I had allocated for the project.

There are several peculiarities in how my parser operates. For example, when a trader hides their positions, my script also closes them since it can't monitor hidden trades. When a trader significantly adjusts their position, such as a complete turnaround, the script exits the trade. I chose to save time on developing a more complex follow-algorithm and planned to refine it later if the testing stage proved successful. I also limited the time a trader could stay in a deal to a few days and forcibly closed positions if this period was exceeded. I observed that staying in a trade longer slightly increased the average profit/loss, whereas reducing the time allowed for reinvesting the same funds into a greater number of traders and their deals.

Read more
Total votes 2: ↑2 and ↓0+3
Comments0

Top 10 incident response mistakes

Reading time9 min
Views1.2K

Imagine someone withdrew money from a company's account at night. The next morning panic breaks out, leading to yet more problems. The IT department can reinstall a compromised system from scratch or restore it from backup. Reinstalling from scratch will wipe out all traces left by the attackers, and external investigators will have to search for clues in other systems. Restoring from backup carries the risk of accidentally reinstating a compromised image. In this paper, we will describe common mistakes that experts make when responding to security incidents.

Read more
Rating0
Comments0

Top mobile app development companies

Reading time53 min
Views8.7K
Looking for an app development company? I’ve searched for information about it and made this list. It might help to find an app development company to hire. The list contains basic information about each company included in it like company size, hourly rate, min. project size, etc. And I recently decided to upgrade the list to 100 app development companies.
Read more →
Total votes 23: ↑18 and ↓5+13
Comments2

Top-10 Bugs Found in C# Projects in 2020

Reading time10 min
Views1.2K
image1.png

This tough year, 2020, will soon be over at last, which means it's time to look back at our accomplishments! Over the year, the PVS-Studio team has written quite a number of articles covering a large variety of bugs found in open-source projects with the help of PVS-Studio. This 2020 Top-10 list of bugs in C# projects presents the most interesting specimens. Enjoy the reading!
Read more →
Total votes 1: ↑0 and ↓1-1
Comments0

Top game development companies in the world

Reading time21 min
Views11K

The game industry is growing, especially among small, independent development companies. If you're looking for a game development company, let's take a glimpse at some top game development companies ranked, basing the list on games, as well as the number of existing players and uniqueness.


Read more →
Total votes 12: ↑10 and ↓2+8
Comments3

Top 20 Marketplace Development Companies From All Over the World

Reading time6 min
Views4K
Considering ever-rising e-commerce sales, which hit $29 trillion last year, companies can no longer neglect online presence. Many of them have already changed the way they work and transformed from simple online stores to marketplaces bringing more sales and opportunities.

Those who’ve chosen the path of transformation or want to build a marketplace are probably seeking for experienced service providers to get some help.

Since there are hundreds of development companies all over the world, I decided to research the market and narrow down the circle of providers you might want to consider for partnership.

To compile this list the following factors were considered:

  • Overall number of customer reviews on such reputable platforms as Clutch, Upwork, GoodFirms, App Futura, Extract.co, IT Firms.
  • Overall score of those reviews.
  • Presence of Fortune 500 clients in the public domain.
  • Presence of industry awards in the public domain (e.g. Global Sourcing Award, Top B2B Global Leaders, Best of the Global Outsourcing 100).
  • Team size (bigger companies come first).
  • Year of fundation (mature companies have more trust).
  • Number of offices (more is better).
  • Number of brand mentions over the web (only companies with 1,500+ mentions are listed).

Read more
Total votes 4: ↑3 and ↓1+2
Comments8

How to Painlessly Unite Art with Java, JavaScript, and Graphs or The Story Behind Creating an Interactive Theatre Produc

Reading time9 min
Views1.4K
Last year 2018, a theatre production series called Tale of the Century was launched in Estonia. Throughout the year, 22 local theatres presented their interpretations of the past hundred years of Estonian history to the audiences. In the draw, the Russian Theatre was assigned the topic of the future of Estonia.

Total votes 18: ↑17 and ↓1+16
Comments2

Top 10 bugs of C++ projects found in 2018

Reading time13 min
Views7.8K
It has been three months since 2018 had ended. For many, it has just flew by, but for us, PVS-Studio developers, it was quite an eventful year. We were working up a sweat, fearlessly competing for spreading the word about static analysis and were searching for errors in open source projects, written in C, C++, C#, and Java languages. In this article, we gathered the top 10 most interesting of them right for you!

Total votes 25: ↑24 and ↓1+23
Comments0

Top 10 IoT sensors in 2019

Reading time8 min
Views5K
The very paradigm of automation where IoT solutions play a key role is based on a presumption that machines can act in both autonomous and intelligent manners. And what enables them doing so is a capability of handling tremendous flows of collected data.

The collectible data includes those various signals that both animate and inanimate object can send to the IoT systems. Hence, the objects should have some highly specific signal-generating devices to share information within the IoT.
Read more →
Total votes 12: ↑11 and ↓1+10
Comments0

Stop losing clients! Or how a developer can test a website, by the example of PVS-Studio. Part 1

Reading time15 min
Views959

A website with bugs could be a real pain in the neck for business. Just one 404 or 500 error could end up costing an obscene amount of money for the company and hurt a good reputation. But there is a way to avoid this issue: the website testing. That's sort of what this article is about. After reading this article, you will learn how to test code in Django, create your "own website tester" and much more. Welcome to the article.

Read more
Rating0
Comments2

Date Processing Attracts Bugs or 77 Defects in Qt 6

Reading time24 min
Views1.6K

PVS-Studio & Qt 6


The recent Qt 6 release compelled us to recheck the framework with PVS-Studio. In this article, we reviewed various interesting errors we found, for example, those related to processing dates. The errors we discovered prove that developers can greatly benefit from regularly checking their projects with tools like PVS-Studio.

Read more →
Total votes 1: ↑1 and ↓0+1
Comments0

Single line code or check of Nethermind using PVS-Studio C# for Linux

Reading time14 min
Views836

Рисунок 1

This article coincides with the beta testing start of PVS-Studio C# for Linux, as well as the plugin for Rider. For such a wonderful reason, we checked the source code of the Nethermind product using these tools. This article will cover some distinguished and, in some cases, funny errors.
Read more →
Total votes 3: ↑3 and ↓0+3
Comments0

Metaverses: hype or the future to come?

Reading time5 min
Views1.5K

Alexander Volchek, IT entrepreneur, CEO educational platform GeekBrains

Pretty much everyone in the IT community is talking metaverses, NFTs, blockchain and cryptocurrency. This time we will discuss metaverses, and come back to everything else in the letters to follow. Entrepreneurs and founders of tech giants are passionate about this idea, and investors are allocating millions of dollars for projects dealing with metaverses. Let's start with the basics.

Read more
Total votes 2: ↑1 and ↓10
Comments0

Reach Out Top Hadoop Consulting Companies To Leverage Big Data In 2020

Reading time7 min
Views1.1K
image

Hadoop is divided into different modules, each of which delivers a distinct task crucial for a computer system and is uniquely designed for big data analytics. Apache Software Foundation developed this incredible platform. It is extensively utilized by worldwide developers to build big data Hadoop solutions amazingly and easily.

Big data offers several perks, some of them are; examining root causes of failures, recognizing the potential of data-driven marketing, improving and enhancing customer engagement, and much more. By offering multiple solutions in a single stream it helps in lowering the cost of the organization.

In various industries such as Retail, Manufacturing, Financial insurance, Education, Transportation, Agriculture, Healthcare, Energy, etc big data is utilized and that’s why it’s demand is expanding day by day. The Global Hadoop Market is envisioned to grow to $84.6 billion by 2021, with an expected CAGR of 63.4%.
Read more →
Total votes 3: ↑3 and ↓0+3
Comments2

IIoT platform databases – How Mail.ru Cloud Solutions deals with petabytes of data coming from a multitude of devices

Reading time11 min
Views1.7K


Hello, my name is Andrey Sergeyev and I work as a Head of IoT Solution Development at Mail.ru Cloud Solutions. We all know there is no such thing as a universal database. Especially when the task is to build an IoT platform that would be capable of processing millions of events from various sensors in near real-time.

Our product Mail.ru IoT Platform started as a Tarantool-based prototype. I’m going to tell you about our journey, the problems we faced and the solutions we found. I will also show you a current architecture for the modern Industrial Internet of Things platform. In this article we will look into:

  • our requirements for the database, universal solutions, and the CAP theorem
  • whether the database + application server in one approach is a silver bullet
  • the evolution of the platform and the databases used in it
  • the number of Tarantools we use and how we came to this
Read more →
Total votes 19: ↑19 and ↓0+19
Comments0
1
23 ...