RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... 37
[>] ZeroRPC — легкая, надежная библиотека для распределенной связи между серверами
habra.15
habrabot(difrex,1) — All
2015-07-28 07:00:02


Давече мне понадобилось реализовать некое подобие собственного statsd-like сервера сбора метрики, но с несколько узко-специфичными фичами, под которые без хорошего напильника не ложилось ни одно готовое или полуготовое решение. В связи в этим было решено реализовать простой клиент-сервер протокол на python с использованием tcp/udp soket'ов. Оговорюсь, что с сетевым программированием знаком я был, да и остаюсь постольку-поскольку, хотя общее понимание tcp/ip стека имелись. Решение в лоб на синтетике показало себя замечательно, но стоило мне нагрузить его более-менее реальными данными (всего-то порядка 20к сообщений в секунду с нескольких потоков) и оно начало показывать свои подводные камушки. Наверное, я просто не смог правильно приготовить raw сокеты, но задачу нужно было решить быстро, времени на глубокое понимание и изучение сетевого программирования не было, поэтому я начал искать решения, где за меня уже хотя бы половину придумали бы. Поиск меня привел к библиотеке **ZeroRPC**, которая была не так давно, как я понял, выпущенна в мир из недр dotCloud. Меня удивило, что я нашел всего одно упоминание про эту разработку на хабре, да и то в скользь, поэтому решил написать эту заметку. [Читать дальше →][1]

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

[>] [Перевод] Как правильно использовать исключения
habra.15
habrabot(difrex,1) — All
2015-07-28 10:00:02


Использование исключений для контроля хода выполнения программы (flow control) — [давняя][1] [тема][2]. Я хотел бы суммировать этот топик и привести примеры правильного и неправильного использования исключений. [Читать дальше →][3]

[1]: http://c2.com/cgi/wiki?DontUseExceptionsForFlowControl
[2]: http://stackoverflow.com/questions/729379/why-not-use-exceptions-as-regular-flow-of-control
[3]: http://habrahabr.ru/post/263685/#habracut

[>] Очередной взлом FL.ru
habra.15
habrabot(difrex,1) — All
2015-07-28 13:00:02


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

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

[>] Python meetup — 2 года
habra.15
habrabot(difrex,1) — All
2015-07-28 13:00:02


![Python Meetup Minsk][1] Всем привет! В июне Python Meetup исполнилось 2 года. Чтобы отметить это, мы собрались в субботу 27 июня и провели весь день вместе, общаясь и слушая доклады. Речь шла о:

* Оптимальном наименовании переменных
* Безопасном запуске чужого кода на своем компьютере
* Использовании Jenkins в тестировании игр
* Парном удаленном программировании
* Объектной подсистеме Python

Записи выступлений под катом. Хорошего просмотра! [Читать дальше →][2]

[1]: https://habrastorage.org/files/729/e77/347/729e773474f5463794c68da822157b9e.jpg
[2]: http://habrahabr.ru/post/263507/#habracut

[>] Как превратить саму сеть в полноценную систему защиты?
habra.15
habrabot(difrex,1) — All
2015-07-28 13:00:02


Многие предприятия до сих пор строят свою систему защиты опираясь на уже устаревший периметровый подход, сосредотачивая все средства безопасности в одной-двух контрольных точках сети, полностью забывая про наличие обходных каналов — Wi-Fi, флешек, 4G, ActiveSync и т.п. Да и про внутреннего нарушителя, который уже находится внутри сети и может выполнять свое “черное дело”, не боясь быть обнаруженным периметровыми средствами защиты, многие тоже забывают. Что делать в такой ситуации? ![][1] Вариантов можно назвать три. Первый — построить во внутренней сети еще одну, но уже наложенную сеть из средств безопасности? Я думаю любой производитель средств защиты с удовольствием подготовит предложение по данному варианту, включив в него множество сенсоров IPS и межсетевых экранов, которые будут мониторить и контролировать внутренние сетевые потоки и обнаруживать вредоносный код и неразрешенные приложения. Но такой вариант сопряжен с рядом трудностей. Во-первых, не всегда существующий дизайн сети позволяет реализовать такое подключение. То сеть работает на скоростях, неподвластных средствам защиты, то span-порты для подключения IDS уже заняты, то предприятие активно задействует виртуализацию и средства защиты не могут эффективно контролировать трафик, не уходящий за пределы физического сервера. Во-вторых, установка дополнительных устройств во внутренней сети требует немалых финансовых средств, что в условиях непростой экономической ситуации не всегда реализуемо. [Читать дальше →][2]

[1]: https://habrastorage.org/files/579/f57/bd2/579f57bd205e4cd299668f64b403358f.png
[2]: http://habrahabr.ru/post/263615/#habracut

[>] Исследование Oracle Form при помощи Java Development API(JDAPI)
habra.15
habrabot(difrex,1) — All
2015-07-28 13:00:02


Для поиска зависимости форма от обьектов базы данных мне нужно было разобрать файл Oracle Form(в дальнейшем — fmb файл). Fmb — это псевдотекстовый файл, если очень нужно, PL/SQL код можно увидеть и искать как используются обьекты БД там, но все равно трудно понять тип триггера или программы и к какому элементу формы он относится. Можно использовать конвертацию в FMT, но не думаю, что разбор fmt файла легче чем использование API, который дает Оракл. Тем более, что вся остальная часть моей программы была написана в Java Swing, логичней было использовать JDAPI, который позволяет разобрать форм по полочкам и видеть весь код PL/SQL и properties, которые меня интересовали. [Читать дальше →][1]

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

[>] Юнит-тесты в Caché – это просто
habra.15
habrabot(difrex,1) — All
2015-07-28 17:00:02


Больше всего программисты любят программы, в которых не нужно исправлять баги. Шагом на пути к этой несбыточной мечте является написание юнит-тестов. В Caché, как и в любой современной СУБД, есть реализация фреймворка для автоматического выполнения тестов. [![][1]][2] [Читать дальше →][3]

[1]: https://habrastorage.org/files/d24/9e3/83b/d249e383b49540798cf8dd0fb2036ee1.jpg "Николай Загреков — Трое рабочих за трамбовкой"
[2]: http://habrahabr.ru/company/intersystems/blog/263677/
[3]: http://habrahabr.ru/post/263677/#habracut

[>] Сколько чисел в массиве
habra.15
habrabot(difrex,1) — All
2015-07-28 17:00:02


_Небольшая предыстория. Этот пост я написал для двух целей. Во-первых, обкатать [конвертор разметки][1] Markdown + ![inline_formula][2] в хабрачитаемый вид. Во-вторых, рассказать об интересной задаче из data streaming. К концу написания, я обнаружил [пост про LogLog][3] четырехлетней давности. На мою удачу автор предыдущего поста делал упор на реализацию. Я же, полагаясь на ![inline_formula][4], расскажу больше о математике._ Давайте представим, что у нас есть роутер. Через роутер проходит много пакетов по разным адресам. Нам интересно получить статистику, как много адресов задействовано в коммуникации. Есть пара проблем.

* Пакетов так много, что запомнить их все нельзя. Сказать ушедшему пакету «Вернись! Я все прощу,» — тоже.
* Всех возможных адресов ![inline_formula][5]. Столько памяти на роутере нет.

![some title][6] **Задача**. _Есть последовательность целых чисел ![inline_formula][7], все числа принимают значения от ![inline_formula][8] до ![inline_formula][9]. Требуется в один проход посчитать количество различных чисел, используя ![inline_formula][10] памяти_. [Читать дальше →][11]

[1]: http://habrahabr.ru/post/263213/
[2]: http://tex.s2cms.ru/svg/%5Cinline%20%5CLaTeX
[3]: http://habrahabr.ru/post/119852/
[4]: http://tex.s2cms.ru/svg/%5Cinline%20%5CLaTeX
[5]: http://tex.s2cms.ru/svg/%5Cinline%202%5E%7B32%7D
[6]: https://habrastorage.org/files/9e5/6e3/758/9e56e3758e6543cf8a7c1b2490bb7c8f
[7]: http://tex.s2cms.ru/svg/%5Cinline%20%5Csigma%20%3D%20a_1%2C%20a_2%2C%20%5Ccdots%2C%20a_m
[8]: http://tex.s2cms.ru/svg/%5Cinline%200
[9]: http://tex.s2cms.ru/svg/%5Cinline%20n%20-%201
[10]: http://tex.s2cms.ru/svg/%5Cinline%20%5Coverline%7Bo%7D%28n%20%2B%20m%29
[11]: http://habrahabr.ru/post/263211/#habracut

[>] Как написать пост с формулами: markdown + LaTeX
habra.15
habrabot(difrex,1) — All
2015-07-28 17:00:02


Привет! На Хабре периодически появляются статьи, где авторы хотят вставить математические формулы: ![inline_formula][1], ![inline_formula][2] или даже



У некоторых это получается, у некоторых — с трудом. [parpalak][3] сделал web-сервис для вставки svg формул, и это очень круто. Я хочу дополнить его небольшим скриптом, с которым вставка многих формул сведется к одной команде. [Читать дальше →][4]

[1]: http://tex.s2cms.ru/svg/%5Cinline%20%5Caleph_0
[2]: http://tex.s2cms.ru/svg/%5Cinline%20A%20%5Chookrightarrow%20B
[3]: http://habrahabr.ru/users/parpalak/
[4]: http://habrahabr.ru/post/263213/#habracut

[>] Нейроинтерфейсы для людей (2003-2016). Купить или разработать самому?
habra.15
habrabot(difrex,1) — All
2015-07-28 17:00:02


![][1] Было время, когда я за один присест выливал на голову стакан жидкости для линз, чтобы поэксперементировать с Emotiv\`ом. Затем был тюбик геля из шприца [в лаборатории МГУ][2]. Сейчас я обладатель «сухого» одноэлектродного нейроинтерфейса NeuroSky MindWave. (Кстати, это отличная игрушка для летнего лагеря, я сделал на инженерной олимпиаде задание по поиску мозговых имплантов, для этого надо было поставить рекорд по «удержанию шарика в воздухе мыслью» — базовая бесплатная игруха к NeuroSky) Как показывает [опрос][3], нейроинтерфейсы неизбежны. ![][4] По моему пришло время написать какие были и какие будут в ближайшее время потребительские нейроинтерфейсы. А так же коротко о том, как можно собрать свой девайс самому. (И быстренько натренироваться управлять мозгом, чтобы побеждать во всяких [конкурсах][5] или [пивка налить][6].) Под катом обзор устройств, которые были доступны в потребительском сегменте и open-source проекты для самостоятельного изготовления и создания софта. [Читать дальше →][7]

[1]: https://habrastorage.org/files/cae/1aa/b2e/cae1aab2e4d54d5b80e6f12f9a37d682.jpg
[2]: http://geektimes.ru/company/neuronspace/blog/242633/
[3]: http://habrahabr.ru/company/neuronspace/blog/255945/
[4]: https://habrastorage.org/files/55f/2ec/f0e/55f2ecf0eb3c4d0a9587193dbcbb384b.jpg
[5]: http://habrahabr.ru/article/257075/
[6]: http://habrahabr.ru/post/247451/
[7]: http://habrahabr.ru/post/262357/#habracut

[>] Типы личности по MBTI: влияние на восприятие рекламы
habra.15
habrabot(difrex,1) — All
2015-07-28 18:30:02


Привет Хабр! Анализируя пользовательские данные для нужд маркетинга и рекламы, мы решили исследовать влияние типа личности пользователя на то, как он реагирует на рекламное объявление. За основу решили взять, пожалуй, самую популярную типологию линостей [MBTI][1] (Myers-Briggs Type Indicator), известную еще с середины 20-го века. Многие крупные западные компании используют тесты MBTI при найме или при формировании команды для работы над проектами. Но нас интересует, конечно, не готовность пользователя к командной работе, а влияние его типа личности на желание кликнуть по баннеру. Поэтому вопрос, который мы исследовали звучит так: «Могут ли типы личности влиять на [CTR][2] в рекламных кампаниях?» В этой статье я расскажу о том как мы это делали. ![][3] [Читать дальше →][4]

[1]: https://en.wikipedia.org/wiki/Myers–Briggs_Type_Indicator
[2]: https://en.wikipedia.org/wiki/Click-through_rate
[3]: https://habrastorage.org/files/d19/b9a/524/d19b9a524683464fbea6b481468db31c.jpg
[4]: http://habrahabr.ru/post/263729/#habracut

[>] «МойОфис»: Первые шаги
habra.15
habrabot(difrex,1) — All
2015-07-28 20:30:03


Позвольте представиться, мы – [«Новые облачные технологии»][1], команда разработчиков проекта [«МойОфис»][2]. Коллектив состоит из инженеров, принимавших участие в создании офисных пакетов «Лексикона» и мобильного QuickOffice. Не так давно о нас уже успели рассказать на [CNews][3], [«МегаМозге»][4] и даже вышел небольшой [пользовательский обзор][5]. Пришло время для повествования от первого лица. Эта статья открывает наш блог на «Хабрахабре», в котором мы будем писать о том, кто мы и что делаем. Давайте знакомиться! ![][6] [Читать дальше →][7]

[1]: http://ncloudtech.ru/
[2]: http://myoffice.ru/product-apps.html
[3]: http://www.cnews.ru/top/2015/04/01/sozdatel_dendy_i_eksprezident_akado_investiroval_v_rossiyskogo_ubiycu_microsoft_office_594466
[4]: http://megamozg.ru/post/11094/
[5]: http://vasneverov.livejournal.com/358024.html
[6]: https://habrastorage.org/files/351/6d1/90f/3516d190fe3249f18fe05670c8e26fd3.jpg
[7]: http://habrahabr.ru/post/263719/#habracut

[>] В Android обнаружены уязвимости, позволяющии получить доступ к смартфону через MMS
habra.15
habrabot(difrex,1) — All
2015-07-29 09:00:03


Компания ZIMPERIUM, специализирующаяся на компьютерной безопасности, обнаружила критические уязвимости в ядре Android, которые позволяют выполнять код через отправку MMS сообщений или Google Hangout. По примерной оценке, данной опасности подвержено 95% пользователей устройств под управлением системы Android (около 950 миллионов человек). И что самое опасное, данную уязвимость достаточно просто использовать: необходимо лишь знать номер мобильного телефона жертвы. ![image][1] [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/3ba/bc6/5ea/3babc65eae180e2cbc639c71698f7670.jpg
[2]: http://habrahabr.ru/post/263759/#habracut

[>] [Перевод] Секретный конструктор std::share_ptr
habra.15
habrabot(difrex,1) — All
2015-07-29 10:00:03


У `std::shared_ptr` есть небольшой секрет: очень полезный конструктор, о котором большинство программистов даже не слышали. Он был добавлен только в стандарте С++11, и его не было даже в TR1 версии `shared_ptr`. Однако он поддерживается gcc с версии 4.3, и компилятором MSVC еще с времен Visual Studio 2010. В Boost он появился примерно с 1.35.0. В большинстве обучающих материалов, в которых описывается `std::shared_ptr` ничего нет об этом конструкторе. Скотт Майерс ни словом не обмолвился о нем в «Effective Modern C++», другой автор — Nicolai Josuttis уделил этому конструктору около половины страницы в своей книге «The C++ Standard Library». [][1]



Итак, что представляет собой этот [секретный конструктор? ][2]

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

[>] [Перевод] Структуры данных. Неформальный гайд
habra.15
habrabot(difrex,1) — All
2015-07-29 10:30:01


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

[1]: https://habrastorage.org/files/0a5/6fb/6be/0a56fb6bec21413e9328b33cf511ea87.png
[2]: http://habrahabr.ru/post/263765/#habracut

[>] OpenSource проект может развиваться и приносить прибыль?
habra.15
habrabot(difrex,1) — All
2015-07-29 10:30:01


Уже довольно долгое время я задаюсь вопросом: «Может ли в наших суровых реалиях жить и развиваться Open Source проект?». Этот вопрос меня периодически тревожит, так как я сам являюсь автором одного такого проекта — WysiBB. Я задавал подобный вопрос на различных ресурсах, были вопросы и на Тостере. Но по сути все сводилось к тому, что в русскоязычном сегменте интернета не работают кнопки «Поддержать проект», «Пожертвовать» и т.д. и развиваться могут только проекты с огромной аудиторией и/или платными функциями. ![image][1]

##### В чем суть?

Но вот наконец в один прекрасный день, я наткнулся на интересную идею, как можно получать некоторые финансовые вливания в развитие и видеть, какие фичи наиболее востребованы пользователями. Эту идею я увидел на сайте Robomongo(кто не знает, это GUI для MongoDB). И ее суть заключается в следующем: пользователю предоставляется возможность выбрать из списка issues(с джитхаба) наиболее его тревожащую и пожертвовать средства на ее доработку. Когда пользователь делает пожертвование, рейтинг приоритетности этой фичи повышается. Так автор проекта получает средства на свой кошелек и видит какие фичи имеют наивысший приоритет(больше всего пожертвований) и соответственно являются наиболее востребованными. Автор приступает к их разработке в первую очередь, проект развивается, а пользователь получает долгожданную фичу. Мне эта идея понравилась и я решил реализовать подобный механизм на своем проекте, а когда начал работу над этим сервисом, понял что такой сервис может быть полезен не только для меня. Так появился на свет [**GitFund**][2]. [Читать дальше →][3]

[1]: https://habrastorage.org/files/b88/5d5/09e/b885d509e5fe456ab02a8f17bc61a395.png
[2]: http://www.gitfund.org
[3]: http://habrahabr.ru/post/263721/#habracut

[>] [Перевод] Секретный конструктор std::shared_ptr
habra.15
habrabot(difrex,1) — All
2015-07-29 11:00:02


У `std::shared_ptr` есть небольшой секрет: очень полезный конструктор, о котором большинство программистов даже не слышали. Он был добавлен только в стандарте С++11, и его не было даже в TR1 версии `shared_ptr`. Однако он поддерживается gcc с версии 4.3, и компилятором MSVC еще с времен Visual Studio 2010. В Boost он появился примерно с 1.35.0. В большинстве обучающих материалов, в которых описывается `std::shared_ptr` ничего нет об этом конструкторе. Скотт Майерс ни словом не обмолвился о нем в «Effective Modern C++», другой автор — Nicolai Josuttis уделил этому конструктору около половины страницы в своей книге «The C++ Standard Library». [][1]



Итак, что представляет собой этот [секретный конструктор? ][2]

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

[>] «Ра-а-авняйсь, смирно!». Выравниваем данные
habra.15
habrabot(difrex,1) — All
2015-07-29 11:30:03






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

[1]: http://habrahabr.ru/company/intel/blog/205552/
[2]: http://konishchevdmitry.blogspot.com/2010/01/blog-post.html
[3]: http://habrahabr.ru/post/262933/#habracut

[>] В Android обнаружены уязвимости, позволяющие получить доступ к смартфону через MMS
habra.15
habrabot(difrex,1) — All
2015-07-29 12:00:02


Компания ZIMPERIUM, специализирующаяся на компьютерной безопасности, обнаружила критические уязвимости в ядре Android, которые позволяют выполнять код через отправку MMS сообщений или Google Hangout. По примерной оценке, данной опасности подвержено 95% пользователей устройств под управлением системы Android (около 950 миллионов человек). И что самое опасное, данную уязвимость достаточно просто использовать: необходимо лишь знать номер мобильного телефона жертвы. ![image][1] [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/3ba/bc6/5ea/3babc65eae180e2cbc639c71698f7670.jpg
[2]: http://habrahabr.ru/post/263759/#habracut

[>] [Из песочницы] Краткая история эволюции proof-of-work в криптовалютах. Часть 1
habra.15
habrabot(difrex,1) — All
2015-07-29 13:30:04


_Предлагаю вашему вниманию перевод [статьи «The Proof-of-Work in Cryptocurrencies: Brief History. Part 1»][1] Рэя Паттерсона (Ray Patterson) с сайта [Bytecoin.org][2]._ ![][3]

## До начала времен

Понятие Proof-of-work – «доказательство (проделанной) работы» – впервые появилось в работе [“Pricing via Processing or Combatting Junk Mail”][4] в 1993 г. И хотя в данной статье такого термина еще нет (появится через 6 лет), мы будем называть его именно так (PoW для краткости). Какую же идею предложили Cynthia Dwork и Moni Naor в своей работе? _«Чтобы получить доступ к общему ресурсу, пользователь должен вычислить некоторую функцию: достаточно сложную, но посильную; так можно защитить ресурс от злоупотребления»_ Если провести аналогию, Рыбнадзор обязывает [Джереми Уэйда][5] немного потрудиться, чтобы получить доступ к местному пруду – например, посадить несколько деревьев и прислать фото саженцев. При этом Джереми должен быть в состоянии с ней справиться за разумное время: до того, как все рыбы будут отравлены выбрасываемыми в окружающую среду веществами. Но, с другой стороны, работа не должна быть элементарной, иначе толпы рыбаков быстро опустошат весь пруд. В цифровом мире придумать пример подобной работы на самом деле не так тривиально. [Читать дальше →][6]

[1]: https://bytecoin.org/blog/proof-of-work/
[2]: https://bytecoin.org/info/
[3]: https://habrastorage.org/files/25f/e08/411/25fe08411e37431d8067c846372960ba.jpg
[4]: http://www.hashcash.org/papers/pvp.pdf
[5]: https://ru.wikipedia.org/wiki/%D0%A3%D1%8D%D0%B9%D0%B4,_%D0%94%D0%B6%D0%B5%D1%80%D0%B5%D0%BC%D0%B8
[6]: http://habrahabr.ru/post/263769/#habracut

[>] [Перевод] Шпионские штучки в Wolfram Language, или как спрятать в картинке всё что угодно
habra.15
habrabot(difrex,1) — All
2015-07-29 15:00:06






_Перевод поста Джона Маклуна (Jon McLoone) "[Doing Spy Stuff with Mathematica][1]". Код, приведенный в статье, можно скачать [здесь][2]. Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][3] за помощь в переводе._

----

Я читал о IT проблемах недавно арестованных, как заявлялось, русских шпионов. Говорилось, что они пользовались не самыми надёжными инструментами цифровой **стеганографии** ([вики][4]). И мне стало интересно — насколько быстро я смогу реализовать стеганографию через цифровые изображения в _Mathematica_, используя метод, известный как "**вставка младшего бита**" (_least significant bit insertion_). Идея стеганографии основывается на том, чтобы спрятать сообщения в какой-то другой информации таким образом, чтобы никто факта коммуникации не заметил. Само слово происходит от латино-греческий комбинации, означающей «скрытное письмо»; данным термином назывался процесс нанесения секретного сообщения на лысую голову человека, на которой затем отрастали волосы и, тем самым, прятали сообщение. В случае цифровой стеганографии всё делается посредством математики. [Читать дальше →][5]

[1]: http://blog.wolfram.com/2010/07/08/doing-spy-stuff-with-mathematica/
[2]: http://blog.wolfram.com/data/uploads/2010/07/DoingSpyStuffWithMathematica.cdf
[3]: http://habrahabr.ru/users/kirillguzenko/
[4]: https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%B3%D0%B0%D0%BD%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F
[5]: http://habrahabr.ru/post/263783/#habracut

[>] Киберпреступники возродили форум Darkode
habra.15
habrabot(difrex,1) — All
2015-07-29 16:00:02


Недавно мы [писали][1] о закрытии правоохранительными органами известного подпольного форума киберпреступников под названием Darkode. Кроме закрытия самого форума, множество его пользователей, которые являются известными киберпреступниками, были арестованы. Многие, но не все, поскольку один из администраторов Darkode под ником «Sp3cial1st» избежал ареста и перезапустил форум по новому адресу. ![][2] По [информации][3] известного malware/cybercrime исследователя [MalwareTech][4] для новой реинкарнации форума существенно усилены меры безопасности: доступ к форуму для пользователей возможен через Tor, а аутентификация реализуется с использованием специального Blockchain API. [Читать дальше →][5]

[1]: http://habrahabr.ru/company/eset/blog/262721/
[2]: https://habrastorage.org/files/1d5/db5/505/1d5db55054134e1799166ceb3706e6ea.jpg
[3]: http://www.malwaretech.com/2015/07/darkode-returns-following-international.html
[4]: https://twitter.com/MalwareTechBlog
[5]: http://habrahabr.ru/post/263755/#habracut

[>] Обзор нового Intercepter-NG 0.9.10
habra.15
habrabot(difrex,1) — All
2015-07-29 17:30:04


**Intro** С большим удовольствием хочу представить новую версию Intercepter-NG 0.9.10, которая, на мой взгляд, в значительной степени расширяет область применения инструмента. Данный обзор будет представлен не в виде сухого перечисления нововведений, а скорее как описание новых векторов атак вместе с рядом технических подробностей и элементами hack-story. Приступим… [Читать дальше →][1]

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

[>] Корпоративные лаборатории PENTESTIT: современные угрозы ИБ
habra.15
habrabot(difrex,1) — All
2015-07-29 17:30:04


![][1]

####

В последнее время участились случаи т.н. целенаправленных хакерских атак (APT), основной целью которых являются финансовый, промышленный и государственный сектор. Такие атаки характеризуются своей молниеносностью (от нескольких минут до нескольких часов) и высоким профессионализмом нападающих. Зачастую ИБ-специалисты, сталкиваясь с несколькими попытками вторжений (в том числе и с отвлекающими), не успевают вовремя отреагировать на реальную атаку. Более того, большинство подобных попыток вторжений оказываются выявленными уже постфактум – после утечки критичных данных. Уровень осведомленности сотрудников ИБ-подразделений о современных угрозах обычно не ставится под сомнение, но, тем не менее, количество атак и их масштабность растет год от года. Например, [здесь][2] собраны атаки начиная с 2008 года. Как можно заметить, их количество и вариации увеличивается с каждым годом. А [здесь][3] представлена эволюция и наглядная инфографика таких атак. Даже такие крупные вендоры ИБ, как «Лаборатория Касперского», подвергаются подобным атакам:

> Ранней весной 2015 года «Лаборатория Касперского» зафиксировала кибервторжение в свою корпоративную сеть. В ходе последовавшего за этим расследования была обнаружена новая вредоносная платформа, имеющая непосредственное отношение к одной из самых сложных и загадочных кампаний кибершпионажа – Duqu, раскрытой в 2011 году. Новая платформа получила название Duqu 2.0.

Как защитить ИТ-инфраструктуру компании перед лицом киберугроз? [Читать дальше →][4]

[1]: https://habrastorage.org/files/025/cba/dc5/025cbadc52f7469da65e4e903d25fb41.png
[2]: https://github.com/kbandla/APTnotes
[3]: https://apt.securelist.com/#secondPage
[4]: http://habrahabr.ru/post/263665/#habracut

[>] [Перевод] Грязные секреты экспресс-курсов по программированию
habra.15
habrabot(difrex,1) — All
2015-07-29 18:00:02


Привет, Хабр! Цель нашего образовательного проекта [Хекслет][1] — обучать программированию. Мы постоянно стараемся обратить внимание на то, что основы программирования, анализ и решение задач, понимание фундамента — это важно. Важнее, чем просто модный стек или технология. Поэтому наши курсы по [PHP][2] или [Ruby][3] основаны на [SICP][4], а курс по базам данных на самом деле посвящен стандарту [SQL-92][5], а не особенностям какого-нибудь MySQL. В СНГ все активнее распространяется идея образовательных центров, где "_можно стать программистом и устроиться на работу за 8 недель_". На западе же — их сотни! Каждый обещает светлое будущее, многие твердят, что «любой может стать программистом». Обещают трудоустройство. На волне «coding is the new literacy» («кодинг это новая грамотность») тысячи людей записываются в так называемые «буткемпы». Это огромный бизнес, но, к сожалению, большинство таких буткемпов не готовит настоящих программистов. Сегодня мы публикуем перевод статьи Кена Мазайки, профессионального разработчика и основателя нескольких успешных компаний, в том числе — образовательного проекта. Кен рассказывает о том, какими мифами пичкают новичков многие буткемпы, и что он думает по этому поводу. ![][6] [Читать дальше →][7]

[1]: https://ru.hexlet.io/
[2]: https://ru.hexlet.io/courses/php5
[3]: https://ru.hexlet.io/courses/ruby
[4]: https://mitpress.mit.edu/sicp/
[5]: https://en.wikipedia.org/wiki/SQL-92
[6]: https://habrastorage.org/files/cb4/9ae/517/cb49ae5179c64fa6b37c348a190bcce9.jpg
[7]: http://habrahabr.ru/post/263407/#habracut

[>] [Из песочницы] Реализация поискового движка с ранжированием на Python (Часть 1)
habra.15
habrabot(difrex,1) — All
2015-07-29 20:00:02


_Просматривая ленту новостей я наткнулся на рекомендацию от Типичного Программиста на статью [«Implementing a Search Engine with Ranking in Python»][1], написанную Aakash Japi. Она меня заинтересовала, подобного материала в рунете не очень много, и я решил перевести её. Так как она довольно большая, я разделю её на 2-3 части. На этом я заканчиваю своё вступление и перехожу к переводу._ Каждый раз как я использую Quora, я в конечном итоге вижу по крайней мере вопрос вроде [этого][2]: кто-нибудь спрашивает, как работает Google и как он «ударяет» (находит) информацию в поиске. Большинство вопросов не настолько смелые и дезинформирующие, как этот, но все они выражают подобное чувство, и в этом они передают значительное непонимание того, как работают поисковые системы. Но в то время как Google является невероятно сложным, основная концепция поисковой системы, которые ищут соответствия и оценивают (ранжируют) результаты относительно поискового запроса не представляет особой сложности, и это может понять любой с базовым опытом программирования. Я не думаю, что в данный момент возможно превзойти Google в поиске, но сделать поисковой движок — вполне достижимая цель, и на самом деле это довольно поучительное упражнение, которое я рекомендую попробовать. Это то, что я буду описывать в этой статье: как сделать поисковую систему для локальных текстовых файлов, для которых можно обрабатывать стандартные запросы (по крайней мере, одно из слов в запросе есть в документе) и фразу целиком (появляется вся фраза в тексте) и может ранжировать с использованием базовой TF-IDF схемы. Есть два основный этапа в разработке поискового движка: построение индекса, а затем, используя индекс, ответить на запрос. А затем мы можем добавить результат рейтинга (TF-IDF, PageRank и т.д.), классификацию запрос/документ, и, возможно, немного машинного обучения, чтобы отслеживать последние запросы пользователя и на основе этого выбрать результаты для повышения производительности поисковой системы. Итак, без дальнейших церемоний, давайте начнем! [Читать дальше →][3]

[1]: http://aakashjapi.com/fuckin-search-engines-how-do-they-work/
[2]: http://www.quora.com/I-am-confident-that-I-am-going-to-build-a-search-engine-that-will-compete-with-Google-at-least-in-the-smallest-scale-possible-first-but-for-now-I-dont-know-any-programming-What-should-I-do
[3]: http://habrahabr.ru/post/263823/#habracut

[>] Django ORM. Добавим сахарку
habra.15
habrabot(difrex,1) — All
2015-07-29 21:30:02


![][1] Фреймворк Django, пожалуй, самый популярный для языка Python. Однако, при всей его популярности, часто критикуют его ORM — а именно lookup синтаксис через подчеркивания. На самом деле, такой выбор синтаксиса вполне обоснован — он легок в понимании, расширяем, а главное — прост, как швабра. Тем не менее, хочется красоты, или даже прямо изящества. Но красота — понятие относительное, поэтому будем отталкиваться из конкретных задач. Если заинтриговал — добро пожаловать под кат. [Читать дальше →][2]

[1]: https://habrastorage.org/files/0f0/925/186/0f092518650f41a38ae9f8a83f01206d.jpg
[2]: http://habrahabr.ru/post/263821/#habracut

[>] Как конфигурация влияет на архитектуру приложения
habra.15
habrabot(difrex,1) — All
2015-07-30 09:30:03


[Тестовое приложение][1] для тестирования сериализаторов было сделано на [библиотеке NFX][2]. Это Unistack библиотека. Честно говоря, я затрудняюсь назвать другой пример Unistack библиотеки. Может быть что-то похожее есть в виде ServiceStack. Хотя ServiceStack, в отличии от NFX, размазан по нескольким dll. Но самое главное, ServiceStack не является Uni, так как его части сделаны немножко по-разному, и он не покрывает такого глобального пространства, как NFX. Но целью данной статьи не является обсуждение концепции Unistack, а одна из особенностей использования NFX. Как использование NFX повлияло на наше тестовое приложение? Давайте посмотрим. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/263705/
[2]: https://github.com/aumcode/nfx
[3]: http://habrahabr.ru/post/263827/#habracut

[>] Перевод книги «Kingpin». Глава 3. «The Hungry Programmers»
habra.15
habrabot(difrex,1) — All
2015-07-30 10:30:03


![][1] [magisterludi][2]: Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «одного своего знакомого». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а так же некоторые методы работы спецслужб по поимке хакеров и кардеров. Начало и план перевода тут: «[Шкворень: школьники переводят книгу про хакеров][3]». [Пролог][4] [Глава 3. «The Hungry Programmers»][5] [Глава 34. DarkMarket][6] _(публикуем по мере готовности переводов)_ Логика выбора книги для работы со школьниками у меня следующая:

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

Хочу выразить благодарность ребятам из проекта [«Юные программисты ФСБ РФ»][7] из Кадетской школы 1770 г. Москвы и руководителю [Сергею Епифанцеву][8] за координационную работу. ![image][9] Кто хочет помочь с переводом других глав пишите в личку [magisterludi][10]. [Читать дальше →][11]

[1]: https://habrastorage.org/files/353/64b/a0e/35364ba0e409475fbd05cd11e8132734.jpg
[2]: http://habrahabr.ru/users/magisterludi/
[3]: http://habrahabr.ru/post/261491/
[4]: http://habrahabr.ru/post/261491/
[5]: http://habrahabr.ru/post/263819/
[6]: http://habrahabr.ru/post/263293/
[7]: http://vk.com/ludydela
[8]: http://vk.com/epifantsew
[9]: https://habrastorage.org/getpro/habr/post_images/710/189/8c3/7101898c322af10882b3bd63675a0d78.jpg
[10]: http://habrahabr.ru/users/magisterludi/
[11]: http://habrahabr.ru/post/263819/#habracut

[>] Перевод книги «Kingpin». Глава 5. «Cyberwar!»
habra.15
habrabot(difrex,1) — All
2015-07-30 15:00:05


![][1]Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «[одного своего знакомого][2]». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а так же некоторые методы работы спецслужб по поимке хакеров и кардеров. Начало и план перевода тут: «[Шкворень: школьники переводят книгу про хакеров][3]». [Пролог][4] [Глава 3. «The Hungry Programmers»][5] [Глава 5. «Cyberwar!»][6] [Глава 34. DarkMarket][7] _(публикуем по мере готовности переводов)_ Логика выбора книги для работы со школьниками у меня следующая:

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

Кто хочет помочь с переводом других глав пишите в личку [magisterludi][8].

#### Глава 5. Кибервойна!

_(за перевод спасибо хабраюзеру [ShiawasenaHoshi][9])_ По возвращению домой в Сан-Франциско Макса ждало искушение в виде следующей строки кода: bcopy (fname, anbuf, alen = (char \*)\*cpp — fname); [Читать дальше →][10]

[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/261491/
[5]: http://habrahabr.ru/post/263819/
[6]: http://habrahabr.ru/post/263813/
[7]: http://habrahabr.ru/post/263293/
[8]: http://habrahabr.ru/users/magisterludi/
[9]: http://habrahabr.ru/users/shiawasenahoshi/
[10]: http://habrahabr.ru/post/263813/#habracut

[>] Работа с паролями: как защитить свои учетные записи (мнения специалистов)
habra.15
habrabot(difrex,1) — All
2015-07-30 15:00:05


Недавно стало известно об «уязвимости» в системе для корпоративных клиентов такси-сервиса Gett. Как выяснили исследователи, всем им по умолчанию выдавались [одинаковые пароли][1] (естественно, многие из них никто потом не меняет). В итоге, зная один пароль, злоумышленники могли попасть в множество аккаунтов сразу (среди клиентов Google Россия, «Вконтакте», Ozon и другие компании). [![][2]][3] Скандалы, связанные с кражей паролей и похищением личных данных, случаются регулярно — только за прошедшие пару лет в сеть утекали пароли пользователей таких крупных компаний, как [Adobe][4], популярных [почтовых сервисов][5], хакеры взламывали даже сами [сервисы для хранения паролей][6]. Исследования также показали, что одними из главных проблем безопасности онлайн-банков являются [авторизация и аутентификация][7]. [Читать дальше →][8]

[1]: http://siliconrus.com/2015/07/gett-corporate/
[2]: https://habrastorage.org/files/0b8/e8a/76e/0b8e8a76e93340de904f5d5296ad109c.png
[3]: http://habrahabr.ru/company/pt/blog/263101/
[4]: http://habrahabr.ru/sandbox/75762/
[5]: http://habrahabr.ru/post/236759/
[6]: http://www.forbes.com/sites/katevinton/2015/06/15/password-manager-lastpass-hacked-exposing-encrypted-master-passwords/
[7]: http://ptsecurity.ru/about/news/41018/
[8]: http://habrahabr.ru/post/263101/#habracut

[>] Пишем maintainable код
habra.15
habrabot(difrex,1) — All
2015-07-30 16:00:04


У[ нас][1] сотни программных проектов на поддержке, некоторые из них поддерживаются нами почти десять лет. Нетрудно догадаться, что понятие maintainable кода (переведу это понятие как код, легкий в поддержке) является у нас одним из основных. По счастливому стечению обстоятельств легкий в поддержке код также является и легким для (unit-)тестирования, легким для освоения новыми членами команды и т.д. Скорее всего, это связано с тем, что для создания maintainable кода приходится озаботиться хорошей архитектурой проекта и завести несколько хороших привычек. В этой статье и поговорим о таких привычках, благодаря которым часто хорошая архитектура получается сама собой. Постараюсь также иллюстрировать все хорошими примерами.



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

[1]: http://icl-services.com/company/about/
[2]: http://habrahabr.ru/post/261863/#habracut

[>] OpenVZ, Quagga и LiveMigration
habra.15
habrabot(difrex,1) — All
2015-07-30 18:00:02


![][1]Добрый всем день! Хочу поделиться удобным способом использования OpenVZ контейнеров. Объект этот очень лёгкий, можно поднимать экземпляр на каждый чих. По умолчанию для контейнера используется «venet» сетевой интерфейс. Для администратора это выглядит, как просто присвоить контейнеру адрес, и это удобно. Но для того, чтоб контейнер был доступен из сети, следует использовать адреса из той же IP сети, к которой подключён физический сервер (HN). Сервер знает список запущенных на нём контейнеров и отвечает своим MAC-ом на ARP запросы с адресами контейнеров. Но всегда хочется больше удобства в работе, и поможет нам в этом динамическая маршрутизация. Как именно рассмотрим на примерах, используя Quagga и OSPF. [Читать дальше →][2]

[1]: https://habrastorage.org/files/f9a/468/741/f9a4687416694e20a45c923a22d5a0fc.png
[2]: http://habrahabr.ru/post/244151/#habracut

[>] [Из песочницы] Автоматизация ip-сети с помощью подручных инструментов (Python)
habra.15
habrabot(difrex,1) — All
2015-07-30 18:00:02


Эта статья подойдет сетевым специалистам, которые находятся в поисках примеров возможной автоматизации ip сети с помощью подручных инструментов. Как один из вариантов автоматизации, это взаимодействие программной среды с CLI (Command Line Interface) оборудования, так называемый ‘Screen Scraping’. Собственно, об этом варианте и пойдет речь. В качестве программной среды, будет использован язык программирования Python версии 3.3. Для сомневающихся в потребности изучения языка программирования, необходимо отметить, что базовые навыки программирования на Python достаточно просты в освоении и для решения описанных ниже задач являются достаточными. В дальнейшем с совершенствованием навыков будет совершенствоваться код и уровень производимых продуктов. Для удаленного взаимодействия с оборудованием в основном будет использоваться протокол SSH, поэтому в качестве работы с SSH, для облегчения задач, выбран дополнительный модуль для Python – Paramiko. Как правило рассмотрение решения конкретных задач, может способствовать лучшему усвоению материала, поэтому не затягивая процесс далее будут рассмотрены выборочные примеры задач по возрастающей степени сложности и их решение с использованием выше описанных инструментов (важно заметить, все ip адреса, логины, пароли, названия и специфические значения параметров с сетевых устройств — вымышленные, любое совпадение случайно). [Читать дальше →][1]

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

[>] [Перевод] Когда программа падает только по средам
habra.15
habrabot(difrex,1) — All
2015-07-30 19:30:02


Откиньтесь на спинку кресла и отдохните – пришло время рассказать об одном из моих самых любимых багов. ![][1]Это была моя самая первая работа в сфере IT – летняя практика в компании, разрабатывающей очень серьезное медицинское оборудование, в частности [системы подачи анестезии][2] и [мониторы для пациентов больниц][3]. Монитор для пациента – это такая попискивающая коробка рядом с лежачим больным, которая меряет пульс, давление, частоту дыхание и прочее, а также оповещает медсестер в случае неприятностей. Офис был полон двухметровых баллонов с веселящим газом, по нему расхаживали роскошнобородые гуру-эксперты по встраиваемым системам, и были целые комнаты-хранилища специально для документации, необходимой для сертификации различного оборудования. Народ до сих пор шепотом рассказывал об одном баге, пропущенном тестировщиками с десяток лет назад, из-за которого система подачи анестезии перезапустилась посреди операции. Стоит ли говорить, что зеленого сопляка-студента вроде меня и за километр бы не подпустили к боевым системам? Вместо этого мне поручили проект-прототип с целью опробовать в действии самые горячие технологические новинки 1997 года – сервер на C++, который бы слушал мониторы по серийному порту, сливал интересные данные в базу на SQL Server и отправлял их на Java-апплет через CORBA, чтобы доктора и родственники могли следить за самочувствием больного через интернет. Красота же! Особенно с учетом того, что практического опыта у меня не было ни с одной из этих систем и технологий! [Читать дальше →][4]

[1]: https://habrastorage.org/files/9c6/05d/d7c/9c605dd7cbc344c592e6a3738a1f0527.jpg
[2]: http://www.dremed.com/catalog/product_info.php/cPath/753_731/products_id/2203
[3]: http://www.dremed.com/catalog/product_info.php/cPath/753_731/products_id/1944
[4]: http://habrahabr.ru/post/263871/#habracut

[>] [Перевод] Витая архитектура
habra.15
habrabot(difrex,1) — All
2015-07-30 20:00:02






_Перевод поста Кристофера Карлсона (Christopher Carlson) "[Twisted Architecture][1]". Выражаю огромную благодарность Кириллу Гузенко [KirillGuzenko][2] за помощь в переводе._

----

Я не ставил перед собой задачу скрутить [Херст-тауэр][3] (Hearst Tower) Нормана Фостера в ленту Мёбиуса и отправить его в космос, или заставить его [Мэри-Экс][4] танцевать танго с самим собой, просто я увлекся. Это один из профессиональных рисков работы с _[Mathematica][5]_. Всё началось с невинного эксперимента в лофтинге — методике также известной как обтягивание (skinning), пришедшей из судостроительства. Целью моего исследования были некоторые трёхмерные формы, а лофтинг казался отличным способом быстро добиться результатов. Я написал функцию **Loft**, которая принимает упорядоченное множество трёхмерных контуров и обтягивает его полигонами. [Читать дальше →][6]

[1]: http://blog.wolfram.com/2009/09/11/twisted-architecture/
[2]: http://habrahabr.ru/users/kirillguzenko/
[3]: https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%80%D1%81%D1%82-%D1%82%D0%B0%D1%83%D1%8D%D1%80_(%D0%9D%D1%8C%D1%8E-%D0%99%D0%BE%D1%80%D0%BA)
[4]: https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%B1%D0%BE%D1%81%D0%BA%D1%80%D1%91%D0%B1_%D0%9C%D1%8D%D1%80%D0%B8-%D0%AD%D0%BA%D1%81
[5]: http://www.wolfram.com/products/mathematica/index.html
[6]: http://habrahabr.ru/post/263869/#habracut

[>] Подпольный рынок кардеров. Перевод книги «Kingpin». Глава 5. «Cyberwar!»
habra.15
habrabot(difrex,1) — All
2015-07-30 22:30:02


![][1]Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «[одного своего знакомого][2]». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а так же некоторые методы работы спецслужб по поимке хакеров и кардеров. Начало и план перевода тут: «[Шкворень: школьники переводят книгу про хакеров][3]». [Пролог][4] [Глава 3. «The Hungry Programmers»][5] [Глава 5. «Cyberwar!»][6] [Глава 34. DarkMarket][7] _(публикуем по мере готовности переводов)_ Логика выбора книги для работы со школьниками у меня следующая:

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

Кто хочет помочь с переводом других глав пишите в личку [magisterludi][8].

#### Глава 5. Кибервойна!

_(за перевод спасибо хабраюзеру [ShiawasenaHoshi][9])_ По возвращению домой в Сан-Франциско Макса ждало искушение в виде следующей строки кода: bcopy (fname, anbuf, alen = (char \*)\*cpp — fname); [Читать дальше →][10]

[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/261491/
[5]: http://habrahabr.ru/post/263819/
[6]: http://habrahabr.ru/post/263813/
[7]: http://habrahabr.ru/post/263293/
[8]: http://habrahabr.ru/users/magisterludi/
[9]: http://habrahabr.ru/users/shiawasenahoshi/
[10]: http://habrahabr.ru/post/263813/#habracut

[>] [Из песочницы] Как я собрал скелет бота для заказа такси в Telegram
habra.15
habrabot(difrex,1) — All
2015-07-31 01:00:03


В день запуска ботов в Telegram я за 3 часа собрал бота, который присылает температуру воздуха в ответ на геолокацию пользователя. С того же дня я бредил вызовом такси через бота в Telegram, так как API службы такси у меня был под рукой. Моя цель – не просто рассказать, как я собрал бота для вызова такси, а поделиться этим процессом с другими, чтобы то время, которое я потратил на реализацию алгоритма не тратили остальные. Вследствие этой работы любая служба такси, при наличии API, может за 5 минут настроить шаблон этого бота под себя. Или владелец бота с большим количеством пользователей сможет быстро подключать к себе службу такси. [Читать дальше →][1]

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

[>] Новые критические уязвимости в Android: В чем проблема, и как защититься
habra.15
habrabot(difrex,1) — All
2015-07-31 14:00:03


[![][1]][2] Исследователи информационной безопасности обнаружили [ряд серьезных уязвимостей][3] в одном из компонентов ядра мобильной ОС Android под названием Stagefright (библиотека для работы с файлами мультимедиа, например PDF). Первым о проблемах в компоненте Stagefright заявил исследователь из компании Zimperium Labs Джошуа Дрейк ([Joshua J. Drake][4]). Кроме того, об обнаружении серьезной уязвимости в Android [заявила][5] компания TrendMicro. [Читать дальше →][6]

[1]: https://habrastorage.org/files/4aa/1e4/e9d/4aa1e4e9d7bb490babcb48540f33ce1a.png
[2]: http://habrahabr.ru/company/pt/blog/263903/
[3]: http://www.kb.cert.org/vuls/id/924951#sthash.qdKGAWhq.dpuf
[4]: http://www.twitter.com/jduck
[5]: http://blog.trendmicro.com/trendlabs-security-intelligence/trend-micro-discovers-vulnerability-that-renders-android-devices-silent/
[6]: http://habrahabr.ru/post/263903/#habracut

[>] Без слайдов: интервью с Дмитрием Жемеровым из JetBrains
habra.15
habrabot(difrex,1) — All
2015-07-31 14:00:03


Сегодня пятница, а пятница на хабре — это отличный день для чего-то необычного. Сегодня я предлагаю вашему вниманию интервью с **Дмитрием [yole][1] Жемеровым**, человеком, который приложил руку и к IntelliJ IDEA, PyCharm, Kotlin и многим другим продуктам компании. О чем мы поговорили:

* как развивается IDEA, куда она движется
* в чем разница между IntelliJ и JetBrains
* зачем в компании два CEO
* что происходит в Kotlin'e
* с какими трудностями столкнулась команда Kotlin в процессе разработке языка
* что такое Language Design Review
* что из себя представляет современный Google
* почему закрылся Google Code
* почему хабр важен для разработчиков IDE






Под катом — то же самое в виде текста. [Интервью в текстовом виде][2]

[1]: http://habrahabr.ru/users/yole/
[2]: http://habrahabr.ru/post/263905/#habracut

[>] [Перевод] Реализация поискового движка с ранжированием на Python (Часть 2)
habra.15
habrabot(difrex,1) — All
2015-07-31 14:30:06


_В [предыдущей части][1] мы построили индекс, но мы всё ещё не можем выполнять запросы по нему. Про это я и расскажу в этой статье._

#### Выполнение запросов к индексу

Итак, есть два типа запросов, которые мы хотим обработать: стандартные запросы, где по крайней мере одно из слов в запросе появляется в документе и запросы с фразой, где все слова запроса встречаются в документе в том же порядке. Однако, прежде чем мы начнем, я бы рекомендовал обработать запрос так же, как мы обрабатывали документы, когда строили индекс, преобразовывая все слова, делая все буквы строчными и удаляя знаки препинания. Я не буду вдаваться в это, так как это тривиально, но это должно быть сделано перед выполнением запроса. _Примечание: во всех примерах кода ниже, каждая функция будет принимать в переменную с именем ‘invertedIndex’, которая генерируется в предыдущей части статьи._ Мы собираемся реализовать стандартные запросы в первую очередь. Простой способ реализовать их — разбить запрос на слова (маркеры, как описано выше), получить список за каждое слово, документы в которых они встречаются, а затем объединить все эти списки. Вот как мы выполним запрос для одного слова: [Читать дальше →][2]

[1]: http://habrahabr.ru/post/263823/
[2]: http://habrahabr.ru/post/263913/#habracut

[>] [Перевод] Очисти код свободными монадами
habra.15
habrabot(difrex,1) — All
2015-08-02 01:30:04


_От переводчика: Это вольный перевод статьи [«Purify code using free monads»][1] Габриэля Гонзалеса, посвященный использованию свободных монад для представления кода как синтаксического дерева с последующей управляемой интерпретацией. На хабре имеются другие статьи Габриэля — [«Кооперативные потоки с нуля в 33 строках на Хаскеле»][2] и [«Чем хороши свободные монады»][3]. Все замечания переводчика выделены курсивом. По всем замечаниям, связанным с переводом, обращайтесь в личку._ Опытные программисты на Хаскеле часто советуют новичкам делать программы настолько [чистыми][4], насколько это возможно. _Функция называется чистой, если она детерминированная (возвращаемое значение однозначно определяется значениями всех формальных аргументов) и не имеет побочных эффектов (то есть не изменяет состояние среды исполнения). В классической математике, λ-исчислении и комбинаторной логике все функции чистые._ Чистота предоставляет множество практических преимуществ:

* можно формально доказать какие-то свойства написанного кода,
* кроме того, можно легко обозревать код и сказать, что он делает,
* наконец, можно прогнать через [QuickCheck][5].

Для демонстрации я буду использовать такую простенькую программу `echo`:

import System.Exit

main = do x <- getLine
putStrLn x
exitSuccess
putStrLn "Finished"

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

[1]: http://www.haskellforall.com/2012/07/purify-code-using-free-monads.html
[2]: http://habrahabr.ru/post/195274/
[3]: http://habrahabr.ru/post/254715/
[4]: https://ru.wikipedia.org/wiki/Чистота_функции
[5]: http://hackage.haskell.org/package/QuickCheck
[6]: http://habrahabr.ru/post/263959/#habracut

[>] Управление разработкой программного продукта на основе рисков
habra.15
habrabot(difrex,1) — All
2015-08-02 14:00:02


![image][1] Эта статья адресована тем, кто имеет отношение к разработке программного продукта. Понимание принципов управление процессом разработки не менее важно, чем фактические знания технологий программирования. Статья не адресована только тем, кто хочет стать или работает руководителем проекта (Project Manager), Понимание принципов управления принесет пользу на любой должности и в любой команде. [Читать дальше →][2]

[1]: https://habrastorage.org/files/5ed/bb1/b08/5edbb1b080d84d0eaca1092606ab5cb5.png
[2]: http://habrahabr.ru/post/263969/#habracut

[>] Вероятностное программирование
habra.15
habrabot(difrex,1) — All
2015-08-02 20:30:03


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




Лекция была прочитана Борисом [hr0nix][1] Янгелем на факультете компьютерных наук, открытом в Высшей школе экономики при поддержке Яндекса. Сам Борис окончил ВМиК МГУ и Школу анализа данных Яндекса. Работал в Microsoft Research Cambridge в группе [Кристофера Бишопа][2] над фреймворком [Infer.NET][3]. Сейчас Борис — ведущий разработчик поиска Яндекса. Под катом — расшифровка рассказа. [Читать дальше →][4]

[1]: http://habrahabr.ru/users/hr0nix/
[2]: https://en.wikipedia.org/wiki/Christopher_Bishop
[3]: http://research.microsoft.com/en-us/um/cambridge/projects/infernet/
[4]: http://habrahabr.ru/post/263991/#habracut

[>] Генераторы непрерывно распределенных случайных величин
habra.15
habrabot(difrex,1) — All
2015-08-02 21:00:03




> Генератор случайных чисел во многом подобен сексу: когда он хорош — это прекрасно, когда он плох, все равно приятно (Джордж Марсалья, 1984)

Популярность стохастических алгоритмов все растет. Многие из них базируются на генерации большого количества различных случайных величин. Далеко не всегда равномерно распределенных. Здесь я попытался собрать информацию о быстрых и точных генераторах случайных величин с известными распределениями. Задачи могут быть разными, разными могут быть и критерии. Кому-то важно время генерации, кому-то — точность, кому-то — криптоустойчивость, кому-то — скорость сходимости. Лично я исходил из предположения, что мы имеем некий базовый генератор, возвращающий псевдослучайное целое число, равномерно распределенное от 0 до некого RAND\_MAX

unsigned long BasicRandGenerator() {
unsigned long randomVariable;
// some magic here
...
return randomVariable;
}


и что этот генератор достаточно быстрый. Я имею ввиду, что дешевле сгенерировать с десяток случайных чисел, нежели чем посчитать логарифм или возвести в степень одно из них. Это могут быть стандартные генераторы: std::rand(), rand в MATLAB, Java.util.Random и т.д. Но имейте ввиду, что подобные генераторы редко подходят для серьезной работы. Зачастую они проваливают разные статистические тесты. А также, помните, что вы полностью зависите от них и лучше использовать свой собственный генератор, чтобы иметь представление о его работе. В статье я буду рассказывать об алгоритмах, суть которых должна быть понятна каждому, кто хоть иногда сталкивался с теорией вероятностей. Совсем необязательно быть знакомым с теорией меры, как правило, достаточно примерно понимать, что из себя представляют функция распределения и функция плотности распределения:



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

#### Равномерное распределение





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

[1]: https://habrastorage.org/files/ccb/249/991/ccb24999157e4f0d9b268e4b6bb7374d.png
[2]: http://habrahabr.ru/post/263993/#habracut

[>] ФП8: Абсолютный клон
habra.15
habrabot(difrex,1) — All
2015-08-03 00:00:04


Ладно, вы не можете сделать интересную оригинальную игру, но вы не умеете даже делать клоны. А почему? Да всё очень просто — вы не умеете копировать. Не цените гениальное высказывание Леонардо да Винчи: кто умеет копировать, тот умеет делать. В чём же секрет правильного клона и почему большинство клонов из рук вон плохи? [Читать дальше →][1]

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

[>] [Перевод] Реализация поискового движка с ранжированием на Python (Часть 3)
habra.15
habrabot(difrex,1) — All
2015-08-03 12:00:02


_В [предыдущей части][1] мы узнали как выполнить запрос к построенному индексу и теперь мы можем получить ссылки на документы, в которых встречается то, что мы запросили. Но есть проблема: это просто список документов, в которой, возможно, есть то, что нам нужно. Он не отсортирован по важности, для нас, информации, содержащейся в документе. Про эту проблему мы и поговорим в этой части._

#### Ранжирование результатов запросов

Заключительным шагом в построении поискового движка является создание системы для ранжирования документов по их релевантности к запросу. Это наиболее сложная часть, поскольку она не имеет прямого технического решения: она требует творчества и вашего собственного взгляда. В этой мы реализуем TF-IDF ранжирование (от англ. TF — term frequency (частота слова) и IDF — inverse document frequency (обратная частота документа)), которое является одним из простейших способов сортировки наших документов. В этой части не будет никакого кода, но вы можете изучить финальную версию движка на [GitHub][2]. Мы только изучим теорию TF-IDF, а его реализация довольно проста, причем большая часть работы делается во время построения индекса. Так что, термин «частота» является первой частью нашей систему ранжирования? Ну, это именно то, что приходит на ум, когда вы его слышите: количество раз, которое встречается каждое слово в конкретном документе. Термин частота, как метрика, не учитывает запрос: он предполагает, что документ — это просто амбивалентный набор маркеров, и точное представление о нём можно получить всего лишь пересчитав, сколько раз каждый маркер (слово) встречается. Это не совсем точное предположение, но оно широко используется в области классификации документов. Формально, он больше известен как модель “мешок слов”. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/263913/
[2]: https://github.com/logicx24/Text-Search-Engine
[3]: http://habrahabr.ru/post/263983/#habracut

[>] Bitcoin на пределе? Ждут ли криптовалюту тяжелые времена
habra.15
habrabot(difrex,1) — All
2015-08-03 12:30:02


О плюсах, красоте и изяществе Bitcoin написано больше, чем много, майнеры строят фабрики, более-менее идет интеграция в ecommerce. Но не смотря на относительно короткую историю криптовалюты, уже можно заметить тревожные симптомы, которые, уже в недалеком будущем, могут сделать качество её работы неприемлемым или извратить её фундаментальные принципы. [Читать дальше →][1]

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

[>] Антивирусы под прицелом #2: взлом BitDefender и серьезные уязвимости в Symantec
habra.15
habrabot(difrex,1) — All
2015-08-03 13:00:03


[![][1]][2] Не так давно мы [писали][3] о том, что британские спецслужбы взламывали антивирусные продукты «Лаборатории Касперского», а исследователи из Google (Project Zero) — нашли серьезную уязвимость в продукте ESET NOD32. И надо сказать, что проблемы антивирусных компаний на этом не закончились. 31 июля СМИ растиражировали новость о [хакерской атаке][4], которая привела к краже учетных данных пользователей продуктов BitDefender, кроме того, в этот же день появилась информация об обнаружении целого ряда [серьезных уязвимостей][5] в защитном софте компании Symantec. [Читать дальше →][6]

[1]: https://habrastorage.org/files/160/748/790/1607487907744266876fa9672d8285df.png
[2]: http://habrahabr.ru/company/pt/blog/264013/
[3]: http://habrahabr.ru/company/pt/blog/261075/
[4]: http://thehackernews.com/2015/07/bitdefender-hacked.html?m=1
[5]: http://codewhitesec.blogspot.in/2015/07/symantec-endpoint-protection.html?m=1
[6]: http://habrahabr.ru/post/264013/#habracut

[>] Многофакторный LastPass
habra.15
habrabot(difrex,1) — All
2015-08-03 14:00:05


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

[1]: https://habrastorage.org/files/c76/83e/0ff/c7683e0fffaa4f8aa53bb40122eff9f4.png
[2]: http://habrahabr.ru/post/263963/#habracut

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... 37