Продажи винила на 36% превысили доходы музыкальных стриминг-сервисов с бесплатной подпиской

Продажи музыки на виниле превысили доходы онлайн-сервиса Spotify, музыкальных видеосайтов YouTube и VEVO вместе взятых. К такому выводу пришли специалисты RIAA в своем исследовании.

Музыкальные сервисы on-demand, онлайн-сервисы с бесплатной подпиской и рекламной монетизацией в первой половине этого года заработали $163 миллиона. В прошлом году эта сумма не превышала $128 миллионов. Однако доходы от винила оказались существенно выше и составили $222 миллиона.

На едва не канувший в лету винил теперь приходится почти треть продаж музыки на физических носителях. Они выросли на 52% по сравнению с аналогичным периодом прошлого года. Никакой другой музыкальный формат не демонстрирует таких высоких показателей. Продажи CD, напротив, снизились на треть год к году. Теперь пользователи больше предпочитают использовать стриминговые сервисы или скачивать музыку из интернета. Несмотря на то, что платное скачивание музыки является основным источником прибыли музыкальной индустрии и составляет 37% доходов отрасли, его популярность тоже падает. Так, в прошлом году зафиксировано снижение выручки на 8,7%, до $2,58 миллиарда.

Рост популярности музыки на виниловых пластинках связан с наличием эксклюзивного контента в специальных изданиях альбомов или синглов. Пластинки выпускаются небольшим тиражом, имеют красочное оформление и другие сопутствующие бонусы. Стоит оговориться, что доходы от винила пока уступают выручке стриминговых сервисов с платной подпиской. Такие сервисы заработали около $1 миллиарда в первом полугодии 2015-го. Продажи CD упали до $748 миллионов.

Тем не менее, по прогнозам RIAA, число платных подписчиков стриминговых сервисов в ближайшие 6 месяцев расти перестанет или даже сократится.

Многие музыканты с недоверием и пессимизмом смотрят на возможность получить серьезный доход от своей музыки на стриминговых сервисах. 24 сентября прошло обсуждение доходов автора одной из популярнейших песен последних лет, размещенной на Spotify. Kevin Kadine заработал там всего $5679. Речь шла о композиции «All About That Bass», которую пользователи одного лишь сервиса Spotify прослушали более 178 миллионов раз. Дело в том, что сейчас долевое участие авторов песен, которые попадают в музыкальные сервисы, прописывается очень давним законом, принятым еще в 1911 году. Другими словами, долю автора определяет не договоренность с музыкальным сервисом, а правительство.

Если эти проблемы не будут решены в ближайшее время, еще больше музыкантов откажется от сотрудничества с онлайн-сервисами и начнет продавать свои записи на виниловых пластинках, пишет Business Insider.

ссылка на оригинал статьи http://megamozg.ru/post/19746/

Игры на CSS. Часть 2: StarCraft

Доброго дня, хабровцы.
По результатам прошлой статьи я понял, что тема интересна общественности, поэтому подготовил еще один материал, чуть сложнее.
По прежнему нет скриптов, только HTML/CSS.

Смотрите видео и под кат.


Разумеется, речь (пока) не идет о полноценной игре, но концепцию покажу.

Игру я назвал «помоги пробке найти друзей».
Сделать она это может построив нексус и «натренировав» себе друзей. Поэтому цель игры — помочь пробке обрести друзей.
Итак, поехали.

Во-первых, в CSS у нас вся игра завязана на чекбоксах и radio кнопках и слеекторе "~". А потому изменяемые элементы должны находиться сверху страницы.

Назовем их «состояния»

<!-- Состояние --> 	<!-- Дефолтные состояния --> 	<input type="radio" name="button-level-2" id="default-state-level-2"> 	<input type="radio" name="button-level-1" id="default-state-level-1"> 	<input type="radio" name="unit" id="default-state-unit">  	<!-- Кнопки --> 		<!-- Нажата кнопка выбора построек --> 		<input class="state build-button probe" type="radio" name="button-level-1" id="build-button"> 		<!-- Для постройки выбран нексус --> 		<input class="state build-nexus start-build" type="radio" name="button-level-2" id="build-nexus"> 		<!-- Постройка пробок --> 		<input class="state build-probe-1" type="checkbox" id="build-probe-1"> 		<input class="state build-probe-2" type="checkbox" id="build-probe-2"> 		<input class="state build-probe-3" type="checkbox" id="build-probe-3"> 		<input class="state build-probe-4" type="checkbox" id="build-probe-4"> 		<input class="state build-probe-5" type="checkbox" id="build-probe-5"> 	<!-- /Кнопки -->   	<!-- Юниты --> 		<input class="state unit probe" type="radio" name="unit" id="start-probe"> 		<input class="state unit nexus" type="radio" name="unit" id="nexus-select"> 	<!-- /Юниты -->  <!-- /Состояние --> 

Кроме того, что они должны быть вверху, они еще не должны находиться внутри блоков, тк селектор "~" выбирает элементы того же уровня.
То есть, имея разметку

<input type="radio" name="unit" id="default-state-unit"> <div id="map"> 	<div class="some">Hiho</div> </div> 

Этот селектор не выберет ничего

#default-state-unit:checked ~ .some 

Это происходит потому, что .some вложен в #map, то есть находится на другом уровне вложенности.
В этом случае селектор необходимо начинать с ближайшего элемента того же уровня

#default-state-unit:checked ~ #map .some 

Сетка

Как мы все знаем, здания в старкрафте располагаются по сетке. Соответственно, нам надо сделать такую же сетку.
Состоять она будет из блоков, содержащих некие состояния, которые может принимать эта ячейка — например, на ней построен нексус:

<!-- Ячейка --> <div class="cell-label"> 	<!-- Нексус --> 	<label for="cell_6_nexus" class="nexus status unit"> 		<span class="inner"></span> 	</label> 	<input type="checkbox" id="cell_6_nexus" class="cell-state"> 	<label class="view nexus unit" for="nexus-select"> 		<div class="probes"> 			<div class="probe"></div> 			<div class="probe"></div> 			<div class="probe"></div> 			<div class="probe"></div> 			<div class="probe"></div> 		</div> 	</label> </div> <!-- /Ячейка --> 

За конечное отображение у нас отвечает блок .view (их может быть множество для разных состояний).
Включается состояние при нажатии на соответствующий label: включаем чекбокс — .view виден:

#map .cell-label .cell-state:checked + .view{ 	display: block; } 

Сам же лейбл виден тоже при определенных условиях. Например, когда мы собираемся строить нексус, у нас «виден» (display:block) label, отвечающий за это состояние:

.state.build-nexus:checked ~ #map .cell-label:hover label.status.nexus{ 	display: block; } 

При наведении курсора на ячейку мы хотим видеть предварительно, как будет стоять наше здание. Для этого просто стилизуем вложенный в label span (span больше label’а, лейбл размером с ячейку).
Итак, мы видим предварительное расположение постройки, но блок и изображением закрывает соседние ячейки, так что на них трудно обыграть состояние :hover (которое как раз и инициирует показ предварительной постройки).
Слава богам, мы уже можем использовать CSS4 свойство

pointer-events: none; 

Это свойство позволяет отключить реагирование блока на события мыши, как бы сделать его прозрачным для мыши.
Ни клик, ни наведение элементом не воспринимаются. Даже выделить элемент с помощью лупы из панели разработчика нельзя. При этом он вполне себе виден ровно на том z-уровне, на котором и должен.

Юниты

Юнитов и зданий у нас несколько, и выделяя каждый из этих элементов, мы хотим видеть разные кнопки на панели заданий.
Достигается это переключением радио-кнопок, ведь каждый раз мы можем выделить только одно здание/юнита (в оригинале не так).

Заключение

Хотел сделать некоторый сброс к дефолтным состояниям некоторых радио-кнопок, отвечающих за состояния панели при выделении юнита/здания.
Вложил лейбл в лейбл в лейбл рассчитывая, что клик по содержимому лейбла вызовет клик по контейнеру. Но на мое удивление это не сработало, кликается только внутренний лейбл.

<!-- Дефолтные состояния --> <input type="radio" name="button-level-2" id="default-state-level-2"> <input type="radio" name="button-level-1" id="default-state-level-1"> <input type="radio" name="unit" id="default-state-unit">  <!-- Сброс --> <label for="default-state-level-2" class="reset"> 	<label for="default-state-level-1" class="reset"> 		<label for="default-state-unit" class="reset"></label> 	</label> </label> <!-- /Сброс --> 

Разумеется, это всего лишь Proof-of-Concept и доделать-переделать тут можно много чего, я лишь указал направление для размышлений.

Ресурсы

ссылка на оригинал статьи http://habrahabr.ru/post/267801/

С Днем Рождения, Google

Ровно 17 лет назад был получен официальный ответ по поводу регистрации доменного имени google.com. За это время довольно скромный проект превратился в одну из самых известных и успешных корпораций мира. Нет сомнения в том, что большинство из тех кто хоть раз искал информацию в интернете использовали именно поисковую систему Google.

Поисковая машина корпорации Google обрабатывает невероятное количество информация, более 41 млрд запросов в месяц. Совсем недавно, а именно 1 сентября компания официально выпустила свой новый логотип. В данный момент Google тесно сотрудничает с Twitter, что скорей всего свидетельствует о намерении интернет-гиганта приобрести данную соцсеть.

Сложно представить, что корпорацию Google ждет в будущем, но очень хочется надеяться, что «гуглить» мы будем еще ой как долго. С Днем Рождения тебя, Google!

Какую поисковую систему Вы в основном используете?

Проголосовало 344 человека. Воздержалось 68 человек.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

ссылка на оригинал статьи http://habrahabr.ru/post/257095/

Англичанин построил модель сферы Архимеда

Упоминания о механических моделях небесного свода встречаются в работах сразу нескольких античных авторов. Обычно такие модели связывают с Архимедом. Наиболее раннее упоминание о такой модели встречается в диалоге римского автора Маркуса Туллиуса Цицерона, созданного в первом веке до нашей эры. Один из персонажей диалога описывает, как римский генерал Марк Клавдий Марцелл напал на дом Архимеда в Сиракузах в 212 году до н.э. В ходе этого нападения сам Архимед был убит, а генерал взял себе одну-единственную вещь — сферу Архимеда.

Когда персонаж увидел сферу в действии, он понял, что Архимед — величайший гений. В модель Архимеда входили Солнце, Луна и пять известных на тот момент планет. Каждый из объектов двигался по определенной траектории с определенной скоростью.

Историки долгое время считали, что описание сферы, которое дал Цицерон, было простой выдумкой. Но открытие Антикитерского механизма дало ученым основание верить, что римляне и греки могли создавать чрезвычайно сложные механические системы.

Остатки механизма были обследованы, в том числе и при помощи рентгеновской томографии. Первоначальную реконструкцию механизма создал английский историк науки Дерек Джон де Солла Прайс. Ученый провёл рентгеновское исследование механизма и построил его схему. В 1959 году он опубликовал в журнале Scientific American подробное описание устройства. Полная схема устройства была представлена только в 1971 году и содержала 32 шестерни.


Райт показывает детали своего механизма, всего здесь содержится 24 шестеренки

Майкл Райт (Michael Wright), специалист по механическим устройствам из Лондонского музея науки, предпринял новое исследование механизма, для чего воспользовался методами рентгеновской томографии. Были построены и изучены рентгенографические двухмерные срезы механизма. Предварительные результаты исследования были представлены в 1997 году. Они показали, что в реконструкции Прайса имеются фундаментальные ошибки. В частности, было убедительно показано, что предположение о наличии дифференциальной передачи в механизме не соответствует действительности. В 2002 году Райт предложил свою реконструкцию. Он подтвердил общее заключение Прайса о том, что механизм служил для моделирования движения небесных тел. Согласно Райту, механизм мог моделировать движение не только Солнца и Луны, но и пяти известных в древности планет — Меркурия, Венеры, Марса, Юпитера и Сатурна.

Сейчас Майкл Райт построил модель и сферы Архимеда, правда, в своей работе он использовал большое количество предположений и догадок. Механическая модель сферы, предложенная Райтом, будет представлена широкой публике 27 сентября 2015 года на выставке в Базеле, Швейцария. Интересно, что Райт сделал именно сферу, хотя большинство современных ученых считают, что модель была плоской.

Механическая модель сферы Архимеда, созданная Райтом, содержит 24 шестерни, как и говорилось выше. Система показывает Солнце и Луну движущимися с постоянной скоростью, плюс по небесному своду движутся и планеты.

ссылка на оригинал статьи http://geektimes.ru/post/263054/

Мечта детства или поиск альтернативы машине Тьюрингита

В году где-то 1993 (учился я тогда во 2-ом классе) после просмотра на видеомагнитофоне с «подпольным» переводом фильма «Терминатор 2: Судный день», у меня появилась детская мечта сделать такого робота, который смог бы не только воевать, но и делать домашние задания по русскому языку за меня моим почерком, чтобы учительница не заметила (дико не любил я тогда этот предмет).
Прошло время, но даже сейчас, без преувеличения можно сказать, что возможности искусственного интеллекта, заложенные в, так называемом, нейропроцессоре робота-терминатора, роль которого исполнял Арнольд Шварценеггер, до сих пор остаются фантастическими. Ведь очевидно, что для того, чтобы какая-либо задача была решена при помощи средств вычислительной техники, она, прежде всего, должна быть формализована. А так как по состоянию на сегодняшний день в Мире не существует единого и полного формального описания искусственного интеллекта, этот вопрос остаётся не решённым. И пока что, само выражение «искусственный интеллект» носит больше некий субъективный характер, применимый лишь к отдельным задачам (ну, это лично моё мнение, может быть я и не прав). Но, даже если всё-таки и удастся процессы, происходящие в головном мозге человека, описать при помощи математических формул, то есть, как раз найти тот самый способ формализации искусственного интеллекта, то вряд ли возможности современной вычислительной техники позволят его реализовать. Дело тут в том, что все формализованные алгоритмы, по состоянию на сегодняшний день, могут быть реализованы двумя способами:

  • программной реализацией (на микропроцессорной технике);
  • аппаратной реализацией (как правило, на программируемой логике).

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

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

  • очередная команда или набор независимых команд последовательности, считывается из памяти и выполняется тогда, когда выполнена предыдущая команда (набор независимых команд), как было сказано выше, так работает большинство современных процессоров, реализуя принципы машины Тьюринга;
  • команда считывается из памяти и выполняется тогда, когда доступны все её операнды (потоковые вычисления);
  • команды объединяются в процедуры, внутренне, каждая из которых выполняется как в первом случае (то есть, внутри каждой из таких процедур команды исполняются последовательно по принципам машины Тьюринга), при этом, внешне, сами процедуры исполняются как во втором случае, то есть по мере готовности и доступности всех необходимых операндов (макропотоковые вычисления, представляющие смесь первых двух вариантов);
  • команда считывается из памяти и выполняется тогда, когда другим командам требуются результаты её выполнения (редукционные вычисления).

Как было сказано в одной из публикаций, размещённых на сайте habrahabr.ru, более подробная ссылка на которую будет представлена далее по тексту, любой вычислительный алгоритм представляет собой набор математических формул, по средствам вычисления которых он реализуется. Всё с той же публикации возьмём, представленную в ней для примера формулу: g = e*(a+b) + (a-c)*f, и составим блок-схему алгоритма для классического процессора со следующей структурой (упрощённой и очень условной (для примера подойдёт)):
image
«Наш» процессор имеет гарвардскую архитектуру и состоит из двух регистров общего назначения, арифметико-логического устройства, регистра — аккумулятора, счётчика и дешифратора команд. Причём, на входной порт «А» АЛУ, может быть подано значение либо с регистра общего назначения, либо с регистра — аккумулятора. Это реализуется при помощи мультиплексора. Итак, блок-схема алгоритма для данного процессора будет выглядеть так:
image
Каждый операционный блок на блок-схеме — это аналог ячейки на ленте в машине Тьюринга, а счётчик адреса команд — аналог считывающей головки. Итого, для вычисления, взятой для примера формулы, понадобится считать 13 ячеек (выполнить 13 действий).
Что же касается потоковых вычислений, то вот здесь рассказывается, что это за вычисления и как они реализуются. Для нашего случая (взятой для примера формулы), граф потоковых вычислений (аналог блок-схемы алгоритма) будет иметь следующий вид:
image
Для потокового процессора со следующей структурой:
image

вычисления с распределением команд, будут выглядеть следующим образом:

image
Сравнительно, не так давно, одна из отечественных компаний заявила об окончании разработки процессора с такой архитектурой. Эта компания называется ОАО «Мультиклет». В их разработке, каждый процессорный элемент называется клеткой, отсюда и название — мультиклеточный процессор. На habrahabr.ru есть множество публикаций, посвящённых этому процессору, например вот эта. Эта публикация и есть та самая, ссылку на которую я, ранее, обещал дать, и с которой для примера взял формулу и граф потоковых вычислений.
Вообще, когда ОАО «Мультиклет» заявил о разработке такой архитектуры, эта новость была преподнесена так, что я, было, подумал, что теперь на рынке вычислительных систем произойдёт революция, но ничего не случилось. Вместо этого в интернете стали появляться публикации о недостатках мультиклеточной архитектуры. Вот одна из них. Но, при всём при том, разработка получилась рабочей и конкурентоспособной.
Ещё один интересный способ организации вычислений, отличный от машины Тьюринга — редукционные вычисления. В предыдущем случае каждая команда выполняется тогда, когда доступны все её операнды, но при таком подходе может сложиться ситуация, когда результаты выполненной команды далее могут не понадобится, тогда окажется, что временные и аппаратные ресурсы были потрачены впустую. В редукционных вычислениях данный недостаток был преодолён тем, что исполнение команды инициируется запросом на её результаты. В математической основе таких вычислений лежат λ-исчисления. Для вычисления нашей формулы весь процесс начинается с запроса на результат g, который, в свою очередь, сформирует запросы на выполнение операций e*(a+b) и (a-c)*f, а эти операции сформируют запросы на вычисление значений a+b и a-c и т. д.:
image
Сами по себе, редукционные вычисления состоят из процессов распознавания редексов с последующей заменой их результатами выполненных, запрошенных ранее, команд. В итоге, все вычисления редуцируются до требуемого результата. Нигде, ни в литературе, ни в интернете я не нашёл описания реальных процессоров с такой архитектурой, может плохо искал…
В настоящее время, уже ведутся исследования по созданию вычислительных систем, работающих на принципиально новых принципах, таких как квантовые вычисления, фотонные вычисления и т. д. Очевидно, что компьютеры, созданные по таким технологиям превзойдут все современные и приблизят школьников к тому моменту, когда можно будет заставить «железяку» делать за себя домашнюю работу по русскому языку. Но вопрос о создании принципиально нового способа реализации машинных вычислений, не выходя за рамки современной электроники, до сих пор остаётся актуальным.

ссылка на оригинал статьи http://geektimes.ru/post/263056/