Posts
-
Turning a program into a multistream application
Here is a deal: you have a fine-tuned program that is precisely handling one stream. It uses a dedicated CPU core and busy waiting to achieve sub-millisecond accuracy. Then you realize that the program just spins the core most of the time waiting until those tiny bits of work to be executed. Suboptimal, right? So you decide to enhance the application to handle multiple such streams by the same core: let it wait less, but executes more useful work. Here is how I did this and the lessons learnt.
[read more]
•
-
How to start FlighGear Flight Simulator in Windows
Just to keep in mind, there are a couple of caveats: scenery, keyboard and “Bad conversion”.
[read more]
•
-
The first anniversary of nvim-gdb
The first commit to nvim-gdb happened the 16th of August, 2017. So I may safely assume that it’s the first anniversary. The project has grown beyond my expectations really. So let’s review most notable milestones in its development.
[read more]
•
-
Running gnome-control-center in i3 session
Here is the issue: I’m running i3 on the desktop, but still need to have GNOME Evolution to work with different email accounts. Evolution is configured in GNOME Online Accounts, but unfortunately GNOME control center wouldn’t start properly in a bare i3 session. The solution is easy:
env XDG_CURRENT_DESKTOP=GNOME gnome-control-center
. It’s also worth creating an alias for that command.
•
-
Using systemd-nspawn in Arch Linux ARM for Kerberos.io
Since I started using kerberos.io, I had to decide how to install it on my Raspberry Pi 3 running Arch Linux ARM. First I tried to repackage the official .deb for pacman: PKGCONFIG. It worked out for a while until another Arch update. Then I tried to build the machinery by myself. It turned out not to be easy, ending up with lot of functionality disabled or not reliable. Finally, I’ve come to yet another solution: running the genuine raspbian contained systemd-nspawn to enable official builds following the guide.
[read more]
•
-
Mesh VPN tinc
Here is the technology to easily configure virtual private network for direct P2P access. Consider you need to access a server that’s located behind a firewall. Consider direct communication channel is preferable to forwarding via a central point. Consider a cross-platform support is needed. The answer to all this requirements is tinc VPN.
[read more]
•
-
Rebuilding Arch linux kernel
It turned out that every laptop I owned happened to need custom kernel eventually. For instance, Acer C720 had a less popular light sensor, HP needed a specific version of WiFi driver etc. And this time, Xiaomi Mi Notebook Air, doesn’t work well with the kernels younger than 4.10, the touchpad becomes unbearable jerky. Luckily there is an AUR package with LTS kernel linux-lts49. Unfortunately, it can’t be built in
[read more]tmpfs
because of limited size. But it turns out that building minimal kernels is very easy in Arch linux indeed.
•
-
Bit streams in C++
Reading and writing specific bits is a common task. This article reviews encountered methods and introduces C++ metaprogramming-style one. There are a few conventional techniques to do that:
[read more]
•
-
Automatic testing of nvim-gdb
Started doing automatic testing of nvim-gdb and configured continuous integration with Travis CI. Unlike the previous attempt with dotfiles, it’s more convenient to use neovim python client.
[read more]
•
-
LLDB in nvim-gdb
The plugin nvim-gdb (see introduction) now supports both GDB and LLDB.
[read more]
•
subscribe via RSS