Чудо китайской инженерной мысли

Ковыряю сейчас метеостанцию RST Meteoscan Pro с целью вытащить самописной программкой по USB данные наблюдений. Удивительно, но в Дойчланде такой же девайс стоит 100 евро и продается в обычных супермаркетах Маркткауф. Единственная разница — нашлепка на морде, в Германии она называется Mebus TE923 (а в Штатах — Honeywell TE923 или Irox USB Pro, продающиеся по 200 баксов). Реально же на платах внутри написано Hideki TE923.

В общем, китайцы удивляют по полной с самого начала. Вместо того, чтобы «вписать» метеоданные в дескриптор HID-устройства (это не ругательство, а класс USB-устройств, очень полезных по жизни), они развернули «поверх» HID целый протокол обмена данными, способный «вписать» 32 байта «реальных» данных в 56 байт — это 7 восьмибайтовых пакетов, максимально допустимых для HID-устройства. Как мне кажется, это — вариация на тему какого-то древнего протокола обмена по RS-232, отсюда вылезли и обязательные даже в восьмибайтовом пакете контрольные суммы, и переменная длина «значащих» байт в пакете — например, в одном пакете имеется 7 «значащих» байт и 1 байт длины, в другом — значащий байт только один.

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

Кроме того, в процессе поиска информации об этой метеостанции в Интернете, нашлись очень интересные материалы о качестве девайса. Например, в датчике скорости ветра (ветряк и оптопара из мышки) китайцы сэкономили на конденсаторе, поэтому при штиле, когда датчик не крутится с бешеной скоростью, оптопара колеблется в «промежуточных» положениях, а индикатор показывает, что на улице бушует страшный ураган. Говорить о «высококачественном» радиоприемном модуле — сверхрегенераторе на двух транзисторах без кварца — я даже не буду.

Кстати, никак не доходят руки до окончания обещанной для EasyElectronics статьи про USB. Ни у кого нет идей, какой можно сделать интересный демонстрационный девайс, который стоило бы «научить» двусторонему обмену данными с компьютером? Очередной ЖК-индикатор с выводом текущей песни в Винампе делать не хочется, да и Винампом я не пользуюсь.

Восстание машин

[info]infowatch порадовал сегодня крайне интересным постом про защищенность современного общества от компьютерных сбоев. Конечно, эти «компьютерные сбои» будут выглядеть несколько иначе, чем показывают в голивудском кино — например, вряд ли нам в ближайшем будущем придется увидеть массово взрывающиеся с «синим экраном» писишки или «обвал букв» на экране. Конечно, писишка или какой-нибудь яблофон нам знакомы, а то и непонятны, и именно от них обыватель больше всего ожидает какой-то «подлянки». Но выкидываемые таким оборудованием фокусы — ничто по сравнению с тем, что может вызвать отказ более незаметных компьютеров.

Речь идет про окружающие нас микроконтролеры. По многим подсчетам, у «современного цивилизованного человека» в квартире и машине имеется около 50 микроконтролеров. Каждый такой микроконтролер — это небольшой компьютер, снабженный собственным программным обеспечением, которое, к сожалению, подвержено ошибкам. Чтобы не быть голословным, приведу небольшой пример.

Думаю, многие видели на дорогах чудо отечественного автопрома под названием УАЗ Патриот (а кто не видел, может мельком ознакомиться с ТТХ по ссылке). В общем, по массогабаритным характеристикам это типичный представитель класса БЧД (большой черный джип), а по потрясающей маневренности и отличной управляемости — ближайший родственник ЗиЛ-130. А вот — шокирующая правда (из газеты Авторевю):

Дмитровский полигон, тест Авторевю, внедорожник УАЗ Патриот ходом штурмует заснеженный подъем. Половина уже пройдена, осталось еще немного, еще чуть-чуть… И вдруг — хр-р-р! — у УАЗа выбивает передачу в «раздатке», и машина остается без тяги. Ногу на тормоз, чтобы не скатиться вниз! Педаль встает колом, а Патриот лавиной катится вниз, неумолимо набирая ход. Поберегись! Почуяв неладное, фотограф отскакивает в сторону, а УАЗ, откатившись на десять метров от подножия склона, наконец-то «включает» тормоза и останавливается.

Оттуда же, из другой статьи:

Как показали дополнительные заводские тесты, которые ульяновцы провели после публикации АР, время отключения тормозной системы после длительной пробуксовки может достигать 10 секунд. Очень опасно! В чем причина? Заводчане отмалчиваются, но нам стало известно, что доводку программы управления АБС для Патриота компания Bosch поручила… студенту-практиканту. В принципе это обычная практика для крупных компаний, которым фирмы «третьего мира» заказывают какие-нибудь малобюджетные работы. Но странно, что ни тесты самой фирмы Bosch, ни заводские испытания УАЗа этой прорехи в программном обеспечении не выявили.

Решайте сами, а мне не хотелось бы оказаться на тормозном пути двухтонного внедорожника с «зависшей» АБС. К чести УАЗовских конструкторов, хочется добавить, что проблемы с раздаточной коробкой и АБС на более новых машинах уже решены, и вообще по количеству внедренных с начала производства доработок «Патриот» мог бы дать фору многим другим отечественным автомобилям (которые ездят с хорошо известными «косяками» уже десятки лет). К сожалению, далеко не все владельцы УАЗов 2007 года выпуска знают о дефекте АБС — многие «забивают» на дилерское техобслуживание сразу после покупки.

Наверное, от глюков прошивки УАЗа можно спастись, не выходя на улицу (а жратву покупать в «Утконосе», хе-хе). Но кто гарантирует, что такой же студент-практикант не заложил подобную «мину замедленного действия» в микроволновку или гидромассажную ванну с десятком программ? Кто может поручиться, что стиральная машина не зальет соседей внизу, а музыкальный центр не врубит марш «Гори, еврей!», когда рядом будут проходить озлобленные антифашисты? А как вы будете себя чувствовать, когда курьер из «Утконоса» на ваших глазах провалится в шахту лифта? И что вы будете делать, когда кондиционер с термостатом, сговорившись, решат вас немножко заморозить?

Многие, наверное, никогда не задумывались над этим, но современные методы разработки и тестирования программного обеспечения не гарантируют того, что это программное обеспечение будет работать безошибочно. Более того, сейчас «безошибочность» софта уже не является таким конкурентным преимуществом, как дешевизна и актуальность — соответственно, усилия разработчиков направлены на быстрый и недорогой выпуск ПО — как минимум, в самом широком сегменте рынка — приложениях для персональных компьютеров. В конце концов, всегда можно выпустить «патч».

Эти методики проникают и в более «ответственные» приложения. Как заметил [info]infowatch, в следующий раз прошивку для АБС будет делать аутсорсинговая фирма, «у которой в штате тот же один практикант плюс три юриста». А затем — и индусы подключатся. Возможно, критикуемый в тамошних комментах «несовременный» метод, когда программу пишет собирающийся на пенсию дядечка, менее подвержен ошибкам, чем перекладывание ответственности, называемое модным словом «аутсорсинг».

Но на мой взгляд, это не столь страшно, сколько постоянно растущая сложность встроенных систем. Если на УАЗе еще можно вытащить предохранитель и послать Bosch с ее практикантами в известном направлении (у нас нет дорог — одни направления), то в любой современной импортной машине компьютер еще и проверит уровень алкоголя в выдыхаемом воздухе, напомнит о необходимости пристегнуться, скажет «до сервиса осталось 100 километров», а если водитель заснет за рулем, несмотря на алкотестер — еще и подложит подушечку. Надо ли говорить, что без этого компьютера вы просто не запустите двигатель?

Помните закон Брукса про количество связей в коллективе? То же самое верно и для числа связей между модулями программы. Предположим, программист пишет программу из 7 как-то взаимосвязанных частей (большее количество трудно держать в голове) — например, работающую с 7 какими-нибудь датчиками. Тогда между ними имеется 7*6/2=21 различная «связь» (например, «если опросить датчик А, то следующее показание датчика Б будет на 1 завышено») — а это количество уже удержать в голове нельзя и можно допустить ошибку, просто забыв учесть какое-либо из них. Современные языки программирования и «соглашения о кодировании» позволяют свести количество связей между модулями к минимуму (предположим, к 6 вместо 21) — но о каких «паттернах проектирования» речь может идти в случае микроконтролера с парой килобайт ОЗУ? Если же уйти от «мелких» PIC и AVR к младшим ARM — то тут мы столкнемся со сложностью самой аппаратной платформы, не уступающей неплохому компьютеру 70-х годов. К тому же, если захочется использовать на этом ARM какую-нибудь адаптированную ОС — нет никаких гарантий, что в ней самой нет ошибок.

Не знаю, как будет называться OS/360 применительно к встроенному ПО (а скорее всего, каждый эмбеддер создаст «свою», с которой и натрахается вволю), а обращу внимание еще на один прискорбный факт — сейчас практически нет эффективных способов проверки программного обеспечения на безошибочность. Как говорил Дейкстра, тестирование может лишь выявить ошибки, но не доказать их отсутствие. С другой стороны, столь любимое Дейкстрой формальное доказательство правильности программ совершенно непригодно для использования.

В мире hardware этот этап прошли в середине 90-х, после обнаружения ошибки FPU в первых Pentium. Тогда из обширного багажа знаний уехавших на Запад советских ученых были извлечены математические методы проверки работы электронных схем, не требовавшие перебора всех вариантов входных данных — и благодаря им удалось внедрить такое тестирование для всех новых разработок. Думаю, что и для программ существуют аналогичные методики — в конце концов, любая программа для компьютера представляет собой лишь конечный автомат, разве что с невероятным количеством состояний.

Интересно, каким будет программный сбой, который заставит внедрить «контроль качества» в разработке программ? Думаю, что даже если Берлускони улетит в Везувий на презентованном ему в свое время Путиным «Патриоте», никто и не почешется. А вот упавший в Большой Каньон Обама — это уже поинтереснее. Подарит ли Медведев Обаме замечательный российский джЫп (с негротюнингом, разумеется)?

Про советскую торговлю

Во френдленте регулярно наблюдаю срачи на тему «план выполняется — ничего в магазинах нет» и «ничего в магазинах нет — у всех все есть». Это два из «парадоксов социализма», вот полный список:

  • Все хотят работать — никто не работает
  • Никто не работает — план выполняется
  • План выполняется — ничего в магазинах нет
  • Ничего в магазинах нет — у всех все есть
  • У всех все есть — все всем недовольны
  • Все всем недовольны — все голосуют «за»

Срач обычно начинается с картинки очереди в магазин за дефицитом или такого вот откровенного рассказа (отсюда: http://bormental-r.livejournal.com/18991.html):

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

Там по ссылке еще много про советскую торговлю. В принципе, каждый имеет собственное мнение, кто-то помнит очереди, а кто-то — вкус колбасы (ИМХО, «отстоянная» в очереди колбаса казалась куда более ценным и вкусным «трофеем», чем нынешняя). Участвовать в таком сраче — дело бесполезное, как минимум, заклюют за стоящий в профиле «год выпуска» :)

В принципе, отец рассказывает про такие нюансы советской торговли даже весело, например, пресловутая магнитола VEF Sigma покупалась так: кто-то из коллег по работе узнал, в каком магазине «выбросили» «Сигмы» — а такая магнитола за 300 рублей была фактически мечтой офицера Советской армии, вынужденного мотаться черти куда — занимает места не больше обычной «Спидолы», да еще и имеет встроенный магнитофон, еще в плюсе цена — меньше, чем у приемника и магнитофона, вместе взятых. В общем, в магазине на полках никаких «Сигм» не оказалось — стояли приемники «Альпинист» и магнитофоны «Яуза», как никому не нужный хлам. Магнитола была извлечена из-под прилавка продавцом за двадцать пять рублей (стандартная «такса» в таком случае).

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

В общем, после таких рассказов о советской торговле «изнутри», как-то начинаешь сомневаться во всемогуществе советской милиции, ОБХСС и КГБ, которые могли моментально отправить на лесоповал любого не понравившегося им гражданина. А что самое интересное — страшилки про карательные органы очень любят рассказывать те же люди, которые либо возмущаются запечатленными на снимках тридцатилетней давности очередями, либо рассказывают такого рода подробности «с той стороны прилавка».

PS Кстати, где-то полгода назад все дружно травили девочку, написавшую пост о проведенном где-то «на Северах» детстве, в котором ее мама работала директором магазина (в далеком северном поселке) и принимала непосредственное участие в распределение материальных благ среди знакомых, не забывая, конечно, себя и дочку. Что самое интересное — девочка рьяно обличала советскую власть, наверное, за то, что позволяла ее маме подворовывать :) Ни у кого нет ссылки на поцт?

Отбой до 6 сентября

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

В общем, статью про самиздат защитили до 6 сентября в связи с «частым вандализмом» и «ориссом» — так называемым «оригинальным исследованием», заключающемся в аккуратном сравнении пары фотографий.

Кстати, [info]andy, он же [info]jemmix, есть вопрос. С помощью каких тулзов вы еще с каким-то пидором закидывали фекальками мой первый ЖЖ года четыре назад, накидав за ночь полторы тысячи комментов? Есть мнение, что стоит устроить википузикам флудовынос.

Пляски вокруг магнитофона

А вот сейчас википедики забанили меня за «вандализм обсуждений», хотя я еще ничего не написал, а просто откатил правку некоего Pessimist2006.

Pessimist2006

Вглядитесь в это одухотворенное лицо. В детстве у него не было магнитофона «Тембр», в юности его чмырили, а в старости он стал минским бомжом-википедиком, пишущим в педивикии статьи про Израиль. Работает преподавателем чего-то в зачуханном белорусском ПТУ, мечтает, чтобы его оттуда уволили, потому и придерживается «оппозиционных» взглядов. Кстати, можно покурощать его в ЖиЖе [info]pessimist2006 и вконтакте: http://vkontakte.ru/id14683611.

Господа! А также товарищи, камрады и как вас там!

Предлагаю покурощать википузиков в естественной среде обитания в связи с проникновением в ихнюю википедию поноса из так называемого «Музея политической истории России«. Википедические опущенцы носятся с фотографией зверски покореженного магнитофона «Тембр» или МАГ-59М, выставленного в пресловутом музее с табличкой «Самодельный магнитофон, Ленинград, 1970. Изготовлен для М. В. Крыжановского на одном из военных заводов».

Не знаю, как музейщики представляли себе процесс выноса с военного завода магнитофонного шасси массой в 15 килограмм и неслабых габаритов, да и само подпольное изготовление магнитофонов в 70-е было совершенно не нужно — заходи в магазин и покупай — похуже с полок, получше из-под прилавка. В общем, табличка рассчитана на ахающих барышень, уверенных, что приемник «Спидола» необходимо было приобретать по спецразрешению КГБ, а все владельцы магнитофонов были под наблюдением того же КГБ, чтобы не встретичались с владельцами «Спидол» и не записывали на магнитофон «Голос Америки». Тех же, кто имел наглость иметь одновременно и «Спидолу», и магнитофон, незамедлительно высылали в Магадан, а приемник с мафоном конфисковывали для дачи очередного генерала КГБ.

Так вот, сие разжижение мозгов проникло и в Википедию:

http://ru.wikipedia.org/wiki/Самиздат
http://ru.wikipedia.org/wiki/Файл:Самодельный_магнитофон_1970ых.jpg

Как почетный КГБшник, имеющий аж целую магнитолу VEF Sigma, а также приемник «Мир-152», отделанный ценными породами дерева, на порубке которого в ГУЛАГе зверски угробили миллион зеков (на каждый приемник), я не мог пройти мимо такой откровенной клеветы буржуазных наймитов на советский строй, поэтому решил исправить сведения с правдивых, раскрывающих всю людоедскую сущность советско-чекистского режима, на идеологически правильные, а также задать википедикам неудобный вопрос: почему «Тембр» обозвали «самодельным магнитофоном»?

Естественно, уже через 12 минут википедики исправили все обратно, а при попытке еще раз указать модель магнитофона — еще и забанили меня за якобы имевший место «вандализм в обсуждении», причем старательно потерли все свидетельства.

В общем, имеется предложение — совместными усилиями поисправлять подпись к картинке на странице «Самиздат» на «Магнитофон «Тембр» (МАГ-59), CCCР, 1964», а также позадавать на странице обсуждения картинки неудобный вопрос, почему «самодельный» магнитофон представляет собой остатки вполне серийного и присутствовавшего в продаже «Тембра».

Мир-152

Тут меня упрекают за то, что давно не писал «паяльного бреда». Надо исправиться.

mir

Впрочем, у меня есть оправдание. С самого начала ЖАРЫ В МОСКВЕ™ мой стол и окружающее пространство были заняты чудо-агрегатом под названием Мир-152 (или М-152) — одним из лучших советских ламповых приемников, выпускавшимся в 1952-1954 годах заводом «VEF». Из-за жары я никак не мог съездить на Митино купить у дедков лампу 6А7 на замену сгоревшей 50 с лишним лет назад. Практически все остальные лампы в приемнике были «родными», с клеймом ВЭФовской приемки, а последняя «неродная» лампа датировалась 1957 годом. Кроме того, в приемнике недоставало нити верньера.

Сгоревшая 6А7 стояла в каскаде УВЧ, что не мешало приемнику нормально принимать пару мощных станций на кусок провода в гнезде «заземление». Подозреваю, кстати, что и нить верньера оторвали специально, для того, чтобы работало только Радио Северной Кореи :)

Конечно, мелкая неисправность в радиотракте совершенно не мешала работе гнезда звукоснимателя, поэтому весь август я наслаждался теплым ламповым звуком. Сегодня же я съездил на радиотолчок, без проблем нашел лампу, прикупил еще всякого гавна, а на обратном пути заглянул в магазин «Иголочка» на Текстильщиках, где купил вощеный шнур. Те, кто, так и не возненавидел в детстве всякое рукоделие, использует его для всяких там бус, я же с отвественностью заявляю — вы не найдете лучшей замены верньерной нити в старом радиоприемнике.

Кстати, специально для московских паял. Если вы ненавидите «Чип-и-Дип» за тормознутость персонала — зайдите в «Иголочку». Если кассирша беседует по пять минут с каждой теткой-рукодельщицей, можете сами прикинуть скорость движения очереди.

Теперь о технических характеристиках «Мира». «Мир» — это продолжение серии приемников VEF Luxus M1307 (1939), ВЭФ M-1357 (1948) и Латвия M-137 (1949) — фактически, еще довоенная разработка, «подогнанная» под параметры ГОСТа 1951 года. В принципе, я не ожидал каких-то удивительных параметров у творения латвийских инженеров, так что приемник меня приятно удивил. Начну лишь с того, что на воткнутый в гнездо заземления кусок провода «Мир» неплохо принимал мощные станции, а когда я заменил неисправную лампу, по чувствительности приемник превзошел «Спидолу» и показал себя ничуть не хуже «Дегена», а в диапазоне СВ — и превзошел, несмотря на отсутствие магнитной антенны.

Замечательная чувствительность у «Мира» сочетается с неслабым усилителем — в выходном каскаде стоит пара ламп 6П3С, обеспечивающих, по мнению ВЭФа, выходную мощность в 4 ватта. Если кто-то считает, что 4 ватта — это только наушники от плеера слушать, то он глубоко заблуждается. Дело в методике измерений. Для ламповых приемников 1 класса, к которым относится и «Мир», коэффициент гармоник составляет 5% на частотах свыше 400 Гц. «Современная» же мощность обычно измеряется при КГ не менее 10% (это относится к RMS, в случае PMPO гармоники никого не волнуют). В общем, 4 ГОСТовских ватта, дополненные весьма приличными динамиками, могут задать шороху в трехкомнатной квартире при половинном положении регулятора громкости, а при выкрученной полностью ручке — разбудить соседей на три этажа вверх и вниз. Это называется «звуковое давление не менее 20 бар».

Естественно, не обошлось без «никому не нужных прибамбасов». В случае с «Миром-152» таким прибамбасом является система бесшумной настройки — мне так и не удалось «поймать» тонкую грань между помехами на ДВ и «Радио России», которое принимается аж с перехлестом секторов на индикаторе. В следующей модели — «Мир-154» систему БШН исключили, заменив более полезным режимом местного приема.

Стоит отметить и наличие выхода на абонентский громкоговоритель (хотя его назначение, учитывая способность приемника «проорать» на всю квартиру, остается загадкой), регулятора тембра (кстати, совмещенного с переключателем полосы пропускания), и крайне интересный дизайн приемника — других похожих аппаратов с прозрачными вертикальными шкалами никогда не было.

Наконец, остается лишь удивиться силе латышских Шварцнеггеров, которые собирали эти приемники. На фотографии — такой Шварцнеггер с шасси М-1357, зачем-то нацепивший женский парик.

baboschwarz

Дредноут, реально

sarkisov

Карманный историк [info]vanchez купил книжку «Путь к Цусиме» некоего Константина Саркисова. На вклейке с фотографиями красуется это чудо, снабженное подписью «Флагманский броненосец «Князь Суворов»».

megagangut

Если че, эскадренный броненосец «Князь Суворов» выглядел примерно так:

suvorov

Что же за мега-дредноут с 18 двенадцатидюймовыми орудиями изображен на картинке? Начнем с национальной принадлежности. Флаг на корме похож либо на английский, либо на ранний советский. Англичане отпадают сразу по причине «одноногости» мачты. С другой стороны, СССР мог похвастаться лишь тремя линкорами типа «Гангут» в нормальном состоянии («Полтава»-«Михаил Фрунзе» сильно пострадал от пожара), но на «Гангутах» не было установленных на возвышении башен — при их проектировании считалось, что управление огнем расположенных в разных «этажах» орудий будет слишком затруднено, да и башен реально было всего четыре.

gangut

Ничего не напоминает? Правильно, наш «супердредноут» — это «модификация» «Гангута», родившаяся, правда, не на кульманах и не на Балтийском заводе в Питере, а в измененном дешевым алкоголем сознании некоего фотошопщика. Точнее даже, не «некоего фотошопщика», а вполне конкретного Константина Степанова из Севастополя.

Искренне радует только то, что Константин Саркисов постеснялся указывать, откуда взял картинки для книги (ага, читатели обрадовались бы, узрев в URL слово poddelki), ограничившись лишь указанием на «личный архив автора». Не знаю, правда, по какой накурке фотошопного «Суворова» можно принять за настоящего. Против фотошопа не имею ничего, тем более, что сам так баловался, а вот укуренные аффтары и редакторы не могут не радовать.

Про Лукойл и бабу на Ситроене

Френдлента снова наполнилась глубокомысленными мнениями дипломированных экспертов о том, почему не надо заправляться на «Лукойле». А вот почему не надо вылезать на встречную — эксперды молчат.

И вообще, чисто из-за своего количества, бабоситроены на порядок опаснее всяких там «Мерседесов».

Классная Америка

Кинули ссылку на книгу Айрата Димиева «Классная Америка«. Автор делится впечатлениями от своего опыта преподавания в американской школе (причем в основном — не из худших, в «плохой» он работал лишь в самом начале педагогической карьеры в Штатах).

Что могу сказать? Книжка эта — не «ну тупые», как любит говорить Задорнов и что подразумевал в своих статьях академик Арнольд, а обычное описание школьных реалий человеком, впервые столкнувшимся с педагогической системой «изнутри» (а преподавание той же химии в вузе и в школе — это две большие разницы). Скажу лишь, что бесконечные «курсы повышения квалификации», псевдонаучные статьи по педагогике, оценка работы педагогов по количеству «положительных» оценок (и вытекающее из этого завышение оценок, вплоть до полного отсутствия двоек), «творческая работа учеников» (по факту выполняемая учителями), бесконечное участие во всяких конкурсах (с привлечением внешних сил, не имеющих к школе никакого отношения), плюс огромное количество бесполезной бумаги — это есть и у нас.

По поводу того, что происходит на уроках — комментировать не могу, тут бывает всякое, правда, у нас иногда еще действует просто «запугивание» (например, двойкой в четверти или вызовом родителей) — но дети тоже мало-помалу узнают, что у них есть какие-то «права» (а то и узнают, что двойку все равно не поставят) и после этого никакие действия по отношению к ним предпринять нереально. Про перевод граммов в килограммы (34,5 г = 34500 кг) могу вспомнить лишь, что по мнению наших преподавателей информатики, в одном метре — 100 миллиметров.

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

PS Кстати, про любовь американцев к всякого рода инструкциям. Автор приводит пример телемастера, который, придя на вызов, тут же нацепил оранжевую строительную каску. Дело не в особой любви к ТБ или ношению каски, дело в том, что в случае травм, связанных с опасными профессиями (зря смеетесь — на телемастера может упасть любимый фикус хозяина, полцентнера земли с единственным чахлым листочком, я не говорю об опасности получить удар током или сверзиться с крыши) медстраховка может «работать» только в случае беспрекословного выполнения всех пунктов ТБ. Иначе — оплачивайте труд американского доктора сами (а врач в Штатах берет немало, наряду с адвокатами это одна их самых «денежных» профессий) :)

Кстати, про опенсорс

Кинули ссылку на http://gitterdimmerung.blogspot.com/2009/04/yep-some-apis-changed.html.

Заголовок (Yep. Some APIs changed) не случаен. Я столкнулся с этой душевной фразочкой на одном из форумов, когда попал в ситуацию, описанную в этом посте, когда в ТП повалились гневные письма клиентов, сообщающих о слете и невозможности перекомпилляции модулей при обновлении ядра. Делать что то было надо — терялись деньги. Месячный геморрой окончился моей победой, но осадочек остался.

Какой дорогой идет нынешний опенсорс (в основном — разрабатываемое «всем миром» Free Software)? У [info]belnetmon видел обсуждение аналогичной проблемы — нынешние Линуксы не совместимы по бинарникам, при обновлении каких-либо библиотек зачастую приходится перекомпилировать программы (особенно «нестандартные», не лежащие в популярных репозиториях), не говоря уже про обновления ядра — все потому, что Торвальдс (или Бог-Питух, кто там разберет) говорил: «В динамично развивающемся проекте не может быть стабильного ABI».

Не знаю, что там говорил Торвальдс, а вот в нормальных Юниксах этот этап прошли еще во времена System V Release 4, в которой стандартизировали ABI — по той простой причине, что в maintenance cost входят и затраты на поддержание работоспособности «хитрого корпоративного софта» (обычно — кривого поделия на коленке), и было бы очень хорошо, если бы этот софт нормально запускался после обновления системы.

Хочу еще заметить, что за поломанную совместимость в современных условиях быстро бьют по рукам — вспомним ту же Windows Vista. В середине 2000-х Microsoft пообещала целую кучу новых «трехбуквенных технологий» — от .NET до ASP, сдобрила их анонсом заменителя старого доброго WinAPI (Windows Forms), плюс заявила о том, что все это будет в Vista, чем напугала многих вплоть до состояния «вендекапец». Слава богу, что все эти обещания так и остались обещаниями (кстати, давно хотел написать про «обещания» в разработке ПО, вот еще одна «зарубка»), разве что в Vista реализовали более «правильный» механизм контроля пользовательских разрешений. Естественно, немалая часть софта, рассчитывающая на возможность беспрепятственной записи в Program Files и тому подобные не очень одобрявшиеся возможности, просто отказалась работать. Надеюсь, про солидарность общественного мнения в отношении Vista напоминать не надо?

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

Как вы яхту назовете…

В статистике заходов на мой сайт набрел на очередную вебдванольно-триппернуютвиттерную хрень — сайт с закладками и твиттерообразными комментариями к ним Goozzy.com. В общем, люди ГУЗЗеры оставляют на понравившихся им сайтах липкие желтые бумажки, типа как с паролями нотес, а затем весь этот цимес комментируют.

Лично я сполз под стол, увидев название. Моментально возникли ассоциации со словом «гузно». Как учит нас словарь Даля,

Гузно ср. зад и низ чего, задница человека и животного;

Удивительно, что сделали все это русскоязычные люди.

Русская! Столичная!! R-R-Russian VODKA!!!

Про концерт Криса де Бурга в Батуме:

Исполнитель поблагодарил М.Саакашвили за приглашение, за внимание к концерту, а затем, поднимая на сцене тост за благополучие Грузии, воскликнул, что очень любит русскую водку, что нет никого лучше русских красавиц и что он с удовольствием отправится в Россию еще раз. Опорожнив рюмку, Крис де Бург спел песню «Русская водка». До и после этого он спел еще два русских романса, сообщает телекомпания «Рустави-2».

via [info]zubkoff.

Осталось только пригласить «Коррозию металла», эти споют и «Russian Vodka», и «Слава России».

Девки, музыка и бухло.

UPD Исправил город и дал ссылку на оригинал.

Офигеть

Я на фишках.

Хорошо хоть картинки не хотлинкнули.

UPD Почитал комменты. Народ, оказывается, совершенно не умеет читать написанное черным по белому.

Вдогонку про конь-диционер

Да, про этот личный перс-анальный конь-диционер из бутылки.

Спрашивали про расход льда, отвечаю. Замороженного в таком же горлышке от бутылки «сменного картриджа» массой около 300 грамм хватает на 35-40 минут, степень охлаждения воздуха зависит от количества льда, когда «картридж» цел — выходящий воздух охлажадается примерно на 7-8 градусов.

Личный персональный кондиционер

Жара в Москве продолжает бить рекорды, народ изгаляется в изобретении способов охлаждения, как только может. Блоггеры занимаются перепостом видюшки про изготовление «USB-кондиционера» из жестяной банки из-под какой-то дряни. Я же, в отличие от блоггеров, изготовил такой девайс лично, причем немного переработав конструкцию.

Во-первых, за неимением жестяной банки, мой агрегат собран методом художественной резьбы по пластиковым бутылкам. Понадобится две-три бутылки и компьютерный кулер (размер выбираем в зависимости от бутылок, у меня был 8×8), а кроме того — немного бумаги и клейкой ленты. Необходимо сделать три детали показанной на фото формы:

bottleparts

Отверстия либо прожигаем паяльником, либо вырезаем ножом.

Конус с дырочками вставляем в стакан:

stakan

Теперь займемся вентилятором. В оставшуюся деталь вставляем вентилятор, примерно так:

cooler

И закрепляем его липкой лентой, попутно закрывая щели:

coolerinstalled

Второе отличие от канонiчной версии — над вентилятором установлен раструб, отклоняющий поток воздуха в нужном направлении.

rastrub

Все, «кондиционер» готов. Остается только положить внутрь вставленного в стакан конуса предварительно замороженный в холодильнике лед, закрыть все крышкой с вентилятором и раструбом и включить питание. Третье отличие — для большого вентилятора лучше использовать не питание от USB, а батарейку «Крона» — к тому же, конструкция получится мобильной.

complete

Принцип работы очень прост:

working

Не забываем только сливать из нижнего «стакана» талую воду и подкладывать в конус лед :)

Да здравствует препроцессор C!

В журнале «Наука и жизнь» в конце 80-х печатали статьи по программированию. Как-то было опубликовано замечательное предложение определить в C такие вот макросы:


#define BEGIN {
#define END }

и после этого писать, как на богомерзком Паскале. А вот сегодня нашел логичное продолжение этого подхода:


// Находим среднее арифметическое
срака посередине стало шняга кагбэ ХУЙ да;
туды_сюды в_общем какая_то козёл стал норма; козёл почти фигня; козёл и_ещё_больше ну
начал
посередине присобачить шнягу кагбэ козёл да;
Подрыхнуть в_общем чуть_чуть ну;
кончил
посередине стало посередине хуякс фигня;
Слышь_это "\n\nСреднее арифметическое элементов массива: " эээ посередине эээ бля;

Надо применить такой подходец на практике, надо.

В защиту аналитической геометрии

Подкинули ссылку на статью Андрея Панова в «Ведомостях» по поводу того, что в наших ВУЗах называется «высшей математикой».

http://www.vedomosti.ru/newspaper/article/2010/07/22/241292

Автор утверждает, что:

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

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

аналитическая геометрия … даже в курсе мехмата выглядит как трогательный рудимент

Вот насчет этого трогательного рудимента я и хочу высказаться. Что такое «ангем» на мехмате (на первом курсе, кстати говоря)? Это декартовы координаты на плоскости и в пространстве, скалярное и векторное произведения, уравнения прямой и плоскости, аффинные преобразования, немного — о проективных координатах и проективных преобразованиях, наконец, классификация кривых и поверхностей второго порядка.

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

http://pshenichny.livejournal.com/26954.html

Или вот с этой (секция «матемачиха и линейное щастье»):

http://blog.gamedeff.com/?p=64

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

Мне лично интересно: если начать обучение на мехмате сразу с линейных и гильбертовых пространств произвольной размерности (и не упоминать даже про R^n), кто после этого всего сможет сказать, откуда «растут ноги» у скалярного произведения (которое в произвольном гильбертовом пространстве считается «данным свыше» и никак не связано с длиной отрезка в обычном понимании)? Конечно, это красиво с математической точки зрения, но все-таки необходимы и простейшие примеры, возникающие из того же ангема, тем более, что они имеют практическое применение (с которым выпускник мехмата вполне может столкнуться).

PS Кстати, пользуясь случаем, хочу пнуть Javascript (точнее, ECMAscript) за отсутствие там возможности определить нормальные классы с нормальным operator+. Приходится либо писать такие извращения:

a = new SFVec3f(a1, a2, a3);
b = new SFVec3f(b1, b2, b3);

c = a.divide(2).add(b.divide(4)).multiply(3);

Кстати, как называется такая запись? Есть «инфиксная»: с = 3*(a/2 + b/4), есть «польская» или «постфиксная», знакомая многим по программируемым калькуляторам: 3 a 2 / b 4 / + *, есть префиксная: * 3 + / a 2 / b 4, такое чудо я боюсь сравнивать с чем-то осмысленным.

…либо под каждый временный объект заводить переменную и писать так:

t1 = a.divide(2);
t2 = b.divide(4);
t3 = t1.add(t2);
c = t3.multiply(3);

Оба способа мне не нравятся, но ничего приличного сделать не получается :(

Холодный борщ

Похоже, жара в Москве продержится еще не меньше, чем до конца лета, поэтому рубрику «алкоголизм и обжорство» стоит дополнить рецептом одного замечательного блюда, как и цеппелины, относящегося к польско-литовско-белорусской кухне. Это — холодный борщ, который в Литве называют Saltibarsciai (кажется, там есть еще всякие галочки и точечки над буквами, но я их ставить не умею — произносится как «шалтиборщай»). Википедия утверждает, что в Белоруссии очень похожее блюдо называется холодник.

Как бы то ни было, холодный борщ — очень простое в приготовлении блюдо, прекрасно освежающее в жару, а главное — очень вкусное. Готовится он очень легко, о чем я сейчас и расскажу, сопроводив процесс фотографиями.

DSC02703

На 5-6 порций нам понадобятся: полторы-две некрупных свеклы, два свежих огурца, три-четыре «стандартных» маринованных огурчика (можно заменить солеными) — масса свежих огурцов должна быть примерно равна массе маринованных, литр кефира, полтора-два стакана холодной воды, соль, хрен, укроп опционально — горчица и сахар. Свеклу предварительно отвариваем и даем ей остыть.

DSC02706

Кроме того, надо сварить вкрутую пару-тройку яиц (по пол-яйца на порцию) и крайне желательно — по паре средних картофелин на порцию.

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

DSC02704

…свеклу…

DSC02707

…свежие…

DSC02709

…и маринованные огурцы.

DSC02710

Как сказано на одном американском сайте, представьте, что делаете салат.

DSC02713

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

DSC02714

Затем заливаем все литром кефира…

DSC02717

DSC02718

…и перемешиваем.

DSC02719

Секрет второй: когда добавляем воду (иначе суп получится очень густым), лучше взять газированную :). Конечно, кефир — «газированный» сам по себе, но при разбавлении простой водой «газированность» теряется, а она очень помогает освежиться в жару — кстати, то же самое важно и для окрошки.

Затем добавляем «специи» по вкусу:

DSC02721

— ложку хрена

DSC02722

— ложку горчицы

DSC02723

— пол-ложки соли

DSC02724

— ложку сахара (опционально)

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

DSC02720

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

DSC02726

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

DSC02727

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

Если говорить о дружбе народов СССР, то можно заедать холодный борщ осетинским пирогом, а если о великом интернационале — то и пиццей.

ЗЫ Если кто считает смесь огурцов и кефира поносным средством — то вы ошибаетесь, проверено.