Архив 15 марта 2011

Вкалывают роботы?

Вот по поводу этой “программистской задачки“.

В комментах было предложено решение на ASP.NET с использованием специальной библиотеки iTextSharp. Сложность “решения” была оценена в 1-3 человекомесяца. Думаю, что если стоит задача получить более-менее качественную (”книжную”) верстку PDF – то тут и трех человекомесяцев не хватит.

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

Поясню. TeX – это хорошо известная система компьютерной верстки, довольно старая, но популярная в “околонаучном” мире – прежде всего из-за удобства верстки в ней математических формул, а также из-за очень развитого “макропакета” LaTeX, который позволяет довольно легко писать большие тексты, не заботясь о сложностях вроде автоматической нумерации параграфов, составления оглавления и списка литературы, нумерации формул, теорем, таблиц, рисунков и всего в этом роде. TeX – это не WYSIWYG-система, наподобие MS Word, поэтому считается несколько неудобным для набора простых текстов. Исходные файлы LaTeX, выглядящие примерно так:

\documentclass{article}
\usepackage{amsfonts, amsmath}
\begin{document}
This is a sample \TeX file.
$$\iint_{\mathbb R^2}e^{-(x^2+y^2)}\,dx\,dy = \pi$$
\end{document}

обрабатываются специальной программой (обычно так и называется – latex или latex.exe), которая выдает уже “обработанный” файл в TeX-овском же формате dvi (device-independent), который предназначен для просмотра или печати. Я немножко сократил описание всего процесса, но он сравнительно прост и выполняется в автоматическом режиме. Кроме того, во все современные варианты TeX входит и программа pdflatex, генерирующая по тем же TeXовским файлам PDF или же программы dvips и ps2pdf, которые конвертируют соответственно dvi в PostScript и PostScript в PDF. Из написанного выше файла получится страничка A4, на которой шрифтом 10 кегля будет написано следующее:

texsample

К чему все это длинное введение? А к тому, что генерация текстовых файлов и запуск несложных программ с этими файлами в качестве аргумента – это прекрасный способ “не изобретать велосипед”. Я оцениваю систему, которая может по введенным в веб-форму данным генерировать несколько pdf по готовым шаблонам (кстати, в LaTeX есть “класс документа” “письмо”, автоматически создающий письмо по канонам американской деловой переписки – сложите лист A4 втрое, суньте в конверт с “окошечком” и несите на почту) в один человекомесяц работы PHP-шника “средней руки” (по 10 копеек пучок на каком-нибудь “фрилансерском” сайте), включая сюда и изучение TeX в необходимом объеме. А если хочется еще сэкономить – не берите PHP-шника, возьмите человека, умеющего писать shell-скрипты.

“Околокомпьютерные” технологии, разработанные в 80-е, были рассчитаны на то, что пользователь сам может научиться немного программировать и использовать это умение для решения своих задач. Это и shell-скрипты, и язык SQL (первоначально предполагалось, что SQL-ем будет пользоваться пользователь самостоятельно, без “посредников” в виде кривых программ), и TeX, и BASIC как непременный атрибут “персоналки”, и даже программируемые калькуляторы. Предполагалось, что “профессиональное” программирование будет нужно только для каких-то особо сложных задач.

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

Если утрировать, то “счастье человечества”, по Марксу, связано прежде всего с развитием “производительных сил”, которое определяет экономическую структуру общества, а через нее – и все остальные стороны общественного устройства. “Социалистическая” мораль не допускала (хотя бы на словах) эксплуатацию меньшинства большинством. Многих удивляет, особенно после просмотра передачи How it’s made по каналу Discovery, почему китайские товары собирают практически вручную – ведь по Discovery показали таких забавных роботов, станки с ЧПУ и прочие радости. А мораль проста – относительное благополучие “золотого миллиарда” достигалось и достигается тем самым “ограблением колоний”. Это СССР мог себе позволить строить в диком Афганистане школы и больницы и отучать крестьян от выращивания мака и конопли – НАТО действует другими методами. “Американец” может позволить себе счастливую жизнь благодаря тому, что на него работает 5 китайцев.

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

А что мы имеем в реальности? “Компьютеризация” превращается в удвоение объема бумажной работы. Программирование превращается в занятие немногочисленных “профессиональных программистов”. Даже 30 с лишним лет назад “обычные пользователи” могли освоить, к примеру, ДВК в такой степени, что писали свои несложные рассчетные программы. Сегодня даже макросы Word кажутся чем-то страшным.

Когда говорят о Unix и Windows, очень часто упоминают “порог вхождения” – мол, работать в юниксообразных ОС сложнее. Но ведь “порогов вхождения” можно выделить два – один – “для решения простейших задач” – в интернете полазать, видео посмотреть и т. п., другой – “для сложных задач” – типа “написать маленькую программулечку, которая берет файл и форматирует его”. И вот что интересно – в Unix всех видов расстояние от первого порога до второго меньше, чем в Windows. Да, первый порог в Unix выше, чем в Windows, но вот второй – определенно ниже.

Конечно, Unix и Windows – очень условные слова. Но “два мира, две системы” в программировании действительно существуют, и пишут об этом многие – от Joel-а до наших доморощенных умельцев. Ну а “законодатель мод” в Windows-мире может позволить себе заявить о прекращении развития Silverlight, когда на том уже сделан сайт московского метро :)

Интересно, а как правильно и “по-майкрософтски” эта же задача будет решаться через 5 лет?

Про “врагов унутренних”

- Унутренними врагами мы называем усех сопротивляющихся закону. Например, кого?
- Так что бунтовщики, стюденты, конокрады, жиды и поляки!

Из всего этого обширного списка речь пойдет о “стюдентах”. По альма-матери расклеены вот такие листовки (кликабельно):

igmsustipigmsuzakon

О чем говорится в первой листовке? “Студенты, аспиранты и сотрудники”, кстати говоря, нигде не называющие себя, требуют повышения стипендий. При этом они упоминают, что нынешняя стипендия составляет 1100 рублей. Это, например, стоимость 10 обедов в МГУшной столовой (и то не всякой). Не забываем о том, что студенту нужно купить еще и проездной на автобус или метро (по 250, ЕМНИП, рублей) – и возникает резонный вопрос: можно ли жить на эту стипендию? Ответ, разумеется, нет. Более того, нынешнюю стипендию никак, кроме как “подачкой”, не назовешь. О каких “определенных материальных возможностях” говорится в листовке?

Когда-то давно на форуме мехмата кем-то из тогдашних студентов было озвучено мнение, что для того, чтобы не работать и не обременять, например, родителей, студент должен получать стипендию в размере 8-10 тысяч рублей. Если принять советскую стипендию за 40 тогдашних рублей и “обменный курс” за 1:200, то получим как раз озвученые на форуме цифры. Почему в 70-е годы студенту платили за сам факт учебы без троек?

Давайте посмотрим на российское высшее образование со стороны государства. Есть довольно большое количество разнообразных “университетов” (большая часть которых – бывшие педвузы) и “технических университетов” (бывшие технические ВУЗы, отрастившие факультеты менеджмента, маркетинга и других модных иностранных слов). Каждый год в эти “университеты” вливается немалое количество денег, а на выходе получаются какие-то абсолютно никому не нужные “специалисты”. Да-да, денег уходит, как на подготовку инженера, а работает это чудо каким-нибудь “менеджером по продажам”. А теперь почитаем вторую листовку в части о “уже реализуемых реформах”.

- переход ВУЗов на финансирование через легко урезаемый госзаказ – а что еще делать, когда ВУЗы “раздулись”, требуют денег, а их выпускники оказываются невостребованы в экономике? Оплачивать нужно лишь тех, кто действительно нужен. Как бы вы отнеслись к “торговле в нагрузку” в супермаркете, когда жвачку Stimorol можно купить только вместе с парой килограмм гнилой мелкой картошки и прочих неликвидов?

- “множащие неравенство” стимулирующие надбавки – деточки, это капитализм. Скажу больше. В Москве, например, работающие в одинаковых государственных школах учителя могут получать как 9 тысяч рублей в месяц, так и 90. Самый простой принцип капитализма – кто не работает, тот не ест.

Про ФГОСы, взимание платы с родителей в средней школе и сокращение 200 тысяч учителей говорить не буду, во ФГОСах ничего про оплату обучения и сокращение учителей не говорится.

Для полного счастья почитаем и первую часть листовки. Чем нас пугают? Все той же отменой стипендии, оплатой магистратуры и аспирантуры, превращением ВУЗов в коммерческие структуры. Как выразился бы [info]sg_karamurza, “речь идет о смене парадигмы”. Я скажу длиннее, но понятнее.

В России со времен Петра Первого высшее образование существовало лишь в интересах государства. В высшей степени это проявилось в СССР, когда существовала система распределения выпускников и их обязательной работы на выбранном предприятии. Кстати говоря, справка 086у, обязательная для поступающих – это тоже наследие “проклятого прошлого”. Если у человека были какие-то заболевания, из-за которых, окончив ВУЗ, он не мог бы работать по специальности – то учиться ему просто бы не дали.

Пару дней назад слышал разговор двух теток в автобусе, которые обсуждали их общую знакомую, решившую в 55 лет поступить в институт, и успешно там учащуюся. Теток поразило то, что после окончания института та работать не собирается, а о причинах этого своего решения говорит просто: “Интересно”. Кстати, и в проект нового закона об образовании проникло мнение о том, что выпускник ВУЗа должен потом “работать в народном хозяйстве” – там есть довольно интересная и критикуемая той же “инициативной группой” формулировка о финансировании обучения на бюджетных местах в ВУЗах 2,6% граждан в возрасте от 17 до 30 лет. Более чем уверен, что проскочила эта формулировка из документов еще советских времен.

Так вот, концепция патерналистского (или тоталитарного, если хотите) государства, которое контролирует все стороны жизни общества, и в том числе – сферу образования, благополучно сдохла под забором году так в 1991. Теперь, с точки зрения государства, студент учится в ВУЗе не для того, чтобы затем работать на госпредприятии, а для удовлетворения своих личных амбиций – “интересно” ему, например. Ради личных амбиций он идет в магистратуру, в аспирантуру – и, спрашивается, зачем государству оплачивать чьи-то личные амбиции?

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

Чего хочется авторам листовок? Да ничего особенного – за государственный счет заниматься своими личными тараканами в голове. Почему-то в России превратно понимают американскую по происхождению фразу “Я же налогоплательщик”! У нас “налогоплательщику” должны обеспечить здравоохранение, образование, да и вообще черта лысого – и все за его налоги. А вот, например, в Штатах к самосознанию налогоплательщиков обычно аппелируют тогда, когда надо сократить какие-нибудь расходы. Послушайте, например, песенку про Federal Aid.

Так вот, господа налогоплательщики. А вы хотите, чтобы в ВУЗах учились толпы бездельников, получали за это деньги в размере прожиточного минимума (а я еще не считаю затраты на раздутые штаты ВУЗов), а потом еще за ваши же деньги продолжали заниматься разной бессмысленной фундаментальной наукой? Ведь известно, все зло от них, от ученых – вон, в Японии АЭС взорвалась!

Предыдущий параграф писать было непросто – я же понимаю, что передо мной стоит громадная панель с двумя миллионами тонкопленочных транзисторов, а в железном ящике под столом “трудятся” интегральные схемы из миллиардов транзисторов, работа которых описывается уравнениями квантовой механики. Судя по обсуждениям адронного коллайдера, большинство думает совершенно иначе.

Можно, конечно, как предлагают в листовке, “распространять информацию”, “организовывать обсуждение”, “участвовать в акциях протеста” – но, как говорил бородатый Карл Маркс, “базис определяет надстройку” – и совершенно бессмысленно требовать от капитализма того, чтобы он обеспечил “надстройку” от того, что называлось “развитым социализмом”. Ну а наука давно уже превращается в две совершенно разные вещи – в развлечение для богатых людей, как в каком-нибудь XVIII веке и в развеселые “занимательные опыты” по каналу Discovery. С чем всех и поздравляю.

PS Кстати, есть мнение, что “инициативная группа” относится просто к числу “вечно несогласных”. Уверен, что если бы им предложили по окончании МГУ “увлекательную и творческую” работу в НИИ Говна и Торфа с окладом в 15000 рублей (такие предложения висят там на стенде рядом с гораздо более заманчивыми), они возмущались бы и против этого.

Внеочередной сеанс японофилии

В “Ведомостях” опубликована статья “Уроки японского“. Аффтар просто не знает, какие слова можно подобрать, кроме “няшный” и “кавайный”. Не забыли, кстати говоря, и “информационную открытость, в полной мере продемонстрированную японскими властями в ситуации с серьезными авариями на атомных станциях”. Если “информационной открытостью” называть регулярные выступления генерального секретаря, успокаивающего население – то даже его, секретаря, не продемонстрировали в полной мере – а вдруг у него под штанами свинцовые трусы? “Росатом”, например, считает иначе.

Эксперты штаба фиксируют крайнюю недостаточность и нерегулярность поступающей информации, в том числе по международному каналу ситуационно-кризисного центра МАГАТЭ.

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

kawaii

Степень кавайности лолей будет оцениваться отдельно.