• Toxic Comments Detection in Russian

      Currently, social network sites tend to be one of the major communication platforms in both offline and online space. Freedom of expression of various points of view, including toxic, aggressive, and abusive comments, might have a long-term negative impact on people’s opinions and social cohesion. As a consequence, the ability to automatically identify and moderate toxic content on the Internet to eliminate the negative consequences is one of the necessary tasks for modern society. This paper aims at the automatic detection of toxic comments in the Russian language. As a source of data, we utilized anonymously published Kaggle dataset and additionally validated its annotation quality. To build a classification model, we performed fine-tuning of two versions of Multilingual Universal Sentence Encoder, Bidirectional Encoder Representations from Transformers, and ruBERT. Finetuned ruBERT achieved F1 = 92.20%, demonstrating the best classification score. We made trained models and code samples publicly available to the research community.
      Read more →
    • Making python's dream of multithreading come true


        So you are writing some CPU-intensive code in Python and really trying to find ways out of its single-threaded prison. You might be looking towards Numba's "nopython parallel" mode, you might be using forked processes with multiprocessing, you might be writing microservices with database-like coordinators, or even writing your own multithreaded programs in C/C++ just like creators of TensorFlow did.

        In this article I'm describing a rationale for my pet project where I try to implement facilities for general purpose multitasking to be used in a form of simple python code, employing a database-like approach for interpreters communication, while keeping the GIL (Global Interpreter Lock) and trying to be as pythonic as possible.

        It could also become handy in the light of upcoming multiple interpreters support in CPython.

        As far as I know, nobody came that far in trying to provide Python program with native shareable storage. The last closest attempt was Python Object Sharing which is pretty much dead by now. I hope my project won't meet the same fate.

        Read more →
      • Leading Full Stack Development Companies to Check Out in 2020

          Given the diverse range of responsibilities and technologies out there today, it is no wonder companies choose to employ full stack development services to achieve end goals without hiring multiple people and struggling to attain streamlined workflows.

          What is full-stack development?

          Full-stack development services refer to the development of both client-side and server-side interfaces of any application. In technical terms, these are the front-end and back-end, respectively.

          A client-side-only developer typically is responsible for what users see and can interact within an application or a website. They use a specific set of languages, including HTML and CSS. They also use particular frameworks and libraries that include AngularJS, Bootstrap and ReactJS. On the other hand, a back-end developer typically focuses on how the website works and is built. The primary languages are Python, JavaScript and C++ among others.

          To hire a full-stack web developer is to get someone who is well-versed in both front-end and back-end development and has the skills and technological prowess to step in at any stage of a project.

          What qualities does the ideal full-stack developer possess?

          If you’re looking to hire a remote full-stack web developer or a full-time one, consider looking out for these qualities:

          • Mastery over front-end technologies
          • Knowledge of at least one server-side programming language
          • Concrete understanding of DBMS technology
          • UI/UX design skills
          • Experience in handling servers
          • Knowledge of Git and version control systems
          • In-depth understanding of web services or API
          • Awareness of security concerns and frameworks
          • Understanding of algorithms and data structure
          Read more →
        • Machine learning in browser: ways to cook up a model

            With ML projects still on the rise we are yet to see integrated solutions in almost every device around us. The need for processing power, memory and experimentation has led to machine learning and DL frameworks targeting desktop computers first. However once trained, a model may be executed in a more constrained environment on a smartphone or on an IoT device. A particularly interesting environment to run the model on is browser. Browser-based solutions may be used on a wide range of devices, desktop and mobile, online and offline. The topic of this post is how to prepare a model for the in-browser usage.

            This post presents an end-to-end implementations of a model creation in Python and Node.js. The end goal is to create a model and to use it in a browser. I'll use TensorFlow and TensorFlow.js as main frameworks. One could train a model in Python and convert it to JS. Alternative is to train a model directly in javascript, hence omitting the conversion step.

            I have more experience in Python and use it in my everyday work. I occasionally use javascript, but have very little experience in the contemporary front-end development. My hope from this post that python developers with little JS experience could use it to kick start their JS usage.

            Read more
          • Crime, Race and Lethal Force in the USA — Part 3

            • Translation
            This is the concluding part of my article devoted to a statistical analysis of police shootings and criminality among the white and the black population of the United States. In the first part, we talked about the research background, goals, assumptions, and source data; in the second part, we investigated the national use-of-force and crime data and tracked their connection with race.
            Read more →
          • Crime, Race and Lethal Force in the USA — Part 1

            • Translation

            Do the police in the US really shoot black people more often than white people? Is use of lethal force connected with race? How is crime related to race? What are the odds of getting shot by the police if you are white and if you are black? We're taking public data and python with pandas to shed some light on these questions, propaganda and politics set far aside.
            Read more →
          • Ads
            AdBlock has stolen the banner, but banners are not teeth — they will be back

          • 7 Ultimate Programming languages For Mobile App Development


              Do you know that 21% of people open an app 50+ times per day? Yes, you heard that right. With the rapid development of technology, the mobile app now made many things possible, which was previously unthinkable.

              And that's why there is an incredible increase in the number of mobile users. According to a recent mobile app development stat, the number of mobile users worldwide is projected to increase to 6.95 billion by the end of 2020.

              In the last couple of years, the mobile app development industry has grown manifold, changing how businesses function around the world. If you are planning to jump into mobile app development, then choosing the right programming language will be the most significant challenge.

              There are more than 600 programming languages, and each one has its own perks and popularity. Are you pondering which language would be best for developing a stunning app?

              Several factors come to mind when making this choice, but the most important one is the language's demand. Here in this blog, I have listed the best programming language for mobile apps in terms of popularity and demand. Let's start!
              Read more →
            • How to find an English teacher. Part 2


                This is a continuation of story about using Data Science for finding an English teacher. If you have not read it yet - there is an opportunity to become familiar with it

                Briefly  -  we had information about language teachers and tried to apply some basic ideas using pandas and our expectations. Unfortunately we got stuck on the third step, because there is not enough information for resolving our the last requirements  -  we need not more 3 candidates at the end.

                It is an approach based on my own experience and can be unsuitable to your point of view, ideas, or principles.
                Read more →
              • Web server for Machine Learning 'VKF-solver'

                  Nowadays most people identify Machine Learning with training of various kinds of neural networks. At the beginning there were fully connected networks, then convolutional and recurrent networks replace them, now there exist a quite exotic variants of networks such that GAN and LTSM networks.

                  Their training requires constantly increasing volume of samples, and they also do not be able to explain why a particular decision was made. Structural approaches to Machine Learning avoiding these drawbacks exist, the software implementation of one of which is described in the article. This is an English translation of original post by the author.

                  Read more →
                • 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 →
                  • Approach to calculating individual risk in COVID-19

                      In February 2020, when the disease came to Europe, it became apparent to me that our timid hopes that the epidemics would subside and be finally buried in the China's soil were ruined. It was already evident from the Chinese statistics that the virus is lethal enough to scare and mild enough to pass unnoticed in many cases and, thus, to guarantee its effective dissemination. The question was when it reaches each next country.

                      Another question was the individual risks, especially the risk of lethal outcome if one contracts the virus. The average figure of around 5% was circulated by late January and early February. It was known that males were more susceptible to fatal outcomes. By February, it was also evident that the virus doesn't lead to death only in the elderly — the middle age was significantly affected, as well.

                      Read more →
                    • Is Python The Answer To High-End Mobile Apps?


                      Before the development of any software or a mobile app, the first thing that comes in mind is- which programming language is the best for this app. Yes! It is really important to choose the best programming language for particular mobile app development.

                      So, among various programming languages, let’s throw light on the significance of Python in Mobile app development or it could also be said that why Python is the best language for mobile app development?

                      Before that, let’s have a look at the stat where according to statista.com, Python remains the most popular programming language in 2020, according to GitHub and Google Trends, surpassing longstanding Java and JavaScript in popularity.

                      Python was also the biggest gainer in the Tiobe index of the popularity of programming languages in the year 2018, rising by 3.62% points from January 2018 to January 2019, with a rating of approx. 8.2% for this month.
                      Read more →
                    • Waking up of the sleeping institution: how we taking off training-wheels from Python in REAPER

                      • Translation

                      Image for taking attention

                      About a week I wonder around the idea of this article, mainly, because of missing the content here and tidiness of the coronavirus-themes. But, when robotic-harvester, hacking zip with bitcoins and other cool articles released — I decided not to publish crude material.

                      However, unexpectedly today the maintainer of this review hero showed up from the lockdown and, several hours ago reapy v0.6.0 has been published on PyPi. Under the cut — the last change log, which contains (to my pleasure) no line where I have not been involved one way, or another.

                      Finally: why reapy is needed and how Python works inside REAPER.

                      Read more →
                    • Developing and deploying Python for secured environments with Kushal Das

                        Here is the translated Russian version of this interview.

                        The company of speakers at Moscow Python Conf++ 2020 is great, and it's not a good luck but thorough Program Committee's work. But who cares about achievements, it's much more interesting what the speaker thinks about our own questions. Conferences suits good to find it out, get insider information or advice from an experienced developer. But I got an advantage of being in Program Committee so I already asked our speaker Kushal Das some questions.

                        A unique feature of Kushal's speeches is that he often unveils «secret» ways to break Python code and then shows how to write code so that the NSA can't hack it. At our conference Kushal will tell you how to safely develop and deploy Python code. Of course I asked him about security.

                        Read more →
                      • GitHub repositories tracker and its «for convenience» tricks

                        Work in several GitHub repositories (repos) brings inconveniences. Repos are separated from each other, open and closed issues live in different lists, linked pull requests (PRs) can't be seen until opening an issue — our team works in more than 70 repos, so I learned that hard. And started to write repos tracker on Python. It's close to the final, I'd like to share it (it's completely free), and few tricks I used in progress.

                        What is that

                        Scraper tracks several GitHub repos in a single Google Sheet (GS) table. You can see all of the opened and done issues, related PRs, priorities, your teammates comments, use coloring, filtering, sorting and other GS functions. That's a good integration, here is how it looks:


                        How does it work, shortly

                        There is Spreadsheet() class which contain several Sheet() objects, each of which have it's own configurations, described in config.py. When Scraper updates a sheet, it loads configurations, sees list of repos to track, requests info from GitHub, builds a table and sends it to GS service. Sounds easy, but there were several tough to deal with things, which I've solved mostly with support of my work experience in Google projects, and which I consider as good patterns. Take a pen.
                        Read more →
                      • Python-Celery in Windows with Docker managing

                        • Tutorial
                        To 'adequately' debug Celery under Windows, there are several ways such as:

                        > celery worker --app=demo_app.core --pool=solo --loglevel=INFO

                        But in fact for normal development, you need a Unix system. If you do not have the opportunity to use it as a native, then it is worth considering...) Well, to be honest, there is always a way out and this is Docker and WSL. If you use such “cool” IDEs like PyCharm, then everything becomes more complicated, because using the WSL interpreter, installing the package with pip, you will have to manually update the project skeleton due to indexing problems.
                        Read more →