• 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 →
                • Ads
                  AdBlock has stolen the banner, but banners are not teeth — they will be back

                • 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 →
                    • Compensation for Error Caused by Limited Gain-Bandwidth of Operational Amplifiers in Low-pass Filters

                      • Tutorial
                      Amateur vs Pro

                      An operational amplifier has the internal compensation circuit for stability which limits its working bandwidth. Frequency response of the compensated Op Amp has slope of −6 dB/octave or −20 dB/decade. Unity gain frequency defines the bandwidth where the Op Amp is able to amplify a signal. If we multiply the gain and frequency at any point, the result is the same, allowing us to use this parameter to select the appropriate Op Amp. It is called Gain-Bandwidth Product, GBW or GBP. The limited open-loop gain introduces a closed-loop gain and phase error.

                      But we want to optimize our circuits, right?
                      Read more →
                    • How Is Flutter Helping Businesses In Getting Feature-Packed App At Affordable Prices

                      • Tutorial

                      With 2.7 million apps available in Google Play Store and 1.84 Million apps in Apple’s app store, it is clear that mobile app development has become an urgent need of the hour for businesses of all domains.

                      Did you know!

                      According to developer stats, it is predicted that there will be 7 billion million users by 2021 all across the globe.


                      Read more →
                    • ZTools for Apache Zeppelin

                        Zeppelin is a web-based notebook for data engineers that enables data-driven, interactive data analytics with Spark, Scala, and more.

                        The project recently reached version 0.9.0-preview2 and is being actively developed, but there are still many things to be implemented.

                        One such thing is an API for getting comprehensive information about what's going on inside the notebook. There is already an API that completely solves the problems of high-level notebook management, but it doesn’t help if you want to do anything more complex.

                        Read more →
                      • Mysql 8.x Group Replication (Master-Slave) with Docker Compose

                          This post is handling the following situation - how to setup up simple Mysql services with group replication being dockerized. In our case, we’ll take the latest Mysql (version 8.x.x)

                          FYI: all mentioned code (worked and tested manually) located here.

                          I will skip not interested steps like ‘what is Mysql, Docker and why we choose them, etc’. We want to set up possibly trouble proof DB. That’s our plan.

                          Read more →
                        • Using Flex (Fast Lexical Analyzer Generator)

                            Lexical analysis is the first stage of a compilation process. It's used for getting a token sequence from source code. It gets an input character sequence and finds out what the token is in the start position, whether it's a language keyword, an identifier, a constant (also called a literal), or, maybe, some error. A lexical analyzer (also known as tokenizer) sends a stream of tokens further, into a parser, which builds an AST (abstract syntax tree).

                            It's possible to write a lexer from scratch, but much more convenient to use any lexer generator. If we define some parsing rules, corresponding to an input language syntax, we get a complete lexical analyzer (tokenizer), which can extract tokens from an input program text and pass them to a parser.

                            One of such generators is Flex. In this article, we'll examine how it works in general, and observe some nontrivial nuances of developing a lexer with Flex.
                            Read more →
                          • Checking WildFly, a JavaEE Application Server


                              WildFly (formerly known as JBoss Application Server) is an open-source JavaEE application server developed and first released by JBoss in February, 2008. The primary goal of the project is to provide a set of tools usually required for enterprise Java applications. And since the server is used for developing enterprise applications, it is especially important to minimize the number of bugs and potential vulnerabilities in its code. Today, WildFly is being developed by the large company Red Hat, and they keep the code quality at a pretty high level. That said, our analyzer was still able to find a number of programming mistakes in the project.
                              Read more →
                            • JavaCC 21 Parser Generator

                              JavaCC 21 is a continuation of work on the venerable JavaCC parser generator, originally developed at Sun Microsystems in the 1990’s and released under a liberal open source license in 2003. It is currently the most advanced version of JavaCC. It has many feature enhancements (with more to come soon) and also generates much more modern, readable Java code. Also, certain key bugs have finally been fixed. (N.B. The “21” in JavaCC 21 is not a version number. It is simply part of the project name and means that this is a JavaCC for the 21st century!)

                              Read more →