Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Есть ли в pycharm функция множественного выделения как в sublime text?

Лучший ответ:
ALT + выделяете нужные строки ЛКМ

Худший ответ:
Выделение метода	                                        Ctrl + Alt + M
Выделение переменной	                        Ctrl + Alt + V
Выделение атрибута	                                Ctrl + Alt + F
Выделение константы (public final static)	Ctrl + Alt + C
Выделение аргумента метода	                Ctrl + Alt + P
Вопрос: Есть ли возможность, с помощью Arduino сделать из кофеварки кофе-автомат?

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

Худший ответ:
Теоретически да. Делают же кормушки для котов, роботов и т.п.
Вопрос: Рекурсивное создание папок в Python

Лучший ответ:
docs.python.org/2/library/os.html#os.makedirs
Не?

Худший ответ:
docs.python.org/2/library/os.html#os.makedirs
Не?
Вопрос: Как создается такая анимация?

Лучший ответ:
Обычные 3д трансформации. Каждая буква вложена в свой контейнер с перспективой. Каждая буква смещена влево (translateX), вдаль (translateZ) и повернута по оси Y.
Вот за 5 минут сделал пример на css - codepen.io/suez/pen/e6645538303dc17bb6f9953bba72e43b

Худший ответ:
Вы об этом?
codepen.io/aliencash/pen/jqaXrg
Вопрос: Как запретить хрому на https сайте грузить http контент?

Лучший ответ:
Если ещё актуально, блокировка загрузки смешанного контента включается параметром --enable-strict-mixed-content-checking.
Например, у вас Google Chrome закреплён в панели задач. Открываем в проводнике папку %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar, открываем свойства ярлыка и в строке "Объект" дописываем пробел и --enable-strict-mixed-content-checking

Худший ответ:
Доброго дня. Ну как вариант смотрите в сторону расширений типа https://chrome.google.com/webstore/detail/securedd... (обратите внимание на предупреждение)
иными способами навряд ли вы сможете что то сделать со своей стороны
Вопрос: Есть ли такой сервис, который бы позволял визуально изменить url?

Лучший ответ:
Нет, сервисов которые выдадут ваш url за url третьего публичного сайта не существует, более того, это технически не возможно.
Как максимум вы можете сделать себе сайт с названием очень похожим на тот который вам нужен.
К примеру вместо www.youtube.com зарегистрировать домен vvvvyotube.com
PS Надеюсь что Вы это делаете для розыгрыша а не дорвей)

Худший ответ:
goo.gl  подойдёт?))
Вопрос: Как получить опыт для устройства на работу Python Developer?

Лучший ответ:
Автор, написали бы, чем вы сейчас занимаетесь, чтобы что-то конкретнее советовать. 
Я сам джуниор с опытом 9 месяцев и более того я не учился на прогера. У меня небыло ничего на GitHub.
Я просто писал всем,  даже на вакансии, где искали senior'а. Большинство даже не отвечали, кто-то приглашал, но предлагал мизер. 20 - 30 тыс в Москве-то и это не на 2-3 месяца, а на полгода, год. Таким я сам отказывал. В итоге  получил 2 предложения с существенно большей суммой. 
Как найти работу, надо просто показать людям, что они смогут вырастить из вас разработчика, что вы сами заинтересованы в этом и регулярно над собой работаете.
Меня спрашивали, как я учу язык и cs в целом, разговаривали о книгах, которые я прочитал, что планирую изучать в дальнейшем. Когда мне задавали технические вопросы, я не мог на них ответить, но и не парился по этому поводу, я сразу объяснял, какой у меня уровень. 
В итоге:
- если вы очень слабый джуниор, которого терзают на интервью техническим вопросами - уходите
- если вам предлагают 20 тыс на полгода - уходите. О чем думают такие работодатели - я не понимаю. Скорее всего это проходное место
- если вас все устраивает, но не обещают,  что кто-то будет регулярно вам помогать - уходите. Без помощи опытного товарища, вы далеко не уйдете.
В итоге 2 (для тех, кто не знает что учить):
- если вы еще в процессе самообучения учите:
 Linux - дистрибутив роли не играет. Если никогда не работали в линуксе, попробуйте.   Научитесь пользоваться командной строкой, редактором nano.
 Хорошо освойте все основные структуры данных в питоне и что с ними можно делать.
 Перед тем, как писать свое решение - используйте поиск,  100% уже есть решение вашей проблемы. Изучите его
Алгоритмы и структуры данных - учить обязательно, многие это требуют. Я не знал, что такое деревья, практически в первый же день, мне потребовалось писать обход дерева, я реально сожалею, что незнал, как это сделать. Пришлось искать помощи.
----
P.S. - это мой личный опыт.

Худший ответ:
Сначала пишите для себя. Пробуйте решать задачи, играться с разными GUI, базами данных и прочими кошерными вещами. Потом можете попробовать пофрилансить. Опыт + заработок. Я не знаю, насколько это поможет при устройстве на работу (тут все зависит от компании), но писать более-менее нормальный код рано или поздно научитесь. Опыт должен быть не в вашей трудовой книге, а в вашей трудовой голове. Сразу говорю - сам в организации не работал программистом Python (не повезло с городом), но писать научился.
А лучше, конечно же, стараться и выбиться в джуниоры. Там вас всему научат)
Вопрос: Почему возникает UnsupportedOperationException?

Лучший ответ:
Array.asList()- это просто обертка над массивом с интерфейсом List.А  массивы имеют фиксированный размер, поэтому добавление
и удаление элементов не поддерживается.Если вы хотите заполнить Listзначениями из массива, то делайте так:List list = new ArrayList(Arrays.asList(1,2,3));

Худший ответ:
Arrays.asList возвращает список фиксированного размера, в который нельзя добавлять элементы. Изменяемый список можно создать как-то такList<Integer> list1 = new ArrayList<>(Arrays.asList(10,20,60,30,22,70,89));
Вопрос: Как вытянуть блок в адаптивном шаблоне?

Лучший ответ:
Нет.

Худший ответ:
попробуй через jquery что ли, .width()
Вопрос: Расскажите про python,что он,кто он?С чего начать?

Лучший ответ:
с его помощью можно грабить караваны

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

Лучший ответ:
Можно  так сделать

Худший ответ:
Кнопку разместить внутри окна.
Абсолютное позиционирование кнопки.
Она будет зафиксирована относительно окна.
Вопрос: Как настроить yii2 на хостинге(новичок)?

Лучший ответ:
Как я понимаю ты выбрал виртуальный хостинг на beget.ru. Лучше спроси у техподдержки своего хостера.
Например, в jino.ru для каждого домена можно указать домашний каталог в разделе Домены.
Мне кажется у каждого хостера настраивается по своему.

Худший ответ:
положите все папки выше public_html 
а содержимое папки web  переместите в  public_html
Вопрос: Можно малой кровью сконвертировать сайт в Android/IOS приложение?

Лучший ответ:
webview показывает любой сайт или страницу, локальную или удаленную, как браузер.
Т.е., если не нужно никак взаимодействовать с устройством, то спокойно кидайте webview и указывайте адрес Вашего сайта.
Если нужно взаимодействие, то попробуйте это.

Худший ответ:
Вы бы для начала определились для чего вы это делаете. Если потому что это модно, то лучше не делайте. А если потому что много пользователей с мобилок и им будет лучше пользоваться приложением и оно будет действительно удобнее, чем сафари. То в это имеет смысл вложить денег и заказать полноценное приложение.
Вопрос: Что сделать из планшета на котором разбит экран?

Лучший ответ:
Или поднос.

Худший ответ:
Подключить через Wi-Fi и сделать через него "умный дом".
Вопрос: Где найти правильное направление, для изучения программирования «с нуля»?

Лучший ответ:
Необходимо определится с выбором i-lift.tv/ru/10-yazykov-programmirovaniya-kotorye-...
Как для себя решите что хотите изучать
www.proklondike.com/books.html
forcoder.ru 
progbook.ru
Так же не забываем о торрент раздачах там масса литературы. P.S. Помните что одним языком ограничится не получится. И для размышления https://forum.xakep.ru/topic/1583178/

Худший ответ:
ПАРАДОКС!
Вопрос: МиниПК(non-android) для ТВ?

Лучший ответ:
Из дешевых ничего подходящего не нашел для таких целей. Недавно купил недорогой gigabyte brix со слабым процессором, но он подвисал на видео все время. Пришлось вернуть, доплатить и взять такой же brix с процессором I3. Не дешево, но бегает как надо.

Худший ответ:
неттоп, а из софта Kodi (бывший xbmc)
Вопрос: Устройство по мониторингу температуры и её отправке по СМС на основе Arduino

Лучший ответ:
Конечно!

Худший ответ:
Подскажите, пожалуйста, какие можно использовать датчики:
1. Для мониторинга наличия тока в сети(чтобы затем сигнализировать это по СМС)
2. Какую схему, реле\транзисторы нужно использовать, чтобы замыкать/размыкать контакты для включения дополнительного устройства с помощью Arduino(напряжение до 5В, сила тока до 50 ма)
Спасибо заранее
Вопрос: Локальное пространство имён в домене AD?

Лучший ответ:
Есть рекомендации от microsoft делать поддомен к существующему домену. Например — corp.roga-i-kopyta.ru
Это избавит от множества проблем.
домен типа — roga.local вообще не советую, потому как *.local используется в mDNS и сервисе bonjour на маках.
Линк на microsoft — support.microsoft.com/kb/254680

Худший ответ:
Был у меня домен AD в .local. Никому такого «счастья» не посоветую!

Сделайте себе поддомен в roga-i-kopyta.ru, или зарегистрируйте roga-i-kopyta в другой зоне. Чтобы Вы не выбрали, это будет удобнее и практичнее, чем локальный домен.
Вопрос: GUI приложение под Windows?

Лучший ответ:
GUI-приложение под WIndows удобнее писать все-таки на C#.

Худший ответ:
Даются лишь небольшие примеры, бери то, сделай так, получил эдак, а общей концепции я не вижу.  
Книга/курсы плохая или  просто должно пройти время. Занимайтесь, читайте разные книги, статьи и понимание придет.
Сам C# не знаю, но говорят :), что С++/Qt не хуже для быстрой разработки приложений.
К тому же, вы учите C++.
Если какие-то концепции Qt вам не понятны - спрашивайте. 
Что за приложение?
Вопрос: Можно ли по графику написать функцию?

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

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

Лучший ответ:
SELECT MAX(price) FROM goods
ну или если все же хотите делать это в php то//php >= 5.3 < 5.5
$maxPrice = max(array_map(function ($item) {
    return $item['price'];
}, $goods));

// php 5.5+
$maxPrice = max(array_column($goods, 'price'));

Худший ответ:
(facepalm)
Лучше бы я сюда не заходил!
Вопрос: I18n в Yii2 использование спец ключей вместо фразы на языке оригинала?

Лучший ответ:
Использовать ключи — нормальный подход. `sourceLanguage` укажите как `key` и вперёд.

Худший ответ:
Попробуйте. Не понравится - перейдете на исходный вариант.
Проблема дублирования ключей решается разделением строк на разные категории. Первый аргумент в Yii::t - это как раз категория.
То, что приходится редактировать словарь после изменения фразы - это нормально. Yii умеет сам извлекать фразы для словаря, нужно будет только найти в файле старый перевод и чуть поправив добавить к новой строке.
Вопрос: Существует ли универсальный алгоритм разбора УРЛа?

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

Худший ответ:
Посмотрите любой веб-сервер и попробуйте поотправлять параметры.param1/param2/param3
Что это такое - слабо понятно.
Возьмите любой популярный фреймоврк и посмотрите, как там работает диспатчер
Кто вам сказал, что param1/param2 - это не param1 в который входит неэкранированный слэш?
А лучше - озвучьте преследуемую цель.
Вопрос: Expecting statement в phpStorm при использовании альтернативного синтаксиса управляющих структур. Как победить?

Лучший ответ:
Есть такая проблема, воспроизвести можно следующем образом<? if (....): ?>
....
<? endif: ?>
После чего вставить в середину <? else: ?>
В результате будет ошибка.
Как вариант писать/переписать по очереди if() else endif.<? if (....): ?>
....
<? else: ?>
....
<? endif ?>
Сильно не заморачивался, возможно есть и более "правильный путь"

Худший ответ:
На то она и умная IDE, что-то значит выше не так. Может, например, endforeach не в том месте
Вопрос: Чем в php можно быстро разобрать большой xls файл?

Лучший ответ:
xls -> csv, а дальше или в массив

Или сразу в mysql: 

load data local infile 'c:\input.csv' into table people character set utf8 fields terminated by ';' enclosed by '"' lines terminated by '\r\n' (id, first_name, last_name, passport_number);

Второй вариант предпочтительнее, а дальше там с mysql таблицей проще будет.

Худший ответ:
Можно попробовать экспортировать xls в mysql просто делается, а потом обращение в БД дергать PHP все, что душа пожелает.
Вопрос: Как узнать длину массива $_SESSION?

Лучший ответ:
$_SESSION['files'][] = $_FILES['upl']['name'];
Это и есть занесение в конец.

Худший ответ:
в php есть крутая функция - sizeof($element_here)
Вопрос: Как в windows сделать одинаковые настройки принтеров для всех пользователей?

Лучший ответ:
Посмотрите ветку HKEY_CURRENT_USER\Printers\DevModes2 . Навскидку там сразу видно размер бумаги, выбор цвета и прочие.

Худший ответ:

здесь вы и указываете необходимый пресет настроек
Вопрос: Реально ли как-то интегрировать IP телефонию (планируется использование Астериска) в самописную PHP CRM?

Лучший ответ:
Все пункты можно реализовать посредством Ami/Agi интерфейса.
Также советую обратить внимание на Ajam.

Худший ответ:
2,3,4,6 реализовывал сам. 5 точно можно, скорее всего и 1 возомжно
Вопрос: Для чего нужны побитовые операции?

Лучший ответ:
Они нужны для: Реализации криптографических алгоритмов  Реализации любых других алгоритмов требующих работу с битами Чтобы пользователи языка не изобретали велосипеды
Понимаете, это ведь не особенность языка - это скорее особенность наших процессоров,принципов вычислений, ассемблера. Раз уж эти операции существуют, причем именно в том виде в каком к ним привыкли то логично предположить что многие программы и алгоритмы рассчитывают на их наличие в инструментарии разработчика. Представьте что вам пришлось бы портировать некий криптографический алгоритм использующий эти операторы на js в котором их не было бы. Допустим вы реализуете его умножая/деля на два, но затем обнаруживаете, что при умножении старший бит у вас исчезает, а должен становится самый младшим. Кроме того ваша реализация на js была бы много медленней чем встроенная в язык реализация.

Худший ответ:
В первой главе книги Графика на JavaScript Рафаэлло Чекко есть отличные примеры, как это всё используется, советую к ознакомлению
Вопрос: Как быть если музыкальная колекция обширна, а хочется все послушать с помощью плеера?

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

Худший ответ:
наиболее универсальное решение которое мне видится — реализация функционала на плеерах, которые поддерживают скробблинг. (D2 умеет его с рокбоксом), а для других плееров думаю тоже можно, если они общаются по mtp — там тогда тоже идет общение с библиотекой, где доступной поле «количество воспроизведений»
парсим список чего прослушали — значит это уже не надо, можно вместо залить другие песни.

интересно есть ли такой велосипед?
или все вручную все время копируют
Вопрос: В чем преимущества Ubuntu LTS(Long Time Support)?

Лучший ответ:
Фактические преимущества - как раз в том, что в этом выпуске не экспериментируют с новинками, и софт в нем обкатанный.
Если вам действительно нужен новый софт и вы готовы к некоторым неувязкам, которые могут с ним быть - наплюйте на LTS.
Мне обычно хватает софта LTS-свежести и самостоятельной установки того, что действительно нужно свежим, руками или из ppa.

Худший ответ:
Здравствуйте!
Преимущество LTS версий перед Latest в том, что первые более стабильные, в то время как Lates позиционируют себя как «bleeding edge» и больше предназначены для ознакомления с новым функционалом, который позже, возможно, и будет включаться в LTS версии.
Если вам хочется увидеть, что же там такого накодили разработчики и над чем работают в данный момент — ваш выбор Latest, но мне кажется, что версии ПО из Ubuntu Software Center от этого не зависят, просто нужно искать PPA с более новыми версиями, либо скачивать архивы с последними версиями из официального сайта.
Прошу экспертов меня поправить / дополнить, т. к. я могу ошибаться.Should You Use Ubuntu LTS or Upgrade to the Latest...
Вопрос: Какая команда закрывает программу?

Лучший ответ:
Тогда сначала научитесь пользоваться Google!
stackoverflow.com/questions/2670956/how-to-quit-a-...

Худший ответ:
2 способа для java: 
1) System.exit(status) - закрывает приложение нормально, вызывая перед этим shutdown-хуки.
2) Runtime.getRuntime().halt(status) - закрывает программу экстремальным способом не вызывая хуков.
Первый способ предпочтительнее. Если не понятно что такое shutdown-хуки, то гугл в помощь.
Вопрос: На что способны различные языки программирования?

Лучший ответ:
Вообще, я советовал бы в качестве точки отправки цикл статей «Начало работы с Google»:
— Как пользоваться
— Расширенный поиск
— Операторы в поисковых запросах
— Параметры и инструменты поиска
После этого, я бы посоветовал потренироваться на следующих запросах: «низкоуровневое программирование», «assembler», «лучший язык для разработки ПО», «лучший язык для разработки игр», «лучший язык для создания сайтов». Возможно, стоит даже попробовать открыть некоторые ссылки со страниц результатов поиска.
Это — если ссылки от @Andrbez про языки программирования вам покажется мало, и у вас всё ещё не пропадёт интерес к программированию.

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

Лучший ответ:
Снифером можно помониторить трафик, wireshark к примеру.

Худший ответ:
Эмулятор на комп с запущенным приложением и любой снифер(Fiddler к прмиеру) на тот же комп.
Вопрос: Где найти горизотнально всплывающие модальные окна?

Лучший ответ:
Попробуйте эту.
tympanus.net/Development/ModalWindowEffects .
Но вообще их самому писать проще.

Худший ответ:
можно через css3 animation сделать такие эффекты, я обычно их прикручиваю к bootstrap modal
отличный фреймворк daneden.github.io/animate.css
Вопрос: Помогите найти нужный провод

Лучший ответ:
У самого такая же гарнитура — есть найшники, у которых сделал провод съемным — из наушников торчит джек 3,5 мм (жестко ввинчен в корпус ic.pics.livejournal.com/megazuz/13910006/270/270_600.jpg ) — просто надеваю на этот разъем наушников эту гарнитуру — вот и всё. Еще можно надеть старый Ipod shuffle (который как «квадратная прищепка») — очень удобно.

Худший ответ:
У Китайцев наверняка найдётся.
Такой нужен: dx.com/p/3-5mm-audio-jack-connection-cable-1-5m-5115? Или я неправильно понял?
Вопрос: PHP и высокая нагрузка. Каков предел?

Лучший ответ:
для подобного удобнее конечно взять node.js + socket.io, но и на php (с reactphp) можно. В плане нагрузок у вас больше будет уходить времени на доставку данных, нежели на их обработку, так что тут скорее эффективный сервер нужен. в node.js он из коробки довольно эффективен, а в reactphp чуть медленнее (хотя если поставить еще libevent то норм).

Худший ответ:
php + nginx-push-stream-module вполне подойдут для вашей задачи. 
У php есть проблемы с горизонтальным маштабированием, но и они решаются за счет оптимизации, подключения кешей и разных акселераторов.
Вопрос: Как отслеживать из какой поисковой системы пришел клиент?

Лучший ответ:
UTM - метки вам в помощь.

Худший ответ:
Все верно пишут, самое простое - utm метки, настраиваются легко, потом все будет видно.
Немного сложнее - колл-трекинг, но тоже будет наглядно, именно по реальным заказам.
Вопрос: Замена XFCE на OpenBox

Лучший ответ:
Собственно, зачем удалять? thunar и прочие куски из xfce пригодятся.
sudo apt-get install openbox tint2 conky feh guake

openbox — openbox
tint2 — панелька
conky — мониторинг
feh — обои
guake — удобная консоль
+ прочие приложения

(добавить в автозапуск)
При авторизации просто выберите OpenBox

Худший ответ:
Как более простой вариант: sudo apt-get install lxde
lxde — это DE на основе openbox.
Несколько лет сидел на openbox. Очень шустр, прост в настройке и малопрожорлив этот WM.
Вопрос: Как разбить строки на слова?

Лучший ответ:
Только ли по точкам и запятым? Бывают ещё переносы строк, двоеточия, знаки вопроса и т.п. Кроме того, вам же не нужны пустые слова из-за того что в конце строки оказалась точка или лишний пробел. Оптимальным решением будет:>>> input=' Your string with spaces, commas; dots...'
>>> re.sub('\W', ' ', input).split()
['Your', 'string', 'with', 'spaces', 'commas', 'dots']
Единственный минус - такое решение сильно медленнее, а без регэкспов у питона нет нативных функций трансляции символов как в Си (сюрприз).

Худший ответ:
Язык неплохо бы писать.
www.w3schools.com/jsref/jsref_split.asp - в жаба скрипте укажите сепараторы в параметре.
php.net/manual/ru/function.split.php - в простигосподи пэхапэ аналогично, только строку вторым параметром в функцию воткните.
Вопрос: C++, компилятор ведет себя странно или я что-то упустил?

Лучший ответ:
Первый пример - классическая ошибка, компилятор прав - вы действительно записали функцию.
Чтобы объявить класс и вызвать умолчательный конструктор, скобки ставить не нужно.
На этом даже Кармак прокатился:The fact that ScopedLock lock() is a function declaration instead of an object constructor with no parms caused me great grief today.Тот факт, что ScopedLock lock() является объявлением функции, а не вызовом конструктора без параметров вызвал у меня сегодня больше огорчение.

Худший ответ:
В первом случае, вы объявили функцию, а не объект класса
Во втором случае, нет такой функции (setRawHeader(QSting, QString)).
Попробуйте так:QString s = "test";
QNetworkRequest request(QUrl(s));
request.setRawHeader(QByteArray(""), QByteArray(""));
или так:QNetworkRequest request;
request.setRawHeader("", "");
Вопрос: Есть ли альтернативные способы снятия скриншотов в iPhone?

Лучший ответ:
Как вариант — твик Activator в Cydia, позволяет делать множество возможностей множеством горячих кнопок. Например у меня скриншот перенесен на одновременное нажатие двух кнопок громкости.

Худший ответ:
XCode, подключаете iPhone к нему, в Organizer будет вкладка «Screenshots» в разделе подключенного телефона, и заветная кнопка «New screenshot».
Вопрос: Что ужасного в использование тэга br?

Лучший ответ:
для этого есть css
p.s ваш сайт говно редкое, если что:)

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

Лучший ответ:
Сначала проверяются параметры, переданные в функцию: если последний параметр - функция, то она будет позже вызвана при загрузке изображений. Если нет, то изображения просто загрузятся.
В качестве первого параметра ожидается массив со ссылками на изображения, которые будут потом записаны в атрибут src новых dom-элементов img.
upd: колбек будет вызван, видимо, только после загрузки последнего изображения.

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