Posts
-
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]
•
-
Welcome Language Server Protocol
I’ve put a lot of effort to get YouCompleteMe and rtags configured and running: deployed compactly, updated automatically, adapted to vim, managed. And they served well until I found a better solution: language server protocol (LSP). It turns out to be as robust as simple to configure nowadays.
[read more]
•
-
Arch Linux configuration management
It turns out that tracking tweaks to the system, Arch Linux in my case, is a common concern. And it has already been solved by aconfmgr. This is a shell script, which calculates what has changed in the system: installed or removed packages; added, removed or changed files.
[read more]
•
-
Advent of code 2017
I did it again, completed advent of code 2017. My solutions are available on github.
[read more]
•
-
A pitfall with std::partial_sum()
Consider a situation: you get a buffer with some network packets and their sizes:
[read more]void Packetize(std::vector<uint8_t> &buffer, std::vector<uint16_t> &sizes)
. Now to send the packets out, you need to calculate packet offsets. What could be easier with STL:
•
-
Building packages for Raspberry Pi using qemu-user
When I first packaged Kerberos.io for Arch Linux ARM, I merely adapted binaries built for Raspbian (see the kerberosio-alarm). It worked for a while until I upgraded to the version 2.4.0 as the machinery service started to crash. Apparently, due to lost ABI compatibility. So it’s time to build the application from the source code. Building on Raspberry PI is impractical due to limited resources, and setting up cross-compilation tools requires a great deal of accuracy. Luckily, I encountered a quick workaround: use qemu-user to allow running native compiler on an x86_64 machine (see the original post).
[read more]
•
-
Algorithms, Part II on Coursera
Took the course Algorithms, Part II on Coursera (remember Part I), spent 4 weeks on video lectures, programming tasks in Java (see github). Again, enjoyed the experience a lot, recommend to everybody!
•
-
KVM for desktop virtualization retried
A year ago I concluded that VirtualBox would be the best choice for desktop virtualization. I ran Windows 7 back then and wasn’t able to get MSYS2 terminal emulator displayed lively. And now I was to install Windows 10, so took a chance to reevaluate KVM in pursuit for better performance. This time I started with libvirt and virt-manager.
[read more]
•
subscribe via RSS