Яндекс.Метрика

    Ни о чём

    Веб-приложение — наглядный конвертер дат по большому количеству систем летоисчисления

    Предыстория

    У некоторых из нас увлечения из детства переходят во взрослую жизнь, и это как раз мой случай. Сейчас мне 25, и последние 17 лет из них я сознательно занимаюсь собиранием, изучением и анализом монет из разных стран мира. Хорошо, когда есть интернет; а в 90-х и начале нулевых информацию приходилось черпать в основном из книг.

    Одной из самых больших проблем, связанных с моим увлечением, в тот период было определение года чеканки монет, ведь в арабских странах свой календарь, Израиле — свой, у тайцев — тоже свой, не говоря уже про Японию, Китай и так далее. Затруднение вызывал даже не столько сам процесс конвертации, сколько узнавание символов на монете. В итоге в тетради с описью коллекции так и оставалось: «-?- год».
    В 2006 году вышла книга Александра Александровича Щёлокова под названием «Увлекательная нумизматика». Считая себя весьма хорошо подкованным в технической части и обратив внимание на принадлежность этой книги к категории популярных изданий, я отложил её подальше. В конце весны 2009 был небольшой ремонт, и книга снова попалась мне на глаза — на этот раз я начал её читать.

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

    Рассказав о некоторых системах, А. А. Щёлоков пишет: «Можно и дальше продолжать список, но сделать это сумеет каждый, перед кем возникнет необходимость уточнить конкретную дату. <…> мы убедились, что вопрос о датировке — один из самых сложных в нумизматике. Множество систем счёта и календарей в мире. Все их перечислить невозможно. Да и нет у автора цели превратить популярную книгу во всеобъемлющий справочник или практическое пособие. Куда важнее, на наш взгляд, пробудить любознательность, привлечь внимание читателей к нумизматике и бонистике.»

    Создание

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

    Что оно может?

    • На момент написания данного поста там представлено 24 системы летоисчисления, основная часть которых реализована в виде интерактивных конвертеров. В каждом из таких конвертеров доступны два направления конвертирования дат: из выбранной системы в год по григорианскому календарю; и обратно, — чтобы узнать, как тот или иной григорианский год выглядит в символах соответствующей системы летоисчисления.
    • К каждой системе прилагается информационный блок с её описанием, в котором рассказано о происхождении этой системы, приведены необходимые формулы и алгоритмы пересчёта, дана историческая справка и прочие «вкусности», которые собирались мною из огромного количества источников, в том числе путём общения с экспертами на иностранных форумах.
    • Вкладка «Иллюстрации монет» содержит скроллер с цветными иллюстрациями монет 400x400 px, также с кратким описанием под ними; управлять скроллером можно кликом по картинке, кликом по ссылкам «Вперёд»/«Назад», а также с клавиатуры.

    Преимущества «Машины Времени» по сравнению с другими существующими инструментами конвертирования дат

    • самый большой выбор систем летоисчисления (24);
    • наличие обратного конвертирования;
    • удобство, наглядность и понятность (мы сделали так, чтобы даже неспециалист в области нумизматики и/или компьютерных интерфейсов, открыв наше веб-приложение, уже знал, как им пользоваться. Нужно лишь ввести ровно те символы даты, что видишь на монете, и нажать «Рассчитать»);
    • присутствие разных варианты написания символов даты почти для каждой системы (в т.ч. способы написания цифр, что использовались до 800 лет назад);
    • наличие подробнейших описательных частей;
    • и да, всё продублировано на английском языке: и интерфейс, и описательные тексты (на подготовку и вычитку переводов ушло тогда несколько месяцев);
    • приложение обновляется почти каждый день: добавляется новая информация, исправляются замеченные описки, фактические ошибки и прочие недочёты;

    Как оно работает?

    Довольно бесхитростно. Весь обсчитывающий конвертеры математический код представляет собой JS-включения в php-файлы. Стоит отметить, что 98% кода было написано специально для данного проекта. Все фичи, в том числе движок для скроллеров (не говоря уже о движке самого веб-приложения), реализовывались вручную (jQuery используется в одном-единственном месте, где нужно было вставить всплывающую подсказку с тенью и указательным треугольником).

    Курьёзные моменты, которые удалось обнаружить

    Цифры в различных письменностях выглядят удивительно. Некоторые цифры, скажем, у тайцев или у камбоджийцев напоминают логотипы некоторых операционных систем и брендов. За примерами далеко ходить не надо. Смотрите сами (в топике о Linux Mint я уже когда-то оставлял ссылку):


    Понятно, что все эти совпадения — чистая случайность, но всё равно…

    Немного аналитики

    По устройству численной системы представленные в проекте системы можно разделить на 3 категории:
    • Для записи разрядов десятков, единиц (опционально — сотен) используются индивидуальные символы; число формируется мультипликативно-аддитивным способомЭфиопия, Израиль, Русь (заимствование из Древней Греции!), Грузия (использовалась в XIX-м веке), в определённом смысле — Япония и Тайвань;
    • Десятичная система; всё «как у нас», только цифры свои — большинство оставшихся систем (Бангладеш, Камбоджа, Мьянма, Непал, Таиланд и другие);
    • Отдельно стоят римские цифры.

    Примеры написания чисел (не обязательно годов!). Внимание: если у вас не установлены некоторые шрифты, либо если вы это читаете с мобильного устройства, то вместо ряда символов у вас могут отображаться квадратики, либо вообще ничего не отображаться:
    • Япония. 569 =