Последние новости

ProstoDiary: Машинные типы истории

Отправлено пользователем Deni Baskovsky   [ обновлено ]

С последним коммитом можно переводить человеческий текст в читаемый машиной формат schema.org.
 
Текст "купил воды $900 в москве" превращается в:
[
  {
    '@context': {
      schema: 'http://schema.org/',
      name: 'schema:name',
      actionStatus: 'schema:actionStatus',
      agent: 'schema:agent',
      endTime: 'schema:endTime',
      object: 'schema:object',
      startTime: 'schema:startTime',
      priceCurrency: 'schema:priceCurrency',
      price: 'schema:price'
    },
    '@type': 'BuyAction',
    actionStatus: 'CompletedActionStatus',
    agent: { '@type': 'Person', name: 'Я' },
    endTime: '2020-01-26',
    object: { '@type': 'Thing', name: 'вода' },
    startTime: '2020-01-26',
    name: 'воды',
    priceCurrency: 'USD',
    price: '900',
    'https://w3id.org/security#proof': { '@graph': [Object] }
  }
]

Виртуальный ассистент = консьерж сервис?

Отправлено 1 янв. 2020 г., 13:56 пользователем Deni Baskovsky

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

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

Вот только чтобы правильно сделать их, требуется обладать хорошим терпением и знаниями: использовать поисковик, проверить безопасность сайта, сверить рейтинг ИП/ООО/АО, настроить свою кредитку. И это только со стороны пользователя. Со стороны бизнеса все гораздо сложнее: настроить логистику товара, эквайринг, курьеров/дронов, оптимизировать сайты, предоставить чат пользователю. Каждая эта ступень введена не просто так, посчитаем что все они нужны и их следует отдельно оптимизировать дальше.

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

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

Живущий в эпоху постмодерна, потребитель будет считать такой сервис, чуть ли не идеалом, который якобы решит проблемы в его житейских сценариях. Конечно, это не так. Однако, персональное обслуживание счета, персональный подбор развлечений, круглосуточная поддержка и консультация с экспертом по любым товарам, должна быть перенесена в область интеллектуальных решений, особенно для бедного/среднего класса. Пока виртуальный ассистент на состояние 2020 года несравним с возможностями живого, но начинать нужно, потому что цель стоит того. Спонтанные решения по покупкам убираются, качество купленного анализируется, высвобождается время и деньги. Счастья становится чуточку больше. 

Виртуального пространства хватит для всего. А я продолжу дальше делать MVP ProstoDiary 🎄☃️

Персональный файервол

Отправлено 30 дек. 2019 г., 01:09 пользователем Deni Baskovsky   [ обновлено 30 дек. 2019 г., 04:27 ]


Машинные команды становятся библиотеками. Библиотеки становятся утилитами. Утилиты становятся программными комплексами. Программные комплексы становятся продуктами...

Корпорации в это время становятся больше и сложнее. Они скупают стартапы, мержат их код и БЗ, формируют экосистемы, в центре которых крутятся данные идентифицируемые с пользователем. Для упрощения работы экосистемы, возникает единый модуль - умный ассистент, связанный напрямую с пользователем.

До определенного момента ассистенты "сражаются" между собой за право найти своего пользователя. Часть из них становятся лидерами в определенной отрасли, часть не выдерживает конкуренции, и в лучшем случае, заполняют свою мелкую нишу. 

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

ProstoDiary: Kiosk

Отправлено 15 дек. 2019 г., 12:34 пользователем Deni Baskovsky

Первый майлстоун закрыт. Маленький шаг в прод.

Следующий майлстоун запланирован к 1 марта. Там появятся ассистенты и ограничения по ролям, и еще возможность подключать бота к своим группам.

Что ожидать от ProstoDiary в 2020 году?

Отправлено 9 дек. 2019 г., 10:12 пользователем Deni Baskovsky   [ обновлено 9 дек. 2019 г., 10:20 ]

В 2019 планировал успеть подготовить рабочую демо сборку. Не получилось. Зато вот список того что уже появилось в 2019 году:
  • Произведен переход на Node 12
  • Начал вести документацию по архитектуре на sketchboard
  • Настроены E2E тесты, которые стали более информативными
  • Настроен Heroku CI (в настоящее время отключен из-за цены)
  • Настроен WebServer (express), который проксирует все обращения, включая телеграм, почту и страницы
  • Произведен полномасштабный рефакторинг проекта. Все стало заметно чище, понятнее, масштабируемее
  • Вся документация содержится на домене https://prosto-diary.gotointeractive.com/ и генерируется jekyll
  • Настроены линтеры, код стал единым по всему проекту
  • Обновлены зависимости package.json. Зависимости стали точнее, пунктов пакета больше и они используются
  • Настроены Git хуки
  • Обновлен stack Heroku
  • Серьезно доработаны комментарии формата JSDoc
  • Произведен мощный рефакторинг БД
  • Добавлены новые сервисы openweather, sendgrid, yandex pdd, google vision, translate, restcountries и другие
  • Добавлен GitLFS. Хранить большую статику теперь можно
  • Добавлена семантическая конвенция Git коммитов
  • Безопасность пакетов обеспечивается Snyk 
  • Настроены новые популярные Dialogflow интенты
  • Изменена лицензия на CPL-1.0
  • Встроено шифрование OpenPGP при работе с ботом через Telegram
  • Настроен Renovate Bot, автоматически следящий за новыми пакетами
  • Переделано все API на JSON-RPC-2.0
  • Сделана генерация API документации в OpenAPI 3.0
  • Настроена basic авторизация
  • Сделана OAuth 2 аутентификация yandex, facebook
  • Бот теперь используют imap протокол и создается персонально при регистрации

На вкусное, план на 2020 год. Этапов несколько:

1) Демо релиз

Kiosk

  • Выложить проект в открытом виде с ботом demo
  • Сделать выгрузку /backup в формате StoryJSON (пока без семантики)

Бот в чатах

  • Поддержать возможность клонировать бота в разных местах, например, в роли админа в чатах
  • Реализация работы бота в https://t.me/qweeto 

2) Публикация манифеста

  • Доработать мантру проекта 
  • Создать манифест gotois

3) Очищенный Core

  • Нынешний монолит страдает от излишней функциональности. Планирую очистить и сделать перенести все лишнее в сторонние ассистенты
  • Выложить core пакет на github package registry

4) Ассистенты

  • Организовать общение с ассистентами посредством почты и вебхуков
  • Сделать OpenID Connect provider для авторизации внешних ассистентов
  • Настроить автоматический forward писем от бота к ассистенту

5) Семантические данные

StoryJSON

  • Каждое сообщение будет иметь свои интернет линк (URI) аналогичный www.wikidata.org/wiki/Q42
  • Каждое сообщение с разрешения пользователя будет иметь возможность дополняться фактами от ассистентов и читаться другими ботами или человеком
  • Такая страница будет отдавать различное содержимое для устройств: html для человека, json для поисковых роботов, sparql для ассистентов

RDF и SPARQL БД

  • Каждое JSON-LD подписывается jsonld-signatures
  • Сообщения хранятся в специальной БД (сценарий anzograph) и появляется возможность их обрабатывать через SPARQL запросы

Что касается меня =) 
  • Задействую аутсорс
  • Создам презентацию чтобы было понятнее что я вообще делаю 🌝
  • А также изучу книжку по онтологии

ProstoDiary: подключение бота в телеграм группы

Отправлено 7 дек. 2019 г., 07:48 пользователем Deni Baskovsky

Цифра позволяет почти бесплатно делать копии. Web2.0 позволяет с открытым API делать копии в разрешенном месте на определенных ресурсах.

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

Сценарий упрощается

Отправлено 4 дек. 2019 г., 03:13 пользователем Deni Baskovsky


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

Для пользователя все это будет под капотом, для него все выглядит так Юзер -> Бот -> Юзер: 

user@something.mail ->GUID@gotointeractive.com ->user@somethingmail.mail

Прослойка в виде телеграмма больше не нужна. Пользователь может напрямую общаться со своим ботом используя клиент smtp.

1) Пользовать пишет письмо вида:

subject: Купи мне билет

html: Хочу сходить на концерт Ленинград примерно в следующую среду с подругой

2) Письмо анализируется ботом

2.1 Разбор темы

subject -> BuyIntent

2.2 Разбор тела

html -> разбор на абстракты с дополнением данных по портрету пользователя -> формирование структурированных документов  (JSON-LD) -> сведение информации вместе (StoryJSON)

2.3 Разбор StoryJSON ассистентом по покупке

- Запрос данных в поисковую систему

- Получение первых 10 результатов

- Переход на страницу каждой из 10 результатов

- Поиск JSON-LD на странице, переход по каждой ссылке глубиной до 5 страниц

- Разбор графа и выявление наилучших вариантов

- Пуш боту ссылок с вариантами 

2.4 Разбор ссылок 

- Проверка ссылок на работоспособность

- Добавление к ссылкам метрик перехода (в платной версии бота это можно отключить)

- Отправка человекочитаемого сообщения с ссылками на почту

DiaryJSON-LD

Отправлено 3 дек. 2019 г., 09:04 пользователем Deni Baskovsky

Примерно как я представляю себе это.
Каждое сообщение созданное дневником будет открыто на определенном узле, доступ к которому разрешен через basic auth пользователю и разрешенным им ассистентам.
Переходя по ссылке вида: /message/:id будет открываться JSON страница с типом DiaryJSON-LD, в котором будут находиться залинкованные к сообщению структурированные данные. 

Пример ниже:
<script type="application/ld+json">
{
  "@context": "https://gotointeractive.come/",
  "@type": "DiaryObject",
  "@id": "https://prosto-diary.gotointeractive.com/message/100500/",
  "datePublished": "2019-12-03",
  "author": {
    "@type": "Person",
    "name": "Denis Baskovsky"
  },
  "interactionStatistic": [
    {
      "@type": "contactPoint",
                ...
    },
    {
      "@type": "GeoJSON-LD",
                ...
    },
    {
      "@type": "VideoObject",
                ...
    },
    ...
  ]
}
</script>

Формат в дальнейшем будет меняться, но смысл понятен.

ProstoDiary_bot новый логотип

Отправлено 30 нояб. 2019 г., 00:47 пользователем Deni Baskovsky

Bot❤️Secure - безопасность на первом месте

Отправлено 30 нояб. 2019 г., 00:37 пользователем Deni Baskovsky   [ обновлено 30 нояб. 2019 г., 00:43 ]

Для транзакций истории требуется безопасность выше уровня банковских систем. 

Если в случае кражи карточки человек потеряет деньги, то в случае кражи своей истории, он может потерять всю свою жизнь. Худший сценарий когда злоумышленник виртуально заполучит чужого бота и соответственно доступ к финансам, умному дому, данных друзей, электронной подписи, данным генома, биометрии, календарю событий, историю перемещений и всему остальному. Ради предотвращения таких действий требуется постоянный мониторинг и быстрое внесение патчей со стороны разработки, правильно настроенная модель ролей и шифрование оперативной памяти. Оставим это на сторонних производителей аппаратуры, пакетных менеджеров и ОС. А сейчас я хотел рассказать про возможности замещения банковской карты и использование подписанных транзакций по блокчейну используя бота.

Совершая сегодня оплату через интернет, пользователь имеет следующие инструменты подтверждения:

  • Банковская карта с CVS кодом 
  • Дополнительная биометрия отпечаток пальца или фолбэк 3D Secure смс/нотификация

Я предлагаю добавить дополнительный шаг - bot pay, который будет совершать финальный апрув, если сам посчитает что покупка целесообразна.

Таким образом получаем:

  • Пользователь
  • Его банковский счёт
  • Привязанная к нему банковская карта
  • Физическое устройство исполняющее чтение биометрии - смартфон или браслет 
  • Привязанный бот к устройству бот (+ ассистенты (финансы и прочее))
Это можно внедрять уже в следующем году, возможности веб достаточно мощны чтобы обеспечить безопасность.

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

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

1-10 of 198