RSS
Pages: 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37
[>] Обзор примера применения обучения с подкреплением с использованием TensorFlow
habra.15
habrabot(difrex,1) — All
2016-01-08 09:00:02


![КПДВ. В Karpathy game играет нейронная сеть][1] Всем привет! Я думаю, что многие слышали о [Google DeepMind][2]. О том как они обучают программы играть в игры Atari лучше человека. Сегодня я хочу представить вам статью о том, как сделать нечто подобное. Данная статья — это обзор идеи и кода [примера][3] применения [Q-learning][4], являющегося частным случаем обучения с подкреплением. Пример основан на [статье сотрудников Google DeepMind][5]. [За подробностями добро пожаловать под кат][6]

[1]: https://habrastorage.org/files/70a/74e/0b1/70a74e0b15ad4a97944eb06d63dd2aff.png
[2]: http://deepmind.com/
[3]: https://github.com/nivwusquorum/tensorflow-deepq
[4]: https://ru.wikipedia.org/wiki/Q-%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5
[5]: https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
[6]: http://habrahabr.ru/post/274597/#habracut

[>] [Перевод] Социология алгоритмов: Как связаны финансовые рынки и высокочастотная торговля (Часть 2)
habra.15
habrabot(difrex,1) — All
2016-01-08 11:30:02


[![][1]][2] Ранее в нашем блоге мы публиковали [первую часть][3] [исследования][4] социологии финансовых алгоритмов, выполненного профессором Высшей школы социальных наук Эдинбурга Дональда МакКензи. Сегодня мы представляем вашему вниманию продолжение этой интересной работы — во второй части речь идет о разных типах HFT-заявок, дарк-пулах и связанных экологиях финансовых рынков. [Читать дальше →][5]

[1]: https://habrastorage.org/files/2a1/d08/7b9/2a1d087b9d504296868199544f418898.jpg
[2]: http://habrahabr.ru/company/itinvest/blog/274671/
[3]: http://habrahabr.ru/company/itinvest/blog/274247/
[4]: http://www.fixnetix.com/perch/resources/algorithms25.pdf
[5]: http://habrahabr.ru/post/274671/#habracut

[>] Как я стал самым маленьким программистом в республике точно
habra.15
habrabot(difrex,1) — All
2016-01-08 12:30:02


Привет, Хабр! Я, наверное, самый маленький программист в республике, если не в стране. Сейчас мне всего 11, но я хорошо знаю Си и C++. Давайте приступим к теме статьи — о моем пути программиста. Продолжение под катом. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/274661/#habracut

[>] Обезвреживаем бомбу с Radare2
habra.15
habrabot(difrex,1) — All
2016-01-08 18:30:04


![][1] Доброго времени суток, %username%! Сегодня мы отправимся изучать бесчисленные возможности фреймворка для реверсера — radare2. В виде подопытного я взял первую попавшую бомбу, она оказалась с [сайта][2] Университета Карнеги Меллон. [Читать дальше →][3]

[1]: https://habrastorage.org/files/0f6/894/09e/0f689409e9a246c1b214c3a2fd9402f2.png
[2]: http://csapp.cs.cmu.edu/3e/bomb.tar
[3]: http://habrahabr.ru/post/274617/#habracut

[>] Итоги конкурса по программированию на JS: Почтовые фильтры
habra.15
habrabot(difrex,1) — All
2016-01-08 19:30:03


Спасибо всем участникам нашего последнего [конкурса по программированию][1]! Мы получили 408 решений от 237 различных участников (в конкурсе участвует только одно, последнее из решений от каждого участника, и мы публикуем именно последние варианты). Кроме того, 7 решений было отправлено нам либо после окончания срока приёма работ, либо сотрудниками Hola, и мы рассмотрели их вне конкурса. [Читать дальше →][2]

[1]: http://habrahabr.ru/company/hola/blog/270847/
[2]: http://habrahabr.ru/post/274697/#habracut

[>] Security Week 01: Вымогатель на Javascript, $100k за баг в Adobe Flash, зашифрованное светлое будущее
habra.15
habrabot(difrex,1) — All
2016-01-09 13:00:03


![][1]Важным событием конца декабря стала конференция Chaos Communication Congress. Материалы с нее можно найти по ключевому слову 32c3, где 32 — порядковый номер мероприятия, начиная с 1984 года. Интересных исследований на мероприятии в Гамбурге было немало. Например, эксперты Феликс Домке и Даниель Ланге подробно [рассказали][2] о технической стороне «дизельгейта», включая особенности работы современных управляющих систем автомобилей. А [здесь][3] можно посмотреть монументальную 110-страничную презентацию об уязвимости железнодорожных систем, и прийти к выводу, что IT в поездах применяется широко, много, везде по-разному, и часто с применением стандартного ПО (Windows XP) или типовых протоколов беспроводной связи (GSM), недостатки которых с точки зрения безопасности широко известны и активно эксплуатируются (к счастью, пока в других местах). А вот [новость][4] (презентация и ссылка на исследовательскую работу внутри) о том, что уникальные особенности стиля программирования просачиваются даже в скомпилированный код. Хотя данная тема и является достаточно узкоспециализированной, я вижу в ней нечто большее: возможно в ближайшем будущем картинка справа окончательно потеряет актуальность. Не потому, что все за всеми будут следить, а благодаря поведенческому анализу — пользователя можно будет идентифицировать по тому, как он взамодействует с сайтом, приложением или чем-то еще так же, как программиста — по тому, как тот пишет код. Вот кстати Apple буквально вчера [приобрела][5] стартап, специализирующийся на анализе человеческих эмоций. В общем, 2016-й год начинается интересно. А мы продолжаем наблюдение. Предыдущие серии доступны [здесь][6]. [Читать дальше →][7]

[1]: https://habrastorage.org/files/a9f/c99/ed1/a9fc99ed11d44c40aa0127c3763cab17.jpg
[2]: https://blog.kaspersky.ru/dieselgate-explained/10406/
[3]: https://blog.kaspersky.ru/train-hack/10377/
[4]: http://www.theregister.co.uk/2015/12/31/automated_stylometry_can_deanonymise_programmers_binaries/?mt=1452258549219
[5]: http://www.wired.co.uk/news/archive/2016-01/08/apple-emotient-ai-emotions
[6]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[7]: http://habrahabr.ru/post/274703/#habracut

[>] Программный интернет шлюз для уже не маленькой компании (Shorewall, OpenVPN, OSPF). Часть 2
habra.15
habrabot(difrex,1) — All
2016-01-09 14:00:02


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

* Более подробная настройка Shorewall
* Страшный и не понятный QoS
* Балансировка нагрузки и резервирование

А в [предыдущей части][1] были рассмотрены:

* Простейшая настройка Shorewall
* Ужасно сложная настройка dnsmasq
* Не менее сложная настройка OpenVPN
* И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF

[Читать дальше →][2]

[1]: http://habrahabr.ru/post/274639/
[2]: http://habrahabr.ru/post/274677/#habracut

[>] Критические ошибки проектирования АСУ ТП и программирования ПЛК
habra.15
habrabot(difrex,1) — All
2016-01-09 15:00:02


В промышленности внедряются автоматизированные системы управления технологическим процессом (АСУ ТП) на промышленных программируемых логических контроллерах (ПЛК) на объектах модернизации. Вновь поставляемое оборудование, уже по умолчанию содержит АСУ на ПЛК. Но качество проектирования АСУ ТП и программирования ПЛК иногда не соответствует логике и требований к надежной защите управляемого объекта. В этой статье я расскажу о типичной ошибке проектирования и программирования обычного промышленного оборудования. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/274727/#habracut

[>] [Перевод] Восход разработчикономики (окончание)
habra.15
habrabot(difrex,1) — All
2016-01-09 15:30:03


**(начало статьи [здесь][1])**

#### Управление рисками при инвестировании в программистские таланты

С другой стороны — этот эффект не имеет названия; возможно, его следовало бы именовать «десятикра**д**ничеством» — _плохие_ разработчики будут стоить вам отнюдь не незначительного ухудшения производительности труда. Нет, по целому ряду трудноуловимых причин они способны катастрофически саботировать сложную программную систему. Плохим разработчиком, построившим угрожающе полную ошибок или из рук вон плохо спроектированную систему, в её основание заложена тикающая бомба замедленного действия, и чтобы разгрести руины после того, как она рванёт, потребуются вложения, тысячекратно превосходящие сэкономленное на старте. Хуже того, работа по разбору завалов потребует привлечения усилий гораздо большего количества _хороших_ разработчиков, и на более длительное время. В этом моменте разработка программного обеспечения является полной противоположностью другим отраслям — скажем, аэрокосмической, — в которых некомпетентность и грубые ошибки гораздо более очевидны; их легче обнаружить и исправить на ранних этапах, пока стоимость такого исправления ещё не выросла до небес. Отсроченные кризисы (вроде конструкции самолёта, в которой в ходе реальной эксплуатации [обнаружился фатальный дефект][2]) также гораздо легче удержать от распространения, изолировать и исправить. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/270267/
[2]: https://ru.wikipedia.org/wiki/De_Havilland_Comet#.D0.9A.D0.B0.D1.82.D0.B0.D1.81.D1.82.D1.80.D0.BE.D1.84.D1.8B_.D0.B8_.D0.BF.D1.80.D0.B5.D0.BA.D1.80.D0.B0.D1.89.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.C2.AB.D0.9A.D0.BE.D0.BC.D0.B5.D1.82.C2.BB_.D0.BF.D0.B5.D1.80.D0.B2.D1.8B.D1.85_.D1.81.D0.B5.D1.80.D0.B8.D0.B9
[3]: http://habrahabr.ru/post/274573/#habracut

[>] Steam CEG от Valve и с чем его едят. Введение
habra.15
habrabot(difrex,1) — All
2016-01-09 21:30:02


![image][1]

##### **Немного определений**

**CEG **(_Custom Executable Generation_, _рус. Генерация Уникального Исполняемого Файла_) — средство защиты от пиратства (как бы парадоксально это не звучало), разработанная великой и ужасной компанией _Valve _в 2009 году. Изначально планировалось, что новое средство защиты будет использоваться чуть ли не на каждой игре, выпущенной в _Steam_. Однако, пересмотрев свои приоритеты, компания Valve поняла, что если потенциальный разработчик захочет использовать такое 'счастье' в новоиспеченной игре, то желательно было бы платить и отнюдь не дешевую цену. Поэтому, исторически сложилось, что _CEG _используется лишь крупными компаниями, которые в состоянии себе это позволить. Сама суть этой защиты заключается в следующем: как только подходит к концу закачка игры из сервиса цифровой дистрибуции Steam, на персональный компьютер клиента загружается «голый», еще не подписанный исполняемый файл. Затем, на тот же клиентский компьютер, загружается цифровой сертификат и с помощью специальной библиотеки _SteamServices.dll_ (загрузка которой, к слову, производится в TEMP) и специального ключа с _AES _шифрованием подписывается выше упомянутый исполняемый файл.

##### **Собственно, быстрый смотр защиты**

«А какова же тогда практическая ценность такой 'защиты', если она только и делает, что просто подписывает исполняемый файл ?» — спросите Вы. И тут я отвечу — не все так просто как кажется на первый взгляд. Дело в том, что при нанесении цифровой подписи на файл, собирается информация о папках и файлах, которые присутствуют на клиентской системе, а так же некотором железе. В последствии, собранная информация, так же находит свое место в исполняемом файле. И эта информация будет действительно уникальной, так как учитываются следующие составляющие: временной штамп файлов и папок в стиле unix (дата создания, дата последнего изменения), уникальные ключи реестра (а так же проверка, установлен ли клиент Steam на ПК, посредством того же православного реестра), количество файлов в заданной директории, ID процессора, серийный номер жесткого диска. Следует отметить, что последние два — используются лишь в новейших версиях CEG (например, такие игры как: _XCOM: Enemy Within_, _Grid Autosport_, _DiRT Rally_).

##### **Подводные камни**

Итак, что же мы имеем — эдакую привязку 'уникального' исполняемого файла к железу и файлам клиентского ПК. Хорошо это или плохо? В общем и целом — хорошая идея и реализация. Минус в этом всем, если, допустим, Вы поехали на дачу к друзьям и прихватили с собой полный бэкап любимой игры с этим самым _CEG_, сбросив его на переносной носитель и надеясь, что сможете спокойно поиграть. Но тут случилось непредвиденное — у друга не работает Интернет! Зато на ноутбуке установлен Steam. Не беда, Вы делаете восстановление бэкапа вышей игры в оффлайновом режиме Steam, нажимаете кнопку «Играть», но ничего не происходит! А все потому, что железо и прочие составляющие, о которых писалось выше, не совпадают с железом Вашего друга. И без доступа в глобальную сеть, у Вас просто никак не получится запустить игру, так как по понятным причинам сгенерировать новый исполняемый файл невозможно. Или запустить исполняемый файл все таки возможно? В следующей части статьи пойдет речь о том, возможно ли полностью отучить от _CEG _исполняемый файл, имея под рукой отладчик и среду разработки программного обеспечения (Visual Studio, например). [][2]

[1]: https://habrastorage.org/getpro/habr/post_images/55b/f02/837/55bf02837e1a8ccbc11ff9ed772e42a0.gif
[2]: http://habrahabr.ru/post/274741/#habracut

[>] [Перевод] Rust в 2016 году
habra.15
habrabot(difrex,1) — All
2016-01-10 16:30:03


2015 год был значительным годом для Rust: мы выпустили версию 1.0, стабилизировали большинство элементов языка и кучу библиотек, значительно выросли как сообщество, а также [реорганизовали управление проектом][1]. Может показаться что 2016 год не будет таким же интересным (будет трудно превзойти [выпуск 1.0][2]), но это будет супер-важный год для Rust, в котором произойдет много захватывающих вещей. В этой статье я расскажу о том, что, как я думаю, должно произойти. Это не официальная позиция и не обещание разработчиков Rust.

### 2015

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

* Создано 331 [предложение по улучшению языка (RFC)][3]
* из которых 161 были приняты и влиты в основной репозиторий
* всего 120 человек подавало RFC, из них 6 человек создало 10 и более, Alex Crichton создал 23 RFC
* Создано 559 задач по улучшению RFC
* Прислано и влито в [репозиторий Rust][4] 4630 Pull-запросов
* авторами которых является 831 человек, из них 91 создали больше 10 запросов, 446 человек создали только один, а Steve Klabnik был автором 551 pull-запроса
* Создано 4710 [задач][5]
* из которых 1611 еще открыты
* авторами которых является 1319 человек, из которых 79 создали больше 10, а Alex Crichton открыл всего 159 задач
* Выпущено шесть стабильных релизов Rust (1.0 – 1.5)
* Поддерживается стабильность Rust – [96% пакетов, которые компилировались на 1.0, по прежнему компилируются с использованием версии 1.5][6]

[Читать дальше →][7]

[1]: https://github.com/rust-lang/rfcs/blob/master/text/1068-rust-governance.md
[2]: http://habrahabr.ru/post/258069/
[3]: https://github.com/rust-lang/rfcs
[4]: https://github.com/rust-lang/rust
[5]: https://github.com/rust-lang/rust/issues
[6]: https://internals.rust-lang.org/t/rust-regressions-2015-year-end-report/2993
[7]: http://habrahabr.ru/post/274757/#habracut

[>] Steam CEG от Valve и с чем его едят. Все сложное — просто
habra.15
habrabot(difrex,1) — All
2016-01-10 20:30:03


![image][1] Добрый час, _%USERNAME%_! В моей предыдущей статье "_[Steam CEG от Valve и с чем его едят. Введение][2]_" было дано лишь абстрактное понимание и принципы работы технологии CEG. В этой статье будет по абсолютному минимуму теории и преобладающее большинство практики. Сегодня и сейчас мы рассмотрим, можно ли «отучить» от этой защиты заветный исполняемый файл. [Читать дальше][3]

[1]: https://habrastorage.org/getpro/habr/post_images/55b/f02/837/55bf02837e1a8ccbc11ff9ed772e42a0.gif
[2]: http://habrahabr.ru/post/274741/
[3]: http://habrahabr.ru/post/274773/#habracut

[>] [Перевод] ProDBG переходит на Rust
habra.15
habrabot(difrex,1) — All
2016-01-11 01:30:02




### Немного о ProDBG от переводчика и автора проекта

[![КДПВ][1]][2] ProDBG — это новый дебаггер, который сейчас разрабатывает Daniel Collin. Одна из целей проекта — поддержка множества архитектур и операционных систем. Изначально пишется на C/C++, заложена поддержка плагинов. На данный момент находится на ранней стадии разработки, и в основном нацелен на MacOS. Далее передаю слово автору поста.

----

Как известно тем из вас, кто читает меня в Твиттере, я не очень люблю C++. У него свои обычные проблемы с заголовочными файлами, отстойными шаблонами, и так далее. И большая проблема — найти альтернативу. Я рассматривал вариант перейти на C#, но сделать так, чтобы он хорошо заработал на всех платформах, кажется очень сложной задачей (например, на данный момент поддержка x86 на Mac практически отсутствует). К тому же некоторым людям такой выбор будет не по вкусу. Мне нравится (Common) Lisp. Я восхищаюсь устройством его макросов, в нём есть та элегантность, которая встречается не во всех языках. Однако он кажется каким-то чужеродным для многих людей, так что вкладывать в проект станет намного сложнее. К тому же я хочу по возможности использовать язык без сборщика мусора, и хотя Lisp можно сильно ускорить, сделать это не так уж просто. [Читать дальше →][3]

[1]: https://habrastorage.org/files/220/2cf/51a/2202cf51ab2941fdaa845ec93912a34e.png "КДПВ"
[2]: http://habrahabr.ru/post/274767/
[3]: http://habrahabr.ru/post/274767/#habracut

[>] Почему и зачем писать open-source код?
habra.15
habrabot(difrex,1) — All
2016-01-11 08:00:02


![image][1] _**Под катом интересный опрос**_ Возможно, заголовок этой статьи покажется Вам не корректным, _”Как можно писать open-source код? И что это за код такой?”_ — спросите Вы. Чем open-source код отличается от “просто-кода”? Open-source проект — это ответственность за качество кода, за покрытие его тестами, за документацию, за своевременные ответы на вопросы и реагирование на bug репорты, за обработку pull-request’ов. Ваше поведение и мысли во время написания open-source кода, который увидит мир будут другие, соответственно и код на выходе получается другой. Open-Source проект живет своей жизнью — жизнью сообщества, которое образуется вокруг проекта. Идеи, отзывы, bug репорты, обсуждение и благодарности от других членов сообщества влияют на Вас и проект напрямую, и стимулируют написание кода — понятного, документированного и покрытого тестами. [Читать дальше →][2]

[1]: https://habrastorage.org/files/a5a/956/669/a5a956669e5f4435a24855c570ad0d0a.png
[2]: http://habrahabr.ru/post/274791/#habracut

[>] С днем рождения, Дональд Кнут
habra.15
habrabot(difrex,1) — All
2016-01-11 08:00:02


![image][1]

#### День Рождения, 10 января, 78 лет

[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/156/2aa/5d3/1562aa5d3b02ef01922845f0b18b2689.jpg
[2]: http://habrahabr.ru/post/274787/#habracut

[>] Автоматический запуск Libre/OpenOffice в режиме прослушивания из Python
habra.15
habrabot(difrex,1) — All
2016-01-11 08:30:03


Libre/Open Office предоставляют возможность работы с офисом через UNO API. Для того, чтобы можно было обратиться к офису необходимо запустить его в режиме прослушивания. Например:



Данный подход вполне логичен и понятен с точки зрения разработчиков офиса, но несет ряд неудобств. В частности, нужно самостоятельно запускать Libre/Open Office в режиме прослушивания. Лично мне не понятно, почему разработчики поленились и не предоставили функции запуска офиса. Ну да ладно, было бы все сделано, не нужны были бы программисты. Посему будем решать задачу своими силами. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/274775/#habracut

[>] [Перевод] Перевод: Трагедия common lisp
habra.15
habrabot(difrex,1) — All
2016-01-11 10:00:02


Вашему вниманию предлагается перевод письма [Марка Миллера][1], одного из участников комитета по стандартизации JavaScript. В этом письме Марк рассказывает, к чему может привести “ползучий фичеризм” при дизайне языков программирования. И почему он не хочет добавлять в javascript синтаксис “let-block”. [Почитать, что придумал гранд-мастер оправданий][2]

[1]: https://en.wikipedia.org/wiki/Mark_S._Miller
[2]: http://habrahabr.ru/post/274739/#habracut

[>] Пойманы преступники, опустошавшие банкоматы с помощью вируса Tyupkin
habra.15
habrabot(difrex,1) — All
2016-01-11 10:00:02


Европол задержал преступников, которые опустошали банкоматы без использования пластиковой карты — с помощью заранее загруженного в банкомат вируса Tyupkin. ![image][1] Сначала, с помощью загрузочного компакт-диска преступники получали доступ к установленным внутри банкоматов компьютерам под управлением одной из старых версий Windows и заражали их вредоносом. Данный вирус имел некоторые особенности: он отключал установленную антивирусную защиту, а также большую часть недели проводил «в спячке»: принимал команды от преступников по ночам — с субботы на воскресенье и с воскресенья на понедельник. Также троян мог отключать местную сеть, чтобы службы банка не могли удалённо подключиться к банкомату и проверить, что с ним происходит. [Читать дальше →][2]

[1]: https://habrastorage.org/files/7b9/4cf/dcf/7b94cfdcff6f42ec8d36730c5c370870.png
[2]: http://habrahabr.ru/post/274679/#habracut

[>] IBM открывает разработчикам доступ к ряду своих сервисов, способствуя борьбе с киберпреступностью
habra.15
habrabot(difrex,1) — All
2016-01-11 10:00:02


![][1] Корпорация IBM на днях приняла решение открыть доступ к своей аналитической платформе безопасности — IBM Security Radar. Этот шаг, по мнению представителей компании, поможет заказчикам, партнерам компании и обычным разработчикам создавать пользовательские приложения с использованием возможностей платформы и соответствующего архива данных о безопасности. Также запущена онлайн-площадка для специалистов по информационной безопасности [IBM Security Exchange][2]. Здесь разработчики смогут создавать и обмениваться приложениями на основе технологий IBM. Таким образом, корпорация предпринимает активные действия для стимулирования сотрудничества индустрии и продвижения инноваций для борьбы с киберпреступлениями. Ранее в 2015 году IBM опубликовала более 700 ТБ данных об угрозах на своей платформе IBM X-Force Exchange. Только в апреле к платформе присоединилось более 2000 организаций. Благодаря открытому доступу к аналитической платформе безопасности и архиву данных об угрозах, компании смогут обмениваться важной информацией, что позволит эффективнее противостоять киберпреступлениям. [Читать дальше →][3]

[1]: https://habrastorage.org/files/5ca/7ae/d64/5ca7aed649984cca87335d590a3dd74b.jpg
[2]: http://www-03.ibm.com/security/engage/app-exchange/
[3]: http://habrahabr.ru/post/274781/#habracut

[>] Использование МатАнализа в компьютерных играх (часть 2)
habra.15
habrabot(difrex,1) — All
2016-01-11 13:00:06


**_Ключевые слова:_** _Задача о коллекции; Wolfram Alpha; Wolfram Mathematica; числа Стирлинга второго рода; матанализ; теория вероятностей; мат ожидание; медиана; квантиль; компьютерные игры; коллекция вкладышей; функция распределения случайной величины; плотность вероятности, ArcheAge._

## Введение

Когда остается заполучить только три из ста предметов для того чтобы собрать всю коллекцию (вкладышей жвачек БомБимБома или Турбо, или набора тяжелых доспехов для персонажа компьютерной игры), то огонь в глазах и ожидание чуда вытесняют и логику и разум и попытки математического анализа из головы напрочь. Есть только одна мысль «Ещё чуть-чуть и я заполучу оставшееся! Я соберу всю!». В это время, родные и друзья, этого одержимого коллекционера озадачены лишь только одним вопросом – «А, чуть-чуть, это сколько?!». Сколько маме нужно купить ещё ненавистных жвачек, или сколько нужно ещё девушке сидеть одной, пока её парень не выбьет с монстров в игре «редчайшие трусы Баала»?! Ответить на вопрос «сколько нужно купить жевательных резинок, чтобы собрать полную коллекцию из N-штук вкладышей» сходу довольно сложно, даже если пользоваться Яндексом, потому, что сложно сформулировать сам запрос для «обычного» поисковика. Попытка решения задачи самостоятельно обычно ставит людей в тупик – не понятно, с какой стороны к ней подступиться. В данной статье будут рассмотрены три вопроса: Как подходить к задачам, которые не понятно на первый взгляд как решать? Каким поисковиком пользоваться для того чтобы получать научные ответы на научные вопросы (а не получать предложения купить формулу квадратного уравнения на eBay)? И конечно, сколько же нужно купить жвачек, чтобы собрать коллекцию вкладышей? [Читать дальше →][1]

[1]: http://habrahabr.ru/post/274803/#habracut

[>] [Перевод] Как предсказать цену акций: Алгоритм адаптивной фильтрации
habra.15
habrabot(difrex,1) — All
2016-01-11 13:30:03


[![][1]][2] Группа бразильских ученых опубликовала [исследование][3], посвященное созданию инструмента для предсказания поведения активов, торгующихся на фондовом рынке. В работе представлено подробное описание метода и способа расчетов для подобных прогнозов. Мы представляем вашему вниманию наиболее интересные моменты этого документа. [Читать дальше →][4]

[1]: https://habrastorage.org/files/6ab/ab4/c28/6abab4c287bb4554b6efe25e36763a17.jpg
[2]: http://habrahabr.ru/company/itinvest/blog/274821/
[3]: http://arxiv.org/pdf/1501.07504.pdf
[4]: http://habrahabr.ru/post/274821/#habracut

[>] Open Source Society University
habra.15
habrabot(difrex,1) — All
2016-01-11 14:00:04


![][1] Ребята называющие себя Open Source Society, взяли и собрали [учебный план из бесплатных MOOC курсов][2], для желающих изучить информатику (Computer Science). Всего в программе 50+ курсов в ходе которых можно получить знания о разных аспектах CS. Курсы собраны с таких проектов как: Coursera, edX, Udacity, и т.д. На мой взгляд получилась добротная цепочка, на освоение которой, в зависимости от интенсивности и уровня подготовки, уйдет 1-2 года. [Читать дальше →][3]

[1]: https://habrastorage.org/files/e58/54c/dcb/e5854cdcb9974b3991c7d9347fca8427.png
[2]: https://github.com/open-source-society/computer-science
[3]: http://habrahabr.ru/post/274789/#habracut

[>] Работа с цифровыми подписями PGP с использованием Bouncy Castle Cryptography Library на Java
habra.15
habrabot(difrex,1) — All
2016-01-11 14:00:04


В данном руководстве мы рассмотрим работу с OpenPGP на Java с использованием библиотеки Bouncy Castle Cryptography Library с ориентацией на использование в веб-разработке. ![image][1] [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/bbe/0f7/ebd/bbe0f7ebd2390f418eae9bda5f286e96.png
[2]: http://habrahabr.ru/post/274779/#habracut

[>] [Из песочницы] К вопросу о таймерах в ОСРВ (Выводы)
habra.15
habrabot(difrex,1) — All
2016-01-11 14:00:04


![image][1]В кратце опишу содержание [статьи][2]: Есть циклический аппаратный счётчик, который, например, считает секунды, и есть прерывание по его переполнению. Расширяем диапазон счисления программным способом, инкременируя значение другой ячейки в прерывании. Таким образом, получаем возможность считать и минуты. Суть проблемы в том, что в общем случае одновременно прочитать значение минут и секунд невозможно, а при последовательном считывании может произойти прерывание и увеличение минут. Последствия: путешествие во времени назад. [Читать дальше →][3]

[1]: http://alnet.com.ua/forum/files/thumbs/t_1_196.jpg
[2]: http://habrahabr.ru/post/273885/
[3]: http://habrahabr.ru/post/274805/#habracut

[>] Java и время: часть первая
habra.15
habrabot(difrex,1) — All
2016-01-11 14:00:04


Восемь лет назад я принимал участие в проектировании и разработке сервиса, который был должен обслуживать запросы пользователей со всех уголков земного шара и координировать их действия. Работая над проектом я понял, что очень часто многие важные аспекты работы со временем просто игнорируются. Иногда это действительно не очень критично: если сервис локален и им пользуются только на определенной территории, либо пользователи естественным образом разделены на почти не взаимодействующие между собой географические кластеры. Однако же, если сервис объединяет пользователей по всему миру, то без четкого понимания принципов работы со временем уже не обойтись. Представим сервис, в котором общие события (совещания например) начинаются в какое-то строго определенное время, а пользователи рассчитывают на это. Какое время им показывать, в какой момент их беспокоить уведомлениями, что такое день рождения и когда можно поздравить человека — в статье я попробую это осмыслить. ![][1] Статья не претендует на глубину и/или академичность. Это попытка систематизировать опыт и обратить внимание разработчиков на не очень очевидные аспекты. [Читать дальше →][2]

[1]: https://habrastorage.org/files/688/d09/fb9/688d09fb9b814c19aad3e16a1b352b6e.jpg
[2]: http://habrahabr.ru/post/274811/#habracut

[>] [Из песочницы] Распаковка данных, сжатых алгоритмом Deflate с фиксированными кодами Хаффмана на примере формата PNG
habra.15
habrabot(difrex,1) — All
2016-01-11 14:30:05


![][1] В рамках очередной лабораторной работы мы с коллегами столкнулись с задачей разбора шестнадцатеричного дампа файла [PNG][2]. По стандарту [RFC 2083][3] формат PNG хранит пиксельные данные, сжатые алгоритмом [Deflate][4]. Поэтому при разборе дампа нам потребовалось распаковывать сжатые данные алгоритмом Inflate. [Читать дальше →][5]

[1]: https://habrastorage.org/files/210/e04/e4b/210e04e4b16248fab882bbedbc0b9792.png
[2]: https://ru.wikipedia.org/wiki/PNG
[3]: https://tools.ietf.org/html/rfc2083#section-5
[4]: https://ru.wikipedia.org/wiki/Deflate
[5]: http://habrahabr.ru/post/274825/#habracut

[>] LetsEncrypt в Go
habra.15
habrabot(difrex,1) — All
2016-01-11 14:30:05


Суть проблемы в том, что сертификаты LetsEncrypt действуют 3 месяца, а обновляются каждый месяц. Достаточно легко автоматизировать обновление certonly сертификатов через cron, но в Go пока нет простого способа автоматически подхватывать новые обновлённые сертификаты. [Точнее теперь есть][1]

[1]: http://habrahabr.ru/post/274749/#habracut

[>] [Перевод] Использование LSM-движка из SQLite 4 в качестве отдельной NoSQL базы данных с использованием Python
habra.15
habrabot(difrex,1) — All
2016-01-11 15:00:04


![image][1] На сегодняшний день две мои самые любимые темы — SQLite и key-value базы данных. И в этот раз я пишу сразу про обе: этот пост посвящён Python-обёртке для используемого в SQLite 4 key-value хранилища на основе [LSM][2]. Я не слишком внимательно отслеживаю релизы SQLite, но версия 3.8.11 привлекла моё внимание, поскольку в её описании заявлено серьёзное увеличение производительности по сравнению с 3.8.0. В сопроводительной информации я наткнулся на упоминание о новом экспериментальном расширении для полнотекстового поиска ([о котором писал когда-то][3]), и потому мне стало интересно, какая складывается ситуация с [SQLite 4][4]. Изучив доступную информацию, я обратил внимание, что одной из задач разработчиков было обеспечить в новых версиях [интерфейс для подключаемых движков баз данных][5]. На момент написания этого поста в SQLite 4 уже было два встроенных бэкенда, один из которых — key-value хранилище на основе LSM. В последние пару месяцев мне доводилось поиграться с [Cython][6], пока я писал Python-обёртку для встроенных k-v хранилищ [UnQLite][7] и [Vedis][8]. И я подумал, что было бы неплохо применить Cython для создания интерфейса движка БД на основе LSM, используемого в SQLite 4. Разобравшись с [исходным кодом SQLite 4][9] и [крохотным заголовочным файлом LSM][10], я написал [python-lsm-db][11] ([документация][12]). [Читать дальше →][13]

[1]: https://habrastorage.org/getpro/habr/post_images/a68/ddf/3e6/a68ddf3e6b52165cae0448a58f3a6b37.png
[2]: https://en.wikipedia.org/wiki/Log-structured_merge-tree
[3]: http://charlesleifer.com/blog/building-the-sqlite-fts5-search-extension/
[4]: http://sqlite.org/src4/doc/trunk/www/design.wiki
[5]: http://sqlite.org/src4/doc/trunk/www/storage.wiki
[6]: http://cython.org/
[7]: http://unqlite-python.readthedocs.org/
[8]: http://vedis-python.readthedocs.org/
[9]: http://sqlite.org/src4/tree?ci=trunk
[10]: https://github.com/coleifer/python-lsm-db/blob/master/src/lsm.h
[11]: https://github.com/coleifer/python-lsm-db
[12]: http://lsm-db.readthedocs.org/
[13]: http://habrahabr.ru/post/274733/#habracut

[>] Проверяем IronPython и IronRuby с помощью PVS-Studio
habra.15
habrabot(difrex,1) — All
2016-01-11 16:00:09


Совсем недавно мы выпустили новую версию нашего анализатора PVS-Studio с поддержкой проверки C# проектов. Пока на время релиза дальнейшая разработка продукта была приостановлена, я занимался тестированием анализатора. В качестве проектов для своих экспериментов я взял IronPython и IronRuby. А раз эти проекты были проверены, я решил написать небольшую статью-отчёт. ![][1]

## IronPython и IronRuby

IronPython и IronRuby представляют собой реализацию языков программирования Python и Ruby на платформе .NET. Исходный код этих проектов доступен на GitHub по этой [ссылке][2]. Также в комплекте идёт исходный код [DLR][3]. Начиная с .NET Framework 4.0 DLR является его частью, и IronPython и IronRuby используют её. Тем не менее я всё равно проверил старую версию DLR, раз уж она там оказалась. [Подробности][4]

[1]: https://habrastorage.org/getpro/habr/post_images/151/718/fc4/151718fc401e86e72f3fc8ce459e0e1d.png
[2]: https://github.com/IronLanguages/main
[3]: https://en.wikipedia.org/wiki/Dynamic_Language_Runtime
[4]: http://habrahabr.ru/post/274863/#habracut

[>] [Перевод] Кастомные корутины в Unity 5.3
habra.15
habrabot(difrex,1) — All
2016-01-11 16:30:04


_Всем привет. Это перевод статьи из официального [блога][1] движка Unity. В ней пойдет речь о способе создания своих корутин, появившемся в версии 5.3._ ![][2] Среди новых блестящих возможностей Unity 5.3 я обнаружил одну небольшую вещь, которая оказалась мне полезной, и, думаю, может пригодиться и вам. Это кастомные корутины, представленные классом _CustomYieldInstruction_. Благодаря ему, вы сможете очень просто создать свои собственные [корутинные][3] yield-операторы. Давайте рассмотрим это на живом примере. [Читать дальше →][4]

[1]: http://blogs.unity3d.com/
[2]: https://habrastorage.org/files/1e5/d05/e9a/1e5d05e9a8614188b0afb1311b4d8db2.png
[3]: http://docs.unity3d.com/Manual/Coroutines.html
[4]: http://habrahabr.ru/post/274305/#habracut

[>] [Перевод] GlassRAT: анализ трояна из Китая с помощью RSA Security Analytics и RSA ECAT
habra.15
habrabot(difrex,1) — All
2016-01-11 16:30:04


![][1] Специалистами RSA Research была обнаружена троянская программа GlassRAT для удаленного администрирования (Remote Administration Tool — RAT) с «нулевым уровнем обнаружения», подписанная сертификатом, украденным или полученным от популярного китайского разработчика ПО. Эта вредоносная программа могла избегать обнаружения на протяжении несколько лет. Телеметрия и ограниченные отчеты, не выдерживающие никакой критики, свидетельствуют, что целью GlassRAT являлись китайские граждане, связанные с транснациональными корпорациями. Будучи полностью «прозрачным» для большинства антивирусных продуктов, троянец GlassRAT можно обнаружить с помощью детальной экспертизы, а также с помощью конечных инструментов для обнаружения угроз, таких как RSA Security Analytics и/или RSA ECAT. Также представлены доказательства того, что способ организации командной инфраструктуры сети GlassRAT имеет много общего с другими вредоносными кампаниями, которые ранее были направлены на Азиатские организации геополитического и стратегического значения. Более подробно с этой информацией можно ознакомиться тут: . [Читать дальше →][2]

[1]: https://habrastorage.org/files/d6d/f6d/b89/d6df6db8931a47d187f271d120539fe9.jpg
[2]: http://habrahabr.ru/post/274245/#habracut

[>] [Перевод] Новое в Wolfram Language | Аналитическое решение уравнений в частных производных
habra.15
habrabot(difrex,1) — All
2016-01-11 16:30:04






_Перевод поста Devendra Kapadia "[New in the Wolfram Language: Symbolic PDEs][1]". Код, приведенный в статье, можно скачать [здесь][2]. Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][3] за помощь в переводе и подготовке публикации_.

----

Уравнения в частных производных (УрЧП) играют очень важную роль в математике и ее приложениях. Их можно использовать для моделирования реальных явлений, таких как колебания натянутой струны, распространения потока тепла в стержне, в финансовых областях. Цель этой статьи — приоткрыть завесу в мир УрЧП (тем кто еще с ним не знаком) и ознакомить читателя с тем, как можно эффективно решать УрЧП в Wolfram Language, используя новый функционал для решения краевых задач в [**DSolve**][4], а так же новую функцию [**DEigensystem**][5], которая появилась в [версии 10.3][6]. История УрЧП восходит к работам известных математиков восемнадцатого века — [Эйлера,][7] [Даламбера,][8] [Лапласа,][9] однако развитие этой области в последние три столетия так и не остановилось. И потому в статье я приведу как классические, так и современные примеры УрЧП, что позволит рассмотреть эту область знаний под разными углами. Давайте начнем с рассмотрения колебаний натянутой струны с длиной [π][10], закрепленной на обоих концах. Колебания струны можно смоделировать с помощью одномерного волнового уравнения, приведённого ниже. Здесь _u(x,t)_ — вертикальное смещение точки струны с координатой _х_ в момент времени _t_: ![][11] [Читать дальше →][12]

[1]: http://blog.wolfram.com/2016/01/07/new-in-the-wolfram-language-symbolic-pdes/
[2]: http://blog.wolfram.com/data/uploads/2016/01/New-in-the-Wolfram-Language-Symbolic-PDEs-Blog-Post.cdf
[3]: http://habrahabr.ru/users/kirillguzenko/
[4]: http://reference.wolfram.com/language/ref/DSolve.html
[5]: http://reference.wolfram.com/language/ref/DEigensystem.html
[6]: http://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn103.html
[7]: http://scienceworld.wolfram.com/biography/Euler.html
[8]: http://scienceworld.wolfram.com/biography/dAlembert.html
[9]: http://scienceworld.wolfram.com/biography/Laplace.html
[10]: http://reference.wolfram.com/language/ref/Pi.html
[11]: https://habrastorage.org/getpro/habr/post_images/8a2/5ea/bf5/8a25eabf5699c9b04719768580d2d11b.png
[12]: http://habrahabr.ru/post/274857/#habracut

[>] Сэр Чарльз Энтони Ричард Хоар или просто батя Quicksort, NULL и проблемы обедающих философов
habra.15
habrabot(difrex,1) — All
2016-01-11 16:30:04


![][1] Рыцарь в образовании и компьютерных науках, мужик, в честь которого назвали логику, первый, кто признался в своей ошибке на миллиард долларов, разработчик qsort, празднует сегодня, 11 января, свое 82-летие. (Наверняка вместе с [Кнутом][2].) [Читать дальше →][3]

[1]: https://habrastorage.org/files/092/de5/ec6/092de5ec62f541e7925d0349f18ca4f8.jpg
[2]: http://habrahabr.ru/post/274787/
[3]: http://habrahabr.ru/post/274865/#habracut

[>] Prolog для программистов ч.2
habra.15
habrabot(difrex,1) — All
2016-01-11 17:00:05


Публикация первой части ( [habrahabr.ru/post/274603][1] ) вызвала довольно обширную и интересную дискуссию по различным аспектам языка применения ПРОЛОГ. Цель была – показать опытным, и не очень, программистам, что ничего сложного в Прологе нет, и каждый может его применять в работе. Почему-то не было вопросов непосредственно по тексту публикации. Буду думать, что там все понятно. Приступим к рассмотрению более практических аспектов программирования на языке Пролог. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/274603/
[2]: http://habrahabr.ru/post/274799/#habracut

[>] [recovery mode] Защищает ли ваши персональные данные Электронное правительство Республики Казахстан (www.egov.kz)?
habra.15
habrabot(difrex,1) — All
2016-01-11 17:00:05


Большое количество пользователей Казнета уже давно использует удобный портал egov.kz для получения онлайн услуг. Полагаясь на квалификацию разработчиков портала, пользователи указывают свои данные, в частности номера мобильного телефона, для пользования «мобильным правительством» (если вами не указан номер телефона, то при каждой авторизации сайт настойчиво просит его указать). [Скрин 1] ![image][1] После указания номера телефона ваши данные с этого момента находятся под угрозой. Узнать ваш номер телефона зная только ФИО не составит труда, и для этого даже не нужно взламывать сам портал. Итак, предположим, что злоумышленник хочет узнать номер телефона определенного человека и использовать его в своих целях. Что для этого нужно. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/fd1/69e/4b5/fd169e4b54b6616800df2233b0df68ad.png
[2]: http://habrahabr.ru/post/274869/#habracut

[>] Михаил Романович Шура-Бура — патриарх отечественного программирования и его разработки
habra.15
habrabot(difrex,1) — All
2016-01-11 17:00:05


![][1]![][2] Михаила Романовича Шура-Бура — прекрасный ученый, который внес огромный вклад в создание и разработку первых отечественных ЭВМ. Известен также как создатель первой ПП (программирующей программы), интерпретирующей системы ИС-2 для машины М-20. Вспоминая о космическом корабле Буран, нельзя не упомянуть фамилию Михаила Шура-Буры, который был одним из разработчиков программного обеспечения для корабля. Родился Михаил Романович 21 октября 1918 года в селе Парафиевка (Украина, Черниговская область), куда его родители переехали из Киева, так как началась гражданская война и нужно было как-то прокормить семью. Дед был простым деревенским кузнецом, отец окончил университет и практиковал адвокатскую деятельность. [Подробности][3]

[1]: https://habrastorage.org/files/23b/59d/561/23b59d56161c47498c348e6d7a5357c0.jpg
[2]: https://habrastorage.org/files/33c/932/2aa/33c9322aae004648b8a28080d8e8b396.jpg
[3]: http://habrahabr.ru/post/274851/#habracut

[>] Хорошо настроенный Emacs
habra.15
habrabot(difrex,1) — All
2016-01-11 17:00:05


Все что нужно знать для того чтобы быстро и грамотно настроить Emacs. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/274759/#habracut

[>] Линус Торвальдс анонсировал выход ядра Linux 4.4 LTS (Long-Term Support)
habra.15
habrabot(difrex,1) — All
2016-01-11 18:30:05


Тихо и незаметно вышло в свет ядро Linux 4.4 LTS (Long-Term Support), о чем известил Линус Торвальдс. Новинка включает довольно значительные обновления, включая, например, 3D поддержку виртуальных дравейров GPU. Благодаря этому можно использовать аппаратную поддержку графики в guest VM. Также включена поддержка Open-Channel Solid State Drives (SSDs) посредством LightNVM. Более того, Linux kernel 4.4 LTS поддерживает RAID5 MD, есть интеграция eBPF, что позволяет непривилегированным пользователям запускать eBPF программы. Также стоит упомянуть поддержку Block polling для улучшения общей производительности high-end устройств хранения данных, mlock2() syscal и многое другое. Улучшена поддержка 64-битных ARM, решена проблема с утечкой памяти в Skylake CPU от Intel. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/274871/#habracut

[>] Рекурентная нейронная сеть в 10 строчек кода оценила отзывы зрителей нового эпизода “Звездных войн”
habra.15
habrabot(difrex,1) — All
2016-01-11 18:30:05


Hello, Habr! Недавно мы получили от “Известий” заказ на проведение исследования общественного мнения по поводу фильма «Звёздные войны: Пробуждение Силы», премьера которого состоялась 17 декабря. Для этого мы решили провести анализ тональности российского сегмента Twitter по нескольким релевантным хэштегам. Результата от нас ждали всего через 3 дня (и это в самом конце года!), поэтому нам нужен был очень быстрый способ. В интернете мы нашли несколько подобных онлайн-сервисов (среди которых [sentiment140][1] и [tweet\_viz][2]), но оказалось, что они не работают с русским языком и по каким-то причинам анализируют только маленький процент твитов. Нам помог бы сервис [AlchemyAPI][3], но ограничение в 1000 запросов в сутки нас также не устраивало. Тогда мы решили сделать свой анализатор тональности с блэк-джеком и всем остальным, создав простенькую рекурентную нейронную сеть с памятью. Результаты нашего исследования были использованы в [статье][4] “Известий”, опубликованной 3 января.



В этой статье я немного расскажу о такого рода сетях и познакомлю с парой классных инструментов для домашних экспериментов, которые позволят строить нейронные сети любой сложности в несколько строк кода даже школьникам. Добро пожаловать под кат. [Читать дальше →][5]

[1]: http://www.sentiment140.com/
[2]: https://www.csc.ncsu.edu/faculty/healey/tweet_viz/tweet_app/
[3]: http://www.alchemyapi.com/developers/getting-started-guide/twitter-sentiment-analysis
[4]: http://izvestia.ru/news/601050
[5]: http://habrahabr.ru/post/274027/#habracut

[>] Вычисление биномиальных коэффициентов… вручную
habra.15
habrabot(difrex,1) — All
2016-01-12 01:30:02


Ранее в двух статьях была затронута тема вычисления биномиальных коэффициентов с помощью компьютера. [Расчет биномиальных коэффициентов на Си (С++) ][1] [Расчет биномиальных коэффициентов с использованием Фурье-преобразований][2] По их прочтению может сложиться мнение что это сложная и ресурсоемкая задача. Прежде чем программировать что-то, попробуем разобраться что здесь к чему. Факториальная формула: ![image][3] Раскроем ее: ![][4] Очевидно, что ![][5] и тогда ![][6] А теперь попробуем посчитать например ![][7]: [Читать дальше →][8]

[1]: http://habrahabr.ru/post/274689/
[2]: http://habrahabr.ru/post/274729/
[3]: https://habrastorage.org/getpro/habr/post_images/01d/df4/164/01ddf4164554f2f65f67842dd8ea7dbf.png
[4]: https://habrastorage.org/files/672/a9c/bf6/672a9cbf660f4d688a2e256dbaebc44d.png
[5]: https://habrastorage.org/files/8c2/4c5/dfb/8c24c5dfb1644635ba87c07cc47add69.png
[6]: https://habrastorage.org/files/baf/7dc/cb0/baf7dccb02924c11ba7b41a5ab4c35d0.png
[7]: https://habrastorage.org/files/ace/a73/910/acea739101d14d598d9e2ca61db10c53.png
[8]: http://habrahabr.ru/post/274889/#habracut

[>] Про волнения в головах
habra.15
habrabot(difrex,1) — All
2016-01-12 02:00:02


Пару месяцев назад мне захотелось поэкспериментировать с нейроинтерфейсом. Никогда этой темой не занимался, но вдруг стало любопытно. Вроде как лет 5-10 назад обещали бум нейроустройств, а всё что мы сейчас имеем на рынке — устройство чтобы махать [ушами][1], устройство чтобы светить [камешком][2], да устройство чтобы левитировать [шаром][3]. Где-то на подходе устройство чтобы будить вовремя. Вот [тут][4] есть неплохая статья про всё это дело. В то же время регулярно появляются какие-то исследования, где рассказывают, что люди могут научиться двигать роботическими руками-ногами или писать тексты ([1][5], [2][6], [3][7], вот [тут][8] есть подборка). Но это всё опытное, в единственном экземпляре, со стоимостью аппаратуры как хорошее авто. А где что-то посередине? Что-то полезное обычному пользователю? Пусть даже не везде, а в каких-то отдельных применениях. Ведь даже навскидку придумывается несколько вещей: детектор засыпания для водителя, повышение работоспособности (например через выбор музыки, или управление перерывами!). Можно выбрать что-то более специфическое. Например смотреть и анализировать своё состояние в киберспорте. Для этого же даже трекеры зрачков выпускают и используют. Почему нет таких применений? Этот вопрос мучил меня. В итоге решил почитать куда наука движется, а так же купить простенькую нейрогарнитуру и затестить. В статье — попытка разобраться в теме, немного исходников и много анализа текущих достижений потребительской электроники. [Читать дальше →][9]

[1]: http://www.necomimi.com
[2]: https://www.youtube.com/watch?v=WYXsQlLOzg8
[3]: http://www.amazon.com/Mattel-P2639-Mindflex-Game/dp/B001UEUHCG/ref=pd_sim_21_2?ie=UTF8&dpID=41a9RLcHYAL&dpSrc=sims&preST=_AC_UL160_SR138%2C160_&refRID=1G4T8T1EE1AQW5WYHH7H
[4]: http://habrahabr.ru/company/neuronspace/blog/262357/
[5]: http://vk.com/video-55155418_171160287
[6]: https://www.youtube.com/watch?v=9uw5R_qx3-0
[7]: https://www.youtube.com/watch?v=QRt8QCx3BCo
[8]: http://brain.bio.msu.ru/bci_r.htm
[9]: http://habrahabr.ru/post/274665/#habracut

[>] Слон и Моська, или подключение LCD к Attiny13A
habra.15
habrabot(difrex,1) — All
2016-01-12 09:00:02


Вновь приветствую читателей «Хабра»! **Присказка.** Честно сказать, хотел написать статью несколько другого содержания, которая затрагивала бы тему применения и использования сдвиговых регистров, когда сам, даже не думал что в моих проектах это станет необходимым. Но так однажды случилось, что я решил втянуть в область программирования микроконтроллеров своего друга, который во многих вопросах с легкостью разберется сам, а в других… [Читать дальше →][1]

[1]: http://habrahabr.ru/post/274895/#habracut

[>] Уязвимость в продуктах Trend Micro позволяет любому веб-сайту выполнить произвольную команду Windows
habra.15
habrabot(difrex,1) — All
2016-01-12 10:00:02


[Тавис Орманди][1] из Google Project Zero обнаружил удивительнейшую [уязвимость][2] в антивирусных продуктах Trend Micro под Windows, позволяющую любому веб-сайту, который посещает пользователь, выполнить произвольному команду на его машине.



Орманди, занимающийся аудитом популярных антивирусных продуктов, обратил внимание на один из компонентов Trend Micro AV — [менеджер паролей][3], написанный на JavaScript с использованием node.js. Оказалось, что он открывает несколько HTTP RPC-портов, позволяющих выполнять произвольные команды! Это означает, что любой веб-сайт способен запустить на машине пользователя скрипт, который, например, может стереть всю информацию на диске, установить другую вредоносную программу из внешней сети или или просто-напросто удалить тот же самый антивирус. [Читать дальше →][4]

[1]: https://twitter.com/taviso
[2]: https://code.google.com/p/google-security-research/issues/detail?id=693
[3]: http://www.trendmicro.com/us/home/products/software/password-manager/index.html
[4]: http://habrahabr.ru/post/274899/#habracut

[>] Опасное видео: как я нашёл уязвимость в видеохостингах и не умер через 7 дней
habra.15
habrabot(difrex,1) — All
2016-01-12 13:00:03


![][1] Всем привет! В сегодняшнем посте я хочу рассказать об одной довольно интересной уязвимости, которую нашёл и зарепортил в bug bounty нескольких крупных компаний, за что получил солидное вознаграждение. Уязвимость заключается в следующем: если сформировать специальный видеофайл и загрузить его на сервер, то:

* можно получить на нём SSRF;
* можно получить local file read;
* если пользователь скачает этот файл, то автоматически будет подвержен уязвимостям, даже если его не откроет: можно будет получить доступ к данным на компьютере пользователя и узнать его имя.

[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/756/9da/20a/7569da20abba3a0d1755c8f1e2d1677a.jpg
[2]: http://habrahabr.ru/post/274855/#habracut

[>] Выходу Dolphin Smalltalk 7 под Open Sourсe посвящается
habra.15
habrabot(difrex,1) — All
2016-01-12 13:30:02


![][1]На днях компания ObjectArts полностью открыла исходники и выпустила язык, и среду разработки Dolphin Smalltalk под открытой лицензией MIT! Я не смог пройти мимо, не попробовав проверить этот проект с помощью анализатора кода PVS-Studio. Могу поздравить разработчиков с тем, что у них получилось создать код высокого качества. Мне не удалось найти значимых ошибок. Однако как всегда есть некоторое количество багов и пахнущего кода. Надеюсь благодаря этой статье код станет чуть лучше.

## О проекте

[Dolphin Smalltalk][2] — это среда разработки на собственном диалекте Smalltalk для Windows. Ключевыми особенностями является тесная интеграция с нативными виджетами и подсистемами операционной системы, включая COM и ActiveX, и приятный глазу графический дизайн. Долгое время Dolphin Smalltalk был доступен в двух вариантах: условно-бесплатная ограниченная версия (community edition) и платный пакет для профессиональной разработки. Последний давал доступ ко всем функциям, включая продвинутые редакторы и публикацию приложений в standalone режиме, однако стоил около четырехсот долларов. С помощью [PVS-Studio][3] 6.00 были проверены открытые исходники [Dolphin Smalltalk Virtual Machine][4]. Далее представлены результаты проверки статическим анализатором. Несмотря на то, что проект DolphinVM очень маленький, в его коде всё равно встречаются подозрительные места. [Читать дальше →][5]

[1]: https://habrastorage.org/getpro/habr/post_images/874/540/a7b/874540a7b0d09c427394c728e5cd429f.png
[2]: http://object-arts.com/dolphin7.html
[3]: http://www.viva64.com/ru/pvs-studio/
[4]: https://github.com/objectarts/DolphinVM
[5]: http://habrahabr.ru/post/274909/#habracut

[>] Стандарты симметричного шифрования стран СНГ на Python
habra.15
habrabot(difrex,1) — All
2016-01-12 13:30:02


Первые недели нового года самое подходящее время для того, чтобы уютно устроившись у окошка, вспомнить что же нам принес год ушедший. А принес он нам два новых стандарта шифрования. Российский стандарт ГОСТ Р 34.12-2015 (блочный шифр Кузнечик). И украинский ДСТУ 7624:2014 (блочный шифр Калина). Холодными, зимними вечерами нельзя упускать такой удачный повод покодить. Под катом краткое описание алгоритмов и их реализация на Python. А чтобы новым шифрам было веселее, разбавим их общество белорусским СТБ 34.101.31-2007. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/273895/#habracut

[>] Java и время: часть вторая
habra.15
habrabot(difrex,1) — All
2016-01-12 13:30:02


Эта статья написана в продолжение к [первой части][1] и посвящена [новому Date Time API][2], который был введен в Java 8. Я изначально хотел оформить эту тему отдельно, поскольку она достаточно большая и серьезная. Я еще сам не в полной мере начал использовать этот API в проектах, поэтому разбираться будем вместе по ходу. В принципе в переходе на новый API нет никакой срочной необходимости, более того многие еще и не начинали проекты на Java 8, а это означает, что время на освоение еще есть. В статье я постараюсь не скатываться в банальный перевод штатной документации, больше я хотел бы сконцентрироваться на том, что мне показалось особенно важным. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/274811/
[2]: https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
[3]: http://habrahabr.ru/post/274905/#habracut

[>] [Из песочницы] GIF изнутри
habra.15
habrabot(difrex,1) — All
2016-01-12 14:30:04


![][1] Вам когда-нибудь было интересно, как устроены gif-ки? В данной статье попробуем разобраться с внутренним строением [GIF][2]-формата и методом сжатия [LZW][3].

# Структура GIF

Файл в формате [GIF][4] состоит из фиксированной области в начале файла, за которой располагается переменное число блоков, и заканчивается файл завершителем изображения. ![][5] **Основные характеристики формата GIF:**

* Изображение в формате [GIF ][6]хранится построчно, поддерживается только формат с индексированной палитрой цветов;
* Поддерживается 256-цветовая палитра;
* Этот формат позволяет хранить несколько изображений в одном файле;
* GIF поддерживает анимационные изображения; _Такие изображения представляют собой последовательность из нескольких статичных кадров, а также информацию о том, сколько времени каждый кадр должен быть показан на экране. Анимацию можно сделать цикличной, тогда вслед за последним кадром начнётся воспроизведение первого кадра и т. д._
* Поддерживает «прозрачность»; _Один из цветов в палитре может быть объявлен «прозрачным». В этом случае в программах, которые поддерживают прозрачность GIF (например, большинство современных браузеров) сквозь пиксели, окрашенные «прозрачным» цветом, будет виден фон. GIF анимация может использовать прозрачность для того чтобы не сохранять очередной кадр целиком, а только изменения относительно предыдущего._
* Используется универсальный алгоритм сжатия без потерь LZW.

[Читать дальше →][7]

[1]: https://habrastorage.org/files/c7f/abc/fab/c7fabcfab6ac48be82906ac67ca3b623.png
[2]: https://ru.wikipedia.org/wiki/GIF
[3]: https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch
[4]: https://ru.wikipedia.org/wiki/GIF
[5]: https://habrastorage.org/files/d49/97d/227/d4997d2275b141e0bebbe826eb796c26.png
[6]: https://ru.wikipedia.org/wiki/GIF
[7]: http://habrahabr.ru/post/274917/#habracut

[>] [Из песочницы] Автоматический контроль времени жизни общих C++-QML объектов
habra.15
habrabot(difrex,1) — All
2016-01-12 16:00:03


Речь пойдет об объектах, используемых в C++ и QML одновременно, верхушкой иерархии наследования которых является QObject. Насколько мне известно, реализации механизма автоматического контроля времени жизни таких объектов на уровне библиотеки не существует. Подобный механизм избавил бы от сложностей, возникающих при ручном контроле времени жизни объектов, а так же от потенциальных багов, утечек памяти и крешей приложения. В этой статье я опишу этапы реализации данного механизма, а так же проблемы, рассмотренные в процессе исследования данной проблемы. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/274915/#habracut

[>] Быстрое создание phar файлов используя Box
habra.15
habrabot(difrex,1) — All
2016-01-12 16:00:03


![][1] `Phar` — это аналог `jar` из мира Java, но только применительно к PHP. `Phar` упаковывает файлы проекта в специальный архив и позволяет легко переносить и устанавливать приложение без манипуляций с самим проектом в виде исполняемой программы.

Phar archives are best characterized as a convenient way to group several files into a single file. As such, a phar archive provides a way to distribute a complete PHP application in a single file and run it from that file without the need to extract it to disk. Additionally, phar archives can be executed by PHP as easily as any other file, both on the commandline and from a web server. Phar is kind of like a thumb drive for PHP applications.



Для создания phar файлов в PHP существует [довольно развесистый API][2], но есть способ проще и удобнее — использовать проект [Box][3]. [][4]

## Формат JSON файла

Проект Box позволяет описать процесс создания phar файла в удобном JSON формате. Самый простой файл выглядит так:

{
"files": ["src/Put.php"],
"main": "bin/main",
"output": "example.phar",
"stub": true
}

[Читать дальше →][5]

[1]: https://habrastorage.org/files/2df/b9b/759/2dfb9b7599e94f9ba15455c55ff50c87.jpg
[2]: http://php.net/manual/en/book.phar.php
[3]: https://github.com/box-project/box2
[4]: #format-json-faila
[5]: http://habrahabr.ru/post/274745/#habracut

Pages: 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37