-
Which compression method is best for API?
14 декабря, 2022When I worked at work I did not care about such niceties. API returns too many data? Let's turn gzip on in NGINX! Given that we have no other options for HTTP so far, nobody cares. But what if they did? ещё... -
Declassed Plausible Deniability Toolkit
3 декабря, 2022A friend of mine told me recently: "What the fuck does your Denial Plausibility mean?" "Obsfucator!" I argued. "You're one of last standing old farts who cracked win95. Nobody understands you today. Sit and document your crap!" So, thanks to his criticism here it is: Declassed Plausible Deniability Toolkit. This is yet another story how to make your computer looking an innocent toy, used only to play tux racer and watch cats on youtube. Forensics would find the data with abnormally high entropy in unused sectors, a few suspicious tweaks in your system, but none of explicit evidences of encryption. This may help to avoid rubber-hose cryptanalysis, highly possible if you used LUKS, Tomb, Shufflecake, or simply encrypted your files. ещё... -
torcontrol and Tor circuits managers
29 ноября, 2022Stem did not encourage me to read specifications. I fucked error handling up and now proudly introduce my own minimalistic Tor controller. ещё... -
My Long Way To PostgreSQL
28 ноября, 2022Database hopping around my shitproject based on NanoPI-3: SQLite ➝ MySQL ➝ MongoDB ➝ PostgreSQL. Just rants without too many tech details. ещё... -
Работа над ошибками
22 ноября, 2022Прикрутил к сайту aspell и proselint. Выловил кучу орфографических ошибок и всего три стилистических. И то не ошибок, а предупреждений. Хренасе я шарю в американском языке, охуеть просто! ещё... -
Setting up a mail server with OpenSMTPD and Dovecot without Rspamd
2 августа, 2022This blog post summarizes my experience in installing OpenSMTPD and Dovecot in a LXC container on a tiny OrangePI Nano 3 SBC running Armbian. I no longer use Rspamd because it seems to be broken on Linux and I had to find a replacement for DKIM signing. ещё... -
Using LXC
1 августа, 2022While the mainstream tendency was migrating to clouds, at my past work we continued using bare metal servers. So I dug into virtualization quite lazily, occasionally using VirtualBox and giving Qubes OS a try (yuck!). However, during the recent overhaul of my home network I finally moved to Linux containers. This blog post summarizes my experience, focusing on Armbian. ещё... -
Orange Pi 3: перекидываем операционку на eMMC
28 июля, 2022На моём экземпляре Orange Pi 3 распаяна eMMC размером 8 гигов, поэтому microSD не нужна. Ну, то есть нужна, чтобы загрузиться, а потом систему можно установить на встроенную eMMC. Armbian имеет незатейливый инсталлятор, но я люблю пробежаться по граблям самостоятельно. ещё... -
From Sid down to Bullseye: installing Armbian on NanoPi M4 v2
25 июля, 2022Well, as on July 2022 Armbian Bullseye release did not boot on my NanoPi M4v2. Shit happens. Reflashed microSD with Sid and it seems to work well. After installation I downgraded the system to Bullseye. This note describes the process in details with all tweaks to the base system, logging, ssh server, LED control, and desktop environment with VNC server. As of now this is a summary of my best practices. ещё... -
ethwifi: throw away networking tools and keep simple things simple
22 июля, 2022Not mentioning systemd, which I'm going to get rid of, I suddenly realized that all those network managers, netplan.io, and even old good ifupdown with ifplugd are simply obstacles to implement same old thing: automatic switching from wifi to ethernet when network cable is plugged in and vice versa. I purged all those packages. A simple python script looks much clearer and does the job without any quirks. ещё... -
Asoke: a simple dispatcher for ASGI apps using Hypercorn and Starlette
6 июля, 2022For years I loved CherryPy dispatching, the approach originating from Plone, as I remember. However, I dislike its complexity. I dislike Flask and Routes, as well as all other frameworks. I never understood REST, from its very beginning. Especially for APIs. I had to follow this approach at work, but I dislike it. What could be simpler than a mapping {urlpath: handler}? So an app would look like this: ещё... -
A note on multiple inheritance in Python
2 июля, 2022Once I was asked at an interview (which I seemed to fail because they did not contact me anymore): what's special in multiple inheritance in Python? Well, such a question is somewhat weird. What special? Special implies among others, or in comparison with others. Which others? C++? I barely remember the details, I need to open the ABC book to recall. So, nothing special. That's my answer. Inheritance as inheritance. Multiple as multiple. The only thing we have to worry about is MRO, method resolution order, which also applies to attributes ещё... -
Clabate: minimalistic class-based templates for Python
29 июня, 2022Clabate does not offer yet another mini-language for templates. It is based on class hierarchy and PEP 3101 string formatting. Everything is declared in Python, natively. In the very basic layer Clabate implements bare textual templates which can be used, for example, to generate configuration files. And that basic layer is extended by MarkupTemplate, which escapes everything by default, trying to minimize chances to overlook unescaped substitutions. ещё... -
A way to hide your secrets and denial plausibility
23 июня, 2022How to make your computer looking an innocent toy, used only to play tux racer and watch cats on facebook. Forensics would find the data with abnormally high entropy in unused sectors, a few suspicious tweaks in your system, but none of explicit evidences of encryption. This may help to avoid rubber-hose cryptanalysis, highly possible if you used LUKS, Tomb, or simply encrypted your files. ещё... -
Юзаем systemd без systemd-journald
19 июня, 2022Попытка избавиться от systemd-journald в Debian, в LXC контейнере. Вполне успешная, но лучше просто выключить бинарный лог в файле конфигурации /etc/systemd/journald.conf и поискать дистрибутив получше. ещё... -
Клавиатура — наше всё
14 января, 2022Для нас, программистов, клавиатура — это наше всё. Вот новый экземпляр картины 101+1. Следующей будет тайская версия. ещё... -
Дети влёгкую уделывают Пикассо.
10 января, 2022Дети влёгкую уделывают Пикассо. Я всего-лишь добавил чуточку своего скромного опыта к рисунку сына. ещё... -
Раритетная гирлянда.
28 декабря, 2021Я не мог оставить эту гирлянду на чердаке старого дома, что мы продали. Она из далёких 80-х, из моего детства. Выглядит охренительно. Я дам ей вторую жизнь. ещё... -
Вроде ничё не задымилось
26 декабря, 2021Наконец-то прикрутил всю электронику и воткнул в розетку. ещё... -
JY01 и жёсткий диск
21 декабря, 2021Вобщем, JY01 шпиндель жёсткого диска крутить может, только не может его раскрутить. ещё... -
Самогоночка
18 декабря, 2021И пока сохнут краски и грунтовки, я готовлюсь встречать новый 2022 год. ещё... -
Под прессом
16 декабря, 2021Новая панель для нового шыдевра. ещё... -
Ещё один экземпляр 101+1. Первый слой.
14 декабря, 2021Начал мазюкать копию 101+1. Первый слой занял два дня. ещё... -
Под прессом
12 декабря, 2021Последнее время я мазюкаю в основном на ДВП. Не из-за каких-то особых предпочтений, а потому что у меня много обрезков, и сделать панель не так уж и сложно. Но несмотря на простоту изготовления, есть ещё несколько простых моментов для достижения наилучшего результата. В этм посте я поделюсь своим нехитрым опытом с тобой, мой одинокий читатель. ещё... -
ไม้กวาด
11 декабря, 2021Один из источников вдохновения был приобретён по дороге где-то между Краби и Пхукетом в 2016 году. Ржали пассажиры и персонал аэропортов HKT и OVB, в салон с веником не пускали, в чемодан не влазил, но всё-таки мы привезли его домой в целости и сохранности. ещё... -
Внезапно... подписи DKIM в Rspamd для поддоменов не генерируются.
8 декабря, 2021Сначала я подумал это какая-то проблема конфигурации и Rspamd берёт не тот домен и не те ключи потому что поле DKIM-Signature содержит базовый домен, не поддомен. Я попробовал поменять селектор. Не помогло. А когда я совсем убрал базовый домен из конфигурации, оставив только поддомен, rspamd вообще перестал подписывать сообщения. ещё... -
Релиз Clabate 0.3.0!
3 декабря, 2021Clabate - это минималистичный шаблонизатор для питона. Этот релиз 0.3.0 немного преждевременный, но мне он был нужен в репозитории pypi для обновления своих сайтов. Так что, теперь он в продакшене, включая этот, declassed.art, сайт. Ещё много чего надо доделать: добавить кое-какие модули в extras, причесать документацию, добавить примеры и тесты. ещё... -
Идея для картины
2 декабря, 2021Пару дней назад обнаружил вот такую фигурку на холодильнике. Как выяснилось, это сын зафигачил. Я подумал, что это неплохая идея, но ей бы мужика. Тем более, что у меня есть из чего его сделать. ещё... -
Релиз Clabate 0.2.0
19 сентября, 2021Clabate — это основанный на питоновских классах шаблонизатор. Реализация занимает менее 200 чистых строк кода. Он позволяет определять шаблоны непосредственно в питоновском коде, используя стандартное форматирование строк и всю мощь механизма наследования. ещё... -
Традиционное искусство и айти: картина Веб-технологии
1 сентября, 2021Веб-технологии, моя неоконченная картина 61х178 см, рассуждалки как рисовать больше, а говнокодить — меньше, как связать традиционное искусство с NFT, планы на будушее и история создания. ещё... -
Прощай, AWS
5 августа, 2021Наконец я перевёл пару оставшихся доменов, у которых заканчивался срок, к другому регистратору. Теперь я не пользуюсь AWS совсем. Мне он перестал нравиться где-то год назад по нескольким причинам, но последней каплей стало отсутствие поддержки DNSSEC в Route53 hosted zones, в сервисе, где они брали $0.5 за каждую зону! Я не знаю никакого другого регистратора, кто брал бы деньги за поддержку зон для зарегистрированных доменов. ещё... -
Какое же говно этот фэйсбук
3 августа, 2021Каждый раз когда я пытаюсь им пользоваться, я удивляюсь: в натуре все эти люди закончили Гарвард? Не сельхозтехникум как я? Они правда набирают лучших из лучших? Бля. Этот мир катится в говно. Ну кто-то же должен поднять упавшее знамя. Я? Ну я стараюсь, как могу. ещё... -
Ява и кое-какие планы
2 августа, 2021Последний раз я что-либо писал на Яве больше десяти лет назад. Я даже пытался устроится на работу, на эту Яву, но не прошёл собеседование. Это не значит, что я не работал с ней все эти годы. Работал, но по-своему: я использовал еёйные библиотеки из питона. Но недавно мне посчастливилось снова взглянуть на код на этой Яве и я понял, насколько несчастной была бы моя жизнь, свяжи я её с этим языком... ещё... -
Маленький пример как концепция влияет на реализацию
1 августа, 2021Этот пост о том, как правильные концепции приводят к элегантной реализации и как "де-факто" стандарты приводят к раздутому коду на примере разбора аргументов командной строки. ещё... -
Красное и Белое
29 июля, 2021Дочь привезла пару бутылочек из Турции. Когда же я пойду в отпуск — понятия не имею. ещё... -
Как установить свой собственный почтовый сервер
27 июля, 2021В этом посте я расскажу о своём опыте установки собственного почтового сервера основанного на OpenSMTPD и Dovecot со всеми этими DKIM, DMARC, SPF и Let's Encrypt. ещё... -
Mercurial
26 июля, 2021Наконец-то дошли руки интегрировать систему управления исходным кодом Mercurial с моим сайтом и открыть немножко кода. Для бесшовной интеграции я написал шаблоны Clabate, которые генерируют шаблоны для hgweb. Опыт получился интересным. ещё... -
Тупой и наивный
23 июля, 2021Бля, они там все экстрасенсы, не иначе. Они мне сказали, с претензией на иносказательность, что я тупой и наивный. ещё... -
Social crap
17 июля, 2021My apologies for FB share button, it's temporary, really. ещё... -
Немножко прекрасного: инструмент для настоящих айтишников
8 июля, 2021Давно не брал я в руки сварку. Встречайте мой новый инструмент для сисадминов и программистов! ещё... -
TX offload
7 июля, 2021Сделанное во имя добра может обернуться злом, как, например, TX offload. ещё... -
Заметки про жёсткие диски
7 июля, 2021Несколько заметок про жёсткие диски. ещё... -
Бздяшный хайп
6 июля, 2021Когда хайп начинает влиять на подсознание — огребёшь проблем. Как я с NAT под фряхой. ещё... -
DNSSEC
4 июля, 2021Настройка DNSSEC под BIND9. ещё... -
Понять и простить
3 июля, 2021Ненавижу грубить, но иногда не могу удержаться. Просто иногда, в чём-то разочаровавшись, могу написать что-нибудь неподобающее. После чувствую себя мудаком, можно было-бы и по-другому поступить, но что сделано — то сделано. ещё... -
В путь-дорогу
28 июня, 2021Ящик упакован. В ближайшие месяцы прекрасного не ждите. ещё... -
25-я неделя 2021 года
21 июня, 2021Мне нечем озаглавить этот пост, пусть будет хотя-бы так. Это обо всём, что случилось за последние три недели. ещё... -
Потерянная 21-я неделя
31 мая, 2021Да, в смысле искусства и прекрасного, эта неделя тоже потеряна. Не совсем, конечно. ещё... -
Про говно
25 мая, 2021Иногда я слышу "Вот, ты всё время говоришь говно, говно... Как будто других слов не знаешь? В конце концов, есть что-нибудь хорошее в твоём понимании?" ещё... -
Мне надо рисовать больше
24 мая, 2021Итак, сегодня уже 24 мая, новый понедельник, и это будет вторая неделя, когда я не возьму в руки кисточку. Общество требует больше говнокода, чем прекрасного... ещё... -
Приехали редукторы
18 мая, 2021Наконец-то получил посылку с AliExpress. Вот теперь можно баловаться с багетом! ещё... -
Синдром NIH
14 мая, 2021На самом деле просто зачесались руки. Багет стоит без дела уже целый месяц, я примерил его к 101+1 — подходит идеально. И меня понесло. ещё... -
Electro Art Works Энди Хила
12 мая, 2021Когда мне пришла идея соединить классическую живопись с электроникой, мне стало интересно — может кто-то уже делает подобное? ещё...