Как стать автором
Обновить
9
0
Финогенов Антон Анатольевич @aafin

Преподаватель

Отправить сообщение

Подключение телеграм бота к гугл таблицам

Время на прочтение4 мин
Количество просмотров87K

Пишем бота в гугл скриптах на JavaScript. Этот пост - проба пера и статья для начинающих свой путь в гугл скриптах или телеграм ботах. Есть много идей для будущих постов и интересных примеров использования инструментов гугла, в том числе реальных кейсов от заказчиков. Цель поста: получить обратную связь для понимания интересно ли читателю погрузиться в тему глубже.

Читать далее
Всего голосов 23: ↑21 и ↓2+25
Комментарии20

Plan 9-кластер на Raspberry Pi

Время на прочтение5 мин
Количество просмотров18K
Операционная система Plan 9, созданная в Bell Labs, является, как и Linux, потомком UNIX. На сертифицированной UNIX, например, основана и macOS. ОС Plan 9, как и UNIX, была создана в виде экспериментальной операционной системы, предназначенной для испытания новых концепций. В Plan 9 реализованы ключевые принципы UNIX, но здесь идея, в соответствии с которой «всё является файлом», выведена на новый уровень.


Кролик Гленда, символ Plan 9

В первой части этого материала мы поговорим об ОС Plan 9, рассмотрим её заметные особенности. Вторая его часть посвящена рассказу о создании самодостаточного Raspberry Pi-кластера, состоящего из 4 узлов. Он представляет собой компактную платформу для экспериментов с Plan 9.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+37
Комментарии6

Гугл-программисты. Как идиот набрал на работу идиотов

Время на прочтение4 мин
Количество просмотров173K
В стародавние времена я, на постоянной основе, занимался техническими собеседованиями – отбирал кандидатов на должность программиста в компанию. У меня была простая, понятная, шикарная методика (не мной придуманная). Чувак сначала проходил длинное собеседование по куче разнообразных вопросов, потом решал несколько задач. На бумаге, как мы делали в ВУЗе.

Оглядываясь назад, понимаю – отбор действительно работал шикарно. Все, кого я тогда отобрал, стали уважаемыми в нашей деревне специалистами. Больше половины из них давно открыли собственный it-бизнес, в самых разных сферах – от 1С до разработки CRM-систем.

Вот этот опыт и замутил моё сознание. Настолько, что я решил поменять методику – подумал, что дело не в ней, а во мне. Я есть великий специалист по техническим собеседованиям.
Читать дальше →
Всего голосов 318: ↑229 и ↓89+208
Комментарии648

Сколько нужно рома, чтобы получить новую кольцевую подпись?

Время на прочтение14 мин
Количество просмотров3.9K

Цифровая подпись является “виртуальной скрепой” практически любого блокчейн-проекта. В подавляющем большинстве проектов используется подпись, практически не отличающаяся от подписи, используемой в сети Bitcoin(а именно ECDSA на кривой secp256k1). Однако, создание цифровой подписи для проектов, в которых “приватность” пользователей играет существенную роль, часто превращается в сложный акробатический номер, базирующийся на передовых достижениях в области дискретной математики и криптографии. 

Читать про новую кольцевую подпись
Всего голосов 15: ↑15 и ↓0+15
Комментарии4

Минимальный «hello world» telegram-бот

Время на прочтение2 мин
Количество просмотров135K
Здесь фокусник за четыре шага покажет как без боли и чтения документации собрать бот-оповещатель для telegram.
Читать дальше →
Всего голосов 27: ↑10 и ↓17-7
Комментарии18

Простые и быстрые приближения к статистическим функциям

Время на прочтение2 мин
Количество просмотров2K

Задача. Есть калькулятор, но нет под рукой статистических таблиц. Например, нужны таблицы критических точек распределения Стьюдента для вычисления доверительного интервала. Взять компьютер с Excel? Не спортивно.


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

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Бот «Умный планировщик»: понимает с полуслова

Время на прочтение5 мин
Количество просмотров30K
Если вы когда-нибудь желали иметь личного слугу, который бы напоминал вам обо всем, о чем вы ему скажете, но не имели возможности нанять такого, то разработанный мною бот станет ему достойной заменой.



Хотите проверить функционал? Напишите в лс боту по этой ссылке и он ответит вам.

А тем, кому интересно как он работает и как 16-летний школьник смог написать его, я с удовольствием расскажу всё в подробностях в этой статье.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+34
Комментарии41

Социопатам! [именно так: Социопатам, а не Авторам, принадлежит Хабр]

Время на прочтение6 мин
Количество просмотров12K
Наивное понимание прикладной социологии гиков характерно для Авторов. Попробуем разобраться. Речь пойдет не о клинических социопатах, зачехлите свои огнеметы.

Мне нравятся модели Венката и Чепмена: the Gervais Principle и MOPs. Ниже вольный перевод модели Чепмена об эволюции субкультур с моими комментариями.

I.


Гиковские сообщества умерли в конце 2000-х. Не так давно сдался последний из могикан, Скотт Александр. С ним ушел целый праксис гиков. Один редактор из NYT играючи свалил мощное генеалогическое древо информационных гигантов, корни которого уходят в гимназию Фашори в Будапеште. Венгерские марсиане дали нам фон Ноймана и [вставить любого крупного математика и физика 20 века], Интернет, Фидо, Хабр.

Мне повезло, я еще застала агонию lesswrong сообщества, где каждый юзер чекал свои Байесовы прайоры перед тем, как начать пост или комментарий. Скотт был одним из самых заметных писателей на lesswrong после Элиэзера Юдковски. Его блог slatestarcodex был последним убежищем рационалистов и эффективных альтруистов в сети. Все рационалисты знают его настоящую фамилию, но упоминать ее в приличном обществе не принято. Скотт понял, что после статьи в NYT его мирок будет доступен казуалам и сознательно ушел в подполье.
Читать дальше →
Всего голосов 71: ↑41 и ↓30+30
Комментарии119

Протоколы прикладного уровня: Jabber/XMPP часть1

Время на прочтение7 мин
Количество просмотров8.3K
Прочитав статью и испробовав команды, научимся
--Соединяться с Jabber сервером
--Логиниться
--Менять статусы
--Отправлять сообщения
--Отключаться

И все это на чистом XML

В принципе, можно статью назвать «Введение в XMPP» или типа того… Но суть не изменится
Приступим-же!
приступить...
Всего голосов 79: ↑75 и ↓4+71
Комментарии21

Telegram. Безлимитный сетевой диск. Бесплатный

Время на прочтение3 мин
Количество просмотров186K
Привет, Хабр.

Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в TODO. У меня она пролежала примерно год, но таки удалось ее реализовать в виде работающего прототипа.

TgCloud:


  • Виртуальная файловая система с открытым исходным г****кодом.
  • На локальном диске — только метаданные: имена, размер, структура папок и т.д.
  • Данные хранятся в Telegram и загружаются только при работе с файлом
  • Размер и тип файлов не ограничен, можно использовать с любой ОС

Подробности реализации и ссылка на репозиторий под катом.
Читать дальше →
Всего голосов 211: ↑175 и ↓36+139
Комментарии232

Telegram как NAS/FTP

Время на прочтение3 мин
Количество просмотров15K


Привет, Хабр!


По наблюдениям, Телеграм нравится очень многим в первую очередь как удобный транспорт файлов с девайса на девайс. Это, пожалуй, первое приложение, которое обеспечило такой удобный канал без каких-либо существенных ограничений и оговорок. Все ведь согласятся, что "максимальный размер одного файла 1.5Gb" — это нельзя считать существенным ограничением.


И всё прекрасно, но с течением времени файлы накапливаются, их становится много, они "уплывают" в истории куда-то в глубь веков и найти их становится сложно. Решение первого шага — теги! Они спасают, но тоже не могут справиться с проблемой количества — когда накапливается несколько десятков сообщений с тегом "#прочитать" — это не сильно отличается от ситуации без тегов вообще.


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


Мысль напрашивалась сама собой — нужна иерархия, как в любой файловой системе. Директории, поддиректории и в них тоже поддиректории и так далее. И файлы, "лежащие" в этих директориях. Мысль напросилась и была воплощена в виде бота (за Bot API отдельная благодарность авторам мессенджера), которого мы и рассмотрим в этой публикации.


Встречайте: TeleFS Bot. Для друзей TFS.

Читать дальше →
Всего голосов 11: ↑10 и ↓1+15
Комментарии4

Онлайн или офлайн: как учить программированию в вузе после пандемии

Время на прочтение10 мин
Количество просмотров5K
Сейчас выходит довольно много статей с рассказами о том, кто, как и с какой степенью успешности переводит образовательный процесс в онлайн. Нам кажется, что наш переход произошел более чем успешно. Собственно, здесь мы хотим рассказать об основных положительных и отрицательных моментах такого перехода, а также о том, имеет ли смысл распространять полученный сейчас опыт на будущее.


Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

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

Время на прочтение15 мин
Количество просмотров53K

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


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


image

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


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


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


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

Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии35

Telegram в качестве хранилища данных для IT проектов

Время на прочтение8 мин
Количество просмотров37K
Добрый день, сегодня я хотел бы поделится с Вами проблемами и их необычными решениями, которые встретились при написании небольших IT проектов. Сразу скажу, что статья для тех, кто хоть немного разбирается в разработке телеграмм ботов, баз данных, SQL и в языке программировании python.

Весь проект выложен на github, ссылка будет в конце статьи.

image

Основная проблема


Изначально я хотел для себя написать простенького телеграмм бота счетчика калорий, который получает число от пользователя и возвращает сколько калорий осталось до нормы на день. То есть нужно хранить грубо говоря пару переменных для каждого пользователя.
Читать дальше →
Всего голосов 39: ↑22 и ↓17+5
Комментарии19

Генерация предсказуемых случайных последовательностей: другой подход к пермутациям

Время на прочтение5 мин
Количество просмотров2.4K

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


Задача довольно простая и решили её у нас быстро. А решение было следующим: У нас есть n вопросов. Из комбинаторики мы знаем, что если у нас есть n > 1 элементов, мы, переставляя элементы местами, можем получить разные последовательности этих элементов, где максимальное число отличающихся последовательностей равно $n!$. Вот и было решено, пишем значит функцию, посчитаем там факториал, сгенерируем n-ную последовательность, а само число n сгенерируем рандомно и запишем в БД. Хренак-хренак и в продакшен отправляем тестерам. И вроде бы все нормально, но ведь не случись что-то непредвиденное, этой статьи бы не было.

Читать дальше →
Всего голосов 5: ↑2 и ↓3+2
Комментарии17

Разворачиваем школьный учебный портал на Moodle и BigBlueButton

Время на прочтение14 мин
Количество просмотров37K
В конце марта 2020 маленькая камчатская школа столкнулась с той же проблемой, что и все школы нашей страны: как учить детей если они не могут ходить в школу?

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

Изучение федеральных порталов дало понимание, что имеющиеся уроки имеют слишком примитивное изложение тем, а те, что позволяют загружать свой материал скорее всего не переживут возросшую нагрузку. Поэтому были сформулированы требования к учебному порталу:
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии28

Пишем хром плагин оповещения в телеграм

Время на прочтение2 мин
Количество просмотров6.9K


Беда, товарищи!

Дети (~10 лет) перешли на удаленное обучение, расселись по комнатам с компьютерами и не могут сосредоточиться на уроках!

Они добавлены в google families, microsoft family, время за компьютером ограничено, а взрослые сайты убраны через opendns. Но чуть что — и даже прямо во время zoom-конференции урока ребенок начинает смотреть youtube. А потом училка дает домашнее задание — посмотреть видео и написать сочинение. И видео — тоже на youtube. Без ручной модерации не обойтись.

Под катом пишем волшебный пендаль, а именно chrome plugin, который отправляет каждый открываемый сайт в telegram злому родителю, работающему в соседней комнате.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+8
Комментарии15

Jitsi Meet: опенсорсная альтернатива «шпионскому» видеоприложению Zoom

Время на прочтение4 мин
Количество просмотров137K
В связи с массовым переходом на удалённую работу приложение для видеоконференций Zoom резко выросло в популярности. Но это не идеальный вариант с точки зрения безопасности. Хотя Zoom предлагает end-to-end шифрование для текстовых чатов, а шифрование видеоконференций можно активировать на стороне хоста, если верить разработчикам проприетарной программы.

Но тип шифрования невозможно проверить, потому что код закрыт, а с точки зрения приватности приложение Zoom вызывает вопросы у некоторых экспертов. Например, хост может активировать странную функцию «трекинг внимания» (attention tracking). Она отслеживает, что участник не отвлекается от совещания больше, чем на 30 секунд (окно приложения должно быть открыто и активно).
Всего голосов 39: ↑36 и ↓3+44
Комментарии79

Установка и правильная настройка Docker на Windows Subsystem Linux (WSL)

Время на прочтение5 мин
Количество просмотров37K

Предварительные требования


Прежде чем начать, убедитесь, что ваша система имеет примерно следующую конфигурацию:

  • Windows 10 Version 1803 Build 1734 и выше
  • Ubuntu for WSL 16.0.4 LTS или что-то в этом роде (ваша версия может немного отличаться)

Важно, чтобы версия и сборка Windows были не ниже того, что здесь указано. Дело в том, что, начиная с этих цифр, в ядро Windows ​​WSL были внесены принципиальные изменения, которые позволяют использовать cgroups (control groups — в 2008 году добавлены в ядро Linux). А они необходимы Docker’у для управления ресурсами вашей системы в контейнерах.


Читать дальше →
Всего голосов 6: ↑5 и ↓1+6
Комментарии37

Об одном решении проблемы воров и проституток в системах оказания образовательных услуг онлайн

Время на прочтение12 мин
Количество просмотров8.2K
Одним из очевидных недостатков систем онлайн образования является невозможность проконтролировать самостоятельность решения задач студентами. Это приводит к массовому мошенничеству и, как следствие, к обесцениванию выдаваемых сертификатов. В статье предлагается некоторое техническое средство, позволяющее частично уменьшить ущерб от этого явления в онлайн образовании.
Читать дальше →
Всего голосов 16: ↑6 и ↓100
Комментарии105

Информация

В рейтинге
Не участвует
Откуда
Ханты-Мансийск, Тюменская обл. и Ханты-Мансийский АО, Россия
Дата рождения
Зарегистрирован
Активность