Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: А что вы делаете после установки ubuntu?

Лучший ответ:
закуриваю

Худший ответ:
ставлю:
mc — консольный файловый менеджер.
yakuake — графический эмулятор терминала, убирающийся/появляющийся по нажатию F12. С поддержкой вкладок. очень удобно использовать
firefox,
codeblocks — т.к. приходится часто программировать под linux
audacious — плеер в стиле WinAmp (вернее форк xmms, А XMMS имеет пользовательский интерфейс, сходный с интерфейсом Winamp'а)
php-cli — для удобства. если надо что-то по быстрому написать.
Вопрос: Разумно ли хранить сериализованные объекты в mysql?

Лучший ответ:
Если вам не нужна какая то выборка по этим полям, можно сериализовать.

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

Лучший ответ:
Классика:
Совершенный код Макконнела
Рефакторинг Фаулера

Худший ответ:
Повторюсь, но наверно это только подтвердит ценность литературы в списке:
1.Совершенный Код, С.Макконнелл
2.Рефакторинг, М.Фаулер
3.Паттерны проектирования, GoF
Вопрос: Есть ли какие-то профилактические меры, чтобы уберечь наушники от поломки?

Лучший ответ:
из собственного опыта: старайся не засыпать в наушниках по пьяни

Худший ответ:
Общих советов не видел, в основном чисто самоделки. Девочки обматывают ниточкой провод, красиво и не порвешь. Мальчики используют изоленту, самые Ъ как-то натягивают термоусадку на особо любимые места. Зависит только от вашей фантазии и имеющихся в хозяйстве вещей.
Вопрос: Скачивание файла и парсинг в андроид?

Лучший ответ:
Есть несколько подходов для решение данной задачи:
1. Скачать XML в файл и потом парсить этот файл.
2. Скачать XML в память и парсить его из памяти (плохой вариант. так как размер XML может быть большим).
Оба варианта стоит выполнять в AsyncTask-е. Процесс парсинга можно выполнять в этом же AsyncTask-е или же в другом, это зависит от поставленной задачи. Выполнять парсинг в основном потоке я не рекомендую, так как данная операция достаточно трудоемкая, особенно если большой размер XML-а.

Худший ответ:
Сложилось ощущение, что вы делаете запуск парсинга не после завершения асинхронного запроса, а после старта выполнения таски, прям в главном потоке.
Если это так, то нужно стартовать парсинг в методе onPostExecute вашей AsyncTask'и. А парсить ли XML асинхронно, или же прям на главном потоке - вопрос другой, но лучше, конечно, делать в AsyncTask.
А по поводу кэша - уточните ваш вопрос, что именно вы имеете ввиду? Если вообще про способы кэширования, то ответ будет такой: как таковых суперуниверсальных спец. средств кэширования нет. Можно использовать ContentProvide, DB, Shared preference и просто файл хранить в системе - уже зависит от конкретной задачи.
Вопрос: Почему в JS функции не могу вернуть значение переменной, получаемой в callback'e?

Лучший ответ:
Используйте Deferred объект для решения проблемы. 
e.g.: https://github.com/medikoo/deferred/blob/master/ex...// Установка 
$ npm install deferred

Худший ответ:
Как сделать return во внешнюю функцию в JS?
Вопрос: Выбор телефона?

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

Худший ответ:
Возьмите самый дешевый андрофон с кверти-клавой. Он полностью удовлетворит запросы, перечисленные вами.
Вопрос: Помощь в школьном олимпиадном программировании?

Лучший ответ:
продолжайте искать решение, и изучать алгоритмы/структуры данных, а также подходы которые используют для решения этих задач. 
В начале может понадобиться неделя на решение сложной задачи, потом научитесь за день решать задачи, потом привыкните в течении минут решать эти задачи)

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

Лучший ответ:
2015 год, почему ответы ipv4-only?
inet_ntop / inet_pton, хранение в binary(16).

Худший ответ:
Решение: $ip = '46.174.48.35';
$ip = sprintf('%u', ip2long($ip));
echo($ip);
--преобразовали в число
$ips = long2ip($ip);
echo($ips);
---сделали опять ip
Вопрос: Как реализовать выезжающее меню?

Лучший ответ:
codepen.io/iiil/pen/InDbp
примерно так можно
p.s. Лучше менять текущее меню, чем создавать отдельное новое. Но если новое меню абсолютно другое, то мой вариант легко подправить.

Худший ответ:
codepen.io/iiil/pen/InDbp
примерно так можно
p.s. Лучше менять текущее меню, чем создавать отдельное новое. Но если новое меню абсолютно другое, то мой вариант легко подправить.
Вопрос: Laravel в продакшене и скорость?

Лучший ответ:
Скорость работы / отклика / генерации: laravel 5 vs lumen...?
Вот вам пример.
Используйте Laravel 5.2, PHP 7 с Opcache либо Varnish и проблем не возникнет.
Конечно же все зависит от вашего кода. Не откланяйтесь от стандартов и лучших практик, кэшируйте все что можно. Сокращайте количество запросов к базе (для связей всегда используйте конструкцию with, к примеру).

Худший ответ:
laravel4.2 сервис тизерная сеть..
в день до 6 мультов
2 сервера (пхп) 3 под БД конфиги хз но сервера не бедные )
В основном при большом количестве запросов упираемся в БД и на процессы php 
С первым помогает кластеризация и вынос БД на внешний сервер в стойке.
С php увеличить количество серверов под фронтент.
Вопрос: Постройка собственного ЦОД?

Лучший ответ:
На хабре несколько раз были подробные рассказы о строительстве небольших ЦОД. 
http://habrahabr.ru/blogs/hosting/74027/
http://habrahabr.ru/blogs/hosting/69193/
Ориентировочную стоимость можно посмотреть тут.

Худший ответ:
Спасибо за ответы, а более подробно можно? Бюджет планируемый примерно 30,000,000$. На сколько серверов этого хватит? 
Меня как неопытную в этом вопросе заставили заниматься. Прошу знающих людей мне помочь или выслать примерный бизнес план в ЛС. Буду всем очень признательна.
Вопрос: Программно воспроизвести звук в микрофон, как?

Лучший ответ:
в системе не старше windows 7 есть записывающее устройство "стерео микшер", когда оно включено любой звук который воспроизводит любая программа будет отправляться в этот "микрофон", но в игре нужно его выбрать в качестве записывающего устройства, если его выбрать нельзя то только механически, из выхода на колонки воткнуть переходником в микрофон, но громкость на минимум нужно чтобы ничего не спалить

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

Лучший ответ:
Продвигать поддомен - реально. Но на 5 страницах далеко не уедите, поэтому лучше сделайте раздел /shop на сайте и он подхватит траст всего сайта, как и тог - меньше трат на продвижение. А дальше продвигайте комплексно: либо сайт со сливом траста на шоп, либо шоп с визиткой в виде сайта.

Худший ответ:
Я бы сделал поддомен. + платить дополнительно не надо
Для сео вооще пофигу. 
shop вполне пойдет
Вопрос: Не оплатили отработанный месяц. Как поступить?

Лучший ответ:
Я уже разок отвечал на похожий вопрос: Как наказать нерасплатившегося за сайт заказчика?
Вам же я посоветую немедленно уходить, запомнив этот опыт работы. Немедленно. Просто забудьте эту компанию, внесите её в свой черный список и всё. В дальнейшем постарайтесь подбирать работу получше, и сразу следите за появлением похожих симптомов.
P.S. Ну если есть возможность не доделывать часть работы - не доделывайте, или удалить часть уже сделанной - удалите. И просто рвите все контакты напрочь.
P.P.S. Все что лежит на вашем хостинге, сотрите. Пароли доступов смените.

Худший ответ:
Если сайты на вашем хостинге, то стоит вывесить плашки с описанием ситуации. Вполне возможно, владея доменом, они могут поменять хостинг, тут ничего не сделаешь, но они потеряют время.
Далее, объясните своему работодателю, что обратитесь в прокуратуру на основании статьи 145 УК РФ.
Как человек, привыкший и обращаться в прокуратуру, и обещать подобные обращения я настоятельно рекомендую.
Под угрозой обращения в прокуратуру даже сотовые операторы возвращали мне деньги. 
Так же попробуйте обратиться к специалисту по трудовому праву,  с описанием вашей ситуации (в данном случае, это собственно и компания, и условия работы, что подписывали, что обещали и т.д., а не технические особенности). Напишите в личку, дам email юриста. Не обещаю, что он обязательно поможет, но проконсультирует хотя бы.
Вопрос: Телефонное собеседование

Лучший ответ:
Достаточно банальный вопрос, как и вы тоже заметили, вызван скорее вашим волнением. Поэтому и достаточно банальный ответ может помочь с ним справиться.
Телефонное собеседование или собеседование по скайпу — это удобно в первую очередь для вас потому что вы можете оценить адекватность того с кем общаетесь и с кем вам, вероятнее всего, предстоит работать. Самый лучший подход к такому типу собеседования — настроиться на формат спокойной беседы с соседом по лавочке на автобусной остановке — мило, приятно, ни к чему не обязывает, позволяет хорошо провести время.

Если вы уверены в своих проф. качествах, то вам можно не волноваться — программисты такого профиля нужны и востребованны, вас уже ищут. Будем надеяться что и нашли и на новом месте вам понравится. Удачи!

Худший ответ:
как все прошло? если прошло уже…
Вопрос: MongoDB как вторая СУБД?

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

Худший ответ:
docs.mongodb.org/master/reference/limits
Лимит на размер документа 16мб. Можно заморочиться с разбиением, но зачем? Проще сделать отдельный инстанс постгреса под логи - думаю, готовить его вы уже умеете, в отличие от монги, да и переделывать меньше.
Вопрос: Как быстро освоить Jquery, чтобы применять его на практике, знаю HTML и CSS?

Лучший ответ:
Вообще jQuery - это библиотека на JavaScript. Чтобы действительно научиться ей пользоваться, вы должны вначале познать JS! https://learn.javascript.ru/
Ну а дальше вот:
https://www.codeschool.com/courses/try-jquery
https://www.codeschool.com/courses/jquery-the-retu...
https://www.codecademy.com/learn/jquery

Худший ответ:
Мне помог ютуб) В тот же день слайдер запилил
Redwhaler34, я тоже предпочитаю литературу, но jQuery это не та технология, по которой читать книжки нужно. Главное понять принцип работы. А принцип работы ты поймешь после того, как сделаешь, ну хотя бы калькулятор на javascript. Когда познаешь дзень - jquery освоишь за 10 минут
Вопрос: Как найти опытного программиста для вопросов?

Лучший ответ:
Еще советую походить вот сюда:
stackoverflow.com/
www.askdev.ru/

Не пиар. Просто сам там часто бываю, да и в выдаче гугла они на первых местах.

Худший ответ:
Конечно форум. Неужели до сих пор не?
Еще IRC-а.
Вопрос: Приведение типов, наследуемых от Number?

Лучший ответ:
1. Во-первых, про отношение TYPE и T ничего не сказано.
2. Во-вторых, в джаве нет ковариантности и контрвариатности из-за type erasure. Пример: Class < Integer >   не является подтипом Class < Number > . Красивая ссылка на википедию.

Худший ответ:
public class ClassName<TYPE extends Number> {
        //govnokod
        public <T extends Number> ClassName<TYPE> count(){
            return this;//пишет incompatible types: requred ClassName<T>, found ClassName<TYPE>
        }
//govnokod
    }
Вопрос: Как лучше сохранять данные банковских карт?

Лучший ответ:
Я буду первым на Тостере, кто вам напишет - Этого делать нельзя. Почитайте про PCI DSS.

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

Лучший ответ:
Идея мавена, мне кажется, очень крута — описательный вид сборки- 
т.е. проект у меня такой то, зависит от того то и того то — а теперь построй его!

Надо привыкнуть к такому подходу, по сравнению с билдом как последовательностью действий, но если не делать ничего не стандартного, то этот подход экономит уйму времени Вам, и тем, кто потом с Вашей сборкой знакомится.

Если же нестандартного много, можно посмотреть на gradle — это мавен на груви вместо XML — т.е. пока все стандартно используем описательный стиль, а когда надо — пишем куски скрипта на груви

Худший ответ:
Можно использовать ant+ivy. Связка очень мощная — ант практически всемогущ в плане сборки и всего, что с ней связано. А ivy — уководит зависимостями. В идее, соответственно, нажимаете один раз build ant script, а потом конфигурируете его для работы с ivy.
Вопрос: Почему не работает foreach?

Лучший ответ:
Блин, что за адово нагромождение if/else, сделайте уже таблицу переходов. И где там у вас foreach, который не работает? Вы предлагаете нам самим его искать и угадывать тот ли это foreach? Если хотите получить ответ на вопрос, потрудитесь облегчить работу тем, кто будет отвечать.if (che.GetType().ToString().IndexOf("CheckBox") > -1)
ААААА!!!!! Срочно напишите заявление об увольнении, ну нельзя же так, господи!!!

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

Лучший ответ:
Можно показать дерево вот такой командой:
log --pretty=format:'%h was %an, %ar, message: %s' --graph


Худший ответ:
Если ветки A и B были слиты и ветка B была удалена, то в Git невозможно определить, в какой из веток: A или B, или еще какой-нибудь, ныне несуществующей C, были сделаны коммиты.
Вопрос: Где взять технически грамотных авторов статей?

Лучший ответ:
Вариант 2: ищешь толковый ресурс по нужному тебе ИТ направлению в англоязычной сфере и платишь деньги ИТ-переводчикам :)
Красиво, если ты будешь указывать откуда ссылка ;)
Также красиво, если ты сам вникнешь что ты делаешь и не вырывать куски статей из контекста, а брать цельное направление и переводить все статьи, что бы нам, читающим твой сайт, было интересно и полностью раскрывало вопрос.

Худший ответ:
Разрешите немного оффтопа: сколько ориентировочно стоят такие статьи, которые нужны ТСу? И как они оцениваются?
Вопрос: Выдает ошибку при компиляции C++, Как решить?

Лучший ответ:
Какая ошибка то?
У вас подозрительные какие-то символы » и «. Если они же и в реальном коде, то это не правильно - правильно >> и <<.

Худший ответ:
Могу ошибиться, но cin» PI; - это же константа.
Вопрос: Как наложить полупрозрачный фон на страницу и запретить любые действия?

Лучший ответ:
А не пойдёт в блок содержимое добавить ещё один блок, который будет абсолютно позиционироваться и с шириной и высотой 100% + полупрозрачный фон и z-index 999? Только тогда у содержимого добавить position relative

Худший ответ:
Как вариант без дополнительных элементов: jsfiddle.net/65o825xz
То есть только на css, и ,добавив нужный класс, можно заблокировать любой другой контейнер.
Вопрос: Как правильно организовать структуру приложения на клиенте, чтобы было как m.vk.com?

Лучший ответ:
Backbone дает самую минимальную основу для создания Single Page.
Предлагаю взять backbone.layoutmanager. Это обертка над backbone view и умеющая при правильной настройки сама подтягивать шаблоны, кешировать их и рендрить в нужное место.Template-rendering пример настроект как запрашивать шаблон. С такими настройками во view можно писать template: "main.html" и он запросить этот шаблон по пути "/templates/main.html"Nested-views пример как можно заменить одну View на другую, использую у родительской метод setView( "#content", new NewView() )
То есть архитектура приложения в backbone должна выглядеть так: 
При загрузке страницы у нас есть основной элемент, который не меняется, его мы указываем у нашей главной родительской view в поле el: "#main", после этого инициализируем backbone-router и ловим callback от какого нибудь роута, вызываем у главной view методsetView и передаем туда новую дочернюю view. То же самое происходит при клике на ссылку, отрабатывает роутер и в callback-е вставляется новая view.
Как сделать слайд как на ios. Думаю имея контроль над старой view(у родительской есть метод getView) и перед вставкой новой(setView), мы можем добавить старой какой нибудь класс с анимацией, что бы она улетала в какую нибудь сторону, а после вставить новую view.

Худший ответ:
Вроде, очевидно все:
1. методы типа page.navigation.transform
2. обработчик json ответа после события и размещение по нужным контейнерам.
PS: юзаю jquerymobile.com
Вопрос: Как сделать удаление постов (flask)?

Лучший ответ:
Вот взял пример кода из своего проекта, не претендую на супер точность, но вроде все работает норм.
Соответственно, некоторые вещи придется заменить, но в целом думаю понятно как сделать.@blueprint.route("/event/delete/<int:event_id>", methods=['GET'])
@login_required
def event_del(event_id):
    event = Event.query.filter_by(id=event_id, user_id=current_user.id).first()
    if event:
        event.delete()
        flash("Event is deleted", 'success')
    else:
        flash("Event can not deleted", 'error')

    return redirect(url_for('events_list'))

Худший ответ:
Я бы вместо:event.delete()
сделал:db.session.delete(event)
Правда не совсем понимаю в чём разница. :-)
Вопрос: Есть ли уроки разработки мобайл на Qt?

Лучший ответ:
На самом деле специфика разработки под мобильники заключается в двух вещах: во-первых правильная работа с разными DPI у экранов и расширение функционала нативным для платформы кодом (например для работы с push уведомлениями). В остальном никакой разницы при разработке на QML под любую платформу нет. 
Вот неплохой набор для старта под  Android.
Upd 2016: https://habrahabr.ru/post/282505/

Худший ответ:
Например, посоветую такую вот небольшую книгу: qmlbook.github.io
Вопрос: Что значат символы #! в URL некоторых сайтов?

Лучший ответ:
Часть после решетки некогда служила ссылкой на определенную часть страницы. На Хабре это до сих пор так — нажмите на ссылку с числом комментов под топиком. Если в коде страницы есть тэг <a name="comments" …/>, то при открытии адреса, заканчивающегося на #comments, браузер прокрутит страницу к этой ссылке.

Клиентские скрипты могут отслеживать появление и изменение этой части в адресе, и предпринимать действия, основанные на ее содержании. Простейшее применение — AJAX-навигация. Без таких адресов невоможно дать ссылку на определенную внутреннюю страницу. Кроме того, с таким ухищрением работают кнопки назад/вперед в браузере.

Как верно замечено выше, уже существует механизм, позволяющий обходиться без этого, но он, увы, не везде работает.

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

Лучший ответ:
myeyes.jpg.to
Бедный-бедный yii

Худший ответ:
При проектировании БД вам нужна учитывать все слабые и сильные стороны ActivRecord в Yii если вы  отказываетесь от него и планируете самостоятельно формировать запросы используя тогда вам и карты в руки. Кроме вас самых вам на вряд ли кто-то сможет помочь.
Вопрос: Qt4 QCA: шифрование больших объемов информации по RSA?

Лучший ответ:
Не буду конкретизировать, т.к никогда не работал с шифрованием в Qt (только «балуюсь» с C++).
Но скорее всего такое поведение обусловлено тем, что из за ресурсоемкости RSA не применяется для шифрования больших объемов информации.

Обычно большие массивы данных шифруются с помощью симметричных алгоритмов вроде AES (в QCA оно должно быть), при этом уже ключи шифруются с использованием RSA.
Именно так, если не ошибаюсь, устроены почти все популярные протоколы (SSL например) использующие ассиметричную криптографию.
Предпологаю, что в вашем случае именно так и нужно сделать.

Худший ответ:
Узнал, что QCA поддерживает OpenPGP (GnuPG), использование которого, вероятно, будет более безопасным и удобным, но нигде не нашел документации и примеров (в официальной всего несколько строк). Может кто-то помочь?
Вопрос: Что мне использовать: mysql или mysqli?

Лучший ответ:
НИ ТО НИ ДРУГОЕВпечатления: это ад, посаны!
Истину глаголешь.
Потому что mysqli не предназначена для использования в коде напрямую. А только через более высокоуровневый враппер. Сама по себе это низкоуровневая либа, которая обеспечивает доступ ко всем самым мелким настройкам драйвера. Именно поэтому она так многословна и неудобна. И именно поэтому надо на её основе обязательно лепить враппер. 
С другой стороны, старая mysql - ТОЖЕ низкоуровневая либа, и тоже НЕ ДОЛЖНА использоваться в коде напрямую, а только как основа для враппера. К тому же она официально устарела.
В общем, у тебя два варианта:Либо использовать PDO, который является более высокоуровневой либой-недовраппером. Как пользоваться, написано здесь: Как работать с PDO?Либо, если хочешь все-таки базироваться на mysqli - использовать готовый враппер SafeMySQL, с которым все ужасы уйдут в прошлое, а код сократится в 10 разА САМЫЙ лучший вариант - это перестать гонять запросы из кода напрямую, а вместо этого освоить уже какой-нибудь фреймворк и использовать для работы с базой ORM

Худший ответ:
Перейти на mysqli нужно было еще вчера (когда модуль mysql был объявлен устаревшим). Причем непонятно что в нем может не нравиться в сравнении с mysql?
Вопрос: Тест на angularjs?

Лучший ответ:
Конечно это можно сделать на Ангуляре, да вообще можно на чем угодно. Главное правило всю информацию о состоянии теста и пройденных этапах хранить и проверять только на сервере. Даже соответствие времени ответов можно на сервере проверять, так как на клиенте можно хакнуть объект Date)

Худший ответ:
Сделай простую авторизацию. Отправляй на сервер всю информацию (тест начался -> ответил|не успел ответить) и в зависимости от этого уже давай доступ к следующим задачам, разруливаться всё должно на сервере.
Реализовать можно хоть на чём.
Вопрос: Brackets не работает Live Preview что делать?

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

Худший ответ:
Live Preview Brackets работает в HTML , но CSS видит если стили будут лежать в корне вместе с HTML  если же подключаю стили из  папки  /css то они не отображаются в  Live Preview  ЧЯДНТ?
Вопрос: Как перенести данные из одной БД в другую с другой структурой?

Лучший ответ:
А как Вы себе это представляете вообще? Что должен делать такой инструмент? Анализировать старую структуру, потом новую, потом залезть к Вам в голову и узнать, что именно вы отразили в этих изменениях и что к чему относится и подготовить Вам SQL-файлик на основе анализа Вашего мозга?)
 Самый простой способ - написать скрипт самому)

Худший ответ:
Используйте dbForge Studio for MySQL
у него есть инструмент сравнения двух баз данных, также он может сделать патч, накатив который на одну базу, он сделает её идентичной второй
Вопрос: Книжки, статьи и прочее чтоб лучше управлять разработчиками

Лучший ответ:
Том Демарко и Тимоти Листер «Человеческий фактор. Успешные проекты и команды»

Том Демарко «Deadline. Роман об управлении проектами»

Том ДеМарко, Тимоти Листер «Вальсируя с Медведями: управление рисками в проектах по разработке программного обеспечения»

Джоэл Спольски «Руководство Джоэла Спольски по подбору программистов и управлению ими»

Джоэл Спольски «Джоэл о программировании»

Роберт Гласс «Факты и заблуждения профессионального программирования»

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

Лучший ответ:
эта называется WakeLock
https://developer.android.com/training/scheduling/...

Худший ответ:
В настройках разработчика есть галка: не отключать экран на активном приложении.