RSS
Pages: 1 ... 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 ... 210
[>] Реверс протокола СКУД RS485 от Perco. Берегите линии своих СКУД от вторжения
habra.16
habrabot(difrex,1) — All
2016-02-19 00:30:03


Участвуя последнее время в разных интересных проектах, возникла задачка альтернативного управления продуктом [Perco Электронная проходная KT02.3][1]. Данный продукт является законченным решением и не подразумевает использование в составе других систем СКУД, а также какого-либо вторжения в свою среду управления. Но, как говорится в поговорке, _«Возможно все! На невозможное просто требуется больше времени» (С) Дэн Браун_. Как и что из этой затеи получилось, читайте под катом. [Читать дальше →][2]

[1]: https://www.perco.ru/products/elektronnye-prohodnye/elektronnaya-prohodnaya-kt02/
[2]: https://habrahabr.ru/post/277405/#habracut

[>] [Из песочницы] Как я переносил рабочую систему Ubuntu MATE 14.04 на новый SSD-диск
habra.16
habrabot(difrex,1) — All
2016-02-19 10:30:04


Как-то, работая, заметил, что мой личный ноутбук на i5-ом, с 8 гигабайтами ОЗУ на Linux уступает служебной, менее мощной, «лошадке». Было решено сделать «ход конём»: вместо старого SATA HDD был приобретен новый SSD диск. Админы по сути своей существа ленивые, и я не стал исключением. Вспоминать все, что было сделано заново, выстраивая свою рабочую среду, не хотелось от слова совсем, и перенос операционной системы был наименее беспроблемным вариантом в моем случае. Итак, приступим. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/277517/#habracut

[>] Создание системы расстановки объектов по уровню при помощи редактора bluprint
habra.16
habrabot(difrex,1) — All
2016-02-19 13:30:03


![image][1] Здравствуйте, меня зовут Дмитрий. Я занимаюсь созданием компьютерных игр на Unreal Engine в качестве хобби. Для своего проекта я разрабатываю продцедурно генерируемый уровень. Мой алгоритм расставляет в определенно порядке точки в пространстве (которые я называю корни «roots»), после чего к этим точкам я прикрепляю меши. Но тут возникает проблема в том, что нужно с начала прикрепить меш потом откомпилировать проект и лиш после этого можно увидеть как она встала. Естественно постоянно бегать из окна редактора в окно VS очень долго. И я подумал что можно было-бы для этого использовать редактор bluprint, тем более мне попался на глаза плагин Dungeon architect, в котором расстановка объектов по уровню реализована через bluprint. Собственно здесь я расскажу о создании подобной системы скриншот из которой изображен на первом рисунке. [Читать дальше →][2]

[1]: https://habrastorage.org/files/0d5/f4a/c99/0d5f4ac99ea848be93896fdae0531fce.png
[2]: https://habrahabr.ru/post/277515/#habracut

[>] Ещё одна аппроксимация полиномом функции нескольких переменных
habra.16
habrabot(difrex,1) — All
2016-02-19 14:00:03


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

[1]: https://habrastorage.org/getpro/habr/post_images/ef5/447/6b6/ef54476b68abd0f286427fdb4f60b487.jpg
[2]: https://habrahabr.ru/post/277541/#habracut

[>] Открыта регистрация на NeoQUEST-2016
habra.16
habrabot(difrex,1) — All
2016-02-19 18:00:03


![][1] Отличная новость: [открыта регистрация][2] на ежегодное соревнование по кибербезопасности NeoQUEST! Традиционно провожаем зиму и встречаем весну online-этапом хакерского соревнования! Online-этап NeoQUEST-2016 пройдет **с 11 по 21 марта**. По итогам online-этапа будут выбраны лучшие участники, которые будут приглашены в Питер на летнюю «очную ставку», дающую возможность выиграть крутые призы и поездку на одну из международных конференций по кибербезопасности! Подробнее о тематике и заданиях NeoQUEST-2016 — под катом! [Читать дальше →][3]

[1]: https://habrastorage.org/files/e16/965/6d6/e169656d67e54c48bd65670ba8ae3f6a.jpg
[2]: http://2016.neoquest.ru/
[3]: https://habrahabr.ru/post/277247/#habracut

[>] [Перевод] Список ресурсов по машинному обучению. Часть 1
habra.16
habrabot(difrex,1) — All
2016-02-19 20:30:02


[][1] _Ранее мы говорили о [разработке][2] системы квантовой связи и о том, как из простых студентов [готовят][3] продвинутых программистов. Сегодня мы решилие еще раз ([1][4], [2][5]) взглянуть в сторону темы машинного обучения и привести адаптированную ([источник][6]) подборку полезных материалов, обсуждавшихся на Stack Overflow и Stack Exchange._ [Читать дальше →][7]

[1]: http://habrahabr.ru/company/spbifmo/blog/277511/
[2]: https://habrahabr.ru/company/spbifmo/blog/269127/
[3]: https://habrahabr.ru/company/spbifmo/blog/275071/
[4]: https://habrahabr.ru/company/spbifmo/blog/271027/
[5]: https://habrahabr.ru/company/spbifmo/blog/276479/
[6]: https://github.com/ujjwalkarn/Machine-Learning-Tutorials
[7]: https://habrahabr.ru/post/277511/#habracut

[>] [Из песочницы] Что несут свежие изменения в 63-ФЗ «об электронной подписи»
habra.16
habrabot(difrex,1) — All
2016-02-20 11:30:03


23 декабря 2015 года Государственной думой в 3м чтении был принят проект ФЗ-445 об изменении в 63-ФЗ «об электронной подписи». Так как многие коллеги еще не знакомы с этим законом, хотелось бы донести и рассказать чего коснутся изменения и как он повлияет на развитие единого пространства доверия в Российской Федерации. Но обо всем по порядку. До настоящего момента, каждый удостоверяющий центр (далее УЦ), после прохождения аккредитации САМ выпускал себе ключевую пару (открытый и закрытый ключи УЦ) и сертификат проверки ключа электронной подписи (далее сертификат). Основной особенностью сертификата было то, что он был выпущен самим УЦ и подписан его подписью (такой вариант сертификата называется «самоподписанный»). Далее этот сертификат предоставлялся оператору Головного удостоверяющего центра Российской федерации (далее ГУЦ), где, данный самоподписанный сертификат включался в доверенные и ГУЦ публиковался на портале ГУЦ как доверенный. В итоге такой схемы взаимодействия УЦ с ГУЦ мы получали изоляцию пространств доверия каждого отдельного УЦ, так как все операционные системы и прикладное ПО проводят проверку сертификата ключа по цепочке сертификации, до тех пор, пока издатель сертификата не совпадет с владельцем сертификата. Таким образом получалась картина, что для того чтобы два пользователя с сертификатами двух разных УЦ доверяли друг другу, им было необходимо добавить сертификаты УЦ друг друга в доверенные. Тут специалисты мне вежливо укажут на кросс-сертификаты между УЦ, но я уверенно отвечу – это костыли, и объясню почему: Представьте, что вы в сети интернет и вы ходите от одного узла сети к другому, каждый из которых использует сертификат своего УЦ. Тогда, для обеспечения доверия всем узлам (они и правда доверенные) вам придётся иметь у себя локально сертификаты всех УЦ в Российской Федерации. Более того, вам придётся их самостоятельно поддерживать в актуальном состоянии. Оно вам надо? [Читать дальше →][1]

[1]: https://habrahabr.ru/post/277591/#habracut

[>] Создание системы расстановки объектов по уровню при помощи редактора blueprint
habra.16
habrabot(difrex,1) — All
2016-02-20 13:00:04


![image][1] Здравствуйте, меня зовут Дмитрий. Я занимаюсь созданием компьютерных игр на Unreal Engine в качестве хобби. Для своего проекта я разрабатываю продцедурно генерируемый уровень. Мой алгоритм расставляет в определенно порядке точки в пространстве (которые я называю корни «roots»), после чего к этим точкам я прикрепляю меши. Но тут возникает проблема в том, что нужно с начала прикрепить меш потом откомпилировать проект и лиш после этого можно увидеть как она встала. Естественно постоянно бегать из окна редактора в окно VS очень долго. И я подумал что можно было-бы для этого использовать редактор blueprint, тем более мне попался на глаза плагин Dungeon architect, в котором расстановка объектов по уровню реализована через blueprint. Собственно здесь я расскажу о создании подобной системы скриншот из которой изображен на первом рисунке. [Читать дальше →][2]

[1]: https://habrastorage.org/files/0d5/f4a/c99/0d5f4ac99ea848be93896fdae0531fce.png
[2]: https://habrahabr.ru/post/277515/#habracut

[>] Security Week 07: Apple против ФБР, глобальная уязвимость в glibc, криптолокеры и медицина
habra.16
habrabot(difrex,1) — All
2016-02-20 19:00:04


![][1]Неделя с лишним рабочим днем выдалась насыщенной и сбалансированной. События вокруг спора между Apple и американскими госорганами в лице ФБР и Минюста продолжают развиваться, но уже сейчас ясно, что они серьезно повлияют на развитие индустрии безопасности в части защиты личной информации. В отличие от этой чисто политической истории, критическая уязвимость в библиотеке glibc представляет собой новость абсолютно техническую, но, прямо или косвенно, тоже затрагивает всех. Хочется сказать, что на этой неделе активизировался спор за возможность влиять на развитие технологий: между, так сказать, технарями и политиками. Первые руководствуются возможностью реализовать ту или иную функциональность в софте и железе, вторые — необходимостью договариваться с различными заинтересованными сторонами. На самом деле спорят не об этом. Технологии всегда развиваются независимо от того, согласны ли с этим окружающие или нет. Выводя свой спор с ФБР в общественное пространство, Apple борется за то, чтобы оставаться в авангарде этого самого технического развития. Иными словами, если Apple проиграет, и реальная (а то и воображаемая!) защищенность устройств компании каким-то образом пострадает, это не значит, что за всеми нами обязательно будет следить большой брат. Это значит, что условный вымпел с надписью «самый безопасный смартфон» перехватит какая-то другая компания. Впрочем, это только гипотеза. Не исключено, что пока мы все бурно обсуждаем взлом зашифрованных данных, кто-то где-то копает очередную критическую дыру в очередной glibc, и когда докопает — все остальное по теме безопасности станет вообще неактуально. Рассмотрим оба случая подробнее. Все выпуски дайджеста доступны [по тегу][2]. [Читать дальше →][3]

[1]: https://habrastorage.org/files/f59/4d4/273/f594d4273d664d83ac60c05e73daeb3a.jpg
[2]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[3]: https://habrahabr.ru/post/277571/#habracut

[>] Консольное управление DLNA-сервером Mediatomb
habra.16
habrabot(difrex,1) — All
2016-02-20 19:00:04


Уже давно в качестве домашнего DLNA-сервера использую Mediatomb. Это очень надежный и легкий сервер, который позволяет получить доступ к своему видео-аудио-фото архиву с любого устройства, поддерживающего DLNA. Mediatomb обладает интерактивным WEB-интерфейсом, посредством которого можно добавлять под контроль указанного сервера каталоги с медиа-данными. Однако, мне понадобилась возможность не интерактивного, а консольного управления этим сервером, в частности появилась необходимость добавлять и удалять папки с медиа-информацией. К сожалению, никаких штатных средств для этих операций системой не предусмотрено, поэтому был создан небольшой скрипт, на основе CURL, который, понятно, имитирует работу пользователя с браузером и собственно позволил мне достичь нужного результата. Возможно, проделанная работа может потребоваться кому-нибудь еще, поэтому решил воспроизвести ее на Хабре. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/277585/#habracut

[>] XSS-уязвимость нулевого дня позволяет похищать учетные данные пользователей Cisco ASA
habra.16
habrabot(difrex,1) — All
2016-02-20 19:00:04


[![][1]][2] В начале февраля 2016 года в сеть попала информация о [критической уязвимости][3] межсетевых экранов Cisco ASA, которая позволяет злоумышленникам осуществлять удаленное выполнение кода. Спустя несколько дней после ее исправления, в этом продукте была обнаружена еще одна серьезная ошибка безопасности. 17 февраля исследователь Хуан Сакко [опубликовал][4] информацию об уязвимости нулевого дня, с помощью которой, при определенных обстоятельствах, злоумышленник может похитить учетные данные пользователя устройства. [Читать дальше →][5]

[1]: https://habrastorage.org/files/d1f/bc8/20a/d1fbc820aac34c8a82fcd48994c8affe.jpg
[2]: https://habrahabr.ru/company/pt/blog/277575/
[3]: https://habrahabr.ru/company/pt/blog/277139/
[4]: http://seclists.org/fulldisclosure/2016/Feb/82?utm_source=feedburner&utm_medium=twitter&utm_campaign=Feed%3A+seclists%2FFullDisclosure+%28Full+Disclosure%29
[5]: https://habrahabr.ru/post/277575/#habracut

[>] [Перевод] Список ресурсов по машинному обучению. Часть 2
habra.16
habrabot(difrex,1) — All
2016-02-20 19:00:04


[][1] _Продолжим ([1][2], [2][3]) рассматривать тему машинного обучения. Вашему вниманию вторая часть (первая [тут][4]) адаптированной подборки полезных материалов._ [Читать дальше →][5]

[1]: http://habrahabr.ru/company/spbifmo/blog/277593/
[2]: https://habrahabr.ru/company/spbifmo/blog/271027/
[3]: https://habrahabr.ru/company/spbifmo/blog/276479/
[4]: https://habrahabr.ru/company/spbifmo/blog/277511/
[5]: https://habrahabr.ru/post/277593/#habracut

[>] Получаем данные по websocket используя swift и заполняем UITableView (сервер node.js)
habra.16
habrabot(difrex,1) — All
2016-02-21 01:00:03


Не нашел ни одного актуального гайда по работе с websocket в Xcode, вот мой опыт, надеюсь какому-то новичку поможет, и он не потратит столько времени в поисках как я. Для подключения по websocket мы будем использовать SocketIOClientSwift Скачать можно [тут][1]. Установка там тоже в принципе описывается, но для тех кто совсем в танке расскажу, что есть простой способ, просто добавьте файлы из папки source в свой проект. В нашем примере мы будем получать тикеты из системы технической поддержки которая работает на node.js [Читать дальше →][2]

[1]: https://github.com/socketio/socket.io-client-swift
[2]: https://habrahabr.ru/post/277635/#habracut

[>] [Из песочницы] Реализация MODBUS RTU сервера с помощью интерфейсного модуля Fastwel и программного обеспечения CoDeSys
habra.16
habrabot(difrex,1) — All
2016-02-21 12:30:03


В данной статье рассмотрена интеграция программируемого логического контроллера CPM713 компании Fastwel, работающего на базе протокола MODBUS TCP, с панелью оператора Weintek, поддерживающей последовательный вариант протокола MODBUS RTU/ASCII, с помощью интерфейсного модуля NIM742 и готовой библиотеки адаптированной среды CoDeSys для Fastwel. Промышленные протоколы на базе сетей Ethernet приобретают все большую популярность. Использование данной технологии в промышленных системах имеет преимущества, например, возможность гибкой модернизации и масштабирования системы, простоту построения архитектуры и невысокую стоимость создания сетей [1]. Однако внедрение новых технологий в область АСУ ТП происходит достаточно медленно, поэтому до сих пор многими устройствами используются традиционные промышленные сети на базе последовательных шин. При создании автоматизированных систем нередко требуется наладить обмен данными между устройствами, поддерживающими различные протоколы обмена данными или различные модификации одного и того же протокола. Так, контроллер CPM713 компании Fastwel использует для передачи данных протокол MODBUS TCP на базе сетей Ethernet [2]. При работе с данным контроллером возникла задача передавать и получать данные с панели оператора MT6100i компании Weintek, поддерживающей последовательный протокол MODBUS RTU/ASCII (рис. 1). ![][1] _Рисунок 1. Интеграция контроллера Fastwel I/O с операторской панелью Weintek_ Использование бесшовной интеграции всегда является более приоритетным, чем использование сторонних шлюзов. Поэтому для решения данной задачи был взят интерфейсный модуль NIM742 компании Fastwel, позволяющий подключать устройства с интерфейсом RS-232C и работать с ними через пользовательскую программу контроллера CPM713. Модуль NIM742 совместно с пользовательской программой контроллера CPM713 реализует работу подчиненного узла Modbus RTU. NIM742 подключается в общую линейку модулей и по шине FBUS обменивается данными с контроллером CPM713 (рис.2). Для обеспечения работы NIM742 с протоколом MODBUS RTU используется библиотека CoDeSys FastwelModbusServer.lib, входящая в пакет адаптации Fastwel. ![][2] _Рисунок 2. Контроллер CPM713 с подключенными модулями_ [Читать дальше →][3]

[1]: https://habrastorage.org/files/acd/9d5/61f/acd9d561f44742fd8ce33816274941ec.jpg
[2]: https://habrastorage.org/files/a62/151/211/a62151211c494e9594b009d754de0da5.jpg
[3]: https://habrahabr.ru/post/277639/#habracut

[>] Математика на пальцах: линейно-квадратичный регулятор
habra.16
habrabot(difrex,1) — All
2016-02-21 20:30:03




# Пара часов из жизни математика-программиста или читаем википедию

Для начала в качестве эпиграфа [цитирую][1] [rocknrollnerd][2]:

> — Здравствуйте, меня зовут %username%, и втайне раскрываю суммы из сигма-нотации на листочке, чтобы понять, что там происходит.
>
>
>
> — Привет, %username%!
>
>

Итак, как я и говорил в своей прошлой статье, у меня есть студенты, которые **панически** боятся математики, но в качестве хобби ковыряются паяльником и сейчас хотят собрать тележку-сигвей. Собрать-то собрали, а вот держать равновесие она не хочет. Они думали использовать [ПИД-регулятор][3], да вот только не сумели подобрать коэффициенты, чтобы оно хорошо работало. Пришли ко мне за советом. А я ни бум-бум вообще в теории управления, никогда и близко не подходил. Но зато когда-то на хабре я видел [статью][4], которая говорила про то, что линейно-квадратичный регулятор помог автору, а пид не помог. Если ПИД я ещё себе худо-бедно на пальцах представляю ([вот моя статья][5], которую с какого-то перепугу перенесли на гиктаймс), то про другие способы управления я даже и не слышал толком. Итак, моя задача — это представить себе (и объяснить студентам, а заодно и вам), что такое линейно-квадратичный регулятор. Пока что работы с железом не будет, я просто покажу, как я работаю с литературой, ведь именно это и составляет львиную долю моей работы. Раз уж пошёл эксгибиционизм про мою работу, то вот вам моё рабочее место (кликабельно): [![][6]][7][![][8]][9] [Математика для программистов!][10]

[1]: https://habrahabr.ru/post/277275/#comment_8774641
[2]: https://habrahabr.ru/users/rocknrollnerd/
[3]: https://ru.wikipedia.org/wiki/%D0%9F%D0%98%D0%94-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80
[4]: https://habrahabr.ru/post/220989/
[5]: https://geektimes.ru/post/255598/
[6]: https://habrastorage.org/getpro/habr/post_images/ee8/3aa/1c9/ee83aa1c90a86a6a0ecc672c4af5d1de.jpg
[7]: https://hsto.org/files/68e/c8f/5d1/68ec8f5d11b1401ebde13c7e767dff39.jpg
[8]: https://habrastorage.org/getpro/habr/post_images/eb8/b66/71b/eb8b6671bc0fc4cda673e207071553ea.jpg
[9]: https://hsto.org/files/087/df6/2a0/087df62a041a40499f4f6447da33ab1c.jpg
[10]: https://habrahabr.ru/post/277671/#habracut

[>] Пишем shell скрипты на Python и можно ли заменить им Bash
habra.16
habrabot(difrex,1) — All
2016-02-21 20:30:03


В этой небольшой статье речь пойдет о том, можно ли легко использовать Python для написания скриптов вместо Bash/Sh. Первый вопрос, который возникнет у читателя, пожалуй, а почему, собственно, не использовать Bash/Sh, которые специально были для этого созданы? Созданы они были достаточно давно и, на мой взгляд, имеют достаточно специфичный синтаксис, не сильно похожий на остальные языки, который достаточно сложно запомнить, если вы не администратор 50+ левела. Помните, ли вы навскидку как написать на нем простой if?

if [ $# -ne "$ARGCOUNT" ]
then
echo "Usage: `basename $0` filename"
exit $E_WRONGARGS
fi

Элементарно правда? Интуитивно понятный синтаксис. :) Тем не менее в python эти конструкции намного проще. Каждый раз когда я пишу что то на баше, то непременно лезу в поисковик чтобы вспомнить как писать простой if, switch или что-то еще. Присвоение я уже запомнил. :) В Python все иначе. Я хоть и не пишу на нем круглые сутки, но никогда не приходилось лезть и смотреть как там сделать простой цикл, потому что синтаксис языка простой и интуитивный. Плюс ко всему он намного ближе к остальным мейнстримовым языкам типа java или c++, чем Bash/Sh. Также в стандартной и прочих библиотеках Python есть намного более удобные библиотеки чем консольные утилиты. Скажем, вы хотите распарсить json, xml, yaml. Знаете какой я недавно видел код в баше чтобы сделать это? Правильно:



И это был не мой код. Это был код баше/питоно нейтрального человека. То же самое с регексом, sed бесспорно удобная утилита, но как много людей помнит как правильно ее использовать? Ну кроме Lee E. McMahon, который ее создал. Да впринципе многие помнят, даже я помню как делать простые вещи. Но, на мой взгляд, в Python модуль re намного удобнее. В этой небольшой статье я хотел бы представить вам диалект Python который называется [shellpy][1] и служит для того, чтобы насколько это возможно заменить Bash на python в скриптах. Велкам под кат. [Читать дальше →][2]

[1]: https://github.com/lamerman/shellpy
[2]: https://habrahabr.ru/post/277679/#habracut

[>] C++ SDK для Amazon Web Services
habra.16
habrabot(difrex,1) — All
2016-02-22 15:00:03


![][1] Под конец прошлого года компания Amazon выпустила (наконец-то!) [C++ SDK][2] для своей платформы AWS. Непонятно, почему так долго тянули — есть масса приложений, написанных на С++, из которых давно хотелось удобно пользоваться AWS. Не джавой же единой, в самом деле. Всегда интересно посмотреть на что-то, написанное на С++ в наши дни с нуля, без груза обратной совместимости и странных архитектурных решений, присущих некоторым разработкам прошлого. Я не буду тут пересказывать документацию, но остановлюсь на ключевых моментах, определяющих всё поведение SDK. [Читать дальше →][3]

[1]: https://habrastorage.org/files/609/2e8/ab6/6092e8ab6c5f4375a35c8910fe670126.png
[2]: https://aws.amazon.com/blogs/aws/introducing-the-aws-sdk-for-c/
[3]: https://habrahabr.ru/post/277711/#habracut

[>] [recovery mode] D std.ndslice как замена Python Numpy
habra.16
habrabot(difrex,1) — All
2016-02-22 17:00:02


Предисловие: [Я пишу][1] на Python более 6 лет и могу назвать себя профессионалом в этом языке. Недавно я даже написал о нем [книгу][2]. Однако последние 8 месяцев я переключился на D и уже 4 месяца активно участвую в разработке этого языка по части расширения стандартной библиотеки Phobos. Так же я участвовал в код-ревью модуля std.ndslice о котором и пойдет речь. std.ndslice так же как и Numpy предназначен для работы с многомерными массивами. Однако в отличие от Numpy ndslice имет крайне низкий оверхэд так как базируется на ranges (диапазонах), которые используются в штатной библиотеке повсеместно. Ranges позволяют избежать лишние процедуры копирования, а так же позволяют красиво организовать ленивые вычисления. В этой статье мне хотелось бы рассказать о том какие преимущества std.ndslice дает по сравнению с Numpy. [Читать дальше →][3]

[1]: http://jackstouffer.com/blog/nd_slice.html
[2]: https://www.packtpub.com/web-development/mastering-flask
[3]: https://habrahabr.ru/post/277715/#habracut

[>] Ленивый список в C++
habra.16
habrabot(difrex,1) — All
2016-02-23 01:30:02


![][1] В Scala есть интересная коллекция — Stream. Контейнер, который представляет собой список, элементы которого вычисляются (и сохраняются после этого) при первом обращении:

> The class Stream implements lazy lists where elements are only evaluated when they are needed.

Мне захотелось реализовать нечто подобное на C++. [Что из этого получилось...][2]

[1]: https://habrastorage.org/files/05b/f52/ba9/05bf52ba931046cfade822f59a25b399.png
[2]: https://habrahabr.ru/post/277737/#habracut

[>] Что нам стоит LVM построить (принцип работы, производительность, Thin Provision)
habra.16
habrabot(difrex,1) — All
2016-02-23 09:00:02


Не смотря на наличие нескольких статей на Хабре, про LVM2 и производительность Thin Provisioning, решил провести своё исследование, так как имеющиеся показались мне поверхностными. Кому интересно, добро пожаловать под кат. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/277663/#habracut

[>] [Перевод] 10 привычек довольного node.js разработчика
habra.16
habrabot(difrex,1) — All
2016-02-23 13:00:02


![][1] К концу 2015 года в распоряжении JavaScript разработчиков образовалось огромное количество инструментов. В этой экосистеме легко потеряться, поэтому успешные команды следуют выработанным правилам, которые позволяют не терять время и сохранять здоровье проектов. Под катом перевод статьи 2016 года от команды Heroku, в которой они рассказывают о десяти привычках веб разработчиков, у которых все работает и ничего не болит. Скорее всего 80% написанного вы уже знаете – тем интереснее вам будет прочитать об оставшихся двух приемах! [Читать дальше →][2]

[1]: https://habrastorage.org/files/60a/be8/79f/60abe879f6964c48bcc68fc7e88bde3a.png
[2]: https://habrahabr.ru/post/277707/#habracut

[>] Как наши технари в армии служили
habra.16
habrabot(difrex,1) — All
2016-02-23 14:00:02


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

### “У вас неправильные полигоны на танках”, или судьба верстальщика

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

[1]: https://habrastorage.org/files/fd3/e19/295/fd3e19295675405a8d3c47ae15addcd6.jpg
[2]: https://habrahabr.ru/post/277751/#habracut

[>] Идеальный UI фреймворк
habra.16
habrabot(difrex,1) — All
2016-02-23 14:30:04


Здравствуйте, меня зовут Дмитрий Карловский, и я… архитектор множества широко известных в узких кругах фреймворков. Меня никогда не устраивала необходимость из раза в раз решать одни и те же проблемы, поэтому я всегда стараюсь решать их в корне. Но прежде, чем их решить, нужно их обнаружить и осознать, что довольно сложно находясь в плену привычек, паттернов, стереотипов и "готовых" решений. Каждый раз сталкиваясь с проблемами в реализации задачи, я задумываюсь "что, блин, не так с этим инструментом?" и, конечно же, иду пилить свой инструмент: функцию, модуль, библиотеку, фреймворк, язык программирования, архитектуру ЭВМ… стоп, до последнего я ещё не докатился. Речь сегодня пойдёт о JS-фреймворках. Нет, я не буду рассказывать про очередное готовое решение, не в том цель поста. Я лишь хочу посеять в ваших головах несколько простых идей, которые вы не встретите в документации ни к одному популярному фреймворку. А в конце мы постараемся сформировать видение идеальной архитектуры построения пользовательского интерфейса. ![Взгляд под другим углом][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/412/6f0/552/4126f0552463415890915640255a9d51.jpg
[2]: https://habrahabr.ru/post/276747/#habracut

[>] Zabbix 3.0: Шифрование
habra.16
habrabot(difrex,1) — All
2016-02-23 18:30:03


Продолжаем обзор новых возможностей 3.0, мы уже успели [обзорно рассказать][1] о возможностях новой версии, отдельно остановились на [возможности прогнозирования проблем][2] на основе собранной статистики, а сегодня расскажем о шифровании. [Шифрование ][3]было одним из самых давних и ожидаемых нововведений в Zabbix, и за это время успели обсудить несколько вариантов его реализации: от аутентификации по предварительному ключу PSK до полной поддержки TLS и Kerberos. Год назад было решено остановиться на TLS. ![][4] [Читать дальше →][5]

[1]: https://habrahabr.ru/company/zabbix/blog/277265/
[2]: https://habrahabr.ru/company/zabbix/blog/277473/
[3]: https://www.zabbix.com/documentation/3.0/ru/manual/encryption
[4]: https://habrastorage.org/files/d00/f25/de2/d00f25de25e6449a9b63c9ad47a1aba9.png
[5]: https://habrahabr.ru/post/277739/#habracut

[>] LLVM: компилятор своими руками. Введение
habra.16
habrabot(difrex,1) — All
2016-02-24 09:30:03


Представим себе, что в один прекрасный день вам пришла в голову идея процессора собственной, ни на что не похожей архитектуры, и вам очень захотелось эту идею реализовать «в железе». К счастью, в этом нет ничего невозможного. Немного верилога, и вот ваша идея реализована. Вам уже снятся прекрасные сны про то, как Intel разорилась, Microsoft спешно переписывает Windows под вашу архитектуру, а Linux-сообщество уже написало под ваш микропроцессор свежую версию системы с весьма нескучными обоями. Однако, для всего этого не хватает одной мелочи: компилятора! Да, я знаю, что многие не считают наличие компилятора чем-то важным, считая, что все должны программировать строго на ассемблере. Если вы тоже так считаете, я не буду с вами спорить, просто не читайте дальше. Если вы хотите, чтобы для вашей оригинальной архитектуры был доступен хотя бы язык С, прошу под кат. В статье будет рассматриваться применение инфраструктуры компиляторов LLVM для построения собственных решений на её основе. Область применения LLVM не ограничивается разработкой компиляторов для новых процессоров, инфраструктура компиляторов LLVM также может применяться для разработки компиляторов новых языков программирования, новых алгоритмов оптимизации и специфических инструментов статического анализа программного кода (поиск ошибок, сбор статистики и т.п.). Например, вы можете использовать какой-то стандартный процессор (например, ARM) в сочетании с специализированным сопроцессором (например, матричный FPU), в этом случае вам может понадобиться модифицировать существующий компилятор для ARM так, чтобы он мог генерировать код для вашего FPU. Также интересным применением LLVM может быть генерация исходных текстов на языке высокого уровня («перевод» с одного языка на другой). Например, можно написать генератор кода на Verilog по исходному коду на С. ![][1] КДПВ [Читать дальше →][2]

[1]: https://habrastorage.org/files/84e/79a/c13/84e79ac13efb48f19f490840a2339c27.jpeg
[2]: https://habrahabr.ru/post/277717/#habracut

[>] Metronome IM и Jappix: многофункциональный Jabber, без сложностей в настройке
habra.16
habrabot(difrex,1) — All
2016-02-24 12:30:03


![][1] Что если я расскажу вам как без особых усилий поднять свой собственный jabber-сервер со всеми новомодными фичами, такими как: архивация, синхронизация сообщений между клтентами, уведомления о прочтении, публичные чаты и многое другое… Так же поделюсь с вами замечательным Jabber-клиентом который не менее интересен, он поддерживает аудио и видео звонки, имеет неплохой интерфейс и работает прямо из браузера. То и другое вы получите абсолютно бесплатно, так-как и сервер и клиент лицензируются по свободнлй лицензии. Речь пойдет об **Metronome IM** и **Jappix**. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/d27/fd5/390/d27fd53901887adb98471de642665d58.png
[2]: https://habrahabr.ru/post/270207/#habracut

[>] [Перевод] Удобное преобразование перечислений (enum) в строковые в С++
habra.16
habrabot(difrex,1) — All
2016-02-24 13:30:03


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

enum State {Idle, Fidget, Walk, Scan, Attack};
enum Direction {North, South, East, West};


Гораздо удобнее, когда во время отладки в консоль выводится сообщение типа “`State: Fidget`” вместо “`State: 1`”. Также частенько бывает нужно сериализировать перечисления в JSON, YAML или иной формат, причём в виде строковых значений. Помимо того, что строковые воспринимать легче, чем числа, их применение в формате сериализации повышает устойчивость к изменениям численных значений констант перечислений. В идеале, `"Fidget"` должен ссылаться на `Fidget`, даже если объявлена новая константа, а `Fidget `имеет значение, отличное от 1. К сожалению, в С++ нет возможности легко конвертировать значения перечислений в строковые и обратно. Поэтому разработчики вынуждены прибегать к разным ухищрениям, которые требуют определённой поддержки: жёстко закодированным преобразованиям или к использованию неприглядного ограничительного синтаксиса, наподобие Х-макросов. Кто-то дополнительно использует средства сборки для автоматического преобразования. Естественно, это только усложняет процесс разработки. Ведь перечисления имеют свой собственный синтаксис и хранятся в собственных входных файлах, что не облегчает работу средств сборки в Makefile или файлах проекта. Однако средствами С++ можно гораздо проще решить задачу преобразования перечислений в строковые. [Читать дальше →][2]

[1]: https://habrastorage.org/files/78b/169/bb1/78b169bb1e7048bbbf902bbaad599a9b.png
[2]: https://habrahabr.ru/post/277757/#habracut

[>] [Перевод] Пишите код, который легко удалять, а не дополнять
habra.16
habrabot(difrex,1) — All
2016-02-24 14:00:04


«Всякая строка кода рождается без причины, продолжается в слабости и удаляется случайно», — [Жан-Поль Сартр][1] программирует на ANSI C. Каждая новая строка кода приносит с собой затраты в виде необходимости ее поддержки. Чтобы избежать подобных затрат на работу с большим количеством кода мы прибегаем к его повторному использованию. Недостаток применения этого метода заключается в том, что он начинает мешать нам, в случае если мы захотим что-либо поменять в будущем. Чем больше у вашего API пользователей, тем больше кода приходится переписывать для введения новых изменений. Верно и обратное: чем больше вы полагаетесь на сторонний API, тем больше проблем испытываете когда он изменяется. Упорядочивание взаимодействия и взаимосвязей разных частей кода является серьезной проблемой в больших системах. И по мере развития проекта, растет и масштаб этой проблемы. _Перевод статьи на русский язык подготовлен компанией [PayOnline][2], провайдером платежных решений для вашего онлайн-бизнеса._ [Читать дальше →][3]

[1]: http://cpsy.ru/cit1183.htm
[2]: http://payonline.ru/?utm_source=habrahabr&utm_medium=referral&utm_campaign=webpayments-main
[3]: https://habrahabr.ru/post/277629/#habracut

[>] [Из песочницы] Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 20. «The Starlight Room»
habra.16
habrabot(difrex,1) — All
2016-02-24 15:00:03


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

#### Глава 20. «The Starlight Room»

_(за перевод спасибо Artem Nedrya aka Translation Designer )_ С потолка, прямо над роскошными диванами клуба «Starlight Room», владельцем которого был Гарри Дентон, свисали девять винтажных люстр; лучи стокилограммового зеркального шара бегали по поверхности танцплощадки. Огромные тёмно-красные шторы свисали по обе стороны широких панорамных окон, словно сценические занавеси, за которыми было видно огни небоскрёбов Сан-Франциско. Расположенный на двадцать первом этаже отеля «Sir Francis Drake», клуб «Starlight Room» был одним из самых дорогих ночных клубов этого города и неотъемлемой частью его бурной ночной жизни с интерьером в стиле 1930-х годов, отделанным тёмно-красной дамастовой тканью и шёлком ручной выделки. Скорее кричащему, чем стильному клубу, удавалось привлекать клиентов только благодаря регулярным тематическим вечерам. В ту среду клуб организовывал «Русскую вечеринку», поэтому кругом гремела музыка с Родины, а официанты в смокингах разливали водку столпившимся возле стойки бара посетителям. В женском туалете кто-то целовал Тсенгельтсетсег Тсетсендельгер. Уже успев выпить в тот вечер, молодая монгольская иммигрантка не помнила, как так случилось, или зачем, что длинноногая брюнетка захотела её поцеловать. Спустя мгновение глаза Тсенгельтсетсег округлились от удивления. Рядом стояла ещё одна брюнетка, точная копия первой. Мишель и Лиз представились, и на лице Тсенгельтсетсег появилась широкая, непритворная улыбка. Она сказала близняшкам Эскере, что они могут звать её просто «Ти», по первой букве её фамилии. Ти регулярно посещала русские вечеринки в этом клубе и без проблем изъяснялась на русском и английском. Родом из северной части Монголии, она ещё застала времена, когда страна находилась под влиянием Советского Союза. Русский она учила в школе до тех пор, пока Советская империя не распалась и монгольский премьер-министр не объявил английский язык вторым официальным языком — и это в стране, не имеющей выхода к морю… [Читать дальше →][4]

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

[>] Rogue AP — фальшивые точки доступа
habra.16
habrabot(difrex,1) — All
2016-02-24 22:30:03


![][1] Большинство современных устройств запоминают название Wi-Fi сети, к которой они успешно подключались хотя-бы один раз, и сразу же соединяются с ней, если «увидят» её в беспроводном эфире. Эту фичу беспроводных технологий всё чаще и чаще используют злоумышленники — создают т.н. rogue AP (поддельную точку доступа). Такие атаки с каждым годом становятся всё масштабнее, учитывая постоянно увеличивающийся рынок -устройств и количество критичной информации, содержащейся на них. [Читать дальше →][2]

[1]: https://habrastorage.org/files/62e/96f/dd9/62e96fdd93234a33a7b0ce60c5f325df.png
[2]: https://habrahabr.ru/post/277793/#habracut

[>] Онлайн-конференция на Ярмарке вакансий для ИТшников
habra.16
habrabot(difrex,1) — All
2016-02-25 12:30:04


![][1] Сегодня, 25-го февраля, HeadHunter устраивает [«Ярмарку вакансий онлайн» специально для IT-специалистов][2]. Программа получилась обширная: кроме вакансий с онлайн-собеседованиями, мы подготовили для вебинары, которые покрывают разные сферы из ИТшной и софтверной области. Сегодня нон-стоп один за другим пройдут 9 вебинаров. Специально для “Хабра” я попросил авторов вебинаров рассказать о своих темах, подробности под катом. [Читать дальше →][3]

[1]: https://habrastorage.org/files/775/b20/a37/775b20a375434331953661e14665b3b6.jpg
[2]: http://expo.hh.ru/?utm_source=habr&utm_medium=habr&utm_content=text&utm_campaign=soisk
[3]: https://habrahabr.ru/post/277851/#habracut

[>] [Из песочницы] Решаем задачу Hackerrank — «Encryption» (используя Go)
habra.16
habrabot(difrex,1) — All
2016-02-25 13:30:03


_Предлагаю вашему вниманию перевод статьи [Cracking Hackerrank Encryption][1] с сайта sobit.me._ Как любит говорить мой друг: "Лучший способ изучить язык программирования — начать писать на нем алгоритмы". Конечно, это не сделает никого экспертом языка, но есть большая вероятность встретить большинство структур данных и почувствовать мощь уникальных конструкций языка. Есть много хороших ресурсов для начинания, но я предпочитаю проводить свободное время на [Hackerrank][2]. Он бесплатный, имеет приятный интерфейс и солидный набор алгоритмических проблем, удобно разбитых на категории и уровни сложности. После решения каждой проблемы, зачастую часть с анализом решения уходит в ведро. И это навело меня на мысль записывать ход мыслей в форме статей в блоге. Всегда полезно посмотреть в прошлое и оценить, насколько хорош ты был. Поехали! Наша сегодняшняя задача — "Encryption" ([ссылка][3]). [Читать дальше →][4]

[1]: http://sobit.me/2016/02/18/cracking-hackerrank-encryption/
[2]: https://www.hackerrank.com/
[3]: https://www.hackerrank.com/challenges/encryption
[4]: https://habrahabr.ru/post/277865/#habracut

[>] [Из песочницы] Фоновое выполнение ячеек в IPython Notebook
habra.16
habrabot(difrex,1) — All
2016-02-25 15:00:04


Я много работаю с данными, поэтому практически все процессы у меня завязаны на Jupyter (IPython Notebook). Эта среда прекрасна и я её большой фанат. По сути, Jupyter — это обычная питоновая консоль и весь код там выполняется последовательно. Но иногда возникает желание запустить вычисления в ячейке и, не дожидаясь пока они закончатся, продолжить работу. Например, нужно скачать 1000 урлов и достать у них заголовки страниц. Хорошо бы запустить процесс скачивания и сразу начать отлаживать код для выделения заголовков. Это должно выглядеть примерно так: ![][1] Удивительно, но готового способа так сделать я не нашёл и хотел бы поделиться простым, но удобным вариантом решения. [Читать дальше →][2]

[1]: https://habrastorage.org/files/dee/963/bbd/dee963bbd3b347fa90c497f882571e39.gif
[2]: https://habrahabr.ru/post/277919/#habracut

[>] Zabbix 3.0: Интерфейс
habra.16
habrabot(difrex,1) — All
2016-02-25 17:30:03


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

[1]: https://habrastorage.org/files/6cd/4d5/3a6/6cd4d53a61314466a2ab7a0f7f04818d.jpg
[2]: https://habrahabr.ru/post/277889/#habracut

[>] Как использовать IPP FIR фильтры в приложениях максимально эффективно
habra.16
habrabot(difrex,1) — All
2016-02-25 18:30:03


![][1]В библиотеке [ Intel Performance Primitives (IPP)][2], начиная с версии 8.2, планомерно осуществляется переход от внутреннего распараллеливания функций к внешнему. Причины такого решения изложены в статье [Функции IPP c поддержкой бордюров для обработки изображений в нескольких потоках][3]. В этом посте будут рассмотрены функции, реализующие фильтр с конечным откликом — FIR фильтр (Finite Impulse Response). [Читать дальше →][4]

[1]: https://habrastorage.org/files/cc8/1b7/19e/cc81b719e0874a83a70407f8fb0caf82.png
[2]: https://software.intel.com/en-us/intel-ipp
[3]: https://habrahabr.ru/company/intel/blog/255931
[4]: https://habrahabr.ru/post/276687/#habracut

[>] Как робот 3D сканирует
habra.16
habrabot(difrex,1) — All
2016-02-25 18:30:03


В мире существует множество технологий 3D сканирования. На базе каждой из них созданы десятки моделей сканеров. Какие-то сканеры умеют сканировать только мелкие объекты, какие-то предназначены для сканирования людей. Другие могут отсканировать дом или комнату. Одно только перечисление всевозможных вариаций сканеров заняло бы целую статью. В этой статье я расскажу об одном из перспективных направлений сканирования — о том как делаются роботизированные 3D сканеры. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/277885/#habracut

[>] Собственный модуль settings
habra.16
habrabot(difrex,1) — All
2016-02-25 18:30:02




## Преамбула

Этот модуль родился в результате переосмысления (или недопонимания) мной вот этого пространного документа: [Splitting up the settings file][1], размещённого на официальном сайте Django.

## Постановка задачи

При старте веб-приложения на Django (как посредством запуска отладочного сервера, так и в качестве WSGI-приложения) фреймворк первым делом выполняет модуль, задающий начальные настройки проекта. Источник кода задаётся переменной окружения [DJANGO\_SETTINGS\_MODULE][2]. При создании Django-проекта стандартным способом, например:

$ django-admin startproject myproject


создаётся и модуль настроек. Это файл ‘myproject/myproject/settings.py’. Изменяя и дополняя его, программист настраивает проект, добавляет в него собственные и сторонние компоненты и т. д. В простых проектах, разрабатываемых одним бэкенд-программистом, бывает вполне разумно ограничиться таким модулем настроек. Однако по мере роста проекта возникают следующие [проблемы...][3]

[1]: https://code.djangoproject.com/wiki/SplitSettings/
[2]: https://docs.djangoproject.com/en/1.8/topics/settings/#envvar-DJANGO_SETTINGS_MODULE
[3]: https://habrahabr.ru/post/277937/#habracut

[>] Конкурс студенческих работ по теоретической информатике и дискретной математике им. Алана Тьюринга
habra.16
habrabot(difrex,1) — All
2016-02-25 18:30:03


![][1] Решили финансово поддержать студентов, которые занимаются теоретическими исследованиями, и организовали [конкурс][2] студенческих работ. **Цель конкурса:** поощрение авторов лучших студенческих научных работ по теоретической информатике и дискретной математике, стимулирование студентов к научной деятельности. **Организаторы конкурса**: [Санкт-Петербургский Академический университет][3], [ПОМИ РАН][4], [Computer Science Club][5]. **Участниками конкурса** могут стать студенты очной формы обучения (специалисты, бакалавры и магистры) любых российских и зарубежных вузов, имеющие этот статус на 1 апреля года проведения конкурса, свободно владеющие русским языком. На конкурс принимаются научные работы по теоретической информатике и дискретной математике, написанные на математическом уровне строгости на русском или английском языке. Не требуется, чтобы поданная на конкурс работа была опубликована. [Читать дальше →][6]

[1]: https://habrastorage.org/files/9f9/4df/100/9f94df100a944cf390dc4d523fbaf772.jpg
[2]: http://mit.spbau.ru/turingcontest
[3]: http://mit.spbau.ru
[4]: http://www.pdmi.ras.ru
[5]: http://compsciclub.ru
[6]: https://habrahabr.ru/post/277943/#habracut

[>] [Из песочницы] Использование библиотеки OpenSSL в проектах на C++
habra.16
habrabot(difrex,1) — All
2016-02-25 18:30:03


![image][1] В своем первом топике я постараюсь подробно объяснить как начать использовать библиотеку OpenSSL. Сразу хочу отметить, что статья ориентирована на новичков, а так как я сам один из них, исходный код выполнен без проверок и не претендует на звание лучшего. Все действия выполнялись под Windows со средой разработки Visual Studio 2013. [Читать дальше →][2]

[1]: https://habrastorage.org/files/3ba/831/494/3ba831494b1840d3803be1b5fa0b1b2c.jpg
[2]: https://habrahabr.ru/post/277935/#habracut

[>] Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 30. «Максик»
habra.16
habrabot(difrex,1) — All
2016-02-25 18:30:03


Привет, Хабрачитатели! Спасибо вам за ваше терпение (когда продирались через корявости перевода, непоследовательность глав и несогласованность имен собственных), лайки и подсказки. (А переводчикам так вообще мегареспект, но об этом будет отдельный пост). У меня хорошая новость — появилась искорка надежды, что книгу издадут в бумаге («ИМФ») и с профессиональным переводом. Нужен ваш отклик (нужно/не нужно/дайте две/выкуплю весь тираж/книги надо жечь). В конце главы — опрос или напишите в личку.

----

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

#### Глава 30. «Максик»

_(за перевод спасибо Игнату Ершову )_ Макс мог видеть, что происходило. С агентом ФБР у руля, DarkMarket шел к тому, чтобы упрятать многих кардеров за решетку. Но, как Кассандра из Греческой мифологии, он был проклят знать будущее, и чтобы никто ему не верил. Между статьей USA Today и его провалившейся попыткой разоблачить Master Splyntr, Макс чувствовал, как жара идет на него. В ноябре он заявил об уходе Iceman’а и устроил шоу с передачей сайта под контроль Th3C0rrupted0ne. Изолировал самого себя от общества пока обстановка не успокоилась и через три недели забрал доску объявлений обратно уже под другим псевдонимом. Iceman умер; да здравствует “Aphex.” Макс устал от тесного жилища в Post Street Towers, потому Крис перетащил Нэнси, одну из его обнальщиц, в Сан Франциско, чтобы снять для Макса однокомнатную в Archstone’овском возвышающемся комплексе корпоративных апартаментов Fox Plaza в деловом районе. Она была поставлена в качестве торгового представителя в Capital Solutions, корпорации напротив Aragon, используемой для отмывания части его прибыли. Ти, вернувшись из поездки в Монголию, получила задание быть в квартире и принять доставку кровати, оплаченной с ее легальной карты American Express. Крис позже рассчитался с ней. К январю 2007 Макс вернулся к делам в своем новом убежище с кучей WiFi, развернутых вокруг. Fox Plaza был гигантским шагом к роскоши по сравнению с Post Street Towers, но Макс мог это себе позволить – он мог оплатить месячную ренту всего после пары успешных дней торговли дампами. Как и Digits, Макс теперь был признан некоторыми кардерами как второй наиболее успешный продавец магнитных полос в мире. Первое место в списке было прочно занято украинцем, известным как Maksik. Maksik работал вне кардерских форумов, запустив свой собственный вебмагазин краденых карт на Maksik.cc. Покупатели сначала отправили бы Maksik предоплату через egold, WebMoney, почтовым переводом или через Western Union. Таким образом, они купили бы доступ к его вебсайту, где они могли уже выбирать дампы, которые хотели по BIN’у и типу карты и месту оформления. Со своей стороны Maksik нажал бы кнопку, чтобы подтвердить транзакцию, и покупатель получил бы электронное письмо с дампами, которые он заказал, прямо из Maksik’овской огромной базы данных похищенных карт. [Читать дальше →][4]

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

[>] Round-robin default gateway ломает маршрутизацию от источника для OpenVPN сервера
habra.16
habrabot(difrex,1) — All
2016-02-25 18:30:03


[![][1]][2] На Linux (Debian 8) роутере настроена маршрутизация от источника при помощи iproute2. Корректно маршрутизируются как FORWARD, так и INPUT\\OUTPUT пакеты. После включения round-robin default gateway стали возникать проблемы при подключении OpenVPN клиентов. Кейс довольно редкий, поэтому решил поделиться найденным решением с сообществом в виде данной заметки. [Читать дальше →][3]

[1]: https://habrastorage.org/files/d62/2c3/b66/d622c3b662184e1e9b930eb9ef360785.jpg
[2]: https://habrahabr.ru/post/277393/
[3]: https://habrahabr.ru/post/277393/#habracut

[>] Приглашаем на Data Fest 5 и 6 марта
habra.16
habrabot(difrex,1) — All
2016-02-25 23:00:03


![][1] 5 и 6 марта в московском офисе компании Mail.Ru Group состоится Data Fest — это конференция, на которой участникам представится возможность познакомиться с разными направлениями в современном анализе данных: от сугубо практических вопросов внедрения результатов исследований до самых последних теоретических разработок в анализе текстов и глубоком обучении. В рамках конференции также пройдут два мероприятия, где все участники смогут проявить себя: хакатон для желающих посоревноваться друг с другом в предсказании исхода турнира по Dota 2 и питч-постер сессия для исследователей, где можно будет представить результаты своих исследований и разработок. [Читать дальше →][2]

[1]: https://habrastorage.org/files/4e9/2e6/908/4e92e69084e14ae79c5f1548016dc436.png
[2]: https://habrahabr.ru/post/277967/#habracut

[>] Как я ошибся при написании хеш-таблицы и какие выводы из этого сделал
habra.16
habrabot(difrex,1) — All
2016-02-25 23:30:04




> Для ясности теоретического понимания нет лучшего пути, чем учиться на своих собственных ошибках, на собственном горьком опыте. (Фридрих Энгельс)

Всем привет! Несколько недель назад мне в линкедине написал коллега и сообщил, что в моем [проекте][1] на гитхабе не совсем верно работает хеш-таблица. Мне прислали тесты и фикс, и действительно создавалась ситуация, где система "зависала". При расследовании проблемы я понял, что допустил несколько ошибок при верификации. На Хабре тема верификации RTL-кода не слишком подробна расписана, поэтому я и решил написать статью. Из статьи вы узнаете:

* как можно организовать хеш-таблицу на FPGA.
* на чём была построена верификация.
* какие ошибки я допустил (они привели к тому, что бага не была замечена раньше).
* как это всё можно исправить.

Добро пожаловать под кат! [Читать дальше →][2]

[1]: https://github.com/johan92/fpga-hash-table
[2]: https://habrahabr.ru/post/277313/#habracut

[>] Тонкая настройка GNOME 3
habra.16
habrabot(difrex,1) — All
2016-02-26 10:00:03


В данной статье я опишу некоторые из настроек оболочки GNOME 3 и расширений для нее же, которые не очень то легко найти, а уж тем более найти все, да еще в одном месте и в таком количестве, а не в каких то разбросанных по всей сети в сообщениях на различных англоязычных форумах — анриал. Итак, мы установили \* c GNOME 3 на борту… Лично я первым делом меняю положение кнопок управления окном, потому как привык к отображению их слева, для этого вводим в терминал

> gsettings set org.gnome.desktop.wm.preferences button-layout 'close,minimize,maximize:'

сразу после нажатия return получаем ![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/4ba/a85/b3b/4baa85b3bb3b43bbaec6ac3a8442376f.png
[2]: https://habrahabr.ru/post/277997/#habracut

[>] Программный интернет шлюз для уже не маленькой компании (Shorewall, QoS во всю ширь). Часть 3
habra.16
habrabot(difrex,1) — All
2016-02-26 11:30:02


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

* QoS во всю ширь в Shorewall
* Более подробная настройка Shorewall
* Раскидывание трафика по каналам в соответствии с протоколами
* Костыли, без них, никуда

А в [первой части][1] были рассмотрены:

* Простейшая настройка Shorewall
* Ужасно сложная настройка dnsmasq
* Не менее сложная настройка OpenVPN
* И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF

А во [второй][2]:

* Более подробная настройка Shorewall
* Страшный и не понятный QoS
* Балансировка нагрузки и резервирование

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

[1]: http://habrahabr.ru/post/274639/
[2]: http://habrahabr.ru/post/274677/
[3]: https://habrahabr.ru/post/277983/#habracut

[>] [Перевод] Segmentation Fault (распределение памяти компьютера)
habra.16
habrabot(difrex,1) — All
2016-02-26 13:00:03


![][1] Когда я делаю ошибку в коде, то обычно это приводит к появлению сообщения “segmentation fault”, зачастую сокращённого до “segfault”. И тут же мои коллеги и руководство приходят ко мне: «Ха! У нас тут для тебя есть segfault для исправления!» — «Ну да, виноват», — обычно отвечаю я. Но многие ли из вас знают, что на самом деле означает ошибка “segmentation fault”? Чтобы ответить на этот вопрос, нам нужно вернуться в далёкие 1960-е. Я хочу объяснить, как работает компьютер, а точнее — как в современных компьютерах осуществляется доступ к памяти. Это поможет понять, откуда же берётся это странное сообщение об ошибке. Вся представленная ниже информация — основы компьютерной архитектуры. И без нужды я не буду сильно углубляться в эту область. Также я буду применять всем известную терминологию, так что мой пост будет понятен всем, кто не совсем на «вы» с вычислительной техникой. Если же вы захотите изучить вопрос работы с памятью подробнее, то можете обратиться к многочисленной доступной литературе. А заодно не забудьте покопаться в исходном коде ядра какой-нибудь ОС, например, Linux. Я не буду излагать здесь историю вычислительной техники, некоторые вещи не будут освещаться, а некоторые сильно упрощены. [Читать дальше →][2]

[1]: https://habrastorage.org/files/225/4da/58f/2254da58f07d4d69b4733304c85989e2.jpg
[2]: https://habrahabr.ru/post/277759/#habracut

[>] Немного о 2FA: Двухфакторная аутентификация
habra.16
habrabot(difrex,1) — All
2016-02-26 13:30:04


[][1] _Cегодня мы решили обратить внимание на тему двухфакторной аутентификации и рассказать о том, как она работает._ [Читать дальше →][2]

[1]: https://habrahabr.ru/company/1cloud/blog/277901/
[2]: https://habrahabr.ru/post/277901/#habracut

[>] Платы для разработчиков и терминал на основе российского микропроцессора Байкал-Т
habra.16
habrabot(difrex,1) — All
2016-02-26 14:00:03


За последние три дня вышло несколько новостей про российский процессор Байкал-Т: 1. Российская компания «Т-Платформы» представила [процессорный модуль SF-BT1 с Байкалом-Т, который она собирается распостранять среди разработчиков][1]. 2. Также «Т-Платформы» выпустили на основе Байкала-Т [тонкий клиент «Таволга терминал», который может работать не только как терминал, но и как автономной компьютер с Linux Debian 8][2]. 3. Т-Платформы показывали и плату для разрабочиков, и терминал на основе Байкала-Т на выставке Embedded World в Нюренберге, в сотрудничестве с британской компанией Imagination Technologies, которая разработала микропроцессорное ядро MIPS P5600, которое использует Байкал-Т. Я не буду пересказывать все статьи про Байкал-Т, Т-Платформы и Таволгу. Те разрабочики, кто этим интересуется, могут сами сходить по ссылкам и посмотреть параметры плат. Я добавлю некоего информационного гарнира про процессор, его экосистему и историю. На фотографии ниже — ранние пользователи байкаловских плат. Это инженеры из России, Украины и Казахстана, которые участвуют в разработке микропроцессорного ядра MIPS P5600 и его сотфтверной экосистеме в отделении Imagination Technologies в Санта-Клара, Калифорния: Леонид Егошин (поддержка многоядерности в ядре Линукса), Сергей Вакуленко (симулятор для верификации) и Юрий Панчул (модели интерфейсов шин): ![][3] Вообще Байкал-Т — это плод международного сотрудничества, в которон вовлечены в частности: [Читать дальше →][4]

[1]: http://www.cnews.ru/news/top/2016-02-24_tplatformy_vypustili_gotovyj_modul_dlya_razrabotchikov
[2]: http://www.cnews.ru/news/top/2016-02-25_tplatformy_vypustili_pervyj_pk_na_protsessorah
[3]: https://habrastorage.org/getpro/habr/post_images/7b5/d69/320/7b5d69320a1aa9eb7dafdc122a42c57a.png
[4]: https://habrahabr.ru/post/278011/#habracut

[>] Web файловый менеджер Sprut.IO в OpenSource
habra.16
habrabot(difrex,1) — All
2016-02-26 16:30:03


В [Бегете][1] мы долго и успешно занимаемся виртуальным хостингом, используем много OpenSource-решений, и теперь настало время поделиться с сообществом нашей разработкой: файловым менеджером [Sprut.IO][2], который мы разрабатывали для наших пользователей и который используется у нас в панели управления. Приглашаем всех желающих присоединиться к его разработке. О том, как он разрабатывался и почему нас не устроили существующие аналоги, какие ![][3] [Читать дальше →][4]

[1]: https://beget.com
[2]: https://sprut.io
[3]: https://habrastorage.org/files/6b6/977/817/6b69778173cc4a8a8372d13bf624b49f.png
[4]: https://habrahabr.ru/post/277449/#habracut

[>] Патчим gnupg или пара RSA-32768 за 106 минут
habra.16
habrabot(difrex,1) — All
2016-02-27 12:00:04


На самом деле патчим gnupg и libgcrypt… Когда-то давным давно, чтобы использовать 8192 и 16384 RSA ключи я правил размер в keygen.c и размер SECMEM буффера по соседству. Дела давно минувших дней, теперь SECMEM вынесена в config.h и именуется `SECMEM_BUFFER_SIZE`. В итоге после скачивания верии 2.0.29 под свежий debian 8.3, за место убитой 12й убунты апдейтом на 14ую, я быстренько подкрутил размер ключика и размер буфера и радостно сгенерировал на 5200U 16кбит ключ за 18 (или 19) минут, что раньше занимало 45-50 минут на P6200. Но вот 32кбит дали мне пачку ошибок. Свободное время есть — разбираемся. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/278051/#habracut

Pages: 1 ... 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 ... 210