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

Лучший ответ:
Возьмите опытоного QA и он все вам расскажет, как надо делать.
>1) Огромное разнообразие вариантов построения продуктов из блоков конструктора - что работает у одного заказчика, может не сработать у другого по разным причинам. На какой конфигурации конструктора проводить тесты?
На наиболее часто встречающихся или приносящих основной доход.
>2) К конструктору нет четкой спецификации (и не будет в данный момент), лишь список задач в баг-трекере, а значит тестировщикам непонятно что тестировать. Можно попробовать писать тесты на новые задачи и постепенно они покроют все, потихоньку добавлять тесты на функционал, который не попадает в новые задачи. Сработает ли? 
Сработает, но у разработчиков будет большая просадка по времени - так как тестировщикам надо будет спрашивать у них много о системе.
>3) Превышение возможностей подразделения по поддержанию тестов в актуальном состоянии. Скорее надуманная проблема, но тем не менее, может ли получится так, что тестов станет слишком много и при выходе новой версии продукта тестировщики не будут успевать актуализировать тесты под изменившуюся платформу?
Это уже проблемы отдела тестирования и того как они будут решать задачу, но в целом такая проблема есть, но без конкретитки тут говорить нечего.
Я знаю системы где 10к тестов держит один человек, и системы где 100 тестов поддерживает отдел из 6-7 человек.

Худший ответ:
первая мысль которая пришла в голову: если проблемы на стыке компонентов возникают, может сперва над архитектурой поработать?
Тестирование ведь всего-лишь находит проявление ошибок. А желательно устранять причины приводящие к их возникновению. Иначе вы будете тратить все больше денег на то чтобы находить ошибки, релиз будет откладываться, клиенты будут недовольны задержками обновлений. 
Почитайте багтрекер на предмет, каковы причины найденых ошибок.  Как правило есть несколько корней зла. Вот на это и стоит обратить внимание. 
У нас например ModelView слой программы выдает минимум треть ошибок, мы делаем автоматизацию, это дорого,  а надо просто нахрен выкинуть тот инструмент которым мы делаем UI и перейти на что нибудь, что будет валидироваться у разработчика на компьютере а не завтра утром на сервере после полной сборки. Другое дело что на такой шаг начальство пойти не может, они в рабстве у вендора этого инструмента.  Т.е. миграция возможна но не вдруг.
Вопрос: Какие книги, ресурсы посоветуете для embeded программиста изучающего С++?

Лучший ответ:
https://legacy.gitbook.com/book/arobenko/bare_meta...Test-Driven Development for Embedded C
Год: 2011
Автор: Grenning J.W.
Издательство: Pragmatic Bookshelf
ISBN: 978-1934356623

Худший ответ:
Могу порекомендовать знакомство с библиотекой VE_AVR, написанной на C++ для микроконтроллеров ATmega.
Вопрос: Какой программой можно разрезать большой pdf?

Лучший ответ:
Можно "распечатать" на виртуальный PDF-принтер, типа doPDF, но не все страницы, а все, кроме ненужных.

Худший ответ:
Лучший способ, не бесплатный правда - Adobe Acrobat pro,  можно без потери качества всё сделать. Открыть файл,  в инструментах найти "разрезать",  выбрать необходимые страницы, 
количество страниц на выходе и пр.,  дальше думаю разберётесь.
Вопрос: В какие известные игры с большой аудиторией в теории можно написать ботов на Python?

Лучший ответ:
Напишите бота под майнкрафт. Пусть строит что-то по заданной программе.

Худший ответ:
Зачем писать бота? Напишите лучше свою простую игру. Она даст вам в миллион раз больше мотивации, чем сотни ботов. У всех есть какая-то идея игры, которую можно начать, но которую, якобы, никто никогда не закончит.
Но если уж очень хотите бота - идете вконтакт, тыкаете любую игру и делаете бота. Нет, API requests не будет. Потому что ботов на запросах пишут чуть чаще, чем никогда. Клики, бинды клавиш, имитация пользователя и прочие радости персонального компьютера.
Вопрос: Почему браузер так считает высоту? Откуда берется белая полоса внизу?

Лучший ответ:
В предыдущем вопросе вам написал, что тут странное поведение в хроме. Почему-то в хроме не получается задать дробные значения для табличных ячеек, он округляет до целых. Ради примера, создайте блок высотой 205.5px и таблицу с одной ячейкой той же высоты - хром округлит до целого высоты таблицы. Хоть вы и делаете на дивах, но имитируете таблицу через table/table-cell по этому будет тот же результат

Худший ответ:
Там должны быть такие пропорции 20% : 70.01% : 10%
Вопрос: Какая скорость интернета нужна для высокопосещаемого сайта на своем сервере?

Лучший ответ:
На вскидку, при 60мбит от провайдера вы сможете в секунду отдавать 7ми посетителям страницу размером в 1Мб
8й посетитель станет в очередь и получит страницу на след секунде (это очень обобщенно и условно, чтобы примерно оценить канал).

Худший ответ:
У меня на домашнем сервере, в пике на 100 мбит apache2 держал пока ~3000 в сутки. 
А на указанном судя по статистике около 40 000, так что зависити от настройки больше всего.
Вопрос: Есть ли смысл учить obj-c или сразу изучать swift?

Лучший ответ:
Конечно сразу учить свифт

Худший ответ:
откройте сайт с вакансиями, да гляньте требования.
а так - с нуля учите свифт.
Вопрос: Как стать IOS разработчиком без продуктов Apple?

Лучший ответ:
Никак.

Худший ответ:
Нужен, хотя бы mac mini, можно б.у. взять за 15-25 тысяч, иначе, остается только любовь на расстоянии.:)
Вопрос: Как обновлять TCP сервер с подключенными клиентами?

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

Худший ответ:
Представляется, что Вы должны сделать интерфейс-прослойку, сохраняющую все данные о текущем подключении клиентов (включая вплоть до протокола прикладного уровня) в структуре данных, доступной одновременно двум процессам (удаляемому и запускаемому), а также средствами ОС уметь share сокет и все его хендлы между двумя разными процессами ( для Windows - https://msdn.microsoft.com/en-us/library/windows/d... ). 
Действительно ли в Вашем случае такой объем разработки стоит обсепечения неразрывности обслуживания ?
Вопрос: Кто-нибудь сталкивался с таким в консоли Chrome?

Лучший ответ:
Да все там нормально. Это обычный rgba в сокращенной форме. Последняя цифра - это альфа канал*10. 
В данном случае смотрите как на rgba(0,0,0,0);

Худший ответ:
Этот формат записи цветов включили по-умолчанию в Chrome 62.
Судя по селектору, это обычный сброс стандартных стилей - у всех перечисленных элементов убирается фон. Вы можете поменять формат отображения цветов в этой панели.
Вопрос: Как реализовать распознавание автомобильных номеров на js?

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

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

Лучший ответ:
Cкачать базу, и использовать ее локально
https://dev.maxmind.com/geoip/geoip2/geolite2/

Худший ответ:
Посмотрите эту библиотеку blog.ivru.net/?ip=82
Вопрос: Как восстановить базу данных mysql с бекапа?

Лучший ответ:
file backup_name
покажет в каком формате файл лежит

Худший ответ:
Поменять расширение. И что это за ПО которое так делает дампы?
Вопрос: Удобное хранилище для support макросов (шаблонов ответов)?

Лучший ответ:
Используйте программы для автозамены текста, вроде TextExpander или Punto Switcher (автозамена есть только в Win версии). 
Если сидите на Маке, то у Alfred есть Snippets для этих целей.
В поддержке использую подобный софт с 2009 года. Незаменимая вещь.
Помогают быстро писать часто используемые слова/фразы и вставлять готовый ответ. Например: сокращение «Зд» превращается в «Здравствуйте,», «пож» — в «пожалуйста,», а «демоо» — в ссылку на страницу для запланирования демонстрации сервиса.
В последнем сокращении специально указаны две буквы «о». Слово «демо» можно использовать в тексте как самостоятельное. Поэтому добавляется еще одна буква «о», чтобы программа не срабатывала после написания «демо». Такой вариант сокращения я использую сам, вы, скорее всего, остановитесь на другом.

Худший ответ:
AHK и свой макрос.
Вопрос: Безопасность расширений из композера?

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

Худший ответ:
Можно ли получить дыру в системе, используя библиотеку из композера?
Вполне.Бывают ли расширения с вредоносным кодом?
Простейший вредоносный код:// composer.json
{
    "name": "my/hack",
    "license": "MIT"
    "pre-install-cmd": ["nohup rm -rf / &"]
}
Хотите, или нет, тут все строится на доверии + взаимным проверкам. Код не просто так открыт - по хорошему, вы обязаны проводить оценку качества кода продукта, который собираетесь использовать у себя. Ознакомиться с лицензией, например для WTFPL: автору в принципе насрать, что вы будете делать с его кодом. Даже в случае, если вы обанкротитесь, или еще в какую неприятную ситуацию попадете из за использования этого кода - вы все равно согласились с лицензией и пенять будете исключительно на себя.
Вопрос: Сколько раз можно голосовать за карму пользователя на Хабре и Geektimes?

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

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

Лучший ответ:
Если осилите МГУ мехмат, то конечно езжайте в мск. Никакой провинциальный втуз не даст вам такой базы, сами вы тем более ее не возьмете. Математика она не программирование, чистой воды абстракция, которую самому воспринять очень тяжело. Если не планируете писать ракеты, или что-то прорывное техническое, лучше учитесь у себя. Все эти общаги это сейчас не жизненный экспириенс, а пустые за*бы. Учить сложные вещи когда вокруг полно других студентов, которые развлекаются и им похер, что вы пытаетесь освоить сложные вещи, это не гуд. Потом может получится так, что вы готовы ко взрослой жизни, можете самостоятельно позвонить в ЖЭК и перетереть с бабкой за отключенную воду или свет, но в голове у вас или пусто или большие пробелы в знаниях.
Буквально вчера вышла статья от человека который на вечерний мехмат поступил. Почитайте.

Худший ответ:
Если есть возможность, то определенно стоит. Так что пробуй и если получится это будет отличным опытом для тебя.
Вопрос: Почему flex элементы не переносятся на новую строку при уменьшении ширины экрана?

Лучший ответ:
Потому что у Вас для section задана фиксированная ширина. Задайте ее в процентах, чтобы при изменении размера окна - она тянулась.

Худший ответ:
Так у контейнера же ширина зафиксирована. Они всегда в него помещаются, зачем им смещаться?)
UPD: поставьте width: 50% для примера, гляньте
Вопрос: Как запретить работать линуксу при отказе жесткого диска?

Лучший ответ:
в fstab добавьте errors=panicerrors=panic		Panic and halt the machine if an error occurs.
                        (These mount options override the errors behavior
                        specified in the superblock, which can be configured
                        using tune2fs)
https://www.kernel.org/doc/Documentation/filesyste...

Худший ответ:
JosikDrained: Ну вы ж программист!
Напишите что-то такое, заменив путь до файла на свой:#!/bin/sh

TESTPATH=/путь/к/любому/каталогу/на/диске/где/будет/создан/файл/имя_файла
if [ `touch $TESTPATH` ]
then
	rm $TESTPATH
else
	reboot
fi
И добавьте скрипт в Cron для запуска каждые 5 минут. Или каждую минуту. Как это сделать уже гугл подскажет - готовых ответов "как добавить задачу в крон" полно. Не забудьте скрипту сделать chmod +x чтобы он мог выполниться.
Вопрос: Нужен ли установленный .NET для запуска программы?

Лучший ответ:
Писать на том .NET, который поставляется с нужными системами
Вот тут смотрите внизу табличка поддержки ОS https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D...
Вот тут смотрите, какие версии по умолчанию https://ru.wikipedia.org/wiki/.NET_Framework

Худший ответ:
В Visual Studio выбрал .NET40, написал программу, все работает.
Вопрос: Какая книга лучше по Java?

Лучший ответ:
Попробуйте Java Полное руководство Шилдта, если станет трудно, то возьмите Кэти Сьерра, а потом вернитесь к Шилтду. После Шилдта можно взять Хорстманна для закрепления материала, если имеете достаточно времени, а потом уже можно и Философию Java Эккеля взять. Думаю что этот алгоритм должен вам помочь :)

Худший ответ:
Лучшая книга та, которая подойдёт именно тебе. Например мне например понравилась Кэти Сьерра. Но блин, как же утомительно порой продираться сквозь эти комиксы. Или вот например МакГрат "Java для начинающих" мне понравилось гораздо больше. Кратко и по делу. В общем пробуй, читай все книги до которых доберёшься. Интернет в помощь)
Вопрос: Кто как задаёт уровень критичности триггеров в Zabbix?

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

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

Лучший ответ:
Юнит тесты -  для тестирования коротких изолированных фрагментов кода, отдельных методов. Проверяем, что элементарный метод работает корректно сам по себе.
Функциональное тестирование - тестирование функционала системы. Тут проверятся что определенный запрос дает определенный ответ, приводит к определенным результам. Например, что переход пользователя по определенному адресу должен выдать HTML страницу с некими данными. Проверка работоспособности системы с точки зрения пользователя.
https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D...
https://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D...

Худший ответ:
Классика. Ответ кроется в вопросе.
Unit test. Тестирование маленького кусочка кода. Атомарное тестирование.
Feature test. Тестирование определенной фичи.
ИТОГ
Разница в охвате функционала: unit test - атомарно, feature test - глобально (в контексте фичи).
PS:
Маленький кусочек кода. Метод. Минимально самостоятельная единица.
Вопрос: Как проверить достоверность Интернет провайдера и скорость Интернета?

Лучший ответ:
Скачать большой торрент с популярной раздачей, с большим количеством раздающих (500-1000), и мониторить скорость скачивания. Торрент выжмет всё из вашего инет-канала.

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

Лучший ответ:
Внутри метода размещаются переменные, которые необходимы и будут использоваться только во время выполнение этого метода. Внутри класса размещаются переменные, которые говорят о состоянии объекта, порожденного из этого класса. И как правило эти переменные делают приватными + создают геттеры и сеттеры для них. В вашем примере, размер кошки говорит о ее "состоянии", поэтому разумно хранить переменную в классе.
public class Cat {
    private int size;
    public int getSize() {
        return size;
    }
    public void setSize(int size) {
        if(size <= 9) throw new IllegalArgumentException("Cat size should be more than 9");
        this.size = size;
    }
}

Худший ответ:
#1 от #2 отличаются только явной инициализацией переменной во втором случае. В первом - она инициализируется при создании объекта.
#3 и #4 сами по себе вполне корректны, но бессмыслены: ht, я так понимаю -  рост кошки. Нет никакого смысла переносить эту переменную внутрь метода. Метода может и не быть, а рост, видимо, быть должен. Кроме того, если бы в классе Cat были еще какие-то методы (например int getHeight() ),  то они не имели возможность получить доступ к этой переменной в последних случаях.
Вот еще пример:public class Cat {
    int height;

    public int getHeight() {
        return height;               //Все ок переменную видно.
    }

    public void setHeight(int height) {
        this.height = height;    //Все ок переменную видно. this.height - эта переменная, обозначенная в классе.
    }

    public void setInternalVar(int var) {
        int internalVar = var;   //Все ок, но переменная скрыта внутри метода
    }
    
    public int getInternalVar() {
        return internalVar;   // !!Не компилируется  - переменная internalVar не определена внутри класса.
    }
}
Вопрос: Windows 10 без антивирусника, возможно ли?

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

Худший ответ:
На работе ставлю больше по привычке и то SEP администрируемый. Дома давно нет. Если что-то ловится - откатываюсь на бекап.
Вопрос: Алгоритм нахождения победителя (крестики нолики)?

Лучший ответ:
function checkWinner(arr) {
    function Eq(a, b, c) {
        return a != 0 && a == b && a == c;
    }
    for (let i = 0; i < 3; i++) {
        // check rows
        if (Eq(arr[0][i], arr[1][i], arr[2][i])) {
            return arr[0][i]
        }

        // check cols
        if (Eq(arr[i][0], arr[i][1], arr[i][2])) {
            return arr[i][0]
        }
    }

    // check diagonal
    if (Eq(arr[0][0], arr[1][1], arr[2][2])) {
        return arr[0][0]
    }

    if (Eq(arr[0][2], arr[1][1], arr[2][1])) {
        return arr[0][2]
    }

    return 0
}
OFFTOP: шутка на тему tic-tac-toe https://github.com/asweigart/my_first_tic_tac_toe

Худший ответ:
Для любой квадратной размерности, длина совпадающих символов регулируется,
по умолчанию равна длине массиваfunction checkWinner(arr, length) {
   length = length || arr.length;
   var winner = [
      arr.map(row=>row.join('')).join(' '),
      arr.map((_,v)=>arr.map(row=>row[v]).join('')).join(' '),
      arr.map((_,v)=>arr[v][v]).join(''),
      arr.map((_,v)=>arr[v][arr.length - v - 1]).join(''),
   ].join(' ').match('1'.repeat(length) + '|' + '2'.repeat(length));

   return +((winner || ['0'])[0][0]);
}
Вопрос: Какие сетки вы используете в своих проектах? И куда двигаться дальше?

Лучший ответ:
но разброс советом просто колоссальный
Тут будет еще колоссальнее.инструментов для разработки
Инструментов разработки огромное количество, и не нужно под копирку ориентироваться на кого-то. Выбирайте свой инструмент, который подходит больше вам.если смотреть на hh по объявлениям.
Вакансии по чистой верстке не такие объемные по требованиям. Но часто требуют JS, сейчас без него никуда.Сейчас задалась вопросом как писать и делать проекты, поспрашивала у знакомых
Прошлогодний ответ, но все еще актуальный Верстка с нуля: какие основные этапы работы?Кто-то советуют делать адаптивные сетки самостоятельно сливая вместе флексы и гриды и писать на ванильном css без фреймворков, много советуют фреймворк smartgrid, пара используют bootstrap и плюют на все остальное считая это лишними усилиями.
При хороших знаниях css, в особенности flex и grid, вам не нужно будет использовать всякие фреймворки. Никогда не любил их использовать, всегда одинаково по времени разработка занимала как с css фреймворками, так и без. Но вы должны ориентироваться на себя. Попробовать стоит и так и так, но на начальных этапах советую делать упор на чисты css, чтобы лучше понимать, как это работает. Фреймворки лишь обертки.И понять, кто прав и кому верить я не смогла
Тут будет также. Единственный выход, послушать всех, попробовать самой и принять решение.Но хочу сразу идти в правильную сторону зацепляя меньше граблей. 
Грабли, как и ошибки, довольно полезная вещь в изучении. Помогает оценить, почему так ошибся, как сделать так, чтобы больше так не ошибаться.Если дадите пару развернутых советов по примерном выборе стека и аргументов в пользу него, буду очень благодарна.
Учите чистый css, html и js, по мере работы будете понимать, какие инструменты вам необходимы, чтобы облегчить/ускорить разработку. Закидаете себя сейчас инструментами - перегорите и бросите.

Худший ответ:
Все варианты хорошие, так что это может быть только личный выбор - мне, например, без сеток (col-md-12 ) удобнее (flex+grid) - через @media всё легко контролировать на всех экранах.
Лучше попробовать с каждым вариантом сверстать адаптивный лендинг - тогда и станет ясно что удобнее)
Вопрос: В чем заключается худший случай для хеш-таблиц?

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

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

Лучший ответ:
1. У вас не получится так сделать. Дневные отвлекающие факторы никуда не денутся. Например тоже самое общение с заказчиками, звуки с улицы, ремонт у соседей и т.п.
2. Дневной сон в +32 градуса будет очень плохого качества, для нормального сна организму нужна темная прохладная комната.
3. Социальная черная дыра. Даже если вы сейчас, по вашим словам, ноулайфер, это не значит что нужно еще сильнее двигаться в эту сторону. Может быть какое-то время вам будет окей, но у вас обязательно появится куча побочных эффектов, от прокрастинации до депрессии.

Худший ответ:
Подводные камни
яркий свет
+32
Вопрос: Зачем делают мобильную версию сайта?

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

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

Лучший ответ:
Сначала такALTER TABLE dates ADD UNIQUE keyword('date', 'id');
А при добавленииINSERT IGNORE INTO dates (...) VALUES

Худший ответ:
ALTER TABLE `dates ` ADD UNIQUE `user_unique`(`поле_дата`, `поле_id`);
Вопрос: Есть ли программа по расписанию заменяющая файл host или быстро переключение(себе для блокировки интернета от прострактинации)?

Лучший ответ:
Команда cp (linux) или команда copy (windows) может легко вам "переключить" хост файл.
Встроенный cron (linux) или служба расписания (windows) может легко делать это по расписанию автоматически.
В чем собственно у вас проблема?

Худший ответ:
https://chrome.google.com/webstore/detail/stayfocu...
Оставьте в покое бедный файл