RSS
Pages: 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 210
[>] Встраиваем бэкдор в Bitcoin (ECDSA) или еще раз о клептографии
habra.14
habrabot(difrex,1) — All
2015-01-26 11:30:04


![][1] Привет, %username%! Пользуешься неофициальными bitcoin клиентами? Есть повод присмотреться к ним повнимательней. После реализации [бэкдора для RSA][2] мне стало интересно, как обстоят дела с остальными криптографическими примитивами. Оказывается, целая наука под названием **клептография** занимается передачей информации в так называемых «подсознательных» каналах. Таких, о которых никому не известно кроме отправителя и получателя. Вроде стеганографии, только внутри криптоалгоритов. [Читать дальше →][3]

[1]: //habrastorage.org/files/0e2/60f/394/0e260f3949a34383b030c5b37a339f84.jpg
[2]: http://habrahabr.ru/post/248269/
[3]: http://habrahabr.ru/post/248419/#habracut

[>] [Из песочницы] Что я хотел знать в начале своей карьеры разработчика. Часть 1
habra.14
habrabot(difrex,1) — All
2015-01-26 18:00:08


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

[1]: //habrastorage.org/files/c7e/701/b9f/c7e701b9fafd466783d4a3b6507f068a.jpg
[2]: http://habrahabr.ru/post/248841/#habracut

[>] Быль о типографе
habra.15
habrabot(difrex,1) — All
2015-09-10 12:00:03


Было время, когда каждый веб-разработчик писал свой типограф или думал о нём. Я не стал исключением и написал типограф на PHP. Но как сделать типограф без нормальной поддержки UTF-8, в то время я не представлял, в итоге забросил идею. Прошло время, но идея создания типографа не оставляла, и я решил написать [его][1] уже на JavaScript. [Читать дальше →][2]

[1]: https://github.com/typograf/typograf
[2]: http://habrahabr.ru/post/266563/#habracut

[>] Был получен доступ к тысячам персональных данных пользователей «Билайн проводной интернет»
habra.14
habrabot(difrex,1) — All
2015-01-26 18:30:07


Уж простите за пафосный заголовок, но раз [пошла такая пьянка][1], то продолжим. Мне лично такие посты нравились всегда. Итак, речь пойдёт про уязвимость известного в Мск (да и не только) провайдере Beeline. Многие помнят его под именем Corbina. Без сомнения, это один из передовых интернет провайдеров, с большой и хорошей историей. В своё время он был спасением, благодаря качественному и быстрому инету, интранет сетям итп. В настоящий момент сотрудники провайдера в курсе уязвимостей и самые критичные уже закрыты. Однако, уверен, многие откроют для себя много нового и интересного. Тем более, что техника применима практически к любому провайдеру.



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

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

[>] Обзор алгоритмов сегментации
habra.15
habrabot(difrex,1) — All
2015-09-10 14:00:04






Этим летом мне посчастливилось попасть на летнюю стажировку в компанию[** _Itseez_**][1]. Мне было предложено исследовать современные методы, которые позволили бы выделить местоположения объектов на изображении. В основном такие методы опираются на сегментацию, поэтому я начала свою работу со знакомства с этой областью компьютерного зрения. _**Сегментация изображения**_ — это разбиение изображения на множество покрывающих его областей. Сегментация применяется во многих областях, например, в производстве для индикации дефектов при сборке деталей, в медицине для первичной обработки снимков, также для составления карт местности по снимкам со спутников. Для тех, кому интересно разобраться, как работают такие алгоритмы, добро пожаловать под кат. Мы рассмотрим несколько методов из библиотеки компьютерного зрения [_**OpenCV**_][2]. [Читать дальше →][3]

[1]: http://itseez.com/
[2]: http://opencv.org/
[3]: http://habrahabr.ru/post/266347/#habracut

[>] Настраиваем сочетания клавиш в Linux наподобие Mac OS X
habra.15
habrabot(difrex,1) — All
2015-09-10 14:00:04


![][1] Раньше, у меня довольно часто возникала такая ситуация, когда одновременно работаешь в терминале и, например, в браузере. После нескольких часов работы начинаешь путаться и в терминале вместо [Ctrl]+[Shift]+[C] нажимаешь [Ctrl]+[C], а в браузере наоборот. В итоге в терминале вы получаете прерывание а в браузере вместо ожидаемого эффекта у вас медленно прогружается дебаггер. В один прекрасный момент меня это достало и я решил, что пора что-то менять… [Меня тоже это достало!][2]

[1]: https://habrastorage.org/files/8f1/55e/18d/8f155e18dc4b4f1f80113941c5ad32ab.png
[2]: http://habrahabr.ru/post/266375/#habracut

[>] [Из песочницы] Bash скрипт для создания архива данных
habra.15
habrabot(difrex,1) — All
2015-09-10 16:00:03


На днях озадачился резевным копированием данных в облако. Нашёл подходящий сервис попробовал, и понял, что существует необходимость в сжатии бэкапа перед отправкой (думаю нет необходимости объяснять зачем). Не стал заморачиваться в поиске готовых решений и решил сам написать скромный скриптик для этой цели. Исходные файл или папка жмутся в **_.tar.xz_** с уровнем сжатия **9**, что позволяет сохранить права и выдаёт хорошую компрессию на выходе (у меня снэпшот системы сжимается **4** раза). Результатом остался доволен, думаю для малого бизнеса, да и для личных целей многим пригодиться. Возможности скрипта:

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

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

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

[>] Календарь для JIRA с открытым исходным кодом
habra.15
habrabot(difrex,1) — All
2015-09-10 16:00:03


![][1] Здравствуйте, дорогие хабражители! Сегодня мы бы хотели рассказать о календаре, который используем в JIRA. Не так давно мы обновили его, а так как статьи о нем никогда и не было, то решили написать о нем в целом, а не только об изменениях. Подробности под катом. [Читать дальше →][2]

[1]: https://habrastorage.org/files/b47/0df/d94/b470dfd9499b4c46adc9f46c43333ca9.png
[2]: http://habrahabr.ru/post/266585/#habracut

[>] Основы программирования графики на Apple Metal: Начало
habra.14
habrabot(difrex,1) — All
2015-01-26 18:30:07


![image][1]Привет, Хабр! Мой сегодняшний пост — это руководство для начинающих программировать графику на Apple Metal API. Когда я начал разбираться с этой темой, то обнаружилось, что помимо документации от Apple и примеров от них же и смотреть особо нечего. Сегодня я расскажу о том, как создать простое приложение на Metal, которое отображает трехмерный куб с освещением. Затем мы нарисуем несколько кубов с использованием одной из главных фишек Metal — рендеринга в нескольких потоках. Заинтересовавшихся прошу под кат. [Читать дальше →][2]

[1]: http://habrastorage.org/files/525/22b/fce/52522bfce5b143139d8d6b111c19a684.png
[2]: http://habrahabr.ru/post/248785/#habracut

[>] Главное преимущество Go
habra.14
habrabot(difrex,1) — All
2015-01-26 21:00:11


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

[1]: //habrastorage.org/files/424/dd5/fa0/424dd5fa03204d61af9dc18b9161a33f.jpg
[2]: http://habrahabr.ru/post/248857/#habracut

[>] [Из песочницы] Способ написания синтаксических анализаторов на c++
habra.15
habrabot(difrex,1) — All
2015-09-10 16:00:03


В этой статье рассказывается, как писать синтаксические анализаторы с помощью [этой][1] небольшой библиотеки на с++. Обычно, текст на машинном языке состоит из предложений, те — из подпредложений, а те, в свою очередь, из подподпредложений, и так вплоть до символов. Например, элемент xml состоит из открывающего тега, содержимого и закрывающего тега. —> Открывающий тег состоит из '<', имени тега, возможно пустого списка атрибутов и '>'. —> Закрывающий тег состоит из '</', имени тега и '>'. —> Атрибут состоит из имени, знаков '=', '"', строки символов и снова '"'. —> Содержимое в свою очередь тоже может содержать элементы. —> И т.д. Таким образом, после разбора получается синтаксическое дерево. Такие языки удобно описывать формой Бэкуса-Наура (БНФ), где каждый нетерминал соответствует некоторому предложению языка. Когда мы пишем программы, мы обычно разбиваем их на функции и подфункции, и раз мы собрались писать синтаксический анализатор, **пусть** каждому нетерминалу БНФ соответствует одна функция нашего анализатора, и пусть каждая такая функция:

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

Например для БНФ вида `expr ::= expr1 expr2 expr3` будем писать такую функцию: [Читать дальше →][2]

[1]: https://github.com/FeelUsM/common-parse-lib/
[2]: http://habrahabr.ru/post/266589/#habracut

[>] [Из песочницы] Обзор Friendly interactive shell (fish) и почему она лучше bash
habra.14
habrabot(difrex,1) — All
2015-01-26 23:00:02


Недавно админ компании, в которой я работаю, посоветовал попробовать заменить стандартный bash на zsh или **fish**. Я начал искать информацию по обоим оболочкам, перед тем как попробовать их. Тут следует пояснить, почему мне не нравится bash. Основное неудобство для меня — это bash script. Когда надо что-то простенькое реализовать, то синтаксис довольно понятен. Но как только тебе надо сделать какую-то сложную логику (хотя бы несколько команд подряд), становится очень сложно разобраться в коде, особенно когда смотришь чужой скрипт. Следующее, что меня расстраивало — это сложности в автокомплите и поиске команд. Конечно, спасало сочетание Ctrl + r, но хотелось, чтобы такой поиск был по умолчанию. Ну и оставалось чисто индивидуальное недовольство настройкой цветов в баше. Единственное, что мне удалось настроить, это подсказка, и то без онлайн генератора PS1 мне было бы очень сложно и это сделать. Недовольство всеми этими недостатками медленно зрело во мне на протяжении последних 2 лет (приблизительно столько активно пользуюсь командной строкой). Я решил поискать альтернативы. Открыв «Хабр» (основной источник полезной информации для меня) я начал изучать статьи по обоим оболочкам. Первое, что бросилось в глаза — это всего одна короткая статья про [fish][1]. Тогда как про zsh было вполне достаточно информации. Изучив поверхностно последнюю оболочку, я понял, что она еще сложнее в усвоении, чем bash. Конечно, все что угодно можно усвоить и использовать по полной программе, но я не сисадмин, а веб-разработчик на Python и мне нужен удобный инструмент, который бы не отвлекал от основной работы, легко и **понятно** настраивался и конечно же был приятен глазу. ![image][2] Если вас заинтересовала оболочка **fish**, прошу под кат. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/150096/
[2]: http://habrastorage.org/files/954/8a9/f5d/9548a9f5d85a49c0bf08ce480d22add9.png
[3]: http://habrahabr.ru/post/248881/#habracut

[>] Старый новый pywinauto: автоматизация Windows GUI на Python на примере install/uninstall
habra.15
habrabot(difrex,1) — All
2015-09-10 16:30:03


![image][1] Однажды, в процессе поиска инструмента для автоматизации GUI тестирования, мне попался интересный питоновский пакет [pywinauto][2]. И хотя он поддерживает только нативные контролы и частично Windows Forms, для наших задач он вполне подошёл. История pywinauto берёт своё начало где-то в районе 1998 года, когда Mark McMahon написал для своих нужд GUI Automation утилиту на языке C (на это потребовалось года два), а затем, уже в 2005-м, переписал её на Python за три месяца. Мощь питона проявила себя во всей красе: интерфейс pywinauto получился простым и выразительным. Инструмент активно развивался с 2006 по 2010. В годы затишья, в 2011-2012 добрый человек [moden-py][3] написал GUI helper для просмотра иерархии окон и генерации pywinauto кода под названием [SWAPY][4]. Тем временем мир менялся. Наша команда перешла на 64-битные бинарники, и клон pywinauto заработал на 64-битном Python. В основной ветке проект не развивался четыре года и порядком устарел. В 2015 году с согласия Марка удалось вдохнуть в проект новую жизнь. Теперь pywinauto официально [живёт на гитхабе][5], а во многом благодаря камраду [airelil][6] модульные тесты [бегают на CI сервере AppVeyor][7]. [Читать дальше →][8]

[1]: https://habrastorage.org/getpro/habr/post_images/941/0dd/4ec/9410dd4ec53040079acd57990baaabfd.jpg
[2]: http://pywinauto.github.io/
[3]: https://github.com/moden-py
[4]: https://code.google.com/p/swapy/
[5]: https://github.com/pywinauto/pywinauto
[6]: https://github.com/airelil
[7]: https://ci.appveyor.com/project/vasily-v-ryabov/pywinauto
[8]: http://habrahabr.ru/post/266459/#habracut

[>] Runscript — утилита для запуска python скриптов
habra.14
habrabot(difrex,1) — All
2015-01-27 00:00:02


Думаю многим знакома следующая ситуация. В вашем проекте есть различные действия, которые нужно выполнять время от времени. Для каждого действия вы создаёте отдельный скрипт на питоне. Чтобы далеко не лазить, скрипт кладёте в корень проекта. Через некоторое время вся корневая директория проекта замусоривается этими скриптами и вы решаете сложить их в отдельную директорию. Теперь начинаются проблемы. Если указать интерпретатору python путь до скрипта, включающий эту новую директорию, то внутри скрипта не будут работать импорты пакетов, находящися в корне проекта т.к. корня проекта не будет в sys.path. Эту проблему можно решить несколькими способами. Можно изменять sys.path в каждом скрипте, добавляя туда корень проекта. Можно написать утилитку для запуска ваших скриптов, которая будет изменять sys.path перед запуском скрипта или просто будет лежать в корне проекта. Можно ещё что-то придумать. Мне надоело каждый раз изобретать колесо и я создал велосипед [runscript][1] на котором с удовольствием катаюсь. [Читать дальше →][2]

[1]: http://github.com/lorien/runscript
[2]: http://habrahabr.ru/post/248871/#habracut

[>] Оценка уязвимостей CVSS 3.0
habra.15
habrabot(difrex,1) — All
2015-09-10 17:30:03






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

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

[>] [Перевод] Обзор альтернатив Proof of Work. Часть 2. Proof of Activity, Proof of Burn, Proof of Capacity и генералы
habra.15
habrabot(difrex,1) — All
2015-09-10 17:30:03


_Продолжаем переводить крутые статьи с сайта [Bytecoin.org][1]. Сегодня — «[Alternatives for Proof of Work, Part 2: Proof of Activity, Proof of Burn, Proof of Capacity, and Byzantine Generals][2]» Рэя Паттерсона (Ray Patterson). Часть 1 можно найти [тут][3]._ ![][4]

## PoW vs PoS: что еще?

Итак, энергоэффективность Proof of Stake – это палка о двух концах. С одной стороны, энергия-то не тратится, с другой – без этих трат модель распределенного консенсуса выглядит несколько неустойчиво. Какие еще аргументы можно привести? Против PoS не раз высказывается мнение, что эта схема «делает богатых богаче». И в самом деле: тот, у кого больше всех монет, будет находить больше всех блоков и получать больше всех прибыли, увеличивая число этих монет. На самом деле, в таком виде это обвинение можно высказать и в лицо PoW: тот, кто вложил больше всех денег в железо, будет получать и больший доход, это естественно. Но картина начинает выглядеть по-другому, если мы говорим о криптовалюте [Читать дальше →][5]

[1]: https://bytecoin.org
[2]: https://bytecoin.org/blog/proof-of-activity-proof-of-burn-proof-of-capacity/
[3]: http://habrahabr.ru/post/265561/
[4]: https://habrastorage.org/files/cc0/0da/ed7/cc00daed77f24019b85deb58ccc70574.jpg
[5]: http://habrahabr.ru/post/266619/#habracut

[>] Настройка CDMA модема Intertelecom в Linux
habra.15
habrabot(difrex,1) — All
2015-09-10 17:30:03


Рассмотрим настройку вот такого вот модема. ![][1] Провайдер Intertelecom в свое время закупил видимо целый камаз таких списанных модемов. Похожие CDMA модемы используют и другие провайдеры, например PeopleNet. Да собственно для многих устройств на базе чипсета Qualcomm gobi это руководство должно сработать. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/35a/ebd/20a/35aebd20acfcc03f532bb38ec7a962be.jpg
[2]: http://habrahabr.ru/post/266569/#habracut

[>] Опубликован код эксплойта для критических Android-уязвимостей Stagefright
habra.15
habrabot(difrex,1) — All
2015-09-10 17:30:03


Весной 2015 года исследователи [обнаружили][1] ряд критических уязвимостей в компоненте ядра мобильной ОС Android под названием Stagefright (библиотека для работы с файлами мультимедиа, например PDF). Ошибки безопасности позволяли злоумышленникамии удаленно получать доступ к смартфону, например, с помощью отправки зловредного MMS-сообщения — для проведения подобной атаки нужно знать лишь номер телефона жертвы. [![][2]][3] На этой неделе был [опубликован][4] код эксплойта, использующий ошибки безопасности в компоненте Stagefright. Эти уязвимости были обнаружены исследователями компании Zimperium, которая в своем блоге [описала][5] атаку с помощью специально созданного эксплойта. [Читать дальше →][6]

[1]: http://habrahabr.ru/company/pt/blog/263903/
[2]: https://habrastorage.org/files/dd0/317/7b5/dd03177b5139419d9635864e35a7d77a.png
[3]: http://habrahabr.ru/company/pt/blog/266581/
[4]: https://blog.zimperium.com/the-latest-on-stagefright-cve-2015-1538-exploit-is-now-available-for-testing-purposes/
[5]: http://blog.zimperium.com/experts-found-a-unicorn-in-the-heart-of-android/
[6]: http://habrahabr.ru/post/266581/#habracut

[>] Корпоративные лаборатории: проблемы информационной безопасности. Часть 1
habra.15
habrabot(difrex,1) — All
2015-09-10 17:30:03


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

[1]: https://habrastorage.org/files/514/7e1/084/5147e1084f0840758f842ca35f7a5c33.jpg
[2]: http://habrahabr.ru/company/pt/blog/255681/
[3]: http://www.acunetix.com/blog/articles/statistics-leaked-gmail-yandex-mail-ru-passwords/
[4]: http://habrahabr.ru/post/266349/#habracut

[>] PYCON RUSSIA 2015: финальная программа
habra.15
habrabot(difrex,1) — All
2015-09-10 17:30:03


Привет! 18-19 сентября в Екатеринбурге пройдет одно из самых ярких событий python-сообщества — конференция [PYCON RUSSIA][1]. 21 доклад от ведущих python-разработчиков из США, Франции, Германии, Чехии, Украины и России, два мастер-класса, Lightning Talks — и это только в официальной части. У вас есть еще неделя, чтобы посмотреть на программу этого года, купить билет и приехать в Екатеринбург. Все подробности ниже. [][2] [Читать дальше →][3]

[1]: http://pycon.ru/2015/program/content/
[2]: https://fotki.yandex.ru/next/users/it-people-ekb/album/439648/view/872556?page=2
[3]: http://habrahabr.ru/post/266603/#habracut

[>] [Перевод] Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 3
habra.15
habrabot(difrex,1) — All
2015-09-10 17:30:03


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

[1]: https://habrastorage.org/files/ecc/936/679/ecc9366797aa47e2a868041d4cd98c7b.png
[2]: http://habrahabr.ru/company/itinvest/blog/266623/
[3]: http://habrahabr.ru/company/itinvest/blog/263097/
[4]: http://habrahabr.ru/company/itinvest/blog/264141/
[5]: http://habrahabr.ru/post/266623/#habracut

[>] Взлом биткоин биржи на Rails
habra.14
habrabot(difrex,1) — All
2015-01-27 00:00:02


В последнее время появилась масса биткоин сервисов. И то что раньше было проектом «for fun» неожиданно стало хранить десятки и даже сотни тысяч долларов. Цена биткоина выросла, но уровень безопасности биткоин сервисов остался таким же низким. Ради портфолио мы провели бесплатный аудит [биткоин биржи с открытым кодом Peatio][1] использующей Ruby on Rails. Репорт в pdf можно [скачать тут][2]. Самое интересное что в результате нашлись не очередные унылые рейс кондишены или SQLi, а довольно таки любопытная цепочка багов ведущая к угону аккаунта и краже существенной части горячего кошелька. [Читать дальше →][3]

[1]: http://github.com/peatio/peatio
[2]: http://sakurity.com/peatio.pdf
[3]: http://habrahabr.ru/post/248887/#habracut

[>] Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 3.1 из 6
habra.14
habrabot(difrex,1) — All
2015-01-27 07:00:05




# Содержание курса



* [Статья 1: алгоритм Брезенхэма][1]
* [Статья 2: растеризация треугольника + отсечение задних граней][2]
* [Статья 3: Удаление невидимых поверхностей: z-буфер][3]
* [Статья 3.1: Настала пора рефакторинга][4]
* Статья 4: Необходимая геометрия: фестиваль матриц
* [4а: Построение перспективного искажения][5]
* [4б: двигаем камеру и что из этого следует][6]
* Статья 5: Пишем шейдеры под нашу библиотеку
* Статья 6: Чуть больше, чем просто шейдер: просчёт теней

Данная статья написана в тесном сотрудничестве (спасибо создателям XMPP) с [haqreu][7], автором данного курса.Мы начали масштабный рефакторинг кода, направленный на достижение максимальной компактности и читаемости. Мы сознательно пошли на отказ от ряда возможных и даже очевидных оптимизаций для получения максимально доступного для понимания кода учебных примеров. P. S [haqreu][8] буквально на днях выложит статью о шейдерах! [Познавательного чтения!][9]

[1]: http://habrahabr.ru/post/248153/
[2]: http://habrahabr.ru/post/248159/
[3]: http://habrahabr.ru/post/248179/
[4]: http://habrahabr.ru/post/248909/
[5]: http://habrahabr.ru/post/248611/
[6]: http://habrahabr.ru/post/248723/
[7]: http://habrahabr.ru/users/haqreu/
[8]: http://habrahabr.ru/users/haqreu/
[9]: http://habrahabr.ru/post/248909/#habracut

[>] Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 2. «Deadly Weapons»
habra.15
habrabot(difrex,1) — All
2015-09-10 17:30:03


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

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

Кто хочет помочь с переводом других глав пишите в личку [magisterludi][5]. _(По поводу очередности мне задают много вопросов и советуют публиковать главы по очереди. Я бы тоже так хотел, но увы, так как работаю с с множеством людей, которые, например, уже перевели 80% главы, а потом у них случается форсмажор на 2 недели. С одной стороны на них давить не хочется, с другой стороны откладывать публикацию тех людей, которые перевели уже следующую главу — не совсем честно по отношению к ним. Поэтому, то что есть, публикую.)_

#### Глава 2. «Смертельное оружие»

_(За перевод спасибо ребятам из проекта «Юные программисты ФСБ РФ» из Кадетской школы 1770 г. Москвы и спасибо руководителю Сергею Епифанцеву за координационную работу)_ _«Это комната развлечений!!! Комната развлечений представляет из себя большое затемнённое помещение без четкого выхода. Публика может расслабляться на подушках перед гигантским экраном телевизора. В наличии имеется также набитый доверху холодильник и бар.» _ Эта надпись приветствует посетителей [TinyMud][6], игрового виртуального мира, который был внутри компьютера размером с мини-холодильник на полу в офисе Питтсбургской аспирантуры. В 1990 года сотни студентов по всему земному шару «выходили в люди» или социализировались через Интернет. Макс, первокурсник университета штата Айдахо в Бойсе был одним из них. [Читать дальше →][7]

[1]: https://habrastorage.org/files/353/64b/a0e/35364ba0e409475fbd05cd11e8132734.jpg
[2]: https://en.wikipedia.org/wiki/Max_Butler
[3]: http://habrahabr.ru/post/261491/
[4]: http://habrahabr.ru/company/piter/blog/204042/
[5]: http://habrahabr.ru/users/magisterludi/
[6]: https://en.wikipedia.org/wiki/TinyMUD
[7]: http://habrahabr.ru/post/266577/#habracut

[>] [Перевод] Письмо Дейкстры: почему обучение программированию нужно начинать с функционального языка
habra.14
habrabot(difrex,1) — All
2015-01-27 12:00:03


![][1] Недавний [перевод][2] статьи «Пора заменить Python как язык для обучения» спровоцировал большую дискуссию. Очевидно, что программисты считают эту тему очень важной. К сожалению, большинство споров были об императивных языках, и мало кто предлагал функциональные языки в качестве инструмента обучения программированию. Мы в Хекслете недавно запустили [новую версию][3], ключевой особенностью которой стали практические упражнения по программированию в браузере. В связи с этим мы стали получать еще больше писем от начинающих программистов с вопросами вроде «с чего начать». С одной стороны, они хотят выложить бета-версию приложения в app store через неделю. С другой стороны, мы понимаем, что за такой короткий срок, наверное, можно научиться кодить приложения, но нельзя научиться программировать. И сложно решить, что лучше: как можно быстрее научить созданию простых приложений без реального понимания программирования, алгоритмов и их вычислительной сложности, а потом начать знакомство с этими важными темами, или начать «с начала», и органично придти к созданию приложений и продуктов после освоения фундамента. В 2001 году, [Эдсгер Дейкстра][4] написал письмо экономическому совету университета Техаса. В нем знаменитый ученый призывает членов совета задуматься о смене языка программирования для вводного курса. К сожалению, язык [был заменен][5] на Java. Примерно в то же время MIT сменили язык курса «Структура и интерпретация компьютерных программ» с функционального Scheme (диалекта LISP) на Python. Сегодня мы публикуем перевод этого письма.

#### Членам Экономического Совета

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

[1]: //habrastorage.org/files/247/58a/748/24758a748ccd4084a2d0ebbf9bd7c68e.jpg
[2]: http://habrahabr.ru/company/hexlet/blog/248397/
[3]: https://hexlet.io
[4]: https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%B9%D0%BA%D1%81%D1%82%D1%80%D0%B0,_%D0%AD%D0%B4%D1%81%D0%B3%D0%B5%D1%80_%D0%92%D0%B8%D0%B1%D0%B5
[5]: http://www.cs.utexas.edu/undergraduate-program/courses/312-introduction-programming
[6]: http://habrahabr.ru/post/248921/#habracut

[>] Обработка сообщений ядра
habra.14
habrabot(difrex,1) — All
2015-01-27 16:00:03




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

Страшная сказочка:

> EDAC MC0: 1 CE read ECC error on CPU#0Channel#1\_DIMM#0 (channel:1 slot:0)
>
>
>
> EXT4-fs error: ext4\_wait\_block\_bitmap:445: Cannot read block bitmap
>
>
>
> Out of memory: Kill process 95 (sshd) score 31 or sacrifice child
>
>
>
> CMCI storm detected: switching to poll mode
>
>
>
> page allocation failure: order:1, mode:0x4020
>
>
>
> invalid opcode: 0000 [#1] SMP
>
>

Неприятно выглядит, правда? Список очень длинный. В этой статье я расскажу как с этим жить и что мы с ним сделали. Часть из этих сообщений в приерах выше заставит вас погрузиться в бездны современной архитектуры процессоров («CMCI storm», удачи в поиске дороги назад, из дебрей интернетов)… Cтранные вещи в ядре могут нарушать ожидания о том, как работают компьютеры, делая последующую отладку очень затруднённой. Отсутствие знания о том, что случилось может даже оставить с грустным ответом «какая-то неведомая фигня, ребутнули, вроде, прошло». [Читать дальше →][1]

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

[>] Практическая подготовка в пентест-лабораториях. Часть 1
habra.15
habrabot(difrex,1) — All
2015-09-10 21:30:03


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

[1]: https://habrastorage.org/files/514/7e1/084/5147e1084f0840758f842ca35f7a5c33.jpg
[2]: http://habrahabr.ru/company/pt/blog/255681/
[3]: http://www.acunetix.com/blog/articles/statistics-leaked-gmail-yandex-mail-ru-passwords/
[4]: http://habrahabr.ru/post/266349/#habracut

[>] [Перевод] Существует ли простой алгоритм работы интеллекта?
habra.15
habrabot(difrex,1) — All
2015-09-10 22:30:02


**Примечание переводчика:** _В нашем блоге мы рассказываем об [облачных сервисах][1], хостинге и соответствующих [технологиях][2]. Почерпнуть что-то интересное можно не только из опыта работы с инфраструктурными проектами, но и из теоретических работ, направленных далеко в будущее. Сегодня мы представляем вашему вниманию адаптированный перевод [материала][3] ученого Майкла Нилсена о том, существует ли простой алгоритм интеллекта._ [![][4]][5] В [этой][6] книге мы рассматриваем устройство нейронных сетей: как они работают, как можно использовать их для решения задач распознавания образов. У этого материала множество актуальных практических применений. Но, конечно, основная причина исследования нейронных сетей кроется в надежде, что однажды с их помощью мы сможем выйти далеко за рамки таких базовых задач распознавания образов. Возможно, они, или иной подход, основанный на цифровой обработке данных, в конце концов, будут использованы для создания машин с искусственным интеллектом, которые будут соответствовать или даже превосходить человеческий интеллект. Это предположение выходит далеко за пределы содержания этой книги – и всего, что известно кому-либо в мире. Но строить домыслы забавно. Вопрос о возможности компьютеров соответствовать уровню человеческого интеллекта породил множество споров. Я не стану в них ввязываться. Несмотря на идущие споры, я не сомневаюсь, что создание «умного» компьютера реально – хотя и чрезвычайно сложно, и, вероятно, не под силу современным технологиям, а сегодняшние скептики в один прекрасный день будут похожи в своих суждениях на [виталистов][7]. Вопрос, который я ставлю в своем исследовании – существует ли простой набор принципов, с помощью которых можно объяснить, что такое интеллект? В частности, существует ли простой алгоритм работы интеллекта? [Читать дальше →][8]

[1]: https://1cloud.ru/
[2]: http://habrahabr.ru/company/1cloud/blog/266133/
[3]: http://neuralnetworksanddeeplearning.com/sai.html
[4]: https://habrastorage.org/files/1cc/4dc/e8b/1cc4dce8bcaf469cb74954c861a97916.jpg
[5]: http://habrahabr.ru/company/1cloud/blog/266641/
[6]: http://neuralnetworksanddeeplearning.com/sai.html
[7]: https://en.wikipedia.org/wiki/Vitalism
[8]: http://habrahabr.ru/post/266641/#habracut

[>] Программная маршрутизация с VyOS
habra.14
habrabot(difrex,1) — All
2015-01-27 16:00:03


![image][1] Стабильность и эффективность бизнес-процессов современной организации во многом зависит от бесперебойного функционирования ИТ-инфраструктуры. Содержание ИТ-инфраструктуры во многих случаях обходится дорого, в особенности для малых и средних компаний. С целью оптимизации расходов многие организации прибегают сегодня к практике ИТ-аутсорсинга: вместо того, чтобы приобретать оборудование, компания арендует его в стороннем дата-центре, а для его обслуживания привлекает сторонних специалистов. Чтобы эта практика была выгодной с организационной и с финансовой точки зрения, нужно тщательно продумать техническую сторону вопроса. Планируя перенос части ИТ-инфраструктуры в сторонний дата-центр, следует решить, каким именно образом все информационные ресурсы организации будут объединены в единую сеть. Решения от ведущих производителей (Juniper, Cisco и других) зачастую стоят дорого; компаниям небольшого и среднего размера они могут оказаться не по карману. В этой связи вполне закономерным и объяснимым является возросший интерес к бесплатным продуктам с открытым исходным кодом, многие из которых по возможностям не уступают платным аналогам, а иногда даже превосходят их. Важным элементом корпоративной сети является **маршрутизатор ** — специализированное сетевое устройство, предназначенное для объединения сегментов сети и пересылки пакетов между ними. Маршрутизаторы бывают как аппаратные, так и программные. В случае, когда необходимо выстроить ИТ-инфраструктуру с минимальными расходами, использование программного маршрутизатора может оказаться вполне подходящим вариантом. В этой статье мы расскажем о маршрутизаторе [VyOS ][2] — интересном и перспективном продукте, к тому же распространяемым по свободной лицензии совершенно бесплатно, и покажем, как его можно использовать для решения практических задач. [Читать дальше →][3]

[1]: http://habrastorage.org/files/b1a/ff4/c4d/b1aff4c4df924746b3228d8ee36fce11.png
[2]: http://vyos.net/
[3]: http://habrahabr.ru/post/248907/#habracut

[>] Настройка CDMA модема ZTE AD3700 для Intertelecom в Linux
habra.15
habrabot(difrex,1) — All
2015-09-11 05:30:02


Рассмотрим настройку вот такого вот модема. По паспорту он зовется ZTE AD3700. ![][1] Провайдер Intertelecom в свое время закупил видимо целый камаз таких списанных модемов. Похожие CDMA модемы используют и другие провайдеры, например PeopleNet. Да собственно для многих устройств на базе чипсета Qualcomm gobi это руководство должно сработать. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/35a/ebd/20a/35aebd20acfcc03f532bb38ec7a962be.jpg
[2]: http://habrahabr.ru/post/266569/#habracut

[>] [Из песочницы] Linux DDoS-троян скрывается за встроенным руткитом
habra.14
habrabot(difrex,1) — All
2015-01-27 16:00:03


_Предлагаю вниманию читателей «Хабрахабра» перевод статьи [«Linux DDoS Trojan hiding itself with an embedded rootkit»][1] из блога антивирусной компании Avast._ По сообщениям группы «MalwareMustDie!», в конце сентября 2014 года появилась новая угроза для ОС Linux. Её назвали [XOR.DDOS][2], как видно из названия, она образует ботнет для DDoS-атак. Пост упоминал о первоначальном вторжении, по SSH соединению, статические свойства исполняемых файлов Linux и используемые методы шифрования. Позже мы поняли, что процесс установки настраивает окружение Linux жертвы для работы дополнительного компонента — руткита. [Читать дальше →][3]

[1]: https://blog.avast.com/2015/01/06/linux-ddos-trojan-hiding-itself-with-an-embedded-rootkit/
[2]: http://blog.malwaremustdie.org/2014/09/mmd-0028-2014-fuzzy-reversing-new-china.html
[3]: http://habrahabr.ru/post/248933/#habracut

[>] IBM сделает платформу NodeJS стандартом корпоративной разработки
habra.15
habrabot(difrex,1) — All
2015-09-11 09:00:03


![][1]Вчера IBM официально [объявила][2] о покупке компании [StrongLoop][3], которая с 2013 года осуществляет профессиональную поддержку NodeJS для корпоративных клиентов. StrongLoop — один из лидеров в секторе корпоративного NodeJS. Заказчики оплачивают подписку на продукт StrongLoop Suite и получают набор инструментов для удобной разработки приложений с использованием программных интерфейсов к облачному бэкенду, отладки, мониторинга и др. StrongLoop известна как один из самых активных участниц проекта NodeJS, она постоянно присылает патчи для реализации новых функций и улучшения популярной платформы. [Читать дальше →][4]

[1]: https://habrastorage.org/files/6f0/58b/912/6f058b912cbc47dfaecd19a8aa6612a9.png
[2]: http://www-03.ibm.com/press/us/en/pressrelease/47577.wss
[3]: https://strongloop.com/
[4]: http://habrahabr.ru/post/266647/#habracut

[>] Утиные истории: утка ищет баги
habra.15
habrabot(difrex,1) — All
2015-09-11 12:30:03







Грядет 13 сентября, 256-й день года. Но в этом году он приходится на воскресенье, поэтому мы решили отметить это событие слегка заранее. Иными словами, поздравляем всех с Днём программиста! Желаем вам кода без багов, побольше удобных библиотек, толковых и нетребовательных пользователей, творческого полёта мысли, и чтобы вы всегда успевали к дедлайну. Но, как говорится, раздавать пожелания — не мешки ворочать. Чтобы всё это сбылось, нужно работать до седьмого пота, кодить с умом. Вот только вдохновение — дама ветреная и капризная. Сейчас оно есть у тебя, есть несколько идей, как можно получше реализовать какую-то фичу. Но проходит некоторое время, и всё, не можешь придумать ничего дельного. Или долго и безрезультатно ищешь причину какого-то бага, и никак не можешь понять, почему же не работает так, как задумано. [Читать дальше →][1]

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

[>] Пишем синтезатор для концерта. Полевые испытания PureData
habra.15
habrabot(difrex,1) — All
2015-09-11 13:00:03




### Вводная



#### Предпосылки

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

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

[>] Зaчем мне AshleyMadison, если я не курю?
habra.15
habrabot(difrex,1) — All
2015-09-11 14:30:03


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

[1]: https://habrastorage.org/files/00c/16f/97d/00c16f97d1aa40bebe09b1d6fe7f4d57.png
[2]: http://habrahabr.ru/post/266639/#habracut

[>] Отчёты для NORD POS. Часть 2
habra.14
habrabot(difrex,1) — All
2015-01-27 16:30:02




### Берём jrxml шаблон и устанавливаем в приложение

В [первой части][1] я рассказал о том, как подготовить в iReport шаблон отчёта для библиотеки JasperReports. А эта статья посвящена тому, как получившийся шаблон интегрировать непосредственно в приложение [NORD POS][2]. И если в первой части программа нужна была только, как источник данных для построения примера отчёта по справочнику товаров, то в данной статье она будет необходима для интеграции отчёта в интерфейс приложения, а также для демонстрации возможностей взаимодействия бизнес логики приложения и элементов шаблона библиотеки JasperReports. ![][3] Кроме этого, пришлось разделить статью на две части из-за того, что при подготовки материала я обнаружил ошибку печати отчёта в версии 3.0.1CE. Ошибка возникала из-за неправильного вызова диалога выбора принтера при использовании не стандартного оформления из Swing Look&Feel библиотеки [Insubstantial][4]. Ошибка не возникала при использовании темы Metal или оформления в стиле операционной системы. Но, так как в NORD POS по-умолчанию используется нестандартная тема CremeSkin, то для написания этой части необходимо было устранить данный баг и выпустить обновлённую версию [NORD POS 3.0.2CE][5]. И именно эту версию мы будем использовать во второй части статьи. [Читать дальше →][6]

[1]: http://habrahabr.ru/post/247515/
[2]: http://www.nordpos.mobi
[3]: //habrastorage.org/files/442/dba/b26/442dbab2613640bf932e40190eb914ee.png
[4]: http://insubstantial.github.io/insubstantial/
[5]: http://nordpos.mobi/#download
[6]: http://habrahabr.ru/post/248587/#habracut

[>] [Из песочницы] Настройка Vim-like управления в GTK
habra.15
habrabot(difrex,1) — All
2015-09-11 16:30:02


Текстовый редактор Vim я использую практически для всех задач, связанных с интерактивным редактированием текста: для конфигурационных файлов и исходного кода, как среду верстки LaTeX, для написания писем в связке с mutt и даже как внешний редактор в web-браузере. Хорошо прижившиеся горячие клавиши управления курсором [hjkl] начали перемещаться за пределы редактора, например, в командную оболочку (в связке с модификатором). Однако, хотелось бы иметь привычные хоткеи в графических приложениях. Собственно, далее речь пойдет о настройке GTK-окружения. [Читать дальше →][1]

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

[>] Кластеризация: расскажи мне, что ты покупаешь, и я скажу кто ты
habra.14
habrabot(difrex,1) — All
2015-01-27 16:30:02







**Задача [Datawiz.io][1]**: провести кластеризацию клиентов программы лояльности в ритейле. [Кластеризация][2] — это метод поиска закономерностей, предназначенный для разбиения совокупности объектов на однородные группы (кластеры) или поиска существующих структур в данных. Целью кластеризации является **получение новых знаний**. Это как “найти клад в собственном подвале”. Для чего это нужно компаниям? Чтобы **лучше узнать своих клиентов**. Чтобы найти индивидуальный подход к каждому клиенту, а не работать со всеми одинаково. [Читать дальше →][3]

[1]: http://datawiz.io/ru/
[2]: http://datawiz.io/ru/clusterization/clusterization
[3]: http://habrahabr.ru/post/248863/#habracut

[>] Использование DSP-сопроцессора DM8168 с помощью фреймворка C6Accel
habra.14
habrabot(difrex,1) — All
2015-01-27 19:00:02


![][1] В этой статье мы познакомимся с отладочной платой DM816x/C6A816x/AM389x и фреймворком C6Accel (он же C6EZAccel), а также рассмотрим инструкции по наладке системы для выполнения встроенных тестовых приложений. Всё началось с интересной идеи использовать алгоритмы нынче очень популярной библиотеки компьютерного зрения OpenCV на микропроцессоре. Однако, изучив немного тему, идея уточнилась. Почему бы не реализовать алгоритмы не просто на ядре ARM, а на специализированном ядре для цифровой обработки сигналов DSP? Тем самым разгрузим ядро ARМ, ускорим выполнение алгоритмов, и, глядишь, самое громоздкое приложение заработает в реальном времени. Итак, что же использовать для решения задачи? Оказалось вариантов немного… [Читать дальше →][2]

[1]: //habrastorage.org/files/925/c68/7f5/925c687f57554086a9993a409b9a021d.jpg
[2]: http://habrahabr.ru/post/248591/#habracut

[>] Правильная работа с датой и временем в Ruby on Rails
habra.15
habrabot(difrex,1) — All
2015-09-11 17:00:02


Всем привет! Меня зовут Андрей Новиков и в последнее время я работаю над проектом по разработке приложения, которое используется в разных частях нашей страны и автоматизирует работу людей. В каждом конкретном часовом поясе нашему приложению необходимо правильно получать, сохранять и отображать время, причём как в прошлом, так и в будущем – например, рассчитать начало рабочей смены и так же правильно его отображать: отсчитать время до конца смены, показать, сколько люди ехали до точки назначения и определить, уложились ли они в норматив, в также многое-многое другое. [![][1]][2] За те уже несколько лет, что я пишу на Ruby on Rails, мне не приходилось сталкиваться с подобными проблемами — до этого все мои приложения работали в одном часовом поясе. А тут неожиданно пришлось немало попотеть, отлавливая самые разные ошибки и пытаясь выяснить, как же работать с датой и временем так, чтобы их в дальнейшем избежать. В результате, сегодня мне есть, чем с вами поделиться. Если вы регулярно встречаетесь с тем, что время сохраняется или отображается некорректно с характерным разбросом в несколько часов (3 часа для Москвы), какие-то ночные записи перекочёвывают на соседние дни, а время упорно отображается не так, как хотят пользователи, и вы не знаете, что со всем этим делать — добро пожаловать под кат. [Читать дальше →][3]

[1]: https://habrastorage.org/files/97c/873/5a4/97c8735a400a4e7bab8ca20e2ccb5a62.jpg
[2]: http://habrahabr.ru/company/at_consulting/blog/266681/
[3]: http://habrahabr.ru/post/266681/#habracut

[>] Security Week 37: Bug-bugzilla, Карбанак из бэк, С&C на рыбалке
habra.15
habrabot(difrex,1) — All
2015-09-11 17:00:02


![][1]В новом эпизоде сериала, снятого по мотивам новостей в области информационной безопасности: — Взлом Bugzilla лишний раз напоминает о том, что пароли должны быть не только сложные, но и уникальные. — Кампания Carbanak, ответственная за кражу сотен миллионов долларов у финансовых организаций, замечена в Европе и США. — Исследование «Лаборатории» о том, как перевести командный сервер шпионской кампании с уровня «очень сложно найти» на уровень «ищи ветра в поле» А также незакрытый telnet в WiFi-дисках Seagate, патчи, рыбалка и музыкальные вирусы из прошлого. Напоминаю правила: каждую неделю редакция новостного сайта [Threatpost][2] выбирает три наиболее значимых новости, к которым я добавляю расширенный и беспощадный комментарий. Все эпизоды сериала можно найти [тут][3]. [Читать дальше →][4]

[1]: https://habrastorage.org/files/3ce/fb7/9c4/3cefb79c491b4dfa82414715a9b206f0.jpg
[2]: https://threatpost.ru/
[3]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[4]: http://habrahabr.ru/post/266675/#habracut

[>] [Из песочницы] ErgoEmacs — a way to Lisp
habra.14
habrabot(difrex,1) — All
2015-01-27 19:00:02


![][1]Если вы получаете удовольствие от программирования, то, наверняка, перманентно находитесь в состоянии поиска лучших инструментов, лучших идей, лучших решений. И знаете, конечной остановкой лично для меня стал Emacs. А точнее — его сборка под названием ErgoEmacs. Под катом будет попытка логического и последовательного рассказа об использовании данного текстового редактора в контексте знакомства с ним впервые в жизни (не вдаваясь в сильную конкретику, а скорее стараясь уловить общую идею); идеологическая пропаганда (емакса вообще и лиспа в частности); небольшая критика последней из статей на Хабре по данной тематике, а также небольшое философское заключение. Если вы хотите расширить свой кругозор, прошу под кат. [Расширить кругозор][2]

[1]: //habrastorage.org/files/f95/f61/707/f95f617077854ffca191d7dc13ed1644.png
[2]: http://habrahabr.ru/post/248957/#habracut

[>] Новые уязвимости Flash Player эксплуатируются in-the-wild
habra.14
habrabot(difrex,1) — All
2015-01-28 00:00:02


Компания Adobe выпустила очередное обновление [APSB15-03][1] для своего проигрывателя Flash Player, которое исправляет в нем критическую 0day уязвимость. Уязвимость с идентификатором CVE-2015-0311 использовалась атакующими для проведения атак drive-by download, т. е. скрытной установки вредоносного ПО. Для этого использовался набор эксплойтов Angler Exploit Kit, который содержал в своем арсенале эксплойт для этой уязвимости. Антивирусные продукты ESET обнаруживают различные модификации этого эксплойта как **SWF/Exploit.CVE-2015-0311.A**. ![][2] [Читать дальше →][3]

[1]: http://helpx.adobe.com/security/products/flash-player/apsb15-03.html
[2]: http://habr.habrastorage.org/post_images/7d0/bd9/84a/7d0bd984afd2bb9901c5014a5b3649c9.jpg
[3]: http://habrahabr.ru/post/249001/#habracut

[>] [Из песочницы] Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 10. «Cris Aragon»
habra.15
habrabot(difrex,1) — All
2015-09-12 01:00:02


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

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

Кто хочет помочь с переводом других глав пишите в личку [magisterludi][5]. _(По поводу очередности мне задают много вопросов и советуют публиковать главы по очереди. Я бы тоже так хотел, но увы, так как работаю с с множеством людей, которые, например, уже перевели 80% главы, а потом у них случается форсмажор на 2 недели. С одной стороны на них давить не хочется, с другой стороны откладывать публикацию тех людей, которые перевели уже следующую главу — не совсем честно по отношению к ним. Поэтому, то что есть, публикую.)_

#### Глава 10. «Cris Aragon»

_(за помощь с переводом спасибо хабраюзеру [Find\_The\_Truth][6])_ **Крис Арагон** ![image][7]Макс встретил своего будущего друга и напарника по криминалу, Криса Арагона, в маленькой Италии Сан-Франциско — Норт Биче, где обшарпанные стрип-бары и гадалки сосуществовали с приятными, безвкусными пекарнями и летниками с горячей пастой. Встреча была назначена в кафе неподалеку от книжного магазина Сити Лайтс, колыбели поколения битников в 50х годах, по направлению к кафе Везувио, стены которого украшали росписи с винными бутылками и символами мира. Ниже по холму, над финансовым районом, упираясь в небо, стояла Пирамида Трансамерика. Норминтон представил Криса Максу под приглушенные стуки кофейных чашек и блюдец. Эти двое поладили сразу. Сорокаоднолетний Крис был студентом восточной духовной школы, вегетарианцем, который занимался йогой для концентрации ума. Макс с его замашками хиппи, казалось, нашел родственную душу. Они даже читали общие книги. И, как и Макс, Крис неоднократно имел проблемы с полицией. [Читать дальше →][8]

[1]: https://habrastorage.org/files/353/64b/a0e/35364ba0e409475fbd05cd11e8132734.jpg
[2]: https://en.wikipedia.org/wiki/Max_Butler
[3]: http://habrahabr.ru/post/261491/
[4]: http://habrahabr.ru/company/piter/blog/204042/
[5]: http://habrahabr.ru/users/magisterludi/
[6]: http://habrahabr.ru/users/find_the_truth/
[7]: https://habrastorage.org/getpro/habr/post_images/3db/062/e78/3db062e78256c506d7684d0133c30c5b.jpg
[8]: http://habrahabr.ru/post/266707/#habracut

[>] [Перевод] Screentendo — генерация уровней для Super Mario Bros на основе содержимого экрана
habra.15
habrabot(difrex,1) — All
2015-09-12 10:00:03


![image][1] Screentendo – это приложение для настольных компьютеров, которое превращает выделенную область экрана в играбельный уровень для игры Super Mario Bros. Я раньше не делал приложений для Cocoa app и не использовал Sprite Kit, и это стало для меня отличным упражнением. Исходный код [доступен по ссылке][2].






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

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

[1]: https://habrastorage.org/getpro/habr/post_images/494/bf1/7f7/494bf17f73ee00ad26213a5d9b8fa226.png
[2]: https://github.com/AaronRandall/Screentendo
[3]: http://habrahabr.ru/post/266719/#habracut

[>] Об одной задаче Data Science
habra.15
habrabot(difrex,1) — All
2015-09-12 15:30:03


Привет, хабр! ![][1] Как и обещал, продолжаю публикацию статей, в которой описываю свой опыт после прохождения обучения по Data Science от ребят из [MLClass.ru][2] (кстати, кто еще не успел — [рекомендую зарегистрироваться][3]). В этот раз мы на примере задачи [Digit Recognizer][4] изучим влияние размера обучающей выборки на качество алгоритма машинного обучения. Это один из самых первых и основных вопросов, которые возникают при построении предиктивной модели [Читать дальше →][5]

[1]: https://habrastorage.org/files/60f/d96/61c/60fd9661cf9944bf890193af5e035a5e.jpg
[2]: http://dscourse.mlclass.ru
[3]: http://dscourse.mlclass.ru
[4]: https://www.kaggle.com/c/digit-recognizer
[5]: http://habrahabr.ru/post/266727/#habracut

[>] Документация всего и вся в одном месте
habra.15
habrabot(difrex,1) — All
2015-09-12 18:00:04


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

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

[>] Логируем контекст исключений
habra.15
habrabot(difrex,1) — All
2015-09-12 20:00:02


В преддверии [Дня программиста][1] и по следам [Дня тестировщика][2] хочу рассказать о том как упростить жизнь и тем и другим в их общем деле — разработке и отладке ПО. А именно — расскажу о том как сделать исключения С++ более информативными, а логирование ошибок — более компактным. [Читать дальше →][3]

[1]: https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%D0%B0
[2]: https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D1%89%D0%B8%D0%BA%D0%B0
[3]: http://habrahabr.ru/post/266729/#habracut

[>] GHOST — уязвимость gethostbyname() в glibc
habra.14
habrabot(difrex,1) — All
2015-01-28 00:00:02


Специалисты Qualys сообщили о наличии уязвимости в **gethostbyname()** и **gethostbyname2()** в GNU C Library (glibc), которая, как минимум в одном случае, способна привести к удаленному выполнению кода. Уязвимость позволяет перезаписать до 4 байт на 32-битных системах и до 8 байт на 64-битных системах в куче числами (0…9), точкой (.) и NULL-символом (0x00). Уязвимость появилась в версии glibc-2.2 от 10 ноября 2000 года и была закрыта в версии 21 мая 2013 года с glibc-2.18, поэтому уязвимы только LTS-дистрибутивы Linux: Debian 7, Red Hat Enterprise Linux 6 и 7, CentOS 6 и 7, Ubuntu 12.04. Уязвимым является код, который отвечает за получение hostname. Для перезаписи кучи, имя хоста должно удовлетворять следующим условиям:

* Содержать в себе только цифры и точку
* Первый символ должен быть цифрой
* Последний символ не должен быть точкой
* Быть достаточно длинным, чтобы переполнить буфер (>1КБ)

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

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

[>] Запуск мега-мануала от Stackoverflow
habra.15
habrabot(difrex,1) — All
2015-09-12 23:00:02


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

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

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