Non-canonical terminal mode and non-blocking input to nasm

The idea of ​​writing a game in assembler language, of course, is unlikely to come to anyone by itself, but it is such a sophisticated form of reporting that has long been practiced in the first year of the MSU MSU. But as progress does not stand still, both DOS and masm become history, and nasm and Linux come to the forefront of training bachelors. Perhaps in ten years the management of the faculty will discover python, but this is not the issue now.
 
 
Programming in assembler for Linux, with all its advantages, makes it impossible to use BIOS interrupts and as a result impairs functionality...
+ 0 -

We write the Linux kernel module: I2C

We write the Linux kernel module: I2CHabr, greetings!
 
 
This article is devoted to the development of the I2C (Inter-Integrated Circuit) module of the Linux kernel. The following describes the process of implementing the basic structure of the I2C driver, into which you can easily add the implementation of the required functionality.
 
 
Let's describe the input dаta: I2C block for the new processor "wired up" on the FPGA, running Linux version ??? and peripherals (EEPROM AT24C64 and BME280).
 
 
The principle of I2C is quite simple, but if you need to refresh knowledge, you can read ...
+ 0 -

Power monitor for embedded systems (Linux)

Power monitor for embedded systems (Linux)It was required to measure the current consumption of one device
 
+ store the received values ​​in the database table (PostgreSQL)
 
 
The first 5 minutes of google showed - almost all semiconductor manufacturers have beautiful solutions, on a single crystal
 
Complex circuits on the op-amp are left in the past
 
 
The choice fell on INA230
 
Voltage up to 28v, easy to mount housing, trade-off cost
 
But the most decisive argument, he was already lying in the curbstone: D Among other samples
 
It's time to use it
 
 
The included scheme does not differ from the one given in datasheet
 
Its ...
+ 0 -

We are writing a plugin for obtaining wildcard-certificates Let's Encrypt

And hello again, dear reader. The second chapter about the adventures of Let's Encrypt in the panel ISPmanager is declared open. In the previous article we discussed the plugin for ACME v01. In this we'll talk about his evolution in terms of the logic of working with the user and, of course, the protocol ACME v02 with support for wildcard-certificates.
 
 
We are writing a plugin for obtaining wildcard-certificates Let's Encrypt  
 

Excessive concern


 
Trying to surround the user with care, you can go far. So far that it does not work with functionality at all. And the first part of our history is just about that.
 
 
When developing the module, we wanted ...[/h]
+ 0 -

Google's Shell Style Guide (in Russian)

Foreword
 
Which Shell to use is
 
Bash The only shell script language that can be used for executable files.
 

Scripts must begin with #! /bin /bash with a minimum set of flags. Use the set to set the shell options, that would call your script as bash did not violate its functionality.


 

Restricting all shell scripts to bash, gives us a consistent shell language that is installed on all our machines.


 

The only exception is if you are limited by the conditions of what you are programming for. One example is the Solaris SVR4 package, which requires the use of ...

+ 0 -

Monitoring the performance of the disk subsystem using zabbix and block stat

Hardly anyone will argue that monitoring the performance of the disk subsystem is almost the most important task for all highly loaded storage systems and databases. I initially ran into this a long time ago, even when I had to watch PostgreSQL. Recently, I returned to this issue in connection with the need to test various storage facilities.
 
 
Today I want to share my current experience with the community on the real example of zabbix and its connection with the block stat.
 
 
Monitoring the performance of the disk subsystem using zabbix and block stat  
habr.com/post/165855 . I'll tell you - it's terribly inconvenient.
 
 
Where ...
+ 0 -

Java and Linux - features of

Java and Linux - features ofoperation.Java is a very common platform, it's written with very different things, ranging from Big Data, to micro services, monoliths, enterprise and others. And, as a rule, all this is deployed on Linux servers. At the same time, accordingly, those people who write in Java often do this quite on other operating systems. There they are:   write the code;  debug, test;  then pack in jar;  send to Linux, and it works.   The fact that it works, there is no special magic. But this leads to the fact that such developers are slightly "sugared" in their world of cross-platform and do not really want to understand...
+ 0 -

Its asynchronous tcp-server in 15 minutes with a detailed analysis of

Its asynchronous tcp-server in 15 minutes with a detailed analysis of
 
Earlier I introduced a couple of small posts about the potential role of Spring Boot 2 in reactive programming. After that, I got a number of questions about how the asynchronous operations work in programming in general. Today I want to make out what is Non-blocking I /O and how to apply this knowledge to create a small tcp Server on python which can handle a lot of open and heavy (long) connections in one thread. Knowledge python It is not required: everything will be extremely simple with a lot of comments. I invite all comers!
 
...
+ 0 -

Using the Linux kernel sequence files

Using the Linux kernel sequence filesA characteristic feature of modern programming in the use of the global network as a source of reference information, in particular, the source of templates for solving unknown or little-known specific programmer problems. This approach saves a lot of time and often gives a completely qualitative result. However, the solutions laid out in the network, although usually correct, do not always take into account all the subtleties of the solution of a particular problem, which leads to the appearance in the codes of areas that normally work correctly, but in unusual circumstances become sources of ...
+ 0 -

We brought this day as close as we could - the notebook in Windows 10 began to understand the unix line translation of

We brought this day as close as we could - the notebook in Windows 10 began to understand the unix line translation ofNotepad in windows 10 began to understand the unix line translation of , and not just the windows format.
 
 
With the problem of "porridge" instead of readable text for decades, those who tried to open in the Windows environment text documents prepared on other operating systems. Now everything changes all of a sudden. And this change is as little, as epic, in its practical results and ideological consequences. Microsoft is again trying to play in cross-integration and support for open standards.
 
 
For many years, Windows Notepad could normally display only those text documents that contained ...
+ 0 -