having fun

CBDC as described by Ed Snowden

a CBDC is something closer to being a perversion of cryptocurrency, or at least of the founding principles and protocols of cryptocurrency—a cryptofascist currency, an evil twin entered into the ledgers on Opposite Day, expressly designed to deny its users the basic ownership of their money and to install the State at the mediating center of every transaction.

the commercial banking sector is … in fact the problem — a parasitic and utterly inefficient industry that has preyed upon its customers with an impunity backstopped by regular bail-outs from the Fed, thanks to the dubious fiction that it is “too big too fail.”

Look at China, the napkin-clingers cry, where the new ban on Bitcoin, along with the release of the digital-yuan, is clearly intended to increase the ability of the State to “intermediate”—to impose itself in the middle of—every last transaction.

“Intermediation,” and its opposite “disintermediation,” constitute the heart of the matter, and it’s notable how reliant Waller’s speech is on these terms, whose origins can be found not in capitalist policy but, ironically, in Marxist critique. What they mean is: who or what stands between your money and your intentions for it.


Windows RDP bruteforce logging

Включаем аудит: secpol.msc -> Local Policy > Audit Policy and right click the Audit account logon events policy option and choose Properties
Смотрим журнал: eventvwr.msc -> Windows logs — Security

Решения: использовать адреслисты по превышению трафика/соединений, port-knocking, VPN, фильтр по ip

Установка streamripper

Качаем темплейт деб 10 потому что на пве6.3 (под управлением деб10) образ 11 деб не работает
заводим CT деб 10
Добавляем публичный ключ putty в /root/.ssh/authorized_keys
смотрим локалю, если её нет и кракозябры — делаем dpkg-reconfigure locales, перезагружаемся
коннектимся в консоль, cкачиваем стримриппер https://sourceforge.net/projects/streamripper/files/streamripper%20%28current%29/1.64.6/

apt install gcc glib2.0 libogg-dev libvorbis-dev make

./streamripper http://chill.friskyradio.com/frisky_aac_high -r 8008 -z -L playlist.pls -t -o version -D "%S/%1q %A - %T" --xs_offset=3000

делаем демона /etc/systemd:

Wants=network-online.target systemd-networkd-wait-online.service



ExecStart=/path/to/streamripper-1.64.6/streamripper http://chill.friskyradio.com/frisky_aac_high -r 8008 -z -L playlist.pls -o version -t -D '/path/to/FriskyChill/%%1q %%A - %%T' --xs_offset=3000

systemctl daemon-reload
systemctl enable streamripper-frisky
apt install incron

Добавляем юзера в /etc/incron.allow

incrontab -e

ебёмся с тем, что инкронтаб вообще никак не умеет обрабатывать пути с пробелами,

тыкаем галку «Disable application keypad mode» in PuTTY (on the Features panel) для того, чтобы нумпад наконец-то заработал

пишем скрипт, на вход которому скармливаем параметр для выгрузки файла в тг:

/path/to/FriskyChill       IN_CREATE,IN_MOVED_TO   /path/to/py-frisky-bot/py-frisky-bot.py "$@/$#" $% >> /path/to/py-frisky-bot/py-frisky-bot.log 2>&1

Осознаём, что файлы больше 50 мб ботами в телегу не выгружаются, и делаем http-сервер и отправку урла в чат вместо аудио.

Получаем что-то типа этого: https://t.me/FriskyChill
Подписывайтесь! =)

Backing up Mikrotik RouterOS config to Git repository

cd /home/user/mikrot-config/
/usr/bin/ssh -i /home/user/.ssh/id_rsa admin-ssh-account@ip.address.of.mikrot "export" > /home/user/mikrot-config/mikrot.conf 2>&1
#deletes first line with datetime for committing only config changes
/bin/sed -i '1{/by RouterOS 6/d;}' /home/user/mikrot-config/mikrot.conf
git add ./mikrot.conf
git commit -m "backup as of $(/bin/date +\%Y-\%m-\%d-\%H-\%M-\%S)"

if you need to backup a lot of hosts and webface for backup control, check https://www.ekzorchik.ru/2019/03/backing-up-mikrotik-via-oxidized/ (pdf)

Git clone branch from one remote to another by webhook call

quick and (very) dirty:


git clone repo.git
cd repo
git status
git remote -v
git remote set-url --push origin git@github.com:User/repo.git

this should set your remote.origin.pushurl to another path, check it with

git remote -v

2. check it with

git pull origin master && git push

3. make sure you set your private and public ssh keys for pulling and pushing seamlessly

4. write bash script for this, for example:

cd /home/lol/repo/
echo $(date +%Y-%m-%d-%H:%M) >> /home/lol/copy-repo.log
git pull origin master >> /home/lol/copy-repo.log 2>&1
git push >> /home/lol/copy-repo.log 2>&1

You can skip and do this directly from within Python flask server with https://gitpython.readthedocs.io/en/stable/tutorial.html

5. Set up webhook @ first webservice to call @ push event. Write flask-server for getting webhooks, open incoming port, for example:

from flask import Flask
from flask import request
from bitbucket_webhooks import event_schemas
from bitbucket_webhooks import hooks
from bitbucket_webhooks import router
import subprocess

app = Flask(__name__)

@app.route("/hooks", methods=["POST"])
def bb_webhooks_handler():
    router.route(request.headers["X-Event-Key"], request.json)
    return ("", 204)

def _handle_repo_push(event: event_schemas.RepoPush):
    print(f"One or more commits pushed to: {event.repository.name}")

if __name__ == '__main__':
    app.run(host="", port=617, debug=False)

or if you prefer bash+netcat-like way, consider trying this https://gist.github.com/orangeblock/15ee8e3cb304a4046082b422adaaf5fb

6. wrap it into waitress call (i don’t know why but flask says it sufficient 😀 ):

if __name__ == '__main__':
    from waitress import serve

7. wrap it into Systemd unit (https://blog.miguelgrinberg.com/post/running-a-flask-application-as-a-service-with-systemd):

Description=Webhook monitor for copying repo from BB to GitHub

ExecStart=/usr/bin/python3 /home/lol/clone-repo-webhook-server.py

systemctl daemon-reload
systemctl start clone-repo-webhook-server
systemctl enable clone-repo-webhook-server

p.s. and you could combine this with git full-mirroring capabilities as you like
p.s. heres bb man https://support.atlassian.com/bitbucket-cloud/docs/create-and-trigger-a-webhook-tutorial/ and webhook listener repo https://bitbucket.org/atlassianlabs/webhook-listener which I haven’t read

Windows-tools и автозапуск SSHD в WSL2

Список плюшек для упрощения жизни windows-рабов:


Включить цветную рамку текущего окна в win10 (https://habr.com/ru/post/544214/):

Включить все иконки в system tray (https://winaero.com/always-show-tray-icons-windows-10/):
или cmd -> shell:::{05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}


Дабы SSHD был запущен при старте windows 10 (не входя в bash), надо его перезапустить из-под root:

wsl sudo service ssh --full-restart

можно даже такой батник в автозапуск засунуть

Далее кратко описан процесс установки WSL2 на Win10 home:
Read More

Media-insatiability: some aspects of presence of social-media in our lives

1) Centralization of everything, diversity reduction

It is your moral obligation to use Firefox



2) Behavior modifying

Андрей Курпатов. Гаджеты делают нас глупее, несчастнее и гробят наших детей?

3) Personal data gathering by default,

Как удалить «неудаляемые» приложения со смартфона

4) and following — Totalitarism

Судя по разговорам полицейских, меня нашла городская система наблюдения по камерам. Полицейские говорили, что проверят, не нахожусь ли я в уголовном розыске, и «все будет хорошо». В отделении полиции очень вежливый полицейский с грустным взглядом сразу стал оформлять протокол доставления в ОВД.

Я спрашивал, что происходит и почему задержан. Полицейский подтвердил, что меня нашли по камерам поиска, что сейчас будут проверять, участвовал ли я в митинге 23 января.На входе в ОВД Тверское уже сидели несколько задержанных, по разговорам которых я понял, что их тоже задержали по поиску камер на входе в метро.

— Особо интересны подобные улыбчивые фразы «щя проверим — и всё будет хорошо», с которыми людей провожают в камеру, с которыми назначают штрафы и сроки. Один раз это увидишь — и не забудешь никогда

Для распознавания лиц московские власти используют разработки трёх разных компаний но основа — алгоритм FaceN для определения лица в кадре от компании NTech Lab, создавшей сервис FindFace для поиска людей во «ВКонтакте» по одному снимку.

«Мне как обычному человеку важнее безопасность, чем приватность», — говорит Кухаренко.
В полиции тоже довольны приложением. «Если такая программа будет внедрена в телефоны сотрудников полиции, и не только полиции, то это поможет на месте определять, что за человек и кого они остановили»

https://tjournal.ru/tech/333457-sistema-raspoznavaniya-lic-v-moskve-teper-ishchet-protestuyushchih-kak-ona-ustroena-i-chto-sdelat-dlya-zashchity (pdf)

https://meduza.io/feature/2016/07/07/konets-chastnoy-zhizni (pdf)

Git tools: diff docx/pdf, git server

Using git diff for doc, xls, pdf, ppt, odt:

https://gist.github.com/mbrehin/634f46aeacb0a9a6da5e (pdf)
for docx use pandoc as following (https://blog.martinfenner.org/posts/using-microsoft-word-with-git):

[diff "docx"]
textconv=pandoc --to=markdown
prompt = false

Git personal server

(Gitolite, Cgit, fcgiwrap, and Nginx)

https://bryanbrattlof.com/cgit-nginx-gitolite-a-personal-git-server/ (pdf)

and more of freshly-baked gitlab alternatives: https://www.cyberciti.biz/open-source/github-alternatives-open-source-seflt-hosted/

Each neuron is two-layer computational network. And it strives for living

«… Yet, it is fascinating that, while surviving, a neuron makes computation.»



Ася Казанцева. Как сдать любой экзамен, выучить иностранный язык и почему алкоголь меняет память?

44:44 — про организацию внешних ситуаций для того, чтобы жить правильно (правило 20 секунд)
49:25 — про дневники и историю в чятиках