И это — школьные учителя

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

http://grani.ru/Society/Kids/m.194220.html
http://ru-57.livejournal.com/220561.html

Хорошо, что хоть детей строем не поведут.

Не понял

В новостях на Яндексе висит заголовок «Президентский совет рекомендовал пересмотреть приговор Ходорковскому». Кто такой этот «Президентский совет», что поет, в каком стиле? Еврей? и какое отношение он имеет к пересмотрам приговоров, вынесенным независимым от президента судом?

У нас что, Таджикистан?

Идиотское письмо

Пишем с братаном всякие глупости по искоренению в Москве всяких недоавтомобилей типа «Калины» и «Логана». Решили упирать еще и на «эстетику», получается примерно такой текст:

Сегодня как никогда остро перед правительством Москвы стоит проблема автомобильных пробок. Предлагаемые решения способны лишь на временное ее решение, но темпы роста числа автомобилей в Москве превышают темпы строительства дорог. А ведь еще сравнительно недавно все было совсем не так. Посмотрите на картину Ю. И. Пименова «Новая Москва», на фотографии московских улиц 60-70-х годов.

Novaja_Moskva

sokol

leninsky

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

Взгляните на эти картины и фотографии еще раз. Вы видите широкие улицы, большие красивые дома — и большие красивые автомобили. Архитекторы центральных московских улиц рассчитывали, что и автомобильное движение по ним будет соответствующим, «представительным». А что мы имеем сейчас? Сотни тысяч недорогих отечественных автомобилей («Калина», «Гранта», «Приора») и аналогичных по стоимости иномарок (Renault Logan, Ford Focus, Volkswagen Polo Sedan) «компактного» класса ежедневно въезжают в центр города, своим внешним видом уродуя московские улицы. Автопроизводители утверждают, что откровенно уродливый внешний вид этих автомобилей (особенно среди них выделяется Renaul Logan) определяется тем, что они принадлежат к «бюджетному» классу, а более-менее эстетичный внешний вид «остается» для автомобилей «премиум-класса».

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

Уникальным для Москвы решением, позволяющим одновременно разгрузить центральные улицы от движения излишнего автотранспорта и сохранить их уникальную эстетику мог бы стать запрет на въезд в пределы Садового кольца или ТТК «компактных» (то есть, следуя логике автопроизводителей — массовых уродливых малолитражек) автомобилей по будням. Разумной границей для размеров легкового автомобиля, имеющего право на въезд в центр города, мог бы стать европейский класс E — длина автомобиля не менее 4,6 метра, ширина — не менее 1,7 метра. Эти автомобили относятся к «бизнес-классу» и достаточно хорошо вписываются в сложившийся архитектурно-эстетический стиль города, а кроме того — сравнительно дОроги — то есть стоимость автомобиля служит своего рода «платой» за въезд в центр.

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

А ведь пошлем :)

Если примут — куплю вторую «Волгу» для разъездов, а пассажира буду сажать надувного :)

Жить стало лучше, жить стало веселей!

Школьная учительница выбирает машину. Одно из требований — обязательно Mitsubishi. Посмотрела-посмотрела фото и заявила:

— Хочу Lancer Evolution!

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

В френдленте соседствуют…

…запись про почитание языческого бога Карачуна:

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

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

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

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

…и записи про годовщину дня рождения Сталина, даже с картинкой:

stalin

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

Кстати, надо объяснить

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

http://www.macc-garant.ru/index.php/2011-02-14-11-24-37

Там указан левый поворот с Дмитровки на Нижнелихоборский проезд. Он отмечен и в автоатласе, и виден в панорамах Яндекса, и даже наш навигатор считает этот маневр законным. А вот мэр Москвы Собянин — нет, после того, как на Дмитровке ввели автобусную полосу (кстати говоря, дублирующую линию метро и электрички и абсолютно ненужную), там еще и поубирали левые повороты.

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

Потом мы развернулись в Нижнелихоборском проезде и пересекли Дмитровку еще раз, но по совсем-совсем по правилам.

PS Формально этот маневр называется «перестроение», так что не надо писать идиотские письма в ГИБДД с просьбой найти и наказать водителя «Волги» с госномером п666ох190.

Про «Волгу» и Вацлава Западлика

Братан кроме всего прочего умудрился определить «Волгу» в музей ретроавтомобилей на Рогожском валу. Там крайне удобно хранить редкостные автомобили, особенно зимой, когда ездить по «соплям Лужкова» себе дороже. Стоит эта крытая охраняемая стоянка всего 300 рублей в месяц. Всю прошлую неделю машина стояла там, а сегодня мы решили поехать на сервис.

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

Так или иначе, сервис нашелся на Дмитровке, на одной бывшей автобазе. Договорились забрать машину сегодня после обеда и перегнать ее туда. Выгнали — и увидели, что почему-то капает бензин. С утра я, по на водке [info]o_vladimir разглядывал картины чешского автохудожника Вацлава Западлика. Что может нарисовать Западлик? Например, картину маслом Joining the Immortals, снабженную следующим описанием:

zapadlik

Ахилл Варци на P2 Alpha Romeo догоняет Луи Хирона на Bugatti Type 35B в деревне Кампофелице ди Роцелла во время гонки Тарга Флорио. Машина Варци загорелась во время заправки, но он продолжил гонку, несмотря на языки пламени, лижущие его шею. Механик Варци сбивал пламя с помощью подушки от сиденья. Он победил с рекордным временем, опередив Хирона почти на две минуты, в гонке, которая продолжалась почти семь часов.

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

В общем, поехали на Дмитровку. Я сразу самоустранился от управления машиной, назначив себя механиком. Братан руки марать не хочет — гуманитарий, хуле, историк — и чуть не плакал, когда я махал отверткой и грозился затянуть хомутик. Поступил правильно — мы поехали через Садовое и стояли в пробке от Рогожки до самой Дмитровки. Братан ругался, что у него отвалится левая нога, а я предлагал ему стукнуть подушкой по шее. Так он мутировал в настоящего баржевода и на Дмитровке уже демонстрировал полный набор баржеводских качеств — начиная от движения в левом ряду со скоростью ровно 60 километров в час (по спидометру и GPS), заканчивая поворотом направо из крайнего левого ряда с перекрыванием трех полос.

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

Братану в качестве покаяния за кошмарные повороты в стиле «раздайся грязь, баржа плывет» поручено написать идиотское письмо в ГИБДД с предложением запретить въезд в Москву автомобилей класса ниже E2 («бизнес-класс», то есть длиной менее 4,6 метра) и без пассажиров. В общем, «Мерсу» с шофером можно, а бабе на личной консервной банке типа Skoda Fabia — нельзя. На «Волге» вдвоем можно, а на «Запорожце», пусть даже набитом пассажирами — Гони Им Бабки и Дуй Дальше.

Новости про Minix

Вот уже больше года «стабильной» версией Minix остается 3.1.8. 3.2.0 так и не выходит из экспериментальной стадии, хотя сделано там очень и очень много. Наконец появилась поддержка динамических библиотек, основной формат объектных файлов — ELF, а не устаревший a.out, портируется userland из NetBSD, список пакетов наконец-то «перерос» версию 3.1.7. Таненбаум опубликовал вакансию программиста для ARM — Minix будут туда портировать. В общем, жизнь движется.

Интересно, можно ли собрать в нынешнем Minix 3.2.0 библиотеку Qt?

А я тем временем достал с пыльной полки бывший ноутбук брата, поставил там Minix 3.1.8 и решил вернуться к вогоплееру. По собственной же инструкции попытался собрать u-boot, использовал все те же binutils 2-16.1 и gcc 3.4.6. Если сами по себе они собрались нормально, в соответствии с инструкцией, то вот с u-boot произошло что-то непонятное.

Во-первых, он затребовал у меня заголовочные файлы из директории ./gcc/3.4.6/i686-pc-cygwin/includes — или что-то в этом духе. Это происходило еще на этапе сборки «утилит» типа bmp_logo, и занимался этим еще «родной» gcc. Я сначала немного офигел. В Minix 3.1.8 gcc иногда безбожно «тупит», так как прикручен к системе немного нестандартно, но используется все-таки версия 4.1.1, а «старая» 3.4.с чем-то может быть «доустановлена» из пакетов. Я сначала подумал, что возникли какие-то проблемы с «системными» библиотеками и заголовочными файлами — при их сборке ОС думает, что их надо положить в директорию для gcc 4.1.1, а gcc считает, что их надо искать в директории для другой версии.

Правда, посмотрев чуть-чуть повнимательнее, я обнаружил там упоминание cygwin и понял, откуда притащил бяку. Кроме того, слова Missing dependency уже не оставляли сомнений — «корни» ошибки растут из оставшихся в архиве с исходниками u-boot файлов .depend. Добавил в make clean команду на удаление этих файлов — и процесс пошел. В общем, что я там писал?

gmake volans_nand_config
gmake

Да как бы не так! Все остановилось с руганью на 95 строчку файла ./nand_spl/board/volans/start.S — якобы там junk after end of line, недостача скобок, ад и погибель. Строчка сама по себе вполне законная, что-то типа

.word SOMETHING_DEFINED_BEFORE

Пришлось немножко изучить, как gcc вызывает ассемблер. Оказывается, GNU as препроцессора не имеет и файлы с расширением .S сначала обрабатываются встроенным в gcc препроцессором по правилам Си, а затем передаются ассемблеру. Решил просто «препроцессировать» этот файл — как я понял, ассемблер ругается только на свой ввод. Может, там чего криминальное на 95 строке?

Препроцессировал, получил файлик в 50 с чем-то строк — и на что же ругаться? А при попытке ассемблировать его ругань вполне себе была. Правда, в комментариях специального вида было прописано, что и из какого файла взято. 95 строке start.S соответствовала такая, тоже вполне невинная:

.word ((2048==2048)&0xff0000) | ((2048!=512)&0xff00) | ((3==3)&0xff)

Но если эту строку закомментировать — то все работало! Точно так же, «вычеркивая» отдельные конструкции, я обнаружил, что причиной ругани была операция !=. Закомментировав «второй» блок, я получил «законный» start.s — но меня все же мучило, что же должно оказаться на месте (2048!=512), чтобы его можно было применять в побитовых операциях. Начал искать всякие руководства по GNU Assembler — и обнаружил, что операции != там не предусмотрено, а неравенство записывается в виде <>. Если неравенство верно, то на его месте в выражении окажется -1, если неверно — то 0. Заменив в определении SOMETHING_DEFINED_BEFORE != на <>, я получил заведомо правильный ассемблерный код.

Что интересно — при сборке pavo_nand_config ругани не возникало. Скорее всего, в своей инструкции тогда я наврал — либо в версии binutils, либо в том, что собрал работоспособный u-boot для volans. Для pavo — да, а вот вогоплееровский u-boot я не проверял.

В общем, вчера вечером что-то собралось, а сегодня я решил посмотреть, оно вообще запускается или нет. Достал чудо дизайнерской мысли, сдул с него пыль, подключил к компьютеру и даже успешно прошил. Включил, и что удивительно — «оно» заработало, включило экран и даже что-то там написало. А вот в консоль по RS-232 сыпался форменный бред. Правда, «туда» буковки уходили, и даже hello_world из комплекта u-boot оказался рабочим. В общем, явно происходило что-то странное.

Я уж было грешил на компилятор — чего он там мог соптимизировать, тем более, что в подобного рода «низкоуровневых» делах сплошь и рядом встречается, что компилировать надо одним-единственным рекомендованным компилятором, а все остальные попросту «компилируют» какой-то бред. Правда, мне показалось, что наличие и отсутствие бреда как-то связано с «втыканием-вытыканием» разъема. Решил проверить свои подозрения — и обнаружил, что проводок от UART к плате отвалился и лежит на ножках процессора — вот отсюда и идет этот «бред».

В общем, паять лучше надо. Ну а в целом — я более-менее восстановил toolchain на ноутбуке с Миниксом, так что можно и дальше «играть» с плейбоеплеером, не заморачиваясь неудобствами cygwin (потому что он действительно ужасен).

PS В cygwin u-boot компилируется полчаса, в Minix — за минуту.

Московские новости

На Яндексе:

— Столичная ГИБДД призывает водителей быть осторожными из-за снегопада.
— Женщина протаранила «Газель», пытаясь свести счеты с жизнью.
— Водитель маршрутки изнасиловал 19-летнюю студентку.

Это же чего на дорогах творится, а?

Do you believe in God or dinosaurs?

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

Примерно такая же аргументация и у отечественных онлайн-атеистов. Они искренне считают, что можно верить либо в Бога — и, соответственно, буквально понимать все написанное в Библии — либо точно так же разделять их «веру» в невероятно упрощенные и вульгаризованные научные теории. Более того, кое-кто даже утверждает, что современная наука (в его понимании) полностью описывает окружающий мир, абсолютно точна и «непогрешима». Есть в этой убежденности что-то религиозное, как заметил сегодня [info]d_prospero.

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

В чем разница между протестантами с одной стороны и католиками и православными — с другой? Дело в том, что протестантизм отвергает богословие, придерживаясь принципа sola scriptura — Священное Писание, то есть Библия, абсолютно верно и самодостаточно. Ни католицизм, ни православие не признают единственного авторитета Писания, рассматривая наряду с ним и Священное Предание, и труды богословов, одобренные церковью. Подробнее об этом пишет Джон Уайтфорд, обратившийся в православие и критикующий несостоятельность протестантской точки зрения:

http://www.fatheralexander.org/booklets/russian/sola_scriptura_r.htm

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

А вот католики или православные вместо того, чтобы отрицать научную картину мира, пытаются согласовать с ней христианское учение. Например, в католичестве общепринятой является теория Фомы Аквинского, согласно которой истины науки и истины веры не могут противоречить друг другу, а умопостигаемый мир — это лишь часть того, что дано в божественном откровении. Правда, все осложняется тезисом о непогрешимости Папы Римского. Если Папа скажет, что крокодилы летают — то истинный католик должен считать высказывание Папы божественным откровением, и даже если умопостигаемый мир просто-таки «кричит» о противоположном — то соглашаться на «летают, но низэнько-низэнько!» С этим была связана длительная «борьба» католиков против гелиоцентрической системы мира — один из средневековых Пап признал геоцентрическую, как единственно правильную, и с упорством, достойным лучшего применения, католическая церковь боролась с «еретиками». Кстати, сейчас это отменили — тоже специальным папским указом.

В православии все обстоит еще лучше. Например, по поводу динозавров довольно интересно написал иерей Геннадий Егоров в книге «Священное Писание Ветхого Завета«:

Как объяснить несоответствие библейской хронологии предположительному возрасту Земли и ее обитателей? И почему отсутствуют человеческие останки среди останков древних животных? Здесь следует сказать следующее. Во-первых, порядок расположения останков свидетельствует о том, кто в какой последовательности умер, а не появился на свет. Во-вторых, мир создан для человека. Что мешает нам предположить, что человек был переселен из рая на проклятую землю уже после того, как на ней произошли определенные процессы, и она стала более-менее пригодна для жизни (например, вымерли динозавры). Ведь между проклятием земли и выдворением людей есть еще некий момент. А вне рая в течение этого момента могло пройти сколько угодно лет. Это лишь гипотеза, но она с научной точки зрения непротиворечива. Тогда нет смысла сопоставлять «возраст вселенной» с продолжительностью жизни людей, указанной в Библии. Остается, правда, вопрос о «возрасте человечества». Думаю, что и его как-то можно разрешить.

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

Православие допускает любую трактовку, согласующуюся с писаниями отцов церкви — и при этом не требует соответствия догматам. «Атомное православие» или освящение космических ракет — это не «взаимоисключающие параграфы», это прекрасно вписывается в православное вероучение.

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

Бюджет по-зюгановски

Решил прикинуть, насколько «невыполнимым» окажется бюджет РФ, если следовать в нем принципам, изложенным в «думской» предвыборной программе КПРФ. За «существующий» бюджет я решил принять раскладку, приведенную у [info]kettenkrad — с расходами на сумму 10,6 триллионов рублей:

— общегосударственные вопросы 777,6 млрд руб.
— национальная оборона 793,0 млрд руб.
— национальная безопасность и правоохранительная деятельность 819,8 млрд руб.
— национальная экономика 1 702,3 млрд руб.
— ЖКХ 196,5 млрд руб.
— охрана окружающей среды 16,8 млрд руб.
— образование 495,8 млрд руб.
— культура, кинематография 81,9 млрд руб.
— здравоохранение 453,8 млрд руб.
— социальная политика 2 951,8 млрд руб.
— физическая культура и спорт 42,4 млрд руб.
— средства массовой информации 61,0 млрд руб.
— обслуживание государственного и муниципального долга 389,9 млрд руб.
— межбюджетные трансферты бюджетам субъектов и муниципальных образований 569,7 млрд руб.
— секретное приложение на сумму 1 306,2 млрд руб.

Некоторые расходные статьи в программе КПРФ выражаются в процентах ВВП — «текущий» ВВП примем за 40 триллионов. Предположим, что расходные статьи, по которым никаких конкретных данных в программе КПРФ не приведено, останутся прежними (хотя это не так — например, предполагается субсидировать ЖКХ, соответственно, и бюджетные расходы по этой статье существенно возрастут).

Итак, перечислю перечень затрат по КПРФ. Нумерация слева — буква и цифра, согласно нумерологической формуле «ТРИ плюс СЕМЬ плюс ПЯТЬ» — три направления внешней политики (буква В), пять направлений экономической политики (буква Э) и семь социальных приоритетов (буква С). Цифра — пункт в каждом из этих направлений.

В.3 — «профинансирует достойное содержание Вооруженных Сил». Объем финансирования не приводится, пропускаем.
Э.3 — предусматривается господдержка сельского хозяйства в размере от 10 до 15% расходной части бюджета.
Э.6 — увеличение финансирования науки не менее чем вдвое.
Э.7 — предполагаются значительные инвестиции в транспортную сферу.
С.1 — бесплатное жилье для малоимущих, льготные кредиты, ограничение тарифов ЖКХ.
С.3 — Госрасходы на образование достигнут 10% от ВВП.
С.5 — Бюджетные расходы на культуру удвоятся.

Интереснее всего тут пункты С.3 и Э.3. Например, на образование предполагается тратить 4 триллиона рублей — вместо нынешних 0,4. Господдержка сельского хозяйства должна будет составить не менее 1,5 триллиона рублей — то есть предполагается увеличение расходной части бюджета не менее, чем на 5 триллионов — почти до 16 триллионов рублей. Доходы бюджета на 2011 год составляют около 8,8 триллиона рублей. Где предполагается брать деньги?

Об одном терминологическом заблуждении

Несколько лет назад я проходил собеседование в одной фирмочке, занимающейся разработкой софта. «Собеседование» — громко сказано, заключалось оно в рассказе потенциального работодателя о прелестях их фирмы, озвучивании предложения по зарплате (19 тыр на испытательный срок, затем 25) и нескольких вопросах ко мне. Вопросы были такие: чем отличается функция от процедуры, как я себе представляю процесс разработки ПО и какую последнюю книгу по программированию я читал.

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

Разумеется, «отличник», заучивший определение, должен ответить что-то типа «В Бейсике и Паскале функция возвращает значение, а процедура не возвращает, в Си различия между функциями и процедурами нет, функция, которая не возвращает значение, имеет специальный тип void». Тем более удивительно, что я так и ответил, даже зная наизусть то определение функции, которое на мехмате давал А. Г. Кушниренко (в курсе «Программирование и работа на ЭВМ», как это не странно). Почему-то функция в математике и функция в программировании были для меня разнородными понятиями, просто вторая была отдаленно похожа на первую.

Вообще, история понятия функции довольно интересна. Впервые его ввел еще Лейбниц, понимая под функцией «нечто», задаваемое формулой. Функции отождествлялись с графиками, затем к середине XIX века появилось более-менее современное определение числовых функций — как правила, сопоставляющего одному числу (аргументу) другое (значение). Кроме того, это понятие обобщалось на случай функций многих переменных, вектор-функций, многозначных функций и прочих подобных понятий. Наконец, в самом начале XX века было дано современное определение функции — как тройки из множества определения X, множества значений Y и подмножества f из их декартова произведения X*Y, такого, что для любого x из X существует единственный элемент <x, y> из f, где y — некоторый элемент Y. Это определение начисто выносит мозг первокурсникам, пришедшим на первую лекцию по математическому анализу — ведь многие искренне считают, что функция — это правило, по которому одному числу ставится в соответствие другое — так написано в старых школьных учебниках для шестого класса. В более новых учебниках приведено в смягченной форме мозгоразрывающее определение — там X и Y — обязательно числовые множества, а вместо «подмножества декартова произведения» говорится просто — «правило, ставящее в соответствие».

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

Так вот, мозгосносящее определение адски сильно — так как X и Y могут быть чем угодно. Например, пусть X — это множество текстовых строк, а Y — множество неотрицательных 32-битных чисел. Тогда strlen прекрасно описывается в этих терминах. Декартовым произведением X и Y будет множество пар из текстовой строки и числа, а «выделить» их следует так, чтобы текстовой строке соответствовала ее длина. Можно сделать областью определения множество пар 32-битных чисел с плавающей запятой, а областью значений — двухэлементное множество значений типа bool — а функция будет просто сравнивать эти числа. В общем, вы поняли.

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

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

Для чего это может быть нужно? «Настоящая» функция зависит только от своих аргументов, не изменяет ничего лишнего, а единственным результатом ее работы является вычисленное значение. Это позволяет, например, легко распараллелить программу, написанную в функциональном стиле (то есть в том, который я описал, как присущий Лиспу). Попробуйте «распараллелить» длинную цепочку каких-нибудь присваиваний, уверен, что это потребует ручной работы. А «функциональная» программа паралеллится легко и непринужденно. Кроме того, не содержащая присваиваний функциональная программа потокобезопасна, а для «обычных» программ потокобезопасность — это темный лес и страшное вуду. Я почти не шучу, буквально месяц назад читал откровения эмбеддеров по поводу того, как надо использовать слово volatile.

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

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

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

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

Про техосмотр

Родное правительство подбросило новые правила техосмотра автомобилей. Отдельно порадовал пункт про то, что всякие жижи могут подтекать, если каплепадение не превышает 20 капель в минуту. 20 капель — это около 1 миллилитра. Литр вытечет за 1000 минут, то есть чуть меньше 17 часов. По-моему, это называется не «подтекание», а приличная течь — и повод создать на форуме тему «Куда уходит тосол? Задолбался подливать».

Партия и правительство единогласно утверждают, что новые правила приведены в соответствие с Венской конвенцией. Интересно, а про 20 капель там тоже есть?

Тут показываем, тут не показываем

Одна из самых популярных баннерорезок будет по умолчанию показывать «ненавязчивую» рекламу.

https://adblockplus.org/ru/acceptable-ads

Так они скоро места в «белом списке» за мелкий прайс продавать начнут.

Литовские волшебники

По на водке [info]szhaman. Литовцы восстанавливают Renault Megane из хлама — для последующей перепродажи обратно в Россию.

Блог автора видео — http://autoblog-artur.blogspot.com/.

Почему никто не заметил?

Читаю книжку Ю. А. Долматовского «Мне нужен автомобиль», ту главу, где автор вспоминает о своей работе художника-конструктора на Ярославском автомобильном заводе.

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

Иноходь — это одностороннее переставление ног — сначала правую заднюю и правую переднюю, потом левую заднюю и левую переднюю. Вот эмблема ЯАЗа — литой никелированный медведь весом под два килограмма и длиной в 20 сантиметров:

yaaz

Вот натуральный медведь:

realmedved

А это — эмблема партии «Единая Россия», где медведь бежит рысью, переставляя ноги «по диагонали» — сперва правую заднюю, потом левую переднюю, затем левую заднюю и правую переднюю.

er

Точно так же неправильно медведь шагает на эмблеме фракции «Единство»:

Edinstvo_logo

Как пример для российской политической символики можно привести герб Перми:

perm-medved

Даже на флаге Калифорнии медведь «правильный»:

medved-california