• DIGImend is dead, long live DIGImend!

    So, the old DIGImend is dead. I’m no longer going to be doing much volunteer work on it, and although there were several people approaching me with the interest of taking over, nobody has really stepped up yet.

    I thought about this situation for a while, feeling sad about all the unused skills I acquired through these years working on the project, and pondered my motivation. I couldn’t arrive at a solution. Then I got contacted by Neoblast Inc. and XP-Pen, saying they were alarmed by DIGImend shutting down and offering their financial support. Neoblast Inc. is a Japanese company building affordable creativity-oriented computers for moms and school PTAs, which run Linux and employ affordable graphics tablets. XP-Pen is one of graphics tablet makers, which Neoblast Inc. chose as a partner.

  • A gooseneck fan from an IKEA Jansjö

    Jansjö fan

    Everyone knows the IKEA Jansjö lamp - it’s small, light, and flexible, both figuratively and literally. Just the right spot lamp for all kinds of smaller work - clip it to your table, shelf, cabinet, whatever, then bend and point as necessary. Its low price and widespread availability has lent it to a plethora of hacks: a magnet base hack, another one, and another, and still another, a lighted sheet music stand, a globe night light, a flamingo-shaped lamp, and a ton of others.

  • Wrapping up DIGImend work

    In short: I’m wrapping up my involvement in DIGImend project within two months.

  • Making sense of libtevent

    I’m working on integrating tlog with SSSD and am finding a specific part of SSSD hard to understand. Among other things, it uses the tevent library, made by Samba developers to solve particularly hairy problems of asynchronous programming. While its file descriptor, signal, and timer event handling is relatively straightforward, I found its “requests” feature confusing and hard to reason about.

  • Braun Cruzer3 battery replacement

    About seven years ago I bought a Braun Cruzer3 shaver and now, finally, its rechargeable battery started giving up. However, I still had fresh grille and razors and it was a shame to replace an otherwise perfectly-functioning device. So I decided to try to replace the batteries. Here are the steps I took to do it. There are probably not many people in the world still using these, but perhaps it will help with newer models as well.

  • Open-Source Session Recording

    Many companies need to have their systems used or even managed by people they don’t entirely trust: contractors, outsourced support, peripheral IT staff, etc. It helps to know what these users or operators were doing on your systems, or even what they’re doing right now, so you can not only prevent repeated issues, but also stop an incident about to happen.

  • Pace DIT7100/14 STB teardown

    Elisa, a Finnish telecom company is phasing out one of its older STBs (set-top boxes) and they are already showing up in local reuse centers (Kierrätyskeskus, an analogue of US and Canada’s Goodwill Stores) and flea markets. The particular model I happened to have is Pace DIT7100/14. These seem to be relatively powerful machines, on par with the popular Raspberry Pi Model B, but cheaper, selling at about 15 EUR, and I suspect can be acquired for less. So, they can theoretically be put to a few good uses beside their primary purpose.

    Top Bottom Rear

  • Getting interactive shell in the deepest bowels of a system

    Sometimes you might need to debug a failure somewhere in the deepest bowels of a system. Particularly a complicated shell script or a build system, where execution is very much affected by the state of and location in the filesystem and environment variables. In these cases getting an interactive shell in the exact problematic environment might be very useful.

  • Liquid: truncate without dots

    While building the new DIGImend website I needed a way to truncate strings in Liquid, which is the template language Jekyll uses. Specifically, I needed to compare parts of page URLs when iterating over sub-pages of a page to generate menus and page lists.

subscribe via RSS