RSS
Pages: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ... 41
[>] Бюджетное SAN-хранилище на LSI Syncro, часть 1
habra.14
habrabot(difrex,1) — All
2015-03-16 12:30:02


![][1] Итак, продолжу свои [редкие][2] [статьи][3] на тему «как не платить HP/EMC/IBM многие кило-(или даже мега-) доллары и собрать своё хранилище не хуже». Прошлый цикл я до победного конца не довёл, но 90% мыслей всё же оформил в текст. Нашей сегодняшней целью будет отказоустойчивое «All-Flash» (то есть — только из SSD, без жестких дисков, хотя это и не принципиально) хранилище для нужд кластера vSphere, в несколько раз дешевле брендовых аналогов и с очень неплохой производительностью. Подключаться к нему мы будем по Fibre Channel, но никто не мешает сделать iSCSI, FCoE или даже, о ужас, Infiniband.

## Syncro

Как ясно из названия, основой всей этой богодельни станет достаточно уникальный на рынке продукт под названием **Syncro CS** от компании **LSI** (ныне Avago). Что же оно такое есть и чем примечательно? По сути, это комплект из двух обычных контроллеров LSI 9286-8e (либо 9271-8i, если нужны внутренние порты) и двух суперконденсаторов для сохранения кеш-памяти на флешку контроллера в случае потери питания. Стоимость комплекта при этом в несколько раз выше цены аналогичного комплекта без HA-функционала. Но, если сравнивать с решениями на базе DRBD, то эта разница с лихвой компенсируется отсутствием необходимости иметь двойной набор накопителей. Но самое интересное кроется в прошивке. Благодаря ей, эти контроллеры, будучи подключенными к одной SAS-сети (например, дисковой корзине с экспандерами) устанавливают через неё связь друг с другом и работают в режиме отказоустойчивого кластера. Для нас это интересно вот чем:

* Возможность создавать RAID-массивы, доступные сразу на двух серверах
* Отказоустойчивость на уровне контроллеров: при смерти одного из них (или целиком сервера) второй продолжит работать и обслуживать I/O

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

[1]: //habrastorage.org/files/fb4/986/ac7/fb4986ac7f1d4dfe98c76576c3f28264.jpg
[2]: http://habrahabr.ru/post/209460/
[3]: http://habrahabr.ru/post/209666/
[4]: http://habrahabr.ru/post/252403/#habracut

[>] [Из песочницы] Брутфорс паролей инженерного меню радиостанции
habra.14
habrabot(difrex,1) — All
2015-03-16 12:30:02


![image][1] Что такое инженерное меню и зачем оно нужно? Позволю себе процитировать из [wiki][2]:

> **Недокументи́рованные возмо́жности**
>
> (англ. undocumented features), НДВ — возможности технических устройств и/или программного обеспечения, не отраженные в документации. Чаще всего недокументированные возможности сознательно закладываются разработчиками в целях тестирования, дальнейшего расширения функциональности. Недокументированные возможности обнаруживаются, обычно, в процессе
>
> [обратной разработки][3]
>
> , но могут быть обнаружены и случайно.

Далее в статье, описание моей попытки подобрать коды к инженерному меню радиостанции. [Читать дальше →][4]

[1]: http://habrastorage.org/files/fbd/52d/4ec/fbd52d4ec6aa47d3a47d0da37cee0967.jpg
[2]: https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8
[3]: https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%B0%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0
[4]: http://habrahabr.ru/post/253153/#habracut

[>] Новость как для охотников за багами, так и для всего IT сообщества в целом
habra.14
habrabot(difrex,1) — All
2015-03-16 13:30:04


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

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

[>] [Из песочницы] История участия в конкурсе «Летающие роботы». Часть 1
habra.14
habrabot(difrex,1) — All
2015-03-16 14:30:03




#### **Предисловие**

В 2013 году с целью популяризации робототехники в России и создания среды программистов и инженеров, ориентированных на данную тематику компания КРОК (г.Москва) организовала конкурс «Летающие роботы». Наша команда «iKar» (3 человека из Барнаула и 1 из Москвы) участвовала в 2013 году (конкурс «Улететь и вернуться») и 2014 году («Догнать и перегнать Крок») не победила, но добилась неплохих результатов.

#### **1\. С чего все началось или условия конкурса**

Будучи по профессии программистом 1С, нередко приходится пользоваться форумом forum.mista.ru. Один из моих друзей-коллег первым заметил объявление на тему «Кому лимон» и предложил участвовать. Условия конкурса выглядели заманчиво: необходимо было построить или купить летающего робота и научить его перемещаться/ ориентироваться в помещении-полигоне, автоматически взлетать и садиться и распознавать посадочные маркеры. Срок на всю работу 1 год, а приз — 1 миллион рублей. ![][1] Имелся опыт построения вертолетов и квадрокоптеров, как для хобби, так и для профессионального применения в аэрофотосъемке. Было много вопросов по поводу различных настроек, ПИД коэффициентов, кода и алгоритмов полетных контроллеров. Используя мотивацию конкурса, можно было глубоко во всем разобраться. С детства была мечта заниматься робототехникой, участие в конкурсе позволило сделать первые шаги в данном направлении. Вера в собственные силы, «правое» дело и «вкусный» приз, сделали свое дело, весь семейный бюджет плюс доступные кредитные средства, были направлены на постройку «бюджетного» робота-беспилотника и поездку в Москву на конкурс. [Читать дальше →][2]

[1]: //habrastorage.org/files/495/541/3ce/4955413ceaea4cf99f1edad0f35f3c5e.jpg
[2]: http://habrahabr.ru/post/253159/#habracut

[>] Курс “Комбинаторика слов и ее приложения”
habra.14
habrabot(difrex,1) — All
2015-03-16 15:00:02


Каждый университет сталкивается с тем, что на некоторые темы в городе невозможно найти преподавателя, который бы являлся в этой теме специалистом. Один из вариантов решить эту проблему состоит в том, чтобы поручить подготовить курс на эту тему какому-нибудь из имеющихся преподавателей, который не является специалистом в этой области. Мы в Акадеическом университете стараемся пойти другим путем — пригласить специалиста для чтения курса. В прошлом году мы поучаствовали в [конкурсе][1] фонда Династия “приглашенный профессор”. Мы подали две заявки и обе выиграли, а также два наших преподавателя были приглашены в Уральский и Казанский федеральные университеты. В сентябре 2014 года [Александр Охотин][2] из университета Турку прочитал курс [Формальные грамматики][3]. А 18 марта начнет читать [курс][4] “Комбинаторика слов и ее приложения” профессор Уральского федерального университета [Арсений Михайлович Шур][5]. Мы приняли решение сделать этот курс полностью открытым для всех и провести его в рамках Computer Science клуба, нашего постоянного партнера. Арсений Михайлович — активный исследователь в области комбинаторики слов, поэтому курс обещает быть очень интересным. Первое занятие состоится в среду 18 марта в 18-30 в Мраморном зале ПОМИ РАН (Санкт-Петербург, наб. реки Фонтанки д. 27), вход свободный, регистрация не требуется. Подробное описание курса и расписание: [тут][6]. **Краткое описание курса** [Читать дальше →][7]

[1]: http://www.dynastyfdn.com/grants/visiting_professor
[2]: http://users.utu.fi/aleokh/
[3]: http://mit.spbau.ru/courses/formalgrammars
[4]: http://compsciclub.ru/course/wordscombinatorics
[5]: http://kadm.imkn.urfu.ru/pages.php?id=shur
[6]: http://compsciclub.ru/course/wordscombinatorics
[7]: http://habrahabr.ru/post/253177/#habracut

[>] Новый алгоритм синхронизации Яндекс.Диска: как не подавиться 900 000 файлами
habra.14
habrabot(difrex,1) — All
2015-03-16 16:00:04


Яндекс.Диск — один из немногих сервисов Яндекса, частью которого является программное обеспечение для десктопа. И одна из самых важных его составляющих — алгоритм синхронизации локальных файлов с их копией в облаке. Недавно нам пришлось его полностью поменять. Если старая версия с трудом переваривала даже несколько десятков тысяч файлов и к тому же не достаточно быстро реагировала на некоторые «сложные» действия пользователя, то новая, используя те же ресурсы, справляется с сотнями тысяч файлов. В этом посте я расскажу, почему так получилось: чего мы не смогли предвидеть, когда придумывали первую версию ПО Яндекс.Диска, и как создавали новую. [![][1]][2] Прежде всего, о самой задаче синхронизации. Технически говоря, она состоит в том, чтобы в папке Яндекс.Диска на компьютере пользователя и в облаке был один и тот же набор файлов. То есть такие действия пользователя, как переименование, удаление, копирование, добавление и изменение файлов, должны синхронизироваться с облаком автоматически. [Читать дальше →][3]

[1]: //habrastorage.org/files/452/bdd/9aa/452bdd9aabcc4598a92dcdade1b56bb5.jpg
[2]: http://habrahabr.ru/company/yandex/blog/253171/
[3]: http://habrahabr.ru/post/253171/#habracut

[>] [recovery mode] CSS Sans — шрифт, написанный на CSS
habra.14
habrabot(difrex,1) — All
2015-03-16 17:00:03


Привет, %habrauser%! Уверен, ты уже видел CSS анимацию, часы, блоки с уголком и прочее-прочее-прочее. Однако, видел ли ты когда-нибудь шрифт, который написан только на CSS? [Читать дальше →][1]

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

[>] Новый алгоритм синхронизации Яндекс.Диска: как не подавиться 900 000 файлов
habra.14
habrabot(difrex,1) — All
2015-03-16 17:30:03


Яндекс.Диск — один из немногих сервисов Яндекса, частью которого является программное обеспечение для десктопа. И одна из самых важных его составляющих — алгоритм синхронизации локальных файлов с их копией в облаке. Недавно нам пришлось его полностью поменять. Если старая версия с трудом переваривала даже несколько десятков тысяч файлов и к тому же не достаточно быстро реагировала на некоторые «сложные» действия пользователя, то новая, используя те же ресурсы, справляется с сотнями тысяч файлов. В этом посте я расскажу, почему так получилось: чего мы не смогли предвидеть, когда придумывали первую версию ПО Яндекс.Диска, и как создавали новую. [![][1]][2] Прежде всего, о самой задаче синхронизации. Технически говоря, она состоит в том, чтобы в папке Яндекс.Диска на компьютере пользователя и в облаке был один и тот же набор файлов. То есть такие действия пользователя, как переименование, удаление, копирование, добавление и изменение файлов, должны синхронизироваться с облаком автоматически. [Читать дальше →][3]

[1]: //habrastorage.org/files/452/bdd/9aa/452bdd9aabcc4598a92dcdade1b56bb5.jpg
[2]: http://habrahabr.ru/company/yandex/blog/253171/
[3]: http://habrahabr.ru/post/253171/#habracut

[>] [Перевод] Почему я не испытываю неприязни к Git: скрытая целостность
habra.14
habrabot(difrex,1) — All
2015-03-16 18:30:02


![][1] _Предлагаю вашему вниманию перевод небольшой [статьи][2] из блога Armin Ronacher — автора Flask, Jinja2 и много чего еще. На этот раз он поделится своими мыслями о Git — распределенной системе управления версиями файлов. _ Git для меня интересная тема. Впервые я попробовал использовать Git, когда там не было вообще никакой системы команд, а [Cogito][3] считался многообещающим проектом. Не могу сказать, что мне это понравилось, в то время я в основном пользовался SVN, и он полностью решал все мои задачи. Вскоре я познакомился с Mercurial, и это была любовь с первого взгляда, положившая начало долгому и позитивному опыту использования этой VCS (version control system), которая получила в моем лице преданного сторонника. Только в 2008 году я перешел на Git, и мне потребовалось несколько попыток, прежде чем я понял, что пора переносить на него мои репозитории. [Читать дальше →][4]

[1]: //habrastorage.org/files/1ee/135/c9f/1ee135c9fb6c4c78b85da94cf87cc8d2.jpg
[2]: http://lucumr.pocoo.org/2015/2/17/ui-and-hidden-consistency/
[3]: http://git.or.cz/cogito/
[4]: http://habrahabr.ru/post/253211/#habracut

[>] [Из песочницы] Устройство и работа портов ввода-вывода микроконтроллеров AVR. Часть 1
habra.14
habrabot(difrex,1) — All
2015-03-16 19:00:03




#### Робота портов ввода/вывода

Изучив данный материал, в котором все очень детально и подробно описано с большим количеством примеров, вы сможете легко овладеть и программировать порты ввода/вывода микроконтроллеров AVR.

* Робота портов ввода/вывода
* Подключение светодиода к линии порта ввода/вывода
* Подключение транзистора к линии порта ввода/вывода
* Подключение кнопки к линии порта ввода/вывода

_Пример будем расматривать на микроконтроллере **ATMega8**. Программу писать будем в **Atmel Studio 6.0**. Емулировать схему будем в **Proteus 7 Professional**._ С внешним миром микроконтроллер общается через порты ввода вывода. Схема порта ввода вывода указана в даташите: ![image][1] Но новичку разобраться довольно со схемой довольно сложно. Поэтому схему упростим: ![image][2] **Pxn** – имя ножки порта микроконтроллера, где x буква порта (A, B, C или D), n номер разряда порта (7… 0). **Cpin** — паразитная емкость порта. **VCC** — напряжение питания. **Rpu** — отключаемый нагрузочный верхний резистор (pull-up). **PORTxn** — бит n регистра PORTx. **PINxn** — бит n регистра PINx. **DDRxn** — бит n регистра DDRx. [Читать дальше →][3]

[1]: http://habrastorage.org/files/6cd/82c/f36/6cd82cf3698b4c8da82c2551cade1f01.png
[2]: http://habrastorage.org/files/cbb/0d2/38e/cbb0d238e34243aa978df2a5000863fe.png
[3]: http://habrahabr.ru/post/253213/#habracut

[>] Ваш персональный курс по Big Data
habra.14
habrabot(difrex,1) — All
2015-03-16 20:00:03


![][1] Привет, хабр! После публикации [нескольких статей][2] по **Big Data** и **Машинному обучению**, ко мне пришло немало писем от читателей с вопросами. За последние несколько месяцев мне удалось помочь многим людям сделать быстрый старт, некоторые из них — уже решают прикладные задачи и делают успехи. А кто-то уже устроился на работу и занимается решением реальных задач. Моя цель — чтобы вокруг меня были умные люди, с которыми в том числе и я смогу работать в дальнейшем. Поэтому я хочу помочь тем, кто действительно хочет научиться решать настоящие задачи на практике. В сети присутствует большое количество мануалов о том, как стать ученым по данным (**Data Scientist**). В свое время я прошел все, что там есть. **Однако, на практике порой нужны совсем другие знания.** О том, какие именно навыки нужны — я расскажу в сегодняшней статье и постараюсь ответить на все Ваши вопросы. [Читать дальше →][3]

[1]: //habrastorage.org/files/5d5/583/b08/5d5583b088a14c7eb219fbe1e2072d4a.png
[2]: http://habrahabr.ru/users/akrot/topics/
[3]: http://habrahabr.ru/post/252743/#habracut

[>] [Из песочницы] Выгрузка условий конкурсов госзакупок с ООС zakupki.gov.ru
habra.14
habrabot(difrex,1) — All
2015-03-16 22:00:04


Примечания:

* **ООС** — _общероссийский официальный сайт ([Государственные закупки][1])._
* Требуемые знания для понимания статьи: _VBA (MS Excel)._



#### **Введение**

Цитата:

> «Официальный сайт Российской Федерации в сети «Интернет» для размещения информации о размещении заказов на поставки товаров, выполнение работ, оказание услуг … предназначен для обеспечения свободного и безвозмездного доступа к полной и достоверной информации о контрактной системе в сфере закупок и закупках товаров, работ, услуг, отдельными видами юридических лиц, а также для формирования, обработки и хранения такой информации.»

Для многих коммерческих и иных компаний система «госзакупок» является основным способом привлечения в хозяйственную деятельность государственных (бюджетных) средств. Информация о закупках товаров, услуг, исследовательских работ, осуществляемых компаниями с государственным участием (и другими отдельными видами компаний) в обязательном порядке (согласно федеральным законам №№ 223, 94, 44) размещается на сайте госзакупок. Коммерческие компании также зачастую публикуют свои тендеры именно на официальном сайте госзакупок. Ссылки на упоминаемые законы, информация на сайте «КонсультантПлюс»:

* [Федеральный закон от 21.07.2005 N 94-ФЗ (ред. от 02.07.2013) "О размещении заказов на поставки товаров, выполнение работ, оказание услуг для государственных и муниципальных нужд"][2]
* [Федеральный закон от 18.07.2011 N 223-ФЗ (ред. от 12.03.2014, с изм. от 29.12.2014) "О закупках товаров, работ, услуг отдельными видами юридических лиц" (с изм. и доп., вступ. в силу с 01.01.2015)][3]
* [Федеральный закон от 05.04.2013 N 44-ФЗ (ред. от 08.03.2015) "О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд"][4]

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

[1]: http://zakupki.gov.ru/
[2]: http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=148890
[3]: http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=166488
[4]: http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=176365
[5]: http://habrahabr.ru/post/253201/#habracut

[>] Boost C++ libraries на Android; и не только
habra.14
habrabot(difrex,1) — All
2015-03-16 23:30:03


Итак, мы запустили регулярное регрессионное тестирование библиотек Boost на Android. С результатами все желающие могут ознакомиться на [официальной страничке Boost (develop branch)][1] или на нашем сайте (Android-only): [master][2], [develop][3]. На данный момент есть немало регрессий, часть из которых вызвана багами в Boost, а часть — багами в [CrystaX NDK][4]. Мы, естественно, на этом не останавливаемся и продолжаем работать, так что количество фэйлов будет уменьшаться со временем. Тем не менее, это довольно важный шаг, т.к. процесс тестирования теперь полностью налажен и работает в автоматическом режиме, так что теперь сделать Boost полноценно поддерживаемым на Android — относительно несложная техническая задача и всего лишь вопрос времени. Призываю всех заинтересованных обращать внимание на регрессии и, если причиной окажется баг в CrystaX NDK — [заводить тикет][5]. Само собой, мы этим занимаемся тоже, но эффективность, очевидно, будет выше при участии большего количества людей. [Читать дальше →][6]

[1]: http://www.boost.org/development/tests/develop/developer/summary.html
[2]: https://boost.crystax.net/master/developer/summary.html
[3]: https://boost.crystax.net/develop/developer/summary.html
[4]: https://www.crystax.net/android/ndk
[5]: https://tracker.crystax.net/projects/ndk/issues
[6]: http://habrahabr.ru/post/253233/#habracut

[>] [Из песочницы] Разворачиваем рабочий образ linux с минимальным интерактивом
habra.14
habrabot(difrex,1) — All
2015-03-17 01:00:03


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

* Linux — based систему на машинах-клиентах;
* Тонкие/толстые однотипные клиенты на различном железе;
* Сетевое хранилище клиентских данных;
* Предустановленный регламентированный софт;
* Openvpn/rdp к серверам приложений.
* Плюшевый (мягкий и пушистый) мониторинг linux клиентов типа Nagios.

Речь пойдет о том, как с минимальными усилиями со стороны пользователя или штатного «эникейщика» установить на компьютер пользователя готовую систему с набором софта, настроенными сетевыми службами, предопределенными конфигами и т.д. Статья ориентирована в первую очередь на энтузиастов и начинающих линуксоидов, но приемы и скрипты вполне могут использоваться в боевом развёртывании группы из десятков машин ежедневно. [Читать дальше →][1]

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

[>] [Из песочницы] Об установке Crashplan в FreeNAS (и решение проблемы с кириллицей)
habra.14
habrabot(difrex,1) — All
2015-03-17 06:30:07




#### **Аннотация**

Я всегда рассматривал Хабр как кладезь ценной информации в решении многих проблем. Поэтому, столкнувшись с проблемой и найдя адекватное решение, решил поделиться _своим опытом_. Я не пытался написать мануал, а скорее руководство к действию, но со своей точки зрения и исходя из своих потребностей. Надеюсь, кому-то пригодится.





[Всем, кому интересно читать далее.][1]

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

[>] Pebble: приложения в фоне на примере «всплывающих» уведомлений
habra.14
habrabot(difrex,1) — All
2015-03-17 11:00:03


![][1] Для большого количества приложений разработчики отдельно отмечают в особенностях возможность отображения на экране состояние устройства, а точнее — состояние аккумулятора и статус bluetooth-соединения со смартфоном. Но не всегда значки батарейки и bluetooth органично вписываются в оформление приложения, да и имеет ли смысл занимать пространство информацией, которая требуется пару раз в сутки? Ниже, как смотреть информацию о заряде и уведомление о потере соединения без дополнительных усилий и не прекращая работы (условно) любимого ватчфейса. А заодно о том, как работают в Pebble фоновые приложения. [Читать дальше →][2]

[1]: //habrastorage.org/files/b41/26f/f68/b4126ff68b79482cafcc453cd65b62c6.png
[2]: http://habrahabr.ru/post/253221/#habracut

[>] [Из песочницы] Установка и запуск Android-приложений на Linux
habra.14
habrabot(difrex,1) — All
2015-03-17 11:00:03


![image][1] Как известно, многие Android-приложения можно нативно запускать на Chrome OS благодаря библиотеке [Chrome App Runtime][2]. С помощью расширений [chromeos-apk][3] и [ARChon][4] запуск Android APK стал возможен и на других ОС. В этой публикации я расскажу, как установить произвольное Android-приложение на Ubuntu 14.04. [Читать дальше →][5]

[1]: http://habrastorage.org/files/8f1/8eb/ac9/8f18ebac9443465ab3df4d94da72cb60.png
[2]: https://developer.chrome.com/apps/app_runtime
[3]: https://github.com/vladikoff/chromeos-apk
[4]: https://github.com/vladikoff/chromeos-apk/blob/master/archon.md
[5]: http://habrahabr.ru/post/253238/#habracut

[>] Lock-free структуры данных. Concurrent maps: деревья
habra.14
habrabot(difrex,1) — All
2015-03-17 12:00:02


![][1] Это последняя, на сегодняшний день, статья из цикла про внутреннее устройство конкурентных ассоциативных контейнеров. В предыдущих статьях рассматривались hash map, был построен алгоритм lock-free ordered list и контейнеры на его основе. За бортом остался один важный тип структур данных — деревья. Пришло время немного рассказать и о них. Исследования, посвященные алгоритмам конкурентных деревьев, не требующих внешней синхронизации доступа к ним, начались довольно давно — в 70-х годах прошлого века, — и были инициированы развитием СУБД, поэтому касались в основном оптимизации страничных деревьев ([B-tree][2] и его модификации). Развитие lock-free подхода в начале 2000-х не прошло мимо алгоритмов деревьев, но лишь недавно, в 2010-х годах, появилось множество действительно интересных работ по конкурентным деревьям. Алгоритмы деревьев довольно сложны, поэтому исследователям потребовалось время — порядка 10 лет — на их lock-free/non-blocking адаптацию. В данной статье мы рассмотрим самый простой случай — обычное бинарное дерево, даже не самобалансирующееся. [Читать дальше →][3]

[1]: //habrastorage.org/files/f16/711/864/f16711864e6e4ea78e8cea08ceeb709d.png
[2]: https://ru.wikipedia.org/wiki/B-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE
[3]: http://habrahabr.ru/post/251267/#habracut

[>] PVS-Studio: 25 подозрительных фрагментов кода из CoreCLR
habra.14
habrabot(difrex,1) — All
2015-03-17 12:30:02






Корпорация Microsoft выложила в открытый доступ исходный код движка CoreCLR, который является ключевым элементом .NET Core. Эта новость, конечно же, не могла не привлечь наше внимание. Ведь чем больше аудитория у проекта, тем тревожнее будут выглядеть найденные подозрительные места. Несмотря на авторство Microsoft, как в любом крупном проекте, тут есть на что посмотреть и над чем задуматься.

## Введение

[CoreCLR][1] является средой исполнения .NET Core, выполняя такие функции как сборку мусора или компиляции в конечный машинный код. .Net Core — это модульная реализация .Net, которая может быть использована как база для огромного количества сценариев. Исходный код с недавнего времени доступен на GitHub и проверялся с помощью [PVS-Studio][2] 5.23. Как и я, желающие могут получить полный лог проверки с помощью Microsoft Visual Studio Community Edition, выход которой тоже был недавней [новостью][3] от Microsoft. [Читать дальше →][4]

[1]: https://github.com/dotnet/coreclr
[2]: http://www.viva64.com/ru/pvs-studio/
[3]: http://www.viva64.com/ru/n/0102/
[4]: http://habrahabr.ru/post/253280/#habracut

[>] Открытые курсы Android Study Jams теперь и в Москве
habra.14
habrabot(difrex,1) — All
2015-03-17 13:30:02


Мобильная индустрия растет с невероятной скоростью. Растет и количество заказов на разработку приложений и игр. На рынке остро не хватает молодых, талантливых и амбициозных мобильных разработчиков. В этом году у каждого из вас есть шанс стать одним из них, приняв участие в [Study Jams][1] — бесплатных курсах обучения разработке мобильных приложений на платформе Android, которые пройдут в Москве на базе коворкинг-центра «Свободное плавание» с 7 апреля по 14 мая. ![][2] [Читать дальше →][3]

[1]: http://developerstudyjams.com/
[2]: //habrastorage.org/files/99f/65d/0d3/99f65d0d31b849acb10ab5bac284be09.png
[3]: http://habrahabr.ru/post/253169/#habracut

[>] [Перевод] Вычислите окружность круга
habra.14
habrabot(difrex,1) — All
2015-03-17 15:00:02


![][1]«Пожалуйста, напишите на C++ функцию, которая получает диаметр круга как float и возвращает длину окружности как float». Звучит как задание на первой неделе курса по C++. Но это только на первый взгляд. Сложности возникают уже на первых этапах решения задачи. Предлагаю рассмотреть несколько подходов. Студент: Как вам такой вариант?

#include <math.h>
float CalcCircumference1(float d)
{
return d * M_PI;
}

Преподаватель: Да, этот код может нормально откомпилироваться. А может и нет. [Читать дальше →][2]

[1]: //habrastorage.org/files/1e5/4da/900/1e54da9004c3476ab55a4d4678efc617.png
[2]: http://habrahabr.ru/post/252871/#habracut

[>] Драйвер устройства и с чем его едят
habra.14
habrabot(difrex,1) — All
2015-03-17 15:30:03




## Что такое «драйвер»

![][1] Как уважаемый хабрапользователь наверняка знает, _«драйвер устройства»_ — это компьютерная программа управляющая строго определенным типом устройства, подключенным к или входящим в состав любого настольного или переносного компьютера. Основная задача любого драйвера – это предоставление софтового интерфейса для управления устройством, с помощью которого операционная система и другие компьютерные программы получают доступ к функциям данного устройства, «не зная» как конкретно оно используется и работает. Обычно драйвер общается с устройством через шину или коммуникационную подсистему, к которой подключено непосредственное устройство. Когда программа вызывает «рутину» (очередность операций) драйвера – он направляет команды на само устройство. Как только устройство выполнило рутину, данные посылаются обратно в драйвер и уже оттуда в ОС. [Читать дальше →][2]

[1]: //habrastorage.org/files/47e/944/9ab/47e9449ab10c4e6a84581bc7426d1285.png
[2]: http://habrahabr.ru/post/252927/#habracut

[>] [Перевод] Ричард Столлман: Почему нам нужны бесплатные цифровые схемы железа
habra.14
habrabot(difrex,1) — All
2015-03-17 15:30:03


Как далеко идеи бесплатного софта простираются в область железа? Существует ли моральная обязанность делать схемы железа свободными по той же причине, по которой программы должны быть свободными? Нужно ли для обеспечения нашей свободы отказываться от железа, сделанного по не-свободным планам? Свободный софт важен для свободы, а не из-за его цены. Пользователи свободны использовать и копировать софт, изменяя его или нет. Точнее это можно сформулировать четырьмя принципами свободы: — свобода запускать программу так, как хочется, и с любой целью — свобода изучать исходный код и изменять его по потребностям — свобода делать точные копии, раздавать и продавать их — свобода делать копии изменённых версий, раздавать и продавать их Применяя эти принципы к железу: свободное железо – такое, которое можно свободно использовать и копировать, распространяя за плату или бесплатно. Но так как систем копирования железа не существует (кроме ключей, ДНК и внешних форм пластиковых предметов), возможна ли концепция свободного железа? Большинство железа делается по планам и схемам. Схема первична. [Читать дальше →][1]

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

[>] Точки соприкосновения JavaScript и Reverse Engineering
habra.14
habrabot(difrex,1) — All
2015-03-17 17:30:02


![][1] Если вы посмотрите описания вакансий на позицию Reverse Engineer, то вряд ли встретите там требование знания JavaScript. А если и встретите, то только в контексте его деобфускации на разных вредоносных страницах, обычно используемых эксплойт-паками. И возможно ли вообще сосуществование JS (который некоторые даже называют веб-ассемблером) и мира low level с Assembler во главе? [Читать дальше →][2]

[1]: //habrastorage.org/files/36e/6bb/248/36e6bb248f5c4fcbbd22e204f6267cf4.png
[2]: http://habrahabr.ru/post/253309/#habracut

[>] [Из песочницы] Подробнее о протоколе Mail.Ru Агент
habra.14
habrabot(difrex,1) — All
2015-03-17 18:00:03


На Хабре уже [писали][1] о том, как устроен Mail.Ru Агент. На данный момент официальной документации к протоколу в открытом доступе нет, поэтому приходится исследовать устройство опытным путем. В этой статье я рассмотрю отправление форматированных текстовых сообщений и создание и отправление сообщений в конференцию. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/136041/
[2]: http://habrahabr.ru/post/253303/#habracut

[>] Построение диаграмм и графов в Doxygen
habra.14
habrabot(difrex,1) — All
2015-03-17 18:00:03


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

[1]: //habrastorage.org/files/df2/4fa/4ef/df24fa4effd742af8b134930dc3ee82c.png
[2]: http://habrahabr.ru/post/252101/
[3]: http://habrahabr.ru/post/252443/
[4]: http://habrahabr.ru/post/253223/#habracut

[>] Ваш wi-fi расскажет мне, где вы живёте, где работаете и где путешествуете
habra.14
habrabot(difrex,1) — All
2015-03-18 00:00:03


![][1] _Москва вайфайная_ Многие знают, что ваши мобильные устройства распространяют информацию об их предыдущих соединениях. Большинство не имеет об этом представления.

#### Пробы WiFi

Чтобы соединиться с уже известными сетями, которые не сообщают о своём присутствии, все ваши мобильные устройства отправляют пробные пакеты, чтобы найти известные им сети. Эти пакеты можно перехватить, когда телефон включается, или когда он отсоединяется от сети. Для этого используются обычные инструменты — airodump / tcpdump. Пример:

# airodump-ng -w wifi-dump wlan0
# tcpdump -n -l -e -r wifi-dump.cap |
grep 'Probe Request ([^)]'


Вывод содержит время, MAC-адрес устройства и имя сети. Пример:

16:32:26.628209 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:50:ea:d6:aa:bb:cc
Probe Request (SUBWAY) [1.0 2.0 5.5 11.0 Mbit]


То бишь, устройство 50:ea:d6:aa:bb:cc проверяло, есть ли сеть SUBWAY в пределах доступности.

#### Ну и что тут плохого?

Ну испускают они эти пакеты с именами сетей. Подумаешь. [Читать дальше →][2]

[1]: //habrastorage.org/files/f85/7e9/0ed/f857e90ed96b4f75a81181921eb519c1.png
[2]: http://habrahabr.ru/post/253335/#habracut

[>] Играем в сапера в фотошопе
habra.14
habrabot(difrex,1) — All
2015-03-18 01:00:03


![][1] По роду своей деятельности мне периодически приходится автоматизировать свою работу в фотошопе. Точнее я мог бы этого не делать, но природная лень не оставляет шансов в борьбе с рутиной, как говориться «лучше час потерять, зато потом за 5 минут долететь». Все бы наверное так и оставалось на уровне отдельных разрозненных скриптов если бы не [пост][2] от [enotus][3]. Благодаря ему я узнал, что к фотошопу (как впрочем и другим продуктам от Adobe) можно писать расширения на HTML+JS. И пошло, поехало. Как-то так сложилось, что изучение всего нового я обычно начинаю с написания простенькой игрушки на этом самом новом. Для фотошопа я выбрал Сапера. В этом примере я бы хотел рассказать о создании интерфейса расширения, взаимодействии с фотошопом и обработкой событий. Так что кому все еще интересно, прошу подкат. [Читать дальше →][4]

[1]: //habrastorage.org/files/1a2/e97/3f2/1a2e973f28664e239c909177255053ad.png
[2]: http://habrahabr.ru/post/221863/
[3]: http://habrahabr.ru/users/enotus/
[4]: http://habrahabr.ru/post/253337/#habracut

[>] [Перевод] Perl 6: Разные названия для разных вещей
habra.14
habrabot(difrex,1) — All
2015-03-18 06:30:03


Новички в Perl 5 жалуются, что в языке нет инструмента для реверса строк. Функция reverse есть, но она почему-то не работает:

$ perl -E "say reverse 'привет'"
привет


Набрав опыта, они находят решение. Функция работает в двух режимах. В списковом контексте она реверсирует списки, а в скалярном – строки:

$ perl -E "say scalar reverse 'привет'"
тевирп


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

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

[>] [recovery mode] Оптимальная сортировка непрерывного архива
habra.14
habrabot(difrex,1) — All
2015-03-18 08:30:03


Воплощение одной идеи – расположить файлы так, чтобы размер архива был минимальным. Программа проверяет сжимаемость файлов в паре и затем сортирует список для сжатия архиватором. [sourceforge.net/projects/saro-vks/][1] Если кому надо – берите. [Читать дальше →][2]

[1]: http://sourceforge.net/projects/saro-vks/
[2]: http://habrahabr.ru/post/253313/#habracut

[>] «Корпоративные лаборатории PENTESTIT» — практическая подготовка в области информационной безопасности
habra.14
habrabot(difrex,1) — All
2015-03-18 11:30:03


![][1]

#### Практическая подготовка в области информационной безопасности: «Стандарт», «Профи», «Эксперт». Обновленная программа.

Рады сообщить об очередном наборе «Корпоративных лабораторий тестирования на проникновение». Новая программа, помимо обновленного и наиболее актуального теоретического и практического материала, будет включать уникальный материал тарифа «Эксперт», в котором мы собрали «хардкордные» практики пентеста и противодействию злоумышленникам — материал уровня профессиональных конференций по практической безопасности. Помимо уникальной программы и методики обучения, дополнительными преимуществами программы «Корпоративные лаборатории» являются **полностью дистанционное обучение** и **гибкий график**, позволяющий не отрываться от работы. [Читать дальше →][2]

[1]: //habrastorage.org/files/36a/f4c/581/36af4c58187c4d39a324b805c64f6e7a.jpg
[2]: http://habrahabr.ru/post/253333/#habracut

[>] Удобный мониторинг Syslog сообщений c сетевых железок в Zabbix
habra.14
habrabot(difrex,1) — All
2015-03-18 14:00:03


Неотъемлемой частью сетевого мониторинга является сбор логов с контролируемых серверов и прочих железок. Ведь сколько бы мы ни создали отдельных элементов данных и триггеров к ним, в какой-то момент возникнет ситуация, что что-то важное мы упустили из виду и не контролируем. Итог: «У нас ничего не работает», а система мониторинга говорит, что все хорошо. Поэтому **первое**, что хотелось сделать — собирать все логи в заббиксе, сгруппировав их по узлу сети для того, чтобы всегда можно было пробежаться по сообщениям глазами, не тратя время на доступ на оборудование. **Второе** — обратить внимание и на те события, о которых и не подозреваешь. Как это сделать на серверах или компьютерах, где установлен заббикс-агент, многие знают — есть встроенные элементы данных [log[], logrt[]][1]. Но как быть, когда нужно собирать логи с сетевого оборудования, на которое никак не водрузить Zabbix-agent’а? Вообще-то можно, конечно, настроить syslog-сервер на том же ПК, на которой есть заббикс-агент, а дальше при помощи **log[]** переносить эти данные в заббикс. Вот только **элементы данных и триггеры по нему будут прикреплены к узлу сети с заббикс-агентом, что интуитивно малопонятно**. А можно ли прикрепить эти данные непосредственно к сетевому устройству? Можно. Для этого нам понадобится [zabbix\_sender][2], [Zabbix API][3] и rsyslog на машине с заббикс-сервером или заббикс-прокси. В качестве бонуса также получим быстрый контекстный переход в журнал syslog-сообщений с карты сети. Как будет выглядеть результат? Ну, примерно вот так: Контекстный вызов: ![][4] [Читать дальше →][5]

[1]: https://www.zabbix.com/documentation/2.4/manual/config/items/itemtypes/zabbix_agent
[2]: https://www.zabbix.com/documentation/2.4/manual/concepts/sender
[3]: https://www.zabbix.com/documentation/2.4/manual/api
[4]: //habrastorage.org/files/31e/056/6f5/31e0566f578241dd92c4f17bd5147afb.png
[5]: http://habrahabr.ru/post/252915/#habracut

[>] [Перевод] Вычислите длину окружности
habra.14
habrabot(difrex,1) — All
2015-03-18 16:00:03


![][1]«Пожалуйста, напишите на C++ функцию, которая получает диаметр круга как float и возвращает длину окружности как float». Звучит как задание на первой неделе курса по C++. Но это только на первый взгляд. Сложности возникают уже на первых этапах решения задачи. Предлагаю рассмотреть несколько подходов. Студент: Как вам такой вариант?

#include <math.h>
float CalcCircumference1(float d)
{
return d * M_PI;
}

Преподаватель: Да, этот код может нормально откомпилироваться. А может и нет. [Читать дальше →][2]

[1]: //habrastorage.org/files/1e5/4da/900/1e54da9004c3476ab55a4d4678efc617.png
[2]: http://habrahabr.ru/post/252871/#habracut

[>] [Перевод] Использование расширенных возможностей компилятора Intel® C++ для приложений Android
habra.14
habrabot(difrex,1) — All
2015-03-18 16:30:02


Компилятор Intel® C++ предоставляет много возможностей для оптимизации приложений под самые различные задачи, в том числе для мобильных устройств. В этой статье мы затронем два аспекта оптимизации: во-первых, поговорим об использовании выполняемого модуля Intel® Cilk™ Plus в Android для реализации многопоточности приложений, во-вторых, коснемся темы использования Profile-guided Optimization (PGO) для повышения производительности приложений в ОС Android. Ссылки для более глубокого изучения этих тем даны в конце статьи. [Читать дальше →][1]

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

[>] Программируем роботов — бесплатный робосимулятор V-REP. Первые шаги
habra.14
habrabot(difrex,1) — All
2015-03-18 17:00:02


![][1] Программирование роботов — это интересно. Многие наверное видели японских гуманоидных роботов, или французский учебный робот [NAO][2], интересным выглядит проект обучаемого робота-манипулятор [Baxter][3]. Промышленные манипуляторы KUKA из Германии — это классика. Кто-то программирует системы конвейерной обработки (фильтрации, сортировки). Дельта роботы. Есть целый пласт — управление квадрокоптером/алгоритмы стабилизации. И конечно же простые трудяги на складе — Line Follower. Но всё это как правило — не дешевые игрушки, поэтому доступ к роботам есть в специализированных лабораториях или институтах/школах где получили финансирование и есть эти направления. Всем же остальным разработчикам (кому интересна робототехника) — остаётся завистливо смотреть. Некоторое время назад я вышел на достаточно интересную систему — 3д робосимулятор [V-REP,][4] от швейцарской компании Coppelia Robotics. К своему (приятному) удивлению я обнаружил, что эта система:

* имеет большой функционал (система разрабатывается с марта 2010 года)
* полностью open-source (выложена в открытый доступ в 2013 году)
* кроссплатформенная — windows, mac, linux (работает на Qt)
* имеет API и библиотеки для работы с роботами через C/C++, Python, Java, Lua, Matlab, Octave или Urbi
* бесплатная для некоммерческого использования!

Все объекты, которые программируются в этой системе — «живут» в реальном с точки зрения физических законов мире — есть гравитация, можно захватывать предметы, столкновения, датчики расстояния, видео датчики и т.п. Поработав некоторое время с этой системой, я решил рассказать про неё читателям хабра. Да, и на картинке скриншот из V-REP, и модели роботов — которые вы можете программировать, и смотреть поведение, прямо на вашем компьютере. [Читать дальше →][5]

[1]: //habrastorage.org/files/966/0c4/e95/9660c4e950ee4b9ab93873cf9564a4c9.jpg
[2]: https://www.aldebaran.com/en/humanoid-robot/nao-robot
[3]: http://www.rethinkrobotics.com/baxter/
[4]: http://www.coppeliarobotics.com/
[5]: http://habrahabr.ru/post/253357/#habracut

[>] Сделаем код чище: Рекомендации по подготовке изменений в ядро Linux
habra.14
habrabot(difrex,1) — All
2015-03-18 19:00:02


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

[1]: http://habrahabr.ru/search/?q=%5B%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC%20%D0%BA%D0%BE%D0%B4%20%D1%87%D0%B8%D1%89%D0%B5%5D
[2]: http://habrahabr.ru/post/253421/#habracut

[>] Конференция DUMP-2015: секция Serverside.Experience и Serverside.Knowledge
habra.14
habrabot(difrex,1) — All
2015-03-18 20:00:03


Продолжает серию постов о конференции [DUMP ][1] обзор двух секций — Serverside.Experience и Serverside.Knowledge. Ниже — о том, что ждет серверных разработчиков 20 марта в Екатеринбурге. [Читать дальше →][2]

[1]: http://dump-conf.ru
[2]: http://habrahabr.ru/post/253391/#habracut

[>] [Из песочницы] Спектральный анализ сигналов
habra.14
habrabot(difrex,1) — All
2015-03-18 22:00:02


Не так давно товарищ [Makeman][1] [описывал][2], как с помощью спектрального анализа можно разложить некоторый звуковой сигнал на слагающие его ноты. Давайте немного абстрагируемся от звука и положим, что у нас есть некоторый оцифрованный сигнал, спектральный состав которого мы хотим определить, и достаточно точно. Под катом краткий обзор метода выделения гармоник из произвольного сигнала с помощью цифрового гетеродинирования, и немного особой, Фурье-магии. [Читать дальше →][3]

[1]: http://habrahabr.ru/users/makeman/
[2]: http://habrahabr.ru/post/247385/
[3]: http://habrahabr.ru/post/253447/#habracut

[>] Angular 2.0.0-alpha для тех, кто не в силах ждать
habra.14
habrabot(difrex,1) — All
2015-03-19 08:30:03


![][1] Совсем недавно(5-6 марта) прошла конференция [ng-conf][2], и много докладов на ней было посвящено грядущему релизу Angular 2, на нескольких из них даже показали альфа версию. Конечно же после прослушивания очень захотелось опробовать его лично. Если вам тоже не терпится — прошу под кат. В этой статье мы разберёмся, где взять билд альфа версии Angular 2.0, создадим на нём небольшое приложение — To-do list, и запустим его в браузере без полной поддержки ECMAScript 6. [Читать дальше →][3]

[1]: //habrastorage.org/files/1b4/fd4/cfc/1b4fd4cfc96f40fe8c84f8354575383f.png
[2]: http://www.ng-conf.org
[3]: http://habrahabr.ru/post/253469/#habracut

[>] Виртуальная реальность на Windows Phone с помощью Unity3d
habra.14
habrabot(difrex,1) — All
2015-03-19 12:30:02




#### Виртуальная реальность на Windows Phone с помощью Unity3d

![][1] На последней Game Developer Conference было много новостей связанных с виртуальной реальностью. Это и новые устройства, такие как Microsoft HoloLens, борьба за признание между Oculus Rift и Project Morfeus, анонс SteamVR. Все это говорит о том, что тема очень интересная и горячая. Хотя понятие виртуальной реальности включает в себя очень много всего, технологически это в первую очередь очки или шлем которые показывают стереоскопическое изображение и реагируют на движение. Многие из нас хотели бы поэкспериментировать в этой области, но без устройства, например, Oculus Rift это затруднительно. К счастью существуют технологии, которые могут превратить ваш телефон Windows Phone в шлем виртуальной реальности. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/c07/021/357/c07021357757a12be24f1c2820371f94.png
[2]: http://habrahabr.ru/post/253489/#habracut

[>] Техносфере — 1 год
habra.14
habrabot(difrex,1) — All
2015-03-19 17:00:02


![][1] Многие из вас, возможно, уже слышали или читали в нашем блоге о Технопарке, совместном образовательном проекте Mail.Ru Group и МГТУ им. Н. Э. Баумана. Однако постойте, есть еще и Техносфера. Что это, кто это и почему эти два проекта так похожи, и чем они различаются, я расскажу в этом посте. В феврале исполнился ровно год с момента запуска [Техносферы][2]. Это совместный образовательный проект Mail.Ru Group и факультета вычислительной математики и кибернетики МГУ имени М. В. Ломоносова. Обучением студентов занимаются исключительно сотрудники Mail.Ru Group. Их цель — подготовить квалифицированных специалистов в области анализа больших данных (Big Data). Первые десять выпускников совсем недавно получили дипломы из рук Дмитрия Гришина, CEO Mail.Ru Group, и уже приступили к работе. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/459/f8a/a24/459f8aa24cb94f4b16ed83142e524db8.jpg
[2]: https://sfera-mail.ru/
[3]: http://habrahabr.ru/post/253441/#habracut

[>] Самостоятельная сборка или покупка готового оборудования для конструирования. Часть 1
habra.14
habrabot(difrex,1) — All
2015-03-19 18:00:03


Привет, Хабр! Недавно я публиковал [пост][1] о конструкторе Хватоход. Сейчас идет подготовка к обучению людей разного возраста конструированию и электронике, в нашем коворкинг-центре. Для этого так же необходимо подобрать оборудование. Согласно поставленной руководством задаче, оборудование для конструирования должно отвечать следующим требованиям: — стоимость не более 30 тысяч рублей — открытая архитектура (программная и аппаратная) — простота в обслуживании и доступность деталей — безопасность эксплуатации — возможность изготовления на нем сложных изделий — быстрая окупаемость [Читать дальше →][2]

[1]: http://habrahabr.ru/company/masterkit/blog/252569/
[2]: http://habrahabr.ru/post/253240/#habracut

[>] [Перевод] Как легко расшифровать TLS-трафик от браузера в Wireshark
habra.14
habrabot(difrex,1) — All
2015-03-19 18:00:03


Многим из вас знаком Wireshark — анализатор трафика, который помогает понять работу сети, диагностировать проблемы, и вообще умеет кучу вещей. ![image][1] Одна из проблем с тем, как работает Wireshark, заключается в невозможности легко проанализировать зашифрованный трафик, вроде TLS. Раньше вы могли указать Wireshark приватные ключи, если они у вас были, и расшифровывать трафик на лету, но это работало только в том случае, если использовался исключительно RSA. Эта функциональность сломалась из-за того, что люди начали продвигать совершенную прямую секретность (Perfect Forward Secrecy), и приватного ключа стало недостаточно, чтобы получить сессионный ключ, который используется для расшифровки данных. Вторая проблема заключается в том, что приватный ключ не должен или не может быть выгружен с клиента, сервера или HSM (Hardware Security Module), в котором находится. Из-за этого, мне приходилось прибегать к сомнительным ухищрениям с расшифровкой трафика через man-in-the-middle (например, через [sslstrip][2]).

#### Логгирование сессионный ключей спешит на помощь!

Что ж, друзья, сегодня я вам расскажу о способе проще! Оказалось, что Firefox и Development-версия Chrome поддерживают логгирование симметричных сессионных ключей, которые используются для зашифровки трафика, в файл. Вы можете указать этот файл в Wireshark, и (вуаля!) трафик расшифровался. Давайте-ка настроим это дело. [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/8c7/9a7/cd0/8c79a7cd0d903d80fd9ef57b778fe4bc.png
[2]: http://www.thoughtcrime.org/software/sslstrip/
[3]: http://habrahabr.ru/post/253521/#habracut

[>] Самостоятельная сборка или покупка готового оборудования для конструирования. 3d-принтер. Часть 1
habra.14
habrabot(difrex,1) — All
2015-03-19 18:30:02


Привет, Хабр! Недавно я публиковал [пост][1] о конструкторе Хватоход. Сейчас идет подготовка к обучению людей разного возраста конструированию и электронике, в нашем коворкинг-центре. Для этого так же необходимо подобрать оборудование. Согласно поставленной руководством задаче, оборудование для конструирования должно отвечать следующим требованиям: — стоимость не более 30 тысяч рублей — открытая архитектура (программная и аппаратная) — простота в обслуживании и доступность деталей — безопасность эксплуатации — возможность изготовления на нем сложных изделий — быстрая окупаемость [Читать дальше →][2]

[1]: http://habrahabr.ru/company/masterkit/blog/252569/
[2]: http://habrahabr.ru/post/253240/#habracut

[>] Проверка Vim при помощи PVS-Studio в GNU/Linux
habra.14
habrabot(difrex,1) — All
2015-03-19 19:00:03


![][1] Читатель мог бы подумать, что это очередная статья о проверке еще одного проекта из мира свободного ПО, но на самом деле, статья не столько о проверке, сколько о практике использования анализатора PVS-Studio в полностью GNU/Linux окружении. Не случайно выбором проекта для проверки стал Vim, ибо и он в этом деле сослужил свою службу.

### Для начала немного о Vim

Vim () — кроссплатформенный свободный текстовый редактор c 30-летней историей, являющийся наследником редактора vi и пришедший из мира Unix систем. Vim весьма широко применяется в администрировании и разработке, во многих дистрибутивах GNU/Linux он является редактором по умолчанию. От других текстовых редакторов Vim отличается ориентацией на использование исключительно клавиатуры, текстовый интерфейс, богатыми возможностями расширения через систему написанных на Vim Script плагинов. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/5f5/b54/09e/5f5b5409ed7c9c4c6dbb07c5f2d13bfd.png
[2]: http://habrahabr.ru/post/253553/#habracut

[>] Pwn2Own 2015: первые итоги
habra.14
habrabot(difrex,1) — All
2015-03-19 22:30:03


Завершился [первый день][1] известного контеста [Pwn2Own][2] 2015, на котором участникам предлагалось продемонстрировать успешные механизмы эксплуатации Remote Code Execution, а также Local Privilege Escalation уязвимостей. В этом году денежные вознаграждения были снижены, но увеличена сложность: для демонстрации брались 64-битные приложения & OS. ![][3] Участникам предлагалось удаленно исполнить свой код в браузерах и в известных плагинах типа Adobe Flash Player & Reader. В качестве браузеров были выбраны 64-битные версии Google Chrome, MS IE11 в режиме [sandbox (EPM)][4], Mozilla Firefox, Apple Safari, а также вышеупомянутые плагины Flash Player и Reader на IE11 в режиме sandbox. В результате успешная эксплуатация постигла все заявленные в первый день браузеры. [Читать дальше →][5]

[1]: http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Pwn2Own-2015-Day-One-results/ba-p/6722204#.VQrk5lWsVgM
[2]: http://en.wikipedia.org/wiki/Pwn2Own
[3]: //habrastorage.org/files/3e3/b39/6fc/3e3b396fca0b4efdbcdc1c151ce94e64.png
[4]: http://habrahabr.ru/company/eset/blog/204084/
[5]: http://habrahabr.ru/post/253557/#habracut

[>] SaltStack: Создание зависимых или ссылающихся конфигураций сервисов
habra.14
habrabot(difrex,1) — All
2015-03-20 01:30:02




#### **О чем эта статья?**

Знакомство с возможностями SaltStack по созданию конфигураций сервисов зависимых друг от друга; от сервисов расположенных на других или всех остальных подчиненных системах и т. д. Если проще — рассмотрим как каждая подчиненная система может получить данные с других таких же систем в момент создания и распространения своих конфигураций. [Читать дальше →][1]

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

[>] Нейропластичность в искусственных нейронных сетях
habra.14
habrabot(difrex,1) — All
2015-03-20 12:00:03


Привет, Хабр, давно не виделись. В этом посте мне хотелось бы рассказать о таком относительно новом понятии в машинном обучении, как [transfer learning][1]. Так как я не нашел какого-либо устоявшегося перевода этого термина, то и в названии поста фигурирует хоть и другой, но близкий по смыслу термин, который как бы является биологической предпосылкой к формализации теории передачи знаний от одной модели к другой. Итак, план такой: для начала рассмотрим биологические предпосылки; после коснемся отличия transfer learning от очень похожей идеи [предобучения глубокой нейронной сети][2]; а в конце обсудим реальную задачу семантического хеширования изображений. Для этого мы не будем скромничать и возьмем глубокую (19 слоев) сверточную нейросеть победителей конкурса [imagenet 2014 года][3] в разделе «локализация и классификация» ([Visual Geometry Group][4], University of Oxford), сделаем ей небольшую трепанацию, извлечем часть слоев и используем их в своих целях. Поехали. [Читать дальше →][5]

[1]: http://en.wikipedia.org/wiki/Inductive_transfer
[2]: http://habrahabr.ru/post/163819/
[3]: http://image-net.org/challenges/LSVRC/2014/results#clsloc
[4]: http://www.robots.ox.ac.uk/~vgg/research/very_deep/
[5]: http://habrahabr.ru/post/252965/#habracut

[>] [Перевод] Rivulet — аудио плеер для торрентов
habra.14
habrabot(difrex,1) — All
2015-03-20 12:30:03




#### Что такое rivulet.audio?

[rivulet.audio][1] – новый способ скачивания и прослушивания музыки. Вы создаёте плейлисты, а программа автоматически находит музыкальные файлы в торрентах. Этими плейлистами можно делиться с другими и публиковать где угодно, потому что они не содержат нелегального контента сами по себе, и в них нет информации о том, где можно нелегально скачать песни. Когда кто-либо импортирует ваш плейлист, его клиент автоматически начинает поиск торрентов и проигрывает песни. Исходный код проекта открыт.

#### Демо

(эти сайты не имеют отношения к авторам проекта rivulet.audio) [Читать дальше →][2]

[1]: http://rivulet.audio/
[2]: http://habrahabr.ru/post/253597/#habracut

[>] [Перевод] Поддержка DOM L3 XPath в Project Spartan
habra.14
habrabot(difrex,1) — All
2015-03-20 12:30:03


Примечание от переводчика: _я серверный Java-программист, но при этом так исторически сложилось, что работаю исключительно под Windows. В команде все сидят в основном на Mac или Linux, но кто-то же должен вживую тестировать веб-интерфейсы проектов под настоящим IE, кому как не мне? Так что я уже довольно много лет использую его и по рабочей необходимости, и — в силу лени — в качестве основного браузера. По-моему, с каждой новой версией, начиная с девятой, он становится всё более и более достойным, а Project Spartan и вовсе обещает быть отличным. По крайней мере, в технологическом плане — на равных с другими. Предлагаю вашему вниманию перевод статьи из блога разработчиков, дающей некоторые основания на это надеяться._ ![image][1]

## Обеспечивая совместимость с DOM L3 XPath

Поставив перед собой задачу обеспечить в Windows 10 по-настоящему совместимую и современную веб-платформу, мы постоянно работаем над улучшением поддержки стандартов, в частности, в отношении [DOM L3 XPath][2]. Сегодня нам хотелось бы рассказать, как мы этого добились в Project Spartan. [Читать дальше →][3]

[1]: http://habrastorage.org/files/af6/8f7/86d/af68f786d01c4a16838db206e7d9d588.gif
[2]: http://www.w3.org/TR/DOM-Level-3-XPath/Overview.html
[3]: http://habrahabr.ru/post/253595/#habracut

Pages: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ... 41