pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как реализовать поворот треугольника за курсором мыши?

Лучший ответ: Рисуете треугольник, не важно в чём, хоть на канвасе, хоть PNG-шку вставьте. Далее, на onmousemove вычисляете угол между центром страницы, начальным положением вершины треугольника и положением мыши, ну и после задаёте вашему треугольнику свойство transform: rotate(Ndeg); где N  полученный угол

Худший ответ: как я понимаю это работа с canvas
Совсем не обязательно. Треугольник можно вставить как картинку (формат SVG будет хорошим выбором), расположить его абсолютным/фиксированным позиционированием в нужном месте, а дальше к нему применять CSS-трансформацию "rotate". Пример того, как следить за мышкой и применять трансформации есть вот тут.
Вопрос: Как правильно подставить $i?

Лучший ответ: Используйте фигурные скобки, как-то так:$a1 = 'foo';
$a2 = 'bar';
$a3 = 'buzz';

for ($i = 1; $i < 4; $i++) {
    echo ${'a'.$i};
}sandbox.onlinephpfunctions.com/code/ba400f8fd07083...

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

Лучший ответ: А что не так? Тут вам не C#, чтоб на каждый чих эксепшены кидать, ибо на это тратится много драгоценных процессорных тактов, предполагается, что программист знает что делает и сам следит за тем, чтобы не получить доступ к чужой памяти. Если вы так ходите по стеку, то в принципе может ничего страшного и не случится(хотя всё равно не стоит), а вот с памятью, полученной через new, скорее всего программа упадёт.
en.cppreference.com/w/cpp/language/ub

Худший ответ: Таков смысл «си с крестами» — «вы не платите за то, чем не пользуетесь». В данном случае: не пользуетесь авариями — не платите за них. Кстати, самый эффективный способ обработки аварий на x86 только недавно лишился патента, и я не в курсе, есть ли он в MinGW (на x64 патент обошли и он там давно был). Плюс совместимость с Си.
Правда, мне пришлось сделать свои массивы Array1d и Fix1d именно для того, чтобы проверять границы: включено в debug и выключено в release.
Вопрос: Может ли апворк предоставить документ (оффициальный) о моем заработке за пол года?

Лучший ответ: Самое официальное это Reports->Certificate of Earnings там pdf с подписью.

Худший ответ: Я бы даже сказал вы можете любой документ  сделать в ворде и распечатать на принтере, вообще любой.
Вопрос: Конструкторы vs дизайн + верстка ручками. Что выбрать?

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

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

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

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

Лучший ответ: sashka_amelin32, бро если делая лабораторку по простеишим массивам и ты "долго уже сижу и не могу понять в чём проблема"
то или плохо высыпаешься или плохо понимаешь что вообще делаешь.
а уж ерничать когда тебе говорят что решать такое за тебя не особо хотят) тем более не надо))
а по факту смотрите в отладчике очередность выполнения команд)if (i == mas.Length)
                        Console.WriteLine("Массив №1 прошёл проверку. 0");
отладчиком дойдите до этого места . посмотрите чему равно i и mas.Length
да и в принципе, пошагово отладчиком и увидете, где сбоит, не заходит в условие или перескакивает.
удачи в обучении)

Худший ответ: if (mas[i] % 2 == 0 && mas[i - 1] % 2 != 0 || mas[i] % 2 != 0 && mas[i - 1] % 2 == 0) continue;
Здесь вы говорите, если текущее и предыдущие значения четное и нечетное, то проверяем следующую комбинацию за счет того, что написали команду continue
Я бы даже так написалnamespace Test
{
    class Program
    {

        public static void checkArray(int[] mas)
        {
            int check = 0;
            for (int i = 1; i < mas.Length; i++)
            {
                
                if (mas[i] % 2 == 0 && mas[i - 1] % 2 != 0 || mas[i] % 2 != 0 && mas[i - 1] % 2 == 0)
                {
                    check++;
                    if (check == (mas.Length - 1))
                        Console.WriteLine("Массив №1 прошёл проверку. 0");
                }
                else
                    Console.WriteLine("Массив №1 не прошёл проверку. Индекс-" + i);
            }
        }
        static void Main(string[] args)
        {
            int[] mas = { 1, 2, 3, 4 };
            int[] mas1 = { 1, 2, 3, 5 };
            checkArray(mas);
            checkArray(mas1);
            Console.Read();
        }
    }
}
Вопрос: Как конкертно будет работать dns в этом случае?

Лучший ответ: Условия:
Вы создаете something1234.my_website.com
Пользователь первый раз делает пинг something1234.my_website.com
1. Система смотрит в файл hosts, не находит
2. Система смотрит в свой кеш, не находит.
3. Система делает запрос на DNS сервер (в вашем случае указан 8.8.8.8)
4. Днс сервер 8.8.8.8 проверяет свои рулы (аналог hosts), не находит.
5. Днс сервер 8.8.8.8 проверяет свой кеш, не находит
6. Днс сервер 8.8.8.8 обращается к корневому NS, который отвечает за зону .com, чтобы выяснить кто является NS сервером для my_website.com и получает NS сервер, который отвечает за my_website.com 
7. Днс сервер 8.8.8.8 обращается к NS сервер, который отвечает за my_website.com, и запрашивает IP something1234.my_website.com
8. Днс сервер 8.8.8.8  получает IP от вашего something1234.my_website.com и передает его вашей системе, парралельно сохраняя в своем кеше на x времени (время хранения указано в NS записи, но кеш может быть отдельно ограничен на ДНС сервере
9. Ваша система получает от ДНС сервера 8.8.8.8 IP адрес и сохраняет в своем кеше на время, указанное в NS записи, но в принципе кеш локальной системы может быть настроен иначе.
10. Разрешение доменного имени в IP адрес завершено, команда пинг пингует удаленный сервер

Худший ответ: Как работают публичные и корневые сервера (проверяется dig +trace @8.8.8.8 domain.lel):
Запрос приходит на публичный сервер (все они рекурсивные для большинства запросов, т.е. они не владеют записями доменов и перенапрявляют запросы на тех, кто обладает в обратном порядке уровней доменов)
Первой ступенью рекурсии - владельцы домена ., т.е. корневые домены всей системы доменных имён. У них есть записи всех серверов, управляющих доменами первого уровня, в вашем примере .com
Запрос переходит к серверам-владельцам зоны .com , они отвечают, какой сервер владеет зоной .my_website.com
Запрос приходит этому серверу, и он даёт свой ответ публичному серверу, который отвечает клиенту
1) Google Public DNS обратится к DNS-серверу, на котором хостится зона my_website.com
2) После того, как вы поменяете записи SOA в зоне .com через хостера на свой DNS-сервер, запросы от публичных серверов будут приходить к нему
3) RFC 1034
Вопрос: Почему накапливается ошибка в дате?

Лучший ответ: Не пишите глупости. Нужна разница между двумя датами, DateTime::diff() в помощь.

Худший ответ: 86400*0.0416666667 = 3600 = 1час
Смена времени с зимнего на летнее
Вопрос: Почему внешние HDD дешевле внутренних того же объёма?

Лучший ответ: 
Если честно я тоже это заметил, те кто тут пишет что обычно разница на оборот, вы хоть зайдите в интернет магазины и для начала посмотрите цены, ленивые застранцы, а только потом пишите и корчите из себя экспертов!
внешние жёсткие диски
а теперь на внешние
У меня есть знакомый который работает в SC (сервисный-центр) и объяснил о том что во всех переносных HDD стоят бракованные или дефектные
если его подключить к SATA и прогнать через викторию, вот что Мы увидем
а если ты его прогонишь через USB интерфейс, то в принципе он будет нормальный, так как он не сможет достигнуть той скорости которая делает SATA
вот по этому в USB 2.0 самые тормознутые HDD
и естественно USB 3.1 более менее живые
для винды они не годятся,  да и рассчитанные они на кратковременное использование, подключил - отключил
а значит эксплуатационный период использования уменьшенный чем у внутреннего!

Худший ответ: нужно ставить HDD в ноутбук большего объёма и меня мучает мысль: а почему бы не купить более дешёвый внешний HDD, выковырять его оттуда и вставить куда надо? 
Имейте ввиду, что при факторе 2.5", высота нескольких устройств может отличаться.
То есть некоторые модели дисков могут не влезть в некоторые модели лэптопов.
Вопрос: Возможен ли перенос (клонирование) Ubuntu 16.04 LTS на новый SSD?

Лучший ответ: Собираем тарболл по образцу gentoo stage4, разворачиваем его на новом носителе, чрутимся, устанавливаем grub.
Все делается в пяток команд без всяких клонезил.

Худший ответ: Копирование, разумеется, не вариант, а вот всякие там dd/clonezilla/итп не потеряют актуальности никогда. Но если новый диск больше размером, или наоборот, меньше - таки проще переустановить систему и скопировать нужные пользовательские файлы на новый диск.
Вопрос: Оптимальное ли условие?

Лучший ответ: некрасиво, но раз работает. то ок

Худший ответ: Можно так:function chucha($ar,$yuor_array){
  foreach($ar as $one){
    if(isset($yuo_array[$one])){
      return true;
    }
  }
return false;
}

$keys_arr = [21,58,59,60,61];

if (chucha($keys_arr,$yuor_array)){
  echo 'Уря';
}
Вопрос: Новичок программирования и 1С. Стоит ли пробовать работать в данной среде, или ничего хорошего не выйдет?

Лучший ответ: Если хотите быть разработчиком на Java/C#/Python то в 1С даже и не думайте соваться (а то затянет ещё.. :) ) Получу ли я хороших знаний как программист ООП, то что мне поможет работать в будущем, например, с Hibernate(ведь 1С это все про базы данных)
С ООП не поможет, его в 1С нет, с hibernate тем более не поможет, в 1С ОРМ более высокого уровня (и более продвинуто-изощренный) такое вы врятли встретите в обычных языках и опыт будет бесполезен),или это может меня даже дегроднуть своеобразным синтаксисом и куцым функционалом
там отличный функционал в своей сфере но для программирования в обычном ИТ он не помогает и считается что портит людей и это никому не будет интересно совсем, даже если самостоятельно я буду пытаться развивать нормальные языки? 
это не будет плюсом при трудоустройстве, а учитывая отношение внутри отрасли к 1С, то лучше особо не упоминать об этом опыте
p.s. я суммарно около 7-8 лет работал с 1С, сейчас, к счастью надеюсь навсегда ушел (второй раз :)) в большое ИТ...и жалею что сразу не пошел в обычный программинг, хотя определенный полезный опыт 1С мне дал, но опыт не в программинге

Худший ответ: С точки зрения трудоустройства, если вас зовут на собеседование, стоит сходить. В 1С сфере постоянно требуются новые специалисты, работы там много. Обычно два месяца испытательный срок, оплачиваемый оклад стажера, за это время вы точно поймете нравится вам это или нет. Следует учитывать, что подготовка 1С программиста в среднем 1.5 года. Шансы, что вас возьмут высоки. Франчайзи готовы обучать и развивать вас, в отличии от Junior Developer - тут все не так радужно, сейчас никто не хочет возиться и вкладываться в начинающего. Поэтому не факт, что вы тут быстро трудоустроитесь в отличии от 1С варианта.
Вопрос: Разбить обычный HDD диск: 1 блин = 1 раздел. Реально?

Лучший ответ: Высокоуровневыми средствами невозможно. Из-за логической адресации (LBA) Вы не можете знать, на каком блине находится Ваш раздел.
Можно пытаться подбирать экспериментально для каждого диска, причём вплоть до экземпляра.
Или же тупо отключить один из блинов вообще.
Для SSD всё то же самое, только алгоритм работы контроллера может быть ещё заумнее за счёт сжатия или шифрования.

Худший ответ: Матчасть учить надо ' блин где вас учат :-)
Вопрос: Как уменьшить связанность классов?

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

Худший ответ: Поможет перестать мыслить плоско и использовать диаграмму классов. К проектированию все это не имеет отношение. 
Прочитайте про декомпозицию систем, уроню декомпозиции, теория систем, SOLID.
Как я понял, вам нужно сделать модуль парсера.
Point, Edge, Graph - это не программные сущности, а просто структура данных без функционала. Им точно не нужен Container.
Parser - универсальный модуль, который может серилизовать и дессерилозвать, любые абстрактые данные. Его уже можно разбить на модули для записи и чтения файлов или на парсеры конкретных объектов. 
Модули нижнего уровня декомпозиции не могут ссылать напрямую к модулях верхнего уровня. Все связи должны идти сверху-вниз. А вот уже на такой структуре можно применять инверсию зависимостей.
Вопрос: Как сейчас правильно подключаться к БД?

Лучший ответ: www.phpactiverecord.org
https://github.com/jpfuentes2/php-activerecord
пойдет?
Ну и вот тут, как обычно есть что посмотреть:
https://github.com/search?utf8=✓&q=php+activerecor...
https://github.com/search?utf8=✓&q=php+ORM&type=Re...

Худший ответ: Для мелких проектов использую https://medoo.in/doc
Работает через PDO.
Requirement
PHP >=5.4 with PDO supported.
Installed SQL database like MySQL, MSSQL, SQLite or others.
Make sure php_pdo_xxx extension is correctly installed and enabled.
A little bit SQL knowledge.
Вопрос: Как оптимизировать приложение на React/redux?

Лучший ответ: Много объектов в DOM дереве - зло. https://bvaughn.github.io/react-virtualized/ в помощь.
Redux.
Если есть computed selectors - оберните их в https://github.com/reactjs/reselect/ 
Убедитесь, что у Вас правильная "форма" (shape) стора. Продумайте, в каких структурах лучше хранить данные, чтобы их было проще обновлять/получать.
Если есть узкое место в множестве преобразований данных: задумайтесь о таких мелочах, вроде создания новых функций-коллбэков, на это тоже ресурсы расходуются - возможно надо применить что-нибудь из functional programming (lodash-fp, ramda, most).
Не переборщите с магией. Старайтесь писать приложение так, чтобы код был максимально близок к текущему стандарту в браузере. Для этого тюнингуем babel-preset-env, с указанием нужных targets.browsers, и смотрим на caniuse/mdn какие фичи из стандартов используете и какие поддерживаются текущими браузерами.
Не могу найти твит одного из разработчиков React. TL;DR - React не является серебрянной пулей для решения задачи огромной перерисовки.
Так же, почитайте: https://jakearchibald.com/2017/netflix-and-react/

Худший ответ: В доке есть даже отдельная статья на эту тему.
Вопрос: Можно сделать alert со звуком на JS?

Лучший ответ: можно еще так: var audioAlert = new Audio("http://www.mult.ru/rings/night_elf_track.mp3");
audioAlert.onplaying = function () {
  alert("hi");
}
audioAlert.play();

Худший ответ: Судя по всему так:<audio id="xyz" src="whatever_you_want.mp3" preload="auto"></audio>{
    document.getElementById('xyz').play();
    alert("Thank you!");
}
Вопрос: Почему передаются только избранные параметры через форму?

Лучший ответ: Судя по форме, у вас наоборот не должны приходить поле "phone", так как в input id="phone" не заполнено name="phone". Но это если вы отправляете через post. Что вряд ли, по тому что для отправки нужно не < button type="submit" > а < input type="submit" >
Если же вы отправляете через AJAX (без перехода страницы) надо смотреть также в JS скрипт, какие именно он поля передаёт.

Худший ответ: Добавьте атрибут name, там где его нет
Вопрос: Как обычно пишут приложения на react.js?

Лучший ответ: или есть какой-нибудь другой способ
есть, сразу верстать в jsx

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

Лучший ответ: Используйте css media queries
Или разную сетку для разных устройств, напрмиер, с помощью bootstrap.
Полезно погуглить и почитать и про media queries и про bootstrap, потому как иногда нужно все же прописать свои дополнительные стили\костыли и одним бутстрапом не отделаться.

Худший ответ: Используйте медиа-запросы (как выше написали) + FlexBox + CSS Grid.
Вопрос: Есть ли смысл в рекламировании себя, как специалиста, в соц. сетях?

Лучший ответ: В linkedin создай профиль и тебя достанут приглашениями. И гугл и все остальные.

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

Лучший ответ: Не начинайте с Arduino - это не имеет с программированием микроконтроллеров ничего общего. По хорошему начать стоит с внутреннего устройства микроконтроллера. Лучший, но не очень дешевый вариант - микроконтроллер AVR (по сути та же Arduino, но без Arduino IDE) с отладчиком. Так Вы и остановить выполнение программы сможете и поглядеть где какие  данные в регистрах, и даже какие сигналы на портах ввода/вывода. По AVR очень много информации как на английском, так и на русском.
Если хочется совсем почти ничего не затратить - тогда STM8 с отладчиком ST-LINK. Информации по ним меньше, зато дешевле чем AVR.
Паяльник нужен будет лишь изредка. Для начала все можно собирать на беспаечной макетной плате.

Худший ответ: Arduino это только бренд, название, по факту это железка на базе микроконтроллера AVR. Берите любую, хоть Arduino Nano. Намигаетесь светодиодом, почуствуете удобство :) kn0ckn0ck, не вводите людей в заблуждение, язык там не "С-подобный", а чистый Си++.
Просто если писать программу в Arduino IDE, то эта самая IDE добавляет ряд файлов при компиляции, при этом компиляция осуществляется родным компилятором от AVR Studio, программирование AVRDUDE. Кстати, ничто не мешает писать программу под ардуино в AVR Studio. Можете обзавестись эмуляторов JTAG, тогда сможете использовать всю мощь отладки на реальном железе. Кстати, туже ардуину можно программировать через ISP разъем прямо в Arduino IDE.
РЕЗЮМЕ: для старта достаточно купить Ardunio Uno или Ardunio Nano.
Вопрос: Зачем и где именно писать @Override?

Лучший ответ: Это аннотация пишется над методами, которые переопределяются из супер класса.
Это что-то вроде страховки, гарантирующая что 100% переопределен метод.class A {
public void superMethod() {}
}

class B extends A {
@Override
public void superMethod() {}
}
Компилятор, когда встретит данную аннотацию, проверит, чтоб сигнатуры методов в супер классе и в под классе совпадали, т.е. вы переопределили метод, и в полиморфизме будит вызываться переопределенный метод. 
Если вдруг вы ошиблись в сигнатуре метода (например пропустили букву в название), то компилятор выдаст ошибку

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

Лучший ответ: Всегда

Худший ответ: Owl Carousel хороший.
Вопрос: Стоит ли основной тематикой сайта(школа доп. образования) делать и уроки по иностр.языкам и уроки по математике?

Лучший ответ: Если, с точки зрения SEO разницы нет, как говорит Евгений Юдин, то, поддерживая его слова, добавлю: (раз в теме маркетинга вопрос задан), с точки зрения маркетинга - это, на мой взгляд огромный плюс и удовлетворение современных потребностей рынка (социокультурных потребностей): потребность синтетического (в противовес "голому" аналитическому), системного, синергийного, если хотите, изучения предметных областей. А тут явная синергия гуманитарного и естественно-научного знания - что огромный плюс. Вообще, это разделение искусственное и много хорошего, особенно в современном мире не несет, напротив естественникам приходится потом разбираться в гуманитаристике, а последним в естественных науках. Объединяя их вы делаете очень актуальное предложение, отвечающее потребностям учеников. Вы не указали о каком именно доп. образовании идет речь, но если о "предпрофессиональном" (в период профессиональной ориентации) - то это еще больше подтверждает прошлый тезис - это позволяет дать ребенку широкий диапазон возможностей для его ощущения, для раскрытия своих способностей наиболее ярких.

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

Лучший ответ: а где подробности о выбранных планах?проект ASP.NET в личных целях можно утоптать в бесплатные планы точно.. либо вы много чего не договариваетеps личный опыт - все работает очень круто. бюджетные хостинги не сравнивать. но это осознается только через пробы.. ни кто не верит на слово ))pps можно искать выгоды на AWS (и то очень сложно), но ажурь дружественнее всему дотнетовскому. для других стеков все остальные хостинги - гугл, и все и вся остальное

Худший ответ: Целесообразно использовать для pet-проджектов, если умещаются в бесплатные лимиты. Либо для entreprise решений, где важны отказоусточивость и масштабируемость. 
Для сайтов-визиток  вообще не целесообразно.
Вопрос: Как сделать наклонные карточки превью сделанных сайтов?

Лучший ответ: В новых версиях есть функция перспективы: сначала обозначаете края слоя, а потом наклоняете их как вам заблагорассудится. Функция находится в меню Edit и называется Perspective Warp

Худший ответ: Если не разбираетесь с Photoshop - гуглите PSD Mockups.
Вопрос: Есть ли уроки haskell под windows?

Лучший ответ: Если вас вопрос ОС останавливает то может оно вам и не надо?

Худший ответ: stepik, 2 курса
Вопрос: IT-блог как трудовая книжка программиста?

Лучший ответ: 1. Личный блог, если вы его правильно оптимизируете, сможет давать вам лиды с поиска. Например, вы можете написать несколько статей на тему "Найти программиста и не прогадать", "Хороший программист - на все золота". Т.е. с вхождением в метатеги в тексте запросы, по которым могут искать такого специалиста. Да, это чисто коммерческая история но и вы ведь работаете за деньги, не так ли, и это всё не из-за любви к искусству, а чтобы найти клиентов.
2. Человек который пишет, всегда "выше на голову" того, кто не пишет. Конечно при условии, что они на примерно одном уровне и человек не пишет ерунды.
3. Чтобы не прослыть копипастом, напишите в блоге, что это ваши личные статьи, уникальный контент, и что если кто-то хочет его использовать, то ссылка обязательна. Гит и т.п. профильные сообщества никто не отменяет.
Успехов, направление верное. Лучше это делать, чем не делать. Я кстати себе нашел разработчика на один проект на битриксе именно через его блог, в поисковой выдаче.

Худший ответ: Я веду блог. Поначалу писал сложные статьи, но посещаемость была невысокой. Потом стал писать проще статьи но больше и посещаемость сразу выросла )
Вопрос: Тег p внутри h2 — хорошо или плохо?

Лучший ответ: В спецификации для подобного даже есть специальный раздел Subheadings, subtitles, alternative titles and taglines https://www.w3.org/TR/html50/common-idioms.html#co... 
Там один из вариантов:<header>
  <h2>3D films set for popularity slide </h2>
  <p>First drop in 3D box office projected for this year</p>
</header>

Худший ответ: Можно и секции писать
И тут
Вопрос: Какой посоветуете linux-дистрибутив для новичка?

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

Худший ответ: debian ибо куча гайдов в интернетике
Вопрос: Как в HTML email правильно сделать такое?

Лучший ответ: картинкой, вырезать все вместе

Худший ответ: как насчет background-image?