Pull to refresh

Comments 139

Вспоминается…
За последние 25 лет во фразе «Мальчик в клубе склеил модель» изменилось значение всех четырех слов.
куда потом девать столько склеенных девушек? )
Но часть про автоматизацию — классная.
Я думаю, слово «модель» для многих из нас, разработчиков, тоже поменяло своё значение.
В этом случае слово «модель» поменяло свое значение дважды )

поговорка 15 лет назад была по 1 и 2, а сейчас скорее про 2 и 3.


[подросток] в [школьном клубе] [склеил] [модель самолёта/корабля].
[парень] в [танцевальном клубе] [познакомился] c [привлекательной манекенщицей]
[мужчина неопределённого возраста] в [компьютерном клубе по интересам] [создал/напечатал] [3D-модель]
бонус:
[аспирант] на [кафедре] [сформулировал] [мат. модель]

В какой-то мере нет. Та модель, которая в MVC и ко в какой-то мере тоже ненастоящий аналог чего-то настоящего, как и те модели, которые клеилив детстве.

С мальчиком-то что случилось?

Он немного подрос. Лет так минимум на 5-6

А как же бессмертное «Типичный мальчик. Кто скажет, что это девочка, пусть первый бросит в меня камень!» (с) Ильф&Петров?
UFO just landed and posted this here
В оригинале Пионер, а с ним случилось многое)
А «девочка прыгает на резинке» вообще стало звучать как-то неприлично.
Есть что-то очень правильное в том, чтобы накинуть свою куртку на плечи к замерзшей незнакомой девушке, которая стоит в одиночестве

Однако, они начинают кричать в среднем через 6.37 секунды после этого.

Это если совсем маньячно подкрадываться)

некоторые просто очень мягко ходят
я вроде дома хожу в резиновых тапочках, но у меня все родственники говорят, что я вечно подкрадываюсь, хотя просто хожу)

У меня жена тоже подпрыгивает постоянно) пора вешать пищалку как на автопогрузчике)

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

Так надо же иногда куртку постирать!

Однако, они начинают кричать в среднем через 6.37 секунды после этого.
Меня пугает то, какое количество экспериментов вам было необходимо провести, чтобы вычислить это число с достаточным доверительным интервалом для двух знаков после запятой.
Скорее всего их пугает как раз таки тот второй человек с таймером и его пристальный внимательный взгляд.
UFO just landed and posted this here
Поэтому надо не забывать и про тряпку с хлороформом.
Пока не особо понял профиты. Достаточно премиальной подписки и ограничения по лайкам тоже не будет (а для айтишника её стоимость достаточно мала). К тому же слишком избирательное лайканье нарушает ранее озвученные принципы брутфорса (автор сначала сам говорит, что существует проблема, что для большого количества матчей «нужно иметь модельную внешность», а потом сам же создаёт систему, которая будет лайкать только девушек с идеальной для него внешностью).

Конечно, ИИ чат-бот оптимизированный под максимально качественное раскрытие сильных сторон парня и максимально быстро вытаскивание на свидание, скорее всего пока за гранью возможностей технологий, да и имеет некоторые проблемы (на свидании вскроется, что манера речи реального человека совсем не совпадает с ботом). Но ожидал от статьи всё равно чего-то другого. Например, применение методик А/B тестирования и т. д. для оптимизации профиля парня (фото и описания) для максимизации обратных лайков.
на свидании вскроется, что манера речи реального человека совсем не совпадает с ботом
напомнило истории про письма сидельцев из тюрем по газетным объявлениям о знакомствах, где сиделец просто переписывал тексты любовных писем из пачки шаблонов, подставляя только имена. И в итоге на встречу к даме приходил не ожидаемая утонченная натура, а полуграмотный урка, который двух слов связать не может.
Емнип, Тиндер при масслайкинге вводит какие-то пессимизации.
у тиндера есть некий «ладдер», со своим внутренним ELO и elo-hell соответственно. Говорят, elo основывается на некоем соотношении «количество полученных свайпов к количеству разданных свайпов», т.е. если свайпать всех подряд, твой фейс будут реже показывать в тех местах, где людей много.
на свидании вскроется, что манера речи реального человека совсем не совпадает с ботом

«Я разочарована! В чате ты так умилительно пытался провалить тест Тьюринга, а на свидании разговариваешь как обыкновенный кожаный мешок!»

UFO just landed and posted this here
Скоро дойдёт до того, что с обеих сторон останутся лишь боты, которые будут лайкать друг-друга, и вести разговоры. Кто знает, возможно так появится Skynet. :)


Я думаю, что и сейчас оптимизированная Алиса неплохо справится с задачей присутствия «людей» в Тандыре.
Скоро дойдёт до того, что с обеих сторон останутся лишь боты, которые будут лайкать друг-друга, и вести разговоры.
Ну это видимо со всякой соцсетью случается на каком-то этапе, с ЖЖ это произошло еще десять лет назад, во времена «монетизации», когда каждый вася с десятком подписчиков начал делать рекламные посты. Но с «монетизацией-то» понятно, а какой профит можно получить в Тиндере — вот это загадка.
Точно так же можно кидать «поклонникам» в диалог рекламу — обычно интим-услуг, учитывая аудиторию, хотя одна жж-юзер недавно писала, как нашла в тиндре объявление сантехника.

Никакой загадки. Разводят на бабло и покупки ради встречи

По-моему, боты ещё не настолько круты.

Профит, например, в том что потом придет сообщение с предложением увеличить что-то, или о том что это оказывается не просто Jenny, а наследница африканского короля… Ну или просто уже готова приехать, только денег бы на дорогу… желательно биткоинами… ХЗ что ещё там ждать, но просмотров у таких сообщений точно выше, чем у писем, которые спамфильтры уже вычищают без проблем)

А потом они начнут встречаться.
Сейчас на сайтах знакомств тоже полно ботов, в т.ч. в Тиндер. Недавно прочитал пару статей (с пруфами и ссылками), что набирают людей вести десятки аккаунтов девушек на Mamba и Badoo.

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

А что плохого в том, чтобы найти в Тиндере собутыльника?

UFO just landed and posted this here

Пффф. Зайди на avito. Там уже куча предложений от опытных девушек-собутыльниц с высшим филологическим. От 300 рублей в час по Skype)

Шутки-шутками — но изрядное количество лет назад бот ALICE, подключенный нами ради прикола к популярному в одной восточной стране мессенджеру — довольно быстро стал там одним из самым популярных пользователей.
А когда, уже в другой компании, мы в рекламных целях создали аккаунт молодой девушки — причем «фото» ее было явно нарисованным — Фейсбук забанил «за фейковость»… личный аккаунт чувака который писал за нее.
Роберт Шекли «Мой двойник–робот».
Очень интересный способ популяризировать пайтон. Класс. :) Спасибо за контент!
Всегда испытывал раздражение от таких конструкций:
if ans == "1":
    save_image(image, photo, True)
else:
    save_image(image, photo, False)


Почему бы не просто
save_image(image, photo, ans == "1")

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

Спорно. Уж что такое булевское выражение, должно быть понятно любому, даже самому начинающему, программисту. Код с условным оператором, во-первых, просто более громоздок (что в исходнике, что после компиляции), а во-вторых, он провоцирует к ошибкам при дальнейшей разработке. Внести изменение в одной ветке (например, заменить процедуру save_image на какой-нибудь новый save_image2) и забыть сделать аналогичное изменение во второй — самое милое дело.

Сам булевский параметр абсолютно неинформативен — что за True-False — надо смотреть сигнатуру.

Её в любом случае надо смотреть, если если есть желание узнать, как эта процедура работает и что в неё надо передавать.

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

Будет заменено — тогда и будет тема для разговора.

разве что из извращения кто-то использует тернарный оператор «посмотри как я могу»

Тернарный оператор — это извращение? :-) Вот замыкания функций в JS — это, я понимаю, извращение, а тернарный оператор — удобная конструкция, позволяющая во многих случаях писать красивые компактные выражения без дополнительных строчек кода, промежуточных переменных, условных операторов и дублирующихся вызовов функций. Альтернативный вариант, кстати — отображение типов через массив констант. Популярно там, где нет тернарных операторов — Delphi, PowerShell (до 7-й версии).
Код с условным оператором, во-первых, просто более громоздок (что в исходнике, что после компиляции)

Хоба!
UFO just landed and posted this here
Так я и предлагаю её не вылкючать. Хотя я как-то встречался с такой ситуацией, что выключение оптимизации помогало обойти ошибку в компиляторе Swift.
Уговорили, оптимизация может это решить.

Для одинакового кода -O1 уже достаточно.

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

Разумеется, но я говорил о читаемости. Это субъективный фактор: для вас лучше упаковать логику в одну строку, и при необходимости, растянуть ее по горизонтали, а мне удобнее читать код «в два этажа». Ошибка с неизменением ветки возможна теоретически — я согласен, но это случается чаще всего когда ветвление громоздко и не влазит в экран. Это явно не тот случай + замена, скорее всего, будет производиться либо рефакторингом в IDE, либо через множественный курсор, либо через Search&Replace->All.

Код с условным оператором, во-первых, просто более громоздок

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

Её в любом случае надо смотреть, если если есть желание узнать, как эта процедура работает и что в неё надо передавать.

Не-а. Допустим, мы просто смотрим код, и хотим понять, что он делает.
Видим строку:
save_image(image, photo, True)

По коду мы видим, что image — это имя картинки в коллекции (директории и т.д.), photo — бинарное тело самой картинки. А что такое «True»? А хз, надо идти смотреть сигнатуру метода. Допустим, третий параметр называется «bool overwriteIfExists» — т.е. он контролирует перезапись, скажем, картинок с одинаковым названием. Нам надо знать не только за что отвечает параметр, но и помнить, что true — это вот оверврайт, а false — это проигнорировать и дописать в конец. А может, не дописать, а вернуть ошибку? А хз, надо уже смотреть логику.
Теперь представьте, что код у нас выглядит как
if ans == "1":
    save_image(image, photo, overwriteIfExists)
else:
    save_image(image, photo, ignoreIfExists)

И мы знаем, что делают обе ветки. True и False в данном случае — это, считай, те же magic number'ы.

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

А зачем? См. выше про перфокарты.
Будет заменено — тогда и будет тема для разговора.

А это очевидный шаг, который можно сделать сразу, это даже overengineer'ингом не будет. Зато будет читаться.
Другой вариант — задефайнить overwriteIfExists TRUE, но… зачем, если можно сделать перечисление.

Тернарный оператор — это извращение? :-) Вот замыкания функций в JS — это, я понимаю, извращение, а тернарный оператор — удобная конструкция, позволяющая во многих случаях писать красивые компактные выражения без дополнительных строчек кода,

Не вообще извращение, в некоторых контекстах. В том-то и дело, что так удобно писать. А вот понимать чужой код, записанный однострочником… мне лично — говорю за себя — намного сложнее.
По части дубляжа — tyomitch уже привел snippet'ы.
Альтернативный вариант, кстати — отображение типов через массив констант. Популярно там, где нет тернарных операторов — Delphi,

Это то же самое, вид сбоку. Маппирование одной области определения на другую.
True и False в данном случае — это, считай, те же magic number'ы.

Классная формулировка!

UFO just landed and posted this here
Ну да, но если значение этой промежуточной переменной не нужно где-то дальше, то её можно выкинуть, сделав код чуть короче.
У дополнительной переменной есть неоспоримый плюс — у неё есть имя. Взглянув на код сразу понятно, что этот параметр означает. А если её выбросить — придётся лезть в определение функции, чтобы понять какой там она третий параметр принимает.
А если её выбросить — придётся лезть в определение функции, чтобы понять какой там она третий параметр принимает.

Это только в устаревших ЯП.

А в Swift, к примеру, будет так:
saveImage(image: image, photo: photo, someFlag: ans == "1")
Сахарок. И он принципиально ближе к варианту с доп.переменной, чем к однострочнику.
Ну как сахарок, это часть имени процедуры.

Это разные процедуры:
saveImage(image: image, photo: photo, someFlag: ans == "1")

saveImage(image: image, photo: photo, otherFlag: ans == "1")
Я имею в виду, что этот сахарок (ну или не сахарок) придумали как-раз для совмещения плюсов однострочника и варианта с доп.переменными. Чтобы не спорить, что лучше.
А не проще ли лайкать всех подряд, а тех кто лайкнет в ответ уже просмотреть глазами и отфильтровать встроенной в голову нейросетью?

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

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

Моя практика показывает, что ни фото, ни описание, ни лайки подряд, ни лайки не подряд, ни випы, ни какие-либо другие фичи в последние несколько лет не работают вообще никак. Я уверен, что сломана сама система, а именно крайне не ровное соотношение полов и искажение восприятия вследствии такого перекоса. Извините, но когда люди на простое человеческое приветствие начинают закатывать истерику или банить, а витиеватые персонализированные заходы игнорить (т.к. у них 100500 приветов и пиписек во входящих, плюс заоблачные ожидания и иллюзия бесконечного выбора) — в себе проблему искать сложновато.
Я не говорил, что проблема в вас. И даже не намекал. Я свое фото вообще ни разу за 2 года не ставил, т.к. считаю, что лицом не вышел.
Ваша практика показывает, что брутфорс не работает. Моя практика показывает, что он работает. А логика подсказывает, что брутфорс поможет собрать максимальное количество заинтересованных.
Что касается перекоса, простите, но знакомства всегда были «cосисочным пати».
А логика подсказывает, что брутфорс поможет собрать максимальное количество заинтересованных.

в нескольких комментах выше пишут про пессимизацию брутфорсеров, так что логика вполне может подсказывать и обратное.
Что до масслайкинга, что после, количество мэтчей примерно одинаковое. Наблюдение из своего опыта.
UFO just landed and posted this here

Можно же в интернетике брутфорсить девушек. Только взять ещё diаlogflow нормально настроенный

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


Но я поддержу автора. В реальности как-то более лампово.

хочется верить, что она в данном предложении — это мамба, а не бывшая

"Которая мамба", живая), но конкуренцию "Ленинградке" составить не может. Не там копают.

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

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

Когда я там был, там не было лимита)

Я тоже с женой на Мамбе познакомился (женаты 9 лет)

Ощущаю себя динозавром. Я с женой познакомился в FIDO… и, да, фидо тоже сломалось.

Дедфуд, асоциальный вы наш, подойдите уже к жене.
К собственной.

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

Не, ну я не против, этот косплей даже забавно выглядел. Первые лет пять. Сейчас это уже шутка, которая повторяется в тристапятидесятый раз. Чуточку осточертело.
UFO just landed and posted this here
UFO just landed and posted this here
Значит, асоциальность не помешала?
UFO just landed and posted this here
UFO just landed and posted this here
И ещё чтоб жениться не требовала :)
Насчёт UI для фильтра наличия детей: обычно если опция выключается, а текст не меняется, то и фильтр выключается, совсем. То есть будут показаны и с прицепом, и без :)
if trailerSwitch.isOn
{
    filters.append("kidsCount > 0") // или filters.append("hasChildren == true")
}

А вы наверное имеете в виду это:
if trailerSwitch.isOn
{
    filters.append("kidsCount > 0")
}
else
{
    filters.append("kidsCount == 0")
}

С анимированными картинками
   /|       |\
`__\\       //__'
   ||      ||
 \__`\     |'__/
   `_\\   //_'
   _.,:---;,._
   \_:     :_/
     |@. .@|
     |     |
     ,\.-./ \
     ;;`-'   `---__________-----.-.
     ;;;                         \_\
     ';;;                         |
      ;    |                      ;
       \   \     \        |      /
        \_, \    /        \     |\
          |';|  |,,,,,,,,/ \    \ \_
          |  |  |           \   /   |
          \  \  |           |  / \  |
           | || |           | |   | |
           | || |           | |   | |
           | || |           | |   | |
           |_||_|           |_|   |_|
          /_//_/           /_/   /_/

     by Valkyrie
Либо я что-то не понял, либо у Вас точность 72% при event rate 60% на бинарной классификации. Это же совсем недалеко от рандомной модели.
Не совсем понятно, что решает ваша нейросеть. У тиндера совй алгоритм ранжирования. Он и так вам подбирает девушек которые больше всего вам подходят. Понятно, что для обучения ему нужно время и по началу он будет показывать всех подряд.
Вокруг лето. Пора знакомиться.
image
Как-то летом во время выезда компанией на природу идём по тропинке куда-то с приятелем и обсуждаем нюансы работы в Турбо Дебаггере (это ещё 90-е, да). Впереди идёт девушка из другой компании. Через пару минут она поворачивается к нам: «Ребята, вы на природе. Лето, лес, речка… Забудьте про Турбо Дебаггер!»
Кстати, а как комфортно отлаживать в нём программу, которая перехватывает вектор деления на ноль и использует деление на ноль для вызова процедур в качестве приёма, который задалбывает пользователя TD сообщением «ошибка деления на 0»?
А чем это так уж мешает в отладке? Вот когда программа использует перехват INT 3, тогда да, нелегко.
Если цель стоит поиграться с машинным обучением то идея ок. Если цель получить по-больше совпадений — тупо покупаешь платную подписку. Во-первых, раз в месяц можно поднимать анкету наверх (сразу летит несколько десятков лайков). Во-вторых, есть возможность посмотреть кто лайкнул, поэтому просто выбираешь подходящие варианты. Итого, за день можно получить до 10 совпадений. По мере опускания анкеты вниз, количество лайков и соответственно совпадений, конечно, стремительно уменьшается.

Другое дело что:
1. Непонятно сколько там ботов
2. Каждая 5-я девушка тупо собирают подписчиков в свой инстаграм. Подозреваю что девушки этим даже не занимаются, просто пользуются сервисами которые продвигают инстаграм любыми методами включая сайты знакомств — уж очень анкеты однотипные.
Нельзя, там есть ограничение на количество лайков в день. Поэтому нужно лайкать выборочно а не все подряд.
Сразу хочу сказать, что без хорошей видеокарты и CUDA вы скорее всего просто не получите обученную модель в адекватные сроки. Поэтому сразу нацеливайтесь на расчеты в специализированных облаках или с использованием python-CUDA.
А можно хотя бы приблизительно написать на какой карте и сколько времени заняло обучение?
И не очень понял, сколько именно было размеченных фото в обучающей выборке?

Если добавить gpt + reinforcement learning для диалогов то останется андроида вместо себя на свидания отправлятт. Ещё вспоминается чат-бот который разводил в какой-то соцсетке девушек на фотки :-).

Я один ожидал, что под катом будет крутой Natural Language Processing, скрешенный с пикап-техниками? Или это планируется в следующей версии бота?)
UFO just landed and posted this here
Здесь фотки со спины как минимум будут отсеяны каскадом Хаара.
UFO just landed and posted this here
Расскажешь подробнее? Интересно.
UFO just landed and posted this here
Крайне признателен)
UFO just landed and posted this here
Да, кидай) я думаю, что не только мне пригодится.
UFO just landed and posted this here

Спасибо за информацию, сложновато правда пока. Пока смотрю основы :)

UFO just landed and posted this here
Я новичок в теме, но, возможно, вы недооцениваете проблему. Я попытался решить эту же задачу, используя предобученную сетку и датасет в 3к фотографий (написал обертку над тиндером, чтобы собирать данные), и лучшее, что у меня получилось — 65%.
Начал думать, что не так, а потом понял, что вряд ли на тех же самых 3к фотографий я бы смог обучить другого человека, не говоря уже нейросети. Некоторый лайки и дислайки настолько эфемерны, зависят от настроения, от описания, которое повлияло на твой выбор и т.д.

А кошек против собак, кстати, обучал на 50-ти фотографиях для тренировки, и было около 85%.
UFO just landed and posted this here
— Оксана, мы все уронили… совсем все!
Склеил модель, чтобы она клеила моделей ¯\_(ツ)_/¯
>>вы точно хотите, чтобы ваш бот лайкал чудесных луноликих азиаток или не менее прекрасных девушек с индийскими корнями?
Какая разница кого трахать ?) Это же не поиск жены. Большинству без разницы кого и где.
а как сделать так, чтоб подобные статьи уровня «как протрахаться подешевле» не видеть в своей ленте?
Предлагается разметить 10 тыс фотографий, чтобы потом бот выбирал тебе 10 фотографий в день? :)
Лучше день потерять, зато потом за 5 минут долететь!
Я не разработчик, а больше маркетолог, и подбор девушек для легких отношений через сбор ЦА по ряду признаков (SMM подход), довольно быстро давало положительные результаты :D
Расскажите подробнее! Можно даже отдельной статьёй
А потом выяснилось, что девушка на самом деле парень
Выглядит как перевод забугорной статьи. Деталей ноль, пользы тоже.Судя по комментам, подходы устаревшие.
Sign up to leave a comment.