Как стать автором
Обновить
104
0
Русанов Семен @nightrain912

Программист

Отправить сообщение

Вы опасно некомпетентны в криптографии

Время на прочтение7 мин
Количество просмотров142K
От переводчика: Хоть посыл статьи Najaf Ali, переведённой ниже, и носит слегка рекламный оттенок («оставьте криптографию нам, экспертам»), но описанные в ней примеры показались мне довольно интересными и заслуживающими внимания.
Кроме того, никогда не будет лишним повторить прописную истину: не придумывайте свою крипто-защиту. И эта статья отлично иллюстрирует почему.

Читать дальше →
Всего голосов 181: ↑168 и ↓13+155
Комментарии143

«Аполлон» против лунного заговора: что реальнее осуществить?

Время на прочтение13 мин
Количество просмотров74K

Пролог


image
Астронавты Олдрин (слева) и Армстронг в Хьюстоне во время тренировки выхода на лунную поверхность (22 апреля 1969 года)

Знаете, кого мне всегда напоминали сторонники теорий заговора? Назойливых шахматистов.

Да-да, бывают такие, которые продолжают ходить королем против вашей ладьи. И вы теряетесь, разинув рот от неожиданности: он что, не читал стандартных эндшпилей и не знает своей судьбы — мат не позднее 16-го хода? Что происходит? Он надеется, что вы забыли, как это делается, что вам станет скучно и вы бросите играть?

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

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

А что же тогда делать? Да все очень просто. Надо замолчать. А затем попросить теоретика заговора рассказать все с начала. Нет-нет, не пересказывать теорию, которая обычно является «сутью произошедшего». А описать. Все. Как было сделано. Подробно. С самого начала.

Давайте так и сделаем на примере лунного заговора, который живуч на фоне миссий LRO, Opportunity, Rosetta и сегодняшних ежедневных снимков все приближающегося Плутона.
Читать дальше →
Всего голосов 112: ↑106 и ↓6+100
Комментарии352

Биомастерская: Новый взгляд на биологические науки как инженерные дисциплины

Время на прочтение4 мин
Количество просмотров11K
Здравствуйте все.

Сегодня мы предлагаем вашему вниманию очередную экспериментальную публикацию. Кажется, впервые нам удалось найти в активе О'Рейли не столько техническую, сколько научно-популярную книгу.

Несомненно, в нашем веке доктор Моро и доктор Сальватор сильно уступают по популярности доктору Хаусу, однако наука не стоит на месте, вслед за Димой появляется Люба, а в издательстве «O'Reilly» выходит вот такая работа:



Материал об этой книге с «Радара О'Рейли» является уже не первой публикацией Майка Лукидеса на завораживающую тему синтетической биологии, однако мы полагаем, что именно этот краткий обзор станет самой запоминающейся статьей, которую вы прочитаете сегодня. При этом будем весьма благодарны за конструктивную критику и участие в опросе.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии3

Обезьяны приручают диких волков (или наоборот?)

Время на прочтение1 мин
Количество просмотров15K
Абиссинский волк на этой фотографии даже не думает нападать на обезьян. Он будет охотиться на грызунов прямо в стаде из семисот особей, а приматы не будут обращать на это внимания. С другой стороны, обезьяны немедленно бегут, увидев диких собак — им они не доверяют.

image
Jeffrey Kerby
Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии16

Новости Плутона: метан, новые фото и огромный кратер

Время на прочтение1 мин
Количество просмотров14K


На изображении отмечен инструмент RALPH — инфракрасный спектрометр, обнаруживший наличие метана на Плутоне.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии15

Фемтосекундные лазеры способны создавать осязаемые проекции прямо на молекулы воздуха

Время на прочтение2 мин
Количество просмотров22K
Исследователи из японской компании Aerial Burton используют фемтосекундные лазеры для проецирования осязаемых изображений прямо в воздухе, пишет TechCrunch. Вот уже несколько лет ученые используют специальные лазеры, чтобы ионизировать молекулы воздуха непосредственно в воздушном пространстве, создавая тем самым яркие пиксели, которые как будто бы плавают в пространстве.



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

Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии33

Оптимизация 2d-приложений для мобильных устройств в Unity3d

Время на прочтение13 мин
Количество просмотров107K
Недавно наша студия завершила разработку большого обновления — Captain Antarctica: Endless Run — для устройств на iOs. Кропотливая работа над обновлением затронула производительность, которая оказалась очень низкой на слабых устройствах. Я боролся с этим целую неделю и добился как минимум 30 FPS, а также значительного сокращения размера приложения. Хочу рассказать, как я это сделал, ну и как делать не стоит.
Статья пригодится любым разработчикам на Unity (причем не только менеджерам проектов и техническим специалистам, но и просто программистам, художникам и дизайнерам), потому что она затрагивает как оптимизацию на Unity в целом, так и конкретно оптимизацию 2d-приложений для мобильных устройств.

Читать дальше →
Всего голосов 55: ↑52 и ↓3+49
Комментарии87

Авторизация через Google в Android и проверка токена на сервере

Время на прочтение4 мин
Количество просмотров61K
Недавно мне захотелось создать личный проект на андроиде, и основной вопрос был такой: как однозначно идентифицировать пользователя заставляя его делать как можно меньше телодвижений? Конечно же это аккаунт Google. Я пытался пробовать множество примеров в сети — однако API несколько раз обновилось за время своего существования, многие методы не работали, мои вопросы в Google+ по этому поводу либо были вообще никак не восприняты окружением, либо были вроде «Никогда такое не делал».
В этой статье я постараюсь как можно более просто для новичков (вроде меня) описать мой метод авторизации в Google на андроид, получения токена и проверке этого самого токена на сервере.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии16

Голосовой персональный ассистент Hound, похоже, превосходит Google Now, Cotrana и Siri

Время на прочтение1 мин
Количество просмотров21K
Hound — проект персонального ассистента от разработчиков SoundHound, приложения, схожего по функционалу с Shazam. Проект находится в разработке уже 9 лет, и, похоже, не зря. На официальный канал проекта на Youtube недавно было загружено видео с впечатляющей демонстрацией возможностей приложения.


Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии18

ООН причислила шифрование и анонимность в интернете к правам человека

Время на прочтение2 мин
Количество просмотров47K
image

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

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

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

Различные агентства и главы государств неоднократно высказывались в том ключе, что современные средства шифрования позволяют террористам и преступникам уходить от ответственности и затрудняют работу спецслужб.
Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии34

Приемы при проектировании архитектуры игр

Время на прочтение11 мин
Количество просмотров147K
К сожалению, нигде нет более менее полной публикации на тему проектирования архитектуры в играх. Есть отдельные статьи на конкретные темы, но нигде все это вместе не собрано. Каждому разработчику приходится самостоятельно по крупицам собирать подобную информацию, набивать шишки. Поэтому решил попробовать собрать часть из этого воедино в данной статье.

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

В публикации рассматриваются следующие темы:
  • Наследование VS компоненты
  • Сложные иерархии классов юнитов, предметов и прочего
  • Машины состояний, деревья поведений
  • Абстракции игровых объектов
  • Упрощение доступа к другим компонентам в объекте, сцене
  • Сложные составные игровые объекты
  • Характеристики объектов в игре
  • Модификаторы (баффы/дебаффы)
  • Сериализация данных

Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии30

Вы неправильно пишете животных

Время на прочтение5 мин
Количество просмотров381K
Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво.


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Всего голосов 442: ↑438 и ↓4+434
Комментарии352

N+4 полезных книг

Время на прочтение5 мин
Количество просмотров81K


Привет! В посте блиц-обзор книг, которые будут полезны IT-специалистам, бизнесменам и тем, кто просто любит читать интересные технические вещи. Рядом с каждой – пояснения, чем оно может быть нужно. Этот обзор, в отличие от других ежегодных, более технически-прикладной.

Начнём со «Справочника по инженерной психологии» Вудсона и Коновера.

«Справочник по инженерной психологии» — Вудсон, Коновер


Книга о том, какие бывают кнопки и рычаги, как на них нажимают люди. И как проектировать так, чтобы люди работали с системой эффективно. Радует тем, что рассматривает пользователя как базовую систему ввода-вывода, замеряя его среднюю скорость передачи информации (около 20 бит в секунду на кнопочные интерфейсы), скорости ввода и вывода.
Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии8

Кофе как источник вдохновения

Время на прочтение9 мин
Количество просмотров23K

В один прекрасный день захотелось самому себе дома делать эспрессо. Кофе играет важную роль в поддержании моей работоспособности. Речь идет скорее о вкусе напитка и привычке попивать кофе во время размышлений, чем о волшебно-бодрящем действии кофеина. Долгое время я варил кофе в турке и горя не знал. Ну как не знал. Не знал, пока не пришел черед действительно сложного и напряженного проекта. Сразу выяснилось — одной чашки маловато для поддержания достаточного уровня производительности. Душа требовала около трех порций в день.

Вот тут-то и начались сложности. Ничем типа «фууу растворимый кофе» я никогда не болел. Периоды этого нелюбимого многими суррогата и натурального кофе совершенно безболезненно чередовались в моей жизни ранее, но вечно продолжаться так не могло. Оказалось, что если пить растворимый кофе по несколько чашек в день, от него реально начинает тошнить. С заварным дела обстояли не лучше…
Читать дальше →
Всего голосов 52: ↑40 и ↓12+28
Комментарии114

Указатели, ссылки и массивы в C и C++: точки над i

Время на прочтение10 мин
Количество просмотров621K
В этом посте я постараюсь окончательно разобрать такие тонкие понятия в C и C++, как указатели, ссылки и массивы. В частности, я отвечу на вопрос, так являются массивы C указателями или нет.

Обозначения и предположения


  • Я буду предполагать, что читатель понимает, что, например, в C++ есть ссылки, а в C — нет, поэтому я не буду постоянно напоминать, о каком именно языке (C/C++ или именно C++) я сейчас говорю, читатель поймёт это из контекста;
  • Также, я предполагаю, что читатель уже знает C и C++ на базовом уровне и знает, к примеру, синтаксис объявления ссылки. В этом посте я буду заниматься именно дотошным разбором мелочей;
  • Буду обозначать типы так, как выглядело бы объявление переменной TYPE соответствующего типа. Например, тип «массив длины 2 int'ов» я буду обозначать как int TYPE[2];
  • Я буду предполагать, что мы в основном имеем дело с обычными типами данных, такими как int TYPE, int *TYPE и т. д., для которых операции =, &, * и другие не переопределены и обозначают обычные вещи;
  • «Объект» всегда будет означать «всё, что не ссылка», а не «экземпляр класса»;
  • Везде, за исключением специально оговоренных случаев, подразумеваются C89 и C++98.


Указатели и ссылки


Указатели. Что такое указатели, я рассказывать не буду. :) Будем считать, что вы это знаете. Напомню лишь следующие вещи (все примеры кода предполагаются находящимися внутри какой-нибудь функции, например, main):

int x;
int *y = &x; // От любой переменной можно взять адрес при помощи операции взятия адреса "&". Эта операция возвращает указатель
int z = *y; // Указатель можно разыменовать при помощи операции разыменовывания "*". Это операция возвращает тот объект, на который указывает указатель

Читать дальше →
Всего голосов 70: ↑48 и ↓22+26
Комментарии73

Аннотация к «Effective Modern C++» Скотта Майерса. Часть 2

Время на прочтение18 мин
Количество просмотров23K
Продолжение предыдущего поста.

image

В этой части мы будем рассматривать не столько технические изменения в С++, сколько новые подходы к разработке и возможности которые дают новые средства языка. Предыдущий пост был с моей точки зрения просто затянувшимся вступлением, тогда как здесь можно вволю подискутировать.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии54

2D система освещения для Unity3D, работающая на GPU

Время на прочтение5 мин
Количество просмотров34K


Всем привет. Как известно, Unity3D отсутствует поддержка освещения для 2D игр. В Asset Store можно найти такую систему, но у неё есть один недостаток — она работает на CPU и потребляет весьма много ресурсов (64-4096 рейкастов за кадр на каждый источник света). Поэтому я решил сделать своё освещение, производительности которого хватило бы для мобильных устройств. Для этого вычисления были перенесены на GPU. Получилось что-то похожее свет Terraria или Starbound.
Под катом демо, описание работы и куча картинок
Всего голосов 49: ↑41 и ↓8+33
Комментарии20

«Галоп пикселя — часть первая» — базовые понятия, этапы взросления, прикладные упражнения

Время на прочтение42 мин
Количество просмотров271K


«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)
«Галоп пикселя», часть VI — Анимация персонажей. Бег (линк)

Всем хорошо известно, как мейнстрим подстегивает появление публикаций, связанных с тем, что популярно «на этой неделе». Последние полгода я часто натыкался на статьи «знакомство с пиксель-артом». Начинались они, как правило, с перечисления возможностей определенного софта. Однако за вычетом вопроса выбора программы и беглого перечисления известных фактов ни на йоту не приближали читателя к пониманию того, как этот пиксель-арт готовить. Именно этим досадным упущением мне хотелось бы заняться на первых же страницах 2015-года.

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

Материал разделен на несколько публикаций в виду объема текста и изображений. Каждая статья имеет свою степень сложности, однако, все из них наглядны и могут быть использованы как руководство к действию.


Лопатить пиксели
Всего голосов 190: ↑185 и ↓5+180
Комментарии86

Литературно-фантастические новинки 2014 года. Чем пополнить домашнюю библиотеку фантастики

Время на прочтение5 мин
Количество просмотров83K


Мы уже давно хотели сделать подобный пост, но всё ждали подходящего случая. И вот он подвернулся — Новый год, время подведения всевозможных итогов и создания рейтингов. И мы решили вспомнить о вечном — о фантастической литературе. Вряд ли найдётся среди нас хоть кто-то, кто не любит фантастику. Какой же айтишник не хранит в душе, в укромном уголке, воспоминания о книгах, которые когда-то потрясли его воображение своими вымышленными историями?!

И если в суете будней вы подзабросили чтение книг, то это вы зря. Высокие технологии пока не задушили писательское ремесло (надеемся, этого и не произойдёт), и ежегодно выходит немало интересных книг, достойных того, чтобы выкроить полчаса-час в день на чтение. Быть может, эти книги станут для вас некой отправной точкой. Кстати, в конце ноября теперь уже прошлого года Урсула Ле Гуин сказала:

«Наступают трудные времена, когда мы будем нуждаться в голосах писателей, которые смогут предложить альтернативы нашей сегодняшней жизни. Которые сквозь наше пронизанное страхом общество и навязчивые технологии смогут увидеть другие виды бытия, и, может быть, даже дадут нам надежду. Мы будем нуждаться в писателях, поэтах и мечтателях, помнящих о свободе реалистах».

Читать дальше →
Всего голосов 67: ↑51 и ↓16+35
Комментарии45

Курс пиксель-арта 6

Время на прочтение4 мин
Количество просмотров60K
Это перевод публикации «Les Forges Pixel Art Course».

Часть 1: Правильные инструменты
Часть 2: Линии и кривые
Часть 3: Перспективы
Часть 4: Тень и свет
Часть 5: Палитры цветов
Часть 6: Сглаживание
Часть 7: Текстуры и размытие
Часть 8: Мир тайлов

Часть 6: Сглаживание (Anti-aliasing)


Где весь ваш пиксель-арт становится красивым. Или нет. На самом деле это зависит от того, насколько ужасен он был прежде.
image
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии4

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность