Архив за 22 января 2016 - 3

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

Эксперты компании Perception Point обнаружили серьезную уязвимость в ядре Linux (CVE-2016-0728), позволяющую локальному пользователю получить административный доступ и скомпрометировать систему. Эксплуатация ошибки позволяет атакующему удалять файлы, просматривать конфиденциальную информацию, устанавливать нежелательные программы и пр. Как отмечается, проблема присутствовала в ядре с 2012 года, но была выявлена только сейчас.

Читать полностью »

Статьи о получении (псевдо)случайных чисел, о проверке качества полученных последовательностей неизменно вызывают интерес у населения Хабра.

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

Метод описанный ниже предложен Санделиусом (М. Sandelius) еще в 1962 г. в работе [1].

Читать полностью »

HTC занимается разработкой сразу двух смартфонов Google Nexus

В сервисе микроблогов сообщили, что разработчиком следующего смартфона Google Nexus стала компания HTC.

Самое интересное, что тайваньский производитель занимается сразу двумя версиями: с дисплеем 5 и 5.5 дюйма.

Стоит отметить, что HTC уже занималась разработкой планшета Google Nexus – HTC Nexus 9 . Есть информация, что поисковый гигант остался доволен совместной работой.

Читать полностью »

image

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

Оригинальное описание алгоритма

1. Сначала я задаю нужное количество комнат – к примеру, 150. Естественно, цифра произвольная, и чем она больше, тем сложнее будет подземелье.

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

Вместо равномерно распределённых случайных чисел (какие выдаёт генератор Math.random в большинстве языков), я использую нормальное распределение Парка-Миллера. В результате вероятность появления маленьких комнат превышает вероятность появления больших. Зачем это надо, объясню позже.

Кроме того я проверяю, что соотношение длины и ширины комнаты не слишком велико. Нам не нужны как идеально квадратные комнаты, так и сильно вытянутые.

3. И вот у нас есть 150 случайных комнат, расположенных на небольшом пространстве. Большинство из них наезжают друг на друга. Теперь мы осуществляем их разделение по технологии separation steering, чтобы разделить прямоугольники так, чтоб они не пересекались. В результате они не пересекаются, но находятся достаточно близко друг от друга.

4. Заполняем промежутки клетками размером 1х1. В результате у нас получается квадратная решётка из комнат различного размера.

5. И тут начинается основное веселье. Определяем, какие из клеток решётки являются комнатами – это будут любые клетки с шириной и высотой, превышающими заданные. Из-за распределения Парка-Миллера мы получим сравнительно небольшое количество комнат, между которыми есть довольно много свободного пространства. Но оставшиеся клетки нам также пригодятся.

6. Следующий шаг – связывание комнат вместе. Для этого мы строим граф, содержащий центры всех комнат при помощи триангуляции Делоне. Теперь все комнаты связаны меж собой непересекающимися линиями.

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

8. Дерево получается аккуратным, но скучным – никаких вам замкнутых ходов. Поэтому мы случайным образом добавляем обратно примерно 15% ранее исключённых рёбер графа. В результате получится граф, где все комнаты гарантированно достижимы, с несколькими замкнутыми ходами.

9. Чтобы превратить его в коридоры, для каждого ребра строится серия прямых линий (в форме Г), идущих по рёбрам графа, соединяющим комнаты. Тут нам пригождаются те клетки, которые остались неиспользованными (те, что не превратились в комнаты). Все клетки, накладывающиеся на Г-образные линии, становятся коридорами. А из-за разнообразия размеров клеток стены коридоров будут неровными, что как раз хорошо для подземелья.

И вот пример результата!

Осторожно — под катом много монстров анимированных гифок!
Читать полностью »

iPhone 6 против Galaxy S6 edge, Xperia Z5 Compact и Lenovo Vibe Shot: тест на устойчивость к морозам

Читать полностью »

Atari добавит в Steam 100 классических игр, причем с мультиплеером и другими плюшками - 1

Ретро-игры будут жить вечно. То старые игры портируют в браузер, то создают эмуляторы старых консолей. Теперь 100 классических игр Atari переносит в Steam. В список таких игр, например, входят Asteroids и Centipede. Все игры собраны в систему Unveils Atari® Vault, которая будет показана на PAX South 2016.

Для всех игр добавляют несколько новых функций, включая поддержку мультиплеера. Также компания представит ожидаемый многими RollerCoaster Tycoon World™ и Pridefest™ для мобильных. Среди прочих игр в списке будут еще и Missile Command®, Tempest®, Warlords®.
Читать полностью »

ELEPHONE М3: ХАРАКТЕРИСТИКИ СМАРТФОНА

Elephone М3 является новым фаблетом в ассортименте китайского производителя и поставляется в двух версиях – Elephone М3 (3ГБ) и Elephone М3 (2ГБ). Различий, однако, гораздо больше, чем просто память.

Процессор, ОЗУ и память

За работу Elephone М3 (3ГБ) и Elephone М3 (2ГБ) отвечает один и тот же SoC. Это MediaTek helio P10 (восемь 64-разрядных ядер ARM Cortex-A53) с тактовой частотой не менее 2.0 Ггц. Графическую производительность обеспечивает двухъядерный ARM Mali-T860MP2 с тактовой частотой не менее 700 Мгц.

Читать полностью »

Привет!

Праздники отгремели, зима в полном разгаре, кто-то уже выкинул новогоднюю елку, а кто-то ждет потепления. А мы упорно трудимся над новыми версиями наших C++ продуктов. Так, например, с декабря открыта программа раннего доступа (Early Access Program) CLion — нашей кросс-платформенной IDE для C/C++.

Новости про C++ продукты и JetBrains C++ Night в Санкт-Петербурге - 1

Там очень много всего нового и интересного:
Читать полностью »

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

Оригинальная колонка Дерахшана в The Guardian. Редакция Roem.ru благодарит бюро переводов Top-Translate.ru за подготовку материала.

Читать полностью »

Одновременно с камерой Lumix DMC-TX1, в которой установлен дюймовый датчик изображения, компания Panasonic представила компактную камеру Lumix DMC-TZ85.

На японском рынке продажи Lumix DMC-TZ85 стартуют 10 февраля

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js