Pull to refresh
0
0
Send message

Телега для датасайентиста

Reading time15 min
Views52K

How to deploy Python Telegram bot using Webhooks on Google Cloud Platform


Вместо предисловия


image

— Напиши телеграм-бота. Сейчас даже школьники пишут, — сказала она.
— А почему бы и нет, — подумал я тогда ( — Ну, ну, — сказал бы я сейчас).


Мы сидели в Бине и за чашкой кофе обсуждали возможности тестирования идей с моделями искусственного интеллекта на близком и не очень круге друзей. Лена, моя бывшая коллега, и во всех отношениях не блондинка, только что закончившая магистратуру, рассуждала так. Создав бота, можно сэкономить силы и время на интерфейсе, сосредоточившись на ядре с машинным обучением. Согласитесь, что устоять против такой логики “спортсменки, комсомолки и просто красавицы” в то прекрасное воскресное утро было невозможно. Решено. Телеграм-бот, значит телеграм-бот.


Первым делом я залез в гугл и нашел большое число ссылок “как сделать бот за 30 минут”. Это меня настолько воодушевило, что дальше названий я не пошел и занялся созданием ядра. В самом первом приближении мне предстояло написать систему обработки поисковых запросов с использованием NLP (natural language processing). Написание ядра заняло некоторое, вполне разумное, время (все же опыт кока-колой не пропить). И через несколько дней я был готов к тому, чтобы за пару часов обернуть первую тестовую версию ядра в пару другую команд send-receive, запустив все это в Телеграме на благо моим друзьям. Но не тут-то было.


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

Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments35

Управление конфликтами или первая компетенция Темного Властелина

Reading time13 min
Views39K
Простите за дурашливое название, оно исключительно для привлечения внимания. Конечно же, компетенция управления конфликтами, лежит вне добра, зла и прочих оценочных суждений. А значит, сможет помочь как тем, кто будет мир порабощать, так и будет полезна для тех, кто займется его освобождением от поработителей… Шутка.

Сразу оговорюсь, что эта публикация – своего рода эссе по ментальной карте в которую я упаковал собственный опыт и приобретенные знания по теме управления конфликтами. Мой взгляд не полон и ограничен, а значит если есть какая-либо дыра в смысловой ткани темы — дайте знать, доработаю (для кого удобнее использовать для понимания ментальную карту — она в конце текста):

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

Конфликт, как как частный случай


Обычная (регулярная) ситуация переходит в конфликтную, а затем кристаллизуется в конфликт, при наступлении одного или нескольких факторов:
  • введении конфликтогена (раскрывается ниже);
  • изменение целей у участников ситуации;
  • изменении обстоятельств, которые затрагивают ценности, интересы или цели участников ситуации;
  • создание участниками (или одним из) позиции, по отношению к ситуации;

И если с целями и обстоятельствами более-менее понятно, то два других пункта нуждаются в уточнении.
Читать дальше
Total votes 18: ↑16 and ↓2+14
Comments13

Аллюр три креста, или Почему проекты так трудно закончить в срок

Reading time12 min
Views16K
Один крест (+) означал, что посыльный мог ехать к месту назначения шагом, два креста (++) означало рысь, три креста (+++) — незамедлительный галоп. Поэтому в армии галоп носил неофициальное название аллюр три креста, а позже это выражение вошло в русский язык, имея смыслом максимально быстрое выполнение поручения начальства. [Википедия]
Tar pit (англ., дословно смоляная яма) — 1) неразрешимая проблема, 2) битумное озеро (место, где подземный битум выходит на поверхность, создавая участок природного асфальта). [Англо-русский словарь] Животные, попавшие в битум, не могут выбраться обратно, поэтому такие озера являются отличным местом для раскопок доисторических скелетов [Википедия].

«Воображение представляет динозавров, мамонтов и саблезубых тигров, пытающихся высвободиться из смолы. Как бы ни был силен или ловок зверь, в конечном итоге ему уготована гибель. Такой смоляной ямой в последнее десятилетие было программирование больших систем...» [1, с.16] С этого яркого образа начинается классическая книга Фредерика Брукса, впервые увидевшая свет в далеком 1975 году. Другая классическая книга, опубликованная в столь же древнем 1987-м, начинается ничуть не лучше: «А в это время где-то гибнет проект» [2, с.23]. Идут годы, человечество вступает в новое тысячелетие, но и в 2014 году очередной бестселлер начинается все с той же вечной истории: «3 марта 2010 года Федеральное бюро расследований решило приостановить свой крупномасштабный и многообещающий план модернизации управления информацией… В бюро пытались обновить свою компьютерную систему уже более десяти лет, и, похоже, их постигла катастрофа» [3, с.14].

Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments30

Про износ SSD на реальных примерах

Reading time3 min
Views107K

Год назад мы добавили в наш агент сбор метрик из S.M.A.R.T. атрибутов дисков на серверах клиентов. В тот момент мы не стали добавлять их в интерфейс и показывать клиентам. Дело в том, что метрики мы снимаем не через через smartctl, а дергаем ioctl прямо из кода, чтобы этот функционал работал без установки smartmontools на серверы клиентов.
Агент снимает не все доступные атрибуты, а только самые значимые на наш взгляд и наименее вендор-специфичные (иначе пришлось бы поддерживать базу дисков, аналогичную smartmontools).
Сейчас наконец дошли руки до того, чтобы проверить, что мы там наснимали. А начать было решено с атрибута "media wearout indicator", который показывает в процентах оставшийся ресурс записи SSD. Под катом несколько историй в картинках о том, как расходуется этот ресурс в реальной жизни на серверах.

Читать дальше →
Total votes 102: ↑97 and ↓5+92
Comments169

«Разработка игр и теория развлечений»: основные тезисы книги Рэфа Костера

Reading time8 min
Views27K
image

В июне 2018 г. в России был опубликован перевод последнего издания книги Рэфа Костера “Разработка игр и теория развлечений” (A Theory of Fun for Game Design).

Рэф Костер — один из наиболее известных и авторитетных теоретиков геймдизайна, обладатель титула “Легенда онлайн-игр” (2012). Хотя первое издание книги Костера о разработке игр было выпущено более 10 лет назад, его работа об этиологии любви человека к играм и о том, зачем нам нужны игры и какими они должны быть в современных условиях, до сих пор актуальна.
Под катом — тезисный пересказ русскоязычного издания книги.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments4

100 приемов по управлению временем, вниманием и энергией

Reading time15 min
Views290K
Примечание переводчика: Перевод первой статьи из блога «A Year of Productivity» был благосклонно встречен хабра-сообществом, и меня попросили перевести еще несколько статей из этого блога. Приведенная ниже статья — самая большая и самая близкая к практике, её перевод затянулся у меня на несколько месяцев. Как и прошлый раз рекомендую читать комфортными порциями, записывая (или копируя куда-нибудь) советы, которые хочется попробовать применить на практике.

«Хаки» времени


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

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

Для начала вот несколько моих любимых приемов по тому как:
-  получить больше времени;
-  тратить время на правильные вещи.
Читать дальше →
Total votes 71: ↑55 and ↓16+39
Comments53

Information

Rating
Does not participate
Registered
Activity