Инго Шварц (Ingo Schwarze) из команды разработчиков OpenBSD обнаружил (http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/head/he... и исправил (http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/head/he... занимательную ошибку в утилите head, которая была допущена Биллом Джоем (https://ru.wikipedia.org/wiki/%D0%94%D0%... в 1977 году и позднее перекочевала в системы 1BSD и 4.4BSD. Ошибка связана с нецелевым использованием функции freopen, что приводило к проблемам при выполнении конструкций вида "date | head file1 /dev/stdin".URL: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/head/he...
Новость: http://www.opennet.me/opennews/art.shtml?num=40779
Даёшь ошибку '70-го года!
Вот вы. Какого года рождения?
> Вот вы. Какого года рождения?Нет, не '70.
Я 1970!
И я тоже :) И сдаётся мне кто такой Билл Джой только мы с тобой и помним :)
> И я тоже :) И сдаётся мне кто такой Билл Джой только
> мы с тобой и помним :)раздутое самомнение — это плохо.
ну вот и наступило у нас в СПО время, когда круто найти не самую вездесущую ремотную дыру, а найти самую древнюю, ископаемую ошибку :)
А в openbsd нашли баг 10-летней давности, позволяющий потенциально организовать DoS атаку на некоторые программы.
> ну вот и наступило у нас в СПО время, когда круто найтиУ Вас. У _нас это забавно. И познавательно: могут же люди.
> не самую вездесущую ремотную дыру, а найти самую древнюю, ископаемую ошибку :)
Вы уверены, что вы знаете, как нужно использовать слово "вездесущий"?
Забавно найти код, который за 30 лет не прочел ни один глаз соединенный с мозгом, но говорить, что потенциально все ошибки в открытых программах могут быть найдены ))
> глаз соединенный с мозгомГлаз - часть мозга.
> Глаз - часть мозга.Beholder, залогинься!
Это у тебя стакан наполовину пуст. :) А как по мне доказано что все ошибки рано или поздно найдут и пришпилят :)
С 77-го года 1-й раз кому-то понадобилось выполнить такую конструкцию.
> by merging Keith Bostic's 22 year old fix from 4.4BSDТо есть ошибка на самом деле оставалась незамеченной 1977 — 1922, то есть всего лишть 15 лет ☺
ой, лол, 1992, конечно
Эта ошибка старше меня.Сие означает, что для минимума ошибок сам факт СПО недостаточен. Необходимы нормальные языки для разработки и нормальная методология разработки, верификации софта.
А ничего, что ошибка 77го была пофикшена в 92ом? Это скорее недосмотр мейнтейнеров.
А с 92 её исправили только сейчас. Итого 22 года.
Увы, в FOSS ничего не должны - кто как может, так и пишет.
Уже в нос тычешь - вот, язык Ди - с проверками, тест-модулями, автоматической памятью - но нет, продолжают говнокодить таймбомбы на С++! Как с таким бороться?! :(
D хорош, не спорю. Но чтобы на плюсах клепать тайм-бомбы - надо стараться, это не си всё-таки, контейнеры/RAII/умные указатели решают. Если понимать пару концепций (ownership/передача по ссылке vs копирование/move-семантика) - то всё более-менее нормально. Ну и динамический полиморфизм не абузить, благо в реальности он редко когда нужен.
> D хорош, не спорю.Оно не взлетело. Отпусти и забудь.
> Но чтобы на плюсах клепать тайм-бомбы - надо стараться,
Надо стараться чтобы _не_ клепать. На любом езЫге, дурка.
>это не си всё-таки, контейнеры/RAII/умные указатели решают.
... [бред и порно вырезано, сюда школьники зашодят] ...
ну и -
mega_facepalm.png
>Оно не взлетело. Отпусти и забудь.Это у вас не взлетело, а у нас умелец имеется. Пишет программы с асинхронным вводом-выводом. Сдаётся мне, что на D написать nginx можно значительно быстрее и качественнее, чем это получилось у Сысоева. Но некоторым некогда пилу точить - им нужно стругать код, вот они по инерции и выражаются в стиле "отпусти и забудь".
> Пишет программы с асинхронным вводом-выводом.Ахренеть какие mad skillz. И конечно без языка Ды их писать совершенно невозможно.
>> Пишет программы с асинхронным вводом-выводом.
> Ахренеть какие mad skillz. И конечно без языка Ды их писать совершенно
> невозможно.Возможно, но читается и отлаживается это обычно гораздо сложнее. В языке есть встроенная поддержка сопрограмм. При попытке чтения или записи сопрограмма блокируется до момента готовности данных или выполнения операции, в этот момент запускается другая сопрограмма - готовая к выполнению. Всё это - на уровне языка, с правильной обработкой исключений (исключение попадает в ту сопрограмму, где оно возникло), с возможностью видеть стек вызовов без внутренностей асинхронной библиотеки. При всём при том язык компилируется в нативный код. Это не интерпретируемое фуфло с лапшой из коллбэков, как в попсовых Node.js или Twisted/Tornado.
Сколько слов, красивых и правильных!
А в сухом остатке - как ТЫ САМ верно заметил, nginx-ы делают на Сях :)
А на дЫ - вообще ничего не делают. Карма. Он не первый и не последний, увы.
nginx сделали не на дях, но и не на крестах. Почему? Говорит ли это о преимуществах чистых сей перед крестами?Вообще - я сказал достаточно для тех, кто не имеет предубеждений и открыт для нового. Переубеждать упёртых я не собирался.
> nginx сделали не на дях, но и не на крестах. Почему? Говорит
> ли это о преимуществах чистых сей перед крестами?Зубы не заговаривай школота :)Вопрос был не почему не на С++, а почему не на D.
А так да, вроде и невеста - не лошадь страшная, а вот поди-ж ты :)> Вообще - я сказал достаточно для тех, кто не имеет предубеждений и
> открыт для нового. Переубеждать упёртых я не собирался.Да слабо тебе школота. "Упертые" сделали всё что ты видишь вокруг. И они почемуто :) не хотят на Ди. Переубедить просто - возьми свой Ди и сделай че нить такое чтобы даже до упертых дошло. Вот как своё время руби считался студенческой поделкой (как по мне он ей и остался) а потом, те кому он нравился - сделали RoR ... После этого самые упертые увидели что оно хоть и не идеально, но хоть на что то годно...
НА ДИ НЕ СДЕЛАЛИ ____НИЧЕГО____
Хотя язык куда как лучше рябы.
> Да слабо тебе школота.[...]
> Хотя язык [D] куда как лучше рябы.Нешколота сравнивает тёплое с мягким. Фоновый, масло.
> НА ДИ НЕ СДЕЛАЛИ ____НИЧЕГО____обожаю Анонимных Ыкспердов. «я не видел — значит, не существует!»
впрочем, я рад, что ты считаешь D «не влетевшим». значит, как минимум один идиот к нам не придёт.
Это интересно. Есть ли дока, где приводятся примеры преимуществ D перед другими языками?
> Это интересно. Есть ли дока, где приводятся примеры преимуществ D перед другими
> языками?нет. D плохой. очень плохой. неудобный. нерабочий. даже «приветмир» падает. не смотри на D, пожалуйста. не надо.
>Это у вас не взлетело,У всех не взлетело. Доказательство:
>а у нас умелец имеется. Пишет программы с асинхронным вводом-выводом.
Угу. Целый один!
А у нас целый отдел на жабе пишет то же самое, но почему то никто это за high-tech не держит :-\
> А у нас целый отдел на жабе пишет то же самое, но
> почему то никто это за high-tech не держит :-\Девять женщин за месяц не родят одного ребёнка.
И весь ваш отдел не сможет на жабе написать прямой аналог nginx. Да, они смогут написать асинхронный веб-сервер, но это будет блоатваре, для работы которого понадобится мощный сервер (может быть даже не один) и коллектив админов, разбирающийся во всяких сортах jvm, maven и т.п.
На дях можно написать аналог nginx и это будет бинарник, не требующий установки, работающий на слабой машине и могущий прожевать столько нагрузки, сколько жабе на том же железе прожевать не под силу.
Конечно жаба - не хайтек. Это просто технология. Применяется она в "серьёзных" конторах по той простой причине, что под неё есть много взаимозаменяемых дешёвых быдлокодеров. Как и под похапэ, как и под бидон. Ах да, жаба от них отличается тем, что у неё есть "серьёзные" конторы, у которых можно купить техподдержку. Вот потому именно жаба, а не похапэ, бидон, руби, перл, лисп или ди.
> А у нас целый отдел на жабе пишет то же самое, но
> почему то никто это за high-tech не держит :-\ну так потому что это не хайтех, а тормозное прожорливое жабогуано. самый что ни на есть лоутех.
> Увы, в FOSS ничего не должны - кто как может, так и пишет.[излив души слит]
> с таким бороться?! :(Просто. Очень просто! Берешь правильный езЫг и _негoвнoкoдишь_, переписываешь всё нафиг, и показываешь слабакам красоту и корректность своего кода!
Делов то!
Ну как - сделаешь или ... как обычно?
Они решили переплюнуть Иксы?