Лучшие шутки программистов (Best Programming Jokes)

Молодой Программист и его Проектный менеджер сели на поезд, направляющийся через горы в городок Уичито (Канзас). Они не нашли больше мест, чтобы сесть, кроме двух сидений прямо через проход от молодой девушки и ее бабушки. Через некоторое время было очевидно, что молодая женщина и молодой программист заинтересованны друг в друге, потому что они постоянно друг на друга поглядывали. Вскоре поезд вошел в туннель и наступила кромешная тьма. Послышался звук поцелуя и следующий за ним звук пощечины.

Когда поезд выехал из туннеля, все четверо сидели, не говоря ни слова. Бабуля думала себе: "Это было довольно дерзко и смело для такого молодого человека, поцеловать мою внучку, но я рада, что она наградила его пощечиной".

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

Юная леди сидела и думала: "Я рада, что парень поцеловал меня, но жалко, что бабушка дала ему пощечину!"

Юный программист сидел с удовлетворенной улыбкой на лице. Он думал себе: "Жизнь хороша. Как часто парню выдается шанс поцеловать красивую девушку и врезать своему Проектному менеджеру в одно и то же время"

--

A young Programmer and his Project Manager board a train headed through the mountains on its way to Wichita. They can find no place to sit except for two seats right across the aisle from a young woman and her grandmother. After a while, it is obvious that the young woman and the young programmer are interested in each other, because they are giving each other looks. Soon the train passes into a tunnel and it is pitch black. There is a sound of a kiss followed by the sound of a slap.
When the train emerges from the tunnel, the four sit there without saying a word. The grandmother is thinking to herself, “It was very brash for that young man to kiss my granddaughter, but I’m glad she slapped him.”
The Project manager is sitting there thinking, “I didn’t know the young tech was brave enough to kiss the girl, but I sure wish she hadn’t missed him when she slapped me!”
The young woman was sitting and thinking, “I’m glad the guy kissed me, but I wish my grandmother had not slapped him!”
The young programmer sat there with a satisfied smile on his face. He thought to himself, “Life is good. How often does a guy have the chance to kiss a beautiful girl and slap his Project manager all at the same time!”
~~~~~~~~~~~~~~~~~~~~~~~~~
A computer science student is studying under a tree and another pulls up on a flashy new bike. The first student asks, “Where’d you get that?”
The student on the bike replies, “While I was studying outside, a beautiful girl pulled up on her bike. She took off all her clothes and said, ‘You can have anything you want’.”
The first student responds, “Good choice! Her clothes probably wouldn’t have fit you.”
~~~~~~~~~~~~~~~~~~~~~~~~~
If you put a million monkeys at a million keyboards, one of them will eventually write a Java program.
The rest of them will write Perl programs.
~~~~~~~~~~~~~~~~~~~~~~~~~

Закон Дырявых Абстракций


Автор: Джоэл Сполски
Переводчик: Семён Хавкин
Редактор: Маргарита Исаева
23 марта 2000

Есть в Интернете инженерное волшебство, на работу которого мы с вами полагаемся каждый день. Оно заключено в сетевом протоколе TCP, одном из основных кирпичей, из которых выстроен Интернет.
TCP — способ пересылки данных, который считаетсянадёжным. Это значит: если вы с его помощью отсылаете сообшение по сети, оно обязательно прибудет на место в неискажённом виде.
Мы все пользуемся TCP для повседневных нужд: загрузить страничку с веба, послать электронную почту. Надёжность TCP позволяет всякому Остапу Бендеру из Восточной Африки рассылать по миру спам наивысшего качества. О счастье, о радость!
Посмотрим теперь на другой, ненадёжный, метод пересылки данных под названием IP. Тут уже никто не обещает, что посылка доедет до места назначения, и что по дороге с ней ничего не случится. Отправляя через IP кучу сообщений, не удивляйтесь, если половина из них потеряется, а из остальных часть окажется совсем не тем, что посылалось: может, они будут содержать фотографии прелестных котят, но скорее всего — просто нечитаемый мусор, вроде столь любимого нами всеми тайваньского спама.
Волшебство же состоит в том, что TCP основан на IP. Иными словами, TCP обязуется работать надёжно, используя лишь ненадёжные детали.
Для иллюстрации волшебства, рассмотрим аналогичный, хотя и не вполне обычный, сценарий из реальной жизни.
Предположим, некая дама отправляла подводами из Петербурга в Москву диван, чемодан, саквояж и т.д. Часть подвод сломалась и до Москвы не доехала. Часть подвод опрокинулась по пути, разбив картину, картонку и зеркала. Подводы добирались до Москвы не в том порядке, в каком выезжали из Петербурга, поскольку некоторых задержали страшные лесные разбойники, и вообще возницы выбирали разные маршруты. А теперь представим, что даме предлагается новая услуга: Красная Стрела, которая гарантирует, что багаж (а) прибудет на место (б) в целости и сохранности (в) и в нужном порядке. Но волшебным образом Красная Стрела не использует, как вы подумали, железной дороги, а нанимает тех самых возниц с подводами. Красная Стрела организует работу возниц следующим образом. Состояние багажа каждой подводы тщательно проверяется. В случае повреждения диван, чемодан и проч. заменяются со склада точно такими же. Подводы выстраиваются в правильном порядке. Если страшные лесные разбойники сумели захватить Бологое и перерезать дорогу, то Красная Стрела перенаправляет подводы другим путём, и дама ничего не подозревает. Ей просто кажется, что багаж прибывает немного медленнее, чем обычно; а об ужасных событиях в Бологом даме знать необязательно.
Примерно так TCP и работает. По-учёному это называетсяабстракция: упрощённое описание процесса, механизм которого остаётся скрытым. На самом деле, значительная часть программирования заключается в построении абстракций. Что такое, допустим, строковая библиотека? Это способ сделать вид, что компьютеры умеют легко работать со строками, яко бы с числами. Что такое файловая система? Это способ сделать вид, что жёсткий диск состоит не из быстро вращающихся намагниченных тарелок, которые умеют сохранять биты в определённых местах, а якобы представляет из себя иерархическую систему папок внутри папок, внутри которых отдельные файлы содержат, в свою очередь, байтовые цепочки.
Вернёмся к TCP. Я тут для простоты слегка загнул, и у кого-то, может быть, от этого уже пар из ушей пошёл. Короче, я сказал, будто TCP гарантирует, что сообщение прибудет на место. На самом деле, это не так. Если ваш любимый хомячок перегрызёт сетевой кабель, так что никакие пакеты IP не дойдут до компьютера, то TCP ничего не сможет поделать, и сообщение не придёт. Если же вы поругались с сетевым администратором, который в отместку включил ваш компьютер в перегруженный хаб, то много пакетов IP потеряется, и хотя TCP будет работать, но так медленно, что за время пути собачка, сами понимаете, того.
Вот это я и называю дырявой абстракцией. TCP пытается абстрагироваться от ненадёжной сети полностью, но иногда эта сеть все-таки просвечивает сквозь дыры в абстракции, так что абстракция не всегда защищает от необходимости иметь дело с глубокими подробностями. Это всего лишь один пример того, что я назвал Законом Дырявых Абстракций:
Все нетривиальные абстракции дырявы.
В абстракциях обнаруживаются дыры. В одних немного, в других целая куча. Эти дыры постоянно просвечивают, протекают, абстракции не срабатывают. Вот ещё примеры.
  • Простой пример: итерация по большому двумерному массиву может идти с совершенно разной скоростью, смотря как он обходится: горизонтально или вертикально. Как и в случае с поленом, которое легче раскалывать вдоль волокна, а не поперёк, одно направление может вызывать значительно большеотказов памяти, чем другое, а отказы обслуживаются долго. Даже программистам на ассемблере приходится делать вид, что у компьютера большая плоская память, но в системе виртуальной памяти это всего лишь абстракция, в которой при отказе памяти образуется дырка, так что отдельные обращения к памяти могут занимать значительно больше наносекунд, чем обычно.
  • Язык SQL был создан, чтобы абстрагироваться от процедурных шагов, нужных для запросов к базе данных. Вместо этого он позволяет описать, что именно запрашивается, и пусть база данных сама догадается, какие процедурные шаги для этого нужны. Но в иных случаях некоторые запросы SQL в тысячи раз медленнее, чем другие, логически им эквивалентные. Известный пример: некоторые сервера SQL значительно быстрее отрабатывают запрос where a=b and b=c and a=c , чем where a=b and b=c , хотя результат, конечно, тот же самый. Программисту на SQL вроде бы и не следует заботиться о процедуре, только о спецификациях. Но иногда абстракция протекает, что приводит к страшным потерям в производительности, так что приходится лезть во внутренности планировщика запросов и смотреть, что там не так, и как заставить его работать эффективнее.
  • Хотя сетевые библиотеки, вроде NFS и SMB, позволяют работать с файлами на других машинах как на своей, иногда связь становится очень медленной или просто падает, и дальний файл перестаёт прикидываться местным; а ведь программисту надо писать код так, чтобы и в этой ситуации всё работало. Значит, в абстракции "всё равно, где лежит этот файл" естьдырки.Вот пример для системных администраторов Юникса. Если домашние директории лежат на дисках, подмонтированных по NFS (одна абстракция), а пользователи создают файлы .forward для автоматической пересылки почты в другое место (вторая абстракция), и сервер NFS падает, а почта всё прибывает, то никуда она не перешлётся, поскольку файл .forward будет недоступен. Так сквозь дырку в абстракции письма могут просыпаться на пол.
  • Строковые классы должны представлять строчки в виде граждан первого класса. Они абстрагируются от того, что строки — штуки сложные, и дают возможность работать с ними легко, ну прям как с числами. Почти все строковые классы C++ перегружают оператор +, и для конкатенации строчек можно писать s+"bar". Но как ни старайся, никакой на свете строковый класс C++ не даст вам написать"foo"+"bar", поскольку строковые литералы в C++ всегда имеют тип char*, а не string. Абстракция прохудилась так, что языком C++ её не заткнёшь. (Интересно, что историю развития C++ можно описать как историю затыкания дырок в абстракции строк. Уж не знаю, отчего бы не добавить к языку элементарный класс строчек.)
  • И ещё: несмотря на дворники, мощные фары, крышу и обогреватель, которые защищают (абстрагируют) от непогоды, под дождём быстро ехать нельзя; приходится иметь дело с водяной подушкой, а иногда ливень такой, что на дороге ничего не видно, и надо остановиться; так что и погоду, из-за закона дырявых абстракций, полностью не абстрагируешь.
Закон дырявых абстракций означает, к сожалению, что абстракции не так сильно упрощают нашу жизнь, как хотелось бы. Если я обучаю программистов C++, было бы здорово, если бы мне не нужно было рассказывать им проchar* и арифметику указателей, а можно было сразу перейти к строкам из стандартной библиотеки темплейтов. Но в один прекрасный день они напишут "foo"+"bar", и возникнут странные проблемы, а мне придётся всё равно объяснить им, что такое char*. Или они попытаются вызвать функцию Windows с параметром типа LPTSTR и не смогут, пока не выучат char* и указатели и Юникод и wchar_t и хедерные файлы TCHAR — все то, что просвечивает через дырки в абстракциях.
Когда я обучаю кого-то программированию COM, было бы здорово ограничиться визардом Студии и автоматической генерацией кода, но если что-то выйдет не так, у них не будет ни малейшего понятия, что случилось и как это исправить. Значит, надо рассказывать им про IUknown иCLSID и ProgIDS и... о боги!
При обучении программистов ASP.NET было бы здорово сказать: мол, дважды кликните мышом на штучку, а затем пишите код, который должен отрабатываться на сервере, когда пользователь кликнет на эту штучку. И правда, ASP.NET абстрагирует разницу между написанием кода HTML для отработки нажатия на гиперссылку (<a>) и кода для отработки нажатия на рисованную клавишу. Проблема: разработчикам ASP.NET пришлось скрыть тот факт, что в HTML нету способа отсылать форму из гиперлинка. Они обходят это, генерируя несколько строчек на JavaScript и добавляя к гиперлинку функцию onclick. Но эта абстракция дырява. Если пользователь отключит JavaScript, то приложение на ASP.NET не будет правильно работать; и если программист не знает, что именно абстрагировалось ASP.NET'ом, он не поймёт, в чём там дело. Из-за закона дырявых абстракций вот что получается: придумает кто-нибудь чудесный новый генератор кода, с которым у программиста работа наконец-то станет эффективной, а ему и говорят: "Сперва научись делать это руками, а потом уж пользуйся генератором, чтобы сэкономить время". Генераторы кода, абстрагирующие разработку кусков кода, так же дырявы, как и все прочие абстракции. А единственный компетентный способ залатать эти дыры - выучить, как работают абстракции, и какие подробности они скрывают. Итак, абстракции экономят наше рабочее время, но не экономят учебное время.
Отсюда парадоксальное следствие: в то время как инструментарий программиста забирается на всё более высокие уровни сложности со всё более развитыми абстракциями, подготовить высококвалифицированного программиста становится всё труднее.
Во время мой первой стажировки в Microsoft я писал строковые библиотеки для Макинтоша. Типичное задание: написать версию функции strcat, которая возвращает указатель на конец новой строки. Несколько строчек кода на C. Всё, что я делал, пришло прямо со страниц К&Р, одной тоненькой книжки про язык C.
Сегодня же для работы над CityDesk'ом мне нужно знать Вижуал Бэйсик, COM, ATL, C++, InnoSetup, внутренности Эксплорера, регулярные выражения (RegExp), DOM, HTML, CSS и XML. Всё это инструменты более высокого уровня по сравнению со старым K&Р, а всё ж таки мне и его надо знать, не то беда.
Десять лет назад можно было мечтать, что на сегодняшний день новые компьютерные концепции облегчат труд программиста. И правда: созданные за эти годы абстракции позволяют работать с проектами на порядки более сложными, чем десять или пятнадцать лет назад, типа программирования GUI и сетевого программирования. Но хотя замечательные инструменты, вроде современных объектных языков визуальных форм, позволяют сделать много и очень быстро, вдруг в один злосчастный день приходится искать течь в абстракции, и на это уходит пара недель. А когда вам нужно найти себе программиста восновном на Вижуал Бэйсике, совершенно недостаточно нанять программиста только на Вижуал Бэйсике, потому что каждый раз, когда абстракции Бэйсика потекут, он не сможет сделать ни шага.
Закон дырявых абстракций крепко держит нас за штаны.
Комментарии переводчика:
*) Отказ памяти у компьютеров происходит, когда искомого не находится в ближней памяти, и приходится лезть за ним в память более далёкую. Это может происходить на различных уровнях иерархии: если нужной информации нет в кэше, надо обращаться в оперативную память, при отказе оперативной памяти — во вторичную память (например, жёсткий диск), и так далее. Такой процесс проваливания на следующие уровни стоило бы по-русски назвать провалами памяти, но увы.
*) К&Р — так программисты нежно называют классическую книжку Кернигана и Ричи, «Язык программирования C». Джоель использует этот термин и в более широком смысле - как стиль программирования.

Текут абстракции? Хотите знать, почему?


Часто в обсуждениях или даже статьях можно встретить понятие «Дырявые (или протекающие) абстракции», которое описал в своей статье Джоэл Спольски. Понятие обычно применяется в моменты, когда что-то перестает работать, начинает выполняться очень медленно или совсем ломается.

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

С одной стороны, Спольски на примерах показал, что множество вещей могут течь. С другой стороны, к сожалению, он не указал истинных причин появления протечек и не попытался ответить на вопрос: «А что же делать?».

Поясню, как я сам понимаю суть подобных утечек. На самом деле все просто и даже очевидно. Любое решение, любая вещь имеет область применимости и область применения. Так получается потому, что ресурсы ограничены, потому что жизнь коротка, потому что лень заниматься работой, которая все равно в 99,999% никому не будет нужна.

В школе на уроках физики проходят формулу малых колебаний физического маятника. Если амплитуда колебаний мала, то корень в знаменателе эллиптического интеграла приближенно равен единице. Такой интеграл легко берется, и получается хорошо известная формула малых колебаний. Это упрощение, это «абстракция», отбрасывание несущественных свойств для решения задачи. Никто не обещает, что формула малых колебаний будет давать правильный результат независимо от амплитуды колебаний. Если нам нужно значительно раскачивать маятник, значит или нужно оценить ошибку, которую будет давать формула и определить, является ли это приемлемым для нас. Или взять другое, более сложное, более дорогое решение, которая охватывает ту область применения, на которую мы нацелились.

Какова причина протечек? Мы так увлеклись решением нашей задачи, что подошли к краю области применения решения. Это может быть и «медленный ORM», и «тормозящая Java», и «сложный Linux», и «ненадежный Windows». Появление протечек абстракций в ваших решениях — это признак того, что вы подошли к краю обрыва, приближаетесь к запретной зоне, возможно, идете не туда или выбрали неправильный инструмент (или неправильно его применяете) для решения для своих задач. Что будет при пересечении границы применимости? Может быть все, что угодно. Если нет четкой границы, есть риск незаметно ее пересечь и оказаться не в самом лучшем положении.

Что же делать? Понять, что является причиной появления препятствий на вашем пути. Не пытаться решать задачу о маятнике с большой амплитудой «формулой малых колебаний», понимать ограничения применяемого решения, переосмыслить задачу или поменять инструмент.

На изображении:
Это гравюра Гравюра Фламмариона (в оригинале она монохромная), которую раскрасил Хуго Хайкенвельдер.
… На ней изображён человек, одетый в средневековую одежду пилигрима с посохом в руке. Сквозь занавес небесного свода он рассматривает внутреннее устройство вселенной...

Магнитный мир

Alexey Bright:

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


Какова цель этого эксперимента? Магнит, находящийся под кожей, реагирует на окружающие магнитные поля, смещаясь в пространстве, поворачиваясь и вибрируя - в зависимости от конфигурации и характера поля. Если магнит находится внутри организма в непосредственной близости от нервных окончаний, то движение магнита передается последним, вызывая появление тактильных ощущений. Как результат, человек с вживленным магнитом приобретает своеобразное "шестое чувство" - способность на тактильном уровне чувствовать окружающие его магнитные поля от всевозможных источников, будь то постоянные магниты, катушки индуктивности, магнитные сканеры и т.п.

Пожалуй, наилучшим местом для имплантации такого магнита является подушечка одного из пальцев, поскольку в пальцах сосредоточено большое число нервных окончаний. Вероятно, наиболее оптимальный вариант - безымянный палец левой руки (у правшей), т.к. он используется сравнительно редко и ниже вероятность механического воздействия на зону вживления магнита. Именно так я и поступил в своем случае.

Материал магнита (неодим-бор-ферритовый сплав состава Nd2Fe14B) был выбран по той причине, что именно он позволяет достичь наиболее высокой степени намагниченности. Постоянные магниты, изготовленные из этого сплава, самые сильные из существующих на сегодняшний день, и к тому же они очень медленно размагничиваются, теряя не более 1-2% намагниченности за 10 лет.

Купить неодимовый магнит - не проблема. Они дешевы, и продаются десятками и сотнями. Проблема в том, чтобы подобрать магнит подходящего размера (порядка 2-3 мм в диаметре), формы (идеальный вариант - плоская шайба) и с биологически инертным покрытием (как правило, это золото). Мне так и не удалось найти магнит, удовлетворяющий всем перечисленным условиям, поэтому я приобрел магниты нужной формы и размера с никелевым покрытием, после чего отдал их ювелиру, чтобы тот покрыл их золотом 999 пробы. Погружение на несколько минут в кислоту не выявило дефектов в покрытии. Почти что самодельный имплант был готов к вживлению.

Наконец, договорившись об операции с хирургом, я таки ж лег на операционный стол. Да, несмотря на то, что операция выполнялась на единственном пальце, меня по всем правилам уложили, отгородили простыней от предполагаемого кровавого зрелища, несмотря на все мои протесты, и вкололи анестетик. Заиграла музыка группы Scorpions (не могу не похвалить музыкальный вкус доктора - сам с детства люблю Скорпов), и за простыней началась бурная активность хирурга с его ассистентом, перемежающаяся фразами типа "Черт, от пинцета не отлипает" или "Блин, иголка примагнитилась!". Наконец, я отправился домой с обильно забинтованным пальцем и набором инструкций по его ежедневной обработке.

Заживало долго. Несколько дней болело, и довольно сильно - у высокой концентрации нервных окончаний есть свои минусы. На третий день, поднеся кисть руки к работающему блоку питания, ощутил в пальце довольно болезненный зуд, который продолжался еще минут 15. Стало быть, еще рано... Неделю спустя палец все еще был распухшим и покрасневшим. Болел при малейшем нажатии. И спустя две недели тоже. Я уже стал опасаться, что отторжение пошло по нарастающей, и придется удалять имплант. Через три недели опухоль спала, и я даже сходил в тренажерку. Последнее было совершенно напрасным - палец опять распух и стал болеть, но, к счастью, ненадолго - через неделю все прекратилось, и на этот раз окончательно. Магнит оказался инкапсулирован в плотную и довольно толстую оболочку, но прижился.

Мой мир изменился, и теперь уже никогда не сможет стать прежним: я чувствовал себя глухим от рождения, который внезапно получил слух и впервые услышал музыку. Пространство приобрело новое измерение - магнитное. Проводя рукой над постоянными магнитами, я ощущал скользящие по моему пальцу линии магнитного поля. Переменный ток вызывал легкий зуд. Блоки питания и микроволновки отзывались в моем новом органе чувств дрожанием воздуха. Динамики и микрофоны воспринимались, как выпуклости и впадины в пространстве. Я ощущал мир магнитных полей, как если бы это был мир вещественных предметов - второй, призрачный мир, все это время существовавший рядом со мной.

Самыми яркими были ощущения спустя месяц после операции. Оболочка вокруг магнита со временем уплотнилась и выросла, из-за чего ощущения притупились: хирург сказал, что это вполне нормальное явление, и что через 6-12 месяцев она снова станет тоньше и эластичней. Что ж, я буду ждать этого, потому что очень тяжело терять однажды завоеванное измерение жизни. Если же что-то пойдет не так, и чувствительность будет окончательно потеряна - что ж... У меня на руках еще 9 лишенных магнитного восприятия пальцев и с десяток неодимовых магнитов.


РазрезПодготовка к имплантации
Установка магнитаФинал операции


Идея просто потрясающая, как и смелость реализации
Несколько вопросов:
Каким образом выбиралась форма магнита? Почему, например не шарик, и не тор.
Можно ли похожие ощущения получить от очень плотной перчатки, с вшитыми магнитами в подушечки перчаток?
Какая направленность магнита была использована и почему? Этот вопрос важнее, при использовании нескольких магнитов.

Спасибо, отвечаю по пунктам:

1. Форму магнита обсудили вместе с хирургом. Цель была в том, чтобы по возможности увеличить площадь контакта с нервными окончаниями, при этом использовав магниты, имеющиеся в продаже. В продаже имеются кубики, шайбы, диски и шарики, так что особых вариантов не было. :-)

2. Не знаю, как насчет перчатки, но я пробовал еще до операции приматывать магнит к пальцу пластырем. Да, отдаленно похожие ощущения были, но, конечно, чувствительность гораздо ниже.

3. Несколько магнитов вообще не стоит размещать в непосредственной близости друг от друга (например, в соседних пальцах). Ориентация же магнита - см. на рентгеновском снимке. Хирург разместил его, исходя из особенностей положения нервных окончаний, но деталей я не знаю.
Вы бы хотели имплантировать магнит?

Котенок Голди

Недавно прочитал статью, очень понравилась: мы стоим на пороге создания "таблетки против старости", и первый кто ее получит будет, например, Ваш домашний любимец, котёнок. Это котёнок никогда не станет старым и ленивым котом, а навсегда останется молодым, веселым, игривым и красивым.

Это убедит каждого, что нужно остановить собственное старение.

А вот и фото первого нестареющего котёнка, эксперимент у нас идет полным ходом :


Забыл представить, этого прекрасного котёнка зовут Голди, это от слова Gold, золотой. Так что пока Голди - золотистый, но скоро точно может стать золотым.  Кстати, сегодня он удрал, еле поймали, прыгает и носится как белка, пора и нам радикально омолаживаться, скоро уж и не поймаем на старости лет ... .
Голди одновременно наблюдается у врачей в лучшей ветеринарной платной клинике, у него официальный кошачий паспорт, все положенные прививки и он совершенно здоров.
У Голди есть родные братец и сестра, родились у мамы-кошки Шарлотты почти одновременно. Они оставлены без изменения для контроля. Уже сейчас видна разница.

Мертвый кролик и серый осёл


В Нидерландах отменен закон о запрете богохульства




























































































"Если Господь вновь обретет Живое Тело, то вернется он во плоти осла, способный выговорить лишь отдельные слоги, непризнанным, осмеянный, побитый, но я пойму его и немедленно лягу с ним в постель, лишь только перевязав ему копытца, чтобы не слишком пораниться, когда он забьётся, кончая". Так в середине 60-х годов прошлого века описал второе пришествие в журнале для геев писатель Герард Реве, ярчайшая звезда нидерландского, да и мирового литературного пантеона. В 1966–1968 годах Реве судили за богохульство, в конце концов он был оправдан.Ослиный процесс стал последним случаем правоприменения статьи 147-й нидерландского уголовного кодекса о богохульстве. На этой неделе нидерландский Сенат большинством голосов закон о запрете на богохульство отменил. Отныне богохульство даже де-юре больше не является в Нидерландах преступлением.
 
Вот уже несколько десятков лет статья 147-я была, как это называют в Нидерландах, "мертвой буквой закона", то есть не применялась. Тем не менее присутствие в составе коалиционных правительств конфессиональных партий не давало вычеркнуть ее из Уголовного кодекса. После того как в 2004 году в центре Амстердама исламский фанатик убил режиссера Тео ван Гога за  антиисламские фильмы, тогдашний министр юстиции от партии христианских демократов Пит Хайн Доннер призывал реанимировать уголовную ответственность за богохульство в качестве превентивной меры против радикализации мусульман. Светские партии, в особенности демократическая партия D66 и социалисты, наоборот, давно выступали за полную отмену закона, который, по их мнению, фактически предоставлял верующим большую правовую защиту от оскорблений, чем атеистам, и ограничивал свободу мнений. Законопроект об отмене запрета на богохульство был подготовлен депутатом от партии D66 Борисом ван дер Хамом около девяти лет назад, и все эти годы обсуждался в парламенте. Наконец, в апреле этого года, уже после ухода автора законопроекта из депутатов, за полную отмену статьи 147 проголосовало подавляющее большинство членов нижней палаты.
 
В роли убежденного сторонника закона выступил сенатор Рул Каупер из партии "Христианский союз". По его словам, запрет на богохульство являлся своеобразной защитой общества от внутренних потрясений, платформой объединения выходцев из разных культур. Аргументы Каупера его коллег-сенаторов не переубедили. Во вторник 49 из них проголосовали за отмену закона, 21 – против.
 
Статья о богохульстве (или, если дословно переводить название статьи, "о хулящем кощунстве") была введена в Нидерландах в 1932 году в ответ на антирелигиозную сатиру в местном коммунистическом журнале. С тех пор за "оскорбление религиозных чувств через хулящее кощунство" предусматривался денежный штраф средней категории или лишение свободы сроком до трех месяцев.
 
В наше время различные общественные организации несколько раз безуспешно призывали применить закон о запрете на богохульство, например, против того же Тео ван Гога (в 1995 году) или против Объединения в защиту животных, которое в 2002 году провело кампанию против употребления мяса диких животных за рождественским обедом. На плакатах была изображена Дева Мария с мертвым кроликом на руках. 
 
В правящей коалиции отмену статьи в целом поддержали. Либеральная партия премьера Марка Рютте (Народная партия за свободу и демократию) объявила голосование по статье свободным личным выбором каждого члена партии, партнер по коалиции – Партия труда единогласно выступила за отправку закона о богохульстве в мусорную корзину. Правительство дало зеленый свет на отмену устаревшего закона с оговоркой, что Сенат должен предусмотреть защиту верующих в существующем законодательстве. В нидерландском уголовном кодексе есть еще статья 137, которая предусматривает наказание сроком до двух лет за публичное умышленное оскорбление на основе расовой, религиозной принадлежности, жизненных убеждений, гетеро- или гомосексуальной ориентации или физической, психической или умственной неспособности. "Все группы уже перечислены в этой статье", – объяснил инициатор отмены запрета на богохульство Борис ван дер Хам в эфире ток-шоу Pauw & Witteman на первом канале нидерландского телевидения. "В 1932 году зачем-то решили вести отдельную, дополнительную статью для защиты только верующих".
 
Об общественной реакции на отмену закона о богохульстве судить пока сложно. Однозначно одно: сама отмена этого рудимента в законодательстве не выплеснула почти никаких комментариев на страницы газет и теле- и компьютерные экраны, за исключением официальных комментариев политиков.
 
В 1966 году в романе "Ближе к Тебе" Герард Реве писал:
"Сам Бог явится ко мне в обличьи Осла-одногодки серого мышиного окраса, и подойдет к двери, и позвонит, и скажет:
   – Герард, слушай вот в этой твоей книге – знаешь, в некоторых местах Я просто не мог удержаться от слез.
   – Мой Господин и мой Бог! Да будет прославлено Имя Твое в Вечности! Я так бесконечно люблю Тебя, – попытаюсь я сказать, но, не проговорив и половины, разрыдаюсь, и начну Его целовать, и тянуть в дом, и после жутких проблем с карабканьем по лестнице я все-таки затащу его в спальню наверху и буду долго иметь его, три раза подряд, в Его Тайные Отверстия, и дам Ему потом подарочный экземпляр, не брошюрку какую-нибудь, а переплетенную книгу – нечего скупиться и жаться – с посвящением: "Бесконечному. Без слов".

Методы, применимые при разработке

User Personas Этот инструмент был заимствован разработчиками из интерактивного дизайна для максимального фокуса на проблемах и задачах пользователей. Описание Персон помогает команде разработки понимать нужды ключевых групп пользователей, формулировать и реализовывать требования с учетом их демографических данных, образа жизни и других общих характеристик.

Impact mapping Это инструмент стратегического планирования, который помогает выстроить видение и предотвращает его потерю в “супе из фич” по ходу разработки. Карта влияний содержит цели бизнеса на следующую итерацию и помогает команде принимать решения в соответствии с ними. Также она защищает от недопонимания и ложных предположений о функциональности, помогает генерировать альтернативные идеи реализации, не требующие серьезных инвестиций в разработку.

User Stories Формат описания требований в виде Пользовательских историй удобен для приоритезации, хранения и “приглашения” к более детальному диалогу бизнеса и разработки. Такой диалог должен случиться по принципу JIT (“точно вовремя”), то есть в момент, когда решение о разработке функциональности должно быть принято. Это позволяет не инвестировать много времени в детальную проработку требований, которые, возможно, не придется реализовывать. Такой формат использует язык бизнеса, содержит информацию о Персоне и Бизнес-ценности требования, с тем что бы поддерживать фокус разработчиков на видении и целях продукта/релиза/итерации.

User Story Mapping Подход, позволяющий получить высокоуровневую модель требований, которая описывает типы пользователей и сценарии их взаимодействия с продуктом. Создание карты пользовательских историй может быть одним из типов мозгового штурма перед началом разработки продукта. Вместе с тем, этот инструмент может использоваться для планирования релиза и выбора функциональности которая в него войдет.

Kano Weighting Техника “взвешивания” требований, которая использует классификацию пользовательских предпочтений по 5-ти критериям удовлетворенности. Помогает ответить на вопрос — что является минимальным ценным объемом поставки продукта (MVP) и выбрать функциональность для реализации в следующей итерации.

User Story Hamburger Инструмент декомпозиции требований, который позволяет в визуальной форме обсудить технические детали реализации и выбрать оптимальный с точек зрения красоты/сложности/стоимости путь. Полезен владельцам продуктов и разработчикам, которые испытывают трудности в разделении сложных историй на более простые с целью ускорения поставки и получения обратной связи. Так же полезен для явного обсуждения “достаточно великолепных” решений, как с точки зрения людей бизнеса, так и с точки зрения разработчиков.

Specification by Example Инструмент организации приемочного тестирования, который влияет на процесс формулирования и управления требованиями. Позволяет улучшить взаимодействие бизнес-пользователей и разработчиков, повысить качество продуктов, снизить переобработку фич и “холостую” разработку на основе ложных предположений.

Другие интересные статьи:

Киборги в реальной жизни: человек заменил потерянный глаз беспроводной камерой (видео)

Разговор с Алексеем Кудриным про Стабфонд и Фонд Национального Благосостояния. С картинками.

Эмоциональное выгорание и как с ним бороться
Тест Джоэла: 12 шагов к лучшему коду

Статьи по теме "Информационные технологии"

Ещё раз про факелы и олимпиаду

"Хочу начать с совершенно потрясающей истории, которая меня поразила в самую пятку. Начиналась она, собственно, месяц назад, когда в руке у замечательного спортсмена, фантастического человека Шаварша Карапетяна... Напоминаю, что это тот самый, который вытащил 20 человек из троллейбуса, упавшего в ереванское озеро, и пожертвовал, собственно, на этом своей спортивной карьерой. Дай бог этому человеку долгой жизни и вообще всего. Вот у него погас факел и, как вы понимаете, это было ничего страшного, потому что олимпийские факелы, бывает, тухнут. Один раз еще не контрабас, как говорится.

Но с тех пор, насколько я понимаю, только на видео факел гас 44 раза. Это уже, ребята, контрабас.

Вот этот регулярно затухающий факел, естественно, вызывает ряд вопросов. Первый вопрос очень простой. Как нам сказали, олимпийский факел делает Красноярский машиностроительный завод, жутко секретный ящик, на котором собирают баллистическую ракету «Синева». Мы не знаем, как летает их ракета – это большая государственная тайна. Но мы видим, как горит их факел. В общем-то, факел намного проще ракеты. Это такая большая газовая зажигалка. Вот, вопрос: у нас ракеты летают так же, как факелы горят?

Второй вопрос тоже очень простой. Как я уже сказала, факел – это там большая газовая зажигалка. Ей цена на китайском базаре 6 юаней, ну, на российском 200 рублей. Меж тем Красноярскому машиностроительному заводу этот факел оплачивают, исходя из цены 12942 рубля за штуку.

Вот, мы не знаем, как они оценивают свои ракеты – это страшная государственная тайна. Но мы видим, как они оценивают свои факелы. Вот, у нас на ракеты такое же ценообразование, как на факелы? Ну, это к вопросу о золотых пистолетах Глок, которые, как выяснил Навальный, министерство покупало по цене, в 4 раза выше средней.

Вопрос третий, еще интереснее. Вот, нам все время объясняли, что деньги за факелы получит крутое оборонное предприятие. Ну, то есть если даже чего-то там переплатили, всё равно это пойдет в могучие рабочие руки и, так, косвенная субсидия нашей великой оборонке.

Ну вот блогер Евгений Козлов раскопал, что факелы собирал вовсе не государственный Красмаш, а некая контора ООО «Вариант-999», которая производит мебель на металлокаркасе, холодильное и торговое оборудование на площадях, арендуемых на оборонном машиностроительном заводе Красмаш.

Блогер Козлов вычислил это по вакансии – она была опубликована на сайте Сибирского государственного аэрокосмического университета. В ней 15 студентам предлагалось подработать месяц над вышеназванной олимпийской сборкой.

Минуточку, какое такое ООО «Вариант-999»? Вообще тут типа секретный оборонный завод. И, вот, если я туда приду, там меня органы арестуют за шпионаж. Если придет иностранец, вообще будет конец света. А тут какая-то контора на территории Красмаша собирает факелы, мебель и холодильники. Ну, вот, с какой стати Красмаш предоставляет этому ООО свои площади?

Если, например, производство этих мебелей и прочего может быть налажена на площадях Красмаш с выгодой, почему этим производством не занимается сам Красмаш? Вы можете себе представить, чтобы на производственных площадях завода Intel где-нибудь в уголке печаталась схема AMD? Или чтобы там на производственных площадях Фольксваген собирали, я не знаю, магнитофоны Сони?

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

Кстати говоря о деньгах. Вот эти 15 студентов, которых нанимали, они работали один месяц, ну, где-то 23 рабочих дня по тысяче рублей в день. Получается, что на заработную плату ушло, Ну, 345 тысяч рублей. Стоимость заказа там 200 миллионов рублей. Баллончик и клапан – это, как вы понимаете, сам материал стоит копейки. Сколько ООО «Вариант-999» платит Красмашу за использование его производственных площадей, можете предположить сами в меру своей испорченности. Вообще нехилая норма прибыли, а?

Да, и момент. Вот, как нам объяснили (я уже это говорила), наша олимпийская эстафета станет самой продолжительной за всю историю, самой протяженной. Уже привезли олимпийский факел на Северный полюс. Там видео не было, поэтому мы не знаем, сколько он раз там гас. В космос доставят. И, ребят, ну, это позор и показуха, особенно в стране, где говорят, что у нас тут пенсии нечем платить. То есть пенсии у нас нечем платить... Я, конечно, понимаю, что олимпийский факел даже в космос стоит доставить не так дорого. Но, все-таки, если страна занимается вот такой показухой и при этом всё время объясняет, что у нее нет денег гражданам, ну, это как-то так уже нехорошо.


«Факел – один из главных символов Эстафеты. Теплый и яркий, факел «Сочи 2014» Либо навеяло, либо не отпустило.