Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: На сколько законно использовать краулер?

Лучший ответ:
Информация о товаре, его характеристиках, цене, гарантийном обслуживании, условиях обмена, возврата, доставки и т.д. является частью публичной оферты магазина.
Вы спокойно можете брать эту информацию и публиковать где-то у себя на сайте/группе ВК/рассылке и т.д. 
Основание? Ок, заходим в Вики и читаем:
Публичная оферта
Адресованное неопределённому кругу лиц и содержащее все существенные условия договора, предложение, из которого усматривается воля оферента заключить договор на указанных в предложении условиях с любым, кто отзовётся. Лицо, совершившее необходимые действия в целях акцепта публичной оферты (например, приславшее заявку на соответствующие товары), вправе требовать от оферента исполнения договорных обязательств.
Надеюсь суть и выделенным словам уловили )))

Худший ответ:
Да, еще это называется рекламой, так что, как вариант, можете денег заработать:))))
Вопрос: Как преобразовать текст в html opencart?

Лучший ответ:
Проверяйте контроллер, в Опенкарте все данные эскейпятся, как правило.
Для преобразования в контроллерах используют html_entity_decode:$this->data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');

Худший ответ:
Скорее всего это поможет - php.net/manual/ru/function.htmlspecialchars-decode.php
Вопрос: Зайти по IP на Webmin (Ubuntu 10.10)

Лучший ответ:
Не уверен, совет может показаться глупым но все же попробуйте https://192.168.0.4:10000/

Худший ответ:
А если попробовать 192.168.0.4:10000/?
Вопрос: Под какие разрешения рисовать адаптивный дизайн?

Лучший ответ:
При рисовании любого дизайна встает техническая задача — уместить элементы сайта в указанную ширину. Уместить в заданную ширину тяжелее, чем растянуть до заданной ширины. Растянуть легко на этапе верстки. Поэтому нужно ориентироваться на минимальную ширину в классе.
1. Мобильные телефоны — 320px. Ориентируемся на viewport айфона, т.к. он самый маленький. У современных андроидов вьюпорт больше, поэтому их игнорируем (растянется на верстке). 
2. Планшеты — 768px. Опять-таки ориентируемся на айпад в портретной ориентации , т.к. у андроид планшетов вьюпорты обычно имеют размер от 800×1200 или совпадают с айпадом. Планшеты с вьюпортом 600×1024px устарели. К тому же ничего страшного, если в вертикальной ориентации сайт на таком планшете будет выглядеть как на мобильнике, а в горизонтальной ориентации — как на десктопе.
3. Десктоп и планшеты в ландшафтной ориентации — 1000px. Почему 1000, а не 1024: первое, в настольных браузерах полоса прокрутки съедает (обычно) 18px ширины; второе, от 1000px верстальщику удобнее расчитывать размеры в процентах, а до 1024 все равно растянется при верстке.
В принципе, этого достаточно, чтобы верстальщик справился. 
Если дизайн не имеет максимальной ширины и тянется от края до края окна браузера, то на усмотрение дизайнера можно нарисовать еще один или несколько эскизов для более широких экранов.
В каком порядке рисовать? Смотря как поставлено тех.задание. Чаще всего в задании описан полный функционал для настольной версии. Тогда проще нарисовать дизайн под 1000px и перекомпоновать под 768 и 320, выбросив или упростив по пути менее значимые элементы сайта. Т.е. двигаться от сложного к простому.
Верстать при этом удобнее от меньшего экрана к большему (от простого к сложному). При mobile first верстальщику приходится дописывать новые стили для бóльших экранов поверх базовой версии в 320px вместо того, чтобы обнулять написанные для настольных браузеров стили. В результате для мобильника css весит меньше и парсится быстрее.

Худший ответ:
посмотрите Foundation - адаптивный фреймворк.
там очень четкое разделение small,medium,large,xlarge...
Вопрос: Как запретить вывод тегов с id 2 и 4?

Лучший ответ:
Примерно принцип такой foreach ( $tags as $tag ) {

if($tag->term_id == 1  || $tag->term_id == 2)
 continue;
//далее ваш код

}
если я конечно правильно вас понял)

Худший ответ:
Не знаю, правильно ли я понял суть задачи, но что, если в самом начале цикла for написать, например, так:
===
...
foreach ( $tags as $tag ) {
   if (in_array($tag->id, array(2,4))) continue; 
...
===
?
Вопрос: Возможно ли создать раскрывающийся блок только на CSS?

Лучший ответ:
Конечно. Все проще чем кажется <details>
<summary>Заголовок спойлера</summary>
Текст спойлера
</details>

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

Лучший ответ:
Вот если бы не лень, создал бы «Перенос мужских гениталий в холоде и последующий их незамедлительный запуск. В общем, какие подштанники носите вы?»

Худший ответ:
Уже много лет таскаю ноутбуки в рюкзаке по сибирским морозам (ниже минус пятнадцати), ни разу проблем не было.
Вопрос: Как сохранить измененный значения после перезагрузки страницы?

Лучший ответ:
Обновление надписи на кнопке при клике - одно. В целом, вам логично либо сделать отправку в корзину через AJAX, либо надпись на кнопке должен менять сервер при повторной загрузке страницы. Ведь он знает, что этот товар лежит в корзине.
Сохранять статус вам вообще не нужно.

Худший ответ:
js тут не причем. Обрабатывайте на серверной стороне и выводите нужную ссылку в зависимости от наличия товаров в корзине
Вопрос: Почему не подключится к django?

Лучший ответ:
Потому, что запустили на порту 8000, а подключаетесь к 8080.

Худший ответ:
0.0.0.0:8000
192.168.1.7:8080
не в этом?
Вопрос: где можно захостить 35 гиг картинок ?

Лучший ответ:
fotki.yandex.ru если не противоречит условиям. У меня там 50 гиг личных фотографий…

Худший ответ:
С каким каналом нужно отдавать картинки и как сильно будет использоваться канал?
Вопрос: Как заставить на винде работать Nginx быстрее ?

Лучший ответ:
В настоящий момент в качестве метода обработки соединений используется только select(), поэтому не стоит ожидать высокой производительности и масштабируемости. В силу этого и ряда других известных проблем версия nginx под Windows рассматривается пока как бета-версия.
nginx.org/ru/docs/windows.html

Худший ответ:
Поставьте виртуалку с любым Linux, вероятнее всего будет работать быстрее.
Вопрос: Как сделать(с генерировать) sitemap.xml для opencart 2.0?

Лучший ответ:
Меню - Модули - Каналы продвижения
там необходимо включить модуль Google Sitemap

Худший ответ:
Давайте я воспользуюсь гуглом для вас sitemap extensions
Вопрос: Какая из панелей лучше и информативнее на сайте?

Лучший ответ:
Почему бы не объединить?
Второй вариант с возможностью раскрытия.

Худший ответ:
Соглашусь с народом, первый вариант я уже на автомате не читаю.
Вопрос: Где взять Windows, к которому будет подходить серийник с наклейки?

Лучший ответ:
Если винда шла с ящичком, то ето с большой вероятностью OEM версия, вы можете скачать ее с торентов, оригинальные ОЕМ образы, без крятов и подобной ереси и спокойно поставить (учитывая редакцию и версию) со своим серийником. Лично я так сделал с виндовс 7 оем хом и все прекрасно приняло и работает великолепно.

Худший ответ:
А что пишет на серийнике windows XP, vista, win7 ???
Какая редакция Home, professional, SBS…
Вопрос: Как установить на hover подвечивание двух разных элементов одновременно?

Лучший ответ:
codepen.io/iusfof/pen/CpcaB я вас правильно понял?

Худший ответ:
Обычно вложенный список делают в теге a,  наверное через цсс в вашем случае не получиться, но всегда можно за js-ить)))
Вопрос: В чем отличие phalcon-micro от phalcon?

Лучший ответ:
Тем что в micro - урезанный функционал. Вам недоступно большая часть событий.
Встроенный router, dispatcher, и соответственно только их (но и не все) события.  Запрос обработанный через микро не уйдет дальше него.
Это что-то похоже на приложение где 1 контроллер и больше ничего.
Уже инициализированные request, response, и отдельно стоит view, его надо инициализировать, но микро сможет его использовать без лоадера и DI.
Но все еще можно включить нормальный DI, автозагрузку файлов, модели, и все прочее, кроме Dispatcher, Router.
Также есть microCollection, используя его можно уже писать и использовать более 1 контроллера, причем запрос может быть обработан с помощью 2 и более контроллеров. 
А по скорости отличаются потому как, что будет быстрее более нагруженное или менее нагруженное приложение? - ответ очевиден.

Худший ответ:
Простите, но именно "один это full а другой это micro".
Есть там такая штука: docs.phalconphp.com/en/latest/reference/micro.html
там нету DI (нормального), нету такого разделения на компоненты... но простые вещи можно писать.
Вопрос: Как связаться с пользователем habrahabr?

Лучший ответ:
1) Отсюда habrahabr.ru/users/HackerDelphi узнаём, что HackerDelphi из Новосибирска
2) Отсюда https://www.google.ru/webhp?gfe_rd=cr&ei=QZPIVfS5M... находим всевозможные ссылки на подозрительно похожие аккаунты HackerDelphi и попадаем на фриланс https://www.fl.ru/users/HackerDelphi/info/ , откуда узнаём, что человека зовут Михаил Полюдов, 37 лет, который, как мы помним, из Новосибирска. Так же узнаем, что большой любитель WoT
3)  дальше со страницы https://www.google.com/search?q=михаил+полюдов&oq=... мы находим людей, подозрительно похожих на Михаилов Полюдовых из Новосибирска, связанных с IT и любителей танков (судя по фотографиям в гарнитуре)
Дальше связываемся с ним в любой из соц сети

Худший ответ:
Отправил ему ссылку на этот вопрос.
Вопрос: Как защитить свой сервис (вопрос по А-записи)?

Лучший ответ:
Никак.
Никто не помешает мне, например, купить домен google2.com и задать ему любой айпишник.
В твоей ситуации проблема кроется тут:
и пользователи заходящие на test2.ruзачем/почему они заходят на этот домен?

Худший ответ:
Можно просто предупреждение пользователям написать в MOTD
Вопрос: C# программист хочет разрабатывать под Android: Java с нуля или Xamarin?

Лучший ответ:
Если вы хотите писать только под Android - изучите Java, она очень похожа на  C#, простое нативное приложение можно написать в течении недели изучения.
Если вы хотите писать кроссплатформенные приложения (Android, iOS, Win8, WP8) можно попробовать Xamarin. Если пойдете этим путем, могу посоветовать фреймворк mvvmcross - он интегрируется с Xamarin и сильно облегчает написание кроссплатформенных приложений приложений используя MVVM-подход.

Худший ответ:
Если вы не ставите цели писать коммерческие приложения, то в этом случае можно бесплатно воспользоваться dot42. Из минусов: только для Android.
Вопрос: Как «прокачиваться» UX/UI дизайнеру на фрилансе?

Лучший ответ:
А кто вам сказал что люди не делятся?
На хабре миллион и одна статья про юи, конференций по юи тоже куча берешь и едешь на любую.

Худший ответ:
Хороший вопрос :) 
Впрочем, решение этой задачи просто как лом и успешно применяется по всей планете уже которое тысячелетие. Ведь это же очевидно, если у тебя есть литература, но нет ни самого наставника, ни перспектив на его обретение в ближайшем будущем, адепт учения не должен унывать! Он должен вспомнить, что во главе угла прилежно постигаемого им учения лежит не сила, ловкость, хитрость или храбрость, но отточенный навык рационального мышления. Если уж тебя некому полноценно учить, найди того, у кого хотя бы можно научиться.
Короче говоря, не майся дурью и найди себе сенпая! :)
Вопрос: Как в nginx на одном IP сделать 2 https хоста (домен и сабдомен) с разными ssl сертификатами?

Лучший ответ:
Два отдельных виртуальных хоста, оба слушают 443, но у одного server_name a.test.org, а у другого test.org.

Худший ответ:
Вот такой сниппет у меня работает на огромном множестве хостов с SSL уже много лет:listen 1.2.3.4:443;
        server_name secure.domain.com;

        ssl on; #опция по-моему уже deprecated
        ssl_certificate     /etc/nginx/ssl/secure.domain.com.pem;
        ssl_certificate_key /etc/nginx/ssl/secure.comain.com.key;
        ssl_ciphers RC4:HIGH:!aNULL:!MD5:!kEDH;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;

        root /var/www/domain;
        index index.html index.htm index.php;
Если вот это не работает, чем вы проверяете?
Вопрос: Выбрать редактор кода?

Лучший ответ:
Idea удобна, как IDE. Огромное количество фич из коробки, не нужно тратить время на обучение (работа мышью, функциональный GUI), практически не нужно допиливать под себя.
Sublime — отличный минималистичный дизайн, простота написания макросов и плагинов на python.
vim — говорят, пользуясь вимом, можно убрать звено под названием «текстовый редактор» из цепочки пользователь — редактируемый текст, но на его изучение требуется немало времени и терпения.
emacs — альтернативный вим, с большим количеством поклонников. Допивается напильником и скриптами на LISP до произвольного состояния.

Худший ответ:
Если вы не собираетесь писать на яве, c# или с++, то берите vim или emacs ( выбор зависит от того, гуру какого редактора есть у вас под рукой) — все остальные редакторы после них это жалкое подобие левой руки. Отключаете там кнопки со стрелочками, home, еnd и вообще все что правее enter, после чего начинаете писать весь код только в виме. Через месяцок понимаете что вам нужно и находите плагины для этого. 
 Через годик-другой, гарантирую, вы будете ставить тот плагин для хрома ( он кстати так себе, а вот pentadactil + firefox это сила, держу ФФ только из-за этого ), и искать способы как прикрутить vim к вашему скайпу, jabber клиенту, почте, поставите его на смартфон и проч.
Вопрос: Что эффективнее, в настройке сервера?

Лучший ответ:
Что есть большая посещаемость? У битрикса есть отличное кеширование чего только можно и где только можно. На крайняк есть даже кеширование в статику.

Худший ответ:
Может стоит начать с выяснения что же так грузит битрикс, чем он вообще занимается? А уже потом принимать решения «как дальше жить».
Вопрос: Бесплатная или платная Cms для сайта недвижимости?

Лучший ответ:
Разве имеет значение платная/бесплатная? Важно ведь, насколько система удовлетворяет требованиям заказчика. Платность того же битрикса стартует от 1 990 руб. (Хотя с этой редакцией, ни разу не сталкивался), если условно считать час вашей работы = 1000 руб, вы напишите админку меньше чем за 2 часа?

Худший ответ:
Если задача не из серии "еще один сайт визитка с блогом" и есть люди, которые смогут освоить, то можно и на фреймворке написать. Тот же Yii2 очень прост и удобен. 
В противном случае берите WordPress и не парьтесь
Вопрос: Кто какой скрипт онлайн общения с посетителями сайта посоветует?

Лучший ответ:
Zopim можете посмотреть. Можно общаться через веб, есть интеграция с IM, цены довольно лояльные.

Худший ответ:
для чата использую www.cometchat.com/
Вопрос: Бесплатный антивирус

Лучший ответ:
Microsoft'ский тоже ничего. 
windows.microsoft.com/ru-RU/windows7/help/columns/Microsoft-Security-Essentials

Худший ответ:
Avira раздражает своим баннером, Avast! меня года 2 назад расстроил, когда похреначил мне системные файлы из-за вируса на флэшке. Сейчас на такие вопросы рекомендую AVG — вроде не спотыкался ещё ни на чём. Comodo Antivirus тоже ничего так, но эвристика там прям-таки параноидальная.
Вопрос: Альтернатива PowerPoint для технических презентаций?

Лучший ответ:
Не знаю, подойдет ли вам, есть функция презентаций у docs.google.com
Там же можно рисовать, насчет анимации, сложно сказать. Мои знакомые там делают презентации и потом расшаривают, дают линк на эту презентацию, удобно, что носить с собой ее не надо и презентацию можно посмотреть в любой момент.

Худший ответ:
Prezi.com не подойдет? Посмотрите, функционал обширен.
Вопрос: ИП. Иностранный заказчик. Нужны ли реквизиты банка заказчика в контракте?

Лучший ответ:
Банки вообще любят перестраховываться… Я считаю неуместным указание банковских реквизитов в договоре, потому что за то время, которое договор действует, реквизиты могут и измениться. Когда на меня стали давить с аналогичным вопросом в валютном контроле банка, в котором я обслуживаюсь (правда, получаю Евро), я поделился своими соображениями. В итоге нашли компромисс — реквизиты плателищика указываются в ежемесячном счете, который я выставляю плательщику, а в банк предоставляю копию.

Худший ответ:
смените банк\ способ оплаты
С клиентом бодаться - не феншуй
Вопрос: Почему при перенаправлении в файл вывод обрезан?

Лучший ответ:
Может у вас что-то идет в stderr?> file 2>&1

Худший ответ:
попробуйте >>file
Вопрос: Как поменять порядок div для адаптивности, или может возможно сделать это проще?

Лучший ответ:
1) Забудьте про float что он вообще существует, используйте display: flex вместо него
2) Используйте CSS свойство order, которое легко и непринужденно меняет порядок элементов при использовании display: flex

Худший ответ:
Хочу выразить свою благодарность Назару. Ранее я о flex'е не знал.
Если кому пригодиться https://jsfiddle.net/09uahc88/
Вопрос: Как в windows server 2012 r2 настроить открытие программы при удаленном входе?

Лучший ответ:
Может стоит использовать RemoteApp

Худший ответ:
А в параметрах пользователя, на закладке среда, поставить - при входе запускать определенную программу, и прописать запуск 1С нужной версии. Строка запуска ищется в гугле - запуск 1С из командной строки
Вопрос: Читалка или бумажная книга — что удобнее?

Лучший ответ:
По своему опыту читалка удобнее для художественной литературы, чем бумажная книга. Большие буквы, сноски и словарь прямо под словом без необходимости листания, сохранение заметок из кусков текста, закладки. С технической же литературой в pdf или djvu на 6 дюймах очень грустно. Бумажную книгу можно быстрее пролистать при поиске нужного места уже прочитанной книги, если ищешь что-то вроде черно-белой картинки под таблицей внизу правой страницы. В электронной книге с этим сложнее.

Худший ответ:
Купил Kindle 3, разбил экран. Теперь прохожу интересный квест на Амазоне по замене. Вывод к книгам нужно относится бережно. а к ридерам еще бережнее.
Вопрос: На что влияет выбор страны на oDesk?

Лучший ответ:
Ни на что не влияет, после того как у вас появится фидбек.

Худший ответ:
Очень редко встречаются требования «из Европы», хотя я думаю что к восточной европе и к странам exСССР отношение примерно одинаковое
имхо страна влияет намного меньше чем рейтинг и фидбек

Я бы лично не стал экспериментировать, иначе при разборках попросят id а там другая страна и обьясняй потом что ты не верблюд
Вопрос: Необходимо очень много картинок с лицами людей

Лучший ответ:
Я думаю, ФСИН владеет такой базой. Только как получить к ней доступ — хз.

Худший ответ:
как вариант
Вопрос: Как реализовать сообщение об ошибке после редиректа?

Лучший ответ:
Это называется flash messages. Сообщение записывается в специальную переменную в сессии. При рендере страницы проверяется наличие такого сообщения. Если есть - оно выводится и сразу удаляется из сессии, чтобы исключить повторный вывод.Yii. How to work with flash messages

Худший ответ:
Я не знаю, что ты хочешь сделать, но догадываюсь. Для твоего случая, наверное, подошло бы использование одного скрипта test. То есть все бы выглядело так: /test?page=1/test?page=2&id=17
/test?page=3
Ну а то что переменные хранить в сессии - почему бы и нет?
Вопрос: Apple iPod на ebay

Лучший ответ:

настораживает нахождение в категориях «наушники» и «другое», а также то, что продавец заработал себе рейтинг продажей 1 $ -ой мелочи

Худший ответ:
Я тоже в описании ничего подозрительного не нашел.
Вопрос: Структура репозиториев для быстрой доставки на боевые машины?

Лучший ответ:
appX в отдельных репаках.
common_files тоже в отдельном и подвязывать к остальным при помощи submodule/subtree.

Худший ответ:
Добавить common_files и app1 как субмодуль в ваши приложения.
Также никто вам не запрещает собирать ваш проект гитом уже на сервере с разных реп
git pull
git pull
git pull
.....
Вопрос: Существует ли задачник к книге «Изучаем Python»?

Лучший ответ:
Можете либо Доусон М. - Программируем на Python почитать там задачи по созданию игр либо эту 
"Python: создание приложений. Библиотека профессионала" тут тоже много упражнений.

Худший ответ:
Ставьте себе задачи упрощающие или автоматизирующие ваши повседневные задачи... Или берите из примеров других языков...
Можно посмотреть и поизучать еще "Python на практике" Автор: Марк Саммерфилд. Очень много примеров хорошего кода!
Вопрос: Как работают удалённые команды?

Лучший ответ:
Максим Спиридов настоятельно советует команду садить к себе в офис под присмотр в последних статьях. Пруфлинк: spiridonov.ru/post/498

В Rework они пишут, что можно и так. Но они не говорят — что так значительно лучше (на сколько я помню). Они сами встречаются раз в год, и говорят, что нужно раньше. 

Обычно код пишут вместе с помощью CVS (погуглите, что это). 

Сейчас у меня распределенная команда на оутсорсе:

+ я не зависим от места, могу работать когда и где хочу
 + не нужно платить за офис и меня сложно доить властям

 — сложно контролировать и мотивировать команду
 — новичков сложно удаленно натаскивать
 — взаимодействие внутри команды слабоватое

Сейчас хочу снимать офис раз в неделю по субботам, интересно, что получится.
В тоже время есть один удаленный сотрудник — который отлично работает и удаленно. Нужно подходить индивидуально к сотрудникам.

Худший ответ:
Удаленно, вроде как.
Вопрос: Ошибка std::bad_alloc — из-за чего?

Лучший ответ:
Ну а я повторю свой оригинальный ответ:  без полного исходного текста можно сказать только то, что ошибка, скорее всего, где-то в другом месте. И замена объектов ссылками просто замаскировала проблему на время.
Хотя у меня есть одно предположение: возможно вы неправильно строите дерево и некоторые его узлы являются своими собственными детьми.

Худший ответ:
Если маленькие объекты выделяются, а большие нет. И при этом память точно не закончилась - то самая вероятная причина - фрагментирование кучи. 
Самый простой способ решить эту проблему - всегда компилироваться в x64.
Вопрос: Как лучше всего синхронизировать физические файлы, используемые на двух разных серверах?

Лучший ответ:
Используйте csync2.
Как плюс, csync2 подходит для достаточно тяжелых проектах. Конфиги можно разделить на несколько частей, и эти части запускать с разной периодичностью, также не нагружает систему при таких нагрузках.

Худший ответ:
Используем lsyncd на проектах с большим количеством файлов и объемов (сотни гб) — все отлично. Для синхронизации внутри используется rsync — вообще он быстро работает на уже синхронизированном каталоге, 10 мин — это на первый запуск только может быть.
Вопрос: Какие книжки прочитать менеджеру интернет-проектов?

Лучший ответ:
Так как львиная часть времени менеджера проектов состоит из общения с людьми, почитайте Чехова, Гоголя, а в случае депрессии Достоевского или Булгакова. Кроме всего прочего, это сразу систематизирует ваши мысли и отобьет желание создавать вопросы в стиле "что прочитать, чтобы стать большим начальником"

Худший ответ:
Если вы новичок - могу посоветовать: grenka.ua/5297/Osnovi-internet-marketinga--Vse--ch...
Если вы развиваете свой проект или у вас небольшой денежный лимит, то вам подойдет это: grenka.ua/5265/Internet-marketing--luchshie-bespla...,
grenka.ua/5468/Internet-marketing-bez-byudjeta--Ka...
Удачи!)
Вопрос: Из чего лепить смарт часы?

Лучший ответ:
разберите свой смартфон, выкиньте из него AIR модуль, камеру, симкарту, SDкарту, сделайте дисплей поменьше, аккумулятор поменьше и вот все. у вас тупой телефон умные часы.

Худший ответ:
Я бы глянул в сторону stm32 , все что нужно, к ней есть. В принципе самодостаточный чип.
Пебле, если что на stm32f (я бы думал в сторону stm32l, но там dooom не получиться, зато год автономности - легко.)
Вопрос: API какого сервиса можно взять за образец при разработке своего?

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

Худший ответ:
GitHub API.
И вот эту книжку почитать.