|, me, hikki, ok

Хаята же

Тысяча чертей разбери сундук мертвеца! или в новом опенинге Хаяты «Мое-Мое-Кьюн!»:


И вообще опенинг полон фансервиса, да такого, что в ЖЖ страшно выкладывать, засуспендят же.
Collapse )

Олсо, я пришел к выводу, что Хаята — унисекс/ассексуал (и, как всем и без меня известно, иногда трап), потому что иначе зачем он обычно носит риббон:

если в их академии форма предусматривает галстук?

Фушиги мисутериосу на но да!
|, me, hikki, ok

Метасны и юристы

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

А ещё юристы наверняка прутся с текущего аниму-сезона.
|, me, hikki, ok

Вебанутая ненависть

Почему-то меня напрягает браузер, отжирающий 700 Мегабайт оперативной памяти. Последний айсвазель.

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

И вот подумалось мне, что как круто было бы, если бы долго неактивные табы автоматически скрапбучились и вымещались нафиг из оперативки, а при обращении восстанавливались обратно.
Далее нужно, чтобы какие-то табы можно было заморозить, тогда при восстановлении они просто читаются с диска и всё.
А какие-то могли бы ещё и автоматически релоадится.

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

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

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

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

А вот с большой колокольни можно смотреть на веб-страницу, как на функцию, имеющую тип Reader-подобной монады, где в спрятанном состоянии изначально находятся все значимые для отображения статические данные (адрес страницы, её HTML-код, инклуженные ресурсы, etc), телом этой функции является код «JavaScript», функциями-членами этой Reader-подобной монады являются функции для работы с DOM, а удалённые запросы делались бы через какой-нибудь «liftAJAX».
Тогда, если наша система типов ещё и является dependent-typed, то браузер, скомпилировав полученные от сервера данные, мог бы сразу и чудесным образом вывести все необходимые свойства этой веб-страницы, руководствуясь только типами базовых функций (типа liftAJAX). Тогда «политика безопасности» была бы просто набором типов для этих базовых функций, а браузер мог бы при компиляции через зависимые типы выводить вообще только один бит информации — Safe | NotSafe. В тоже время, если браузер хотел бы выводить какие-то другие свойства, то собственно этому «JavaScriptу» на странице вообще ничего об этом не надо было бы знать.

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

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

Я мог где-то тут выше ошибиться, так что вот, такие дела.
|, me, hikki, ok

От текста к звёздам

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

Пожалуй, окончательное понимание смысла жизни мне пришло после изучения персидской и более ранних клинописей.
Для всех изученных мной языков, фактом является то, что форма глифов их символов имеет чисто визуальные корни. Например, из книжки по иероглифическому письму я узнал, что латинская «A» — это корова (если перевернуть вверх ногами, то ножки станут рогами), а «S» — горы (если повернуть на 90 градусов). То есть вся письменность изначально была иероглифическая, а позже, повинуясь желанию людей писать много и быстро она упрощалась и спрямлялась. В результате получились сохранившиеся до сих пор китайские иероглифы (для которых существуют хронологии трансформаций символов, демонстрирующие как, например, изображение птицы превратилось в иероглиф 鳥), несохранившаяся клинопись, египетские иероглифы, латинский алфавит, а также, всякие другие письменности о которых я почти ничего не знаю (например, вязь).
Почему люди, придумавшие латинский алфавит отбросили смысловые значения глифов (типа «S <=> горы»), а сделали их только звуковыми — для меня остается загадкой, но мысль была весьма здравой, поскольку, например, носители языков со слоговым письмом очень плохо усваивают звуковой алфавит, а владеющие звуковым с легкостью осваивают слоговой. Конец введения.

Вооружившись этими знаниями у меня возникает сразу куча вопросов. Рассмотрим, например, такую интересную штуку как «БОЛЬШИЕ БУКВЫ». «Большого» иероглифа 鳥 нет, вообще для иероглифов нет деления на «прописные» и «строчные». В клинописи тоже нет такого деления. Зато и клинопись и китайские иероглифы сначала писали справа налево в столбики, а потом стали слева направо в строчки. Короче, я веду к тому, что прописные глифы символов оправданы только удобством деления предложений при чтении и, на самом деле, являются такими же элементами типографической разметки, как и переносы, курсив, полужирный, подчёркивания, перечёркивания и выделение цветом.
Однако почему-то символа, обозначающего букву «а», написанную салатовым курсивом («а») в таблице UNICODE нет, и чтобы её получить мне пришлось написать пару HTMLных тегов, а зато прописная буква «А» и символ смены направления теста в таблице UNICODE почему-то есть.

Теперь рассмотрим символ « » (пробел), который, по сути, является символом «предыдущее слово кончилось». Почему его нельзя использовать в URI? А почему символ «.» (точка), который означает «предыдущее предложение кончилось» в URI использовать можно? Потому что когда-то компьютеры были большими, а программисты, которые для них писали программы, не знали другого языка кроме английского. Так получился великий и ужасный ASCII, соблюдая обратную совместимость с которым, и не желая абстрагироваться от тупого кодирования всё новых и новых символов в таблицу UNICODE мы имеем все те чудесные проблемы, которыми наслаждаемся ежедневно, впечатывая в строку браузера что-то типа somedomain.org/some%20file.txt.

На мой взгляд, автоматическое преобразование из
это первое предложение. а это второе предложение

в
Это первое предложение. А это второе предложение.

не является столь уж непосильной задачей. А если надо специально что-то написать БОЛЬШИМИ БУКВАМИ, то и следовало бы ввести для этого специальные способы разметки.

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

Итого. Я постарался объяснить почему UNICODE — это плохо (кратко: поддерживает обратную совместимость с кошмарным ASCII, невозможно добавить новые символы), и что именно из проблем UNICODE вытекают проблемы современного представления данных, на примере URI, однако сюда же можно отнести и регулярные выражения (эскейпинг специальных символов достаточно часто используемыми символами), и теги HTML/XML (я хочу писать «>_<» по-человечески!), и прочие смешения мух с котлетами.

Что делать? Отделить котлеты от мух. Ровно так, как это делается в PostScript и DjVu.
По сути каждый символ (в самом низком представлении данных) — целое число. То как следует «понимать» и «рисовать» этот символ описывается таблицей соответствий (в рассматриваемом выше случае — таблицей UNICODE). Если разрешить определять свои таблицы, то можно разрешить определять и свои символы и свои глифы (и так оно и сделано в PostScript).

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

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

Теперь слегка абстрагируемся и перейдём от термина «таблица» к термину «функция» и вернёмся к таблице UNICODE.
По сути UNICODE — является функцией (отображением) из целых чисел в «смысл символов». Если посмотреть на его спецификацию, то он ровно так и устроен:
...
U+0041	LATIN CAPITAL LETTER A
U+0042	LATIN CAPITAL LETTER B
U+0043	LATIN CAPITAL LETTER C
U+0044	LATIN CAPITAL LETTER D
U+0045	LATIN CAPITAL LETTER E
...
U+00B3	SUPERSCRIPT THREE
U+00B4	ACUTE ACCENT
U+00B5	MICRO SIGN
U+00B6	PILCROW SIGN
U+00B7	MIDDLE DOT
U+00B8	CEDILLA
U+00B9	SUPERSCRIPT ONE
...

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

Представим теперь, что у нас нет глобальной функции смысла (таблицы UNICODE), и рассмотрим ситуацию нескольких вычислительных процессов, где каждый из них имеет свою собственную функцию смысла. До тех пор пока эти процессы работают каждый над своим набором данных (символов) и пользуются только помощью своих функций смысла для выполнения каких-то задач (например, отображения текста на экране), то никаких проблем не возникает (каждый процесс преобразует текст в набор пикселей, а ОС этот набор рисует). Однако, как только два процесса хотят обменяться данными (например, я хочу сделать copy-paste из PostScript документа в текстовый редактор), то им необходимо соблюсти условие эквивалентности по Лейбницу (неразличимость) их функций смысла на множествах используемых ими символов. Например, если у меня есть просмотровщик документов и текстовый редактор, то при копировании текста из первого во второй им следует договориться о глифах символов, передаваемых через буфер обмена.

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

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

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

Такие дела.
|, me, hikki, ok

План летом наваристее

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

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

А вот вспомнил. Примерно каждое лето. Сцена прощания меня со всеми остальными уезжающими куда-то в далёкие края. Шесть часов утра. Крик из соседней комнаты:
— А ну быстро все сели! Надо посидеть на дорожку! Ян, — это меня так зовут, если что, — а ну давай садись!
Ян открывает правый глаз, садится на кровати, обняв скомканное одеяло, используя его как дополнительную точку опоры.
Тридцать секунд тишины.
— Всё, идём. Ян, пока!
Ян отпускает из рук скомканное одеяло и, падая на спину, закрывает правый глаз и засыпает. А потом просыпается часа в два дня.
Нанка... боку ва моэ то каваии дес!

А вот ещё кажется в октябре (5 — 9 числах) нагряну в нерезиновую Москву для участия в конференции «Методы и средства обработки информации» в МГУ (вай, как пафосно же ^////^). Остальные подробности, видимо, ближе к октябрю.

Такие дела.
|, me, hikki, ok

Общественный транспорт? — публичный позор

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

Три года назад промежуток от Лигово до Волхонского шоссе в пробке можно было стоять, ну, максимум, десять — пятнадцать минут.
Восемь месяцев назад там можно было стоять минут сорок.
Неделю назад в автобусе за сорок минут я проехал примерно двести метров, после чего мои нервы не выдержали и я попросил водителя меня выпустить и пошел пешком прямо по середине дороги с двумя проезжими частями и восемью полосами. Все восемь полос в обе стороны стояли. А я шёл. Водители встречной полосы открывали окна и спрашивали: «Много ли там ещё впереди?» Ой, много. Короче, домой я дошёл быстрее автобуса раза в три, то есть я уже несколько часов был в интернетах, а автобус небось только к моей остановке подъезжал (из расчёта средней скорости движения потока).

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

Так вот, если пробка от Лигово до Волхонского ещё понятно почему (четыре полосы сужаются в две после Волхонки), то пробка от меня до Волхонки вообще на пустом месте. Суть такова: есть Таллинское шоссе (две полосы), есть деревенская раздолбанная дорога (0.5 полосы), которая идет этому шоссе параллельно. На эту тропинку можно свернуть на ближайшем ко мне перекрёстке, а вывернуть обратно на шоссе примерно на два с половиной километра ближе к Волхонскому шоссе.
Представим себе ситуацию: плотный поток машинок (ведь теперь с Волхонки можно въехать на кольцевую, а потому этот поток за последние несколько лет увеличился раз в пять, а дорога в толщине не поменялась), всегда находятся дибилы, что лезут куда не надо, тут бац и авария, из плотного потока получается плотная пробка, что делают оставшиеся дибилы из пробки? правильно, они тучами лезут на раздолбанную деревенскую дорогу в 0.5 полосы (тем самым делая её ещё более раздолбанной, но это не самое страшное). См. рис. 1.
Теперь рассмотрим выезд с деревенской раздолбанной дороги обратно на шоссе. Шоссе — две полосы, раздолбанная дорога при повороте на шоссе — одна полоса. Итого — три полосы. Поскольку по раздолбанной дороге всё равно движение быстрее чем по шоссе, то на перекрёстке, где они встречаются, получается загруженный нерегулируемый перекрёсток, где по главной дороге под завязку заняты две полосы, да ещё и со второстепенной лезет поток в одну полосу. А потому движение по Таллинскому шоссе замедляется в полтора раза ((2+1)/2), в результате ещё большее количество дибилов лезет на раздолбанную дорогу, тем самым ещё замедляя движение по шоссе, ну и так далее до полного дедлока (ещё одной аварии).

-------------------------------------------
      -> Таллинское шоссе ->
-------------------------------------------
   |                                    |
   --------------------------------------
    -> деревенская дорога ->

                «Рис. 1.»



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

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

Ладно, ведь настоящий /tr/фаг скажет, что «всё это — фигня, ведь поездка электричкой решает все эти проблемы за шесть минут и тридцать восемь секунд». Проблема заключается в том, что летом РЖД совсем охреневает и убирает пятидесяти процентную скидку для студентов. А за неполный полтиник (в два раза дороже маршрутки!) в электричке я бы не стал ездить, даже если бы мне платили в десять раз больше, чем сейчас. Т.е. РЖД хочется взять и уеばть, взять и уеばть! Потому что, например, если ехать до Крестовского острова, то машиной получается дешевле, чем электричкой, а потом в метро. Маразм! И после этого не удивительно, что как только у людей появляются бобы, они сразу бегут покупать машинку. И вообще я не верю, что такая цена билета на электричку хоть чем-то оправдана. Не может личный транспорт стоить дешевле общественного на такие расстояния.

Такие дела.
|, me, hikki, ok

От преподавателя студентам и белые пятна

Пить/курить непосредственно перед сдачей зачёта/экзамена — фейл. У преподавателя есть нос.
Не сказать «спасибо» после получения оценки в ведомость/зачётку/etc — фейл. Документирование оценки требует повышенной концентрации и там есть за что благодарить, не говоря уже о обычной вежливости.
Оправдывать незнание предмета кризисом, работой, заботой о семье/детях/племянниках/внуках — фейл. Со мной один раз в жизни была такая фигня, когда я приличное количество времени (три, кажется, недели) присматривал за пожилым человеком, которому нужно было постоянное внимание, но даже тогда я что-то делал на благо науки. Так что не бывает студентов, которые в течении семестра не могут уделить полтора часа в неделю на нужды самообразования. Если нет возможности самому присутствовать на лекции, то всегда можно заняться самообразованием по её материалам. Хотя бы и в выходные.

Таки приняв сегодня пересдачу своего предмета (6 часов подряд) съел пару булок, запил стаканом пепси (буэ! но выбора особо не было) и пошел в сторону тренировочки кендо. Серьёзные физические нагрузки и такое питание — вещи несовместимые. Меня два часа потом тошнило, примерно сорок минут я почти ничего не видел (расфокусировка и «белые пятна по всему экрану», особенно в правом глазу (кстати, это особенно бесит, когда два глаза вдруг оба сразу видят очень плохо, но по-разному)), что, кстати, ужасно напрягает, потому что даже крупные надписи на уличных вывесках не прочесть, не говоря уже о ценниках в магазине, и вообще, у привыкшего читать всё до чего дотягивается взгляд вызывает состояние близкое к панике. Ну и голова болит до сих пор.

Вот.
[ok] Поплакаться в жжшечку.
[??] Уснуть.

Такие дела.
|, me, hikki, ok

Аниму радости и уныния псот

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

Олсо, по-моему стиль рисовки слегка поменялся с Zoku сезона (в Goku там тысячи стилей, потому говорить сложно же), какой-то более упрощённый стал что-ли. Задники примитивные и теней почти нет. Впрочем, сузуку ва ваку ваку.

Если вы вдруг знаете порядок выполнения обряда сеппуку, то арт в конце эпизода может вызвать неконтролируемые приступы хохота.

И ещё интересно, вот меня прёт этот «японизм» Сенсея, но неужто самих ниппонцев с него также прёт?
|, me, hikki, ok

Телефон будете потреблять?

Это не секрет, что у меня, как у чоткого поцона, есть чоткое мобилко (Nokia 5200). Где-то в архивах сего жж даже можно найти место её появления.
Но я не об этом. Меня забавляет тот факт, что 99% времени её использования приходится не по назначению. В среднем в месяц я пишу одну СМСку и делаю два телефонных звонка, остальное время она служит как плеер (с весьма противным качеством, но таскать ещё и КПК только ради музыки мне лень) и будильник (каждый божий день кроме воскресения, а также в электричках, чтобы свою остановку не проспать), а в последнее время, всё чаще, как место для заметок.

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

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