How to learn to work with Vim?

Perhaps there is no other text editor you need to work with. study specifically. However, if you learn to work with Vim, then a person gets amazing advantages over other people. Vim is usually already installed on most Linux systems and basic skills working with it are simply necessary for most developers.

Because this editor has its origins in the times when there was no Internet at all, the mouse had not yet been invented, and computers were terminals with a cathode ray tube and a keyboard that did not have arrow keys, then working with this editor looks akin to the dances of a shaman for the uninitiated.

One of the important advantages of this editor is the plugin system. It is thanks to this system that it is possible to transform Vim like an IDE, get syntax highlighting, auto-suggestions, file system navigation and much more.

There are many resources to help you learn how to use this editor, but I thought, if vim has so many plugins, is there a plugin for learning functions the editor himself? And it turned out that yes, there is!

Is is called vim-tutor-mode! In order to install it you need first to install vim-plag - it is an extention manager for vim. Then in a file ~/.vimrc you should add this line: "Plug 'fmoralesc/vim-tutor-mode'" to finalize plugin installation call: :PlugInstall

If the plug in installed successfully, you can start it with command :Tutor.

The tutorial covers the basic functionality of the editor, including working with files, searching and replacing, editing, running operating system commands, and more.

The passage took me several days in small sessions of about an hour a day. Passed on the phone in Termux, on the computer it should be even faster.


Оставить комментарий




Installed an interesting aplication that makes me to move more. The idea of the application is to transform the steps you do daily into cryptocurrency tokens. These tokens theoretically you can sell in the market and earn some money. Of cource it is practically not acchievable. Each 1000 steps is being converted into one GEM. In the application you have a beast called CAThlethe. You should walk in order to make your CAThlete stronger. The number of daily steps theoretically allows you to increase your chances to win a fight with other CAThlets. 

Of cource an app is not perfect. It is not clear to me how I can use GEMs I have earned, how to transform theme to anything. But the idea is interesting and at least it motivates me to move more.


Оставить комментарий


How to disable Wallpaper Carousel in Xiaomy Mi

Recently something was updated automatically in the phone firmware, after which funny pictures with funny facts began to appear on the lock screen instead of the boring image that I put there by purpose. Maybe for someone it's ok, but it wildly pissed me off. One time I already turned off this pornography, but I completely forgot how. Separately, it infuriates that, until you find how to finally turn it off, you will ruin more than one setting and then look for how to turn it back on.

In the end, I found how to turn it off properly - go to Settings, select "Always On Display & Lock Screen", find the "Wallpaper Carousel" section, go there and cut it to hell.

It’s not easy to cut it down just like that right away - at first the application will offer to use your own photos instead of turning off the functionality completely - don’t get be caught in this trap, refuse. Then the application will ask you to give a feedback, what exactly did not you like - we politely answer, or we send it impolitely.

After the above, it turns out that the carousel is still in place! No need to despair! We go to the wallpaper settings and once again set the background image on the phone screen.

Now everything works as it should - the phone has again become quite boring and has turned from a time waster into a smart assistant in life.


Оставить комментарий



The team which is developing the TON cryptocurrency offered everyone to make a network status page as a contest. I took part in this contest and got tons of fun.

Since the topic is very interesting to me, I thought, why not? At the very least, there will be motivation to figure out how it all works and what it consists of.

I did not have time to do everything planned, but more or less a working prototype turned out. Here you can check out the demo of the project.

The data is collected on a home server where a lightweight client of the TON network is assembled, which requests data about the system and puts it in the InfluxDB database. The server part written in nodejs reads the prepared data and shows the data in the browser by the client to react.

The code is posted on github.


Оставить комментарий


Fixing TWS Bluetooth headset

The kids's TWS Bluetooth earbuds became poorly magnetized to the charging station, which is why they began to charge poorly. We bought new headphones instead, but I was wondering what happened to the old ones?

Disassembling the charging case gave nothing, visually everything was in place - there was a suspicion that something was wrong with the installation of the magnets in the charging case, but everything turned out to be in place. There was nothing to do but to assemble everything back. I tried to press the headphones themselves more tightly into the slot, gluing a piece of packaging bubble polyethylene to the opposite side of the case with double-sided tape, but I was not happy with such a "repair".

Then the idea came to my mind to check the location of the magnetic poles - possibly one of the magnets was glued in with the back side, and instead of attracting - pushed the earpiece away? I found a small magnet from other broken headphones and began to magnetize it to the case and to the plugs. In the case, everything was in place - both slots perfectly magnetized the test magnet, and on the same side. But the plugs showed an anomaly - being magnetized to one of the headphones, the magnet refused to stop in one place - instead, it strove to move to the side.

Disassembling the earphone immediately revealed that the magnet had peeled off from its rightful place where it should be glued and was magnetized to the magnet of the earphone.

In fact, in both headphones, the magnets turned out to be peeled off, only in one of them the magnet also slipped onto its side, which is why if one of the headphones was still at least charged, then the other was not charged at all. Apparently, this is the result of earplugs falling out in combination with poor quality glue.

I glued the magnet in place with cyanoacrylate and put the earphone back together - now it magnetizes and charges perfectly. Now my kid asks for the headphones back - the new ones turned out to be worse than the old ones!



Оставить комментарий


Quick setup Raspberry Pi Zero W

From time to time I have a need quickly setup Raspbian on Raspberry Pi Zero W.

Here is the quick step by step guide:

In the local computer download an image and upload it to sd card: (replace /dev/sdX, username, wlanname, wlanpassword, with your own values)

# download image
wget https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-05-28/2021-05-07-raspios-buster-armhf-lite.zip

# extract
unzup 2021-05-07-raspios-buster-armhf-lite.zip

# copy to device
sudo dd if=2021-05-07-raspios-buster-armhf-lite.img of=/dev/sdX bs=2M conv=fsync

# activate ssh
touch /media/username/boot/ssh

# update the wifi access credentials
cat > /media/username/rootfs/etc/wpa_supplicant/wpa_supplicant.conf << EOF
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

# setup static IP address
cat >> /media/username/rootfs/etc/dhcpcd.conf << EOF
interface wlan0
static ip_address=
static routers=
static domain_name_servers=

# prevent warning locale not found
cat >> /media/username/rootfs/etc/environment << EOF

Put sd card to device and turn it on.

If everzthing went successful then you will see the new device in the network.

Connect to device by ssh: pi@, the default password: "raspberry".

# expand filesystem on SD card
sudo raspi-config --expand-rootfs

# reboot
sudo reboot now

# after reboot login again and
# upgrade the system
sudo apt-get update
sudo apt-get upgrade -y        

After all steps above you will have a device with Linux to play with.

It is very important to use good card reader. I wasted lots of time before I discovered that my internal card reader does not write sd card well. It reads ok, but when I try to write or format sd cards on it the previously written information appears unchanged. After swithing to exteranal card reader all problems were gone.

The more information you can find on the original Raspberry Pi OS documentation.


Оставить комментарий


Transferring email messages between imap mailboxes

howto, tools

After moving to a new server, the question arose of how to transfer email message from the old server to the new one. I could not say that there was a lot of useful information, but just in case it never hurts to have copies of archival documents from the past.

So I began to research how to do it. Moving the email folder with mail on the server disk turned out to be not the best option - it did not want to copy all the files, but it was not possible to copy the folders.

I did not find a single useful linux utility, but I came across several paid ones that did not inspire confidence.

As a result, the problem was solved in the most banal way - since both servers were still functioning for me - I simply selected the folders in Thunderbird that needed to be transferred to the new server and dragged them to the new account! It's that simple!

Everything went well! This was the last step I needed to complete the move process, now the old server can be safely paid off without paying twice as much for hosting!

By the way, I highly recommend linode - I have been using this hosting provider for many years and I like everything with them! For five dollars a month, you will get a full-fledged virtual dedicated server for your projects, with 1 GB of RAM and 32 GB of disk space, it is enough for a small pet project.


Оставить комментарий


Setup of the new server

Found a useful article on how to set up your own mail server. This is important to me - without such hints, setting up the server takes about twenty-four hours and with the instructions this can be completed in just a day. If not for some minor mistakes in the article, it could have been done even faster. After some time, the antivirus that I have installed according this article was uninstalled - this thing eats away almost a quarter of the RAM, which is slightly critical to me.

On the same site you can find of how to configure Apache, PHP and MySQL. I can not say that this information is very necessary - you can install them without such instruction, but with instruction it is easier.

The OpenVPN can be configured here according to this instruction. In my opinion, OpenVPN should be configured by every self-respecting specialist.

What useful links and instructions do you have?


Оставить комментарий


New device to play with Asterisk

I have created a new device for experimenting with Asterisk. For some reason, the firmware made by the author of raspberry-asterisk hangs at random times. Sometimes it works for several days, sometimes it freezes after a few minutes. At first, I sinned on the raspberry itself, then on the SD card, then on the power supply. However, the device freezes stably.

Yes, I know that it is impossible to assemble a stable working device with an asterisk on a ten dollar board that will fully fulfill the functions of an "adult" ATC. I know that for something more serious you need more serious equipment. But I still want to know how to do it!

Having adjusted the memory and temperature monitor of the device, I noticed that the device does not consume a lot of memory and does not go into CPU throttling, but, nevertheless, the processor temperature is slightly higher than on a similar device without an asterisk.

I decided that it was all about the firmware itself, because even the author of rasbnerry-asterisk no longer supports Raspberry Pi Zero in new images.

Therefore, I decided to install Asterisk on Debian from scratch, fortunately, the are already many instructions in the net how to do it. In order to do it I ordered a new board and a USB hub. The board was powered from the same hub which is goos - not all devices allow that but this one worked as expected. The USB stick was also successfully discovered by the device as well.

Compilation of the asterisk took several hours, but everything worked as it should and in the end I got a completely working system.

So far the device works stably - let's see how long it will work in this incarnation.

P.S. Works stable not reboots, no freezing, so the problem was in original firmware. Looks very promising.


Оставить комментарий


Dummy Credit Card Numbers

Sometimes when when you develop, for example, an online shop you need the credit card number that passes the credit card validation test.

There are many sites that could give you a bunch of random cards e.g. this one.

But much simpler to remember couple of them so you do not need to copy paste anything fromt third party resources.

There are two numbers that can be used in this situations which can be easily remembered:

4111 1111 1111 1111


4242 4242 4242 4242 

I did know about the first one but I did not know about the second one which is also quite easy to remember.


Оставить комментарий