пятница, 8 мая 2009 г.

Читал, немного думал (околоискусствоведческое)…

Третья часть сегодняшней серии. Как известно, в политике, медицине и футболе разбираются все. Я, к тому же, точно так же хорошо разбираюсь и в искусстве. А потому позволю себе высказаться на тему…

…ассиметричного ответа искусствоведу.

На просторах Интернета нашел ссылку на совершенно фантастический блог-пост “к сорок восьмой годовщине”. Который является ассиметричным ответом на интервью искусствоведа Е.Дёготь. Точнее, той части интервью, в которой произведением искусства объявляется “Дерьмо художника”.

На мой рабоче-крестьянский взгляд, в выступлении Е.Дёготь наибольший резонанс вызвали две вещи:

  1. “Дерьмо художника” таки является искусством. Ну ёптыть, а чем же еще? Если уж общество признает произведением искусства “Черный квадрат” Малевича, то нужно сделать и следующий логический шаг. Сказавши “А” нельзя останавливаться, нужно говорить и “Б”.
  2. Был озвучен критерий оценки принадлежности чего-либо к искусству. “Искусство – это не какое-то звание (что-то, что лучше, чем не искусство). Искусство – это такая профессиональная область. Это то, что выставляется в музеях и галереях.” Вот так вот. А вы чего хотели? Вполне себе простой и понятный критерий. Это как профессиональный программист: профессиональный программист тот, кто деньги программированием зарабатывает. А не тот, кто Кнута читал или несколько языков знает. Пишешь программы за деньги – значит профессионал. Выставлена твоя картина в музее – значит это уже искусство. В конце-концов, если в науке степень успешности научной деятельности определяется количеством публикаций, то почему бы искусствоведам не использовать столь тривиальный критерий?

В общем, это мы, далекие от искусства люди можем придумывать себе разные критерии “искусности”. У меня, например, произведение искусства должно содержать, во-первых, неординарную идею и, во-вторых, высокое исполнительское мастерство. В произведении искусства должно быть что-то, что недоступно простому смертному ни по форме, ни по содержанию (т.е. тупо говоря, я не могу этого даже повторить). Но это все мои собственные тараканы… Очень и очень далекие от настоящего, а тем более современного актуального искусства.

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

Сухой остаток. Ну я хотя бы узнал о существовании “Дерьма художника”. Границы “крепчания маразма” в моем понимании очень серьезно расширились.

Читал, немного думал (околорабочее)…

Вторая часть сегодняшней серии.

А ведь мне ни разу не пригодилось резюме…

Люблю на время от времени почитать форум О работе. Такие там знатоки жизни попадаются! Везде успели поработать, все видели, все знают, все умеют, по $1K в день зашибают. В общем, такие монстры, что остается только недоумевать по поводу двух вещей:

  • почему же все-таки программы вокруг глючные? Ладно бы я их все писал, тогда понятно. Но вот почему эти монстры не могут помочь MS или хотя бы Opera Software – фиг знает. Наверное, не хватает у этих компаний денег на таких крутых спецов;
  • почему же они, все из себя такие успешные, треплются на форуме?

Ну да не о том речь.

Давеча наткнулся я на тему Сколько просить за резюме? (программист C++, Москва). Девушка-программист (девушка-программист!) приводит свое резюме и спрашивает, на какую сумму она может рассчитывать в Москве. Обсуждение неинтересное, тему захламили страдающие от весеннего спермотоксикоза личности мужеского полу. Из самого резюме, если бы мне довелось его оценивать, я так и не понял, почему именно ее нужно брать на работу (ну разве что хороший английский, все остальное – какие-то общие слова).

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

Потом я с удивлением вспомнил, что вообще никогда не устраивался на работу с помощью резюме. Году в 1993-м меня вместе с несколькими студентами один преподаватель отправил на просмотр в некую фирму. К счастью, там по какой-то мутной причине не сложилось – не довелось профессионально попрограммировать на Clipper-е :) Затем в 1994-м я сам напросился к другому преподавателю, который меня знал по своему курсу. Но и там, к счастью не сложилось – как раз летом 94-го в Белоруссии перекрыли какой-то способ обналичивания денег и фирма не знала, как выплачивать деньги своим старым сотрудникам, не говоря уже про новых. Так я и не стал профессиональным системным администратором :) Осенью 94-го (ух ты, в этом году будет 15 лет моей профессиональной деятельности) мы с друзьями подались в КБСП – нас туда позвал еще один преподаватель, который читал нам пару предметов на предыдущем курсе и который звал нас к себе. А весной 95-го на другую работу меня с другом сосватал заведующий нашей кафедрой, который так же меня хорошо знал. Вот так и получилось, что на свои первые места работы я попал исключительно по знакомству. Никакого резюме не требовалось.

В 2001-м, когда я надумал уходить из КБСП мой друг позвал меня в EPAm. Так что и туда я попал без резюме и по знакомству. И ушел из EPAm-а в Интервэйл так же по знакомству – благодаря другу, который пришел работать в Интервэйл из КБСП раньше. Так что и здесь резюме не потребовалось :)

Конечно, все это совсем не показатель, т.к. Гомель – это маленький город. Фактически даже большая деревня, в которой все всех знают. В Москве или Питере ситуация явно другая. Но, думается мне, что и там хорошие спецы (ну тут типа намек, что я и сам как бы такой хороший спец :)) находят себе работу вовсе не через рассылку резюме. В особенности, если и учились они в Москве. Ведь толковых программистов всегда мало, их замечают и начинают “сватать” еще в студенчестве. А затем стараются заполучить проверенных людей, с которыми работали раньше, переманивая их с одного места на другое. Хотя, может я и ошибаюсь.

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

В любом случае, надеюсь, что приобретать опыт написания резюме мне в ближайшее время не потребуется. А лучше, чтобы вообще не потребовался :)

Читал, немного думал (околотехническое)…

Сегодня будет серия заметок в полном смысле “размышлизмы” – думал, думал, ничего не придумал. Но ведь думал же, размышлял… :)

Что может помочь языкам вроде Ada и Eiffel?

На RSDN дали ссылочку на материалы конференции BoostCon 2009. Просмотрел бегло первую презентацию C++0x overview and Compiler support. С++0x обещает много вкусного, но жалко, что процесс его выхода откладывается до 2010/11 годов. Я уж, грешным делом, надеялся, что C++0x ратифицируют в этом году. Ну да ладно, зато есть надежда, что к моменту ратификации стандарта нужные мне вкусности языка (лямбды, Rvalue refernces, atomic-операции, поддержка многопоточности в стандартной библиотеке, вывод типов) уже будут реализованы в компиляторах GCC и VC++.

Но суть не в этом. Язык C++ после выхода C++0x станет еще сложнее. Да, в чем-то он упроститься, но все-таки в общем он станет больше и сложнее. Я уже не представляю, как можно будет обучать C++ новичков. Мне еще, можно сказать, повезло – новые возможности языка я мог осваивать постепенно, по мере выхода новых версий компиляторов. А если кто-нибудь берется изучать C++ сейчас… И что будет лет через пять?

Наверное, в том, что язык программирования становится очень сложным, нет ничего удивительного. Сложные задачи требуют сложных инструментов. И усложнения происходят не только в C++, но и в гораздо более простых, по началу, Java и C#. И данный процесс будет продолжаться.

Тезис о том, что язык становится все более и более переусложненным, и что его уже нужно будет как-то урезать, всплыл в RSDN-овском обсуждении. На что я сказал, что смысла нарушать совместимость версий C++ нет. Мол, если кто-то хочет несовместимый с C++ язык, то уже сейчас можно брать Ada 2005 или Eiffel. Поскольку они одного поля ягоды и, в общем-то, предназначены для одних и тех же задач (Java и C# здесь не будем рассматривать, т.к. это managed платформы, у них своя ориентация).

Так вот, сказал я про Ada 2005 и Eiffel и подумал: “Ведь сейчас это, фактически, нишевые языки. И даже если пока они еще не находятся в глубокой ж…, то совсем скоро рискуют там оказаться. И что может помочь им из этой ж… выбраться?”

Прежде, чем идти дальше, нужно пояснить, почему я думаю, что Ada с Eiffel находятся именно там, где они сейчас находятся. Просто потому, что они не на слуху. Мне не встречается информация о каких-то OpenSource проектах, которые делают на этих языках. Я не слышал, чтобы кто-то написал на Ada или Eiffel какую-нибудь freeware или shareware приблуду. Я не видел, чтобы где-нибудь в форумах встречался человек, который бы регулярно делился опытом выполнения проектов на Ada/Eiffel. Даже книги по этим языкам нужно целеустремленно искать. В общем, вроде как языки и есть, и даже используются в очень серьезных секторах (та же Ada до сих пор, насколько мне известно, основной язык для разработки разнообразного ПО для авиации и военных в США). Но их не видно, они не на слуху. А раз язык не на слуху, очень невыгодно брать его для реализации “обычных” проектов, в обычных условиях. Потому, что готовых специалистов для него нет, инструменты либо очень дорогие, либо их не найти, микроскопическое community.

Итак, если поставить цель сделать языки Ada и Eiffel на порядок более привлекательными для массового использования, то что дня этого нужно?

А вот и не знаю, что именно. Боюсь, что они уже достигли той точки, после который обычному разработчику они, что называется, “даром не нужны”. Т.е., даже если средства разработки и фреймворки для Ada/Eiffel будет раздаваться совершенно бесплатно для любых проектов (сейчас, AFAIK, есть GPL версии GNAT Pro и Eiffel Studio, которые бесплатны для OpenSource разработок), то они все равно окажутся невостребованными. Ну не верится мне, что, например, армия разработчиков shareware-программ вдруг откажется от C++ в пользу Eiffel (хотя с практической точки зрения это вполне могло бы иметь смысл). Т.е. для создания программ класса “быстро-написал-и-быстро-выбросил” эти языки точно не подходят. Их вотчина – солидные, большие, длительные проекты. Где они уже, собственно говоря, и присутствуют. И еще будут присутствовать какое-то время. Поскольку мегатонны кода уже написаны. Вот так Ada с Eiffel-ем, вероятно, и будут продолжать сидеть в уже занятых нишах. Откуда их потихонечку, помаленечку, будут выживать. Тот же C++ с одной стороны. Те же Java/C# с другой. Просто потому, что одно за одним подрастают поколения программистов, которые о Ada и Eiffel даже не слышали. Не говоря уже о том, чтобы попробовать. И когда на этих программистов ляжет ответственность за развитие унаследованных Ada/Eiffel проектов, то очень многие из них не откажутся от соблазна перейти на что-нибудь более привычное. Пусть не сразу, но постепенно, со временем выбрасывая старый код и заменяя его новым.

Что во всем этом мне кажется ненормальным, так это то, что с технической точки зрения у того же C++ совсем не много преимуществ над Ada/Eiffel. Правильнее было бы сказать, что где-то лучше C++, где-то хуже. А в общем, тоже самое, вид сбоку. Только С++ популярный и раскрученный, а Ada/Eiffel – нет. Хотя у Ada и Eiffel, на мой взгляд, “коэффициент спокойного сна” гораздо выше, чем у С++. Я бы и сам, наверное, сейчас предпочел бы программировать на Eiffel, а не на C++. Как раз из-за того, что в своем Eiffel-евском коде я бы был более уверен, чем в C++ном. Но, слишком много всяких нетехнических факторов против Eiffel. Это-то и обидно. Ну да ладно я, у меня ситуация такая, что слишком уж много чего от имеющегося C++ кода зависит. Но обидно, что какой-нибудь юный разработчик не сможет взять для реализации какой-нибудь своей идеи Ada или Eiffel по тем же самым нетехническим соображениям.

По большому счету, тут можно задать вопрос: “А зачем вообще нужно пробовать пропагандировать Ada и Eiffel? Чем их использование будет лучше использования C++?” Но это уже совсем другая история…

понедельник, 4 мая 2009 г.

Не могу пройти мимо…

…или до чего может дойти пропаганда :)

Ярые проповедники функционального программирования иногда поражают своей верой в чудеса. Вот совсем свежий пример. В блоге известного на RSDN хаскелиста Сергея Зефирова приведена цитата:

The financial markets have crashed. One important reason seems to be the trading in financial derivatives. These derivatives can be so complex that it’s very hard to estimate their value. Now if only there was a domain specific language for describing and evaluating such financial contracts...

A few weeks ago, GMail had a major outage. Edwin Brady pointed out a press release by Google that blamed ‘unexpected side effects of some new code’ – now if only there was some way to ensure code doesn’t have side effects...

This leads me to believe that Haskell is currently solving problems that will affect society in ten years or so. I predict there’s a major telecom blackout because Erlang fails to do parallel garbage collection. Maybe major bank systems will crash because of a mistake in taking the wrong locks during transactions. Or perhaps an epic fail of Amazon’s databases after an incorrect type cast.

(сама цитата взята отсюда, выделение жирным Сергея Зефирова).

Теперь мне кажется, что агитация за функциональный подход вообще, и за языки типа Haskell в частности, недостаточно глобальна и фундаментальна. Если уж люди верят в способность Haskell-я предотвращать финансовые кризисы, то нужно еще объявить его самым лучшим средством по борьбе с парниковым эффектом. Нет… Это тоже мелко. Путь будет лучше средство от облысения! Вот! А еще лучше – эликсиром молодости! Да, вот это глобально и надежно! :)

Кстати, вот что говорит о проблемах с GMail некто Acacio Cruz, Gmail Site Reliability Manager:

Lots of folks are asking what happened, so we thought you'd like an explanation. This morning, there was a routine maintenance event in one of our European data centers. This typically causes no disruption because accounts are simply served out of another data center.

Unexpected side effects of some new code that tries to keep data geographically close to its owner caused another data center in Europe to become overloaded, and that caused cascading problems from one data center to another. It took us about an hour to get it all back under control.

В Интернете так же можно найти официальный отчет о произошедшем от Google: Gmail Incident Report.

воскресенье, 3 мая 2009 г.

Вещи, которые удивили меня на прошедшей неделе

Вот так правят баги разработчики ACE!

Есть такая C++ библиотека – ACE. В принципе, очень хорошая библиотека. С большим количеством возможностей. Портированная под большое количество платформ. Бесплатная. Пользуемся ей уже года четыре. Но чем больше пользуемся, тем больше хочется сменить ее на что-нибудь другое (например, Qt или Poco, или даже Boost). Причем не столько из-за качества самой библиотеки, сколько от качества ее развития. Как раз на днях в очередной раз был удивлен этим качеством (точнее, его отсутствием).

Итак, история такова. В сентябре 2008-го года (более семи месяцев назад!) вышла версия ACE 5.6.6. В которой я сразу же нашел критический баг – из-за ошибки в классе ACE_Thread_Manager многопоточное приложение временами падало при завершении нитей. Потратив несколько часов и убив кучу нервов (поскольку баг проявлялся в новой версии SObjectizer, которую мы только-только закончили и собирались публиковать, и я первым делом искал проблемы в SObjectizer) я ошибку нашел. И запостил описание бага в ACE-овскую багзилу, да не просто описание, а с патчем для его исправления. В сентябре 2008-го… Через полтора месяца после выхода ACE 5.6.6 вышла версия ACE 5.6.7, в которой данной проблемы уже не было. И я, грешным делом, подумал, что найденный мной баг исправили.

Но буквально позавчера (на дворе май 2009-го!) приходит мне письмо из ACE-овской багзилы. Мол, пытаемся накатить ваш патч и после этого у нас падает тест Thread_Pool_Test. Можете ли, мол, прислать работающий патч. Работающий, блин! Мало того, в описании бага теперь значится, что я числюсь как человек, который диагностировал баг, и, сюрпрайз-сюрпрайз, как ответственный за его устранение!

Зашибись, ребята работают! Я им полгода назад выслал патч для конкретной версии 5.6.6. Они его проигнорировали тогда. И вместо применения моего патча, просто откатили какие-то изменения, которые были сделаны при переходе от 5.6.5 к 5.6.6. А теперь, после выхода 5.6.7, 5.6.8 и 5.6.9, они пытаются применить мой патч. И я теперь должен опять тратить свое время для того, чтобы понять что к чему.

Для того, чтобы разобраться, пришлось тянуть HEAD-ветку из svn-репозитория. Затем ставить себе Perl, чтобы через MPC сгенерировать себе проектные файлы… И все это для того, чтобы выяснить две простые вещи:

  • мой оригинальный патч просто так на текущую ветку не накатывается. Одна строчка претерпела изменения и все. А из-за неполностью сделанного патча ACE вообще не компилируется. Как у них ACE скомпилировался и упал тест Thread_Pool_Test – фиг знает;
  • если проделать необходимые изменения ручками, то все собирается и ничего не падает. По крайней мере у меня на Visual C++ 7.1 (как раз там, где был баг в 5.6.6).

В общем, закинул я им обновленный патч. Но осадочек-то остался. Какого хрена было тянуть полгода, а потом пытаться в версии 5.6.10 фиксить баг из версии 5.6.6? Это для меня загадка. Да при этом назначать меня ответственным за его исправление.

Вот, блин, OpenSource в одном из своих ярких представлений. Но я все равно не понимаю… Ну не хватает у вас ресурсов на поддержание проекта в актуальном состоянии, так нафига вы его под BSD-like лицензии выкладываете? Продавайте за деньги, как Qt. И живите с этих денег. А нет, так оперативно разбирайтесь с тем, что вам пользователи присылают.

А ведь где-то осенью 2008 мы заслали к ним патч для расширения функциональности ACE_TTY_IO под Win32. И он так и не был принят до сих пор. Теперь я не удивлюсь, если осенью 2009 я получу очередное письмо с просьбой прислать актуальную версию нашего прошлогоднего исправления.

2.5M euro на разработку MINIX 3!

Вот это было приятное удивление. Уже несколько лет знаменитый Эндрю Таненбаум (Andrew Tanenbaum) занимается разработкой MINIX 3, Unix-подобной операционной системы, построенной на принципах микроядра. На неделе я узнал, что в конце 2008-го года он получил грант в 2.5M евро на свою разработку. Что позволит продолжать работу над MINIX 3 еще в течении пяти лет.

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

Водопроводный кран с тачскрином и распознаванием физиономий!

Ну это просто из разряда “афигеть”:

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

четверг, 30 апреля 2009 г.

Такой вот странный праздник – Радуница.

Во вторник в Белоруссии отмечался праздник Радуница (Радоница). Очень специфический праздник. Толпы народу ломятся на кладбища с баулами продуктов и большими запасами спиртного. Накрывают столы рядом с могилами, пьют, едят. Не понятная для меня традиция (в том числе и из-за моего неверия).

Во времена СССР подобные посиделки на кладбищах имели практический смысл. Я помню, как меня родители сразу после работы забирали из детского садика и мы даже не заходя домой отправлялись на кладбище. Поскольку взрослые все были после работы, то им нужно было нормально поужинать. Поэтому и несли с собой целые корзины провизии. Тогда это было понятно. Но сейчас-то зачем?  Насколько я знаю, в России, на Украине, да местами в Белоруссии Радуница отмечается совсем не так.

Несколько впечатлений от посещения кладбищ на прошедшую Радуницу.

Дороги. Погода стояла очень сухая и жаркая. По кладбищу проложено несколько грунтовых дорог – сплошной песок. Очень жалко было смотреть на женщин, которые приехали туда в боевой раскраске, почти в вечерних нарядах, в туфлях на высоком каблуке. И по песку, по уши в пыли… В общем да, две вечные русские беды…

Бомжи допьют. На Радуницу принято наливать и оставлять на могиле рюмку водки. Рядом, обычно, кладут крашеное яйцо, кусок кулича (у нас он называется Пасхой), конфеты. Этот процесс сопровождается шутками о том, что когда все разойдутся придут бомжи и выпьют налитое, и съедят оставленное. В этот раз мне довелось наблюдать за тем, как же это происходит. Два относительно молодых парня (наверное, в районе 30), вполне приличного вида, ближе к вечеру обходили могилы недалеко от нас. Ничуть нас не смущаясь. Один что-то собирал (уж не знаю, крашенные яйца или конфеты). А второй сливал содержимое рюмок в литровую пластиковую бутылку. И все так просто, обыденно, размеренно, неспешно. Сюрреалистично, в общем.

Старые надгробия. Бродить по старым кладбищам интересно. Когда-то в детстве мы с отцом попали на заброшенное старое немецкое кладбище в Советске (он же Тильзит). Помнится, там были могилы времен 17xx-18xx годов, хотя дело было давно, могу и соврать. Здесь в Гомеле (по крайней мере на тех кладбищах, где довелось побывать на Радуницу) таких старых могил нет. Но даже когда находишь надгробия, которым около ста лет, все равно возникает очень необычное чувство прикосновения к истории:

Интересная форма надгробия. Рядом было еще несколько похожих памятников, но надписи на них уже почти не читались.

А вот свидетельство того, как уважительно относились в XIX-ом веке к профессии “инженер” (у этой могилы сохранился только постамент памятника):

А вот это, пожалуй, самая старая из тех, что я нашел:


Ну и вообще. Впечатления от посещения кладбищ со временем меняются. Раньше я вообще не часто туда наведывался. Лет с восьми родители меня на Радуницу уже не брали (сначала учился во вторую смену, потом сам отказывался). На похороны родственников я старался не ходить – бзик у меня такой, если не вижу человека в гробу, то и воспоминания о нем остаются как о живом… Но в последние годы, после смерти отца, а потом и тестя, приходится посещать эти места регулярно.

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

Теперь сложнее. Приезжаешь на кладбище на Радуницу с родственниками. Раньше они постоянно здоровались со всеми подряд (Гомель вообще большая деревня, а уж такой деревенский район, как наша Белица и подавно). Сейчас уже не столько здороваются, сколько обращают внимание на свежие могилы тех, с кем здоровались раньше. А года два назад меня самого нехило пробило: совершенно случайно наткнулся на могилу одноклассницы, о которой с момента окончания школы ничего не слышал. Погибла в 32 года, вместе с ребенком и своими родителями… В общем, “Смерть есть смерть, и до нее какое-то время” (М.Жванецкий).

Ну и чтобы закончить не на такой трагической ноте, эпитафия с одной из могил Александро-Невской Лавры (взято здесь):

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

понедельник, 27 апреля 2009 г.

Об отдыхе, очередях, врачебных ошибках, точных датах публикации, и вообще…

Об отдыхе…

С момента окончания университета в 1995-м, я бы в отпуске всего один раз – в 2002-м. Специально взял отпуск к моменту выписки жены и дочки из роддома. Чтобы в самые сложные первые несколько недель можно было не отвлекаться на производственные заботы.

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

Сейчас, похоже, годы берут свое – компьютеров все больше, идей все меньше… :)

После недавнего производственного спурта очень захотелось отдохнуть недельку. За счет нескольких убитых на работе выходных я взял два отгула (на пятницу и понедельник). Плюс во вторник, 28-го апреля, у нас официальный выходной день – Радуница (очень специфический, нужно сказать, праздник). В итоге – пять выходных подряд – почти неделя! Но как же это мало! :)

Первые дни мыслей вообще не было – пустота и все. Сейчас жажда творчества начала просыпаться – вот, заставила написать очередной опус в блог :) Может через пару дней и работать захочется :))

Еще на тему отдыха. Есть желание этим летом (ориентировочно во второй половине июня) съездить с семьей отдохнуть нормально. Не на море, а где-нибудь в средней полосе. Желательно в лесу и рядом с озером/речкой. У меня была мысль попасть на Браславские озера (например, на базу отдыха “Дривяты”). Но, боюсь, там хорошо при наличии собственного автомобиля. А я безлошадный ;) Еще есть мысль о доме отдыха в Милограде – говорят, что там очень здорово.

Если кто-то знает хорошие места для семейного отдыха (главные требования: трехместные номера с удобствами и организованное питание (чтобы и жена отдохнула)) в Белоруссии, России или ближнем зарубежье – поделитесь информацией и впечатлениями, плиз. Вдруг и правда получится вырваться в отпуск? ;)

Об очередях. И местами маразм продолжает крепчать…

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

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

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

Зато второе следствие для меня оказалось полностью неожиданным, хотя его можно было бы предвидеть при некотором размышлении. После того, как увели десятерых последних, выяснилось, что у очереди не осталось крайнего! Т.е. приходит новый желающий сдать кровь, спрашивает “Кто крайний!”, а никто этого не знает. Поскольку все оставшиеся точно помнят, что за ними занимали очередь. Но кто именно занимал и остался ли занимавший здесь или же ушел – уже неизвестно. Что привело к небольшой анархии с руганью и прочими атрибутами советский очередей…

Чего я в этой истории не могу понять, так это как вообще можно додуматься до решения разгрузить очередь забрав последних десятерых человек? На вскидку можно предложить, как минимум, три решения, каждое из которых улучшает положение большинства участников очереди:
- увести в другой кабинет первый десяток. Им, в принципе, не так и страшно – их очередность совершенно не меняется. Но они тратят некоторое время на то, чтобы подняться на другой этаж;
- увести в другой кабинет второй десяток. Т.е. первые десять человек ничего не теряют. Вторые десять человек выигрывают, поскольку они не будут ждать первых десятерых. И третий с четвертым десятком так же выигрывают, т.к. их очередь уменьшается сразу на десять мест;
- просто объявить, что анализ можно сдать и в другом процедурном кабинете. Желающие серьезно улучшить свое положение сами уйдут туда. А оставшиеся выиграют за счет освободившихся мест.

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

Хорошо, когда врачи хорошо ошибаются

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

Молодая женщина 30-ти лет, с ребенком и мужем. Ждет второго ребенка. По этому поводу проходит разные обследования и попадает на УЗИ щитовидной железы. Где у нее находят опухоль. Делают дополнительные исследования и диагностируют злокачественную опухоль.

Срок беременности уже большой, аборт делать поздно. Но и проводить лечение пока ребенок в утробе нельзя. Нужно ждать срока шести месяцев, затем стимулировать преждевременные роды, а уже затем приступать к лечению. К счастью, все это нужно делать не в Гомеле, а в Минске.

И вот подходит нужный срок. Она собирает все свои анализы, результаты исследований и отправляется в Минск. А там…

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

Хорошо, все-таки, когда врачи хорошо ошибаются!

Когда я начинал заниматься программированием, я был поражен тем, насколько часто люди ошибаются. Нигде до этого я не сталкивался с тем количеством как собственных, так и чужих ошибок. И тогда мне подумалось – если врачи ошибаются хотя бы в 10 раз меньше, чем программисты, то визиты к ним опасны для жизни :) Надеюсь, что я ошибаюсь ;)

Update. А может и не ошибаюсь: Забывчивые врачи-убийцы. Особенно впечатлило про МРТ и металлические скобки.

Нужно ли знать, когда статья была опубликована?

В тупичке Гоблина наткнулся на заметку “Мнение с другой стороны”. Пошел по ссылке на первоисточник. Оттуда на еще один первоисточник, который утверждает:

Этот материал был уже на следующий день срезан из интернета: http://community.livejournal.com/history_club/57839.html, спасибо один товарищ сразу сохранил, и больше этого письма нигде нет

Мол, какой крутой материал. Только опубликовали, как сразу же и удалили. Но добрые люди стоят на страже гласности и плюрализма… Однако, веселуха началась в комментариях. Один читатель сказал, что эта статья была опубликована в 2003-м (здесь). За что был обозван занудой. Потом второй пользователь указал на еще более ранее ее появление, в 1997-м (здесь). И его так же обозвали. Чего-то я не понимаю в массовом сознании, видимо…

Интересное мнение, но я не согласен.

Там же у Гоблина в разделе Светосила была опубликована отличная статья “Фотофак: съёмка пьянок и вечеринок”. Собственно, нашел я ее из-за процитированного на RSDN фрагмента:

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

Мне кажется, что это неправильное мнение. Ведь обучение различным ремеслам осуществляется, прежде всего, с прививания “правильных” приемов и навыков. Научившись владеть которыми можно уже заниматься их нарушением. А степень “правильности” определяется многолетним опытом твоих учителей (и их учителей и т.д.). Так что нет речи о самоограничениях – это чужие ограничения, которые ты сначала должен зазубрить. А уже потом приходит понимание их происхождения и важности.

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

Вот ведь… Написал это, а сейчас думаю – а с чем же я не согласен. Вроде бы о том же и говорю. Но, чувствую, что все-таки я с оригинальным утверждением я согласен. Хоть и математически выразить не могу :)

И вообще…

…завидую людям, которые занимают вот такими проектами:

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

Кстати!

Стала доступна первая бета-версия нового Boost 1.39.0. Молодцы бустоводы, респект! Хоть я и считаю, что люди занимаются не тем, чем следовало бы. Но то, что они выходят на режим коротких пауз между новыми релизами – это заслуживает большого уважения.