Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: С чего начать изучение программирования под STM32?

Лучший ответ:
Я оказался в аналогичной ситуации.
По материальной части есть еще один интересный вариант shop.easyelectronics.ru/index.php?productID=152 (DISCLAIMER: я не рекламирую, у меня нет экономических интересов в этом проекте). Это отладочная плата. На мой взгляд, для обучения очень неплоха, ибо МК на ней не только обвязан всем необходимым, но плата нафарширована типовыми приборами для учебных задач - дисплейчик, всякие СД-индикаторы, пищалка, потенциометр, клавиатура, мезонин-модуль Ethernet и пр. Причем сам модуль STM32 как мезонин - вместо него при желании можно поставить тот же AVR (цена вопроса смешная, как я считаю). Там же отладчики. Я как раз себе купил такую, только распаковал коробку:) Пока не знаю, насколько все хорошо, но по виду довольно качественно.
Кстати, если говорить про STM32DISCOVERY, то одно из применений (но не единственное!) -- это вставка в беспаечную макетную плату, т.к. кристаллы STM32 в DIP-корпусах не выпускаются. Т.е. с помощью STM32DISCOVERY можно более свободно макетировать изделия (голый МК не сильно интересен, правда?). Мне кажется, этот вариант лучше для тех, у кого в голове уже есть конкретная схема.
Желаю успехов в обучении!

Худший ответ:
Здесь вот есть тоже кое что полезное по данному вопросу : q-dex.ru/ProjDetail.php?prj=13
Вопрос: Программы для обработки видео/звука?

Лучший ответ:
Что входит в "обрабатывать контент"? Знаю есть хороший новый видеоредактор - openshot.org
Есть также довольно давно известный проект - https://kdenlive.org/

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

Лучший ответ:
Для того, чтобы проводить все вычисления в таймзоне пользователя, можно сделать следующее:
1. Тип данных для поля в MySQL: timestamp
2. Задание таймзоны для соединения в MySQL: set time_zone = 'America/New_York' (никаких GMT+X !)
3. Задание дефолтной таймзоны в PHP: date_default_timezone_set('America/New_York'); (и снова, никаких GMT+X! это важно)

После этого, все даты вы будете получать из базы в указанной таймзоне, операции вида date('Y-m-d H:i:s') также будут выдавать данные согласно указанной таймзоне, сохранять данные, пришедшие от пользователя в его таймзоне вы также можете напрямую в базу.

Чтобы MySQL принимал Olson DB identifiers (как в пункте 2) нужно залить базу таймзон (и, по хорошему, делать это регулярно). Используйте скрипт mysql_tzinfo_to_sql из стандартной поставки MySQL.

Теперь о том, почему использовать смещения (UTC/GMT+X) плохо. Предположим, от пользователя приходит запрос на создание события, которое произойдет 12 декабря 2013 года, в 10:00. Текущее смещение времени пользователя (которое вы можете, например, получить через яваскрипт) — UTC+3. Значит ли это, что событие на сервере должно произойти 2013-12-12 10:00:00 UTC+3? Если пользователь из Калининграда — то да (поскольку летнее/зимнее время в России отменили), если пользователь из Украины (где используется перевод часов) — то нет, событие должно произойти 2013-12-12 10:00:00 UTC+2 (поскольку в Украине в этот период будет использоваться зимнее время, UTC+2).

Худший ответ:
Храню всё время в unix timestamp.
Каждому пользователю выставляю date_default_timezone_set(), если приходит от пользователя дата не в unix timestamp — предполагается что она в этом часовом поясе, обратно конвертация аналогично будет для указанного часового пояса, всё прозрачно и просто.
В БД всё в unix timestamp, в колонке с типом BIGINT.
Вопрос: Какими инструментами должен обладать дизайнер, чтобы быть востребованным?

Лучший ответ:
Хороший дизайнер (да любой специалист) думает не о деньгах, а о работе и развитии.
Но цену себе знает.
А если вы хотите зарабатывать 200 тр и это ваша цель, то у меня для вас плохие новости.

Худший ответ:
И как зарабатывать двести тысяч в месяц на веб-дизайне.
работать много и усердно.
Вопрос: Помощь с придумыванием имён?

Лучший ответ:
Что бы не говорили злые языки, ни одно из правил именования переменных не является самоочевидным.

Например, во многих языках аксессоры принято именовать, начиная с префикса get. Это не является верным для Objective C, в котором с get начинаются только те методы, которые получают значение внутреннего буфера во внешний, заранее размещенный в памяти.

В Java любой метод, начинающийся с Get скорее всего является простым аксессором. В C# если метод начинается с Get — это скорее всего сложный аксессор с изменением состояния или побочными эффектами.

Если вы делаете API — просто задокументируйте его. Хорошая документация стократ лучше, чем любое, самое «очевидное» решение по именованию.

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

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

Худший ответ:
В данном случае рекомендую Википедию. Даже найдя там интересующие Вас вещи про те-же логарифмы, можно прочесть статью до конца — и узнать еще что-нибудь новое для общего развития. 
Но чтобы поднять математику фундаментльно, без системного подхода не обойтись. У нас это был курс из 6-ти семестров… Причем, естественно в связке теория+практика. По этому, если нет времени, то восполнять пробелы получится только по мере их обнаружения…
Вопрос: Какими навыками нужно обладать, чтобы начать работать в офисе?

Лучший ответ:
Умение пользоваться кофемашинкой - это основное.

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

Лучший ответ:
Как я понимаю, стандартный ответ: "что лучше знаете, то и ставьте" вам ничего не даст, так как вы не знаете ничего?
Ну значит скажу так. Документации по LAMP гораздо больше для Debian и Ubuntu, чем для Windows. Почти вся документация от Debian подходит к Ubuntu и наоборот (но не вся). В Debian чуть более академическое комьюнити. Пакеты и там и там примерно одинаковые, если мы говорим о Ubuntu LTS. Но в целом в Дебиане пакеты обновляются реже.
Ставьте Debian со спокойной душой, и это будет отличный выбор!

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

Лучший ответ:
Нет, не увидят. Точнее увидят, но через некоторое время будет каша из данных. Все дело в том, что файловая система живет не только на диске, но и в памяти компьютера, который сделал изменения.
Вам нужна распределенная файловая система для этого, когда компьютер, сделавший изменения данных, сообщает о них своим партнерам, а партнеры уже обновляют измененные данные.
Представим ситуацию, А создал файл в каталоге, а В перед этим читал этот каталог. В закешировал содержимое каталога и никогда не узнает, что в нем появился новый файл. В случае же распределенной FS, А после создания файла говорит  В, чтобы он перечитал каталог.
В вашем случае вариантов несколько.
1) Развернуть GPFS (IBM, платная) или OCFS (Oracle) - это типы shared FS (используется одно хранилище, об изменениях сообщается всем)
2) Развернуть Gluster, lustre, CephFS или что-то подобное - distributed FS (используются отдельные хранилища, об изменениях сообщается всем, данные могут реплицироваться).
3) Если данные не завязаны на файлы - использовать распределенные хранилища/базыданных типа Сeph, S3, Mongo и т.д.

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

Лучший ответ:
1. www.piriform.com/Ccleaner - удаляем лишнее в автозагрузке и в программах
2. https://www.malwarebytes.org/antimalware/ - берем бесплатную версию и при установке галочку снимаем -"использовать пробный период" и проверяем
3. Ярлычки браузеров проверяем в свойствах чтобы только путь к самим файликам был например так "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" а не аот так: "C:\Program Files (x86)\Mozilla Firefox\firefox.exe/бла бла точка ком"
Пробуйте.

Худший ответ:
пользуюсь уже 6 лет никогда не подводила
пароль и логин на скачивание rsload.net 
rsload.net/soft/optimization/8290-advanced-systemc...
Вопрос: Chrome и Google Bookmarks

Лучший ответ:
А расширения не подходят?
Вот это, например:
https://chrome.google.com/extensions/detail/fhligfgeenbkgbiehjkfpkljkaonhfah?hl=ru#

Худший ответ:
Options -> Personal Stuff
там вводите логин/пасс и что синхронизировать
Вопрос: Материалы по MVC и MVVM?

Лучший ответ:
Advanced MVVM от Джоша Смита, весьма не плохо написано.

Худший ответ:
ru.wikipedia.org/wiki/Model-View-Controller#.D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8
ru.wikipedia.org/wiki/MVVM#.D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8

Вообще это очень простые паттерны, но у них есть один недостаток — популярность. Именно из-за него реализаций этих паттернов очень много, и каждый говорит и расскаызвает по своему, поэтому запутаться можно, особенно в начале.
Вопрос: Как передавать значение сканером штрих кода в сразу в переменную миную инпут?

Лучший ответ:
Сканер штрихкода работает как банальная клавиатура. Разумеется вы можете попробовать подвязать событие keyUp на всю страницу и ловить нужные вам данные, но следует понимать что при данном подходе будет тьма мусорных данных и вычленять из них данные сканера может быть непросто. Экспериментируйте с привязкой событий клавиатуры на всю страницу.

Худший ответ:
просто сделай инпут скрытым
Вопрос: Посоветуйте программу для хронометража

Лучший ответ:
Lazycure и вот статья Хронометраж, продуктивность и LazyCure

Худший ответ:
Мне очень нравятся в этом плане AIR-приложения. Они кроссплатформенные и не зависят от конкретного компьютера, такие как www.makeuseof.com/tag/4-adobe-air-apps-for-managing-your-tasks/
Вопрос: Изучение (моё) AngularJS на примере?

Лучший ответ:
Я бы диапазон дат формировал на клиенте, запрашивал данные с сервера из этого диапазона.
Таблицу бы рисовал по этому диапазону, а содержимое ячеек уже перебирал по данным с сервера.
В ячейках таблицы обработчики бы расставлял типа
<a href="" ng-click="doSomething(room)">click</a>

а в контроллере:
function MyCtrl($scope,$http) { 
$scope.doSomething(room){
//room - объект комнаты
//можно сохранить на сервер и т.п.
}
}


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

$scope.showreserv = function (room, day) {
            var x = $filter('filter')($scope.reservs, { id: room.id, date: day });

            if (x.length > 0) return x[0].type;
            else return "-";
        }



а в html'е следующий:

<tr ng-repeat="room in stores|orderBy:'name'">
<td ng-click="test(room)">{{room.id}} {{room.name}}</td>
<td ng-repeat="day in days">{{showreserv(room,day)}}</td>
</tr>


коллекция stores содержит информацию о пемещениях, поле id — идентификатор, name — название
коллекция days — содержит дни, начиная с сегодня. (в массиве содержатся целые числа timestamp)
вот этот кусок html кода 

<td ng-repeat="day in days">{{showreserv(room,day)}}</td>


повторяется для каждого помещения и дня и при каждой привязке вызывается функция showreserv. Ее код — выше.

фильтрация — обалденная штука (хотя додумался как с ней работать не сразу)

var x = $filter('filter')($scope.reservs, { id: room.id, date: day });


здесь $scope.reservs — массив всех резервирований.
а { id: room.id, date: day } — обозначает что в результате должны остаться только те элементы, у который поля id и date соответствуют входным параметрам функции привязки.

тут у меня был один ньюанс: фильтр не работал, пока дата в коллекциях была представлена объектом Date. видимо, разные экземпляры не сравнивались. когда вместо объектов Date я стал использовать целое число timestamp — все встело на свои места.

Теперь мне нужно сделать следующие вещи:
1. отображать в ячейках таблицы разные шаблоны для каждого значения типа резервирования и при отсутствии резервирования.
2. привязать к ячейкам обработчик клика
3. сделать так, чтобы данные отправлялись на сервер.
Вопрос: Как создать мини провайдер?

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

Худший ответ:
Вы не задавались вопросом, почему городской провайдер не подключает эти адреса? Может имеет смысл задуматься о Wi-Fi?
Вопрос: Photoshop Curves и магия серой пипетки

Лучший ответ:
«Считать точку серой»: в каждом канале отдельно берётся пипеточное значение и мапится на точку 50%.

Худший ответ:
«Считать точку серой»: в каждом канале отдельно берётся пипеточное значение и мапится на точку 50%.
Вопрос: Диалог между двумя пользователями. Что выбрать, как решить?

Лучший ответ:
Для PHP есть шикарная реализация WebSockets - Ratchet.

Худший ответ:
socket.io никак не заставить работать на php, так как он написан на JS.
Но вы можете погуглить web socket и comet.
А лучше оставить код с использованием ajax-pooling'a. И переписать все, когда у вас начнутся проблемы с производительностью (скорее всего никогда).
Вопрос: Удобный UI для сортировки/фильтрации?

Лучший ответ:
Я бы в любом случае выбирал наиболее интуитивный вариант. Пусть даже он чуть больше места занимает.

Худший ответ:
Трудно судить о том какой вариант лучше всего не видя всей задачи — как, что и для чего сортируется. Как показывает практика и исследования лучше всего все придумать за пользователя, чтобы ему вообще не нужно было ничего сортировать и фильтровать. 90% людей используют дефолтное представление и никогда ни пользуются предложенными сортировками и т.п. Вероятно, можно немного видоизменить иерархию видов, чтобы до нужного элемента можно было добраться как то по другому, опять таки это только предположение и если других вариантов нет, то нужно использовать наиболее наглядное представление пусть оно и занимает больше места.

Если у вас сложно организованный набор данных для манипулирования которым необходима дополнительная сортировка и фильтрация значит пользователь должен быть в теории сильно заинтересован в получении этих данных, чтобы в принципе пользоваться фильтрами и сортировками. А если он заинтересован, то вы можете выбрать любой паттерн — пользователю придется с ним разобраться иначе он не сможет получить данные которые ему нужны. Это хорошо иллюстрируют программы для налоговой, пенсионного фонда и т.п. там где пользователю хочешь не хочешь, а придется разобраться иначе не сдать декларацию.

А вот если у вас программа которая представляет данные которые представляет кто то другой но добавляет к этому сортировки и т.п. то я бы все таки задумался над первым абзацем о необходимости изменить иерархию данных, чтобы ими стало удобнее пользоваться и без сортировок и фильтров. Но чтобы что то утверждать опять таки надо представлять задачу полностью.

Ну и подитоживая извиняюсь за много букв и соглашаюсь в общем случае с Ethiopian — интуитивно понятно значит лучше даже если занимает много места (разумно много конечно).
Вопрос: Как реализовать .htaccess редирект и слияние с сохранением доменного имени?

Лучший ответ:
Вы так не сделаете. mod_rewrite не может делать запросы на другой домен и отдавать контент.
Если вы хотите так сделать, тогда используйте mod_proxy

Худший ответ:
Нашел еще одну ссылку с подробным описанием.
Думаю кому-нибудь будет полезно
webmasterschool.ru/articles/article23.php
Вопрос: Синтаксис ООП в js и использование prototype

Лучший ответ:
JS — объектно-ориентированный язык, но в нем отсутствуют классы, их заменяют конструкторы объектов, поэтому вместо обычного наследования через классы существует наследование через прототипы. Т.е. экземпляр класса наследует его свойства и методы, которые находятся в его прототипе.
Конструктор класса (function Obj() {}) — функция, в которой описаны свойства и методы прототипа, поэтому ко всем ним будет доступ при создании экземпляра.

В примере A конструктор пустой, а Obj.method присваивает метод объекту, а не его прототипу, поэтому он не будет наследован в obj = new Obj(). Этот пример не работает.

Пример B — правильный, здесь метод method добавляется в прототип и будет наследоваться всеми экземплярами.

Пример C чаще всего используется, когда нужно реализовать singleton или namespace, потому что это простой хэш без конструктора, его нельзя наследовать. Фактически это не объект в ООП понимании, а просто ассоциативный массив, в котором могут содержаться любые данные, методы и другие объекты.

Пример D аналогичен примеру C, только его свойство method содержит ссылку на внешнюю функцию. Этот пример можно использовать, когда нужно вызвать какую-то функцию из внешней библиотеки.

Пример E правильный и аналогичен примеру B, с разницей в том, что наследуемый метод задается сразу в конструкторе, а не через prototype.

Худший ответ:
Вообще, всем кто интересуется тем, как устроен Javascript, советую прочесть www.crockford.com/javascript/javascript.html
Вопрос: Как сделать мультизагрузку изображений с помощью Carrierwave?

Лучший ответ:
Проблема в том что вы не создаете много объектов Photo каждый с одной картинкой (как вы описали в вашей модели), а создаете один Photo и пытаетесь воткнуть в него несколько файлов картинок
Чтобы все работало так как вы хотите вам нужно
1) В форме иметь просто одно поле с картинками, не забудьте его разрешить для strong parameters= form_for [:admin, @post], html: { multipart: true } do |f|
    = f.file_field :images, multiple: true
2) В методе контроллера перебрать массив params[:images] и для каждого изображения создать свой объект Photo  и привязать его к родительскому Postparams[:images].each do |image|
  @post.photos.build(image: image)
end

Худший ответ:
https://github.com/savanr/rails-carrierwave-multip... рабочий пример
Вопрос: Как лан-тестер определяет метр, на котором обрыв?

Лучший ответ:
Как он это узнает? Импульсная рефлектометрия (ссылка1,ссылка2).

Худший ответ:
Немного про другие провода
www.energoaudit.ru/articles/202.html
Но принцип примерно такой же, замеряется сопротивление и высчитывается примерное место обрыва либо импульсный метод из статьи
Вопрос: Какой банк выбрать фрилансеру в РФ с ИП для открытия р.с.?

Лучший ответ:
ИП не обязан открывать счет для юр.лица, такого в законодательстве нет. 
Банки сами просят открывать ИП счет как юр.лицо, это их внутренние правила, что бы срубить денег.
Так что, открывайте обычный счет на физ.лицо и пользуйтесь.  
Да, правильно говорили выше, открываете отдельный счет для перечислений и отдельный карточный счет Мастеркард, например.  И все будет гуд.
Я сам ИП уже 4 года, пользуюсь ВТБ24 и Промсвязь, как физ.лицо. Эти же счета предоставлял в налоговую, у налоговой вопросов не возникло. По закону имущество ИП и физ.лица неделимы, то есть если ты продаешь квартиру как физ.лицо, то документы в налоговую ты предоставляешь как ИП. Так же и с деньгами, если вам перечислили денежку на счет, вы сразу можете покупать на нее хлеб в магазине без проблем, это уже деньги вас как физ.лица.
Если вдруг у банка возникают вопросы, просто уходите в другой банк. Хоть 800 руб/мес и не большие деньги, но зачем платить больше, если тот же функционал в ОнлайнБанкинге есть и у физ.лица.
А вообще, меня бесят некоторые банки с их наглостью, их внутренние правила граничат с законностью...

Худший ответ:
Да почти все банки обслуживают счет до 1000 рублей в месяц где вы там нашли пять тысяч не понятно. Счёт надо открывать в банке у дома.
Вопрос: Роутер Mikrotik не видит интернета, а его клиенты видят. Как так?

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

Худший ответ:
Покажите /export compact hide-sensitive
Вопрос: Есть ли способ отложенно обновлять записи в БД?

Лучший ответ:
Вам нужна очередь (queue). Из скрипта данные кладутся (push) в очередь, а затем кроном из нее достаются (pull) и обрабатываются. Там работает практически весь популярный функционал большинства highload-проектов (например, мессенджер).

Худший ответ:
Нафига такие сложности? Просто обновлять записи не судьба? Сколько у вас в час будет update'ов?
А вообще очередь решит вашу проблему?
Вопрос: Какую систему оплаты (платежный агрегатор) можно прикрутить к интернет-магазину?

Лучший ответ:
Rbkmoney. Работаем с ними уже более двух лет. Комиссия не самая низкая среди агрегаторов.

Плюсы для нас:
1) Онлайн суппорт отвечает всегда мгновенно (видимо очень большой штат суппорта). Очень удобно как для нас, так и для клиентов у которых происходит «затык» с платежом.
2) 8-800 телефон саппорта для клиентов
2) Вывод средств на Р\С по заявке в течении 3 дней. Стабильно.
3) Вроде не филькина контора. У людей на слуху, не боятся платить клиенты в большинстве своем.

Минусы:
1) Служба безопасности, а вернее их фильтры часто «блочат» платежи русскими карты с нерусских айпи. Т.е. если человек уехал с картой, например Сбера, в Африку и оттуда оплачивает покупку (первый раз) в онлайне при помощи РБКМани, то с вероятностью в 98% платеж будет заблокирован и для его зачисления ему придется связываться с суппортом и предоставлять копию паспорта и лицевой стороны карты.
2) На каждый магазин — отдельный договор. Было бы удобней один договор на одно юрлицо и далее допсоглашения на каждый сайт. Тут же получается: магазин-договор-аккаунт на кажрый сайт разные.

Постоянно поступают звонки от «новичков» рынка, которые предлагают переподключить магазин к ним, обещают чуть ли не нулевые комиссии и прочие вкусные пирожки. Однако из всех тех кто предлагал нам свои услуги лишь payonlinesystem стал боле-менее заметным игроком рынка.

Обратите внимание на то, чтобы обязательно был бумажный договор, дабы в случае чего было куда предъявлять претензии.

Худший ответ:
Я бы посоветовал взглянуть на относительно новую систему «paymaster.ru/», уж очень сделали всё просто и приятно.
Вопрос: БЭМ, блок или элемент?

Лучший ответ:
Блок имеет смысл вне зависимости от контекста. Футер же имеет смысл только как элемент страницы. Плюс почти всегда футер имеет какие-то характеристики, определяющие его положение: position, margin... и т.д. Что сразу характеризует его как элемент.
Но это если рассматривать его как часть одного проекта. А если посмотреть шире, то один и тот же по структуре футер можно использовать в разных проектах. Для страницы - это элемент, а в целом он может быть блоком. 
Поэтому я думаю, что так: class="footer page__footer"
При этом классу page__footer задать стили, определяющие его положение на странице, а классу footer - все остальное. 
Если на одной странице футер отличается, то его следует переопределить через модификатор. Если отличия в положении, то модифицировать следует элемент: page__footer_modificator, при отличиях в оформлении - модифицируете блок: footer_modificator

Худший ответ:
сам спросил и сам ответил ;) тут ответ