• How to find an English teacher. Part 1

      In the modern world, here and there ideas are arising about using data science for an extra benefit. For instance, Google can use a history of watched videos for providing recommendations about new ones. Online shops are using a recommendation system for increasing your receipt. However… if companies use the data for their benefit, could we do the same for own needs such as looking an online English teacher?


      It is an approach based on my own experience and can be unsuitable to your point of view, ideas, or principles.

      Read more →
    • Critical Transcendence: .NET SDK and Apache Spark

        When Alex Garland’s series Devs (on FX and Hulu) came out this year, it gave developers their own sexy Hollywood workup. Who knew that coders could get snarled into murder plots and love triangles just for designing machine learning programs? Or that their software would cause a philosophical crisis? Sure, the average day of a developer is more code writing than murder but what a thrill to author powerful new program.

        Read more →
      • How the PVS-Studio analyzer began to find even more errors in Unity projects


          When developing the PVS-Studio static analyzer, we try to develop it in various directions. Thus, our team is working on plugins for the IDE (Visual Studio, Rider), improving integration with CI, and so on. Increasing the efficiency of project analysis under Unity is also one of our priority goals. We believe that static analysis will allow programmers using this game engine to improve the quality of their source code and simplify work on any projects. Therefore, we would like to increase the popularity of PVS-Studio among companies that develop under Unity. One of the first steps in implementing this idea was to write annotations for the methods defined in the engine. This allows a developer to control the correctness of the code related to calls of annotated methods.
          Read more →
        • Making a Tarantool-Based Investment Business Core for Alfa-Bank

            A still from «Our Secret Universe: The Hidden Life of the Cell»

            Investment business is one of the most complex domains in the banking world. It's about not just credits, loans, and deposits — there are also securities, currencies, commodities, derivatives, and all kinds of complex stuff like structured products.

            Recently, people have become increasingly aware of their finances. More and more get involved in securities trading. Individual investment accounts have emerged not so long ago. They allow you to trade in securities and get tax credits or avoid taxes at the same time. All clients coming to us want to manage their portfolios and see their reporting on-line. Most frequently, these are multi-product portfolios, which means that people are clients of different business areas.

            Moreover, the demands of regulators, both Russian and international, also grow.

            To meet the current needs and lay a foundation for future upgrades, we've developed our Tarantool-based investment business core.
            Read more →
          • Meet Hamstand: a smart mobile testing hub

              The ITMO Accelerator continues to empower entrepreneurs. We’ve already covered some of its most successful graduates — the Laeneco staethoscope and the GoROBO robotics club. Today we’ll be discussing Hamstand — a modular hub that simplifies the process of mobile app testing. Let’s talk about how it came to be, why it’s a welcome addition to many developers’ toolkits, and what awaits the project in the near future.

              Read more →
            • How to introduce a static code analyzer in a legacy project and not to discourage the team

                It is easy to try a static code analyzer. But it requires skills to introduce it in the development of an old large project. If the approach is incorrect, the analyzer can add work, slow down development, and demotivate the team. Let's briefly discuss how to properly integrate static analysis into the development process and start using it as part of CI/CD.
                Read more →
              • Monitoring and Logging external services in Kubernetes


                  Greetings to all!

                  As a matter of fact I haven't found so far any generalized guide on logging and monitoring of metrics from external systems to Kubernetes on the web. Here I want to share with you my own version. First of all it is supposed that you have already got working Prometheus and other services.

                  As an example I use third-party data for stateful service RDBMS PostgreSQL in a Docker container. In our company we also use the Helm package manager, and you'll find how it works below. You can see same examples in this article below. You can see same examples in this article below. For a complete solution we create a nested chart.
                  Read more →
                • AdBlock has stolen the banner, but banners are not teeth — they will be back

                • The PVS-Studio analyzer: detecting potential compatibility issues with Java SE API

                    Рисунок 9

                    2019 was a very busy year in terms of conferences. Our team could leave for whole weeks on business trips. As you know, the conference is perfect time to share knowledge. In addition to giving talks and telling many interesting things at our booth, we also learned a lot from communicating with conference participants and speakers. So at the Joker 2019 conference in fall, a talk from Dalia Abo Sheasha «Migrating beyond Java 8» inspired us to implement a new diagnostic rule that allows us to detect incompatibilities in the Java SE API between different versions of Java. This is what we will talk about.
                    Read more →
                  • The Code of the Command & Conquer Game: Bugs From the 90's. Volume one


                      The American company Electronic Arts Inc (EA) has made the source code of the games Command & Conquer: Tibetan Dawn and Command & Conquer: Red Alert publicly available. This code should help the game community to develop mods and maps, create custom units, and customize the gameplay logic. We all now have a unique opportunity to plunge into the history of development, which is very different from the modern one. Back then, there was no StackOverflow site, convenient code editors, or powerful compilers. Moreover, at that time, there were no static analyzers, and the first thing the community will face is hundreds of errors in the code. This is what the PVS-Studio team will help you with by pointing out the erroneous places.
                      Read more →
                    • How to find errors in a C# project working under Linux and macOS

                        Picture 8

                        PVS-Studio is a well-known static code analyzer that allows you to find a lot of tricky errors hidden in the source code. Beta testing of the new version has recently finished. It provides the possibility to analyze C# projects under Linux and macOS. The tool can also be integrated into the cross-platform IDE from JetBrains — Rider. This article will help you to get acquainted with these features using the example of checking the open source RavenDB project.
                        Read more →
                      • Locks in PostgreSQL: 4. Locks in memory

                        • Translation
                        To remind you, we've already talked about relation-level locks, row-level locks, locks on other objects (including predicate locks) and interrelationships of different types of locks.

                        The following discussion of locks in RAM finishes this series of articles. We will consider spinlocks, lightweight locks and buffer pins, as well as events monitoring tools and sampling.

                        Read more →
                      • Panorama FM, or how to see all FM stations using SDR

                        • Tutorial
                        Hello everyone.

                        Probably everyone, who is at least a bit interested in radio and communications, knows that using an SDR receiver it is possible to receive and process simultaneously a wide band of the radio spectrum. Displaying the waterfall in such programs as HDSDR or SDR# is not surprising. I will show how to build a pseudo-3D spectrum of the FM frequency band using RTL-SDR, GNU Radio, and about 100 lines of Python code.

                        We will also take the better receiver and will look at the entire FM band 88-108MHz.
                        Read more →
                      • [Dribbble Challenge] — Coffee Ordering Animation

                        Tutorial level: Beginner/Junior


                        Sometimes, when we surf dribbble, uplabs and similar design clouds, we often find many concepts or prototypes with animations, micro interactions, application flow and so on.
                        I often find illustrations of mobile apps that are good and interesting, but of course they are still in the form of concept, so therefore, why don't we try to apply them as an interface for applications that we will build next.

                        Original concept

                        In the Dribbble Challenge we will try to build an interface for Coffee Ordering, as I found on Dribble.

                        GIF here

                        Read more →
                      • Implementation of Linked List in PHP

                        A linked list is a linear data structure, which contains node structure and each node contains two elements. A data part that stores the value at that node and next part that stores the link to the next node as shown in the below image:

                        Linked List Node

                        The first node also known as HEAD is usually used to traverse through the linked list. The last node (next part of the last node) points to NULL. The list can be visualized as a chain of nodes, where every node points to the next node.

                        Linked List

                        Implementation of Singly Linked List


                        In PHP, singly linked list can be represented as a class and a Node as a separate class. The LinkedList class contains a reference of Node class type.

                        //node structure
                        class Node {
                          public $data;
                          public $next;
                        class LinkedList {
                          public $head;
                          //constructor to create an empty LinkedList
                          public function __construct(){
                            $this->head = null;

                        Read more →
                      • Top 5 Reasons to Learn TensorFlow

                          Top 5 Reasons to Learn TensorFlow

                          Artificial Intelligence or AI has gone far beyond its beginning and self-driving cars, virtual assistants, Google Lens, and personalized marketing, are some of the initial powerful applications of AI. The present generation is yet to witness the true potential of AI in the years to come. Companies are investing huge amounts of money to leverage the power of AI and build applications that offer best-in-class solutions to real-world problems.

                          Broadly speaking, AI is one of the powerful fields of computer science which focuses on making machines capable of mimicking human actions. Such machines are not explicitly programmed and it learns from past experiences to make decisions quite similar to what humans do through their brain. When one starts exploring AI, it is inevitable to come across its subset i.e. Machine Learning. Further deep learning is a subset of machine learning.

                          Read more →
                        • Medical Ventilator +STONE LCD + Arduino UNO


                          Since December 8, 2019, several cases of pneumonia with unknown etiology have been reported in Wuhan City, Hubei Province, China. In recent months, nearly 80000 confirmed cases have been caused in the whole country, and the impact of the epidemic has been expanding. Not only the whole country has been affected, but also the confirmed cases have appeared in the whole world, and the cumulative confirmed cases have reached 3.5 million. At present, the source of infection is uncertain From where, but we can be sure that everyone needs masks very much, and those who are serious need respirators.

                          So, taking advantage of this hot spot, I also came to do a project about the ventilator, and there was a STONE in my hand TFT serial port screen is very suitable for the display screen of the ventilator. When the screen is available, I need a single-chip microcomputer to process the commands issued by STONE's serial port screen and upload some waveform data in real time. Here I choose a more general and easy to use MCU, Arduino uno single-chip microcomputer, which is widely used and supports many libraries.
                          Read more →
                        • Kibana Tips & Tricks: How to view events in Discover mode

                          • Tutorial

                          Hi Habrausers!

                          As you may know Kibana is a visualization instrument, part of ELK (Elastic, Logstash, Kibana) stack. With the help of Kibana you may analyze and visualize your data, build different charts and combine them on the dashboard to present data in the most beautiful way.
                          People who use Kibana in our company have different background — some of them are technical who process data, some are managers who simply want to monitor some KPIs. And all have various questions. In spite of Kibana is rather popular in IT companies, there are not many articles or courses about it. To fill the gap I have created Kibana Tips & Tricks — weekly letters with frequently asked questions or themes. Such letters help our users to become more familiar with Kibana. There are no secrets — just detailed description of how you may work with your data.
                          I would like to share the first part of 'Kibana Tips & Tricks' with you — series of simple how-to articles for people who would like to know more about data analysis and visualization in Kibana. Today we will see how to view events in Kibana.
                          Read more →
                        • Java vs .Net: Who will Reign in the Future?

                          As the time is changing, technologies are expanding and with that, the priority and the importance of the technical languages are also changing. So, usually, it becomes difficult to pick when we have to choose between two languages.



                          java vs .net


                          Here we will see the battle between Java and Microsoft .Net in order to make this clear which language is better to choose. For that, you may also have a quick look at this short video:
                          Read more →
                        • HTTP headers checker

                          • Translation
                          For any site, it is important to properly configure the HTTP headers. A lot of articles have been written on the subject of headings. Here we have summarized the lessons learned, the RFC documentation. Some of the headings are mandatory, some are obsolete, some can be confusing and contradictory. We did a parsing to automatically check the HTTP headers of the web server.

                          Correct HTTP headers increase security and trust in the site, including from search engines, can affect the site’s position in Yandex and Google, save server resources, reduce server load, thereby increasing the server response speed, which again affects the ranking of the site in the search, save money on payment powerful hosting, which may not be required for the site when configured correctly.
                          Read more →