Нашёл забавный канал на ютубе, где, видимо, японец читает прозу или поёт какую-то поэзию японскую, в т.ч. Манъёсю. Иногда под пианино. И сопровождает в видео все сюжеты милыми и забавными иллюстрациями:
Из интереса и внезапно записался на парочку онлайн-курсов на сайте openedu.ru (кстати, много курсов там ещё в процессе набора слушателей).
Один из них — «История классической японской литературы» от МГУ. Хоть и очень люблю читать, но литературоведом или историком как-то не был.
Список рекомендованной литературы там ужасает — порядка полторы сотни пунктов. Пока не разбирался, что там и как, но есть и учебники, и какие-то исследования, и сами литературные работы, переведённые. Проза и поэзия. Если кому интересно... хех. А я почитаю!
Хочется что-то узнать новое и не совсем привычного формата, скажем так, не технического. А раз учу японский, классическая литература тут будет в самый раз. И в описании курса указано, что рабочими языками являются русский и японский. Но что это значит и чем грозит —неведомо.
Пока посмотрел несколько лекций, уже больше часа видео, но лектор пока что рассказывает о процессе познания, восприятия и обработки информации и всяком таком. Предметные лекции, о литературе, видимо, будут со следующей недели.
Ещё немного пугают творческие работы - как их писать и о чём. Но всегда есть Ю, которая к ним привычна, и она обещала дать план и порядок выполнения. Так что, думаю, всё получится =)
Разбирал я тут как-то парочку новых японских песенок (アシンメトリー [REOL] и 前前前世 [RADWIMPS]) и заметил одно немного неожиданное для меня явление в обеих, — у некоторых слов чтения были не теми, какие предполагались бы по словарю.
По словарю 運命 читается как unmei, но тут оно sadame. 身体, опять же, shintai, но тут karada. Кстати, в самом фильме, откуда песня, где-то это слово, shintai, упоминается в контексте «тело бога».
В общем-то, и sadame, и karada есть в словаре, правда, под другими иероглифами. И смысл у них тот же самый.
Я спросил у учителя, нормально ли это и много ли таких слов. Да, много. Для литературного текста это обычный приём. И ещё несколько примеров, которые поведал уже он:
人間 [ningen] = hito, человек
社長 [shacho:] = BOSSU, директор, босс
挟門 [kyo:mon] = A:CHI, арка
麦酒 [bakushu] = BI:RU, пиво
В словаре тоже иногда можно встретить это, например, из этих шести примеров в яркси есть альтернативное чтения для пива.
Механизм, похоже, такой: берут японское или заимствованное слово и под него подбирают подходящую по смыслу запись иероглифами, забив на их самостоятельное чтение. Наверное, аналогичным образом образовались и всякие слова с непонятно откуда взявшимися чтениями, известные с первых уроков японского: 明日, 昨日, 昨夜, 今朝 и т.д.
Кстати, вспомнилось, что и обратное явление есть, когда забивается смысл иероглифов и берутся только их чтения, для использовния вместо каны. Тоже, видимо, художественный приём какой-то.
Уже два занятия у Кадзунори-сан отзанимались, три учебника закончились летом, теперь разговорная и иероглифическая практика. Читаем забавные страшные истории ещё, типа таких: 壁の穴 х)
Дошли нынче руки и до трёхмерной графики, прочитал книжку "OpenGL. Суперкнига" на 1000 с лишним страниц за неделю и примерчики по ней почти все сделал. Матрицы, векторы, преобразования - это куда бы ни шло, а шейдеры -— это какое-то колдунство :< Работать-работают, а как - не очень понятно. Ну да и фиг с ними, программируемый конвеер вершин и фрагментов оставим на будущее.
А пока в целях обучения попробуем самопальный просмотрщик реплеев запилить, там математика рисования не хитрая. Пока только тайлики и научился в 3д рисовать. И, стоит сказать, это проще, чем в 2D, да и быстрее.
Сегодня получил посылочку с печатными ранобешечками (перевод) Sword Art Online. Два томика, открыточки разные и одна для отправки автору, хех.
Почитаем-с.
Вечером пришла смска, что иди-ка получи в Балаканском, там где-то есть пункт выдачи. В инете я узнал, на сайте почтовой компании, что на втором этаже. Пришёл я туда, минут двадцать ходил туда-сюда, раза три по всем коридорам прошёлся, нифига нет, только тряпками торгуют да оружием. Там план этажа примерно как иероглиф 田 — сложно заблудиться, да и половина этих коридоров безмагазинна — заклеены торговые места плёнкой. Посмотрел в инете уже сайт самого пункта выдачи, там кроме указания на этаж была и фотка пункта — с приметной жёлтой вывеской, торчащей в коридор, да и его самого сложно пропустить — там куча коробок внутри, сразу видно, что это почтовая фигня.
Вот стоило посмотреть на фотку (на которой ориентиров и не было нифига), как пункт выдачи тут же нашёлся, в полузаброшенном коридоре, где я прошёл пару раз в обе стороны. И с вывеской ядрёной, и коробками :<
Такое ощущение, что на него отвод глаз накинут, пока не знаешь, что ищешь — фиг найдёшь, хоть уходись. Магия какая-то =D
Всё же сделал и тестик, пока примитивный, но по онъёми, кунъёми, значению и узнаванию. Данные для теста берутся из текстового файла вида:
По нажатию на иероглиф показывается ответ, а проверка самостоятельная - тыкаешь на кнопочку "Знаю" или "Не знаю". А сбоку он показывает примерную карту уровня - что ещё надо прокачать. Сначала, конечно, всё красненькое... Для каждого типа заданий такая карта своя и она общая - какой бы набор ни был представлен в тесте, база одна и так же.
Надо будет на выходных или на сл. неделе ему выбор файлов приспособить и ещё чего...
Сделал прототип программки для чтения текстов, которая ещё и со словарём связана (ярксишным), и помнит, что я знаю из иероглифов. Вытаскивает также из текста иероглифы и помечает их цветом из своей уже базы данных. Цвет меняется по щелчку на иероглифе. Надо б прокачать ещё, чтоб поудобнее было. Текстик может быть как по-человечески, так и по-японски, вертикально и справа-налево.
Потихоньку растёт четвёртое поколение программы-анализатора. В этот раз с интерфейсом, но пока мало что умеет по сравнению с консольной версией.
Пока что только построение типа турнирной таблицы (с поддержкой игроков замены, учитываемых отдельно, и бананов), вызова из оной просмотрщика реплеев (тенхоклиент) или пайфупостроителя. И для себя -- краткая статистика по последним играм для выбранного игрока, если загружается список игр своих. Импорт игр тоже из многих источников: из файла лога, из тенхоклиента, из папки с реплеями. Прога ещё сырая, но постепенно матереет.
Это я к тому, что не зачахло правое дело, нужное мне одному =D
Вчера всю ночь сидели в новой Александринке, настраивали прибор, который управляет шестьюдесятью метрами управляемой ленты (ws2811) через локалку. Не люблю пульты, медиасервера и прочие, где данные отправляются 44 раза в секунду пулемётными пачками по 12 пакетов с расстоянием между ними в 2-5 мкс. Я понимаю, компы мощнявые это переварят как нефиг делать, но не встраиваемые устройства>< О чём думают производители оных пультов вообще?=D
И я потихоньку изучаю 3д-моделирование в скетчапе.
И продолжаю C#.
Маджонг как-то не очень ладится, но ничего страшного.
В принципе со времён турнирной версии особо ничего не поменялось, да и я не очень занимался программой, но тем не менее. Что изменилось: — Исправлен подсчёт числа шантен для некоторых специфических рук; — Можно строить таблички по играм/раздачам для всех игроков сразу. Для этого к каждому параметру (при выводе -o) можно указать номер игрока (0-3): -o rating=0 rating=1 rating=2 rating=3. Получится табличка рейтингов для игры. И так к любому параметру; — Статистику можно строить по предварительно отобранной по заданным параметрам выборке игр; — Параметры поиска (чисто поржать): rononriichi (если заронились на игроке при его объявлении риичи), chiitoi (темпаи на читой), oneside (для игры, где руки завершал исключительно один игрок), dorawait (темпай с ожиданием на дору) и ещё какие-то... — Вывод списка загруженных игр в виде лога тенхочки (как в клиенте): -l -stenhoulog.txt. Можно так отформатировать какой-нибудь скайповый лог в приемлемый и лишённый комментариев вид; — Можно искать только в ограниченном количестве последних игр: -f last=N; — Можно ограничивать количество результатов поиска: -f limit=N; — Можно ограничивать вывод одним результатом за ханчан (если их несколько) с помощью опции -o replayonce, если нужны результаты игры, а не отдельных раздач; Ну и багфиксы. Ещё есть куда стремиться и что добавлять.
Было время, приходилось регулярно прошивать всего три типа устройств. Потом их стало пять. Потом ещё больше, да и некоторые из них дали свои модификации (выполнялись, например, на аналогичных контроллерах с другим размером флеша или имелись мелкие схемотехнические или программные отличия). Раньше хватало пары bat-файлов для прошивки, где выставлялись фьюзы, стирался флеш, прошивался, проверялся, прошивался еепром и т.д. Потом скриптов стало много, много модификаций и это запутывало. Ещё была неприятность — если какой-то этап не был выполнен, то остальные выполнять бессмысленно, но бат-файлу пофиг, он выполняет все этапы вне зависимости от результатов их деятельности.
Мне надоело такое положение дел и я накатал себе простенькую оболочку для прошивки контроллеров, где мог бы организовать кучу разных версий прошивок и алгоритмов в более удобной форме. По сути это общая гуи для консольных прошиваторов, ещё в альфа-версии, на скорую руку. Но тем не менее, я к ней смог подключить консольные прошиваторы: — atprogram.exe от Atmel Studio 6 (AVR Studio 5.1) для программаторов avr isp mkII, jtagice3 и подобных; — ST-LINK_CLI.exe от ST-Link Utility для контроллеров stm32 и программатора st-link; — STVP_CmdLine.exe от ST Visual Programmer для STM8 и программатора st-link. Возможно, покатит и какой-нибудь avrdude, но у меня нет программаторов, чтобы это проверить.
Сделал файлик с ссылками на онлайн реплеи ASAPIN с указанием рейтинга, дана и занятого места. Надо б отдельные поглядеть, все-то анрил посмотреть — их почти пять тысяч.
Так-то и у него/неё не всё было просто: рейт асапина
В версии r155, коя сейчас последняя, кроме возможности вывода заинтересовавших рук и дискардов (ну не знаю пока зачем, но потом погляжу, вдруг что найду интересное), появился и турнирный режим — в найденных играх можно для каждого попавшегося в реплее игрока построить таблицу результатов: среднее место за все игры, общее количество очков, результат с умой, список мест и типа того. Ессно, поля для вывода настраиваемые и есть возможность отсортировать по главным полям в любом порядке (по возрастанию или наоборот). Также можно настроить минимальный порог по количеству игр, кое необходимо для попадания в таблицу (например, не менее трёх).
На вход программе нужен только список реплеев, ну и параметры для построения таблицы. В итоге получаем текстовый файлик такого плана:
Который легко, впрочем, в экселе иди ещё где превращается в табличку: Табличка
Чуть подробнее о полученииЧуть подробнее о настройке: 1. Имеем файл со списком реплеев, который я взял из группы А оной таблицы:
Называется, допустим, tournier.txt. Это могут быть только ссылки, или лог из клиента, могут там быть и комментарии — всё левое игнорируется. Единственные требования — одна ссылка на строку и чтобы ссылка была представлена целиком.
2. Команда для обработки: TenhouViewer -dtournier.txt -ptournier.txt -ftournier.txt -t index nickname placelist place acq loss points mingames=3 sortdesc=points sort=place -soutput/tournier_result.txt 2.1. -dtournier.txt — скачивание реплеев с сервера тенхочки; 2.2. -ptournier.txt — подготовка их для обработки; 2.3. -ftournier.txt — выборка реплеев из файла с предварительной фильтрацией (если указаны какие-то параметры), например, можно выбрать только реплеи из определённых лобби, только с акадорами или наоборот, с куитаном и нет, и т.д. В данном случае никакой фильтрации не надо, потому кроме имени файла ничего не указывается сверх того. 2.4. -t index nickname placelist place acq loss points mingames=3 sortdesc=points sort=place — обработка реплеев: сортировка сначала по очкам (sortdesc=points), а потом по среднему месту (sort=place), в таблицу попадают только игроки, сыгравшие не менее трёх игр (mingames=3). В таблице будут указаны поля: условный номер игрока (index), ник (nickname), занятые места (placelist), среднее место (place), общее количество полученных очков (acq), общее число потерянных очков (loss) и сумма без учёта умы (points) в указанном порядке. Опции фильтрации и обработки можно указывать где угодно относительно полей вывода — они всё равно все применяются до обработки. Порядок важен лишь при нескольких сортировках подряд — тогда первыми должны идти второстепенные поля, в конце — основные. Ну и порядок полей задаёт положение столбцов в таблице. Флагам фильтрации вообще пофиг. Между собой флаги этих трёх типов не взаимодействуют и могут располагаться как душе угодно.
2.5. -soutput/tournier_result.txt — сохранение таблицы в файле output/tournier_result.txt;
После выполнения данной команды получим файл с таблицей, который был показан ранее. В принципе, можно делать и более сложные таблицы — вся информация о играх доступна, была бы нужда.
Пример этот в архиве называется «sample 19. tournier.bat».
Тем временем пайфу стали ещё немного более информативными: — Появилась подсветка опасных тайлов (в приходящих тайлах, в сброшенных тайлах и в итоговой руке). Опасных, естественно, в тот самый момент, когда происходит действие. Фуритен не учитывается, учитываются лишь все возможные ожидания противников; — Появилась возможность посмотреть изменение числа шантен по ходу всей руки как циферками, так и цветом; — Пометка о фуритене серой полосой под сброшенным тайлом (чтоб не гадать, какого фига тайл пропущен — нарочно или по неразумению); — Возможность отключить вывод информации о яку, числе шантен, фуритене и никах играющих (ники заменяются на A, B, C, D).
ПримерРазмер несколько уменьшен. Полноразмерные картинки по щелчку.
Маленький мальчик, точнее, девица, В таняо стремилась, косясь на чиницу, Смелость не ценится здесь без ума — Чиницу, доры. Рон на байман.
Найдено и нарисовано с помощью команды (один единственный результат, кстати): TenhouViewer -flog.txt winner anyyaku=chinitsu hanmin=8 hanmax=10 -f loser sex=f -o link nickname cost waiting yaku -sdevitsa.txt -u dir=devitsa shanten
Также добавился ряд поисковых опций (количество объявленных за раздачу риичи, хэш, количество палок ренчана в раздаче, номер раунда, фуритен, объявлялся ли риичи, максимальное количество опасных тайлов в руке за раздачу единовременно, количество открытых сетов и объявлений, выигрыш по рону/цумо, ещё какая-то фигня). Все бинарные опции получили возможность инвертирования (например, опция winner давала все собранные руки, тогда как теперь указание winner=0 будет давать все несобранные руки; loser — все руки, из которых набросили, loser=0 — все руки, из которых не набросили и т.д.).
Правда, перед использованием логи надо обработать заново, если они были обработаны более старыми версиями — формат промежуточных файлов немного поменялся.
UPD Дальше что ли запилить поиск по формам типа "form=122346"? А то формы рассматриваются во многих статьях, а вот живые примеры с реплеями, где эти формы реально встречаются, особенно, если эти формы не самые примитивные... Ну и ошибки, проистекающие из неправильного использования этих форм тоже интересны.
Ещё одно маленькое исследование, проведённое с помощью программки TenhouViewer. Я захотел узнать, а сколько в руке может быть опасных тайлов максимум? Бывает ли так, что все тайлы опасные (чисто теоретически, если собираешь какой-нибудь читой или анко, особенно по октавам, это вполне возможно)?
На данный момент статистика у меня есть всего по 44744 рук, что, наверное, репрезентативно. Рассматривалось максимальное количество опасных тайлов за всю раздачу в руке единовременно — их число меняется, конечно, но берётся для выборки самое большое. Среди них не нашлось ни одной руки, где было бы более девяти опасных тайлов. То есть в закрытой руке по любому есть не выигрышные для противников. Девять опасных тайлов было всего в двух случаях, восемь — в двадцати, семь — в семидесяти.
Согласно гистограмме, с вероятностью 95% в руке не более четырёх опасных тайлов. Если брать вероятность 99%, их не более пяти. Вот такие пирожки.
В начале и в конце куча каких-то непонятных графиков, таблиц, формул. Но середина более-менее читабельна. Много иероглифов знакомых, хотя я их и не смог вспомнить. Ну да буду читать — выучу.