Category: образование

Category was added automatically. Read all entries about "образование".

|, me, hikki, ok

Почти три месяца event_mask is 110111, not able to describe 4th event

Откровенно говоря, в половине случаев, когда я хотел о чём-то написать в жж, меня больше сдерживал сам жж своей свинской реабилити, нежели остальные обстоятельства. Три месяца — это много.

Из того, что произошло за это время ярко выделяются:
* защита магистерской диссертации,
* поступление в аспирантуру,
* написание отчёта по государственному контракту в TeXе,
* катание по Европе поездами и последствия,
* любовь к NixOS;
* начало ведения другого блога.

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

Про магистерскую я надеюсь когда-нибудь рассказать в другом блоге. Вкратце, я научился кодировать в разрешимом подмножестве зависимой системы (брр, я столько раз писал это словосочетание, что муражки по коже пробежали) типов (Agda) некоторые любопытные утверждения о некотором ограниченном классе программ (подмножество систем управления чем-нибудь достаточно дискретным). Я всё мечтаю допилить это до состояния, когда этим можно будет хотя бы нормально поиграть, но в Агде очень не хватает deriving Eq для эквивалентности по Мартину-Лёфу, я экономил всё, где мог, а потому там пока всё не очень красиво и малоюзабельно (зато научно, ага).

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

Написание отчёта по госконтракту в TeXе это прямо веха в моей жизни, я считаю. Я так смачно натрахался с LaTeX2e, что словами не описать. По дороге возненавидел всё внутренности TeXа всей душой, но выпилил подобие ГОСТовских шаблонов для вёрстки документов и biblatex. Результатами я когда-нибудь тоже поделюсь (я хотел в сентябре, но, как обычно, времени допилить всё до приличного состояния нет, а в неприличном состоянии выкладывать стыдно). Нетипизированные языки программирования надо жечь.

Кстати, любопытно, в сентябре пришлось писать генерировалку doc'овских шаблонов для другого госконтракта. Из любопытства, возьмите достаточно большой вордовский документ, сохраните его в html. Загрузите обратно. За исключением изменения цвета текста (это баг ворда, да) вся разметка сохраняется. Даже ссылки на переменные и вычисляемые выражения в документе. Если почитать сгенерированный html и поэксперементировать с его минимизацией, то можно научиться генерировать красивые htmlные документы, в которых даже нумерация списков, оглавления и ссылки правильно генерируются самим вордом после их открытия им (правда в браузере их бесполезно открывать, вся разметка плывёт в жопу).

Я так нареверсинженерился того, что он там генерирует, что чувствую в себе силы написать компилятор из подмножества LaTeX в этот doc-html. Штука в том, что на этот раз я знаю как LaTeX устроен внутри и, извините, но компиляция документов сделанных при помощи стандартных пакетов и макросов LaTeX2e — занятие не для слабонервных. Если бы между texовским файлом пользователя и LaTeX2e был бы ещё какой-то вменяемый уровень абстракции, то ещё куда ни шло, но там сразу всё макроподставляется в грязнющий Plain TeX, полный всяких хаков, а это нереально декомпилировать обратно в адекватное описание того, что мы хотим получить. Судя по результатам реверсинженеринга, Word, в обмен на флексибилити, пытается держать внутри близкое к адекватному AST документа с которым хоть работать можно.

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

Дальше. Я вроде писал, что у меня есть свой собственный дистрибутив. Так вот, был. Идея была хороша, из общего описания всех машин кластера генерируются squashfs-образы их систем, при пуске поверх squashfs при помощи aufs2 монтируется rwшный tmpfs. Чтобы закоммитить изменения нужно было запустить скрипт, который смонтировал бы ещё один tmpfs поверх, а предыдущий tmpfs зажал бы squasfsом, положил в специально отведённое место в /boot и добавил в смонтированные слои.
На практике, как оказалось, это работает не очень:
* локальные изменения перетирают изменения в настройках кластера и за конфликтами тяжело уследить (это можно было правильно победить, но лень);
* частые локальные изменения генерируют много слоёв в aufs, засирают неймспейс файловых систем в ядре;
* целиком пересобирать образы каждый раз очень бесит.
Я было стал переписывать систему, чтобы победить все эти недостатки сразу. Думал, думал, писал, писал, писал. И понял, что я пишу то, о чём уже слышал. Есть такой пакетный менеджер с очень неудачным трудно гуглибельным названием и операционная система, которая его использует. Мне лень тут пересказывать куски из его документации, читайте сами. Но эта штука решает почти все традиционные проблемы, связанные со сборками пакетов и деплоем.

По сути, Nix — это такой ленивый функциональный язык программирования, в котором есть специальный строгий тип derivation (по сути «пакет»). Эти деривейшоны (пакеты) генерируются из других деривейшонов (пакетов) функциями, принимающими зависимости (естественно, деривейшоны) пакета в качестве аргументов. Форс деривейшона — сборка пакета. Сборка происходит в изолированном окружении, где доступны только содержимые других явно указанных деривейшонов (аргументы функции). Никаких /usr и /usr/local в NixOS нет.
В итоге, забыть указать какую-то зависимость просто невозможно, пакет просто не скомпилируется. Идентефикатором деривейшона является хеш описания дерева зависимостей, начинающихся с него самого. Изменился исходник, способ сборки или зависимость — изменился идентефикатор.

Энвайромент юзера и системы явно составляются Nixом из списка нужных деривейшонов. Юзеры обычно делают это ручками (типа, мне нужен wget, я прошу Nix добавить мне его в энвайромент, если оно уже скомпилировано, то он просто его добавит, если нет, то скомпилирует и добавит, после этого, если другой юзер попросит добавить ему такой же wget (а не с другими зависимостями, например), то это произойдёт моментально), NixOS позволяет делать описание для всей системы, а nixos/modules по абстрактному описанию системы сгенерируют ещё и все конфиги в /etc и initrd (в том числе и конфиг для самого Nix, где рассказывают сколько ресурсов можно жрать во время сборки, например), например.

Можно откатываться на предыдущую версию пакета/всей системы, если что-то пошло не так (более того, версии системы добавляются в меню в GRUB и всегда можно загрузиться в предыдущую, если эту сломал), можно собрать две версии одного пакета, одну версию с разными зависимостями, установить пакет только для одно юзера (без прав rootа, кстати) и прочие плюшки, которые тут все просто не перечислить. Короче, Nix — это пакетный менеджер вашей мечты, просто вы этого пока ещё не знаете, прочтите их мануалы. Я в начале немного сомневался в удачности дизайна их системы, но, прочитав всю доступную документацию, понял, что там просто вещи не очень удачно названы (тот же «Nix» чего стоит, например, хрен выгуглишь), а по сути всё очень близко к идеалу. Настолько близко, насколько это вообще возможно без выбрасывания нафиг устоявшихся методов работы с системой (shell, не экзоядерное ядро, init, древовидная файловая система как таковая вообще, и без транзакций в частности).

Но и это ещё не всё, у них есть Disnix, который продляет эту логику на распределённые системы. Если у вас там какие-то сервисы друг от друга зависят на разных машинах, то оно даже обновлять и перезапускать их в правильном порядке будет. Чёртова магия.

Так вот, последние несколько недель в свободное время я хачил NixOS под свои нужды (как оказалось, там уже почти всё есть, хачил там-сям, по мелочи). Сделал ещё один уровень абстракции над nixos/modules, который из моего описания кластера генерирует отдельные описания всех машин для nixos/modules, а уже из них оно генерирует содержимое корня и всю ту шелуху, без которой юниксы не работают.

Сегодня, собственно, я закончил переводить последнюю машину в кластере на этот магический дистрибутив. На десктопе тут пока Arch, в универе Debian, но, я чувствую, что это ненадолго.

Фотография стенки рядом с центральным сетевым узлом в доме:
фотография двух сетевых свичей и модема
Стамегабитный свич полностью занят, в гигабитный воткнуты только те, кто делают между собой сетевой RAID1. На переднем плане чифтековский корпус одной из машин (6 винчестеров 3.5 + 3 пятидюймовых корзины для приводов, вместо которых тоже винчестеры), на нём внешний eSATA-бокс для винчестеров, не поместившихся внутрь. Между этим корпусом и стенкой стоит ещё одна машина с большим обёмом RAM, но всего двумя корзинами для винтов (я не хотел ещё один большой корпус, ставить некуда). eSATA-box подключён к ней. Также можно видеть зукселевский модем без крышки. На его CPU лежит чайная ложка, на микросхеме, отвечающей за WAN — десертная ложка на термопасте. Летом в них я воду кипячу. Остальные машины раскиданы по дому.

Если бы в моей деревне был нормальный интернет, то все свои хостинговые нужды я обслуживал бы сам :(

Что касается катания по Европе и последствий, то это самое вкусное, оставлю на следующий десерт. А в заголовке другого блога есть моя фотография из Франции, например.
|, me, hikki, ok

Лабораторный тотализм как версия метода контроля над мозгами студентов

Вам никогда не казалось, что традиционный способ подготовки и сдачи лабораторных работ — это ад какой-то?

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

Во-вторых, принимать лабораторные в интерактивном режиме (когда студент сидит под боком) — стресс для обеих сторон. Если что-то не работает, то начинаются всякие fastfixы. Это раздражает. Время оборачиваемости fastfixов не даёт параллельно с принятием лабораторной заниматься чем-то полезным.

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

Барабанная дробь.

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

Вообще, чиста философски, я люблю Git (потому что формат хранения данных очень ня), но Меркуриал выруливает по нескольким причинам:
* его команды cli понятны даже детям;
* можно pushать в удалённые репозитории без головной боли;
* на всяких странных операционных системах не приходится ставить Cygwin.

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

Можно пялиться на историю изменений. Плагиатить код, делая разумную историю, очень тяжело. Читерить, имея за спиной персистентную историю — тоже.

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

Можно править код и делиться патчами с выполняющим лабораторную (доброта mode on).

Можно собирать статистику, рисовать графики, смотреть где у людей возникают проблемы.

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

Можно не до конца специфицировать задание, а потом делать тесты, направленные на выявление неспецифицированного поведения. Два решения ведут себя одинаково на всех неспецифицированных тестах? Не плагиат ли?

Можно писать генераторы тестов и тестить решения, вручную пропатченные для работы с этим генератором. И мержить эти патчи в каждый новый апстрим.

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

И последнее. Я несколько лет назад делал чудесный конспект по своему предмету, но в процессе меня осенило, что писать очередной невнятный учебник мне не хочется. Предмет в достаточной степени устоялся, чтобы в базовой его части можно было найти приличное количество приличной литературы. Поэтому я написал ровно две лекции:
* про юридические ужасы и лицензии (чтобы попытаться разобраться в этом самому);
* про ABI и линковку (потому что, объективно, про это на русском языке нигде нормально не написано; правда у меня тоже очень хорошо не получилось).
Ещё я хотел было написать про файловые системы и всякие интересные смежные вещи связанные с RAIDами и durability, но интерес как-то поугас.

Поэтому несколько недель назад я решил не прятать от мира своё творение. Желающие могут проследовать на страницу конспекта на github. Там есть все исходники в ТеХе и уже скомпилированные pdfки.

Если у вас есть желание посмеяться над моим пониманием четвёртой части гражданского кодекса или немного просветиться (или снова посмеяться) по поводу Application Binary Interface, различных видов линковок (статическая, динамическая, динамическая линковка статических объектов, etc), релокации кода (PIC, GOT, etc), то милости прошу.
|, me, hikki, ok

Секретики

Я решил раскрыть вам секреты троечки, пожалуй, своих самых забавных свойств.

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

Аналогичным образом, я всегда целиком читаю всё, что мне дают подписать. Кстати, в данном вопросе меня печалят две категории (это слово у меня почему-то вызывает смешные ассоциации, к чему бы это?) людей: те, кто обижается, что им не верят (а потому второе лицо читает «лишнее», пока первое ждёт), и те, кто даже не пытается прочесть о том, во что себя запрягают. Если вспомнить, что есть такие всякие замечательные штуки, типа self-enforceing алгоритмов (например, как двум обжорам поровну поделить торт, без участия третьего? — один режет, второй выбирает понравившийся кусок, тогда обоим невыгодно читерить. и ещё, например, в некоторых странах есть self-enforceing налоги на недвижимость и культурные ценности, когда цену определяет не какой-то мифический чиновник, а сам владелец: чем дороже вещь вами оценена — тем выше налог, но государство всегда имеет право выкупить народное достояние по заявленной вами же цене, потому и недооценивать невыгодно. также бывают подобные алгоритмы для голосования, создания сессий при клиент-серверной болтовне, где клиенту не выгодно ДДОСить сервер, etc, etc. тему можно гуглить, например), то игра в подписывание документа окрашивается новыми подробностями, а люди, поступающие точно так же, как и я, с, на первый взгляд, абсолютно прозрачными документами, меня приятно радуют.

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

Немного подумав, я бы классифицировал наблюдаемое безобразие следующим образом:
* обычная такая реклама, где сразу ясно, что они хотят мне втюхать;
* какая-то хренотень, требующая слишком много концентрации, чтобы понять, что же мне хотят втюхать. сюда же относятся всякие вырви-глазные цветовые, типографические штуки и просто, редко встречающиеся, но хорошо запоминающиеся, маразмы (что, например, означал тот дохлый цыплёнок на рекламе заправки катриджей в метро несколько лет назад?);
* реклама, целевой аудиторией которой явно являются какие-то имбецилы. например, почти все рекламные ролики и принты мобильных операторов (аааа! чуваки пляшут под музыку гудка, во чёткие поцанчики то. аааа! какая-то тёлка бежит за свиньёй-копилкой с битой, рожи у них во прикол, ыыыы. аааа! у неё бутылка с молоком в холодильнике сама наполняется, услуга то какая нужная то, ооо). насмотревшись такого у меня возникает ощущение, что тегов в моём жж недостаточно, чтобы отразить всю полноту моих переживаний по данному вопросу, и следует переводить метки на русский разговорный с красноречивыми междометиями.
* что-то, что я не учёл и/или это не привлекает достаточно моего внимания.

Я тут случайно несколько дней назад прочитал такую интересную статью о современных лозунгах и прочем ПиАре. То, что фильмы у нас теперь «в ТриДэ», а не «стерео» меня давно бесит. Пакеты почему-то «полиэтиленовые» и все всё понимают, а «стереокино» и «круговая поляризация» — это простым людям™ слишком сложно, потому надо «Очередная Хрень в 3D. В кинотеатрах с n-ного дня k-того месяца этого года» и сразу всё ок. В статье же приводится ещё несколько забавных примеров идиотизмов мнимой абстракции от обычным человекам™ ненужных деталей™.
Наверное, надо сделать какой-то вывод, но мне лень. Зато, я точно знаю, что, лично у меня, и реклама для имбецилов, и эти прекрасные понятные названия™, вызывают только желание куда-нибудь спрятаться и не видеть, не слышать, не пользоваться этим ни при каких условиях. Я бы даже сказал, что имидж компании с такой рекламой в глазах нормального образованного человека портится. Или вдруг я не прав, и доктора философских наук тоже тащатся от этих мега-забавных видеороликов?

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

Ну и совсем последнее, и совсем не в тему. Я тут внезапно осознал, что, в принципе, достаточно счастлив относительно текущего положения дел своего жж. Конечно, хотелось бы выделить какой-нибудь стендалон, поверед бай Хаскель, и писать туда сугубо технические вещи, и, по возможности, на английском, ибо тут уж как-то сложилось писать о вездесущих удовольствиях жизни. Но лень, я не знаю как действительно круто (ибо текущее положение дел меня не устраивает) замутить работу с вебом (все эти ваши RESTфул и другие радости, достойные отдельного гневного поста), и я тут померился всякими интересными характеристиками, типа читабельности (длинна предложений, все дела), с жжшечками популярных блоггеров™ и меня даже стали несколько удивлять те сотни (а иногда и тысячи) посещений в день, которые я наблюдаю у себя. Я не всегда уверен, что в рунете (за пределами социальных сетей) вообще есть столько неботов. По большому счёту, раздражает только необходимое дублирование «самая верхняя запись в моём жж» — «профиль в жж», ограничение на количество интересов и невозможность их группировки в профиле, ну и СУП ещё со своими звёздочками и кучей рекламы невпопад.
|, me, hikki, ok

Блестящее, с ушами, без, и на колёсиках

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

Ещё меня немного пугает то, что я за последний месяц что-то много всего купил.

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


Collapse )
В общем, поднимаешь вверх оба носка и вдруг куда-то поехал. Кататься у меня пока получается так-себе, но зато как кроссовки они — ок.

Ещё были фигурки из предыдущего поста и скоро приедут ещё.

А на днях из дефолт-сити привезли Asrock ION 330 HT. Почему в Питере, в среднем, он стоит на две тысячи рэ дороже, чем там, а на ебее почти также, как и там — неясно.
Привозят в такой красивой коробочке


Collapse )

Как компьютер оно очень крутое. Не смотря на то, что там двух-ядерный Атом (~1700 МГц) и два гигабайта оперативной памяти, оно проигрывает блюрейные рипы с загрузкой ЦП ~5% (правда через поприетарный хардварный декодер) и его вообще не слышно, если только вентилятор специально не раскрутить.
няшнота во все поля.

Как настоящий блоггер™ я должен был бы тут устроить красочный обзор, и хилисов, и этой чёрной коробочки, чтобы у всех сразу потекли слюнки, а у производителей начали самопроизвольно потираться руки, но я тут совсем не об этом хотел сказать.
Переезд в общежитие к каким-то малознакомым людям меня пугает несколько больше, чем несколько пугающие масштабы траты денег последний месяц. С другой стороны, отучиться шесть лет в универе и не пожить в общаге, это как сходить в зоопарк и не видеть слона, или как съездить на военные сборы и не сдавать/сдать экзамена.
А возвращаясь к для меня непривычно несусметным тратам, и думая о том, что я точно оставлю, а что точно унесу с собой из дома, приходит печальное понимание того, что фигурке вроде и не забрать. Кроссовки — берём, компьютер — берём, носки, полотенца — берём, наушники, монитор, клавиатуру, всякие зарядники — берём, а Тамаки, Саню, Мисаку, Ракку, Тенко и десяток Холо — нет, ибо хрупковат и там ставить некуда.
Такое стечение обстоятельств толкает меня в противомоскитную сетку окна.
Кто без меня будет гладить Тамаки по головке на ночь!?!!!11
Кто без меня будет дёргать за хвост Саню?!??!?!!!
Не дай бог, ещё кто-то без меня нарушит их девственность, заглянув к ним под юбки!
О! все кары небесные! а кто же будет нежно стирать и сдувать с них пыль?!

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

Планирование и моделирование

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

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

Когда я начал работать в универе в той комнате, в которой я работаю до сих пор, я иногда моделировал себе ситуацию, что кафедру вдруг закрывают снаружи, а я остаюсь внутри. И сегодня, по-видимому, новенький работник комнаты с веб-программистами (чувак, если это был не ты, то извини) в начале коридора решил, что в комнате в конце коридора уже никого нет и ушёл всё позакрывав. Чувство неконтролируемой радости и сомнений. В данной ситуации с кафедры можно бежать двумя путями: цивилизованным (через «секретную» дверь в деканат) и варварским (через окно во двор). Деканат тоже оказался закрыт снаружи, потому пришлось выйти в окно («ура!» кабинетам на первом этаже). Над окном комнаты висит секурити-камера, но охрана университета как-то не удивилась, когда я, выйдя в окно и пройдясь через двор, пришел брать ключи от кафедры, уже после того, как её закрыли (чтобы закрыть окно, забрать сумку и профессора, заточённого вместе со мной). Вообще интересно, смотрят ли они когда-нибудь видеозаписи с камер, если да, то их ожидает маленький сюрприз.
|, me, hikki, ok

Военные сборы



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

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

Принятие военной присяги — это типа такое торжественное мероприятие, где все клянутся на верность Отечеству и вышагивают строем, распевая строевые песни. Естественно, чтобы семьдесят человек синхронно шагало и пело, нужно много тренироваться. Строевые тренировки под прямыми лучами солнца в сорокоградусную жару в лучшем случае вызывают лёгкое головокружение. В реальной жизни все умные мысли из мозга отжигаются нафиг и наступает такое медитативное состояние, скрашенное ярко выраженным желанием выпить два литра воды залпом.
Однако, программа мероприятий после присяги предполагает подготовку к сдаче экзамена и собственно сам экзамен. При температуре +38 градусов по Цельсию в учебных классах, когда опять же наступает такое медитативное состояние и так далее.

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

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

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

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

Большая часть пунктов самоописательна, потому пройдусь по первым впечатлениям и правде жизни.

В первый день, весьма быстро после выхода из поезда, меня (и ещё человек десять) посадили в крытый брезентом кузов грузовика и повезли с вокзала в училище. Всегда мечтал покататься в кузове грузового автомобиля. Первое впечатление о казарме тоже было весьма положительное, всё выглядит аккуратно, обои почти нигде не ободраны, навесные потолки и всё такое, только старые советские пружинные кровати и разваливающиеся на глазах окна (открываешь его, а из него стекло тебе прямо на ногу, ок) давали пищу для размышлений. Вообще всё помещение называлось казармой «Дивизиона Обеспечения Учебного Процесса», где первый этаж занимали солдаты-срочники, а второй этаж — студенты ИТМО. Ответ на вопрос «Зачем нужны срочники в военном училище, где готовят офицеров?» достаточно прост: «Будущие офицеры в приготовлении пищи для себя самих не участвуют, дорожки вокруг хозяйственных зданий не подметают, учебных классов не чистят и туалеты за собой тоже сами не моют.»
Строевые тренировки при +35 с непривычки давались мне тяжело, и уже вечером второго дня с я головной болью и температурой оказался в санчасти. Как можно было заметить, в лазарете я побывал аж трижды. И все три раза были весьма полезны для моих заметок.

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

Второй раз в палате были в основном курсанты. На мои вопросы о том, почему они пошли учиться именно сюда, все подчёркивали два пункта:
* сам я из семьи военных;
* это Лучший Военный Институт™ России.
На вопросы о жизни после института с поправкой на реформу армии (у нас сейчас всюду сокращение офицерских должностей) большинство также подчёркивали, что:
* да, должностей нет и по распределению никуда в нормальное место не попасть;
* зато, если есть связи™, то можно попасть куда надо™.

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

Начальнико-преподавательский состав университета тоже радует. В рекламном фильме об институте, который нам показали на первой неделе, говорилось, что 60% всего преподавательского состава — кандидаты и доктора наук. Думаю, что по этому показателю институт обогнал почти любой другой ВУЗ мира. Гипотез о том, как так вообще может быть у меня несколько, но я о них лучше умолчу. Зато баек о маразмах управления я наслушался много.
* Стоит взвод курсантов по стойке «смирно», перед ними ходит офицер и проверяет правильность её выполнения:
— Курсант Арбузов! Почему такая плохая строевая стойка?! Объявляю вам выговор!
— Товарищ майор, — чей-то голос из строя, — Арбузова в строю нет, он в санчасти.
— Хм... в санчасти. Ну так и передайте ему, что ему выговор!

* Звонок дежурному по телефону, дежурный снимает трубку:
— Дежурный по курсу, курсант Дынька.
— Дежурный, ты стоишь или сидишь?
— Сижу.
— Встать! Смирно! Тебе выговор!

Остальные цитаты менее цензурны, пропустим. Баек о том, на каком уровне принимаются зачёты и экзамены я тоже наслушался.

Второе моё попадание в лазарет было весьма схоже с первым. Пожарившись в классе при температуре +38 и изрядно вспотев, я не смог спрятаться от сквозняков, которые устроили любители свежего ветерка, открыв все окна в аудитории.

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

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

Это как бы намекает, что армия — это такая машина по произведению приятного первого впечатления. Если завтра приезжает министр обороны, то асфальту можно развалиться уже послезавтра, а говну, на которое клеят обои, разрешается начать оставлять на них пятна сразу после того, как важная шишка вышла из здания.

Срочники утверждают, что служба в дивизионе — это детский сад по сравнению с другими частями, ибо дедовщины почти нет и из дома через дырки в заборе жратву передают.
Меня же всё время пребывания в институте кормили отвратительно. Даже описывать вкус блюд, приготовленных их мяса неприкосновенного запаса 51-ого года заморозки противно. Как можно есть эту рыбу — вообще не понятно, тётенька из раздаточной в лазарете рассказывала, что её кот, который обычно ест вообще всё, эту рыбу есть не стал.
После переезда на полигон еда стала куда приятнее (ибо готовили её срочники, которые же сами её и ели, а не повора, которые тащили домой всё, что можно унести, а из остатков делали что-то похожее на съедобное, и тушёнка была не 51-ого года выпуска).
Сам мой переезд из третьего пребывания в лазарете на полигон (остальные уехали туда из казармы на день раньше) был весьма неожиданным. Вдруг утром пришёл начмед и через минуту я уже должен был грузиться в автобус, везущий на полигон хлеб и отряд ВОХРа (вооружённая/военизированная охрана).

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

Ещё как-то раз убирали сухую траву студенты до колючей проволоки, за колючкой ездил трактор и вскапывал нейтральную полосу (полоса мягкой земли, на которой остаются следы ног нарушителя, нелегально перебравшегося через заграждения колючей проволоки), и вдруг трактор застрял, попытавшись копнуть бетонную балку. Трактору надо помочь, но разрешения на открытие ворот объекта начальство не давало. Паника! Паника! Что делать? А, всё очень просто: охрана должна отвернуться, а взводу студентов надо дать команду, чтобы лезли прямо через ворота, вытащили трактор, а потом через забор назад, потом охрана поворачивается обратно, а трактор едет дальше. Но мобильными телефонами пользоваться нельзя, а то не дай бог!

Государство, может быть и российское, но армия однозначно осталась советской. В этом духе бравого коллективизма пользования всем (от рукомойников до чайников в столовой), поддерживаемом существованием различных дежурных, дневальных, нарядов по столовой и тому подобных — групп, состоящих всего из нескольких людей, но подбирающих говно за полутора сотнями, прослеживается такая ненависть ко всей этой совковой системе, неуважение к труду (система построена так, что работа воспринимается как наказание, а не как обязанность), что считается нормальным, сдав наряд следующей группе несчастных подбирателей за всеми, пойти и обосрать только что самим-собой же и вымытый сортир или намазать чистую раковину гуталином.
Изо всех щелей слышно: «Да, мы знаем, что это плохо организованно, но мы мучались и стали настоящими мачо, так что теперь и вы помучайтесь.», «Солдат должен мужественно преодолевать все тяготы и лишения службы.»
Армия — это такая машина по созданию трудностей личному составу. Если говорят, что завтра выходной, то с пятидесяти процентной вероятностью завтра дадут грабли и отправят что-то ими копать. «Обещаний» нет. Реального коллективизма тоже нифига нет, ибо действительно ценными ресурсами никто ни с кем не делится.
Зато муштру и синхронность можно сколь угодно долго доводить до абсурда: ходить в ногу, петь синхронно, засыпать и просыпаться одновременно, конспект вести синхронно, суп из миски зачёрпывать синхронно, в рот ложку тоже синхронно, короче, есть ещё куда стремиться.
Любое твоё действие нарушает какое-нибудь правило. Пока это устраивает начальство ­— всё ок. Если что не так — виноват ты.
Список того, что меня бесит продолжать можно бесконечно.

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

В отсутствие интернетов и аниму мне снилось, что я сижу в твитторе и смотрю «WORKING!!». В последние пару дней я стал было сравнивать сборы с пионерскими летними детскими оздоровительными лагерями и пришёл к выводу, что результат будет один и тот же.
Из своих поездок по лагерям я (на удивление) многое помню. Что делал, что происходило — помню, а людей с которыми общался — почти нет. И со сборами, я уверен, будет такая же фигня. Что лопатой копал траншеи помнить буду, а с кем лежал в лазарете — нет. С учётом того, что 80% времени я от скуки донимал кого-нибудь своими вопросами, общая польза от потраченного времени стремится к нулю. Это печально.

А министр обороны институт так и не посетил.
|, me, hikki, ok

Задачка

В четверг на военке компания увлечённых товарищей поделилась забавной задачкой:
«Доказать или опровергнуть, что у выпуклого многоугольника хотя бы одно ребро лежит на bounding box.»

Для общего случая решить не смог (порвал брутфорсом для треугольника и ромба), но нашёл в интернете, что это утверждение действительно всегда верно и доказано товарищами Freeman и Shapira в «Determining the Minimum Area Encasing Rectangle for an Arbitrary Closed Curve». Хотел было почитать их статью, а за неё везде денег просят. Она, блин, 1975-ого года. Эти буржуи совсем офигели, я считаю. Какая, нафиг, наука, если ничего нахаляву прочитать нельзя? А потом удивляются, что студент дурной пошёл.
|, me, hikki, ok

Экзамены

Вот, кстати, раз вспомнил об этом.
Я знаю следующие стереотипы поведения преподавателя при приёме зачёта/экзамена, когда экзаменуемый начинает говорить ерунду:
* послать его на пересдачу (вроде бы самый часто практикуемый),
* смажорировать его своим всеведением и его незнанием и послать на пересдачу,
* свести множество утверждений экзаменуемого к абсурдному утверждению/найти противоречие и попросить его с этим что-то сделать (этим методом обычно пользуюсь я),
* заставить экзаменуемого самого найти противоречие в своей формулировке (вроде работает, только когда формулировка является чем-то типа теоремы, и, как метод, достаточно хардкорен, ибо требует от экзаменуемого сильно много знаний. слышал о его применении только от одного человека),
* перейти к следующему вопросу.
Очевидно, что речь идёт не о гуманитарных предметах (там почти всегда сказав почти любую глупость можно выпутаться сведя всё к игре понятиями).
Интересует, существуют ли ещё какие-нибудь адекватные методы общения экзаменатора и заблуждающегося экзаменуемого?
|, me, hikki, ok

Выходные и философия

Осознание, что уже послезавтра начинаются аж три дня выходных меня печалит.

Чем можно заняться на выходных:
* спать по 20 часов в день,
* смотреть аниму по 20 часов в день,
* чередовать предыдущие два пункта,
* сортировать закладки в браузере,
* двигаться по закладкам поиском в глубину и добавлять новые ссылки в закладки,
* чередовать предыдущие два пункта,
* читать умные книжки,
* привести в рабочее состояние (после фейла сервера-гейтвея) домашний кластер,
* сделать что-то совершенно ненужное, например, куда-нибудь с кем нибудь сходить.

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

А ещё несколько часов назад была очередная лекция по философии. В аудитории кроме меня, на этот раз, нашёлся ещё один забавный молодой человек.
Я обычно IRL придерживаюсь мнения, что надо задавать наводящие/каверзные вопросы и смотреть, что будет, а этот молодой человек весело и сочно холиворил с лектором.
Слепок сегодняшнего мнения по предмету: философия, как дисциплина, — говно, но лекции бывают весьма забавными.
|, me, hikki, ok

Фильтроспам

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

Вот смотрите, ведь часто вместо того, чтобы написать емейл открытым текстом типа «vasi@pupkina.tut.netu» пишут «vasi (at) pupkina (dot) tet (dot) netu» или что-то в этом роде, чтобы боты не осилили поиск на странице спрятанного адреса. В отчаянных случаях, чтобы получить емейл нужно решить какую-то загадку и из её ответов составить адрес типа: «возьмите первое слово в этом абзаце, припишите к нему собаку, а потом припишите имя домена, на котором находится эта страница».
Какое-то время назад ещё было популярно восстанавливать адреса из «зашифрованного» состояния при помощи джаваскрипта и прочие подобные извращения.
Ну и, наконец, можно класть емейл в картинку, и использовать её.

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

Я, в своё время, для борьбы со спамом от незнакомых адресов, своим студентам предлагал писать мне письма с темой определённого формата (что-то вроде «Студент группы 1234 ФИО лабораторная 1»). Письма с топиком, подходящим под нужные регулярные выражения складывались в специальные директории на сервере даже не доходя до спам-фильтра. Но студенты почти всегда тупили и добавляли в топик отсебятину, которая регулярными выражениями не съедалась. Дрессировать младшекурсников мне было лень и, в итоге, на эту систему я плюнул.

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

Заметим, что, например, у гмейла два емейла считаются эквивалентными, если они отличаются только вставками точек в юзернейм. То есть для гмейла «example@example.com» и «ex.am.p.le@example.com» эквивалентны. Разместим оба эти адреса на странице и будем человеческим языком просить писать письма, например, на первый из них. Теперь, если какое-то письмо приходит нам на второй адрес, то бросаем его в спам. Если такое же письмо (а может просто письмо с того же адреса) приходит на «настоящий» емейл, то тоже бросаем его в спам. То есть, руководствуемся принципом, что все письма, приходящие не на тот емейл, на который мы просили, приходят от ботов, а все письма от ботов надо выфильтровывать и из ящика «настоящего» емейла.
Вообще замечу, что основная проблема большинства спам-фильтров, которыми я пользовался/пользуюсь, заключается в том, что они «жадные». Если письмо сейчас ещё не было опознано как спам, не означает, что оно не станет спамом через пару минут/три часа.

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

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