• Aspect-Oriented Programming (AOP) by source-level weaving


      Aspect-oriented programming is a very appealing concept for simplifying your codebase, creating clean code, improving modularity, structure of code and minimizing copy-paste errors.

      Today, in most cases, weaving aspect's advices is implemented at the bytecode level, i.e. after compilation, a certain tool «weave» an additional byte code with the support of the required logic.

      Our approach (as well as the approach of some other tools) is modifying the source code to implement aspect logic. With introduction of the .NET Compiler Platform (aka Roslyn), it is quite easy to achieve this goal, and the result gives certain advantages over the modification of the byte code itself.
      Read more →
    • Flutter: The Best Cross-Platform Framework For App Development with Top Flutter Companies


        The obsession of being an entrepreneur is increasing these days, and with the rapidly evolving market, it has become daunting for all-level enterprises and businesses to have both websites and mobile applications to survive in this cut-throat competitive market. The days are left far behind when the businesses with only high revenue used to have space in Google’s Playstore and Apple’s App Store.

        Research shows that there are 2.8 million apps available in the Google play store, and around 2.2 million apps exist in the Apple app store. This clearly reflects that mobile app development has become an urgent need for the business of all domains either they are of large or small size.
        Read more →
      • Top 10 eCommerce Platforms to Boost Business Productivity in 2021

          An eCommerce platform empowers startups, SMEs, and large enterprises to manage multiple online business processes such as website, marketing, sales, and operations.

          The top eCommerce platforms handle online business tasks efficiently, and this finally helps enterprises in expanding their productivity.

          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 →
          • TOEFL ibt Writing: A Step-by-Step Guide

              This article is for those who want to have a useful, applicable and easy-to-follow manual on writing TOEFL ibt Independent Essay.

              Any essay includes 3 parts: Introduction, Body, Conclusion.
              But every single part consists of several important segments.

              Step # 1 - Introduction
              In this part of TOEFL ibt Essay you need to have a look at the essay question or the essay task. You have 3 ways to start your Independent Essay:
              1) Paraphrase the question in your own words by using negative or positive prefixes, suffixes as well as synonyms, antonyms and different roots.
              2) Replace some adverbs, adjectives and verbs in the initial task question by using some other suitable words.
              3) Summarize the question ideas by creating a short, logical, sound and meaningful statement.

              Step # 2 - Leading Statement
              In this part of TOEFL ibt Essay you need to write down an indispensable idea which will introduce your ideas. Some kind of “step in your area.”
              An Independent Writing Part in TOEFL ibt is mostly an Opinion Essay, that’s why you need to quickly create some basic concept which will be the fundamental part of your writing as well as will be some kind of lead-in for your essay.

              Step # 3 - Topic Sentence
              In this part of TOEFL ibt Essay you need to summarize in 7-10 words the main idea of the first section in your Independent Writing Part.
              It must be some relevant and significant concept which will form all of your supporting sentences in the first writing section.

              Step # 4 - Supporting Sentence
              In this part of TOEFL ibt Essay you need to invent some additional ideas which will support your Leading Statement and Topic Sentence. Remember that all the ideas must be interconnected and closely knit in your text, especially concerning your Topic Sentence. Your supporting sentences must confirm everything you have written in the Topic Sentence and provide the reader with some additional information about your Topic Sentence. Your supporting sentences are your proofs, arguments and reasons which will build up the belief in the reader’s mind that your ideas are rational.

              Step # 3 and Step # 4 must be repeated twice or thrice, depending on the number of Argumentative Segments in your essay.

              Step # 5 - Connecting Sentences
              In this part of TOEFL ibt Essay you need to connect your ideas in-between Introduction, Body and Conclusion. Remember! Your ideas must flow through the text.
              For writing any good text you need to know 4 important rules:
              1) Relevance: your text must be relevant.
              2) Precise: your ideas must be explicit, exact and clear.
              3) Readable:
              + your text structure and organisation must be logical;
              + you follow sequential and consequential order;
              + your ideas are sound;
              + your sentences are short enough in order not to miss the point;
              + your text is big enough in order to clearly see the whole picture.

              Step # 6 - Conclusion
              In this part of TOEFL ibt Essay you need to give an outline of the whole essay, but usually it is just some kind of Introduction Sentence paraphrasing.You can just repeat Step # 1, but including some positive results which will wrap up all of your previous thoughts. 

              General Tips of Advice:
              Remember about:
              ! Being Short but Precise
              ! Being Clear
              ! Coherence
              ! Cohesion
              ! Being Logical
              ! Providing Enough Details

              One more reminder:
              ! If you do not know the spelling of some word, better do not use it.

              Extra Tip:
              ! One essay should contain not more than 3-4 main Arguments (Argumentative Segments, which equal 3-4 Topic Sentences with 3-4 Supporting Sentences). In other words there should be 1 main idea which includes 3-4 confirming points. These confirming points (Topic Sentences) are supported by the additional information, extra details which you will specify and clarify in your Supporting Sentences.

              Sincerely yours, Olga Berelkovskaya.

              Читать далее
            • Why it is important to apply static analysis for open libraries that you add to your project

                PVS-Studio and Awesome header-only C++ libraries

                Modern applications are built from third-party libraries like a wall from bricks. Their usage is the only option to complete the project in a reasonable time, spending a sensible budget, so it's a usual practice. However, taking all the bricks indiscriminately may not be such a good idea. If there are several options, it is useful to take time to analyze open libraries in order to choose the best one.
                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
                • Ads
                  AdBlock has stolen the banner, but banners are not teeth — they will be back

                • Why code reviews are good, but not enough


                    Code reviews are definitely necessary and useful. It's a way to impart knowledge, educate, control a task, improve code quality and formatting, fix bugs. Moreover, you can notice high-level errors related to the architecture and algorithms used. So it's a must-have practice, except that people get tired quickly. Therefore, static analysis perfectly complements reviews and helps to detect a variety of inconspicuous errors and typos. Let's look at a decent example on this topic.
                    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 →
                  • InterSystems IRIS – the All-Purpose Universal Platform for Real-Time AI/ML

                      Author: Sergey Lukyanchikov, Sales Engineer at InterSystems

                      Challenges of real-time AI/ML computations

                      We will start from the examples that we faced as Data Science practice at InterSystems:

                      • A “high-load” customer portal is integrated with an online recommendation system. The plan is to reconfigure promo campaigns at the level of the entire retail network (we will assume that instead of a “flat” promo campaign master there will be used a “segment-tactic” matrix). What will happen to the recommender mechanisms? What will happen to data feeds and updates into the recommender mechanisms (the volume of input data having increased 25000 times)? What will happen to recommendation rule generation setup (the need to reduce 1000 times the recommendation rule filtering threshold due to a thousandfold increase of the volume and “assortment” of the rules generated)?
                      • An equipment health monitoring system uses “manual” data sample feeds. Now it is connected to a SCADA system that transmits thousands of process parameter readings each second. What will happen to the monitoring system (will it be able to handle equipment health monitoring on a second-by-second basis)? What will happen once the input data receives a new bloc of several hundreds of columns with data sensor readings recently implemented in the SCADA system (will it be necessary, and for how long, to shut down the monitoring system to integrate the new sensor data in the analysis)?
                      • A complex of AI/ML mechanisms (recommendation, monitoring, forecasting) depend on each other’s results. How many man-hours will it take every month to adapt those AI/ML mechanisms’ functioning to changes in the input data? What is the overall “delay” in supporting business decision making by the AI/ML mechanisms (the refresh frequency of supporting information against the feed frequency of new input data)?

                      Read more →
                    • How I’m creating a digital mini-guitar


                        In this article, I’ll try to describe roughly how I’m creating a device, from the idea to realization of the usable prototype.

                        My name is Dmitriy Dudarev. I develop electronics, and really enjoy creating different portable devices. I also enjoy music. Half a year ago, I borrowed acoustic guitar from my friend, so that I could learn to play it from lessons on Youtube and tablatures. It was a hard work. Maybe, I did something wrong, or tried not so hard, or fine motor skills prevented multiplication in my predecessors’ community. In any case, I couldn’t achieve anything but sounds of raspy strings. My resentment was strengthened by constant string detune. And others didn’t really enjoy much listening my uneven Nothing else matters for thousand times.
                        But, going through all these tortures, I haven’t forgotten the main rule of electronics engineer. If something exists, you can put microcontroller there. Or, at least, make a portable electronic modification.
                        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 →
                      • Modern Google-level STT Models Released

                          We are proud to announce that we have built from ground up and released our high-quality (i.e. on par with premium Google models) speech-to-text Models for the following languages:

                          • English;
                          • German;
                          • Spanish;

                          You can find all of our models in our repository together with examples, quality and performance benchmarks. Also we invested some time into making our models as accessible as possible — you can try our examples as well as PyTorch, ONNX, TensorFlow checkpoints. You can also load our model via TorchHub.

                          PyTorch ONNX TensorFlow Quality Colab
                          English (en_v1) link Open In Colab
                          German (de_v1) link Open In Colab
                          Spanish (es_v1) link Open In Colab
                          Read more →
                        • Molto-2 — a USB programmable multi-profile TOTP hardware token

                            About a year ago, we released Token2 Molto-1, the world's first programmable multi-profile hardware token. While Molto-1 is still the only solution of its kind currently available on the market, we will be soon releasing a new variation of a multi-profile hardware token, in a different form-factor and with a different set of features available.

                            While Molto-1 has its advantages, there were some shortcomings that we wanted to address, for example, it can only hold up to ten TOTP profiles, which is not enough for many users. Also, using NFC to program the device does not look very convenient for some users. There were also requests to have a backlight for the screen of the token, so it can be used in the dark. With Molto-2 we tried to address this and a few other concerns. So, we hereby present our new device model, Token2 Molto-2 with the following specifications:

                            TOKEN2 MOLTO-2 multi-profile programmable TOTP hardware token:

                            ▣ RFC 6238 compliant

                            ▣ supports up to 50 accounts/profiles

                            ▣ USB-programmable with a Windows app

                            ▣ RTC battery life: 8 years

                            ▣ LCD screen battery: 3-4 months (rechargeable)

                            The table below shows the comparison between Molto-1 and Molto-2

                            Read more
                          • How to write Palindrome Polyglot Quines

                            • Translation

                            I offer a solution to one beautiful task — writing code that outputs its text is valid for interpreters and compilers of different languages and is correctly executed when reversing its sources.

                            Not so long ago I learned about code that can be both interpreted in PHP and compiled to Java: PhpJava.java. As it turned out, this idea is not new: code which is valid for several compilers or interpreters is called a polyglot. It is possible to write such code because of the peculiarities of processing strings and comments in different interpreters or compilers.

                            Read more →
                          • The 2020 National Internet Segment Reliability Research

                              The National Internet Segment Reliability Research explains how the outage of a single Autonomous System might affect the connectivity of the impacted region with the rest of the world. Most of the time, the most critical AS in the region is the dominant ISP on the market, but not always.

                              As the number of alternate routes between AS’s increases (and do not forget that the Internet stands for “interconnected network” — and each network is an AS), so does the fault-tolerance and stability of the Internet across the globe. Although some paths are from the beginning more important than others, establishing as many alternate routes as possible is the only viable way to ensure an adequately robust network.

                              The global connectivity of any given AS, regardless of whether it is an international giant or regional player, depends on the quantity and quality of its path to Tier-1 ISPs.

                              Usually, Tier-1 implies an international company offering global IP transit service over connections with other Tier-1 providers. Nevertheless, there is no guarantee that such connectivity will be maintained all the time. For many ISPs at all “tiers”, losing connection to just one Tier-1 peer would likely render them unreachable from some parts of the world.
                              Read more →