Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как настроить WebStorm а-ля Sublime Text?

Лучший ответ:
1) Shift-Tab, если я правильно понял — уменьшает отступ слева на одну «ступеньку» (таб, 4 пробела, 2 пробела — смотря по настройкам для текущего файла)
2) https://www.jetbrains.com/idea/help/multicursor.html Я, правда, не знаю, зачем это может понадобиться, всегда хватало Shift+F6 (переименовать сущность) и column mode (Alt+Shift+Ins)

Худший ответ:
В Sublime есть и другое множественное выделение. Ctrl+D. Очень удобно. 
В WebStorm тоже есть - Alt + J.  Или провести курсором при нажатой средней кнопке мыши (колесике).
Вопрос: В чем разница графической подсистемы и встроенной видеокарты?

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

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

Лучший ответ:
Вот можно почитать в чём разница , а вообще ещё нужно ознакомится с XEN'ом, KVM, LXC и OpenVZ. Обязательно погонять Docker с CoreOS, и может даже поднять OpenStack с каким-то деплоем на puppet / chef / saltstack.

Худший ответ:
молодец. сможешь развернуть с десяток виртуальный машин с помощью powershell?
Вопрос: А в чем минусы node.js?

Лучший ответ:
В том же в чем его и плюсы.
Асинхронность... ее там нет. Там есть event loop что позволяет писать крайне эффективные программы в плане работы с I/O (что для web очень неплохо) и не париться о таких вещях как потокобезопасность, блокировки и т.д. А если еще и несколько инстансов приложения запусть - по одному на ядро скажем, то утилизация вычислительных мощностей выйдет неплохой. Но распаралелить что-то в рамках одного процесса воркера мы уже не можем.  Мы не можем посчитать что-то, проанализировать, заняться обработкой жирной картинки прямо при обработке запроса потому что наш процесс воркер так же обрабатываете еще пару десятков запросов, и пока мы будем удовлетворять нужды одного простаивать будут все. Нода хороша когда у нас все состоит из элементарных операций которые не занимают много времени, все жирное надо выносить из основного процесса и разруливать очередями и т.д. Эта проблема имеет массу решений на самом деле, но все уже усложняется и нода теряет свою красоту. Лучше взять Java/c#/Python для этого (и не надо тут вспоминать про шутки с многопоточностью в CPython). 
callback-hell. Собственно наличие event loop диктует так же правила о том, как должна писаться программа. Кучи колбэков, невозможность дебажить нормально и получить четкий стэктрейс из ошибки. Да, есть промисы которые решают первую проблему, да есть либы вроде zone.js которые решают вторую и частично первую проблему... но все это не тривиальное дело.
Собственно... разработка больших и сложных проектов на ноде возможна... но требует от разработчика хорошие знания и понимание того, как работает его платформа. А это увеличивает стоимость разработки в то время как можно взять более эффективные в этом плане инструменты.

Худший ответ:
Потому что он молодой и относительно медленно развивается(именно ядро)
habrahabr.ru/post/218147
Недавно вообще разделился на два проекта, так что, что будет дальше несовсем ясно
Вопрос: Годные базовые курсы по HTML и верстки для новичка?

Лучший ответ:
htmlacademy.ru вполне себе годные

Худший ответ:
от Русакова
Вопрос: Canvas: самоналожение полупрозрачных линий?

Лучший ответ:
я считаю это фичей.

Худший ответ:
Разделите на разные объекты
Вопрос: С чего начать миграцию на Odesk?

Лучший ответ:
С изучения английского. Причём как вы за 6 лет не пришли к этому - не понятно.

Худший ответ:
Создайте профиль, дальше вам помогут
Вопрос: В какой IDE можно быстро создать GUI для  Python-программ?

Лучший ответ:
Как уже сказали выше — PyQt и QtCreator. Добавлю, что в PyQt есть своя утилита "Designer", которая для простеньких приложений подходит идеально. Потом ui файл можно спокойно перегнать в .py через uic и импортировать оттуда уже готовые элементы.

Худший ответ:
*бум*
Раздел «GUI Design Tools and IDEs»
Вопрос: Как наследовать свойство PHP?

Лучший ответ:
Почитайте о инкапсуляции. И совет - не делайте внутри классов exit или инициализацию подключения к базе. Ленивая инициализация намного удобнее.class OCIConnect
{
  private $link = null;
  public function __construct($user, $pass, $host) {
        // fixme: это не стоит делать в конструкторе, лучше использовать ленивую инициализацию.
        $this->link = oci_connect($user, $pass, $dbHost);
        if (!$this->connect) {
            $m = oci_error();
            throw new Exception(sprintf('Connection error: %s', $m['message']));
        }
    }

    public function exec($sql) 
    {
         // exec sql
    }
}class Agent
{
        /**
        * @var $connection
        **/
        private $connection;

	function __construct(OCIConnect $connection)
	{
               $this->connection = $connection;
	}
        public static function getData($sql,$bind = null) {
                // do something
               $this->connection->exec($sql);
        }
}

Худший ответ:
Если вы хотите обратиться к свойству $connect родительского класса из дочернего, то также как вы сделали и с конструктором дочернего класса parent::$connect; И старайтесь отучить себя от обилия ненужных public свойств.
Вопрос: Разработка программы под Win 7 и Win 10. Каковы отличия?

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

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

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

Худший ответ:
В данном примере все не правильно -  уместнее всего вернуть пустой массив или объект, реализующий интерфейс Countable (при условии, что в случае нахождения новостей они все также складируются в этот объект). 
Отсутствие новости - НЕ исключительная ситуация. Пример не правильный на все 100%. 
Исключительная ситуация - мы не может к СУБД законнектиться, что бы новости получить.
А исключения нужны, Ты просто их не умеешь готовить и не понимаешь, что это такое. В интернете об исключениях масса информации. Нет смысла объяснять тут.
Вопрос: Прошу помощи в настройке sudo?

Лучший ответ:
Cmnd_Alias RUNASAPACHE /home/username/hard_update.sh, /home/username/update.sh

username ALL=(www-data) NOPASSWD: RUNASAPACHE

и потом
sudo -u www-data /home/username/hard_update.sh
sudo -u www-data /home/username/update.sh

будет запускать от имени апача а не рута

Худший ответ:
Специально сейчас проверил на другом хосте с 6.0.2
Все прекрасно работает.
Вопрос: С помощью каких инструментов сделать сложный графический проект на Android?

Лучший ответ:
обычный scrollview с relativeLayout
и на него кидаешь нужные виджеты в нужные координаты
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/w"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true" >

    <RelativeLayout
        android:id="@+id/RelativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    </RelativeLayout>

</ScrollView>


Худший ответ:
а писать под android на qt не пробовали?
Вопрос: Как раздать WiFi с роутера на компьютер через телефон по проводу?

Лучший ответ:
Как удалить гланды через жопу, простите, вайфай свисток для компа стоит около 1 бакса ru.aliexpress.com/item/150Mbps-2015-new-Wireless-A... не страдайте херней.

Худший ответ:
Решилось включением usb-модема в андроиде. В айфоне нет такой опции.
Вопрос: Можно ли заставить работать usb-модем только на DC-HSPA+, не скидываясь на UMTS даже при плохой ловле первого?

Лучший ответ:
Начинать разбираться с модемом надо с 4pda. Почитайте тему, может что уже есть, может кто чего подскажет. Просто на 4pda в теме модема больше шансов встретить ответ.

Худший ответ:
Нет, нельзя. Dc-hspa+, wcdma, hspa = это всё 3g. Какое именно соединение подключится, зависит только от сигнала сети, а не от настроек, может и gprs и edge =2g, если уж всё так плохо.. =/
Вопрос: Подойдет ли консольный кабель cisco для netapp хранилища?

Лучший ответ:
А что такое "консольный кабель" обычный null-modem или ком? при одинаковом разъеме, стандартов распайки может быть несколько.
Ну и сам протокол там и скорость и четность...

Худший ответ:
Дожились =/
https://kb.netapp.com/support/index?id=1010094&pag...
Вопрос: Нужны ли курсы английского для программистов?

Лучший ответ:
Лучше не онлайн, а вживую. Я бы платил за такие. По скайпу оно особо не греет.

Худший ответ:
Можно и по скайпу, но тут главное подход к организации, т.е как Вы это реализуете, конференции или все же будет комната-класс, где будет к примеру, 4-6 учеников и учитель будет выведен на экран. и у каждого будет свой микрофон. тут главное качество звука, хорошая система звуковая — чистый звук + объемный, дабы было ощущение что преподаватель в классе, ну и программу по которой Вас будут учить. С программами ничего выдумывать не нужно, взять уже существующие, от Оксфорда.
Вопрос: Определить источник нагрузки на сервер?

Лучший ответ:
Всем спасибо, Проблему выявил. Когда убрал базу постов, сократилось количество посетителей в день и стали заметны запросы от поисковых ботов, коих было 15-20к в сутки. В основном от Бинга. Бинг ушел в бан всей подсетью через .htaccess и загрузка стала нормальной.

Худший ответ:
Попросите у хостера лог медленных запросов MySQL и изучайте, оптимизируйте
Вопрос: Увеличения скорости интернета?

Лучший ответ:
Очень расплывчатый вопрос. Какой на данный момент способ подключения? Если витая пара, то только смена тарифа на более скоростной, и требование от провайдера в полной мере оказывать услугу, если скорость меньше заявленной тарифом, подтвердить хотя бы скриншотом в техподдержку. Увеличение оперативной памяти, очистка авторана, зачастую приходя к абонентам, втыкаю кабель в свой ноут и показываю что все в порядке,и на самом деле тормозит не интернет, а комп абонента. Возможно переустановка ОС. Если же подключение по воздуху,  wifi или 4g, то выше 50 мбит\сек скорости я еще не наблюдал. У нас в городе один провайдер предлагает по 8 жилке 200мбит\сек за 1500к деревянных в месяц, не считая докупки гигабитного оборудования самим абонентом.

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

Лучший ответ:
Сколько стоит машина?
Возьмем цифру немного с потолка, пусть 5 000$. Если столько попросят за запорожец то вы вероятнее всего пошлете такого продавца, с еще большим энтузиазмом  вас пошлют при попытки купить лаборджини за такие деньги, хотя и то и то машины. 
Нету внятного ТЗ результат хз © фрилансерское народное творчество 

Худший ответ:
Зависит у кого вы будете заказывать. Если у фрилансера, то дешевле, если у студии то дороже.
Вот например такой продавали, то стоил он тогда 1000$.
Вопрос: RegEx для слов из букв _И_ цифр

Лучший ответ:
Почему нет? Можно. Занимаясь написание регекспов нужно оперировать не логическими условиями, а порядом символов в строке. Ваша строка выглядит так:
((одна или более букв, затем одна или более цифра) либо (одна или более цифр, затем одна или более букв)) затем опционально буквы либо цифры

Вот и регесп:
(([a-z]+\d+)|(\d+[a-z]+))[a-z\d]*

regexr.com?33fas

Худший ответ:
Одним — вряд ли. Да и зачем? Надо, чтоб работало, или надо, чтобы было круто? :)
Нужно три проверки — что только буквы+цифры, что есть буквы, что есть цифры.

/^[a-z0-9]+$/ && /[a-z]/ && /[0-9]/
Вопрос: Как встать на правильное получение данных с БД?

Лучший ответ:
Можно переписать на Spring JdbcTemplate  
достаточно удобная вещь (и вам на неё будет просто перейти)
(в последней версии можно делать именновонные параметры, вместо "?", что удобно)
SQL можно вынести в файл, но часто удобнее когда они в коде. Смотрите по ситуации.
С точке зрения дальнейшего частого рефакторинга базы, лучше использовать JPA (аля Hibernate),
но там не всегда просто написать нужный запрос.

Худший ответ:
Pattern называется "Шаблон". Идея в том, чтобы вынести общий код в один класс, тем самым избавив остальных от написания портянок по созданию коннекта к БД и его закрытию. Для универсальности можно определить интерфейс для обработки ResultSet. Тогда все запросы можно будет свести к обращению к классу шаблона с передачей ему тела запроса и обработчика ResultSet.
Примерно может выглядеть так:public class SqlTemplate<T> {

    private String query;
    private Object[] queryParams;

    public SqlTemplate(String query, Object ... queryParams){
          this.query = query;
          this.queryParams = queryParams == null?new Object[0]:queryParams;
    }

   public T select(RsetHandler<T> handler) {
      //тут весь код по созданию коннекта
     ResultSet rs = connect.query(query, queryParams);
     return handler.handle(rs);
     //тут код по обработке ошибок и закрытию коннекта
   }
}
это если нет возможности или желания прикручивать к проекту ORM, а-ля Hibernate
Вопрос: Составить регулярное вырадение?

Лучший ответ:
а дальше ступор, как отдельно записать значение в переменную? - fi2.php.net/manual/ru/function.preg-match.php - посмотрите на третий аргумент

Худший ответ:
preg_match("/test\.phone = '(\w+)'/ui", $page)
Полезный ресурс для составления регулярок: https://regex101.com/
Вопрос: Как узнать прямую ссылку на файл в облаке?

Лучший ответ:
Можете воспользоваться сервисом https://rocld.com, он уже все "пляски с бубном" делает за вас, и на выходе дает короткую, и главное, прямую ссылку на любой файл...

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

Лучший ответ:
Придумайте робота, который бы придумывал роботов за вас.

Худший ответ:
Сделайте робота-анализатора состояния здоровья клиента. Чтоб он тебе начал говорить, чтоб ты поспал или там попей чай с лимоном и малиной или какие лекарства пить или чтоб обратились к врачу.
Методика такая:
Так-как массовые опросы вы проводить не собираетесь, то вас, вашу бабушку и вашего сверстника можно считать среднестатистическими потребителями, следовательно, нужно что-то связанное с вашими интересами:
- о чем больше всего думаешь и ты и твоя бабушка? - о здоровье.
- о чем больше всего думаешь и ты и твой сверстник? - о компьютерах.
Думаю можно самому догадаться, что нужен робот - анализатор здоровья, либо как-то улучшающий здоровье.
Если я указал в примере алгоритма не верные интересы, отпишитесь.
Вопрос: Посоветуйте корпус для компьютера

Лучший ответ:
А я например пошел по другому пути.
Взял вот такой корпус (у него регуляция скорости всех вентиляторов на верхней панели с памятью). Каждый HDD установил в толстый алюминиевый контейнер для теплоотдачи и шумоизоляции. Напичкал не самыми дешевыми вентиляторами (по 600 р. и более) и понизил скорость их вращения до минимума (50% мощности). На процессор поставил большой пассивный радиатор. На видео карту тоже купил пассивные радиаторы, вместо родного вентилятора.
Суммарно корпус и вся система охлаждения обошлись примерно в 8 000 р. Когда ночью приходиться поработать самым громким бывает стук по клавишам. 
Вентиляторов не слышно уже на расстоянии 1 метра.

До этого решал проблему шумоизоляции вынесением компьютера в кладовку и пробросом десятиметровых KVM и USB проводов у плинтуса.

Худший ответ:
Zalman Z9 Plus. 

Только охлаждение процессора замените на Corsair Hydro — наааамноооого тише будет.
Вопрос: Обнуление кармы

Лучший ответ:
Как вам нравится версия про CSRF?

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

Лучший ответ:
Может Debian?)
У него с дровами на экран проблем не должно быть. Та и сам по себе очень стабильный + мнооооого софта.
Так же можно посмотреть на Linux MInt. Но советую все равно первое.

Худший ответ:
Детям на комп поставил российский клон убунты - Runtu. Как раз по причине нехватки времени на настройку, просто установил и все. Задачи у компа вполне "офисные" - опенофис, интернет, ардуино и игрушки. Сам остановился таки на CentOS. Там пришлось немного повозиться с настройкой (кодеки, проприетарный драйвер видео, etc). Но это раз настроил и забыл.
Вопрос: Возможно ли получить доступ к своему серверу при наличии серого динамического ip адреса от провайдера?

Лучший ответ:
Серый и динамический IP это разные вещи. У меня например динамический IP(DHCP), но он не серый.
В моём случае не надо делать тоннель (пробивать NAT) и будет достаточно сервиса dyndns.
При сером ip весь колхоз сидит на одном внешнем IP который может меняться, а может и нет. Если белый, то это только ваш IP. Он может быть за вами закреплен как на время сессии (динамически), так и навсегда или на период оплаты этой опции.

Худший ответ:
впн юзайте
Вопрос: Объекты с динамически создаваемыми свойствами в Django?

Лучший ответ:
Ваша идея уже релизована https://github.com/mvpdev/django-eav
Другая идея использовать для фасетов полнотекстовые движки Elasicsearch или Sphinx.

Худший ответ:
Помимо предложенного HStoreField есть еще JSONField. Это на тот случай, если value может быть не только строкой, но и числом, bool, None. Это поле пока только в мастер ветке (https://github.com/django/django/blob/master/djang...). Ожидается в django 1.9.
Вопрос: Какое решение подойдет для фонового вычисления на php?

Лучший ответ:
С минимальными затратами, с учетом Вашего сценария:
Когда пользователь нажимает кнопку - отправляем ajax запрос к скрипту который занимается генерацией картинки и делаем переход на новую страницу не дожидаясь ответа. Далее все как вы расписали.Upd
Более абстрактное и устойчивое к нагрузкам решение: очередь на стороне сервера и постоянно запущенные воркеры получающие оттуда задачи. Для очередей можно на небольших нагрузках использовать mysql, можно Redis, а можно использовать решение специально предназначенное для организации очередей - RabbitMQ.

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

Лучший ответ:
Устанавливай свой еррор хендлер и кидай любые исключения
http://us2.php.net/manual/en/function.set-error-handler.php
p.s. насколько помню в 5.6 переведут все фаталы в ексепшены.

Худший ответ:
генеришь свои исключения. http://us1.php.net/exceptions
Вопрос: Есть ли open source решения для собственного сервера картинок?

Лучший ответ:
Вы бы конкретизировали требования, а то по большому счёту обычный nginx + vsftpd уже есть open source решением для хостинга картинок.

Худший ответ:
Может Вы ищете скрипт фотохостинга? Тогда akina-photohost.org
Вопрос: DHCP на windows 7

Лучший ответ:
В Windows есть служда ICS (Internet Conneting Sharing), которая умеет раздавать интернет в локальную сеть при этом автоматически включается не управляемый DHSP сервер, который раздает ip в диапазоне 192.168.0.1-254. Если есть необходимость раздавать с этого компьютера интернет в локалку и при этом получать ip по DHSP этот вариант думаю будет идеальным. 

К слову сказать эта же служба является брандмауером(firewall) и именно она как правило мешает нормальной работе других сетевых сервисов, если плохо настроена.

Худший ответ:
По Tiny DHCP: в брандмауэре прописали разрешения?
Вопрос: Верстка HTML письма. Картинка на заднем фоне

Лучший ответ:
www.campaignmonitor.com/css/ — очень полезная таблица.

www.campaignmonitor.com/blog/post/3170/adding-background-images-to-your-email-in-two-simple-steps/ — раньше работало, сейчас скорее всего тоже.

Худший ответ:
Подскажите в чем верстаете письмо? Вместо фоновых картинок лучше использовать заливку со вставкой графических элементов
Вопрос: Нужен ли российский аналог сервиса cardpool?

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

Худший ответ:
Решать Вам конечно. Все зависит от альтернатив. Если затраты небольшие, Вы действительно сильно верите в эту идею — почему не попробовать. Причем для начала можно следуюя lean startup методике сделать сайт, говорящий что такая услуга уже работает и смотреть какая будет реакция целевой аудитории. Пропиарить в социальных сетях, форумах и возможно купить немного контекста и посмотреть на темпы роста.
Вопрос: Нужно ли учить программирование на английских ресурсах?

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

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

Лучший ответ:
Вообще по умолчанию jade убирает вообще все пробельные символы между тэгами, если не поставить опцию pretty в true.

Худший ответ:
<ul>
      <li>Item 1</li>
      <li>Item 2</li>
</ul>
что бы не было отступов нужно размер шрифта сделать 0ul { font-size: 0; }
ul li { font-size: 10px; display: inline-block; } // фикс для ie 6 и 7 надо zoom: 1; display: inline;