pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Где найти готовый каталог товаров?

Лучший ответ: У prestashop есть сэмпвые базы есть ещё база adventureworks

Худший ответ: Каталоги лучше искать в формате XML, но у многих они закрыты для партнёров
www.bbk.ru/about_us/partners/xml_catalog 
Автоматический перевод для локализации на нужные языки это уже через АПИ сервисов Яндекс или Гугл
Вопрос: Почему array_map и sanitize_text_field удаляют вложенный массив?

Лучший ответ: Потому что надо выкинуть на помойку бессмысленную функцию sanitize_text_field и забыть о её существовании. 
Ну и на досуге почитать в документации, что  array_map работает с одномерными массивами.

Худший ответ: в общем, сделал очистку с помощью рекурсивной функцииfunction wp_clean($var)
{
	if (is_array($var)) {
		return array_map('wp_clean', $var);
	} else {
		return is_scalar($var) ? sanitize_text_field($var) : $var;
	}
}
Вопрос: Оборудование для вычисления хеша пароля?

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

А ещё - имеет смысл посмотреть на радужные таблицы.

Худший ответ: Оборудование для вычисления хеша пароля? - АSIC
Любой майнер криптовалюты предназначен как раз для вычисления хэша.
Можно делать это на любом процессоре, но поскольку задача легко паралеллиться, то лучше чтобы процессоров было много - сотни. 
Поэтому задействовать можно или видеокарту или ASIC.

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

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

Худший ответ: Сложновато будет. В каком плане? Будет некая каша в голове.
Вопрос: Почему while ($row = $db_data->fetch_assoc()) сжирает память с большими таблицами?

Лучший ответ: Буферизированные и небуферизированные запросы

Худший ответ: Помогло:

$db = new mysqli(null, 'root', '', 'db_name');
$db->real_query("SELECT * FROM table_name");
$db_data = $db->use_result();
while ($row = $db_data->fetch_assoc()) {}

Но, нельзя с того-же подключения к бд выполнять другие запросы внутри цикла. У меня в коде был INSERT в другую таблицу. С ним не работало
Вопрос: Можно ли устроится junior frontend на удаленку?

Лучший ответ: Нет. Точка. Ни джунов, ни, тем более, трейни, на удалённую работу никогда не возьмут.

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

Да с 0 опытом шанс попасть куда бы то ни было, тем более на удаленку, практически отсутствует. На низовых позициях очень высокая конкуренция. Вам бы лучше искать стажировки в крупных компаниях, но тут придется их поразить вашими знаниями.

Начинайте карьеру как фрилансер. Фриланс вполне себе канает, если спрашивают про опыт работы. Но опять же имейте в виду что на фрилансе конкуренция дичайшая и придется долго работать за бесплатно чтобы наработать какую-то репутацию.
Вопрос: Не работает мышь и клавиатура с некоторыми особенностями на установщике Windows 7 x64?

Лучший ответ: В данном чипсете только XHCI контроллер USB, а у Windows 7 только под EHCI драйвера. Поэтому как при установке, так и после возможны проблемы с драйверами. Найдите PS/2 клавиатуру или мышь, с их помощью скачайте и установите XHCI драйвера на вашу систему.

Или да, найдите нормальную сборку с интегрированными XHCI драйверами.
Любые манипуляции в BIOS смысла не имеют, от этого EHCI не появится

Худший ответ: USB 2.0 не будут работать на семёрке, потому что они оснащены одним и тем же USB 3.0 контроллером на современных мат. платах
Решено:
Интегрируйте драйвера в сам образ, в этом архиве драйвер для чипсета рассчитанные на процессоры поколения Comet Lake, и модифицированный USB 3.1 драйвер, который нашел на одной из раздач
Благодарю Yan и 15432 за наводки, помощь и пояснения. 
fdroid, тебе посвящается https://pikabu.ru/story/osobennosti_natsionalnyikh...
Драйвера:
https://www.mediafire.com/file/bkinp47xby4k6c9/win...
Вопрос: Как отдать объект с отношениями в виде объектов?

Лучший ответ: есть штатный способ, который я не могу найти в доках?https://laravel.com/docs/6.0/eloquent-resources

Худший ответ: Если есть возможность, лучше всего добавить к запросу with.
Если нет, то можно повызывать сущности по связям, тогда данные появятся в объекте $events
Вопрос: Почему read-only диск не маунтится?

Лучший ответ: Туториал работает только с read-write диском
Туториал нормальный, но нужно минимальное понимание что такое disk, partition, mount, mountpoint, ...
UPDATE: вопрос оказался не такой простой, по дороге я узнал новую вещь - если ext3 filesystem отмонтирована некорректно, то при read-only mount надо отключать журнал, иначе получаем ошибку.
Решение:
mount -o ro,noload /dev/sdc /folder/directory

Худший ответ: Файловая система на диске-то есть?
Вопрос: Эта регулярка не запрещает ввод других символов, а как запретить?

Лучший ответ: olya_097, еще раз здравствуйте. Ваш вопрос слегка не полон, поэтому попробую догадаться в чем дело.эта регулярка не запрещает ввод других символов
Догадка: видимо Вы используете какую то библиотеку/плагин в котором можно задавать с помощью регулярки фильтр вводимых данных для полей вода типа input и textarea.
Если это так, то хотелось бы узнать что это за библиотека/плагин и тогда возможно понять в чем причина.
Если же Вы пользуетесь обычным input и/или textarea и при этом не используете никаких библиотек/плагинов, расширяющих их функционал, то скорее всего вы имеете небольшой самописный кусок js кода, который через регулярку проверяет введенный текст (или вводимый текст) и что то там дальше делает. Если это так, то хотелось бы увидеть этот кусок кода вместе с частью разметки, включающей в себя контролируемые кодом поля ввода и тогда, я уверен, мы сможем Вам помочь разобраться с решением Вашего вопроса.

Худший ответ: Вы неверно понимаете работу регексов. Любой регекс, не содержащий символа начала и конца строки можно расширить без изменения функциональности:
/.*\d+.*/
(т.е. до и после Вашего регекса я дописал ".*", означающее "что угодно").
Иными словами, Ваш регекс требует наличия хотя бы одного дигита (цифры); но не запрещает иных символов до и после него.
Мне кажется, Вам нужно так:
/^\d+$/
(мои добавления во всех случаях я выделил болдом).
Вопрос: Вызов C++ функций в python?

Лучший ответ: Вызвать именно функцию в таком виде из Python не выйдет. Но можно запустить запустить исполняемый файл с помощью модуля subprocess. Примеры есть как в документации, так и на этом ресурсе, вопрос задаётся уже не в первый раз.

Худший ответ: Посмотрите доки по написанию модуля. И да вызывать такую элементарщину нет смысла. 

Вот  вам подходящая статья,  по моему ничего сложного
https://realpython.com/python-bindings-overview/
Вопрос: Оцените тестовое задание (junior)?

Лучший ответ: const keys = ["name", "my-city-id", "family-status",
    "Number", "e-mail"
];
for (let id of keys) {
    // выставил
    let input = document.getElementById(id);
    input.value = localStorage.getItem(id);
    console.log("сохранено");
    // закинул
    let fun = function(id, input) {
        input.addEventListener("change", function() {
            localStorage.setItem(id, input.value);
        });
    };
    fun(id, input);
}[
  'e-mail',
  'family-status',
  'my-city-id',
  'name',
  'Number',
].forEach((id) => {
  /** @type {HTMLInputElement} */
  const inputElement = document.getElementById(id);

  inputElement.value = localStorage.getItem(id);
  inputElement.addEventListener(
    'change',
    () => localStorage.setItem(id, inputElement.value),
  );
});
Разница понятна?
Я бы еще это оформил в виде функции с названием, объясняющим суть происходящего.

Худший ответ: Я бы советовал webp использовать, добавит оптимизации вам и советовал бы не подключать из вне скрипт, лучше себе их скачать.<script src="https://cdn.jsdelivr.net/npm/simplebar@latest/dist/simplebar.min.js "></script>
Вопрос: Как интерпретировать данные результаты скорости SSD?

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

Худший ответ: Нужно понимать тот факт, что есть еще такой параметр, как стабильность показателей скорости и температурный режим - в ноутбуках nvme m.2 ssd имеют свойство троттлить и снижать скорость работы без дополнительного охлаждения от перегрева или исчерпания размера кэша. Надо исходить из профиля нагрузки. Если на нем, к примеру, будет бд - это одна ситуация. Если видеомонтаж - другая. Если пару раз в день перекинуть файлы туда-сюда - третья. Судя по всему вы не имеете четких критериев к производительности, таким образом и что-то конкретное советовать трудно. Для Sata Samsung Evo является достаточно универсальным вариантом в большинстве видов нагрузок.
Вопрос: Как сделать, чтобы при логине по RDP сразу открывалась 1С Предприятие с авто-логином в учетку?

Лучший ответ: Как сделать, чтобы сразу открывалась 1С-каКак сделать, чтобы сразу открывалась 1С-ка и совершался логин в нужную учёту 1с-ки ?

Худший ответ: Использовать RemoteApp
https://www.ekzorchik.ru/2016/05/what-is-remoteapp...
Вопрос: Б/у MacBook или новый Asus?

Лучший ответ: Я как понял ASUS вы планируете новый, а если MacBook то бу-шный. В случае с MacBook, это будет 13 экран. Для меня это было бы ключевым моментом (маленький экран). Далее только про MacBook. Сами по себе они очень крепкие. Если экземпляр бережно эксплуатировался в домашних условиях, то система вентиляции у 2015-года будет вполне сносной, греться ничего не будет. Операционку лучше снести и поставить с нуля, ибо обычно накатывают обновления без переустановки, а это не тру) Если туда воткнуть SSD и расширить память, то для ваших нужд все будет летать, в противном случае будут тормоза. В новых вроде как несъемная память, а в 2015-ом еще ставили обычные ноутбуковские SO-DIMM, можно купить тоже бу-шные, а вот SSD лучше взять новый. Но есть очень интересный момент, если будете брать Mac у перекупа или, что еще хуже, перекупа-ремонтника, то это будет колхозно ремонтированный после чего-то вполне серьезного ноут. В целом техника Apple надежная, но много механических повреждений, замен экранов и прочего, очень часто перепродается после ремонта, как впрочем и любая другая. Если никогда не сидели за macOS не верьте тем, кто говорит что она в 100 раз легче условного Linux и удобнее в обращении Windows, это далеко не так, там куча своих особенностей, которые придется изучать и привыкать к ним. Для разработки там тоже ворох вопросов, никакой простоты как все пишут я там не увидел. С консолью надо на ты, как и везде. Лично я бы купил любой ноут, который предложит максимальные характеристики за эти деньги и все.

Худший ответ: А почему не MSI? У них есть отличная модель за 45, куда потом хоть до 64ГБ оперативки можно добить
https://you-2-you.ru/catalog/noutbuki_i_planshety/...
Вопрос: Как написать скрипт для счётчика который будет менять цену в зависимости с количеством товара?

Лучший ответ: примерно накидал. Дальше сами. Примерно такой логике событие change или blur нужно сделать
snippet

Худший ответ: function plusProduct(array){
	$('.plusProduct').on('click',function(){
		let inputNum = +$('.твой инпут').val();
		let plusInput = inputNum++;
		let plusProduct = inputNum++;
		$('.твой инпут').val(plusProduct);
	});

}


function minusProduct(array){
	$('.minusProduct').on('click',function(){
		let inputNum = +$('.твой инпут').val();
		let plusInput = inputNum--;
		let plusProduct = inputNum--;
		$('.твой инпут').val(plusProduct);
		if($('.твой инпут').val() <= 1){
			$('.твой инпут').val(1);
		};
	});
};
Чтобы менялось цена просто умножай цену на количество
Вопрос: Можно ли автоматизировать процесс обработки фото в фотошопе?

Лучший ответ: Это называется пакетная обработка. Как сделать и подробнее тут

Худший ответ: Здравствуйте, действительно в фотошопе есть пакетная обработка, коллега написал выше.

Но прекрасный просмотрщик картинок Fast Stone image Viewer делает это быстрее и проще
Ссылка на саму программу: https://www.faststone.org/FSViewerDetail.htm
Вопрос: Javascript framework, который использует «$»?

Лучший ответ: var $ = function(){}
И получаешь конфликт на ровном месте.

Худший ответ: Классическая реализация метода noConflict() выглядит примерно так:const original = globalThis.libraryVariable; // сохраняем предыдущее значение заменяемой переменной
globalThis.libraryVariable = libraryExport; // перезаписываем нашей либой
libraryExport.noConflict = () => {
  globalThis.libraryVariable = original; // восстанавливаем сохраненное значение
  return libraryExport; // возвращаем нашу либу
};где:
globalThis - стандартное (начиная с ES2020) имя для глобального объекта (window, self - в браузере, global - в ноде - псевдонимы)
libraryVariable - глобальная переменная содержащая библиотеку, в случае с jQuery таких переменных 2 - $ и jQuery
libraryExport - внутренняя переменная, которая так же хранит ссылку на библиотеку (это нужно, чтоб либа не сломалась, даже если Вы руками измените глобальную переменную)

P.S. в современном мире большинство библиотек по возможности используют модульную систему и не засоряют глобальный объект
Вопрос: Как найти специалиста для совместной работы?

Лучший ответ: Открываете ИП или оформляете ООО и вперёд.

Худший ответ: Если не подходят варианты разместить вакансию на жоб-сайтах и искать исполнителя на фриланс-биржах, то остается немного - сарафанное радио, и объявления везде где можно (тут насколько хватит креативности)

какого-то специального сервиса "найти разраба срочно вчера закрыть дырку в проекте" я не знаю. Хотя знаю - фриланс биржи, но они вам не подходят.

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

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

Худший ответ: Это называется - "тонкий клиент" и "толстый клиент"
Например, см. Wrike - у них сложное ПО, которое живет в браузере. Дергать ради каждой мелочи из бизнес-логики с бэкенда - не комильфо.
Вопрос: Если домен построен на базе Active Directory, то стоит ли использовать Samba в качестве файлового сервера?

Лучший ответ: Ну, тут можно высказать два противоположных мнения:
pro:
- не нужна лицензия
- бэкап невиндовыми средствами - при заражении шифровальщиками он будет им "не по зубам"
- можно скрывать нечитаемые каталоги (в винде нельзя)
contra:
- если в конторе только виндоадмины - не имеет смысла, т.к. стоимость сопровождения взлетает до небес
- управление правами похуже чем в нативной винде
А производительность от сети зависит.

Худший ответ: Всё упирается в сопровождение, как верно указал CityCat4
Но у линукса есть собственные плюшки, которые часто бывают полезными. Да и самба при расшаривании удобнее предоставляет ресурсы.
Вопрос: Что учить, верстку или js?

Лучший ответ: Скомпоновать оба варианта и вместе делать

Худший ответ: Я начал с вёрстки. Сейчас изучаю js. С декабря того года активно учусь.
Фронтендеру обязательно знать вёрстку, без нее не будет понимания основ
Вопрос: Обязательно ли input submit должен быть внутри form? Структура не позволяет так сделать, как обойти это?

Лучший ответ: Вообще то есть нативная возможность без костылей выносить кнопку сабмита за форму.
htmlbook.ru/html/button/form
И не надо прикручивать никаких листенеров.

Худший ответ: Нет, не обязательно, вариантов много разных.
Можете хоть FormData получить и отправить ajax, хоть инициировать событие вручную
Вопрос: Какие бы вы задавали вопросы начинающему Linux-администратору на собеседовании?

Лучший ответ: https://github.com/trimstray/test-your-sysadmin-skills

весьма годный список вопросов для собеседования

Худший ответ: Я сам не админ. Но причастен к сектору эксплуатации инфо-технологий на предпрятиях. Разрабатывал и внедрял.

Мне кажется вопрос не так звучит. В наше время ценится не эникейщик а автоматизатор. Поэтом Линукс админ должен уметь автоматизировать рутину. Тоесть не "стучать по клавишам" а уметь взяв bash/python сделать рутинное действие на множестве файлов или конфигураций.

По командам - не скажу. Но мне кажется тут вопрос не в командах (nslookup/dig) а в понимании сетей и протоколов. В понимании верхнего уровня архитектуры. И если этот уровень понятен - то неважно какая команда. Это тоже самое что строителя спрашивать знает ли он "уровень" или "отвес."
Вопрос: Выбор файловой системы xfs или ext4 — что лучше и надежнее?

Лучший ответ: Ну вот на уровне такого вопроса - равноценны они.

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

Лучший ответ: Clementine
https://www.clementine-player.org/
Отличный плеер! Умеет много чего, и тексты вытаскивать тоже. Жаль, по умолчанию там только забугорные сайты прописаны, и для русских не находит (или мне такие попадались просто). Но можно самому добавить источники.

Худший ответ: Точно был плагин для foobar2000, тащил тексты и обложки для большинства песен.
Вопрос: Unity — как сделать кнопку (в виде объекта, а не GUI)?

Лучший ответ: Разобраться как работает UI и не делать кнопку в виде объекта.

Худший ответ: Есть встроенный метод OnMouseUp(). Он работает если на обьекте есть коллайдер и rigidbody (Если не ошыбаюсь).
Вопрос: Как подобрать SDD для ноутбука?

Лучший ответ: Ставьте SSD на место HDD, а HDD уже на место дисковода.
И лучше на 250 Гб диск поставить.

Худший ответ: Сегодня купил и поставил в samsung RV511 (довольно старый) kingston A400 240GB за 2800р в ДНСе. Летает - отлично! Win7 x64 за 15 секунд загрузка, отзывчивость на высоте. И это при его 500/350 МБ/с чтение-запись (заявлено). Раньше A400 на 120ГБ ставил и в компы и в ноуты - тоже проблем не было, всё достаточно быстро. 
Однако, если будет что-то около core i5, то  опять всё упрётся в скорость диска - тут уже лучше что-то пошустрее взять.
Так что я бы поставил A400 240ГБ на штатное место, а вместо дисковода - hdd. По-моему, оптимальный вариант по соотношению цена-качество.
Вопрос: Как изучать laravel?

Лучший ответ: На laracasts в треке "laravel" есть ряд курсов "создаем приложение", даже если они немного устарели, то кардинально подходы не меняются.

Худший ответ: Я так понимаю, практикой тут и не пахнет? Если так, то это особо и смысла не имеет.
Какая у Вас вообще цель изучения?
Вопрос: Как можно подключиться к mysql через ftp?

Лучший ответ: Не возможно, для подключения можно использовать например workbench
https://www.mysql.com/products/workbench/

Худший ответ: Моя любимая цитата... (Леонид Резник "Магический треугольник")

"...Ответ Надсистемы мгновенно разрушил радужные надежды: «Задача не имеет решения»..."

Единственным способом подключения к MySQL является подключение по протоколу mysql :) Обычно используют phpmyadmin или же консольную команду mysql
Вопрос: Как отправить Embed сообщение?

Лучший ответ: Запятые между параметрами discord.Embed отсутствуют.

Худший ответ: @client.command()
async def displayembed():
    embed = discord.Embed(
        title = 'Заголовок',
        description = 'Описание',
        colour = discord.Colour.from_rgb(106, 192, 245)
    )
    await bot.say(embed=embed)
Вот правильный код.
Вопрос: Где купить блок питания на 3кВт?

Лучший ответ: Скорей всего ничего у вас не получится. Просто потому что у вас 3кВт номинального, а пусковой там в районе 15кВт будет (ну раз это подъемник, то там какой то двигатель, а у него пусковые думаю минимум х3 от номинала). Блок питания при таком просто уйдет в защиту, так как примет это за короткое замыкание. Я не знаю ни одного БП, который бы мог кратковременно выдать хотя бы х2 от своего номинала (не в смысле что они не способны это выдержать, просто они считают это за "короткое" и отрубаются, что бы не сжечь ничего). Аккумулятор же легко может выдавать пусковые токи и в 400-600А.
А чем вам аккумулятор не нравится? Может проще будет просто доработать конструкцию и все?
Если единственное, что напрягает, это носить аккумуляторы, то просто повесьте на аккумулятор зарядное устройство и пусть оно всегда его заряжает. Так можно.

Худший ответ: выше уже дали дельный совет,
вам нужен мощный трансформатор + силовые диоды ,а-ля сварочный аппарат,
чтобы минимизировать потери ,нужно установить его  в непосредственной близости от потребителя/подъёмника,
Вопрос: Как сделать чтобы список ul делился в 2 ряда в моб версии?

Лучший ответ: Вариант 1
ul {
    columns: 2;
}
Вариант 2
ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

Худший ответ: норм у тебя пример ^^
да там ничего не делится, тупо 25% на ширину блока
Вопрос: Автоматизация создания OpenVPN конфига для всех устройств?

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

Худший ответ: Раз у вас на выходе уже есть все необходимые ключи/сертификаты - добавить их в конфиг, это десяток строк на баше/питоне/etc.
Вопрос: Где писать функционал приложения? На клиенте или на сервере?

Лучший ответ: Что клиент не должен видеть в исходном коде страницы - то на сервер.
Остальное - на клиенте.

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

Лучший ответ: Рандомность нельзя разнообразить, т.к. в ней каждое следующее выпадающее числоникак не зависит от того, что выпадало ранее.
Интуитивно понятно, что хочется, чтобы каждое следующее число, скорее всего, отличалось бы от предыдущего чем больше, тем лучше. Но это уже не настоящая рандомность. 
Можно сымитировать такое поведение. Проще всего жёстко запретить ближе, чем, допустим, 40 от предыдущего.
Значит, из отрезка значений выпадает отрезок длиной 40 + 1 + 40 = 81
Первый вызов вернёт честно-случайное mt_rand(322, 595)
А следующий только mt_rand(322, 514)
И надо будет его скорректировать, в зависимости от предыдущего. Грубо, так:$a = 322;
$b = 595;
$m = 40;

// первый раунд
$rnd = mt_rand($a, $b);
$prev = $rnd;
// ... что-то происходит

// второй и последующие раунды
$rnd = mt_rand($a, $b - 2 * $m - 1);
if ($rnd > $prev - $m) $rnd += 2 * $m + 1;
if ($rnd > $b) $rnd -= ($b - $a);
$prev = $rnd;
// ...

Худший ответ: Время от времени (случайным образом: 0/1) сдвигая входной диапазон на единицу вправо и не сдвигая, мы меняем используемые биты в исходной функции mt_rand(). Таким образом, достигаются очень качественные псевдо-случайные выходные данные.

Если необходимо ещё более "разбавить" случайность: нужно просто сделать рекурсию текущей функции и вызвать необходимое количество раз (более 8 - не рекомендую, т.к. возможно сужение/потеря разброса).
<?php
//////RANDOM FUNCTION//////
function myRand($from,$to) {
	$to+=1;
	$dist=$to-$from;
	$i=mt_rand(0,1);
	$r=$from+mt_rand($from+$i%2, $to-($i+1)%2)%$dist;
	return $r;
}

/////MAIN//////
$from=300;
$to=600;

for ($i = 0; $i <= 12; $i++) {
 echo myRand($from,$to)." ";
}
//473 315 459 597 555 508 448 337 455 348 329 462 309
//316 500 464 546 402 411 431 581 382 351 521 567 449
//585 312 416 391 360 385 598 399 495 443 561 350 441 
//477 589 429 318 558 428 315 441 432 420 324 578 432 
//465 581 378 512 376 563 415 307 347 310 594 364 388
Проверка монотонности разброса:<?php
//////RANDOM FUNCTION//////
function myRand($from,$to) {
	$to+=1;
	$dist=$to-$from;
	$i=mt_rand(0,1);
	$r=$from+mt_rand($from+$i%2, $to-($i+1)%2)%$dist;
	return $r;
}

/////MAIN//////
$from=1;
$to=10;
$stat=[];
for ($i = 0; $i <= 10000000; $i++) {
 $stat[myRand($from,$to)]++;
}
asort($stat);
print_r($stat);

Результат:Array
(
    [3] => 998512
    [8] => 998546
    [5] => 999444
    [7] => 999467
    [10] => 999749
    [1] => 999845
    [2] => 1000340
    [6] => 1001172
    [9] => 1001192
    [4] => 1001734
)