• Fix PDF opened in GIMP by default

    When Arch linux is used without a specific desktop environment like GNOME or KDE, opening a file by xdg-open works incorrectly. Particularly, GIMP is launched for PDF instead of a dedicated viewer. There are some details on the Arch wiki page xdg-utils. To fix the issue, it’s necessary to install another application association handler.

    [read more]
  • Nvim-gdb ported into Moonscript

    Nvim-gdb queries breakpoints from the debugger occasionally using a side channel. For that, a unix domain socket has to be created, bound and connected to the debugger’s side channel. So Python was used to do that. But I realized recently that Neovim has a built-in interpreter of full-featured Lua. Why not to give it a try? It turned out that the effort wasn’t in vain and resulted in the complete overhaul of the plugin.

    [read more]
  • How to fix the WiFi hotspot in Android in the Kyivstar network

    I’ve discovered that mobile hotspot stopped working right after Kyivstar introduced 4G. Android does offer a WiFi access point, the laptop does connect to it, but no external site can be accessed from the laptop. It turned out that there was the bug in the instructions. When a new APN is created, the type should be default,dun. The reference: Quora.

  • 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

    Since I started using, 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 tmpfs because of limited size. But it turns out that building minimal kernels is very easy in Arch linux indeed.

    [read more]

subscribe via RSS