pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Роутер для небольшого офиса (MikroTik ?)

Лучший ответ: Я бы кому-нибудь ноги отпилил и вырвал бы кадык за выделение такого помещения под сетевые дела. А потом бы ещё загнал туда с отбойником и вручил бы пару-тройку 48-портовых панелей на пробой.
Извините.

По сути вопроса: активку в такое помещение ставить нельзя, умрёт быстро. Routerboard или подобный роутер без движущихся частей, заоптимизированный донельзя, едва греющийся в обычных условиях, а в данных — прибитый к стене на уровне плинтуса, может быть и выживет.

Худший ответ: лучше тогда использовать аппаратное решение routerboard.com/product/101
Вопрос: Как перенести inline style в отдельный файл?

Лучший ответ: Например написать скрипт, который будет парсить текст внутри <> и составлять код css основываясь на id="(.*?)" и style="(.*?)"
Получим типа этого:#block-new47 {
display: block;background-position: 0% 0%;background-repeat: no-repeat;border-width: 1px;position: absolute;z-index: 126;top: 1481px;height: 70px;width: 66px;anchor-id: #block-new47;left: 321px;background-color: transparent;background-image: none;
}

Худший ответ: CSSComb и sublime text помогут.
Вопрос: Сложный background средствами чистого CSS

Лучший ответ: Попробуй так:
background: 
 url(../..) 0 0 no-repeat,
 url(../..) -123px 100% no-repeat, 
 url(../..) -456px 0 repeat-y;

Худший ответ: и 1 и 2 в css2.1 без дополнительных блоков невозможно.
Вопрос: Проблема с отображением верстки на ipad

Лучший ответ: Проблема в том что мобильные устройства распознают номера телефонов и преобразует их в активные кнопки...
Что бы этого избежать, нужно добавить мета теги:
Для iOS и Android.<meta name="format-detection" content="telephone=no">
Для BlackBerry:<meta http-equiv="x-rim-auto-match" content="none">

Худший ответ: Почему Вы используете тег dl для контактов в шапке сайта?
htmlbook.ru/html/dl
Ipad'a к сожалению нет, но вижу проблему на iPhone.
Для начала измените верстку, используйте обычные теги
Вопрос: Как сделать сервер не видным в интернете?

Лучший ответ: На ASA необходимо создать 2 зоны (напримерб trust и untrust) и разнести по ним интерфейс-в-сторону-провайдера (в untrust) и интерфейс-в-сторону-сервера (в trust). 
На интерфейсах задать security-level:
!
interface gig0/0
   description --to_ISP--
   security-level 0
   nameif untrust
!
int gig0/1
   des --to_server--
   security-level 100
   nameif trust
!
конфиг NAT:
object network server_local
 host 192.168.1.2
object network ISP_peering
 host 111.111.111.111
!
object network out_nat
 nat (trust,untrust) dynamic ISP_peering #либо через static режим
!
Так вы включите stateful обработку трафика и сервер снаружи будет недоступен (поток трафика должен будет инициировать сервер). Если есть необходимость получить доступность портов (например http) сервера снаружи, то просто добавьте ACL:
access-list outside_access extended permit tcp any object server_local eq www
access-group outside_access in interface untrust 
Естественно, это минимальный конфиг и для полного счастья его не хватит

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

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

Худший ответ: Скорее всего возможно, потому что не помню точно на ЮТУБЕ вроде. 
Видел видео а точнее передачу в которой говорилось, что могут хакнуть просто позвонив. 
Все детали там не оговаривались этого процесса но да можно я так полагаю это провернуть.
Вопрос: Организация работы между веб-дизайнером и фронтенд-разработчиком, предложения?

Лучший ответ: 1) Как вариант общее облако. Каждый проект - каталог с четкой структурой (чек-лист, исходники, тз и прочее). Я так работал - не хуже чем любая навороченная система управления проектами.
2) Полное соответствие psd макетов требованиям i-love-psd.ru . Для сеток susy.oddbird.net - очень крутой и гибкий, но для начала изучите его, есть нюансы.
3) Иконки и изображения (.svg, .png, .jpg). Делать отдельные паки. Растр делать с оглядкой на ретину (x2 к размерам). Тоже касается UI элементов, используемых в проекте - отдельный psd с UI.
4) Срок либо называет исполнитель и вы ему верите, либо ставьте грамотных арт-директора и front-end разработчика во главу отделов (они и контролить будут и сроки ставить).

Худший ответ: Сейчас это очень актуальный вопрос. Скоро на рынке будет много продуктов для слаженной работы дизайнера и верстальщика. Посмотрите сервисы типа Zeplin (скоро будет фотошоп) и Avocado (уже есть фотошоп). В них удобно организовывать проекты. Составлять гайды. Верстать. Скоро это станет нормой.Dropbox. Расшаривайте папку верстальщику без возможности редактировать. Так на его компе всегда будут актуальные версии файлов. Вы сохраняете у себя, тут же появляется у него. Меняете у себя, меняется у него. SVGПосле концепции сайта всегда составляйте ui-kit
Единственное с чем я ещё не определился, так это с картой связей в больших проектах.
Вопрос: Как сделать слайдер с контентом+изображение?

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

Худший ответ: Bootsnipp.com введите в поиск Carousel
Вопрос: PHP is new Java?

Лучший ответ: может немного не по сути вопроса, но чем обусловлен переход с java на php? Раньше такого не встречал

Худший ответ: Хотелось бы услышать ваше безумно авторитетное мнение насчет библиотек Dependency Injection и автолоадеров пакетов (use com.sun.awt.*). Особенно таких, которые будут жить отдельно от какого-то монструозного веб-фреймворка.


У php есть стандарт именования классов github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md Если сладовать ему, потребуется всего 1 любой автолоадер. Например, framework.zend.com/manual/2.0/en/modules/zend.loader.autoloader-factory.html
Вопрос: Какое есть ресурс для новичка, что бы ознакомится с серверной частью?

Лучший ответ: Вам не книга нужна, вам сюда нужно: phpfaq.ru/newbie/na_tanke
А так все просто, есть Linux - это операционная система, такая же как Windows, или Mac OS, или FreeBSD или еще 1000 различных вариантов. 
Есть веб-сервер, например apache или nginx. Их задача принять запрос от пользователя (из браузера), как-то его обработать и отправить ответ назад пользователю. Чаще всего это происходит по протоколу http.
А теперь рассмотрим обработку запроса несколько детальнее, допустим url example.com/index.html, тогда веб-сервер видит, что запрашивается файл /index.html, идет в директорию, которая является корневой для веб-сервера (пресловутый DOCUMENT_ROOT) и ищет в ней файл index.html. Если файл такой есть, то веб-сервер открывает этот файл и начинает его читать и прочитанное отправлять назад в браузер пользователя. Так происходит и с картинками.
Гораздо интереснее становится тогда, когда пользователь запрашивает файл вида index.php. Тогда сервер (например apache) видит, что файл этот не простой, а файл особого типа (грубо говоря типа PHP), и он должен быть обработан особенным образом, поэтому ссылка на файл передается интерпретатору языка PHP (в случае с apache это обычно mod_php,  с nginx - php-fpm), тот в свою очередь открывает этот файл, читает его, превращает его в байт-код, и затем запускает этот байт-код. Байт код выполняется, генерирует html и потом этот html передается назад веб-серверу, который пересылает этот html в браузер клиента.
А код на PHP уже внутри себя содержит команды взаимодействия с базой данных - язык запросов SQL. А база, точнее система управления базами данных (например MySQL) представляет собой отдельную программу, которая может быть запущена на той же машине, что и веб-сервер.

Худший ответ: Сервер по сути набор программ которые слушают порт. Как только на него приходит запрос, они возвращают ответ, запрограммированный заранее.
Установите OpenServer в Windows  и поиграйтесь с PHP, многое поймёте.
Вопрос: Midnight Commander mac os x alt+s

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

Худший ответ: Работает! Спасибо.
Вопрос: Включает ли понятие &quot;кодирование&quot; понятие &quot;шифрование&quot;

Лучший ответ: Кодирование != шифрование, это, я думаю, вы и сами понимаете.

Кодирование — произвольное преобразование исходной информации в другой вид. Часто это делается для хранения/передачи данных. В таком случае прямое преобразование называют собственно кодированием, обратное — декодированием. Кодирование == преобразование (причем не обязательно обратимое, например mp3).

Шифрование — частный случай кодирования. При этом, в отличие от кодирования, фиксируется цель данного преобразования — предотвращение несанкционированного доступа. Ну и (наверно) шифрование обязательно обратимо.

По пунктам:
1) Да.
2) Как синоним — однозначно нет. Как более общее понятие — в принципе да, но по возможности лучше использовать наиболее специфический термин.
3) А можно ли кодировать сообщения при помощи DES? Можно. Но чтобы подчеркнуть цель такого кодирования — защита информации, лучше использовать слово «шифровать».

С помощью base64 можно как кодировать информацию (так делают в email), так и шифровать (правда этот способ шифрования не слишком надёжен), в зависимости от цели применения.

Некоторые программы «шифруют» пароли пользователя, причём могут делать это даже без использования мастер-пароля, например браузеры. Несмотря на то, что тут нет ключа (мастер пароля) — этот процесс называют шифрованием, из-за его семантики.

Худший ответ: А как же сжимающее кодирование (сжатие), aрифметическое кодирование?
Вопрос: Атака на мой бедный микротик через ssh- это боты или кому то мой бедный роутер понадобился?

Лучший ответ: Я могу посоветовать использовать следующую цепочку в файерволе:/ip firewall filter

add action=jump chain=input comment="sshbruteforces chain" connection-state=\
    new dst-port=22 jump-target=sshbruteforces protocol=tcp
add action=drop chain=sshbruteforces comment="drop ssh brute forcers" \
    src-address-list=ssh_blacklist
add action=add-src-to-address-list address-list=ssh_blacklist \
    address-list-timeout=1w3d chain=sshbruteforces connection-state=new \
    src-address-list=ssh_stage3
add action=add-src-to-address-list address-list=ssh_stage3 \
    address-list-timeout=1m chain=sshbruteforces connection-state=new \
    src-address-list=ssh_stage2
add action=add-src-to-address-list address-list=ssh_stage2 \
    address-list-timeout=1m chain=sshbruteforces connection-state=new \
    src-address-list=ssh_stage1
add action=add-src-to-address-list address-list=ssh_stage1 \
    address-list-timeout=1m chain=sshbruteforces connection-state=new
add chain=sshbruteforces dst-port=22 protocol=tcp
add action=drop chain=forward comment="drop ssh brute downstream" disabled=\
    no dst-port=22 protocol=tcp src-address-list=ssh_blacklist
add chain=sshbruteforces dst-port=22 protocol=tcp connection-state=new
add action=drop chain=forward comment="drop ssh brute downstream" dst-port=22 \
    protocol=tcp src-address-list=ssh_blacklist
Ко мне тоже постоянно ломятся, это ботнет. Первое правило разместите над запрещающим input правилом. Остальные - неважно куда, на них будет произведён jump (это снижает нагрузку на процессор). Работает так: если в течение минуты с одного IP производится более 3х попыток входа - данный IP блокируется на 10 дней. 
Данная цепочка подходит тем, кто не хочет менять стандартный порт SSH и нуждается в доступе с любого ip-адреса. Так же можно настроить port-knocking, но это немного сложнее, приходится использовать дополнительный софтUPDATED Немного обновил и оптимизировал цепочку. Суть осталась прежней

Худший ответ: Порты надо переназначать ...
А то боты замучают.
Вопрос: С++. Работа с графикой. Когда начинать?

Лучший ответ: > Возможно перед работой с любой библиотекой нужно знать "основу" в самом языке?
Вполне логично, что язык надо знать, вопрос - насколько полно (особенно это касается C++, полностью его знают только разработчики стандарта и компиляторов).
OpenGL (который я бы советовал вам посмотореть) это по сути Си-шная либа, поэтому с ней проще - выучите что такое функции и указатели, разберитесь с базовыми типами данных и особенностями операций (чтобы не удивляться, почему 3 / 2 = 1, а 3.0 / 2.0 = 1.5), и можете пробовать. Из общего развития - матричная алгебра, особенности компьютерной арифметики (числа с плавающей точкой и т.д.). Ну и сама "графика" - устройство графического конвейера, типы рендеринга (фотореалистичный/реального времени), этапы рендеринга, и т.д.
Отдельная задача - уметь настроить компилятор и IDE для того, чтобы все, что использует OpenGL, нормально компилилось, но это вы и в гугле найдете.

Худший ответ: В С++ нет графических библиотек.(
Вопрос: Есть ли готовое SASS-решение для переноса цветов в отдельные блоки CSS?

Лучший ответ: Сделайте миксины, не?

Худший ответ: Александр Марченко хоть и не в полной мере ответил на вопрос, но задал правильный вектор мыслей...
Поискав тщательно в сети я не нашел подходящего решения, пришлось придумать самому.
Результат нашелся в совместном использовании многих возможностей SASS, вот он://переменные цветов
$rainbow-map: (staff: #ffcc66, azaza: #f00);

//цветовые свойства
@each $class, $color in $rainbow-map {
	.#{$class}-color {
		color: $color;
	}
}

//миксины цветов
@mixin rainbow($property: color) {
	@each $class, $color in $rainbow-map {
		.#{$class} & {
			@extend .#{$class}-#{$property};
		}
	}
}

.container-one {
	.block-one {
		@include rainbow(color);
	}

	.block-two {
		@include rainbow(color);

		.child-block-one {
			@include rainbow(color);
		}
	}
}
Хоть это и не "идеальный способ" который я искал, он вполне приемлем. У меня есть заранее заданная палитра цветов в каждом разделе сайта и все свойства мне достаточно вывести в отдельный блок. Так и размер CSS файла будет не большим, и цвета не придется ставить вручную.
Вопрос: Как сделать постоянные запросы?

Лучший ответ: Ratchet + websockets + fallback в long pooling (все на базе reactphp сделать и связать с основным приложением через очередь сообщений на rabbitmq/activemq/zeromq/resq/etc либо своими кастылями с базой данных). То что у вас отправлялось всем пользователем это лично ваша проблема - значит вы не разобрались как работать с websockets. У вас соединения должны быть привязаны к пользователям.

Худший ответ: Если не хотите поднимать комет сервер у себя воспользуйтись одним из Saas решений.
Вот несколько comet сервисов.
[Ru] comet-server.ru
[En] https://www.tambur.io
[En] pusher.com
Вопрос: Можно-ли публикавать статью от имени другого пользователя Хабра?

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

Худший ответ: Сам столкнулся с тем же, из-за низкой кармы не могу даже как черновик сохранить статью в персональный блог.
Видел на хабре подобные вещи, но считаю, что это не хорошо.
Хабр — саморегулируемое сообщество (функцию регулятора как раз и выполняет карма)
Т.е. по идеи человек с низким уровнем кармы не пишет достаточно хорошие статьи. И наоборот, чем выше карма, тем лучше статьи человека.

Другое дело, что карму-то не заработать хорошей статьей (бо не можешь ее опубликовать). Надо либо в Q&A писать\отвечать, либо просто комментировать чьи-то статьи.
Вопрос: Зачем «Одноклассники» запрашивают местоположение?

Лучший ответ: Товарищ майор хочет знать не только ваших друзей и родственников, но и куда вы ходите.

Худший ответ: геотаргетинг рекламы
Вопрос: Как на Golang передать значения другой программе?

Лучший ответ: Правильный вариант - оформлять программу в виде сервиса/демона с использованием этого https://github.com/takama/daemon или аналогичных пакетов.
Тушить её средствами управления сервисами/демонами. Есть даже готовые системы которые именно этим и занимаются - останавливают программу, обновляют, запускают.
Чисто - как передать команду: простейший TCP/IP, а удобнее даже http. Для Go это легко сделать с помощью пакета net/http. Словив HTTP GET (который легко подать curl, wget или встроить в свою утилиту обновления) по определенному URL, написанный вами, HttpHandler должен будет корректно завершить программу.  К пакету net/http есть множество иллюстраций, примеров, документации.

Худший ответ: Вы же сами ответили на свой вопрос: "мне нужно подать команду этому процессу". Именно так: вам нужно подать команду этому процессу. Средствами ОС, к примеру
Вопрос: Как узнать текст выражения, на котором eval() закончился с фатальной ошибкой?

Лучший ответ: Можете попробовать использовать PECL расширение runkit, если есть возможность его установки на сервер. В частности, runkit предоставляет класс Runkit_Sandbox, предоставляющий возможность запуска кода в изолированных условиях (в отдельно выделенной области памяти). См. метод Runkit_Sandbox::eval() в примерах в документации к классу. Также в runkit есть метод runkit_lint — аналог системного вызова «php -l file», но принимающий в качестве аргумента строку с кодом, а не путь к файлу.

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

Лучший ответ: Вот всё бы вам событие останавливать... Есть же target jsfiddle.net/petroveg/y8tcq2st
Ваши остановки на дадут статистику собрать пользовательскую.

Худший ответ: codepen.io/iiil/pen/leKJy
Попробуйте закомментить строчку e.stopPropagation();
и нажать на крестик. 
learn.javascript.ru/bubbling-and-capturing
Вопрос: Как увеличить скорость передачи данных через FTP-клиент FileZilla?

Лучший ответ: 1. Попробовать поменять активный и пассивный режим в настройках клиента.
2. Взять хостинг в России.

Худший ответ: Ничего.
С чего вы решили что должно быть быстрее?
Попробуйте другой протокол, возможно ситуацию немного лучше будет, но большого увеличения скорости ждать не стоит, у вас и так скорость неплохая.
Вопрос: Что лучше использовать reset.css или normalize.css?

Лучший ответ: Конечно же нормалайз! Ресет - древнее тупое г**нище.
Принципиальная разница в том, что нормалайз делает одинаково, а ресет, тупо всё обнуляет. Там где надо и там где вообще не надо.

Худший ответ: Лично я использую модифицированный reset.css из Compass, там есть новые HTML5 теги.
Но многие уже пользуются normalize.css. Как пишут выше, в reset иногда неудобно прописывать базовые отступы для всех элементов, например параграфов.
Еще одно недавнее обсуждение:
Как использовать normalize.css, а не reset.css при верстке сайтов с проработанным до мелочей дизайном?
Вопрос: Подскажите хорошие Веб камеры

Лучший ответ: Примерно за 30$ посоветовал бы Logitech HD C270 очень хорошая камера.

Худший ответ: Сестре такую купил. За свои деньги вполне.
Вопрос: Какой framework лучше подойдет для новичка, Laravel или YII?

Лучший ответ: 1. Yii2
2. ООП, неймспейсы, SQL и общий здравый смысл. 
Из опыта общения на форумах, есть два основных косяка: использование фреймворка для всего ("подскажите экстеншн, складывающий 2 + 2") и переоценка возможностей фреймворка ("хочу сделать соцсеть, подскажите как"). Их следует избегать.
3. Имеются в обоих. Просто в некоторых еще не нашли. А в некоторых, допустим, нашли: habrahabr.ru/post/219475

Худший ответ: 1. Все современные фреймворки хороши. Yii любят в России и если в будущем будете устраиваться на работу, его знание будет плюсом. Плюс там больше русскоязычной инфы. Но Laravel значительно более популярнее зарубежом, инфы (на английском) и, наверное, экстеншнов под него в целом больше.
2. Для каждого нужны будут общие представления о правильной архитектуре приложения - зачем нужны интерфейсы, репозитории и т.д., понимание, что MVC - это не культ. В контексте Laravel вышло несколько книг и статей на эту тему - например, culttt.com/code , "From apprentice to artisan" от Taylor Otwell.
3. Laravel покрыт тестами, про Yii не знаю.
Вопрос: Java.Что из книг прочитать?

Лучший ответ: Thinking in java (Bruce Eckel) ..В русском варианте могут отсутствовать упражнения..Если сложно пойдет, то для легкого, так сказать, введения - Файн Яков  Программирование на Java для детей, родителей, дедушек и бабушек..

Худший ответ: Если для новичка, то Thinking in java (Bruce Eckel) будет рановато. Начать надо бы с Шилдта и практики, а потом уже и Экеля читать. Кстати, в русском варианте не хватает парочки нужных разделов.
По сути Шилдт - это азбука, а Экель - как правильно писать )
Вопрос: Язык с нормальным порядком редукции?

Лучший ответ: О! Нашлась такая вещь: LCI Очень неплохо для начала.

Худший ответ: Насколько я помню, Скала удовлетворяет всем вашим требованиям. Да, типизация там статическая, но именно она и позволяет задать тип бесконечной рекурсии, и вполне нормально с этим живёт. Советую курс progfun на coursera.
Вопрос: Где бы найти англоязычные лекци по IT с субтитрами или текстом?

Лучший ответ: Например, Stanford School of Engineering see.stanford.edu/see/courses.aspx там есть и лекции и текст.

Худший ответ: > Computer Science (операционные системы, алгоритмы, сети...)

Вы уверены, что все перечисленное — это именно CS, а не Software Engineering?
Вопрос: Сколько вариантов дизайна сайта вы делаете?

Лучший ответ: Один.
Рассказываю почему — прежде, чем нарисовать что-то в фотошопе, надо выяснить много всего, пройти несколько этапов, а именно:
1. Аналитика — что за фирма, узнать чем живёт, как продаёт, что продаёт и пр.;
2. Прототипирование — хоть на салфетке, но накидать примерную структуру будущего сайта. В идеале интерактивный прототип, если есть сложные формы и под подпись с утверждением;
3. Только сейчас поднимаем тему о цветах и прочей лабуде — показываем примеры, разговариваем много и долго о будущем оформлении, выясняем чем руководствуется человек и как ему помочь в выборе;
4. Рисуем концепт — мы уже не летаем в облаках, а рисуем обговоренный макет (трачу на это не более 7-8 часов);
5. Вносим поправки и дорабатываем детали главной страницы (20+ часов на это закладываю);
6. Рисуем внутренние (20+ часов).
Не надо гадать что понравится, выясните что нужно. Говорите, обсуждайте, зачем эти игры в напёрстки?
Доступно донёс?)

Худший ответ: один. Если вам приходится делать больше, значит у вас плохой менеджер или вы сами не понимаете задач которые перед вами ставит клиент.
Вопрос: Software RAID 0 SSD?

Лучший ответ: вобщем, если подробней
то, что вы говорите АМД — это dmraid, en.wikipedia.org/wiki/TRIM#RAID_issues — тут пишут, что трим он пробрасывает и поддерживает
если ставить mdadm — там есть экспериментальная поддержка, но только оффлайн, насколько я понимаю, по расписанию и нужно ковырять
где-то видел статейку, где рассказывали, что lvm дружит с тримом
так-же что-то проскакивало про эту трудновыговариваемую ФС, у которой до сих пор нет чекалки (бээртээфэс — кактотак), то, что она умеет рейды искаропки — это изначально было, но еще и говорят, что умеет тримы делать

теперь про сендфорс2
полно информации о том, что ему трим не нужен, а в некоторых случаях даже вреден
даже не смотря на то, что на форуме поддержки ОСЗ вертекс3 мне сказали, что лучше трим включить — я у себя на маке трим енеблер не активирую, деградаций не замечаю, а вот периодический разноцветный кружочек без причины — исчез

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


hdparm --user-master u --security-set-pass NULL /dev/sdX

hdparm --user-master u --security-erase NULL /dev/sdX

hdparm -N p_sectors_ --yes-i-know-what-i-am-doing /dev/sdX
где _sectors_ - новый размер диска в секторах (total_sectors*0.9)

hard reset или power cycle (обязательно!)