DOOM — прародитель шутеров от первого лица, определивший целое поколение игр 90-х. Хоть это и не первая игра такого рода, и даже не первая игра id Software, но именно она изменила индустрию. Проект до сих пор изучают не только из-за его известности, но и потому, что он достиг высот в условиях сильных технических ограничений, задолго до появления большинства современных инструментов и стандартов. Под катом перевод статьи о работе искусственного интеллекта в Doom и трюках, которые использовали разработчики для создания интересных боевых ситуаций.
macOS developer
Андрей Зарецкий, Александр Труханов: «Гонорара хватило, чтобы кофе попить»
В 1991 году издательство «Просвещение» выпустило детскую книгу «Энциклопедия профессора Фортрана». Практически моментально она стала бестселлером и разошлась миллионными тиражами. Это был очень легкий и понятный рассказ о персональных компьютерах, которых в нашей стране еще не было практически ни у кого. Музейный проект DataArt пообщался с авторами книги Андреем Зарецким и Александром Трухановым о том, как два ученых-физика решили стать писателями и придумали профессора Фортрана и Кадабру. В первой части монолога — рождение идеи, ненавистный научпоп, свобода мысли в Черноголовке и чаепитие с Фронтом освобождения Полисарио.
«Галоп пикселя — часть пятая» — Анимация персонажей. Ходьба
«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)
Доброго времени суток, Хабр. Мы продолжаем цикл «Галоп Пикселя». Сейчас, находясь на старте 2019 года, можно с уверенностью говорить, что это не только цикл статей, но и многолетняя сага. Пространное повествование о пикселях, их жизни, способе их создания, приёмах и уловках в работе с ними. Мы не будем рассуждать о причинах первоначального «спринта», который затем превратился в многолетний марафон, ибо нет ничего более жизненного, чем сама жизнь. Кому нужны причины отсутствия или пауз, если можно просто вернуться к тому, что мы делали, в чём варились, и в чём, даст бог — будем наблюдаться и далее. В пикселях, конечно же!
Сегодняшняя публикация станет очередной, и возможно даже поворотной вехой в нашем повествовании. Наконец-то мы подошли к созданию полноценной анимации персонажей. Двумя предыдущими главами мы охватили анимацию света и тени, а также анимацию неподвижных персонажей (idle-animation) без ярко выраженных действий. Но сегодня наши персонажи пойдут, а в следующей части даже побегут, завоевав то, что уже давно их по праву рождения. Ещё один плодородный регион. И пройдут ещё одну точку, которая ознаменует окончание базового цикла. Наши пиксели наконец-то станут живыми.
В виду большого размера этой части мы разобьем её на два этапа. Пятую и шестую главы «галопа». Всё будет происходить как обычно, с той лишь разницей, что шестую главу вам не придётся ждать ещё год или два. Всё что ей нужно, немного выстояться. Ей стоять, нам копать — за лопаты.
Не покупайте смартфоны 5G – хотя бы в ближайшее время
Разбор множества способов, которыми первое поколение оборудования с поддержкой 5G (временно?) уничтожит существующие наработки в дизайне телефонов
«5G уже здесь»
5G уже здесь, но это не значит, что вам обязательно его покупать
2019 год станет годом 5G – по крайней мере, такие заявления продолжает делать сотовая индустрия. Мы увидим запуск продаж нескольких смартфонов с поддержкой 5G от таких OEM, как Samsung, Motorola и OnePlus, а операторы будут лезть вон из кожи, рассказывая вам, насколько круты их новые сети 5G, несмотря на кучу звёздочек после рекламного текста. Я хотел придумать какую-нибудь шутку, демонстрирующую абсурдный уровень шумихи вокруг 5G, но очень сложно переплюнуть реальные цитаты от директоров предприятий – например, Verizon заявляет, что 5G «кардинально улучшит наше глобальное сообщество». Более быстрый мобильный интернет уже на подходе, но на самом ли деле пора беспокоиться на этот счёт?
Все, что вы хотели знать об обработке запросов, но стеснялись спросить
Что такое сетевой сервис? Это программа, которая принимает входящие запросы по сети и обрабатывает их, возможно, возвращая ответы.
Есть много аспектов, в которых сетевые сервисы отличаются друг от друга. В этой статье я акцентрирую внимание на способе обработки входящих запросов.
Выбор способа обработки запросов имеет далеко идущие последствия. Как сделать чат-сервис, выдерживающий 100.000 одновременных соединений? Какой подход выбрать для извлечения данных из потока слабоструктурированных файлов? Неправильный выбор приведет к пустой трате сил и времени.
В статье рассмотрены такие подходы как пул процессов/потоков, событийно-ориентированная обработка, half sync/half async паттерн и многие другие. Приводятся многочисленные примеры, рассматриваются плюсы и минусы подходов, их особенности и области применения.
Схема разделения секрета Шамира
Предположим, вы решили всё время хранить ключ при себе, предоставляя доступ к хранилищу по мере необходимости. Но вы быстро поймёте, что такое решение на практике нормально не масштабируется, потому что всякий раз для открытия хранилища требуется ваше физическое присутствие. А как насчёт отпуска, которые вам обещали? Кроме того ещё более пугает вопрос: а что если вы потеряли единственный ключ?
С мыслью об отпуске вы решили сделать копию ключа и доверить её другому сотруднику. Однако вы понимаете, что это тоже не идеально. Удваивая количество ключей, вы также удвоили возможности кражи ключа.
Отчаявшись, вы уничтожаете дубликат и решаете разделить исходный ключ пополам. Теперь, вы думаете, два доверенных человека с фрагментами ключей должны физически присутствовать, чтобы собрать ключ и открыть хранилище. Это означает, что вору необходимо украсть два фрагмента, что вдвое труднее кражи одного ключа. Однако вскоре вы понимаете, что эта схема ненамного лучше, чем просто один ключ, потому что если кто-то потеряет половину ключа, полный ключ нельзя восстановить.
Как писать на Objective-C в 2018 году. Часть 1
Большинство iOS-проектов частично или полностью переходят на Swift. Swift — замечательный язык, и за ним будущее разработки под iOS. Но язык нераздельно связан с инструментарием, а в инструментарии Swift есть недостатки.
В компиляторе Swift по-прежнему находятся баги, которые приводят к его падению или генерации неправильного кода. У Swift нет стабильного ABI. И, что очень важно, проекты на Swift собираются слишком долго.
В связи с этим существующим проектам может быть выгоднее продолжать разработку на Objective-C. А Objective-C уже не тот, что был раньше!
В этом цикле статей мы покажем полезные возможности и улучшения Objective-C, с которыми писать код становится намного приятнее. Каждый, кто пишет на Objective-C, найдет для себя что-нибудь интересное.
Где Agile ужасен, особенно Scrum
Я видел, как множество вариантов Agile, называемых Scrum, реально убивают компанию. Под «убивают» я имею в виду не «ухудшение культуры», а скорее когда акции компании падают почти на 90% за два года.
Что такое Agile?
Agile вырос из среды веб-консалтинга, где он приносил определённую пользу: при работе с привередливыми клиентами, которые не знают, чего они хотят, обычно приходится выбирать из двух вариантов. Или одолеть клиента: установить ожидания, соответствующую оплату за переделки и поддерживать отношения равенства, а не подчинения. Или принять некорректное поведение клиента (как, скажем, приходится многим дизайнерам) и ориентировать рабочий поток вокруг клиентской дисфункции.
Орден куколки
2. Позиция автора может не совпадать с убеждениями лирического героя.
1. Марсианские каналы
Я даже не могу вспомнить, о чем думал, когда ввязывался во все это. Как именно представлял себе?
Неужели действительно был так наивен, что в голове гуляло:
— Ваш платеж подтвержден, и вот вам ваша таблетка. Глотаете ее, и отныне…
Столетия, тысячелетия, миллионы лет — твои.
Пусть не таблетка, пусть инъекция, или неделя изматывающих процедур в стационаре, какая разница? Важно лишь, чтобы был миллион, оплатить это. Ну, десять. Да хоть сто! Зато уж если хватило — дело сделано.
Неужели я и правда представлял себе это так?…
iOS runtime mobile exploration with Objection, или Хакаем собственное приложение
Автор: Андрей Батутин, Senior iOS Developer, DataArt.
Не раз и не два, придя на работу (или просто встав с кровати), я обнаруживал в почте гневное письмо, суть которого сводилось к тому, что в аппсторовской сборке приложения ничего не работает, и все надо срочно чинить.
Иногда причиной были мои косяки. Иногда — моих коллег. А иногда — даже самого Apple Inc.
Но самые убийственные сценарии были связаны с багами, которые воспроизводились только на аппсторовских/релизных сборках. Ничто так не ставит в тупик и не заставляет выть перед макбуком, как невозможность подключить дебагер к собственному приложению и посмотреть, что же там происходит.
Когда программный код вызывает восхищение?
Тема идеального кода нередко вызывает полемику в среде матерых программистов. Тем интереснее было заполучить мнение директора по разработке Parallels RAS Игоря Марната. Под катом его авторский взгляд по заявленной теме. Enjoy!
Под капотом Graveyard Keeper: Как реализованы графические эффекты
Сегодня я хочу рассказать о графических приемах и ухищрениях, которые мы применяли для создания той картинки, которую вы видите на гифке выше.
Мы очень трепетно относимся к визуалу наших игр и по этому вложили довольно много времени и сил в различные эффекты и прочие плюшки, которые позволили бы сделать наш пиксель-арт максимально привлекательным. Возможно, кто-то найдет что-то полезное для себя.
Для начала, кратко перечислю из чего собирается картинка в нашей игре:
Мой любимый файл в кодовой базе Chromium
О чём вообще идёт речь? Давайте вспомним, как работает браузер: вы набираете какой-то адрес в адресной строке, браузер загружает контент и отображает его. Чуть детальнее об этом рассказывает хорошая статья «What happens when you type google.com into your browser and press enter?» (и сразу несколько её переводов на Хабре). В ней одним из последних пунктов упоминается, мол, «а теперь, когда всё готово, отрисовываем картинку на экране». Ага, вот так берём и отрисовываем, конечно.
«Кандидат имеет право задавать уточняющие вопросы», или Доводим интервьюера до нервного срыва
Кандидат: Что конкретно Вы имеете в виду, говоря «скопировать»?
Интервьюер: Ну… создать новый файл, содержимое которого является копией содержимого исходного файла.
24-ядерный CPU, а я не могу набрать электронное письмо
Трудно устоять перед возможностью провести хорошее расследование, но в данном случае вызов особенно силён. Ведь я в Google работаю над улучшением производительности Chrome для Windows. Обнаружить причину зависания — моя работа. И после множества фальстартов и тяжёлых усилий мне всё-таки удалось выяснить, как Chrome, Gmail, Windows и наш IT-отдел вместе помешали мне набрать электронное письмо. По ходу дела нашёлся способ сэкономить значительное количество памяти для некоторых веб-страниц в Chrome.
В расследовании оказалось так много нюансов, что я оставлю некоторые для другой статьи, а сейчас полностью объясню причины подвисаний.
Нейромедиаторы, часть вторая: аденозин, ацетилхолин, глутамат и гамма-аминомасляная кислота
Французская школа в разработке видеоигр: Another World
Французская художественная эстетика всегда слегка отличалась от эстетики англоговорящих стран. При создании своих картин, фильмов и даже мебели французы часто отказывались от скучного буквализма, столь свойственного англоязычному искусству, в пользу чего-то более утончённого. Впечатление становилось важнее, чем объективная реальность. Французское авторское кино не станет совершенно непривычным для английского глаза, как это было бы с болливудским или египетским фильмом. Однако создаваемые им эффекты гораздо больше сбивают с толку: кажется, что на поверхности лежит что-то узнаваемое и предсказуемое, но внезапно происходит неожиданный поворот. В частности, фильм может проявлять обескураживающе малый интерес к логике сюжета — основе кино в английской культуре. Для таких режиссёров, как, например, Франсуа Трюффо, сюжет намного менее интересен, чем эмоциональное воздействие картины в целом.
Какими бы грубыми ни были эти стереотипы, но когда французы открыли для себя компьютерные игры, они остались себе верны. Долгое время «французская игра» для англоязычного человека была синонимом «странной», эксцентричной, и трудно было понять, чья в этом вина — игры или игрока. Винтажные французские игры не всегда были самыми отполированными или сбалансированными с точки зрения дизайна, но сегодня они славятся своей готовностью использования палитры чувств, гораздо более богатой, чем примитивные «страх-ярость», «смех-грусть». Особенно это справедливо для игры Эрика Шайи Another World.
Бьёрн Страуструп: Проблема с программированием
Статья 2006 года.
Бьёрн Страуструп, изобретатель языка программирования C++, защищает свое наследие и рассказывает, что не так с большей частью программного кода.
В 1980-х и 90-х годах Бьёрн Страуструп разработал и внедрил язык программирования C++, который популяризировал объектно-ориентированное программирование и повлиял на многие другие языки программирования, включая Java.
C++ остается архетипическим «высокоуровневым» компьютерным языком (то есть языком, который сохраняет особенности естественного, человеческого языка), и он по-прежнему используется миллионами программистов. Многие из систем и приложений эры ПК и интернета были написаны на C++. Несмотря на это, язык остается спорным, во многом потому что его, как известно, трудно изучать и использовать, а также потому, что дизайн Страуструпа позволяет разработчикам допускать серьезные ошибки программирования в интересах сохранения их свободы.
Страуструп, на протяжении многих лет работающий в AT&T Bell Labs, теперь является профессором компьютерных наук на факультете инженерии в Техасском университете A&M, недалеко от Хьюстона.
Технологический обзор: почему большая часть программного обеспечения настолько плоха?
Бьёрн Страуструп: Некоторые программы на самом деле довольно хороши по любым стандартам. Подумайте о Mars Rovers, Google и проекте “Геном человека”. Это качественное программное обеспечение! Пятнадцать лет назад большинство людей, и в частности большинство экспертов, сказали бы, что каждый из этих примеров невозможен. Наша технологическая цивилизация зависит от программного обеспечения, поэтому, если бы программное обеспечение было бы в действительности таким же плохим, как и его наихудшая репутация, большинство из нас уже были бы мертвы.
Профессия: кибердетектив
Веста приехала в Университет Иннополис по приглашению преподавателей и студентов программы магистратуры Разработка безопасных систем и сетей в рамках курса CyberCrime and Forensics. Гостья прочла лекцию о том, как глобализируется киберпреступность, какие тактики и инструменты используются для атак на финансовые и промышленные организации и какими методами пользуются киберкриминалисты для борьбы с хакерами.
Information
- Rating
- Does not participate
- Location
- Stockholm, Stockholms Län, Швеция
- Date of birth
- Registered
- Activity