Архив за 23 апреля 2013 - 8

Asterisk распознавание речи через Google + умный IVR

Доброго времени суток, уважаемые хабра-пользователи.
В одном проекте необходимо было сделать умный IVR на базе IP-АТС Asterisk. Что подразумевается под словом «умный»: при звонке на определенный номер станция просит назвать имя абонента, человек на другом конце провода называет имя и станция связывает его с нужным абонентом.

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

Читать полностью »

Эта статья по сути будет подборкой «Best practiсe» для системных администраторов Samba. Основой статьи является глава Troubleshooting Techniques из книги Sam’s Teach Yourself Samba in 24 Hours. Мы постараемся рассмотреть наиболее распространенные ошибки при настройке Samba.

Согласитесь, ужасно поменять двигатель в машине, а потом выяснить, что не ехала она из-за отсутствия бензина! Может, это и не лучшая метафора, но многие системные администраторы тратят время зря, не проверив в первую очередь самые очевидные вещи. Посмотрите, как примерно должен выстраиваться процесс поиска и решения проблем с Samba:
Читать полностью »

Я и мои коллеги занимаемся разработкой и внедрением прикладных внутрикорпоративных решений на базе платформы Microsoft SharePoint, а так же Российских СЭД, внедрение которых обосновано накопленным годами опытом и целесообразно в определенных случаях.

На своих проектах обожаю использовать Microsoft Reporting Services (далее — SSRS) для быстрой реализации отчетов и печатных форм, не требующих сложной динамики поведения.

При наличии доступности данных в структуре таблиц СУБД, а, следовательно, и DataSet отчета, с SSRS все легко и просто, если не сказать тривиально (естественно не для всех случаев). А что, если доступа к БД нет или же он запрещен лицензионной политикой или же даже применяются попытки сделать его технически сложно реализуемым? Надо готовить витрину данных средствами ETL. А что, если условия, бюджет и сроки проекта не допускают этого? Надо использовать доступные источники данных (DataSource).

Как можно было догадаться, речь пойдет создании отчетов SSRS с ипользованием данных из списков SharePoint.
Читать полностью »

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

Здравствуйте, сегодня я хочу рассказать вам как поставить usbip на сервер с установленной ubuntu 12.04 server.
USBIP(USB over IP) служит для проброса usb устройства по сети, будь то windows или linux клиент. Серверная часть увы только под linux.
Данное решение самый лучший, бесплатный и по моему единственный продукт позволяющий пробрасывать практически любые usb устройства.
Читать полностью »

Доброе время суток, читатели.

Это мой первый пост на получение инвайта за который дали инвайт (спасибо!). Ничего умнее не пришло в голову, чем отписаться о собственном опыте добычи bitcoin (BTC).
Сборка и настройка фермы добычи BTC уже описана и на Habrahabr, и на различных тематических площадках, пулах. Однако, в процессе вылезали всевозможные недоговорки статей, в связи с чем пришлось гуглить и производить тесты, в моем случае на работающем файловом сервере.
Итак, приступим:
Читать полностью »

К сожалению, блогозапись «Что я жду от Google Glass» блоггера stalker2011x оказалась отправленною в черновики. Я считаю, однако же, один из фрагментов её достаточно важным для того, чтобы мой контраргумент не пропал — поэтому позволю себе посвятить ему отдельную блогозапись на Хабрахабре.

Речь идёт вот о каком предложении, которое stalker2011x изложил:

Функция автоматического распознавания лиц (и автоматический поиск в базе данных преступников / разыскиваемых людей)

Только представьте, что вы можете помогать в поиске преступников, абсолютно ничего не делая, ведь распознавание лиц будет происходить автоматически. А разыскиваемым придётся больше всех опасаться, ведь их может засечь даже обычный человек с Google Glass. Выглядит всё так — скачиваем официально приложение для поиска разыскиваемых людей и всё, теперь когда очки обнаружат «лицо», будет сделан снимок, и если найдено совпадение в базе текущих разыскиваемых лиц, очки автоматически отправят фотографию с координатами места куда нужно :) Понимаю, что это может выглядеть вмешательством в частную жизнь, но с другой стороны, если подумать, подобная «полезная функция» была бы очень востребована спецслужбами (и не только), даже без нашего явного согласия…

У этой технологии (появление которой весьма вероятно) я вижу две проблемы: этическую и техническую. Давайте обсудим их.

Читать полностью »

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

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

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

Также все мы со школы знаем, что белый свет — это смесь световых волн разной длины. Используя тот факт, что волны разной длины по-разному преломляются, мы, с помощью призмы, можем получить «чистый» свет с конкретной заданной длиной волны. Каждому из базовых цветов соответствует своя конкретная длина волны; например, красному соответствует свет с длиной волны 635-700 нм, оранжевому — 590-635 нм, жёлтому — 560-590 нм.

Эти два факта отлично известны любому школьнику. Однако почему-то никто не замечает очевидного противоречия между этими двумя фактами. А именно: если мы возьмём монохромный красный свет (скажем, 650 нм) и смешаем с монохромным жёлтым светом (допустим, 570 нм) мы никак не можем получить оранжевый свет с длиной 610 нм — длины волн не складываются и не усредняются, мы просто получим смесь из 650- и 570-нм волн! Тем не менее, если смешать желтую краску с красной — мы получим оранжевую, и это тоже совершенно несомненно.

Читать полностью »

На днях стояла задача посчитать количество пользователей сайта vk.com, поделившихся определенным постом (т.е. количество репостов). Для этого существует приложение «Вирусоанализатор», но в процессе использования выяснилось, что оно не считает большое количество репостов (от 100 и более). Ползунок доходит почти до конца и на этом останавливается. А т.к. уже был объявлен конкурс на наибольшее количество репостов на определенную запись, то нужна была альтернатива. Которой не оказалось…

Поэтому пришлось обращаться к API Вконтакте и искать как реализовать данную задачу. Сразу скажу, что не пришлось создавать standalone-приложения для этой цели. Все получилось реализовать при помощи методов, не требующих access_token. Ниже представлен список методов API, используемых в данной задаче:

  • likes.getList — получение списка пользователей, который нажали «Мне нравится» или «поделились» постом
  • users.get — получение информации о пользователях по их uid или коротким именам
  • wall.get — получение новостей со страницы пользователя.

Из плюсов данного расчета можно выделить только то, что не нужно создавать приложение для этой цели.
Из минусов (если изучить эти API методы): неудобный поиск нашего репоста у пользователя. Вконтакте разрешает получить методом wall.get максимум 100 новостей. Разумеется данный метод поддерживает параметр offset (смещение по новостям), но все же я ограничился определенным количеством новостей для обработки (500 штук).

Некоторые возникшие проблемы:

Итак, нам нужно было данные о тех пользователях и их постах, которые поделились нашим репостом. Для получения этого списка используется метод API likes.getList, у которого есть параметр filter, принимающий два возможных значения:Читать полностью »

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

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

В чем разница между методом и моделью прогнозирования?

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

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

Совокупность метода и модели образуют полный рецепт!

В настоящее время принято использовать английские аббревиатуры названий как моделей, так и методов. Например, существует знаменитая модель прогнозирования авторегрессия проинтегрированного скользящего среднего с учетом внешнего фактора (auto regression integrated moving average extended, ARIMAX). Эту модель и соответствующий ей метод обычно называют ARIMAX, а иногда моделью (методом) Бокса-Дженкинса по имени авторов.

Сначала классифицируем методы

Если посмотреть внимательно, то быстро выясняется, что понятие «метод прогнозирования» гораздо шире понятия «модель прогнозирования». В связи с этим на первом этапе классификации обычно делят методы на две группы: интуитивные и формализованные [1].

Классификация методов прогнозирования

Если мы вспомним нашу кулинарную аналогию, то и там можно разделить все рецепты на формализованные, то есть записанные по количеству ингредиентов и способу приготовления, и интуитивные, то есть нигде не записанные и получаемые из опыта кулинара. Когда мы не пользуемся рецептом? Когда блюдо очень просто: пожарить картошку или сварить пельмени — тут рецепт не нужен. Когда еще мы не пользуемся рецептом? Когда желаем изобрести что-то новенькое!

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

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

На этом общая классификация методов прогнозирования на мой взгляд может быть закончена.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js