Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как посмотреть количество открытых файлов в системе?

Лучший ответ:
Открытые файлы показывает конечно же lsof, а параметры ядра больше касаются дескрипторов, эти конкретные, означают:
nr_open - жесткий лимит на открытые дескрипторы, более полезен параметр file-max - мягкий лимит.
file-nr - показывает выделенные дескрипторы, неиспользуемые и максимум, соответственно. Число выделенных дескрипторов больше, т.к. ядро их выделяет динамически и не освобождает, так что их число постоянно растет.

Худший ответ:
Команда "lsof | wc -l" показывает гораздо большее значение, чем всего открыто файлов в системе на данный момент на самом деле. 
Это связано с тем, что по несколько раз в подсчёт попадают одни и теже файлы, используемые разными процессами.
Для подсчёта общего числа открытых файлов лучше использовать первое значение в выводе команды "cat /proc/sys/fs/file-nr".
Либо, если всё же использовать lsof, то вывод придётся подвергать дополнительной обработке, убирая дубликаты. Как проверить все открытые файлы пользователем или...
Вопрос: Почему у неинициализированной переменной значение 0?

Лучший ответ:
Потому что так сложились звезды. Потенциально, вывод может быть любым, потому он и undefined. Ноль - входит в множество всевозможных вариантов

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

Лучший ответ:
Томита-парсер в помощь :)
это не регулярка, но то что вам нужно.
api.yandex.ru/tomita

Худший ответ:
А в чем выбирать то? Если просто текст, то что-то типаecho "Покупать #300 Иванов иван ИВАНОВИЧ адрес Тверская 6" | awk '{print $3}' 
Иванов
Вопрос: Как заблокировать торренты на Mikrotik?

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

Худший ответ:
Попробуйте forum.mikrotik.com/viewtopic.php?f=2&t=73462 - сообщите результат.
Вопрос: Как составить правильную модель mysql?

Лучший ответ:
habrahabr.ru/post/254773
Исходя из описания, вы верно разбили сущности на 3 таблицы.
Вам не придется создавать промежточную таблицу если рецепт будет принадлежать к одной географической кухне (отношение один -к-одному). Когда вы добавите таблицу География кухни, то просто id из этой таблицы сопоставите полю в таблице рецептов (geo_region_id)
Если же вы реализуете отошение один-ко-многим, то без промежуточной таблицы не обойтись.

Худший ответ:
По-моему тут таблица для связи лишняя. Просто добавляете поле, например ingredients и в него через запятую все ингридиенты из таблицы ingredients. 
если будут ещё "блоки" то просто новое поле. 
 Минус здесь в том, что если вы захотите сделать поиск рецептов по ингридиентам это будет дольше, нежели с таблицей связей, а плюс - проще находить сами ингридиенты. 
Можно сделать "глобальную" таблицу связей,  где будет хранится  адишник, айдишник для связи, исходная таблица и таблица с которой связывается
Вопрос: Организация параллельных запросов

Лучший ответ:
А почему бы не переложить задачу на SQL Server сделав например union all 30-ти таблиц?

Худший ответ:
Если у вас большой простой по i/o, то наверное можно распараллелиться на обычных потоках
Вопрос: Какую фриланс биржу выбрать для начинающей веб-студии?

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

Худший ответ:
Если есть хоть какое-то портфолио - то оставляем Elance и oDesk, можно на всякий случай зарегистрироваться и отслеживать заказы на free-lance.ru и freelansim.ru. 
Остальные - бесполезны, а freelancer.com - и вовсе мерзость с неадекватными заказчиками и засильем индусов-демперов.
Вопрос: Как осуществляются переходы по ссылкам внутри сайта (HTML, JS, php)?

Лучший ответ:
Это элементарно просто и можно реализовать на голом HTML. Почитайте здесь

Худший ответ:
Я конечно мог не понять вопроса но чтобы перейти на другую страницу сайта можно использовать следующий тег:<a href="pagename.htm">текст ссылки</a>
ПС простите если что не так.
Вопрос: Шрифты или картинки для иконок что оптимальнее?

Лучший ответ:
Учитывая кроссбраузерность и кроссплатформенность, а так же удобство редактирования - потенциальных проблем со шрифтами больше всего.
Создание svg-спрайта с генерацией fallback для не поддерживающих svg браузеров легко автоматизируется.
Для иконок с градиентами, тенями и т.д. так же не сложно делать png-спрайты с версиями под ретину.
Если устраивает поддержка браузерами - svg symbols. Это все преимущества спрайтов + все преимущества шрифтов.
Так что, на мой взгляд,  в топку шрифты. В проектах не использую их принципиально.

Худший ответ:
Font-awesome на некоторых Apple не отображаются ;)
Вопрос: И все же как правильно заряжать macbook?

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

Худший ответ:
не отключал от розетки год - батарея умерла, так что вы на верном пути)
Вопрос: Есть сайт на html css js как мне защитить его от скачивания например wget?

Лучший ответ:
Никак, + банально через ctrl+s сохранят, если надо будет

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

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

Худший ответ:
Я увы не являюсь СЕО специалистом, но таковые мне пару недель назад говорили что регионы можно не стоит выносить как поддомены. Мол один большой сайт будет лучше продвигаться нежели много небольших.
Вопрос: SQL БД на файлах для простого сайта

Лучший ответ:
Как же можно такое спрашивать? www.sqlite.org/

Худший ответ:
Если использовать sqlite с перспективой перехода на MySQL
то продумай вопрос некой абстрактной надстройки — абстрактного класса или класса обертки, епе тебе больше нравится.
Вопрос: Lenovo G510, после прошивки биоса не включается..?

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

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

Лучший ответ:
Как правильно заметил volkano сначала нужна база, инструменты, с помощью которых вы сможете верстать макеты. То бишь связка html/css ну и по хорошему в сторону javascript посматривать. Жмяк - сам проходил, интересно и познавательно, а так же в рассылке на почту раз в месяц вроде присылают по 3 макета для практики.
По поводу JS вам сюда, а так же книги издательства O'reilly.
Обучающие материалы приведенные мною - личный опыт и мне подошли, не могу обещать что вам такая форма обучения подойтет, но по интернету обучаещего материала море, гуглите))
Начинать можно с любых макетов, тут уж ваше упорство и усидчивость главное. Хотите и вам это интересно - осилите. Практировался на некоторых макетах из этого ресурса. Вроде там к некоторым макетам так же есть и готовая верстка, в случае чего можно подсмотреть))
Успехов вам!

Худший ответ:
Мне кажется обучения надо начинать с учебника/курсов, а если уже есть знания можете потренироваться в решении CSS/HTML задачек вот здесь - htmlbook.ru/practical
Вопрос: Как узнать какой порт занимает MongoDB в Ubuntu 14.10?

Лучший ответ:
sudo netstat -tulpn
Если процесс запущен, найдете порт в списке.

Худший ответ:
cat /etc/mongod.conf | grep "^port"
Если ничего не выведется, значит используется порт по-умолчанию. Если выведется — будет видно, на каком порту висит монго.
Так же, может помочь cat /var/log/mongodb/mongod.log — там, возможно будет написано, в чём проблема. Может быть вы к правильному порту цепляетесь, но нужно дополнительно вводить имя пользователя и пароль для авторизации.
Я тоже пользуюсь Robomongo — он на локальной машине нормально всё находит. Если вы пытаетесь с локальной машины подсоединиться к удалённой, то проблемы могут быть из-за того, что монго, по-умолчанию, принимает соединения только с локальной  машины.
Вопрос: Проброс RDP, чем чревато?

Лучший ответ:
В современных и обновленных системах это практически ни чем не чревато. Злоумышленник слушать трафик сможет только, если у него есть доступ к локальной сети (man-in-the-middle). Снаружи не послушает. Да и с TLS даже из локалки много не послушает.
RDP в любом случае нужно дополнительно обезопасить:
- отключить запись Гостя и переименовать запись Администратора
- включением NLA (Network Level Authentication, какая-никакая защита от простого DDoS, включается в политиках)
- включением RDP over TLS (включается в политиках)
- ограниченным количеством неверно введенных паролей за определенный период времени (включается в политиках)
- ограничением одновременного количества подключений (политики)
- запретом входа по RDP с пустыми паролями (включается в политиках)
- использованием сложных (длинных) логинов
- использованием сложных паролей для тех аккаунтов, кому разрешен доступ по RDP
- запретом сохранения паролей на стороне клиента (политики)
- использованием шифрования на стороне клиента (также в политиках)
- по возможности ограничить фаерволом доступ с определенных IP либо только из VPN. 
Все политики можно найти в gpedit > Конфигурация компьютера (Computer Configuration)\ Административные шаблоны (Administrative Templates)\ Компоненты Windows (Windows Components)\ Службы удаленных рабочих столов (Remote Desktop Services).
Конечно также можно дополнительно обезопасится сторонними сервисами типа ЭЦП, токенами или двухфакторной авторизацией по SMS, но это лишнее. Если нужен слишком защищенный RDP, то обычно его порт наружу просто не выставляют -- используют VPN.

Худший ответ:
Включить тупой перебор всех возможных логинов и заблокировать все учетные записи (N неправильных вводов).
Если с безопасностью все плохо, может и брутфорсом вас озадачить.
Вопрос: Выбор SSD: Kingston vs Intel

Лучший ответ:
Надо брать интел предыдущего поколения либо crucial M4 профильный форум

Худший ответ:
Не смотрите на скорость в прайсах. Посмотрите на тематических форумах, обзоры и т.д.
Лучше Intel или Crucial M4.
Вопрос: Как сделать сортировку полей?

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

Худший ответ:
Попробуй Django-filter 
Generic, reusable application to alleviate writing some of the more mundane bits of view code. Specifically, it allows users to filter down a queryset based on a model’s fields, displaying the form to let them do this.
https://django-filter.readthedocs.org/en/latest/us...
Вопрос: Как сделать, чтобы при значении 0 (ноль) не было видно цифру ноль?

Лучший ответ:
public function Count($ask_id)
	{
		$data = array("to_ask_id" => $ask_id);
		$stmt = $this->db->prepare("SELECT id FROM ask_like WHERE to_ask_id=(:to_ask_id)");
		$stmt->execute($data);
		return $stmt->rowCount();
	}Никогда так не делайте.
Использование rowCount дико затратно.
Правильно - писать запрос вида SELECT COUNT(id) ....
Что бы не выводить 0 - достаточно сделать что то типаreturn ($stmt->rowCount() == 0) ? "" : $stmt->rowCount();

Худший ответ:
Почему не return (string)$stmt->rowCount();
Вопрос: Почему программа падает? Где ошибка в коде?

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

Худший ответ:
Чуть выше, прям совсем чуть выше, на пару строк есть такая конструкцияclosed
Но в логе нет таких сообщений с ошибками. Это программа сервер.
Вопрос: Как можно менять цвет от зеленого к красному, имея на входе только число 0-40?

Лучший ответ:
Почитайте про модель цвета не в RGB а в HSV.
ru.wikipedia.org/wiki/HSV_(%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C)

Если в кратце, то у вас будет 
0 -> H = 120 S = 100 V =100
20 -> H = 60 S = 100 V =100
40 -> H = 0 S = 100 V =100

Худший ответ:
Спасибо всем, особенно Yavanosta за наводку на HSV — узнал много нового.
Решилось все тем, что нашел две функции, которые конвертили hsv>rgb и rgb>hex соответственно, слил все в одну, и вышло что-то такое: pastebin.com/AGq7yjam
Вышло монстроузно, но работает весьма быстро.
Вопрос: Влияет ли перенос сайта на другой хостинг на SEO-результаты/раскрутку?

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

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

Лучший ответ:
Это есть в стандартных средства джанго, вот часть моего кода с изменением данных юзера, там как раз меняется дата рождения:
views:class UserUpdateView(LoggedInMixin, UpdateView):
    model = User
    context_object_name = 'user_object'
    template_name = 'basics/profile_update.html'
    form_class = UserUpdateForm
forms:class UserUpdateForm(ModelForm):
    class Meta:
        model = User
        fields = ('avatar', 'birthday', 'sex', 'first_name', 'last_name', 'email')
        widgets = {
            'birthday': SelectDateWidget(years=range(1940, 2014))
        }

Худший ответ:
Делаете выборку из базы, затем перевод даты в читаемый формат, потом можно добавить эффекты и стили с помощью JQuery и CSS
Вопрос: Как выполнить проверку операционной системы на сайте и дать соответствующий редирект?

Лучший ответ:
Всем спасибо за ответы. Решил проблему с применением JavaScript.
Для таких же как я, выкладываю свое решение проблемы:var os = 0;
if (navigator.userAgent.indexOf ('Windows') != -1) os = 1;
// alert(navigator.userAgent);
switch (os) {
   case 1:
       window.location.href = "http://site.ru";
      break;
   }
Так же решения могут быть не только для Windows, но и для всех ОС:var os = 0;
if (navigator.userAgent.indexOf ('Windows') != -1) os = 1;
if (navigator.userAgent.indexOf ('Linux')!= -1) os = 2;
if (navigator.userAgent.indexOf ('Mac')!= -1) os = 3;
if (navigator.userAgent.indexOf ('FreeBSD')!= -1) os = 4;
// alert(navigator.userAgent);
switch (os) {
   case 1:
      window.location.href = "http://site.ru/windows";
      break;
   case 2:
      window.location.href = "http://site.ru/linux";
      break;
   case 3:
      window.location.href = "http://site.ru/mac_os";
      break;
   case 4:
      window.location.href = "http://site.ru/freebsd";
      break;
   default:
      window.location.href = "http://site.ru/other_os";
      break;
}

Худший ответ:
Смотрите $_SERVER на сайте - в нём операционка есть
Вопрос: В поддержке ukr.net просят «Переслать оригинал письма». Туплю я, или они?

Лучший ответ:
При обычной пересылке (в теле письма) не сохраняются заголовки письма — техническая информация. В них обычно содержится много ценной информации, например IP-адреса сервера, от которого ваш почтовый сервер получил письмо.

Если ваш клиент gmail — при просмотре письма в правом верхнем углу кнопка «ответить» со со стрелочкой. Нажав на стрелочку увидете меню, в нем воспользуйтесь пунктом «получить оригинал», сохраните его как текстовый файл, и перешлите это аттачем.

Худший ответ:
Нужно просто нажать «переслать письмо» и указать их (укрнета) адрес в получателях. При пересылании сохраняется и передается информация об отправителе оригинала (кто, откуда, когда), и ваша. Сохранять ничего не нужно )
Вопрос: Как организовать высоконагруженный TCP-сервер?

Лучший ответ:
Исходя из обсуждения выше рекомендую посмотреть:
1) zeromq.org
2) ampq.org

Худший ответ:
Может торнадо?
Вопрос: Perl, нужна консультация — что делает приведенный код?

Лучший ответ:
В этой строке заполняется хэш с названием %seen. 
В качестве ключей этого хеша подставляются элементы массива @spisok1, а в качестве значений пустота. 
И если эту строку заменить на цикл, то получится:for my $element (@spisok1) { 
    $seen{$element} = undef;
}
Эта запись будет эквивалентна вашей строке.

Худший ответ:
Добавлю, что такая конструкция называется "срез" хэша. Также срез можно применять к массивам (спискам).
Обратите внимание на сигил - он при работе со срезом указывает на массив - @
Вопрос: Где лучше хранить пользовательские настройки?

Лучший ответ:
Если настройки хранятся в той же таблице что и пользователь и их много, то это лишни  затраты при подкачке объекта из БД в тех случаях когда настройки не нужны. Например, пользователь дергается каждой страницей для того чтобы проверить его привилегии, при этом в нагрузку вы еще и 50 параметров вытягиваете и создаете для них объекты.
Плюс hstore и поля с json - не нужно менять схему БД при изменении состава параметров.
По hstore: минус - привязка к PG, плюс - производительность и обещают что в следующей версии допилят полноценный поиск и индексирование по полям из hstore

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

Лучший ответ:
Классика же www.ozon.ru/context/detail/id/2480925/

Худший ответ:
Попробуйте начать с этого цикла статей.
Вопрос: Как грамотно объяснить заказчику ( Python VS Java )?

Лучший ответ:
100К трафа в течении суток, для отдачи сгенерированого html, справится и один обычный сервер за 40 евро в месяц (см. hetzner). А если и не хватит, то сделать балансер на nginx и воткнуть еще один сервер — этого уж точно с головой. Будет ли это python, java, php — неважно.

Если полезете на java без опыта, то потратите кучу времени на адаптацию, там овер 9000 фреймворков и прочих штук, которые нужно изучить. С которыми вы не встречались на питоне или пхп.

Худший ответ:
Опыт это великая штука и конечно его нужно учитывать при выборе технологий. С другой стороны и клиента понять можно — JVM должна быть быстрее, особенно если сразу известно что сайт будет под нагрузкой. 

А о таком варианте не думали docs.djangoproject.com/en/dev/howto/jython/? Конечно сам по себе он скорость не даст, но в случае проблем будет сильно проще переписать критичные модули на чистой Java. Это и вам даст привычную среду разработки и клиента может успокоить.
Вопрос: Чем заменить тернарный оператор?

Лучший ответ:
@supply.supplier.margin || 0
Даст не то, что вы хотите, когда margin будет равняться "" (что будет, если меняете через форму на пустое значение)
Для этого в Rails сделали методpresencemargin = @supply.supplier.margin.presence || 0
Что эквивалентно:margin = @supply.supplier.margin.present? ? @supply.supplier.margin : 0
present? лучше проверяет пустые значения, чем неявное приведение типов

Худший ответ:
margin = @supply.supplier.margin || 0 
как то так
Вопрос: Как найти программиста andriod или iOS для участия в проекте с оплатой долей проекта?

Лучший ответ:
Андрей, у меня тоже есть отличная идея, которая 100% выстрелит - 
короче следующий стартап - построить дом - и сдавать квартиры в аренду. 
Ищу человека который мне построит дом, за долю в этом доме.
Я это к тому, что кроме идеи нужно какой-то реальный вклад самому делать в этот проект, а предлагая всё делать другим, за идею и долю в проекте - абсурд.
П. С. 
если кто-то заинтересовался строительным стартапом, пишите)
но только те у кого уже есть реализованные дома (тк я буду очень строго отбирать)

Худший ответ:
Видимо идея так сильно волнует, что человек путает буковки: "andriod", "проносить"... Даже интересно стало узнать, о чём проект?
Вопрос: Реализация арифметических операций. Как устроена?

Лучший ответ:
Реализация зависит от платформы. Вы можете посмотреть во что компилируются интересующие вас операции для конкретного компилятора с помощью дизассемблера (в студии есть встроенный, для unix есть objdump -D > somefile.asm).
Вообще, оптимизации на уровне арифметических команд это последнее дело. Для начала желательно убедиться, что нет алгоритма с лучшей ассимптотикой (считая что все арифметические операции работают за 1).
Для обработки однотипных данных возможно получить ускорение за счет векторных операций из расширений  процессора SSE* или на GPU.

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

Лучший ответ:
Если сайт уже сверстан, то фреймворк вам вряд ли поможет, адаптивность нужно будет делать при помощи media-запросов. Запросы должны идти в порядке убывания. Могу предложить такой вариант:@media screen and (max-width: 1024px) {
    /* Стили для разрешения 1024px и ниже */
}
@media screen and (max-width: 768px) {
    /* Стили для разрешения 768px и ниже */
}
@media screen and (max-width: 600px) {
    /* Стили для разрешения 600px и ниже */
}
@media screen and (max-width: 480px) {
    /* Стили для разрешения 480px и ниже */
}
Верстка под данные разрешения покроет львиную долю мобильных устройств. При разрешении 1024px и ниже делаете сайт резиновым. Округляйте полученные значения при подсчете ширины, чтобы было удобно. И не забывайте, что в общую ширину входят еще внешние и внутренние отступы, либо используйте правило box-sizing: border-box. Если внимательно следить за шириной, то ничего разваливаться не будет.

Худший ответ:
Значит он у вас и не особо то резиновый, раз "если слегка сжимать — шаблон разъезжается." ...
Я бы на вашем месте сначала включил мозг и понял собственно как блоки должны выстраиваться в каждом из разрешений (320, 520, 768, 1000). Если ваша структура позволяет перестраивать блока как задумали, то после озадачиться перегонкой из пикселей в проценты, и em-ы.