Posts

  • Racing on the map

    More than a month into the full-scale Russian invasion, and hard to imagine how life changed dramatically in one night. It’s hard to believe there was a luxury to do recreational orienteering in the forests. That’s where an idea came to me: why not to record some tracks on mobile phones, take a photo of the map and align the tracks on the map. That’d be a race to explore. Moreover, it turned out that the club shares the maps in good resolution, so no need to take photographs. But the map should still be aligned with the GPS coordinates. That’s how the project gpx-race emerged.

    [read more]
  • Dynamic Anki cards with JavaScript

    After using Anki for arithmetic tables for a while, it’s become evident that it would be beneficial to teach my kids to recognize different expressions of the sum and difference. Specifically, there are four distinct forms: x + y, add x to y, x increase by y, sum of x and y. Why wouldn’t we employ JavaScript in the card templates to pick a random wording as the question?

    [read more]
  • Dashcam on Raspberry Pi Zero W

    There is how I built my own dashcam DVR. Consider the following input requirements:

    [read more]
  • First Anki addon: duplicate cards into another deck

    To help my daughter learning English words, I decided to give Anki a try a couple of years ago. It greatly reduces effort and increases efficiency by tracking when to repeat each individual word in either direction: English to/from Ukrainian. But when a younger daughter started studying English, I realized that it’d be best to just copy cards from the first deck to be able to track the review history separately. Unfortunately, I couldn’t find a ready solution for what seemed to be a very straight forward task: create a new card, copy over individual field values and toss it to the other deck. So I created a new addon to automate those manual actions.

    [read more]
  • Preparing to abandon Google Photos

    Starting in July 2021, Google Photos will no longer offer unlimited storage for photos and videos. I was lucky enough to never rely on it completely and managed my media files collection in GNOME Shotwell. Why not to take it a bit further and allow network access from portable devices? It could provide media availability and almost completely substitute Google Photos.

    [read more]
  • Harnessing Raspberry Pi 4 Model B with 8GB RAM

    I’ve been using LGE webOS smart TV since 2014. It has been working seemingly well. Except for some nuisances like inability to play Classic FM. Raspberry Pi 4 with 8 GB RAM seems a tempting choice for a smart TV set-top box. But here is an issue: hardware accelerated video decoding only works in a 32-bit OS that can only operate 4GB RAM at most. It’s more than just trading precious RAM for CPU cycles, videos don’t play smoothly at all without hardware decoding.

    [read more]
  • Checklist for configuration of fresh Arch Linux

    This is a checklist of what to do on a freshly installed Arch Linux. It’s going to be refined constantly.

    [read more]
  • Advent of code 2018

    Yet another year has passed. I’ve again completed the Advent of Code challenge just like the previous years 2016 and 2017.

    [read more]
  • 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]

subscribe via RSS