RSS
Pages: 1 ... 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 ... 133
[>] А был ли взлом «Госуслуг»? Гипотеза от ИБ Яндекса
habra.16
habrabot(difrex,1) — All
2017-07-15 19:30:04


В четверг в сети появилась информация о том, что на сайте Госуслуг найден потенциально опасный код, и сегодня мы хотим поделиться с вами результатами собственного расследования и в очередной раз напомнить о важности применения Content Security Policy.

[![][1]][2]

В первых сообщениях об угрозе говорилось о внедрении на страницы сайта фрагментов с iframe, подгружающих данные с не менее 15 сомнительных доменов. Наши аналитики достаточно быстро приступили к изучению кода страниц сайта, чтобы защитить пользователей при помощи существующего у нас механизма предотвращающего подобные угрозы. О самом механизме расскажем чуть ниже, но главное здесь в другом – найденные фрагменты кода были нам хорошо знакомы.

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

[1]: https://habrastorage.org/web/4a7/512/5ac/4a75125acde947f8b458a389e55042f4.png
[2]: https://habrahabr.ru/company/yandex/blog/333404/
[3]: https://habrahabr.ru/post/333404/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конкурс по программированию: JSDash (промежуточные результаты)
habra.16
habrabot(difrex,1) — All
2017-07-15 21:00:04


Спасибо всем, кто уже принял участие в нашем [конкурсе по программированию][1]! Приём решений ещё не окончен, но мы решили протестировать те решения, которые нам уже прислали, и опубликовать промежуточные результаты. Пока что мы получили 11 решений от 10 уникальных участников. Мы надеемся получить ещё много решений, поэтому итоговые результаты могут сильно отличаться от этих. Если нам пришлют достаточно много новых решений, проведём ещё одно промежуточное тестирование.

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

[1]: https://habrahabr.ru/company/hola/blog/332176/
[2]: https://habrahabr.ru/post/333390/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Yubikey 4 — покупка, доставка и получение
habra.16
habrabot(difrex,1) — All
2017-07-16 09:00:04


## Часть 2: Покупка и доставка Yubikey 4



![][1]

Итак, определившись с выбором ключа для 2FA, я начал поиски продавца для покупки Yubikey 4.

Первым делом был обследован русскоязычный сегмент интернета. Оказалось, что существуют две организации, которые вроде бы занимаются реализацией продукции Yubico.

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

[1]: https://habrastorage.org/web/86c/ee5/4bc/86cee54bc980467e9e9820dc654b5434.jpg
[2]: https://habrahabr.ru/post/333036/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Делаем сайт для виртуальной реальности. Встраиваем монитор в монитор и размышляем о будущем
habra.16
habrabot(difrex,1) — All
2017-07-16 09:00:04


![image][1]

Несмотря на то, что понятие «виртуальная реальность» уже не первый год мелькает перед глазами, оно до сих пор остается загадкой для большинства людей, а цены на аксессуары, связанные с этим развлечением, могут уходить в бесконечность. Но существует бюджетный вариант. Среднестатистический человек, интересующийся новыми технологиями, может позволить себе смартфон с гироскопом, встроенный в Google Cardboard или любой аналог этого нехитрого устройства и простой джойстик с парой кнопок. В наше время такой вариант знакомства с этой технологией наиболее распространенный. Но, как и многие другие технологичные новинки, вроде квадрокоптеров, интересная игрушка быстро превращается в пылящуюся на полке. Практическое применение сильно ограничено. Взрослые люди, купившие очки виртуальной реальности, первые дни играются в игрушки, смотрят различные видео с прекрасными барышнями, радуются, как дети. Это здорово. Новые впечатления всегда полезны. Но быстро приходит понимание, что графика в игрушках находится на уровне конца 90-х, видео наскучивает, а другого практического применения очкам для этих людей нет. Для отдельных разработчиков, дизайнеров и экспериментаторов очки становятся инструментом в работе, но обычный потребитель кладет их на полку и забрасывает. Было бы интересно применить эту технологию в интернете на обычных сайтах. В этой статье мы попробуем с помощью Javascript адаптировать привычную нам верстку под новые условия отображения. Информации по теме пока не много, статья носит характер эксперимента, так что всем заинтересованным людям, а также тем, кто имел подобный практический опыт, заранее предлагается присоединиться к обсуждению и поделиться своими мыслями и опытом в комментариях.

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

[1]: https://habrastorage.org/web/9a2/15f/7cf/9a215f7cf3de4368b573ba71ed13e4e0.png
[2]: https://habrahabr.ru/post/333400/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Метод BFGS или один из самых эффективных методов оптимизации. Пример реализации на Python
habra.16
habrabot(difrex,1) — All
2017-07-16 09:00:04


[![][1]][2]

Метод **BFGS**, итерационный метод численной оптимизации, назван в честь его исследователей: **B**royden, **F**letcher, **G**oldfarb, **S**hanno. Относится к классу так называемых квазиньютоновских методов. В отличие от ньютоновских методов в квазиньютоновских не вычисляется напрямую гессиан функции, т.е. нет необходимости находить частные производные второго порядка. Вместо этого гессиан вычисляется приближенно, исходя из сделанных до этого шагов.

Существует несколько модификаций метода:
**L-BFGS** (ограниченное использование памяти) — используется в случае большого количества неизвестных.
**L-BFGS-B** — модификация с ограниченным использованием памяти в многомерном кубе.

Метод эффективен и устойчив, поэтому зачастую применяется в функциях оптимизации. Например в SciPy, популярной библиотеки для языка python, в функции optimize по умолчанию применяется BFGS, L-BFGS-B.

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

[1]: https://habrastorage.org/web/d3b/b33/f5a/d3bb33f5af204aada6785c7e98c2a53f.jpg
[2]: https://habrahabr.ru/post/333356/
[3]: https://habrahabr.ru/post/333356/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Дорога к С++20
habra.16
habrabot(difrex,1) — All
2017-07-16 09:00:04


![image][1]Сегодня завершилась летняя встреча комитета ISO WG21 C++, проходившая в Торонто с 10 по 15 июля. Вскоре нас наверняка ждёт [подробный отчёт от РГ21][2], а сегодня уважаемой публике предлагается пост-«разогрев» с обсуждением самого интересного.

Итоги встречи следующие: стандарт С++17 завершен и будет опубликован на следующем собрании в ноябре этого года; стандарт С++20 уже обзавелся первыми серьезными фичами — _концептами_ (_concepts_), _явными обобщёнными лямбда-функциями_ (_explicit generic lambdas_) — и это только начало.

Возможности нового стандарта С++17 обсуждались уже не раз, про нововведения [писали на Хабре][3], проводили [доклады на конференциях][4], поэтому снова их приводить здесь я не буду. Не секрет, что ключевой особенностью этого выпуска С++ стал [перенос самых «вкусных» возможностей][5] в неопределенное будущее. Что ж, теперь можно с уверенностью сказать, что многие долгожданные «фичи» переехали именно в С++20. Взятый курс на расширение stdlib никуда не делся, поэтому от C++20 можно ожидать гораздо большего и богатого набора функций.
[Читать дальше →][6]

[1]: https://habrastorage.org/getpro/habr/post_images/38c/898/a39/38c898a39e00745c71c8a3412feaae11.png
[2]: https://stdcpp.ru/blog/20-iyulya-vstrecha-rg21-s-v-sankt-peterburge
[3]: https://habrahabr.ru/company/yandex/blog/323972/
[4]: https://www.youtube.com/watch?v=pEzV32yRu4U
[5]: https://habrahabr.ru/company/infopulse/blog/279927/
[6]: https://habrahabr.ru/post/333414/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] А был ли взлом «Госуслуг»? Гипотеза Яндекса
habra.16
habrabot(difrex,1) — All
2017-07-16 14:00:04


В четверг в сети появилась информация о том, что на сайте Госуслуг найден потенциально опасный код, и сегодня мы хотим поделиться с вами результатами собственного расследования и в очередной раз напомнить о важности применения Content Security Policy.

[![][1]][2]

В первых сообщениях об угрозе говорилось о внедрении на страницы сайта фрагментов с iframe, подгружающих данные с не менее 15 сомнительных доменов. Наши аналитики достаточно быстро приступили к изучению кода страниц сайта, чтобы защитить пользователей при помощи существующего у нас механизма предотвращающего подобные угрозы. О самом механизме расскажем чуть ниже, но главное здесь в другом – найденные фрагменты кода были нам хорошо знакомы.

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

[1]: https://habrastorage.org/web/4a7/512/5ac/4a75125acde947f8b458a389e55042f4.png
[2]: https://habrahabr.ru/company/yandex/blog/333404/
[3]: https://habrahabr.ru/post/333404/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы искали и нашли ошибку в Visual Studio C++
habra.16
habrabot(difrex,1) — All
2017-07-16 20:00:04


Это был чудесный летний день. За окном сияли тучки, нежными голосами пели вороны, на автомойке весело пачкали шампунем чью-то машину, за стеной тихо скрёбся перфоратор — в общем, идиллия.

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


### Предыстория


Компания у нас существует относительно давно, и основной продукт уже старше некоторых сотрудников компании, так что древнего кода хватает. Тем не менее, мы стараемся держаться в современном русле, Modern C++ активно используется, поэтому около года назад основной проект был переведён на VC2015. Это был отдельный цирк с конями, бубнами, блэкджеком и валерьянкой. Вспомогательный код переводится по мере того, как появляется время и желание. В данном случае, я решил перевести на VC2015 один из таких вспомогательных проектов, который очень активно используется нашей техподдержкой.

Я был уверен, что уже знаю подводные камни такого перехода, и что задача займёт не более часа работы.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/333442/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Рекомендация первого трека для стриминга. Лекция в Яндексе
habra.16
habrabot(difrex,1) — All
2017-07-16 20:00:04


Сейчас проходит [Data Science Game][1] — международное студенческое соревнование по анализу данных. Ребята из МГУ выиграли отборочный этап, а затем рассказали о своём решении на одной из наших [тренировок][2] по машинному обучению.


Под катом — расшифровка и большинство слайдов.

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

[1]: http://www.datasciencegame.com
[2]: https://habrahabr.ru/company/yandex/blog/327444/
[3]: https://habrahabr.ru/post/333440/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Постквантовая криптография и закат RSA — реальная угроза или мнимое будущее?
habra.16
habrabot(difrex,1) — All
2017-07-17 10:30:05


RSA, эллиптические кривые, квантовый компьютер, изогении… На первый взгляд, эти слова напоминают какие-то заклинания, но все куда проще сложнее, чем кажется!

Необходимость перехода к криптографии, устойчивой к атаке на квантовом компьютере, уже официально анонсирована [NIST][1] и [NSA][2], из чего вывод довольно-таки простой: пора вылезать из зоны комфорта!

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

Чтобы разобраться в тонкостях криптографии на эллиптических кривых, проследить новомодные веяния постквантовой криптографии и даже прикоснуться к ней с помощью библиотеки Microsoft SIDH, добро пожаловать под кат, **%username%**!
[Читать дальше →][3]

[1]: https://www.nist.gov/
[2]: https://www.nsa.gov/
[3]: https://habrahabr.ru/post/332942/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Поговорим о микрооптимизациях на примере кода Tizen
habra.16
habrabot(difrex,1) — All
2017-07-17 11:30:04


![Микрооптимизации в коде][1]


Как правило, при обсуждении диагностических возможностей PVS-Studio за кадром остаются рекомендации, выдаваемые анализатором по поводу микрооптимизаций Си и Cи++ кода. Конечно, микрооптимизации не так важны, как диагностики выявляющие ошибки, но про них тоже интересно поговорить.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/aa1/99b/586/aa199b586c6647555e497f0b3ef5146a.png
[2]: https://habrahabr.ru/post/333474/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Ваш следующий шаг к блокчейну»: релиз платформы Exonum от Bitfury Group
habra.16
habrabot(difrex,1) — All
2017-07-17 12:30:05


Bitfury Group запускает свой собственный открытый фреймворк для разработки блокчейнов [Exonum][1], который позволит компаниям и правительственным организациям воплощать в жизнь безопасные блокчейн-решения.

Технологию планируют применять для утверждения результатов выборов и защиты авторских прав создателей контента в цифровом пространстве. Exonum поможет «перевести» системы предоставления государственных услуг на Украине в блокчейн-среду. И платформа уже используется в Грузии, где на базе Exonum реализована регистрация прав собственности.

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

[1]: http://exonum.com
[2]: https://habrastorage.org/web/32f/4a4/8fb/32f4a48fb2ba4c0cb76a4624aaf5e6a8.png
[3]: https://habrahabr.ru/company/bitfury/blog/333446/
[4]: https://habrahabr.ru/post/333446/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Oracle Data Integrator. SubstitutionAPI: Порядок выполнения подстановок. Часть 2
habra.16
habrabot(difrex,1) — All
2017-07-17 12:30:05


**Для кого эта статья**

Статья предназначена для опытных разработчиков ODI (Oracle Data Integrator). Здесь рассмотрены плохо документированные аспекты связанные с порядком выполнения BeanShell-подстановок.
Это продолжение [Части 1][1].


После того как мы разобрались с [каждым уровнем BeanShell-подстановок по отдельности][2], посмотрим, как эти уровни согласуются друг с другом при совместном использовании. Здесь пойдет речь пока только о тесном сотрудничестве разных и одинаковых подстановок, когда они буквально проникают друг в друга. Как происходит их интерпретация, когда они вложены друг в друга?
[Читать дальше →][3]

[1]: https://habrahabr.ru/company/raiffeisenbank/blog/332682/
[2]: https://habrahabr.ru/company/raiffeisenbank/blog/332682/
[3]: https://habrahabr.ru/post/332738/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pygest #13. Релизы, статьи, интересные проекты из мира Python [04 июля 2017 — 17 июля 2017]
habra.16
habrabot(difrex,1) — All
2017-07-17 14:00:05


![image][1] Всем привет! Это уже тринадцатый выпуск дайджеста на Хабрахабр о новостях из мира Python.

В сегодняшнем выпуске вы найдёте интересные материалы, касающиеся оптимизации Python, его внутренностей, Django, машинного обучения и многого другого. Присылайте свои актуальные материалы, а также любые замечания и предложения, которые будут добавлены в ближайший дайджест.

А теперь к делу!
[Перейти к дайджесту][2]

[1]: https://habrastorage.org/files/aa2/815/f22/aa2815f2207940fab9ac72e85219fe3c.png
[2]: https://habrahabr.ru/post/333444/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Звонки между браузерами: подводные камни WebRTC
habra.16
habrabot(difrex,1) — All
2017-07-17 14:00:05


WebRTC, доступное в современных браузерах через JavaScript API, захватывает голос и видео, передает их по сети и воспроизводит в другом браузере. Еще оно умеет Peer-to-Peer между браузерами, Screen Sharing, передачу данных UDP-пакетами и подстройку битрейта под ширину канала. Очень хорошая технология. И Skype for Web на ней можно собрать, и [превратить джойстик][1] в световой меч для игры на ноутбуке, и позвонить с сотового на веб-страницу. Очень хорошая технология. Но сырая.

В Voximplant мы уже много лет развиваем множество SDK для звонков в наше облако: Android, iOS, [Unity][2], React Native. Почетное место занимает Web SDK, использующий как раз WebRTC. С помощью него [CRM принимают звонки][3] «на веб страницу», работают кнопки «позвоните нам с веб сайта» и видео консультации с врачами. За годы мы набили множество шишек в использовании WebRTC, и под катом я кратко пройдусь по основным моментам, которые вас не обрадуют, если вы захотите использовать эту замечательную технологию.
[Читать дальше →][4]

[1]: https://www.chromeexperiments.com/experiment/lightsaber-escape
[2]: https://unity.voximplant.com/
[3]: https://habrahabr.ru/company/Voximplant/blog/329444/
[4]: https://habrahabr.ru/post/333486/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Прочитайте код своего продукта. Весь
habra.16
habrabot(difrex,1) — All
2017-07-17 15:30:05


Основываясь на всём моём многолетнем опыте разработчика и техлида, я могу с уверенностью назвать одну конкретную вещь, которая наиболее сильно повышает продуктивность работы программиста: это прочтение абсолютно **всего** кода разрабатываемого командой продукта. Это «простое» действие (хотя оно и займёт некоторое время, а также потребует внимания для понимания прочитанного), но удивительно, как мало людей в командах делают это. А ведь разработчики, которые никогда не читали всего кода, всегда будут зависеть от тех, кто сделал это.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/333488/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Чудесный мир Word Embeddings: какие они бывают и зачем нужны?
habra.16
habrabot(difrex,1) — All
2017-07-17 15:30:05


Начать стоит от печки, то есть с постановки задачи. Откуда берется сама задача word embedding?
_Лирическое отступление:_ К сожалению, русскоязычное сообщество еще не выработало единого термина для этого понятия, поэтому мы будем использовать англоязычный.
Сам по себе embedding — это сопоставление произвольной сущности (например, узла в графе или кусочка картинки) некоторому вектору.
![image][1]

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

[1]: https://qph.ec.quoracdn.net/main-qimg-3e812fd164a08f5e4f195000fecf988f
[2]: https://habrahabr.ru/post/329410/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Машинное обучение и поиск темной материи: соревнование от ЦЕРНа и Яндекса
habra.16
habrabot(difrex,1) — All
2017-07-17 16:00:04


Яндекс уже несколько лет сотрудничает с ЦЕРНом. Он сделал для учёных-физиков поиск по событиям в БАК, предоставил свои вычислительные ресурсы и технологии обработки данных — в том числе [Матрикснет][1] и [ClickHouse][2]. В 2014 году Яндекс [стал][3] ассоциированным членом [CERN openlab][4].



Школа анализа данных Яндекса тоже принимает участие в экспериментах ЦЕРНа. Машинное обучение в наши дни становится «[микроскопом][5]» для современных учёных, которым необходимо изучать большие объемы данных и находить в них различные закономерности. В этом году ШАД совместно с лабораторией Методов анализа больших данных Вышки и Имперским колледжем Лондона организует в Великобритании международную школу, которая посвящена способам применения современных технологий в научных исследованиях.



[![][6]][7]
_Эксперимент OPERA — из Швейцарии в Италию (картинка взята с сайта коллаборации OPERA)_



Сегодня в рамках школы начинается открытое соревнование, участники которого будут ни много ни мало искать [нейтрино][8]. Принять участие в поисках мы приглашаем всех желающих. Им предстоит обрабатывать данные с международного эксперимента [OPERA][9]. Для этого будут предоставлены исходные данные — результаты сканирования слоев фотопленок одного «кирпича» эксперимента OPERA. Соревнование состоит из двух этапов. На первом этапе участники будут искать отдельный ливень в «кирпиче», первая вершина которого известна, на втором — несколько ливней, рассредоточенных по объему «кирпича» без дополнительной информации. Победители смогут рассказать о своих решениях ученым, работающим в ЦЕРНе.

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

[1]: https://yandex.ru/company/technologies/matrixnet/
[2]: https://clickhouse.yandex/
[3]: https://habrahabr.ru/company/yandex/blog/166497/
[4]: http://openlab.cern/
[5]: https://habrahabr.ru/company/yandex/blog/230367/
[6]: https://habrastorage.org/web/3b1/776/121/3b1776121f774aada7b232a023429f5e.png
[7]: https://habrahabr.ru/company/yandex/blog/333490/
[8]: https://en.wikipedia.org/wiki/Neutrino
[9]: https://en.wikipedia.org/wiki/OPERA_experiment
[10]: https://habrahabr.ru/post/333490/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как создать виртуальную машину в Google Таблицах
habra.16
habrabot(difrex,1) — All
2017-07-17 16:30:04


_Автор материала рассказывает, как с помощью Google-таблиц создать виртуальную машину, которая генерирует числа Фибоначчи._

Недавно я заметил, что в Google Документах есть достаточно полнофункциональная система скриптов под названием [Apps Script][1]. Она позволяет вам писать на JavaScript некоторые довольно полезные вещи:

* Запускать код в ответ на такие события, как открытие документов или изменение ячеек
* Создавать пользовательские функции таблиц для формул в Google Таблицах
* Использовать такие сервисы, как Google Переводчик для перевода текста или Gmail для отправки электронной почты
* Добавлять новые элементы меню в интерфейс Google Документов с помощью своих пользовательских функций
Естественно, по этой причине мне пришлось создать что-нибудь интересное. Вот, смотрите: виртуальная машина в Google Таблицах, генерирующая [числа Фибоначчи][2]!

![image][3]
[Читать дальше →][4]

[1]: https://developers.google.com/apps-script/
[2]: https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%B0_%D0%A4%D0%B8%D0%B1%D0%BE%D0%BD%D0%B0%D1%87%D1%87%D0%B8
[3]: https://habrastorage.org/web/aba/7fd/372/aba7fd37246246a38be29c453df74c2e.gif
[4]: https://habrahabr.ru/post/319754/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Применение преобразования Фурье для создания гитарного тюнера на Android. Часть 1
habra.16
habrabot(difrex,1) — All
2017-07-17 17:30:06


![][1]


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

В первой части статьи мы рассмотрим принцип работы дискретного преобразование Фурье, а также возможность записывать звуковые данные с Android устройства с помощью класса AudioRecord. [Читать дальше →][2]

[1]: https://habrastorage.org/web/770/a8f/c2e/770a8fc2eac54990b78430808392ff5b.jpg
[2]: https://habrahabr.ru/post/333514/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Использование нейронных сетей для распознавания рукописных цифр Часть 1
habra.16
habrabot(difrex,1) — All
2017-07-17 19:30:04


Привет, Хабр! В этой серии статей приведу краткий перевод с английского языка [первой главы][1] книги [Майкла Нильсона][2] "Neural Networks and Deep Learning".



Перевод я разбил на несколько статей на хабре, чтобы было удобнее читать:
Часть 1) Введение в нейронные сети
Часть 2) Построение и градиентный спуск
Часть 3) Реализация сети для распознавания цифр
Часть 4) Немного о глубоком обучении



## Введение



Человеческая визуальная система — одна из самых удивительных на свете. В каждом полушарии нашего мозга есть зрительная кора, содержащая 140 млн. нейронов с десятками млрд. связей между ними, но такая кора не одна, их несколько, и вместе они образуют настоящий суперкомпьютер в нашей голове, лучшим образом адаптированный в ходе эволюции под восприятие визуальной составляющей нашего мира. Но трудность распознавания визуальных образов становится очевидной, если вы попытаетесь написать программу для распознавания, скажем, рукописных цифр.


![image][3]

Простую интуицию — "у 9-тки есть петля сверху, и вертикальный хвост внизу" не так просто реализовать алгоритмически. Нейронные сети используют примеры, выводят некоторые правила и учатся на них. Более того чем больше примеров мы покажем сети, тем больше она узнает о рукописных цифрах, следовательно классифицирует их с большей точностью. Мы напишем программу в 74 строчки кода, которая будет определять рукописные цифры с точностью >99%. Итак, поехали!

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

[1]: http://neuralnetworksanddeeplearning.com/chap1.html
[2]: http://michaelnielsen.org/
[3]: https://habrastorage.org/getpro/habr/post_images/839/d0b/543/839d0b54370af70f06b3f097897de457.png
[4]: https://habrahabr.ru/post/333492/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Снимаем “4D видео” с помощью depth-сенсора и триангуляции Делоне
habra.16
habrabot(difrex,1) — All
2017-07-17 19:30:04


![][1]


Привет Хабр! Это заметка о небольшом хобби-проекте, которым я занимался в свободное время. Я расскажу, как с помощью несложных алгоритмов превращать карты глубины от depth-сенсоров в забавный вид контента — динамические 3D сцены (их ещё называют 4D video, volumetric capture или free-viewpoint video). Моя любимая часть в этой работе — алгоритм триангуляции Делоне, который позволяет превращать разреженные облака точек в плотную полигональную сетку. Приглашаю всех, кому интересно почитать про алгоритмы, самописные велосипеды на C++11, и, конечно же, посмотреть на трёхмерных котиков.

Для затравки: вот что получается при использовании RealSense R200: [skfb.ly/6snzt][2] (подождите несколько секунд для загрузки текстур, а затем используйте мышку, чтобы поворачивать сцену). Под катом есть ещё!
Обладатели лимитированных тарифов, будьте осторожны. В статье много разных изображений и иллюстраций.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/b83/a96/f64/b83a96f643824c8aa4fe61f21a9ae3e2.gif
[2]: https://skfb.ly/6snzt
[3]: https://habrahabr.ru/post/333532/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Постквантовая реинкарнация алгоритма Диффи-Хеллмана: вероятное будущее (изогении)
habra.16
habrabot(difrex,1) — All
2017-07-17 21:00:05


![][1]

Сегодня мы снова поговорим про протокол Диффи-Хеллмана, но уже построенный на более необычных конструкциях — изогениях, которые признаны устойчивыми к атакам на будущем квантовом компьютере. Квантовый компьютер, который сможет удержать в связанном состоянии порядка нескольких тысяч кубит, позволит находить закрытые ключи по открытым ключам у всех используемых сейчас асимметричных криптосистем. Число кубит для взлома RSA равно удвоенному числу бит в модуле (т.е. для разложения на множители модуля RSA длиной 2048 бит потребуется 4096 кубит). Для взлома эллиптических кривых необходимы более скромные мощности «квантового железа»: для решения задачи ECDLP для кривых над простым полем (такие кривые есть и в отечественном стандарте подписи ГОСТ Р 34.10-2012 и в американском ECDSS) c модулем кривой длиной n бит требуется 6n кубит (т. е. для модуля в 256 бит надо ~ 1536 кубит, а для 512 бит ~ 3072 кубит). На днях российско-американская группа ученых установила мировой рекорд, удержав в связанном состоянии 51 кубит. Так что у нас есть еще немного времени для изучения изогений (а также решеток, кодов, multivariate и подписей, основанных на хэшах).
Кстати, изогении считаются одним из наиболее вероятных кандидатов на победу на [конкурсе NIST][2] постквантовых алгоритмов для замены RSA и эллиптических кривых в ближайшие несколько лет. [Читать дальше →][3]

[1]: https://habrastorage.org/web/2a9/2ff/b41/2a92ffb41ee44bc499eb601f6aa6c60d.png
[2]: http://csrc.nist.gov/groups/ST/post-quantum-crypto/
[3]: https://habrahabr.ru/post/332494/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разработка скриптов-обёрток с помощью инструмента Sparrow
habra.16
habrabot(difrex,1) — All
2017-07-17 23:00:03


Доброе время суток! В данном посте я хочу рассказать как с помощью инструмента [Sparrow][1] лёгко и просто писать собственные обёртки к существующим скриптам и утилитам, а так же зачем вам это может понадобиться.

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

[1]: https://github.com/melezhik/sparrow
[2]: https://habrahabr.ru/post/333410/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Электронная демократия или как собрать и обработать данные по голосованию (и явке) за реновацию в Москве
habra.16
habrabot(difrex,1) — All
2017-07-17 23:30:04


Стоило голосованию за вход или выход из программы реновации завершиться — и с сайта мэра Москвы почему-то пропали данные о явке по каждому конкретному дому, остались только голоса за и против в целом. В новостях, конечно, пишут некие цифры, но ведь хочется посмотреть их самому, поиграться со статистикой, построить графики, не правда ли?

Да и после заявлений типа:
> Что касается популярности этих сервисов, то центры госуслуг «Мои документы» привлекли чуть больше половины всех проголосовавших, незначительно уступив [порталу «Активный гражданин»][1]как-то возникают лёгкие сомнения. Так что — приступим к сбору информации! А потом будем её анализировать. Для этого нам понадобится какой-нибудь язык (скажем, питон), какая-нибудь бд (скажем, sqlite) и какой-нибудь веб-скраппер, благо для питона их множество. Сразу говорю, в конце дам ссылку на получившуюся базу данных, можно сделать с ней что угодно.
[Читать дальше →][2]

[1]: https://rg.ru/2017/06/19/reg-cfo/golosovanie-moskvichej-po-renovacii-priznali-maksimalno-otkrytym.html
[2]: https://habrahabr.ru/post/333540/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Книга «Автостопом по Python»
habra.16
habrabot(difrex,1) — All
2017-07-18 01:30:04


[![image][1]][2] Привет, Хаброжители! Мы издали книгу, составленную на основе одноименного [онлайнового руководства][3] и содержащую наработки многочисленных профессионалов и энтузиастов, знающих, что такое Python и чего вы от него хотите.

Это руководство не предназначено для того, чтобы обучить вас языку Python (мы приведем ссылки на множество хороших ресурсов, которые помогут вам в этом), оно скорее представляет собой (безапелляционное) руководство от специалиста, где рассматриваются популярные инструменты и лучшие практики нашего сообщества. Аудитория этой книги разнообразна — от новичков до программистов Python среднего уровня, которые либо хотели бы внести свой вклад в развитие программного обеспечения (ПО) с открытым исходным кодом, либо начинают карьеру или создают компанию и собираются писать на Python (однако для рядовых пользователей Python также будут полезными часть I и глава 5).
[Читать дальше →][4]

[1]: https://habrastorage.org/web/324/f62/dcd/324f62dcd80c46e8afc0eb6577f726dd.jpg
[2]: https://habrahabr.ru/company/piter/blog/333498/
[3]: http://docs.python-guide.org/en/latest/
[4]: https://habrahabr.ru/post/333498/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] QML: как легко получать футболки в конкурсах mail.ru по машинному обучению
habra.16
habrabot(difrex,1) — All
2017-07-18 10:00:05


![][1]

В субботу завершился месячный конкурс по машинному обучению от mail.ru [ML bootcamp 5][2]. я занял в нем [14ое место][3]. Это уже третий мой конкурс, в котором я выиграл одежду и за время участия у меня сформировался фреймворк для помощи в подборе решения в подобных соревнованиях. На примере решения ML bootcamp 5 я опишу как им пользоваться.



Как полагается, сперва покажу товар лицом :)


* Сохранение промежуточных результатов вычисления моделей для дальнейшего использования в метамоделях (в т.ч. результатов кроссвалидаций)
* Модели для различных усреднений и стэкинга
* Вспомогательные скрипты для отбора признаков[Читать дальше →][4]

[1]: https://habrastorage.org/web/ae1/c8d/a56/ae1c8da5641445519b3af33de7cd7ca2.jpg
[2]: http://mlbootcamp.ru/round/12/sandbox/
[3]: http://mlbootcamp.ru/round/12/rating/
[4]: https://habrahabr.ru/post/333554/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод - recovery mode ] SDN с платформой Red Hat OpenStack: интеграция с OpenDaylight
habra.16
habrabot(difrex,1) — All
2017-07-18 10:30:05


[OpenDaylight][1] — проект с открытым исходным кодом под эгидой Linux Foundation, направленный на содействие внедрению и развитию программно-определяемых сетей (SDN) путем создания общей отраслевой платформы. Red Hat — платиновый член-учредитель сообщества OpenDaylight, в деятельности которого участвуют как отдельные специалисты, так и крупные сетевые компании. OpenDaylight стимулирует инновации и разработку самых разных вариантов использования.

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

[1]: https://www.opendaylight.org/
[2]: https://habrastorage.org/web/e25/d43/8ef/e25d438ef7b74ce2b11de3efde7b59d0.png
[3]: https://habrahabr.ru/post/333526/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Ультимативный» блокчейн-дайджест: полезные материалы на Хабре и другие источники по теме
habra.16
habrabot(difrex,1) — All
2017-07-18 10:30:05


Вчера мы [представили][1] открытый фреймворк для разработки блокчейнов [Exonum][2]. Он позволит компаниям и правительственным организациям воплощать в жизнь безопасные блокчейн-решения.

Сегодня мы решили подготовить тематическую подборку для тех, кто хотел бы разобраться в устройстве блокчейн-технологии, но и не забыли более «продвинутых» пользователей.

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

[1]: https://habrahabr.ru/company/bitfury/blog/333446/
[2]: http://exonum.com/
[3]: https://habrastorage.org/web/379/47f/e96/37947fe968614ded82ccb7d391b7a0e7.jpg
[4]: https://habrahabr.ru/company/bitfury/blog/332438/
[5]: https://habrahabr.ru/post/332438/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Яндекс открывает технологию машинного обучения CatBoost
habra.16
habrabot(difrex,1) — All
2017-07-18 13:30:04


Сегодня Яндекс выложил в open source собственную библиотеку CatBoost, разработанную с учетом многолетнего опыта компании в области машинного обучения. С ее помощью можно эффективно обучать модели на разнородных данных, в том числе таких, которые трудно представить в виде чисел (например, виды облаков или категории товаров). Исходный код, документация, бенчмарки и необходимые инструменты уже [опубликованы на GitHub][1] под лицензией Apache 2.0.

![][2]

CatBoost – это новый метод машинного обучения, основанный на градиентном бустинге. Он внедряется в Яндексе для решения задач ранжирования, предсказания и построения рекомендаций. Более того, он уже применяется в рамках сотрудничества с Европейской организацией по ядерным исследованиям (CERN) и промышленными клиентами Yandex Data Factory. Так чем же CatBoost отличается от других открытых аналогов? Почему бустинг, а не метод нейронных сетей? Как эта технология связана с уже известным Матрикснетом? И причем здесь котики? Сегодня мы ответим на все эти вопросы.

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

[1]: https://github.com/catboost/catboost
[2]: https://habrastorage.org/web/a70/0a8/d2a/a700a8d2a9c14cab94902dc57b03e27a.png
[3]: https://habrahabr.ru/post/333522/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Selenium: проще пареной репы…
habra.16
habrabot(difrex,1) — All
2017-07-18 13:30:05


Как вы уже могли заметить мы в команде [Aerokube][1] продолжаем упрощать жизнь в инфраструктуре тестирования. Сейчас мы усиленно работаем над удобными инструментами для, браузерного тестирования на основе [Selenium][2]. Одним из инструментов, о котором я уже рассказывал раньше, является [Selenoid][3]. Selenoid — это легковесный сервер, запускающий изолированные браузеры в [Docker][4] контейнерах. В предыдущих статьях ([раз][5], [два][6]) я описал два возможных сценария использования Selenoid — работа с **Docker** и использование исполняемых файлов веб-драйверов в операционных системах, где отсутствует поддержка Docker. Сегодня я расскажу о новых возможностях, которые могут помочь в отладке браузерных тестов.


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

[1]: http://aerokube.com/
[2]: http://seleniumhq.org/
[3]: http://github.com/aerokube/selenoid
[4]: https://docker.com/
[5]: https://habrahabr.ru/post/327184/
[6]: https://habrahabr.ru/post/329256/
[7]: https://habrastorage.org/web/4ce/e6e/397/4cee6e397c934a378027096f38007a7f.gif
[8]: https://habrahabr.ru/post/333568/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Опыт Туту.ру: Как устроено расписание электричек
habra.16
habrabot(difrex,1) — All
2017-07-18 13:30:04


Поезда пригородного сообщение — электрички — остаются одним из самых массовых видов пассажирского транспорта в России. За год ими пользуются миллионы пассажиров, которые проезжают суммарно сотни миллиардов километров на тысячах электричек. Только в январе 2017 года, по данным столичного департамента транспорта, опубликованным в едином хранилище данных правительства Москвы (ЕХД), пассажиропоток пригородного железнодорожного транспорта составил 42,6 млн человек. Это выше на 4,1% по сравнению с показателями прошлого года.

Наличие, доступность и точность расписания курсирования электричек волнует каждого пассажира, а для тех, кто его формирует и доносит до людей, является важной и очень непростой задачей.

Меня зовут Александр Подлевских, я ведущий инженер-разработчик компании Туту.ру, тимлид в команде электричек, и в статье расскажу про технические детали и сложности построения онлайн расписания, как все это работает, каким образом мы используем данные, предоставляемые РЖД, и как наши пользователи помогают нам поддерживать расписание в актуальном состоянии, не догадываясь об этом.

![][1]
_График движения поездов — это отображение процесса движения поезда в декартовой системе координат. В таком виде представляется график движения поездов на железной дороге._
[Читать дальше →][2]

[1]: https://habrastorage.org/web/ed5/dec/75c/ed5dec75c3fd49c7a604fd6a5fde2c27.png
[2]: https://habrahabr.ru/post/333038/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Кроссплатформенный IoT: Использование Azure CLI и Azure IoT Hub
habra.16
habrabot(difrex,1) — All
2017-07-18 14:00:04


Представляем первую статью из цикла «Кроссплатформенный IoT». При прочтении заголовка у вас мог возникнуть вопрос: какое отношение имеет CLI к IoT Hub? Всё просто, разработчики представили модуль, который позволяет управлять операциями IoT Hub из командной строки. Под катом вы узнаете как активировать поддержку Azure IoT Hub в Azure CLI, создать и управлять им далее.

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

[1]: https://habrastorage.org/web/0e2/21f/6c5/0e221f6c5ccf4cc3950100735b586cdd.jpg
[2]: https://habrahabr.ru/post/333530/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Основы CQRS
habra.16
habrabot(difrex,1) — All
2017-07-18 14:00:04


Данная статья основана на материале из различных статей по CQRS, а также проектов, где применялся такой подход.

Системы управления предприятиями, проектами, сотрудниками давно вошли в нашу жизнь. И пользователи таких enterprise приложений все более требовательны: возрастают требования к масштабируемости, сложность бизнес-логики, требования к системам меняются быстро, да и отчетность требуется в реальном времени.

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

[1]: https://habrahabr.ru/post/329970/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Как это работает»: Классификация ЦОД Tier
habra.16
habrabot(difrex,1) — All
2017-07-18 15:00:04


В июне этого года было анонсировано сразу несколько важных событий в индустрии дата-центров. Для начала стало [известно][1], что получено разрешение на строительство первого в Республике Бангладеш и единственного в своем роде в Азии национального ЦОДа категории Tier IV. Следом за этим японский технический гигант Fujitsu [объявил][2] о глобальной модернизации своих австралийских дата-центров — тоже до уровня Tier IV. Последние новости дали почву для размышлений об эволюции ЦОДов и сути их классификации, о чем сегодня мы и поговорим.

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

[1]: http://www.thedailystar.net/business/tier-4-data-centre-step-closer-reality-1420921
[2]: http://www.datacenterdynamics.com/content-tracks/colo-cloud/fujitsu-to-upgrade-four-australian-data-centers-to-tier-iv/98541.fullarticle
[3]: https://habrastorage.org/web/85a/c33/1ed/85ac331edd024e95921c82e4e1178a25.jpg
[4]: https://habrahabr.ru/company/it-grad/blog/332864/
[5]: https://habrahabr.ru/post/332864/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Бот для Telegram за 48 часов на Perl или как купить кошачий корм не выходя из чата
habra.16
habrabot(difrex,1) — All
2017-07-18 15:30:05


![][1]

Давно поглядывая в сторону темы ботов для Telegram и Facebook всё не находил времени взглянуть что же это за звери. А главное — не было внятной идеи зачем может понадобиться такой бот в реальной жизни, учитывая что ни Tg ни Fb Messanger в жизни я активно не пользуюсь.

И совершенно случайно представилась возможность немного погрузиться в эту область и решить вполне себе прикладную задачу. Например, купить корм для кота не выходя из чата ))

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

[1]: https://habrastorage.org/web/d5e/ea6/caf/d5eea6caf9cc423093b37146b2b88c78.jpg
[2]: https://habrahabr.ru/post/333586/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конкурентная разведка на PHDays: шпионим через Интернет вещей
habra.16
habrabot(difrex,1) — All
2017-07-18 18:00:05


![image][1]

Онлайновый конкурс по конкурентной разведке проводится на конференции Positive Hack Days уже шестой год подряд — и наглядно показывает, как легко в современном мире получить различную ценную информацию о людях и компаниях. При этом обычно даже не нужно ничего взламывать: все секреты разбросаны в общедоступных сетях. В этом обзоре мы расскажем, какие были задания на «Конкурентной разведке» 2017 года, как их нужно было решать, и кто победил в конкурсе.

В этом году участникам необходимо было найти всевозможную информацию о сотрудниках компании GreatIOT. К обычному поиску и анализу информации в Интернете добавились задания с различными IoT-устройствами. По легенде, с компанией случилось что-то странное, и в один момент все, включая разработчиков, техподдержку и даже CEO — пропали. Задача участников конкурса — найти данные, необходимые для расследования этой интриги. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/475/8b7/6d0/4758b76d09a940c5cdca0a1f4a3d336c.png
[2]: https://habrahabr.ru/post/333600/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Применение принципа poka-yoke в программировании на примере PHP
habra.16
habrabot(difrex,1) — All
2017-07-18 19:30:05


![][1]



_Всем привет! Я Алексей Грезов, разработчик Server Team Badoo. Мы в Badoo всегда стараемся сделать так, чтобы наш код было легко поддерживать, развивать и переиспользовать, ведь от этих параметров зависит, насколько быстро и качественно мы сможем реализовать какую-либо фичу. Одним из способов достижения этой цели является написание такого кода, который просто не позволит совершить ошибку. Максимально строгий интерфейс не даст ошибиться с порядком его вызова. Минимальное количество внутренних состояний гарантирует ожидаемость результатов. На днях я увидел статью, в которой как раз описывается, как применение этих методов упрощает жизнь разработчикам. Итак, предлагаю вашему вниманию перевод статьи про принцип "poka-yoke"._

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

[1]: https://habrastorage.org/web/def/090/184/def090184a614361ae5bca1c06063481.png
[2]: https://habrahabr.ru/post/333592/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Опыт Туту.ру: как устроено расписание электричек
habra.16
habrabot(difrex,1) — All
2017-07-18 22:30:04


Поезда пригородного сообщения — электрички — остаются одним из самых массовых видов пассажирского транспорта в России. За год ими пользуются миллионы пассажиров, которые проезжают суммарно сотни миллиардов километров на тысячах электричек. Только в январе 2017 года, по данным столичного департамента транспорта, опубликованным в едином хранилище данных правительства Москвы (ЕХД), пассажиропоток пригородного железнодорожного транспорта составил 42,6 млн человек. Это выше на 4,1% по сравнению с показателями прошлого года.

Наличие, доступность и точность расписания курсирования электричек волнует каждого пассажира, а для тех, кто его формирует и доносит до людей, является важной и очень непростой задачей.

Меня зовут Александр Подлевских, я ведущий инженер-разработчик компании Туту.ру, тимлид в команде электричек, и в статье расскажу про технические детали и сложности построения онлайн расписания, как все это работает, каким образом мы используем данные, предоставляемые РЖД, и как наши пользователи помогают нам поддерживать расписание в актуальном состоянии, не догадываясь об этом.

![][1]
_График движения поездов — это отображение процесса движения поезда в декартовой системе координат. В таком виде представляется график движения поездов на железной дороге._
[Читать дальше →][2]

[1]: https://habrastorage.org/web/ed5/dec/75c/ed5dec75c3fd49c7a604fd6a5fde2c27.png
[2]: https://habrahabr.ru/post/333038/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Что такое SMT и как оно работает в приложениях — плюсы и минусы
habra.16
habrabot(difrex,1) — All
2017-07-18 23:30:05


Пока я радую свои графоманские пристрастия написанием детальной технической статьи про «Windows Performance Station», захотелось поделиться своими мыслями о том, что хорошего и плохого приносит SMT в процессоры «AMD» и «Intel», и как тут поможет «Windows Performance Station».

![image][1]
Тем, кому интересна данная тема, добро пожаловать под кат…
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/878/4f3/fe2/8784f3fe216e1b6b82fd2e4ae932ca1e.jpg
[2]: https://habrahabr.ru/post/333632/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Emacs + удобный менеджер окон и буферов
habra.16
habrabot(difrex,1) — All
2017-07-19 09:30:04


Привет, хабражители!

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

Но, не хватало мне очень хорошего и удобного менеджера буферов, я начал искать и нашел [emacs-purpose][1].

Это очень удобная система построения своей конфигурации буферов и их расположения на странице. Что интересно, что она подразумевает что у каждого буфера есть предназначение и соответственно целевое место в твоем layoutе. На основании этого extensionа даже возможно сделать свой собственный ide в emacs очень легко. Итак, давайте рассмотрим несколько шагов по построению своей версии IDE используя этот движок.

Для затравки, вот то как выглядит мой интерфейс емакса.

[![image][2]][3]
[Читать дальше →][4]

[1]: https://github.com/bmag/emacs-purpose
[2]: https://habrastorage.org/getpro/habr/post_images/03f/9d3/ed0/03f9d3ed0d373edc83d27df946a60326.png
[3]: https://hsto.org/web/bdc/878/6d3/bdc8786d396b45f7811e14f39bbef5b0.png
[4]: https://habrahabr.ru/post/333640/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разыменование нулевых указателей больше не проблема
habra.16
habrabot(difrex,1) — All
2017-07-19 12:00:05


![image][1]

Дефект, который справедливо считается «чумой» современного программирования преодолим. Предлагаем ознакомиться с переводом статьи Бертрана Мейера, французского учёного, создателя языка программирования Eiffel, приглашенного профессора и руководителя Лаборатории программной инженерии Университета Иннополис. Оригинал статьи [опубликован][2] в журнале Сommunications of the ACM. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/356/6cc/bde/3566ccbdee9117d9394a91c1105bda4b.jpg
[2]: https://cacm.acm.org/blogs/blog-cacm/211080-null-pointer-crashes-no-more/fulltext
[3]: https://habrahabr.ru/post/333622/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Книга «Python. Уроки»
habra.16
habrabot(difrex,1) — All
2017-07-19 12:00:05


![][1]Добрый день, коллеги!
Я являюсь одним из авторов блога [devpractice.ru][2]. В конце апреля 2017 года нами была написана завершающая статья из цикла «Уроки по языку Python», всего их получилось 15 штук. Спустя какое-то время, у нас появилась идея объединить весь накопленный материал. Так появилось первое издание книги «Python. Уроки». Эту книгу мы решили распространять бесплатно и предлагаем вам ознакомиться с ней.
[Скачать «Python. Уроки»][3] вы можете непосредственно с [сайта][4]. В книге основной акцент сделан на обучение базовым вещам (установка и запуск программ, типы данных, условные операторы и циклы, структуры данных, функции, исключения), темы, связанные с ООП, итераторами и генераторами даны в ознакомительном объеме.
[Читать дальше →][5]

[1]: https://habrastorage.org/web/dcc/f02/c44/dccf02c444d5422194f9358c170c7f78.png
[2]: http://devpractice.ru
[3]: http://devpractice.ru/book-python-lessons/
[4]: http://devpractice.ru/book-python-lessons/
[5]: https://habrahabr.ru/post/333672/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Процедурная генерация в Distrust
habra.16
habrabot(difrex,1) — All
2017-07-19 13:30:12


Всем привет! Меня зовут Максим, и я хочу рассказать о том, как мы делали процедурную генерацию, а точнее о том, какой она в итоге у нас получилась. Эта статья не претендует на звание полной документации, что потребовало бы намного больше текста. Статья ставит своей целью описать основные механизмы генерации игрового мира и его сущностей, не вдаваясь в отдельные узкие правила и исключения, коих довольно много.

Перед вами здание- склад, сгенерированное процедурно:

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

[1]: http://i.imgur.com/2Awpd4R.jpg
[2]: https://habrahabr.ru/post/333692/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Конкурс Skyeng API — первые участники
habra.16
habrabot(difrex,1) — All
2017-07-19 15:00:04


![][1]


Месяц назад мы открыли API нашего словаря, предложили всем желающим использовать его в своих приложениях и сервисах и даже объявили конкурс среди разработчиков. За прошедшее время мы получили 18 конкурсных заявок, среди них несколько готовых решений. Сегодня мы решили в своем блоге дать авторам четырех из них возможность рассказать о своем продукте (а мы прокомментируем).

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

[1]: https://habrastorage.org/web/7c1/895/f25/7c1895f25df94cbea7f191e8be42550c.jpg
[2]: https://habrahabr.ru/post/333524/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] K-sort: новый алгоритм, превосходящий пирамидальную при n <= 7 000 000
habra.16
habrabot(difrex,1) — All
2017-07-19 18:00:05


_От переводчика. Перевод [статьи 2007 года на arxiv.org][1] о статистическом анализе модификации быстрой сортировки.
Наверняка найдутся люди, использующие описанный вариант интуитивно. Здесь — математическое обоснование эффективности при n <= 7 000 000_


#### **Коротко о главном**



![][2]

**Ключевые слова**
_Внутренняя сортировка; Равномерное распределение; Средняя временная сложность; Статистический анализ; Статистическая оценка_
[Читать дальше →][3]

[1]: https://arxiv.org/ftp/arxiv/papers/1107/1107.3622.pdf
[2]: https://habrastorage.org/web/c43/613/e78/c43613e7890a4ca7b29250837e0d41bb.jpg
[3]: https://habrahabr.ru/post/333710/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Дженерики и конвертеры в Nim
habra.16
habrabot(difrex,1) — All
2017-07-19 19:00:04


![Логотип языка Nim][1]


Всем привет! В данной статье я постараюсь рассказать, что такое generic процедуры и converter’ы в Nim (и показать примеры их использования)

Что такое Nim? _Nim – компилируемый (в C, C++, Objective C и JS) высокоуровневый язык программирования со сборщиком мусора_, имеющий три основных цели (в порядке приоритета): производительность, выразительность, элегантность. Официальный [сайт языка][2], [репозиторий на GitHub][3].
Также в Nim достаточно развито метапрограммирование (дженерики, шаблоны, макросы).
[Читать дальше →][4]

[1]: https://habrastorage.org/web/b3b/ee0/785/b3bee0785fa8459cb52797e71056e75d.png
[2]: https://nim-lang.org
[3]: https://github.com/nim-lang/Nim
[4]: https://habrahabr.ru/post/333702/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Рынок 5D. Проекционные системы
habra.16
habrabot(difrex,1) — All
2017-07-19 19:30:05


На рынке 5D платформ мы уже более 5 лет. За это время у меня накопился солидный багаж знаний, которыми решил поделиться. В первой части я хочу рассказать о проекционных системах, применяемых в этой отрасли, а так же об адаптации нашего ПО под них. Какие решения мы применяли и почему. Я сознательно не зазываю товарный знак, чтобы не сочли, что пост – это просто реклама очередной программы.
Итак. 5D – это прежде всего кинотеатр со стерео контентом. Ведь звуковые или тактильные ощущения для большинства людей не так важны, как видеоряд.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/333652/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Динамическая инструментация — не просто, а тривиально*: пишем yet another инструментацию для American Fuzzy Lop
habra.16
habrabot(difrex,1) — All
2017-07-19 20:00:05


_(\*) На самом деле, не совсем._
Наверное, многие слышали про Valgrind — отладчик, который может сказать, где в вашей нативной программе утечка памяти, где ветвление зависит от неинициализированной переменной и многое другое (а ведь кроме memcheck, у него есть и другие режимы работы). Внутри себя эта чудо-программа перемалывает нативный код в некий промежуточный байткод, инструментирует его и генерирует новый машинный код — уже с run-time проверками. Но есть проблема: Valgrind не умеет работать под Windows. Когда мне это понадобилось, поиски привели меня к аналогичной утилите под названием [DrMemory][1], также с ней в комплекте был аналог `strace`. Но речь не столько о них, сколько о библиотеке динамической инструментации, на базе которой они построены, [DynamoRIO][2]. В какой-то момент я заинтересовался этой библиотекой с точки зрения написания собственной инструментации, начал искать документацию, набрёл на [большое количество примеров][3] и был поражён тем, что простенькую, но законченную инструментацию вроде [подсчёта инструкций вызова][4] можно написать буквально в 237 строк сишного кода, 32 из которых — лицензия, а 8 — описание. Нет, это, конечно не "пишем убийцу Valgrind в 30 строк кода на JavaScript", но сильно проще, чем то, что можно представить для подобной задачи.



В качестве примера давайте напишем уже четвёртую реализацию инструментации для фаззера American Fuzzy Lop, о котором недавно [уже писали на Хабре][5].

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

[1]: http://www.drmemory.org/
[2]: http://dynamorio.org/
[3]: http://dynamorio.org/docs/API_samples.html
[4]: https://github.com/DynamoRIO/dynamorio/blob/master/api/samples/countcalls.c
[5]: https://habrahabr.ru/post/328652/
[6]: https://habrahabr.ru/post/332076/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] 3D Блокчейн. Доказательство на лицо (PoF)
habra.16
habrabot(difrex,1) — All
2017-07-19 20:00:05


![][1] Моя склонность — всё подвергать сомнению и блокчейн[1] не оказался исключением. Давайте взглянем на Цикл зрелости технологии ([Gartner Hype Cycles][2]). Где по Вашему находится Блокчейн? Естественно каждый для себя определит своё нахождение на том или ином цикле, которое свойственно проекту на каком-то из стадий разработки. Кто-то во всю развивает бизнес приложение и видит будущие горизонты, а кто-то только начинает знакомство. Но если взглянуть шире? Блокчейн неоспоримо засел в мысли и показал большой потенциал по трансформации многих сегментов взаимоотношения людей. Но у меня остаётся доля сомнения в отношении некоторых текущих принципов его работы. В итоге, я вижу эту стадию где-то на уровне пика завышенных ожиданий (Peak of inflated expectations) — общественный _ажиотаж с чрезмерным энтузиазмом и нереалистичными ожиданиями._ Что означает, впереди ещё ждать такие циклы как: Избавление от иллюзий, Преодоление недостатков, Плато продуктивности.

Поэтому, если Вам интересна критика и предположение иного подхода в определении консенсуса, то добро пожаловать под кат.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/ce0/7c6/672/ce07c66727cb42b9a6b9de614407e4fd.png
[2]: https://ru.wikipedia.org/wiki/Gartner#.D0.A6.D0.B8.D0.BA.D0.BB_.D0.B7.D1.80.D0.B5.D0.BB.D0.BE.D1.81.D1.82.D0.B8_.D1.82.D0.B5.D1.85.D0.BD.D0.BE.D0.BB.D0.BE.D0.B3.D0.B8.D0.B9
[3]: https://habrahabr.ru/post/333708/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 ... 133