Skip to main content



Defeating ErP2/ERPII, which defeats HDMI-CEC on soundbars
·1170 words·6 mins
HDMI hardware arduino

ErP Ecodesign Directive is EU’s reasonable attempt to save power consumed by various devices, with the current iteration known in industry as ErP2 or ERPII. However, with soundbars and other devices using HDMI-CEC (bearing various names on equipment produced by different manufacturers like SimpLink, Bravia Sync, Anynet or Aquos Link) it defats neat HDMI extension. In this post I’ll explain how EU regulations make the experience of watching TV with longer pauses crappy and how to defeat it.

Flipper Zero interface board - part 1
·764 words·4 mins
quick flipper-zero hardware i2c

Today I used prototype boards I purchased with my Flipper Zero pre-order for the first time. I think I didn’t use them before (and I have Flipper for over 6 months) because the single purpose for them that was repeated over and over again was to expand a device with Wi-Fi or general-purpose 2.4GHz radio, which never appealed to me. However, recently, I found a category of FlipperOS applications that’s quite obvious - I2C interfaces, for example for light or temperature sensors. This quickly rendered my previous attempts at creating such a self-contained portable I2C client from scratch obsolete and demanded the soldering iron to be turned on.

macOS Application Firewall and Canonical Multipass debugging
·2192 words·11 mins
debugging networking macOS firewall multipass

Canonical’s Multipass is a wonderful tool for bootstrapping Ubuntu VMs on any platform, including macOS on Apple Silicon (M1/arm64). It works well, as everything, until networking breaks. The issue, debugging, and resolution story from this long afternoon reveals few tricks about both Multipass and Application Firewall on macOS, so I’ll describe it in detail.

This tale is yet another confirmation of the fact that majority of macOS problems are coming from corporate security tools - I didn’t have such issues even at Hackintosh era. It all started on a corporate MacBook when I had the bunch of Multipass-created VMs that suddenly stopped working - they were starting up, QEMU process was running, but Multipass couldn’t check their status (it uses SSH for that). Moreover, creation of new ones was also breaking in the worst moment - QEMU process started and Multipass waited for cloud-init loaded from virtual CD-ROM to get networking and SSH. And then it just timed out.


Debugging tale of HTTP/1.0 healthcheck
·1705 words·9 mins
debugging http proxy load ballancer networking netcat

Time for a short tale about an interesting debugging challenge I had recently. Programming issue itself was not the hardest or most involving of all time, probably not even of this year for me, but the mixture of circumstances and debugging techniques used makes it worth telling.

Obviously, many details will be skipped, but I can mention some common components used. But keep in mind that’s a real-world scenario, so the initial environment could definitely be better.

Hello, PHP-free world
·514 words·3 mins
All my websites (, and that replaces are PHP-free. They are based on Hugo and hosted on S3 with only dynamic content being rewrite done by CloudFlare worker scripts.


Hacking into TP-Link Archer C6 – shell access without physical disassembly
·2383 words·12 mins
hacking linux linux embedded lua mips router security squashfs ssh

This story begins with simple need - ability to programmatically obtain all devices connected to my Wi-Fi router - TP-Link Archer C6. None of the existing libraries support this version of Web UI. The issue with the simplest solution (just flashing OpenWRT) - I rely on proprietary OneMesh technology, which enables better home mesh-networking. So, some hacking needed to be done.