extern volatile world
555 subscribers
85 photos
1 video
4 files
192 links
Внешний мир, он занятный.

Меня зовут Дмитрий Богатов @KAction (или KAction@disroot.org), который #freebogatov и который история с выходным узлом Tor.
Download Telegram
Вероятно, суд присяжных, в котором было семь мужчин, действительно располагал доказательствами преступлений Ванштейна "beyound any reasonable doubt", что позволило признать его виновным по двум из пяти эпизодов.

Что меня удивляет, так это повествования, которые мешают в кучу такое

Однажды он просто набросился на меня. Это было последнее, чего я могла ожидать. … Он изнасиловал меня у вешалки в прихожей, серым утром, у меня дома
.

и такое

пригласил .... в номер отеля, где встретил голым и лежа в ванне.

Первое и правда звучит как состав преступления, а вот второе напоминает коммивояжеров: продал хуй -- хорошо, не продал -- пойдём дальше. Это разные вещи.
Forwarded from Babchenko
Forwarded from Беженка
Пикет у посольства РФ в Вашингтоне по случаю Дня рождения Азата Мифтахова.
#freeAzat
Программа на С в тридцать строчек, не использующая ни единой функции стандартной библиотеки имеет размер 13Kb. После некоторой доработки напильником выхлопа компилятора можно сделать 201 байт.

Оптимизирующие компиляторы, да. И это C. Rust, Go и Haskell ещё хуже.

http://kaction.cc/posts/2020-03-27_compiling_c_to_fasm.html
Сегодня я посмотрел пиксаровский мультик, в российском прокате называющийся "Вперёд". Ничего феноменального, но меня зацепил сеттинг и вступление.

Мир, в котором есть магия, но магия -- это сложно, поэтому электричество вытеснило магию огня, а водопровод -- магию воды.

А ещё я оставлю здесь историю времён магии и героев. http://www.catb.org/jargon/html/story-of-mel.html
По долгу службы мне приходится сталкиваться с разными омерзительными чудовищами, но сегодня меня опечалил Postgres.

Как известно, эта база данных умеет SSL, и, следовательно где-то на сервере должен храниться приватный ключ от сертификата. Так вот, если права на этот файл больше чем 0600, то база ругается и не запускается, ибо "небезопасно." И эту дурную проверку нельзя отключить иначе, чем патчем и пересборкой из исходников.

Проблема известна с 2007 года, но апстрим упрям как баран.

Так, ещё раз. Системный администратор всегда знает что, как и зачем он делает, По определению.

Mechanism, not policy.
Собирая из исходников документацию nginx я с грустью обнаружил, что её автор, проставляя ссылки полагал что /foo эквивалентен /foo/index.html. В случае file:/// это не так.

Ну и ещё в исходниках, не стесняясь, лежит xslt/ga.xslt, что напрочь отбивает желание общаться.
Если задуматься, то система безопасности в современных Unix системах держится исключительно на честном слове. Я сейчас не про сервисы, которые запускаются с правами выделенного юзера и обкладываются chroot, jail, namespace, seccomp и прочей радостью.

Я сейчас про те программы, которые используются в обыденной работе -- текстовый редактор, компилятор, почтовик, браузер. Каждая из этих программ запускается с правами kaction, наследует
переменную SRHT_ТOKEN, определённую в ~/.mksh и имеет возможность поковыряться в моих приватных ключах, не спрашивая разрешения. И -- это неплохо работает.

А теперь сравним это с Android или "современным" Web, где приложения должны спрашивать разрешения на каждый чих, и всё равно регулярно появляются новости о том, что-то куда-то утекло без санкции пользователя.

Почему так? Потому что идея запускать недоверенный код вообще дурная. Какую бы крепкую клетку вы ни сделали, периодически чудовища будут из неё вырываться. Может, просто не надо чудовищ создавать?
Когда-то давно, когда я только познакомился с идеей Free Software, мне захотелось нести свет и добро всем, на каждый компьютер. Каждая проприетарная программа на компьютере в зоне досягаемости воспринималася как личный вызов. В архивах можно найти мой дурацкий вопрос "как перевести человека с Acrobat Reader, если он не заинтересован" и вполне разумный ответ "А надо ли?", который я тогда не понял.

Я из прошлого, не столь успешно, как ubuntu и github, приводил в наш мир тех, чьим именем сейчас уничтожается прекрасный мир "by C programmers, for C programmers". Кажется, я тогда не знал выражения "freedom can only be taken, not given".

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

Когда-то мне эта точка зрения казалась ересью, но сегодня, будучи растоптанным вечным сентябрём 2.0, я её полность поддерживаю. На BET-50 было круто, после fina venko такого не будет.
В ассемблере fasm есть чудесная команда -- "if used". Она позволяет определить функцию или переменную так, что в конечный бинарник она войдёт только если она действительно используется.

Задача. Подобрать опции вашего любимого компилятора, чтобы скомпилированный бинарник вот этой программы

int magic[] = "bloat";
int main(void) {
return 0;
}

не содержал подстроки "bloat".
Какое-то время назад я попробовал поиграть с PureScript. Да, печеньки на тёмной стороне и правда вкусные. Язык с выразительность хаскеля и скоростью компиляции С.

Компилируется правда в JavaScript, но так на то она и тёмная сторона.
Когда-то давно SQL задумался как инструмент, который позволил бы бизнес-аналитикам самим обрабатывать данные и освободить их от зависимости от проклятых программистов. Именно поэтому, кстати, SQL настолько убог.

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

Когда речь идёт о программах на моём компьютере, я не вижу ничего плохого. В стандартной поставке оконный менеджер dwm поддерживает 9 рабочих пространств, а база данных postgres поддерживает идентификаторы длиной до 64 байт. В случае необходимости, перекомпилировать с другими константами не составляет труда, а такой подход упрощает код.

Совсем другое дело, когда такая хрень творится на другом конце провода.

Amazon Web Services (AWS) допускают не более 50 тегов на объект, длина тега не более 255 символов, виртуальная машина не может иметь более 6 групп безопасности, API позволяет делать групповые запросы, но не более 20 элементов в группе и так далее. Похоже, они там все больны.
Тема дня -- убийство Джорджа Флойда, и насчёт этого не может быть другого мнения -- преступление должно быть сурово наказано. Впрочем, я вегетарианец.

Безусловно, закон должен быть один на всех, и в отношениях человека и государства нет места вероятностям, лишь формула "beyound any reasonable doubt".

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

Не расизм, а априорная оценка.
Продолжим тему социальной справедливости. Вот тут есть занятная инициатива -- сайт с именами и фотографиями женщин в IT, призванный развенчивать стереотипы о женщинах в IT.

Открываем. И видим. Большинство в списке -- дизайнеры, UX/UI, project manager'ы, HR'ы, frontend'ы, маркетологи...

Окей, допустим настоящим програмисткам нет дела до такой фигни, вместо этого они ...

Хм, а что они делают? ESR, RMS, djb -- мужчины. Создатели Perl, Python, C, C++, PHP -- мужчины. 100% разработчиков с которыми я работал -- как upstream, так и Debian -- мужчины.

В общем, я остаюсь при мнении что девочка в IT это нечто, кхм, HR-образное. И вновь, не шовинизм, а априорная оценка.

https://8march.ruvds.com

И нет, я не считаю что с этим надо что-то делать. Проблема не в нехватке программистов, проблема в вымирании настоящих программистов. И я не вижу почему из девочек оные должны получаться лучше.
У меня какое-то время назад не сложился диалог со знакомым анархистом. Он говорил про равенство и правильной реализации коммунизма, а я предложил ему следующий мысленный эксперимент:

Допустим у нас есть два человека, один строго лучше другого.

Тут он меня перебил и сказал что людей нельзя сравнивать. Собственно, поэтому диалог и не удался, потому-что мне кажется самоочевидным, что если сделать точную копию меня, но только дополнительно умеющую вышивать крестиком, то получится человек строго лучше меня.

В один период моей жизни я лично знал человека, превосходящего меня во всём. Впрочем, это оффтоп.

Я ненавижу текущее положение дел, при котором создатель git находится в пищевой цепочке капитализма ниже чем человек, изуродовавший git для потребления массами, но идея что людей нельзя сравнивать вообще мне кажется абсурдной.

Или я опять чего-то не понял?
Последние несколько дней я урывками собираю LFS, и потихоньку начинаю приходить к мысле, что autotools это зло.

./configure уже раз пятнадцать проверил наличие каждой функции, и без того гарантированной C99 или POSIX, а также наличие всех библиотек зависимостей. Это чудовищно медленно.

Мне больше нравится подход Linux и других проектов, которые поставляют только Makefile. Если компиляция ругается на отсутствующий заголовочный файл, то выводы очевидны, дальнейшие действия тоже.
Один из читателей провел работу и любезно предоставил список женщин программисток. Десяток за всю эпоху. Десяток, заслуживающий уважения, но теряющийся в толпе "женщин от IT".
Forwarded from Raccoon kun⛧
Дмитрий, привет. Хотел вставить свои две копеечки по поводу женщин в айти — так как в своё время как раз кидал друзьям примеры женщин, чья работа была достаточно фундаментальной, а не пресловутыми фронтендом, дизайном и менеджментом. Я не отрицаю, что таких немного (как, впрочем, и мужчин — пропорционально к армии смузи-стартаперов с монстроидальными фреймворками), но это не умаляет их заслуг и они не заслуживают быть забытыми :) На процитированной тобой странице тоже хватает как минимум бэкендерш, хоть они и немного теряются в общем списке.

Enigma codebreaking:
https://en.wikipedia.org/wiki/Joan_Clarke
https://en.wikipedia.org/wiki/Joyce_Aylard

ENIAC:
https://en.wikipedia.org/wiki/Adele_Goldstine
и её команда — Marlyn Meltzer, Betty Holberton, Kathleen Antonelli, Ruth Teitelbaum, Jean Bartik, Frances Spence, ссылки на страницы которых есть на странице Адель

COBOL:
https://en.wikipedia.org/wiki/Grace_Hopper
("Following her retirement from the Navy, she was hired as a senior consultant to Digital Equipment Corporation (DEC). Hopper was initially offered the job position by Rita Yavinsky, but she insisted on applying for the position at DEC, and going through the typical formal interview process.")
https://en.wikipedia.org/wiki/Jean_E._Sammet

Networking:
https://en.wikipedia.org/wiki/Radia_Perlman

CLU:
https://en.wikipedia.org/wiki/Barbara_Liskov
(«CLU might be the most influential language that nobody’s ever heard of. Iterators? CLU. Abstract data types? CLU. Generics? CLU. Checked exceptions? CLU.

We didn’t adopt the same terminology, so it’s not 100% obvious it all comes from CLU, but still. Every language spec for the next decade would namedrop CLU. CLU did a lot.

CLU was a showcase language; Liskov wanted to get people to adopt her ideas, not her specific language. And they did: almost every language today owes something to CLU. As soon as she completed CLU she moved on to Argus, which was supposed to showcase her ideas on concurrency. That hasn’t seen nearly the same adoption, and there’s still a lot of stuff in it left to mine.»)