Frontend Weekly Digest (25 Feb – 3 Mar 2019)
Implementation of the digital mobile-only bank in Kazakhstan
On the other side of the world, the digital and mobile banks namely, Starling bank, Monzo, N26 are becoming increasingly popular among society in the United Kingdom. As a vivid illustration, Starling Bank has increased considerably the number of customers for 8 times (up to 400 000 people) at the end of the 2018 year (Starling Bank, 2019). At the same time, one million clients have joined and used Monzo’s services (Monzo). Such tendency establishes substantial competition for all players including high-street banks in the payments market.
In consequences, the main object of the paper is identification the advantages of digital bank and illumination capabilities to deploy analogous mobile bank in Kazakhstani real financial sector.
Blazor 0.8.0 experimental release now available

Blazor 0.8.0 is now available! This release updates Blazor to use Razor Components in .NET Core 3.0 and adds some critical bug fixes.
Get Blazor 0.8.0
To get started with Blazor 0.8.0 install the following:
- .NET Core 3.0 Preview 2 SDK (3.0.100-preview-010184)
- Visual Studio 2019 (Preview 2 or later) with the ASP.NET and web development workload selected.
- The latest Blazor extension from the Visual Studio Marketplace.
The Blazor templates on the command-line:
dotnet new -i Microsoft.AspNetCore.Blazor.Templates::0.8.0-preview-19104-04
You can find getting started instructions, docs, and tutorials for Blazor at https://blazor.net.
MSVC Backend Updates in Visual Studio 2019 Preview 2: New Optimizations, OpenMP, and Build Throughput improvements

In Visual Studio 2019 Preview 2 we have continued to improve the C++ backend with new features, new and improved optimizations, build throughput improvements, and quality of life changes.
The Links Theory 0.0.2

This world needs a new theory — a theory that could describe all the theories on the planet. A theory that could easily describe philosophy, mathematics, physics, and psychology. The one that makes all kinds of sciences computable.
This is exactly what we are working on. If we succeed, this theory will become the unified meta-theory of everything.
A year has passed since our last publication, and our task is to share the progress with our English-speaking audience. This is still not a stable version; it’s a draft. Therefore, we welcome any feedback, as well as your participation in the development of the links theory.
As with everything we have done before, the links theory is published and released into the public domain — it belongs to humanity, that means, it is yours. This work has many authors, but the work itself is far more important than any specific authorship. We hope that today it can become useful to more people.
We invite you to become a part of this exciting adventure.
PostgreSQL 18: Part 2 or CommitFest 2024-09
Statistically, September CommitFests feature the fewest commits. Apparently, the version 18 CommitFest is an outlier. There are many accepted patches and many interesting new features to talk about.
If you missed the July CommitFest, get up to speed here: 2024-07.
PostgreSQL 17: Part 5 or CommitFest 2024-03
Since the PostgreSQL 17 RC1 came out, we are on a home run towards the official PostgreSQL release, scheduled for September 26, 2024.
Let's take a look at the patches that came in during the March CommitFest.
PostgreSQL 16: Part 5 or CommitFest 2023-03

The end of the March Commitfest concludes the acceptance of patches for PostgreSQL 16. Let’s take a look at some exciting new updates it introduced.
I hope that this review together with the previous articles in the series (2022-07, 2022-09, 2022-11, 2023-01) will give you a coherent idea of the new features of PostgreSQL 16.
Writing The Matrix in Python

Programming textbooks usually do not indulge us with variety of examples. In most manuals, exercises are similar to each other and not particularly interesting: create another address book, draw a circle using turtle, develop a website for a store selling some kind of "necessary" advertising nonsense. Too far from the authentic imitation of "The Matrix". Although…
How about taking over the control and starting to invent exercises yourself?
Would you like to write your own personal little "Matrix"? Of course, not the one with skyscrapers, stylish phones of the time, and the ubiquitous invincible Agent Smiths. We will need a couple of more months of learning for that. But any beginner programmer can write a model of the cult splash screensaver with the green streams of digits flowing down the screen. Let's try to creat it in the "great and mighty" Python.
Turning a typewriter into a Linux terminal

Hi everyone, a few months ago I got a Brother AX-25, and since then, I've been working on turning it into a computer. It uses an Arduino to scan the custom mechanical keyboard and control the typewriter, and a Raspberry Pi is connected to the Arduino over serial so I can log into it in headless mode.
Comparing PHP-FPM, NGINX Unit, and Laravel Octane

Comparing PHP-FPM, NGINX Unit, and Laravel Octane - what to choose for developing microservices.
Спасти производство во время пандемии: личный опыт

В результате этого, выход из карантинного состояния обернулся для многих секторов экономики, своего рода, афтершоком. После периода просевшего спроса и нарушенных цепочек производства-поставки, они столкнулись с эффектом отложенного спроса — и даже просто возвращение к докризисному уровню оказалось шоковым для выходящих из экономической гибернации бизнесов. Как результат — возникли перегрев рынка и инфляция в отдельных сферах экономики. Многие потребители в тех или иных сферах ощутили на себе, как продукты и услуги, невостребованные, когда им было не до них в разгар локдаунов и связанных с ними проблем, оказались в дефиците или подорожали после ослабления карантинных мер.
В этой ситуации выиграли те бизнесы, которые были готовы к такому повороту событий. Разумеется, подготовиться к замедлению экономической активности заранее никто не мог, поскольку предсказать серьёзность мер в ответ на пандемию до их принятия во многих случаях до последнего момента не могли даже правительства разных стран, то предугадать их экономические последствия на ход-два вперёд было вполне возможно.
System-on-Chip bus: AXI4 simplified and explained
Protocol AXI4 was developed for High-bandwidth and low latency applications. It is designed to allow communication between master and slave devices. Master is typically a DMA or CPU and slaves are DRAM controllers, or other specific protocol controllers: UART, SPI, and others. Sometimes one component can implement multiple instances of this protocol. Usually, a prefix is used to differentiate between multiple AXI4 interfaces.
For example, Ethernet MAC can integrate DMA and slave interface used to command MAC. MAC can accept commands on the slave interface that contain data about the location of the next ethernet packet and MAC can start fetching this packet using the separate master interface instance.
This article was motivated by common design mistakes AXI4 designers make when they are designing their Digital IP. (Looking at you Xilinx)
OOX 2.0: Out of order execution made easy

As Intel Threading Building Blocks (TBB) is being refreshed using new C++ standard, deprecating tbb::task interface, the need for high-level tasking interface becomes more obvious. In this article, I’m proposing yet another way of defining what a high-level parallel task programming model can look like in modern C++. I created it in 2014 and it was my last contribution to TBB project as its core developer after 9 wonderful years of working there. However, this proposal has not been used in production yet, so a new discussion might help it to be adopted.
3rd Order Low-pass Filter with 1 Op Amp

Common approach to build a 3rd order low-pass filter is to use two circuit stages and two Op Amps. Making a good One Op Amp design is not always easy, but it is possible.
What does «clean code» mean in 2020?

«Clean Code» and a clean cat
There is nothing developers enjoy better than arguing about clean code: Dan Abramov, for example, has recently fueled the hype with his blog post, «Goodbye, Clean Code».
However, “clean code” per se doesn’t even have a clear definition. The main book on the subject is Clean Code, where Robert «Uncle Bob» Martin states that there are perhaps as many definitions as there are programmers. But he doesn’t walk away from the fact with a conclusion that there’s no reason to discuss clean code, rather — compare several definitions and highlight general ideas. Therefore he cites the views of several outstanding programmers on what clean code is.
So we have also become interested in what people in 2020 think of clean code. Have the views changed since the publication of the book? Do opinions vary in different IT fields (maybe backend developers perceive the idea of clean code differently from testers)?
This spring, Uncle Bob comes to St. Petersburg to give talks at our three conferences: they are about .NET development, testing and JavaScript. Therefore, we’ve asked speakers from each of those conferences to share their opinion on clean code so we could compare the opinions of the industry experts in 2020.
We've already published the results in Russian, and here's the English version. Since the topic is known to provoke discussions, feel free to give your own definition or argue about those already given!
UPD: When we posted this article, Uncle Bob had our conferences in his schedule. Unfortunately, the situation has changed. We updated this post on March 12, to avoid any misunderstanding.
Quick reference of C++ value categories: Part 1
The goal of this quick reference is to collect in one place and organize information about value categories in C++, assignment, parameter passing and returning from functions. I tried to make this quick reference convenient to quickly compare and select one of solutions possible, this is why I made several tables here.
For introduction to the topic, please use the following links:
C++ rvalue references and move semantics for beginners
Rvalues redefined
C++ moves for people who don’t know or care what rvalues are
Scott Meyers. Effective Modern C++. 2015
Understanding Move Semantics and Perfect Forwarding: Part 1
Understanding Move Semantics and Perfect Forwarding: Part 2
Understanding Move Semantics and Perfect Forwarding: Part 3
Do we need move and copy assignment
Improving form controls in Microsoft Edge and Chromium
Over the past few months, we’ve been collaborating closely with the Google Chrome team on this project, and are excited to share the refreshed controls that will be coming to Microsoft Edge Insider builds, or other Chromium browsers near you.
