RSS
Pages: 1 ... 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 ... 210
[>] HighLoad++2016: как это было
habra.16
habrabot(difrex,1) — All
2016-12-09 19:00:04


[![][1]][2]

Привет, Хабр! Спешим сообщить тебе, что трансляции с Хайлоада уже выложены на Youtube-канале Хабра. Напоминаем — что это плод специального проекта Хабра и Хайлоад. 7 ноября, текстовая трансляция, несколько сотен постов (доступна [здесь][3]). 8 ноября, текстовая трансляция – [тут][4]. Наверняка не у всех была возможность наблюдать за этим онлайн, поэтому спешим сообщить, что теперь доступна запись конференции, которую вы можете посмотреть в любое удобное для вас время на [YouTube канале Хабра][5]. Страницу специального проекта просмотрели больше 25 000 раз, текстовую трансляцию прочитали больше 9 000 человек, а видео на ютубе посмотрели на данный момент 10 000 человек.  Ну что ж, надеемся, что это помогло читателям Хабра немного погрузиться в новое или горячо любимое, расширить свой кругозор и найти для себя что-то полезное в самой гуще высококонцентрированных докладов о высоких нагрузках.
[Читать дальше →][6]

[1]: https://habrastorage.org/getpro/habr/post_images/847/0ab/03e/8470ab03ec599eb665abd82b4216c912.jpg
[2]: https://habrahabr.ru/company/tm/blog/317264/
[3]: https://habrahabr.ru/company/oleg-bunin/blog/314396/
[4]: https://habrahabr.ru/company/oleg-bunin/blog/314442/
[5]: https://www.youtube.com/channel/UCd_sTwKqVrweTt4oAKY5y4w
[6]: https://habrahabr.ru/post/317264/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Russian AI Cup. Промежуточные итоги чемпионата
habra.16
habrabot(difrex,1) — All
2016-12-09 19:30:03


![][1]

Вот уже месяц длится Russian AI Cup 2016. Это соревнование по программированию искусственного интеллекта, которое проходит в форме игры. Мы подробно рассказывали об идее и правилах нынешнего года [здесь][2].

Но со старта чемпионата многое изменилось. Участникам пришлось попотеть, чтобы разобраться в непростых правилах игры, а нам — чтобы справиться с тестирующей нагрузкой. Редактировались правила, оптимизировался код, сменялись раунды и банились игроки. Рассказываем вам полную историю CodeWizards 2016.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/fbc/701/916/fbc7019160844b029eed8d017d912e9e.jpg
[2]: https://habrahabr.ru/company/mailru/blog/314594/
[3]: https://habrahabr.ru/post/317268/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] С чего начинается ботнет: опасный бэкдор найден в IP-камерах Sony
habra.16
habrabot(difrex,1) — All
2016-12-09 22:30:05


[![][1]][2]

Ботнеты, построенные из сотен тысяч заражённых устройств “Интернета вещей”, стали одним из главных трендов в кибер-угрозах уходящего года – и видимо, будут столь же популярны в следующем году. Однако предсказывать подобные угрозы (и бороться с ними) можно на несколько лет раньше. Недавно, рассказывая о ботнетах на основе [DVR-систем и веб-камер][3], мы вспоминали, что наши исследователи предупреждали об уязвимостях подобных устройств [ещё в 2013 году][4].

На днях исследователи из SEC Consult [обнаружили уязвимость][5], которая позволяет атаковать 80 моделей IP-камер Sony IPELA Engine, превращая их в ботнеты или используя для шпионажа. Интересная особенность состоит в том, что удалённый доступ, который используется для атаки (Telnet), в этих камерах отключен. Однако бэкдор, оставленный разработчиками, позволяет включить его секретной командой. [Читать дальше →][6]

[1]: https://habrastorage.org/files/6d4/cdd/a43/6d4cdda431b243caa901b87d93a1d475.jpg
[2]: https://habrahabr.ru/company/pt/blog/310548/
[3]: https://habrahabr.ru/company/pt/blog/310548/
[4]: http://www.ptsecurity.com/ru-ru/about/news/21921/
[5]: http://blog.sec-consult.com/2016/12/backdoor-in-sony-ipela-engine-ip-cameras.html
[6]: https://habrahabr.ru/post/317226/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


Генетический алгоритм — способ оптимизации, какой-либо функции. Но, в нашем случае, мне просто был интересен принцип его работы, своеобразное моделирование эволюции. Ну и чтобы проэволюционировать самому. Мы имеем абстрактное поле, в котором есть организмы (синие и бирюзовые клетки), еда (зеленые) и яд (красные).



![image][1]



У созданий всего 64 гена, но можно ввести всего лишь 10 первых.


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

[1]: https://pp.vk.me/c638528/v638528655/1158b/-6zk06SJfK0.jpg
[2]: https://habrahabr.ru/post/317262/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Telegram-bot: моя история. Часть вторая
habra.16
habrabot(difrex,1) — All
2016-12-10 01:00:05


![][1]


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

Уделив время первой публикации, вы можете ознакомиться не только с первоначальным развертыванием и необходимыми ресурсами, но и с обзором приложения от автора. Информация ниже сконцентрирована в большей степени на описании технической стороны и в меньшей на выводах по итогам на текущий момент.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/ebb/b05/8a8/ebbb058a80744783a72400724a47b7f9.png
[2]: https://habrahabr.ru/post/316868/
[3]: https://habrahabr.ru/post/317280/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Интервью с разработчиком инопланетного софта: «Случись что, моя задница приняла бы основной удар»
habra.16
habrabot(difrex,1) — All
2016-12-10 12:00:03


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

![image][1]

**DDJ:**_ Вы программируете компьютеры, которые работают на поверхности другой планеты. Вот это необычно!_

**GR:** Это необычно и для меня, могу вас заверить. Это такой микромир, где все сосредоточены на том, чтобы все задачи следующего дня были выполнены в соответствии с планом.

Вы идете домой в 3 утра, все еще в напряжении от просмотра возвращающейся информации и бессонной ночи. Ваши жена и дети уже спят, вам же точно не уснуть, а в 8 утра уже надо быть на работе. Поэтому вы включаете CNN и смотрите на свое улыбающееся лицо в контрольном центре и смотрите на те же изображения, которые вы просматривали 12 часов назад. Очень странное ощущение.

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

[1]: https://habrastorage.org/getpro/habr/post_images/957/964/0ac/9579640acc53d858d0c9da7bf1d603dd.jpg
[2]: https://habrahabr.ru/post/317288/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Классические парсер-комбинаторы на Python
habra.16
habrabot(difrex,1) — All
2016-12-10 16:00:03


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

Функциональные языки программирования позволяют описывать функции высших порядков, которые принимают в качестве аргументов и возвращают как результат другие функции.

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

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

[>] Security Week 49: Google фаззит опенсорс, Android-троян крадет учетные записи, Microsoft чинит старый баг
habra.16
habrabot(difrex,1) — All
2016-12-10 19:00:04


![][1]1 декабря команда специалистов по безопасности Google анонсировала новую программу OSS-Fuzz в рамках которой планирует выделить ресурсы на непрерывный фаззинг ПО с открытым исходным кодом ([новость][2], [пост ][3]в блоге Google Security). Фаззинг — это метод автоматизированного тестирования программ, идея которого была сформулирована еще в конце 80-х ([PDF][4]). С ростом производительности компьютеров достаточно прямолинейный процесс скармливания софту произвольных данных в поиске уязвимостей становится все актуальнее. Да и вообще, в мире где компьютерами все чаще управляют другие компьютеры, это годная тема, уже включенная, например, в методику [Secure Development Lifecycle][5] у Microsoft.

Объясняя успешность подхода именно по отношению к свободному ПО, в Google приводят [пример][6] уязвимости в библиотеке Freetype, обнаруженной фаззером OSS-Fuzz. Freetype установлена на миллиардах устройств, и поэтому исследовать такой софт важно. Серьезные уязвимости в опенсорсе вроде Heartbleed показали, что сама возможность независимого аудита не равняется повышенной безопасности. У людей просто не хватает рук проанализировать все, поэтому на сцену выходят роботы. Странно, что в Google ничего не рассказывают про фаззинг Android, хотя исследователи из других компаний таки этим [занимаются][7].

На самом деле главная польза проекта заключается в том, что Google приглашает сторонних исследователей и мейнтейнеров открытого софта, по сути предоставляя им вычислительные ресурсы в рамках проекта. В своих [впечатлениях ][8]исследователь и разработчик Алекс Гэйнор пишет, что меньше чем за день его тестовый код, добавленный в OSS-Fuzz, обработал 17 триллионов тестовых кейсов, на что в домашних условиях у него ушел бы месяц.
[Читать дальше →][9]

[1]: https://habrastorage.org/files/24d/53a/75f/24d53a75faf04d239ae0425de42f5ff3.jpg
[2]: https://threatpost.com/google-debuts-continuous-fuzzer-for-open-source-software/122250/
[3]: https://security.googleblog.com/2016/12/announcing-oss-fuzz-continuous-fuzzing.html?m=1
[4]: http://pages.cs.wisc.edu/~bart/fuzz/CS736-Projects-f1988.pdf
[5]: https://www.microsoft.com/en-us/sdl/
[6]: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53
[7]: https://www.blackhat.com/docs/eu-15/materials/eu-15-Blanda-Fuzzing-Android-A-Recipe-For-Uncovering-Vulnerabilities-Inside-System-Components-In-Android-wp.pdf
[8]: https://alexgaynor.net/2016/dec/03/oss-fuzz-initial-impressions/
[9]: https://habrahabr.ru/post/317272/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Тюнинг Swift компилятора. Часть 2
habra.16
habrabot(difrex,1) — All
2016-12-11 04:30:07


![image][1]



Продолжение исследования способов ускорить компиляцию Swift.
Издевательство над семантическим анализатором и неожиданные настройки проекта.



[Ссылка на первую часть][2] для тех, кто пропустил.


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

[1]: https://cloud.kilograpp.com/f/26970d482b/?dl=1&t=1
[2]: https://habrahabr.ru/post/316986/
[3]: https://habrahabr.ru/post/317298/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Взлом «админки» роутера
habra.16
habrabot(difrex,1) — All
2016-12-11 14:00:05


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

![image][1]

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

[1]: https://habrastorage.org/getpro/habr/post_images/55a/c84/8c0/55ac848c09846d1c43521705ad0d58e1.jpg
[2]: https://habrahabr.ru/post/317306/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Сравнение производительности GPU-расчетов на Python и C
habra.16
habrabot(difrex,1) — All
2016-12-11 14:30:04


![][1]


Python обладает рядом привлекательных преимуществ к которым относится простота реализации программных решений, наглядность и лаконичность кода, наличие большого числа библиотек и многочисленного активного комьюнити. В то же время, известная всем медлительность питона часто ограничивает его применимость для “тяжелых” вычислений. Для ряда задач можно добиться существенного ускорения расчетов путем использования технологии CUDA для параллельных вычислений на GPU. Цель этого небольшого исследования — анализ возможностей эффективного использования python для расчетов на GPU и сравнение производительности различных python-решений с реализацией на C.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/708/b36/2bd/708b362bd5a14b8b8f4d5c3ca04561f1.png
[2]: https://habrahabr.ru/post/317328/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Записки с M*CTF
habra.16
habrabot(difrex,1) — All
2016-12-11 20:00:04


![mctf][1]



Доброго времени суток! В этом небольшом опусе я хотел бы глазами участника рассказать как проходят соревнования CTF типа attack-defence и, в частности, осветить минувшее соревнование [m\*ctf][2]. Но перед всем этим хочется поблагодарить свой [Университет Иннополис][3] за возможность побывать на этом (и множестве других) мероприятий.



Под катом как организационные, так и технические детали прошедших соревнований. И конечно же много-много фотографий!

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

[1]: https://pp.vk.me/c626930/v626930420/21cc8/a0seSr6aAFQ.jpg
[2]: http://mctf.aciso.ru
[3]: https://habrahabr.ru/company/innopolis_university/
[4]: https://habrahabr.ru/post/317336/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] OpenWRT + OpenVPN: точечный обход блокировок
habra.16
habrabot(difrex,1) — All
2016-12-12 00:30:04


Как человек постоянно работающий в интернете, я привык к полному и беспрепятственному доступу ко всем его ресурсам независимо от содержания данных ресурсов, а в силу того, что обеспечиваю работу части ресурсов (работаю в хостинг-провайдере), мне просто необходим такой доступ.

Обойти блокировки не так сложно, есть множество способов. Наиболее распространенный и стабильный из них — VPN. Но у VPN большой недостаток — это потеря скорости, завышается пинг и т.д. Исходя из этого, у меня возникла идея, использовать VPN только для обхода блокировок, а на остальные ресурсы ходить через провайдера.
[Читать дальше →][1]

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

[>] [Перевод] Параллельная быстрая сортировка на Хаскеле
habra.16
habrabot(difrex,1) — All
2016-12-12 02:30:04


_Прим. перев.: Это перевод [истории][1] о том, как нелегко оказалось написать параллельную быструю сортировку (quicksort) на Хаскеле. Оригинал статьи написан в 2010 году, но, мне кажется, он до сих пор поучительный и во многом актуальный._

Есть много примеров того, как Хаскель делает простые проблемы сложными. Вероятно, самый известный из них—это решето Эратосфена, которое легко написать на любом императивном языке, но настолько сложно написать на Хаскеле, что почти все решения, которые преподавались в университетах и использовались в исследованиях последние 18 лет, оказались неправильными. На их несостоятельность обратила внимание Мелисса О'Нил [Melissa O'Neill] в своей важной научной работе "[Настоящее решето Эратосфена][2]". В ней приводится прекрасное описание того, что не так в старых подходах, и как их надо исправить. Решением Мелиссы было использовать очередь с приоритетом [priority queue] для реализации решета. Правильное решение оказалось в 10 раз длиннее, чем [намного более простое решение на F#][3] и в целых 100 раз длиннее, чем оригинальный изуродованный алгоритм на Хаскеле.
[Читать дальше →][4]

[1]: http://flyingfrogblog.blogspot.de/2010/08/parallel-generic-quicksort-in-haskell.html
[2]: http://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf
[3]: http://fsharpnews.blogspot.com/2010/02/sieve-of-eratosthenes.html
[4]: https://habrahabr.ru/post/317348/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Представлено ядро Linux 4.9
habra.16
habrabot(difrex,1) — All
2016-12-12 05:00:04


![][1]

Прошло два месяца активной работы над новой версией ядра, и сегодня Линус Торвальдс наконец-то [представил ядро Linux 4.9][2]. Наиболее заметными измерениями можно назвать инструменты для диагностики и блокирования переполнений стека ядра, а также включение поддержки SELinux в OverlayFS, плюс реализация шины Gerybus, чего хотелось многим.

Что касается статистики, то она, как всегда, обширна. В новой версии было принято 15 тысяч исправлений от 1400 разработчиков. Общий размер патча составляет 45 Мб. Изменения в патче затронули 11042 файлов, с добавлением 632157 строк кода и удалением 354728 строк. Не является сюрпризом и то, что большая часть (около 42%) представленных в этой версии изменений так либо иначе связаны с драйверами устройств. Еще 19% изменений связаны с обновлением кода для различных аппаратных архитектур, 12% — сетевой стек, 5% — файловые системы, 4% — подсистемы ядра.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/9e3/d19/948/9e3d19948ac4132613bf784ef7c7d229.png
[2]: https://lkml.org/lkml/2016/12/11/102
[3]: https://habrahabr.ru/post/317364/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Автоматический бекап виртуальных машин в XenServer
habra.16
habrabot(difrex,1) — All
2016-12-12 09:30:03


_Недавно понадобилось автоматизировать создание и сохранение снепшотов виртуальных машин из XenServer. Ничего не найдя по этой теме в русскоязычном сегменте я пошёл в мировой интернет и нашёл статью на ресурсе tecadmin.net, которая мне очень помогла, поэтому я решил разместить её перевод на Хабре. Далее авторский (с адаптацией под нашу речь) перевод исходной статьи:_
![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/3fa/9be/fd0/3fa9befd08874f88a622643bff4a825d.png
[2]: https://habrahabr.ru/post/317356/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] $mol_atom: теория и практика реактивности
habra.16
habrabot(difrex,1) — All
2016-12-12 09:30:03


Здравствуйте, меня зовут Дмитрий Карловский и я… состоятельный человек. У меня есть состояние на сервере, есть состояния в локальных хранилищах, есть состояние окна браузера, есть состояние доменной модели, есть состояние интерфейса. И всё это многообразие состояний нужно поддерживать синхронизированным. Если одно состояние как-то изменяется, то остальные связанные с ним состояния должны как можно скорее обновиться. Особую пикантность ситуации придаёт то, что синхронизация с сервером может занимать секунды, а блокировать пользовательский интерфейс можно лишь на доли секунд.



![Состоятельный человек][1]



Далее вы узнаете: как реактивность побеждает асинхронность, как императивная реактивность уживается с функциональной, как простые абстракции позволяют писать надёжный и быстрый код, а также как я однажды перешёл на идемпотентную сторону силы и всё заверте

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

[1]: https://habrastorage.org/files/58d/bcb/fb0/58dbcbfb06774308b87267267b1ea9ca.jpg
[2]: https://habrahabr.ru/post/317360/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Тестируем Linux-версию PVS-Studio на Linux Kernel
habra.16
habrabot(difrex,1) — All
2016-12-12 11:30:05


![][1]



С момента выхода публичной Linux-версии PVS-Studio, статья о повторной проверке ядра Linux оставалась лишь вопросом времени. Проект, который пишется профессионалами со всего мира, который используют большое количество людей в самых разных сферах, который регулярно проверяется и тестируется различными инструментами — проверка такого проекта будет серьёзным испытанием для любого статического анализатора. Какие ошибки удалось найти PVS-Studio в таких условиях?

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

[1]: https://habrastorage.org/files/fec/53e/cf2/fec53ecf27f5499dbf1bb8068af5761a.png
[2]: https://habrahabr.ru/post/317374/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Moscow Python Meetup №41
habra.16
habrabot(difrex,1) — All
2016-12-12 13:30:04


22-го декабря в 19:00 на Мансарде RAMBLER&Co состоится 41-я встреча MoscowPython

![image][1]

На встрече мы услышим 3 доклада:
[Читать дальше →][2]

[1]: https://habrastorage.org/files/374/806/286/374806286f71415abed70de8ccdd4005.jpg
[2]: https://habrahabr.ru/post/317216/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Блокировка дубликатов Symfony Сommand
habra.16
habrabot(difrex,1) — All
2016-12-12 13:30:04


![image][1]

Сегодня хочу предложить вашему вниманию частный случай для решения «неудобств», связанных с периодичным запуском процессов в том случае, если предыдущий еще не завершился. Иначе говоря — блокировка запущенных процессов в _symfony/console_. Но все было бы слишком банально, если бы не необходимость блокировки среди группы серверов, а не на отдельно взятом.

_Дано:_ Один и тот же процесс, который запускается на **N** серверов.
_Задача:_ Сделать так, чтобы в единицу времени был запущен только один.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/026/37b/8a5/02637b8a591446398a7c51ec53c42800.jpg
[2]: https://habrahabr.ru/post/317258/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Вышел GitLab 8.14
habra.16
habrabot(difrex,1) — All
2016-12-12 13:30:04


Представьте, что вы делаете ревью кода новой фичи. Помимо качества ее кода вам также интересно, как она будет выглядеть и работать в вашем продукте и насколько удобно будет ее использовать. Раньше вам пришлось бы прервать процесс разработки на собственной рабочей машине, сделать checkout на проверяемую ветку, провести нужные миграции БД и запустить всю рабочую среду (development environment), необходимую для приложения. Теперь вам будет достаточно зайти в мерж-реквест этой ветки на GitLab. Там будет ссылка на уже работающее приложение, развернутое в отдельной среде.



Наконец, ревью завершено, и вы даете коллеге обратную связь в чате.
Вместо того, чтобы решать, кто из вас пойдет заводить новую задачу в трекере, вы можете создать задачу и оценить время на ее разработку, не выходя из чата. Аналитика цикла разработки (cycle analytics) сразу учтет данную оценку и будет показывать вам весь путь задачи до выпуска на production, сообщая о возможных узких местах.



Все это и многое другое возможно в новой версии GitLab 8.14. В ней появился учет рабочего времени, приложения для ревью (Review Apps), команды чата (chat commands) и новые возможности аналитики цикла разработки.

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

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

[>] [Из песочницы] Миллион строк в секунду из Postgres с помощью Python
habra.16
habrabot(difrex,1) — All
2016-12-12 14:00:04


![image][1]

[asyncpg][2] — новая Python open-source библиотека для работы с PostgreSQL. Она была написана с использованием syncio и Python 3.5. asyncpg — самый быстрый драйвер для работы с PostgreSQL среди похожих реализаций в на Python, NodeJS и Go.


### Почему asyncpg?


Мы создаем [EdgeDB][3] — базу данных нового поколения, с PostgreSQL на бэкенде. Нам необходима высокая производительность, низкая задержка доступа и дополнительные возможности самого PostgreSQL.

Самый очевидный вариант – использовать psycopg2 — популярнейший драйвер Python для работы с PostgreSQL. У него отличное комьюнити, он стабильный и проверенный временем. Также есть aiopg, который реализует асинхронный интерфейс, поверх psycopg2. Тогда очевиден вопрос — зачем писать свой велосипед? Короткий ответ: производительность и поддержка возможностей PostgreSQL. Ниже мы рассмотрим это более детально.
[Читать дальше →][4]

[1]: https://s18.postimg.org/9i9hmm44p/image.jpg
[2]: https://github.com/magicstack/asyncpg
[3]: https://edgedb.com/
[4]: https://habrahabr.ru/post/317394/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Параллельная быстрая сортировка на Хаскеле и как нелегко её оказалось написать
habra.16
habrabot(difrex,1) — All
2016-12-12 16:00:04


_Прим. перев.: Это перевод [истории][1] о том, как нелегко оказалось написать параллельную быструю сортировку (quicksort) на Хаскеле. Оригинал статьи написан в 2010 году, но, мне кажется, он до сих пор поучительный и во многом актуальный._

Есть много примеров того, как Хаскель делает простые проблемы сложными. Вероятно, самый известный из них—это решето Эратосфена, которое легко написать на любом императивном языке, но настолько сложно написать на Хаскеле, что почти все решения, которые преподавались в университетах и использовались в исследованиях последние 18 лет, оказались неправильными. На их несостоятельность обратила внимание Мелисса О'Нил [Melissa O'Neill] в своей важной научной работе "[Настоящее решето Эратосфена][2]". В ней приводится прекрасное описание того, что не так в старых подходах, и как их надо исправить. Решением Мелиссы было использовать очередь с приоритетом [priority queue] для реализации решета. Правильное решение оказалось в 10 раз длиннее, чем [намного более простое решение на F#][3] и в целых 100 раз длиннее, чем оригинальный изуродованный алгоритм на Хаскеле.
[Читать дальше →][4]

[1]: http://flyingfrogblog.blogspot.de/2010/08/parallel-generic-quicksort-in-haskell.html
[2]: http://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf
[3]: http://fsharpnews.blogspot.com/2010/02/sieve-of-eratosthenes.html
[4]: https://habrahabr.ru/post/317348/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создание и тестирование Firewall в Linux, Часть 2.1. Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark
habra.16
habrabot(difrex,1) — All
2016-12-12 17:00:04


**Содержание первой части:**

**Создание лаборатории, архитектура Netfilter, char device, sysfs**
[**1\.1** — Создание виртуальной лаборатории (чтобы нам было где работать, я покажу, как создать виртуальную сеть на вашем компьютере. Сеть будет состоять из 3х машин Linux ubuntu).][1]
[**1\.2** – Написание простого модуля в Linux. Введение в Netfilter и перехват трафика с его помощью. Объединяем все вместе, тестируем.][2]
[**1\.3** – Написание простого char device. Добавление виртуальной файловой системы — sysfs. Написание user interface. Объединяем все вместе, тестируем.][3]

**Содержание второй части:**

****2\.1** — Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark.**
**2\.2** — Таблицы Firewall. Transport Layer. Структуры TCP, UDP. Расширяем Firewall.
**2\.3** — Расширяем функциональность. Обрабатываем данные в user space. libnetfilter\_queue.
**2\.4** — Бонус. Изучаем реальную Buffer Overflow атаку и предотвращаем с помощью нашего Firewall'а.
[Читать дальше →][4]

[1]: https://habrahabr.ru/post/315340/
[2]: https://habrahabr.ru/post/315350/
[3]: https://habrahabr.ru/post/315454/
[4]: https://habrahabr.ru/post/316086/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Роутеры NetGear подвержены серьезной уязвимости
habra.16
habrabot(difrex,1) — All
2016-12-12 17:00:04


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

![][2]
> NETGEAR has recently become aware of the security issue #582384 that allows unauthenticated web pages to pass form input directly to the command-line interface. A remote attacker can potentially inject arbitrary commands which are then executed by the system.
[Читать дальше →][3]

[1]: http://kb.netgear.com/000036386/CVE-2016-582384
[2]: https://habrastorage.org/files/dcf/55d/527/dcf55d5270284f21ad90b49ddfb4eef4.jpeg
[3]: https://habrahabr.ru/post/317420/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Marionette.js исполнилось 5 лет
habra.16
habrabot(difrex,1) — All
2016-12-12 17:00:04


![image][1]



11 декабря 2016 Marionette.js исполняется 5 лет. Этот проект постепенно рос все эти годы. Его развивали сотни контрибьюторов, было создано сотни коммитов и десятки сотен проектов, которые используют Marionette. Мы были инновационными и были устаревшими. Мы видели как новые фреймворки приходят и некоторые уходят. Мы, возможно, никогда уже не будем новыми и модными, но мы будем делать все возможное чтобы постоянно двигаться вперед.


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

[1]: https://habrastorage.org/files/876/e44/7e2/876e447e2da24d068ea6639be8a12f5e.png
[2]: https://habrahabr.ru/post/317402/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Объясняем бабушке, как написать свой язык программирования
habra.16
habrabot(difrex,1) — All
2016-12-12 18:00:04


Это игровая площадка, где я попытаюсь объяснить, как создать малюсенький язык программирования (Mu). Можно посмотреть вживую на открытые исходники [здесь][1] или скачать [тут][2]. Туториал можете прочитать прямо сейчас.

![image][3]


## Пишем свой язык программирования (на Swift)


Для того, чтобы написать свой язык программирования, необязательно иметь степень в Computer Science, достаточно понимать 2 базовых шага.


## Язык: Mu(μ)


Mu — это минимальный язык, который содержит постфиксный оператор, бинарную операцию и «одноциферные» числа.

**Пример:** (s 2 4) or (s (s 4 5) 4) or (s (s 4 5) (s 3 2))…
[Читать дальше →][4]

[1]: http://swiftlang.ng.bluemix.net/#/repl/5825fba6dee52b5745935831
[2]: https://github.com/marciok/Mu/releases/download/1.0/WriteYourLanguage.playground.zip
[3]: https://habrastorage.org/getpro/habr/post_images/58c/c0c/543/58cc0c543a6a52280b31b2376bb3bebd.png
[4]: https://habrahabr.ru/post/315068/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Обгоняем компилятор
habra.16
habrabot(difrex,1) — All
2016-12-12 19:30:03


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

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

Но так ли это? Давайте не будем просто воспринимать на веру слова некоторых парней в интернете, как библейское откровение, а проведём небольшой эксперимент и выясним.
[Читать дальше →][1]

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

[>] Дайджест Университета ИТМО: Подборка ресурсов по искусственному интеллекту
habra.16
habrabot(difrex,1) — All
2016-12-12 20:00:04


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

[1]: https://habrahabr.ru/company/spbifmo/blog/305816/
[2]: https://habrahabr.ru/company/spbifmo/blog/317276/
[3]: https://habrahabr.ru/post/317276/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Создание Elixir-приложения на примере. От инициализации до публикации
habra.16
habrabot(difrex,1) — All
2016-12-12 22:30:03


![image][1]



Данная статья участвует в конкурсе от [Wunsh.ru][2] — русскоязычное сообщество Elixir. Практики и просто сочувствующие — [присоединяйтесь][3]!



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



## Вступление {#vstuplenie}



"Elixir — динамический, функциональный язык программирования, разработанный для создания масштабируемых и легко поддерживаемых систем." — [elixir-lang.org][4]



Используя Elixir для создания ваших приложений вы обязательно столкнётесь с Mix. Он станет вам незаменимым помощником, так как через него вы сможете выполнять такие команды как создание, сборка, тестирование и публикация приложений, а также управление зависимостями и многое другое. Если вы знакомы с Ruby, то этот инструмент очень похож на Bundler, RubyGems и Rake, вместе взятые. В двух словах Mix — это удобный инструмент, который поставляется с Elixir и выполняет не меньше задач, чем швейцарский нож.



## Инициализация нового приложения {#inicializaciya-novogo-prilozheniya}

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

[1]: https://dl.dropboxusercontent.com/u/37142115/habr/post-1-1.png
[2]: http://wunsh.ru
[3]: http://wunsh.ru/first_contest.html
[4]: http://elixir-lang.org
[5]: https://habrahabr.ru/post/317444/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] История одного плагина
habra.16
habrabot(difrex,1) — All
2016-12-13 07:30:03




Все началось с того, что у меня перестал работать **tagbar**. Плагин падал с ошибкой, якобы текущая моя версия Exuberant Ctags вовсе не Exuberant. Покопавшись немного в исходниках, я понял, что последняя внешняя команда завершалась с ошибкой, а **v:shell\_error** выдавал -1, что говорит о том, судя по документации vim'a, что "the command could not be executed". Я не стал копать дальше и установил **fzf**. **Fzf**, как и **ctrlp**, позволяет проводить нечеткий поиск по файлам, тегам, буферам, ..., но в отличии от последнего, работает гораздо шустрее, однако, не без минусов. Приложение работает напрямую с терминалом и каждый раз затирает мне историю вводимых команд. Это также означает, что мы не можем отобразить результаты поиска в буфере (**neovim**, судя по некоторым скринкастам, может), например, справа от основного буфера, когда ищем нужный тег. В отличие от sublime, **fzf** не придает больший вес имени файла, из — за чего я часто получал в топе вовсе не те результаты, которые ожидал увидеть. Ко всему прочему, отсутствие полной свободы в настройке цветовой схемы, что в общем-то не слишком важно для обычного пользователя, но только не для меня, с моим повышенным вниманием к мелочам. Под свободой я понимаю, как минимум, разграничение цвета для обычного (нормального) текста и строки запроса.



Всё это подтолкнуло меня к написанию своего плагина, внешний вид которого напоминает стандартный просмотрщик директорий — **netrw**. Я опишу проблемы, с которыми сталкивался, и пути их решения, полагая, что этот опыт может быть кому-то полезен.

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

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

[>] JetBrains Night в Москве. Видео. Как CLion справляется со сложностями языка C++
habra.16
habrabot(difrex,1) — All
2016-12-13 09:00:03


29 сентября в Москве прошла мини-конференция JetBrains Night: 7 часов разработчики из JetBrains рассказывали разработчикам из других компаний о том, что компания делает, зачем, и что будет делать дальше, а потом отвечали на вопросы, обсуждали общие проблемы и вообще делились опытом (т.е. слушали, как разработчики из других компаний рассказывают им о том, что они делают и почему им удобно или пока еще не очень удобно делать это с помощью того, что делает JetBrains).

На Хабре мы постепенно публикуем видео всех докладов, чтобы можно было в комментариях обсудить то, что не успели обсудить на JetBrains Night, особенно с теми, кто не смог приехать лично.

Краткое содержание предыдущих серий:
[Дмитрий Жемеров про язык Kotlin][1];
[Максим Мазин и Валерия Андрианова про интеграцию серверных продуктов и использование новых Agile-досок][2];
[Сергей Пак. Первые шаги с TeamCity DSL][3].

Сегодня публикуем видео, где Дмитрий Кожевников рассказывает, как CLion справляется [Читать дальше →][4]

[1]: https://habrahabr.ru/company/JetBrains/blog/314826/
[2]: https://habrahabr.ru/company/JetBrains/blog/315244/
[3]: https://habrahabr.ru/company/JetBrains/blog/315652/
[4]: https://habrahabr.ru/post/317456/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Lock-free структуры данных. Итераторы: multi-level array
habra.16
habrabot(difrex,1) — All
2016-12-13 12:00:05


![][1]
В предыдущих частях опуса ([1][2], [2][3], [3][4]) мы рассмотрели внутреннее строение lock-free map и убедились, что все основные операции — поиск, добавление и удаление ключа — могут быть выполнены без глобальных блокировок и даже в lock-free манере. Но стандартный `std::map` поддерживает ещё одну очень полезную абстракцию — итераторы. Возможно ли реализовать итерабельный lock-free map?
Ответ на этот вопрос — под катом.
[Читать дальше →][5]

[1]: https://habrastorage.org/files/c0f/d71/599/c0fd7159978d428b99fe8b5748e943e2.png
[2]: https://habrahabr.ru/post/250383/
[3]: https://habrahabr.ru/post/250523/
[4]: https://habrahabr.ru/post/250815/
[5]: https://habrahabr.ru/post/314948/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Удаленное логирование в journald или Всё ещё «это вам не нужно»?
habra.16
habrabot(difrex,1) — All
2016-12-13 13:30:05


![][1]



## Дисклеймер {#diskleymer}



Все эксперименты проводились на CentOS Linux release 7.2.1511 в качестве основной системы, с последними доступными из стоковой репы systemd (systemd-219-19.el7\_2.13). Надеюсь, часть приведенных данных будет неактуальна уже на момент публикации статьи.



### Вводная часть {#vvodnaya-chast}



Начав захватывать linux-дистрибутивы с выпуска Fedora 15, systemd окончательно победил. Зубры и аксакалы понемногу приучаются к unit'ам и systemctl. Скрежещат зубами последние защитники Старого Доброго. В этих реалиях невозможно обойти дочерние продукты systemd. И сегодня давайте поговорим, например, про journald.


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

[1]: https://habrastorage.org/files/ba3/a39/9c9/ba3a399c9f884ef19a36369221944077.jpg
[2]: https://habrahabr.ru/post/317182/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Анализ покрытия кода тестами в Ruby
habra.16
habrabot(difrex,1) — All
2016-12-13 15:00:04


Для начала я приведу небольшой тестовый проект из трёх классов, проанализирую его покрытие с помощью [гема SimpleCov][1], а напоследок немного поразмышляю о том, как анализ покрытия может приносить пользу проекту, и какие есть недостатки у Coverage в Ruby.



[![][2]][3]



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


# Мама очень заботится о своём сыне, и не разрешает ему гулять,
# если он не надел шарф. А ещё она заботится о его успеваемости, поэтому если
# сын не сделал домашнюю работу, гулять ему она тоже не разрешит.
class Mother
def permit_walk?(child)
child.scarf_put_on && child.homework_done
end
end [Читать дальше →][4]

[1]: https://github.com/colszowka/simplecov
[2]: https://habrastorage.org/files/756/b2f/98b/756b2f98bdcd47eaaaf88d1f66d24659.png
[3]: https://habrahabr.ru/post/317326/
[4]: https://habrahabr.ru/post/317326/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем настоящий Pointer Analysis для LLVM. Часть 1: Введение или первое свидание с миром анализа программ
habra.16
habrabot(difrex,1) — All
2016-12-13 15:00:04


Привет, Хабр!
[][1]
Эта статья станет вступительной в моем небольшом цикле заметок, посвященном такой технике анализа программ, как pointer analysis. Алгоритмы pointer analysis позволяют с заданной точностью определить на какие участки памяти переменная или некоторое выражение может указывать. Без знания информации об указателях анализ программ, активно использующих указатели (то есть программ на любом современном языке программирования — C, C++, C#, Java, Python и других), практически невозможен. Поэтому в любом мало-мальски оптимизируещем компиляторе или [серьезном статическом анализаторе кода][2] применяются техники pointer analysis для достижения точных результатов.

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

[1]: https://habrahabr.ru/company/solarsecurity/blog/317002/#habracut
[2]: http://solarsecurity.ru/products/solar_inCode/
[3]: https://habrahabr.ru/post/317002/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Особенности реализации виртуальной машины в Dart. JS и Dart глазами компиляторщика
habra.16
habrabot(difrex,1) — All
2016-12-13 16:00:04


![][1]

Продолжаем публиковать видео с митапа Dart разработчиков, который прошел в офисе Wrike в конце ноября. Сегодня представляем доклад Вячеслава Егорова из Google. Вячеслав — сотрудник Google в городе Орхус, Дания, в том самом офисе, где появился на свет V8 JavaScript engine и язык программирования Dart. Компиляторщик до мозга костей, интересующийся всем, что так или иначе связанно с виртуальными машинами. Работал над V8, сейчас работает над Dart VM и иногда чинит баги в LuaJIT. Вместе с ним залезем под капот Dart VM.

[Смотреть][2]

[1]: https://habrastorage.org/files/dc1/476/574/dc1476574fee4408b31da53a682b9873.jpg
[2]: https://habrahabr.ru/post/317074/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как выбирать алгоритмы для машинного обучения Microsoft Azure
habra.16
habrabot(difrex,1) — All
2016-12-13 17:30:04


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

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

[1]: https://habrastorage.org/files/8e2/0a6/04a/8e20a604af8b4efeaee817520e4b9a6d.jpg
[2]: https://habrahabr.ru/post/317512/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Экспорт ключа SignalCom в OpenSSL
habra.16
habrabot(difrex,1) — All
2016-12-14 08:00:04


_У вас стоит задача интегрироваться с удалённым сервисом, который работает по ГОСТу и "только через КРИПТО-КОМ", а вы хотите использовать OpenSSL с gost? На форуме "Сигнал-КОМ" вы видите кучи сообщений, что "ключи из формата КРИПТО-КОМ нельзя конвертировать в формат OpenSSL-гост-совместимых"? На самом деле конвертация возможна._

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

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

[>] Как научить веб-приложение говорить на 100 языках: особенности локализации
habra.16
habrabot(difrex,1) — All
2016-12-14 12:00:03


![][1]

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

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

[1]: https://habrastorage.org/files/da8/0cf/3e1/da80cf3e1bed48d582dc640cfb839702.jpg
[2]: https://habrahabr.ru/company/badoo/blog/312530/
[3]: https://www.youtube.com/watch?v=gq4S7JLbbmM
[4]: https://habrahabr.ru/post/317484/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как защитить умный дом: Решение от команды Университета ИТМО
habra.16
habrabot(difrex,1) — All
2016-12-14 13:30:03


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

Сегодня мы поговорим о степени защищенности подобных систем и том, как можно сделать их безопаснее с помощью разработок, созданных в Университете ИТМО.

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

[1]: https://habrastorage.org/files/dc3/d7c/aab/dc3d7caabeb74b00b6eaebb8a61f37e3.png
[2]: https://habrahabr.ru/company/spbifmo/blog/317454/
[3]: https://habrahabr.ru/post/317454/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пентест в Global Data Security — прохождение 10-й лаборатории Pentestit
habra.16
habrabot(difrex,1) — All
2016-12-14 17:00:06




Лаборатории компании Pentestit уже стали традицией для многих. Каждый май и ноябрь открывается очередная лаборатория, и тысячи энтузиастов по всему миру не спят сутками чтобы первыми скомпрометировать сеть нового виртуального банка, разработчиков ПО или провайдера услуг в области ИБ.

25-го ноября запустилась очередная, на этот раз [10-я лаборатория][1], где участникам было предложено прорваться в сеть вымышленной компании Global Data Security — разработчика ПО в области информационной безопасности.

6-го декабря, ровно через 11 суток, лаборатория была пройдена первыми участниками, которые смогли получить доступ к каждому уязвимому узлу сети компании Global Data Security и нашли на них специальные токены — комбинации букв и цифр, которые нужно ввести в панель управления на сайте Pentestit.

Для тех, кто еще не успел заняться лабораторией — она будет активна до мая 2017-го года, после чего ее заменит уже объявленная 11-я лаборатория. А пока, эта статья предлагает описание всех этапов прохождения текущей лаборатории для всех, кто хочет развить свои навыки пентеста и узнать больше об актуальных уязвимостях на конец 2016-го года. Статья получилась длинная, но, надеюсь, интересная.
[Читать дальше →][2]

[1]: https://lab.pentestit.ru/pentestlabs/6
[2]: https://habrahabr.ru/post/317322/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сказка о потерянном времени
habra.16
habrabot(difrex,1) — All
2016-12-14 17:00:06


Если честно, то не совсем и сказка, а суровая жизнь. Но время ведь потеряно совершенно настоящее, хоть и с пользой. А началось всё совершенно случайно. На одном сайте один умный товарищ [написал пост][1] о [гипотезе Эйлера][2]. Суть достаточно проста. Гипотеза Эйлера утверждает, что для любого натурального числа n>2 никакую n-ю степень натурального числа нельзя представить в виде суммы (n-1) n-х степеней других натуральных чисел. То есть, уравнения:

![][3]
не имеют решения в натуральных числах.

Ну собственно так оно и было до 1966 года…
[Читать дальше →][4]

[1]: https://science.dirty.ru/krtkst-1253293/
[2]: https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%B7%D0%B0_%D0%AD%D0%B9%D0%BB%D0%B5%D1%80%D0%B0
[3]: https://habrastorage.org/files/271/b3d/4cd/271b3d4cd62544c695cb8ba849078e24.png
[4]: https://habrahabr.ru/post/317588/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Синтаксический анализ текстов с помощью SyntaxNet
habra.16
habrabot(difrex,1) — All
2016-12-14 18:00:03


Для одной из задач мне понадобился синтаксический анализатор русскоязычных текстов. Что это такое. Например, у нас есть предложение «Мама мыла раму». Нам нужно получить связи слов в этом предложении в виде дерева:

![image][1]
Из этого дерева понятно, что связаны слова «мама» и «мыла», а также «мыла» и «раму», а слова «мама» и «раму» напрямую не связаны.

Статья будет полезна тем, кому понадобился синтаксический анализатор, но не понятно, с чего начать.

Я занимался этой темой несколько месяцев назад, и на тот момент нашел не много информации по поводу того, где бы взять готовый и желательно свободный анализатор.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/33b/49b/826/33b49b826eb27f95137c702dd91be1f9.png
[2]: https://habrahabr.ru/post/317564/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Я отказался от PGP
habra.16
habrabot(difrex,1) — All
2016-12-14 23:00:03


_Об авторе: [Филиппо Валсорда][1] занимается криптографией и TLS, называет себя «послом urandon», входит в криптогруппу компании Cloudflare, поднял известный [сервис][2] для тестирования на уязвимость Heartbleed. Вы могли встречать его на конференциях по криптографии и компьютерной безопасности или под ником @FiloSottile на Github и в твиттере_

![][3]Спустя годы мучений с GnuPG с различным уровнем энтузиазма я пришёл к выводу, что оно не стоит того, и я сдаюсь. По крайней мере относительно концепции долговременных ключей PGP.

Речь не о самой программе `gpg` и не о криптографических инструментах в принципе. Многие писали на эту тему. Я говорю о модели долговременных ключей PGP, будь она гарантирована [сетью доверия][4], отпечатками открытых ключей или моделью [TOFU][5] — неважно. Я говорю о том, что она не подходит для меня лично.
[Читать дальше →][6]

[1]: https://filippo.io/
[2]: https://filippo.io/Heartbleed/
[3]: https://habrastorage.org/files/40f/bc3/d1b/40fbc3d1bedf4af09d017ae4ee8982a6.png
[4]: https://en.wikipedia.org/wiki/Web_of_trust
[5]: https://en.wikipedia.org/wiki/Trust_on_first_use
[6]: https://habrahabr.ru/post/317630/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] WiFi на Linux станет быстрее
habra.16
habrabot(difrex,1) — All
2016-12-15 02:30:03


> — _пусть лучше небольшая, но фейербаховская..._
> Виктор Пелевин «Поколение Пи»

Недавний [релиз ядра Linux 4.9][1] отличный повод рассказать о предстоящем разгоне WiFi. Сразу оговорюсь — пост не о том, [как увеличить зону покрытия][2] или [менять регуляторные домены][3]. Ничего такого делать не надо, достаточно обновить ядро после того, как патчи буфероборца Dave Täht будут в стабильной ветке.


![][4]





Значительное повышение скорости достигнуто за счет уменьшения задержки [[2]][6] в сети. Разработчикам пришлось ради этого перелопатить `mac80211`, убрать кое-что сверху, добавить снизу и после этого задержки в сети сократились на порядок. Цена вопроса? Патч в 200 строк. Подробности под катом.

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

[1]: https://habrahabr.ru/company/kingservers/blog/317364/
[2]: https://habrahabr.ru/company/remo/blog/310612/
[3]: https://habrahabr.ru/post/317220/
[4]: https://habrastorage.org/files/7a8/4da/9ba/7a84da9ba91b46008371bec6a4c53d6a.png
[5]: #cite_ref-1
[6]: #cite_ref-2
[7]: https://habrahabr.ru/post/317548/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Трояны-вымогатели — security-тема года
habra.16
habrabot(difrex,1) — All
2016-12-15 08:30:03


![][1]Каждый год 31 декабря эксперты «Лаборатории Касперского» ходят с друзьями в баню подводят итоги. Итоги года состоят из объективной статистики из нашей облачной системы Kaspersky Security Network, и субъективного выбора ключевых событий в сфере безопасности и их оценки. Причем субъективная оценка не менее важна, чем наглядные цифры статистики по разным типам атак. В [предсказаниях][2] на 2016 год особое внимание было уделено таргетированным атакам: им наши специалисты дали более высокий приоритет, чем высококлассным атакам с помощью самого совершенного кибероружия. Все дело и в потенциальном ущербе, и в том, что подобрать ключи к защите компании можно, даже и вовсе не пользуясь «вредоносным ПО».

В результате получается, что видов атак может быть великое множество, и оценить их все хором, измерить среднюю температуру «по больнице» не получится. Статистика дает лишь половину понимания ландшафта киберугроз, вторая половина — это опыт специалистов и его приложение к конкретному набору софта, железа и людей в конкретной компании или индустрии. Ежегодный Kaspersky Security Bulletin реализует данную _дихотомию_ в отношении завершающегося отчетного периода.

Как обычно, рекомендую смотреть полный отчет: [здесь][3] и [здесь][4]. Я же хочу подробно обсудить две ключевые темы: развитие троянов-вымогателей и измерение скорости реакции на инциденты в реальных деньгах.
[Читать дальше →][5]

[1]: https://habrastorage.org/files/0ba/536/545/0ba536545cfe4b1b8cdfad7efdf10a52.jpg
[2]: https://securelist.com/analysis/kaspersky-security-bulletin/72771/kaspersky-security-bulletin-2016-predictions/
[3]: https://securelist.com/analysis/kaspersky-security-bulletin/76757/kaspersky-security-bulletin-2016-story-of-the-year/
[4]: https://securelist.com/analysis/kaspersky-security-bulletin/76858/kaspersky-security-bulletin-2016-executive-summary/
[5]: https://habrahabr.ru/post/317644/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Собственная платформа. Часть 0.2 Теория. Интерпретатор CHIP8
habra.16
habrabot(difrex,1) — All
2016-12-15 09:00:03


# Введение {#vvedenie}



Здравствуй, мир! Сегодня у нас перевод [спецификации][1] языка CHIP8. Это статья содержит только теоретическую часть.


**\*COSMAC ELF во всей красе\***
![COSMAC ELF][2]


# Что такое CHIP8? {#chto-takoe-chip8}



CHIP8 это интерпретируемый язык программирования, который был разработан Джозефом Вейзбекером (прим. перевод Joseph Weisbecker) в семидесятых для использования в [RCA COSMAC VIP][3]. В дальнейшем был использован в [COSMAC ELF][4], [Telmac 1800][5], ETI 660, DREAM 6800. Тридцать одна (35?) инструкция давали возможности для вывода простого звука, монохромной графики в разрешении 64 на 32 пикселя, а также позволяло использовать 16 пользовательских кнопок. Сегодня CHIP-8 часто используется для обучения базовым навыком эмуляции (не интерпретации). Интерпретаторы CHIP-8 часто по ошибке называют эмуляторами. Это связанно с фактом большой схожести CHIP-8 с компьютером.


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

[1]: http://mattmik.com/files/chip8/mastering/chip8.html
[2]: https://upload.wikimedia.org/wikipedia/commons/b/b5/COSMAC_ELF_CHM.jpg
[3]: https://ru.wikipedia.org/wiki/COSMAC_VIP
[4]: https://en.wikipedia.org/wiki/COSMAC_ELF
[5]: https://en.wikipedia.org/wiki/Telmac_1800
[6]: https://habrahabr.ru/post/316788/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разработка игры Frogger для компьютера Vectrex
habra.16
habrabot(difrex,1) — All
2016-12-15 09:00:03


Какое-то время назад я переводил рассказ Chris Salomon о его разработке игры Frogger для [компьютера Vectrex][1]. Тот рассказ, написанный им в 1998 году, является, на мой взгляд, очень интересным документом, позволяющим проникнуться как духом этой необычной платформы, так и спецификой разработки на ассемблере вообще.

Chris не забросил Vectrex и, сравнительно недавно, довёл до релиза собственный эмулятор Vectrex для Windows (лучший, на данный момент) под названием «Vide». Мне, к слову, приятно, что мои исходники [Electric Force][2] помогли ему реализовать приличную поддержку отображения векторных кривых в этом эмуляторе.

И вот, получив в руки такой мощный инструмент, Chris не смог отказать себе в удовольствии вернуться к своему старому Frogger'у, чтобы доработать и улучшить его. Об этом он рассказал в своём [блоге][3].

Таким образом, здесь я публикую две части моего перевода — первую, об оригинальной разработке 1998 года (из файла [progger.txt][4], бродившего вместе с исходниками игры) и вторую — о её продолжении (из [блога автора][5]).
[Читать дальше →][6]

[1]: https://habrahabr.ru/post/313218/
[2]: http://enlight.ru/post/9575
[3]: http://vide.malban.de
[4]: http://oldies.malban.de/firstvectrex/vectrex/DIS/CHRIS/VFROGGER/SOURCE/PROGGER.TXT
[5]: http://vide.malban.de
[6]: https://habrahabr.ru/post/317656/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Превозмогая трудности: Gravity Defied на sed
habra.16
habrabot(difrex,1) — All
2016-12-15 09:30:02


![image][1]
Итак, эта статья посвящается тем, кто любит решать нестандартные задачи на не предназначенных для этого инструментах. Здесь я опишу основные проблемы, с которыми столкнулся во время создания аналога игры Gravity defied с использованием потокового текстового редактора (sed).
[Читать дальше →][2]

[1]: https://habrastorage.org/files/077/94b/ea9/07794bea979d4e8a8ade3c1e54113433.png
[2]: https://habrahabr.ru/post/317638/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 ... 210