RSS
Pages: 1 ... 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 ... 210
[>] О выработке неперебираемых ключей на основе перебираемых паролей
habra.16
habrabot(difrex,1) — All
2016-04-28 22:00:03


Криптографические протоколы — фундамент безопасного сетевого соединения и конфиденциального обмена информацией. На сегодняшний день существует большое количество самых разных протоколов для самых разных целей. Многие из этих протоколов (например, TLS, Kerberos) на слуху даже у людей, тесно не связанных с криптографией. Они распространены повсеместно и зачастую уже давно являются частью популярных информационных систем. Однако существует тип протоколов, который последнее время набирает все большую популярность, но все еще не является широко известным — протоколы выработки общего ключа с аутентификацией на основе пароля. К таким протоколам относится российский протокол [SESPAKE][1] (Security Evaluated Standardized Password Authenticated Key Exchange), с появлением которого в России и возникла необходимость в рассмотрении особенностей протоколов подобного типа. Целью данной статьи является скорее не дать очередное формальное описание нового протокола, а помочь читателю уловить его основную идею и особенности и понять, почему в нём присутствуют те или иные шаги, почему они важны и чем подобный класс протоколов отличается от всего, что было известно ранее. [Читать дальше →][2]

[1]: http://www.tc26.ru/methods/recommendation/TK26SESPAKE.pdf
[2]: https://habrahabr.ru/post/282043/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
habra.16
habrabot(difrex,1) — All
2016-04-28 23:00:04


Друзья, поздравляю всех с выходом нового релиза **FastReport 5.5** для **Lazarus** и **RAD Studio (Delphi, C++Builder)**! Вчера компания FastReport выпустила свой флагманский продукт **FastReport**. **FastReport** — генератор отчётов любой сложности с огромными возможностями для Delphi, C++Builder и Lazarus. На мой взгляд, продукт FastReport не нуждается в каком-то особом представлении, этот продукт является де-факто стандартом построения отчётов не только в России, СНГ, но и во всём мире. Практически любое бизнес-приложение нуждается в использовании генератора отчётов. ![image][1] Новый релиз **FastReport 5.5** полностью совместим с последними новейшими инструментами разработки приложений в [**RAD Studio 10.1 Berlin**][2] и [**Lazarus 1.6**][3]. Приятно, что разработчики уделили особое внимание улучшениям и появлению новых возможностей для разработчиков в **Lazarus** таких, как поддержка внутренних диаграмм(Charts), экспорт в PDF и исправления совместимости. [Читать дальше →][4]

[1]: https://habrastorage.org/files/a51/0a1/a70/a510a1a7025743af87c0738d0d5f4a2a.png
[2]: https://habrahabr.ru/post/282055/
[3]: https://habrahabr.ru/post/280704/
[4]: https://habrahabr.ru/post/282712/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Каково это — быть разработчиком, когда тебе сорок
habra.16
habrabot(difrex,1) — All
2016-04-29 00:00:02


_Примечание от переводчика: Этот пост был написан и опубликован на Medium разработчиком приложений Адрианом Космачевским из Швейцарии. Кроме подготовки перевода его публикации, я также пригласил и самого автора, Адриана ( [akosma][1] ), на Хабр, для того, чтобы он смог лично ответить на любые вопросы участников сообщества, если таковые возникнут. Думаю, для общего удобства при общении в комментариях с ним стоит использовать английский (и, при желании, дублировать на русском)._

----

Привет всем, я — сорокадвухлетний программист-самоучка, а это моя история. Пару недель назад я наткнулся на твит, в котором была картинка, прикрепленная ниже, и он заставил меня задуматься о моей карьере. ![image][2] Эти размышления привели меня туда, откуда все начиналось. Я дебютировал в роли разработчика программного обеспечения в 10 часов утра 6 октября 1997 года, в городе Оливос, к северу от Буэнос-Айреса, в Аргентине. Был понедельник. Не так давно я праздновал свой 24-й день рождения.

#### Мир в 1997 году

Тогда он был немного другим. На веб-сайтах не было предупреждений об использовании cookie. Новаторскими в сети были сайты вида Excite.com, а моим любимым поисковиком был AltaVista. Мой электронный ящик имел вид kosmacze@sc2a.unige.ch и был расположен на личном веб-сайте, который размещался по адресу . Тогда мы еще оплакивали принцессу Диану, а Стив Джобс только-только вернулся на роль CEO и убедил Microsoft «вбросить» в Apple Computer 150 миллионов долларов. Digital Equipment Corporation подала в суд на Dell, останки Че Гевары вернули на Кубу, только начался четвертый (!) сезон «Друзей». Был убит Джанни Версаче, скончались Мать Тереза, Рой Лихтенштейн и Жанна Кальман. Люди зависали за Final Fantasy 7 на PlayStation, будто бы были наркоманами, Би-Би-2 начал вещание телепузиков, а Кэмерон только собирался показать миру свой «Титаник». [Читать дальше →][3]

[1]: https://habrahabr.ru/users/akosma/
[2]: https://habrastorage.org/getpro/habr/post_images/c45/ea3/901/c45ea3901bf022195fc131b5857961b7.jpg
[3]: https://habrahabr.ru/post/282674/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Python в Cygwin: WinAPI в отсутствии windll
habra.16
habrabot(difrex,1) — All
2016-04-29 03:30:03


Если верить обещаниям Microsoft, в скором времени Windows обзаведется возможностью запускать Linux приложения без каких-либо доработок напильником и сторонних сред окружения вроде Cygwin; одни восприняли эти обещания скептически, дескать, с поддержкой «андроид»-приложений ведь все сошло на нет, другие стали ерничать, мол, ожидайте в недалеком будущем Lindows, ну а третьи… Впрочем, найдутся и четвертые и пятые, — обещания — в будущем, а мы с вами живем здесь и сейчас, решаем задачи также здесь и сейчас, а следовательно какой резон толочь воду в ступе? Приятно, конечно, когда в системе уже предусмотрено нечто в разы упрощающее администрирование, но если этого нет, всегда найдется альтернативный вариант. [Читать дальше →][1]

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

[>] Игра «Жизнь» в FPGA
habra.16
habrabot(difrex,1) — All
2016-04-29 06:30:04







[Игру жизнь][1] — клеточный автомат уже кажется писали на всех возможных языках программирования. Меня же интересует технология ПЛИС — и поэтому когда-то я сделал реализацию life для ПЛИС Альтера Cyclone III. Правда поместилось в чип тогда очень мало: всего 32x16 клеток. На таком маленьком поле довольно трудно испытать сложные фигуры. Сейчас у меня в руках другая плата: тут уже стоит Altera MAX10 с 50-ю тысячами логических элементов. Было интересно, смогу ли я расширить поле хотя бы в 4 раза? В общем задумал сделать хотя бы 64x32. Результат представлен на этом видео, я называю эту картину: «ружье Госпера убивает самоё себя». Ниже подробности реализации. [Читать дальше →][2]

[1]: https://ru.wikipedia.org/wiki/%D0%96%D0%B8%D0%B7%D0%BD%D1%8C_(%D0%B8%D0%B3%D1%80%D0%B0)
[2]: https://habrahabr.ru/post/282722/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Распознавание DGA доменов. А что если нейронные сети?
habra.16
habrabot(difrex,1) — All
2016-04-29 11:30:02




Всем привет!



Сегодня мы поговорим про распознавание доменов, сгенерированных при помощи алгоритмов генерации доменных имен. Посмотрим на существующие методы, а также предложим свой, на основе рекуррентных нейронных сетей. Интересно? Добро пожаловать под кат.

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

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

[>] Lazy threads: опциональный параллелизм
habra.16
habrabot(difrex,1) — All
2016-04-29 12:00:03


Статья-гипотеза. Описанное нигде не было реализовано, хотя, в принципе, ничто не мешает запилить такое в Фантоме. Эта идея пришла мне в голову очень давно и даже где-то была мной описана. Триггер к тому, чтобы её описать сегодня — обсуждение сетевых драйверов Линукса в комментариях к [Анатомии драйвера][1]. Сформулирую проблему, описанную там, как я её понимаю: сетевой драйвер Линукса работает в отдельной нити, которая читает принятые пакеты из устройства и синхронно их обрабатывает. Прогоняет через роутинг, файрволл и, если пакет не нам, отправляет его в исходящий интерфейс. Понятно, что некоторые пакеты обслуживаются быстро, а иные могут потребовать много времени. В такой ситуации хотелось бы иметь механизм, который динамически порождает обслуживающие нити по мере необходимости, и механизм достаточно дешёвый в ситуации, когда лишние нити не нужны. То есть хотелось бы такого вызова функции, который при необходимости можно конвертировать в старт нити. Но по цене вызова функции, если нить реально не оказалась нужна. Мне эта идея пришла когда я рассматривал совершенно фантастические модели для Фантом, включая акторную модель с запуском нити вообще на любой вызов функции/метода. Саму модель я отбросил, а вот идея lazy threads осталась и до сих пор кажется интересной. Как это. [Читать дальше →][2]

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

[>] Список книг по наступательной информационной безопасности
habra.16
habrabot(difrex,1) — All
2016-04-29 13:00:03


![][1] Любую достаточно развитую технологию можно сравнить с оружием: когда у врага есть ружье, а у тебя нет, поневоле хочется изменить баланс сил в свою пользу. В области IT-безопасности знания, передаваемые различными способами, и есть то самое оружие, использование которого ограничивается не столько нормами УК, сколько этическим выбором. Невозможно стать профессионалом в области информационной безопасности, не понимая тонкостей проникновения и обнаружения уязвимостей. Все книги в сегодняшней подборке похожи на заряженную винтовку, которую хочется иметь в качестве защиты: они обязательны для изучения как начинающим исследователям безопасности, так и специалистам, желающим расширить границы знаний. [Читать дальше →][3]

[1]: https://habrastorage.org/files/43d/2cf/b6a/43d2cfb6a22d4cf18259a0bfe67ef080.jpg
[2]: http://naiiade.deviantart.com/art/Grimoire-ensorcele-267533626
[3]: https://habrahabr.ru/post/282700/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] OpenStack: Как не “наступить на грабли” OpenSource-бизнеса
habra.16
habrabot(difrex,1) — All
2016-04-29 13:00:03


![][1] Вы наверняка слышали, что недавно вышел новый релиз IaaS-платформы OpenStack — [OpenStack 13 «Mitaka»][2]. Это хороший повод написать небольшой анализ-сравнение OpenStack с каким-нибудь более ранним проектом и выяснить, что же сделало OpenStack настолько успешным. Идея этого поста — в одном из моих [предыдущих переводов][3], где были перечислены проблемы, с которыми сталкиваются компании, пытающиеся вести бизнес на Open Source. А если точнее, о проблемах писал руководитель компании XenSource, и в первую очередь, про проект Xen. Там была такая фраза: «Если вы думаете, что это всё осталось в прошлом и сейчас уже не актуально, я вам скажу, что вижу похожую ситуацию, происходящую сегодня с OpenStack, и такое, вероятно, происходит со многими другими успешными open source проектами.» Давайте посмотрим, о каких трудностях XenSource писал Питер Левайн (Peter Levine) и как с этим обстоят дела в OpenStack. [Читать дальше →][4]

[1]: https://habrastorage.org/files/c65/22c/fe7/c6522cfe7768429d99a0ac60bf3c2262.png
[2]: http://www.pcweek.ru/foss/article/detail.php?ID=185177
[3]: https://habrahabr.ru/post/279577/
[4]: https://habrahabr.ru/post/282734/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Числа Муаммара. Как я проходил летнюю стажировку в Яндексе
habra.16
habrabot(difrex,1) — All
2016-04-29 16:30:05


![][1]Лето 2015 года. Сессия успешно сдана. Нормальный человек, наверное, скажет: «Ура! Свобода! Целый день буду играть в футбол и слетаю на море в Турцию». Но только не настоящий исследователь с пытливым умом. Я решил, что в любом случае буду работать над каким-нибудь собственным проектом… Но время непродуктивно со свистом неслось вперед. И тут мне в голову пришла светлая мысль: а почему бы не пойти на [стажировку][2] в Яндекс? Наверняка у них есть куча интересных исследовательских задач, к тому же это бесценный опыт работы в огромной компании с множеством профессионалов в своих областях, у которых есть чему поучиться. О том, как попасть на стажировку в Яндекс, чем там можно заниматься и что вас ждет потом, я и хочу сегодня поделиться. Для начала пару слов о себе. Зовут меня Муаммар, 21 год от роду, на данный момент являюсь студентом пятого курса мехмата МГУ. А еще я выпускник ШАДа, ведущий семинаров по Natural Language Processing в ШАДе и младший разработчик в команде речевых технологий Яндекса. Какой-то супергениальностью не отличаюсь, но люблю и умею работать. Пожалуй, хватит себя расхваливать, поговорим о стажировке. Кому интересно — добро пожаловать под кат! [Читать дальше →][3]

[1]: https://habrastorage.org/files/fff/a12/ef9/fffa12ef9a874b6694426a4939407aed.jpg
[2]: https://yandex.ru/jobs/vacancies/interns/summer
[3]: https://habrahabr.ru/post/282628/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Числа Муаммара. Как я измерял искусственный интеллект на стажировке в Яндексе
habra.16
habrabot(difrex,1) — All
2016-04-29 17:30:02


![][1]Лето 2015 года. Сессия успешно сдана. Нормальный человек, наверное, скажет: «Ура! Свобода! Целый день буду играть в футбол и слетаю на море в Турцию». Но только не настоящий исследователь с пытливым умом. Я решил, что в любом случае буду работать над каким-нибудь собственным проектом… Но время непродуктивно со свистом неслось вперед. И тут мне в голову пришла светлая мысль: а почему бы не пойти на [стажировку][2] в Яндекс? Наверняка у них есть куча интересных исследовательских задач, к тому же это бесценный опыт работы в огромной компании с множеством профессионалов в своих областях, у которых есть чему поучиться. О том, как попасть на стажировку в Яндекс, чем там можно заниматься и что вас ждет потом, я и хочу сегодня поделиться. Для начала пару слов о себе. Зовут меня Муаммар, 21 год от роду, на данный момент являюсь студентом пятого курса мехмата МГУ. А еще я выпускник ШАДа, ведущий семинаров по Natural Language Processing в ШАДе и младший разработчик в команде речевых технологий Яндекса. Какой-то супергениальностью не отличаюсь, но люблю и умею работать. Пожалуй, хватит себя расхваливать, поговорим о стажировке. Кому интересно — добро пожаловать под кат! [Читать дальше →][3]

[1]: https://habrastorage.org/files/fff/a12/ef9/fffa12ef9a874b6694426a4939407aed.jpg
[2]: https://yandex.ru/jobs/vacancies/interns/summer
[3]: https://habrahabr.ru/post/282628/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Гостиничный бизнес: легкая мишень для хакеров с заманчивыми прибылями
habra.16
habrabot(difrex,1) — All
2016-04-29 19:00:02


![][1] Кража информации с последующим требованием выкупа за нее – это модная кибер-атака, которая пришла и в гостиничный бизнес. Антивирусная лаборатория PandaLabs компании Panda Security опубликовала [исследование «Хакеры отелей»][2] – документ, в котором рассматривается тенденция кибер-атак, направленных на крупные сети гостиниц и отелей. Исследование рассказывает, что в 2015 году было осуществлено множество подобных атак. Имеется подробная информация об этом типе вторжений, а также о том, как многие сети гостиниц во всем мире пострадали от данных атак. Среди пострадавших оказались такие известные сети гостиниц как **Trump, Hilton и Starwood**. [Читать дальше →][3]

[1]: https://habrastorage.org/files/8a2/915/be6/8a2915be6ece4ec093c14f8b05a33ca2.jpg
[2]: https://pandasecurity.bitrix24.ru/~Gj9sm
[3]: https://habrahabr.ru/post/282742/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Путь лапласиана. Часть 2
habra.16
habrabot(difrex,1) — All
2016-04-29 20:30:02




> _А не замахнуться ли нам на Эдсгера нашего Дейкстру?_

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

[1]: https://habrastorage.org/files/aab/8cd/4d9/aab8cd4d93ab4ca39c74c1dfd12e4cc3.jpg
[2]: https://habrahabr.ru/post/282239/
[3]: https://ru.wikipedia.org/wiki/Алгоритм_Дейкстры
[4]: https://habrahabr.ru/post/282780/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Виртуальный хакатон от компании Microsoft. Твой код к успеху
habra.16
habrabot(difrex,1) — All
2016-04-29 23:00:02


14 апреля начался сбор заявок (и будет продолжаться до 15 мая) на участие в Виртуальном хакатоне от компании Microsoft, официальными партнёрами которого являются такие видные российские компании и организации, как «Альфа-Банк», «Билайн», «ВКонтакте», ФРИИ и Sports.ru вместе с сетью фитнес-клубов World Class. [Читать дальше][1]

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

[>] Русский перевод выступления Алекса Ионеску «Сумасшедшая попытка переписать Windows с нуля»
habra.16
habrabot(difrex,1) — All
2016-04-30 15:30:02


![image][1] [12 ноября 2013][2] года мы опубликовали видео выступления Алекса Ионеску (который известен российской аудитории, в первую очередь, как соавтор книг серии Windows Internals), посвященное операционной системе ReactOS. К сожалению, тогда в нашем распоряжении не было качественных субтитров на английском, а тем более перевода на русский язык. Но теперь, благодаря помощи волонтеров, эти упущения были исправлены. Юзер **Black\_Fox** на сервисе [translatedby.com][3] создал правильные английские субтитры на основе автоматических субтитров youtube, а сообщество переводчиков ресурса [Notabenoid][4] перевело их на русский язык.




Переводчики: gste, leha\_bot, [Goudron][5], elnardu, x4fab, music\_maniak, rumorukato, AHgpyxA, steven\_quartz, [jeditobe][6], Ctulhu31, RooGLM, peterder72, mariocca Скачать через [торрент][7] [Читать дальше →][8]

[1]: https://habrastorage.org/getpro/habr/post_images/1e0/af6/382/1e0af6382d682181c9575517399d6a07.jpg
[2]: https://habrahabr.ru/company/reactos/blog/201804/
[3]: http://translatedby.com/you/reactos-the-crazy-open-source-attempt-to-rewrite-windows-from-scratch/into-en/trans/
[4]: http://notabenoid.org/book/57715/members
[5]: https://habrahabr.ru/users/goudron/
[6]: https://habrahabr.ru/users/jeditobe/
[7]: http://magnet:?xt=urn:btih:15E110B8DA04E6907FC4AE07C90C180FCE3E590C&dn=ReactOS%20Alex%20Ionescu&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce
[8]: https://habrahabr.ru/post/282800/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 17: Взлом SWIFT и кассовых аппаратов, вымогательство в Android c эксплойтами, обход AppLocker
habra.16
habrabot(difrex,1) — All
2016-04-30 21:00:02


![][1]Финансовое кибермошенничество чаще всего затрагивает обычных людей, клиентов банков, но проблемы в результате испытывают и сами финансовые организации. От того, что устройства пользователя атаковать проще, чем банковскую инфраструктуру, страдают все. Но есть исключения: обнаруженная нашими экспертами в прошлом году кампания [Carbanak][2], свежие атаки [Metel, GCMan][3] и ориентированная больше на клиентов (крупных) кампания Carbanak 2.0. Добавим к этому высокотехнологичное ограбление центрального банка Республики Бангладеш, произошедшее в феврале этого года. Определенно, такие атаки требуют значительно больше _скиллов и экспы_, чем мошенничество с кошельками пользователей, но и куш сорвать, если получится, можно больший (или отправиться за решетку на более длительное время, как повезет). На этой неделе история с банковским ограблением получила продолжение: стали известны технические детали атаки. [Выяснилось][4], что грабители напрямую манипулировали программным обеспечением международной платежной системы SWIFT. То есть дело не только в уязвимости инфраструктуры конкретного банка: подобной атаке в той или иной степени подвержены все крупные финансовые организации. К технике вернемся позже, эту историю стоит рассказывать с начала. Так вот, на одной только технологии, даже самой крутой, взломщики далеко бы не уехали: кража десятков миллионов долларов в любом случае будет замечена быстро. Атака была проведена где-то между 4 и 5 февраля, накануне уикенда (в Бангладеш это пятница и суббота). Всего было произведено 32 транзакции на общую сумму под миллиард долларов. Из них 30 транзакций были выявлены и заблокированы — успели, несмотря на выходной. Два перевода, на суммы в 21 и 80 миллионов долларов соответственно в Шри-Ланку и на Филиппины, прошли успешно. [Читать дальше →][5]

[1]: https://habrastorage.org/files/826/df5/bd9/826df5bd9a2c496cba6c247310c997fd.jpg
[2]: https://securelist.ru/blog/issledovaniya/25106/bolshoe-bankovskoe-ograblenie-apt-kampaniya-carbanak/
[3]: https://securelist.ru/blog/issledovaniya/28044/uvelichivaetsya-kolichestvo-apt-ograblenij-bankov-s-ispolzovaniem-atak-metel-gcman-i-carbanak-2-0/
[4]: https://threatpost.com/bangladesh-bank-hackers-accessed-swift-system-to-steal-cover-tracks/117637/
[5]: https://habrahabr.ru/post/282790/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] 1100100 лет со дня рождения Клода Шеннона
habra.16
habrabot(difrex,1) — All
2016-04-30 23:30:02


![image][1] Клод Шеннон любил на выходных вместе с женой Бетти и коллегой сгонять в Лас-Вегас, чтобы поиграть в [блэкджек][2]. Они не поленились и даже разработали первый wearable-компьютер, чтобы заниматься [«подсчетом карт»][3] (метод High-Low). ![image][4] Сегодня, 30 апреля 2016 года исполняется 100 лет со дня его рождения. Вместе с компанией [Edison][5], поздравляем основателя [теории информации][6]. Кстати, Шеннон является дальним родственником [Томаса Эдисона][7]. Под катом немного интересных достижений именинника. [Читать дальше →][8]

[1]: https://habrastorage.org/getpro/habr/post_images/e8c/c4b/287/e8cc4b287ee3d684c271d3f061ccb44a.jpg
[2]: https://ru.wikipedia.org/wiki/%D0%91%D0%BB%D1%8D%D0%BA%D0%B4%D0%B6%D0%B5%D0%BA
[3]: https://en.wikipedia.org/wiki/Card_counting
[4]: https://habrastorage.org/getpro/habr/post_images/3ca/ede/bb0/3caedebb0464b14f801752e60a9abe6d.png
[5]: https://www.edsd.com/technical-audit-and-redevelopment-for-finance-game
[6]: https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8
[7]: https://ru.wikipedia.org/wiki/%D0%AD%D0%B4%D0%B8%D1%81%D0%BE%D0%BD,_%D0%A2%D0%BE%D0%BC%D0%B0%D1%81_%D0%90%D0%BB%D0%B2%D0%B0
[8]: https://habrahabr.ru/post/282806/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] 01100100 лет со дня рождения Клода Шеннона
habra.16
habrabot(difrex,1) — All
2016-05-01 01:30:03


![image][1] Клод Шеннон любил на выходных вместе с женой Бетти и коллегой сгонять в Лас-Вегас, чтобы поиграть в [блэкджек][2]. Они не поленились и даже разработали первый wearable-компьютер, чтобы заниматься [«подсчетом карт»][3] (метод High-Low). ![image][4] Сегодня, 30 апреля 2016 года исполняется 100 лет со дня его рождения. Вместе с компанией [Edison][5], поздравляем основателя [теории информации][6]. Кстати, Шеннон является дальним родственником [Томаса Эдисона][7]. Под катом немного интересных достижений именинника. [Читать дальше →][8]

[1]: https://habrastorage.org/getpro/habr/post_images/e8c/c4b/287/e8cc4b287ee3d684c271d3f061ccb44a.jpg
[2]: https://ru.wikipedia.org/wiki/%D0%91%D0%BB%D1%8D%D0%BA%D0%B4%D0%B6%D0%B5%D0%BA
[3]: https://en.wikipedia.org/wiki/Card_counting
[4]: https://habrastorage.org/getpro/habr/post_images/3ca/ede/bb0/3caedebb0464b14f801752e60a9abe6d.png
[5]: https://www.edsd.com/technical-audit-and-redevelopment-for-finance-game
[6]: https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8
[7]: https://ru.wikipedia.org/wiki/%D0%AD%D0%B4%D0%B8%D1%81%D0%BE%D0%BD,_%D0%A2%D0%BE%D0%BC%D0%B0%D1%81_%D0%90%D0%BB%D0%B2%D0%B0
[8]: https://habrahabr.ru/post/282806/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Множество уязвимостей в ImageMagick, одна из которых ведёт к RCE
habra.16
habrabot(difrex,1) — All
2016-05-04 11:00:08




Несколько часов назад Ryan Huber из отдела безопасности Slack [анонсировал некую критическую уязвимость][1] в софте, используемом множеством сайтов. Этим софтом оказался ImageMagick — популярный пакет для обработки изображений.



Краткая информация об уязвимостях размещена на сайте [imagetragick.com][2]. Да, без названия и сайта для уязвимости не обошлось и в этот раз, хотя изначально Райан писал, что никакого пафоса, включая название и сайт, не будет.



Уязвимость была обнаружена [stewie][3] и раскрыта на hackerone 21 апреля в репорте, по всей видимости, Mail.ru, ибо примерно через неделю после этого Николай Ермишкин из команды безопасности Мэйла нашёл возможность выполнить RCE. Обо всём этом, само собой, сообщили команде разработки IM. Те 30 апреля выпустили фикс, но уже 1 мая им сообщили, что фикс немножко не фикс. Поэтому 2 мая уязвимость раскрыли в листе рассылки разработчиков пакетов, основанных на IM, а 3 мая уязвимость раскрыли публично. Спустя несколько часов после этого на [openwall][4] появилось подробное описание с примерами эксплойтов. Но об этом чуть ниже.

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

[1]: https://twitter.com/ryanhuber/status/727525109481660416
[2]: https://imagetragick.com/
[3]: https://hackerone.com/stewie
[4]: http://www.openwall.com/lists/oss-security/2016/05/03/18
[5]: https://habrahabr.ru/post/282896/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Валидация: внутри сущностей или снаружи?
habra.16
habrabot(difrex,1) — All
2016-05-04 11:00:08


_Обратите внимание, что хотя пост написан от первого лица, это перевод статьи из блога Jimmy Bogard, автора AutoMapper._ Меня часто спрашивают, особенно в контексте архитектуры вертикальных слоев (vertical slice architecture), где должна происходить валидация? Если вы применяете DDD, вы можете поместить валидацию внутри сущностей. Но лично я считаю, что валидация не очень вписывается в ответственность сущности. Часто валидация внутри сущностей делается с помощью аннотаций. Допустим, у нас есть Customer и его поля FirstName/LastName обязательны:

public class Customer
{
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
}


Проблем с таким подходом две:

* Вы изменяете состояние сущности до валидации, то есть ваша сущность может находиться в невалидном состоянии
* Неясен контекст операции (что именно пытается сделать пользователь)

И хотя вы можете показать ошибки валидации (обычно генерируемые ORM) пользователю, не так-то просто сопоставить исходные намерения и детали реализации состояния. Как правило, я стараюсь избегать такого подхода. [Читать дальше →][1]

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

[>] Опасный target="_blank"
habra.16
habrabot(difrex,1) — All
2016-05-04 11:00:08


Большинство создают внешние ссылки через target="\_blank" и не знают одного интересного нюанса — страница, на которую мы попадем таким образом, получит частичный контроль над ссылающейся на нее страницей через js свойство **window.opener**. Через **window.opener.location** мы сможем сделать редирект на, к примеру, фишинговую страницу. Это своего рода tabnabbing, только более продвинутый. Так как жертва меньше всего ожидает подмены страницы, в открытой ранее, доверенной вкладке браузера. [Читать дальше →][1]

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

[>] Как вы можете сделать Java лучше
habra.16
habrabot(difrex,1) — All
2016-05-04 11:00:08


![][1]

Многие люди жалуются, что в Java чего-то не хватает, что-то глючит или медленно работает. Хорошая новость: у вас есть возможность не жаловаться, а своими силами сделать Java лучше. Java практически полностью открыта в виде проекта [OpenJDK][2]. У этого проекта есть свои особенности, но в целом вам ничего не мешает самим сообщать о проблемах, исправлять их и даже разрабатывать новую функциональность. В этой статье я немного расскажу, как это делать новичку.

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

[1]: https://habrastorage.org/getpro/habr/post_images/aa4/c61/c8c/aa4c61c8c5cca13bea59239e6af6d2f8.png
[2]: http://openjdk.java.net/
[3]: https://habrahabr.ru/post/209876/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Интерполяция: рисуем плавные графики с помощью кривых Безье
habra.16
habrabot(difrex,1) — All
2016-05-04 11:00:08


Доброго времени суток, харбачитатель. В этой статье мне хотелось бы рассказать об одном придуманном когда-то алгоритме (или скорее всего — переизобретённом велосипеде) построенного плавного графика по заданным точкам, используя кривые Безье. Статья была написана под влиянием [вот этой статьи][1] и [очень полезного комментария][2] товарища [lany][3], за что им отдельное спасибо. Постановка задачи Есть массив Y-ков точек, расположенных равномерно по оси X. Нужно получить плавный график, который проходит через все заданные точки. Пример на рисунке ниже:



Всех, кому интересно, прошу под кат. [Читать дальше →][4]

[1]: http://habrahabr.ru/post/130873/
[2]: http://habrahabr.ru/post/163073/#comment_5615389
[3]: https://habrahabr.ru/users/lany/
[4]: https://habrahabr.ru/post/247235/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разбор заданий с Google CTF 2016: Mobile
habra.16
habrabot(difrex,1) — All
2016-05-04 11:00:08


![][1]

##### Intro

Вчера закончились впервые организованные Google\`ом соревнования по захвату флага — [Google Capture The Flag 2016][2]. Соревнования длились двое суток, за время которых нужно было выжать из предлагаемых тасков как можно больше флагов. Формат соревнования — **task-based / jeopardy**. Как заявил гугл, задания для этого CTF составляли люди, являющиеся сотрудниками команды безопасности гугла. Поэтому интерес к данным таскам, как и к первому GCTF в целом, был достаточно велик — всего зарегистрировалось ~2500 команд, из которых, однако, только 900 набрали хотя бы 5 очков на решении тасков (опустим ботов и немногочисленные попытки играть нечестно). Принять участие можно было любому желающему, начиная от rookie и любителей безопасности и заканчивая легендами отраслей. Кроме того, можно было участвовать и в одиночку. Большую часть от 2х суток я ковырял задания категории Mobile. И в этом хабе представлены writeup\`ы всех тасков этой категории. Гугл предложил всего 3 задания для Mobile(в других было по 5-6), но от этого они были, возможно, даже более качественными. Ну ладно, вода закончилась, переходим к сути :) [Хватит воды. Перейти к разбору тасков!][3]

[1]: https://habrastorage.org/files/27c/0c6/735/27c0c67355af4e3087ef288770693acd.jpg
[2]: https://capturetheflag.withgoogle.com
[3]: https://habrahabr.ru/post/282846/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] HDD посвящается: усмиряем приложение, прожорливое на дисковое время
habra.16
habrabot(difrex,1) — All
2016-05-04 11:00:08




# Корень всех зол

Долгое время у меня была проблема — система очень сильно тормозила после старта. У меня ноутбук с жёстким диском (HDD) и **Ubuntu 14.04**. Как выяснилось, причина крылась в одной лишь программе — демоне Dropbox. Dropbox — это онлайновое файловое хранилище, а его демон — программка, синхронизирующая файлы, расположенные в определённой папке, с онлайн-хранилищем. На старте демон начинает считывать свой кэш. У меня он занимает не одну сотню мегабайт, а удалять его вручную не стоит — есть вероятность потерять данные. Учитывая, что у меня жёсткий диск — устройство с механическими частями — демон начинал потреблять время доступа к нему настолько, что пользоваться компьютером и запускать приложения становилось малореально, пока он не прогрузится. Убрать его из автозапуска и запускать вручную? Неприятное решение, у меня и так есть вещи, которые я на старте вынужден запускать сам (например, iotop, он без прав суперпользователя не запускается). Нужно было найти способ сделать приложение менее прожорливым _именно на диск_. [Читать дальше →][1]

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

[>] [Из песочницы] Администраторы групп в vk всегда были в открытом доступе
habra.16
habrabot(difrex,1) — All
2016-05-04 12:30:05


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

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

[>] У Upwork проснулась монопольная жадность
habra.16
habrabot(difrex,1) — All
2016-05-04 13:00:05




Глубокой ночью ничто не предвещало беды… Но в четыре утра от фрилансерской биржи Upwork пришло письмо с радостным, выделенным полужирным начертанием сообщением:



**Чем больше вы работаете с клиентом на Upwork, тем больше из заработанного вы оставляете себе!**



Казалось бы, радоваться надо, но если вчитаться, то обнаруживаются некоторые детали: комиссию Upwork не уменьшил, а увеличил. Если раньше на все контракты распространялась комиссия 10%, то сейчас она становится ступенчатой: 20%, 10% и 5% при порогах в $0, $500 и $10 000.

[Добро пожаловать в мир монополий!][1]

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

[>] Обработка древовидных структур и унифицированное AST
habra.16
habrabot(difrex,1) — All
2016-05-04 13:30:02




[Предыдущая статья серии][1] была посвящена теории парсинга исходников с использованием ANTLR и Roslyn. В ней было отмечено, что процесс сигнатурного анализа кода в нашем проекте [PT Application Inspector][2] разбит на следующие этапы:



1. парсинг в зависимое от языка представление (abstract syntax tree, AST);
2. преобразование AST в независимый от языка унифицированный формат (Unified AST, UAST);
3. непосредственное сопоставление с шаблонами, описанными на DSL.



Данная статья посвящена второму этапу, а именно: обработке AST с помощью стратегий Visitor и Listener, преобразованию AST в унифицированный формат, упрощению AST, а также алгоритму сопоставления древовидных структур.



[![][3]][4]



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



* [Обход AST][5]
* [Visitor и Listener][6]
* [Различия в Visitor в ANTLR и Roslyn][7]
* [Грамматика и Visitor в ANTLR][8]
* [Альтернативные и элементные метки в ANTLR][9]
* [Типы узлов унифицированного AST][10]
* [Тестирование конвертеров][11]
* [Упрощение UAST][12]
* [Алгоритм сопоставления древовидных структур][13]
* [Заключение][14]

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

[1]: https://habrahabr.ru/company/pt/blog/210772/
[2]: http://www.ptsecurity.ru/appsecurity/application-inspector/
[3]: https://habrastorage.org/getpro/habr/post_images/031/d2d/4ca/031d2d4cab81a98a67c1962ee1d75f41.png
[4]: https://habrahabr.ru/company/pt/blog/210060/
[5]: #ast-traverse
[6]: #visitor-vs-listener
[7]: #visitor-in-antlr-and-roslyn
[8]: #grammar-and-visitor-antlr
[9]: #antlr-labels
[10]: #unified-ast-types
[11]: #converters-testing
[12]: #ast-simplify
[13]: #tree-matching-algorithm
[14]: #conclusion
[15]: https://habrahabr.ru/post/210060/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Delphi. Что таит в себе TDictionary
habra.16
habrabot(difrex,1) — All
2016-05-04 15:00:02


![][1] Доброго времени суток. А знаете ли вы, что не все хеш таблицы одинаково полезны? Сейчас я расскажу вам историю, как одна плохая хеш таблица скушала всю производительность, и не поморщилась. И как исправление этой хеш таблицы ускорило код почти в 10 раз. Конечно, согласно теме — в статье речь пойдет о Delphi, но даже если вы не Delphi разработчик, то все равно советую заглянуть под кат, а после прочтения статьи в исходный код хеш таблиц, которые вы используете. А Delphi разработчикам я советую вообще отказаться от стандартного TDictionary. [Итак, поехали][2]

[1]: https://habrastorage.org/files/b0a/7a4/d21/b0a7a4d21f2c481ebb021456e95ddefe.png
[2]: https://habrahabr.ru/post/282902/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пол Грэм, «Хакеры и художники», глава 10: «Programming Languages Explained»
habra.16
habrabot(difrex,1) — All
2016-05-04 15:30:02


![image][1] Книга «Хакеры и Художники», глава 10. Эта глава есть только в книге, на сайте [Пола Грэма][2] она отсутствует. Кстати, осталось совсем чуть-чуть и будет готова последняя глава книги, тем самым будет полный русский хабраперевод «Хакеров и художников». (Предыдущий перевод — [Пол Грэм: «The Other Road Ahead»][3].) _За помощь с переводом спасибо Щекотовой Яне._

#### Языки программирования «в разрезе»

**У любой машины есть набор действий, которые на ней можно выполнить.** Иногда этот набор сильно ограничен. Со своим электрическим чайником я могу совершать только два действия: включать и выключать его. Мой CD проигрыватель будет уже посложнее. Помимо включения и выключения, я могу повышать и убавлять на нем громкость звука, воспроизводить и приостанавливать песни, перейти к следующей или предыдущей композиции, а также воспроизводить все это в случайном порядке. Как и любое другое устройство, у компьютера есть список действий, которые он может выполнить. Например, на каждом компьютере можно сложить два числа. Полный перечень допустимых операций компьютера заключен в его машинном языке.

#### Машинный язык

Когда были изобретены компьютеры, все программы приходилось писать как последовательность машинных инструкций. Вскоре, их начали писать в несколько более удобной форме под названием язык ассемблера. В языке ассемблера список команд тот же самый, только используются более удобные для программистов имена. Вместо обращения к инструкции сложения как 11001101, хотя именно так машина ее и вызывает, вам нужно написать add. Проблема с машинным языком/языком ассемблера состоит в том, что большинство компьютеров могут выполнять только очень простые вещи. Например, предположим, что вам нужно, чтобы компьютер воспроизвел короткий звуковой сигнал 10 раз. Сомневаюсь, что у компьютера есть инструкция для осуществления какого-либо действия n раз. Поэтому, если бы вам понадобилось, чтобы компьютер что-то сделал 10 раз, используя настоящие машинные инструкции, вам бы пришлось написать нечто похожее на: put the number 10 in memory location 0 a if location 0 is negative, go to line b beep subtract 1 from the number in location 0 go to line a b ...rest of program… Если вам приходится выполнять столько работы только для того, чтобы заставить машину пропикать 10 раз, то только представьте, сколько труда уходит на написание чего-то наподобие текстового процессора или программы для работы с электронными таблицами. И, кстати, взгляните еще раз на программу. Она и вправду воспроизведет короткий звуковой сигнал 10 раз? Неа, 11. В первой строке мне надо было указать 9 а не 10. Я намеренно поместил в наш пример ошибку, чтобы продемонстрировать важный аспект по поводу языков. Чем больше вам приходится писать для выполнения тех или иных действий, тем сложнее разглядеть ошибки. [Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/e77/914/884/e77914884579df2fb00518209c0082b9.jpg
[2]: http://paulgraham.com/articles.html
[3]: https://habrahabr.ru/company/edison/blog/282574/
[4]: https://habrahabr.ru/post/281561/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Как написать монаду IO на C# (не) без помощи параллельной вселенной и машины времени
habra.16
habrabot(difrex,1) — All
2016-05-04 16:30:02


В жизни нередко бывают ситуации когда нужно просто сесть и сделать какое-то дело, не забивая себе голову вопросами вроде "а что это даст?", "а кому это нужно?" и т. п. Написание монады `IO —` безусловно именно такой случай. Поэтому под катом находится рассказ о том _как_ написать монаду `IO` на _C#,_ без малейших попыток объяснить _зачем_ это делать.





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

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

[>] [Перевод] Приводим данные и код в порядок: оптимизация и память, часть 1
habra.16
habrabot(difrex,1) — All
2016-05-04 19:00:03


В этой серии из двух статей говорится о том, как структура данных и памяти влияет на производительность. Предлагаются определенные действия для повышения производительности программного обеспечения. Даже простейшие действия, показанные в этих статьях, позволят добиться существенного прироста производительности. Многие статьи, посвященные оптимизации производительности программ, рассматривают распараллеливание нагрузки в следующих областях: распределенная память (например, MPI), общая память или набор команд SIMD (векторизация), но на самом деле распараллеливание необходимо применять во всех трех областях. Эти элементы очень важны, но память также важна, а про нее часто забывают. Изменения архитектуры программ и применение параллельной обработки влияют на память и на производительность. [][1]



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

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

[>] Краткий курс от ESET по проектированию малвари
habra.16
habrabot(difrex,1) — All
2016-05-04 19:00:03


Хочешь верь, а хочешь — нет, но дело было так. В одной из контор, куда я был приглашен в качестве консультанта, уже давно заняты поисками «вменяемого» антивируса (уже предвижу на некоторых лицах ядовитые улыбки), а потому решились они снять пробы с ESET Smart Security. И вроде бы все ничего. До вчерашнего дня. [Читать дальше →][1]

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

[>] [Из песочницы] Easy Hack: Java application
habra.16
habrabot(difrex,1) — All
2016-05-04 19:00:03


Время от времени пентестерам приходится сталкиваться с Java-приложениями. Это могут быть различные серверы, клиенты или просто десктопные программы. И иногда возникает необходимость «пропатчить» такое приложение. Зачем это нужно? Каждый случай возникновения такой необходимости уникален. К примеру:

* Сложный протокол общения между сервером и клиентом. Чтобы отправлять произвольные запросы – патчим;
* Захардкожены настройки. Чтобы поменять – патчим;
* Для демонстрации последствий проблем типа «race condition» – патчим.

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

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

[>] Интернет пчел, или Зеленое будущее M2M приложений
habra.16
habrabot(difrex,1) — All
2016-05-04 19:00:03


Все обсуждение вокруг феномена Интернета вещей обычно сводится к тем потенциальным преимуществам для бизнеса и к тем удобствам для пользователей, которые предлагают наши интеллектуальные устройства и объекты, окружающие нас в повседневной жизни. При этом многие аналитики не исключают вероятности того, что мы находимся на пороге второй цифровой революции. Однако недавно прошедший День Земли натолкнул нас на идею рассмотреть вопрос шире – это был отличный повод изучить, каким образом Интернет вещей, и даже скорее индустриальный Интернет вещей (M2M – machine-to-machine), то есть беспроводная передача данных и информации между устройствами и объектами, сможет оказать благотворное влияние на нашу жизнь и будет способствовать устойчивому развитию и защите окружающей среды на нашей взаимосвязанной планете. ![][1] [Читать дальше: Любопытные реализации IoT для 'зеленого' будущего][2]

[1]: https://habrastorage.org/files/c49/6ce/d47/c496ced470af443383ced4d1f83768dd.jpg
[2]: https://habrahabr.ru/post/282786/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] 5 достойных изучения проектов с открытым исходным кодом на React Native
habra.16
habrabot(difrex,1) — All
2016-05-04 19:00:03


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

[1]: https://habrastorage.org/files/6ca/b4e/12d/6cab4e12d821474882de1e9fdcae811d.jpg
[2]: https://habrahabr.ru/post/282950/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Голосовое управление умным домом на Z-wave через Siri
habra.16
habrabot(difrex,1) — All
2016-05-04 19:00:03


Идея поуправлять умным домом с помощью голосовых команд родилась уже давно. И в каких-то системах так или иначе это реализовано. Siri – хороший и удобный голосовой помощник для владельцев айфонов. Понимает человеческую речь, удобен. Но по причине закрытого протокола, не используется для голосового управления «умных» устройств. Хорошо, что у Apple есть HomeKit – некий «туннель» для приема команд умными устройствами от Siri. ![image][1] В этой статье я опишу процесс установки и настройки шлюза для взаимодействия Siri с устройствами домашней автоматизации и расскажу про некоторые особенности разных версий. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/6c3/83c/0c1/6c383c0c10da7eb3a9c5bab46a407f39.png
[2]: https://habrahabr.ru/post/282870/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Работа с WAV-файлами с использованием PHP
habra.16
habrabot(difrex,1) — All
2016-05-04 19:00:03


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

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

[>] Тестируй плагины для Gradle правильно
habra.16
habrabot(difrex,1) — All
2016-05-04 19:00:03




Как-то при подготовке одного из докладов про разработку плагинов для Gradle встала задача — как свои поделия потестировать. Без тестов вообще жить плохо, а когда твой код реально запускается в отдельном процессе и подавно, потому что хочется дебага, хочется быстрого запуска и не хочется писать миллион example-ов, чтобы протестировать все возможные кейсы. Под катом сравнение нескольких способов тестирования, которые мы успели попробовать.

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

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

[>] Вышел uvloop — продвинутая реализация цикла событий для asyncio в Python
habra.16
habrabot(difrex,1) — All
2016-05-04 22:00:03


В стандартной библиотеке Python 3.4 в своё время появился модуль [asyncio][1], позволивший удобно и быстро писать асинхронный код. А уже к Python 3.5 в синтаксис [были][2] добавлены конструкции async/await, окончательно оформившие асинхронность «из коробки» как красивую и гармоничную часть языка.



Хотя asyncio сам по себе и позволяет писать высоконагруженные веб-приложения, оптимизация производительности не была приоритетом при создании модуля. Один из авторов упомянутого PEP-492 (async/await) [Юрий Селиванов][3] взялся за разработку альтернативной реализации цикла событий для asyncio — [uvloop][4]. Вчера вышла первая альфа-версия модуля, о чём автор написал [развёрнутый пост][5]. Если вкратце, то uvloop работает примерно в 2 раза быстрее Node.js и практически не уступает программам на Go. [Под катом небольшая выжимка из записи в блоге][6]

[1]: https://docs.python.org/3/library/asyncio.html
[2]: https://www.python.org/dev/peps/pep-0492/
[3]: https://twitter.com/1st1
[4]: https://github.com/MagicStack/uvloop
[5]: http://magic.io/blog/uvloop-make-python-networking-great-again/
[6]: https://habrahabr.ru/post/282972/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Graylog2 стал удобнее и быстрее
habra.16
habrabot(difrex,1) — All
2016-05-05 09:00:02


Записывая для VPSVille [три ролика][1] по [Graylog][2] понял, что на хабре по нему только одна обзорная [статья][3], а мануалы на любом языке запутаны из-за различной работы компонентов в разных версиях ПО. Потратив сутки на переваривание всей этой красоты пишу мануал: как настроить сервер Graylog для сбора событий из Windows и Linux. Кто очень хочет понимать Linux, но не поймет с чего начинать — прошу ко мне на [канал][4]. ![image][5] Вместо введения: Graylog это open source программное обеспечение, предназначенное для сбора логов в гигантских сетях их огромного количества источников различными способами. В нем можно удобно организовать сбор событий, фильтрацию, поиск, автоматизацию (всякие алерты) и т.д. Аналогичных средств множество, но Graylog предлагает нереальную производительность с использованием современных компонентов, удобную аналитику и красивый интерфейс. Для работы ему нужна [Java][6], логи он будет хранить в [MongoDB][7], для поиска использовать [ElasticSearch][8]. Про сбор информации из WIndows будет ниже, но спойлер — агенту больше не нужна Java. [Читать дальше →][9]

[1]: https://www.youtube.com/user/vpsville
[2]: https://www.graylog.org/
[3]: https://habrahabr.ru/post/132116/
[4]: https://www.youtube.com/user/itsemaev
[5]: https://habrastorage.org/getpro/habr/post_images/4ed/139/b6d/4ed139b6dacc8e5c905fe8a58c2d5599.jpg
[6]: https://www.java.com/ru/
[7]: https://www.mongodb.org/
[8]: https://www.elastic.co/
[9]: https://habrahabr.ru/post/282974/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Почему в MIT больше не изучают SICP
habra.16
habrabot(difrex,1) — All
2016-05-05 14:30:02


На днях широкое внимание привлекло состоявшееся в начале года на митапе NYC Lisp выступление Джеральда Джей Сассмана, — одного из авторов великого и могучего SICP, а также крестного отца Scheme. Всему виной — ответ на вопрос, почему в MIT прекратили преподавать ставший легендарным курс 6.001, построенный на основе книги Сассмана и Абельсона «Структура и интерпретация компьютерных программ» (вопрос задан на 59 минуте).




Сассман назвал две причины; впрочем, сразу замечу, что в первой из них нет ничего особенного. К 1997 году Абельсон и Сассман уже устали рассказывать практически одно и то же с 80-ых, поэтому решили оставить преподавание и предложили главе кафедры самостоятельно решить, как поступить с самим курсом. Здесь удивляться действительно нечему — что угодно может осточертерть, если заниматься им достаточно долго. Впрочем, вторая причина гораздо серьезнее. По мнению Сассмана, они с Абельсоном осознали, что учебный план SICP больше не в силах подготовить инженеров к тому, что представляет собой «инжиниринг» сегодня. В 80-ых и 90-ых инженеры строили сложные системы, комбинируя простые и хорошо изученные «части». Целью SICP было предоставить язык абстракций для рассуждений о таких системах. [Читать дальше →][1]

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

[>] Как я год работал на CoreOS
habra.16
habrabot(difrex,1) — All
2016-05-05 17:00:03




Первый раз о [CoreOS][1] я услышал от Петра Леменкова на Yandex конференции “Дорога в облака” в сентябре 2013 года. Тогда я даже подумать не мог, что буду участвовать в разработке этой ОС.



Второй раз о CoreOS я вспомнил в октябре 2014, когда поступила задача о переводе микросервисов, написанных на Ruby (которые использовали, как это ни странно разные версии Ruby), в более благоприятную среду для continuous integration. Тогда я первый раз запустил CoreOS, и мне она показалось ужасно неудобной в использовании. Документация к ней была поверхностная. Сервисы, которые превращали CoreOS в кластерную ОС, имели множество недоработок и вызывали только чувство раздражения из-за постоянных ошибок. О переводе даже части инфраструктуры на CoreOS не было и речи.



В третий же раз, в марте 2015, поступила задача о предоставлении услуги поддержки в рамках community support для CoreOS. О том, как я справлялся, и пойдет речь.

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

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

[>] С днем шифровальщика (восклицательный знак)
habra.16
habrabot(difrex,1) — All
2016-05-05 18:00:03


![][1] [5 мая 1921 года][2] была создана служба криптографии и шифрования. В этом же году Эйнштейн получил нобелевку «За заслуги перед теоретической физикой и особенно за открытие закона фотоэлектрического эффекта», была создана организация «Госстрах», а Гитлер стал председателем NSDAP. Я поспрашивал коллег из хакспейса и из компании [Edison][3]: «Шеннон, Тьюринг, Фейстель, Шамир, Шнайер, наконец. Вот назовите мне хоть одну фамилию советского криптографа?» Все равно что спросить у ясеня или у тройки. Не дают ответа. Видать, советская криптография была настолько хороша, что отлично шифровала все сведения о самой себе. У меня была попытка раскопать что-нибудь про советскую криптографию, я даже вышел на компанию Анкорт (это те товарищи, которые сделали бриллиантовый криптотелефон и при помощи калькулятора [Электроника МК-85С][4] предотвратили [«чеченский фрод»][5]), статья была написана, но в последний момент заказчик срулил, а [NDA][6] надолго похоронил статью в черновиках. Шифрование у нас в крови, предлагаю сегодня всем читателям поделиться своими историями или наводками на интересные факты советской криптографии. Я же поделюсь двумя своими личными историями про свой первый шифр и про организацию первой Дальневосточной олимпиады по криптографии для школьников. [Читать дальше →][7]

[1]: https://habrastorage.org/files/762/7a4/2eb/7627a42eb7ca4e17943bcf2ccbfecc58.jpg
[2]: https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BB%D1%8C%D1%89%D0%B8%D0%BA%D0%B0
[3]: https://www.edsd.com/services/requirements-elaboration
[4]: https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-85#.D0.9C.D0.9A-85.D0.A1.5B3.5D
[5]: https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%BB%D1%8C%D1%88%D0%B8%D0%B2%D1%8B%D0%B5_%D0%B0%D0%B2%D0%B8%D0%B7%D0%BE
[6]: https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE_%D0%BD%D0%B5%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B8
[7]: https://habrahabr.ru/post/282854/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В I квартале 2016 года ежедневно идентифицировались 227 000 образцов вредоносных программ
habra.16
habrabot(difrex,1) — All
2016-05-05 18:00:03


![][1] PandaLabs, антивирусная лаборатория компании [Panda Security][2], изложила в своем [ежеквартальном отчете][3] основные события кибер-безопасности за первые три месяца 2016 года, показав также статистику вредоносных программ и кибер-атак за указанный период времени. Уровень создания вредоносных программ продолжает бить все рекорды, достигнув отметки в 20 миллионов новых образцов, которые были идентифицированы в PandaLabs на протяжении первого квартала (в среднем — 227 000 образцов ежедневно). Все больше и больше компаний попадают в ловушки шифровальщиков. В настоящем отчете Вы узнаете все новости, связанные с этими типами атак (включая атаки на Linux, Mac и даже веб-страницы). Мы покажем, как можно спасти несколько сотен миллионов евро, а также проанализируем кибер-атаки на больницы, которые произошли за последние несколько месяцев. [Читать дальше →][4]

[1]: https://habrastorage.org/files/668/184/740/668184740c2b4148aa4ae57a8256f297.png
[2]: http://www.pandasecurity.com/russia
[3]: https://pandasecurity.bitrix24.ru/~rTdph
[4]: https://habrahabr.ru/post/283000/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Первые успехи сложного игрового бота
habra.16
habrabot(difrex,1) — All
2016-05-05 18:00:03


_(Приглашение к совместному проекту с открытым исходным кодом)_ Зачем люди пишут игровых ботов? – Можно назвать много возможных причин, одной из них, безусловно, является чисто академический интерес решения сложной задачи AI. В литературе по философии CS и по философии математики программирование неоднократно сравнивалось с альпинизмом. Трудно сказать, кто первый сделал такое сравнение. На наш взгляд, оно очень подходит и к нашему случаю, поэтому, рискуя показаться не оригинальными, все же сделаем утверждение: написание нетривиального бота для программиста – такой же вызов, как покорение вершины для альпиниста. Чем недоступнее вершина – тем сильнее желание ее покорить. Поэтому, прежде всего, нужно выбрать действительно достойную вершину в интересном горном массиве. Одним из таких массивов со множеством сложных, никем пока не покоренных вершин, является игра "[Космические Рейнджеры 2 HD: Революция][1]" (КР2) — продолжение серии игр "[Космические Рейнджеры][2]" (КР). [Читать дальше →][3]

[1]: http://wiki.snk-games.net/Космические_рейнджеры_HD:_Революция
[2]: http://wiki.snk-games.net/Добро_пожаловать
[3]: https://habrahabr.ru/post/283020/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Разработчики в край обленились?
habra.16
habrabot(difrex,1) — All
2016-05-05 18:00:03


![image][1] _Примечание от переводчика: Оригинальный текст, местами, имеет яркую экспрессивную окраску, которую было решено адаптировать и передать в переводе. Сама статья глубоко субъективна, но в целом, дает некоторую пищу для размышлений. Приятного чтения._

----

Я разработчик программного обеспечения и я создаю баги и ошибки. Однажды я сбросил продакшн-базу SQL на дефолт, что угробило важную информацию и похоронило огромный кусок работы моих коллег. Содержание данного поста абсолютно субъективно и не направлено против какой-либо компании. Я считаю, что у нашей сферы есть серьезные проблемы с качеством выполняемых работ и я не вижу этому конца. За последние несколько лет стало ощущаться, как качество программного обеспечения и услуг по всей отрасли стало падать, а не расти. Все и всегда находится в стадии Беты (как исходя из названия, так и из качества). Товары отправляются потребителям тогда, когда этого хотят маркетологи, а не когда они реально готовы к продаже, а все потому, что «мы всегда сможем легко все пофиксить». Конечный потребитель превратился из покупателя в бета-тестера, но это уже норма, потому что в разработке используется Agile. В программировании мы стали считать, что ошибки и неудачи — это нормально, поэтому нам теперь не нужно прикладывать так много усилий для их избежания. Поддержка миллионов клиентов — вещь сложная, поэтому волноваться не стоит. Зачем вообще тратить время на ознакомление с фидбеком и репортами от пользователей, если их просто можно отправить в бесконечный лабиринт под названием «саппорт» и «обратная связь»? Я никогда не расстраивался из-за этого, но за последние несколько лет я видел столько смешных и глупых ошибок в программном обеспечении и на веб-сайтах, что у меня уже стала немного пригорать задница. Я понимаю, что мы принадлежим к молодой и еще неопытной сфере производства, что нам не хватает квалифицированных разработчиков для того, чтобы все делать правильно, но в последнее время возникает чувство, что мы даже и не пытаемся. Ниже я предлагаю вам ознакомиться с рядом скриншотов, на которых запечатлены «косяки» наших коллег только за последний месяц. Или я такой «везучий», что только и делаю, что натыкаюсь на подобное? Или же это видят все, но только мне приходится сдерживаться, чтобы не начать орать? [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/ec4/43b/73e/ec443b73e21fa428456ef89ffaf7cbf5.png
[2]: https://habrahabr.ru/post/283022/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] С днем шифровальщикаǃ
habra.16
habrabot(difrex,1) — All
2016-05-06 02:00:02


![][1] [5 мая 1921 года][2] в России была создана служба криптографии и шифрования. В этом же году Эйнштейн получил нобелевку «За заслуги перед теоретической физикой и особенно за открытие закона фотоэлектрического эффекта», была создана организация «Госстрах», а Гитлер стал председателем NSDAP. Я поспрашивал коллег из хакспейса и из компании [Edison][3]: «Шеннон, Тьюринг, Фейстель, Шамир, Шнайер, наконец. Вот назовите мне хоть одну фамилию советского криптографа?» Все равно что спросить у ясеня или у тройки. Не дают ответа. Видать, советская криптография была настолько хороша, что отлично шифровала все сведения о самой себе. У меня была попытка раскопать что-нибудь про советскую криптографию, я даже вышел на компанию Анкорт (это те товарищи, которые сделали бриллиантовый криптотелефон и при помощи калькулятора [Электроника МК-85С][4] предотвратили [«чеченский фрод»][5]), статья была написана, но в последний момент заказчик срулил, а [NDA][6] надолго похоронил статью в черновиках. Шифрование у нас в крови, предлагаю сегодня всем читателям поделиться своими историями или наводками на интересные факты советской криптографии. Я же поделюсь двумя своими личными историями про свой первый шифр и про организацию первой Дальневосточной олимпиады по криптографии для школьников. [Читать дальше →][7]

[1]: https://habrastorage.org/files/762/7a4/2eb/7627a42eb7ca4e17943bcf2ccbfecc58.jpg
[2]: https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BB%D1%8C%D1%89%D0%B8%D0%BA%D0%B0
[3]: https://www.edsd.com/services/requirements-elaboration
[4]: https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-85#.D0.9C.D0.9A-85.D0.A1.5B3.5D
[5]: https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%BB%D1%8C%D1%88%D0%B8%D0%B2%D1%8B%D0%B5_%D0%B0%D0%B2%D0%B8%D0%B7%D0%BE
[6]: https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE_%D0%BD%D0%B5%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B8
[7]: https://habrahabr.ru/post/282854/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Серьезная уязвимость прокси-сервера Squid позволяет «отравить кэш»
habra.16
habrabot(difrex,1) — All
2016-05-06 10:30:02


[![][1]][2] Цзянь-Цзюнь Чэнь (Jianjun Chen) — аспирант китайского Университета Цинхуа — обнаружил [опасную уязвимость][3] в популярном прокси-сервере Squid. Как ему удалось выяснить, система не соответствует стандарту RFC 7230, а также некорректно работает при парсинге и обработке заголовка Host в HTTP-запросах. В результате злоумышленник может сформировать зловредный пакет и с помощью него осуществить атаку cache poisoning. [Читать дальше →][4]

[1]: https://habrastorage.org/files/efc/a4e/9c2/efca4e9c217549c4b624384842c17443.png
[2]: https://habrahabr.ru/company/pt/blog/283028/
[3]: http://bugs.squid-cache.org/show_bug.cgi?id=4501
[4]: https://habrahabr.ru/post/283028/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как взломать Telegram и WhatsApp: спецслужбы не нужны
habra.16
habrabot(difrex,1) — All
2016-05-06 12:00:02


На прошлой неделе общественность взбудоражила новость о [причастности спецслужб к взлому Telegram опозиционеров][1]. На протяжении своего существования человечество все необъяснимое пыталось объяснить с помощью высших сил – Богов. В наше время все непонятные вещи объясняют происками спецслужб. Мы решили проверить, действительно ли нужно быть спецслужбой, чтобы получить доступ к чужому аккаунту Telegram. Мы зарегистрировали тестовый аккаунт Telegram, обменялись несколькими тестовыми сообщениями: [![][2]][3] Далее провели атаку через сеть SS7 на один из тестовых номеров (подробнее о самих атаках мы [писали ранее][4]). [Читать дальше →][5]

[1]: http://www.rbc.ru/politics/02/05/2016/57278bc29a7947849edc8a53
[2]: https://habrastorage.org/files/6bc/387/ff4/6bc387ff423a41889c20fe219987dd83.png
[3]: https://habrahabr.ru/company/pt/blog/283052/
[4]: https://www.ptsecurity.com/upload/ptcom/SS7_WP_A4.ENG.0036.01.DEC.28.2014.pdf
[5]: https://habrahabr.ru/post/283052/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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