Как стать автором
Обновить
55
0

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

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

Краткая история 3D в видео-играх для чайников

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


В 80-ые интернет и цифровые миры были чем-то загадочным и мистическим, а техно-энтузиасты уже задумывались о трехмерности видеоигровых миров. 

Я большой фанат видеоигр, работаю в 3D уже 15 лет, но ни разу не встречал последовательно написанной истории развития 3D-графики в гейм-индустрии и решил написать ее сам. Копнув в историю, я нашел много забавных вещей: например, что первую 3D-игру создали, пользуясь служебным положением, ученые NASA на лучших компьютерах своего времени;  как пришли и ушли аркадные автоматы, как эллипсоидный движок Ecstatica позволял делать идеально круглые ягодицы персонажей 94 году и многое другое.

За 40 лет индустрия прошла все этапы взросления — начиная в юности с голого 3D-каркаса (когда рисуются только ребра модели, а грани остаются прозрачными), сегодня в своей зрелости она дала нам микрополигоны, рейтрейсинг и графику уровня кино.

Если вам интересно, как развивались технологии, а с ними и 3D-графика мира фантазий наяву, добро пожаловать под кат. Осторожно, если вы экономите трафик — чтобы наглядно показать развитие графики, я срендерил гифку для каждой новой технологии и они довольно тяжелые.  

Пролог. Лаборатории NASA


Забавный факт, что первыми создателями и геймерами в 3D-видеоигры были программисты и ученые NASA.
Всего голосов 62: ↑62 и ↓0 +62
Комментарии 33

Чем опасен космический мусор и как его уничтожают

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

По разным оценкам, количество космического мусора на орбите Земли варьируется от 220 до 300 тысяч объектов. При этом, объекты, размером в поперечнике более 1 см, составляют от 20 до 33% (от 60 тыс. до 100 тыс) всего космического мусора. Только представьте, какой эффект может оказать «астрономическая пуля» на пролетающий мимо космический корабль. Конечно, в масштабах нашей орбиты это кажется несущественным, но по мнению ученых, после 2055, в результате взаимного саморазрушения уже имеющегося на орбите мусора, проблема космического мусора станет серьезным препятствием для дальнейшего освоения космоса. Теперь подробнее об этом и других возможных последствиях.

Суть проблемы


Угроза физического столкновения


Собственно, самая очевидная угроза, исходящая от космического мусора, — это угроза физического столкновения. На текущем уровне развития технологий не существует какого-либо способа защитить космические аппараты от небольшого объекта, размером с пулю, движущегося со скоростью 10 км/с. Ну а про защиту от более крупных объектов и заикаться не приходиться, хотя на орбите их существенно меньше. Помимо угрозы повреждения и уничтожения объектов, стартующих с Земли, на орбите находится огромное количество различных спутников, необходимые для работы разных служб. GPS, метеорология, да куча всего в общем. Уничтожение одного из них не сделает всю систему нежизнеспособной, но в условиях увеличения количества мусора в будущем это может серьёзно повлиять на работоспособность этих систем. Помимо прогнозов на будущее, в настоящем и прошлом есть примеры столкновения космических аппаратов с мусором:
Читать дальше →
Всего голосов 31: ↑25 и ↓6 +19
Комментарии 7

Уютный VPS-сервер для маленьких проектов: как настроить

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

Мне всегда хотелось иметь в сети личное пространство. Место, где все было бы устроено как мне удобно. Наилучшим решением мне виделся недорогой VPS, который я мог бы обустраивать в соответствии со своими потребностями. Долго я не мог подступиться к решению этой задачи, но как-то незаметно подобрался набор инструментов, который позволил организовать именно такую программную среду, как мне хотелось. 

Если вам тоже хочется создать в сети свое личное пространство, но вы не знаете, с чего начать, или вам просто интересны такие замечательные программные продукты как Docker, Portainer, Traefik – добро пожаловать под кат.

Введение


Признаться честно, я не очень люблю командную строку. То есть, мне нравится сама идея легкого минималистичного универсального интерфейса, практически не требующего ресурсов, но черное окно с мигающим курсором вызывает у меня фрустрацию и чувство беспомощности. И я даже знаю откуда это у меня. 
Читать дальше →
Всего голосов 54: ↑43 и ↓11 +32
Комментарии 31

Найти и не обезвредить: пишем пентесты с Kali Linux

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

Kali и другие подобные инструменты помогают обнаружить уязвимости в вашем ПО. И лучше, если первыми их найдёте вы, а не злоумышленники.




Шило в мешке не утаить: по неведению (правда, в некоторых случаях — умышленно) даже крупные корпорации оставляют дыры в своей системе безопасности. Жизненно важно как можно быстрее (1) локализовать их и (2) пофиксить. К счастью, существует множество различных продуктов, которые помогают с первым пунктом. Среди них можно выделить Kali, дистрибутив Linux, разработанный для тестирования систем безопасности. В этой статье я расскажу, как использовать Kali Linux для исследования вашей системы и поиска слабых мест, имитируя атаку злоумышленника.

Дистрибутив Kali включает множество инструментов, каждый из которых имеет открытый исходный код. Достаточно запустить установку дистрибутива и все эти инструменты будут доступны из коробки.
Читать дальше →
Всего голосов 26: ↑19 и ↓7 +12
Комментарии 3

Чем поживиться айтишнику на барахолке?

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


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

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

Читать дальше →
Всего голосов 112: ↑104 и ↓8 +96
Комментарии 120

Dear Haters. За что хейтеры травят юзеров, и как с этим бороться

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


Чуть больше недели назад в Фейсбуке прогремела история, на которую откликнулось множество популярных блогеров и простых пользователей. Питерский программист с ДЦП Иван Бакаидов, занимающийся, в том числе, тематикой голосового управления, написал программу для людей с дефектами речи, чтобы помочь им нормально общаться с окружающими. Некоторые пациенты с ДЦП страдают дизартрией — нарушением, делающим речь неразборчивой. Существует и множество других патологий, сопровождающихся речевыми нарушениями, которые не связаны с ДЦП, а вызваны, например, травмами, врожденными и наследственными заболеваниями. Все эти люди хотят говорить, но не могут. Иван решил им помочь. Программу заметили, с Иваном связался вице-президент Google Джейсон Титус и пригласил принять участие в гугловской конференции, а также рассмотреть возможность интеграции его разработки в Google Meet — это облегчит использование приложения для людей с ограниченными возможностями. Иван поделился новостью в социальных сетях. И его начали травить. В первую очередь — «свои», то есть, участники сообществ, страдающие, как и он, детским церебральным параличом. Случай, к сожалению, не единственный и весьма характерный. Откуда же все-таки берутся хейтеры и существуют ли методы борьбы с подобными явлениями природы?
Читать дальше →
Всего голосов 49: ↑40 и ↓9 +31
Комментарии 36

Как использовать GraphQL Federation для инкрементальной миграции с монолита (Python) на микросервисы (Go)  

Время на прочтение 6 мин
Количество просмотров 9.2K
Или как поменять фундамент старого дома, чтобы он не обвалился



Лет 10 назад мы выбрали 2-ю версию Python для разработки нашей обучающей платформы с монолитной архитектурой. Но с тех пор индустрия существенно изменилась. Python 2 был официально похоронен 1 января 2020 года. В предыдущей статье мы объясняли, почему решили отказаться от миграции на Python 3. 

Каждый месяц нашей платформой пользуются миллионы людей. 

Мы пошли на определённый риск, когда решили переписать наш бэкенд на Go и изменить архитектуру. 

Язык Go мы выбрали по нескольким причинам:

  1.  Высокая скорость компиляции.
  2. Экономия оперативной памяти.
  3. Достаточно широкий выбор IDE с поддержкой Go.

Но мы применили подход, который позволил минимизировать риск.
Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Комментарии 6

Наиболее полное руководство по практическому использованию Web Speech API

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

В этой статье я хочу поделиться с вами результатами изучения основных возможностей Web Speech API (далее — WSA).


Введение


WSA — это экспериментальная технология, состоящая из двух интерфейсов: SpeechSynthesis (интерфейс для перевода текста в речь) и SpeechRecognition (интерфейс для распознавания речи).


О том, что из себя представляют названные интерфейсы и что в себя включают можно почитать на MDN или в рабочем черновике (данный черновик, в отличие от большинства спецификаций, написан более-менее человеческим языком).


Что касается поддержки, то вот что об этом говорит Can I use:



Всего голосов 24: ↑22 и ↓2 +20
Комментарии 1

14 Python-пакетов, про которые вы скорее всего не знали

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


Язык Python предоставляет всем пользователям возможность создавать свои пакеты и делиться ими со всем сообществом. Так появлялись очень популярные библиотеки для работы с данными (Pandas, Numpy, Matplotlib), для машинного обучения (TensorFlow, PyTorch), для веб разработки. Но есть много смешных, полезных или интересных пакетов, про которые вы вероятно никогда не слышали. Именно про них и пойдёт речь дальше.

Читать дальше →
Всего голосов 46: ↑39 и ↓7 +32
Комментарии 6

Языки «Властелина колец»: как язык создал целую вселенную

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


Рождение Средиземья


21 сентября 1937 года в Англии вышла небольшая книжка, озаглавленная просто – «Хоббит», автором числился мало известный за пределами научного мира Дж. Р. Р. Толкин. Читатели приняли текст хорошо, но никто не понял, чем все это грозит миру.

Толкиновский бум грянул через два с лишним десятилетия.

Эпопея «Властелин колец» вышла в 1954/55-м, американское издание, после которого началось безумие с лозунгами «Гендальфа в президенты», появилось еще через шесть лет. Потом книгу и автора узнали во всех концах мира, помимо ученого-лингвиста он стал популярным писателем.

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

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

Толкин говорил, что его книги написаны лишь для того, чтобы у придуманных им языков был дом. Что не увлекайся он с детства созданием конлангов (от английского constructed language – сконструированный или искусственный язык), то мы бы не получили ни «Хоббита», ни тем более «Властелина колец».
Всего голосов 48: ↑46 и ↓2 +44
Комментарии 38

Тетрис, который максимально бесит

Время на прочтение 2 мин
Количество просмотров 24K
Сможет ли коллективный интеллект Хабра побить мировой рекорд?



Тетрис. Ну, казалось бы, что можно тут сделать нового? Был уже и трёхмерный тетрис, и четырёхмерный тетрис.

Сделали тетрис, который каждый раз подсовывает тебе самую ненужную фигуру. Сначала прикольно, а потом бесит. БЕСИТ!!!

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

Уже второй день я думаю, насколько такая простая механика заставила перепрошить привычные ментальные стратегии в игре и в более широком контексте принятия решений. Раньше, можно было «отложить» ситуацию на потом, когда выпадет более благоприятная фигура, а тут ты понимаешь, что за кулисами есть «некто», кто никогда не допустит, чтобы благоприятная фигура появилась. Единственный способ хоть как-то приуспеть — делать вилки, чтобы успех не мог не произойти.

В этом тетрисе даже нет «гравитации», то есть нет давления времени, но это вам мало поможет.

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

Всего голосов 59: ↑52 и ↓7 +45
Комментарии 60

Снупп Догг и «Голодные игры»: кто спасает книжную индустрию в период пандемии

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

Когда прошлой весной по всей Америке закрылись книжные магазины, глава издательства Chronicle Books Тирелл Махони готовилась, что вот-вот наступит полная катастрофа: доходы компании стремительно падали. А спустя несколько месяцев выяснилось, что от разорения компанию спас не кто иной, как рэпер Снупп Догг со своей поваренной книгой “From Crook to Cook”, изданной еще два года назад. В 2020 году продажи книги подскочили в два раза — до 205 000 экземпляров. Не “новинки”, а именно такие книги внезапно взяли на себя роль драйвера прибыли и в итоге дали книжной индустрии шанс выжить.
Читать дальше →
Всего голосов 26: ↑22 и ↓4 +18
Комментарии 4

Возможности QR-кодов

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

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


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


В этой статье будут рассмотрены некоторые из этих стандартов и описаны возможные типы данных, которые можно спрятать в qr-код.


Читать дальше →
Всего голосов 63: ↑56 и ↓7 +49
Комментарии 25

Падение Slack 4 января 2021

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


4 января 2021 года для многих людей во всем мире, также как и для большинства работников Slack был первым рабочим днем после нового года (за исключением специалистов горячей линии и службы поддержки, которые никогда не спят). День в Азии и утро в Европе прошло спокойно, но когда забрезжил рассвет в Америке мы стали получать сообщения от внешней службы мониторинга о росте количества ошибок. Мы начали разбираться, в чем дело. Ситуация с ошибками ухудшалась и мы инициировали процесс расследования инцидентов (о том, как у нас устроено управление инцидентами подробнее можно почитать в статье Райана Каткова (Ryan Katkov) All Hands on Deck https://slack.engineering/all-hands-on-deck/).

Как будто нам этого было недостаточно для того, чтобы окончательно испортить первый рабочий день нового года, в тот момент, мы пытались понять, что происходит, упали сервисы панелей мониторинга и оповещений. Мы связались с группой мониторинга, чтобы они попытались восстановить их как можно быстрее.
Читать дальше →
Всего голосов 29: ↑28 и ↓1 +27
Комментарии 2

1 CPU 1 Гб – а я хочу мониторинг, как у больших дядей

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


Я обожаю читать на хабре статьи про то, как устроены системы больших интернет-компаний. Кластеры SQL-серверов, монг и редисов. Тут у нас кластер ELK собирает трейсинг, там – сборка логов, здесь балансер выдает входящим запросам traceID и можно отслеживать, как запрос ходит по всем нашим микросервисам. Класс. Но, допустим, у вас совсем маленький проект и вы можете себе позволить лишь VPS минимальной конфигурации. Реально ли на ней сделать мониторинг не хуже, чем у больших проектов? Я решил – надо попробовать.
Читать дальше →
Всего голосов 82: ↑80 и ↓2 +78
Комментарии 82

Гравицапа для межпланетных перелётов или гравитационный манёвр

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

Вопрос эмиграции в последние десятилетия стоит наиболее остро. И если 40 лет назад пределом мечтаний было перебраться за океан, то в XXI веке умами овладела мечта о релокейшне на Марс, например. Однако там тоже в скором времени может стать тесно. Остаётся одна дорога — колонизация Солнечной Системы и экзопланет. Допустим, мы собрались покинуть внутреннюю область Солнечной Системы, а, если повезёт, то и совсем выбраться за её пределы. Помимо невероятных объёмов тушёнки и кислорода, необходимых для выживания в суровом Космосе, нам потребуется в разы на порядки большее количество топлива, чтобы всё это добро дотащить. И ещё столько же топлива, чтобы тащить то топливо. И ещё топливо.

И самое обидное, что скорее всего мы закончим свой век среди троянских астероидов Юпитера, померев от тоски. Потому что топлива всё равно ни на что не хватит. Однако присмотримся к нашей Солнечной системе повнимательнее. Вот те же «троянцы и греки» — не просто так столпились в точках Лагранжа L4 и L5 Юпитера. Их туда «затолкала» гравитация планеты-гиганта, не потратив ни единой капли гидразина.

Давайте же и мы применим дармовую энергию Природы для достижения благородной цели доставки полезной нагрузки в далёкий космос.
Читать дальше →
Всего голосов 57: ↑56 и ↓1 +55
Комментарии 11

Переписывание сценария и производственный хаос: с какими проблемами столкнулись разработчики культовой BioShock Infinite

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

Сегодня стартуют продажи Press Reset — одной из самых ожидаемых книг, посвященных игровой индустрии. Её автор, известный журналист Джейсон Шрайер (“Кровь, пот и пиксели”), подробно анализирует те ситуации, которые приводили к закрытию успешных студий и знаменитых проектов. Издание Polygon опубликовало отрывок книги, посвященный обстоятельствам создания легендарной игры BioShock Infinite. Под катом — перевод публикации.
Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Комментарии 13

Школа юных управленцев

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

Люди сейчас «новая нефть», и только ленивый не говорит о том, как важны soft skills.

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

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

Мы с друзьями собирались на кухне, обсуждали попытки внедрения прочитанного и разбирали интересные случаи из практики. Это всё и сформировало наше общее видение мастерства управления.
Читать дальше →
Всего голосов 36: ↑30 и ↓6 +24
Комментарии 7

Thunderbird, RNP и важность хорошего API

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


Недавно мне довелось побеседовать с разработчиком Thunderbird о проектировании API. В ходе этой беседы я поделился соображениями о RNPновой реализации OpenPGP, которую Thunderbird недавно стал использовать вместо GnuPG.

Собеседник скептически отнесся к моему тезису о том, что API RNP нуждается в улучшении, и спросил, «разве это не субъективно – какие API лучше, а какие хуже?». Согласен, у нас нет хороших метрик для оценки API. Но не соглашусь, что мы в принципе не в силах судить об API.

На самом деле, подозреваю, что большинство опытных программистов узнают плохой API, если увидят его. Думаю, далее в этой статье получится разработать хорошую эвристику, которую я попытаюсь выстроить на моем собственном опыте работы с (и над) GnuPG, Sequoia и RNP. Затем я рассмотрю API RNP. К сожалению, этот API не только можно запросто использовать неправильно – он к тому же обманчив, поэтому пока его не следует использовать в контекстах, где принципиальная роль отводится соблюдению безопасности. Но целевая аудитория Thunderbird – это люди, известные своей уязвимостью, в частности, журналисты, активисты, юристы и их партнеры, отвечающие за коммуникацию; все эти люди нуждаются в защите. На мой взгляд, это означает, что в Thunderbird должны лишний раз подумать, стоит ли использовать RNP.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 1

Ускоряем загрузку веб-страниц: тестируем 4 стратегии оптимизации изображений

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


Статистика не устаёт повторять нам про устойчивую корреляцию между падением скорости загрузки страниц сайта и ростом частоты отказов со снижением конверсии. Я не открою Америку, если скажу, что работу сайта замедляет «раздутая» полезная нагрузка (с плохо оптимизированными изображениями и избыточным HTML-кодом). Это заставляет сервер выполнять лишнюю работу. Огромный пласт такой работы связан с проблемами оптимизации изображений. 

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

Не очень эффективными я считаю стратегии, которые опираются на тезис о том, что изображения — это статический контент (в течение статьи я ещё разовью эту мысль и приведу аргументы). Сейчас на мобильные устройства приходится большая доля интернет-трафика, но есть проблема: эти устройства имеют различные размеры, разрешения экрана, операционные системы и прикладное ПО (например, браузеры). Каким образом сделать так, чтобы веб-страница быстро (!)и корректно загружалась на любой платформе и выглядела при этом одинаково?
Читать дальше →
Всего голосов 29: ↑28 и ↓1 +27
Комментарии 1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность