Search
Write a publication
Pull to refresh
5
0
Tolkachev Konstantin @kasperos

ИТ: администрирование, рем., диагн., и т.д. и т.п.

Send message

Построить, накопить, напасть, повторить: история стратегий в реальном времени

Reading time33 min
Views66K
Пока мы ждём выхода этой осенью новой Age of Empires, давайте вспомним взлёты и падения жанра RTS.



Расцвет и упадок стратегий в реальном времени был очень странным. Они возникали постепенно, из экспериментов, в которых разработчики пытались объединить скорость и интересность экшн-игр с обдуманностью и глубиной стратегий. Внезапно жанр получил взрывную популярность во второй половине 90-х, а потом так же быстро её потерял (за исключением StarCraft) в середине 2000-х, на фоне стагнации и изменения игрового рынка. Однако одной из наиболее популярных соревновательных игр в мире является RTS, а три из четырёх оставшихся стали ответвлением от жанра стратегий в реальном времени.

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

rusEfi: итоги 2014 года и планы

Reading time3 min
Views41K
В конце лета у открытого блока управлением двигателем внутреннего сгорания rusEfi появилась первая интегрированная плата — Frankenso 0.1, ложкой дёгтя тогда была парочка перепутанных трасс.

image

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

Как мы банкоматы от подрыва спасали

Reading time4 min
Views46K
Дело было вечером, делать было нечего… решили мы банкомат взорвать исследовать. Не настоящий конечно, а тот, что на фото. Ну как… банкомат-то настоящий, но давно списанный и выступал для нас подопытным кроликом. Низкий поклон тем, у кого получается их грабить: я его и болгаркой пилил, и дрелью сверлил, и кувалдой долбил, и поджигал – ничего не берет, крепкий зараза, а современные и вовсе понадежнее будут.

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

Сети для самых матёрых. Часть тринадцатая. MPLS Traffic Engineering

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

Однако сеть linkmeup выросла до размеров федерального оператора. Возможность управления трафиком и быстрого восстановления сервисов стали очень важным требованием в MPLS-сети.
Пора внедрять Traffic Engineering.



Содержание выпуска:
  • Предпосылки появления MPLS TE
  • Принципы работы MPLS TE
  • Способы направления трафика в TE-туннели
  • Способы управления туннелями

    • Метрики
    • Ограничения по полосе пропускания
    • Приоритеты туннелей
    • Explicit-Path
    • SRLG
    • Affinity и Attribute-Flag

  • Обеспечение надёжности и сходимость

    • Path Protection
    • Local Protection — Fast ReRoute
  • MPLS QoS

    • MPLS TE IntServ
    • MPLS TE DiffServ
    • Режимы работы MPLS QoS
  • Упрощение настройки туннелей
  • Заключение
  • Полезные ссылки




Зачем вообще может понадобиться инжиниринг трафика?

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

Padding Oracle Attack: криптография по-прежнему пугает

Reading time6 min
Views15K

Эту уязвимость чинят уже пятнадцать лет


В хабрапереводе текста четырёхгодовалой давности «Padding Oracle Attack или почему криптография пугает» была подробно описана атака на режим шифрования CBC. В этом режиме каждый очередной блок открытого текста xor-ится с предыдущим блоком шифротекста: в результате каждый блок шифротекста зависит от каждого блока открытого текста, который был обработан к тому моменту.

Чтобы пропустить исходное сообщение (произвольной длины) через CBC-шифр, к нему дописывается MAC (хеш для проверки целостности, обычно 20-байтный SHA-1) и затем padding, чтобы дополнить открытый текст до целого числа блоков (обычно 16-байтных):


Padding («набивка») состоит из одинаковых байтов, на единицу меньших своей длины: (0) или (1,1) или (2,2,2) или т.п.
Таким образом, получатель шифротекста должен
  1. расшифровать все его блоки;
  2. прочитать последний байт последнего блока, чтобы определить длину набивки и, соответственно, позицию MAC в открытом тексте;
  3. проверить корректность набивки и MAC.

В 2002 г. французский криптограф Серж Воденэ обнаружил в CBC уязвимость к атакам типа «padding oracle»:
Читать дальше →

Постъядерный караван в 35 килобайт

Reading time12 min
Views21K
35 килобайт минифицированного кода на обычном JavaScript, семь городов, пустоши, радиоактивные гекконы, съедобные кактусы, встречные караваны и бандиты. Что это? Это небольшая игра, которая запускается в браузере. Ее принципы довольно просты для повторения и в самой примитивной версии ее можно воссоздать, наверное, на любом устройстве, если там есть устройство вывода и генератор случайных чисел. Но сегодня я хочу рассказать, как я реализовал ее для современных браузеров.

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

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

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

Как в IT-компании запустить патентный процесс

Reading time3 min
Views3.1K


В декабре 2015 года американский дистрибьютор с оборотом $43 млрд. Ingram Micro купил часть бизнеса Parallels, Odin Automation — платформу для дистрибуции облачных сервисов. Кроме разработчиков и нескольких ключевых патентов на сам продукт, Ingram Micro получил в наследство еще и зачатки «культуры патентования», которая впоследствии расцвела и накрыла защитной кроной все новые разработки. О том, как росло это «дерево» и чем его «поливали» я расскажу в этом посте.
Читать дальше →

Как работает JS: управление памятью, четыре вида утечек памяти и борьба с ними

Reading time18 min
Views96K
[Советуем почитать] Другие 19 частей цикла
Часть 1: Обзор движка, механизмов времени выполнения, стека вызовов
Часть 2: О внутреннем устройстве V8 и оптимизации кода
Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними
Часть 4: Цикл событий, асинхронность и пять способов улучшения кода с помощью async / await
Часть 5: WebSocket и HTTP/2+SSE. Что выбрать?
Часть 6: Особенности и сфера применения WebAssembly
Часть 7: Веб-воркеры и пять сценариев их использования
Часть 8: Сервис-воркеры
Часть 9: Веб push-уведомления
Часть 10: Отслеживание изменений в DOM с помощью MutationObserver
Часть 11: Движки рендеринга веб-страниц и советы по оптимизации их производительности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 13: Анимация средствами CSS и JavaScript
Часть 14: Как работает JS: абстрактные синтаксические деревья, парсинг и его оптимизация
Часть 15: Как работает JS: классы и наследование, транспиляция в Babel и TypeScript
Часть 16: Как работает JS: системы хранения данных
Часть 17: Как работает JS: технология Shadow DOM и веб-компоненты
Часть 18: Как работает JS: WebRTC и механизмы P2P-коммуникаций
Часть 19: Как работает JS: пользовательские элементы
В третьем материале из серии, которая посвящена особенностям работы JavaScript, мы поговорим о памяти. Эта тема крайне важна, однако, разработчики нередко игнорируют её. В основе этой ситуации лежат разные причины, среди которых — всё возрастающая сложность современных языков программирования и прогресс в развитии средств автоматического управления памятью. Помимо рассказа о модели памяти JS, мы поделимся с вами несколькими советами, направленными на борьбу с утечками памяти.



По словам автора статьи, в компании SessionStack используют приёмы предотвращения утечек памяти для того, чтобы не допустить неоправданно высокого потребления памяти в веб-приложениях, в которые интегрированы их разработки.
Читать дальше →

Руководство по материалам электротехники для всех. Часть 2

Reading time12 min
Views46K
Продолжение руководства по материалам электротехники. В этой части продолжаем разбирать проводники: Железо, Золото, Никель, Вольфрам, Ртуть.
image

Добро пожаловать под кат (ТРАФИК)
узнать о материалах

Руководство по материалам электротехники для всех. Часть 1

Reading time15 min
Views119K
Привет гиктаймс! Я решил опубликовать по частям свое руководство по материалам, используемым не только в электротехнике, но и вообще в технике, в том числе самодельщиками. С описанием, примерами применения, заметками по работе. Руководство написано максимально просто, и будет понятно всем, от школьника до пенсионера.

В этой части начинаем разбирать проводники — Серебро, Медь, Алюминий.

image

Добро пожаловать под кат (ТРАФИК)
узнать о материалах

Прокачиваем домофон протоколом MQTT для управления с телефона

Reading time4 min
Views129K
Всем привет. Расскажу немного про свою последнюю междуделку — доработку домофона WiFi-модулем NodeMCU. Заранее прошу прощения за выбор модуля — всех уже, наверное, достала эта ESP’шка…

Конечно, работу ClusterM с его автоответчиком никому не переплюнуть, но такой функционал я считаю излишним. Мне, с рождением дочки, лишь понадобилось бесшумно открывать домофон гостям, чтобы не стоять у трубки и не ждать входящего звонка, который наверняка разбудит малую. Да и себе иногда легче открыть дверь с телефона, нежели лезть за ключами и прикладывать таблетку туда-сюда, чтобы она сработала (у меня очень сильно тупит панель в подъезде). Проект получился небольшой, так что в статье тоже не так много букв, зато есть фотографии.
Читать дальше →

Программирование и обмен данными с «ARDUINO» по WI-FI посредством ESP8266 Часть Первая

Reading time23 min
Views81K
Как и многие другие самоделкины, я регулярно использую микроконтроллеры AVR для всяких разных любительских поделок. А благодаря концепции «Arduino» эти поделки теперь приобретают еще и элегантный вид. Действительно, за какие-то 300-400 рублей мы получаем миниатюрную многослойную плату с маской, шелкографией и с полностью разведенной на ней периферией для микроконтроллера (причем в SMD исполнении!). Я уже не говорю о всевозможных подключаемых модулях этой же «Arduino» серии: датчиках, контролерах, дисплеях и целых наборов, так нужной нам дополнительной периферии. И опять же всё также недорогих и в прекрасном исполнении. Практически уже нет необходимости, что-то разводить и допаивать на «коленке».­­­­­­­­­


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

1: современно, интернет вещей же!

2: беспроводной роутер есть в каждой квартире, регистрируй в домашней сети свои устройства и вуаля!

3: ваши поделки осуществляют революционный скачок в своём развитии; мало того, что их можно программировать на расстоянии, они теперь ещё и сами могут общаться с окружающим их миром: электронные часы самостоятельно берут точное время с часовых NTP-серверов, исполнительные устройства управляются с другого конца города или страны, регистрирующие девайсы сохраняют накопленные данные в облако и т.д. и т.п.

4: есть замечательная серия микросхем ESP8266 на которой не очень легко всё это реализовать.
Читать дальше →

Сударь, ваша команда — не команда

Reading time5 min
Views57K
За свои 12 лет работы в сфере разработки ПО, мне посчастливилось поработать в команде только два раза. Хотя я сменил порядка десяти мест работы. Но попробовав раз, ем и сейчас… Т.к. я не жадный, и готов своими достижениями делиться с сообществом, то решил я предпринять попытку вывести из равновесия неумных руководителей, которые до сих пор не осознали важность команды, а также тех руководителей, которые профессионально занимаются самообманом — мол, они строят команду, а на деле — тьфу, а не команда.
Читать дальше →

«Магическая константа» 0x5f3759df

Reading time9 min
Views127K
В этой статье мы поговорим о «магической» константе 0x5f3759df, лежащей в основе элегантного алгоритмического трюка для быстрого вычисления обратного квадратного корня.

Вот полная реализация этого алгоритма:

float FastInvSqrt(float x) {
  float xhalf = 0.5f * x;
  int i = *(int*)&x;  // представим биты float в виде целого числа
  i = 0x5f3759df - (i >> 1);  // какого черта здесь происходит ?
  x = *(float*)&i;
  x = x*(1.5f-(xhalf*x*x));
  return x;
}

Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы

image

Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.

Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
Читать дальше →

Ideal OS: перезагрузка десктопных операционных систем (часть 1)

Reading time7 min
Views44K

Привет, Хабр! Представляю вашему вниманию перевод статьи Ideal OS: Rebooting the Desktop Operating System Experience автора Josh Marinacci.



TL;DR: В этой статье Я хочу показать что:


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

Синдром сухого глаза как частный случай дистрофических процессов (ВМД) и его друг — компьютер

Reading time4 min
Views52K
Количество диагнозов синдрома сухого глаза по миру растёт вместе с развитием технологий. Основные факторы: ухудшение атмосферного воздуха, в частности, близ промзон, кондиционированный воздух, побочные эффекты многих лекарственных средств, излучение светодиодов (особенно сверхъярких по синей части спектра, в т. ч. AMOLED-экранов и подобных).

Признаки заболевания: зуд, покраснение, усталость, сухость в области глаз и век. Причина— нарушение слёзопродукции.

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

«Я — первый оператор узла Tor под уголовным преследованием и мы все следим, чтобы я стал последним»

Reading time9 min
Views56K
Накануне митинга «За свободный Интернет!» мы взяли интервью у математика Дмитрия Богатова, который был помещен на 3 месяца в СИЗО, а сейчас находится под домашним арестом по сути за то, что являлся оператором выходного узла сети Tor.

Подробно о самом деле и ходе следствия можно ознакомиться в следующих материалах:

Узник Тора
Таймлайн
Общественная кампания в поддержку Димы


Отчёт Backblaze по надёжности HDD: диски Enterprise выходят из строя чаще, чем потребительские модели

Reading time3 min
Views33K


Компания Backblaze опубликовала обновленную статистику надёжности жёстких дисков за II кв. 2017 г. Компания периодически меняет парк HDD и обновляет статистику, которую она впервые опубликовала в январе 2014 г.

Со времени предыдущего отчёта за I кв. 2017 года облачные хранилища Backblaze увеличились на 635 дисков, так что их общее количество достигло 83 151 штуки. Это не такое уже и значительное добавление. Для сравнения, в первом квартале база выросла более чем на 10 000 дисков. По сравнению с этим нынешние 635 «новичков» выглядят бледно. С другой стороны, уже сейчас мы можем подвести первые итоги по надёжности в том числе тех десяти тысяч HDD, которые были добавлены в первом квартале.

Backblaze отмечает, что прибавка в 635 HDD — это относительная цифра. В реальности вступил в строй 4921 новый накопитель, а вышли из строя 4286 старых диска. Они не сломались, просто Backblaze планомерно проводит миграцию дисков с низкой плотностью на диски с высокой плотностью. Кроме того, количество Enterprise-моделей HDD увеличено на 3595 штук и достигло 6054 дисков.

Итак, к статистике надёжности.
Читать дальше →

Лаборатория реактивного движения НАСА разрабатывает заводной вездеход для изучения Венеры

Reading time10 min
Views25K

Древняя технология вдохновила на создание будущего вездехода, способного годами работать при температуре в 500°C


image

Самый долгий промежуток времени, который космический аппарат смог продержаться на поверхности Венеры – 127 минут. 1 марта 1982 года советский зонд Венера-13 аккуратно спустился на парашюте и смог проработать чуть более двух часов благодаря тому, что все компоненты компьютера были спрятаны в герметичном титановом кожухе, предварительно охлаждённом на орбите. Температура на поверхности Венеры в среднем составляет 464 °C – это больше, чем на поверхности Меркурия (ближайшей к Солнцу планеты), и достаточно горячо для того, чтобы обычная электроника не смогла работать.

Не только температура делает Венеру неприятным местом для компьютеров – давление на поверхности составляет 90 атмосфер, что эквивалентно давлению на глубине в 900 м в земном океане. И если вас успокоит то, что дожди серной кислоты, зарождающиеся в верхних частях атмосферы Венеры, не достигают поверхности, то знайте, что там так темно (как в самый пасмурный день на Земле), что добыча солнечной энергии будет чрезвычайно неэффективной.

Учёные утверждают, что интеллект обезьян неправильно оценивали десятилетиями

Reading time4 min
Views48K

28-летний шимпанзе указывает на бананы вдали, глядя на человека с фотоаппаратом. Фото: Lisa A. Reamer

Сто лет назад разработчики тестов на интеллект были уверены, что создали адекватные правила измерения врождённых интеллектуальных способностей людей. К середине 20 века стало понятно, что на результаты этих тестов оказывают сильное влияние ненаследственные факторы, то есть окружение, текущее состояние человека и прочее. Поэтому отношение к тестам на IQ пересмотрели, так что они сейчас расцениваются как эффективный способ предсказания возможного интеллекта, а не как инструмент, который выявляет некую важную информацию об умственных способностях. Мы теперь точно знаем, что интеллектуальные показатели у людей являются производной от взаимодействия генов и окружающей среды. Так, обеднённая окружающая среда оказывает систематически вредное воздействие на умственное развитие.

Несмотря на все достижения науки об измерении интеллекта, даже самые престижные журналы продолжают печатать некорректные сравнения IQ человека и обезьяны, в которых заявляется, что социальный интеллект человеческих детёнышей, даже с 12-месячного возраста (!), по своей сути превосходит социальный интеллект наших ближайших родственников-гоминид, человекообразных обезьян. Группа учёных из Университета Сассекса, Университета Портсмута (оба — Великобритания) и Университета штата Джорджия (США) опубликовала анализ подобных сравнительных тестов IQ, где доказала, почему предыдущие научные исследования в этой области ставят человека и других гоминид в неравные условия, то есть некорректно сравнивает их интеллект, отдавая предпочтение человеку.
Читать дальше →

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Registered
Activity