Posts

  • pywiki: a Python web app without frameworks

    A couple of weeks ago I went through "Writing Web Applications in Go" and my mind was blown away: I used to think that you need a web framework (at least a very minimal one like Flask) to make web applications (possibly because of my Python background). So I set out to do something similar in Python3 to figure out why its standard library is not enough …
  • My Elisp.js is v0.1.0 now!

    Recently my new hobby project, elisp.js, reached version 0.1.0! It is a basic Elisp environment that runs of top of Javascript and runs code through transpiling it into Javascript dynamically and evaluating the intermediate JS code. I consider the core of the implementation reasonably self-sufficient by now …
  • How I stopped worrying and learned how to fix QML applets

    I am used to the Mac OS dictionary widget. When I moved to KDE, I was glad to add a dictionary widget to the system tray. One small problem needed a fix: the search field did not focus automatically and I had to use touchpad to click it, which is quite distracting. Let's fix this. …
  • Network programming in Bash

    Did you know that bash can connect to TCP/UDP servers on its own, without using `nc`/`telnet`? …
  • A small annoyance of Linux modifier keys

    ...I noticed a weird thing: MacOS never gets multi-modifier shortcuts (Ctrl-Shift, Alt-Cmd, etc) wrong: I never get Ctrl-D/Shift-D instead of Ctrl-Shift-D, which happens pretty often on my new Linux system.

  • Why does Telegram use camera while in background?

    It was a nice spring evening when this happened. At 19:41, I came home, pulled my phone out of my pocket and saw a notification from Permission Manager about Telegram using camera while in background.

    For some surprising and possibly alarming reason, the official Telegram app for Android needed access to camera while in the background! Was it Telegram itself watching me for no reason, was it a bug in the app, was it a bug in the Android permission monitoring?

  • More C++ fun, explained

    In a recent post, rachelbythebay showed this example of a very surprising C++ behavior (graceously leaving the explanation as an exercise to the reader, i.e me) …
  • Validating a self-hosted web server

    I have some simple self-hosted services running on a small Linode VPS (mostly as a useful hobby). If you are in a similar boat (one-person hobby sysadmin), I would like to share some useful web tools I have discovered during my dabbling with my web server setup …
  • Idris: хай код пишеться сам

    Idris — це просто мрія ледачого програміста, із idris-vim код пишеться буквально сам собою. …
  • Coq: when general is simpler

    Today I learned a thing about generalization: sometimes it is the only way to solve a problem even though it may be quite non-obvious. At the moment I am reading “Software Foundations” by B. Pierce …
  • SMT solvers for fun and profit

    Дивлюсь початок курсу із логіки на Курсері, і там давали квіз на перевірку формул, зокрема такої: ((¬r ⇒ ¬p ∧ ¬q) ∨ s) ⇔ (p ∨ q ⇒ r ∨ s) …
  • Thoughts on Brainfuck decompilation

    Yesterday I wrote a primitive Brainfuck decompiler. At the moment the only useful thing it does is that …