brain fart


brain fart , сущ. Результат появления умственного заскока (см. braino). Например, когда человек, пообщавшись с DOS, набирает dir в системе UNIX. brand_brand_brand (факел, сигнал; brand car – автомобиль новейшей марки, сигнальный экземпляр), сущ. Шутливая присказка из игр типа BartleMUD, в которых каждый игрок по правилам должен иметь в своем распоряжении набор предметов, и чаше остальных в этот список входит факел (brand), необходимый для освещения всевозможных подземелий, где большей частью проходит действие игры. Часто как шутка используется в режиме трепа (см. talk mode), примерно как в следующем примере: «Фред, смотри, появился волшебник, несущий в руках факел рубин факел факел факел компас палаш огнетушитель». Возможно, навеяно известной пародией Монти Питона «Spam». break-even_point (точка прорыва), сущ. Обозначает этап в процессе разработки нового языка программирования, на котором этот язык становится настолько эффективным, что его можно написать на нем самом. Поясним. Допустим, гипотетически, что есть новый язык, который называется FOOGOL. «Breakeven point» наступает для него тогда, когда можно написать демонстрационный компилятор FOOGOLa на FOOGOLe, отбросить первоначальный язык и, впоследствии, использовать рабочие версии языка для написания новых. Break-even point – это важная веха в истории языка. См. MFTL. После первого издания словаря хакера несколько наших корреспондентов поведали о том, что, действительно, существовал компилятор какого-то крошечного, похожего на Algol языка, который назывался FOOGOL. Он использовался на многочисленных vaxen в начале 80-х годов. Поэтому вышеизложенный пример, как оказалось, совсем не гипотетический. – прим. ESR] briano /bray'no/, сущ. Синоним thinko. См. также brain fart. broadcast_storm (широковещательная буря). Адресованный всем пользователям сети некорректно сформированный пакет,который вынуждает центральные сетевые машины дать на него ответ, который, в свою очередь, тоже некорректен -и в сети возникает настоящий ураган из таких пакетов. См. network meltdown. broken_arrow (сломанная стрела) [IBM]. Код ошибки, появляющийся на 25-й строке терминала 3270 (или на эмулирующем его терминале PC) для различных типов протокольных ошибок и «неожидаемых» особых состояний (куда входят и попытки подсоединения к отключенной машине). На IBM PC обозначается как «->/_», только в отличие от приведенной картинки два центральных символа соприкасаются друг с другом. В лучших лузерских (см. luser) традициях документация по этим кодам ошибок, которая необходима программистам для отладки многих сетевых проблем, была засунута в руководство по технической эксплуатации.Небольшое замечание. Чтобы лучше понять этот термин, невредно знать, что «broken arrow» встречается и в армейском жаргоне, обозначая военные действия с применением ядерного оружия... brute_force (грубая сила), прил. Описывает примитивный стиль программирования, в котором программист вместо того, чтобы пользоваться собственным серым веществом, больше уповает на вычислительную мощность компьютера; при этом он часто игнорирует проблемы размерности и пытается разрабатывать большие проекты методами, которые годятся только для решения небольших задач.Канонический (см. canonical) пример алгоритма с применением грубой силы дает нам так называемая задача о разъездах коммивояжера, классическая NP-полная задача. Предположим, что коммивояжер находится в Бостоне и ему надо посетить TV других городов. Какой оптимальный по расстоянию и, следовательно, по времени маршрут он должен выбрать? Если действовать с позиций грубой силы, то достаточно просчитать все возможные варианты маршрутов и выбрать из них самый короткий. Хотя такой алгоритм гарантированно приведет к желаемому результату и очень прост в реализации, очевидно, что он абсолютно бездарен, поскольку ведет к выполнению большого количества ненужной работы: он будет просчитывать и такие абсурдные маршруты, как из Бостона в Хьюстон через Сан-Франциско и Нью-Йорк. Для небольших N алгоритм работает хорошо, но по мере увеличения N он становится совершенно неэффективным (для N = 15 ему придется просчитать 1 307 674 368 000 возможных маршрутов, а для N = 100 – см. bignum). См. также NP-. Еще более простой пример программирования с применением грубой силы для нахождения минимального числа в большом списке заключается в сортировке списка по возрастанию с помощью готовых программ сортировки, и первое число в результирующем списке будет искомым. В каждом конкретном случае программист сам должен решать, использовать ему алгоритм с применением «грубой силы» или нет. Если задача не очень большая, то может оказаться, что разработка более интеллектуального алгоритма обойдется гораздо дороже, чем процессорное время, затраченное на «лишнюю» работу по «тупому» алгоритму. Кроме того, отладка и вылавливание ошибок в программе со сложным алгоритмом тоже займут какое-то время, тем самым сводя на нет выигрыш в скорости. Кену Томпсону, одному из разработчиков операционной системы UNIX, принадлежит знаменитый афоризм: «Если не знаешь, что выбрать – выбирай грубую силу». Возможно, это изречение из серии «ха-ха, но только всерьез» (см. ha ha only serious), но тем не менее огромная популярность UNIXa в немалой степени определяется простотой, надежностью и переносимостью алгоритмов его ядра, что выгодно отличает UNIX от других систем, в которых используются более хрупкие (см. brittle) «интеллектуальные» алгоритмы. Подобно многим другим проблемам, возникающим на этапе разработки программы, выбор между грубой силой и «умствованием» – дело очень тонкое, для которого нет единых рецептов. Здесь скорее пригодятся опыт, внутреннее чутье и умение просчитывать варианты. buaf [из alt .fan. war lord], сущ. Сокращение от Big Ugly ASCII Font (Огромный и Безобразный ASCII Фот) – особая форма ASCII искусства (см. ASCII ART). Существуют различные программы для преобразования текстовых строк в псевдотекстовые символы высотой в 4-6 точек (что меньше, чем буквы, которые создаются старыми версиями программ типа banner). Эти символы иногда используются для преобразования какого-нибудь имени в sig blocke. См. также warlording. buffer_overflow (переполнение буфера), сущ. То, что с неизбежностью происходит при попытке засунуть в буфер больше, чем тот может переварить. Иногда возникает из-за несогласованности по скорости между процессами, ответственными за наполнение и опустошение буфера (см. overrun), иногда причина в том, что для буфера зарезервировано слишком мало места и он не в состоянии вместить все поступающие данные. Например, если в программе, которая занимается построчной обработкой текста, зарезервирован короткий буфер, то любая длинная строка вызовет переполнение и запортит данные за пределами буфера. Хорошим стилем в программировании считаются такие алгоритмы, в которых предусмотрена проверка буфера на переполнение каждый раз, когда принимается очередной символ, и прием тут же приостанавливается, как только буфер наполняется. Термин может использоваться и в житейских ситуациях: «Если мне придется отвечать на этот звонок, мой буфер переполнится.» или «Как я могу встретиться с тобой, если мой буфер уже переполнен?!» См. также spam, overrun screw. bug-for-bug_compatible сущ. То же самое, что и bug-compatible, но при этом много сил тратится на то, чтобы в новой версии повторить буквально каждый баг из обнаруженных в старой.