Code – InformTFB
16.02.2021

How to write readable code

It happens that after looking at the old code, we say: “It’s easier to rewrite it than change it.” It is sad if we are talking about our own code, which was written with such love several years ago. Head of Developer Relations at Evrone Grigory Petrov in his report at TechLead Conf 2020 analyzed the problems that lead to such a situation, and told how to deal with the Software complexity problem. […]
16.02.2021

Properties vs methods

At first glance, such a question as choosing a property or method seems simple. But this is as long as you don’t encounter any misunderstanding in your team. Although there are well-established practices, their wording is rather vague. There is a certain degree of freedom in this kind of question, which makes it difficult for us to choose, and the apparent simplicity gives fertile ground for disputes. Background of Java programmers A programming […]
12.02.2021

What to listen to when writing code: free mixes, a second monitor plug, and an ambient player

It is quite difficult to concentrate on work tasks when the surrounding reality gradually takes on a tinge of irritation and negativity. However, we do not give up and share with you our musical findings-services and collections of tracks that-at least for a while — will help you exhale and get down to business with renewed vigor. Deepwork.fm is a simple and compact web player with five streams of songs in the public domain […]
07.02.2021

Converting a number to a string using the FPU

Every person who is interested in programming must write their own version of the solution to this problem. I decided not to be an exception. In accordance withx64 software conventions, we assume that the number to be converted is located at XMM0. We will use x64bit code for x32bit addressing. This method of addressing allows you to take advantage of both dialects. We save the stack value and create a […]
07.02.2021

Threadripper 3990X: compiling 1 billion lines of C++ on 64 cores

RAD Studio consists of Delphi and C++Builder. The object Pascal compiler in Delphi is a single-pass compiler, and the compiler itself is not parallel, but when compiling several projects in parallel, it was able to compile 1 billion lines of Object Pascal code in 5 minutes on a machine with a 16-core AMD Ryzen 9 5950x. I wanted to find out if it’s possible to do something similar for C++. […]
24.01.2021

The future of JavaScript: classes

Good day, friends! Today I want to talk to you about three proposals related to JavaScript classes that are currently under 3 stages of consideration: the definition of class field private methods and class getters/setters static features of classes: static public fields, static private fields, and static private methods Given that these suggestions fully correspond to the logic of further class development and use the existing syntax, you can be […]
20.01.2021

Simple PyQt solution: “how to add an image to a program”

Simple solution according to the source code: API documentation: https://doc.qt.io/qtforpython/api.html
13.01.2021

OpenCart popup, modal Windows

When developing a module in the admin panel, I needed to use OpenCart modal Windows to display certain information, as well as to show the form. My frontend experience at that time was so-so, but a colleague suggested that OpenCart uses jquery (2.1.1), and this library has support for popup Windows. But not everything is so simple … To clarify: modal window = = popup window == popup. Modal window library In order to use the […]
12.01.2021

Neurotheology and neuromarketing the future

I recently reviewed Back to the Future, an iconic trilogy about a guy and his genius grandfather traveling to the future, past, and back. It’s interesting to see how people saw the future almost 30 years ago-hoverboards instead of skateboards, flying cars, romance! Now the idea that there will be a lot of cyborgs in the future is becoming popular, thanks to cyberpunk 2077-the idea that we will not have enough […]
12.01.2021

Neural network technologies

The topic is dedicated to neural network technologies. Previously, this topic was published for the Institute, in order to gain the first scientific research experience, and in my opinion, this is one of the most relevant topics along with the quantum network, that is, these technologies will radically change the scope of application and data processing in both situational and predictable situations. The peculiarity of using neural network technologies is […]
09.01.2021

Generating default Github avatars

In this article, I will show and tell you how to generate avatars as on Github. First, you need to understand how the github avatar works. At first glance, it’s just a random set of colored squares (hereinafter referred to as blocks) in a good order on a gray background. Each avatar has 12 by 12 blocks. Looking at the following picture, I think you understand that the images are […]
09.01.2021

How to save memory and double the size of PyTorch models with the new Sharded method

Deep learning models improve as the amount of data and parameters increases. Even with Open AI’s latest GPT-3 model, which uses 175 billion parameters, we have yet to see a plateau in parameter growth. For some areas, such as NLP, the workhorse was Transformer, which requires huge amounts of GPU memory. Realistic models simply don’t fit in memory. The last method is called Sharded [lit. ‘segmented’] was introduced in Zero […]
09.01.2021

Intriguing C++ 20 features for embedded developers

C is still the favorite programming language among embedded system developers, but there are quite a few of them who use C++in their practice. Using the corresponding features of C++ , you can write code that is as efficient as the code of a similar application written in C, and in some cases it will be even more efficient, since it can be quite tedious for an ordinary programmer to […]
04.01.2021

Monitoring and profiling Spring Boot applications

Monitoring is very important for modern applications, modern applications are inherently highly distributed and have different dependencies, such as database, services, caching, and more. Therefore, it is increasingly important to track and monitor these services so that the application adheres to the SLA conditions (service Level Agreement). An SLA is an agreement between a customer and a service provider that takes into account reliability, response speed, and other service level […]
04.01.2021

What is what in CMake 3.10+ and how to use it

Introduction CMake is growing in popularity. Many large projects are moving from their own build tools to CMake. The Conan project offers integration with CMake for dependency management. CMake developers are actively developing The tool and adding new features that solve common problems that arise when building projects. The transition from CMake 2 to CMake 3 was quite painful. The documentation does not cover all aspects of usage. The functionality […]
04.01.2021

Analyze classes by bones or introspect types in Typescript

What do we know about introspection? Wikipedia says that this is the ability to query the type and structure of an object during program execution. Well that is there is a class: Its object is defined by a set of fields, each of which has at least its own type and value. At the same time, we can get this array at any time of the program execution by calling […]
04.01.2021

Cheat sheet of useful GDB commands

Basic commands Launch General syntax for selecting an executable file for analysis To run the program Join gdbserver Join the process, disconnect from it Log out of gdb Static analysis Select Assembly language syntax View information about the architecture, sections Getting a list of functions Getting an asm listing of a function If you have the source code (we can build it with the-g3 option for gcc) or the program […]
04.01.2021

About the Russian language in programming

Introduction I’ll start with the little things. Is it convenient to organize a typical keyboard layout change now? In the sense of switching to Russian/Latin? In my opinion, smartphones are more convenient. Do not press all these “Shift” and “Alt”at the same time. On my first home computer “Electronics-901 “(aka ai-PC16) , there were even two special “empty” keys approximately where the”windows” keys are now. One switched to the Russian […]
03.01.2021

Computer Emulation: CHIP-8 interpreter, timers and input processing

We have already created a fully working CHIP-8 emulator, but it, unfortunately, turned out to be very slow. Why? If you look at its main loop — you can see that data is displayed on the screen after each step of the loop is completed. When vsync is enabled, SDL tries to link the rendering speed to the display frame refresh rate (possibly 60 Hz). For us, this means that […]
30.12.2020

Scott Hanselman’s 2021 Ultimate Developer and Power Users Tool List for Windows

Can you believe it’s been 6 years since my last Tools list? Tools have changed, a lot are online, but honestly, it’s just a LOT OF WORK to do the tools list. But here’s one for 2020-2021. These are the tools in my Utils folder. I made a d:\dropbox\utils folder and I added it to my PATH. That way it’s on all my computers and in my path on all […]
30.12.2020

How we implemented distributed cache on Tarantool in one ABS.

The development of any fairly serious software, whether it is a matrix calculator or an AI of an unmanned car, is always some kind of subject area, certain technologies, algorithms and data structures, code architecture, the development process and many other smart terms from the IT world. ——————————————————- This article presents one of the solutions in the world of high performance and distributed systems. Under the cut, you will find […]