Всех с воскресеньем.
Продолжаю таки работу над баянометрозаменителем и после возрождения основного, и, судя по логам, кто-то им даже пользуется. Мне кажется, хоть какая-то от этого польза да есть, ибо хеши мы (сравниваю с детищем сотоварища ExtraDJ) используем разные, картинки обрабатываются по разному, баяны от этого ищутся немного по разному, тем самым дополняя друг друга. За месяц+ работал более-менее стабильно, нестабильности излечивал как только замечал (пару дней назад внезапно демон-поисковик+хешер+парсер+несколько фоновых процессов внезапно упёрлись в, смешно сказать, 2Гб памяти, перенёс всё это дело на сервер получше).
Спасибо всем тем, кто делал багрепорты, писал в личку и т.п., это сильно помогает подкорректировать как поиск, так и общую юзабельность сервиса. Поиск гифок сильно переделал за это время, теперь считается процентное соотношение как длительности гифки, так и процент соответствия всех захешированных кадров, стало гораздо меньше трэша вылазить, причём гифки ищутся с бОльшим разбросом по дистанции Хемминга, чем обычные картинки, это позволяет найти немного искаженные гифки, но может и сюрпризов выдать. Некоторые картинки по прежнему выдают лютейшую дичь, это особенность хеширования, попробую победить альтернативным хешем, т.е. помимо текущего хеша сейчас вычисляется альтернативный (идея такова, что если взять дистанции сравнения побольше, но прогнать картинку через разные хеши, результат должен быть более объективен. Опять таки, я не математик, а экспериментатор, в профите пока не уверен, но попробовать точно стоит, руки за это пока ещё не рубят), это пока в процессе разработки. И минусом ко всему этому - зааплоденные гифки режутся до 30 кадров, это может весьма влиять на качество поиска, но и позволяет избежать абуза загрузкой дохуя длинных гифок. Тут, думаю, для особо терпеливых и настойчивых добавить опцию на проверку бОльшего числа кадров, но считайте сами, каждый кадр по времени равен проверке одной любой картинки, время поиска растёт линейно.
Плюс наткнулся на один неприятный баг в парсере html/json, из-за этого говна немалая часть постов не попала в базу (в основном, фендомы), пофиксил, перехешируется, ждёмс. Дабы не травмировать мою нежную психику завёл аккаунт-парсер, подписанный на ваши любимые жесть-кровь-кишки-йифф-гуро-лоли-ад, всё это потихоньку пишется в индекс, отчего появился тумблер SFW/NSFW. Здесь прошу помощи, не очень понятна логика работы. Сейчас у меня фильтр такой, что под NSFW попадают такие теги, как Anime Ero Cosplay, art барышня/девушка, ecchi, Faphammer, furotica, Hard Bondage, oglaf (хотя и есть у Оглафа SFW серии), r34, секретные разделы... тут ибанёшься их все перечислять, вбивал в базу вручную на своём опыте и периодически пополняю. Вопрос, есть какой-то более адекватный способ отличить sfw от nsfw? Или есть где список этих тегов? Ну и, естественно, кто теги не проставил, их посты вылазиют вне зависимости от тумблера.
Добавил также проверку на редактирование постов: изменил картинки, добавил хайрез, скорректировал теги - пост обновляется в базе/перехешируется. Одно но - автоматическое обновление происходит в последних 100 постах (10 страницах), все более старые посты - обновляются в базе сильно реже.
Есть переработки в интерфейсе, сейчас _весьма_ не юзабельно при большой выдаче, пока в dev-версии допиливаю, выложу на неделе, но это так, не самое важное в баянометре. Добавил обновлятор токена, теперь не должно (ну или сильно реже) ругаться на проблему загрузки картинок. Добавил вывод разрешения изображения, НО, это пока работает на клиентской стороне (браузер качает картинку, скрипт выдаёт размер как только картинку загрузил ваш браузер, соответственно, это ВАШ трафик, в настройке есть предупреждение если вас это беспокоит).
Есть ещё несколько мыслей по доработке интерфейса (не только моих, спасибо товарищам по переписке), + скорректировать под мобилы, это пока на совсем свободное время.
Ещё вопрос, тег "удалённое". Демон-поисковик в любом случае сравнивает ВСЕ хеши всех постов, абсолютно безусловный поиск, линейный, как современные шутеры. Демон выдаёт набор постов, web-бэкенд далее фильтрует это всё по тегам, и тут можно отбросить ненужное. Думаю сделать в настройках галочку что-то типа "пропускать удалённое" или вроде того, это нужно? Если это монопенисуально, то заморачиваться не буду. Если есть какие предложения - всенепременно учту.
Здесь обращаюсь к Вождю: если текущая работа моей поделки устраивает, возможно добавить ссылку на неё на сайт (окромя ссылки в разделе http://joyreactor.cc/tag/баянометр )? ИМХО баянометры с разными хешами имеют право на жизнь. Дело бросать пока не вижу смысла ибо это весьма и весьма занимательно лично для меня и есть богатое поля для изысканий (хочу переписать линейный поиск на BK-tree, хотя, есть сомнения, что ~20-30% прироста скорости того стоят), сервер особо денег не ест (два нормальных пива в баре в месяц), работает стабильно (теперь да, ресурсов достаточно).
Если всё плохо, похуистично, или есть конструктивные предложения - с нетерпением жду в комментариях.
Спасибо. Стараюсь сравнивать обычно 2мя баянометрами для верности. Твой заметно медленнее работает в сравнении с аналогом. Но не так чтобы сильно. Как по мне все ок. Еще вопрос: когда появится функция загружать несколько картинок.
По кнопке "загрузить" можно грузить до 10 картинок разом.
Причём, даже просто drag-and-drop работает, просто перетяни картинки в любое место страницы.
Спасибо. Что-то проворонил, что тут работает больше 3х картинок.
И на счёт медленнее, да, у меня используется 256-битный хеш (сравнивается как минимум в 4 раза медленнее, чем pHash), это сильно замедляет работу, но в целом поиск занимает чуть больше секунды, но сам процесс поиска поделён на 3: загрузка картинки, запрос хеширования, запрос поиска, в сумме это сильно уступает прямой работе с помощью сокетов.
Этот баянометр, бывает, находит посты, которые не нашёл другой.
В этом основная идея, мы используем разные алгоритмы хеширования. Соответственно, что-то лучше ищет один, что-то другой.
у тебя есть возможность вытаскивать данные, по которым считается хеш?
Да, поэтому я добавил кнопку "bullshit", эти запросы хранятся в базе, я анализирую их вручную. Если нажал bullshit - делается копия картинки, хранится на сервере. НО непосредственно картинки постов реактора, естесственно, у меня не хранятся, это тонны контента, и если нужно что-то перехешировать - это лишнее обращение к джою. Есть скрытый функционал отладки для просмотра хешей, данных постов. Ещё в процессе разработки - детальная выдача разбивки гифок, отлаживаю bullshit-запросы.
не, я чуть не о том.
ты используешь какую-то готовую опенсорс-библиотеку?
есть возможность влезть в нее и получать промежуточные данные?
ты используешь какую-то готовую опенсорс-библиотеку?
есть возможность влезть в нее и получать промежуточные данные?
Хм. В целом, возможность есть, как я писал ранее - использую опенсорсную либу blockhash, собирал её из сорцов, но пока не вижу особого смысла лезть в её внутренности. Она пользует ImageMagic для работы с картинками. Вполне реально.
мне просто стукнул в голову ахуительный зачаток идеи насчет индексации, но нужно еще попроверять его.
Да ты монстр, я в такой уровень неособо хочу лезть. Я отлично представляю, как либа обрабатывает картинку, но особых идей по улучшению как-то нет.
та я б не сказал, что монстр, просто постоянно какие-то ахуительные идеи в голову лезут)
придется, наверное, вспоминать шарпы и пробовать собрать базу хешей, а потом по ней потестить всякие идейки.
придется, наверное, вспоминать шарпы и пробовать собрать базу хешей, а потом по ней потестить всякие идейки.
Нет смысла пилить разделение постов на sfw/nsfw, тебе ведь просто надо узнать, был ли пост на реакторе.
Допустим, сидишь такой на работе в опенспейсе, хочешь запостить арт любимого вархаммера, вбиваешь в баянометр, а тебе тут вылазиет полный набор сосков и вагин (ну, бывает и такое, хеш не идеален). Немного неловкая ситуация. Ну а по дефолту ищет nsfw пока сам не переключишь.
> есть какой-то более адекватный способ отличить sfw от nsfw?
Для того или иного тега - можно.
А целого списка тегов категории NSFW, насколько я знаю, нет.
Для того или иного тега - можно.
А целого списка тегов категории NSFW, насколько я знаю, нет.
Ого, слона то я и не приметил, так вообще изи составить список nsfw тегов, спасибо.
Удалённое лучше оставить. Допустим сделают пост, а потом баян к нему с немного другой картинкой (шакалы, надписи, склейка) и ссылкой на первый в комментах. Мало ли баянометр не покажет первый, но покажет удалённый второй.
Первый собирает вообще все посты, включая удаленные
имхо, переключатель nsfw должен убирать только содержимое тега "секретные разделы", а не вообще всё nsfw. Это и реализовать проще и выглядит логичнее.
Тогда сиськи всякие вылезут, это не очень хорошо.
Опять же, чистое имхо, но если кто-то в баянометре нажимает переключатель nsfw, то он в первую очередь хочет убрать совсем уж непотребства секретных разделов, а не просто сиськи. Впрочем, это только мое мнение, а баянометр делаешь ты, так что делай как считаешь правильным.
А вот тут у меня проскочила мысль добавить чекбокс "секретных разделов" в настройке, добавлю.
Когда влючен нсфв выдавать шаблонную картинку с предупреждением, вместо картинки найденого поста.
Так будет всегда видно что есть результаты и безопасно для работы.
Так будет всегда видно что есть результаты и безопасно для работы.
Так сейчас и работает sfw, картинки заменяются на "blocked"-заглушку. Если заглушку вешать и в nsfw-режиме, какой вообще смысл баянометра? Не видно же результата поиска пока не перейдёшь на страницу поста.
Твой баянометр мне больше нравится, потому как для меня явно стабильней работает. С тем я уже пару дней не могу добиться нормальной работы.
Не называй его "экспериментальным", не уменьшай значимость своего труда.
Не называй его "экспериментальным", не уменьшай значимость своего труда.
ссылка на твой баянометр добавлена. если надумаешь прекратить поддержку, просьба сообщить
Спасибо. Сообщу, конечно, но пока в планах такого нет, работает стабильно, денег не просит, в наличии мысли по доработке.
А можно сделать опцию, чтобы с харда (с компа) на страничку грузить уже пережатые картинки? как это происходит с картинками, из интернетов?
А то пережимать вручную ради выигрыша в быстродействии не комильфо.
А то пережимать вручную ради выигрыша в быстродействии не комильфо.
Вопрос в ответ, что именно не устраивает, скорость поиска? Зачем пережимать вручную?
С картинками из интернетов так сейчас происходит: копипастишь ссылку, сервер выкачивает (причём, весьма быстро, зависит от источника, десятки мегабайт могут за доли секунды скачаться), проверяет формат, хеширует (в целом быстро, в районе ~0.1-0.2с), поиск (~1-1.2сек). Т.е. основная нагрузка в поиске, загружать пережатые картинки смысла нет. Сейчас 5.5М хешей в базе, хочу попробовать это ускорить это дело переделкой линейного поиска на БК-дерево, но это пока под вопросом.
С картинками из интернетов так сейчас происходит: копипастишь ссылку, сервер выкачивает (причём, весьма быстро, зависит от источника, десятки мегабайт могут за доли секунды скачаться), проверяет формат, хеширует (в целом быстро, в районе ~0.1-0.2с), поиск (~1-1.2сек). Т.е. основная нагрузка в поиске, загружать пережатые картинки смысла нет. Сейчас 5.5М хешей в базе, хочу попробовать это ускорить это дело переделкой линейного поиска на БК-дерево, но это пока под вопросом.
Но если это гифка, то умножай длительность гифки на ~2.1.
Скорость поиска отличная. По ссылке превосходно.
Но у некоторых граждан (меня например) после обходов всяческих блоков скорость приема/отдачи не очень. Потому и приходится сжимать, чтобы не тратить на загрузку в бояномер и проверку одной картинки по пол дня.
Но у некоторых граждан (меня например) после обходов всяческих блоков скорость приема/отдачи не очень. Потому и приходится сжимать, чтобы не тратить на загрузку в бояномер и проверку одной картинки по пол дня.
Надо подумать, и посмотреть, как браузер будет переваривать такую операцию. В принципе, blockhash есть на js, как будет время гляну *занёс в TODO-лист*.
Коматоз, твой баянометр - хрень полная. Я уже четвёртый раз запостил баян по незнанию, доверившись твоему баянометру.
Ты бы хоть ссылкой поделился, ато не ясно куда копать. И никто не мешает пользоваться всеми доступными баянометрами для бОльшей уверенности.
Слушай, как насчёт того чтобы добавить приём картинки из буфера? (Копировать картинку>>Ctrl V в баянометр)
Чтобы написать коммент, необходимо залогиниться