[Из песочницы] ЯндексБот ходит по ссылкам, по которым ходит пользователь habrabot to All


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

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


Билайн автоматически добавляет тулбар и изменяет дизайн сайтов habrabot to All


![][1] ![][2] Не так давно я написал топик про [Билайн и их автоматическое добавление тулбара с поиском mail.ru][3]. Тогда в html код добавлялся java-script файл, который в свою очередь добавлял плашку с реферальным поиском mail.ru. Прошло 2 месяца и Билайн решил делать все по-другому. Вчера, просматривая сайты через мобильный интернет, я увидел, что на них стал отображаться обновленный тулбар от Билайн. Как его отключить было непонятно: кнопки закрытия не было, можно было только убрать его наверх, но все равно он виднелся на экране. Пришлось принять соглашение на продажу своих органов и только после этого появилась волшебная кнопка «Удалить тулбар навсегда». Я подумал, что на этом все закончилось, но как оказалось — я ошибся. [Читать дальше →][4]

[1]: https://habrastorage.org/files/a73/308/b5b/a73308b5b85246aa937aa382435a300f.png
[2]: https://habrastorage.org/files/ccd/caf/f3f/ccdcaff3f607428686003a112f585880.png
[3]: http://habrahabr.ru/post/257133/
[4]: http://habrahabr.ru/post/262687/#habracut


Баг в софте автомобилей Land Rover приводит к самопроизвольному отпиранию дверей habrabot to All


[![][1]][2] Автопроизводитель Land Rover [отзывает][3] более 65 000 автомобилей, чтобы исправить программный баг, который приводит к самопроизвольному отпиранию дверей автомобиля. При этом водитель не увидит никакого оповещения об открытии двери на приборной панели. Ошибка обнаружена на автомобилях Range Rover и Range Rover Sport, выпущенные начиная с 2012 года. Автопроизводитель заявил о том, что неисправность компьютерной системы не приводила к каким-либо инцидентам или травмам. Тем не менее, эта проблема в программном обеспечении также может приводить к повышению вероятности угона автомобилей — ошибке подвержены машины, зажигание в которых работает без ключа. [Читать дальше →][4]

[1]: https://habrastorage.org/files/995/479/f07/995479f07f1d42eba465a89f42e84cd4.jpg
[2]: http://habrahabr.ru/company/pt/blog/262663/
[3]: http://www.bbc.com/news/technology-33506486
[4]: http://habrahabr.ru/post/262663/#habracut


Самые интересные материалы о Visual Studio 2015 habrabot to All


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

[1]: http://habrastorage.org/getpro/habr/post_images/dc2/e30/b96/dc2e30b96cce28d0acf781e909f06be2.png
[2]: http://habrahabr.ru/post/262689/#habracut


Рейтинг Mail.Ru запустил проверку сайтов на вирусы habrabot to All


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

[1]: https://habrastorage.org/files/ddf/b97/def/ddfb97defa64480498ac126e2508b745.png
[2]: http://habrahabr.ru/post/262611/#habracut


Microsoft выпустила набор обновлений для своих продуктов, июль 2015 habrabot to All


Microsoft обновила свои продукты, закрыв в них большое количество уязвимостей. Всего было выпущено 4 обновления со статусом Critical и 10 со статусом Important. Обновлению подверглись ПО SQL Server, веб-браузер Internet Explorer, различные компоненты Windows и Office. Обновление [MS15-065][1], о котором мы уже [писали][2], исправляет 29 уязвимостей во всех версиях браузера Internet Explorer, включая, 0day RCE уязвимость CVE-2015-2425 в IE11 (Hacking Team 0day), которая, по данным MS, уже эксплуатируется itw. ![][3] Компания также закрыла другую 0day LPE уязвимость в Windows (CVE-2015-2387), эксплойт для которой находился в распоряжении Hacking Team. Мы писали про нее [ранее][4], уязвимость присутствует в системном компоненте atmfd.dll (Adobe Type Manager Font Driver) и позволяет повышать привилегии атакующего в системе. Уязвимость была закрыта обновлением [MS15-077][5]. Работающая версия эксплойта гуляет по сети и уязвимости присвоен статус «exploited itw». [Читать дальше →][6]

[1]: https://technet.microsoft.com/en-us/library/security/MS15-065
[2]: http://habrahabr.ru/company/eset/blog/262635/
[3]: http://habr.habrastorage.org/post_images/f1c/317/064/f1c3170644a18be60161ed0b987b6b74.jpg
[4]: http://habrahabr.ru/company/eset/blog/262061/
[5]: https://technet.microsoft.com/en-us/library/security/MS15-077
[6]: http://habrahabr.ru/post/262661/#habracut


Официальные форумы Epic Games взломаны habrabot to All


Официальные форумы Epic Games, [forums.epicgames.com][1], были взломаны. Был получен несанкционированный доступ к таким данным, как логин, e-mail, дата рождения, пароль. Интересно, что в официальном письме не сообщается, в каком виде хранились пароли, однако они будут сброшены всем пользователям во время следующего захода на forums.epicgames.com. В настоящее время форумы находятся оффлайн. [Читать дальше →][2]

[1]: https://forums.epicgames.com
[2]: http://habrahabr.ru/post/262639/#habracut


Курсы этичного хакинга для начинающих: новый набор habrabot to All


![][1] _«Если вам интересна информационная безопасность, и вы с восхищением смотрите на CTF, но не знаете, кого спросить и с чего начать — пройдите обучение в «Zero Security: A»_ «Zero Security: A» — курсы этичного хакинга от PENTESTIT, в которых под руководством опытных инструкторов вы освоите различный инструментарий тестирования на проникновение, изучите основы этичного хакинга: от разведки и сбора информации до закрепления в системе. Обучение включает в себя уникальные занятия, в том числе по социальной инженерии. [Читать дальше →][2]

[1]: https://habrastorage.org/files/0cc/70c/35c/0cc70c35cf46454db83cc6ec94f90a50.png
[2]: http://habrahabr.ru/post/262515/#habracut


Firefox блокирует плагин Adobe Flash Player habrabot to All


Adobe Flash Player неоднократно подвергался критике за большое количество известных уязвимостей в коде продукта. Накануне руководитель подразделения Facebook, отвечающего за информационную безопасность, призвал Adobe объявить дату окончания использования Flash в браузерах. Ранее Google в рамках борьбы с уязвимостями в Flash Player перевел Youtube на HTML5. Марк Шмидт, руководитель поддержки Firefox, заявил в своем твиттере, что отныне браузер Mozilla Firefox будет блокировать использование плагина Adobe Flash Player. Блокировка продлится до тех пор, пока не выйдет версия, устраняющая все известные на сегодняшний день уязвимости плагина. [Читать дальше →][1]

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


Firefox и Chrome блокируют плагин Adobe Flash Player habrabot to All


Adobe Flash Player неоднократно подвергался критике за большое количество известных уязвимостей в коде продукта. Накануне руководитель подразделения Facebook, отвечающего за информационную безопасность, призвал Adobe объявить дату окончания использования Flash в браузерах. Ранее Google в рамках борьбы с уязвимостями в Flash Player перевел Youtube на HTML5. Марк Шмидт, руководитель поддержки Firefox, заявил в своем твиттере, что отныне браузер Mozilla Firefox будет блокировать использование плагина Adobe Flash Player. Блокировка продлится до тех пор, пока не выйдет версия, устраняющая все известные на сегодняшний день уязвимости плагина. [Читать дальше →][1]

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


Релиз InfluxDB 0.9 habrabot to All


![image][1] Удивительно, но об этой подающей большие надежды Time Series DB довольно мало статей на хабре, всего 10, причём она упоминается там вскользь. А ведь версия 0.9 вышла довольно давно, больше месяца назад и была весьма ожидаемой. Итак, что же нового? [Читать дальше →][2]

[1]: https://habrastorage.org/files/06c/5fa/803/06c5fa8031a840dcbfb1cdd6c679e3ae.png
[2]: http://habrahabr.ru/post/262565/#habracut


Эффективное кодирование видео в Linux c Nvidia NVENC: часть 2, дополнительная habrabot to All


![][1] В [первой части][2] я рассказал о кодировании видео в Linux с использованием Nvidia NVENC. Как уже упоминалось ранее, Nvidia для десктопных видеокарт ограничивает количество потоков кодирования до двух сессий на систему. Данная часть посвящена борьбе с этим ограничением. [Читать дальше →][3]

[1]: https://habrastorage.org/files/713/0a9/d09/7130a9d0992649c99b895416493e31ce.png
[2]: http://habrahabr.ru/post/262507/
[3]: http://habrahabr.ru/post/262563/#habracut


Настройка файлового сервера Samba в корпоративной сети habrabot to All


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

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


Билайн вмешивается в трафик пользователей habrabot to All


Собственно история встраивания провайдером своих скриптов в посещаемые сайты не нова. Взять хотя бы эту [habrahabr.ru/post/142909][1]. Сегодня обнаружил аналогичную вставку у Билайна («Домашний интернет). Прямо через их фирменный роутер. Попробуйте набрать в браузере [192\.168.1.1/scwn.js][2]. Что-нибудь есть? Напоминаю, что **192\.168.1.1** — это ip вашего роутера. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/142909/
[2]: http://192.168.1.1/scwn.js
[3]: http://habrahabr.ru/post/262631/#habracut


Взлом сайта и его последствия habrabot to All


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

[1]: https://habrastorage.org/getpro/habr/post_images/970/eac/8e5/970eac8e5447b5b276f47b69cf3a22dc.png
[2]: http://habrahabr.ru/post/262579/#habracut


Как решать вступительный экзамен в Школу анализа данных Яндекса habrabot to All


Лето — время вступительных экзаменов. Прямо сейчас продолжается отбор в Школу анализа данных Яндекса. В ШАД преподают машинное обучение, компьютерное зрение, анализ текстов на естественном языке и другие направления современной Computer Science. Два года студенты изучают предметы, которые обычно не входят в университетские программы, хотя пользуются огромным спросом как в науке, так и в индустрии. Учиться можно не только в Москве — у Школы открыты филиалы в Екатеринбурге, Минске, Киеве, Новосибирске, Санкт-Петербурге. Есть и заочное отделение, на котором можно обучаться, смотря видеолекции и переписываясь с преподавателями московской Школы по почте.



Но для того, чтобы поступить в ШАД, нужно успешно пройти три этапа — заполнить анкету [на сайте][1], сдать вступительный экзамен и прийти на собеседование. Ежегодно в ШАД поступают старшекурсники, выпускники и аспиранты МГУ, МФТИ, ВШЭ, ИТМО, СПбГУ, УрФУ, НГУ и не все они справляются с нашими испытаниями. В этом году мы получили анкеты от 3500 человек, 1000 из которых была допущена к экзамену, и только 350 сдали его успешно. Для тех, кто хочет попробовать себя и понять, на что он способен, мы подготовили разбор вступительного экзамена этого года. С вариантом, который мы выбрали для вас, справились 56% решавших его. В этой таблице вы можете увидеть, сколько человек смогли решить каждое из заданий в нём.


























Но для начала хотелось бы объяснить, что мы проверяем экзаменом и как подходим к его составлению. В самые первые годы существования ШАД письменного экзамена не было, так как заявок было ещё немного, и со всеми, кто прошёл онлайн-тестирование, получалось поговорить лично. Но зато и собеседования были дольше; некоторые выпускники вспоминают, как с ними беседовали по шесть часов, предлагая много сложных задач. Потом поступающих стало больше – и в 2012 году появился письменный экзамен. [Читать дальше →][2]

[1]: https://yandexdataschool.ru/
[2]: http://habrahabr.ru/post/262543/#habracut


[Перевод] Такие удивительные семафоры habrabot to All


_**От переводчика:** Джефф Прешинг (Jeff Preshing) — канадский разработчик программного обеспечения, последние 12 лет работающий в Ubisoft Montreal. Он приложил руку к созданию таких известных франшиз как Rainbow Six, Child of Light и Assassin’s Creed. У себя в блоге он часто пишет об интересных аспектах параллельного программирования, особенно применительно к Game Dev. Сегодня я бы хотел представить на суд общественности перевод одной из статей Джеффа._ Поток должен ждать. Ждать до тех пор, пока не удастся получить эксклюзивный доступ к ресурсу или пока не появятся задачи для исполнения. Один из механизмов ожидания, при котором поток не ставится на исполнение планировщиком ядра ОС, реализуется при помощи **семафора**. Раньше я думал, что семафоры давно устарели. В 1960‑х, когда еще мало кто писал многопоточные программы, или любые другие программы, Эдсгер Дейкстра предложил идею нового механизма синхронизации — семафор. Я знал, что при помощи семафоров можно вести учет числа доступных ресурсов или создать неуклюжий аналог мьютекса, но этим, как я считал, область их применения ограничивается. [Читать дальше →][1]

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


Отчёт о прошедшей встрече Defcon Moscow habrabot to All


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

[1]: https://habrastorage.org/files/1ac/0fb/cda/1ac0fbcdad3c4671b03ec2c897c2705e.jpg
[2]: http://habrahabr.ru/post/262587/#habracut


Эффективное кодирование видео в Linux c Nvidia NVENC: часть 1, общая habrabot to All


![][1] Эта статья содержит практические сведения, полезные для организации эффективного кодирования видео на Linux с использованием последних видеопроцессоров Nvidia. Чем не является эта статья:

* Не является пособием по выбору технологии аппаратного кодирования или агитацией в пользу описываемой. Кроме Nvidia NVENC есть Intel QuickSync, есть AMD VCE, наверняка есть и ещё что-то. Все эти технологии имеют разные характеристики, которые трудно даже уложить на одну шкалу для сравнения. Тем не менее, я сделал свой выбор.
* Не является претензией на самый быстрый/качественный способ кодирования. По причинам, указанным выше.

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

[1]: https://habrastorage.org/getpro/habr/post_images/f2b/b19/3fd/f2bb193fd3810abce65e378904eef8ad.jpg
[2]: http://habrahabr.ru/post/262507/#habracut


[Перевод] «Под капотом» индексов Postgres habrabot to All


![][1] Индексы — один из самых мощных инструментов в реляционных базах данных. Мы используем их, когда нужно быстро найти какие-то значения, когда объединяем базы данных, когда нужно ускорить работу SQL-операторов и т.д. Но что представляют собой индексы? И как они помогают ускорять поиск по БД? Для ответа на эти вопросы я изучил исходный код PostgreSQL, отследив, как происходит поиск индекса для простого строкового значения. Я ожидал найти сложные алгоритмы и эффективные структуры данных. И нашёл. Здесь я расскажу о том, как устроены индексы и как они работают. Однако я не ожидал, что в их основе лежит информатика. В понимании подноготной индексов также помогли комментарии в коде, объясняющие не только как работает Postgres, но и почему он так работает. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/233/632/8ee/2336328ee2912f23086af105f76fa044.png
[2]: http://habrahabr.ru/post/261871/#habracut


[Из песочницы] Быстрая настройка резервного копирования под Linux и не только (UrBackup) habrabot to All


![][1] Примерно год назад у меня возникла «острая» необходимость перевести систему резервного копирования данных в корпоративной сети на бесплатные рельсы. До этого использовался платный продукт от Symantec, по нему, конечно, много нареканий, но он работал, хоть и не всегда справлялся. Как обычно, все надо было сделать «вчера», и я приступил к поиску вариантов. Для начала начал искать решение для резервного копирования файлов, очевидным решением было простая настройка скриптов на Linux по cron, но это не очень удобное и надежное решение, если серверов более одного(а у меня их около 50-ти) и структура достаточно динамична. Тем более если инфраструктура смешанная, Linux + Windows. Хотелось что-нибудь простое в дальнейшем обслуживании и извлечении самих копий, например, переложить восстановление пользовательских файлов на группу поддержки. Порывшись пару часов в интернете, я наткнулся на интересный проект UrBackup, он удовлетворял всем моим условиям. [Читать дальше →][2]

[1]: https://habrastorage.org/files/2f2/c4f/23b/2f2c4f23b03c4b9f85bac26093c6788b.PNG
[2]: http://habrahabr.ru/post/262499/#habracut


AOP или как написать свой велосипед для аналитики habrabot to All


![image][1] В крупных проектах, при реализации логики трекинга событий, часто встают перед проблемой загрязнения кода вызовами методов трекинга, неудобством явного связывания объектов с событиями и поддержкой этих событий при изменении моделей или ui поведения. Из-за вышеописанных причин, мне пришло в голову написать свой решение, которое конечно же, не уйдет дальше моего git репозитория и этой статьи. Кто не боится рефлексии и медленного кода — прошу под кат. [Читать дальше →][2]

[1]: https://habrastorage.org/files/613/78d/054/61378d054e774a619ea2f1a181f4173c.jpg
[2]: http://habrahabr.ru/post/262381/#habracut


[Из песочницы] Инструкция: внедряем HIDS OSSEC habrabot to All


OSSEC (Open Source Host-based Intrusion Detection System) – это хостовая система обнаружения вторжений. Если у вас появилась задача проверки контроля целостности файлов на ваших серверах, логирования различных действий на серверах, получения событий безопасности с ваших серверов (а также любых других) и оповещений об этих событиях, вывода различных отчетов и многое другое, то HIDS OSSEC — отличное решение под эти задачи. OSSEC может работать локально, по схеме агент + сервер и в гибридном режиме (агент->сервер->сервер). Мы будем рассматривать схему агент + сервер и работу в гибридном режиме.

#### Содержание

[Установка OSSEC][1] [Настройка конфигурационного файла OSSEC][2] [Добавление агентов][3] [Настройка конфигурационного файла для агентов][4] [Email оповещения][5] [Работа с агентами и получение отчетов][6] [Вывод данных в другие системы][7] [Работа OSSEC в гибридном режиме][8]

#### Установка OSSEC

Установим на ОС Ubuntu 14.04 Установим необходимые пакеты для установки OSSEC: [Читать дальше →][9]

[1]: #install
[2]: #config
[3]: #addagents
[4]: #agentconf
[5]: #email
[6]: #report
[7]: #output
[8]: #hybrid
[9]: http://habrahabr.ru/post/262479/#habracut


Обзор российского офисного пакета с открытыми исходными текстами OnlyOffice в InfoboxCloud habrabot to All


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




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

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


Visual Studio Code – редактор кода для Linux, OS X и Windows habrabot to All


За свою долгую историю существования Microsoft выпустил немало инструментов разработки. Но так уж сложилось что на слуху у всех только лишь Visual Studio – большая и мощная IDE «комбайн» предназначенная для всего и вся. Развивается этот продукт уже более двух десятков лет и вобрал в себя самые разные функции. Многим этот инструментарий нравится и иногда даже задавали вопрос – будет ли перенесен Visual Studio на другие платформы. На что чаще всего получали ответ нет. Наверное, понятно почему, в целом такое портирование будет дорогим и неоправданно сложным, уж очень много всего в этой IDE завязано на Windows. И вот, этой весной для многих неожиданностью было то что Microsoft представил новый продукт под названием Visual Studio Code, да еще и работающий сразу на трех платформах, Linux, OS X и Windows. Не замахиваясь на все функции полноценной IDE, внутри Microsoft решили переосмыслить подход, по которому строится основной инструментарий программиста и начали с самого главного – редактора кода. Visual Studio Code это именно редактор, но при этом обладающий функциями IDE, полагающийся на расширения. ![][1] Уже сейчас вы можете использовать Visual Studio Code для создания веб-проектов ASP.NET 5 или Node.js (в чем-то даже удобнее чем в «взрослой» Visual Studio), использовать различные языки, такие как JavaScript, TypeScript, C#, работать с пакетными менеджерами npm, скаффолдингом yeoman и даже осуществлять отладку. Плюсом ко всему будет отличный «интеллисенс», поддержка сниппетов кода, рефакторинг, навигация, многооконность, поддержка git и многое другое. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/314/36c/227/31436c227537a315ce3f8453f40b47b0.png
[2]: http://habrahabr.ru/post/262523/#habracut


Высокоуровневый С или пару слов о Cello habrabot to All


![image][1][Cello][2] — это библиотека, которая сделала высокоуровневый C возможным! Обобщения (generics), параметрический полиморфизм, интерфейсы, конструкторы/деструкторы, сборщик мусора (по желанию), исключения и рефлекция. Да-да, ты не ослышался, все эти плюхи в одном флаконе. Так как Cello построен в пределах стандарта С, в сухом остатке ты получишь все, что нужно живому человеку на земле: высокую производительность, мощный инструментарий и гибкие библиотеки. Talk is cheap, show me the code!

#include "Cello.h"

int main(int argc, char** argv) {

/* Stack objects are created using "$" */
var i0 = $(Int, 5);
var i2 = $(Int, 3);
var i2 = $(Int, 4);

/* Heap objects are created using "new" */
var items = new(Array, Int, i0, i1, i2);

/* Collections can be looped over */
foreach (item in items) {
print("Object %$ is of type %$\n",
item, type_of(item));
}

/* Heap objects destructed via Garbage Collection */
return 0;
}


ШОК! Зачем же мне теперь все эти ваши Go/D/Nim/<впиши>, если С на стероидах решает все проблемы рода человеческого?! Хочешь узнать о готовности Cello к продакшну и увидеть **еще больше кода**? Добро пожаловать подкат. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/b97/766/d83/b97766d83a7122492e5d1c2a76a2bfe2.png
[2]: http://libcello.org/
[3]: http://habrahabr.ru/post/262471/#habracut


Что дают профили антивируcной защиты? habrabot to All


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

[1]: http://habrahabr.ru/post/256147
[2]: http://habrahabr.ru/post/256735
[3]: http://habrahabr.ru/post/262413/#habracut


Чёрная археология датамайнинга: насколько опасны «сливы» больших данных habrabot to All


В 2014 году в сеть утекла большая, на 6 млн. записей, база паролей различных почтовых сервисов. Давайте посмотрим, насколько эти пароли актуальны сейчас, в 2015 году. ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/876/d6b/ba4/876d6bba4b754c5c89276dbaa7132cbc.png
[2]: http://habrahabr.ru/post/262305/#habracut


[Из песочницы] Делаем всё наоборот или портативный канал для безопасной передачи данных habrabot to All




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

Год назад, когда ещё был в 10 классе, я занялся криптографией. Точнее как занялся: в школе обязательно требовалось провести исследовательскую работу — вот я и решил исследовать шифр RSA. В связи с недостаточностью знаний для исследования на стойкость, было проведено довольно сомнительное исследование (с точки зрения полезности) на время генерации ключей и шифрования некоторого текста в зависимости от размера ключа на основе собственной реализации алгоритма. Заняв места на нескольких научно-практических конференциях, я почти оставил всю эту область. Чуть было даже код не потерял. Однако пока я писал RSA, начитался всякой всячины про то, как наши данные утекают в «водосточную трубу». И вот эта печальная мысль, провалявшись у меня в голове три месяца, обрела себя в идее нового проекта. Было решено сделать устройство, которое позволило бы сохранять хоть какую-то часть переписки в тайне [Читать дальше →][1]

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


Хакеры добрались до ракет Patriot? habrabot to All


[![][1]][2] В зарубежные СМИ попала [информация][3] о том, что неназванные хакеры смогли осуществить успешную атаку и отправлять команды произведенным в США и использовавшимися немецкой армией ракетам Patriot. Ракетные установки располагались на турецко-сирийской границе. Согласно данным немецкого журнала [Behörden Spiegel][4], натовские военные заметили «необъяснимые» приказы, которые были удаленно переданы ракетным комплексам, состоящим из шести пусковых установок и двух радаров. [Читать дальше →][5]

[1]: https://habrastorage.org/files/63e/f38/d08/63ef38d081e44fb886d4d5fc9b8abc87.jpg
[2]: http://habrahabr.ru/company/pt/blog/262459/
[3]: http://www.theregister.co.uk/2015/07/08/german_hackers_hijack_missiles/
[4]: http://www.behoerden-spiegel.de/icc/Internet/sub/c6a/c6a5fa87-cb16-e41b-ab31-9b27b988f2ee,,,aaaaaaaa-aaaa-aaaa-bbbb-000000000003&uMen=1f75009d-e07d-f011-4e64-494f59a5fb42.htm
[5]: http://habrahabr.ru/post/262459/#habracut


[Перевод] Анализ данных мира Facebook habrabot to All






_Перевод поста Стивена Вольфрама (Stephen Wolfram) "[Data Science of the Facebook World][1]". Выражаю огромную благодарность [Кириллу Гузенко][2] за помощь в переводе. [alizar][3] написал [краткую заметку][4] об этой статье и описанном в ней функционале Wolfram|Alpha и Wolfram Language. В нашем блоге мы приводим её полный перевод._

----

Миллионы человек в настоящее время пользуются нашим приложением "[Wolfram|Alpha персональная аналитика для Facebook][5]". И, как часть нашего [последнего обновления][6], в дополнение к сбору некоторых анонимных статистических данных, мы запустили программу «донорства данных», позволяющую людям поделиться с нами подробными данными, которые мы используем для научно-исследовательских целей. Несколько недель назад мы решили [проанализировать][7] все эти данные. И, должен сказать, что, это было ни чем иным, как потрясающим примером силы [_Mathematica_][8] и [Wolfram language][9] в науке о данных (это также хороший материал для курса по науке о данных, который я начал готовить). Мы всегда планировали использовать собираемые нами данные для улучшения нашей системы [персональной аналитики][10]. Но я не мог сопротивляться своим попыткам заодно и рассмотреть всё это с научной точки зрения. Мне всегда были интересны люди и их жизненные пути. Но у меня никогда не получалось объединить это с моими научными интересами. До этого момента. Последние несколько недель прошли весьма захватывающе в наблюдении тех результатов, которые мы получили. Одни были ожидаемыми, а другие были настолько непредсказуемыми, что я никогда бы и не предположил ничего подобного. И всё это напоминало о феноменах из моего труда [_A New Kind of Science_][11] (Новый вид науки). Так как же выглядят данные? Ниже приведены социальные сети несколько доноров данных — группы друзей разбиты по цвету (любой может найти свою собственную сеть, используя [Wolfram|Alpha][12] или функцию [**SocialMediaData**][13] в _Mathematica_ (_в последней версии Wolfram Language эта функция поддерживает работу с Facebook, GooglePlus, Instagram, LinkedIn, Twitter — прим. ред._)).



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

[1]: http://blog.wolfram.com/2013/04/24/data-science-of-the-facebook-world/
[2]: http://vk.com/ld742
[3]: http://habrahabr.ru/users/alizar/
[4]: http://habrahabr.ru/post/177931/
[5]: http://www.wolframalpha.com/facebook/
[6]: http://blog.wolframalpha.com/2013/01/23/introducing-expanded-personal-analytics-for-facebook/
[7]: http://blog.stephenwolfram.com/2013/03/talking-about-the-computational-future-at-sxsw-2013/
[8]: http://www.wolfram.com/mathematica/
[9]: http://www.wolfram.com/language
[10]: http://www.wolframalpha.com/facebook
[11]: http://www.wolframscience.com/
[12]: http://www.wolframalpha.com/facebook/
[13]: http://reference.wolfram.com/mathematica/ref/SocialMediaData.html
[14]: http://habrahabr.ru/post/262445/#habracut


Детектируем, разбираем, изучаем, паяем и глушим полицейские радары и лидары habrabot to All


Давным давно, в 1902 году, сидят в кустах трое полицейских (с интервалами в 1 милю), у каждого секундомер и телефон. Проносится мимо первого автомобиль, он тут же засекает время и звонит второму, второй делает математические вычисления и звонит третьему, а тот уже останавливает машину. ([пруф][1]) ![][2] «Антирадар» в разборе. (**Радар-детектор** — пассивный приемник сигналов полицейских радаров, предупреждающий водителя о необходимости соблюдать установленный скоростной режим.) Сегодня речь пойдет о приборах для радиоэлектронной борьбы на наших дорогах. Пока антирадары и радар-детекторы у нас не запрещены, то РЭБ у нас не ведется, но в некоторых странах война идет по полной. Мы же можем только подготовиться.

> _**Радиоэлектронная борьба** (РЭБ) — разновидность вооружённой борьбы, в ходе которой осуществляется воздействие радиоизлучениями (радиопомехами) на радиоэлектронные средства систем управления, связи и разведки противника в целях изменения качества циркулирующей в них военной информации, защита своих систем от аналогичных воздействий, а также изменение условий (свойств среды) распространения радиоволн._
>
> [Wikipedia][3]

Как противостоять тому, кто пытается снять о вас информацию без вашего ведома и как защитить свои «персональные данные» от несанкционированного съема. Радары, детекторы радаров, детекторы детекторов радаров. О том, какие бывают, как сделать/распилить самому и то и другое. [Читать дальше →][4]

[1]: http://www.radardetectormuseum.com/early-police-speed-detection.html
[2]: https://habrastorage.org/files/460/36d/e15/46036de15ebc4535b8e7ff8344f1af01.jpg
[3]: https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B1%D0%BE%D1%80%D1%8C%D0%B1%D0%B0
[4]: http://habrahabr.ru/post/261891/#habracut


Моделирование и анализ вычислительных процессов habrabot to All


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




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

[1]: http://www.hse.ru/staff/ryavorsky
[2]: http://www.hse.ru/edu/courses/152084023.html
[3]: http://www.hse.ru/edu/courses/152245334.html
[4]: http://habrahabr.ru/post/262423/#habracut


[Перевод] Entity Framework 6 (7) vs NHibernate 4: взгляд со стороны DDD habrabot to All


В сети уже есть довольно немало сравнений Entity Framework и NHibernate, но все они по большей части фокусируются на технической стороне вопроса. В этой статье я бы хотел сравнить эти две технологии с точки зрения Domain Driven Design (DDD). Мы рассмотрим несколько примеров кода и увидим как эти две ORM позволяют нам справляться со сложностями. [Читать дальше →][1]

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


Интересности из мира квайнов (100 языков, радиационно-устойчивый, часы, змейка) habrabot to All


![image][1]

### Эстафета из 100 языков программирования

Квайн — компьютерная программа, которая выдаёт на выходе точную копию своего исходного текста. Цепной квайн отличается от обычного тем, что на каждой последующей итерации выводится код на другом языке программирования, до тех пор, пока не выведется код оригинального квайна. В середине 2013 года японский программист Юсукэ Эндо (Yusuke Endoh) [разработал][2] цепной квайн, содержащий 50 языков программирования. В конце 2014 кода он опубликовал новую версию, включающую уже 100 языков! Исходники и информация о компиляции всех этих квайнов есть на гитхабе: [quine-relay][3]. Любопытно, что исходный код в виде картинки был написан не в ручную (что невозможно в принципе), а сгенерирован. Автор отмечает, что в течении года он опубликует книгу про обфусцированное программирование, которая будет включать в себя подробное объяснение о том, как писать квайны, ascii-art квайны, цепные квайны (подобные этой эстафете). [Далее][4]

[1]: https://habrastorage.org/getpro/habr/post_images/364/c45/1ef/364c451ef98af3201cc739a93a508dbc.png
[2]: http://habrahabr.ru/post/186782/
[3]: https://github.com/mame/quine-relay
[4]: http://habrahabr.ru/post/232781/#habracut


[recovery mode] Подписываем данные: HMAC на практике в API и Web-формах habrabot to All


HMAC (сокращение от англ. hash-based message authentication code, код проверки подлинности сообщений, использующий односторонние хеш-функции) — в криптографии, один из механизмов проверки целостности информации, позволяющий гарантировать то, что данные, передаваемые или хранящиеся в ненадёжной среде, не были изменены посторонними лицами (атака типа «man in the middle»). К таким данным могут относиться например данные, передаваемые в запросах API, когда критически важна целостность передаваемой информации, или же при передаче данных из Web-форм. [Читать дальше →][1]

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


[Перевод] 2 Пи или не 2 Пи — вот в чём вопрос habrabot to All






_Перевод поста Giorgia Fortuna "[2 Pi or Not 2 Pi?][1]". Выражаю огромную благодарность [Кириллу Гузенко][2] за помощь в переводе._

----

Три месяца назад мир (или по крайней мере мир гиков) праздновал день Пи (03.14.15...). Сегодня (6/28 — 28 июня 2015 г.) другой математический день — день 2π, или [день Тау][3] (2π = 6.28319...). Некоторые говорят, что день тау действительно является днём для празднования, и что **τ** (= 2π), а не π, должен быть самой важной константой. Все началось в 2001 году со вступительного слова знаменитого эссе [Боба Пале][4], математика из университета Юты:

> “Я знаю, что некоторые сочтут это богохульством, но я считаю, что π — это ошибка”.

Это вызвало в некоторых кругах празднование дня тау — или, как многие говорят, единственного дня, в который можно съесть два пи(рога) (2pies≈2π — игра слов в англ. языке). Однако правда ли то, что **τ** — константа получше? В современном мире это довольно просто проверить, а [Wolfram Language][5] делает эту задачу ещё проще (действительно, недавний пост в блоге Майкла Тротта [о датах в числе пи][6], вдохновлённый постом Стивена Вольфрама о праздновании [векового дня числа пи][7], весьма активно задействовал Wolfram Language). Я начала с рассмотрения 320000 препринтов на [arXiv.org][8] чтобы посмотреть, сколько в действительности формул содержат 2π по сравнению с теми, что содержат просто π или π с другими сомножителями. Вот облако из некоторых формул, построенное с помощью функции [**WordCloud**][9], содержащих 2π: [Читать дальше →][10]

[1]: http://blog.wolfram.com/2015/06/28/2-pi-or-not-2-pi/
[2]: http://vk.com/ld742
[3]: http://www.wolframalpha.com/input/?i=tau+day
[4]: http://www.math.utah.edu/~palais/pi.html
[5]: https://www.wolfram.com/language/
[6]: http://blog.wolfram.com/2015/06/23/dates-everywhere-in-pie-some-statistical-and-numerological-musings-about-the-occurrences-of-dates-in-the-digits-of-pi/
[7]: http://habrahabr.ru/company/wolfram/blog/252947/
[8]: http://arxiv.org/
[9]: http://reference.wolfram.com/language/ref/WordCloud.html
[10]: http://habrahabr.ru/post/262339/#habracut


[Из песочницы] Генерация и решение лабиринта с помощью метода поиска в глубину по графу habrabot to All


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

[1]: https://habrastorage.org/files/969/201/28e/96920128e9364d66b7d28258b20e329f.png
[2]: http://habrahabr.ru/post/176671/
[3]: http://habrahabr.ru/post/262345/#habracut


[Перевод] Сборщик мусора в Go: решение проблемы отзывчивости в Go 1.5 habrabot to All


_Данный материал представляет собой перевод блог поста, который в реальном времени ведут ребята из Sourcegraph с конференции GopherCon 2015, которая проходит в эти дни в Денвере, Колорадо. Полное видео и слайды доклада будут добавлены к посту, как только будут доступны._ Ричард Л. Хадсон (Рик) знаменит по своим работам в управлении памятью, включая изобретение алгоритмов Train, Sapphire и Mississippi Delta, а так же GC stack maps, которые позволили реализовать сборку мусора в статически-типизированных языках вроде Java, C# и Go. Под его авторством были опубликованы документы о рантаймах языков, управлении памятью, многопоточности, синхронизации, моделей памяти и транзакционной памяти. Сейчас Рик является одним из членов команды Go в Google и работает над проблемами сборщика мусора и рантайма. ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/ce4/897/ad0/ce4897ad07f34b8f8e1ed0270823e5de.jpg
[2]: http://habrahabr.ru/post/262335/#habracut


[Перевод] Эволюция Go habrabot to All






_Подошедший к концу GopherCon 2015, длившийся с 7 по 10 июля в Денвере, отметился немалым количеством интересных выступлений. Видео докладов еще недоступно, однако, конспекты некоторых из них доступны на английском языке [по этому адресу][1]; в официальном блоге также можно прочитать [программную речь Расса Кокса][2]. Вниманию читателей предлагается конспект доклада об истории создания языка, который открыл второй день конференции._ Роберт Грисмер ([@robertgriesemer][3]) — разработчик в Google, один из авторов языка Go. В прошлом Роберт работал над генерацией кода для высокопроизводительного JavaScript, занимался языком программирования Sawzall и разработкой современной реализации Smalltalk — [Strongtalk][4]. По собственному заявлению, он «провел слишком много времени в виртуальных Java-машинах, но так и не понял, как ими пользоваться». Интерес Роберта к языкам программирования возник при знакомстве с Pascal — до этого момента он в основном писал на BASIC. Будучи аспирантом, он обучался у Никлауса Вирта, создателя Pascal. Когда Роберт закончил учебу и окунулся в реальный мир индустрии профессионального программирования, то почувствовал себя так, словно совершил огромный шаг назад. Во время обучения в академии он использовал Оберон — язык, позволяющий программисту достигать очень высокой личной эффективности. Теперь же Роберт тратил свое время на размышления о языках программирования в надежде придумать способ, как ему вернуться на былой уровень производительности. После 15 лет опыта программирования на С++ он понял, что впереди у него только два пути: или продаться, или спасаться. Вместе с Робом Пайком и Кеном Томпсоном они выбрали второй вариант. [Читать дальше →][5]

[1]: https://sourcegraph.com/blog/live/gophercon2015/
[2]: http://blog.golang.org/open-source
[3]: https://twitter.com/robertgriesemer
[4]: http://www.strongtalk.org/
[5]: http://habrahabr.ru/post/262295/#habracut


В Adobe Flash Player обнаружена очередная критическая уязвимость habrabot to All


Компания Adobe выпустила второе за неделю уведомление безопасности [APSA15-04][1], которое посвящено критической RCE уязвимости CVE-2015-5122. Как и ее предшественница, эта уязвимость позволяет удаленно исполнять код в популярных браузерах и обходить механизм sandbox. Эксплойт для этой уязвимости также находился в архиве с [утекшими данными Hacking Team][2]. Рабочая версия эксплойта уже размещена в сети тем же автором, который ранее публиковал [эксплойт для CVE-2015-5119][3]. ![][4] Существует серьезная опасность встраивания этого 0day эксплойта в популярные наборы эксплойтов для установки вредоносных программ на полностью обновленные up-to-date версии Windows, при чем это может быть сделано в самое ближайшее время. Эксплойт для прошлой 0day уязвимости Flash Player CVE-2015-5119 за несколько дней был адаптирован для использования сразу в шести наборах эксплойтов. [Читать дальше →][5]

[1]: https://helpx.adobe.com/security/products/flash-player/apsa15-04.html
[2]: http://habrahabr.ru/company/eset/blog/261887/
[3]: http://habrahabr.ru/company/eset/blog/261979/
[4]: http://habr.habrastorage.org/post_images/7d0/bd9/84a/7d0bd984afd2bb9901c5014a5b3649c9.jpg
[5]: http://habrahabr.ru/post/262319/#habracut


Подводные камни WPF habrabot to All


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

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


Развёртывание приложений Qt в Windows habrabot to All


![][1]

### Вступление

Добрый день, уважаемые читатели! Совсем недавно я завершил разработку одного своего приложения на Qt, и мне захотелось создать профессиональную программу установки, чтобы всё было «как у взрослых». Как оказалось, сделать это непросто, учитывая, что на официальном сайте инструментария информации по развёртыванию почти нет. В данной статье рассмотрены некоторые этапы подготовки программ на Qt версии 5.2 или выше для распространения на компьютеры других пользователей. Итак, вот план руководства:

1. Подготовка проекта Qt к развёртыванию
2. Компоновка дистрибутива программы
3. Подписание кода и создание установщика

Не будем терять времени и приступим к работе. [Читать дальше →][2]

[1]: https://habrastorage.org/files/c8a/245/ec3/c8a245ec38834c6493fde1356950d7e6.png
[2]: http://habrahabr.ru/post/262211/#habracut


Не PKI единым или соцпакеты для сотрудников habrabot to All


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

[1]: http://www.rutoken.ru/products/all/
[2]: http://www.guardant.ru/products/all/
[3]: http://habrahabr.ru/post/262275/#habracut


История роутинга в проекте MAPS.ME habrabot to All


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

[1]: https://habrastorage.org/files/dc1/c72/176/dc1c72176e964990b51cc00fe0cce349.png
[2]: http://habrahabr.ru/post/262185/#habracut


[Перевод] Как нейронные сети рисуют картины habrabot to All


Умные алгоритмы уже умеют [находить][1] и распознавать лица, [определять][2] главную часть картинки, узнавать различные предметы. А нейронные сети пошли дальше и даже могут самостоятельно создавать произведения искусства. Недавно Google на своем [блоге][3] опубликовали интересный способ использования нейронных сетей, распознающих картинки. Далее свободный перевод публикации. [![image][4]][5] [Читать дальше →][6]

[1]: https://i.onthe.io/face_detector
[2]: https://i.onthe.io/crop
[3]: http://googleresearch.blogspot.co.uk/2015/06/inceptionism-going-deeper-into-neural.html
[4]: https://habrastorage.org/getpro/habr/post_images/2e4/22a/66e/2e422a66e22b48f5df17980214caaa5f.jpg
[5]: http://habrahabr.ru/company/io/blog/262215/
[6]: http://habrahabr.ru/post/262267/#habracut


[Из песочницы] Взгляд со стороны: Стандарт IEEE754 habrabot to All


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

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


[Перевод] Немного о защите идентификаторов веб-сессий habrabot to All


_Предлагаем вашему вниманию перевод статьи из блога [Eran Hammer][1] — создателя фреймворка hapi.js. На этот раз речь пойдет об обеспечении безопасности идентификаторов сессий._ [![][2]][3] На Github прозвучал [вопрос][4] о том, зачем в [Node.js-фреймворке][5] Express к идентификационной cookie сессии добавляется хэш-суффикс? Отличный вопрос. Но сначала небольшой дисклеймер: как и любой другой совет по безопасности от человека, не знакомого со спецификой конкретной системы, рассматривать все, что будет написано ниже, следует лишь с образовательной точки зрения. Безопасность — это сложная и крайне специфичная область знаний, поэтому, если обеспечение должного уровня защиты критически важно для конкретной компании, ей следует нанять выделенного ИБ-специалиста или обратиться к услугам профессионалов по защите информации. [Читать дальше →][6]

[1]: https://github.com/hueniverse
[2]: https://habrastorage.org/files/bc9/483/17c/bc948317c87e41cfb26dba5033b89699.png
[3]: http://habrahabr.ru/company/pt/blog/262251/
[4]: https://github.com/expressjs/session/issues/176
[5]: https://github.com/expressjs/session
[6]: http://habrahabr.ru/post/262251/#habracut


[Из песочницы] Инструкция: Как создавать ботов в Telegram habrabot to All


24 июня разработчики Telegram [открыли][1] платформу для создания ботов. Новость кого-то обошла стороной Хабр, однако многие уже начали разрабатывать викторины. При этом мало где указаны хоть какие-то примеры работающих ботов. [Попробую это исправить][2]

[1]: https://core.telegram.org/bots
[2]: http://habrahabr.ru/post/262247/#habracut


Делаем домашнюю ферму для рендеринга видео habrabot to All


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

[1]: http://habrahabr.ru/company/hp/blog/80581/
[2]: http://habrahabr.ru/post/260837/#habracut


Третья часть видеоуроков по Irrlicht Engine в Linux. Создаем 3D игры в OpenSource habrabot to All


После публикации видеоуроков произошел наплыв вопросов из самых разных категорий. Поднакопив немного вопросов было решено записать еще три видеоурока. Скажу сразу, что это только одни ИЗ возможных вариантов реализации. Irrlicht очень гибкий движок и позволяет создать всё, что угодно. Уроки ориентировал именно на новичков, в частности тех, кто пришел из Blitz3D и не привык работать в C++ да еще и с Irrlicht. [Читать дальше →][1]

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


[Перевод] Использование Lisp в продакшене habrabot to All


В Grammarly основа нашего бизнеса — центральный языковой движок — написан на Common Lisp. Сейчас движок обрабатывает более чем тысячу предложений в секунду, масштабируется горизонтально и надежно служит нам в продакшене почти 3 года. Мы заметили, что почти нет постов о развертывании Lisp софта в современной облачной инфраструктуре, поэтому мы решили, что поделиться нашим опытом будет хорошей идеей. Рантайм и среда программирования Lisp'а предоставляют несколько уникальных, немного непривычных, возможностей для поддержки продакшн систем (для нетерпеливых — они описаны в последней части).

#### Wut Lisp?!!

![][1] Вопреки распространенному мнению, Lisp это невероятно практичный язык для создания продакшн систем. Вобще говоря, вокруг нас много Lisp-систем: когда вы ищите авиа-билет на Hipmunk или едете в метро в Лондоне, используются Lisp-программы. [Читать дальше →][2]

[1]: https://habrastorage.org/files/d37/fa5/6ef/d37fa56ef80e48e09778c89bd1e2732d.jpg
[2]: http://habrahabr.ru/post/262225/#habracut


ASP.NET 5 beta5 в Visual Studio 2015 habrabot to All


Несколько дней назад вышла новая бета-версия ASP.NET 5 — beta5. Оказалось, что в новой версии довольно много нововведений и мигрировать с предыдущей бета-версии не так уже просто. Рассмотрим главные новшества и как модернизировать стандартный шаблон ASP.NET 5 проекта с Visual Studio чтобы полностью перейти на новую версию. + сорсы + тест на базе статьи + видео последнего ASP.NET Community Standup




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

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


Пишем свой упрощенный OpenGL на Rust — часть 2 (проволочный рендер) habrabot to All


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

[1]: http://habrahabr.ru/post/261629/
[2]: http://habrahabr.ru/post/248153/
[3]: http://habrahabr.ru/users/haqreu/
[4]: https://habrastorage.org/files/ee3/92e/45d/ee392e45d85e4b879e559864b2233841.png
[5]: http://habrahabr.ru/post/261739/#habracut


[Перевод] Использование потенциальных полей в сценарии стратегии реального времени habrabot to All


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

[1]: https://habrastorage.org/files/8d4/8ea/d25/8d48ead251424685b06447bb568513db.png
[2]: http://habrahabr.ru/post/262181/#habracut


[Из песочницы] Использование Lisp в продакшене habrabot to All


В Grammary основа нашего бизнеса — центральный языковой движок, он написан на Common Lisp. Сейчас движок обрабатывает более чем тысячу предложений в секунду, масштабируется горизонтально и надежно служит нам в продакшене почти 3 года. Мы заметили, что почти нет постов о развертывании Lisp софта в современной облачной инфраструктуре, поэтому мы решили что поделиться нашим опытом идеей будет хорошей идеей. Рантайм и среда программирования Lisp'а предоставляют несколько уникальных, немного непривычных, возможностей для поддержки продакшн систем (для нетерпеливых — они описаны в последней части).

#### Wut Lisp?!!

![][1] Вопреки распространенному мнению, Lisp это невероятно практичный язык для создания продакшн систем. Вобще говоря, вокруг нас много Lisp-систем: когда вы ищите авиа-билет на Hipmunk или едете на метро в Лондоне, используются Lisp-программы. [Читать дальше →][2]

[1]: https://habrastorage.org/files/d37/fa5/6ef/d37fa56ef80e48e09778c89bd1e2732d.jpg
[2]: http://habrahabr.ru/post/262153/#habracut


[Из песочницы] Компактная инсталляция FreeBSD 10 для центра сертификации habrabot to All


Однажды возникла необходимость в подчинённом, в рамках имеющейся инфраструктуры центре сертификации для 'выездного' использования — создания временных технологических сертификатов во время различных разъездов. Необходимо было сделать его мобильным и разумно, для данных целей, защищённым. Приемлемым был признан вариант с загрузочной флешкой с каким-нибудь \*nix + openssl и типовым сценарием использования — имеющийся под рукой компьютер перезагружаем, вставляем флешку, загружаемся с неё, работаем, вытаскиваем флешку, перезагружаем компьютер. Секретные ключи данного ЦС, его файлы конфигурации, ключевые файлы для двухфакторной аутентификации могут быть вынесены на отдельные носители. Начался выбора дистрибутива \*nix. Требования были следующие:

* дистрибутив должен быть поддерживаемым в актуальном состоянии, в том числе и OpenSSL
* наличие i386 версии. Гигабайты памяти нам не понадобятся, а вот возможность запуска на нетбуке с x86 Intel Atom будет полезна
* запуск системы из оперативной памяти, либо корректный запуск и работа с r/o разделов. В идеале, корректная работа с флешки при включенной защите от записи (при использовании Qumo серии Yin & Yan)
* возможность компактной инсталляции
* желателен достаточно большой срок поддержки релиза

В результате в финал вышли два дистрибутива — Alpine Linux и OpenBSD. Всё бы хорошо, и не было бы смысла писать эту статью, как ВНЕЗАПНО уточнились требования к операционной системе — потребовалась полная поддержка русского текста в Unicode в системной консоли. На ввод и на вывод. Ну всё, приплыли. Оба финалиста выбыли из соревнования. Alpine Linux в силу используемой в нём компактной библиотеки C, а OpenBSD… ну, у неё другие сильные стороны. Однако это требование позволило иначе взглянуть на доступные дистрибутивы, и в фаворитах неожиданно оказалась FreeBSD. Консольный драйвер vt (ранее известный как newcons) поддерживает Unicode «из коробки», русские шрифты идут в комплекте, вышеописанные критерии в сумме исполняются достаточно полно. Бонусом можно реализовать возможность оффлайнового бинарного обновления системы на флешке. Началось изучение возможности компактной инсталляции стандартными способами. Готовые наборы — tinybsd, nanobsd, picobsd произвели впечатление «старый, древний, ещё древнее». Одни только расчёты секторов, головок, цилиндров для разных типов флешек в picobsd… Прям времена MFM, RLL, ST-506… Творения отдельных энтузиастов, различные miniBSD, easyBSD, mfsBSD выглядели поинтереснее, но в итоге всё равно было решено поиграть в доброго доктора Франкенштейна. В данном примере мы сделаем загрузочную флешку с:

* компактной инсталляцией FreeBSD 10.1
* русифицированной системной консолью в Unicode
* корневым разделом, монтирующимся в памяти
* разделом для скриптов и файлов конфигурации нашего ЦС
* шифрованным разделом для секретных ключей ЦС
* FAT разделом для обмена с внешними системами запросами на сертификат и подписанными сертификатами
* возможностью оффлайнового обновления системы
* возможностью выбора ядра при загрузке (минимальное + GENERIC)
* возможностью выбора образа системы при загрузке (эталонный + обновлённый до последней версии FreeBSD)

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

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


Интервью с координатором проекта Code Club по обучению детей 9-11 лет основам программирования habrabot to All


**Добрый день, Иван** Здравствуйте **Расскажите, пожалуйста, что такое проект Code Club, с чего он начинался, кто его придумал?** Code Club — это британская инициатива по обучению детей 9-11 лет основам программирования. Она возникла около трех лет назад и с тех пор бурно развивается — в начале в самой Великобритании, а спустя некоторое время и по всему миру. В Великобритании сейчас уже более 2000 локаций, там это всё поддерживается на государственном уровне: есть база волонтёров, есть база локаций — всё очень серьёзно организовано. После перехода рубежа в 1000 локаций проект начал выходить на международный уровень. Примерно с лета 2013 года заработал сайт [codeclubworld.org][1] — занимаются им те же британцы, но задача у них уже более глобальная: координировать обучение детей программированию по всему миру, дать возможность каждому ребёнку получить знания об основах информатики. Тогда же, летом 2013-го года было объявлено о старте осенью проекта Code Club в Украине. Были названы первые города, в которых планировалось открытие первых локаций и были контактные данные координатора. Так всё начиналось. ![][2] **Что входит в программу обучения?** Первые семестры проекта Code Club рассказывают о разработке программ с помощью визуального программирования. Мы учим детей работе в среде [Scratch][3] — это разработка MIT, которая создавалась именно под возраст 9-11 лет. В следующих семестрах Code Club изучается HTML, CSS и Python. [Читать дальше →][4]

[1]: http://codeclubworld.org
[2]: https://habrastorage.org/files/cc6/dab/da8/cc6dabda8aa842b39dfab3013a881fe3.jpg
[3]: https://scratch.mit.edu/
[4]: http://habrahabr.ru/post/262087/#habracut


Wallix vs balabit. Сравнение ПО по контролю админов [rdp] habrabot to All


Все чаще крупные компании задумываются о контроле и отслеживанию доступа к критичным для бизнеса серверам. Кто зашел, что сделал и когда? Встроенное логирование не всегда удобно и «читабельно», и вот на российский рынок постепенно стали выходить продукты по «контролю привилегированных пользователей». Мне показалось интересным сравнить два «основных» продукта этой линейки, а именно Balabit Shell Control Box и Wallix Admin Bastion. _Примечание: Для сокращения объема статьи сравнение будет только в разрезе протокола rdp и функционала в целом, в результате чего имеет относительно общий характер. Протокол ssh также поддерживается данными продуктами, однако в этой статье он НЕ рассматривается, чтобы не мешать все «в одну кучу»._ ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/825/fe1/a44/825fe1a449c94b078d5bc5ae087a7b48.png
[2]: http://habrahabr.ru/post/262083/#habracut


Сетевая безопасность, Часть 2. Next-Generation Firewall habrabot to All


Если посмотреть на интерактивную [карту текущих кибер-атак][1], происходящих в мире, в режиме реального времени, то становится очевидно, что единственное место, где нет криминальной кибер-активности на Земле – это Антарктида. 2014 год был богат на громкие взломы и утечки данных. Взлом Apple iCloud с последующим выкладыванием в сеть интимных фотографий разных известных людей, утечка данных 80 миллионов клиентов из JP Morgan, троян в Regin на компьютерах администрации ЕС, взлом eBay, взлом Home Depot, DDoS-атака на сайт Кремля, взломы сети Московского метро и т.д. Однако взлом Sony Entertainment замечателен тем, что за последние три года инфраструктура компании взломана уже как минимум третий раз. Поэтому, прежде чем говорить о современных средствах сетевой защиты, я кратко опишу стратегию реализации сетевой атаки на примере одной из самых известных атак последнего времени – атаки на Sony Pictures Entertainment 2014. Несколько слов о том, что, собственно, произошло. В пятницу, 21 ноября 2014 года, руководители Sony получили письмо с предложением заплатить определённую сумму за то, чтобы ИТ-инфраструктура Sony избежала «массированной бомбардировки». Письму не придали значения, у многих руководителей оно попало в спам, но уже 24 ноября 2014 года сотрудники Sony, придя в понедельник утром на работу, увидели у себя на мониторах следующую картинку: [][2]



Большинство компьютеров и ИТ сервисов компании было неработоспособно. Как утверждают некоторые источники, в течении нескольких следующих дней сотрудники Sony не пользовались рабочими компьютерами и работали при помощи ручки и бумаги. По ходу этой атаки (считают, что скрытая фаза атаки развивалась от нескольких месяцев до года) из Sony утекли данные (по некоторым оценкам, общим объёмом до 100 терабайт) на миллионы долларов. Впоследствии хакеры выложили в сеть несколько новых, ещё не выпущенных на экраны фильмов и большое количество конфиденциальной информации, включая личные данные сотрудников. По разным оценкам, примерный совокупный ущерб от этой атаки составил порядка 100 миллионов долларов. Как это произошло и, главное, почему? [Читать дальше →][3]

[1]: http://cybermap.kaspersky.com/
[2]: http://habrahabr.ru/company/hp/blog/262123/
[3]: http://habrahabr.ru/post/262123/#habracut


Продолжение видеоуроков по созданию 3D игр в Linux habrabot to All


Продолжаю серию видеоуроков по работе с движком Irrlicht и Code::Blocks в операционной системе Linux. Записано еще несколько уроков для новичков (нумерация в порядке публикации): 4. [07 июля 2015] Вращение куба и нормализация игрового цикла. Добавление FPS в игровой цикл.




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

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


[Перевод] Топ-10 data mining-алгоритмов простым языком habrabot to All


[![][1]][2] **Примечание переводчика**: _Мы довольно часто пишем об алгоритмической торговле (вот, например, [список литературы][3] по этой теме и соответствующие [образовательные курсы][4]), сегодня же речь пойдет непосредственно об алгоритмах, которые можно использовать для анализа различных данных (в том числе на финансовом рынке). Материал является адаптированным переводом статьи американского раработчика и аналитика Рэя Ли. _ Сегодня я постараюсь объяснить простыми словами принципы работы 10 самых эффективных data mining-алгоритмов, которые описаны в [этом][5] докладе. Когда вы узнаете, что они собой представляют, как работают, что делают и где применяются, я надеюсь, что вы используете эту статью в качестве отправной точки для дальнейшего изучения принципов data mining. [Читать дальше →][6]

[1]: https://habrastorage.org/files/2a2/cb0/c9b/2a2cb0c9b07840faa2a3998478a7b793.jpg
[2]: http://habrahabr.ru/company/itinvest/blog/262155/
[3]: http://habrahabr.ru/company/itinvest/blog/257971/
[4]: http://www.itinvest.ru/education/dist_course/
[5]: http://www.cs.uvm.edu/~icdm/algorithms/10Algorithms-08.pdf
[6]: http://habrahabr.ru/post/262155/#habracut


[Из песочницы] Почему мы шифруем habrabot to All


_Предлагаю читателям «Хабрахабра» перевод текста [«Why we encrypt»][1] авторства гуру информационной безопасности [Брюса Шнайера][2]._ Шифрование защищает наши данные. Оно защищает наши данные на компьютерах и в дата-центрах, защищает их во время передачи через интернет. Защищает наши видео-, аудио- и текстовые разговоры. Защищает нашу частную информацию. Защищает нашу анонимность. Иногда защищает наши жизни. Эта защита важна для каждого. Легко увидеть, как шифрование защищает журналистов, правозащитников и политических деятелей в авторитарных странах. Но шифрование также защищает и всех остальных. Защищает наши данные от преступников. Защищает от конкурентов, соседей и членов семьи. Защищает от злонамеренных атак и случайных инцидентов. [Читать дальше →][3]

[1]: https://www.schneier.com/blog/archives/2015/06/why_we_encrypt.html
[2]: https://www.schneier.com/about.html
[3]: http://habrahabr.ru/post/262103/#habracut


Искусство командной строки habrabot to All


Вот уже как неделю английская версия **the art of command line** висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне [сюда][1] или автору оригинальной работы [Joshua Levy][2] [вот сюда][3]. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо [jtraub][4] за помощь и исправление опечаток. [Enjoy!][5]

[1]: https://github.com/olegberman/the-art-of-command-line
[2]: https://github.com/jlevy
[3]: https://github.com/jlevy/the-art-of-command-line
[4]: http://habrahabr.ru/users/jtraub/
[5]: http://habrahabr.ru/post/262127/#habracut


Безумные опыты по «внедрению» Windows 3.11 продолжаются habrabot to All


Команда ReactOS [продолжила][1] усовершенствование компонента NTVDM, и теперь для запуска Windows 3.11 внутри ReactOS не потребуется дополнительных сторонних программ. ![][2] [Видео-ролик с процессом установки и запуска под катом][3]

[1]: http://habrahabr.ru/company/reactos/blog/254985/
[2]: https://habrastorage.org/files/091/4fe/ea9/0914feea9a614b769020c38f81fb7405.jpg
[3]: http://habrahabr.ru/post/262113/#habracut


Критичное обновление OpenSSL уже завтра habrabot to All


![][1] Соскучились по критичным обновлениям OpenSSL? Не забудьте завтра пропатчиться.

The OpenSSL project team would like to announce the forthcoming release of OpenSSL versions 1.0.2d and 1.0.1p.
These releases will be made available on 9th July. They will fix a single security defect classified as «high» severity. This defect does not affect the 1.0.0 or 0.9.8 releases.



[][2]

[1]: https://habrastorage.org/files/0f0/826/7cc/0f08267ccd794d918f0c463b624ba9cc.png
[2]: http://habrahabr.ru/post/262111/#habracut


[Из песочницы] Алгоритмы атаки и защиты мобильной рекламной сети habrabot to All


Хотел бы рассказать о мобильных рекламных сетях, об их системе защиты и способах её обхода. **Способы обхода систем защиты применялись только в образовательных целях.** Также замечу, что алгоритмы атак, представленные здесь, справедливы для любых платформ, однако в примере приводится работа Android, т.к. атаки на его код самые простые для описания. [Читать дальше →][1]

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


11 продуктов для решения IT-задач компании habrabot to All


“Что для вас современное программное обеспечение для офиса? Какие IT-задачи поставлены перед вами?” — именно с такими вопросами мы обратились к представителям малого и среднего бизнеса (SMB) с целью понять их осведомленность, степень готовности и способы решения IT-проблем. В результате опроса обнаружилась довольно низкая информированность о возможных предложениях на рынке софта. Почему так происходит? — Догадаться не сложно. Во-первых, в условиях высокой конкуренции в приоритете производственная деятельность и продажи, на продумывание поиска и выбора ПО для офиса элементарно не остается времени. Во-вторых, цена популярных продуктов для сегмента SMB кусается. Именно для таких компаний мы подготовили выборку из 11 надёжных, недорогих и простых, но в то же время нужных решений для организации эффективной работы офиса, а также провели тестирование совместимости некоторых из них между собой, а также с корпоративным решением IT-безопасности — Traffic Inspector. [![][1]][2] [Читать дальше →][3]

[1]: https://habrastorage.org/files/c25/73e/164/c2573e164e8c47538c4158cf19315860.jpg
[2]: http://habrahabr.ru/company/smart_soft/blog/261659/
[3]: http://habrahabr.ru/post/261659/#habracut


[Из песочницы] Поиск почти-дубликатов и геометрия habrabot to All


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

## Формулировка

Есть большая база текстов (сотни тысяч текстов). Длины текстов примерно одинаковые, около 250 символов, язык — английский. Некоторые из текстов отредактированы (исправлены опечатки, расставлены запятые и т.п.); таким образом в базе оказывается как оригинальный текст, так и его исправленная копия. Таких пар не очень много, скажем не более 1%. Задача: найти все такие пары. [Читать дальше →][1]

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


[Из песочницы] RabbitMQ Spring tutorial habrabot to All


На сайте [rabbitmq.com][1] уже есть подробные примеры и клиент для java. Однако если в проекте уже используется спринг, то намного удобнее использовать библиотеку [Spring AMQP][2]. Эта статья содержит реализацию [всех шести][3] официальных примеров работы с RabbitMQ. [Читать дальше →][4]

[1]: http://www.rabbitmq.com/
[2]: http://projects.spring.io/spring-amqp/
[3]: http://www.rabbitmq.com/getstarted.html
[4]: http://habrahabr.ru/post/262069/#habracut


Новый PhpStorm 9: постоянное движение вперед. Postfix code completion для PHP, Inline Debugger и многое другое habrabot to All


Привет, Хабр! [][1]Спешу сообщить о свежем релизе [PhpStorm 9][2] — новой версии IDE для разработки на PHP от JetBrains. Прогресс не заставит себя ждать, ведь в PhpStorm 9 мы улучшили возможности для редактирования кода и отладки, углубили понимание кода, реализовали дополнительные средства повышения продуктивности, а также довели до конца поддержку удаленной разработки. [Читать дальше →][3]

[1]: https://www.jetbrains.com/phpstorm/whatsnew/
[2]: http://www.jetbrains.com/phpstorm/whatsnew/
[3]: http://habrahabr.ru/post/261939/#habracut


11 продуктов для решения задач IT-безопасности компании habrabot to All


“Что для вас информационная безопасность? Каких угроз вы опасаетесь? Как с ними боретесь?” — именно с такими вопросами мы обратились к представителям малого и среднего бизнеса (SMB) с целью понять их осведомленность, степень готовности и способы решения проблем IT-безопасности. В результате опроса обнаружилась не только низкая информированность о возможных угрозах, но и предпочтение бороться с проблемами IT постфактум. Почему так происходит? — Догадаться не сложно. Во-первых, в условиях высокой конкуренции в приоритете производственная деятельность и продажи, на продумывание защит элементарно не остается времени. Во-вторых, цена популярных продуктов для сегмента SMB кусается. Именно для таких компаний мы подготовили выборку из 11 надёжных, недорогих и простых в управлении решений для обеспечения ИТ-безопасности и организации задач, а также провели тестирование совместимости некоторых из них. [![][1]][2] [Читать дальше →][3]

[1]: https://habrastorage.org/files/c25/73e/164/c2573e164e8c47538c4158cf19315860.jpg
[2]: http://habrahabr.ru/company/smart_soft/blog/261659/
[3]: http://habrahabr.ru/post/261659/#habracut


Автоматическое выявление уязвимостей: описание и статистика habrabot to All


![][1] Пришло время подвести результаты [автоматического сканирования][2], которое было анонсировано 3 недели назад. Было прислано несколько заявок на автоматический аудит, большинство сайтов представляли коммерческий сектор — интернет-магазины и корпоративные сайты. [Читать дальше →][3]

[1]: https://habrastorage.org/files/4a4/d10/127/4a4d10127d2546ffadb6fd292c4ab260.jpg
[2]: http://habrahabr.ru/company/pentestit/blog/260205/
[3]: http://habrahabr.ru/post/261925/#habracut


Qt Framework: потоки, иерархический конечный автомат, работа с USB-устройствами = QThread + QStateMaсhine + libUSB habrabot to All


Почти все разработчики программного обеспечения рано или поздно подходят к этапу, когда необходимо применить технологию распределения задач по отдельным потокам. Сейчас трудно представить разработку без применения того или иного фреймворка (framework). Множество из них содержат необходимые инструменты для создания многопоточных приложений. Не исключение и [Qt Framework][1]. Поговорим о методах Qt многопоточной разработки подробнее. Сообщество разработчиков ПО на Qt Framework огромно. Люди охотно делятся навыками и приёмами создания многопоточных приложений. Существует множество замечательных книг и статей по вопросам изящного и не очень решения задачи работы с несколькими потоками. Казалось бы, всё уже решено. Что ещё можно добавить? Попробую описать работу потока на основе функционирования конечного автомата. Признаюсь, не находил материалы с подобным решением в сети. Если статья поможет вам с идеей, что, по моему мнению, гораздо ценнее написанного кода, буду очень рад. Выражаю отдельную благодарность А. Н. Боровскому за книгу [«Qt4.7+.Практическое программирование на C++»][2]. Рекомендую к обязательному прочтению! [Читать дальше →][3]

[1]: http://www.qt.io/qt-framework/
[2]: http://www.ozon.ru/context/detail/id/7449666/
[3]: http://habrahabr.ru/post/261955/#habracut


Автоматическая реорганизация массивов в памяти графического ускорителя habrabot to All




# О чем речь

В данном посте я бы хотел описать часть системы времени выполнения (RTS — RunTime System в дальнейшем) компилятора [DVMH][1]. Рассматриваемая часть, как видно из заголовка, относится к обработке пользовательских массивов на GPU, а именно, их автоматическая трансформация или реорганизация в памяти ускорителя. Данные преобразования делаются для эффективного доступа к памяти GPU в вычислительных циклах. Что такое DVMH, как можно подстраиваться под вычисления и почему это делается автоматически — описано далее. [О системе DVM и чудо преобразованиях][2]

[1]: http://dvm-system.org/ru/
[2]: http://habrahabr.ru/post/261535/#habracut


Злоумышленники активно используют 0day уязвимость Flash Player для кибератак habrabot to All


Вчера мы [опубликовали][1] сведения о новой очень опасной уязвимости в Adobe Flash Player (Hacking Team RCE Flash Player 0day), которая может использоваться атакующими для удаленного исполнения кода и установки вредоносных программ на всех популярных браузерах, включая, MS IE, MS Edge (Windows 10), Google Chrome, Opera, Mozilla Firefox, причем, эксплойт поддерживает также и ОС Apple OS X. Тогда же мы указали, что злоумышленники смогут воспользоваться этой уязвимостью в своих целях. Наши прогнозы оправдались в полной мере, авторы самых распространенных наборов эксплойтов уже добавили его в свой арсенал и используют для проведения атак drive-by download. ![][2] [Читать дальше →][3]

[1]: http://habrahabr.ru/company/eset/blog/261979/
[2]: http://habr.habrastorage.org/post_images/7d0/bd9/84a/7d0bd984afd2bb9901c5014a5b3649c9.jpg
[3]: http://habrahabr.ru/post/262061/#habracut


Сказ о том, как «цифирь» не сошлась habrabot to All






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

[1]: http://habrahabr.ru/company/intel/blog/205970/
[2]: http://habrahabr.ru/post/261681/#habracut


[Из песочницы] Собираем базу людей из открытых данных WhatsApp и VK habrabot to All


![Etan Hunt][1] _кадр из фильма Миссия Невыполнима II_ Эта история началась пару месяцев назад, в первый день рождения моего сына. На мой телефон пришло СМС-сообщение с поздравлением и пожеланиями от неизвестного номера. Думаю, если бы это был мой день рождения мне бы хватило наглости отправить в ответ, не совсем культурное, по моему мнению, «Спасибо, а Вы кто?». Однако день рождения не мой, а узнать кто передаёт поздравления было интересно.

### Первый успех

Было решено попробовать следующий вариант:

* Добавить неизвестный номер в адресную книгу телефона;
* Зайти по очереди в приложения, привязанные к номеру (Viber, WhatsApp);
* Открыть новый чат с вновь созданным контактом и по фотографии определить отправителя.

Мне повезло и в моём случае в списке контактов Viber рядом с вновь созданным контактом появилась миниатюра фотографии, по которой я, не открывая её целиком, распознал отправителя и удовлетворенный проведенным «расследованием» написал смс с благодарностью за поздравления. Сразу же за секундным промежутком эйфории от удачного поиска в голове появилась идея перебором по списку номеров мобильных операторов составить базу [номер\_телефона => фото]. А еще через секунду идея пропустить эти фотографии через систему распознавания лиц и связать с другими открытыми данными, например, фотографиями из социальных сетей. [Далее перебор аккаунтов WhatsApp и VK по Москве и Ненецкому АО и распознание лиц][2]

[1]: https://habrastorage.org/files/c81/bd0/50f/c81bd050fad3430c93457492af40111a.png
[2]: http://habrahabr.ru/post/262053/#habracut


Книги для системного администратора. Моя книжная полка habrabot to All


Книги. Я считаю, что важнейшим инструментом получения скилов системного администрирования являются именно они — книги. Нет специальных факультетов, обучающих «админству» — каждый постигает это самостоятельно. Путем проб, ошибок и различных злоключений. В начале пути сложно определиться, что же нужно прочесть — ведь массив информации столь огромен! В данном посте я хочу собрать наиболее важные и значимые труды для системных администраторов. Уклон будет на \*nix админство, но, надеюсь тема окажется небезынтересной и для Windows коллег и в комметариях они заполнят мои пробелы. Пост субьективен и отражает лишь мой собственный опыт — я раскажу о книгах, которые помогли моему становлению. [Читать дальше →][1]

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


[Перевод] Обработка 1 миллиона запросов в минуту c Go habrabot to All


_Перевод статьи главного архитектора компании Malwarebytes о том, как они достигли обработки 1 миллиона запросов в минуту всего на 4 серверах._ У нас в [Malwarebytes][1] мы переживаем бешеный рост и с тех пор, как я присоединился к компании около года назад в Кремниевой Долине, одной из моих основных обязанностей было проектирование и разработка архитектур нескольких систем для развития быстрорастущей компании и всей необходимой инфраструктуры для поддержки продукта, который используют миллионы людей каждый день. Я работал в индустрии антивирусов более 12 лет в нескольких разных компаниях, и знаю, насколько сложными получаются в итоге эти системы, из-за колоссальных объемов данных, с которыми приходится иметь дело ежедневно. [Читать дальше →][2]

[1]: http://www.malwarebytes.org/
[2]: http://habrahabr.ru/post/262045/#habracut


[Из песочницы] Создание простейших структур данных с помощью функций в Python habrabot to All


**Вступление**: Позапрошлым летом я открыл для себя великолепную книгу **SICP ** — чтение только первого раздела книги открыло для меня новый мир функционального программирования. Анонимные функции, функции, что возвращают функции, функции высших порядков. Во втором разделе книги авторы показали, что возможно с помощью одних только функций создавать различные структуры данных, такие как пара, список, или даже деревья! Сегодня мне бы хотелось реализовать кое-какие идеи из этой книги на языке программирования Python. Конечно же, исключительно с помощью функций. [Читать дальше →][1]

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


[Из песочницы] Критическое обновление безопасности для node.js и io.js habrabot to All


Вчера, 4 июля, вышло обновление безопасности с исправлением критической уязвимости для node.js и io.js. Суть уязвимости в том, что при конвертации буфера в UTF8 строку приложение может «упасть». Привожу мой свободный перевод текста официального сообщения: Во-первых, очевидно, что решение проблемы не идеально, но оно поможет нам сэкономить время на разработку лучшего решения. В США сейчас вечер и сейчас выходные, связанные с 4 июля (День независимости США). Мы призываем обновится, потому что детали об уязвимости и потенциале использования ненароком оказались на публичном форуме. Итак, мы предпочти дать компаниям и пользователям инструмент для защиты своих проектов и смягчения DoS атак, если таковые случатся. Потому что лучше встретиться с реальностью, нежели сидеть скрестив пальцы. Время поджимает, особенно для США, где сейчас праздники, что делает это все кошмаром для людей, развертывающих больший проекты. Но этот призыв мы делаем с полезной информацией. [Читать дальше →][1]

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


Сетевой media сервер для PS3 habrabot to All


![PS3][1]Давно валялась в черновиках данная заметка, все никак не мог собраться ее оформить и опубликовать. Но как говорят это вечно длится не может, так что приступим к повествовании. Собственно в чем же задача, спросите вы? У кого есть PS3 с установленной CFW, тот знает что записать файл больше 4Гб нельзя на внешний диск, так как это ограничение файловой системы FAT32 (сейчас файловые менеджеры для PS3, такие как Multiman поддерживают возможность чтения с томов NTFS, но эта функциональность появилась довольно недавно). Для решения этой проблемы можно было применить два метода: [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/9b5/e94/d96/9b5e94d96a58982780d7271c53747e35.jpg
[2]: http://habrahabr.ru/post/261937/#habracut


Qt Framework: потоки, иерархический конечный автомат, работа с USB-устройствами = QThread + QStateMashine + libUSB habrabot to All


Почти все разработчики программного обеспечения рано или поздно подходят к этапу, когда необходимо применить технологию распределения задач по отдельным потокам. Сейчас трудно представить разработку без применения того или иного фреймворка (framework). Множество из них содержат необходимые инструменты для создания многопоточных приложений. Не исключение и [Qt Framework][1]. Поговорим о методах Qt многопоточной разработки подробнее. Сообщество разработчиков ПО на Qt Framework огромно. Люди охотно делятся навыками и приёмами создания многопоточных приложений. Существует множество замечательных книг и статей по вопросам изящного и не очень решения задачи работы с несколькими потоками. Казалось бы, всё уже решено. Что ещё можно добавить? Попробую описать работу потока на основе функционирования конечного автомата. Признаюсь, не находил материалы с подобным решением в сети. Если статья поможет вам с идеей, что, по моему мнению, гораздо ценнее написанного кода, буду очень рад. Выражаю отдельную благодарность А. Н. Боровскому за книгу [«Qt4.7+.Практическое программирование на C++»][2]. Рекомендую к обязательному прочтению! [Читать дальше →][3]

[1]: http://www.qt.io/qt-framework/
[2]: http://www.ozon.ru/context/detail/id/7449666/
[3]: http://habrahabr.ru/post/261955/#habracut


Знакомство с отладочной платой Freescale T1040RDB для промышленных сетевых коммутаторов habrabot to All


![][1] В погоне за минимальной ценой и временем разработки сложных сетевых устройств производители сетевых процессоров стремятся выпускать максимально интегрированные решения, что упрощает разработку аппаратной части и программного обеспечения. Примером такого подхода являются 64-битные процессоры Freescale T1040 и T1020 со встроенным гигабитным свитчом. Семейство T10xx идеально подходит как для управления и обработки трафика в таких устройствах как промышленные роутеры, коммутаторы, точки доступа, файерволы, системы DPI и другом сетевом оборудовании. Отладочная плата T1040RDB, которую мы изучим в рамках этой статьи, представляет собой аппаратную платформу на базе процессора Freescale QorIQ T1040 с четырьмя ядрами e5500 и скоростью до 1,4 ГГц. [Читать дальше →][2]

[1]: https://habrastorage.org/files/7b5/b56/725/7b5b567253cf4651b93d9652531eedfe.png
[2]: http://habrahabr.ru/post/261909/#habracut


Сетевая безопасность. Вместо введения habrabot to All


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

[1]: https://habrastorage.org/files/7da/17a/fae/7da17afae8534f4bad5e5b4e621862fc.jpg
[2]: http://habrahabr.ru/company/hp/blog/261913/
[3]: http://slashdotmedia.com/
[4]: http://habrahabr.ru/post/261913/#habracut


[Перевод] Построенные на века: понимание сейсмостойкого строительства habrabot to All






_Перевод поста Yu-Sung Chang "[Built to Last: Understanding Earthquake Engineering][1]". Код, приведенный в статье (со всеми использованными математическими моделями), можно скачать [здесь][2]. Выражаю огромную благодарность [Кириллу Гузенко][3] за помощь в переводе._

----

На прошлой неделе мир был потрясен новостями о крупных землетрясениях и разрушительных цунами в Японии. События всё ещё разворачиваются и могут стать одними из самых трагических стихийных бедствий в новейшей истории. Научное понимание и моделирование сложных физических явлений и разработка на основе этого анализа обязательны для предотвращения жертв от стихийных бедствий. В этом посте мы исследуем землетрясения с научной точки зрения для того, чтобы понимать, почему они происходят и как к ним лучше готовиться. _Примечание_: динамические примеры в этом посте были созданы с помощью _[Mathematica][4]_. Загрузите [файл формата (CDF)][5] для взаимодействия с моделями и дальнейшего исследования темы. Во-первых, давайте начнём с локаций. Следующая визуализация основана на американской базе данных по землетрясениям Geological Survey (USGS), произошедших между 1973 и началом 2011, с магнитудами более 5. Как можно увидеть, эпицентры сконцентрированы в узких областях, обычно на границах тектонических плит. В частности, существует серьезная сейсмическая активность вокруг Тихого океана, а именно в “Огненном кольце”. Так получилось, что Япония находится прямо в середине этой весьма активной области.



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

[1]: http://blog.wolfram.com/2011/03/18/built-to-last-understanding-earthquake-engineering/
[2]: http://blog.wolfram.com/data/uploads/2012/07/BuiltToLastUnderstandingEarthquakeEngineering.cdf
[3]: http://vk.com/ld742
[4]: http://www.wolfram.com/mathematica/
[5]: http://blog.wolfram.com/data/uploads/2012/07/BuiltToLastUnderstandingEarthquakeEngineering.cdf
[6]: http://habrahabr.ru/post/261983/#habracut


В Adobe Flash Player обнаружена опасная 0day уязвимость habrabot to All


Вчера мы [писали][1] про утечку конфиденциальных данных кибергруппы Hacking Team, которая подверглась масштабному взлому. В архиве находились исходные тексты нескольких 0day эксплойтов, в т. ч. LPE sandbox-escape эксплойт для веб-браузера Internet Explorer и опасный RCE+LPE эксплойт для актуальной версии Flash Player. Рабочая версия последнего уже гуляет по сети и представляет для пользователей очень большую опасность, поскольку эксплойт является универсальным и позволяет удаленно исполнять код сразу в нескольких браузерах (актуальные версии), включая, Google Chrome, Opera, MS Internet Explorer, и, даже, MS Edge в составе Windows 10. ![][2] [Читать дальше →][3]

[1]: http://habrahabr.ru/company/eset/blog/261887/
[2]: http://habr.habrastorage.org/post_images/7d0/bd9/84a/7d0bd984afd2bb9901c5014a5b3649c9.jpg
[3]: http://habrahabr.ru/post/261979/#habracut


Немного понагнетаем: стало понятнее, что будет с персональными данными после 1 сентября 2015 habrabot to All


![][1] _Штрафы за разные нарушения суммируются._ 242-ФЗ подсказывает нам, что оператор обязан обеспечить запись, хранение, изменение и извлечение персональных данных граждан Российской Федерации (это всё, что прямо или косвенно относится к субъекту ПДн. И номер телефона, и даже уровень защищенности его данных можно отнести сюда согласно 152-ФЗ) с использованием баз данных, находящихся на территории Российской Федерации. С 1 сентября 2015 года. За использование первичной базы за пределами РФ вам светит относительно небольшой штраф и, что куда хуже, **блокировка ресурсов в течение 3 рабочих дней** с даты судебного решения. При этом разблокировать доступ и «выйти» из реестра можно будет только по решению суда. [Читать дальше →][2]

[1]: https://habrastorage.org/files/4b0/46f/ec2/4b046fec2c8648898f41c2f7b2076e7e.png
[2]: http://habrahabr.ru/post/261943/#habracut


Сравнительный тест популярных антивирусов от разработчика кибероружия Hacking Team habrabot to All


![][1]Буквально на днях были взломаны внутренние сети известного в определенных кругах производителя кибероружия, компании Hacking Team, о чем уже подробно [писали][2] на Хабре. В результате утечки в сеть попало порядка 400ГБ файлов, включающих архивы электронной почты, финансовую документацию, исходные коды вредоносных модулей и многое другое. Была слита и так называемая база знаний компании (Knowledge Base), в которой разработчики шпионских программ накапливали полезную информацию, в том числе и о качестве детекта своих творений различными антивирусами. Учитывая ситуацию, похоже, что данный тест можно в полной мере назвать «независимым», т.к. исследования проводились в собственных интересах. [Читать дальше →][3]

[1]: https://habrastorage.org/files/a27/543/5d0/a275435d009447c3aa626ba16c07e349.jpg
[2]: http://habrahabr.ru/company/eset/blog/261887/
[3]: http://habrahabr.ru/post/261945/#habracut


Приращения и системы координат (по мотивам школьных уроков) habrabot to All


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

#### Ссылки

[ [урок 1 и урок 2][1] ] [ [урок 3][2] ]

----

_четвертый урок_

### Приращения

[а что там, что-то новое придумали?][3]

[1]: http://habrahabr.ru/post/234897/
[2]: http://habrahabr.ru/post/261705/
[3]: http://habrahabr.ru/post/261897/#habracut


[Из песочницы] PostgreSQL и btrfs — слон на маслянной диете habrabot to All


Недавно, просматривая [статью на вики][1] про файловые системы, заинтересовался btrfs, а именно его богатыми возможностями, стабильным статусом и главное — механизмом прозрачного сжатия данных. Зная, как легко жмутся базы данных содержащие текстовую информацию, мне стало любопытно уточнить на сколько это применимо в сценарии использования например с postgres. Данное тестирование конечно нельзя назвать полным, ибо задействовано только чтение и то линейное. Но результаты уже заставляют поразмыслить на тему возможного перехода на btrfs в определенных случаях. Но основная цель — узнать мнение сообщества о том, на сколько это разумно и каких подводных камней может таить в себе подход прозрачного сжатия на уровне файловой системы. Для тех, кто не хочет тратить время, сразу расскажу про полученные выводы. БД PostgreSQL размещенная на btrfs c опцией compress=lzo, сокращает объем бд в двое (в сравнении с любыми ФС без сжатия) и при использовании многопоточного, последовательного чтения, значительно сокращает нагрузку на дисковую подсистему. [Читать дальше →][2]

[1]: https://en.wikipedia.org/wiki/Comparison_of_file_systems
[2]: http://habrahabr.ru/post/261921/#habracut


Насколько важно видеть URL сайта? habrabot to All


Добрый день, хабросообщество! Стал интересен такой вопрос: насколько важно видеть URL сайта? Как-то года 2 назад осенним вечером делал веб-приложение, тестировал всё в популярном и по сей день браузере и обнаружил интересный по своей сути баг. [Читать дальше →][1]

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


Кибергруппа Hacking Team подверглась масштабному взлому habrabot to All


Известная [кибергруппа][1] Hacking Team ([@hackingteam][2]), которая специализируется на разработке и продаже специального шпионского ПО для правоохранительных органов и спецслужб различных государств стала объектом кибератаки, в результате которой для общественности стал доступен архив с 400ГБ различной конфиденциальной информации. В сеть утекла личная переписка Hacking Team с их клиентами, заключенные договора на продажу своих кибер-изделий различным государствам, а также большое количество другой информации, связанной с деятельностью компании. ![][3] В результате утечки стало известно, что к услугам HT прибегали не только государственные структуры, но и частные компании. Также из опубликованных данных видно, что одним из клиентов HT были российские структуры или фирмы. Архив содержит и информацию о наработках кибергруппы (Exploit\_Delivery\_Network\_android, Exploit\_Delivery\_Network\_Windows), а также огромное количество различной поясняющей информации (wiki). [Читать дальше →][4]

[1]: https://en.wikipedia.org/wiki/Hacking_Team
[2]: https://twitter.com/hackingteam
[3]: https://habrastorage.org/files/cb9/ef1/0b0/cb9ef10b00a4441bb1423a3600a0e0fc.png
[4]: http://habrahabr.ru/post/261887/#habracut


Алгоритмическая теория информации и случайность индивидуальных объектов habrabot to All


Понятие энтропии в середине XX века ввёл [Клод Шеннон][1]. Её можно интуитивно описать как «среднее количестве битов информации в одном значении случайной величины». Но её нельзя применить к индивидуальным объектам (скажем, к тексту романа или ДНК) — где нет ансамбля многих однородных объектов, нет и случайных величин.




В середине 1960-х годов разным людям (Колмогоров, Соломонов, Левин, Чейтин) стало понятно, что можно определять количество информации (сложность) индивидуального объекта как минимальную длину программы, которая этот объект порождает (при естественных ограничениях на язык программирования). Возникла алгоритмическая теория информации, которая оказалась связанной с разными областями: от философских вопросов оснований теории вероятностей (когда мы отвергаем статистические гипотезы?) до комбинаторики (неравенства, связывающие размеры множеств и их проекций) и теории вычислимости. Лекцию, которую мы выбрали для вас сегодня, читал на факультете компьютерных наук Вышки известный математик [Александр Шень][2]. Когда-то он под руководством [Владимира Успенского][3], ученика Колмогорова, защитил диссертацию «Алгоритмические варианты понятия энтропии». [Читать дальше →][4]

[1]: https://en.wikipedia.org/wiki/Claude_Shannon
[2]: https://ru.wikipedia.org/wiki/Шень,_Александр_Ханиевич
[3]: https://en.wikipedia.org/wiki/Vladimir_Andreyevich_Uspensky
[4]: http://habrahabr.ru/post/261761/#habracut


Быстрый security-oriented fuzzing c AFL habrabot to All


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

[1]: https://habrastorage.org/files/c16/3ef/195/c163ef195f544d14b76b8cf217d75bbb.jpg
[2]: http://habrahabr.ru/post/259671/#habracut


Может ли веб-репортинг не уступать десктопному или немного о DevExpress ASP Reporting 15.1 habrabot to All


![][1] DevExpress Reporting — продукт от [DevExpress][2], предоставляющий инструменты для быстрой, легкой и удобной работы с отчетами и документами. В недавно вышедшей [версии 15.1][3], о которой [мы уже писали][4] на Хабре, появилось множество улучшений для всех поддерживаемых платформ — WPF, WIN и ASP, и мы предлагаем ознакомиться с наиболее важными из них для ASP-версии. Главная цель, к который мы стремились — чтобы веб-репортинг имел такой же широкий и гибкий набор инструментов для работы с отчетами, как и в WIN-версии. Поэтому в этой статье мы упомянем как о **HTML5/JS Document Viewer** — новом клиентском компоненте для просмотра отчетов, так и о различных улучшениях для уже выпущенного **ASP.NET & MVC Report Designer**. [Читать дальше →][5]

[1]: https://habrastorage.org/files/f06/e70/823/f06e7082302441029c40efce2367568f.png
[2]: https://www.devexpress.com/
[3]: https://www.devexpress.com/Subscriptions/New-2015-1.xml?product=reporting
[4]: http://habrahabr.ru/company/devexpress/blog/259441/#first_unread
[5]: http://habrahabr.ru/post/261879/#habracut


Знакомство с Nim: пишем консольную 2048 habrabot to All


![][1] Хочется чего-то нового, быстрого, компилируемого, но при этом приятного на ощупь? Добро пожаловать под кат, где мы опробуем язык программирования Nim на реализации очередного клона игры 2048. Никаких браузеров, только хардкор, только командная строка! В программе:

* [Who is the Nim?][2]
* [Как выглядит ООП в Nim][3]
* [Немного C под капотом][4]
* [Создание экземпляров][5]
* [Собственно игра 2048][6] ([github][7])
* [Субъективные выводы][8]

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

[1]: https://habrastorage.org/files/657/f1c/9fd/657f1c9fd89b46f485d3be8fe0e9ad24.jpg
[2]: #who-is-nim
[3]: #oop-in-nim
[4]: #underhood
[5]: #instances
[6]: #2048
[7]: https://github.com/Ostrovski/nim-2048
[8]: #conclusions
[9]: http://habrahabr.ru/post/261801/#habracut


Шифруем и перешифровываем LUKS без потери данных habrabot to All




### Введение

Если вы когда-либо задумывались о шифровании данных на дисках уже после того, как у вас накопилось их приличное количество, вы, вероятно, расстраивались, прочитав о необходимости переноса данных перед созданием шифрованного раздела и после. Перенос 500 ГБ туда и обратно не представляет никакой особой трудности, такой объем можно временно загрузить даже в облако, но если речь идет о шифровании 6 винчестеров по 4 ТБ каждый, задача заметно усложняется. По какой-то причине, возможность шифрования и перешифровывания томов LUKS без потери данных (in-place re-encryption) слабо освещена в интернете, хотя для этого есть две утилиты: **cryptsetup-reencrypt**, входящая в состав **cryptsetup** с 2012 года, и сторонняя [**luksipc**][1], появившаяся на год раньше. Обе утилиты выполняют, в общем-то, одно и то же — шифруют раздел, если он не был шифрован, либо перешифровывают уже существующий с другими параметрами. Для своих нужд я воспользовался первой, официальной.

### Как это работает?

Предположим, у вас типичная разметка диска: один раздел, начинается с 1 МиБ (выравнивание для 4КиБ-секторов), заканчивается в конце диска. ![image][2] Заголовок LUKS располагается в начале, перед зашифрованными данными. Для заголовка требуется минимум 2056 512-байтных секторов, т.е. чуть больше 1МиБ. Места перед началом раздела нам явно недостаточно, поэтому сначала нужно уменьшить размер файловой системы с ее конца, чтобы **cryptsetup-reencrypt** перенес блоки правее, в конец диска, освободив таким образом место в начале раздела для LUKS-заголовка. Конечный размер заголовка зависит от длины ключа, количества слотов для парольных фраз и прочих параметров, поэтому я рекомендую быть рачительным и отвести под заголовок 4 МиБ. ![image][3] [Читать дальше →][4]

[1]: http://www.johannes-bauer.com/linux/luksipc/
[2]: https://habrastorage.org/getpro/habr/post_images/1ca/871/2c0/1ca8712c0b653dc4095a2c8337b35539.png
[3]: https://habrastorage.org/getpro/habr/post_images/6ff/27b/df7/6ff27bdf7cabfd97d0275b88ad75fc29.png
[4]: http://habrahabr.ru/post/169983/#habracut


Еще одна подборка видеоуроков по Lazarus в Linux habrabot to All


Делать было нечего, дело было… и всё. Дело было. Короче, пока практиковался в Lazarus, еще насобирал несколько уроков. Уроки простые, веду их, собсна, я лично, авось кому и пригодится. [Читать дальше →][1]

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