thedeemon: (Default)
[personal profile] thedeemon
Гораздо лучше, чем (не)указанные в профиле интересы, об интересах ЖЖ-юзера говорит его френдлента. По крайней мере для таких, как я, которые добавляют в друзья в основном тех, кого им интересно читать. А значит, для почти всякого ЖЖ-юзера Х можно автоматически найти его единомышленников, людей со схожими интересами: это юзеры, чья френдлента заметно пересекается с лентой Х (можно отсортировать по числу людей в пересечении). Эти люди могут не быть ни френдами Х, ни числить Х в своих френдах, ни френдами френдов Х, но тем не менее найти их очень просто.

Написал для этого дела программку. Исходники, на выбор, Ruby или Haskell. На Руби получилось покороче. В процессе работы программа выводит прогресс на консоль, кэширует ответы сервера в текстовых файлах friends_*.txt и сохраняет результат в файл cothinkers.txt, куда в отсортированном по релевантности виде записывает ники единомышленников (кроме тех, кто уже является френдом) и количество общих френдов (в список попадают те, у кого оно больше 1).

Date: 2010-06-13 03:43 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Про <$> не знал, спасибо!
По числу строк решения практически равны, но по размеру раза в полтора отличаются, Руби тут все равно несколько лаконичней. В нем не нужны церемониальные танцы вокруг IO и чистоты.

Profile

thedeemon: (Default)
Dmitry Popov

December 2025

S M T W T F S
 12 3456
789101112 13
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 28th, 2026 09:15 pm
Powered by Dreamwidth Studios