RSS
Pages: 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
[>] Эрланг для веб-разработки (1) -> Знакомство;
habra.15
habrabot(difrex,1) — All
2015-12-25 00:30:03


![][1] Я начинаю публиковать серию статей о веб-разработке на Эрланге. Многие хотят попробовать Эрланг, но сталкиваются с проблемой, что вводные курсы в основном касаются Эрланга как функционального языка и далеки от реальных проектов ([Learn You Some Erlang for great good!][2] — хорошая и подробная книга). С другой стороны все обучающие материалы по веб-разработке подразумевают, что читатель уже хорошо знает Эрланг. Эта серия статей рассчитана для разработчиков, у которых есть опыт в веб-разработке (PHP, Ruby, Java), но не имеют опыта разработки на Эрланге. Задачей будет сделать блог. Код из статей . Особенности проекта:

* обновление комментариев в реальном времени;
* авторизация через фейсбук;
* данные храним в mnesia.

В основе проекта [феймворк n2o][3]. Выбор довольно субъективен, но из живых [Эрланг фреймворков][4], n2o мне показался наиболее «эрлангоподобным», в тоже время ChicagoBoss больше похож на MVC фреймворки в других языках. [Читать дальше →][5]

[1]: https://habrastorage.org/files/ab9/08a/eb3/ab908aeb3c9c4422ab0de8abe4b4a361.png
[2]: http://learnyousomeerlang.com/
[3]: https://github.com/synrc/n2o
[4]: https://github.com/ChicagoBoss/ChicagoBoss/wiki/comparison-of-erlang-web-frameworks
[5]: http://habrahabr.ru/post/273979/#habracut

[>] Как мы сделали Rich Text Editor с поддержкой совместного редактирования под Android
habra.15
habrabot(difrex,1) — All
2015-12-25 15:00:03


«Мобилизация» рабочих процессов в компаниях означает, что на телефон или планшет переносится все больше функций для совместной работы. Для [Wrike][1], как кроссплатформенного сервиса управления проектами, важно, чтобы функционал мобильного приложения был абсолютно полноценным, удобным и не ограничивал пользователей в работе. И когда встала задача создать Rich Text Editor с поддержкой совместного редактирования описания задач, мы, оценив возможности существующих WebView компонентов, решили пойти своим путем и реализовали собственный нативный инструмент. [Подробности][2]

[1]: https://www.wrike.com/ru
[2]: http://habrahabr.ru/post/273797/#habracut

[>] [Перевод] Как на самом деле будет выглядеть рынок JavaScript в 2016 году
habra.15
habrabot(difrex,1) — All
2015-12-25 16:00:03






Сегодня на сайте Mashable появилась любопытная статья «Чтобы стать гуру программирования в 2016 году, достаточно освоить Javascript и переехать в Юту» о рынке труда разработчиков программного обеспечения. Данный материал формирует весьма превратную картину действительности, а потому давайте разбираться вместе. Краткая предыстория. Я разработчик программного обеспечения и на протяжение нескольких последних лет мне доводилось неоднократно проводить собеседования с желающими пополнить ряды моих коллег. Кроме того, я обучал разработчиков JavaScript навыкам, благодаря которым они получали шикарную работу. У меня приличный опыт в сфере создания и консультирования многообещающих команд разработчиков всевозможных стартапов и 500 успешных компаний. Я также часто сотрудничаю с кадровыми агентствами, благодаря чему не понаслышке знаю, чего хотят самые высокотехнологичные компании в мире. Руководствуясь собственным опытом и тем, что рассказывают мои студенты, я могу с уверенностью заявить, что прекрасно понимаю структуру рынка труда JavaScript как снаружи, так и изнутри. [Читать дальше →][1]

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

[>] Нестандартный топ событий в сфере IT-безопасности 2015
habra.15
habrabot(difrex,1) — All
2015-12-25 17:00:02


![][1]Вот и пришло время повторить упражнение, которое я первый раз выполнил [ровно год назад][2]. Тогда я взял 10 самых популярных новостей с нашего сайта [Threatpost][3] и попытался выяснить — почему именно они, собственно, привлекли внимание общественности — и специалистов, и обычных пользователей. Такой метод имеет очевидные недостатки — на популярность статей много что влияет, и совершенно не обязательно, что самые популярные новости об инцидентах в кибермире являются одновременно и самыми важными. Но есть и достоинства: событий в сфере информационной безопасности происходит огромное количество, и каждый участник их обсуждения, в зависимости от специализации и личных интересов, выберет свои «самые-самые». А тут — если и не самый объективный, то хотя бы независимый инструмент оценки. В этом году подборка самых посещаемых новостей удачно делится на пять основных категорий: — Низкотехнологичные угрозы для пользователей — «Уязвимости в неожиданных местах»: безопасность «интернета вещей», домашних и промышленных сетевых устройств, — Проблемы шифрования данных — Громкие уязвимости в ключевых платформах и «хайтек» киберугроз — примеры самых продвинутых атак — Рутинные, но опасные уязвимости в распространенном софте Вот по ним и пройдемся. [Читать дальше →][4]

[1]: https://habrastorage.org/files/556/802/866/556802866b194499a11861b46fedde48.jpg
[2]: http://habrahabr.ru/company/kaspersky/blog/246745/
[3]: https://threatpost.ru
[4]: http://habrahabr.ru/post/273919/#habracut

[>] Как убить смартфон Sony Xperia C2305 с помощью роутера D-Link DIR-300
habra.15
habrabot(difrex,1) — All
2015-12-25 21:00:02


Однажды вечером пропал интернет и я решил раздать его с телефона на роутер. После подключения телефон начал постоянно зависать и перезагружаться. В результате не стало ни интернета, ни телефона. Если ваш телефон Sony внезапно начал перезагружаться без остановок, то вам может помочь данная статья. [Читать дальше →][1]

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

[>] [Из песочницы] Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 28. «Carder Court»
habra.15
habrabot(difrex,1) — All
2015-12-25 23:00:03


![][1]Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «[одного своего знакомого][2]». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а так же некоторые методы работы спецслужб по поимке хакеров и кардеров. Квест по переводу книги начался летом в ИТшном лагере для старшеклассников — «[Шкворень: школьники переводят книгу про хакеров][3]», затем к переводу подключились и Хабраюзеры и даже немного редакция.

#### Глава 28. Суд кардеров

_(за перевод спасибо drak0sha )_ Кейт Муларски был изможден. Сначала он переговорил с агентом в филиале Секретной службы на другом конце города. «Мне кажется тебе грозят некоторые неприятности». Один из бесчисленных информаторов слышал, что Iceman обнаружил неопровержимые доказательства, что Мастер Сплинтр был либо стукачом, шпионом корпоративной безопасности, либо федеральным агентом. Iceman временно объединился со своим бывшим врагом Silo и готовил подробную презентацию для руководства Carders Market и Dark Market-а. Iceman и Silo явно хотели засудить Мастера Сплинтра. Все началось с кода Silo. Известность Мастера Сплинтра как спамера и программиста сделала его специалистом в области обзоров вредоносного кода DarkMarket-а. Это было одним из преимуществ его тайной операции: Муларски сможет оценить последние версии секретного атакующего кода и передать их CERT, который, в свою очередь, отправит их всем антивирусным компаниям. Вредоносный код можно будет обнаружить еще до того, как он окажется на черном рынке. В этот раз Муларски поручил код в качестве тренировочного задания одному из студентов CMU проходящих стажировку в NCFTA. Согласно стандартной процедуре студент запустил программу в изолированном режиме на виртуальной машине — своего рода программная чаша Петри, которую после можно вычистить. Но он забыл о флешке в USB-порте. На нее были загружены пустая отчетная форма о вредоносной программе с логотипом NCFTA и основные цели исследования. Прежде чем студент осознал, что произошло, документ оказался в руках Silo. Шесть администраторов и модераторов DarkMarket получили копию кода Silo. Теперь канадцы знали, что один из них был федеральным агентом. [Читать дальше →][4]

[1]: https://habrastorage.org/files/353/64b/a0e/35364ba0e409475fbd05cd11e8132734.jpg
[2]: https://en.wikipedia.org/wiki/Max_Butler
[3]: http://habrahabr.ru/post/261491/
[4]: http://habrahabr.ru/post/274053/#habracut

[>] IBM Swift Sandbox — веб-песочница со Swift для тех, кто хочет разобраться в языке программирования от Apple
habra.15
habrabot(difrex,1) — All
2015-12-26 08:00:02


![][1] Корпорация IBM уже довольно давно сотрудничает с Apple. Взаимодействие двух компаний касается многих сфер, и одна из них — программирование. Причем программирование на Swift. Дело в том, что корпорация Apple сделала исходный код языка программирования Swift открытым. А в Mobile Innovation Lab от IBM создали специальную песочницу для разработчиков, которые хотели бы познакомиться со Swift. Благодаря открытию кода, разработчики, которые создают приложения для iOS, OS X и watchOS, могут без проблем обходить существовавшие ранее ограничения, дополняя многие функции при необходимости. Apple для привлечения широкой аудитории опубликовала достаточно массивную библиотеку различной документации, которая позиционируется как пособие для начинающих программистов. Стоит отметить, что лицензируется Swift под лицензией Apache 2.0. Эта лицензия позволяет использовать программное обеспечение для собственных целей, и платить Apple не требуется. [Читать дальше →][2]

[1]: https://habrastorage.org/files/e6a/3a0/521/e6a3a0521d32400fb417aa6e209a698b.png
[2]: http://habrahabr.ru/post/274067/#habracut

[>] Разработчики Perl 6: язык готов к использованию
habra.15
habrabot(difrex,1) — All
2015-12-26 09:30:02


![image][1] 24 декабря в [официальном блоге][2], посвящённом новостям разработки Perl 6, появилась поздравительная запись. Разработчики поздравили всех с наступающим католическим Рождеством, и с тем, что так долго ожидаемое взросление языка, наконец, состоялось. Фактически, язык готов к использованию в рабочих проектах, и разработчики обещают больше ничего существенно не менять. С момента выхода первой версии Perl прошло 28 лет, с момента выхода самой популярной в данное время версии Perl 5 – более 20 лет. Как шутит Ларри Уолл, создатель языка и лидер его разработки, 6-я версия, возможно, когда-нибудь и заменит 5-ю – примерно лет через 40. Версия Perl 6 была анонсирована более 10 лет назад – на [Amazon ещё можно купить книгу ][3]про этот «вскоре выходящий» язык, изданную в 2004 году. Длительность разработки можно объяснить тем, что Perl 6 – фактически, новый язык, написанный по мотивам 5-й версии. И хотя некоторые утверждают, что [6-ка отличается от 5-ки не более, чем C++ от C][4], всё-таки идеология в Perl 6 эволюционировала достаточно сильно для того, чтобы назвать его более современным языком. [Читать дальше →][5]

[1]: https://habrastorage.org/getpro/habr/post_images/4d7/2e8/2ce/4d72e82ce50411905d8a223317863f73.png
[2]: https://perl6advent.wordpress.com/2015/12/24/an-unexpectedly-long-expected-party/
[3]: http://www.amazon.com/gp/product/059600737X/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=059600737X&linkCode=as2&tag=destinyland-20&linkId=7GO7LHUIB57AJGKY
[4]: http://www.infoworld.com/article/2990353/application-development/perl-6-what-it-will-bring.html
[5]: http://habrahabr.ru/post/274069/#habracut

[>] Что случилось с google public dns в России?
habra.15
habrabot(difrex,1) — All
2015-12-26 23:00:03


Это не тостер, но проблема проявилась по всей России пару часов назад. Адрес 8.8.8.8 не работает, хотя пингуется. Может кто знает, что случилось? Адрес 8.8.4.4 тоже не отдаёт записи. P.S. Если кто увидит этот пост, хоть у себя на серверах поправит, если использовался сей DNS. **Проверять либо dig @8.8.8.8 google.com либо nslookup google.com 8.8.8.8** [][1]

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

[>] [recovery mode] Кому и зачем все-таки нужен Go?
habra.15
habrabot(difrex,1) — All
2015-12-27 01:00:03


![image][1] Здарова! Короче, последнее время на хабре было много срачей вокруг Go: хороший-плохой, нужен-ненужен, много сравнивали с питоном, много сравнивали с растом, [divan0][2] даже додумался перевести [высер][3] «Go vs Haskell» ну и в таком ключе. У меня сложилось ощущение, что из-за хайпа и агрессивного маркетинга языка _некоторыми Иванами Данилюками_ очень мало кто понял, кому и зачем вообще Go может пригодиться, зачем его делали и стоит ли вообще его учить. Я тоже долгое время участвовал в этих срачах, принимая посменно сторону «фанов» языка и сторону оппозиции, но в конце-концов допер, в чем фокус. Сегодня немного потупил у дивана в посте и решил написать вот эту заметочку. Давайте, пацаны, проходим в пост. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/25f/2d4/080/25f2d408041039eb52cb08f364ee84ae.jpg
[2]: http://habrahabr.ru/users/divan0/
[3]: http://habrahabr.ru/post/270707/
[4]: http://habrahabr.ru/post/274099/#habracut

[>] [Перевод] Простые алгебраические типы данных
habra.15
habrabot(difrex,1) — All
2015-12-27 13:00:03


_Это шестая статья из цикла «Теория категорий для программистов». Предыдущие статьи уже публиковались на Хабре:_ [0\. Теория категорий для программистов: предисловие][1] [1\. Категория: суть композиции][2] [2\. Типы и функции][3] [3\. Категории, большие и малые][4] [4\. Категории Клейсли][5] [5\. Произведения и копроизведения][6] В предыдущей статье были рассмотрены базовые операции над типами: произведение и копроизведение. Теперь покажем, что комбинирование этих механизмов позволяет построить многие из повседневных структур данных. Такое построение имеет существенное прикладное значение. Например, если мы умеем проверять на равенство базовые типы данных, а также знаем, как свести равенство произведения и копроизведения к равенстве компонент, то операторы равенства для составных типов можно вывести автоматически. В Haskell для обширного подмножества составных типов автоматически выводятся операторы равенства и сравнения, конвертация в строку и обратно и многие другие операции. Рассмотрим подробнее место произведения и копроизведения типов в программировании.

## Произведение типов

Каноническая реализация произведения типов в языках программирования — это пара. В Haskell пара является примитивным конструктором типов, а в C++ это относительно сложный шаблон из стандартной библиотеки. Строго говоря, произведение типов не коммутативно: нельзя подставить пару типа `(Int, Bool)` вместо `(Bool, Int)`, хотя они и содержат одни и те же данные. Однако произведение коммутативно с точностью до изоморфизма, задаваемого функцией `swap`, которая обратна самой себе:

swap :: (a, b) -> (b, a)
swap (x, y) = (y, x)

Можно рассматривать такие пары как различные форматы хранения одной и той же информации, как big endian и little endian. [Читать дальше →][7]

[1]: http://habrahabr.ru/post/245797/
[2]: http://habrahabr.ru/post/246009/
[3]: http://habrahabr.ru/post/247765/
[4]: http://habrahabr.ru/post/248257/
[5]: http://habrahabr.ru/post/249113/
[6]: http://habrahabr.ru/post/271927/
[7]: http://habrahabr.ru/post/274103/#habracut

[>] Эрланг для веб-разработки (2) -> БД и деплой;
habra.15
habrabot(difrex,1) — All
2015-12-28 00:30:03


![][1] В [первой статье][2] мы познакомились с Эрлангом и фреймворком n2o. В этой части мы продолжим делать наш блог:

* добавим авторизацию через фейсбук, для этого будем из клиента вызывать функции на сервере;
* будем сохранять комментарии и посты в NoSQL базе;
* развернем наш блог на DigitalOcean и замерим производительность (_спойлер — 1300 запросов в секунду_).

Код из статей . [Читать дальше →][3]

[1]: https://habrastorage.org/files/ab9/08a/eb3/ab908aeb3c9c4422ab0de8abe4b4a361.png
[2]: http://habrahabr.ru/post/273979/
[3]: http://habrahabr.ru/post/274107/#habracut

[>] Ботнет из тысяч взломанных роутеров Aethra использовался для атаки на Wordpress-сайты
habra.15
habrabot(difrex,1) — All
2015-12-28 01:30:02


![][1] Итальянская компания VoidSec, работающая в сфере информационной безопасности, опубликовала материал о недавно обнаруженном ботнете из роутеров Aethra. Как оказалось, эти устройства подвержены взлому, а злоумышленники используют ботнеты из таких устройств для проведения брутфорс-атак на сайты Wordpress. Одна из таких атак была обнаружена специалистом компании, когда тот анализировал логи Wordpress-сайтов, подвергшихся атаке. Как оказалось, атака шла с довольно близкого диапазона IP-адресов. После детального анализа оказалось, что атака осуществлялась с IP, отнсящихся к 6 интернет-провайдерам: Fastweb, Albacom (BT-Italia), Clouditalia, Qcom, WIND, и BSI Assurance UK. 4 провайдера работают в Италии. Большинство этих компаний устанавливают клиентам роутеры Aethra. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/fde/ad1/470/fdead14702158f05624143bdab0fbbe2.jpg
[2]: http://habrahabr.ru/post/274117/#habracut

[>] [Из песочницы] Создание своего типа ассета в Unreal Engine 4 и кастомизация панели свойств
habra.15
habrabot(difrex,1) — All
2015-12-28 13:00:03


![][1] Меня зовут Дмитрий. Я занимаюсь созданием компьютерных игр на Unreal Engine в качестве хобби. Сегодня я хотел бы рассказать как в Unreal Engine создать свой тип ассета и как добавить дополнительный элемент на панель свойств ассета. Итак начнем. [Читать дальше →][2]

[1]: https://habrastorage.org/files/932/2a8/5d2/9322a85d2f824646bfeb3682a3278488.jpg
[2]: http://habrahabr.ru/post/274159/#habracut

[>] GOTPass: новая беспарольная система аутентификации пользователя
habra.15
habrabot(difrex,1) — All
2015-12-28 14:00:03


![][1] За прошедшие несколько лет неоднократно высказывалась мысль о том, что метод аутентификации пользователя при помощи паролей несколько устарела. Некоторые компании, соглашаясь с этим мнением, стараются создать новые системы аутентификации, которые были бы более безопасными стандартных методов, и одновременно более удобными для работы. Одна из таких систем [разрабатывается][2] исследователями из Плимутского университета. Ученые назвали свой проект GOTPass, это комбинированная система, в которой объединяются паттерны, изображения и единоразовый пароль. Все это нужно для создания системы, которая может быть более удобной и более безопасной, чем привычные нам способы аутентификации. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/f4f/716/a1d/f4f716a1dd2f3c0d5320de027f708f7c.jpg
[2]: http://www.engadget.com/2015/12/26/gotpass-plymouth-university-password-proposal/
[3]: http://habrahabr.ru/post/274105/#habracut

[>] Как я искал (и нашел) разницу в двух побайтово идентичных файлах
habra.15
habrabot(difrex,1) — All
2015-12-28 15:30:03


Есть у нас одно .NET-приложение, которое умеет загружать и использовать плагины. Плагины — дело хорошее. Можно функционал расширять, можно оперативненько обновлять их со своего сайта, можно даже юзерам дать SDK и позволить писать свои плагины. Мы всё это и делали. Наши плагины представляли собой обычные .NET-сборки, которые нужно было подкинуть в определённую папку, откуда основное приложения их загружало и использовало. Ну, вы, наверное представляете как — [Assembly.Load()][1], дальше ищем класс, реализующий необходимый интерфейс, создаём объект этого класса и т.д. Всё это работало давно, стабильно и ничто не предвещало беды. Но вдруг в какой-то момент появилась необходимость создать плагин, состоящий из нескольких файлов. В связи с этим было решено считать плагином не просто .NET-сборку (1 файл), а zip-архив, в котором может быть как одна сборка, так и несколько файлов. В связи с этим пришлось научить билд-сервер паковать плагины в архивы, а основное приложение — разархивировать их в нужное место. В общем-то задача на 10 строк кода. Ничто не предвещало беды. И вот скачиваю я с билд-сервера собранный архив с плагином, разархивирую его в нужную папку, запускаю приложение, и… не работает! Стоп, как не работает? Это ведь тот же плагин! Дальше — больше. Прошу проделать ту же самую процедуру моего коллегу, на его компьютера. Он пробует — и у него всё работает! Но как же так? Одна версия приложения, один и тот же файл с билд-сервера. Какая-то разница в окружении? Сажусь за компьютер коллеги, пробую ещё раз — не работает! Он в этом время пробует на моём — работает! То есть получается, что файл «помнит», кто его разархивировал! Зовём третьего коллегу понаблюдать этот цирк. Последовательно, на одном и том же компьютере, по очереди делаем одни и те же действия: скачиваем архив с плагином, разархивируем в нужную папку, запускаем приложение. Когда это делаю я — программа не видит плагин, когда это делает коллега — всё работает. На третьем круге этих интересных экспериментов вдруг замечаем разницу в действиях: я разархивировал плагин стандартными средствами Windows, а мой коллега — с помощью 7-Zip. И то и другое вызывалось нами из контекстного меню архива, так что разницу в клик по не тому пункту вначале никто не замечал. Ну ок. Получается, файл, извлечённый из zip-архива с помощью 7-zip, отличается от того же файла из того же архива, извлечённого с помощью стандартного архиватора Windows? Кстати, пока вы не открыли статью под катом, ответьте-ка сами для себя на вопрос, может ли такое быть, что содержимое файлов валидного zip-архива при разархивации 7-zip и через проводник Windows будет разным? [Читать дальше →][2]

[1]: https://msdn.microsoft.com/en-us/library/system.reflection.assembly.load(v=vs.110).aspx
[2]: http://habrahabr.ru/post/274183/#habracut

[>] Генераторы хаоса на ПЛИС
habra.15
habrabot(difrex,1) — All
2015-12-28 16:00:03


Всем привет! Эта статья посвящается удивительным особенностям в мире хаоса. Я постараюсь рассказать о том, как обуздать такую странную и сложную вещь, как хаотический процесс и научиться создавать собственные простейшие генераторы хаоса. Вместе с вами мы пройдем путь от сухой теории до прекрасной визуализации хаотических процессов в пространстве. В частности, на примере известных хаотических аттракторов, я покажу как создавать динамические системы и использовать их в задачах, связанных с программируемыми логическими интегральными схемами (ПЛИС). ![][1] [Окунуться в мир хаоса...][2]

[1]: https://habrastorage.org/files/c69/4e7/94a/c694e794a619480b871cb5adc58f9e2e.jpg
[2]: http://habrahabr.ru/post/273915/#habracut

[>] Новогодняя проверка .NET Core Libraries (CoreFX)
habra.15
habrabot(difrex,1) — All
2015-12-28 16:30:03


![][1]Около года назад Microsoft выложила в открытый доступ исходный код таких проектов, как CoreCLR и CoreFX. Последний проект до недавнего времени не был нам интересен, потому что написан на языке C#, а не C++. Но с выходом новой версии PVS-Studio 6.00, поддерживающей проекты и на языке программирования C#, я решил вернуться к CoreFX и написать статью.

## Введение

.NET Core это модульная реализация библиотек и среды выполнения, которая включает подмножество .NET Framework. .NET Core состоит из набора библиотек, называемых «CoreFX» и небольшой оптимизированной рабочей среды «CoreCLR». .NET Core распространяется с открытым исходным кодом, который доступен на GitHub:

* [.NET Core Libraries (CoreFX)][2]
* [.NET Core Common Language Runtime (CoreCLR)][3]

Это крупные продукты от Microsoft, содержащие качественный исходный код, но подозрительные участки кода всё равно можно найти. О проверке CoreCLR можно прочитать в статье "[PVS-Studio: 25 подозрительных фрагментов кода из CoreCLR][4]". Проект CoreFX, о котором подойдёт речь в статье, проверялся с помощью статического анализатора [PVS-Studio][5] 6.00, который теперь поддерживает и C#! [Читать дальше →][6]

[1]: https://habrastorage.org/getpro/habr/post_images/9ec/b4a/5fd/9ecb4a5fd8fd0853a178c7090e0d1225.png
[2]: https://github.com/dotnet/corefx
[3]: https://github.com/dotnet/coreCLR
[4]: http://habrahabr.ru/company/pvs-studio/blog/253280/
[5]: http://www.viva64.com/ru/pvs-studio/
[6]: http://habrahabr.ru/post/274191/#habracut

[>] OpenOCD, GDB и (сильно)удалённая отладка
habra.15
habrabot(difrex,1) — All
2015-12-28 18:00:03


Дано: есть устройство, с ARM926E-JS (Cypress FX3) на борту. Устройство находится на другом континенте. Устройство подключено (JTAG+USB+COM) к Linux компу. На комп есть SSH доступ (и больше ничего, только SSH порт). Проблема: Устройство нужно отлаживать и писать под него код. И делать это, желательно, удобно. Решение с использованием OpenOCD, GDB и Qt Creator, а так же описание пути к нему, под катом. [Читать дальше →][1]

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

[>] [Из песочницы] Прямой доступ к диску из python
habra.15
habrabot(difrex,1) — All
2015-12-28 18:00:03


![image][1] Расскажу я вам сегодня о том, как пытался я добраться из питона до интерфейса жесткого диска, и что из этого получилось. Появляется у меня периодически необходимость тестирования большого количества жестких дисков. Обычно для этого используется досовая Victoria загружающаяся по сети. Она тестирует диски по одному, что не очень удобно. К тому же последнее время пошли платы не имеющие режима IDE, что дополнительно усложняет задачу. По началу у меня возникла идея взять готовый софт под линукс с открытыми исходниками и добавить ему возможность параллельного тестирования нескольких дисков. После беглого поиска выяснилось удручающее состояние этой области в линуксе. Из софта, ведущего при тестировании статистику по времени доступа к секторам и типам ошибок нашел только whdd. Попытка разобраться с кодом whdd закончилась полным провалом. Для меня, ни разу не программиста, код показался очень запутанным. К тому же большую его часть занимает совсем не работа с железом. Поняв, что простого решения не предвидится я решил попробовать написать подобную программу самостоятельно. Понимая, что подобный проект на C я не осилю я начал изучать возможность прямой работы с дисками из python, которым я частенько пользуюсь для решения простых задач и люблю за простоту и понятность. Информации по этому вопросу в сети кот наплакал, но все же я выяснил, что существует модуль fcntl который в том числе позволяет отправлять устройству ioctl запросы. Теперь у меня появилась возможность отправлять команды диску. Но в линуксе все диски считаются scsi дисками, а для тестирования нужно передавать диску непосредственно ata команды. Оказалось существует механизм ATA Command Pass-Through, позволяющий обернуть ata команду в scsi запрос. Основную информацию о том, как это использовать удалось почерпнуть из исходных текстов проекта sg3\_utils. Осталось попробовать реализовать это все на питоне. [Читать дальше →][2]

[1]: https://habrastorage.org/files/e03/2cf/e61/e032cfe6188049f884cb1bca3f78c6b5.jpg
[2]: http://habrahabr.ru/post/274195/#habracut

[>] «ВКонтакте» не только не платит пользователям за найденные уязвимости, но и не рассматривает их
habra.15
habrabot(difrex,1) — All
2015-12-28 20:30:03


![][1]По моему скромному мнению, баги из разряда банальных SQL инъекций в GET параметрах и выполнение команд через пайп уходят в далёкое прошлое. Различные фреймворки разрабатывающиеся десятками и сотнями людей, автоматизированное тестирование и лучшие практики программирования практически не оставляют шансов на то, что в начале двухтысячных являлось обыденностью. На мой взгляд, текущее время это пора гонок условий, логических багов, мисконфигураций и конечно же XSS. Которые приводят, к различным серьёзным последствиям. Не отрицая факт наличия простых критический уязвимостей и по сей день, что подтверждается на практике, хотел бы рассказать об одном интересном и в тоже время простом логическом баге в социальной сети VK.com. [Подробности][2]

[1]: https://habrastorage.org/files/1fd/b2e/f95/1fdb2ef95d674795a46390441b72de11.png
[2]: http://habrahabr.ru/post/274215/#habracut

[>] Kaggle и Titanic — еще одно решение задачи с помощью Python
habra.15
habrabot(difrex,1) — All
2015-12-28 21:30:02


Хочу поделиться опытом работы с задачей [известного конкурса][1] по машинному обучению от Kaggle. Этот конкурс позиционируется как конкурс для начинающих, а у меня как раз не было почти никакого практического опыта в этой области. Я немного знал теорию, но с реальными данными дела почти не имел и с питоном плотно не работал. В итоге, потратив пару предновогодних вечеров, набрал 0.80383 (первая четверть рейтинга). ![][2] В общем эта статья для еще начинающих от уже начавшего. [Читать дальше →][3]

[1]: https://www.kaggle.com/c/titanic
[2]: https://habrastorage.org/files/fb4/856/19f/fb485619f6a24cd791db6792433c1bf0.jpeg
[3]: http://habrahabr.ru/post/274171/#habracut

[>] [Перевод] Фреймворк для процедурных макросов в Rust
habra.15
habrabot(difrex,1) — All
2015-12-28 22:30:03




## От переводчика

Процедурные макросы — одна из наиболее ожидаемых фич Rust. На данный момент процедурные макросы возможно писать только под нестабильную версию компилятора, хотя есть несколько контейнеров, вроде [syntex][1], позволяющие делать ограниченную кодогенерацию в рамках стабильного компилятора. Однако ситуацию это особо не облегчает, поскольку интерфейс к AST остаётся нестабильным, и, хотя авторы syntex стараются идти в ногу с ночными сборками, иногда случаются фейлы из-за изменений в структуре AST. В этом блог посте один из участников core team — Nick Cameron — поделился своим видением будущего процедурных макросов. Хотя пост полон технических подробностей по внутренностям компилятора, мне показалось, что хабрасообществу может быть интересно заглянуть немного за кулисы разработки Rust.

## Фреймворк для процедурных макросов

В этом посте я расскажу, как, по моему мнению, должны выглядеть процедурные макросы. Я уже рассказывал про синтаксис [в другом посте][2], а когда мы опубликуем API для процедурных макросов, то напишу пост и про него. Я уже описывал [целый ряд изменений][3] в системе макросов, так что здесь я в чём-то повторюсь (отчасти противореча прошлому посту), но раскрою больше подробностей. [Читать дальше →][4]

[1]: https://crates.io/crates/syntex/
[2]: http://ncameron.org/blog/macro-plans-syntax/
[3]: http://ncameron.org/blog/macro-plans-overview/
[4]: http://habrahabr.ru/post/274225/#habracut

[>] Советская школа: адресный язык программирования
habra.15
habrabot(difrex,1) — All
2015-12-28 23:30:02


Адресный язык программирования считается одним из первых языков программирования высокого уровня. Он был создан советским разработчиком Екатериной Логвиновной Ющенко совместно с математиком Владимиром Семеновичем Королюком в 1955 г. Конструкции этого алгоритмического языка вошли в основу современных языков программирования. Своеобразной базой для адресного языка стали разработки члена корреспондента АН СССР Алексея Андреевича Ляпунова. Этим выдающимся математиком был создан операторный метод программирования, получивший широкое распространение на практике и оказавший сильное влияние на все последующее развитие теоретического программирования. ![][1] _Екатерина Логвиновна Ющенко и Владимир Семенович Королюк_ [Читать дальше →][2]

[1]: https://habrastorage.org/files/125/738/48b/12573848bc154750b6788b505ecc00b5.jpg
[2]: http://habrahabr.ru/post/274019/#habracut

[>] [Из песочницы] Окружение разработки: Redmine + Git + ownCloud
habra.15
habrabot(difrex,1) — All
2015-12-28 23:30:02


Данная статья появилась с целью обобщить довольно длительные попытки собрать удобное окружение для работы над проектами. Несомненно, существует множество сервисов готовых предоставить схожую функциональность, но их использование не всегда удобно и по различным причинам, может быть неприемлемо. Если возникла такая ситуация, надеюсь, представленная в статье конфигурация окажется полезной. ![][1] Сценарий использования данной связки, можно кратко описать следующим образом:

* Файлы проекта хранятся в Git репозитории;
* Репозиторий содержит настройки, исходники и другие файлы проекта, наличие которых удобно и допустимо в коллективном репозитории;
* В корне расположена директория cloud, исключенная в .gitignore, в которую через WebDAV монтируется ownCloud папка, для остальных файлов;
* Содержимое Git репозитория отслеживается в системе управления проектами Redmine.

План развертывания системы включает настройку следующих сервисов:

1. **OpenLDAP** — единая учётная запись для всех сервисов;
2. **Redmine** — запуск в Docker контейнере, создание и привязка Git репозитория, LDAP аутентификация;
3. **NGINX** — доступ к Git репозиторию через HTTPS и LDAP аутентификация;
4. **ownCloud** — LDAP аутентификация и монтирование папки через davfs2.

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

[1]: https://habrastorage.org/files/396/e61/47b/396e6147bea949fb9299dc9b834a326a.png
[2]: http://habrahabr.ru/post/274187/#habracut

[>] [recovery mode] Почему я перепроверяю записанные данные, или История одного расследования…
habra.15
habrabot(difrex,1) — All
2015-12-29 09:00:03


Недавняя хабрастатья о [различиях в побайтово идентичных файлах][1] вызвала из глубин памяти (и почтового ящика) небольшой кусочек моей переписки с одним из инженеров, отвечавших в то время за линию дисков MPG в компании Fujitsu. Для удобства англонеговорящих читателей, привожу перевод с английского под катом. [Читать дальше →][2]

[1]: http://habrahabr.ru/company/infopulse/blog/274183
[2]: http://habrahabr.ru/post/274235/#habracut

[>] И еще раз о необходимости закрывать базы
habra.15
habrabot(difrex,1) — All
2015-12-29 13:00:03


DataBreaches.net [сообщает][1] о найденной базе персональных данных **191 млн** избирателей США. Сайт на данный момент лежит под хабраэффектами, [google cache][2]. Исследователь Chris Vickery, ранее уже [находивший][3] не защищенные как следует многомиллионные базы аккаунтов, рассказал о наличии неограниченного доступа к 300-гигабайтной базе зарегистрированных избирателей, включающей: имена/фамилии, почтовые и электронные адреса, телефоны, даты рождения и пр. ![][4] [Читать дальше →][5]

[1]: http://www.databreaches.net/191-million-voters-personal-info-exposed-by-misconfigured-database/
[2]: http://webcache.googleusercontent.com/search?q=cache:BXSmNL6bUa4J:www.databreaches.net/191-million-voters-personal-info-exposed-by-misconfigured-database/+&cd=1&hl=ru&ct=clnk&gl=ru
[3]: http://www.securityweek.com/leaky-databases-expose-25-million-accounts-researcher
[4]: https://habrastorage.org/files/c69/5bc/093/c695bc09328d46fba9d0eccd3678ea6e.png
[5]: http://habrahabr.ru/post/274243/#habracut

[>] [Перевод] Проблемы при использовании Math.random()
habra.15
habrabot(difrex,1) — All
2015-12-29 14:30:02


![image][1] В английском есть такая аббревиатура — TIFU. Привести здесь её точное значение мы не можем, но вы без труда найдёте его в Сети. А после «литературной обработки» TIFU можно перевести как «сегодня я всё испортил». В контексте этого поста данная фраза относится к использованию функции Math.random() в JavaScript-движке V8. Хотя случилось это не сегодня, а пару лет назад. Да и дров я наломал не по своей вине, корень зла таится в самой этой функции.

> «Многие генераторы случайных чисел, используемые сегодня, работают не слишком хорошо. Разработчики обычно стараются не вникать, как устроены такие подпрограммы. И часто бывает так, что какой-то старый, неудовлетворительно работающий метод раз за разом слепо перенимается многими программистами, которые зачастую просто не знают о присущих ему недостатках.»
>
>
>
>
>
> Дональд Кнут, «
>
> [Искусство программирования][2]
>
> », том 2.

Надеюсь, что к концу этого поста вы согласитесь с двумя утверждениями:

* Мы были идиотами, поскольку использовали генератор псевдослучайных чисел в V8, не понимая его ограничений. И если очень лень, то безопаснее использовать [криптографически стойкие генераторы псевдослучайных чисел][3].
* В V8 необходима новая реализация Math.random(). Работу текущего алгоритма, кочующего от одного программиста к другому, нельзя считать удовлетворительной из-за слабой, неочевидной деградации, часто встречающейся в реальных проектах.

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

[1]: https://habrastorage.org/getpro/habr/post_images/dde/292/490/dde292490b55a8c0824ecc6cc038f999.png
[2]: https://ru.wikipedia.org/wiki/%D0%98%D1%81%D0%BA%D1%83%D1%81%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
[3]: https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8_%D1%81%D1%82%D0%BE%D0%B9%D0%BA%D0%B8%D0%B9_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BB
[4]: http://habrahabr.ru/post/274253/#habracut

[>] Простая возможность приобрести опыт в IT
habra.15
habrabot(difrex,1) — All
2015-12-29 15:00:02


Анестезиолог [Кон Коливас][1] разработал [собственную версию планировщика задач для Linux ядра][2], потому что существующая реализация была адаптирована под серверные задачи, но неудовлетворительно справлялась с пользовательскими задачами. Алексей Кузнецов, который по воле случая [«превратился» в Linux хакера][3], сменил свою профессию с физика-теоретика на системного программиста. ИТ-журналист Пётр Семилетов помимо своей основной работы уже десять лет разрабатывает свой текстовый редактор [Tea][4] с открытым исходным кодом. Леся Новасельская, получившая специальность паталогоанатома, [участвует][5] в тестировании проекта c открытым исходным кодом. Подобных примеров множество. Всех этих людей объединяет одно — они реализовали свои интересы в проектах с открытым исходным кодом и участвовали в них и для удовольствия, и для получения опыта. Сложился некий миф о том, что открытый проект – это только для программистов, причем тех, у кого уже есть большой опыт в разработке. Но это не так. Открытый проект — это не только разработка исходного кода, но и тестирование, техническая поддержка, написание документации, маркетинг и т.д. А ещё — отличный шанс приобрести опыт и получить удовольствие от общения с такими же единомышленниками, как вы. Согласно [результатам голосования][6] основным препятствием для участия в открытом проекте является отсутствие понимания того, как присоединиться к проекту. Поэтому в статье мы разберёмся как и в качестве кого можно присоединиться к такому проекту. [Читать дальше →][7]

[1]: https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BB%D0%B8%D0%B2%D0%B0%D1%81,_%D0%9A%D0%BE%D0%BD
[2]: https://ru.wikipedia.org/wiki/Brain_Fuck_Scheduler
[3]: http://www.opennet.ru/opennews/art.shtml?num=38016
[4]: http://semiletov.org/tea/index.html
[5]: https://bugs.openvz.org/browse/OVZ-4181
[6]: http://opensource.com/life/15/8/poll-biggest-barrier-open-source
[7]: http://habrahabr.ru/post/274217/#habracut

[>] Бесплатный практический курс по Bash и другие хорошие новости
habra.15
habrabot(difrex,1) — All
2015-12-29 15:30:03


[![][1]][2] Привет, Хабр! Давно не писали про обновления в нашем образовательном проекте Хекслет, а тут как раз Новый год — самое время поделиться хорошими новостями. Мы сделали **бесплатным** популярный [курс «Bash: Основы командной строки»][3]! Это уникальный курс, потому что упражнения в нем (как и везде в Хекслете) выполняются в условиях, приближенных к боевым: вам доступен личный контейнер с root-доступом, в котором среди прочего запущена оболочка Bash. Курс затрагивает навигацию, работу с файловой системой, пейджеры, перенаправления и потоки, историю, псевдонимы и другие аспекты работы с Bash, которыми должен владеть любой уважающий себя программист. [Читать дальше →][4]

[1]: https://habrastorage.org/files/16f/133/06c/16f13306cf47426b998598e06a052ad5.png
[2]: https://ru.hexlet.io/courses/bash?utm_source=habr&utm_medium=blog&utm_campaign=new_year
[3]: https://ru.hexlet.io/courses/bash?utm_source=habr&utm_medium=blog&utm_campaign=new_year
[4]: http://habrahabr.ru/post/274257/#habracut

[>] [Из песочницы] Делаем джойстик из Windows Phone
habra.15
habrabot(difrex,1) — All
2015-12-29 15:30:03




#### Небольшая предыстория.

![image][1]Однажды вечером подошел ко мне сын и сказал, что хочет поиграть в Марио. Летом у бабушки на даче он любил «зарубиться» в дождливую погоду. А за окном как раз дождь. Не долго думая я скачал ему первый попавшийся эмулятор 8-ми битной приставки и игру. Однако, оказалось, что удовольствие от игры на клавиатуре совсем не то. Идти покупать джойстик было уже поздно. И тогда я подумал, что можно обойтись и без него. Под рукой у нас была старенькая Nokia Lumia, ее размеры и форма примерно совпадали с нашими нуждами. Было решено написать джойстик. Сын отправился рисовать дизайн на листе бумаги в клеточку, а папа пошел варить кофе и думать, как бы осуществить эту идею с наименьшими временными затратами. Я решил пойти по пути наименьшего (с моей точки зрения) сопротивления. Эмулятору приставки в настройках надо указывать нажатые кнопки, значит наше приложение должно нажимать кнопки. Нажатие кнопок можно эмулировать при помощи старого доброго WINAPI. Конечной идеей стало клиент-серверное приложение. Клиент (телефон) при нажатии на кнопку посылает запрос на сервер, который, в свою очередь, в зависимости от того что пришло эмулирует нажатие или отпускание кнопки клавиатуры. Связь же осуществляется через сокеты. Вроде все просто. Начинаем делать. [Читать дальше →][2]

[1]: https://habrastorage.org/files/5aa/b62/b21/5aab62b21dcd49fba68fe163eeff8f79.png
[2]: http://habrahabr.ru/post/274271/#habracut

[>] Тонкие места в React.js
habra.15
habrabot(difrex,1) — All
2015-12-29 16:30:03


React — это, безусловно, прорывная технология, которая упрощает создание сложных интерфейсов, но, как у любой абстракции, у неё есть свои мелкие проблемки и особенности. Я в своей практике столкнулся с четырьмя не очень очевидными вещами. Багами это назвать сложно — это просто особенности работы библиотеки. О них сегодня и поговорим. [][1]



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

[1]: http://habrahabr.ru/company/acronis/blog/273995/
[2]: http://habrahabr.ru/post/273995/#habracut

[>] Фестиваль Данных в музее Москвы, как это было
habra.15
habrabot(difrex,1) — All
2015-12-29 16:30:03


![][1] Привет Хабр, Итак, мы провели Фестиваль Данных на выставке новых технологий [SMIT][2] в [Музее Москвы][3], о котором писали [ здесь][4]. Это первое мероприятие из серии, в которой мы собираем экспертов из разных областей бизнеса, науки и государственного управления и рассказываем про аналитику данных. Хранение и анализ данных, которые были прерогативой узкого круга компаний и людей теперь начинают затрагивать жизнь практически всех. По этой причине мы и начали данную серию мероприятий, где мы широкой аудитории рассказываем про данные и их аналитику. [Читать дальше →][5]

[1]: https://habrastorage.org/files/95d/e46/453/95de46453bac40e08b6c42b26baf590d.jpg
[2]: http://smit.space
[3]: http://mosmuseum.ru
[4]: http://habrahabr.ru/company/beeline/blog/273117/
[5]: http://habrahabr.ru/post/274205/#habracut

[>] Хакатон и зимняя научная школа по глубокому обучению и вопросно-ответным системам
habra.15
habrabot(difrex,1) — All
2015-12-29 16:30:03


Сегодня машины без труда “связывают два слова” ([1][1], [2][2]), но пока не умеют гарантированно вести диалог на общие темы. Однако, уже завтра вы будете просить их правильно составить резюме и выбрать для ваших детей лучшую секцию по шахматам недалеко от дома. Хотите разобраться подробней, как в этом направлении работают ученые из Facebook, Google и др? Приходите их послушать. ![][3] [Читать дальше →][4]

[1]: http://arxiv.org/abs/1506.05869
[2]: http://neurobot.deephack.me/chatbot/dialog2.php
[3]: https://habrastorage.org/files/6cb/09c/831/6cb09c831c1c4e19b8dd1e36c30e4fcd.png
[4]: http://habrahabr.ru/post/274233/#habracut

[>] Сборка и настройка FreeRADIUS 3 с поддержкой SQLITE
habra.15
habrabot(difrex,1) — All
2015-12-29 16:30:03


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

## **ДАНО:**

маломощная железка с arm процессором и собранный под нее и установленный Debian 7 wheezy.

## **ЗАДАЧА:**

поставить FreeRADIUS 3.0.X, настроить его на работу с БД SQLITE. Т.е., учетные записи пользователей (которых нужно аутентифицировать) RADIUS должен брать из БД SQLITE. [Читать дальше →][1]

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

[>] [Из песочницы] Авторизация в Ubuntu через Microsoft Azure AD / Office 365
habra.15
habrabot(difrex,1) — All
2015-12-29 16:30:03


Все пользователи Microsoft Office 365 (для бизнеса) проходят авторизацию именно через Microsoft Azure AD. Так, при добавлении каждого нового пользователя (емейла) в Office 365, для него автоматически создается соответствующая запись в Microsoft Azure AD. Здесь я расскажу как можно использовать Microsoft Azure AD для авторизации пользователей Ununtu 14.04. То есть, как в Ubuntu сделать SSO c Microsoft Azure AD / Office 365. [Читать дальше →][1]

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

[>] [Перевод] От ИИ и наук о данных до криптографии: исследователи Microsoft дают 16 предсказаний на 2016 год
habra.15
habrabot(difrex,1) — All
2015-12-29 16:30:03


В прошлом месяце Microsoft выпустила книгу “[Future Visions][1]” – антологию небольших историй, написанных некоторыми современными научными фантастами, основываясь на общении с исследователями Microsoft и посещения их лабораторий. Электронная версия книги доступна бесплатно [на Amazon][2] и других сайтах. ![][3] Сегодня мы рады предложить вам антологию другого рода. Это коллекция предсказаний от 16 лидеров и мыслителей внутри нашей технологической и исследовательской организации. Про прошествии года с тех пор, как мы вошли в эпоху, названную Питером Ли ([Peter Lee][4]), корпоративным вице-президентом Microsoft Research NExT, новым Золотым веком технологических преимуществ, мы решили, что было бы полезным получить понимание не только того, что нас ждет в следующем году, но также и на горизонте 10 лет. В [Microsoft Research][5] работает более 1000 ученых и инженеров, занимающихся самыми [разными дисциплинами][6] в сотрудничестве со [множеством лабораторий по всему миру][7], поэтому этот список не может быть исчерпывающим, но мы надеемся, что вы сможете почерпнуть из него важные сведения. 2016 год – это своеобразная отчетная точка для исследовательского подразделения Microsoft. MSR будет праздновать 25-летний юбилей с момента основания Нейтаном Мирвольдом ([Nathan Myhrvold][8]) в 1991 году, который в своем 21-страничном документе, отправленном Биллу Гейтсу, доказывал, что Microsoft «необходимо инвестировать в будущее, больше занимаясь исследованиями и созданием технологий». Эти инвестиции принесли значительные результаты, причем как для Microsoft, так и для индустрии и общества. Пожалуй, именно сейчас, когда [Рафаэль Райф][9] (Rafael Reif), президент MIT, [говорит][10], что «мы оставляем слишком много инновационного кетчупа в бутылке», инвестиции компании в исследования важны как никогда раньше. [Читать дальше →][11]

[1]: http://news.microsoft.com/futurevisions/
[2]: http://www.amazon.com/Future-Visions-Original-Inspired-Microsoft-ebook/dp/B0182NCTWS/
[3]: https://habrastorage.org/getpro/habr/post_images/bdf/24d/ba3/bdf24dba3eac0c21b0060c9fe532b821.jpg
[4]: http://research.microsoft.com/en-us/people/petelee/
[5]: http://research.microsoft.com/en-us/about/default.aspx
[6]: http://research.microsoft.com/en-us/research-areas/default.aspx
[7]: http://research.microsoft.com/en-us/labs/default.aspx
[8]: https://en.wikipedia.org/wiki/Nathan_Myhrvold
[9]: http://president.mit.edu/biography
[10]: https://www.washingtonpost.com/opinions/a-better-way-to-deliver-innovation-to-the-world/2015/05/22/35023680-fe28-11e4-8b6c-0dcce21e223d_story.html
[11]: http://habrahabr.ru/post/274269/#habracut

[>] [Из песочницы] Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 29. «One Plat and Six Classics»
habra.15
habrabot(difrex,1) — All
2015-12-29 16:30:03


![][1]Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «[одного своего знакомого][2]». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а так же некоторые методы работы спецслужб по поимке хакеров и кардеров. Квест по переводу книги начался летом в ИТшном лагере для старшеклассников — «[Шкворень: школьники переводят книгу про хакеров][3]», затем к переводу подключились и Хабраюзеры и даже немного редакция.

#### Глава 29. One Plat and Six Classics

_(за перевод спасибо Вячеславу Слинкину )_ Кейт Муларски не осознавал что делает, когда взял на себя DarkMarket. Его дни стали настоящим безумием. Каждый день начинался в 8 утра с проверки icq сообщений свалившихся за ночь на предмет какой-либо работы для MasterSplinter-а. Он отправлялся на DarkMarket — сервис функционировал. Наткнуться здесь на Iceman-а было всегда крайне тяжело. Затем настала очередь нудной работы по резервному копированию БД. Iceman дважды сбрасывал таблицы в тщетных попытках вывести Mularski на чистую воду, так что теперь возня с бэкапами была частью утренней рутины. Нельзя было забывать о расследовании: пока база продолжала копироваться, простой скрипт, автором которого был программист NCFTA, сканировал каждую строку на предмет 16-ти значных чисел, начинающиеся с цифр 3 по 6. Украденные кредитки автоматически сортировались по BIN и отправлялись соответствующим банкам для немедленного аннулирования. Затем Mularski бегло просмотрел приватные месседжи, отобрал наиболее интересные чаты и проверил их в ФБР-овской центральной базе данных электронного наблюдения под названием ELSUR. Следующие нескольк часов были потрачены на написание отчёта. Под ником Master Splinter, Mularski начал обналичивать средства на скромные суммы. Некоторые банки согласились поспособствовать и поделились имеющимися дампами с фейковыми именами, но реальными транзакциями, обработка которых финансировалась уже из бюджета ФБР.Он передал им список с номерами PIN кардеров по всей стране, финансовые учреждения в свою очередь ежедневно докладывали о том где и когда осуществлялся вывод средств. Mularski передавал информацию местным агентам в зависимости от города, где совершались операции, что приводило к регулярному написанию детальных заметок. В три часа, когда кардеры начинали появляться в сети, “вторая” жизнь Mularski превращалась в пекло. [Читать дальше →][4]

[1]: https://habrastorage.org/files/353/64b/a0e/35364ba0e409475fbd05cd11e8132734.jpg
[2]: https://en.wikipedia.org/wiki/Max_Butler
[3]: http://habrahabr.ru/post/261491/
[4]: http://habrahabr.ru/post/274173/#habracut

[>] Security Week 52-53: бэкдор у Juniper с толстым слоем криптографии, винтажная Java, гопо-bug bounty
habra.15
habrabot(difrex,1) — All
2015-12-29 16:30:03


![][1]В тот момент, когда елка уже стоит, но салаты еще не нарезаны, самое время в последний раз в этом году поговорить о новостях безопасности. На прошлой неделе я [отчитался][2] о «нестандартных» лучших новостях года, и в общем-то за оставшееся время ничего особенного не произошло. Хотя нет, есть одна новость, которая достойна отдельного повествования. Обнаруженные 17 декабря два бэкдора в ПО для сетевых устройств Juniper могли бы пополнить длинный, но невыдающийся список багов, эксплойтов и некорректных конфигураций в маршрутизаторах и домашних роутерах. Но позднее выяснилось, что в этой истории есть масса нюансов, она затрагивает не только тему безопасного кодинга, но и шифрование, и даже появились намеки на участие спецслужб. В общем, интересное получилось окончание года. Помимо Juniper, еще две популярные новости больше уходят в тему околобезопасной политики. Традиционные правила: каждую неделю редакция новостного сайта [Threatpost][3] выбирает три наиболее значимых новости, к которым я добавляю расширенный и беспощадный комментарий. Все эпизоды сериала можно найти [по тегу][4]. Первый эпизод нового года выйдет на экраны страны 8 января! [Читать дальше →][5]

[1]: https://habrastorage.org/files/242/dbe/a3c/242dbea3cc8d4c17acc470d323defcbb.jpg
[2]: http://habrahabr.ru/company/kaspersky/blog/273919/
[3]: https://threatpost.ru/
[4]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[5]: http://habrahabr.ru/post/274211/#habracut

[>] Сканеры безопасности: автоматическая классификация уязвимостей
habra.15
habrabot(difrex,1) — All
2015-12-29 16:30:03


[![][1]][2] Растущее количество угроз вынуждает разработчиков средств анализа защищенности постоянно усовершенствовать свои решения. Сейчас на рынке ИБ представлен широкий выбор сканеров безопасности от различных производителей, которые разнятся по своей эффективности. Это делает невозможным выпуск новых версий сканеров без конкурентного анализа подобных продуктов. Компания [Positive Technologies][3] разработала собственную методологию конкурентного анализа для тестирования и сравнения сканеров по объективным критериям, таким как типы и количество найденных уязвимостей, полнота сканирования различных целей. Кроме того, была сформирована база данных конкурентного анализа (DBCA — Database of Competitive Analysis), в которой собраны уникальные уязвимости, найденные в процессе ручных проверок и автоматического сканирования синтетических целей, реальных сайтов, CMS, веб-приложений и прочих информационных систем сканерами безопасности (WebEngine – встроенный в [PT AF][4] и [PT AI][5], [Acunetix][6], [AppScan][7] и др.). DBCA используется для сравнения результатов сканирования новыми версиями сканеров Positive Technologies с результатами сторонних сканеров и отсеивания ложных срабатываний (false positive). Однако наполнение DBCA требует месяцев ручного труда высококвалифицированных инженеров-тестировщиков. Процессы настройки окружений и сканирования занимают много времени, порой недели. Еще дольше происходит процесс валидации найденных уязвимостей. Так, над заполнением текущей базы работали три инженера отдела QA в течение года. В связи с этим возникла необходимость ускорения и автоматизации работ. Решением стало использование [математического аппарата нейронных сетей][8] (НС) и нечетких измерительных шкал. Об этом мы подробно писали в предыдущей статье «[Сканеры безопасности: автоматическая валидация уязвимостей с помощью нечетких множеств и нейронных сетей][9]». Теоретические исследования вошли в основу практического эксперимента, поставленного инженерами Positive Technologies: Тимуром Гильмуллиным, Владимиром Софиным, Артемом Юшковским. Была решена формальная задача по преобразованию DBCA в базу знаний, путем использования НС (в качестве решающего правила) и нечетких измерительных шкал (для лингвистической оценки результатов классификации в понятной человеку форме). Практически DBCA была дополнена правилами и механизмами отсеивания ложных срабатываний, заранее отсортированных по степени уверенности в их наличии, оцененных на нечеткой измерительной шкале. Это позволило ускорить работу инженеров-тестировщиков по анализу результатов сканирования и отсеиванию ложных срабатываний. [Читать дальше →][10]

[1]: https://habrastorage.org/files/e48/eaa/e82/e48eaae8219e4535aea9e6d55bfd30ef.png
[2]: http://habrahabr.ru/company/pt/blog/274241/
[3]: http://www.ptsecurity.ru/
[4]: http://www.ptsecurity.ru/appsecurity/application-firewall/
[5]: http://www.ptsecurity.ru/appsecurity/application-inspector/
[6]: https://www.acunetix.com/
[7]: http://www-03.ibm.com/software/products/ru/appscan
[8]: http://math-n-algo.blogspot.ru/2013/04/blog-post.html
[9]: http://habrahabr.ru/company/pt/blog/246197/
[10]: http://habrahabr.ru/post/274241/#habracut

[>] [Из песочницы] Ограниченность преобразования Фурье или почему стоит доверять своему слуху
habra.15
habrabot(difrex,1) — All
2015-12-29 17:00:03


Последние несколько десятков лет задача распознавания аккордов музыкальной композиции ставилась довольно часто. Казалось бы, этот не столь оригинальный сервис был и остается довольно распространенным среди приложений, работающих со звуком (Ableton, Guitar Pro), однако универсального, срабатывающего всегда алгоритма не существует до сих пор. В этой статье я постараюсь раскрыть одну из множества причин неидеальной работы подобных сервисов на примере алгоритмов, использующих в своей основе преобразование Фурье. Большинство аудиоформатов хранит информацию в виде зависимости амплитуды от времени (например, .wav) или в виде коэффициентов частотного преобразования (.mp3, .aac, .ogg), однако современные сложные алгоритмы цифровой обработки сигналов работают с частотной составляющей звуков. Приходится иметь дело с двойным переходом, из амплитудной области в частотную, затем обратно. На данный момент осуществление такого переход без потерь в качестве является достаточно распространенной проблемой с множеством неоднозначных решений. [Читать дальше →][1]

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

[>] Третий новогодний коллцентр: сверхбыстрая разработка на ReactJS и Typescript
habra.15
habrabot(difrex,1) — All
2015-12-29 18:00:02


![][1]С наступающим, коллеги! У нас в voximplant есть традиция — перед каждым новым годом мы делаем [новогодний][2] [коллцентр][3], на котором обкатываем новые фичи нашей платформы. В этом году фичей случилось особенно много. Кроме видеозвонков и записи видео, мы начали активно использовать typescript и react. Современный «хипстерский» стек технологий неимоверно ускоряет разработу: от момента, как журнал maxim предложил нам сделать коллцентр с фотомоделями в роли снегурочек и до первого принятого видеозвонка прошло меньше двух дней. В этом году мы не стали делать анонс самого промо на Хабре, все-таки формат не тот, мы же хотим общаться про код и разработку, да? Поэтому под катом я поделюсь нашим опытом создания решения в сжатые сроки и расскажу, с какими сложностями мы столкнулись. [видеозапись чернокожей снегурочки под катом][4]

[1]: https://habrastorage.org/files/9e2/da2/37c/9e2da237c5484360afb3d5d54f97a912.jpeg
[2]: http://habrahabr.ru/company/Voximplant/blog/164247/
[3]: http://habrahabr.ru/company/Voximplant/blog/247345/
[4]: http://habrahabr.ru/post/274093/#habracut

[>] Dolphin Smalltalk 7 выходит под open source лицензией MIT
habra.15
habrabot(difrex,1) — All
2015-12-29 20:00:02


![Cчетчик со страницы Getting Started на момент публикации статьи][1] __ С минуты на минуту случится то, чего ждали очень многие, и я в том числе. А именно: компания ObjectArts полностью открывает исходники и выпускает [язык и среду разработки Dolphin Smalltalk][3] под открытой [лицензией MIT][4]!

#### О проекте

![][5]DolphinSmalltalk — это среда разработки на собственном диалекте Smalltalk для Windows. Ключевыми особенностями является тесная интеграция с нативными виджетами и подсистемами операционной системы, включая COM и ActiveX, и приятный глазу графический дизайн. Долгое время Dolphin Smalltalk был доступен в двух вариантах: условно-бесплатная ограниченная версия (community edition) и платный пакет для профессиональной разработки. Последний давал доступ ко всем функциям, включая продвинутые редакторы и публикацию приложений в standalone режиме, однако стоил около четырехсот долларов, что, по понятной причине, устраивало далеко не всех. Похоже, что компания таки одумалась (или терять стало нечего) и решила выпустить ПО на волю. Под катом краткое описание среды разработки и размышления на тему open source будущего Dolphin Smalltalk. [Читать дальше →][6]

[1]: https://habrastorage.org/files/68c/f8d/a8b/68cf8da8b6ec4ef4ad35318498d13db7.png
[2]: http://object-arts.com/gettingstarted.html
[3]: http://object-arts.com/dolphin7.html
[4]: https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT
[5]: https://habrastorage.org/files/51f/a3d/8cf/51fa3d8cfb7d4c7abc1a6cdb919524a1.jpg
[6]: http://habrahabr.ru/post/274289/#habracut

[>] [Перевод] Социология алгоритмов: Как связаны финансовые рынки и высокочастотная торговля (Часть 1)
habra.15
habrabot(difrex,1) — All
2015-12-29 20:00:02


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

[1]: https://habrastorage.org/files/c21/14a/94c/c2114a94c81b40cbaf9fe4a523a7febd.jpg
[2]: http://habrahabr.ru/company/itinvest/blog/274247/
[3]: http://www.fixnetix.com/perch/resources/algorithms25.pdf
[4]: http://habrahabr.ru/post/274247/#habracut

[>] [Перевод] Rayon: параллелизм данных в Rust
habra.15
habrabot(difrex,1) — All
2015-12-29 21:30:03


Последние пару недель я работал над обновление [Rayon][1] — моей экспериментальной библиотеки для **параллелизма данных** в Rust. Я вполне доволен тем, как идёт разработка, так что я решил объяснить к чему я пришёл в блог посте. **Цель Rayon — сделать добавление параллелизма в последовательный код простым,** так, чтобы любой цикл `for` или итератор можно было бы заставить работать в несколько потоков. Например если у вас есть такая цепочка итераторов:

let total_price = stores.iter()
.map(|store| store.compute_price(&list))
.sum()


то вы можете сделать её работу параллельной просто поменяв обычный _«последовательный итератор»_ на _«параллельный итератор»_ из Rayon:

let total_price = stores.par_iter()
.map(|store| store.compute_price(&list))
.sum()


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

[1]: https://github.com/nikomatsakis/rayon/
[2]: http://habrahabr.ru/post/274299/#habracut

[>] Process priority, или попытка еще немного оптимизировать сервер
habra.15
habrabot(difrex,1) — All
2015-12-29 22:30:03






В случае когда проект молодой и перспективный, но бюджет сильно ограничен — приходится выжимать максимум возможного с имеющихся ресурсов. Хорошо если в бюджете заложены деньги под апгрейд оборудования (в мифическое хорошее время), но сейчас нужно получить максимум производительности из имеющихся ресурсов. На просторах интернета есть много статей на тему как это реализовать — отказ от [LAMP][1] в пользу nginx+php-fpm или [uWSGI][2] (по надобности), тонкой их настройки (не забываем кэшировать статику), установки [PHP акселератора][3], тюнинга [СУБД][4] (если используется), и другие полезные вещи. Но даже при установке и грамотного выполнения всех пунктов можно еще немного оптимизировать работу сервисов. [Подробности][5]

[1]: https://ru.wikipedia.org/wiki/LAMP
[2]: https://uwsgi-docs.readthedocs.org/en/latest/
[3]: https://ru.wikipedia.org/wiki/%D0%90%D0%BA%D1%81%D0%B5%D0%BB%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_PHP
[4]: https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B1%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
[5]: http://habrahabr.ru/post/274297/#habracut

[>] [recovery mode] Почему я перепроверяю записанные данные, или История одного расследования
habra.15
habrabot(difrex,1) — All
2015-12-29 23:30:02


Недавняя хабрастатья о [различиях в побайтово идентичных файлах][1] вызвала из глубин памяти (и почтового ящика) небольшой кусочек моей переписки с одним из инженеров, отвечавших в то время за линию дисков MPG в компании Fujitsu. Для удобства англонеговорящих читателей, привожу перевод с английского под катом. [Читать дальше →][2]

[1]: http://habrahabr.ru/company/infopulse/blog/274183
[2]: http://habrahabr.ru/post/274235/#habracut

[>] Уникальная Сетунь на основе троичного кода
habra.15
habrabot(difrex,1) — All
2015-12-30 12:30:02


Уже в 1956 году появилась потребность в создании практичного образца цифровой вычислительной машины, которая бы смогла использоваться в вузах, лабораториях. Для таких целей требовалась простая в освоении, надежная, недорогая, но в то же время эффективная малая ЭВМ, рассчитанная на массовое использование. ![][1] Требования, предьявленные к такой машине: скорость работы должна была быть равной нескольким сотням операций в секунду, «приветствовалась» простота и удобство программирования, точность вычислений — 6-8 верных десятичных знаков, высоконадежность в эксплуатации и в техническом обслуживании, умеренные габариты, экономное потребление энергии, использование недорогих и «недефицитных» материалов и деталей. Такие требования для того времени являлись «противоречивыми», ведь создание машины более удобной для работы программистов повлекло бы за собой увеличение количества оборудования, что, в свою очередь, повлекло бы снижение надежности и повышение стоимости не только самой машины, но и ее эксплуатации. [читать дальше][2]

[1]: https://habrastorage.org/files/a00/9ea/5ca/a009ea5ca665406b8ecaa226d4f94e2d.jpg
[2]: http://habrahabr.ru/post/273929/#habracut

[>] Ищем ошибки в MonoDevelop
habra.15
habrabot(difrex,1) — All
2015-12-30 13:00:02






В жизни анализатора PVS-Studio состоялось важное событие — в последней версии была добавлена возможность проверки кода, написанного на C#. Являясь одним из разработчиков данного анализатора, я просто не мог пройти мимо, не проверив какой-нибудь проект. Понятно, что мало кому будет интересно читать про проверку маленьких и неизвестных проектов, поэтому нужно было выбрать что-то известное, и выбор пал на MonoDevelop. [Читать дальше →][1]

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

[>] Компания Adobe выпустила экстренный патч для исправления критических уязвимостей Flash Player
habra.15
habrabot(difrex,1) — All
2015-12-30 15:00:03


[![][1]][2] В понедельник 28 декабря компания Adobe [выпустила][3] экстренное обновление безопасности, закрывающее 19 уязвимостей в продукте Flash Player. Обнаруженные ошибки безопасности могут быть использованы злоумышленниками для исполнения вредоносного кода на компьютере жертвы, получая над ним полный контроль. В зоне риска находятся пользователи Flash Player для всех существующих ОС. [Читать дальше →][4]

[1]: https://habrastorage.org/files/a5d/4b0/fcf/a5d4b0fcf3404eb0a97d0d95f02eefb0.jpg
[2]: http://habrahabr.ru/company/pt/blog/274293/
[3]: https://helpx.adobe.com/security/products/flash-player/apsb16-01.html
[4]: http://habrahabr.ru/post/274293/#habracut

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