Pull to refresh
21
0
Александр @apah

Пользователь

Send message

Ищем сокровища в исходном коде Aladdin

Reading time34 min
Views36K
image


На момент своего выхода в 1993 году Disney’s Aladdin на Sega Genesis (или Mega Drive, если в начале 90-х вы жили с другой стороны лужи) была удивительно красивой игрой.

Благодаря использованию технологии, которая позже стала известной, как Digicel, правильному выбору промежуточного ПО и впечатляющему таланту авторов Aladdin смогла выделиться на фоне других игр Genesis той эпохи. Красивая нарисованная от руки графика Aladdin установила новую планку качества для того, чего можно добиться на «железе» Genesis. Это стало возможным не с помощью особенно интересных растровых эффектов или тайных аппаратных приёмов, а благодаря сочетанию эффектной графики, дизайна и правильно выбранной технологии.

Эта уникальная смесь графики и технологий стала основной причиной, позволившей игре Aladdin занять особое место в истории видеоигр. Поэтому мне так радостно было найти архив с полным исходным кодом игры в коллекции Video Game History Foundation! Кроме бесценного источника данных, этот архив является для меня отличной возможностью создать стандарты для сохранения исходного кода, отслеживания зависимостей инструментов и многих других процессо-ориентированных аспектов в VGHF.

Математические основы биткойн-блокчейна

Reading time5 min
Views64K
Сегодня биткойн продолжает набирать популярность, а индустрия разрабатывать все новые приложения для работы с криптовалютой. Одной из причин такой популярности является строгая математическая база, на которой строится биткойн.

Благодаря этому система функционирует в условиях полного отсутствия доверия между участниками сети, исключая воздействие человеческого фактора.

Поэтому в сегодняшней статье мы бы хотели поговорить о математических основах биткойн-блокчейна — эллиптических кривых, ECDSA и ключах.

Читать дальше →

DevOps в Сбербанк-Технологиях. Инструментальный стандарт

Reading time18 min
Views33K

В этой статье пойдет речь об организации инструментального стека DevOps на примере Сбербанк-Технологий и ППРБ. Статья предназначена для инженеров по автоматизации инфраструктуры, которым необходима объективная оценка структуры работ по внедрению DevOps — и для всех, кто хочет ознакомиться с их работой.

Читать дальше →

Серьезная уязвимость в популярной библиотеке шифрования подрывает безопасность миллионов крипто-ключей

Reading time3 min
Views24K
image

Изображение: crocs.fi.muni.cz

Международная группа исследователей информационной безопасности из Великобритании, Словакии, Чехии и Италии обнаружила критическую уязвимость в популярной библиотеке шифрования RSA Library v1.02.013 от Infineon. Ошибка в алгоритме для генерации простых чисел RSA, делает сгенерированные с помощью библиотеки Infineon ключи шифрования подверженными факторизации — это позволяет злоумышленникам раскрывать секретную часть ключа.

Уязвимая библиотека применяется для обеспечения безопасности национальных ID-карт в нескольких странах, а также во многих популярных программных продуктах, используемых как государственными органами, так и бизнесом.
Читать дальше →

Цветы, муха и хорошо отрепетированное случайное машинное обучение

Reading time11 min
Views6K
В предыдущей серии я пытался сделать из мухи разумное существо. Коротко — не вышло. Муха упорно не хотела учиться.



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

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

Обучение проходило кое-как, результата не было. Затем, оставив попытки обучения по уважительным причинам (как то — вечер субботы, ночь и утро воскресенья), я все же думал, что делать дальше. Какие-то возможные решения были намечены в конце первой статьи, с них и продолжил.
Читать дальше →

За счет чего Tarantool такой оптимальный

Reading time18 min
Views25K
Денис Аникин

Аникин Денис ( danikin, Mail.Ru)


Доклад будет посвящен Tarantool. Я всегда рассказывал про use case, про что-то такое, что видит пользователь. Сегодня буду больше рассказывать про внутренности.

Когда я первый раз увидел Tarantool, когда я узнал его бенчмарки, какая у него производительность, то мне это не то, чтобы показалось подозрительным, потому что все-таки я уже до этого программировал больше чем 10 лет и примерно понимал, что можно выжать из железа при оптимальном программировании, при оптимальном коде. Но все равно мне это показалось подозрительным — как так получается, что он такой быстрый? Т.е., условно, если все базы данных могут работать со скоростью в лучшем случае в десятки тысяч запросов в секунду, а Tarantool — до сотен тысяч и вплоть до миллиона.

Поэтому, прежде чем начать применять его в продакшне, в Почте mail.ru и в Облаке, я все очень внимательно изучил и выяснил, как Tarantool устроен внутри, и что его делает таким оптимальным. И я подозреваю, что, наверное, у других пользователей Tarantool тоже есть такое же подозрение — что-то он какой-то слишком быстрый, и как-то это подозрительно…

Осторожно! Злая собака! Или как укротить форму регистрации

Reading time6 min
Views14K


Сталкивались ли вы с ситуацией, когда не смогли вспомнить пароль для входа в интернет-магазин? Часто ли вас утомляла необходимость заполнять не нужные, на ваш взгляд, поля? Раздражали звонки оператора, который звонит не вовремя или наоборот, страх пропустить звонок? Меня вот часто.

Это привело меня к мысли, что формы регистрации в онлайн-магазинах и дальнейшее взаимодействие с ними, это зло в чистом виде. Я решила придумать способ, который, как мне кажется, намного облегчил бы жизнь интернет-шопера. Мое мини-исследование и рацпредложения, посвященные этой теме, подкатом.
Читать дальше →

Мониторинг всех слоев web проекта

Reading time14 min
Views20K
Николай Сивко

Николай Сивко ( NikolaySivko, okmeter.io)


Этот текст — расшифровка очень давнего, но не теряющего актуальности выступления Николая.

Я бы хотел поговорить о том, зачем, вообще, нам мониторинг, о содержательной части. Мотивация простая — если у нас ресурс лежит 1 минуту (HeadHunter), мы посчитали, что это затрагивает 30 тыс. пользователей днем в будни. Для сравнения — это 15 аудиторий HighLoad++ этого года. Олег говорил, что тут около 2000 человек, так это 15 таких аудиторий. Задача эксплуататоров, на мой взгляд, это не то, чтобы оптимизировать мониторинг, а то, чтобы их сайт работал. Т.е. бизнес-задачу решать. Какие задачи нужно решать?
Читать дальше →

Еще один пост «почему Agile не работает» (с картинками)

Reading time4 min
Views17K
image

Пару лет назад я встретился с родственником. Мой бедный двоюродный брат (генеральный директор страховой компании) продался Agile Silver Bullet и сильно пожалел. Он сказал что-то вроде:
Это надувательство! Мы изменили весь рабочий процесс. Мы пригласили консультантов. Мы наняли этих мастер-PMов. И ничего не работает! Нет никакого результата. Нет никакой ответственности. Все, что я получаю — это отмазки.
Я забыл, как я ответил, но я знаю, как бы я ответил сегодня. Я бы нарисовал несколько картинок и даже не упомянул бы слово Agile. Существует несколько ключевых концепций, о которых мне нужно будет ему сообщить.
Читать дальше →

Коллективная работа и электронный документооборот. Опыт обучения в университете

Reading time6 min
Views6.2K
Последние десять дней Хабр с подачи aleshqqa1337 обсуждает ИТ-образование. Публикуем заметку преподавателя, работающего в техническом вузе, о том, как разрабатывалась программа новой дисциплины «Системы электронного документирования и коллективной работы», по каким критериям выбиралось ПО для обучения и какие задания выполняют студенты.

Автор — Стремнев Александр Юрьевич, к.т.н., доцент кафедры информационных технологий, Белгородский государственный технологический университет им. В.Г. Шухова.


Читать дальше →

О выборе структур данных для начинающих

Reading time18 min
Views181K
image

Часть 1. Линейные структуры


Массив


Когда вам нужен один объект, вы создаёте один объект. Когда нужно несколько объектов, тогда есть несколько вариантов на выбор. Я видел, как многие новички в коде пишут что-то типа такого:

// Таблица рекордов
int score1 = 0;
int score2 = 0;
int score3 = 0;
int score4 = 0;
int score5 = 0;

Это даёт нам значение пяти рекордов. Этот способ неплохо работает, пока вам не потребуется пятьдесят или сто объектов. Вместо создания отдельных объектов можно использовать массив.

// Таблица рекордов
const int NUM_HIGH_SCORES = 5;
int highScore[NUM_HIGH_SCORES] = {0};

Будет создан буфер из 5 элементов, вот такой:



Заметьте, что индекс массива начинается с нуля. Если в массиве пять элементов, то они будут иметь индексы от нуля до четырёх.
Читать дальше →

Синдром самозванца

Reading time19 min
Views81K

«Как часто вы ощущаете синдром самозванца?
Ежедневно / Каждую неделю / Раз в месяц / Никогда»

В апреле 2016 года Джессика Баркер провела в Твиттере опрос на тему, часто ли специалисты по информационной безопасности сталкиваются с «синдромом самозванца». Результаты этого опроса легли в основу доклада Джессики на SteelCon 2016.

Вряд ли один этот твит можно квалифицировать как полноценное исследование, однако в качестве беглого анализа он сгодится. Так вот, опрос показал, что 84% безопасников ощущают данный синдром не реже раза в месяц. Одно это позволяет классифицировать его как одну из наиболее актуальных психологических проблем, с которыми можно столкнуться в IT.

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

Попробуем разобраться в проблематике под катом.
Читать дальше →

Взлом компьютера за 3 секунды. Делаем USB-уточку с нуля на Arduino

Reading time5 min
Views182K
Начнём с традиционного «Этот материал представлен только в образовательных целях». Если вы используете эту информацию для взлома HBO и выпуска следующего сезона «Игры престолов» бесплатно на YouTube, ну… здорово. В том смысле, что я никак не поощряю подобное поведение.

Если не знаете, что такое «резиновая уточка» (USB Rubber Ducky), это устройство, которое сделал Hak5, на фото. Оно выглядит и ведёт себя как обычная флешка, но её можно запрограммировать на очень быстрый ввод клавиш с клавиатуры. «Уточка» способна взломать любую систему за несколько секунд. Единственный недостаток — вам понадобится физический доступ к компьютеру. И ещё она стоит $50, вот почему я написал эту статью.

Мы используем 5V Adafruit Trinket и кабель microUSB — вот и всё, что нам понадобится.
Читать дальше →

Книга «Python для сложных задач: наука о данных и машинное обучение»

Reading time13 min
Views47K
imageПривет, Хаброжители! Данная книга — руководство по самым разным вычислительным и статистическим методам, без которых немыслима любая интенсивная обработка данных, научные исследования и передовые разработки. Читатели, уже имеющие опыт программирования и желающие эффективно использовать Python в сфере Data Science, найдут в этой книге ответы на всевозможные вопросы, например: как считать этот формат данных в скрипт? как преобразовать, очистить эти данные и манипулировать ими? как визуализировать данные такого типа? как при помощи этих данных разобраться в ситуации, получить ответы на вопросы, построить статистические модели или реализовать машинное обучение?

Ниже под катом обзор книги и отрывок «Гистограммы, разбиения по интервалам и плотность»
Читать дальше →

DevOps сейчас — как version control десять лет назад, скоро все там будем

Reading time9 min
Views26K
Можно бесконечно спорить о понятии «DevOps» — вроде и вакансии есть, и должности, и инструкции, и KPI… Вот только я по-прежнему постоянно вижу совершенно разное восприятие этого понятия между бизнесом, админами и разработчиками. Первые воспринимают DevOps как методологию, вторые — как набор инструментов для автоматизации рутины, а третьи — как набор инструментов для деплоя. В чем-то правы все.

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


Читать дальше →

20 приёмов работы в командной строке Linux, которые сэкономят уйму времени

Reading time9 min
Views243K
Тема полезных приёмов работы в терминале Linux неисчерпаема. Казалось бы — всё устроено очень просто: приглашение оболочки, да введённые с клавиатуры команды. Однако, в этой простоте кроется бездна неочевидных, но полезных возможностей. Именно поэтому мы регулярно публикуем материалы, посвящённые особенностям работы в командной строке Linux. В частности, сегодня это будет перевод статьи, автор которой увлечён экономией времени через повышение продуктивности труда.



Если вас интересует работа в командной строке Linux — вот некоторые из наших материалов на эту тему:

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

Как мы обманываем клиентов. Софт как Сервис

Reading time8 min
Views21K
«Можно обманывать некоторых людей все время, всех людей некоторое время, но невозможно обманывать всех людей все время». Авраам Линкольн

Самое недооцененное, на чем может заработать каждая компании — это Сервис. Раза в два можно увеличить оборот, но придется быть честным до конца. Хитрить со всеми все время все равно не получится.

Свежая история, где клиент чувствует, что остался в дураках:
Заказал три ящика минералки.
Ошиблись и привезли три бутылки вместо трех ящиков.
Развели руками, увезли три бутылки, сказали, что на складе что-то пошло не так.
Никаких действий от магазина.
Позвонил, в поддержку. Удивились, посмеялись, сообщили, что составили запрос, специалист изучит и вынесет решение.
Через день пришло письмо с извинениями и скидкой 100 руб. на следующий заказ.
Написал в ответ “А может доставите мне мой заказ?”
Без реакций.

А экономика сервиса работает так:
Заказал три ящика минералки.
Ошиблись и привезли три бутылки.
Извинились. И через два часа привезли четыре ящика. Один подарили.
Делать заказы тут стал чаще.
Рассказал в течении месяца историю еще пяти знакомым, трое попробовали, один стал клиентом.
Потратили на меня меньше 600 руб., за год заработали от 30 000 руб.

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

В этой статье несколько ключевых подходов к сервису при разработке софта. Опыт каждого достался нам очень дорого. Самый дорогой — второй после ката.
Читать дальше →

Алиса. Как Яндекс учит искусственный интеллект разговаривать с людьми

Reading time8 min
Views164K
В будущем, как нам кажется, люди будут взаимодействовать с устройствами с помощью голоса. Уже сейчас приложения распознают точные голосовые команды, заложенные в них разработчиками, но с развитием технологий искусственного интеллекта они научатся понимать смысл произвольных фраз и даже поддерживать разговор на любые темы. Сегодня мы расскажем читателям Хабра о том, как мы приближаем это будущее на примере Алисы – первого голосового помощника, который не ограничивается набором заранее заданных ответов и использует для общения нейронные сети.



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

Читать дальше →

Обзор недорогого смартфона с хорошей для этой цены камерой. Изучаем Xiaomi Mi 5X (он же A1)

Reading time5 min
Views23K
Не так давно компания Xiaomi начала (поддавшись тренду) ставить в свои смартфоны действительно неплохие сдвоенные камеры. При этом (что ценно) по сравнению с корейцами, устанавливает одни и те же модули не только в топы, но и в относительно бюджетные линейки, в том числе в Xiaomi Mi 5X, который также выпускается с «чистым андроидом» под маркой Xiaomi A1. Стоимость его в варианте с 32 Гбайт составляет на момент публикации около 220$, а в варианте с 64 Гбайт — около 250$ (смотрите актуальные цены на Xiaomi Mi 5X 32 Гбайт, Xiaomi Mi 5X 64 Гбайт, Xiaomi Mi A1 64 Гбайт серебристый, и Xiaomi Mi A1 64 Гбайт черный.


Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity