Pull to refresh
3
0.3

Пользователь

Send message

Машинное обучение руками «не программиста»: классификация клиентских заявок в тех.поддержку (часть 1)

Reading time19 min
Views28K

Привет! Меня зовут Кирилл и я алкоголик более 10 лет был менеджером в сфере ИТ. Я не всегда был таким: во время учебы в МФТИ писал код, иногда за вознаграждение. Но столкнувшись с суровой реальностью (в которой необходимо зарабатывать деньги, желательно побольше) пошел по наклонной — в менеджеры.


image

Но не все так плохо! С недавнего времени мы с партнерами целиком и полностью ушли в развитие своего стартапа: системы учета клиентов и клиентских заявок Okdesk. С одной стороны — больше свободы в выборе направления движения. Но с другой — нельзя просто так взять и заложить в бюджет "3-х разработчиков на 6 месяцев для проведение исследований и разработки прототипа для…". Много приходится делать самим. В том числе — непрофильные эксперименты, связанные с разработкой (т.е. те эксперименты, что не относятся к основной функциональности продукта).

Одним из таких экспериментов стала разработка алгоритма классификации клиентских заявок по текстам для дальнейшей маршрутизации на группу исполнителей. В этой статье я хочу рассказать, как "не программист" может за 1,5 месяца в фоновом режиме освоить python и написать незамысловатый ML-алгоритм, имеющий прикладную пользу.

Читать дальше →

Руководство по материалам электротехники для всех. Часть 1

Reading time15 min
Views119K
Привет гиктаймс! Я решил опубликовать по частям свое руководство по материалам, используемым не только в электротехнике, но и вообще в технике, в том числе самодельщиками. С описанием, примерами применения, заметками по работе. Руководство написано максимально просто, и будет понятно всем, от школьника до пенсионера.

В этой части начинаем разбирать проводники — Серебро, Медь, Алюминий.

image

Добро пожаловать под кат (ТРАФИК)
узнать о материалах

Быстрый тест производительности Python для вычислительных задач

Reading time4 min
Views28K

Мотивация


Совсем недавно вышла новая версия 0.34 библиотеки оптимизирующего JIT компилятора Numba для Python. И там ура! появилась долгожданная семантика аннотаций и набор методов для организации параллельных вычислений. За основу была взята технология Intel Parallel Accelerator.

В данной статье я хочу поделиться результатами первого тестирования скорости вычислений на основе этой библиотеки для некоторой современной машины с четырехядерным процессором.
Читать дальше →

Препараты для улучшения памяти и работы мозга

Reading time10 min
Views127K

Продление жизни — одно из направлений исследований и пристального интереса нашего пространственно временного континуума. Мы уже стали жить дольше.
Если убрать из расчета случайности, то нормальный человек доживает примерно до 80 или более лет. И есть шанс, что скоро начнут делать искусственные органы, кровь, что-то еще и что мы будем жить еще дольше.


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


И вот как раз с этим часто возникают проблемы.


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


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


Дополнение через 2 недели — эта статья оказалась второй, прежде чем покупать или использовать добавки рекомендую прочитать приквел https://geektimes.ru/post/292609/



Картина "Рождение дракона в небе во сне", масло, холст.

Читать дальше →

Пять инструментов отладки JavaScript, о которых полезно знать

Reading time5 min
Views27K
Вы смотрите на код и не можете понять — почему! Почему он делает нечто неожиданное, и в общем-то, если не близится дедлайн, интересное. Однако от всех этих неожиданностей, в любом случае, надо избавляться.



Прежде чем вы, бросив всё остальное, кинетесь складывать в кучу найденные где-то строчки программ, которые, вроде бы, способны решить вашу задачу, ответьте пожалуйста на три вопроса:

  1. Выполнение каких действий вы ожидаете от своей программы?
  2. Почему вы ожидаете этого от программы?
  3. Делает ли программа то, что вы от неё ожидаете?

Если вы не можете ответить на первых два вопроса — желаю удачи в копипасте, но, если вы знаете — что вы ожидаете от кода и почему — существуют инструменты, которые способны помочь вам понять, делает ли код то, чего от него ждут.
Читать дальше →

Почему SNMP это не очень просто?

Reading time17 min
Views160K
Давным давно, на Хабре была опубликована статья, рассказывающая о том, как использовать популярную библиотеку, для работы с SNMP из Java-приложения. Поддерживая, в целом, начинание автора, я хочу остановиться на тех сложностях, которые могут возникнуть в реальном проекте, использующем SNMP.
Читать дальше →

Что может чат-бот

Reading time6 min
Views156K
Сначала мы выделили основные офисные процессы. Про чат-бота мы даже не говорили. Вот, например, заказ командировок. Сейчас я должна написать сотруднику службы деловых поездок в почту: «Я собираюсь в командировку в Сургут 5-го числа на три дня», а он: «Такой-то самолет и такая-то гостиница — всё подходит?», а я: «Да, давай». Дальше он пойдет согласовывать с руководством, забронирует сам билеты, спустя какое-то пришлёт мне подтверждение, что все Ок. Всё то же самое может делать бот.

Или если нужна справка для визы, то бот постучит в шину, шина постучит в кадровую подсистему и заберёт PDF, дальше отправит его на принтер отдела кадров и напишет письмо, что туда нужна печать. Затем уведомит меня, что можно подойти через пару часов. Если нужно оформить пропуск на гостя или забронировать переговорку для встречи, то достаточно поручить боту эту задачу, и он её выполнит.



Теперь давайте покажу пример чуть посложнее.

Читать дальше →

[конспект админа] Меньше администраторов всем

Reading time7 min
Views80K


Продолжим про безопасность операционных систем – на этот раз «жертвой» станет MS Windows и принцип предоставления минимальных прав для задач системного администрирования.


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

Читать дальше →

Учим робота готовить пиццу. Часть 1: Получаем данные

Reading time23 min
Views9.9K


Автор изображения: Chuchilko


Не так давно, после завершения очередного конкурса на Kaggle — вдруг возникла идея попробовать сделать тестовое ML-приложение.
Например, такое: "помоги роботу сделать пиццу".


Разумеется, основная цель этого ровно та же — изучение нового.


Захотелось разобраться, как работают генеративные нейронные сети (Generative Adversarial Networks — GAN).


Ключевой идеей было обучить GAN, который по выбранным ингредиентам сам собирает картинку пиццы.


Ну что ж, приступим.

Читать дальше →

Национальная платёжная система и ширина лошадиной задницы

Reading time15 min
Views68K
Внезапное отключение российских банков от международных платёжных систем свалилось неожиданнее снега в декабре. Неожиданно выяснилось, что использование платёжных системах вероятного противника может вызывать побочные эффекты вроде валютного запора или дистанционного разрушения банков. Знаете, есть такая фобия — Гимнофобия, что означает “боязнь оказаться голым на публике”. Судя по всему, наше правительство ею не страдает (что могло бы радовать, но — нет). В итоге, все мы оказались именно в таком положении.

Из этого положения есть разумный выход — переключится на Национальную Платёжную Систему вместо вражеских visa/mastercard. Но её не существует даже в виде проекта. Существует лишь законодательная инициатива и смутные желания, этой самой инициативой вызванные. И поэтому огромное количество людей в костюмах сейчас нервничают и требуют начать её немедленную разработку. Собираются заседания, куда вдруг приглашают не только людей в клетчатых рубашках, но даже одного-двух избранных в растянутых свитерах. Приказывают начать разработку прямо сейчас. Ну, или понедельника. Ладно, в этот не успели — начните со следующего. А ещё лучше начать сразу внедрение какой-нибудь системы и одновременно вести её разработку. Как бы не вышло так, что на гос.тендере заказ получит какая-то no-name компания, которая возьмёт, скажем, Кибер-плат, перекрасит, назовёт SUPERVISA, а потом стране с этим жить.

“Кто будет её проектировать и какие задачи каких пользователей она будет решать?” — это на порядок более важный вопрос, чем кажется. Если её будут разрабатывать люди из банковской сферы — то она будет нацелена на создание удобства банкам, а для людей и бизнеса — уж как получится (привет, Сбербанк!). Если её будут делать люди из онлайн-систем, то она в первую очередь будет решать задачи онлайн-бизнеса (банковские задачи им интересны в последнюю очередь). Если её будут делать бухгалтера, то это будет облачная 1С. Если её будут делать Erlang-программисты, то задачей будет показать его преимущества, перед другими унылыми языками. Если её будут делать любители короткошерстных терьеров, то… нет, не хочу даже искать ответ на этот вопрос.

И вот на вопросе об основных принципах новой платёжной системы появляется лошадиная задница..

Зачем сетевику Python

Reading time10 min
Views52K
«Сетевому администратору необходимо уметь программировать» — эта фраза часто вызывает возражения у многих сетевиков.

— Зачем? Руками оно надёжнее.
— Зато можно автоматизировать типовые операции.
— И положить кучу устройств, если что-то пойдёт не так?
— Положить кучу устройств можно и руками.

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

Если посмотреть в сторону производителей сетевого оборудования,
Читать дальше →

Бюджетный мониторинг температуры: Arduino + Zabbix

Reading time4 min
Views37K
У нас в организации развёрнут сервер Zabbix для мониторинга работоспособности серверов и АРМов. Из-за особенностей техпроцесса оборудование «размазано» по нескольким помещениям и разнесено по территории предприятия. Естественно, вместе с основными параметрами компьютеров (работает/не работает) хочется контролировать и микроклимат в серверных. При этом, как обычно, возможности весьма ограничены, и «выбить» значительные средства на сложные системы мониторинга температуры (к ним я отношу и платы управления с термодатчиками для стоечных ИБП APC) — это отдельный квест.

В основной серверной всё просто — установлена одна такая плата (закуплена давным-давно предшественником вместе с основным оборудованием), воткнут APC-шный термодатчик, заведён агент в Заббиксе, всё работает по SNMP. Скучно :) На мониторинг удалённой аппаратной оборудования нет, средств тоже — см. выше. Поэтому было решено проявить смекалку, сэкономить бюджет и заодно прокачать новый навык путём конструирования простого и дешёвого «наколенного» решения, вписывающегося, тем не менее, в существующую инфраструктуру мониторинга Zabbix.
Проявить смекалку

Интеграция 1С с DLL с помощью Python

Reading time4 min
Views30K
Привет Хабр! Недавно я разработал алгоритм для логистики, и нужно было его куда-то пристроить. Помимо веб-сервиса решено было внедрить данный модуль в 1С, и тут появилось довольно много подводных камней.

Начнем с того, что сам алгоритм представлен в виде dll библиотеки, у которой одна точка входа, принимающая JSON строку как параметр, и отдающая 2 колбэка. Первый для отображения статуса выполнения, другой для получения результата. С web-сервисом все довольно просто, у питона есть замечательный пакет ctypes, достаточно подгрузить нужную библиотеку и указать точку входа.

Выглядит это примерно так:

import ctypes
def callback_recv(*args):
	print(args)

lib = ctypes.cdll.LoadLibrary('test.dll')
Callback = ctypes.CFUNCTYPE(None, ctypes.c_int, ctypes.c_char_p)
my_func = getattr(lib, '_ZN7GtTools4testEPKcPFviS1_E')
cb_func = Callback(callback_recv)
my_func(ctypes.c_char_p('some data'), cb_func)
 

Как можно заметить, точка входа не совсем читабельная. Чтобы найти данную строчку в скомпилировнанных данных, нужно открыть соответствующий файл с расширением .lib и применить утилиту objdump с параметром -D, в выводе легко можно найти нужный метод по названию.

Данное коверканье метода происходит из-за того, что компилятор манглит («mangle» — калечить) название всех точек входа, причем разные компиляторы «калечат» по разному. В примере указан метод полученный MinGW
Читать дальше →

Использование Python и Excel для обработки и анализа данных. Часть 2: библиотеки для работы с данными

Reading time10 min
Views359K
Первая часть статьи была опубликована тут.

Как читать и редактировать Excel файлы при помощи openpyxl


ПЕРЕВОД
Оригинал статьи — www.datacamp.com/community/tutorials/python-excel-tutorial
Автор — Karlijn Willems

Эта библиотека пригодится, если вы хотите читать и редактировать файлы .xlsx, xlsm, xltx и xltm.

Установите openpyxl using pip. Общие рекомендации по установке этой библиотеки — сделать это в виртуальной среде Python без системных библиотек. Вы можете использовать виртуальную среду для создания изолированных сред Python: она создает папку, содержащую все необходимые файлы, для использования библиотек, которые потребуются для Python.

Перейдите в директорию, в которой находится ваш проект, и повторно активируйте виртуальную среду venv. Затем перейдите к установке openpyxl с помощью pip, чтобы убедиться, что вы можете читать и записывать с ним файлы:
Читать дальше →

Интересный этюд Factorio: симулятор завода

Reading time5 min
Views87K
Эта игра — очередная очень интересная с точки зрения механики бета, представляющая заодно своеобразный язык программирования.



И здесь самое забавное — это кривая обучения и интерфейсы. Давайте пройдёмся по этим моментам, благо есть отличные находки.

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

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

Подключаем спортивный тренажёр к компьютеру и перестаём отращивать жир, играя в компьютерные игры

Reading time6 min
Views22K


Идея заставить двигаться сутулого игрока в компьютерные игры не нова, уже давно существует Kinect у Microsoft, всякие датчики у Sony, Nintendo, а теперь ещё и аксессуары к шлемам виртуальной реальности, которые требуют, чтобы вы шевелили руками-ногами в процессе игры.

Однако, личный опыт пользования такими устройствами показал, что:

1. Играть можно только в те игры, которые явно заточены под датчики движения. А что делать тем, чья любимая игра — «Весёлые Зомби на Острове Невинных», выпущенная в прошлом веке?
2. Движения в игре не совпадают с комфортным/необходимым уровнем нагрузки. Либо быстро устаёшь, либо мышцы не получают нужной нагрузки.

Поэтому пришла в голову идея соединить простейший компактный спортивный тренажёр (степпер) с компьютером и сделать так, чтобы компьютер позволял играть только тогда, когда я соблюдаю определённый темп упражнения.

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

Кому интересно повторить мой опыт — читаем дальше.

Введение в анализ социальных сетей на примере VK API

Reading time5 min
Views51K

Данные социальных сетей — неисчерпаемый источник исследовательских и бизнес-возможностей. На примере Вконтакте API и языка Python мы сегодня разберем пару практических примеров, которы помогут узнать:
  • азы работы с библиотекой Python — networkx;
  • как обращаться к Вконтакте API из языка Python посредством стандартных библиотек, в частности, получать список друзей и членов групп;
  • некоторые возможности программы Gephi.

Disclaimer: данная статья не претендует на какую-либо новизну, а лишь преследует цель помочь интересующимся собраться с силами и начать претворять свои идеи в жизнь.

(волосяной шар для привлечения внимания)
Читать дальше →

Фантастика и фентези за два с половиной года, почти сто хороших книг

Reading time22 min
Views250K
На этот пост меня подтолкнула публикация «Почему я ворую книги, бедные авторы, и как это исправить», а именно — скепсис и возражения на мой комментарий о том, что я не читаю плохие книги. Мне предложили рассказать, как я выбираю книги для чтения и что именно читаю. Ну я и повелся.
Оформить список было сравнительно просто, FBReader любезно хранил на GoogleDrive все скачанные книги с того момента, как там появилась эта услуга. Предлагаю вашему вниманию список прочитанного мной за 2,5 года из жанров фентези и фантастики.
Читать дальше →

Комиксы Даниэля Стори

Reading time1 min
Views27K
Привет, Хабр! Мы подумали, что если среда — это маленькая пятница, значит можно немножко расслабиться и развлечься. Мы подготовили подборку юмористических IT-комиксов от Даниэля Стори (Daniel Stori). Желаем приятного просмотра.

Arduino-проект


Хайп Detected

«Скоро все будут использовать Docker»
Читать дальше →

Тёмные паттерны — как зловредные интерфейсы пытаются атаковать и обманывать

Reading time5 min
Views38K
Любые покупки — как поход по минному полю. Есть довольно тонкая граница между «не стоит упоминания» и «лучше тебе этого до покупки не знать». Давайте попробуем для начала найти её эмпирически. Вот это лично для меня — очевидный “dark pattern”:



Вот это тоже:



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

Теперь давайте посмотрим на менее очевидные вещи.
Читать дальше →

Information

Rating
3,395-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Разработчик Directum RX
Lead
From 350,000 ₽
.NET Core
PostgreSQL
DevOps
Reverse development
C#