Pull to refresh
23
0
Send message

Я хотел заценить, пошёл на сервак, сделал

git clone https://github.com/amnezia-vpn/amnezia-wg.git
cd amnezia-wg
make

но оно мне сообщает

tun/tcp_offload_linux.go:579:16: undefined: errors.Join
tun/tun_linux.go:362:18: undefined: errors.Join
note: module requires Go 1.20

Опаньки, в Debian bookworm go всего-лишь 1.19. Попробовал тэги до v0.1.4 - то-ж самое.

Могу, конечно, замутить testing или unstable в контейнере, но... прав был то-ли ESR, то-ли RMS в одной из своих книжек: "please write in C".

Ну, раз сначала комент, то понеслась:

  • Напутано с отступами. Любители фигурных скобок - они такие. На питон вас надо.

  • Несоответствие комментария и функции. "Пошоркать часики", так что-ли?

  • Ну если это всё-таки runBlocking, тогда это немного разрыв шаблона. Надо определиться, чего мы хотим - run или blocking? Но если и то и другое - наверняка run бесконечно вызывает вот эту хрень, что блокирует выполнение потока, а потом переключает асинхронный контекст и так до бесконечности. Только вот вопрос: зачем это делать в OnCreate?

Вот такие мысли об офигительном дизайне приходят на ум дилетанту, который яву брал в руки 12 лет назад, а писать для мобилок до сих пор желания нет.

Почему бы не выпускать вещи только для левшей только потому, что,
скажем, удобно так производить, наплевав на привычки пользователей?

майкрософт свои мышки так и делает

Картинку к статье надо было типа этой. Все функциональные клавиши были под пальцами. Потом, когда их убрали вверх, надо было напрягать всю руку, чтобы дотянуться. Ещё и альт удерживать - просто охренительная идея для сочетания клавиш. Мышки спасли юзеров, правда, пришлось учиться попадать в крестик.

Но прорегресс, раз он начался, уже ничем не остановишь.

Для простых вещей советую глянуть на hypercorn. Голый ASGI весьма притягателен, а если чего не хватает - так можно из starlette, например, понадёргать нужного. Хотя starlette вполне себе ничего, но у меня бзык на минимализм.

Вопрос в том, почему "ничего хуже".

Это моё субъективное мнение подкреплённое практическим опытом. Мы регулярно пытались переползти на какой-нибудь фреймворк, чтобы избавиться от поддержки своих кастомных примочек, и Flask был наихудшим вариантом. Pyramid выглядел лучше всех, но до него дело так и не дошло.

Разверните, пожалуйста, если не трудно.

Лет шесть уже вэбом серьёзно не занимаюсь, поэтому, наверное, трудно. Поисковики с радостью расскажут если спрость что-нибудь вроде flask sucks. У меня была ссылка на годный разбор почему там всё плохо - я её прикладывал для отчёта о проделанной работе, но за давностью времени затерялась.

Вообще выбор фреймворка - та ещё тема.

Упаси.

Но Django как референс - вполне годная кодовая база. Сверяться с owasp тоже обязательно.

Он ещё живой?

Ничего хуже, наверное, придумать уже нельзя, но для широких масс чем хуже - тем лучше.

Новичкам точно не рекомендую.

Неудобств - это мягко сказано. Мне всегда везло на denial of service со времён три-ноль. Вылазит при высокой нагрузке на запись. У них в жире тикет болтался - cache eviction, источник всех бед. Вроде они его пофиксили, но мы в проде закопали этот wired tiger от греха подальше. И уже потом, спустя несколько версий, я для себя делал простенький проект - и снова на те же грабли наступил. На добавлении мелких записей внезапно CPU 100% на всех ядрах и всё встаёт колом. Я подозреваю у них в Atlas всё хорошо, это только у нас в нищебродском community эту "фичу" оставили, чтоб не засиживались на халяве.

Я чесслово не понимаю зачем тёплый пол в квартире. Если, конечно, не старая пятиэтажка где зимой +10, но тогда вопрос - откуда брать тепло на подогрев. Я догадываюсь, что есть способы насчёт безлимитной электроэнергии, но не секу в этом.

Другое дело - частный дом. Делал сам, когда на раёне никто об этом и не мечтал. Дешманский металлопластик (подозреваю, раньше он был в разы качественнее самого дорогого современного) простоял более 20 лет пока сам не сломал всё нахрен в процессе реконструкции. Всё было сделано по молодости, по наитию, но прям как по этим рекомендациям - 4 секции чтобы разгрузить насос, спиральная укладка. Залито обычным бетоном. с термошвами. Сверху - линолеум. Бачков расширительных тогда не было, как и всех прочих приблуд, у меня был простой атмосферник. Я пролетел только на воздушных пробках в подводке - тщательнее надо было с перепадами высот. Но это легко исправил.

Главный недостаток тёплого пола - расслабляет пятки и простуда ловится как за здрасьте. Поэтому как сделаете такой пол - ноутбук под мышку и валите на зимовку в тёплые страны. Сейчас, конечно, с этим похуже стало. Лучше насовсем.

Ну а как насчёт fediverse? Там вроде есть тематические серверы. Я вот добавил в свой пылесос infosec.exchange и infosec.place уже давно, но ещё не читал чё там пишут - некогда :)

MongoDB - это пипец. Постарайтесь с неё слезть.

Ого, книжка Гутникова у меня была. Не помню уже куда её дел, удивляюсь что до сих пор полезна.

early days of id software? ну да, смотрел на ютубе Джона Ромеро, давно уже.

Особенно приколол вопрос из зала про систему контроля версий. - Не, не пользовались - у нас были дискеты - на тебе новый исходник - ага, збс :)

Говнокодил в одном llc в финсекторе, так меня им приходилось скрывать от всех после 14 года. Но это скорее аутсорс, я там не местный. Правда наружу всё-таки вылезла, но обошлось всё позитивно.

вот-вот, кому тут сдалась совковая трудовая :)

Чё-та зря заминусовали ваш фидбэк, я плюсанул, ибо нефиг :)

Эйджизм тут следствие, я вообще только "за" дать молодым дорогу, но... Может где-то умницы и были, я верю. Но сейчас наверняка поразбежались вместе с остальными умными. Остались только те, кто не допёр как сбежать на свободу, и я.

clobber()
{
    dir="$1"
    exclude="$2"
    if [ ! -d "${dir}" ] ; then
        return
    fi
    for entry in "${dir}"/* ; do
        if [ -h "${entry}" ] ; then
            # skip symbolic links
            continue
        fi
        name=`basename "${entry}"`
        if in_list "${name}" "${exclude}" ; then
            continue
        fi
        if [ -d "${entry}" ] ; then
            mount -t tmpfs -o size=0 tmpfs "${entry}"
        else
            mount --bind /dev/null "${entry}"
        fi
    done
}

Баш - это неспортивно, поэтому:

in_list()
{
    for n in $2 ; do
        if [ $1 = $n ] ; then
            return 0
        fi
    done
    return 1
}

Information

Rating
Does not participate
Registered
Activity