Pull to refresh
58
0
Serge @snp

Пользователь

Send message

Было бы интересно, к примеру, скачать ISO с самых быстрых европейских зеркал ubuntu.

Может быть, подойдёт такой вариант?


% nix bundle nixpkgs#httpie
% ls -lHh httpie
-r-xr-xr-x 2 root root 70M Jan  1  1970 httpie
% ./httpie --version
3.2.1

Для запуска нужно лишь работающий /bin/sh и ничего более.

Думаю, простого комментария по этой теме хватит :)


#!/usr/sbin/nft -f

flush ruleset

define SSH_KNOCK_PING_LEN1 = 128
define SSH_KNOCK_PING_LEN2 = 138
define SSH_KNOCK_PING_LEN3 = 148
define SSH_KNOCK_PING_LEN4 = 158

table inet filter {
  set s_ip_ssh_knock_step1 { type ipv4_addr; timeout 15s; gc-interval 5s; }
  set s_ip_ssh_knock_step2 { type ipv4_addr; timeout 15s; gc-interval 5s; }
  set s_ip_ssh_knock_step3 { type ipv4_addr; timeout 15s; gc-interval 5s; }
  set s_ip_ssh_knock_step4 { type ipv4_addr; timeout 15s; gc-interval 5s; }

  chain input {
    type filter hook input priority filter;

    ct state invalid counter drop
    ct state related,established counter accept

    ct state new tcp dport ssh ip saddr @s_ip_ssh_knock_step4 counter accept
    icmp type echo-request jump input_knock
    ct state new tcp dport ssh counter drop
  }
  chain input_knock {
    ip saddr @s_ip_ssh_knock_step3 meta length $SSH_KNOCK_PING_LEN4 add @s_ip_ssh_knock_step4 { ip saddr } counter
    ip saddr @s_ip_ssh_knock_step2 meta length $SSH_KNOCK_PING_LEN3 add @s_ip_ssh_knock_step3 { ip saddr } counter
    ip saddr @s_ip_ssh_knock_step1 meta length $SSH_KNOCK_PING_LEN2 add @s_ip_ssh_knock_step2 { ip saddr } counter
                                   meta length $SSH_KNOCK_PING_LEN1 add @s_ip_ssh_knock_step1 { ip saddr } counter
  }
}
не допускает истираний щёткой, которые приводят к преждевременной рецессии десны

Про рецессию десны было бы интересно почитать подробности — как понять, что она началась; как её избежать; можно ли процесс повернуть назад, если начался.

До 32Gb (в разных конфигурациях), впаянная :(

Wireguard под HTTPS

Wireguard работает по UDP и на kernel-level (это его главное преимущество, т.к. обеспечивает высокую скорость работы). Если мы его заворачиваем в TCP (https), то это будет некий софт в user-level, а значит — теряем в производительности. Ну и TCP для туннелей сам по себе плохой выбор.


Если надо получить рандомно выглядящие данные без какого-либо идентифицируемого формата, то хороший вариант — OpenVPN в режиме Static Key (без использования TLS). Правда, в этом случае ключ не меняется и не обеспечивается Forware Secrecy.


Кстати, только что нашёл ещё openvpn_xorpatch, его не пробовал. Он обфусцирует трафик OpenVPN в режиме TLS.

В давние времена (90-е и ранее) часто использовался немного другой формат From:


From: john@example.com (John Doe)


По-моему, было более логично. Т.к. самое главное (email) идёт вначале, а затем уже менее значимое (ФИО).

Тем, кто проникся dataclasses, имеет смысл взглянуть на attrs, который ещё круче: https://attrs.org/en/stable/why.html#data-classes

Зачем вообще думать на каком-либо языке? Внутренний диалог это лишь словесный комментарий мыслительных процессов, которые уже случились.

Есть методика «Callan method», её суть описывается в 3 шага:


1) препод говорит фразу и, при этом, на картинке показывает объект/действие, о чём эта фраза
2) ученик повторяет фразу как может
3) см. пункт 1


Фразы меняются, постепенно усложняются (вплоть до очень длинных предложений), периодически повторяются на одном занятии. Очень много разных материалов с картинками, которые используются на занятиях.


В итоге, родной язык не используется при обучении вообще. Нарабатывается связка навыков listening-speaking, т.е. то, с чего дети начинают.


Ну и всем известная «Rosetta stone», примерно таким же образом обучает.

на ПМЖ
на гражданство

Теоретически. Я слышал от людей, которые там работали на местные филиалы компаний уровня Amazon/IBM и на хороших позициях, что даже ПМЖ нереально получить.


Цены соответствуют уровню жизни

На мой взгляд, Сингапур переоценён.

В Сингапуре сильно труднее легализоваться. А тому, кто удалённо работает, вообще нереально. Ну и цены в разы выше на всё. Так что даже нечего сравнивать.


В KL с безопасностью всё нормально. Я там бывал много раз.

xkb «из коробки» умеет 4 раскладки без всяких внешних программ. У меня настроено 3 раскладки, переключение:


L-Ctrl — английская
Menu — русская
AltGr+Menu — тибетская

Остались неохвачены важные темы: насколько загрязнённый воздух и скорость интернета (есть ли возможность хотя бы 100 Mbps по кабелю/оптике получить).

Собственно, pip-tools всё это и делает. В requirements.in пишем пакеты, которые нам нужны, а pip-tools создаёт requirements.txt, где вписаны абсолютно все пакеты, со всеми зависимостями и для каждого задана точная версия. Тот же самый лок.

Стандартный workflow для pip-tools:


pip-compile --output-file=requirements.txt requirements.in
git add requirements.*
git commit -v

Получаем обычный requirements.txt, такой же, каким он был и 10 лет назад, просто в каждой строчке жёстко прописана версия пакета, в т.ч. все зависимости (которые в requirements.in не требуется указывать). Никакой магии. Потом ставим:


.venv/bin/pip install -r requirements.txt

PEP-517/518 это, конечно, хорошо, но вариант с pip-tools выглядит проще, при этом получаем то же самый результат.

poetry справедливее сравнивать не с голым pip, а с pip-tools — там можно и requirements.txt сохранить, и получить такой же чёткий контроль всех версий пакетов.


Выбор между poetry и pip-tools уже не так очевиден.

Примечательно, что впервые за несколько лет, на гитхабе сменился SSH ключ сервера:


It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.

Information

Rating
Does not participate
Registered
Activity