Я уже делал серию постов об истории flash-игр (раз, два, три), а сейчас пришла пора рассказать как я сам оказался в этой индустрии.
Ещё после поступления в ИТМО я решил, что не мешало бы поизучать какую-то модную на тот момент технологию, и купил в переходе диск “Самоучитель по Flash MX”. А когда уже сносно программировал - захотелось сделать и свою игру. Писать какие-то аркады было не интересно, и я замахнулся аж на целый авиасимулятор (да, в программе для создания 2D анимаций). Но в целом у меня получилось! Геймплей был ужасен, графика ещё хуже, но были и воздушные бои, и даже миссии по уничтожению наземки. Игра была показана друзьям и заброшена на полку, но через пару месяцев я узнал про Newgrounds - это тогда была самая большая тусовка флешеров, куда все кому не лень выкладывали свои игры и мульты.
Читать далееКаждый раз, когда вы вылетаете из Хитроу, приземляетесь в аэропорту имени Кеннеди или пролетаете через любой крупный аэропорт, вы можете непреднамеренно оповещать инопланетные цивилизации, находящиеся на расстоянии до 200 световых лет, о существовании человечества. Новое исследование показывает, что радарные системы, обеспечивающие безопасность нашего неба, одновременно передают в дальний космос мощные сигналы, которые могут служить космической рекламой самого нашего существования.
Читать далееВ этой статье разбирем XSS уязвимость, обнаруженную в парсере Reddit, который при определенном условии (запланированных постах) не очищал гиперссылки. Уязвимость была не в живом контенте — она скрывалась в редакторе. Эта находка принесла $5000 вознаграждения.
Уязвимость за 60 секунд
Цель: Запланированные посты на Reddit
Вектор: Вредоносная гиперссылка, встроенная с использованием javascript
Триггер: Редактирование запланированного поста через интерфейс
Влияние: XSS на привилегированных пользователей (администраторов/модераторов) в один клик
Что такое продуктовое мышление и как его тренировать? Почему важно не просто понимать пользователя, а чувствовать его? Как не бояться неопределённости и строить решения, даже когда данных мало?
В этой главе — не очередной список фреймворков, а философия: взгляд на продукт как на систему, эмпатия как навык и честный разговор о том, что мы часто боимся не знать.
Да, будет и про CJM, и про юнит-экономику — но с фокусом на смыслы, а не на термины.
История культовой игры «Тетрис» берет свое начало в 1984 году и связана с именем советского программиста Алексея Пажитнова. Изначально перед ним стояла задача создать утилиту для проверки производительности советских компьютеров, а параллельно и стрессоустойчивость, и многозадачность операторов ЭВМ. Но вскоре разработка Алексея привлекла внимание коллег, которые увидели в ней своеобразное развлечение.
Несмотря на то что тетрис был советской разработкой, со временем с игрой смог познакомиться и весь мир, что в итоге привело к копированию и созданию отличных от оригинала вариантов тетриса. Привлекла внимание новая игра и японских разработчиков, которые под впечатлением в начале и середине 90-х создали немало тетрисов со своим японским колоритом и модифицированными правилами.
К чему это привело?
У игроков, регулярно играющих в классический тетрис, складываются определенные схемы, воспроизводя которые, они с легкостью добиваются успеха в игре. В свою очередь, японские тетрисы ломают привычные схемы и заставляют игроков думать немного или даже сильно по-другому. Как именно? Расскажу в этой статье!
Читать далееВсем привет! Меня зовут Григорий Дядиченко, я уже что-то разрабатываю на Unity десять лет. Давно ничего не писал, и тут собрался с силами и решил, что хочу написать про компьютерную графику. А точнее пройтись по её базе в контексте Unity. Если интересуетесь темой — добро пожаловать под кат!
Читать далееВидя рекламу «Как войти в IT» все шутят про попытки «выйти из АйТи».
Я решил провернуть этот фокус в реальности и почувствовать на собственной шкуре. Боль, унижение, катарсис — в литературном русском языке не найдётся столь ярких слов, что бы описать мой экспириенс. С такой дичью я не сталкивался даже работая эникейщиком в бухгалтерии библиотеки.
Пойти работать на завод...Новые нейронки появляются чуть ли не еженедельно и каждая борется за первенство в лидербордах. Но есть и другой способ оценить их — например, с помощью необычных тестов. Мы в beeline cloud подобрали креативные бенчмарки: от рисования птиц на велосипедах до игр в духе логических загадок.
Читать далееНедавно под одной из моих статей на Habr разгорелся спор («Как малому бизнесу автоматизировать продажи с минимальными вложениями на базе 1С»). Один читатель отметил, что за решение типовой задачи по 1С франчайзи запросил 4000 рублей в час, тогда как в другой облачной системе аналогичное действие обошлось бы в 500 рублей. Другой участник дискуссии возразил свое мнение касательно озвученной проблеме:
“Вы действительно считаете, что если задача решается за 5 минут, она должна стоить 333 рубля? Это как у врача: зашёл, получил диагноз за минуту, но платишь всё равно за приём”.
Этот пример оказался показательной иллюстрацией куда более широкой и глубокой темы: Должна ли стоимость ИТ‑услуг определяться временем, трудоёмкостью, квалификацией или ценностью результата?
Читать далееВ свое время релиз GTA III перевернул игровую индустрию, задав новый стандарт для игровой индустрии. Естественно, успех был настолько большим, что нашлось много студий, которые решили, что могут точно так же.
Ведь на первый взгляд у ранних частей 3D-вселенной GTA достаточно простая формула: нужен город, машины, NPC, которых можно убивать, и, главное, сюжет про криминал, который подается через миссии примерно одного и того же формата «доедь до места/убей врагов/доедь до места за определенное время/итп».
Понимание (ошибочное) простоты этой формулы породило целый пласт игр, которые со временем стали называть «клоны GTA», хотя номинально это были просто экшен-адвенчеры в открытом мире, но флер серии Rockstar и обидное клеймо потопило много подобных проектов, а иногда и целые студии. Насколько это заслуженно? Разберемся на нескольких примерах.
Читать далееПривет, Хабр! Мы продолжаем проверять на прочность пару одинаковых новеньких аккумуляторов 6СТ-62L производства ОАО «Тюменский аккумуляторный завод» путём многократного "кипячения" одного и недозаряда другого.
Есть мнение, что сульфатация кальциевых аккумуляторов необратима. Также есть мнение о губительности заряда при повышенном напряжении с выделением газов.
Настало время исследовать динамику воздействия этих факторов на свинцово-кислотные батареи путём всесторонних измерений.
Читать далееКак управлять предприятием с помощью MES
Согласно данным публикации Industry Week, использование программного комплекса MES приводит к увеличению прибыли предприятия в четыре раза. В статье мы рассматриваем детали программного комплекса MES и факторы, способствующие росту прибыли в производстве.
Что такое MES или как правильно управлять производством.
MES (Manufacturing Execution System) представляет собой систему, которая управляет производственными операциями и включает в себя комплекс программных и аппаратных средств. Она предназначена для эффективного выполнения задач производства, а также для отслеживания и контроля процессов на производственной линии.
Эта система обеспечивает повышение прибыльности и эффективности предприятия любого масштаба, предоставляя необходимую информацию и управляя производственными процессами. Она особенно важна для отраслей, таких как производство пищевых продуктов, медицинского оборудования, напитков, фармацевтики, аэрокосмической и оборонной промышленности, авиации и биотехнологий, где требования к прослеживаемости продукции очень строгие. Важно иметь определенные процедуры во время производства, их документирование и возможность легкого отзыва продукции, если это необходимо.
Функциональные задачи MES-систем
Системы управления производством, такие как системы управления производственными операциями, имеют обширный набор функций и охватывают почти все аспекты, процессы и объекты в производственной сфере. Среди основных функций, которые такое программное обеспечение выполняет:
Читать далееПривет, будущие инженеры и программисты! Сегодня мы погрузимся в мир алгоритмов и разберём одну очень крутую штуку — алгоритм Диница. Звучит сложно? Не переживайте, мы разберём его по полочкам, как конструктор LEGO, и вы поймёте, как он помогает решать реальные задачи.
Представьте, что у вас есть город, и по его дорогам едут машины. У каждой дороги есть своя пропускная способность — сколько машин может проехать по ней за час. Ваша задача — понять, сколько всего машин может проехать из одной точки города (например, от завода) в другую (например, до торгового центра) за час, используя все дороги. Это и есть задача о максимальном потоке!
Читать далееОднажды я столкнулся с проблемой, когда почти потерял коммерчески успешный пет-проект из-за устаревших резервных копий БД (ещё до того, как он стал коммерчески неуспешным). При этом, даже после частичного восстановления, все-таки потерял ~30% прибыли от проекта, много нервов и времени.
Это подтолкнуло меня на разработку своего открытого инструмента для бекапа PostgreSQL. С разными хранилищами, уведомлениями при сбоях и health check'ом. Собственно, о том, как я потерял деньги и затем разработал проект — хочу рассказать в статье ниже.
Читать далееВ этом дайджесте снова про фоновую работу в Android и обрезку Text в SwiftUI, про опыт внедрения Kotlin Multiplatform и как сделать любую задачу интересной, про акторы, структуры, программы раннего доступа, роботов Hugging Face и многое другое. Заходите!
Читать далееДа да, краниометрия не придумана нацистами, в подвалах гестапни. Краниометрия это часть краниологии. Ещё в 1700 - 1800 годах люди подметили факт - черепа животных и людей не абы какие, а явно укладываются в определённые наборы размеров, образно говоря от 100 до 120. Бывают патологии, когда колебания достигают от 93 до 128, но большая часть черепов животных уложится в определённый набор размеров. Для каждого вида он свой, но внутри вида - разбег размеров почти стабильный.
Собственно от большей части животных, через миллионы лет остаются именно части черепа и зачастую всю видовую принадлежность и внешность твари можно определить только по черепу или вообще по нескольким осколкам от всего скелета. Этим занимается антропология и палеонтология - измеряет все кости, измеряет все соотношения между всеми костями всех доступных организмов и получаются гомологические ряды - ряды похожих друг на друга животных. Если измерить одну мышку и её череп, это ничто, а если измерить сотни мышек, то внутри одного вида обязательно будут разные размеры черепов, причём в тех размерах, которые не зависят от возраста - кости уже выросли так и так, просто разные черепа.
Например тираннозавр. Металлические скульптуры черепов тираннозавров, наглядно демонстрирующие внутривидовое разнообразие этих животных.
Читать далееДаже позитрон и электрон в процессе аннигиляции превращаются в кинетическую материю двух гамма квантов представляющих собой возбуждение электрической материи.
Энергия каждого их этих квантов равна энергии покоя электрона или позитрона.
При этом энергия независимо от знака заряда частиц всегда положительна.
Теперь представим себе процесс, в котором два не очень энергичных кванта в момент рождения оказались на одной траектории. Квант на траектории это динамический объект.
Два объекта не могут занимать состояние со всеми одинаковыми параметрами. И эти два динамических объекта должны получить разные параметры. Наиболее подходящим для нашего случая считаем параметр — фаза возбуждения.
Одна линия возбуждения:
e — условный заряд в исходной системе.
Вторая линия возбуждения:
Такая конструкция не может взаимодействовать с зарядами и быть обнаружена по этому признаку.
Но материя никуда не исчезла.
Если теперь определить величину E2 , то
Эта запись аналогична следующей:
Умножим обе части на :
Теперь в канале возбуждения пульсирует некоторая энергия зависящая от первоначальной длины волны электрического возбуждения с частотой вдвое выше первоначальной частоты возбуждения в одном канале и вдвое меньшей длиной волны . Энергия пульсирует от нуля до 2, имея среднее значение 1.
Через релиденс (об этом термине написано в прошлой статье) нейтрино можно вычислить её скорость
Обычные средства вычисления не позволяют увидеть отличие от скорости света, хотя оно и есть.
Относительно превращения нейтрино из одного типа в другой (осцилляции) есть сомнения. Спин при превращениях изменяться не может. Нейтрино могут иметь спин ± ½.
Читать далееПишем свой алгоритм шифрования с помощью хеш-функции xxHash со скоростью 6.4 Гбит/с и обгоняем AES и DES (почти).
Читать далееПредставьте, что ваш продукт — это человек. Сначала он делает первые шаги, потом переживает подростковый кризис, учится на ошибках и, наконец, становится взрослым. Я расскажу, как дизайн помог нашему продукту вырасти — от первых набросков до зрелого решения.
Меня зовут Вера, я продуктовый дизайнер в KasperskyOS. Работаю над дизайном операционной системы тонкого клиента Kaspersky Thin Client, или коротко: KTC. Это небольшое устройство, которое подключается к удаленной рабочей среде и заменяет полноценный компьютер: пользователь получает доступ к удаленным системам, а все подключения и настройки контролирует администратор организации.
Дизайн сыграл во взрослении KTC важную роль. Конечно, у нас не все шло гладко — мы не раз ошибались, переосмысляли и переделывали. У нас были первые шаги, подростковый бунт и, наконец, время осознанности. Сейчас все расскажу.
Читать далееПредставьте, что ваш продукт — это человек. Сначала он делает первые шаги, потом переживает подростковый кризис, учится на ошибках и, наконец, становится взрослым. Я расскажу, как дизайн помог нашему продукту вырасти — от первых набросков до зрелого решения.
Меня зовут Вера, я продуктовый дизайнер в KasperskyOS. Работаю над дизайном операционной системы тонкого клиента Kaspersky Thin Client, или коротко: KTC. Это небольшое устройство, которое подключается к удаленной рабочей среде и заменяет полноценный компьютер: пользователь получает доступ к удаленным системам, а все подключения и настройки контролирует администратор организации.
Дизайн сыграл во взрослении KTC важную роль. Конечно, у нас не все шло гладко — мы не раз ошибались, переосмысляли и переделывали. У нас были первые шаги, подростковый бунт и, наконец, время осознанности. Сейчас все расскажу.
Читать далее