SchemeFlow (YC S24) нанимает инженера-основателя (Лондон) для ускорения строительства ( ycombinator.com )
Source: news.ycombinator.com
Темный режим не работает в Chrome Устранение неполадок | Windows ( self.chrome )
отправлено 10 минут назад пользователем gonz0ooo
Привет,
У меня проблема с темным режимом на нескольких сайтах в Google Chrome. Он просто не работает, когда я выбираю темный режим, я вижу просто белый экран с белыми буквами, как на скриншотах.
Сколько EU в DNS4EU? ( jenslink.net )
и можно увидеть, что по сути у них есть 2 вышестоящих узла, один из HU, а другой из GB, что является основным предметом обсуждения здесь и, безусловно, открыто для изучения.
Я бы предпочел, чтобы они не тратили средства на использование инфраструктуры США для своего маркетинга (и надеюсь, эта реклама что-то изменит), но было бы большой натяжкой утверждать, что это каким-либо образом подрывает миссию dns4eu.
ns1.deSEC.io. -> 45.54.76.1 NetName: NETACTUATE-MDN-01 OrgName: NetActuate, Inc Город: Роли
ns2.desec.org. -> 157.53.224.1 NetName: NETACTUATE-MDN-04 OrgName: NetActuate, Inc Город: Роли
> ns63.cloudns.net.
> ns64.cloudns.uk.
> ns61.cloudns.net.
А США и Великобритания контролируют доменные имена серверов верхнего уровня.
https://en.wikipedia.org/wiki/Корневой_сервер_имя
Честно говоря, настройка реплики DNS4EU была бы просто несвязанной
Должны ли мы также принимать во внимание владельца волокна, по которому передаются запросы DNS? Производителя любого оборудования, используемого на этом пути?
Source: news.ycombinator.com
Вкладки постоянно закрываются неожиданно Устранение неполадок | Android ( self.chrome )
отправлено 1 минуту назад пользователем SodiumPalmate
Каждые несколько дней я открываю и закрываю Chrome, только чтобы обнаружить, что все мои вкладки были удалены, и никаких признаков того, что они были удалены или восстановлены. Я не знаю, что, черт возьми, происходит, но из-за этого я потерял несколько важных страниц.
Я уже перезагрузил телефон и очистил кэш Chrome.
Действия за последние 3 дня не отображаются в моей истории Устранение неполадок | Android ( self.chrome )
отправлено 11 минут назад * пользователем itsnotme_jaicee
Очень нужна помощь. Мои действия с 10 июня не отображаются в истории Chrome. Мои действия в Wed и App включены. У меня также не было никаких изменений в настройках. Я пробовал решения, которые были опубликованы в кнопке справки и предложений Chrome, и я также искал решения, но они не работают. Мое приложение Chrome обновлено
Последнее сохраненное действие — это мой поиск по профилю какого-то тайского художника. Я посмотрел его 9 июня. Позже в тот же день я искал синонимы слов, но единственным сайтом, который я посетил, была Википедия, но она не сохранилась в моей истории.
Я только раньше узнал, когда искал в своей истории греческого бога, что забыл имя, которое было именем персонажа в истории, которую я читал раньше. Я искал его 10 июня, но я не нажимал ни на какие веб-сайты.
Мое предложение в строке поиска работает, но с тех пор никакая активность не сохранилась.
В случае чрезвычайной ситуации разбейте стекло ( morrick.me )
То же самое в компьютерных UI происходит последние ~15 лет. Удивительно, но компания, которая хвастается удобством использования/эргономикой, делает это. И, к сожалению, каждый рабочий стол (KDE, MATE, Gnome) делает все возможное, чтобы подражать Mac OS.
Интересно, проводит ли кто-нибудь в этой части «технологической» индустрии какие-либо измерения того, что они производят?
Недавно мне на работе выдали ноутбук Mac (они отказываются поддерживать Linux), и пользовательский интерфейс Finder ужасен — именно так, как описывает автор.
«Босс, эта идея — дерьмо, и я не буду ее реализовывать. Либо ты меняешься, либо я ухожу».
А перед уходом отправьте электронное письмо начальнику начальника или генеральному директору.
Source: news.ycombinator.com
Любопытный случай с командами оболочки, или как «этот баг требуется POSIX» (2021) ( volution.ro )
Так что если вы просто уберете libcall, люди создадут свою собственную версию, просто выполнив execl() для /bin/sh. Если вы хотите, чтобы это изменилось, я думаю, вам нужно спросить, почему люди вообще хотят это сделать.
И ответ здесь в основном в том, что из-за философии дизайна unix оболочка чрезвычайно полезна. Есть все эти классные, маленькие утилиты и трюки, которые вы можете использовать вместо написания большого количества дополнительного кода. В Windows соглашения командной строки, особенности файловой системы и обходные пути на самом деле более многочисленны. Просто там почти нечего вызывать, поэтому вы получаете меньше ошибок.
Самый практичный способ устранить этот класс ошибок — сделать оболочку Unix менее полезной.
exec* не являются «лучшей заменой» оболочки, они просто используются для разных вариантов использования.
Всю статью можно свести к трем пунктам:
1) Обеззараживайте свои входные данные
2) Если вы хотите выполнить определенную программу, выполните ее после 1), оболочка не нужна
3) Разрешить оболочку, если нет риска инъекции
Есть два способа представить «выполнение команды»:
1. Список строк, содержащих имя исполняемого файла (которое может быть или не быть полным путем) и его аргументы (например, const char **argv в языке C).
2. Одна строка, представляющая собой список аргументов, разделенных пробелами, со специальными символами в аргументах (включая пробелы), требующими заключения в кавычки для правильного представления.
Преобразование между этими двумя формами нетривиально. И основная проблема в том, что есть много инструментов, которые неправильно преобразуют первое во второе, просто объединяя все аргументы в одну строку и вставляя пробелы. Часть проблемы в том, что сам скрипт оболочки затрудняет преобразование, но конечный эффект заключается в том, что если вам приходится работать с командами с вводом, содержащими специальные символы (включая, но не ограничиваясь, пробелами), вы в конечном итоге просто медленно сходите с ума, пытаясь понять, как правильно заключить кавычки в кавычки, чтобы обойти сломанные инструменты.
По моему опыту, мир становится намного проще, если ваши собственные инструменты просто разбивают все на модель списка строк, и вы никогда не пытаетесь использовать API, требующий однострочной модели.
GP имеет в виду тот факт, что это решение не работает так же хорошо в Windows, поскольку изначально командная строка в этой ОС представляла собой не список строк, а одну строку, а то, как эта одна строка разбивается на список строк, зависит от вызываемого приложения.
В python есть “shlex.quote” и “shlex.join”. В bash есть “${env@Q}”. Я обнаружил, что они работают для меня замечательно – и я делал безумные вещи, такие как цитирование аргументов, встраивание в скрипт оболочки, цитирование скрипта снова для ssh и цитирование в третий раз для создания исполняемого файла .sh.
На других языках… да, у вас будут плохие времена. Особенно на Windows, где я бы просто сдался и перешел на WSL.
В частности, отсутствие упоминания `printf -v` ужасно. Это не только более производительно, чем создание целого процесса для подстановки команд, но и позволяет избежать неприятной проблемы с новой строкой.
Вам не нужно обрабатывать кавычки с exec*(). Вам все равно нужно обрабатывать опции, да. Но в Windows вам всегда придется обрабатывать кавычки самостоятельно, и это сложнее, чем для оболочки POSIX, и это зависит от программы. Не зная, какая программа выполняется, вы не можете знать, какой синтаксис кавычек вам нужно использовать, и, как таковая, стандартная библиотека не может написать универсальный интерфейс для передачи аргументов другому процессу безопасным способом в Windows.
Мне просто показалось, что POSIX в этом контексте особенно плох, хотя на самом деле он здесь лучше, чем Windows. Тем не менее, функция system() — это ошибка. Используйте posix_spawn(). (Примечание: не используйте _spawn*() в Windows. Это просто объединяет аргументы с пробелом между ними и без каких-либо кавычек.)
Хотя это совершенно разные интерфейсы. Если бы вы реализовали system() с помощью posix_spawn(), это было бы так же плохо, как и system()
https://news.ycombinator.com/item?id=44239036
Если вы говорите, что не делаете таких ошибок: Да, но люди делают. Люди, которые пишут код, работающий в вашей системе.
Заставлять пользователя всегда создавать скрипт-оболочку? Это просто лишнее раздражение, и если пользователь плохо цитирует, у него будут те же проблемы со скриптом.
Отключить хуки вообще? Это плохая функциональность, регресс
Запрашивать несколько аргументов? Это значительно усложняет синтаксический анализ командной строки. Я не видел хороших решений для этой проблемы.
(Единственным исключением является написание оболочки команды, которая принимает ровно одну пользовательскую команду, например «timeout» или «xargs».. но они уже используют вектор аргументов вместо синтаксического анализа)
Затем вы преобразуете его в правильный массив аргументов и передаете его в exec*/posix_spawn.
Но `ssh` заслуживает всего позора. Жаль, что в статье, полной ерунды, трудно найти настоящие проблемы.
Обратите внимание, что если вы используете несовершенную оболочку, которая не поддерживает ни `printf %q`, ни `${var@Q}`, все равно легко использовать кавычки в `sed`. Скрипты GNU `./configure` делают это внутренне, включая специальный регистр, чтобы кавычки заключали только правую часть `–arg=value`.
При условии, что:
1. Человек знает, что нужно делать эту странную вещь. 2. Он делает это постоянно, каждый раз. 3. Он никогда не забывает.
Также не уверен, как использовать эти решения для приведенного вами примера popen().
Правильный способ:
subprocess.run([ “gzip”, “-c”, “—-to-stdout”, user_input ], stdout=open(“foo.gz”)) И теперь мне не нужно беспокоиться ни об одной из этих странных вещей
В этом случае текущая семантика “popen” – одна команда оболочки – работает довольно хорошо. Вы можете передать ей пользовательский процесс:
–data-handler=”scripts/handle_data.py” или фрагмент оболочки:
–data-handler=”gzip -c > last_data.gz” или даже мини-скрипт оболочки:
–data-handler “jq .contents | mail -s 'Новые входящие данные' data-notify” Вот где аргументы “shell command” действительно проявляют себя – и обратите внимание, что вы не можете имитировать всю эту функциональность с помощью command vector.
Но это то же самое, что сказать, что вам технически нужна SQL-инъекция, чтобы `psql -c 'command'` могла работать.
> Вы не можете смоделировать все это с помощью командного вектора
Эм, да, мы можем просто вызвать оболочку:
subprocess.run([“bash”, “-c”, data_handler]) В качестве бонуса таким образом мы получаем контроль над тем, какая оболочка используется, и я нахожу это более явным, поэтому предпочитаю именно его.
Не то же самое, это уязвимо для перехвата $PATH. Вы можете жестко закодировать путь в bash, чтобы избежать этого, но нет гарантии, что он всегда будет там. system() с другой стороны гарантированно запустит интерпретатор команд операционной системы.
Пожалуйста, расскажите подробнее. Мне кажется, это приличный список подводных камней оболочки.
Или давайте просто посмотрим на отрывок, вот раздел «правильное решение»:
Я подчеркнул действенные советы.
> Правильным решением было бы немедленно выбросить сломанный инструмент, надежно стереть его с жесткого диска, а затем бежать и громко кричать название этого инструмента от стыда… (Что-то вроде пути искупления из Игры престолов…)
Шутить
> Я не шучу… Подобные неисправные инструменты являются причиной множества глупых ошибок, начиная от забавных ups-rm-with-spaces (например, rm -Rf / какая-то папка с пробелами / какой-то-файл) и заканчивая серьезными проблемами безопасности, такими как ранее упомянутый shellshock…
Шуточное/бессодержательное повышение ставок.
> Итак, вы говорите, что кто-то держит вас под дулом пистолета, поэтому вы должны использовать этот инструмент? Проверьте, нет ли у сломанного инструмента флага, который отключает вызов sh -c, и вместо этого он правильно выполняет заданную команду и аргументы напрямую через execve(2). (Например, у watch есть флаг -x, как упоминалось.)
Вот он, абзац, в котором что-то есть!
> В качестве альтернативы, учитывая, что, скорее всего, рассматриваемый инструмент является проектом с открытым исходным кодом, написанным кем-то в свободное время, возможно, стоит открыть запрос на функцию, описывающую проблему, и, если возможно, внести свой вклад с помощью патча, который ее решает.
Это не кажется практически осуществимым, по крайней мере в краткосрочной перспективе — большинство проектов могут проигнорировать ваш патч, или, возможно, потребуется несколько лет, чтобы он был выпущен в дистрибутивах.
> Все еще безуспешно? Приготовьте попкорн и приготовьтесь к последнему блокбастеру «замысловатые решения простых проблем в городе UNIX»…
Драматическое нагнетание/шутка.
Статья в основном верна, хотя в ней есть некоторые странные утверждения (например, ошибка Shellshock не имела ничего общего с классом ошибок, на которые жалуется статья, — это была уязвимость в самой оболочке). В ней определенно есть атмосфера «новичок ненавидит вещи, не понимая, почему они такие, какие они есть», но вам это действительно нужно время от времени. Старожилы, как правило, говорят «это было сделано так изначально по какой-то причине, и если у вас достаточно опыта, вы знаете, как с этим бороться», но то, что имело смысл 30-40 лет назад, может не иметь особого смысла сегодня.
1. https://web.archive.org/web/20201111203646if_/https://www.de…
Сначала определим эту функцию:
quote-argv() { printf '%q ' “$@”; } # (использует тонкую векторизацию printf по аргументам) Теперь это работает правильно:
ssh example.com “$(quote-argv ls 'файл с пробелами')” ls: невозможно получить доступ к 'файлу с пробелами': Такого файла или каталога нет В отличие от:
$ ssh example.com ls 'файл с пробелами' ls: невозможно получить доступ к 'файлу': Такого файла или каталога нет ls: невозможно получить доступ к 'с': Такого файла или каталога нет ls: невозможно получить доступ к 'пробелам': Такого файла или каталога нет И да, “скрытое argv join” в ssh ОЧЕНЬ плохо, и это повторяется во встроенной функции eval оболочки.
Они оба должны принимать только ОДИН аргумент.
По сути, это self-own, потому что пробелы — это ОПЕРАТОР в shell! (оператор, разделяющий слова)
При объединении операторов и переменных вы смешиваете код и данные, что является проблемой безопасности.
—
Что касается обходного пути exec, я думаю, что это также недостаток оболочки. Oils, вероятно, вырастет встроенный 'invoke', который обобщает 'command' и 'builtin', которые не являются ортогональными.
«command true» означает «внешний или встроенный» (отключение поиска функций оболочки), но должно быть что-то, что означает «только внешний».
Это не скрыто. Это написано на виду:
Полная командная строка может быть указана как команда, или она может иметь дополнительные аргументы. Если они указаны, аргументы будут добавлены к команде, разделенные пробелами, перед тем, как она будет отправлена на сервер для выполнения. – третья строка в `man 1 ssh`
$ sudo ls 'файл с пробелами' ls: невозможно получить доступ к 'файлу с пробелами': Такого файла или каталога нет Если бы ssh (и sh eval) не принимали несколько аргументов, то это даже не дошло бы до ls:
$ ssh example.com ls 'файл с пробелами' ls: невозможно получить доступ к 'файлу': Нет такого файла или каталога ls: невозможно получить доступ к 'с': Нет такого файла или каталога ls: невозможно получить доступ к 'пробелам': Нет такого файла или каталога Лучше принять argv. Или принудительно это сделать:
$ ssh example.com “ls 'file with spaces'” Итак, ясно, что это одна строка оболочки.
Принятие строки оболочки иногда допустимо, но молчаливое объединение нескольких аргументов бесполезно и небезопасно.
«RTFM» — не лучший ответ, когда речь идет о безопасности.
У инструментов есть острые углы, и если вы не хотите их изучать, вас могут укусить.
Ошибки можно исправить.
Да, это есть в документации. Да, люди, которые внимательно читают документацию, не будут укушены. Также, да, дизайн можно улучшить, чтобы люди не совершали эту ошибку, даже не читая документацию.
Оба варианта могут быть правдой. Но сейчас мы говорим только о последнем.
Я удивлен, поскольку я начал эту подтему явно для того, чтобы оспорить, что соединение argv «скрыто».
Единственное, что это добавляет, — это неуверенность.
Если бы этой функции не существовало, ее не нужно было бы документировать, и мир стал бы лучше.
sh -c “$1 $2 $3 $4 …” Это форма внедрения оболочки, как и
sh -c “ls $dir”, потому что там интерполяция БЕЗ экранирования.
Это должно быть:
dir=$(escape “$dir”) sh -c “ls $dir” Или просто
ls “$dir” Это не мое предубеждение — это проблема безопасности.
Это похоже на ShellShock — можно утверждать, что это было задокументированное поведение, но это все равно проблема безопасности.
Это похоже на curl CWE-93[1], где это было задокументировано и использовалось, и впоследствии было отклонено как проблема безопасности.
Пример для ssh:
ssh хост ls “$(quote “$dir”)” [1] https://hackerone.com/reports/3133379
$ sh -c “$(quote-argv -echo 'файл с пробелами')” sh: 0: Недопустимая опция -h $ sh -c “$(quote-argv-left -echo 'файл с пробелами')” sh: 1: -echo: не найдено По ssh:
$ ssh example.com “$(quote-argv-left -dashtest 'файл с пробелами')” -dashtest файл с пробелами
https://crates.io/crates/arghsh
>>> import subprocess >>> import shlex >>> subprocess.run(['ssh', 'host', shlex.join(['ls', '-la', 'имя файла с пробелами'])]) ls: невозможно получить доступ к 'имя файла с пробелами': Такого файла или каталога нет, работает и во вложенном виде
>>> layer2 = ['ls', '-la', 'имя файла с пробелами'] >>> layer1 = ['ssh', 'host1', shlex.join(layer2)] >>> layer0 = ['ssh', 'host0', shlex.join(layer1)] >>> subprocess.run(layer0) (я не уверен, есть ли эквивалент в Rust, но если нет, то его, вероятно, легко реализовать. Версия на Python состоит всего из нескольких строк)
>>> subprocess.run([“fish”, “-c”, shlex.join([“echo”, “this isn\'t working”])]) fish: Неожиданный конец строки, кавычки не сбалансированы echo 'this isn'”'”'t working'
В стандартной библиотеке нет, но есть пакеты.
Обратите внимание, что этот инструмент предназначен только для обеспечения еще одного уровня безопасности.
[1] https://github.com/endiangroup/cmdjail [2] https://github.com/endiangroup/cmdjail/blob/main/main.go#L30… [3] https://github.com/endiangroup/cmdjail/blob/main/config.go#L…
https://bugzilla.mindrot.org/show_bug.cgi?id=2283
Можно использовать bash как для интерактивного использования, так и для скриптинга. Например, этот автор утверждает, что использует bash в качестве своей скриптовой оболочки.
Однако Debian и популярные производные от Debian дистрибутивы не используют bash для скриптов, начинающихся с «#!/bin/sh», т. е. «скриптов оболочки».
Интерактивной оболочкой может быть bash, но скриптовая оболочка /bin/sh — это не bash.
https://www.man7.org/linux/man-pages/man1/dash.1.html
https://wiki.ubuntu.com/DashAsBinSh
https://wiki.archlinux.org/title/Dash
https://www.oreilly.com/library/view/shell-scripting-expert/… ^1
https://www.baeldung.com/linux/dash-vs-bash-performance
https://en.wikipedia.org/wiki/Almquist_shell
https://lwn.net/Articles/343924/
https://scriptingosx.com/2020/06/about-bash-zsh-sh-and-dash-… ^2
Я использую оболочку Almquist, а не bash, как для интерактивного использования, так и для написания скриптов. Я часто пишу скрипты интерактивно. Я использую одни и те же скрипты в Linux и BSD. Я восстановил tabcomplete и встроенную функцию fc в dash, чтобы она больше походила на оболочку, из которой она произошла: NetBSD sh.
1. «Это делает его меньше, легче и быстрее, чем bash».
2. «… это явный признак того, что Apple в конечном итоге захочет использовать dash в качестве интерпретатора для скриптов sh».
В моей системе имеется 42 скрипта в /bin -> /usr/bin (объединенных), которые начинаются с какого-либо варианта `#! /bin/bash`, и по крайней мере два, которые выполняют `bash -c`, но это не считая неизвестного количества скриптов, которые выглядят немного иначе или находятся в других каталогах.
И имейте в виду, что в Debian почти все программное обеспечение собственной разработки реализовано на Perl, а небольшая часть — на Python.
https://bonedaddy.net/pabs3/log/2014/02/17/pid-preservation-…
> python2 -c 'import os; os.system(“-x”)' > sh -c -x sh: -c: option required an argument Я не могу воспроизвести это в Python (включая мою локальную сборку 2.7), только используя sh напрямую. Проходя через Python, `sh` правильно сообщает мне, что команда `-x` не найдена.
Но теперь мне интересно: как можно использовать `which` (или `type`, или `file`) для программы с именем `-x`, если она у вас есть?
У меня то же самое. Похоже, что POSIX-шники приняли предложение автора в 2022 году, а system() в glibc обновили в 2023 году.
https://sourceware.org/git/?p=glibc.git;a=blobdiff;f=sysdeps…
#include
> [pid 172293] execve(“/bin/sh”, [“sh”, “-c”, “–“, “-x”], 0x7ffe221d2f58 /* 76 переменных */) = 0
command -v — -x В документации POSIX почти для всех команд (включая `command`) говорится: «Утилита command должна соответствовать […] Правилам синтаксиса утилит», которые определяют поведение `–`, даже если это явно не указано.
Мне было трудно следить за статьей, но, возможно, потому, что я уже был знаком с проблемой и просто бегло просматривал ее. Перейдите к разделу “Некоторые эксперименты…” для получения полезных примеров.
Хотя я не согласен с выводом. Я думаю, что должны быть более очевидные способы экранирования ввода, чтобы можно было сохранить рассудок с помощью вложенного вызова 'sh -c'. Может быть, '${var@Q}' и print '%q' достаточно (не могу поверить, что я не знал, что они существуют!)
Он также обеспечивает легкий доступ к экранированию любых аргументов, которые вы хотите передать:
out = `bash -c #{arg.shellescape}` …здесь “arg” всегда будет передаваться как один аргумент.
Что такое YSH? https://oils.pub/ysh.html
Сейчас я пишу модуль цитирования, но главное, что это достаточно мощный язык для этого. Он больше похож на Python или JS; вам не нужно прибегать к sed для разбора и цитирования строк.
Я разместил решение quote-argv выше — в YSH оно, скорее всего, будет таким:
var argv = 😐 ls 'arg с пробелом' | # как в bash argv=() ssh example.com $[quote.sh(argv)] Но вы можете написать такую функцию СЕЙЧАС, если хотите
—
quote.sh следует (тонкой) идиоме замены одинарной кавычки ' на
''', что означает, что он работает на системах с удаленным POSIX sh, а не только YSH!
например, «isn't» в оболочке POSIX указывается как
'isn'''t', которое состоит из трех частей слова:
'isn' ' 't' YSH также имеет:
– JSON, который может правильно обрабатывать каждую строку Unicode, без написания собственных функций синтаксического анализа
– JSON8, дополнительное расширение, которое может выполнять циклический перенос каждой строки байтов, получаемой из ядра Unix.
https://oils.pub/release/latest/doc/j8-notation.html
ysh-0.29$ eval ls $dir eval ls $dir ^~~~ [ interactive ]:11: 'eval' требует ровно 1 аргумент И это исправляет оценку слова
YSH не требует везде цитирования – https://www.oilshell.org/blog/2021/04/simple-word-eval.html
https://oils.pub/release/latest/doc/simple-word-eval.html
Самый неприятный случай, вероятно, `globasciiranges`.
Source: news.ycombinator.com
Может ли кто-нибудь объяснить это безумное использование памяти? Устранение неполадок | Windows ( self.chrome )
отправлено 17 минут назад пользователем Narfalls
Я заметил внезапное, ни с того ни с сего, сильное замедление, когда я был на картах Google, и я получил уведомление о месте для хранения, и вот что я увидел. Удалил все и вернулся к 45 ГБ свободного места, но самое низкое, что было свободно, было 117 КБ? ЧТО стало причиной этого? У каждого сайта был размер хранилища 36,6 ГБ для нескольких сайтов, что в сумме составляло это безумное число.
DNS4EU, служба разрешения DNS на территории ЕС ( helpnetsecurity.com )
Да, конечно. Как раз вовремя.
Чтобы было ясно, призыв к обратной связи происходит _до_ того, как_ законопроект будет выдвинут в качестве предложения. Обратная связь будет проанализирована D4, будут такие вещи, как оценка воздействия, и, наконец, Коллегия уполномоченных создаст предложение для Совета и ЕП, чтобы начать обычные законодательные процедуры.
[1] https://op.europa.eu/en/web/who-is-who/organization/-/organi…
Не знаю, так ли это, но эти два понятия не обязательно несовместимы.
https://142290803.fs1.hubspotusercontent-eu1.net/hubfs/14229…
Прочитал довольно быстро, но выглядит нормально, по крайней мере на первый взгляд. К сожалению, я бы ни за что не доверил что-то столь чувствительное, как DNS, ЕС, учитывая их ужасную историю ползучего наблюдения.
https://news.ycombinator.com/item?id=44190071
Но почему же так негативно относятся к проекту, который имеет ценность с точки зрения диверсификации основного компонента магистральной сети Интернет, и это совершенно необязательно?
У меня возникла двойная проблема.
1. Нам нужно больше распределенных услуг и меньше зависимости от этой глупой страны, полной полных тупиц, по отношению к которым я не имею права быть грубым в этой службе.
2. Нам ТАКЖЕ необходимо защищать свободу общения МЕЖДУ странами, чтобы череда плохих событий не привела к тому, что ряд стран навсегда останутся без света.
Бомба BGP страшна не тем, что вы можете остаться без корневых узлов обслуживания, а тем, что в других странах есть люди, общение с которыми приносит нам огромную пользу.
https://freedomhouse.org/country/scores
Я бы сказал, что большую часть моей личной жизни нарушают американские компании. Я могу быть уверен, что моя страховая компания не покупает у третьих лиц данные обо мне и т. п.
Source: news.ycombinator.com