Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Использование переменных Sass в Media Queries?

Лучший ответ:
Да, можно:$padding: 8px;

div {
  padding: $padding; // 8px
}


@media (min-width: $screen-tablet) {
  $padding: 4px;

  div {
    padding: $padding; // 4px
  }
}
Главное не запутаться :-)
Возможно лучшим решением будет не менять исходное значение, а производить вычисления:$padding: 8px;

div {
  padding: $padding; // 8px
}


@media (min-width: $screen-tablet) {
  div {
    padding: ($padding - 4); // 8 - 4 = 4px
  }
}

Худший ответ:
Да, можно:$padding: 8px;

div {
  padding: $padding; // 8px
}


@media (min-width: $screen-tablet) {
  $padding: 4px;

  div {
    padding: $padding; // 4px
  }
}
Главное не запутаться :-)
Возможно лучшим решением будет не менять исходное значение, а производить вычисления:$padding: 8px;

div {
  padding: $padding; // 8px
}


@media (min-width: $screen-tablet) {
  div {
    padding: ($padding - 4); // 8 - 4 = 4px
  }
}
Вопрос: Где найти практику для js и jquery?

Лучший ответ:
таки так, находите макеты в psd, верстайте, там 100% надо будет накручивать всякие слайдеры и карусельки, не юзайте плагины для этого, а делайте свои велосипеды. И пробуйте для начала нативный js, имхо конечно же.

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

Лучший ответ:
Не буду претендовать на абсолютную верность моей точки зрения, но все же, разные мысли вслух.
Писал в том порядке в каком приходило в голову :)
1. Мне кажется что решение с хранением заранее рассчитанных счетчиков изначально не верное, т.к имеет сложность N2. По базе ФИАС только в РФ территориальных единиц начиная с поселка ~55 000, а если Вы захотите расширяться за пределы?
2. Если говорить про SQL можно делать выборки видаselect count(*) from items where category_id IN ( 1,2,3 ) and region_id IN (1,2,3)
Соответственно что бы получить id элементов для подстановки - можно кешировать id детей в таблицах категорий и регионов. Вам подгадят запросы уровня Россия - т.к там по сути будут все id какие есть)
C учетом того, что запрос IN начинает себя не очень хорошо вести на ~тысячах значений внутри условия, - я бы шардировал таблицу items по полям category_id и region_id 
3. Так ли Вам нужна возможность бесконечной вложенности категории и региона? Неужели десятка уровней не хватит? Да, это раздует таблицу items, но её можно будет просто шардировать по item_id
4. Не очень понятно сколько у Вас items, но если тоже сотни миллионов - я бы посмотрел куда то в сторону Hadoop MapReduce
5. Для хранения счетчиков можно тупо взять redis.
instagram-engineering.tumblr.com/post/12202313862/...
Вот тут ребята пишут что на хранение 1kk ключей у них ушло ~70MB в лоб, и это можно оптимизировать.
Пост двухлетней давности, память с тех пор подешевела. Вам нужно будет всего то 12Gb по верхней оценке, опять же шардирование никто не отменял.
Правда см п1, с учетом сложности N2 это может быть быстрым временным решением, но надолго его не хватит, если вы будете увеличивать регионы и категории.
Фуф. Давайте дискутировать :)

Худший ответ:
Для поиска лучше использовать сервисы, ориентированные на поиск. Например Solr. Копать в сторону /dataimport, либо реализовать демон, например, на nodejs - для индексации по требованию (через http-запрос либо очередь, например, rabbitmq). Поиск будет работать быстро. вопрос только за быстрой индексацией.
Вопрос: Как называется такая прокрутка контента?

Лучший ответ:
Обычно это называется "One page scroll"
Если вы прям совсем ленивы, и вам только плагины подавай, то вот первые ссылки из гугла www.thepetedesign.com/demos/onepage_scroll_demo.html и alvarotrigo.com/fullPage (второй плагин выглядит покруче и свежее)
Если же хочется посмотреть изнутри, то вот несколько простых (и не очень) моих демок (люблю эту технику :) )
codepen.io/suez/pen/JoWKKX
codepen.io/suez/pen/LCHlA
codepen.io/suez/pen/ogYpva
codepen.io/suez/pen/bNdbww
Основа техники - каждая страница обычно занимает 100% высоты экрана + вы хакаете скролл, и вместо стандартного перемещения на 100 пикселей вниз/вверх вы скроллите целиком высоту одного блока.

Худший ответ:
ещё можешь почитать про Parallax - habrahabr.ru/post/141687
Вопрос: Зачем нужен PostCSS если есть Gulp и его плагины?

Лучший ответ:
Оно не то, что бы там лучше или еще как-то...
PostCSS немного про другое.
Он предоставляет API для работы с CSS, который он получил на вход. А плагины для PostCSS используют этот интерфейс для кастомизации/модификации/что-там-делает-ваш-плагин.
Т.е. это еще один инструмент для работы со стилями. 
Можно использовать его вместе с gulp, можно использовать заместо gulp. 
Используйте так, как вам удобно.

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

Лучший ответ:
python3In [2]: print(re.findall(re.compile(r'\#\w+', re.IGNORECASE), 
                                   "#1aaa sdfs #ввв2 dfsdf sdf s"))
['#1aaa', '#ввв2']
python2In [2]: print(re.findall(re.compile(ur'\#[0-9a-zа-я_-]+', re.IGNORECASE), 
                                   u"#1aaa sdfs #ввв2 dfsdf sdf s"))
[u'#1aaa', u'#\u0432\u0432\u04322']
python2 правильно (спасибо за чтение документации @aklim007)In [2]: print(re.findall(re.compile(r'\#\w+', re.IGNORECASE|re.U), 
                                   u"#1aaa sdfs #ввв2 dfsdf sdf s"))
[u'#1aaa', u'#\u0432\u0432\u04322']

Худший ответ:
\#[а-яa-z]+
Вопрос: Как сменить сферу деятельности и стать linux-админом?

Лучший ответ:
Незаконченное в/о может накладывать ограничения в плане трудоустройства, особенно в государственных и крупных конторах. Так что, наверное, лучше сперва получить таки заветный диплом.
Что касается Линуксов, то сертификаты отнюдь не так важны, как важны знания и российский диплом. Они в основном больше себе душу греют. Начинать обучение лучше всего с какой-нибудь книжки по UNIX/Linux и виртуальной машины. Устроиться на работу можно для начала и эникейщиком в какую-нибудь мелкую контору с несколькими компами в сети, но без серверов. Там обычно можно развернуться и организовать простенький сервер для базовых задач с нуля, пусть даже из какой-нибудь персоналки. На нём уже для начала оттачивать навыки реальной работы сервера в сети. Типичные задачки на таком масштабе - организация файлопомойки с антивирусом, удалённым подключением и бэкапом, разводка инета с управлением доступом. Можно запустить первую задачку по собственной инициативе, а по мере оценивания пользователями и руководством добавлять остальные. Не факт, но "во время еды" к руководству может "придти аппетит" на более серьёзную работу и деньги на нормальный сервер и дополнительную зарплату.
Освоившись на базовом уровне, можно ещё заняться выполнением разовых заказов по анализу производительности и тонкой настройке, например, VPS-ов средней загруженности, подбирая их на фрилансовских сайтах, а потом уже затеять какой-то свой большой проект или пристроиться туда админом.

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

Лучший ответ:
скорее всего яндекс позволяет работать с почтой по imap. таким образом на своем серваке настраиваешь почту тоже с imap. ты не указал какая у тебя ОСь, но в случае юникса берем imapsync и синкаем к себе на сервак. 
в днс переключаем записи типа A и MX на свой айпи. таким образом весь мир узнает, что почту нужно слать на твой сервер. 
ну и пользователям настроить учетки
както так

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

Лучший ответ:
Оперой пользуетесь?
Турбо включено? (http://ru.wikipedia.org/wiki/Opera_Turbo)
В турбо используется проксирование.

Худший ответ:
О, заработало! :)
Вопрос: Как избавиться от нескольких сообщений, после переподключения к webSockets?

Лучший ответ:
не биндить события внутри подключения.
при реконнекте срабатывает connect событие и снова все socket.onы биндятся.
В итоге сколько реконнектов столько и дублей

Худший ответ:
У вас socket.io работает? Устанавливается через npm?
Вопрос: Помогите с Mysql

Лучший ответ:
1. Убедитесь, что с дисками всё ОК. Может они всё IO съели просто (рейд развалился, например.)
2. Убедитесь, что у вас не возникла внезапная фрагментация БД.
3. Снимите нагрузку с мускула и убедись, что без неё он хоть как-то работает (напр. авторизуйтесь и запросите список процессов)
4. Убедитесь, что в show processlist адекватная картина.

Обычно этого достаточно.

Худший ответ:
Рестарт MySQL не помогает? Какая ОС, какая версия, какие интерфейсы юзаются (php-mysql, php-mysqli, php-mysqlnd, PDO, etc...)
Вопрос: CMS, фреймворк или чистый PHP?

Лучший ответ:
С точки зрения снижения трудозатрат - взять CMS типа Wordpress с плагином Custom Pages и вокруг этого весь сайт навернуть. Будет быстрее, вероятно, надёжнее (потому, что у вас опыта ещё мало, а там более-менее отлаженное решение), но практически без пользы для вас.
С точки зрения пользы - стоит взять какой-нибудь серьёзный фреймворк (Symfony2, Yii2, Laravel) и сделать на нём. Полезного опыта будет много - по сути, практически вся разработка, если раньше не использовались фреймворки. Это будет тяжело, дольше, но гораздо полезнее. Причём, полезнее только для вас, так как по неопытности вы допустите кучу мелких ошибок и кафедра получит сайт с некоторыми проблемами.
Чистый PHP выбирать не предлагаю - вы ничего хорошего так не сделаете без опыта, это будет пустой тратой времени и с нулевой пользой для всех.
Поэтому вам решать, в чью пользу будете работать над проектом: в свою или кафедры. В универе я бы работал для себя.

Худший ответ:
Чистый php конечно.
Вопрос: Какую CRM систему выбрать для службы доставки суши и пиццы?

Лучший ответ:
Такую систему можно заказать для разработки.не хотелось бы отдавать 1000$ за CRM систему, желательно бесплатное
У вас точно бизнес или вы благотворительностью занимаетесь? За CRM систему вы не отдаете деньги, а инвестируете их. Пообщайтесь с теми, кто успешно внедрил в свой бизнес подобные системы. Все их затраты окупились.

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

Лучший ответ:
По умолчанию ширина окна просмотра на iPhone устанавливается равной 980px. Но ваш дизайн может плохо соответствовать данному диапазону. Значение может быть для шаблона слишком большим или маленьким.
Поэму я бы не сказал что viewport это способ адаптивности, это тег который не даёт появится горизонтальной прокрутке но удобство работы с сайтом от этого не сильно повышается. Всё будет адски мелко.

Худший ответ:
meta name="viewport"? не, не слышал.
Вопрос: Как создать такое на html, css, js?

Лучший ответ:
Вот решениеkottenator.github.io/jquery-circle-progress плюс немного ajax для передачи значений

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

Лучший ответ:
1. Качаете developer.android.com/sdk/installing/bundle.html или developer.android.com/sdk/installing/studio.html
2. Запускаете
3. Пишите нужное приложение, по ходу гугля "android how to ..."
Все эти ресурсы и документация - куча воды с очевидными вещами, можно посмотреть developer.android.com/training/index.html чтобы убедиться

Худший ответ:
Если 45 баксов не жалко - лучший вариант: commonsware.com/Android/
Вопрос: Проектирование приложений в delphi?

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

Худший ответ:
Перейти на другие языки не могу. Проект уже реализован, нужно дополнить функционал и поддерживать его… Поэтому Delphi!

Но писать тем путём, к которому подталкивает среда уже больше нету сил, кучу кода приходится писать из формы в форму… Да и что — то изменять уже становится проблемно… Поэтому и хочется «причесать» проект. Но вот как это сделать с минимальными потерями.
Вопрос: Передача узла дерева?

Лучший ответ:
У операции разыменования приоритет ниже, чем у операции выбора элемента по указателю, т.е. в вызове *root->next.push_back(node); порядок операций такой *(root->)next.push_back(node);, что, видимо, не то что вы хотели, расставьте скобки так: (*root)->next.push_back(node); и будет счастье.
А вообще, какой смысл в On_BG передавать указатель на указатель? Судя по коду достаточно просто указателя, а еще лучше - ссылки.

Худший ответ:
По сути. Вы забыли порядок исполнения операций.(*root)->next.push_back(node);
Чем ещё можно улучшить код…
Зачем вам указатель на указатель? Как массив указателей? Как «либо ссылка на указатель, либо ничего»? По видимому, ни то, ни другое, указатель, по сути передаётся по значению — так что стоило бы функцию переделать как…bool Syntax::On_BG(Node * root)
или дажеbool Syntax::On_BG(Node & root)
PS. И да, указатель передаётся по значению, но то, на что он указывает, не исчезнет с выходом из функции.
Вопрос: Задания для практики Perl (для начинающих писать скрипты)?

Лучший ответ:
Самая лучшая задача — та, которая вам лично нужна. Вот подумайте, какой конкретно вам скрипт нужен, и пишите его, попутно изучая язык. И энтузиазм тогда будет, и стимул.

Худший ответ:
Решения на Perl можно сдавать здесь:
informatics.mccme.ru
codeforces.ru
Вопрос: Как заменить пробелы на тире в htaccess?

Лучший ответ:
У вас какой то странный код, не могу понять зачем там firm, nam.
Я сделал вот так, работает
.htaccessAddDefaultCharset UTF-8
RewriteEngine On
RewriteRule ^cassette_conditioners/([^\s]+\s.+)$ redirect.php?new_url=$1 [QSA,L]
php$url=$_SERVER['REQUEST_URI'];
$tab_from = array ('%20','_');
$url='http://xxx.com'.str_replace($tab_from,'-',$url);

Худший ответ:
Вам нужно использовать RewriteCond перед RewriteRule и проверять наличие пробела. Что-то типа этого. И тогда уже либо перенаправлять на свой скрипт, который будет редиректить на нужный урл, либо как-то переделать url в самом апаче (тут не подскажу, но наверное можно).RewriteCond %{REQUEST_URI} %20
Вопрос: Как правильно понять этот сложный код?

Лучший ответ:
Учи матчасть.../* Функция асинхронной загрузки хеадера */
function getHeader() {
  $.post('modules/constructor.php',     /* Аппелируем к серверному скрипту по указаному адресу */
      { 'action': "header", 'lang': lang },   /* Передаем параметры на сервер */
       function(data) {                            /* Callback - параметр анонимня функция. Вызывается при удачном запросе */
          $('div#header')                          /* Выбираем #header - но правильнее $('#header'), ибо 2 блока с одним id не правильно */
             .empty().append(data);           /* Очищает выбраный блок и дописывает к нему полученные данные */
       	}
      ).done(function() {                         /* Событие выполняется после удачного выполнения запроса */
        getFooter()                                 /* Вызов запроса Fotter */
      })
}

/* далее аналогично но для footer */
 
function getFooter() {
  $.post('modules/constructor.php',    
      { 'action': "footer", 'lang': lang },    
       function(data) {                            
          $('#footer').empty().append(data); 
       	}
      ).done(function() {
        getScriptHandF();              /* Здесь была синтаксическая ошибка: отсутствие замыкающего ";" */
        getContent(content)
      })
}
function getContent(cont) {
  $.post('modules/constructor.php', 
      { 'content': cont, 'lang': lang, 'device': devi },
       function(data) { 
          $('#content-wrapper').empty().append(data); 
       	}
      ).done(function() {

/* Далее человек питался сделать прелоадинг картинок. НО! */
/* Картинки уже начались загружатся после  выполнения
 колбеков из загрузок getContent, getHeader, getFoоter */
        var paths  = [];                  /* Готовим массив для прелоадинга картинок */
        var images = $('body').find('img');    /* Выбираем все картинки */
        images.each(function() {                  /* Пробегаемся по всем картинкам */
          paths.push($(this).attr('src'));          /* Записываем ссылку на картинку в масив */
        });
         
        preloadImages(paths, function () {   /* Вызывает preloadImages Описания процедуры нет */
          $("html,body").animate({"scrollTop":0},200);  /* Анимирует скроллинг если страница прокручена на верх страницы */
          $('#preload').fadeOut(1000);   /* Анимирует прозрачность кроющего блока #preload */
          getScript();                              /* Вызывает getScript */
          if (cont=="home") getSlider(); /* Вызывает getSlider если страница домашняя */
        });
      })
}

Худший ответ:
Обычные AJAX запросы. Учите jQuery.
Вопрос: В каких случаях нужно нанимать дизайнера сайтов?

Лучший ответ:
Хороший дизайн помогает человеку решить его проблему. На входе мы имеем человека и его проблему. Человек находит сайт компании, которая, как он считает, может его проблему решить. Далее, путем работы с сайтом, человек либо решат свою проблему, либо уходит на другой сайт, где путь от захода на сайт до решения проблемы гораздо короче и понятнее. Так вот, хороший дизайн - это когда процент людей, решивших свои проблемы с помощью данного конкретного сайта, стремится к 100.
Стоит учитывать, что целевая аудитория всегда разная, как и проблемы, которые нужно решать. Шаблон никогда таких вещей не учитывал и учесть не сможет. Именно по этому профессия дизайнера еще не скоро канет в Лету.
Что же касается вашего вопроса, то тут всё зависит от того, как вы понимаете работу дизайнера. Если для вас это человек, который умеет рисовать красивые макеты, то, наверное, можно и не нанимать отдельного человека. Только хуже будет, поскольку вы не поймете друг друга. Если же для вас дизайн - это в первую очередь инструмент решения проблем людей, то нанимать дизайнера стоит. Единственное, что это должен быть именно дизайнер, а не просто рисовальщик красивых картинок.

Худший ответ:
Если вашего умения хватает, чтобы нарисовать красивый сайт, который понравится заказчику - не нанимайте ;)
Вопрос: Есть ли возможность вывода 3D графики на NES?

Лучший ответ:
Нет. То есть да. Но не совсем. Почитайте, чтобы примерно понимать, что умеет NES.
Окай. Что имеет NES? 1.5 мегамерца ЦП, да пара килобайт ОЗУ. Плюс 5 мегагерц очень специфического ГП, который умеет разве что спрайты рисовать, также имеющий пара килобайт памяти. Учитывая такие очень ограниченные характеристики, создать настоящее 3д не представляется возможным - NES, что забавно, даже тормозить не умеет. Так что выход - это подобие изометрии, с очень странным скроллингом фона и очень простой сценой.
Впрочем, возможно, есть вариант с тем, чтобы похимичить над картриджем: там мы можем добавить ещё немного видеопамяти, которую можно попробовать изменять напрямую, извне, в самом картридже. Но это уже не NES.

Худший ответ:
А разве такое возможно?
Вопрос: Как настроить L2TP+IPSec между 2 роутерами Mikrotik?

Лучший ответ:
Ух, много написали, потому я мельком только глянул. 
Итак, если вам нужно соеденить два офиса, чтобы трафф из сети 192.168.1.Х/24 ходил в сеть 192.168.2.Х/24 то в принципе L2TP туннель вам в этом случае не требуется, достаточно создать туннель на уровне IPSec (что вы кстати и делаете у себя в настройках), никаких маршрутов и политик в этом случае не нужно. IPSec в туннельном режиме сам создаст прозрачный для ROS туннель и будет заворачивать в него трафик. 
Порядок действий такой:
1. Создаём на каждом МК IPSec Peer, где адрес пира - удалённый офис, с разрешением добавлять политики трафика. 
2. Создаём на каждом МК IPSec политики, где сеть отправления - локальная сеть; сеть назначения - удалённая сеть; пир отправления - внешний адрес этого МК; пир назначения - удалённый белый адрес пира, тот же что настроен в соседней вкладке. 
3. В правилах NAT делаем Аццес правило для трафика туда сюда между этими сетями. 
В роутинг листе должно быть пусто. Если появятся строчки обмена ключами - всё заработало.
Всё что нужно, но наглядно в статье Site to Site IpSec Tunnel

Худший ответ:
ipsec настолько сильно тормозит процессор на микротик - что решение не жизнеспособное
поднимайте openvpn
Вопрос: Как правильно реализовать ассоциацию?

Лучший ответ:
Как вариант, для Age параметра заведите поле Active Record Enum. Примерно так:class Conversation < ActiveRecord::Base
  enum status: [ :active, :archived ]
end
Теперь можно с моделью делать так:# conversation.update! status: 0
conversation.active!
conversation.active? # => true
conversation.status  # => "active"
 
# conversation.update! status: 1
conversation.archived!
conversation.archived? # => true
conversation.status    # => "archived"
 
# conversation.update! status: 1
conversation.status = "archived"
 
# conversation.update! status: nil
conversation.status = nil
conversation.status.nil? # => true
conversation.status      # => nil
 
#Автоскоупы модели для выборки по енум полю
Conversation.active
Conversation.archived
Пример миграции для создания поля:create_table :conversations do |t|
  t.column :status, :integer, default: 0
end

Худший ответ:
1. Про семантику. Не возраст обладает продуктами, а:
* Продукт может предназначаться для такого-то возраста
* Для такого-то возраста имеются такие-то продукты
2. Целесообразность использования отдельной модели Age. Вам точно нужна отдельная таблица? 
* Можно завести отдельное поле в табличные projects типа string.
* Можно завести поле типа json\hstore для разнообразных подобных справочников. Может пригодиться https://github.com/jalkoby/active_store_accessor
Выборка по подобным полям так же возможна:scope :for_age, ->(age){ where(%q{"hstore_field"->'age' = '?'}, age) }
3. Если все же хотите использовать модель для age, то удобно делать так:class Product
  belongs_to :product_age, class_name: Age.name
  delegate :age, to: :product_age
end
Вопрос: Как Google Maps определяет язык?

Лучший ответ:
Опирается на user-agent браузера

Худший ответ:
если зафиксировать версию maps.google.com/maps/api/js?sensor=false&v=3.3
то можно жестко задать язык параметром 'language'
В последней версии нельзя
Вопрос: Есть ли срок давности у следов в интернете?

Лучший ответ:
1. Срок давности - величина неизвестная и стремящаяся к бесконечности.
2. Всегда прописывайте разрешение имён сайтов в локальном DNS (.hosts) на локальный хост (127.0.0.1), к которым не хотите заходить БЕЗ ЗАЩИТЫ.

Худший ответ:
Нет. Информация может храниться неограниченно долго - в архивах, кэшах, базах данных. Одним простым поиском я сейчас могу найти сообщения, которые отправлял в FIDO (через гейт ddt.demos.su) лет пятнадцать назад. На форумах многие треды хранятся десятилетиями. 
Рассчитывать на то, что вот прошло три года и все - жизнь с чистого листа - не стоит.
Вопрос: Скрежет/шум при регулировке громкости на усилителе. Что делать?

Лучший ответ:
Замена переменного резистора регулятора громкости. Ручка какбэ не при чем.

Худший ответ:
Замените ручку-регулятор на аналог с такими же характеристиками.
Вопрос: Отрисовка графика на Raphaël js?

Лучший ответ:
RaphaelJS больше не развивается, используйте snapsvg.io от того же автора.

Худший ответ:
Если вас не интересует ИЕ ниже 9 версии, то не нужно использовать Рафаэль, лучше воспользоваться d3.js, которая специально заточена под представление данных (собственно D3 означает Data Driven Documents).
Вот что-то типа того вам надо походу (как раз на d3 сделано).