vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2015-07-25 07:56 am

Complexity hides insecurity

Похоже, что желание создать нормальное Free Software, в смысле, такое, которое пользователь действительно свободен модифицировать, потому что способен понять, таки начинает у народа возникать.

Вот, например, Tomb, юзер-френдли инструмент для создания криптованных дисков, написанный на shell. Под лозунгом complexity hides insecurity.

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

Но в общем и целом подход вполне заслуживает внимания.

[identity profile] otstavnov.com (from livejournal.com) 2015-07-25 07:08 am (UTC)(link)
Если заставить писать для всего, что есть в системе, привязки на языке X (в том смысле, в котором "утилита" является "привязкой" к шеллу), разумеется, ты можешь запустить исполнение чего угодно параллельно с односторонней передачей данных, если в X в принципе есть такие средства. Очевидная же вещь. (Менее очевидные и более смешные вещи будут при двусторонней передаче, на чем сценарные языки для GUI и ломаются).

При чем здесь переменные, я не понимаю, в функциональном стиле полвека без них пишем, и не всегда получается более высокоуровнево.

[identity profile] otstavnov.com (from livejournal.com) 2015-07-25 07:55 am (UTC)(link)
Я "заставить" имел в виду только в том смысле, в котором утилита может быть запущены родной конструкцией шелл. (пока Поттеринг rundll для GNU/Linux не придумал.) Мы просто не называем утилитой (ОС) то, что не может быть так запущено. Это логическое принуждение, а не введение какой-то несвободы.

По поводу второго: ты совершенно прав.

[identity profile] otstavnov.com (from livejournal.com) 2015-07-25 09:13 am (UTC)(link)
На сегодня я думаю, что ближайшим аналогом модели печатающего оператора и конвейеров в линейной среде для нелинейной среды может быть акторная (в том виде, до которого ее дотянули в эрланге или акке), а не недообъектная à la си++ и ява (остатки которой мне мерещатся в ява/ЭКМАскрипте, хотя я здесь могу просто ошибаться ввиду недоученности).

При этом я бы очень удивился синтаксису, обеспечивающему такую семантику и сопоставимому по фундаментальной простоте с шеллом. А некоторые моменты с безопасностью в акторной модели, действительно, решались бы (если бы акка не на JVM была реализована).
Edited 2015-07-25 09:19 (UTC)

[personal profile] ramendik 2015-07-25 10:05 pm (UTC)(link)
Идея заменить утилиты на что-то вроде модулей более строгого языка, была еще в Oberon-системе у Вирта. Не выстрелило.

Аргумент от рынка, у тебя? Или я чего-то не понял?

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