Pull to refresh
61
0
Салихов Ильяс @muxx

User

Send message

Найти за полсекунды: сравниваем похожие фотографии

Reading time10 min
Views24K

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

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

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

Читать далее
Total votes 40: ↑39 and ↓1+52
Comments7

«Выглядит похоже». Как работает перцептивный хэш

Reading time6 min
Views123K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

По правде говоря, я не знаю, как работает поисковик TinEye. Он не раскрывает деталей используемого алгоритма(-ов). Но глядя на поисковую выдачу, я могу сделать вывод о работе какой-то формы перцептивного хэш-алгоритма.
Читать дальше →
Total votes 149: ↑145 and ↓4+141
Comments46

Поход выходного дня, митапы в баре и 30 тысяч на блины. Истории городских PHP-чатов

Reading time17 min
Views3.7K

В крупных городах можно найти десятки ИТ-сообществ. Ребята собираются на митапы, делают трансляции, запускают чаты. А кто-то занимается этим много лет. Но зачем? Спросила у организаторов PHP-сообществ из 9 городов. Заодно узнала истории комьюнити, фейлы и советы — с чего начать, если хочешь запустить ИТ-сообщество, и как поддерживать во времена онлайна.

Читать далее
Total votes 27: ↑26 and ↓1+35
Comments0

Курсы по администрированию PostgreSQL

Reading time3 min
Views20K
Поводом к написанию статьи стал выход нового учебного курса DBA3 «Администрирование PostgreSQL 10. Резервное копирование и репликация». Мысли о его появлении и возможном содержании были у нас давно. Но обо всем по порядку.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments9

Слайды курса «Технологии и разработка СУБД»

Reading time2 min
Views9.6K


На протяжении последнего года моя коллега Анастасия Лубенникова и я вели курс под названием «Технологии и разработка СУБД». Данный курс посвящен разработке реляционных СУБД с акцентом на конкретную реализацию в лице PostgreSQL. Мы сотрудничали сразу с несколькими ВУЗами. На ВШЭ это был обязательный предмет, рассчитанный на студентов 4-го курса (на фото студенты сдают экзамен). В ВМК МГУ это был предмет по выбору, на который ходили студенты разных курсов.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments1

Перевод часов в России 26 октября и icu4c

Reading time2 min
Views18K
Многие уже поставили обновление tzdata на свои любимые дистрибутивы и с нетерпением ждут конца света 26 октября 2014 года, когда можно будет в 2 часа ночи ощутить себя на все 3.

Но всё ли в порядке, если вы пишите на PHP и используете Symfony Forms, или просто php-intl?!
Мой ответ — нет.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments23

Replication slots в PostgreSQL

Reading time7 min
Views49K
До девятой версии в PostgreSQL для создания «теплого» резервного сервера использовался WAL archiving. В версии 9.0 появилась потоковая репликация с возможностью создания «горячего» read-only сервера. В следующей версии PostgreSQL 9.4 появится новый функционал для создания потоковой репликации под названием replication slots.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments13

Госдума открыла электронное Вече. Набор экспертов и начало обсуждения законопроектов

Reading time4 min
Views32K
image


Сегодня была реанимирована площадка общественных обсуждений законопроектов, вносимых в Госдуму — "ВЕЧЕ".
Создана она была довольно-таки давно, если не ошибаюсь еще в 2011 году. Там даже были выставлены в свое время в качестве теста на обсуждение пара законопроектов, но дальше тестирования дело тогда не пошло.
И вот после поднятия проблемы важности общественных обсуждений государственных инициатив и на волне совпавших трендов по «антипиратской» законодательной тематике, резонансной нашей петиции об отмене 187-ФЗ и началу ее экспертного обсуждения (что вызвало горячие дискуссии в т.ч. и на Хабре), было принято решение (не без нашего участия) о возрождении или даже скорее введении института общественных обсуждений.
Это по сути — прообраз второго легитимного для государства инструмента электронной демократии в нашей стране. Первым стала площадка РОИ — по сбору петиций. Вторым логичным шагом — уже обсуждение предлагаемых государством к внедрению законов.

Да, хочется больше и сразу, но давайте поприветствуем уже то, что колёса заскрипели и что-то уже сдвинулось с места. Если данная площадка в результате первого обсуждаемого на нем нового «антипиратского» законопроекта № 342640-6 (О внесении изменений в Граждански кодекс Российской Федерации, Гражданский процессуальный кодекс Российской Федерации, Арбитражный процессуальный кодекс Российской Федерации и Федеральный закон «Об информации, информационных технологиях и о защите информации») покажет свою состоятельность, то можно будет уже поставить вопрос о юридической регламентации ее деятельности и порядка сбора и учёта мнений граждан.
На текущий момент прямого такого регламента нет. Но предлагаю его составить вместе с вами совместно и мы отдадим его на рассмотрение организаторам «Вече» и депутату, который на данный момент курирует этот процесс — Роберту Шлегелю.
Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments60

Восьмисотмегапиксельная панорама ночной Москвы

Reading time1 min
Views2.9K
На сайте AirPano.Ru (где вообще довольно много панорам разных городов и других живописных мест Земли, сфотографированных панорамною аэрофотосъёмкою) появилась панорама ночной Москвы, довольно обширная. (Если «47593×16980» в заголовке окна означает размер в пикселях, то эта панорама насчитывает чуть более восьмисот мегапикселей, что довольно неплохо.)

Вадим Булатов (один из популярных блоггеров LiveJournal) подмечает, что наружная реклама «Внешэкономбанка» на этой панораме запечатлена перегоревшею:

[фрагмент панорамы]

Постскриптум.  Автор панорамы — Дмитрий Чистопрудов.
Total votes 46: ↑31 and ↓15+16
Comments38

О теории искусственного интеллекта и работе подсознания и сознания

Reading time7 min
Views14K
Многим знакомы фильмы, в которых искуственный интеллект, порожденный человеком, покушался на жизнь или контроль над своим создателем. Данный вывод может быть абсолютно закономерен для ИИ. Мало того, создание ИИ, подобного человеку, невозможно, а точнее сказать глупо, потому как это будет подобно созданию велосипеда на квадратных колесах, взамен известному классическому. Каким именно образом и почему такое возможно, и хочу вам рассказать. А также вы узнаете, почему человечество такое, какое есть.
Читать дальше →
Total votes 140: ↑110 and ↓30+80
Comments287

Бинауральные ритмы

Reading time3 min
Views43K
Вот этот топик про бинауральные ритмы вызвал довольно большой резонанс – многие захотели попробовать на себе или на других эти самые ритмы. Так что я решил описать здесь принципы их работы и выложить инструкцию по самостоятельному изготовлению.

Но предже чем начать, я хотел бы уточнить один момент. Я НЕ призываю никого пользоваться этими ритмами. Я НЕ гарантирую, что это абсолютно безопасно для вашего здоровья и не имеет никаких побочных эффектов. Прежде всего я хочу разъяснить, на чем основан принцип работы данной технологии. Если же вы захотите попробовать это на себе, убедитесь, что у вас нет противопоказаний (эпилепсия и пр.) и будьте благоразумны — не злоупотребляйте.
Читать дальше →
Total votes 88: ↑73 and ↓15+58
Comments131

Рекомендательные системы: перепросмотр

Reading time6 min
Views2.5K
Примечание: ниже перевод статьи «Rethinking Recommendation Engines» от Alex Iskold (знаменитого своими исследованиями в области экономики внимания и теоретических основ механизма социальных сетей), в которой автор рассматривает текущие рекомендательные системы и пытается предсказать, что ждет их в будущем (фактически, предлагает радикальный способ по их улучшению).

NeflixБолее двух лет назад Netflix анонсировал соревнование по движку рекомендаций: любой, кто изобретает алгоритм, позволяющий улучшить качество их рекомендательной системы не менее, чем на 10%, выигрывал один миллион долларов. Многие исследовательские группы с энтузиазмом взялись за дело, воодушевленные количеством доступной для анализа информации. В самом начале был достигнут некоторый прогресс, но затем он затормозился, и сейчас исследователи остановились в районе улучшения примерно на 8,5%.

В этом посте мы разберем, почему улучшения рекомендательного движка является не алгоритмической проблемой, а, скорее, вопросом представления. Переосмысление рекомендаций как фильтров и их применение без ориентации на высокий конечный результат, по-видимому, скорее приведет к успеху, чем более быстрое «перемалывание» (crunching) данных.
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments25

Переlator

Reading time9 min
Views20K
По ходу своей работы я сталкиваюсь с маленькими задачами, которые отнимают много времени (при решении «в лоб»). Иногда получается найти средства для быстрого решения этих задач, иногда нет. Во втором случае, чаще всего, я быстренько пишу собственные маленькие программы, которые позволяют максимально упросить решение задачи.

Недавно столкнулся с одной такой задачей. Всё чаще стала возникать необходимость перевести какой-то текст. То на иврите нужно перевести абзац, то на китайском сайте нужно было почитать обсуждение, то при написании письма зарубежным коллегам не получается перевести «хитрое» предложение — приходится обращаться к онлайн сервисам перевода («подглядеть», что подскажут). Я пользовался сервисами ПРОМТ и Google. Такой подход мне начал надоедать, и я за пару вечеров набросал контекстный переводчик, который использует сразу три сервиса от компаний: Google (Google Translator), Microsoft (Bing Translator), ПРОМТ (мобильная версия).

image

Уверен, что мои наработки кому-то окажутся полезными.

Эту мини-статью я разделю на две части. Первая посвящена тем, кто хочет просто установить программу и пользоваться ей. А вторая, тем только делает первые шаги в освоение разработки «под» Mac OS X и iPhone (сделали первую программа «Конвертер» по руководству от Apple, но уже имеющие желание писать коммерческое ПО).

Читать дальше →
Total votes 94: ↑86 and ↓8+78
Comments60

Восстановление данных в MySQL из снимка EBS

Reading time4 min
Views4K
Это короткое руководство, возможно, поможет кому-то, кто использует AWS (и, в частности, MySQL на инстансе EC2), восстановить данные в MySQL из снимка EBS (регулярное создание которых любой предусмотрительный системный администратор, конечно же, настраивает заблаговременно — с помощью ec2‑consistent‑snapshot, например)

Прежде всего нужно открыть EC2 Management Console, и в разделе ELASTIC BLOCK STORE → Snapshots найти подходящий снимок (обычно это последний снимок раздела).

Далее нужно щёлкнуть на снимке правой кнопкой мышки и выбрать «Create Volume». В Availability Zone при этом нужно выбрать тот же регион, в котором находится инстанс EC2.

После этого нужно перейти в раздел ELASTIC BLOCK STORE → Volumes и, опять же, щёлкнуть правой кнопкой мышки на появившийся раздел. В меню нужно выбрать пункт «Attach Volume», после чего в появившемся модальном окне выбрать инстанс EC2 и нажать «Yes, Attach».

Всё — на сервере должно появиться новое блочное устройство. Теперь можно запустить dmesg | tail и посмотреть, какой идентификатор был присвоен для подключённого блочного устройства. Допустим, это xvdg. Тогда ФС может располагаться, например, на /dev/xvdg1 (зависит от предпочтений того, кто создавал таблицу разделов).
Непосредственно восстановление
Total votes 16: ↑15 and ↓1+14
Comments3

Сравнение Open Source лицензий от GitHub

Reading time1 min
Views26K


Команда GitHub запустила новый проект — Choose A License, который поможет выбрать нужную Open Source лицензию для вашего проекта. На главной странице кратко представлены самые популярные — MIT License, Apache License и GPL.
Читать дальше →
Total votes 35: ↑29 and ↓6+23
Comments7

Taist: заточи «облака» под себя

Reading time4 min
Views5K
image

Пост будет вам интересен, если вы: активно используете в работе любые облачные сервисы — например, для управления разработкой и проектами — Trello, Basecamp, Asana, Мегаплан, qTrack, для бухгалтерии и торговли — МойСклад, МоеДело, для CRM — AmoCRM, Highrise, и любые другие.

Еще интереснее будет, если вы при этом:
  • уже кастомизировали какой-либо софт или сайт, то есть адаптировали его под свои нужды — например, меняли исходники, писали плагины или, особенно, пользовательские стили/скрипты
  • либо хоть раз писали разработчикам используемых сервисов свои пожелания по функционалу


Мне интересно
Total votes 48: ↑43 and ↓5+38
Comments25

Принят закон об открытых данных

Reading time2 min
Views28K
Вчера Владимир Путин подписал его о чем можно узнать на сайте Кремля тут президент.рф/документы/18302

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

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

У закона была непростая судьба которую можно проследить здесь http://asozd2.duma.gov.ru/main.nsf/(Spravka)?OpenAgent&RN=181992-6

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

Вот определение из начальной редакции:

размещение государственными органами информации о своей деятельности в сети «Интернет» в форме открытых данных — форма размещения государственными органами информации о своей деятельности в сети «Интернет», при которой указанная информация размещается в сети «Интернет» в виде массивов данных, организованных в формате, обеспечивающем их автоматическую обработку в целях повторного использования без предварительного изменения человеком (машиночитаемый формат), и на условиях ее свободного (бесплатного) использования.»;


И что получилось в итоге:

4. Информация, размещаемая ее обладателями в сети «Интернет» в формате, допускающем автоматизированную обработку без предварительных изменений человеком в целях повторного ее использования, является общедоступной информацией, размещаемой в форме открытых данных.»;

Читать дальше →
Total votes 55: ↑50 and ↓5+45
Comments59

Ресайз изображений на лету

Reading time9 min
Views20K
Практически в любом веб-приложении использующем изображения существует потребность формировать уменьшенные копии этих изображений, причем зачастую, форматов дополнительных изображений несколько.
Так же вызывает некоторую головную боль добавление новых размеров на существующем приложении. Отсюда задача:
Читать дальше →
Total votes 73: ↑69 and ↓4+65
Comments65

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity